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