mirror of
https://github.com/antoinevignau/source.git
synced 2024-06-04 20:29:28 +00:00
Working on TAD
This commit is contained in:
parent
3c1edce448
commit
173c3832f5
BIN
genesys/.DS_Store
vendored
BIN
genesys/.DS_Store
vendored
Binary file not shown.
BIN
picknpile/.DS_Store
vendored
BIN
picknpile/.DS_Store
vendored
Binary file not shown.
BIN
swashbuckler/.DS_Store
vendored
BIN
swashbuckler/.DS_Store
vendored
Binary file not shown.
BIN
swordofsodan/.DS_Store
vendored
BIN
swordofsodan/.DS_Store
vendored
Binary file not shown.
|
@ -28,16 +28,12 @@ PROCEDURE main
|
||||||
fadein_mid
|
fadein_mid
|
||||||
REPEAT
|
REPEAT
|
||||||
mot$=@clic_mot$(ecran$) !ON ATTEND QU'ON CLIQUE QUELQUE PART
|
mot$=@clic_mot$(ecran$) !ON ATTEND QU'ON CLIQUE QUELQUE PART
|
||||||
IF suite_forcee!=FALSE !SI ON NE SORT PAS PAR UN "LOAD" OU UN
|
IF suite_forcee!=FALSE !SI ON NE SORT PAS PAR UN "LOAD" OU UN "ESC"
|
||||||
"ESC"
|
scene_actuelle|=@aiguillage(scene_actuelle|,mot$) !ON FAIT CLIGNOTER LE MOT (S'IL CORRESPOND A QUELQUE CHOSE)
|
||||||
scene_actuelle|=@aiguillage(scene_actuelle|,mot$) !ON FAIT CLIGNOTER
|
|
||||||
LE MOT (S'IL CORRESPOND A QUELQUE CHOSE)
|
|
||||||
ENDIF
|
ENDIF
|
||||||
UNTIL deplacement!=TRUE !ON BOUCLE JUSQU'A CE QU'ON CHANGE DE
|
UNTIL deplacement!=TRUE !ON BOUCLE JUSQU'A CE QU'ON CHANGE DE SCENE
|
||||||
SCENE
|
|
||||||
ENDIF
|
ENDIF
|
||||||
UNTIL escape!=TRUE !ON CHANGE D'AVENTURE SI ON TAPE "ESCA
|
UNTIL escape!=TRUE !ON CHANGE D'AVENTURE SI ON TAPE "ESCAPE"
|
||||||
PE"
|
|
||||||
fin_aventure
|
fin_aventure
|
||||||
LOOP
|
LOOP
|
||||||
RETURN
|
RETURN
|
||||||
|
@ -48,8 +44,7 @@ PROCEDURE generique
|
||||||
cprint("&",9,3)
|
cprint("&",9,3)
|
||||||
cprint("Sylvie Sarrat, Faustino Ribeiro, Laurent Cotton",10,3)
|
cprint("Sylvie Sarrat, Faustino Ribeiro, Laurent Cotton",10,3)
|
||||||
cprint("programmation: Pascal Piat noiz': Erik Ecqier",12,3)
|
cprint("programmation: Pascal Piat noiz': Erik Ecqier",12,3)
|
||||||
cprint("Les logiciels d'en face 1992. Reproduction, location et revente interd
|
cprint("Les logiciels d'en face 1992. Reproduction, location et revente interdites",18,3)
|
||||||
ites",18,3)
|
|
||||||
'
|
'
|
||||||
IF stf! !SI C'EST UN STF
|
IF stf! !SI C'EST UN STF
|
||||||
f=FRE()
|
f=FRE()
|
||||||
|
@ -294,15 +289,12 @@ PROCEDURE initialisation_tableaux
|
||||||
LOCAL i%,j%,scene|,fichier$,espace%,phrase$,longueur%,index%,pointeur%
|
LOCAL i%,j%,scene|,fichier$,espace%,phrase$,longueur%,index%,pointeur%
|
||||||
DIM fonction_mot$(nombre_scenes|,max_mots|)!MOTS QUI VONT "REAGIR"
|
DIM fonction_mot$(nombre_scenes|,max_mots|)!MOTS QUI VONT "REAGIR"
|
||||||
DIM aiguillage|(nombre_scenes|,max_mots|) !SCENE CORRESPONDANT AU MOT...
|
DIM aiguillage|(nombre_scenes|,max_mots|) !SCENE CORRESPONDANT AU MOT...
|
||||||
DIM condition&(nombre_scenes|,max_mots|) !SCENE DEVANT AVOIR ETE VUE (OU NON
|
DIM condition&(nombre_scenes|,max_mots|) !SCENE DEVANT AVOIR ETE VUE (OU NON SI NEGATIF)
|
||||||
SI NEGATIF)
|
|
||||||
DIM pointeur_mots|(nombre_scenes|) !NOMBRE DE MOTS POUR CHAQUE SCENE
|
DIM pointeur_mots|(nombre_scenes|) !NOMBRE DE MOTS POUR CHAQUE SCENE
|
||||||
DIM scene_visitee!(nombre_scenes|) !LE JOUEUR EST-IL PASSE PAR CETTE SCENE?
|
DIM scene_visitee!(nombre_scenes|) !LE JOUEUR EST-IL PASSE PAR CETTE SCENE?
|
||||||
DIM phrase$(nombre_scenes|,max_mots|) !PHRASE EXPLICATIVE A CHAQUE MOT CLIQUE
|
DIM phrase$(nombre_scenes|,max_mots|) !PHRASE EXPLICATIVE A CHAQUE MOT CLIQUE
|
||||||
DIM image_a_charger$(nombre_scenes|) !NOM DES FICHIERS IMAGE A CHARGER A CHA
|
DIM image_a_charger$(nombre_scenes|) !NOM DES FICHIERS IMAGE A CHARGER A CHAQUE SCENE
|
||||||
QUE SCENE
|
DIM rouge1|(nombre_scenes|),vert1|(nombre_scenes|),bleu1|(nombre_scenes|) !COMPOSANTE DE LA COULEUR DU FOND DU TEXTE
|
||||||
DIM rouge1|(nombre_scenes|),vert1|(nombre_scenes|),bleu1|(nombre_scenes|) !COM
|
|
||||||
POSANTE DE LA COULEUR DU FOND DU TEXTE
|
|
||||||
DIM rouge2|(nombre_scenes|),vert2|(nombre_scenes|),bleu2|(nombre_scenes|)
|
DIM rouge2|(nombre_scenes|),vert2|(nombre_scenes|),bleu2|(nombre_scenes|)
|
||||||
'
|
'
|
||||||
ARRAYFILL rouge1|(),4 !ON REMPLIT PAR DEFAUT LES COMPOSANTES
|
ARRAYFILL rouge1|(),4 !ON REMPLIT PAR DEFAUT LES COMPOSANTES
|
||||||
|
@ -349,8 +341,7 @@ PROCEDURE initialisation_tableaux
|
||||||
INC pointeur_mots|(scene|) !ET UN MOT EN PLUS!
|
INC pointeur_mots|(scene|) !ET UN MOT EN PLUS!
|
||||||
espace%=INSTR(ligne$," ",2) !ON REPERE LE CARACTERE ESPACE
|
espace%=INSTR(ligne$," ",2) !ON REPERE LE CARACTERE ESPACE
|
||||||
fonction_mot$(scene|,pointeur_mots|(scene|))=MID$(ligne$,2,espace%-2)
|
fonction_mot$(scene|,pointeur_mots|(scene|))=MID$(ligne$,2,espace%-2)
|
||||||
condition&(scene|,pointeur_mots|(scene|))=ASC(MID$(ligne$,espace%+2,1))*VA
|
condition&(scene|,pointeur_mots|(scene|))=ASC(MID$(ligne$,espace%+2,1))*VAL(MID$(ligne$,espace%+1,1)+"1")
|
||||||
L(MID$(ligne$,espace%+1,1)+"1")
|
|
||||||
aiguillage|(scene|,pointeur_mots|(scene|))=ASC(MID$(ligne$,espace%+3))
|
aiguillage|(scene|,pointeur_mots|(scene|))=ASC(MID$(ligne$,espace%+3))
|
||||||
CLR phrase$
|
CLR phrase$
|
||||||
phrase$=phrase$+MID$(ligne$,espace%+4)
|
phrase$=phrase$+MID$(ligne$,espace%+4)
|
||||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -1 +1 @@
|
||||||
ToutADisparu=Type(B3),AuxType(0000),VersionCreate(70),MinVersion(BE),Access(E3),FolderInfo1(000000000000000000000000000000000000),FolderInfo2(000000000000000000000000000000000000)
|
ToutADisparu=Type(00),AuxType(0000),VersionCreate(70),MinVersion(BE),Access(E3),FolderInfo1(000000000000000000000000000000000000),FolderInfo2(000000000000000000000000000000000000)
|
||||||
|
|
71
toutadisparu/sources/data.s
Normal file
71
toutadisparu/sources/data.s
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
*
|
||||||
|
* Tout a disparu
|
||||||
|
*
|
||||||
|
* (c) 1992, Fran<EFBFBD>ois Coulon
|
||||||
|
* (c) 2022, Antoine Vignau & Olivier Zardini
|
||||||
|
*
|
||||||
|
|
||||||
|
mx %00
|
||||||
|
|
||||||
|
*-----------------------
|
||||||
|
* LES VARIABLES
|
||||||
|
*-----------------------
|
||||||
|
|
||||||
|
DEBUT_DATA = * ; C'est vachement pratique pour tout effacer !
|
||||||
|
|
||||||
|
*--- Variables Apple IIgs
|
||||||
|
|
||||||
|
nbTEXTES ds 2
|
||||||
|
nbTEXTES2 ds 2 ; nombre de textes indiquŽ dans le fichier .TEX
|
||||||
|
|
||||||
|
tblTEXTES ds 4*NB_TEXTES
|
||||||
|
|
||||||
|
*--- Pour la sauvegarde
|
||||||
|
|
||||||
|
C1 ds 1
|
||||||
|
P ds 1
|
||||||
|
|
||||||
|
*--- Variables Atari ST
|
||||||
|
|
||||||
|
aventure ds 2
|
||||||
|
nombre_scenes ds 2
|
||||||
|
scene_actuelle ds 2
|
||||||
|
i ds 2
|
||||||
|
j ds 2
|
||||||
|
scene ds 2
|
||||||
|
deplacement ds 2
|
||||||
|
fichier ds 2
|
||||||
|
espace ds 2
|
||||||
|
phrase ds 2
|
||||||
|
longueur ds 2
|
||||||
|
index ds 2
|
||||||
|
pointeur ds 2
|
||||||
|
fonction_mots ds 2
|
||||||
|
aiguillage ds 2
|
||||||
|
conditions ds 2
|
||||||
|
numero_mot ds 2 ; WORD
|
||||||
|
mot ds 128 ; le mot ˆ chercher (jusqu'au caract<63>re espace)
|
||||||
|
option_mot ds 128 ; le mot est enregistrŽ s'il est dans la liste
|
||||||
|
image_chargee ds 2 ; WORD - TRUE or FALSE
|
||||||
|
escape ds 2 ; WORD - TRUE or FALSE
|
||||||
|
|
||||||
|
* Toujours en dŽcalŽ : index 1 dŽmarre ˆ 0 (NB_TEXTES est toujours > au nombre de sc<EFBFBD>nes)
|
||||||
|
|
||||||
|
rouge1 ds NB_TEXTES ; les composants RVB pour le fond
|
||||||
|
vert1 ds NB_TEXTES
|
||||||
|
bleu1 ds NB_TEXTES
|
||||||
|
rouge2 ds NB_TEXTES
|
||||||
|
vert2 ds NB_TEXTES
|
||||||
|
bleu2 ds NB_TEXTES
|
||||||
|
|
||||||
|
scene_visitee ds NB_TEXTES ; BYTE - par scene, on met true ou false
|
||||||
|
image_a_charger ds NB_TEXTES*2 ; WORD - par scene, on y met le pointeur vers le nom de l'image
|
||||||
|
pointeur_mots ds NB_TEXTES ; BYTE - par scene, nombre de mots
|
||||||
|
|
||||||
|
texte$ ds 2
|
||||||
|
b$ ds 2
|
||||||
|
|
||||||
|
FIN_DATA = * ; Ben, ouais !
|
||||||
|
|
||||||
|
ds 2 ; padding, we never know :-)
|
||||||
|
|
|
@ -8,12 +8,11 @@
|
||||||
mx %00
|
mx %00
|
||||||
|
|
||||||
*-----------------------
|
*-----------------------
|
||||||
* constantes
|
* CONSTANTES
|
||||||
*-----------------------
|
*-----------------------
|
||||||
|
|
||||||
NB_INDICATEURS = 10
|
NB_INDICATEURS = 10
|
||||||
NB_MOTS = 25 ; on ne peut pas avoir plus de 25 mots par ecran
|
NB_MOTS = 25 ; on ne peut pas avoir plus de 25 mots par ecran
|
||||||
NB_INDEX = 512 ; nombre de fiches du jeu
|
|
||||||
NB_TEXTES = 512 ; nombre de textes du jeu
|
NB_TEXTES = 512 ; nombre de textes du jeu
|
||||||
|
|
||||||
*-----------------------
|
*-----------------------
|
||||||
|
@ -177,88 +176,14 @@ li_err2
|
||||||
brl meQUIT1
|
brl meQUIT1
|
||||||
|
|
||||||
*-----------------------
|
*-----------------------
|
||||||
* init_index
|
* next_index
|
||||||
*-----------------------
|
*-----------------------
|
||||||
|
|
||||||
init_index
|
next_index inc dpINDEX
|
||||||
stz nbINDEX ; 0 texts on entry
|
bne ni_1
|
||||||
|
inc dpINDEX+2
|
||||||
lda proEOF ; is file empty?
|
ni_1 lda [dpINDEX]
|
||||||
ora proEOF+2
|
|
||||||
bne ii1
|
|
||||||
rts
|
|
||||||
|
|
||||||
ii1 lda ptrINDEX
|
|
||||||
sta dpFROM
|
|
||||||
clc
|
|
||||||
adc proEOF
|
|
||||||
sta dpTO
|
|
||||||
lda ptrINDEX+2
|
|
||||||
sta dpFROM+2
|
|
||||||
adc proEOF+2
|
|
||||||
sta dpTO+2
|
|
||||||
|
|
||||||
ldy #1 ; tell to store string
|
|
||||||
ii2 cpy #1 ; save string pointer?
|
|
||||||
bne ii3 ; nope
|
|
||||||
|
|
||||||
lda nbINDEX ; yes, save the address of the string
|
|
||||||
asl
|
|
||||||
asl
|
|
||||||
tax
|
|
||||||
lda dpFROM
|
|
||||||
sta tblINDEX,x
|
|
||||||
lda dpFROM+2
|
|
||||||
sta tblINDEX+2,x
|
|
||||||
dey ; string is saved
|
|
||||||
|
|
||||||
inc nbINDEX ; increment the number of strings
|
|
||||||
lda nbINDEX ; into our limit
|
|
||||||
cmp #NB_INDEX
|
|
||||||
bcc ii3
|
|
||||||
rts
|
|
||||||
|
|
||||||
ii3 lda [dpFROM] ; is it the end of a string?
|
|
||||||
and #$ff
|
and #$ff
|
||||||
bne ii4 ; nope
|
|
||||||
iny ; yes, tell to store string
|
|
||||||
|
|
||||||
ii4 inc dpFROM
|
|
||||||
bne ii5
|
|
||||||
inc dpFROM+2
|
|
||||||
|
|
||||||
ii5 lda dpFROM+2 ; did we reach the end of the file?
|
|
||||||
cmp dpTO+2
|
|
||||||
bcc ii2
|
|
||||||
lda dpFROM
|
|
||||||
cmp dpTO
|
|
||||||
bcc ii2
|
|
||||||
rts ; we are done!
|
|
||||||
|
|
||||||
*-----------------------
|
|
||||||
* get_index(index%)
|
|
||||||
*-----------------------
|
|
||||||
|
|
||||||
get_index
|
|
||||||
cmp #0
|
|
||||||
bne get_index1
|
|
||||||
rts
|
|
||||||
|
|
||||||
get_index1
|
|
||||||
cmp nbINDEX
|
|
||||||
bcc get_index2
|
|
||||||
beq get_index2
|
|
||||||
rts
|
|
||||||
|
|
||||||
get_index2
|
|
||||||
dec
|
|
||||||
asl
|
|
||||||
asl
|
|
||||||
tax
|
|
||||||
lda tblINDEX,x
|
|
||||||
sta dpINDEX
|
|
||||||
lda tblINDEX+2,x
|
|
||||||
sta dpINDEX+2
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
*-----------------------
|
*-----------------------
|
||||||
|
@ -392,19 +317,15 @@ it5 lda dpFROM+2 ; did we reach the end of the file?
|
||||||
* get_textes(textes%)
|
* get_textes(textes%)
|
||||||
*-----------------------
|
*-----------------------
|
||||||
|
|
||||||
get_textes
|
get_textes cmp #0
|
||||||
cmp #0
|
beq get_textes1
|
||||||
bne get_textes1
|
|
||||||
rts
|
|
||||||
|
|
||||||
get_textes1
|
|
||||||
cmp nbTEXTES
|
cmp nbTEXTES
|
||||||
bcc get_textes2
|
bcc get_textes2
|
||||||
beq get_textes2
|
beq get_textes2
|
||||||
|
get_textes1 sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
get_textes2
|
get_textes2 dec
|
||||||
dec
|
|
||||||
asl
|
asl
|
||||||
asl
|
asl
|
||||||
tax
|
tax
|
||||||
|
@ -412,64 +333,13 @@ get_textes2
|
||||||
sta dpTEXTES
|
sta dpTEXTES
|
||||||
lda tblTEXTES+2,x
|
lda tblTEXTES+2,x
|
||||||
sta dpTEXTES+2
|
sta dpTEXTES+2
|
||||||
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
*-----------------------
|
*-----------------------
|
||||||
* LE JEU
|
* LE JEU
|
||||||
*-----------------------
|
*-----------------------
|
||||||
|
|
||||||
*-----------------------
|
|
||||||
* MAIN - OK
|
|
||||||
*-----------------------
|
|
||||||
* main
|
|
||||||
|
|
||||||
main
|
|
||||||
jsr choix_aventure
|
|
||||||
jsr help
|
|
||||||
jsr initialisation_relative
|
|
||||||
jmp fadeOUT
|
|
||||||
|
|
||||||
*-----------
|
|
||||||
|
|
||||||
DEBUT_DATA = * ; C'est vachement pratique pour tout effacer !
|
|
||||||
|
|
||||||
aventure ds 2
|
|
||||||
nombre_scenes ds 2
|
|
||||||
scene_actuelle ds 2
|
|
||||||
max_musiques ds 2
|
|
||||||
max_mots ds 2
|
|
||||||
taille_image ds 2 ; not used
|
|
||||||
i ds 2
|
|
||||||
j ds 2
|
|
||||||
scene ds 2
|
|
||||||
deplacement ds 2
|
|
||||||
fichier ds 2
|
|
||||||
espace ds 2
|
|
||||||
phrase ds 2
|
|
||||||
longueur ds 2
|
|
||||||
index ds 2
|
|
||||||
pointeur ds 2
|
|
||||||
fonction_mots ds 2
|
|
||||||
aiguillage ds 2
|
|
||||||
conditions ds 2
|
|
||||||
pointeur_mots ds 2
|
|
||||||
numero_mot ds 2 ; WORD
|
|
||||||
mot ds 128 ; le mot ˆ chercher (jusqu'au caract<63>re espace)
|
|
||||||
option_mot ds 128 ; le mot est enregistrŽ s'il est dans la liste (c'est bien long quand m<>me)
|
|
||||||
scene_visitee ds NB_TEXTES ; BYTE - par scene, on met true ou false
|
|
||||||
image_a_charger ds NB_TEXTES*2 ; WORD - par scene, on y met le pointeur vers le nom de l'image
|
|
||||||
image_chargee ds 2 ; WORD - TRUE or FALSE
|
|
||||||
escape ds 2 ; WORD - TRUE or FALSE
|
|
||||||
|
|
||||||
rouge1 ds NB_TEXTES ; les composants RVB pour le fond
|
|
||||||
vert1 ds NB_TEXTES
|
|
||||||
bleu1 ds NB_TEXTES
|
|
||||||
rouge2 ds NB_TEXTES
|
|
||||||
vert2 ds NB_TEXTES
|
|
||||||
bleu2 ds NB_TEXTES
|
|
||||||
|
|
||||||
FIN_DATA = * ; Ben, ouais !
|
|
||||||
|
|
||||||
*-----------------------
|
*-----------------------
|
||||||
* GENERIQUE - OK
|
* GENERIQUE - OK
|
||||||
*-----------------------
|
*-----------------------
|
||||||
|
@ -710,26 +580,6 @@ initialisation_absolue
|
||||||
* initialisation_constantes
|
* initialisation_constantes
|
||||||
|
|
||||||
initialisation_constantes
|
initialisation_constantes
|
||||||
lda #3
|
|
||||||
sta max_musiques
|
|
||||||
* lda #75
|
|
||||||
* sta max_colonnes
|
|
||||||
* lda #18
|
|
||||||
* sta max_lignes
|
|
||||||
* lda #8
|
|
||||||
* sta largeur_caractere
|
|
||||||
* lda #11
|
|
||||||
* sta hauteur_caractere
|
|
||||||
* lda #3
|
|
||||||
* sta marge_gauche
|
|
||||||
* lda #3*8 ; marge_gauche * largeur_caractere
|
|
||||||
* sta marge_gauche_pixel
|
|
||||||
|
|
||||||
lda #NB_MOTS
|
|
||||||
sta max_mots
|
|
||||||
|
|
||||||
lda #32000
|
|
||||||
sta taille_image
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
*-----------------------
|
*-----------------------
|
||||||
|
@ -821,9 +671,150 @@ initialisation_textes
|
||||||
* INITIALISATION_TABLEAUX - OK
|
* INITIALISATION_TABLEAUX - OK
|
||||||
*-----------------------
|
*-----------------------
|
||||||
|
|
||||||
|
instrDIESE = $23
|
||||||
|
instrECOMM = $26
|
||||||
|
instrPERCE = $25
|
||||||
|
|
||||||
|
*---
|
||||||
|
|
||||||
initialisation_tableaux
|
initialisation_tableaux
|
||||||
jsr load_index ; exit if error
|
jsr load_index ; exit if error
|
||||||
jmp init_index
|
|
||||||
|
lda ptrINDEX ; dŽbut du fichier IND
|
||||||
|
sta dpINDEX
|
||||||
|
lda ptrINDEX+2
|
||||||
|
sta dpINDEX+2
|
||||||
|
|
||||||
|
*--- Initialise les valeurs RVB
|
||||||
|
|
||||||
|
ldx #1 ; RVB par dŽfaut
|
||||||
|
sep #$20
|
||||||
|
]lp lda #4
|
||||||
|
sta rouge1-1,x
|
||||||
|
lda #1
|
||||||
|
sta rouge2-1,x
|
||||||
|
lda #7
|
||||||
|
sta vert1-1,x
|
||||||
|
sta vert2-1,x
|
||||||
|
stz bleu1-1,x
|
||||||
|
stz bleu2-1,x
|
||||||
|
inx
|
||||||
|
cpx #NB_TEXTES
|
||||||
|
bcc ]lp
|
||||||
|
beq ]lp
|
||||||
|
rep #$20
|
||||||
|
|
||||||
|
*--- Initialise le tableau des pointeurs d'image
|
||||||
|
|
||||||
|
ldy #1
|
||||||
|
]lp tya
|
||||||
|
asl
|
||||||
|
tax
|
||||||
|
stz image_a_charger-2,x
|
||||||
|
iny
|
||||||
|
cpy #NB_TEXTES
|
||||||
|
bcc ]lp
|
||||||
|
beq ]lp
|
||||||
|
rep #$20
|
||||||
|
|
||||||
|
*--- Decode chaque ligne
|
||||||
|
|
||||||
|
itab_loop lda [dpINDEX] ; read a byte
|
||||||
|
and #$ff
|
||||||
|
bne itab_1
|
||||||
|
rts ; we reached 0, we exit
|
||||||
|
|
||||||
|
itab_1 cmp #instrECOMM
|
||||||
|
bne itab_2
|
||||||
|
|
||||||
|
jsr doECOMM ; handle & - "image ˆ charger"
|
||||||
|
bra itab_4
|
||||||
|
|
||||||
|
itab_2 cmp #instrPERCE
|
||||||
|
bne itab_3
|
||||||
|
|
||||||
|
jsr doPERCE ; handle % - "couleur de fond du texte"
|
||||||
|
bra itab_4
|
||||||
|
|
||||||
|
itab_3 cmp #instrDIESE
|
||||||
|
bne itab_4
|
||||||
|
|
||||||
|
jsr doDIESE ; handle # - "mot clicable"
|
||||||
|
|
||||||
|
*--- Next index
|
||||||
|
|
||||||
|
itab_4 jsr next_index ; move to the first char of the next line
|
||||||
|
bra itab_loop ; loop
|
||||||
|
|
||||||
|
*--- Handle % - les valeurs RVB
|
||||||
|
|
||||||
|
doPERCE jsr next_index
|
||||||
|
dec
|
||||||
|
tax ; la scene
|
||||||
|
|
||||||
|
jsr next_index
|
||||||
|
sep #$20
|
||||||
|
sec
|
||||||
|
sbc #'0'
|
||||||
|
sta rouge1,x
|
||||||
|
rep #$20
|
||||||
|
|
||||||
|
jsr next_index
|
||||||
|
sep #$20
|
||||||
|
sec
|
||||||
|
sbc #'0'
|
||||||
|
sta vert1,x
|
||||||
|
rep #$20
|
||||||
|
|
||||||
|
jsr next_index
|
||||||
|
sep #$20
|
||||||
|
sec
|
||||||
|
sbc #'0'
|
||||||
|
sta bleu1,x
|
||||||
|
rep #$20
|
||||||
|
|
||||||
|
jsr next_index
|
||||||
|
sep #$20
|
||||||
|
sec
|
||||||
|
sbc #'0'
|
||||||
|
sta rouge2,x
|
||||||
|
rep #$20
|
||||||
|
|
||||||
|
jsr next_index
|
||||||
|
sep #$20
|
||||||
|
sec
|
||||||
|
sbc #'0'
|
||||||
|
sta vert2,x
|
||||||
|
rep #$20
|
||||||
|
|
||||||
|
jsr next_index
|
||||||
|
sep #$20
|
||||||
|
sec
|
||||||
|
sbc #'0'
|
||||||
|
sta bleu2,x
|
||||||
|
rep #$20
|
||||||
|
|
||||||
|
jmp next_index ; skip the final 0
|
||||||
|
|
||||||
|
*--- Handle & - une image ˆ charger
|
||||||
|
|
||||||
|
doECOMM jsr next_index
|
||||||
|
dec
|
||||||
|
asl ; tableau de words
|
||||||
|
tax ; index du nom de l'image
|
||||||
|
|
||||||
|
jsr next_index ; pointe sur le nom du fichier
|
||||||
|
lda dpINDEX ; sauve son adresse dans le tableau
|
||||||
|
sta image_a_charger,x
|
||||||
|
|
||||||
|
jmp next_index ; skip the final 0
|
||||||
|
|
||||||
|
*--- Handle # - les mots cliquables
|
||||||
|
|
||||||
|
doDIESE jsr next_index
|
||||||
|
dec
|
||||||
|
tax ; la scene
|
||||||
|
|
||||||
|
|
||||||
*-----------------------
|
*-----------------------
|
||||||
* INITIALISATION_CACHE - OK
|
* INITIALISATION_CACHE - OK
|
||||||
|
@ -842,6 +833,18 @@ debut_aventure
|
||||||
lda #1
|
lda #1
|
||||||
sta scene_actuelle
|
sta scene_actuelle
|
||||||
|
|
||||||
|
ldx #1
|
||||||
|
sep #$20
|
||||||
|
lda #FALSE
|
||||||
|
]lp sta scene_visitee-1,x
|
||||||
|
inx
|
||||||
|
cpx #NB_TEXTES
|
||||||
|
bcc ]lp
|
||||||
|
beq ]lp
|
||||||
|
rep #$20
|
||||||
|
|
||||||
|
lda #TRUE
|
||||||
|
sta deplacement
|
||||||
rts
|
rts
|
||||||
|
|
||||||
*-----------------------
|
*-----------------------
|
||||||
|
@ -854,7 +857,6 @@ fin_aventure
|
||||||
|
|
||||||
ldx #DEBUT_DATA ; on efface tout
|
ldx #DEBUT_DATA ; on efface tout
|
||||||
]lp stz |$0000,x
|
]lp stz |$0000,x
|
||||||
inx
|
|
||||||
inx
|
inx
|
||||||
cpx #FIN_DATA
|
cpx #FIN_DATA
|
||||||
bcc ]lp
|
bcc ]lp
|
||||||
|
@ -874,10 +876,11 @@ fin
|
||||||
*-----------------------
|
*-----------------------
|
||||||
* NOUVELLE_SCENE - OK
|
* NOUVELLE_SCENE - OK
|
||||||
*-----------------------
|
*-----------------------
|
||||||
* nouvelle_scene(scene)
|
* nouvelle_scene(scene ˆ charger)
|
||||||
|
|
||||||
nouvelle_scene
|
nouvelle_scene
|
||||||
ldx scene
|
* ldx scene
|
||||||
|
tax
|
||||||
lda #TRUE
|
lda #TRUE
|
||||||
sep #$20
|
sep #$20
|
||||||
sta scene_visitee,x
|
sta scene_visitee,x
|
||||||
|
@ -1063,10 +1066,9 @@ cprint1 rep #$20 ; nb chars x 8 to get width
|
||||||
*-----------------------
|
*-----------------------
|
||||||
* IMAGE - OK
|
* IMAGE - OK
|
||||||
*-----------------------
|
*-----------------------
|
||||||
* image(scene)
|
* image(scene ˆ charger)
|
||||||
|
|
||||||
image
|
image
|
||||||
lda scene
|
|
||||||
asl
|
asl
|
||||||
tax
|
tax
|
||||||
lda image_a_charger,x
|
lda image_a_charger,x
|
||||||
|
@ -1231,7 +1233,10 @@ palette
|
||||||
*-----------------------
|
*-----------------------
|
||||||
* help
|
* help
|
||||||
|
|
||||||
help jsr switch_640
|
help lda mainWIDTH ; save current width
|
||||||
|
sta oldWIDTH
|
||||||
|
jsr saveBACK ; save background
|
||||||
|
jsr switch_640 ; switch to 640
|
||||||
|
|
||||||
ldx ptrFOND+2
|
ldx ptrFOND+2
|
||||||
ldy ptrFOND
|
ldy ptrFOND
|
||||||
|
@ -1279,6 +1284,7 @@ help4
|
||||||
@cprint #help_str8;8
|
@cprint #help_str8;8
|
||||||
@cprint #help_str9;9
|
@cprint #help_str9;9
|
||||||
@cprint #help_str11;11
|
@cprint #help_str11;11
|
||||||
|
@cprint #help_str12;12
|
||||||
@cprint #help_str13;13
|
@cprint #help_str13;13
|
||||||
@cprint #help_str14;14
|
@cprint #help_str14;14
|
||||||
@cprint #help_str16;16
|
@cprint #help_str16;16
|
||||||
|
@ -1290,7 +1296,11 @@ help9 jsr waitEVENT
|
||||||
PushLong #old_pattern
|
PushLong #old_pattern
|
||||||
_SetPenPat
|
_SetPenPat
|
||||||
|
|
||||||
jmp fadeOUT
|
jsr fadeOUT ; fade
|
||||||
|
jsr loadBACK ; restore background
|
||||||
|
lda oldWIDTH ; restore width
|
||||||
|
sta mainWIDTH
|
||||||
|
rts ; and exit
|
||||||
|
|
||||||
*---
|
*---
|
||||||
|
|
||||||
|
@ -1310,9 +1320,10 @@ help_str3_2 asc '- Fran'8d'ois Coulon et Laurent Cotton -'00
|
||||||
help_str8 asc 'OA-S : sauver la situation'00
|
help_str8 asc 'OA-S : sauver la situation'00
|
||||||
help_str9 asc 'OA-O : recharger une situation'00
|
help_str9 asc 'OA-O : recharger une situation'00
|
||||||
help_str11 asc 'OA-Z : musique on/off'00
|
help_str11 asc 'OA-Z : musique on/off'00
|
||||||
help_str13 asc 'OA-R : retour au d'8e'but de l'27'aventure'00
|
help_str12 asc 'OA-R : retour au d'8e'but de l'27'aventure'00
|
||||||
help_str14 asc 'ESC : retour au menu'00
|
help_str13 asc 'ESC : retour au menu'00
|
||||||
help_str16 asc 'Toute autre touche : retour '88' l'27'aventure'00
|
help_str14 asc 'Toute autre touche : retour '88' l'27'aventure'00
|
||||||
|
help_str16 asc 'OA-Q : quitter le jeu'00
|
||||||
|
|
||||||
*-----------------------
|
*-----------------------
|
||||||
* MOTS_CLICABLES
|
* MOTS_CLICABLES
|
||||||
|
@ -1595,30 +1606,3 @@ strcmp2
|
||||||
cmp #TRUE ; met les valeurs de comparaison
|
cmp #TRUE ; met les valeurs de comparaison
|
||||||
rts
|
rts
|
||||||
|
|
||||||
*-----------------------
|
|
||||||
* data
|
|
||||||
*-----------------------
|
|
||||||
|
|
||||||
theDATA = *
|
|
||||||
|
|
||||||
*-----------------------
|
|
||||||
* Variables
|
|
||||||
*-----------------------
|
|
||||||
|
|
||||||
*--- Variables du jeu
|
|
||||||
|
|
||||||
debutVARIABLES = *
|
|
||||||
|
|
||||||
C1 ds 1
|
|
||||||
P ds 1
|
|
||||||
|
|
||||||
finVARIABLES = *
|
|
||||||
|
|
||||||
*--- Variables Apple IIgs
|
|
||||||
|
|
||||||
nbINDEX ds 2
|
|
||||||
nbTEXTES ds 2
|
|
||||||
nbTEXTES2 ds 2 ; nombre de textes indiquŽ dans le fichier .TEX
|
|
||||||
|
|
||||||
tblINDEX ds 4*NB_INDEX
|
|
||||||
tblTEXTES ds 4*NB_TEXTES
|
|
||||||
|
|
|
@ -277,7 +277,23 @@ okTOOL _HideMenuBar
|
||||||
|
|
||||||
jsr initialisation_absolue
|
jsr initialisation_absolue
|
||||||
jsr generique
|
jsr generique
|
||||||
jsr main
|
|
||||||
|
*-----------------------
|
||||||
|
* MAIN - OK
|
||||||
|
*-----------------------
|
||||||
|
* main
|
||||||
|
|
||||||
|
main
|
||||||
|
jsr choix_aventure
|
||||||
|
jsr initialisation_relative
|
||||||
|
jsr fadeOUT
|
||||||
|
|
||||||
|
mainLOOP
|
||||||
|
lda scene_actuelle
|
||||||
|
jsr nouvelle_scene
|
||||||
|
lda scene_actuelle
|
||||||
|
jsr image
|
||||||
|
* jsr affiche_texte
|
||||||
|
|
||||||
*----------------------------------------
|
*----------------------------------------
|
||||||
* TASK MASTER
|
* TASK MASTER
|
||||||
|
@ -345,12 +361,14 @@ tblKEYVALUE
|
||||||
asc 'QqOoSs'
|
asc 'QqOoSs'
|
||||||
asc 'Rr'
|
asc 'Rr'
|
||||||
asc 'Zz'
|
asc 'Zz'
|
||||||
|
asc '?'
|
||||||
hex ff
|
hex ff
|
||||||
|
|
||||||
tblKEYADDRESS
|
tblKEYADDRESS
|
||||||
da doQUIT,doQUIT,doLOAD,doLOAD,doSAVE,doSAVE
|
da doQUIT,doQUIT,doLOAD,doLOAD,doSAVE,doSAVE
|
||||||
da doRESTART,doRESTART
|
da doRESTART,doRESTART
|
||||||
da doMUSIK,doMUSIK
|
da doMUSIK,doMUSIK
|
||||||
|
da help
|
||||||
|
|
||||||
*----------------------------------- Gestion des contrôles (ça veut dire boutons ou lineedit)
|
*----------------------------------- Gestion des contrôles (ça veut dire boutons ou lineedit)
|
||||||
|
|
||||||
|
@ -412,6 +430,7 @@ switch_res
|
||||||
*-----------
|
*-----------
|
||||||
|
|
||||||
mainWIDTH ds 2
|
mainWIDTH ds 2
|
||||||
|
oldWIDTH ds 2
|
||||||
mainPORT ds 4
|
mainPORT ds 4
|
||||||
|
|
||||||
*----------------------------------- Open
|
*----------------------------------- Open
|
||||||
|
@ -1297,6 +1316,7 @@ pGAME strl '0/ '
|
||||||
*----------------------------------------
|
*----------------------------------------
|
||||||
|
|
||||||
put game.s
|
put game.s
|
||||||
|
put data.s
|
||||||
put ecr.s
|
put ecr.s
|
||||||
put ntp.s
|
put ntp.s
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user