[ TERMINE ] - Papi Commando Megadrive Edition !
+32
upsilandre
neimad
Rahow
xtopher
Ricco59_59
pckid
oofwill
vincent2105
ShiningBZH
ichigobankai
Spirale
iGeekPSG
kawickboy
beddy
Kouris
buz18
grostonton
Kristof
nemokantio
MrBurns11
Doc_Skunkovitch
Stef
tfdi
iwillbeback
chiss
F.L
bfg
Bonaf
philip
dub
Urbinou
drfloyd
36 participants
Page 1 sur 34
Page 1 sur 34 • 1, 2, 3 ... 17 ... 34
[ TERMINE ] - Papi Commando Megadrive Edition !
! Papi Commando - Megadrive Edition !
Bonsoir à tous,
Et oui, malgré mon soucis de santé, je ne chôme pas !!
C'est un défi que je m'étais lancé il y a presque un an mais il me manquait ce petit quelque chose pour commencer et c'est chose faite maintenant que j'ai du "temps libre".
Le kit de développement :
Pour cela, j'utilise l'excellent BasiEgaXorz qui est un Basic - Assembleur très puissant, permettant de développer facilement des jeux sur cette console mythique.
Détail de l'interface
Ce qui est très intéressant, c'est de pouvoir mixer des routines en assembleur avec du code Basic ... Tout simplement énorme !
Le kit permet de compiler en un temps record le code et d'ainsi créer un fichier .BIN directement utilisable sur tout bon émulateur et sur votre Console Megadrive via une cartouche Everdrive ( ou sur un cartouche Moddée ).
Les outils du Kit sont : ImaGenesis pour le travail de conversion des Tiles ( Palette, TileMap et TileData ) et Fusion pour l'émulateur générique.
Il faut savoir que ce Basic possède quelques contraintes liées à l'assembleur dont il est lié : Pas de nombres négatifs ni de nombres à virgule flottante.
Hormis cela, il y a une plétore de commande Basic de base ainsi que d'autres Fonctions liées au Hard de la Console ( SCROLL_B, SCROLL_A, etc ... )
Je ne vais pas m'étendre trop sur le sujet technique car je suis en plein apprentissage !
Je tiens à remercier F.L pour ses conseils et encouragements.
Le projet actuel en son état :
Je ne me fais pas d'illusion : cela sera impossible de réaliser une version Megadrive équivalente à la version PC actuelle ... Je pense que ce Kit ne le permet pas et que même si possible en full assembleur, cela sort de mes compétences et de ma patience !
Par contre, je pense qu'il sera possible de réaliser un jeu sympa et fun se rapprochant de l'original avec un concept plus "arcade" et simple au niveau gameplay.
Voici une des dernières vidéos du travail en cours :
Ici pas mal de défi technique que j'ai pu réaliser :
- Scrolling Multi Directionnel.
- Gestion d'une Map en Background.
- Affichage d'un sprite avec son animation et son initialisation sans commande.
- Gestion des commandes.
- Gestion des limites de la map et du scrolling.
La carte est juste un Background retravaillé en 16 couleurs et en tenant compte des contraintes de résolution.
C'est assez sommaire, mais pour moi, voir ce genre de démo tourner sur une Machine d'époque avec l'originalité d'un jeu qui n'existait pas à cette époque me donne pas mal de frissons ...
Il reste encore beaucoup à faire, mais l'essentiel est là pour moi.
La gestion des collisions, du Z-Order du décor / Papi et l'ajout des autres animations seront les prochains défis.
! ROM OFFICIELLE !
https://dl.dropboxusercontent.com/u/108143465/PapiCommandoMD.bin
Utilisable sur tous les émulateurs Megadrive ainsi que sur une Megadrive avec une cartouche Everdrive.
Merci à tous de votre attention, et à bientôt pour d'autres nouvelles !
Dernière édition par Vetea le Mar 30 Juin 2015 - 15:41, édité 43 fois
Invité- Invité
Re: [ TERMINE ] - Papi Commando Megadrive Edition !
C'est énorme cette premiere vidéo !!!! Ca donne envie de développer sur Coleco Bordel !!!!!
Tu compte faire passer Papy derrière les décors ou pas ? Car ca bouffe de la ressource cette option.
Tu compte faire passer Papy derrière les décors ou pas ? Car ca bouffe de la ressource cette option.
_______________________________________________________
Re: [ TERMINE ] - Papi Commando Megadrive Edition !
Oh, c'est pas du 60 fps...
Non, wow, juste wow, bluffant vraiment
Non, wow, juste wow, bluffant vraiment
Re: [ TERMINE ] - Papi Commando Megadrive Edition !
Merci les amis !!
En fait ça tourne à 60 FPS, le logiciel de capture qui bouffe un max de ressources.
Oui je compte gérer le ZOrder sans trop savoir comment encore ... ^^
En fait ça tourne à 60 FPS, le logiciel de capture qui bouffe un max de ressources.
Oui je compte gérer le ZOrder sans trop savoir comment encore ... ^^
Invité- Invité
Re: [ TERMINE ] - Papi Commando Megadrive Edition !
il a l'air de franchement déchirer ce basic.
Je ne sais plus si tu as déjà évoqué les contraintes de ce basic par rapport au célèbre QB64 ?
Je ne sais plus si tu as déjà évoqué les contraintes de ce basic par rapport au célèbre QB64 ?
_______________________________________________________
Re: [ TERMINE ] - Papi Commando Megadrive Edition !
Je pense que ce n'est pas comparable ...
C'est un basic - assembleur avec les contraintes de ce dernier ( pas de chiffre <=0, pas de x.x , de fonction trigo, contrainte machine, etc ... )
Sinon du code basic traditionnel peut parfaitement coller !
C'est un basic - assembleur avec les contraintes de ce dernier ( pas de chiffre <=0, pas de x.x , de fonction trigo, contrainte machine, etc ... )
Sinon du code basic traditionnel peut parfaitement coller !
Invité- Invité
Re: [ TERMINE ] - Papi Commando Megadrive Edition !
et pour les blocs images (taille, affichage en transparence), il y a des contraintes ou pas ?
_______________________________________________________
Re: [ TERMINE ] - Papi Commando Megadrive Edition !
La transparence est gérée du moment que la palette de l'élément ne dépasse pas 15 couleurs + 1 couleur de transparence.
La Megadrive gére des sprites de 32 x 32 maxi avec des blocs de 8x8.
Dans la démo, le sprite de Papi fait 32x32 mais rien n'empêche de faire des sprites plus gros du moment que chaque coordonnée soit multiple de 8.
Alors il suffit d'assembler les blocs de 8x8 pour créer des sprites vraiment énormes, mais bonjour les prises de tête pour assembler tout ça ! Demander à F.L ...
La Megadrive gére des sprites de 32 x 32 maxi avec des blocs de 8x8.
Dans la démo, le sprite de Papi fait 32x32 mais rien n'empêche de faire des sprites plus gros du moment que chaque coordonnée soit multiple de 8.
Alors il suffit d'assembler les blocs de 8x8 pour créer des sprites vraiment énormes, mais bonjour les prises de tête pour assembler tout ça ! Demander à F.L ...
Invité- Invité
Re: [ TERMINE ] - Papi Commando Megadrive Edition !
ok, j'imagine la galère pour FL avec Barbarian !!!!!!!! Mais il l'a fait.
Je vois bien mon COSMOS sur Megadrive !!!!!!
Je vois bien mon COSMOS sur Megadrive !!!!!!
_______________________________________________________
Re: [ TERMINE ] - Papi Commando Megadrive Edition !
Bonjour à tous,
Pas de très gros changement cet après midi, juste une meilleure organisation du code pour les futurs ajouts.
Comme vous allez le voir, l'architecture se rapproche de QB64, voire du visual avec l'utilisation de Procédure Sub pour une meilleure lisibilité.
Avec un code propre je pourrais travailler en toute quiétude. :)
A bientôt !
Pas de très gros changement cet après midi, juste une meilleure organisation du code pour les futurs ajouts.
Comme vous allez le voir, l'architecture se rapproche de QB64, voire du visual avec l'utilisation de Procédure Sub pour une meilleure lisibilité.
- Code:
' chargement des palette
pallettes paletteMAP,0,0,64
palettes paletteGENERALE,1,0,16
palettes paletteSPRITES,3,0,16
'chargement des tiles
loadtiles tilesMAP,904,224
loadtiles SPRpapi1A,16,128
'Definition des sprites
papiH = addsprite(4,4)
propsprite papiH,128,3
'Definition champ de bataille
SETGFXPLANE SCROLL_B
Reload mapdataMAP
For y= 1 To 81
For x = 1 To 64
ReadInt AuxInt
DrawTile 224+AuxInt, X+50, Y+395
Next
Next
'choix du plan pour le scrolling
setscrollplane SCROLL_B
'Init Variables
global Animation as integer
global Xpapi as integer
global Ypapi as integer
global Scd as integer
global Scg as integer
Global Sens as integer
global tempo as integer
global Scyh as integer
global sconh as integer
global sconb as integer
global scong as integer
global scond as integer
'Init coordonnées
Xpapi=270
Ypapi=325
scd=65
scg=20
Sens=0
ink 1
locate 0,10:print "PAPI COMMANDO DEMO"
'Titre de la cartouche
option title,"Papi Commando"
' boucle principale
do
'Init animation
tempo=tempo+1
if tempo>10 then
Sens=0
tempo=0
end if
'Limite tableau & scrolling
LimiteTableau
'Traitement Commande et scrolling
Gestionpad
'Affichage Sprite
Affichesprite
'Init & Gestion animation
Gestionanimation
sleep 1
loop
' assignation des palettes, Tiles
tilesMAP:
datafile MapTileData.bin,BIN
paletteMAP:
datafile MapPalette.bin,BIN
mapdataMAP:
datafile MapTileMap.bin,BIN
paletteGENERALE:
dataint $0000,$0EEE,$0000,$0000,$0000,$0000,$0000,$0000 ' couleurs 0,1,2,3,4,5,6,7
dataint $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 ' couleurs 8,9,A,B,C,D,E,F
paletteSPRITES: ' la couleur 0 est la transparente par defaut pour les sprites
DATAINT $0A0E,$0000,$0EEE,$0AAC,$0ACE,$0008,$048C,$088A
DATAINT $0446,$0224,$002C,$0242,$0282,$0066,$06EE,$0000
' listing DATA des sprites et decors & routines
'Gestion Animation
declare sub GestionAnimation
'Gestion animation
if sens>=1 then animation=animation+1
if animation <10 then
'select case sens
'case 1
'loadtiles SPRpapi0B,16,128
'exit case
'case 2
loadtiles SPRpapi0A,16,128
'exit case
'end select
end if
if animation >10 and animation <=20 then
'select case sens
'case 1
'loadtiles SPRpapi0B,16,128
'exit case
'case 2
loadtiles SPRpapi1A,16,128
'exit case
'end select
end if
if animation > 20 then
'select case sens
'case 1
'loadtiles SPRpapi0B,16,128
'exit case
'case 2
loadtiles SPRpapi2A,16,128
'exit case
'end select
end if
'Init animation Papi
if animation>30 then animation=1
if sens=0 then loadtiles SPRpapi1A,16,128
end sub
'Affichage Sprite
declare sub AfficheSprite
if scyh<=85 then
movesprite papiH,Xpapi,Ypapi
else
movesprite papiH,Xpapi,240
end if
end sub
'Limite tableau
declare sub LimiteTableau
if ypapi>=325 then
ypapi=325
end if
if ypapi<=1 then ypapi=1
if scyh>75 and ypapi>1 then
sconh=1
else
sconh=0
end if
if scyh>=80 then
sconb=1
else
sconb=0
end if
if (scg)>=95 then
scong=0
else
scong=1
end if
if scd>=152 then
scond=0
else
scond=1
end if
if xpapi<=135 then
xpapi=135
end if
if xpapi>=420 then
xpapi=420
end if
end sub
'Gestion Pad & Commandes
declare sub GestionPad
if joypad(0).0 THEN
sens=1'Haut
Ypapi = Ypapi - 1
if ypapi >1 then scyh=scyh+1
if sconh=1 then
scroll down,1,SCROLL_B
end if
END IF
if joypad(0).1 THEN
sens=2'Bas
Ypapi = Ypapi + 1
if scyh<=1 then scyh=1
ScYH=ScYH-1
if sconb=1 then
scroll up,1,SCROLL_B
end if
end if
if joypad(0).2 THEN
sens=3'Gauche
Xpapi = Xpapi - 1
if scd<1 then scd=1
if scong=1 then
if scd<=95 then ScG=ScG+1
scd=scd-1
end if
if sconG=1 then
scroll right,1,SCROLL_B
end if
END IF
if joypad(0).3 THEN
sens=4'Droite
Xpapi = Xpapi + 1
if scg<1 then scg=1
if scond=1 then
scd=scd+1
scg=scg-1
END IF
IF sconD=1 then
scroll left,1,SCROLL_B
end if
END IF
end sub
SPRpapi0B:
DATALONG $00000000 ' Tile #0
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000001
DATALONG $00000001
DATALONG $00000001
DATALONG $00000001 ' Tile #4
DATALONG $00000013
DATALONG $00000012
DATALONG $00000001
DATALONG $00000000
DATALONG $00000099
DATALONG $00000199
DATALONG $00001344
DATALONG $00012343 ' Tile #8
DATALONG $00012222
DATALONG $0001A221
DATALONG $0001AAAA
DATALONG $00001AAA
DATALONG $00000001
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000 ' Tile #12
DATALONG $00000000
DATALONG $00000000
DATALONG $00000001
DATALONG $00000001
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000 ' Tile #1
DATALONG $00001111
DATALONG $00112334
DATALONG $15344444
DATALONG $15344344
DATALONG $55344444
DATALONG $66664444
DATALONG $66666677
DATALONG $55566666 ' Tile #5
DATALONG $55555555
DATALONG $35555555
DATALONG $33553555
DATALONG $13255553
DATALONG $9999A333
DATALONG $99B99999
DATALONG $999CCBBC
DATALONG $299BBB9C ' Tile #9
DATALONG $199B9BBB
DATALONG $1999BBBB
DATALONG $11119999
DATALONG $11DD1111
DATALONG $E999EEEE
DATALONG $19BBCCBB
DATALONG $199BBBBB
DATALONG $1C9999EE ' Tile #13
DATALONG $0199BB91
DATALONG $11EBBBE1
DATALONG $116FFF61
DATALONG $11666661
DATALONG $11666661
DATALONG $00111111
DATALONG $00000000
DATALONG $00000000 ' Tile #2
DATALONG $11111000
DATALONG $44332110
DATALONG $44344435
DATALONG $44444435
DATALONG $43444435
DATALONG $44444766
DATALONG $77776666
DATALONG $66666655 ' Tile #6
DATALONG $55555553
DATALONG $55555553
DATALONG $55555533
DATALONG $55355338
DATALONG $33333999
DATALONG $999999B9
DATALONG $CBBBCCC9
DATALONG $CB9BCCC9 ' Tile #10
DATALONG $9BBB9B99
DATALONG $CCBBB991
DATALONG $99999111
DATALONG $11111DD1
DATALONG $EEEEE999
DATALONG $BBBBBBB9
DATALONG $EBBBCC99
DATALONG $1EE9CC99 ' Tile #14
DATALONG $519BB991
DATALONG $11EBBBE1
DATALONG $116FFF61
DATALONG $11666661
DATALONG $11666661
DATALONG $11111111
DATALONG $00000000
DATALONG $00000000 ' Tile #3
DATALONG $00000000
DATALONG $00000000
DATALONG $10000000
DATALONG $10000000
DATALONG $51000000
DATALONG $66110000
DATALONG $66177100
DATALONG $31117100 ' Tile #7
DATALONG $53100000
DATALONG $32100000
DATALONG $81000000
DATALONG $10000000
DATALONG $99100000
DATALONG $99910000
DATALONG $34431000
DATALONG $23432100 ' Tile #11
DATALONG $12222100
DATALONG $1122A100
DATALONG $1AAAA100
DATALONG $1AAA1000
DATALONG $E1000000
DATALONG $10000000
DATALONG $10000000
DATALONG $10000000 ' Tile #15
DATALONG $00000000
DATALONG $10000000
DATALONG $11000000
DATALONG $11000000
DATALONG $10000000
DATALONG $00000000
DATALONG $00000000
SPRpapi2A:
DATALONG $00000000 ' Tile #0
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000001
DATALONG $00000001
DATALONG $00000111
DATALONG $00001511 ' Tile #4
DATALONG $00001516
DATALONG $00000113
DATALONG $00000016
DATALONG $00000001
DATALONG $00000001
DATALONG $00000011
DATALONG $00001BCC
DATALONG $000016BB ' Tile #8
DATALONG $00013443
DATALONG $00013369
DATALONG $00163455
DATALONG $00163553
DATALONG $00015534
DATALONG $00011946
DATALONG $00000011
DATALONG $00000000 ' Tile #12
DATALONG $00000000
DATALONG $00000000
DATALONG $00000001
DATALONG $00000001
DATALONG $00000001
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000 ' Tile #1
DATALONG $00000000
DATALONG $00001111
DATALONG $01223444
DATALONG $12244444
DATALONG $22344434
DATALONG $23444444
DATALONG $11155555
DATALONG $11111555 ' Tile #5
DATALONG $36777776
DATALONG $26721264
DATALONG $33333364
DATALONG $33223336
DATALONG $92222333
DATALONG $92222312
DATALONG $92222333
DATALONG $C7922222 ' Tile #9
DATALONG $91193332
DATALONG $111C9999
DATALONG $111111CC
DATALONG $311111BB
DATALONG $64199111
DATALONG $4611197D
DATALONG $1111111C
DATALONG $0111111C ' Tile #13
DATALONG $00111111
DATALONG $01111111
DATALONG $11111111
DATALONG $11111111
DATALONG $11111111
DATALONG $11111111
DATALONG $00000000
DATALONG $00000000 ' Tile #2
DATALONG $00000000
DATALONG $11111000
DATALONG $44443321
DATALONG $44444232
DATALONG $44444432
DATALONG $44444432
DATALONG $55555511
DATALONG $55511111 ' Tile #6
DATALONG $33777736
DATALONG $33212236
DATALONG $44333338
DATALONG $66333222
DATALONG $33332223
DATALONG $A2132223
DATALONG $23332233
DATALONG $22222239 ' Tile #10
DATALONG $222339B1
DATALONG $99999BC1
DATALONG $BBBBBBC1
DATALONG $BBCCCC11
DATALONG $11117911
DATALONG $EE7711C1
DATALONG $CCBBBBCC
DATALONG $CBBCCBB1 ' Tile #14
DATALONG $1CBCCBC1
DATALONG $1CBBBC11
DATALONG $11111111
DATALONG $18881111
DATALONG $11111111
DATALONG $11881111
DATALONG $11111000
DATALONG $00000000 ' Tile #3
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $10000000
DATALONG $21000000
DATALONG $21000000
DATALONG $11000000
DATALONG $11000000 ' Tile #7
DATALONG $36100000
DATALONG $23100000
DATALONG $26100000
DATALONG $81000000
DATALONG $91000000
DATALONG $91100000
DATALONG $91361000
DATALONG $C6331000 ' Tile #11
DATALONG $C1163100
DATALONG $16633610
DATALONG $11636110
DATALONG $10111000
DATALONG $10000000
DATALONG $10000000
DATALONG $10000000
DATALONG $10000000 ' Tile #15
DATALONG $10000000
DATALONG $00000000
DATALONG $11000000
DATALONG $11000000
DATALONG $11000000
DATALONG $10000000
DATALONG $00000000
SPRpapi0A:
DATALONG $00000000 ' Tile #0
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000001
DATALONG $00000001
DATALONG $00001511
DATALONG $00015511 ' Tile #4
DATALONG $00015116
DATALONG $00001013
DATALONG $00000016
DATALONG $00000001
DATALONG $00000001
DATALONG $00000011
DATALONG $00001631
DATALONG $00001336 ' Tile #8
DATALONG $00013611
DATALONG $00163366
DATALONG $00116661
DATALONG $00001110
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000 ' Tile #12
DATALONG $00000000
DATALONG $00000000
DATALONG $00000001
DATALONG $00000001
DATALONG $00000001
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000 ' Tile #1
DATALONG $00000000
DATALONG $00001111
DATALONG $01233444
DATALONG $12324444
DATALONG $22344434
DATALONG $22344444
DATALONG $11155555
DATALONG $11111555 ' Tile #5
DATALONG $36788883
DATALONG $26722123
DATALONG $27333334
DATALONG $72223336
DATALONG $93223333
DATALONG $9322321A
DATALONG $93322333
DATALONG $B9322222 ' Tile #9
DATALONG $B1C93322
DATALONG $11BC9999
DATALONG $11BCCCCC
DATALONG $111BBBBC
DATALONG $11198111
DATALONG $11B1188D
DATALONG $1BBCCCCB
DATALONG $11CCBBCC ' Tile #13
DATALONG $11BCBBCB
DATALONG $011BCCCB
DATALONG $11111111
DATALONG $11111777
DATALONG $11111111
DATALONG $11111771
DATALONG $00001111
DATALONG $00000000 ' Tile #2
DATALONG $00000000
DATALONG $11111000
DATALONG $44443221
DATALONG $44344422
DATALONG $44444432
DATALONG $44444443
DATALONG $55555511
DATALONG $55511111 ' Tile #6
DATALONG $36888776
DATALONG $34621276
DATALONG $44633333
DATALONG $66333223
DATALONG $33333222
DATALONG $A2123222
DATALONG $23332222
DATALONG $22222298 ' Tile #10
DATALONG $22333911
DATALONG $99999B11
DATALONG $CBB11111
DATALONG $CCC11111
DATALONG $11119914
DATALONG $DE891116
DATALONG $BB111111
DATALONG $BB111111 ' Tile #14
DATALONG $11111110
DATALONG $11111111
DATALONG $11111111
DATALONG $11111111
DATALONG $11111111
DATALONG $11111111
DATALONG $10000000
DATALONG $00000000 ' Tile #3
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $10000000
DATALONG $21000000
DATALONG $21000000
DATALONG $11000000
DATALONG $11000000 ' Tile #7
DATALONG $36100000
DATALONG $23100000
DATALONG $36100000
DATALONG $31000000
DATALONG $91000000
DATALONG $91100000
DATALONG $9BBC1000
DATALONG $BCC61000 ' Tile #11
DATALONG $93443100
DATALONG $19633100
DATALONG $15543610
DATALONG $33553610
DATALONG $64355100
DATALONG $46491100
DATALONG $11100000
DATALONG $00000000 ' Tile #15
DATALONG $00000000
DATALONG $00000000
DATALONG $11000000
DATALONG $11000000
DATALONG $11000000
DATALONG $10000000
DATALONG $00000000
SPRpapi1A:
DATALONG $00000000 ' Tile #0
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000001
DATALONG $00000001
DATALONG $00000111
DATALONG $00001511 ' Tile #4
DATALONG $00015116
DATALONG $00001013
DATALONG $00000016
DATALONG $00000001
DATALONG $00000001
DATALONG $00000011
DATALONG $0000163B
DATALONG $00001336 ' Tile #8
DATALONG $00016443
DATALONG $00013446
DATALONG $00155664
DATALONG $00156344
DATALONG $00014646
DATALONG $00014616
DATALONG $00000000
DATALONG $00000000 ' Tile #12
DATALONG $00000000
DATALONG $00000000
DATALONG $00000001
DATALONG $00000001
DATALONG $00000001
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000 ' Tile #1
DATALONG $00000000
DATALONG $00001111
DATALONG $01233444
DATALONG $12324434
DATALONG $22344444
DATALONG $22334433
DATALONG $11155555
DATALONG $11111555 ' Tile #5
DATALONG $36788883
DATALONG $26722223
DATALONG $27322124
DATALONG $72233336
DATALONG $93231333
DATALONG $93223212
DATALONG $93322333
DATALONG $B9322222 ' Tile #9
DATALONG $B1C93322
DATALONG $11BC9999
DATALONG $11BCCCCC
DATALONG $111BBBBC
DATALONG $11198111
DATALONG $1BB1188D
DATALONG $1CCCBBCB
DATALONG $1BCCCCCB ' Tile #13
DATALONG $1BCCCBB1
DATALONG $01BBBBB1
DATALONG $11111111
DATALONG $11111111
DATALONG $11771111
DATALONG $11111111
DATALONG $00000000
DATALONG $00000000 ' Tile #2
DATALONG $00000000
DATALONG $11111000
DATALONG $44443221
DATALONG $44444422
DATALONG $44444432
DATALONG $43344333
DATALONG $55555511
DATALONG $55511111 ' Tile #6
DATALONG $36888776
DATALONG $34622276
DATALONG $44612233
DATALONG $66333333
DATALONG $33331322
DATALONG $AA123222
DATALONG $23332222
DATALONG $22222223 ' Tile #10
DATALONG $22333991
DATALONG $99999BC1
DATALONG $CBBCCBB1
DATALONG $CCCCBB11
DATALONG $11118911
DATALONG $ED8811BB
DATALONG $BCCCCBBC
DATALONG $BCCCCBBC ' Tile #14
DATALONG $01BBCBBB
DATALONG $01BBBBB1
DATALONG $11111111
DATALONG $11111111
DATALONG $11111771
DATALONG $11111111
DATALONG $00000000
DATALONG $00000000 ' Tile #3
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $10000000
DATALONG $21000000
DATALONG $21000000
DATALONG $11000000
DATALONG $11000000 ' Tile #7
DATALONG $36100000
DATALONG $23100000
DATALONG $36100000
DATALONG $31000000
DATALONG $91000000
DATALONG $91100000
DATALONG $9B661000
DATALONG $94331000 ' Tile #11
DATALONG $B3446100
DATALONG $16443100
DATALONG $16665510
DATALONG $14336610
DATALONG $16464100
DATALONG $16164100
DATALONG $10000000
DATALONG $10000000 ' Tile #15
DATALONG $10000000
DATALONG $00000000
DATALONG $11000000
DATALONG $11000000
DATALONG $11000000
DATALONG $10000000
DATALONG $00000000
Avec un code propre je pourrais travailler en toute quiétude. :)
A bientôt !
Invité- Invité
Re: [ TERMINE ] - Papi Commando Megadrive Edition !
oui c'est presque du basic classique, certes moins cool que QB64, beaucoup moins cool que Blitz3D, mais du basic tres abordable quand meme.
_______________________________________________________
Re: [ TERMINE ] - Papi Commando Megadrive Edition !
Bon courage pour ta version megadrive.
Papi Sega, c'est plus fort que toi.
Papi Sega, c'est plus fort que toi.
Re: [ TERMINE ] - Papi Commando Megadrive Edition !
Merci Dub !
Bon courage pour ton projet également qui est trés bien parti.
Bon courage pour ton projet également qui est trés bien parti.
Invité- Invité
Re: [ TERMINE ] - Papi Commando Megadrive Edition !
Beau projet .
J'ai testé sur la console, tout roule. Sur emulateur j'ai regardé ta palette, tu as deux fois la même couleur : c'est là une première difficulté, avec une master palet de 512 couleurs. Orion a un petit freeware win pour choisir avec précision les couleurs:
http://onorisoft.free.fr/rdl.php?url=win/paladjust.zip
Tu utilise le premier sprite pour le papy, vaut mieux laisser les premiers sprites pour l'affichage du score et autres informations. Pour tes décors, ils prennent beaucoup de place en vram, il y a surment moyen d'économiser de la place comme avec l'eau par exemple. Le haut des arbres, tu pourra l'afficher avec le scroll A, et le sol avec scroll B. Tu met en data tes sprites, c'est laborieux, sgdk de stef propose une meilleure gestion dans ce domaine.
J'ai testé sur la console, tout roule. Sur emulateur j'ai regardé ta palette, tu as deux fois la même couleur : c'est là une première difficulté, avec une master palet de 512 couleurs. Orion a un petit freeware win pour choisir avec précision les couleurs:
http://onorisoft.free.fr/rdl.php?url=win/paladjust.zip
Tu utilise le premier sprite pour le papy, vaut mieux laisser les premiers sprites pour l'affichage du score et autres informations. Pour tes décors, ils prennent beaucoup de place en vram, il y a surment moyen d'économiser de la place comme avec l'eau par exemple. Le haut des arbres, tu pourra l'afficher avec le scroll A, et le sol avec scroll B. Tu met en data tes sprites, c'est laborieux, sgdk de stef propose une meilleure gestion dans ce domaine.
Re: [ TERMINE ] - Papi Commando Megadrive Edition !
philip a écrit:Beau projet .
J'ai testé sur la console, tout roule. Sur emulateur j'ai regardé ta palette, tu as deux fois la même couleur : c'est là une première difficulté, avec une master palet de 512 couleurs. Orion a un petit freeware win pour choisir avec précision les couleurs:
http://onorisoft.free.fr/rdl.php?url=win/paladjust.zip
Tu utilise le premier sprite pour le papy, vaut mieux laisser les premiers sprites pour l'affichage du score et autres informations. Pour tes décors, ils prennent beaucoup de place en vram, il y a surment moyen d'économiser de la place comme avec l'eau par exemple. Le haut des arbres, tu pourra l'afficher avec le scroll A, et le sol avec scroll B. Tu met en data tes sprites, c'est laborieux, sgdk de stef propose une meilleure gestion dans ce domaine.
Merci Phillip,
D'autant plus que je sais tu es un afficionado de la MD !
Merci pour tes conseils, je sais que la MD possède 64 KO de Ram et de VRAM, il faudra faire preuve d'astuce.
Concernant la map de la démo, il s'agit d'une image de 512 x 640 qui prend 52 Ko en VRAM !!! Ah ah !! ^^
Mais pour le futur, j'utiliserai la méthode classique des tuiles à assembler pour composer la map.
Le nombre d'objet graphique générique sera réduit, chacun aura une adresse spécifique que j'utiliserai pour composer les futures Map au travers d'un fichier .DAT qui aura :
- Adresse Tile &hxxxx, Coord X, Coord Y
Il faudra donc que j'adapte mon éditeur de Map générique avec cette version MD, rien de bien sorcier !
Par contre, j'ai l'impression que la MD ne permet pas des résolutions > 640 x 640 ... Dondoi pour réaliser des Maps XL, il faudra que je me limite à des tailles adaptées OU une astuce de sioux en jonglant avec les résolutions et plusieurs plan de Map ... Mais j'en suis pas encore là !
Mettre en DATA les sprites ne me gênent pas trop en fait, il faut être ordonné avec les adresses en relation avec les objets.
Le Sgdk de stef, c'est en C non ?? Car si c'est le cas, ça ne va pas le faire ... ^^
De toute manière, à moi de faire des essais, d'apprivoiser cet environnement Hard d'un autre âge et sans doute, me remettre en douceur avec l'assembleur puisque Bex permet de coder en Mix Basic / Asm.
Ma mission prochaine, utiliser une planche complète de sprite au lieu d'un seule et unique pour un meilleur usage des palettes.
A ce propos, la MD permet 4 palettes de 16 couleurs sur 512 disponibles, c'est ça ??
Allez à bientôt ! :)
Invité- Invité
Re: [ TERMINE ] - Papi Commando Megadrive Edition !
Ça y est t'as sauté le pas !
J'attends de voir ce que tu vas tirer de BEX, ça sera intéressant. En tous cas le début est déjà très prometteur !
C'est plus 4*(15+1) vu qu'il y a la couleur "transparente" d'imposée à chaque fois. Tu verras vite que 4 palettes seulement c'est assez contraignant..;
Bon courage pour la suite, mais je ne me fais pas de souci pour toi
J'attends de voir ce que tu vas tirer de BEX, ça sera intéressant. En tous cas le début est déjà très prometteur !
Vetea a écrit:
A ce propos, la MD permet 4 palettes de 16 couleurs sur 512 disponibles, c'est ça ??
C'est plus 4*(15+1) vu qu'il y a la couleur "transparente" d'imposée à chaque fois. Tu verras vite que 4 palettes seulement c'est assez contraignant..;
Bon courage pour la suite, mais je ne me fais pas de souci pour toi
Bonaf- Patient contaminé
- Nombre de messages : 396
Age : 46
Localisation : Montreuil
Date d'inscription : 30/05/2013
Re: [ TERMINE ] - Papi Commando Megadrive Edition !
Tu penses que ça sera assez véloce pour l'IA et la gestion des collisions ?
bfg- Patient contaminé
- Nombre de messages : 806
Localisation : DMC
Date d'inscription : 11/09/2005
Re: [ TERMINE ] - Papi Commando Megadrive Edition !
bfg a écrit:Tu penses que ça sera assez véloce pour l'IA et la gestion des collisions ?
Oui !! Et en plus je pense pouvoir ajouter une couche réseau !!
Franchement je n'en sais rien Bfg ... Pour le moment, je m'occupe que de Papi et le décor.
Après les hitbox ( j'ai une petite idée ... )
Après le Z-Order ( J'ai une idée ... )
Tout en réfléchissant à la méthode pour la gestion des cartes, leur taille, et le type de jeu à adapter.
Cela sera différent forcément de la version PC, mais on peut faire un petit jeu bien fun en scrolling multi et des cartes de 640 x 640 avec pourquoi pas, un mode 2 joueurs "Duel" ou coopératif.
Que du bon .... Mais avec 64 Mo de Ram ... EUUUHHH 64 KO !! Oups ...
Invité- Invité
Re: [ TERMINE ] - Papi Commando Megadrive Edition !
génial tout ça. tu t'adapte à ce nouveau langage à une vitesse folle!
Re: [ TERMINE ] - Papi Commando Megadrive Edition !
toujours au top le vetea !!!!
chiss- Docteur agrégé **
- Nombre de messages : 5306
Age : 51
Localisation : Villars les dombes , le parc des oiseaux(01)
Date d'inscription : 04/05/2008
Re: [ TERMINE ] - Papi Commando Megadrive Edition !
Wahou, énorme ..
J'attends de voir ce que tu vas arriver à faire avec le basic, parce que pour convertir ton papi ça risque d'être chaud niveau perfs je pense ..
Mais en tout cas bon début, très prometteur .
J'attends de voir ce que tu vas arriver à faire avec le basic, parce que pour convertir ton papi ça risque d'être chaud niveau perfs je pense ..
Mais en tout cas bon début, très prometteur .
Bienvenue dans le monde réel du homebrewQue du bon .... Mais avec 64 Mo de Ram ... EUUUHHH 64 KO !! Oups ...
Ce doit être ton basic qui limite car en théorie tu n'as pas de taille limite, puisque la map peut facilement être mise à jour à la volée .Cela sera différent forcément de la version PC, mais on peut faire un petit jeu bien fun en scrolling multi et des cartes de 640 x 640 avec pourquoi pas, un mode 2 joueurs "Duel" ou coopératif.
Invité- Invité
Re: [ TERMINE ] - Papi Commando Megadrive Edition !
Salut Touko !
Oui c'est clair que je ne pourrai pas faire le même jeu, mais j'ai une petite idée de jeu d'arcade inspiré de l'univers de Papi ( et oui, il s'agit d'une charte amateur maintenant, il est connu dans le monde entier ! )
La je viens enfin de résoudre l'usage des planches de sprites !
Exemple de ma planche actuelle :
Avec son quadrillage 8x8
On en déduit avec Imagenesis, les Data des Tile, la Palette et SURTOUT, la TileMap permettant d'établir le plan d'assemblage.
Cela donne cette série de code :
En sachant que mes sprites font 32x32 et que chaque adresse &Hxxxx correspond à des Tiles de 8x8, on peut construire et déduire nos sprites !
Je vais développer un petit utilitaire en QB64 me permettant de me sortir le plan de chaque sprite qui me permettra de rendre plus aisé ce travail assez lourd ( n'est ce pas F.L ? ^^ )
Allez au boulot !
Oui c'est clair que je ne pourrai pas faire le même jeu, mais j'ai une petite idée de jeu d'arcade inspiré de l'univers de Papi ( et oui, il s'agit d'une charte amateur maintenant, il est connu dans le monde entier ! )
La je viens enfin de résoudre l'usage des planches de sprites !
Exemple de ma planche actuelle :
Avec son quadrillage 8x8
On en déduit avec Imagenesis, les Data des Tile, la Palette et SURTOUT, la TileMap permettant d'établir le plan d'assemblage.
Cela donne cette série de code :
- Code:
$0000,$000A,$0016,$0022,$002B,$002F,$0039,$0045,$0049,$0049,$0049,$0067,$0071,$0077,$0083,$008F,$0097,$00A0,$00A9,$00B5,$0071,$00C8,$00D1,$00DD,$00E8,$00ED,$00F8,$0049,$010B,$0110,$011B,$0022
$0001,$000B,$0017,$0023,$002C,$0030,$003A,$0046,$0051,$0054,$005C,$0068,$0072,$0078,$0084,$0090,$0098,$00A1,$00AA,$00B6,$00BF,$00C9,$00D2,$00DE,$00E9,$00EE,$00F9,$0103,$010C,$0111,$011C,$0126
$0002,$000C,$0018,$0024,$002D,$0031,$003B,$0047,$0052,$0055,$005D,$0069,$0073,$0079,$0085,$0091,$0099,$00A2,$00AB,$00B7,$00C0,$00CA,$00D3,$00DF,$00EA,$00EF,$00FA,$0104,$010D,$0112,$011D,$0127
$0003,$000D,$0019,$0025,$002E,$0032,$003C,$0048,$0053,$0056,$005E,$006A,$0074,$007A,$0086,$0092,$002E,$00A3,$00AC,$00B8,$00C1,$00CB,$00D4,$00E0,$00EB,$00F0,$00FB,$004C,$010E,$0113,$011E,$0049
$0004,$000E,$001A,$0022,$002B,$0033,$003D,$0049,$0049,$0049,$005F,$0049,$0071,$007B,$0087,$008F,$009A,$00A0,$00AD,$0049,$0071,$00C8,$00D5,$00E1,$00E8,$00F1,$00FC,$0022,$010B,$0114,$011F,$0128
$0005,$000F,$001B,$0026,$002C,$0034,$003E,$004A,$0051,$0057,$0060,$006B,$0072,$007C,$0088,$0093,$009B,$00A4,$00AE,$00B9,$00C2,$00CC,$00D6,$00E2,$00E9,$00F2,$00FD,$0105,$010C,$0115,$0120,$0129
$0006,$0010,$001C,$0027,$002D,$0035,$003F,$004B,$0052,$0058,$0061,$006C,$0073,$007D,$0089,$0094,$009C,$00A5,$00AF,$00BA,$00C3,$00CD,$00D7,$00E3,$00EA,$00F3,$00FE,$0106,$010D,$0116,$0121,$012A
$0003,$0011,$001D,$0028,$002E,$0036,$0040,$004C,$0053,$0059,$0062,$0049,$0075,$007E,$008A,$0092,$002E,$00A3,$00B0,$0025,$00C4,$00CB,$00D8,$0049,$00EB,$00F4,$00FF,$0107,$010E,$0117,$0122,$004C
$0007,$0012,$001E,$0022,$002B,$002F,$0041,$004D,$0049,$0049,$0063,$006D,$0071,$007F,$008B,$008F,$009D,$00A6,$00B1,$00BB,$0049,$0049,$00D9,$00E4,$00E8,$00A9,$0049,$0049,$010B,$0118,$0123,$012B
$0008,$0013,$001F,$0029,$002C,$0037,$0042,$004E,$0051,$005A,$0064,$006E,$0072,$0080,$008C,$0095,$009E,$00A7,$00B2,$00BC,$00C5,$00CE,$00DA,$00E5,$00E9,$00F5,$0100,$0108,$010F,$0119,$0124,$012C
$0009,$0014,$0020,$002A,$002D,$0038,$0043,$004F,$0052,$005B,$0065,$006F,$0073,$0081,$008D,$0096,$009F,$00A8,$00B3,$00BD,$00C6,$00CF,$00DB,$00E6,$00EC,$00F6,$0101,$0109,$010D,$011A,$0125,$012D
$0003,$0015,$0021,$0028,$002E,$0032,$0044,$0050,$0053,$0056,$0066,$0070,$0076,$0082,$008E,$0092,$0049,$0049,$00B4,$00BE,$00C7,$00D0,$00DC,$00E7,$00EB,$00F7,$0102,$010A,$010E,$00D4,$0049,$0049
En sachant que mes sprites font 32x32 et que chaque adresse &Hxxxx correspond à des Tiles de 8x8, on peut construire et déduire nos sprites !
Je vais développer un petit utilitaire en QB64 me permettant de me sortir le plan de chaque sprite qui me permettra de rendre plus aisé ce travail assez lourd ( n'est ce pas F.L ? ^^ )
Allez au boulot !
Invité- Invité
Re: [ TERMINE ] - Papi Commando Megadrive Edition !
oui je confirme, la taille n'est pas un problème, on peux faire des map très grandes. Sur sgdk on peux aussi intégrer du sprite en data dans le code, bien que cela n'a pas beaucoup d'intérêt, voir pas du tout, c'est même une perte de temps à mon humble avis. C'est juste utile quand on débute, mais je n'imagine pas un gros projet, avec tout les sprites en data ! Mais bon, l'essentiel, c'est de se sentir bien avec ses outils.TOUKO a écrit:Ce doit être ton basic qui limite car en théorie tu n'as pas de taille limite, puisque la map peut facilement être mise à jour à la volée .Cela sera différent forcément de la version PC, mais on peut faire un petit jeu bien fun en scrolling multi et des cartes de 640 x 640 avec pourquoi pas, un mode 2 joueurs "Duel" ou coopératif.
Re: [ TERMINE ] - Papi Commando Megadrive Edition !
purée, en quelques jours seulement tu jongles deja avec les tiles. impressionnant
si j'avais eu ton aide pour barbarian, j'aurais économié des semaines entières à gerer des data........tant pis avec moi c'est methode manouche inside
si j'avais eu ton aide pour barbarian, j'aurais économié des semaines entières à gerer des data........tant pis avec moi c'est methode manouche inside
Re: [ TERMINE ] - Papi Commando Megadrive Edition !
Manouche inside
Je pense que maintenant tu fais de beaux programmes bien structurés.
je me souviens de ton premier programme de Barbarian en QB64, c'etait effectivement de la programmation basic manouche ! Plein de lignes pour rien et des graphismes chargés en plein jeu
Je me moque pas, je charie un peu c'est tout
Mais ce qui etait dingue c'est que le resultat etait fabuleux ! Et que je n'aurai pas réussi à faire aussi bien !
Je pense que maintenant tu fais de beaux programmes bien structurés.
je me souviens de ton premier programme de Barbarian en QB64, c'etait effectivement de la programmation basic manouche ! Plein de lignes pour rien et des graphismes chargés en plein jeu
Je me moque pas, je charie un peu c'est tout
Mais ce qui etait dingue c'est que le resultat etait fabuleux ! Et que je n'aurai pas réussi à faire aussi bien !
_______________________________________________________
Re: [ TERMINE ] - Papi Commando Megadrive Edition !
Bonsoir,
J'ai bien avancé avec mon outil de création de Tile Map !!
Avec donc ce type de Tile :
J'arrive à sortir ma TileMap :
J'ai converti les adresses des Tiles en décimales ( car le TileData généré par Imagenesis a des labels en décimal et le TileMap qu'il génére es en Hex ... )
A chaque N° de Tile est associé les 8 offsets composant le tile de 8x8.
Il suffit donc de cherche le bon numéro et de les associer au bon numéro de sprite.
Ici les 3 premiers sprites sont les 3 premiers de la ligne horizontale.
Il me reste tous les autres, un simple algorithme à base de boucle et de STEP.
Il faut savoir que le TileMap généré par ImageGenesis nécessite une légére modification. Il faut mettre un "," à chaque fin d'adresse, et ce n'est pas le cas toutes les 32 adresses. Rien de bien méchant.
L'idéal serait de générer pour chaque N° de Tile les 8 offsets correspondant du TileData ... Mais hélas, il faudrait aussi modifier le fichier pour se faire ...
Mais cela me fera gagner pas mal de temps !
A bientôt.
EDIT :
Je viens de voir qu'avec un format de type SGTD, ça pourrait être jouable de tout sortir.
Il s'agit d'un fichier au format .INI, standard bien connu et très facile à utiliser avec de simple algorithme ( sous QB64, j'avais crée des procédures permettant de lire et utiliser des fichier .INI ! )
J'ai bien avancé avec mon outil de création de Tile Map !!
Avec donc ce type de Tile :
J'arrive à sortir ma TileMap :
J'ai converti les adresses des Tiles en décimales ( car le TileData généré par Imagenesis a des labels en décimal et le TileMap qu'il génére es en Hex ... )
A chaque N° de Tile est associé les 8 offsets composant le tile de 8x8.
Il suffit donc de cherche le bon numéro et de les associer au bon numéro de sprite.
Ici les 3 premiers sprites sont les 3 premiers de la ligne horizontale.
Il me reste tous les autres, un simple algorithme à base de boucle et de STEP.
Il faut savoir que le TileMap généré par ImageGenesis nécessite une légére modification. Il faut mettre un "," à chaque fin d'adresse, et ce n'est pas le cas toutes les 32 adresses. Rien de bien méchant.
L'idéal serait de générer pour chaque N° de Tile les 8 offsets correspondant du TileData ... Mais hélas, il faudrait aussi modifier le fichier pour se faire ...
Mais cela me fera gagner pas mal de temps !
A bientôt.
EDIT :
Je viens de voir qu'avec un format de type SGTD, ça pourrait être jouable de tout sortir.
Il s'agit d'un fichier au format .INI, standard bien connu et très facile à utiliser avec de simple algorithme ( sous QB64, j'avais crée des procédures permettant de lire et utiliser des fichier .INI ! )
Invité- Invité
Re: [ TERMINE ] - Papi Commando Megadrive Edition !
Bonjour à tous,
Ce matin j'ai bien avancé mon outil de conversion des Tile : TileToolMD !
Je peux maintenant sortir sous forme de fichier .txt, les sprites avec leurs adresses d'offset.
J'ai réussi à traiter le format SGTD ( .INI ), donc je pourrais générer en format .txt, les longues lignes Data des tables de sprites !!
Il faudra que je change le formatage des données pour ensuite les inclure dans le listing avec un petit copier / coller.
Voila une petite capture :
Et tout ça sur mon netbook T200 !
A bientôt !
Ce matin j'ai bien avancé mon outil de conversion des Tile : TileToolMD !
Je peux maintenant sortir sous forme de fichier .txt, les sprites avec leurs adresses d'offset.
J'ai réussi à traiter le format SGTD ( .INI ), donc je pourrais générer en format .txt, les longues lignes Data des tables de sprites !!
Il faudra que je change le formatage des données pour ensuite les inclure dans le listing avec un petit copier / coller.
Voila une petite capture :
Et tout ça sur mon netbook T200 !
A bientôt !
Invité- Invité
Re: [ TERMINE ] - Papi Commando Megadrive Edition !
Youpi !!Je viens de terminer mon utilitaire !!
Voici le fichier généré par TileToolMD :
Il suffit de faire un copier / coller et de l'intégrer dans le code source de BEX ( voire d'autres Kit ... )
Il faudra peut être changer le nom des Label correspondant aux sprites pour l'adapter à votre code.
Je vais maintenant mettre à contribution mon utilitaire avec mon projet.
Il y aura certainement des modifications, mais l'essentiel est fait !
Pour les curieux, voici le code source de TileToolMD :
A bientôt !
Voici le fichier généré par TileToolMD :
- Code:
Sprite1:
'Tile # 0
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $0000000
DATALONG $00000001
DATALONG $00001671
'Tile # 10
DATALONG $00016611
DATALONG $00016118
DATALONG $00001015
DATALONG $00000018
DATALONG $00000001
DATALONG $00000001
DATALONG $0000001B
DATALONG $0000185B
'Tile # 22
DATALONG $00001558
DATALONG $00015877
DATALONG $00185588
DATALONG $00118881
DATALONG $00001110
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
'Tile # 34
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000001
DATALONG $00000001
DATALONG $00000001
DATALONG $00000000
DATALONG $00000000
'Tile # 1
DATALONG $00000000
DATALONG $00000000
DATALONG $00001111
DATALONG $01233444
DATALONG $12324444
DATALONG $22344454
DATALONG $22344444
DATALONG $77766666
'Tile # 11
DATALONG $77777666
DATALONG $38999995
DATALONG $28933135
DATALONG $29555554
DATALONG $92223338
DATALONG $A3225555
DATALONG $A3225316
DATALONG $A3322333
'Tile # 23
DATALONG $CA322222
DATALONG $CBDA3322
DATALONG $1BCDAAAA
DATALONG $1BCDDDDD
DATALONG $111CCCCD
DATALONG $1B1AA111
DATALONG $1BCBBAA4
DATALONG $1CCDDDDD
'Tile # 35
DATALONG $11DDCCDD
DATALONG $11DDCCDD
DATALONG $011DDDDD
DATALONG $1111BBBB
DATALONG $1111A999
DATALONG $11111111
DATALONG $1111A99A
DATALONG $00001111
'Tile # 2
DATALONG $00000000
DATALONG $00000000
DATALONG $11111000
DATALONG $44443221
DATALONG $44544422
DATALONG $44444432
DATALONG $44444443
DATALONG $66666677
'Tile # 12
DATALONG $66677777
DATALONG $58999998
DATALONG $54831398
DATALONG $44855553
DATALONG $88333223
DATALONG $55555222
DATALONG $63135222
DATALONG $23332222
'Tile # 24
DATALONG $222222A9
DATALONG $22333ABB
DATALONG $AAAAACBB
DATALONG $DCCBBBBB
DATALONG $DDDBBB11
DATALONG $1111AA14
DATALONG $4EAABB18
DATALONG $CCBBBBB1
'Tile # 36
DATALONG $CCBBBBB1
DATALONG $BBBBBB10
DATALONG $B11BB111
DATALONG $11AAA111
DATALONG $AA111111
DATALONG $11111111
DATALONG $A1111111
DATALONG $10000000
'Tile # 3
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $10000000
DATALONG $21000000
DATALONG $21000000
DATALONG $71000000
'Tile # 13
DATALONG $71000000
DATALONG $38100000
DATALONG $25100000
DATALONG $38100000
DATALONG $31000000
DATALONG $A1000000
DATALONG $AB100000
DATALONG $ACCD1000
'Tile # 25
DATALONG $CDD81000
DATALONG $A5445100
DATALONG $1A855100
DATALONG $16645810
DATALONG $55665810
DATALONG $84566100
DATALONG $484A1100
DATALONG $11100000
'Tile # 37
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $11000000
DATALONG $11000000
DATALONG $11000000
DATALONG $10000000
DATALONG $00000000
Sprite2:
'Tile # 4
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000001
DATALONG $00000001
DATALONG $00000171
'Tile # 14
DATALONG $00001671
DATALONG $00016118
DATALONG $00001015
DATALONG $00000018
DATALONG $00000001
DATALONG $00000001
DATALONG $0000001B
DATALONG $0000185C
'Tile # 26
DATALONG $00001558
DATALONG $00018445
DATALONG $00015448
DATALONG $00166884
DATALONG $00168544
DATALONG $00014848
DATALONG $00014818
DATALONG $00000000
'Tile # 34
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000001
DATALONG $00000001
DATALONG $00000001
DATALONG $00000000
DATALONG $00000000
'Tile # 5
DATALONG $00000000
DATALONG $00000000
DATALONG $00001111
DATALONG $01233444
DATALONG $12324454
DATALONG $22344444
DATALONG $22354455
DATALONG $77766666
'Tile # 15
DATALONG $77777666
DATALONG $38999995
DATALONG $28933335
DATALONG $29522124
DATALONG $92233338
DATALONG $A3251555
DATALONG $A3225313
DATALONG $A3322333
'Tile # 27
DATALONG $CA322222
DATALONG $CBDA3322
DATALONG $1BCDAAAA
DATALONG $1BCDDDDD
DATALONG $111CCCCD
DATALONG $1B1AA111
DATALONG $BCCBBAAE
DATALONG $1DDDCCDC
'Tile # 38
DATALONG $1CDDDDDC
DATALONG $1DDDDCC1
DATALONG $01CCCCC1
DATALONG $111AAA11
DATALONG $111AAA11
DATALONG $1199AA11
DATALONG $11111111
DATALONG $00000000
'Tile # 6
DATALONG $00000000
DATALONG $00000000
DATALONG $11111000
DATALONG $44443221
DATALONG $44444422
DATALONG $44444432
DATALONG $45544553
DATALONG $66666677
'Tile # 16
DATALONG $66677777
DATALONG $58999998
DATALONG $54833398
DATALONG $44812253
DATALONG $88333333
DATALONG $55551522
DATALONG $66135222
DATALONG $23332222
'Tile # 28
DATALONG $22222223
DATALONG $22333AAB
DATALONG $AAAAACDB
DATALONG $DCCDDCCB
DATALONG $DDDDCC11
DATALONG $1111AA1B
DATALONG $4EAABBCC
DATALONG $CDDDDCCD
'Tile # 39
DATALONG $CDDDDCCD
DATALONG $11CCDCCD
DATALONG $11CCCCC1
DATALONG $111AAA11
DATALONG $111AAA11
DATALONG $111AA991
DATALONG $11111111
DATALONG $00000000
'Tile # 3
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $10000000
DATALONG $21000000
DATALONG $21000000
DATALONG $71000000
'Tile # 17
DATALONG $71000000
DATALONG $38100000
DATALONG $25100000
DATALONG $38100000
DATALONG $31000000
DATALONG $A1000000
DATALONG $AB100000
DATALONG $AC881000
'Tile # 29
DATALONG $A4551000
DATALONG $C5448100
DATALONG $18445100
DATALONG $18886610
DATALONG $14558810
DATALONG $18484100
DATALONG $B8184100
DATALONG $10000000
'Tile # 40
DATALONG $10000000
DATALONG $10000000
DATALONG $00000000
DATALONG $11000000
DATALONG $11000000
DATALONG $11000000
DATALONG $10000000
DATALONG $00000000
Sprite3:
'Tile # 7
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000001
DATALONG $00000001
DATALONG $00000177
'Tile # 18
DATALONG $00001671
DATALONG $00001618
DATALONG $00000115
DATALONG $00000018
DATALONG $00000001
DATALONG $00000001
DATALONG $0000001B
DATALONG $00001DCC
'Tile # 30
DATALONG $000018DD
DATALONG $00015445
DATALONG $0001558A
DATALONG $00185466
DATALONG $00185665
DATALONG $00016654
DATALONG $00011A48
DATALONG $00000011
'Tile # 34
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000001
DATALONG $00000001
DATALONG $00000001
DATALONG $00000000
DATALONG $00000000
'Tile # 8
DATALONG $00000000
DATALONG $00000000
DATALONG $00001111
DATALONG $01223444
DATALONG $12244444
DATALONG $22344454
DATALONG $23444444
DATALONG $77766666
'Tile # 19
DATALONG $77777666
DATALONG $38999998
DATALONG $28931384
DATALONG $33555584
DATALONG $33223338
DATALONG $A2222555
DATALONG $A2222513
DATALONG $A2222333
'Tile # 31
DATALONG $C9A22222
DATALONG $ABBA3332
DATALONG $1BBCAAAA
DATALONG $1BBBBBCC
DATALONG $511BBBDD
DATALONG $841AA111
DATALONG $481BBAAE
DATALONG $11BBBBBC
'Tile # 41
DATALONG $01BBBBBC
DATALONG $001BBBBB
DATALONG $0111BB11
DATALONG $1111AAA1
DATALONG $1111111A
DATALONG $11111111
DATALONG $11111111
DATALONG $00000000
'Tile # 9
DATALONG $00000000
DATALONG $00000000
DATALONG $11111000
DATALONG $44443321
DATALONG $44444232
DATALONG $44444432
DATALONG $44444432
DATALONG $66666677
'Tile # 20
DATALONG $66677777
DATALONG $55999958
DATALONG $55313358
DATALONG $44555559
DATALONG $88333222
DATALONG $55552223
DATALONG $63152223
DATALONG $23332233
'Tile # 32
DATALONG $2222223A
DATALONG $22233ADB
DATALONG $AAAAADCB
DATALONG $DDDDDDCB
DATALONG $DDCCCC11
DATALONG $1111AA1B
DATALONG $44AABBCB
DATALONG $CDDDDDCC
'Tile # 42
DATALONG $CDDCCDD1
DATALONG $BDDCCDD1
DATALONG $BDDDDD11
DATALONG $1BBBB111
DATALONG $A999A111
DATALONG $11111111
DATALONG $AA99A111
DATALONG $11111000
'Tile # 3
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $10000000
DATALONG $21000000
DATALONG $21000000
DATALONG $71000000
'Tile # 21
DATALONG $71000000
DATALONG $38100000
DATALONG $25100000
DATALONG $28100000
DATALONG $91000000
DATALONG $A1000000
DATALONG $AB100000
DATALONG $AB581000
'Tile # 33
DATALONG $C8551000
DATALONG $C7785100
DATALONG $18855810
DATALONG $11858110
DATALONG $10111000
DATALONG $10000000
DATALONG $10000000
DATALONG $10000000
'Tile # 40
DATALONG $10000000
DATALONG $10000000
DATALONG $00000000
DATALONG $11000000
DATALONG $11000000
DATALONG $11000000
DATALONG $10000000
DATALONG $00000000
Sprite4:
'Tile # 43
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000001
DATALONG $00000015
DATALONG $00000177
DATALONG $00000177
DATALONG $00000015
'Tile # 47
DATALONG $00000019
DATALONG $00000012
DATALONG $00000015
DATALONG $00000013
DATALONG $00000013
DATALONG $00000013
DATALONG $00000013
DATALONG $00000013
'Tile # 57
DATALONG $00000001
DATALONG $00000000
DATALONG $00000001
DATALONG $00000001
DATALONG $00000001
DATALONG $0000000A
DATALONG $00000001
DATALONG $00000000
'Tile # 69
DATALONG $00000000
DATALONG $00000001
DATALONG $00000001
DATALONG $00000001
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
'Tile # 44
DATALONG $00000000
DATALONG $00111111
DATALONG $11854444
DATALONG $54444444
DATALONG $54445444
DATALONG $66666666
DATALONG $66666666
DATALONG $44855555
'Tile # 48
DATALONG $945E9998
DATALONG $14451225
DATALONG $54455555
DATALONG $22222222
DATALONG $55555555
DATALONG $55555555
DATALONG $32233322
DATALONG $22222222
'Tile # 58
DATALONG $32222222
DATALONG $1CAAAAAA
DATALONG $CCDDDDDC
DATALONG $DDDDCCDC
DATALONG $DCCDDCCB
DATALONG $41111188
DATALONG $14EAA154
DATALONG $1CDDD145
'Tile # 70
DATALONG $1CCCBC11
DATALONG $CCCCCB11
DATALONG $1FCCCB11
DATALONG $AAA1F111
DATALONG $11111111
DATALONG $00000011
DATALONG $00000000
DATALONG $00000000
'Tile # 45
DATALONG $00000000
DATALONG $11110000
DATALONG $45321100
DATALONG $44432221
DATALONG $54432231
DATALONG $77717177
DATALONG $67716177
DATALONG $55816122
'Tile # 49
DATALONG $85316132
DATALONG $55955123
DATALONG $55885231
DATALONG $32238911
DATALONG $22233110
DATALONG $22222310
DATALONG $22233100
DATALONG $22AACCC1
'Tile # 59
DATALONG $33ACCCC1
DATALONG $ACC45448
DATALONG $CB545881
DATALONG $BF755448
DATALONG $C7776548
DATALONG $444666A1
DATALONG $44466611
DATALONG $58A11BB1
'Tile # 71
DATALONG $111CCBBF
DATALONG $FBDDDDCB
DATALONG $1BBDDCCF
DATALONG $111A9A11
DATALONG $1111A11A
DATALONG $111A9991
DATALONG $00111111
DATALONG $00000000
'Tile # 46
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $10000000
DATALONG $10000000
DATALONG $10000000
'Tile # 50
DATALONG $10000000
DATALONG $10000000
DATALONG $10000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
'Tile # 60
DATALONG $10000000
DATALONG $10000000
DATALONG $10000000
DATALONG $10000000
DATALONG $10000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
'Tile # 72
DATALONG $10000000
DATALONG $10000000
DATALONG $11100000
DATALONG $11110000
DATALONG $A1110000
DATALONG $11100000
DATALONG $11000000
DATALONG $00000000
Sprite5:
'Tile # 43
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000001
DATALONG $00000015
DATALONG $00000177
DATALONG $00000177
DATALONG $00000015
'Tile # 51
DATALONG $00000019
DATALONG $00000012
DATALONG $00000012
DATALONG $00000013
DATALONG $00000013
DATALONG $00000013
DATALONG $00000013
DATALONG $00000013
'Tile # 61
DATALONG $00000001
DATALONG $00000001
DATALONG $00000001
DATALONG $00000011
DATALONG $000001A1
DATALONG $00000181
DATALONG $00000181
DATALONG $00000000
'Tile # 73
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
'Tile # 44
DATALONG $00000000
DATALONG $00111111
DATALONG $11854444
DATALONG $54444444
DATALONG $54445444
DATALONG $66666666
DATALONG $66666666
DATALONG $44855555
'Tile # 52
DATALONG $945E9998
DATALONG $24452225
DATALONG $14451225
DATALONG $22222222
DATALONG $55555553
DATALONG $56555552
DATALONG $33333322
DATALONG $22222222
'Tile # 62
DATALONG $32222222
DATALONG $AAAAAAAA
DATALONG $CCCCDCCD
DATALONG $DDDCCDDD
DATALONG $11CCCDCC
DATALONG $114EAAAA
DATALONG $CD111111
DATALONG $1CCBBBDD
'Tile # 74
DATALONG $01CC1BDD
DATALONG $001111CC
DATALONG $0011111B
DATALONG $01AAAA11
DATALONG $01111111
DATALONG $0011111A
DATALONG $00000111
DATALONG $00000000
'Tile # 45
DATALONG $00000000
DATALONG $11110000
DATALONG $45321100
DATALONG $44432221
DATALONG $54432231
DATALONG $77717177
DATALONG $67716177
DATALONG $55816122
'Tile # 53
DATALONG $85316122
DATALONG $55981523
DATALONG $55885231
DATALONG $32238910
DATALONG $22233110
DATALONG $22222310
DATALONG $22233100
DATALONG $22ACCCC1
'Tile # 63
DATALONG $33CC4451
DATALONG $AB855588
DATALONG $DBA88845
DATALONG $BBF77854
DATALONG $B1A77665
DATALONG $88444666
DATALONG $84844461
DATALONG $14844810
'Tile # 75
DATALONG $D1484110
DATALONG $DDDDCC10
DATALONG $DDCCC110
DATALONG $A9AA1111
DATALONG $11111111
DATALONG $AAA11111
DATALONG $11111111
DATALONG $00000000
'Tile # 46
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $10000000
DATALONG $10000000
DATALONG $10000000
'Tile # 54
DATALONG $10000000
DATALONG $10000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
'Tile # 64
DATALONG $00000000
DATALONG $10000000
DATALONG $81000000
DATALONG $81000000
DATALONG $81000000
DATALONG $10000000
DATALONG $00000000
DATALONG $00000000
'Tile # 76
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $10000000
DATALONG $10000000
DATALONG $10000000
DATALONG $00000000
DATALONG $00000000
Sprite6:
'Tile # 43
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000001
DATALONG $00000015
DATALONG $00000177
DATALONG $00000177
DATALONG $00000015
'Tile # 47
DATALONG $00000019
DATALONG $00000012
DATALONG $00000015
DATALONG $00000013
DATALONG $00000013
DATALONG $00000013
DATALONG $00000013
DATALONG $00000013
'Tile # 65
DATALONG $00000001
DATALONG $00000001
DATALONG $00000011
DATALONG $00000111
DATALONG $00001A11
DATALONG $0018A811
DATALONG $00188AA1
DATALONG $0001AAA1
'Tile # 77
DATALONG $00001110
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000001
DATALONG $00000000
DATALONG $00000000
'Tile # 44
DATALONG $00000000
DATALONG $00111111
DATALONG $11854444
DATALONG $54444444
DATALONG $54445444
DATALONG $66666666
DATALONG $66666666
DATALONG $44855555
'Tile # 55
DATALONG $945E9998
DATALONG $14452125
DATALONG $54455555
DATALONG $22222222
DATALONG $55555552
DATALONG $55655552
DATALONG $32233322
DATALONG $22222222
'Tile # 66
DATALONG $22222222
DATALONG $1CAAAAAA
DATALONG $CCDDDDDD
DATALONG $CDDCCCDD
DATALONG $11DDDDCD
DATALONG $144EAAAA
DATALONG $F1111111
DATALONG $FCCDCCDC
'Tile # 78
DATALONG $1CCCDDCC
DATALONG $1CDDCCCB
DATALONG $1BBBBBB1
DATALONG $1A9A1FF1
DATALONG $11111111
DATALONG $AAAA1111
DATALONG $11111111
DATALONG $00000000
'Tile # 45
DATALONG $00000000
DATALONG $11110000
DATALONG $45321100
DATALONG $44432221
DATALONG $54432231
DATALONG $77717177
DATALONG $67716177
DATALONG $55816122
'Tile # 56
DATALONG $85316132
DATALONG $55161523
DATALONG $55815231
DATALONG $32238911
DATALONG $22233110
DATALONG $22222310
DATALONG $22233100
DATALONG $22AACCC1
'Tile # 67
DATALONG $33ACCCC1
DATALONG $ADBC5448
DATALONG $DDC85558
DATALONG $DBBFA854
DATALONG $BBBFA885
DATALONG $AB111776
DATALONG $11111A85
DATALONG $CBB11544
'Tile # 79
DATALONG $BB1B1848
DATALONG $111111AA
DATALONG $11111111
DATALONG $11111111
DATALONG $11111111
DATALONG $11111111
DATALONG $11111111
DATALONG $00000000
'Tile # 46
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $10000000
DATALONG $10000000
DATALONG $10000000
'Tile # 50
DATALONG $10000000
DATALONG $10000000
DATALONG $10000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
'Tile # 68
DATALONG $10000000
DATALONG $A1000000
DATALONG $81000000
DATALONG $4A100000
DATALONG $48100000
DATALONG $66600000
DATALONG $66610000
DATALONG $44410000
'Tile # 80
DATALONG $48410000
DATALONG $A1000000
DATALONG $10000000
DATALONG $11100000
DATALONG $11100000
DATALONG $11100000
DATALONG $11000000
DATALONG $00000000
Sprite7:
'Tile # 73
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
'Tile # 73
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
'Tile # 73
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
'Tile # 103
DATALONG $00000000
DATALONG $00000000
DATALONG $00000011
DATALONG $00000111
DATALONG $00000111
DATALONG $00000011
DATALONG $00000001
DATALONG $00000000
'Tile # 81
DATALONG $00000000
DATALONG $00000111
DATALONG $00011235
DATALONG $01222344
DATALONG $01322344
DATALONG $17717177
DATALONG $17716177
DATALONG $12216185
'Tile # 84
DATALONG $12316135
DATALONG $13215595
DATALONG $11325885
DATALONG $01198322
DATALONG $00113322
DATALONG $00132222
DATALONG $00013322
DATALONG $01CCCAA2
'Tile # 92
DATALONG $11CCCCA3
DATALONG $184454CC
DATALONG $1188545B
DATALONG $1844557F
DATALONG $18456777
DATALONG $01A66644
DATALONG $01166644
DATALONG $01BB11A8
'Tile # 104
DATALONG $1FBBCC11
DATALONG $1BCDDDDB
DATALONG $1FCCDDBB
DATALONG $111A9A11
DATALONG $AA11A111
DATALONG $11999A11
DATALONG $11111110
DATALONG $00000000
'Tile # 82
DATALONG $00000000
DATALONG $11111110
DATALONG $44444581
DATALONG $44444444
DATALONG $54445444
DATALONG $76666666
DATALONG $66666666
DATALONG $55555584
'Tile # 85
DATALONG $88999E54
DATALONG $55221544
DATALONG $55555544
DATALONG $32222222
DATALONG $25555555
DATALONG $25555555
DATALONG $22233322
DATALONG $22222222
'Tile # 93
DATALONG $32222222
DATALONG $AAAAAAAC
DATALONG $CCDDDDDC
DATALONG $BCDCCDDD
DATALONG $CBCCDDCC
DATALONG $48811111
DATALONG $4451AAE4
DATALONG $5541DDDC
'Tile # 105
DATALONG $111CBCCC
DATALONG $F11BCCCC
DATALONG $111BCCCF
DATALONG $1111F1AA
DATALONG $11111111
DATALONG $11100000
DATALONG $00000000
DATALONG $00000000
'Tile # 83
DATALONG $00000000
DATALONG $00000000
DATALONG $10000000
DATALONG $51000000
DATALONG $55100000
DATALONG $67710000
DATALONG $67710000
DATALONG $45100000
'Tile # 86
DATALONG $99100000
DATALONG $12100000
DATALONG $55100000
DATALONG $23100000
DATALONG $53100000
DATALONG $53100000
DATALONG $33100000
DATALONG $23100000
'Tile # 94
DATALONG $21000000
DATALONG $10000000
DATALONG $C1000000
DATALONG $D1000000
DATALONG $D1000000
DATALONG $4A000000
DATALONG $11000000
DATALONG $10000000
'Tile # 106
DATALONG $10000000
DATALONG $C1000000
DATALONG $11000000
DATALONG $A1000000
DATALONG $10000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
Sprite8:
'Tile # 73
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
'Tile # 73
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
'Tile # 95
DATALONG $00000000
DATALONG $00000000
DATALONG $00000001
DATALONG $00000001
DATALONG $00000001
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
'Tile # 73
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
'Tile # 81
DATALONG $00000000
DATALONG $00000111
DATALONG $00011235
DATALONG $01222344
DATALONG $01322344
DATALONG $17717177
DATALONG $17716177
DATALONG $12216185
'Tile # 87
DATALONG $12216135
DATALONG $13251895
DATALONG $01325885
DATALONG $00198322
DATALONG $00113322
DATALONG $00132222
DATALONG $00013322
DATALONG $01CCCCA2
'Tile # 96
DATALONG $01544CC3
DATALONG $1885558B
DATALONG $854888AB
DATALONG $845877FB
DATALONG $856677A1
DATALONG $16664448
DATALONG $01644484
DATALONG $00184484
'Tile # 107
DATALONG $00114841
DATALONG $001CCDDD
DATALONG $0011CCCD
DATALONG $11111AA9
DATALONG $11111111
DATALONG $111111AA
DATALONG $01111111
DATALONG $00000000
'Tile # 82
DATALONG $00000000
DATALONG $11111110
DATALONG $44444581
DATALONG $44444444
DATALONG $54445444
DATALONG $76666666
DATALONG $66666666
DATALONG $55555584
'Tile # 88
DATALONG $88999E54
DATALONG $55222544
DATALONG $55221544
DATALONG $32222222
DATALONG $23555555
DATALONG $22555556
DATALONG $22233333
DATALONG $22222222
'Tile # 97
DATALONG $32222222
DATALONG $AAAAAAAA
DATALONG $DDCCDCCC
DATALONG $BDDDCCDD
DATALONG $BCCDCCC1
DATALONG $8AAAAE41
DATALONG $8111111D
DATALONG $1DDBBBCC
'Tile # 108
DATALONG $DDDB1CC1
DATALONG $DCC11110
DATALONG $DB111110
DATALONG $A11AAAA1
DATALONG $11111111
DATALONG $AA111110
DATALONG $11110000
DATALONG $00000000
'Tile # 83
DATALONG $00000000
DATALONG $00000000
DATALONG $10000000
DATALONG $51000000
DATALONG $55100000
DATALONG $67710000
DATALONG $67710000
DATALONG $45100000
'Tile # 89
DATALONG $99100000
DATALONG $22100000
DATALONG $12100000
DATALONG $23100000
DATALONG $53100000
DATALONG $53100000
DATALONG $33100000
DATALONG $33100000
'Tile # 98
DATALONG $31000000
DATALONG $A1000000
DATALONG $C1000000
DATALONG $D1100000
DATALONG $11A10000
DATALONG $11810000
DATALONG $C1810000
DATALONG $10000000
'Tile # 73
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
DATALONG $00000000
Il suffit de faire un copier / coller et de l'intégrer dans le code source de BEX ( voire d'autres Kit ... )
Il faudra peut être changer le nom des Label correspondant aux sprites pour l'adapter à votre code.
Je vais maintenant mettre à contribution mon utilitaire avec mon projet.
Il y aura certainement des modifications, mais l'essentiel est fait !
Pour les curieux, voici le code source de TileToolMD :
- Code:
'===================================================
'= =
'= Tile Tool MD =
'= =
'= (c) 2015 Vetea =
'= =
'===================================================
'$checking :off
'Init Variables
DEFINT A-Z
DIM SHARED TileX$, TileY$, Contenu$, TextF$, TextT$, TextX$, TextY$
DIM SHARED Lo1, A, B, Tx, I, J, NombreTile AS INTEGER
DIM SHARED TileX, TileY, CalX, CalY AS INTEGER
DIM SHARED Tile$(5000), Tx$(500), Tx1$(500), Tx2$(500), Tx3$(500)
DIM SHARED Tx1(500), Tx(500), Tx2(500), Tx3(500) AS INTEGER
DIM SHARED Rapport$, DataTile$
'///// Init ecran
_TITLE "Tile Tool MD (c) Vetea 2015"
SCREEN 0
COLOR 14, 1
CLS
'///// Init de la taille de notre sprite de base
Debut:
INPUT "Entrez la taille X de votre sprite (multiple de 8) "; TileX$
IF VAL(TileX$) = 0 OR (VAL(TileX$) MOD 8 <> 0) THEN
CLS
GOTO Debut:
END IF
CLS
Debut1:
INPUT "Entrez la taille Y de votre sprite (multiple de 8) "; TileY$
IF VAL(TileY$) = 0 OR (VAL(TileY$) MOD 8 <> 0) THEN
CLS
GOTO Debut1:
END IF
'Param‚trage Tile
TileX = VAL(TileX$)
TileY = VAL(TileY$)
CalX = TileX / 8
CalY = TileY / 8
'Chargement Tile Map
LoadTile
CLS
'Traitement des TileMap
J = 0
FOR A = 0 TO 7
FOR I = 1 + A * 4 TO NombreTile STEP 32
J = J + 1
Tx$(J) = "&H" + Tile$(I)
Tx1$(J) = "&H" + Tile$(I + 1)
Tx2$(J) = "&H" + Tile$(I + 2)
Tx3$(J) = "&H" + Tile$(I + 3)
'conversion Hex / Dec
Tx(J) = VAL(Tx$(J))
Tx1(J) = VAL(Tx1$(J))
Tx2(J) = VAL(Tx2$(J))
Tx3(J) = VAL(Tx3$(J))
NEXT
NEXT
J = 0
B = 0
A = 0
FOR I = 1 TO 8 * CalX
J = J + 1
IF J <= 1 AND B = 0 THEN
B = B + 1
PRINT
PRINT "Traitement Sprite Nø" + STR$(B)
DataTile$ = DataTile$ + CHR$(13)
DataTile$ = DataTile$ + "Sprite" + LTRIM$(STR$(B)) + ":"
DataTile$ = DataTile$ + CHR$(13)
J = 0
END IF
IF J >= 4 THEN
B = B + 1
PRINT
PRINT "Traitement Sprite Nø" + STR$(B)
DataTile$ = DataTile$ + CHR$(13)
DataTile$ = DataTile$ + "Sprite" + LTRIM$(STR$(B)) + ":"
DataTile$ = DataTile$ + CHR$(13)
J = 0
END IF
' Rapport$ = "Tile Nø" + STR$(Tx(I)) + CHR$(13) + "Tile Nø" + STR$(Tx1(I)) + CHR$(13) + "Tile Nø" + STR$(Tx2(I)) + CHR$(13) + "Tile Nø" + STR$(Tx3(I))
Rapport$ = Rapport$ + "'Tile #" + STR$(Tx(I)) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx(I))), "_" + LTRIM$(STR$(0)))) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx(I))), "_" + LTRIM$(STR$(1)))) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx(I))), "_" + LTRIM$(STR$(2)))) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx(I))), "_" + LTRIM$(STR$(3)))) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx(I))), "_" + LTRIM$(STR$(4)))) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx(I))), "_" + LTRIM$(STR$(5)))) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx(I))), "_" + LTRIM$(STR$(6)))) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx(I))), "_" + LTRIM$(STR$(7)))) + CHR$(13)
Rapport$ = Rapport$ + CHR$(13)
Rapport$ = Rapport$ + "'Tile #" + STR$(Tx1(I)) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx1(I))), "_" + LTRIM$(STR$(0)))) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx1(I))), "_" + LTRIM$(STR$(1)))) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx1(I))), "_" + LTRIM$(STR$(2)))) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx1(I))), "_" + LTRIM$(STR$(3)))) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx1(I))), "_" + LTRIM$(STR$(4)))) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx1(I))), "_" + LTRIM$(STR$(5)))) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx1(I))), "_" + LTRIM$(STR$(6)))) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx1(I))), "_" + LTRIM$(STR$(7)))) + CHR$(13)
Rapport$ = Rapport$ + CHR$(13)
Rapport$ = Rapport$ + "'Tile #" + STR$(Tx2(I)) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx2(I))), "_" + LTRIM$(STR$(0)))) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx2(I))), "_" + LTRIM$(STR$(1)))) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx2(I))), "_" + LTRIM$(STR$(2)))) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx2(I))), "_" + LTRIM$(STR$(3)))) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx2(I))), "_" + LTRIM$(STR$(4)))) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx2(I))), "_" + LTRIM$(STR$(5)))) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx2(I))), "_" + LTRIM$(STR$(6)))) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx2(I))), "_" + LTRIM$(STR$(7)))) + CHR$(13)
Rapport$ = Rapport$ + CHR$(13)
Rapport$ = Rapport$ + "'Tile #" + STR$(Tx3(I)) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx3(I))), "_" + LTRIM$(STR$(0)))) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx3(I))), "_" + LTRIM$(STR$(1)))) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx3(I))), "_" + LTRIM$(STR$(2)))) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx3(I))), "_" + LTRIM$(STR$(3)))) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx3(I))), "_" + LTRIM$(STR$(4)))) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx3(I))), "_" + LTRIM$(STR$(5)))) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx3(I))), "_" + LTRIM$(STR$(6)))) + CHR$(13)
Rapport$ = Rapport$ + "DATALONG " + "$" + (ReadINI$("TileToolMD\TiLePlan.txt", "tiledata" + LTRIM$(STR$(Tx3(I))), "_" + LTRIM$(STR$(7)))) + CHR$(13)
Rapport$ = Rapport$ + CHR$(13)
DataTile$ = DataTile$ + ((Rapport$ + CHR$(13)))
PRINT "Traitement Tile en cours ... Ok !!"
Rapport$ = ""
NEXT
CLS
PRINT DataTile$
OPEN ("TileToolMD\DataTile.DAT") FOR OUTPUT AS #1
PRINT #1, DataTile$
CLOSE #1
'PRINT NombreTile
'PRINT TilePlan$(10, 2)
'///// Chargement du Tile Map
SUB LoadTile
'Chargement Base
OPEN ("TileToolMD\tilemap.txt") FOR INPUT AS #1
DO UNTIL EOF(1)
LINE INPUT #1, Contenu$
LOOP
CLOSE #1
'///// Traitement donn‚es : Param‚trage du nombre de donn‚es & adressage /////
FOR I = 1 TO LEN(Contenu$)
Lo1 = Lo1 + 1
TextF$ = MID$(Contenu$, I, 1)
IF TextF$ = "$" THEN
NombreTile = NombreTile + 1
WHILE TextT$ <> ","
B = B + 1
TextT$ = MID$(Contenu$, (Lo1) + B, 1)
IF TextT$ <> "," THEN
TextY$ = TextY$ + TextT$
Tile$(NombreTile) = TextY$
END IF
WEND
END IF
Doy$ = "": TextT$ = "": B = 0: A = 0: TextX$ = "": TextY$ = ""
NEXT
END SUB
'///// Fonction pour lire des fichier INI /////
FUNCTION ReadINI$ (FileName$, Section$, Key$)
'Let's read the file
FICHIER = FREEFILE
OPEN FileName$ FOR INPUT AS #FICHIER
FileExist = LOF(FICHIER)
IF FileExist THEN 'Fichier trouv‚ !! Alors lire les diff‚rentes donn‚es
Section$ = UCASE$(Section$)
Key$ = UCASE$(Key$)
'Algo de traitement
DO UNTIL EOF(FICHIER)
LINE INPUT #FICHIER, Text$
Text$ = LTRIM$(Text$)
IF Section THEN
'Allons cherche la cl‚ dans la section
IF LEFT$(UCASE$(Text$), LEN(Key$) + 1) = Key$ + "=" THEN
ReadINI = MID$(Text$, LEN(Key$) + 2) 'Cl‚ trouv‚e !!! La function prendra sa valeur.
EXIT DO 'Travail effectu‚, on sort de la boucle.
END IF
END IF
IF LEFT$(Text$, 1) = "[" THEN
IF Section THEN
EXIT DO
ELSE
Section = INSTR(UCASE$(Text$), "[" + Section$ + "]")
END IF
END IF
LOOP
ELSE
EXIT FUNCTION
END IF
CLOSE #FICHIER
END FUNCTION
A bientôt !
Invité- Invité
Re: [ TERMINE ] - Papi Commando Megadrive Edition !
Nouvelle démo Disponible !
Bonsoir à tous,
Dans cette nouvelle démo, vous découvrirez quelques nouveautés :
- Gestion de toutes les animations transitoires de notre héros.
- Optimisation du code.
- Création d'un nouvelle outil, Tile Tool MD, permettant de générer rapidement des sprites avec des Tiles complexes.
Notre Papi en action !
En quelques heures, j'ai réussi à créer une petite démo qui nécessiterai énormément de travail si conversion en Assembleur. C'est étonnant de rapidité en terme de productivité, surtout grâce à l'apport de mon petit outil maison !
La Map ne sera plus affiché de la sorte, j'utiliserai sans doute une technique "puzzle" plus traditionnelle, on verra par la suite.
Il faudra sans doute, que je développe d'autres outils pour me faciliter le travail ... C'est un schéma classique ! :)
La Rom :
https://dl.dropboxusercontent.com/u/108143465/Papi%20MD%20Demo.bin
A utiliser avec votre émulateur ou Console préférée !!
Bon test et à bientôt !
Invité- Invité
Page 1 sur 34 • 1, 2, 3 ... 17 ... 34
Sujets similaires
» [ TERMINE ] - Papi Commando Megadrive Edition !
» Papi Commando Remix - Megadrive Edition
» Papi Commando - Arcade edition !
» [VDS] Papi commando megadrive :)
» Papi Commando - RAMPAGE ! *Megadrive*
» Papi Commando Remix - Megadrive Edition
» Papi Commando - Arcade edition !
» [VDS] Papi commando megadrive :)
» Papi Commando - RAMPAGE ! *Megadrive*
Page 1 sur 34
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum