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