File: Soleil_palettes.bex - Tab length: 1 2 4 8 - Lines: on off - No wrap: on off

001:     ' problem with palettes 1
002: 
003:     ' Soleil
004:    
005:     dim    camera(1,1) as integer ' 0 = Position, 1 = Velocity  
006:     global grid(63,63) as integer
007:    
008:     ' Main
009:     setgfxplane SCROLL_B
010:     palettes soleil_pallette,0,0,16
011:     loadtiles soleil_tiles,16,0
012:    
013:     for i=0 to 127
014:         grid(rnd(63),rnd(63)) = rnd(3)+1
015:     next
016:    
017:     render 0,0,20,14
018:     render 0,0,20,14
019: 
020:     ' ******************************************************************************************************
021:     setgfxplane SCROLL_A    
022:     pallettes fondf_pal,1,0,16 ' problem with palettes 1 ; 16 couleurs
023:     loadtiles fondf,32,16 ' image d'une taille de 64*32 (64/8=8 et 32/8=4) donc 8*4 = 32 tiles ;
024: 
025: 
026:     Drawtilesinc 16,0,0,8,4 '  64/8 = 8 ; 32/8 = 4 ; 8*4 = 32 Tiles (0 � 31)
027:     ' ******************************************************************************************************
028:     chti=addsprite(4,3) ' 4 sprites de haut sur 3 sprites de large (1 sprite = 8*8 pixel)
029:     'palettes soleil_pallette,1,0,16
030:     pallettes chti_pal,2,0,16 ' palette 1 ; 16 couleurs
031:     loadtiles chti,12,552 ' image d'une taille de 24*32 donc 3*4 = 12 tiles ;
032:     propsprite chti,552,2 ' 536 = tile vram offset ; palette 2
033: 
034:     xplayer=160:movesprite chti,xplayer,250
035:     ' ******************************************************************************************************
036: 
037:    
038:     while 1
039:         Drawtilesinc 16,0,0,8,4 '  64/8 = 8 ; 32/8 = 4 ; 8*4 = 32 Tiles (0 � 31)
040:        
041:         joypad = joypad(0)
042:        
043:         camera(0,1) = (joypad.3-joypad.2)*12
044:         camera(1,1) = (joypad.1-joypad.0)*12
045:        
046:         camera(0,0)+= camera(0,1)
047:         camera(1,0)+= camera(1,1)
048:        
049:         cx = divide(camera(0,0),16)
050:         cy = divide(camera(1,0),16)
051:        
052:         render cx   ,cy,cx   ,cy+13
053:         render cx+20,cy,cx+20,cy+13
054:        
055:         render cx,cy   ,cx+20,cy
056:         render cx,cy+14,cx+20,cy+14
057:        
058:         scroll left,camera(0,1)
059:         scroll   up,camera(1,1)
060:        
061:         sleep 1
062:     wend
063:    
064:     ' Divide
065:    
066: declare function divide(x as integer, d as integer)
067:     if x < 32768 then
068:         return x/d
069:     else
070:         return -1-((0-x)/d)
071:     endif
072: end function
073:    
074:     ' Render
075:    
076: declare sub render(x1 as integer, y1 as integer, x2 as integer, y2 as integer)
077:     for x=x1 to x2
078:         for y=y1 to y2
079:             if x > 63 or y > 63 then
080:                 drawtiles tile_map,4,x*2,y*2,2,2
081:             else
082:                 drawtiles tile_map,grid(x,y)*4,x*2,y*2,2,2
083:             endif
084:         next
085:     next
086:     exit sub
087: end sub
088: ' **** DATA ****
089: fondf_pal:
090:     DATAINT $000E,$02E0,$0EE0,$0E00,$0000,$0EEE,$0AAA,$0666
091:     DATAINT $00EE,$0088,$0CCA,$0080,$08CE,$028E,$002E,$0866
092: 
093: ' Picture size 64*32
094: fondf:  
095:     DATALONG    $00000000   ' Tile #0
096:     DATALONG    $00000000
097:     DATALONG    $00000000
098:     DATALONG    $00000000
099:     DATALONG    $00000000
100:     DATALONG    $00000000
101:     DATALONG    $00000000
102:     DATALONG    $00000000
103:     DATALONG    $00000000   ' Tile #1
104:     DATALONG    $00000000
105:     DATALONG    $00000000
106:     DATALONG    $00000000
107:     DATALONG    $00000000
108:     DATALONG    $00000000
109:     DATALONG    $00000000
110:     DATALONG    $00000000
111:     DATALONG    $11111111   ' Tile #2
112:     DATALONG    $11111111
113:     DATALONG    $11111111
114:     DATALONG    $11111111
115:     DATALONG    $11110000
116:     DATALONG    $11110000
117:     DATALONG    $11110000
118:     DATALONG    $11110000
119:     DATALONG    $11111111   ' Tile #3
120:     DATALONG    $11111111
121:     DATALONG    $11111111
122:     DATALONG    $11111111
123:     DATALONG    $00001111
124:     DATALONG    $00001111
125:     DATALONG    $00001111
126:     DATALONG    $00001111
127:     DATALONG    $22222222   ' Tile #4
128:     DATALONG    $22222222
129:     DATALONG    $22222222
130:     DATALONG    $22222222
131:     DATALONG    $22220000
132:     DATALONG    $22220000
133:     DATALONG    $22220000
134:     DATALONG    $22220000
135:     DATALONG    $22222222   ' Tile #5
136:     DATALONG    $22222222
137:     DATALONG    $22222222
138:     DATALONG    $22222222
139:     DATALONG    $00002222
140:     DATALONG    $00002222
141:     DATALONG    $00002222
142:     DATALONG    $00002222
143:     DATALONG    $33333333   ' Tile #6
144:     DATALONG    $33333333
145:     DATALONG    $33333333
146:     DATALONG    $33333333
147:     DATALONG    $33330000
148:     DATALONG    $33330000
149:     DATALONG    $33330000
150:     DATALONG    $33330000
151:     DATALONG    $33333333   ' Tile #7
152:     DATALONG    $33333333
153:     DATALONG    $33333333
154:     DATALONG    $33333333
155:     DATALONG    $00003333
156:     DATALONG    $00003333
157:     DATALONG    $00003333
158:     DATALONG    $00003333
159:     DATALONG    $00000000   ' Tile #8
160:     DATALONG    $00000000
161:     DATALONG    $00000000
162:     DATALONG    $00000000
163:     DATALONG    $00000000
164:     DATALONG    $00000000
165:     DATALONG    $00000000
166:     DATALONG    $00000000
167:     DATALONG    $00000000   ' Tile #9
168:     DATALONG    $00000000
169:     DATALONG    $00000000
170:     DATALONG    $00000000
171:     DATALONG    $00000000
172:     DATALONG    $00000000
173:     DATALONG    $04444555
174:     DATALONG    $04444555
175:     DATALONG    $11110000   ' Tile #10
176:     DATALONG    $11110000
177:     DATALONG    $11110000
178:     DATALONG    $11110000
179:     DATALONG    $11110000
180:     DATALONG    $11110000
181:     DATALONG    $56666777
182:     DATALONG    $56666777
183:     DATALONG    $00001111   ' Tile #11
184:     DATALONG    $00001111
185:     DATALONG    $00001111
186:     DATALONG    $00001111
187:     DATALONG    $00001111
188:     DATALONG    $00001111
189:     DATALONG    $78888999
190:     DATALONG    $78888999
191:     DATALONG    $22220000   ' Tile #12
192:     DATALONG    $22220000
193:     DATALONG    $22220000
194:     DATALONG    $22220000
195:     DATALONG    $22220000
196:     DATALONG    $22220000
197:     DATALONG    $9AAAABBB
198:     DATALONG    $9AAAABBB
199:     DATALONG    $00002222   ' Tile #13
200:     DATALONG    $00002222
201:     DATALONG    $00002222
202:     DATALONG    $00002222
203:     DATALONG    $00002222
204:     DATALONG    $00002222
205:     DATALONG    $BCCCCDDD
206:     DATALONG    $BCCCCDDD
207:     DATALONG    $33330000   ' Tile #14
208:     DATALONG    $33330000
209:     DATALONG    $33330000
210:     DATALONG    $33330000
211:     DATALONG    $33330000
212:     DATALONG    $33330000
213:     DATALONG    $DEEEE000
214:     DATALONG    $DEEEE000
215:     DATALONG    $00003333   ' Tile #15
216:     DATALONG    $00003333
217:     DATALONG    $00003333
218:     DATALONG    $00003333
219:     DATALONG    $00003333
220:     DATALONG    $00003333
221:     DATALONG    $00003333
222:     DATALONG    $00003333
223:     DATALONG    $00000000   ' Tile #16
224:     DATALONG    $00000000
225:     DATALONG    $00000000
226:     DATALONG    $00000000
227:     DATALONG    $00000000
228:     DATALONG    $00000000
229:     DATALONG    $00000000
230:     DATALONG    $00000000
231:     DATALONG    $04444555   ' Tile #17
232:     DATALONG    $04444555
233:     DATALONG    $00000000
234:     DATALONG    $00000000
235:     DATALONG    $00000000
236:     DATALONG    $00000000
237:     DATALONG    $00000000
238:     DATALONG    $00000000
239:     DATALONG    $56666777   ' Tile #18
240:     DATALONG    $56666777
241:     DATALONG    $11110000
242:     DATALONG    $11110000
243:     DATALONG    $11110000
244:     DATALONG    $11110000
245:     DATALONG    $11110000
246:     DATALONG    $11110000
247:     DATALONG    $78888999   ' Tile #19
248:     DATALONG    $78888999
249:     DATALONG    $00001111
250:     DATALONG    $00001111
251:     DATALONG    $00001111
252:     DATALONG    $00001111
253:     DATALONG    $00001111
254:     DATALONG    $00001111
255:     DATALONG    $9AAAABBB   ' Tile #20
256:     DATALONG    $9AAAABBB
257:     DATALONG    $22220000
258:     DATALONG    $22220000
259:     DATALONG    $22220000
260:     DATALONG    $22220000
261:     DATALONG    $22220000
262:     DATALONG    $22220000
263:     DATALONG    $BCCCCDDD   ' Tile #21
264:     DATALONG    $BCCCCDDD
265:     DATALONG    $00002222
266:     DATALONG    $00002222
267:     DATALONG    $00002222
268:     DATALONG    $00002222
269:     DATALONG    $00002222
270:     DATALONG    $00002222
271:     DATALONG    $DEEEE000   ' Tile #22
272:     DATALONG    $DEEEE000
273:     DATALONG    $33330000
274:     DATALONG    $33330000
275:     DATALONG    $33330000
276:     DATALONG    $33330000
277:     DATALONG    $33330000
278:     DATALONG    $33330000
279:     DATALONG    $00003333   ' Tile #23
280:     DATALONG    $00003333
281:     DATALONG    $00003333
282:     DATALONG    $00003333
283:     DATALONG    $00003333
284:     DATALONG    $00003333
285:     DATALONG    $00003333
286:     DATALONG    $00003333
287:     DATALONG    $00000000   ' Tile #24
288:     DATALONG    $00000000
289:     DATALONG    $00000000
290:     DATALONG    $00000000
291:     DATALONG    $00000000
292:     DATALONG    $00000000
293:     DATALONG    $00000000
294:     DATALONG    $00000000
295:     DATALONG    $00000000   ' Tile #25
296:     DATALONG    $00000000
297:     DATALONG    $00000000
298:     DATALONG    $00000000
299:     DATALONG    $00000000
300:     DATALONG    $00000000
301:     DATALONG    $00000000
302:     DATALONG    $00000000
303:     DATALONG    $11110000   ' Tile #26
304:     DATALONG    $11110000
305:     DATALONG    $11110000
306:     DATALONG    $11110000
307:     DATALONG    $11111111
308:     DATALONG    $11111111
309:     DATALONG    $11111111
310:     DATALONG    $11111111
311:     DATALONG    $00001111   ' Tile #27
312:     DATALONG    $00001111
313:     DATALONG    $00001111
314:     DATALONG    $00001111
315:     DATALONG    $11111111
316:     DATALONG    $11111111
317:     DATALONG    $11111111
318:     DATALONG    $11111111
319:     DATALONG    $22220000   ' Tile #28
320:     DATALONG    $22220000
321:     DATALONG    $22220000
322:     DATALONG    $22220000
323:     DATALONG    $22222222
324:     DATALONG    $22222222
325:     DATALONG    $22222222
326:     DATALONG    $22222222
327:     DATALONG    $00002222   ' Tile #29
328:     DATALONG    $00002222
329:     DATALONG    $00002222
330:     DATALONG    $00002222
331:     DATALONG    $22222222
332:     DATALONG    $22222222
333:     DATALONG    $22222222
334:     DATALONG    $22222222
335:     DATALONG    $33330000   ' Tile #30
336:     DATALONG    $33330000
337:     DATALONG    $33330000
338:     DATALONG    $33330000
339:     DATALONG    $33333333
340:     DATALONG    $33333333
341:     DATALONG    $33333333
342:     DATALONG    $33333333
343:     DATALONG    $00003333   ' Tile #31
344:     DATALONG    $00003333
345:     DATALONG    $00003333
346:     DATALONG    $00003333
347:     DATALONG    $33333333
348:     DATALONG    $33333333
349:     DATALONG    $33333333
350:     DATALONG    $33333333
351: 
352: 
353: 
354: 
355: 
356: 
357: 
358:    
359:    
360: chti_pal:
361:     DATAINT $0E0E,$0000,$0A00,$0E44,$0EAA,$004A,$04AE,$0EEE
362:     DATAINT $006E,$0000,$0000,$0000,$0000,$0000,$0000,$0000
363: chti:
364: 'tiledata_sprite:
365:     DATALONG    $00000000   ' Tile #0
366:     DATALONG    $00000000
367:     DATALONG    $00011111
368:     DATALONG    $00123233
369:     DATALONG    $01232333
370:     DATALONG    $01223233
371:     DATALONG    $01232333
372:     DATALONG    $01223233
373:     DATALONG    $01232333   ' Tile #1
374:     DATALONG    $01223233
375:     DATALONG    $01231111
376:     DATALONG    $01111111
377:     DATALONG    $01555155
378:     DATALONG    $01555166
379:     DATALONG    $01555166
380:     DATALONG    $01555166
381:     DATALONG    $01555166   ' Tile #2
382:     DATALONG    $00155166
383:     DATALONG    $00011111
384:     DATALONG    $00000122
385:     DATALONG    $00000122
386:     DATALONG    $00000122
387:     DATALONG    $00000122
388:     DATALONG    $00000122
389:     DATALONG    $00000122   ' Tile #3
390:     DATALONG    $00000122
391:     DATALONG    $00000122
392:     DATALONG    $00000111
393:     DATALONG    $00000155
394:     DATALONG    $00000155
395:     DATALONG    $00000111
396:     DATALONG    $00000000
397:     DATALONG    $00000000   ' Tile #4
398:     DATALONG    $00000000
399:     DATALONG    $11111111
400:     DATALONG    $33344444
401:     DATALONG    $33333333
402:     DATALONG    $33333333
403:     DATALONG    $33333333
404:     DATALONG    $33333333
405:     DATALONG    $33331111   ' Tile #5
406:     DATALONG    $11112333
407:     DATALONG    $22222223
408:     DATALONG    $11111111
409:     DATALONG    $55555555
410:     DATALONG    $66666666
411:     DATALONG    $77116677
412:     DATALONG    $77116677
413:     DATALONG    $66666666   ' Tile #6
414:     DATALONG    $66111166
415:     DATALONG    $11111111
416:     DATALONG    $22222222
417:     DATALONG    $32333333
418:     DATALONG    $23333333
419:     DATALONG    $32333333
420:     DATALONG    $23333333
421:     DATALONG    $32333333   ' Tile #7
422:     DATALONG    $23333333
423:     DATALONG    $32333333
424:     DATALONG    $11111111
425:     DATALONG    $85888881
426:     DATALONG    $58588881
427:     DATALONG    $11111111
428:     DATALONG    $00000000
429:     DATALONG    $00000000   ' Tile #8
430:     DATALONG    $00000000
431:     DATALONG    $10000000
432:     DATALONG    $41000000
433:     DATALONG    $34100000
434:     DATALONG    $33410000
435:     DATALONG    $33410000
436:     DATALONG    $31110000
437:     DATALONG    $13441000   ' Tile #9
438:     DATALONG    $34333100
439:     DATALONG    $33333310
440:     DATALONG    $11111110
441:     DATALONG    $55551000
442:     DATALONG    $66661000
443:     DATALONG    $11661000
444:     DATALONG    $11661000
445:     DATALONG    $66661000   ' Tile #10
446:     DATALONG    $66661000
447:     DATALONG    $11111000
448:     DATALONG    $23100000
449:     DATALONG    $34100000
450:     DATALONG    $34100000
451:     DATALONG    $34100000
452:     DATALONG    $34100000
453:     DATALONG    $34100000   ' Tile #11
454:     DATALONG    $34100000
455:     DATALONG    $34100000
456:     DATALONG    $11100000
457:     DATALONG    $58100000
458:     DATALONG    $58100000
459:     DATALONG    $11100000
460:     DATALONG    $00000000
461:    
462:     ' Map
463:    
464: tile_map:
465:     data 0, 1
466:     data 2, 3
467:    
468:     ' Data
469: 
470: soleil_pallette:
471:     dataint $04CA,$06AA,$04CA,$08EE,$0466,$0664,$04A6,$0EEE
472:     dataint $026A,$068A,$0468,$0000,$0000,$0000,$0000,$0000
473: 
474: soleil_tiles:
475:     datalong    $21232232
476:     datalong    $32323222
477:     datalong    $23212232
478:     datalong    $22222323
479:     datalong    $32323232
480:     datalong    $22322122
481:     datalong    $23233232
482:     datalong    $32322323
483:     datalong    $23223212
484:     datalong    $22232323
485:     datalong    $23221232
486:     datalong    $32322222
487:     datalong    $23232323
488:     datalong    $22122322
489:     datalong    $23233232
490:     datalong    $32322323
491:     datalong    $32322323
492:     datalong    $23233232
493:     datalong    $22122322
494:     datalong    $23232323
495:     datalong    $32322222
496:     datalong    $23221232
497:     datalong    $22232323
498:     datalong    $23223212
499:     datalong    $32322323
500:     datalong    $23233232
501:     datalong    $22322122
502:     datalong    $32323232
503:     datalong    $22222323
504:     datalong    $23212232
505:     datalong    $32323222
506:     datalong    $21232232
507:     datalong    $22222245
508:     datalong    $55522225
509:     datalong    $25655252
510:     datalong    $22626546
511:     datalong    $22562645
512:     datalong    $55555644
513:     datalong    $52335542
514:     datalong    $25623452
515:     datalong    $25222555
516:     datalong    $24225364
517:     datalong    $46553252
518:     datalong    $55432642
519:     datalong    $54426542
520:     datalong    $54325445
521:     datalong    $44265455
522:     datalong    $34254542
523:     datalong    $22562452
524:     datalong    $25646456
525:     datalong    $52364456
526:     datalong    $65236546
527:     datalong    $24523645
528:     datalong    $26452254
529:     datalong    $22264554
530:     datalong    $22226645
531:     datalong    $24654455
532:     datalong    $23644632
533:     datalong    $22446326
534:     datalong    $62443265
535:     datalong    $66462652
536:     datalong    $56455562
537:     datalong    $45554622
538:     datalong    $55462222
539:     datalong    $25555555
540:     datalong    $51333333
541:     datalong    $53777777
542:     datalong    $51333333
543:     datalong    $51344343
544:     datalong    $51333333
545:     datalong    $51343443
546:     datalong    $51333333
547:     datalong    $55555552
548:     datalong    $33333315
549:     datalong    $77777735
550:     datalong    $33333315
551:     datalong    $34344315
552:     datalong    $33333315
553:     datalong    $34434315
554:     datalong    $33333315
555:     datalong    $58888888
556:     datalong    $65555555
557:     datalong    $66666644
558:     datalong    $26666649
559:     datalong    $22262249
560:     datalong    $2622224A
561:     datalong    $22226264
562:     datalong    $22222226
563:     datalong    $88888885
564:     datalong    $55555556
565:     datalong    $44666666
566:     datalong    $94666662
567:     datalong    $94226222
568:     datalong    $A4222262
569:     datalong    $46262222
570:     datalong    $62222222
571:     datalong    $22222555
572:     datalong    $22625333
573:     datalong    $62253AAA
574:     datalong    $2253A44A
575:     datalong    $25434444
576:     datalong    $25434444
577:     datalong    $5A493444
578:     datalong    $4A949333
579:     datalong    $55522222
580:     datalong    $33352622
581:     datalong    $AAA35226
582:     datalong    $A44A3522
583:     datalong    $44443452
584:     datalong    $44443452
585:     datalong    $444394A5
586:     datalong    $333949A4
587:     datalong    $4A99A999
588:     datalong    $4A919AAA
589:     datalong    $54911999
590:     datalong    $54A91111
591:     datalong    $654A9999
592:     datalong    $2654AAAA
593:     datalong    $22654444
594:     datalong    $22265555
595:     datalong    $999A99A4
596:     datalong    $AAA919A4
597:     datalong    $99911945
598:     datalong    $11119A45
599:     datalong    $9999A456
600:     datalong    $AAAA4562
601:     datalong    $44445622
602:     datalong    $55556222