chase player script

digit2600

Member
I'm trying to write a basic enemy chases player left and right script, and I keep striking out here...

Basically, I'm trying to do this:
If(playerX>objectX){enemy dir == right}else{enemy dir==left}

My asm skills are really pretty crappy, but this is how I've attempted to rewrite that:

Ldx player_object
Lda object_movement_x
Cmp
BMI move left
(Move right script)
MoveLeft:
(MoveLeft script)
Rts

Have I completely shit out here ?
 

digit2600

Member
Fuckin' shit, I got it... Studied MistSonatas and Natendo's scripts, but ended up gutting them and inserting the original Left and right movement scripts.
LDY player1_object
LDA #$00
STA temp
LDA Object_x_hi,y
CMP Object_x_hi,x
BCC moveLeft
LDA #%000000010
STA Object_movement,x
TAY
LDA DirectionMovementTable,y
STA temp
TYA ;; the 0-7 value for direction
ORA temp
STA Object_movement,x
JMP+
moveLeft:

LDA #%000000110
STA Object_movement,x
TAY
LDA DirectionMovementTable,y
STA temp
TYA ;; the 0-7 value for direction
ORA temp
STA Object_movement,x
+
RTS
 

dale_coop

Moderator
Staff member
Oh, sure, here's the fixed script:
Code:
LDY player1_object
LDA #$00
STA temp
LDA Object_x_hi,y
CMP Object_x_hi,x
BCC moveLeft
    TXA   
    STA tempA
    LDA #FACE_RIGHT
    TAY
    JMP+
moveLeft:
    TXA   
    STA tempA
    LDA #FACE_LEFT
    TAY
+
    LDA DirectionTableOrdered,y
    STA tempB
    LDA FacingTableOrdered,y
    STA tempC
    StartMoving tempA, tempB, #$00
    ChangeFacingDirection tempA, tempC
RTS
 
Top Bottom