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

    ' problem with palettes 1

    ' Soleil
   
    dim    camera(1,1) as integer ' 0 = Position, 1 = Velocity  
    global grid(63,63) as integer
   
    ' Main
    setgfxplane SCROLL_B
    palettes soleil_pallette,0,0,16
    loadtiles soleil_tiles,16,0
   
    for i=0 to 127
        grid(rnd(63),rnd(63)) = rnd(3)+1
    next
   
    render 0,0,20,14
    render 0,0,20,14

    ' ******************************************************************************************************
    setgfxplane SCROLL_A    
    pallettes fondf_pal,1,0,16 ' problem with palettes 1 ; 16 couleurs
    loadtiles fondf,32,16 ' image d'une taille de 64*32 (64/8=8 et 32/8=4) donc 8*4 = 32 tiles ;


    Drawtilesinc 16,0,0,8,4 '  64/8 = 8 ; 32/8 = 4 ; 8*4 = 32 Tiles (0 � 31)
    ' ******************************************************************************************************
    chti=addsprite(4,3) ' 4 sprites de haut sur 3 sprites de large (1 sprite = 8*8 pixel)
    'palettes soleil_pallette,1,0,16
    pallettes chti_pal,2,0,16 ' palette 1 ; 16 couleurs
    loadtiles chti,12,552 ' image d'une taille de 24*32 donc 3*4 = 12 tiles ;
    propsprite chti,552,2 ' 536 = tile vram offset ; palette 2

    xplayer=160:movesprite chti,xplayer,250
    ' ******************************************************************************************************

   
    while 1
        Drawtilesinc 16,0,0,8,4 '  64/8 = 8 ; 32/8 = 4 ; 8*4 = 32 Tiles (0 � 31)
       
        joypad = joypad(0)
       
        camera(0,1) = (joypad.3-joypad.2)*12
        camera(1,1) = (joypad.1-joypad.0)*12
       
        camera(0,0)+= camera(0,1)
        camera(1,0)+= camera(1,1)
       
        cx = divide(camera(0,0),16)
        cy = divide(camera(1,0),16)
       
        render cx   ,cy,cx   ,cy+13
        render cx+20,cy,cx+20,cy+13
       
        render cx,cy   ,cx+20,cy
        render cx,cy+14,cx+20,cy+14
       
        scroll left,camera(0,1)
        scroll   up,camera(1,1)
       
        sleep 1
    wend
   
    ' Divide
   
declare function divide(x as integer, d as integer)
    if x < 32768 then
        return x/d
    else
        return -1-((0-x)/d)
    endif
end function
   
    ' Render
   
declare sub render(x1 as integer, y1 as integer, x2 as integer, y2 as integer)
    for x=x1 to x2
        for y=y1 to y2
            if x > 63 or y > 63 then
                drawtiles tile_map,4,x*2,y*2,2,2
            else
                drawtiles tile_map,grid(x,y)*4,x*2,y*2,2,2
            endif
        next
    next
    exit sub
end sub
' **** DATA ****
fondf_pal:
    DATAINT $000E,$02E0,$0EE0,$0E00,$0000,$0EEE,$0AAA,$0666
    DATAINT $00EE,$0088,$0CCA,$0080,$08CE,$028E,$002E,$0866

' Picture size 64*32
fondf:  
    DATALONG    $00000000   ' Tile #0
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000   ' Tile #1
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $11111111   ' Tile #2
    DATALONG    $11111111
    DATALONG    $11111111
    DATALONG    $11111111
    DATALONG    $11110000
    DATALONG    $11110000
    DATALONG    $11110000
    DATALONG    $11110000
    DATALONG    $11111111   ' Tile #3
    DATALONG    $11111111
    DATALONG    $11111111
    DATALONG    $11111111
    DATALONG    $00001111
    DATALONG    $00001111
    DATALONG    $00001111
    DATALONG    $00001111
    DATALONG    $22222222   ' Tile #4
    DATALONG    $22222222
    DATALONG    $22222222
    DATALONG    $22222222
    DATALONG    $22220000
    DATALONG    $22220000
    DATALONG    $22220000
    DATALONG    $22220000
    DATALONG    $22222222   ' Tile #5
    DATALONG    $22222222
    DATALONG    $22222222
    DATALONG    $22222222
    DATALONG    $00002222
    DATALONG    $00002222
    DATALONG    $00002222
    DATALONG    $00002222
    DATALONG    $33333333   ' Tile #6
    DATALONG    $33333333
    DATALONG    $33333333
    DATALONG    $33333333
    DATALONG    $33330000
    DATALONG    $33330000
    DATALONG    $33330000
    DATALONG    $33330000
    DATALONG    $33333333   ' Tile #7
    DATALONG    $33333333
    DATALONG    $33333333
    DATALONG    $33333333
    DATALONG    $00003333
    DATALONG    $00003333
    DATALONG    $00003333
    DATALONG    $00003333
    DATALONG    $00000000   ' Tile #8
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000   ' Tile #9
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $04444555
    DATALONG    $04444555
    DATALONG    $11110000   ' Tile #10
    DATALONG    $11110000
    DATALONG    $11110000
    DATALONG    $11110000
    DATALONG    $11110000
    DATALONG    $11110000
    DATALONG    $56666777
    DATALONG    $56666777
    DATALONG    $00001111   ' Tile #11
    DATALONG    $00001111
    DATALONG    $00001111
    DATALONG    $00001111
    DATALONG    $00001111
    DATALONG    $00001111
    DATALONG    $78888999
    DATALONG    $78888999
    DATALONG    $22220000   ' Tile #12
    DATALONG    $22220000
    DATALONG    $22220000
    DATALONG    $22220000
    DATALONG    $22220000
    DATALONG    $22220000
    DATALONG    $9AAAABBB
    DATALONG    $9AAAABBB
    DATALONG    $00002222   ' Tile #13
    DATALONG    $00002222
    DATALONG    $00002222
    DATALONG    $00002222
    DATALONG    $00002222
    DATALONG    $00002222
    DATALONG    $BCCCCDDD
    DATALONG    $BCCCCDDD
    DATALONG    $33330000   ' Tile #14
    DATALONG    $33330000
    DATALONG    $33330000
    DATALONG    $33330000
    DATALONG    $33330000
    DATALONG    $33330000
    DATALONG    $DEEEE000
    DATALONG    $DEEEE000
    DATALONG    $00003333   ' Tile #15
    DATALONG    $00003333
    DATALONG    $00003333
    DATALONG    $00003333
    DATALONG    $00003333
    DATALONG    $00003333
    DATALONG    $00003333
    DATALONG    $00003333
    DATALONG    $00000000   ' Tile #16
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $04444555   ' Tile #17
    DATALONG    $04444555
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $56666777   ' Tile #18
    DATALONG    $56666777
    DATALONG    $11110000
    DATALONG    $11110000
    DATALONG    $11110000
    DATALONG    $11110000
    DATALONG    $11110000
    DATALONG    $11110000
    DATALONG    $78888999   ' Tile #19
    DATALONG    $78888999
    DATALONG    $00001111
    DATALONG    $00001111
    DATALONG    $00001111
    DATALONG    $00001111
    DATALONG    $00001111
    DATALONG    $00001111
    DATALONG    $9AAAABBB   ' Tile #20
    DATALONG    $9AAAABBB
    DATALONG    $22220000
    DATALONG    $22220000
    DATALONG    $22220000
    DATALONG    $22220000
    DATALONG    $22220000
    DATALONG    $22220000
    DATALONG    $BCCCCDDD   ' Tile #21
    DATALONG    $BCCCCDDD
    DATALONG    $00002222
    DATALONG    $00002222
    DATALONG    $00002222
    DATALONG    $00002222
    DATALONG    $00002222
    DATALONG    $00002222
    DATALONG    $DEEEE000   ' Tile #22
    DATALONG    $DEEEE000
    DATALONG    $33330000
    DATALONG    $33330000
    DATALONG    $33330000
    DATALONG    $33330000
    DATALONG    $33330000
    DATALONG    $33330000
    DATALONG    $00003333   ' Tile #23
    DATALONG    $00003333
    DATALONG    $00003333
    DATALONG    $00003333
    DATALONG    $00003333
    DATALONG    $00003333
    DATALONG    $00003333
    DATALONG    $00003333
    DATALONG    $00000000   ' Tile #24
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000   ' Tile #25
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $00000000
    DATALONG    $11110000   ' Tile #26
    DATALONG    $11110000
    DATALONG    $11110000
    DATALONG    $11110000
    DATALONG    $11111111
    DATALONG    $11111111
    DATALONG    $11111111
    DATALONG    $11111111
    DATALONG    $00001111   ' Tile #27
    DATALONG    $00001111
    DATALONG    $00001111
    DATALONG    $00001111
    DATALONG    $11111111
    DATALONG    $11111111
    DATALONG    $11111111
    DATALONG    $11111111
    DATALONG    $22220000   ' Tile #28
    DATALONG    $22220000
    DATALONG    $22220000
    DATALONG    $22220000
    DATALONG    $22222222
    DATALONG    $22222222
    DATALONG    $22222222
    DATALONG    $22222222
    DATALONG    $00002222   ' Tile #29
    DATALONG    $00002222
    DATALONG    $00002222
    DATALONG    $00002222
    DATALONG    $22222222
    DATALONG    $22222222
    DATALONG    $22222222
    DATALONG    $22222222
    DATALONG    $33330000   ' Tile #30
    DATALONG    $33330000
    DATALONG    $33330000
    DATALONG    $33330000
    DATALONG    $33333333
    DATALONG    $33333333
    DATALONG    $33333333
    DATALONG    $33333333
    DATALONG    $00003333   ' Tile #31
    DATALONG    $00003333
    DATALONG    $00003333
    DATALONG    $00003333
    DATALONG    $33333333
    DATALONG    $33333333
    DATALONG    $33333333
    DATALONG    $33333333







   
   
chti_pal:
    DATAINT $0E0E,$0000,$0A00,$0E44,$0EAA,$004A,$04AE,$0EEE
    DATAINT $006E,$0000,$0000,$0000,$0000,$0000,$0000,$0000
chti:
'tiledata_sprite:
    DATALONG    $00000000   ' Tile #0
    DATALONG    $00000000
    DATALONG    $00011111
    DATALONG    $00123233
    DATALONG    $01232333
    DATALONG    $01223233
    DATALONG    $01232333
    DATALONG    $01223233
    DATALONG    $01232333   ' Tile #1
    DATALONG    $01223233
    DATALONG    $01231111
    DATALONG    $01111111
    DATALONG    $01555155
    DATALONG    $01555166
    DATALONG    $01555166
    DATALONG    $01555166
    DATALONG    $01555166   ' Tile #2
    DATALONG    $00155166
    DATALONG    $00011111
    DATALONG    $00000122
    DATALONG    $00000122
    DATALONG    $00000122
    DATALONG    $00000122
    DATALONG    $00000122
    DATALONG    $00000122   ' Tile #3
    DATALONG    $00000122
    DATALONG    $00000122
    DATALONG    $00000111
    DATALONG    $00000155
    DATALONG    $00000155
    DATALONG    $00000111
    DATALONG    $00000000
    DATALONG    $00000000   ' Tile #4
    DATALONG    $00000000
    DATALONG    $11111111
    DATALONG    $33344444
    DATALONG    $33333333
    DATALONG    $33333333
    DATALONG    $33333333
    DATALONG    $33333333
    DATALONG    $33331111   ' Tile #5
    DATALONG    $11112333
    DATALONG    $22222223
    DATALONG    $11111111
    DATALONG    $55555555
    DATALONG    $66666666
    DATALONG    $77116677
    DATALONG    $77116677
    DATALONG    $66666666   ' Tile #6
    DATALONG    $66111166
    DATALONG    $11111111
    DATALONG    $22222222
    DATALONG    $32333333
    DATALONG    $23333333
    DATALONG    $32333333
    DATALONG    $23333333
    DATALONG    $32333333   ' Tile #7
    DATALONG    $23333333
    DATALONG    $32333333
    DATALONG    $11111111
    DATALONG    $85888881
    DATALONG    $58588881
    DATALONG    $11111111
    DATALONG    $00000000
    DATALONG    $00000000   ' Tile #8
    DATALONG    $00000000
    DATALONG    $10000000
    DATALONG    $41000000
    DATALONG    $34100000
    DATALONG    $33410000
    DATALONG    $33410000
    DATALONG    $31110000
    DATALONG    $13441000   ' Tile #9
    DATALONG    $34333100
    DATALONG    $33333310
    DATALONG    $11111110
    DATALONG    $55551000
    DATALONG    $66661000
    DATALONG    $11661000
    DATALONG    $11661000
    DATALONG    $66661000   ' Tile #10
    DATALONG    $66661000
    DATALONG    $11111000
    DATALONG    $23100000
    DATALONG    $34100000
    DATALONG    $34100000
    DATALONG    $34100000
    DATALONG    $34100000
    DATALONG    $34100000   ' Tile #11
    DATALONG    $34100000
    DATALONG    $34100000
    DATALONG    $11100000
    DATALONG    $58100000
    DATALONG    $58100000
    DATALONG    $11100000
    DATALONG    $00000000
   
    ' Map
   
tile_map:
    data 0, 1
    data 2, 3
   
    ' Data

soleil_pallette:
    dataint $04CA,$06AA,$04CA,$08EE,$0466,$0664,$04A6,$0EEE
    dataint $026A,$068A,$0468,$0000,$0000,$0000,$0000,$0000

soleil_tiles:
    datalong    $21232232
    datalong    $32323222
    datalong    $23212232
    datalong    $22222323
    datalong    $32323232
    datalong    $22322122
    datalong    $23233232
    datalong    $32322323
    datalong    $23223212
    datalong    $22232323
    datalong    $23221232
    datalong    $32322222
    datalong    $23232323
    datalong    $22122322
    datalong    $23233232
    datalong    $32322323
    datalong    $32322323
    datalong    $23233232
    datalong    $22122322
    datalong    $23232323
    datalong    $32322222
    datalong    $23221232
    datalong    $22232323
    datalong    $23223212
    datalong    $32322323
    datalong    $23233232
    datalong    $22322122
    datalong    $32323232
    datalong    $22222323
    datalong    $23212232
    datalong    $32323222
    datalong    $21232232
    datalong    $22222245
    datalong    $55522225
    datalong    $25655252
    datalong    $22626546
    datalong    $22562645
    datalong    $55555644
    datalong    $52335542
    datalong    $25623452
    datalong    $25222555
    datalong    $24225364
    datalong    $46553252
    datalong    $55432642
    datalong    $54426542
    datalong    $54325445
    datalong    $44265455
    datalong    $34254542
    datalong    $22562452
    datalong    $25646456
    datalong    $52364456
    datalong    $65236546
    datalong    $24523645
    datalong    $26452254
    datalong    $22264554
    datalong    $22226645
    datalong    $24654455
    datalong    $23644632
    datalong    $22446326
    datalong    $62443265
    datalong    $66462652
    datalong    $56455562
    datalong    $45554622
    datalong    $55462222
    datalong    $25555555
    datalong    $51333333
    datalong    $53777777
    datalong    $51333333
    datalong    $51344343
    datalong    $51333333
    datalong    $51343443
    datalong    $51333333
    datalong    $55555552
    datalong    $33333315
    datalong    $77777735
    datalong    $33333315
    datalong    $34344315
    datalong    $33333315
    datalong    $34434315
    datalong    $33333315
    datalong    $58888888
    datalong    $65555555
    datalong    $66666644
    datalong    $26666649
    datalong    $22262249
    datalong    $2622224A
    datalong    $22226264
    datalong    $22222226
    datalong    $88888885
    datalong    $55555556
    datalong    $44666666
    datalong    $94666662
    datalong    $94226222
    datalong    $A4222262
    datalong    $46262222
    datalong    $62222222
    datalong    $22222555
    datalong    $22625333
    datalong    $62253AAA
    datalong    $2253A44A
    datalong    $25434444
    datalong    $25434444
    datalong    $5A493444
    datalong    $4A949333
    datalong    $55522222
    datalong    $33352622
    datalong    $AAA35226
    datalong    $A44A3522
    datalong    $44443452
    datalong    $44443452
    datalong    $444394A5
    datalong    $333949A4
    datalong    $4A99A999
    datalong    $4A919AAA
    datalong    $54911999
    datalong    $54A91111
    datalong    $654A9999
    datalong    $2654AAAA
    datalong    $22654444
    datalong    $22265555
    datalong    $999A99A4
    datalong    $AAA919A4
    datalong    $99911945
    datalong    $11119A45
    datalong    $9999A456
    datalong    $AAAA4562
    datalong    $44445622
    datalong    $55556222