mirror of
https://github.com/antoinevignau/source.git
synced 2024-06-01 15:41:28 +00:00
yeepee
This commit is contained in:
parent
4fee959c35
commit
705e30b637
|
@ -78,7 +78,7 @@ foeX = $12
|
||||||
foeY = $13
|
foeY = $13
|
||||||
foeINDEX = $14
|
foeINDEX = $14
|
||||||
foeLEFTRIGHT = $15
|
foeLEFTRIGHT = $15
|
||||||
foeC70 = $16
|
foeACTION = $16
|
||||||
foeSTEPX = $17 ; coordinate
|
foeSTEPX = $17 ; coordinate
|
||||||
foeSTEPY = $18 ; coordinate
|
foeSTEPY = $18 ; coordinate
|
||||||
idxFOE = $19 ; current foe index
|
idxFOE = $19 ; current foe index
|
||||||
|
@ -333,20 +333,20 @@ L60F5 LDA boardY ; are we on top row
|
||||||
CMP #$02
|
CMP #$02
|
||||||
BNE L6107
|
BNE L6107
|
||||||
LDA nbCHEST ; are there chests left?
|
LDA nbCHEST ; are there chests left?
|
||||||
BEQ L611A
|
BEQ L611A ; no
|
||||||
CMP #$FF
|
CMP #$FF
|
||||||
BEQ L611A ; we won
|
BEQ L611A ; no, we won
|
||||||
|
|
||||||
L6107 JSR L75F4
|
L6107 JSR checkHOLE ; are there holes active?
|
||||||
LDA fgPLAY ; are we dead?
|
LDA fgPLAY ; are we dead?
|
||||||
BEQ L613F ; yes
|
BEQ L613F ; yes
|
||||||
JSR playMELODY
|
JSR playMELODY
|
||||||
JSR L6C82
|
JSR handleFOE ; handle the foes
|
||||||
LDA fgPLAY
|
LDA fgPLAY ; am I dead?
|
||||||
BEQ L613F
|
BEQ L613F ; yes...
|
||||||
BNE L60E4 ; loop
|
BNE L60E4 ; no, loop
|
||||||
|
|
||||||
L611A INC theLEVEL
|
L611A INC theLEVEL ; next level, no chests left
|
||||||
INC intLEVEL
|
INC intLEVEL
|
||||||
INC theMEN ; man++
|
INC theMEN ; man++
|
||||||
BNE L6124
|
BNE L6124
|
||||||
|
@ -732,7 +732,7 @@ L63F8 CMP #sprFOE
|
||||||
LDA theY
|
LDA theY
|
||||||
STA tblFOEY,X
|
STA tblFOEY,X
|
||||||
LDA #$00
|
LDA #$00
|
||||||
STA L0C70,X
|
STA tblFOEACTION,X
|
||||||
STA tblFOEINDEX,X
|
STA tblFOEINDEX,X
|
||||||
LDA #$02
|
LDA #$02
|
||||||
STA tblFOESTEPX,X ; x-step movement
|
STA tblFOESTEPX,X ; x-step movement
|
||||||
|
@ -1263,7 +1263,7 @@ L67E7 LDY boardY ; are we on last line?
|
||||||
CPY #lvlHEIGHT-1
|
CPY #lvlHEIGHT-1
|
||||||
BCS L67D8
|
BCS L67D8
|
||||||
INY
|
INY
|
||||||
JSR L884B
|
JSR setBOARDLINEPOINTERS
|
||||||
LDY boardX ; are we on first column?
|
LDY boardX ; are we on first column?
|
||||||
BEQ L67D8
|
BEQ L67D8
|
||||||
DEY
|
DEY
|
||||||
|
@ -1271,7 +1271,7 @@ L67E7 LDY boardY ; are we on last line?
|
||||||
CMP #sprWALL ; a wall?
|
CMP #sprWALL ; a wall?
|
||||||
BNE L67D8
|
BNE L67D8
|
||||||
LDY boardY ; yes
|
LDY boardY ; yes
|
||||||
JSR L884B
|
JSR setBOARDLINEPOINTERS
|
||||||
LDY boardX
|
LDY boardX
|
||||||
DEY
|
DEY
|
||||||
LDA (ptrBOARD),Y
|
LDA (ptrBOARD),Y
|
||||||
|
@ -1368,7 +1368,7 @@ L68AD LDY boardY ; are we on last line?
|
||||||
CPY #lvlHEIGHT-1
|
CPY #lvlHEIGHT-1
|
||||||
BCS L689E
|
BCS L689E
|
||||||
INY
|
INY
|
||||||
JSR L884B
|
JSR setBOARDLINEPOINTERS
|
||||||
LDY boardX ; are we on lat column?
|
LDY boardX ; are we on lat column?
|
||||||
CPY #lvlWIDTH-1
|
CPY #lvlWIDTH-1
|
||||||
BCS L689E
|
BCS L689E
|
||||||
|
@ -1377,7 +1377,7 @@ L68AD LDY boardY ; are we on last line?
|
||||||
CMP #sprWALL ; do we have a wall?
|
CMP #sprWALL ; do we have a wall?
|
||||||
BNE L689E
|
BNE L689E
|
||||||
LDY boardY
|
LDY boardY
|
||||||
JSR L884B
|
JSR setBOARDLINEPOINTERS
|
||||||
LDY boardX
|
LDY boardX
|
||||||
INY
|
INY
|
||||||
LDA (ptrBOARD),Y
|
LDA (ptrBOARD),Y
|
||||||
|
@ -2021,7 +2021,7 @@ L6C81 RTS
|
||||||
*
|
*
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
|
|
||||||
L6C82 LDX nbFOE
|
handleFOE LDX nbFOE ; no foe, skip
|
||||||
BEQ L6CA6
|
BEQ L6CA6
|
||||||
INC $64
|
INC $64
|
||||||
LDY $64
|
LDY $64
|
||||||
|
@ -2033,7 +2033,7 @@ L6C92 LDA |$0060,Y
|
||||||
STA $63
|
STA $63
|
||||||
L6C97 LSR $63
|
L6C97 LSR $63
|
||||||
BCC L6CA2
|
BCC L6CA2
|
||||||
JSR L6CDB
|
JSR doFOEACTION
|
||||||
LDA fgPLAY
|
LDA fgPLAY
|
||||||
BEQ L6CA6
|
BEQ L6CA6
|
||||||
L6CA2 LDA $63
|
L6CA2 LDA $63
|
||||||
|
@ -2078,18 +2078,18 @@ seqFOE DB $08 ; 0 - foe runs left 1
|
||||||
*
|
*
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
|
|
||||||
L6CDB INC idxFOE
|
doFOEACTION INC idxFOE
|
||||||
LDX nbFOE
|
LDX nbFOE
|
||||||
CPX idxFOE
|
CPX idxFOE
|
||||||
BCS L6CE7
|
BCS L6CE7
|
||||||
LDX #$01
|
LDX #$01
|
||||||
STX idxFOE
|
STX idxFOE
|
||||||
L6CE7 JSR loadFOEDATA
|
L6CE7 JSR loadFOEDATA
|
||||||
LDA foeC70
|
LDA foeACTION
|
||||||
BMI L6D08
|
BMI L6D08
|
||||||
BEQ L6D08
|
BEQ L6D08
|
||||||
DEC foeC70
|
DEC foeACTION
|
||||||
LDY foeC70
|
LDY foeACTION
|
||||||
CPY #$0D
|
CPY #$0D
|
||||||
BCS L6CFB
|
BCS L6CFB
|
||||||
JMP L6E65
|
JMP L6E65
|
||||||
|
@ -2146,7 +2146,7 @@ L6D61 JMP L6E85
|
||||||
|
|
||||||
L6D64 JSR calcFOESPRITEXY
|
L6D64 JSR calcFOESPRITEXY
|
||||||
JSR drawSPRITEXY
|
JSR drawSPRITEXY
|
||||||
JSR L7582
|
JSR foeNEXTSTEPX
|
||||||
LDA #$06 ; foe falls left
|
LDA #$06 ; foe falls left
|
||||||
LDY foeLEFTRIGHT
|
LDY foeLEFTRIGHT
|
||||||
BMI L6D75
|
BMI L6D75
|
||||||
|
@ -2169,11 +2169,11 @@ L6D75 STA foeINDEX
|
||||||
LDA (ptrBBACK),Y
|
LDA (ptrBBACK),Y
|
||||||
CMP #sprWALL
|
CMP #sprWALL
|
||||||
BNE L6DB7
|
BNE L6DB7
|
||||||
LDA foeC70
|
LDA foeACTION
|
||||||
BPL L6DA2
|
BPL L6DA2
|
||||||
DEC nbCHEST
|
DEC nbCHEST
|
||||||
L6DA2 LDA $5F
|
L6DA2 LDA $5F
|
||||||
STA foeC70
|
STA foeACTION
|
||||||
LDY #$00 ; we trapped a foe
|
LDY #$00 ; we trapped a foe
|
||||||
LDA #$75
|
LDA #$75
|
||||||
JSR printSCORE
|
JSR printSCORE
|
||||||
|
@ -2217,7 +2217,7 @@ L6DE1 STA (ptrBOARD),Y
|
||||||
L6E02 LDA (ptrBBACK),Y
|
L6E02 LDA (ptrBBACK),Y
|
||||||
CMP #sprWALL
|
CMP #sprWALL
|
||||||
BNE L6E58
|
BNE L6E58
|
||||||
LDA foeC70
|
LDA foeACTION
|
||||||
BPL L6E58
|
BPL L6E58
|
||||||
LDY foeY
|
LDY foeY
|
||||||
DEY
|
DEY
|
||||||
|
@ -2252,7 +2252,7 @@ L6E46 LDY foeY
|
||||||
LDA tblBOARDALLH,Y
|
LDA tblBOARDALLH,Y
|
||||||
STA ptrBOARD+1
|
STA ptrBOARD+1
|
||||||
LDA #$00
|
LDA #$00
|
||||||
STA foeC70
|
STA foeACTION
|
||||||
LDY foeX
|
LDY foeX
|
||||||
L6E58 LDA #sprFOE
|
L6E58 LDA #sprFOE
|
||||||
STA (ptrBOARD),Y
|
STA (ptrBOARD),Y
|
||||||
|
@ -2264,7 +2264,7 @@ L6E65 CPY #$07
|
||||||
BCC L6E85
|
BCC L6E85
|
||||||
JSR calcFOESPRITEXY
|
JSR calcFOESPRITEXY
|
||||||
JSR drawSPRITEXY
|
JSR drawSPRITEXY
|
||||||
LDY foeC70
|
LDY foeACTION
|
||||||
LDA L6E7F-7,Y
|
LDA L6E7F-7,Y
|
||||||
STA foeSTEPX
|
STA foeSTEPX
|
||||||
L6E76 JSR calcFOESPRITEXY
|
L6E76 JSR calcFOESPRITEXY
|
||||||
|
@ -2290,10 +2290,10 @@ L6E97 DA saveFOEDATA-1 ; 0
|
||||||
DA L6EAC-1 ; 3
|
DA L6EAC-1 ; 3
|
||||||
DA L6F39-1 ; 4
|
DA L6F39-1 ; 4
|
||||||
|
|
||||||
L6EA1 LDA foeC70
|
L6EA1 LDA foeACTION
|
||||||
BEQ L6EA9
|
BEQ L6EA9
|
||||||
BMI L6EA9
|
BMI L6EA9
|
||||||
INC foeC70
|
INC foeACTION
|
||||||
L6EA9 JMP saveFOEDATA
|
L6EA9 JMP saveFOEDATA
|
||||||
|
|
||||||
*--- 3
|
*--- 3
|
||||||
|
@ -2320,7 +2320,7 @@ L6EAC LDY foeSTEPY
|
||||||
BEQ L6EA1
|
BEQ L6EA1
|
||||||
L6ED5 JSR calcFOESPRITEXY
|
L6ED5 JSR calcFOESPRITEXY
|
||||||
JSR drawSPRITEXY
|
JSR drawSPRITEXY
|
||||||
JSR L7582
|
JSR foeNEXTSTEPX
|
||||||
LDY foeY
|
LDY foeY
|
||||||
LDA tblBOARDALLL,Y
|
LDA tblBOARDALLL,Y
|
||||||
STA ptrBOARD
|
STA ptrBOARD
|
||||||
|
@ -2331,7 +2331,7 @@ L6ED5 JSR calcFOESPRITEXY
|
||||||
STA ptrBBACK+1
|
STA ptrBBACK+1
|
||||||
DEC foeSTEPY
|
DEC foeSTEPY
|
||||||
BPL L6F26
|
BPL L6F26
|
||||||
JSR L753E
|
JSR checkDROPCHEST
|
||||||
LDY foeX
|
LDY foeX
|
||||||
LDA (ptrBBACK),Y
|
LDA (ptrBBACK),Y
|
||||||
CMP #$01
|
CMP #$01
|
||||||
|
@ -2385,7 +2385,7 @@ L6F60 JMP saveFOEDATA
|
||||||
|
|
||||||
L6F63 JSR calcFOESPRITEXY
|
L6F63 JSR calcFOESPRITEXY
|
||||||
JSR drawSPRITEXY
|
JSR drawSPRITEXY
|
||||||
JSR L7582
|
JSR foeNEXTSTEPX
|
||||||
LDY foeY
|
LDY foeY
|
||||||
LDA tblBOARDALLL,Y
|
LDA tblBOARDALLL,Y
|
||||||
STA ptrBOARD
|
STA ptrBOARD
|
||||||
|
@ -2398,7 +2398,7 @@ L6F63 JSR calcFOESPRITEXY
|
||||||
LDA foeSTEPY
|
LDA foeSTEPY
|
||||||
CMP #$05
|
CMP #$05
|
||||||
BCC L6FB9
|
BCC L6FB9
|
||||||
JSR L753E
|
JSR checkDROPCHEST
|
||||||
LDY foeX
|
LDY foeX
|
||||||
LDA (ptrBBACK),Y
|
LDA (ptrBBACK),Y
|
||||||
CMP #sprWALL
|
CMP #sprWALL
|
||||||
|
@ -2451,12 +2451,12 @@ L6FEE JMP saveFOEDATA
|
||||||
|
|
||||||
L6FF1 JSR calcFOESPRITEXY
|
L6FF1 JSR calcFOESPRITEXY
|
||||||
JSR drawSPRITEXY
|
JSR drawSPRITEXY
|
||||||
JSR L7595
|
JSR foeNEXTSTEPY
|
||||||
LDA #$FF
|
LDA #$FF
|
||||||
STA foeLEFTRIGHT
|
STA foeLEFTRIGHT
|
||||||
DEC foeSTEPX
|
DEC foeSTEPX
|
||||||
BPL L7026
|
BPL L7026
|
||||||
JSR L753E
|
JSR checkDROPCHEST
|
||||||
LDY foeX
|
LDY foeX
|
||||||
LDA (ptrBBACK),Y
|
LDA (ptrBBACK),Y
|
||||||
CMP #sprWALL
|
CMP #sprWALL
|
||||||
|
@ -2518,14 +2518,14 @@ L707B JMP saveFOEDATA
|
||||||
|
|
||||||
L707E JSR calcFOESPRITEXY
|
L707E JSR calcFOESPRITEXY
|
||||||
JSR drawSPRITEXY
|
JSR drawSPRITEXY
|
||||||
JSR L7595
|
JSR foeNEXTSTEPY
|
||||||
LDA #$01
|
LDA #$01
|
||||||
STA foeLEFTRIGHT
|
STA foeLEFTRIGHT
|
||||||
INC foeSTEPX
|
INC foeSTEPX
|
||||||
LDA foeSTEPX
|
LDA foeSTEPX
|
||||||
CMP #$05
|
CMP #$05
|
||||||
BCC L70B7
|
BCC L70B7
|
||||||
JSR L753E
|
JSR checkDROPCHEST
|
||||||
LDY foeX
|
LDY foeX
|
||||||
LDA (ptrBBACK),Y
|
LDA (ptrBBACK),Y
|
||||||
CMP #sprWALL
|
CMP #sprWALL
|
||||||
|
@ -2568,7 +2568,7 @@ L70D8 STX tempX4
|
||||||
LDA (ptrBBACK),Y
|
LDA (ptrBBACK),Y
|
||||||
CMP #sprWALL
|
CMP #sprWALL
|
||||||
BNE L70F7
|
BNE L70F7
|
||||||
LDA foeC70
|
LDA foeACTION
|
||||||
BEQ L70F7
|
BEQ L70F7
|
||||||
BMI L70F7
|
BMI L70F7
|
||||||
LDA #$03 ; action 3
|
LDA #$03 ; action 3
|
||||||
|
@ -3115,12 +3115,12 @@ L74F7 LDA foeSTEPX
|
||||||
LDA (ptrBBACK),Y
|
LDA (ptrBBACK),Y
|
||||||
CMP #$07
|
CMP #$07
|
||||||
BNE L753D
|
BNE L753D
|
||||||
LDA foeC70
|
LDA foeACTION
|
||||||
BMI L753D
|
BMI L753D
|
||||||
LDA #$FF
|
LDA #$FF
|
||||||
SEC
|
SEC
|
||||||
SBC tempX6
|
SBC tempX6
|
||||||
STA foeC70
|
STA foeACTION
|
||||||
LDA #sprEMPTY
|
LDA #sprEMPTY
|
||||||
STA (ptrBBACK),Y
|
STA (ptrBBACK),Y
|
||||||
LDY foeY
|
LDY foeY
|
||||||
|
@ -3135,11 +3135,17 @@ L74F7 LDA foeSTEPX
|
||||||
JMP drawSPRITEXY
|
JMP drawSPRITEXY
|
||||||
L753D RTS
|
L753D RTS
|
||||||
|
|
||||||
L753E LDA foeC70
|
*-----------------------------------
|
||||||
BPL L7573
|
* FOE DROPS CHEST
|
||||||
INC foeC70
|
*-----------------------------------
|
||||||
|
|
||||||
|
checkDROPCHEST
|
||||||
|
LDA foeACTION
|
||||||
|
BPL L7573 ; skip if positive
|
||||||
|
INC foeACTION ; here is negative
|
||||||
BNE L7573
|
BNE L7573
|
||||||
LDY foeY
|
|
||||||
|
LDY foeY ; here if 0
|
||||||
STY theY
|
STY theY
|
||||||
LDA tblBOARDALLL,Y
|
LDA tblBOARDALLL,Y
|
||||||
STA ptrBBACK
|
STA ptrBBACK
|
||||||
|
@ -3148,18 +3154,18 @@ L753E LDA foeC70
|
||||||
LDY foeX
|
LDY foeX
|
||||||
STY theX
|
STY theX
|
||||||
LDA (ptrBBACK),Y
|
LDA (ptrBBACK),Y
|
||||||
CMP #$00
|
CMP #sprEMPTY
|
||||||
BNE L7571
|
BNE L7571
|
||||||
LDA #$07
|
LDA #sprCHEST
|
||||||
STA (ptrBBACK),Y
|
STA (ptrBBACK),Y
|
||||||
JSR coutHGR2
|
JSR coutHGR2
|
||||||
LDY theY
|
LDY theY
|
||||||
LDX theX
|
LDX theX
|
||||||
JSR getXY
|
JSR getXY
|
||||||
LDA #$07
|
LDA #sprCHEST
|
||||||
JMP drawSPRXYCOLLISION
|
JMP drawSPRXYCOLLISION
|
||||||
|
|
||||||
L7571 DEC foeC70
|
L7571 DEC foeACTION
|
||||||
L7573 RTS
|
L7573 RTS
|
||||||
|
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
|
@ -3179,7 +3185,8 @@ L757D CPX foeINDEX
|
||||||
* SET FOE NEXT STEP X
|
* SET FOE NEXT STEP X
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
|
|
||||||
L7582 LDA foeSTEPX
|
foeNEXTSTEPX
|
||||||
|
LDA foeSTEPX
|
||||||
CMP #$02
|
CMP #$02
|
||||||
BCC L758F
|
BCC L758F
|
||||||
BEQ L7594
|
BEQ L7594
|
||||||
|
@ -3193,7 +3200,8 @@ L7594 RTS
|
||||||
* SET FOE NEXT STEP Y
|
* SET FOE NEXT STEP Y
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
|
|
||||||
L7595 LDA foeSTEPY
|
foeNEXTSTEPY
|
||||||
|
LDA foeSTEPY
|
||||||
CMP #$02
|
CMP #$02
|
||||||
BCC L75A2
|
BCC L75A2
|
||||||
BEQ L75A7
|
BEQ L75A7
|
||||||
|
@ -3216,8 +3224,8 @@ saveFOEDATA LDX idxFOE
|
||||||
STA tblFOESTEPX,X
|
STA tblFOESTEPX,X
|
||||||
LDA foeSTEPY
|
LDA foeSTEPY
|
||||||
STA tblFOESTEPY,X
|
STA tblFOESTEPY,X
|
||||||
LDA foeC70
|
LDA foeACTION
|
||||||
STA L0C70,X
|
STA tblFOEACTION,X
|
||||||
LDA foeLEFTRIGHT
|
LDA foeLEFTRIGHT
|
||||||
STA tblFOELEFTRIGHT,X
|
STA tblFOELEFTRIGHT,X
|
||||||
LDA foeINDEX
|
LDA foeINDEX
|
||||||
|
@ -3241,21 +3249,22 @@ loadFOEDATA LDX idxFOE
|
||||||
STA foeINDEX
|
STA foeINDEX
|
||||||
LDA tblFOELEFTRIGHT,X
|
LDA tblFOELEFTRIGHT,X
|
||||||
STA foeLEFTRIGHT
|
STA foeLEFTRIGHT
|
||||||
LDA L0C70,X
|
LDA tblFOEACTION,X
|
||||||
STA foeC70
|
STA foeACTION
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
*
|
* CHECK HOLE - Who/What is in the hole?
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
|
|
||||||
L75F4 JSR L7716
|
checkHOLE JSR checkRESURRECT
|
||||||
INC tempX6
|
INC tempX6 ; next one
|
||||||
LDA tempX6
|
LDA tempX6
|
||||||
CMP #lvlWIDTH
|
CMP #lvlWIDTH ; ok, we browsed the line
|
||||||
BCC L7603
|
BCC L7603
|
||||||
LDA #$00
|
LDA #$00 ; start again at column 0
|
||||||
STA tempX6
|
STA tempX6
|
||||||
|
|
||||||
L7603 LDX #sizeHOLE-2
|
L7603 LDX #sizeHOLE-2
|
||||||
L7605 LDA tblHOLET,X
|
L7605 LDA tblHOLET,X
|
||||||
STX tempINDEX
|
STX tempINDEX
|
||||||
|
@ -3269,21 +3278,22 @@ L760F DEC tblHOLET,X
|
||||||
LDA tblHOLEY,X
|
LDA tblHOLEY,X
|
||||||
STA theY
|
STA theY
|
||||||
LDA tblHOLET,X
|
LDA tblHOLET,X
|
||||||
CMP #$14
|
CMP #$14 ; 20
|
||||||
BNE L7639
|
BNE L7639
|
||||||
LDA #$37
|
LDA #$37 ; 1er sprite
|
||||||
L7627 JSR coutHGR2
|
L7627 JSR coutHGR2
|
||||||
LDX theX
|
LDX theX
|
||||||
LDY theY
|
LDY theY
|
||||||
JSR getXY
|
JSR getXY
|
||||||
LDA #$00
|
LDA #sprEMPTY
|
||||||
JSR drawSPRITEXY
|
JSR drawSPRITEXY
|
||||||
L7636 JMP L770D
|
L7636 JMP L770D
|
||||||
|
|
||||||
L7639 CMP #$0A
|
L7639 CMP #$0A ; 10
|
||||||
BNE L7636
|
BNE L7636
|
||||||
LDA #$38
|
LDA #$38 ; 2nd sprite
|
||||||
BNE L7627
|
BNE L7627
|
||||||
|
|
||||||
L7641 LDX tempINDEX
|
L7641 LDX tempINDEX
|
||||||
LDY tblHOLEY,X
|
LDY tblHOLEY,X
|
||||||
STY theY
|
STY theY
|
||||||
|
@ -3303,38 +3313,41 @@ L7641 LDX tempINDEX
|
||||||
|
|
||||||
L7667 CMP #sprHERO
|
L7667 CMP #sprHERO
|
||||||
BNE L766D
|
BNE L766D
|
||||||
LSR fgPLAY
|
LSR fgPLAY ; the hero was in the hole... he's dead
|
||||||
L766D CMP #sprFOE
|
L766D CMP #sprFOE
|
||||||
BEQ L767A
|
BEQ L767A ; it was a foe
|
||||||
CMP #sprCHEST
|
CMP #sprCHEST
|
||||||
BNE L7677
|
BNE L7677
|
||||||
DEC nbCHEST
|
DEC nbCHEST ; a chest, remove one
|
||||||
L7677 JMP L7701
|
L7677 JMP L7701
|
||||||
|
|
||||||
L767A LDA #sprWALL
|
*--- kill the foe
|
||||||
|
|
||||||
|
L767A LDA #sprWALL ; put a wall
|
||||||
STA (ptrBOARD),Y
|
STA (ptrBOARD),Y
|
||||||
STA (ptrBBACK),Y
|
STA (ptrBBACK),Y
|
||||||
JSR coutHGR1
|
JSR coutHGR1
|
||||||
LDA #sprWALL
|
LDA #sprWALL
|
||||||
JSR coutHGR2
|
JSR coutHGR2
|
||||||
LDX nbFOE
|
|
||||||
|
LDX nbFOE ; find the foe
|
||||||
L768A LDA tblFOEX,X
|
L768A LDA tblFOEX,X
|
||||||
CMP theX
|
CMP theX
|
||||||
BNE L76FE
|
BNE L76FE
|
||||||
LDA tblFOEY,X
|
LDA tblFOEY,X
|
||||||
CMP theY
|
CMP theY
|
||||||
BNE L76FE
|
BNE L76FE
|
||||||
LDA L0C70,X
|
LDA tblFOEACTION,X ; was he holding a chest?
|
||||||
BPL L769F
|
BPL L769F
|
||||||
DEC nbCHEST
|
DEC nbCHEST ; yes, remove it
|
||||||
L769F LDA #$7F
|
L769F LDA #$7F ; no chest
|
||||||
STA L0C70,X
|
STA tblFOEACTION,X
|
||||||
STX idxFOE
|
STX idxFOE
|
||||||
JSR loadFOEDATA
|
JSR loadFOEDATA
|
||||||
JSR calcFOESPRITEXY
|
JSR calcFOESPRITEXY
|
||||||
JSR drawSPRITEXY
|
JSR drawSPRITEXY
|
||||||
LDX idxFOE
|
LDX idxFOE
|
||||||
LDY #$01
|
LDY #$01 ; we resurrect him on line 1
|
||||||
STY theY
|
STY theY
|
||||||
L76B5 LDY theY
|
L76B5 LDY theY
|
||||||
LDA tblBOARDALLL,Y
|
LDA tblBOARDALLL,Y
|
||||||
|
@ -3343,7 +3356,7 @@ L76B5 LDY theY
|
||||||
STA ptrBBACK+1
|
STA ptrBBACK+1
|
||||||
LDY tempX6
|
LDY tempX6
|
||||||
L76C3 LDA (ptrBBACK),Y
|
L76C3 LDA (ptrBBACK),Y
|
||||||
CMP #sprEMPTY
|
CMP #sprEMPTY ; only if there is a space
|
||||||
BEQ L76D9
|
BEQ L76D9
|
||||||
INC tempX6
|
INC tempX6
|
||||||
LDY tempX6
|
LDY tempX6
|
||||||
|
@ -3382,7 +3395,12 @@ L770D LDX tempINDEX
|
||||||
JMP L7605
|
JMP L7605
|
||||||
L7715 RTS
|
L7715 RTS
|
||||||
|
|
||||||
L7716 LDX nbFOE ; ennemi 0 n'existe pas
|
*-----------------------------------
|
||||||
|
* CHECK RESURRECT - Can/Do we resurrect a foe?
|
||||||
|
*-----------------------------------
|
||||||
|
|
||||||
|
checkRESURRECT
|
||||||
|
LDX nbFOE ; ennemi 0 n'existe pas
|
||||||
BEQ L7715
|
BEQ L7715
|
||||||
LDA idxFOE
|
LDA idxFOE
|
||||||
PHA
|
PHA
|
||||||
|
@ -3391,7 +3409,7 @@ L771D LDA tblFOETEMPO,X
|
||||||
STX idxFOE
|
STX idxFOE
|
||||||
JSR loadFOEDATA
|
JSR loadFOEDATA
|
||||||
LDA #$7F
|
LDA #$7F
|
||||||
STA L0C70,X
|
STA tblFOEACTION,X
|
||||||
LDA tblFOEX,X
|
LDA tblFOEX,X
|
||||||
STA theX
|
STA theX
|
||||||
LDA tblFOEY,X
|
LDA tblFOEY,X
|
||||||
|
@ -3444,7 +3462,7 @@ resurrectFOE
|
||||||
JSR coutHGR2
|
JSR coutHGR2
|
||||||
LDA #$00
|
LDA #$00
|
||||||
LDX idxFOE
|
LDX idxFOE
|
||||||
STA L0C70,X
|
STA tblFOEACTION,X
|
||||||
STA tblFOETEMPO,X
|
STA tblFOETEMPO,X
|
||||||
LDA #sprFOE
|
LDA #sprFOE
|
||||||
JSR coutHGR1
|
JSR coutHGR1
|
||||||
|
@ -5462,8 +5480,7 @@ L880A LDA ptrSTRSND+1
|
||||||
* PLAY MELODY
|
* PLAY MELODY
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
|
|
||||||
playMELODY
|
playMELODY LDY idxNOTE
|
||||||
LDY idxNOTE
|
|
||||||
BEQ L8832
|
BEQ L8832
|
||||||
LDA sndNOTE,Y
|
LDA sndNOTE,Y
|
||||||
LDX sndDURATION,Y
|
LDX sndDURATION,Y
|
||||||
|
@ -5480,8 +5497,8 @@ playMELODY
|
||||||
L8830 SEC
|
L8830 SEC
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
L8832 LDA fgHEROFELL
|
L8832 LDA fgHEROFELL ; is the hero in a hole?
|
||||||
BNE L8844
|
BNE L8844 ; yes
|
||||||
LDA fgSPEED
|
LDA fgSPEED
|
||||||
LSR
|
LSR
|
||||||
INC fgSPEED
|
INC fgSPEED
|
||||||
|
@ -5492,12 +5509,17 @@ L8832 LDA fgHEROFELL
|
||||||
CLC
|
CLC
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
L8844 LDX theSPEED
|
L8844 LDX theSPEED ; wait....
|
||||||
JSR doWAIT
|
JSR doWAIT
|
||||||
CLC
|
CLC
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
L884B LDA tblBOARDALLL,Y
|
*-------------------------------
|
||||||
|
* SET BOARD LINE POINTERS
|
||||||
|
*-------------------------------
|
||||||
|
|
||||||
|
setBOARDLINEPOINTERS
|
||||||
|
LDA tblBOARDALLL,Y
|
||||||
STA ptrBOARD
|
STA ptrBOARD
|
||||||
STA ptrBBACK
|
STA ptrBBACK
|
||||||
LDA tblBOARDALLH,Y
|
LDA tblBOARDALLH,Y
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -78,7 +78,7 @@ tblLADDERIY ds sizeLI ; que 45
|
||||||
sizeFOE = 8 ; on pourrait avoir 8 ennemis
|
sizeFOE = 8 ; on pourrait avoir 8 ennemis
|
||||||
tblFOEX ds sizeFOE ; $0C60 mais le jeu n'en autorise
|
tblFOEX ds sizeFOE ; $0C60 mais le jeu n'en autorise
|
||||||
tblFOEY ds sizeFOE ; que 5
|
tblFOEY ds sizeFOE ; que 5
|
||||||
L0C70 ds sizeFOE
|
tblFOEACTION ds sizeFOE
|
||||||
tblFOESTEPX ds sizeFOE ; animation step in x-coord
|
tblFOESTEPX ds sizeFOE ; animation step in x-coord
|
||||||
tblFOESTEPY ds sizeFOE ; animation step in y-coord
|
tblFOESTEPY ds sizeFOE ; animation step in y-coord
|
||||||
tblFOEINDEX ds sizeFOE ; animation index
|
tblFOEINDEX ds sizeFOE ; animation index
|
||||||
|
|
Loading…
Reference in New Issue
Block a user