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