mirror of
https://github.com/antoinevignau/source.git
synced 2024-06-06 17:29:39 +00:00
Hyperlinks work!
This commit is contained in:
parent
ab5da6cb27
commit
78fab679f2
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -42,26 +42,21 @@ valeur_condition ds 2 ; valeur condition 2B xx ou 2D yy
|
||||||
aventure ds 2
|
aventure ds 2
|
||||||
nombre_scenes ds 2
|
nombre_scenes ds 2
|
||||||
scene_actuelle ds 2
|
scene_actuelle ds 2
|
||||||
scene_nouvelle ds 2
|
scene_ancienne ds 2
|
||||||
deplacement ds 2 ; BOOL - TRUE (new scene) or FALSE (same scene)
|
deplacement ds 2 ; BOOL - TRUE (new scene) or FALSE (same scene)
|
||||||
image_chargee ds 2 ; WORD - TRUE or FALSE
|
image_chargee ds 2 ; WORD - TRUE or FALSE
|
||||||
escape ds 2 ; BOOL - TRUE or FALSE
|
escape ds 2 ; BOOL - TRUE or FALSE
|
||||||
fgSUITEFORCEE ds 2 ; BOOL - TRUE or FALSE
|
fgSUITEFORCEE ds 2 ; BOOL - TRUE or FALSE
|
||||||
|
|
||||||
mot ds 128 ; le mot ˆ chercher (jusqu'au caract<63>re espace)
|
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
|
|
||||||
|
|
||||||
* Le texte ˆ afficher
|
* Le texte ˆ afficher
|
||||||
|
|
||||||
ligne_max ds max_colonnes ; une ligne du texte
|
ligne_max ds max_colonnes ; une ligne du texte
|
||||||
asc "TEXTE"
|
|
||||||
texte ds max_colonnes*max_lignes ; the text from the .TXT file
|
texte ds max_colonnes*max_lignes ; the text from the .TXT file
|
||||||
asc "TEXTE_FINAL"
|
|
||||||
texte_final ds max_colonnes*max_lignes ; the final text - known as b$ in Atari ST
|
texte_final ds max_colonnes*max_lignes ; the final text - known as b$ in Atari ST
|
||||||
ds 2
|
ds 2
|
||||||
asc "TEXTE_LIENS"
|
|
||||||
texte_liens ds max_colonnes*max_lignes ; FALSE: not a link, TRUE est un mot cliquable
|
texte_liens ds max_colonnes*max_lignes ; FALSE: not a link, TRUE est un mot cliquable
|
||||||
asc "TEXTE_INDEX"
|
|
||||||
texte_index ds max_colonnes*max_lignes ; numŽro du mot
|
texte_index ds max_colonnes*max_lignes ; numŽro du mot
|
||||||
|
|
||||||
* Toujours en dŽcalŽ : index 1 dŽmarre ˆ 0 (NB_TEXTES est toujours > au nombre de sc<EFBFBD>nes)
|
* Toujours en dŽcalŽ : index 1 dŽmarre ˆ 0 (NB_TEXTES est toujours > au nombre de sc<EFBFBD>nes)
|
||||||
|
|
|
@ -889,7 +889,6 @@ doDIESE jsr next_index
|
||||||
jsr next_index
|
jsr next_index
|
||||||
|
|
||||||
lda localOFFSET ; 0/25/50 => 0/50/100
|
lda localOFFSET ; 0/25/50 => 0/50/100
|
||||||
asl
|
|
||||||
clc
|
clc
|
||||||
adc localPOINT ; +=
|
adc localPOINT ; +=
|
||||||
tax
|
tax
|
||||||
|
@ -1209,7 +1208,10 @@ skipME
|
||||||
debut_aventure
|
debut_aventure
|
||||||
lda #1
|
lda #1
|
||||||
sta scene_actuelle
|
sta scene_actuelle
|
||||||
|
lda #-1
|
||||||
|
sta scene_ancienne
|
||||||
|
sta mot_ancien
|
||||||
|
|
||||||
ldx #1
|
ldx #1
|
||||||
sep #$20
|
sep #$20
|
||||||
lda #FALSE
|
lda #FALSE
|
||||||
|
@ -1257,17 +1259,22 @@ fin rts
|
||||||
nouvelle_scene
|
nouvelle_scene
|
||||||
cmp #0 ; not 0
|
cmp #0 ; not 0
|
||||||
beq ns_99
|
beq ns_99
|
||||||
|
cmp scene_ancienne
|
||||||
|
beq ns_98
|
||||||
|
|
||||||
|
ldx scene_actuelle
|
||||||
|
stx scene_ancienne
|
||||||
|
|
||||||
dec
|
dec
|
||||||
tax
|
tax
|
||||||
lda #TRUE
|
lda #TRUE
|
||||||
sep #$20
|
sep #$20
|
||||||
sta scene_visitee,x
|
sta scene_visitee,x
|
||||||
rep #$20
|
rep #$20
|
||||||
|
|
||||||
lda #FALSE
|
ns_98 lda #FALSE
|
||||||
sta deplacement
|
sta deplacement
|
||||||
|
|
||||||
stz option_mot
|
|
||||||
ns_99 rts
|
ns_99 rts
|
||||||
|
|
||||||
*-----------------------
|
*-----------------------
|
||||||
|
@ -1311,11 +1318,6 @@ tc_2 ldx mot_clique ; on sauvegarde l'ancien mot
|
||||||
* affiche_commentaire
|
* affiche_commentaire
|
||||||
|
|
||||||
affiche_commentaire
|
affiche_commentaire
|
||||||
sep #$20
|
|
||||||
ldal $c034
|
|
||||||
inc
|
|
||||||
stal $c034
|
|
||||||
rep #$20
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
*-----------------------
|
*-----------------------
|
||||||
|
@ -1736,8 +1738,7 @@ suite_forcee
|
||||||
lda #TRUE
|
lda #TRUE
|
||||||
bra sf_99
|
bra sf_99
|
||||||
sf_false lda #FALSE
|
sf_false lda #FALSE
|
||||||
sf_99 sta deplacement
|
sf_99 sta fgSUITEFORCEE
|
||||||
sta fgSUITEFORCEE
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
strSUITE asc 'suite '
|
strSUITE asc 'suite '
|
||||||
|
@ -1748,7 +1749,12 @@ strSUITE asc 'suite '
|
||||||
* aiguille(scene)
|
* aiguille(scene)
|
||||||
* parce que le tableau aiguillag existe
|
* parce que le tableau aiguillag existe
|
||||||
|
|
||||||
aiguille cmp #0
|
aiguille ldx mot_clique ; a-t-on cliquŽ de nouveau sur le m<>me mot ?
|
||||||
|
cpx mot_ancien
|
||||||
|
beq ai_entry
|
||||||
|
jmp affiche_commentaire
|
||||||
|
|
||||||
|
ai_entry cmp #0
|
||||||
beq ai_false
|
beq ai_false
|
||||||
|
|
||||||
dec ; prend la scene
|
dec ; prend la scene
|
||||||
|
@ -1763,20 +1769,17 @@ aiguille cmp #0
|
||||||
sta dpFROM ; on pointe sur l'index du premier mot
|
sta dpFROM ; on pointe sur l'index du premier mot
|
||||||
pla
|
pla
|
||||||
|
|
||||||
ldy mot_clique
|
ldy mot_clique ; 1..+
|
||||||
dey
|
dey
|
||||||
lda (dpFROM),y ; la prochaine sc<73>ne
|
lda (dpFROM),y ; la prochaine sc<73>ne
|
||||||
and #$ff
|
and #$ff
|
||||||
sta scene_actuelle
|
sta scene_actuelle
|
||||||
|
|
||||||
lda #TRUE
|
lda #TRUE
|
||||||
sta deplacement
|
sta deplacement
|
||||||
lda #FALSE
|
|
||||||
sta fgSUITEFORCEE
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
ai_false lda #FALSE
|
ai_false lda #FALSE
|
||||||
sta deplacement
|
sta deplacement
|
||||||
sta fgSUITEFORCEE
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
*-----------------------
|
*-----------------------
|
||||||
|
@ -1786,7 +1789,7 @@ ai_false lda #FALSE
|
||||||
|
|
||||||
charge_image
|
charge_image
|
||||||
rts
|
rts
|
||||||
1F9C
|
|
||||||
*-----------------------
|
*-----------------------
|
||||||
* IMAGE_ECRAN - OK
|
* IMAGE_ECRAN - OK
|
||||||
*-----------------------
|
*-----------------------
|
||||||
|
|
|
@ -148,6 +148,11 @@ FALSE = 0
|
||||||
tdc
|
tdc
|
||||||
sta myDP
|
sta myDP
|
||||||
|
|
||||||
|
lda #SUITE_DATA
|
||||||
|
stal $300
|
||||||
|
lda #^SUITE_DATA
|
||||||
|
stal $302
|
||||||
|
|
||||||
*--- Version du systeme
|
*--- Version du systeme
|
||||||
|
|
||||||
jsl GSOS
|
jsl GSOS
|
||||||
|
@ -246,6 +251,12 @@ okMEM1 sty ptrIMAGE
|
||||||
okTOOL _HideMenuBar
|
okTOOL _HideMenuBar
|
||||||
_InitCursor
|
_InitCursor
|
||||||
|
|
||||||
|
PushWord #0
|
||||||
|
PushWord #%11111111_11111111
|
||||||
|
PushWord #0
|
||||||
|
_FlushEvents
|
||||||
|
pla
|
||||||
|
|
||||||
PushLong #0
|
PushLong #0
|
||||||
_GetPort
|
_GetPort
|
||||||
PullLong mainPORT
|
PullLong mainPORT
|
||||||
|
@ -268,6 +279,12 @@ okTOOL _HideMenuBar
|
||||||
jsr initialisation_absolue
|
jsr initialisation_absolue
|
||||||
jsr generique
|
jsr generique
|
||||||
|
|
||||||
|
PushWord #0
|
||||||
|
PushWord #%11111111_11111111
|
||||||
|
PushWord #0
|
||||||
|
_FlushEvents
|
||||||
|
pla
|
||||||
|
|
||||||
*-----------------------
|
*-----------------------
|
||||||
* MAIN - OK
|
* MAIN - OK
|
||||||
*-----------------------
|
*-----------------------
|
||||||
|
@ -281,15 +298,20 @@ main
|
||||||
*---
|
*---
|
||||||
|
|
||||||
mainLOOP lda scene_actuelle
|
mainLOOP lda scene_actuelle
|
||||||
jsr nouvelle_scene
|
jsr nouvelle_scene ; on initialise la scène
|
||||||
lda scene_actuelle
|
lda scene_actuelle
|
||||||
jsr image
|
jsr image ; on charge une image éventuelle
|
||||||
lda scene_actuelle
|
lda scene_actuelle
|
||||||
jsr get_textes ; prend le texte de l'écran
|
jsr get_textes ; on détermine le texte
|
||||||
jsr prepare_texte ; prepare le texte
|
jsr prepare_texte ; que l'on prepare le texte
|
||||||
jsr mots_clicables ; ajoute les mots cliquables
|
jsr mots_clicables ; on y ajoute les mots cliquables
|
||||||
jsr affiche_texte ; affiche le texte
|
jsr affiche_texte ; et on l'affiche
|
||||||
jsr attente ; attend sur l'image
|
|
||||||
|
PushWord #0
|
||||||
|
PushWord #%11111111_11111111
|
||||||
|
PushWord #0
|
||||||
|
_FlushEvents
|
||||||
|
pla
|
||||||
|
|
||||||
*----------------------------------------
|
*----------------------------------------
|
||||||
* TASK MASTER (no more)
|
* TASK MASTER (no more)
|
||||||
|
@ -297,6 +319,8 @@ mainLOOP lda scene_actuelle
|
||||||
|
|
||||||
taskLOOP inc VBLCounter0
|
taskLOOP inc VBLCounter0
|
||||||
|
|
||||||
|
* jsr DEBUG
|
||||||
|
|
||||||
* PushWord #0
|
* PushWord #0
|
||||||
* PushWord #%11111111_11111111
|
* PushWord #%11111111_11111111
|
||||||
* PushLong #taskREC
|
* PushLong #taskREC
|
||||||
|
@ -312,11 +336,36 @@ taskLOOP inc VBLCounter0
|
||||||
tax
|
tax
|
||||||
jsr (taskTBL,x)
|
jsr (taskTBL,x)
|
||||||
|
|
||||||
|
lda fgSUITEFORCEE
|
||||||
|
cmp #TRUE
|
||||||
|
beq mainLOOP
|
||||||
|
|
||||||
lda deplacement ; si on doit bouger, on fait un...
|
lda deplacement ; si on doit bouger, on fait un...
|
||||||
cmp #TRUE
|
cmp #TRUE
|
||||||
beq mainLOOP ; ...grand saut
|
beq mainLOOP ; ...grand saut
|
||||||
bne taskLOOP ; ...sinon on attend
|
bne taskLOOP ; ...sinon on attend
|
||||||
|
|
||||||
|
*---------- DEBUG
|
||||||
|
|
||||||
|
DEBUG
|
||||||
|
lda #' '
|
||||||
|
sta theSTRING
|
||||||
|
sta theSTRING+2
|
||||||
|
|
||||||
|
PushWord scene_actuelle
|
||||||
|
PushLong #theSTRING
|
||||||
|
PushWord #4
|
||||||
|
_Int2Hex
|
||||||
|
|
||||||
|
PushWord #150
|
||||||
|
PushWord #150
|
||||||
|
_MoveTo
|
||||||
|
|
||||||
|
PushLong #theSTRING
|
||||||
|
_DrawCString
|
||||||
|
rts
|
||||||
|
|
||||||
|
theSTRING asc ' '00
|
||||||
*----------------------------------- Gestion du keyDown
|
*----------------------------------- Gestion du keyDown
|
||||||
* on gère les open-apple-qqch
|
* on gère les open-apple-qqch
|
||||||
|
|
||||||
|
@ -387,16 +436,10 @@ doMOUSEUP
|
||||||
mup1 jsr clic_mot ; oui, on vérifie si on a cliqué sur un mot => mot$
|
mup1 jsr clic_mot ; oui, on vérifie si on a cliqué sur un mot => mot$
|
||||||
bcc mup2 ; oui
|
bcc mup2 ; oui
|
||||||
rts
|
rts
|
||||||
|
mup2 lda scene_actuelle
|
||||||
mup2 lda mot_clique ; a-t-on cliqué de nouveau sur le même mot ?
|
|
||||||
cmp mot_ancien
|
|
||||||
beq mup3
|
|
||||||
jsr affiche_commentaire
|
|
||||||
rts
|
|
||||||
mup3 lda scene_actuelle
|
|
||||||
jsr aiguille ; on aiguille le joueur si c'est le second clic
|
jsr aiguille ; on aiguille le joueur si c'est le second clic
|
||||||
rts
|
rts
|
||||||
|
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
* AUTRES ROUTINES
|
* AUTRES ROUTINES
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
|
@ -507,8 +550,7 @@ copyPATH
|
||||||
|
|
||||||
*--- Charge le fichier de sauvegarde en mémoire
|
*--- Charge le fichier de sauvegarde en mémoire
|
||||||
|
|
||||||
loadALL
|
loadALL jsl GSOS
|
||||||
jsl GSOS
|
|
||||||
dw $2010
|
dw $2010
|
||||||
adrl proOPENGAME
|
adrl proOPENGAME
|
||||||
bcs loadKO99
|
bcs loadKO99
|
||||||
|
@ -523,21 +565,22 @@ loadALL
|
||||||
dw $2014
|
dw $2014
|
||||||
adrl proCLOSE
|
adrl proCLOSE
|
||||||
|
|
||||||
loadKO99
|
loadKO99 rts
|
||||||
rts
|
|
||||||
|
|
||||||
*---
|
*---
|
||||||
|
|
||||||
loadPART
|
loadPART ldx #2
|
||||||
ldx #NB_INDICATEURS
|
lda #aventure
|
||||||
ldy #C1
|
jsr loadIT
|
||||||
|
|
||||||
|
ldx #2
|
||||||
|
lda #scene_actuelle
|
||||||
jsr loadIT
|
jsr loadIT
|
||||||
|
|
||||||
ldx #2
|
ldx #NB_TEXTES
|
||||||
ldy #P
|
ldy #scene_visitee
|
||||||
|
|
||||||
loadIT
|
loadIT stx proREADGAME+8
|
||||||
stx proREADGAME+8
|
|
||||||
sty proREADGAME+4
|
sty proREADGAME+4
|
||||||
jsl GSOS
|
jsl GSOS
|
||||||
dw $2012
|
dw $2012
|
||||||
|
@ -546,8 +589,7 @@ loadIT
|
||||||
|
|
||||||
*--- Enregistre le fichier de sauvegarde
|
*--- Enregistre le fichier de sauvegarde
|
||||||
|
|
||||||
saveALL
|
saveALL jsl GSOS
|
||||||
jsl GSOS
|
|
||||||
dw $2002
|
dw $2002
|
||||||
adrl proDESTROYGAME
|
adrl proDESTROYGAME
|
||||||
|
|
||||||
|
@ -571,21 +613,22 @@ saveALL
|
||||||
dw $2014
|
dw $2014
|
||||||
adrl proCLOSE
|
adrl proCLOSE
|
||||||
|
|
||||||
saveKO99
|
saveKO99 rts
|
||||||
rts
|
|
||||||
|
|
||||||
*---
|
*---
|
||||||
|
|
||||||
savePART
|
savePART ldx #2
|
||||||
ldx #NB_INDICATEURS
|
lda #aventure
|
||||||
ldy #C1
|
jsr saveIT
|
||||||
|
|
||||||
|
ldx #2
|
||||||
|
lda #scene_actuelle
|
||||||
jsr saveIT
|
jsr saveIT
|
||||||
|
|
||||||
ldx #2
|
ldx #NB_TEXTES
|
||||||
ldy #P
|
ldy #scene_visitee
|
||||||
|
|
||||||
saveIT
|
saveIT stx proWRITEGAME+8
|
||||||
stx proWRITEGAME+8
|
|
||||||
sty proWRITEGAME+4
|
sty proWRITEGAME+4
|
||||||
jsl GSOS
|
jsl GSOS
|
||||||
dw $2013
|
dw $2013
|
||||||
|
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user