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