Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; =============== S U B R O U T I N E =======================================
- Obj_GarciaDonovan: ; DATA XREF: ROM:Obj_Enemyo
- ; ROM:00021C0Eo
- move.w ObjMode(a0),d0
- add.w d0,d0
- movea.l loc_2503C+2(pc,d0.w),a1
- jsr (a1)
- jsr (Update_SpriteData).l
- btst #0,ObjStatus4(a0) ; BIT 7 10000000 - 80
- ; BIT 6 01000000 - 40
- ; BIT 5 00100000 - 20
- ; BIT 4 00010000 - 10
- ; BIT 3 00001000 - 8
- ; BIT 2 00000100 - 4
- ; BIT 1 00000010 - 2
- ; BIT 0 00000001 - 1 Enable Weapon
- bne.s loc_2503C
- rts
- ; ---------------------------------------------------------------------------
- loc_2503C: ; CODE XREF: Obj_GarciaDonovan+18j
- jmp Obj_WeaponMovement
- ; End of function Obj_GarciaDonovan
- ; ---------------------------------------------------------------------------
- dc.l Obj_GarciaDonovanMove ; 2
- dc.l Enemy_Hit ; 4
- dc.l Enemy_Death ; 6
- dc.l Enemy_Disappear ; 8
- dc.l Enemy_Knockout ; A
- dc.l Enemy_ForwardGrab ; C
- dc.l Enemy_BackwardGrab ; E
- dc.l Enemy_ForwardThrow ; 10
- dc.l Enemy_BackwardThrow ; 12
- dc.l Obj_LoadGarciaData ; 14
- dc.l sub_22D38 ; 16
- dc.l sub_25C70 ; 18
- dc.l Enemy_Attack ; 1A
- dc.l Enemy_Attack ; 1C
- dc.l sub_250BA ; 1E
- dc.l Enemy_Attack ; 20
- dc.l Enemy_BGEntrance ; 22
- dc.l EnemyWeapon ; 24
- dc.l sub_25C2A ; 26
- dc.l sub_26024 ; 28
- dc.l sub_2607E ; 2A
- dc.l sub_260E4 ; 2C
- dc.l Obj_GarciaDwightElbowDrop ; 2E
- dc.l Enemy_Attack ; 30
- dc.l Obj_GarciaDwightGrab ; 32
- dc.l sub_25D0C ; 34
- dc.l sub_25DBE ; 36
- dc.l sub_25EC8 ; 38
- dc.l sub_25FBE ; 3A
- dc.l sub_22CF2 ; 3C
- ; =============== S U B R O U T I N E =======================================
- sub_250BA: ; DATA XREF: ROM:0002507Ao
- move.w #2,ObjMode(a0)
- rts
- ; End of function sub_250BA
- ; =============== S U B R O U T I N E =======================================
- Obj_LoadGarciaData: ; DATA XREF: ROM:00025066o
- ; FUNCTION CHUNK AT 00025E6A SIZE 0000005E BYTES
- clr.w d0
- move.b $DF(a0),d0
- cmpi.b #$A,d0
- bls.s loc_250D6
- move.b #$A,d0
- move.b d0,$DF(a0)
- loc_250D6: ; CODE XREF: Obj_LoadGarciaData+Aj
- lsl.w #5,d0
- lea word_2516E(pc),a3
- lea (a3,d0.w),a3
- lea EnemyMovementData(a0),a2 ; Data for enemy movement ie speed
- moveq #$1F,d0
- loc_250E6: ; CODE XREF: Obj_LoadGarciaData+26j
- move.b (a3)+,(a2)+
- dbf d0,loc_250E6
- move.w #8,$30(a0)
- move.w #$FFFF,CurrentAnimation(a0)
- bset #4,AnimationStatus(a0) ; BIT 7 10000000 - 80
- ; BIT 6 01000000 - 40
- ; BIT 5 00100000 - 20
- ; BIT 4 00010000 - 10
- ; BIT 3 00001000 - 8
- ; BIT 2 00000100 - 4
- ; BIT 1 00000010 - 2
- ; BIT 0 00000001 - 1 set if animation script needs updating
- move.w EnemyMode(a0),d0
- clr.w EnemyMode(a0)
- move.w d0,d1
- beq.w loc_25154
- subq.b #1,d0
- beq.w loc_252CE
- subq.b #1,d0
- beq.w loc_2530A
- subq.b #1,d0
- beq.w loc_254D4
- subq.b #1,d0
- beq.w loc_25330
- subq.b #1,d0
- beq.w loc_25390
- subq.b #1,d0
- beq.w loc_253CC
- subq.b #1,d0
- beq.w loc_25450
- subq.b #1,d0
- beq.w loc_25488
- subq.b #1,d0
- beq.w loc_254EE
- subq.b #1,d0
- beq.w loc_2552E
- subq.b #1,d0
- beq.w loc_25534
- subq.b #1,d0
- beq.w loc_252EC
- loc_25154: ; CODE XREF: Obj_LoadGarciaData+46j
- ; Obj_LoadGarciaData+272j ...
- bclr #0,$DE(a0)
- move.w #2,ObjMode(a0)
- andi.w #1,NextAnimation(a0)
- ori.w #0,NextAnimation(a0)
- rts
- ; ---------------------------------------------------------------------------
- word_2516E: dc.w $514 ; DATA XREF: Obj_LoadGarciaData+16t
- dc.w $230A
- dc.w $6300
- dc.w $2832
- dc.w $2828
- dc.w $404 ; Moving Backward Speed
- dc.w $3206
- dc.w $446
- dc.w $A1E
- dc.w $3C04
- dc.w $325A
- dc.w $406
- dc.w $281E
- dc.w $301
- dc.w $281E ; Punching Speed
- dc.w 0
- dc.w $514,$230A,$6300,$2832,$2828, $606,$3208, $446,$141E,$3204,$2D5A, $608,$281E, $402,$1E1E, 0
- dc.w $514,$230A,$6300,$2832,$2828, $808,$320A, $850,$141E,$1E08,$285A, $C0A,$141E, $404,$1114, 0
- dc.w $50F,$280A,$6300,$2828,$1E28, $A07,$320B, $850,$141E,$1E08,$285A, $C0A,$141E, $604, $E0F, 0
- dc.w $50F,$2814,$6300,$1E28,$1428, $C06,$3C0C, $950,$141E,$1E08,$235A, $E0F,$141E, $704, $C0A, 0
- dc.w $50A,$321E,$6300,$1E1E,$141E, $E05,$3C0E, $A50,$141E,$1E08,$235A, $E0F,$141E, $804, $A08, 0
- dc.w $305,$3214,$6300,$1E1E,$141E,$1008,$3C10, $A50,$141E,$140C,$145A,$1214,$141E, $806, $806, 0
- dc.w $305,$3214,$6300,$1E1E,$141E,$1208,$3C12, $A50,$141E,$140C,$145A,$1214,$141E, $806, $604, 0
- dc.w $305,$3C0A,$6300,$1E14,$141E,$1408,$3C14, $A50,$141E,$140C, $F5A,$1619,$141E, $806, $404, 0
- dc.w $305,$3C0A,$6300,$1E14,$141E,$1608,$3C16, $A50,$141E,$140C, $F5A,$1819,$141E, $80A, $202, 0
- dc.w $305,$3C0A,$6300,$1E14,$141E,$2008,$3C20, $A50,$141E,$140E, $F5A,$201E,$141E, $80A, $101, 0
- ; ---------------------------------------------------------------------------
- loc_252CE: ; CODE XREF: Obj_LoadGarciaData+4Cj
- bclr #0,$DE(a0)
- move.w #$16,ObjMode(a0)
- andi.w #1,NextAnimation(a0)
- ori.w #$54,NextAnimation(a0) ; 'T'
- jmp sub_22D38
- ; ---------------------------------------------------------------------------
- loc_252EC: ; CODE XREF: Obj_LoadGarciaData+8Ej
- bclr #0,$DE(a0)
- move.w #$16,ObjMode(a0)
- andi.w #1,NextAnimation(a0)
- ori.w #0,NextAnimation(a0)
- jmp sub_22D38
- ; ---------------------------------------------------------------------------
- loc_2530A: ; CODE XREF: Obj_LoadGarciaData+52j
- bclr #7,ObjStatus1(a0) ; BIT 7 10000000 - 80 Obj Active
- ; BIT 6 01000000 - 40 Obj Pickup
- ; BIT 5 00100000 - 20 Main Character hold Partner/Enemy
- ; BIT 4 00010000 - 10 Partner/Enemy hold Main Character
- ; BIT 3 00001000 - 8 Attack flag
- ; BIT 2 00000100 - 4 Hit flag
- ; BIT 1 00000010 - 2
- ; BIT 0 00000001 - 1
- bclr #4,AnimationStatus(a0) ; BIT 7 10000000 - 80
- ; BIT 6 01000000 - 40
- ; BIT 5 00100000 - 20
- ; BIT 4 00010000 - 10
- ; BIT 3 00001000 - 8
- ; BIT 2 00000100 - 4
- ; BIT 1 00000010 - 2
- ; BIT 0 00000001 - 1 set if animation script needs updating
- bset #7,ObjStatus3(a0) ; BIT 7 10000000 - 80 Boundry (if set can go through scenery)
- ; BIT 6 01000000 - 40
- ; BIT 5 00100000 - 20
- ; BIT 4 00010000 - 10
- ; BIT 3 00001000 - 8
- ; BIT 2 00000100 - 4
- ; BIT 1 00000010 - 2
- ; BIT 0 00000001 - 1
- move.w #$22,ObjMode(a0) ; '"'
- andi.w #1,NextAnimation(a0)
- ori.w #2,NextAnimation(a0)
- rts
- ; ---------------------------------------------------------------------------
- loc_25330: ; CODE XREF: Obj_LoadGarciaData+5Ej
- jsr sub_22B0E(pc)
- bcs.w loc_25154
- move.w a2,$70(a0)
- bset #0,$5B(a0)
- move.w a0,$70(a2)
- move.w #$58,$74(a0) ; 'X'
- move.w #$58,ObjID(a2) ; 'X'
- lea (byte_259AC).l,a3
- moveq #0,d0
- move.b $DF(a0),d0
- move.b (a3,d0.w),SmallCharPic(a2)
- jsr sub_25BEC(pc)
- bclr #0,$DE(a0)
- clr.w $D4(a0)
- clr.w EnemyMode(a0)
- clr.w EnemyModeTimer(a0)
- move.w #$24,ObjMode(a0) ; '$'
- andi.w #1,NextAnimation(a0)
- ori.w #$4A,NextAnimation(a0) ; 'J'
- bra.w EnemyWeapon
- ; ---------------------------------------------------------------------------
- loc_25390: ; CODE XREF: Obj_LoadGarciaData+64j
- jsr sub_22B0E(pc)
- bcs.w loc_25154
- move.w a2,$70(a0)
- bset #0,$5B(a0)
- move.w a0,$70(a2)
- move.w #$5A,$74(a0) ; 'Z'
- move.w #$5A,$C(a2) ; 'Z'
- lea (byte_259A0).l,a3
- moveq #0,d0
- move.b $DF(a0),d0
- move.b (a3,d0.w),$1F(a2)
- jsr sub_25BEC(pc)
- bra.w loc_25154
- ; ---------------------------------------------------------------------------
- loc_253CC: ; CODE XREF: Obj_LoadGarciaData+6Aj
- bsr.w sub_22B0E
- bcs.w loc_25488
- move.w a2,HeldObj(a0) ; Address of Obj holding current Obj
- bset #0,ObjStatus4(a0) ; BIT 7 10000000 - 80
- ; BIT 6 01000000 - 40
- ; BIT 5 00100000 - 20
- ; BIT 4 00010000 - 10
- ; BIT 3 00001000 - 8
- ; BIT 2 00000100 - 4
- ; BIT 1 00000010 - 2
- ; BIT 0 00000001 - 1 Enable Weapon
- move.w a0,HeldObj(a2) ; Address of Obj holding current Obj
- move.w #$58,$74(a0) ; 'X'
- move.w #$58,ObjID(a2) ; 'X'
- lea (byte_259AC).l,a3
- moveq #0,d0
- move.b $DF(a0),d0
- move.b (a3,d0.w),$1F(a2)
- jsr sub_25BEC(pc)
- bclr #0,$DE(a0)
- bclr #7,SpriteStatus(a0)
- clr.l JumpingHPosInertia(a0)
- clr.l JumpingVPosInertia(a0)
- move.l #$FF000000,Throw_V_Inertia(a0)
- addi.l #-$1000000,CameraY(a0)
- bclr #7,ObjStatus1(a0) ; BIT 7 10000000 - 80 Obj Active
- ; BIT 6 01000000 - 40 Obj Pickup
- ; BIT 5 00100000 - 20 Main Character hold Partner/Enemy
- ; BIT 4 00010000 - 10 Partner/Enemy hold Main Character
- ; BIT 3 00001000 - 8 Attack flag
- ; BIT 2 00000100 - 4 Hit flag
- ; BIT 1 00000010 - 2
- ; BIT 0 00000001 - 1
- move.w #$2C,ObjMode(a0) ; ','
- andi.w #1,NextAnimation(a0)
- ori.w #$5C,NextAnimation(a0) ; '\'
- move.l #$103F035D,d0
- jsr (PlaySound).l
- bra.w sub_260E4
- ; ---------------------------------------------------------------------------
- loc_25450: ; CODE XREF: Obj_LoadGarciaData+70j
- move.l #$FF000000,Throw_V_Inertia(a0)
- addi.l #-$1000000,CameraY(a0)
- bset #7,SpriteStatus(a0)
- bset #4,ObjStatus3(a0) ; BIT 7 10000000 - 80 Boundry (if set can go through scenery)
- ; BIT 6 01000000 - 40
- ; BIT 5 00100000 - 20
- ; BIT 4 00010000 - 10
- ; BIT 3 00001000 - 8
- ; BIT 2 00000100 - 4
- ; BIT 1 00000010 - 2
- ; BIT 0 00000001 - 1
- bset #5,ObjStatus4(a0) ; BIT 7 10000000 - 80
- ; BIT 6 01000000 - 40
- ; BIT 5 00100000 - 20
- ; BIT 4 00010000 - 10
- ; BIT 3 00001000 - 8
- ; BIT 2 00000100 - 4
- ; BIT 1 00000010 - 2
- ; BIT 0 00000001 - 1 Enable Weapon
- move.w #$28,ObjMode(a0) ; '('
- andi.w #1,NextAnimation(a0)
- ori.w #4,NextAnimation(a0)
- bra.w sub_26024
- ; ---------------------------------------------------------------------------
- loc_25488: ; CODE XREF: Obj_LoadGarciaData+76j
- ; Obj_LoadGarciaData+30Ej
- bclr #0,$DE(a0)
- bclr #7,$A(a0)
- clr.l $48(a0)
- clr.l $4C(a0)
- bset #5,$5B(a0)
- move.l #$FF000000,$3C(a0)
- addi.l #-$1000000,6(a0)
- move.w #$2A,0(a0) ; '*'
- andi.w #1,$E(a0)
- ori.w #4,$E(a0)
- move.l #$FF3F035D,d0
- jsr (PlaySound).l
- bra.w sub_2607E
- ; ---------------------------------------------------------------------------
- loc_254D4: ; CODE XREF: Obj_LoadGarciaData+58j
- move.l #$FFA80000,$3C(a0)
- move.l #$10000,$48(a0)
- move.l #$FFFC0000,$4C(a0)
- bra.s loc_25506
- ; ---------------------------------------------------------------------------
- loc_254EE: ; CODE XREF: Obj_LoadGarciaData+7Cj
- move.l #$FFD00000,$3C(a0)
- move.l #$10000,$48(a0)
- move.l #$FFFB0000,$4C(a0)
- loc_25506: ; CODE XREF: Obj_LoadGarciaData+42Aj
- bset #4,$5A(a0)
- bset #7,$5A(a0)
- move.w #$36,0(a0) ; '6'
- andi.w #1,$E(a0)
- ori.w #$54,$E(a0) ; 'T'
- clr.w $CE(a0)
- jmp sub_25DBE
- ; ---------------------------------------------------------------------------
- loc_2552E: ; CODE XREF: Obj_LoadGarciaData+82j
- jmp loc_25E6A
- ; ---------------------------------------------------------------------------
- loc_25534: ; CODE XREF: Obj_LoadGarciaData+88j
- move.w #$120,VPos(a0)
- move.w #$120,CameraY(a0)
- bclr #7,$58(a0)
- bset #7,$5A(a0)
- andi.w #1,$E(a0)
- ori.w #2,$E(a0)
- move.w #$3C,0(a0) ; '<'
- jmp sub_22CF2
- ; ---------------------------------------------------------------------------
- jsr Chk_Hit
- jsr Chk_EnemyGrab
- btst #0,$1E(a0)
- bne.s loc_25580
- jsr Chk_CharacterCollision
- rts
- ; ---------------------------------------------------------------------------
- loc_25580: ; CODE XREF: Obj_LoadGarciaData+4B4j
- andi.w #1,NextAnimation(a0)
- ori.w #0,NextAnimation(a0)
- move.w #2,ObjMode(a0)
- rts
- ; ---------------------------------------------------------------------------
- Obj_GarciaDonovanMove: ; DATA XREF: ROM:00025042o
- cmpi.w #Garcia,ObjID(a0) ; Is it Garcia
- bne.s loc_255AE ; If not then branch
- btst #0,ObjStatus4(a0) ; Does Garcia have a weapon
- beq.s loc_255AE ; If no then branch
- move.w #$24,ObjMode(a0) ; '$'
- bra.w EnemyWeapon
- ; ---------------------------------------------------------------------------
- loc_255AE: ; CODE XREF: Obj_LoadGarciaData+4D8j
- ; Obj_LoadGarciaData+4E0j
- jsr Chk_Hit
- jsr Chk_EnemyGrab
- bsr.w Chk_ObjDistance
- bcs.w loc_255FE
- bsr.w sub_2200C
- cmpi.w #$18,d0
- bcc.w loc_255D6
- loc_255CE: ; DATA XREF: Obj_LoadGarciaData:word_255F2t
- bsr.w sub_22954
- bsr.w Chk_CharacterDistance
- loc_255D6: ; CODE XREF: Obj_LoadGarciaData+508j
- move.w EnemyMode(a0),d0
- add.w d0,d0
- lea off_255E4(pc,d0.w),a1
- adda.w (a1),a1
- jmp (a1)
- ; ---------------------------------------------------------------------------
- off_255E4: dc.w Obj_GarciaDonovan_Stationary-off_255E4
- ; DATA XREF: Obj_LoadGarciaData:off_255E4o
- off_255E6: dc.w Obj_GarciaDonovan_Forward-off_255E6
- ; DATA XREF: Obj_LoadGarciaData:off_255E6o
- off_255E8: dc.w loc_256A8-off_255E8 ; DATA XREF: Obj_LoadGarciaData:off_255E8o
- off_255EA: dc.w Obj_GarciaDonovan_Backward-off_255EA
- ; DATA XREF: Obj_LoadGarciaData:off_255EAo
- off_255EC: dc.w Obj_GarciaDonovan_ForwardDown-off_255EC
- ; DATA XREF: Obj_LoadGarciaData:off_255ECo
- off_255EE: dc.w Obj_GarciaDonovan_BackwardDown-off_255EE
- ; DATA XREF: Obj_LoadGarciaData:off_255EEo
- off_255F0: dc.w Obj_GarciaDonovan_Up-off_255F0
- ; DATA XREF: Obj_LoadGarciaData:off_255F0o
- word_255F2: dc.w loc_255CE-word_255F2 ; DATA XREF: Obj_LoadGarciaData:word_255F2t
- off_255F4: dc.w loc_256E8-off_255F4 ; DATA XREF: Obj_LoadGarciaData:off_255F4o
- off_255F6: dc.w loc_25734-off_255F6 ; DATA XREF: Obj_LoadGarciaData:off_255F6o
- off_255F8: dc.w loc_257A2-off_255F8 ; DATA XREF: Obj_LoadGarciaData:off_255F8o
- off_255FA: dc.w loc_257DA-off_255FA ; DATA XREF: Obj_LoadGarciaData:off_255FAo
- off_255FC: dc.w loc_256DC-off_255FC ; DATA XREF: Obj_LoadGarciaData:off_255FCo
- ; ---------------------------------------------------------------------------
- loc_255FE: ; CODE XREF: Obj_LoadGarciaData+4FCj
- bsr.w Chk_CharacterDistance
- bcs.w loc_2562C
- bsr.w sub_2200C
- move.w #2,EnemyModeTimer(a0)
- move.w #$60,d0 ; '`'
- bsr.w sub_22470
- bcs.s Obj_GarciaDonovan_Stationary
- tst.w d0
- bmi.s Obj_GarciaDonovan_Stationary
- move.w d0,$D2(a0)
- move.w #$C,EnemyMovementSpeed(a0)
- bra.w loc_256DC
- ; ---------------------------------------------------------------------------
- loc_2562C: ; CODE XREF: Obj_LoadGarciaData+540j
- cmpi.w #1,EnemyModeTimer(a0)
- beq.s loc_25642
- move.w EnemyMode(a0),d0
- beq.w Obj_GarciaDonovan_Stationary
- subq.w #1,d0
- beq.w loc_256DC
- loc_25642: ; CODE XREF: Obj_LoadGarciaData+570j
- jmp loc_227DC
- ; ---------------------------------------------------------------------------
- Obj_GarciaDonovan_Stationary: ; CODE XREF: Obj_LoadGarciaData+556j
- ; Obj_LoadGarciaData+55Aj ...
- andi.w #1,NextAnimation(a0)
- ori.w #0,NextAnimation(a0)
- loc_25654: ; CODE XREF: Obj_LoadGarciaData+622j
- subq.w #1,EnemyModeTimer(a0)
- bmi.w loc_25814
- rts
- ; ---------------------------------------------------------------------------
- Obj_GarciaDonovan_ForwardDown: ; DATA XREF: Obj_LoadGarciaData:off_255ECo
- move.w $D4(a0),d0
- bsr.w sub_223F2
- move.w d0,$D2(a0)
- bra.w Obj_GarciaDonovan_Forward
- ; ---------------------------------------------------------------------------
- Obj_GarciaDonovan_Backward: ; DATA XREF: Obj_LoadGarciaData:off_255EAo
- move.w $D4(a0),d0
- bsr.w sub_22470
- bcs.s Obj_GarciaDonovan_Stationary
- tst.w d0
- bmi.s Obj_GarciaDonovan_Stationary
- move.w d0,$D2(a0)
- bra.w Obj_GarciaDonovan_Forward
- ; ---------------------------------------------------------------------------
- Obj_GarciaDonovan_BackwardDown: ; DATA XREF: Obj_LoadGarciaData:off_255EEo
- bsr.w sub_22388
- bcs.s Obj_GarciaDonovan_Stationary
- bchg #2,d0
- move.w d0,$D2(a0)
- bra.w loc_256DC
- ; ---------------------------------------------------------------------------
- Obj_GarciaDonovan_Up: ; DATA XREF: Obj_LoadGarciaData:off_255F0o
- bsr.w sub_22388
- bcs.s Obj_GarciaDonovan_Stationary
- add.w $D4(a0),d0
- move.w d0,$D2(a0)
- bra.w loc_256DC
- ; ---------------------------------------------------------------------------
- loc_256A8: ; DATA XREF: Obj_LoadGarciaData:off_255E8o
- bsr.w sub_22388
- bcs.s Obj_GarciaDonovan_Stationary
- move.w d0,$D2(a0)
- Obj_GarciaDonovan_Forward: ; CODE XREF: Obj_LoadGarciaData+5A8j
- ; Obj_LoadGarciaData+5BEj
- ; DATA XREF: ...
- btst #7,ObjStatus1(a2) ; BIT 7 10000000 - 80 Obj Active
- ; BIT 6 01000000 - 40 Obj Pickup
- ; BIT 5 00100000 - 20 Main Character hold Partner/Enemy
- ; BIT 4 00010000 - 10 Partner/Enemy hold Main Character
- ; BIT 3 00001000 - 8 Attack flag
- ; BIT 2 00000100 - 4 Hit flag
- ; BIT 1 00000010 - 2
- ; BIT 0 00000001 - 1
- beq.w loc_256DC
- cmpi.w #7,d3
- bhi.w loc_256DC
- btst #0,ObjStatus4(a0) ; BIT 7 10000000 - 80
- ; BIT 6 01000000 - 40
- ; BIT 5 00100000 - 20
- ; BIT 4 00010000 - 10
- ; BIT 3 00001000 - 8
- ; BIT 2 00000100 - 4
- ; BIT 1 00000010 - 2
- ; BIT 0 00000001 - 1 Enable Weapon
- beq.s loc_256D4
- cmpi.w #$48,d2 ; 'H'
- bls.w loc_25814
- loc_256D4: ; CODE XREF: Obj_LoadGarciaData+608j
- cmpi.w #$32,d2 ; '2'
- bls.w loc_25814
- loc_256DC: ; CODE XREF: Obj_LoadGarciaData+566j
- ; Obj_LoadGarciaData+57Cj ...
- move.w #2,d3
- bsr.w sub_22596
- bra.w loc_25654
- ; ---------------------------------------------------------------------------
- loc_256E8: ; DATA XREF: Obj_LoadGarciaData:off_255F4o
- cmpi.w #7,d3
- bhi.w loc_25814
- cmpi.w #$32,d2 ; '2'
- bhi.w loc_25814
- subq.w #1,EnemyModeTimer(a0)
- bpl.w locret_25732
- addq.w #1,EnemyMode(a0)
- move.b $FD(a0),d0
- bsr.w sub_22A0A
- add.b $FC(a0),d0
- move.w d0,EnemyModeTimer(a0)
- move.w #$1A,ObjMode(a0)
- andi.w #1,NextAnimation(a0)
- ori.w #$48,NextAnimation(a0) ; 'H'
- move.l #$A00216,d0
- jsr (PlaySound).l
- locret_25732: ; CODE XREF: Obj_LoadGarciaData+63Aj
- ; Obj_LoadGarciaData+686j ...
- rts
- ; ---------------------------------------------------------------------------
- loc_25734: ; DATA XREF: Obj_LoadGarciaData:off_255F6o
- cmpi.w #7,d3
- bhi.w loc_25814
- cmpi.w #$28,d2 ; '('
- bhi.w loc_25814
- subq.w #1,$D0(a0)
- bpl.s locret_25732
- move.w #$1A,0(a0)
- andi.w #1,$E(a0)
- ori.w #$48,$E(a0) ; 'H'
- move.l #$A00216,d0
- jsr (PlaySound).l
- cmpi.w #$E,$C(a0)
- bne.s loc_2577C
- move.w #7,$CE(a0)
- clr.w $D0(a0)
- rts
- ; ---------------------------------------------------------------------------
- loc_2577C: ; CODE XREF: Obj_LoadGarciaData+6ACj
- addq.w #1,$CE(a0)
- jsr (sub_211A).l
- andi.b #3,d0
- bne.s loc_25790
- addq.w #1,$CE(a0)
- loc_25790: ; CODE XREF: Obj_LoadGarciaData+6C8j
- move.b $FD(a0),d0
- bsr.w sub_22A0A
- add.b $FC(a0),d0
- move.w d0,$D0(a0)
- rts
- ; ---------------------------------------------------------------------------
- loc_257A2: ; DATA XREF: Obj_LoadGarciaData:off_255F8o
- cmpi.w #7,d3
- bhi.w loc_25814
- subq.w #1,$D0(a0)
- bpl.s locret_25732
- move.w #7,$CE(a0)
- clr.w $D0(a0)
- move.w #$1C,0(a0)
- andi.w #1,$E(a0)
- ori.w #$4A,$E(a0) ; 'J'
- move.l #$A20216,d0
- jsr (PlaySound).l
- rts
- ; ---------------------------------------------------------------------------
- loc_257DA: ; DATA XREF: Obj_LoadGarciaData:off_255FAo
- cmpi.w #7,d3
- bhi.w loc_25814
- subq.w #1,$D0(a0)
- bpl.w locret_25732
- move.w #7,$CE(a0)
- clr.w $D0(a0)
- move.w #$30,0(a0) ; '0'
- andi.w #1,$E(a0)
- ori.w #$4C,$E(a0) ; 'L'
- move.l #$A20214,d0
- jsr (PlaySound).l
- rts
- ; ---------------------------------------------------------------------------
- loc_25814: ; CODE XREF: Obj_LoadGarciaData+596j
- ; Obj_LoadGarciaData+60Ej ...
- btst #6,$89(a0)
- bne.w loc_2597E
- jsr sub_22BA6(pc)
- bcs.w loc_2595C
- btst #0,ObjStatus4(a0) ; BIT 7 10000000 - 80
- ; BIT 6 01000000 - 40
- ; BIT 5 00100000 - 20
- ; BIT 4 00010000 - 10
- ; BIT 3 00001000 - 8
- ; BIT 2 00000100 - 4
- ; BIT 1 00000010 - 2
- ; BIT 0 00000001 - 1 Enable Weapon
- bne.s loc_25854
- jsr sub_22A78
- bcc.s loc_25854
- cmpi.w #Garcia,ObjID(a0)
- beq.s loc_2584A
- cmpi.w #$5A,ObjID(a3) ; 'Z'
- beq.w loc_25956
- bra.s loc_25854
- ; ---------------------------------------------------------------------------
- loc_2584A: ; CODE XREF: Obj_LoadGarciaData+77Aj
- cmpi.w #$58,$C(a3) ; 'X'
- beq.w loc_25956
- loc_25854: ; CODE XREF: Obj_LoadGarciaData+76Aj
- ; Obj_LoadGarciaData+772j ...
- bsr.w Chk_ObjDistance
- bcs.w sub_2287A
- cmpi.w #$A0,d0 ; ' '
- bgt.w sub_2297E
- cmpi.w #$78,d0 ; 'x'
- bgt.w sub_22920
- cmpi.w #7,d3
- bhi.s loc_258B2
- jsr sub_22A50(pc)
- bcs.w sub_22920
- btst #7,$58(a2)
- beq.s loc_258B2
- cmpi.w #$10,$C(a0)
- beq.s loc_2589C
- move.w ($FFFFF608).w,d6
- andi.w #2,d6
- bne.s loc_2589C
- cmpi.w #$60,d0 ; '`'
- bgt.w loc_25936
- loc_2589C: ; CODE XREF: Obj_LoadGarciaData+7C6j
- ; Obj_LoadGarciaData+7D0j
- btst #0,$5B(a0)
- beq.s loc_258AC
- cmpi.w #$4A,d2 ; 'J'
- bls.w loc_2590C
- loc_258AC: ; CODE XREF: Obj_LoadGarciaData+7E0j
- cmpi.w #$32,d2 ; '2'
- bls.s loc_258B8
- loc_258B2: ; CODE XREF: Obj_LoadGarciaData+7AEj
- ; Obj_LoadGarciaData+7BEj ...
- bsr.w sub_22830
- rts
- ; ---------------------------------------------------------------------------
- loc_258B8: ; CODE XREF: Obj_LoadGarciaData+7EEj
- cmpi.w #$E,$C(a0)
- beq.s loc_258DA
- btst #0,$5B(a0)
- bne.w loc_2590C
- cmpi.b #5,$DF(a0)
- bcs.w loc_258DA
- tst.w $3C(a2)
- bne.s loc_258F2
- loc_258DA: ; CODE XREF: Obj_LoadGarciaData+7FCj
- ; Obj_LoadGarciaData+80Ej
- move.w #8,$CE(a0)
- move.b $FD(a0),d0
- bsr.w sub_22A0A
- add.b $FC(a0),d0
- move.w d0,$D0(a0)
- rts
- ; ---------------------------------------------------------------------------
- loc_258F2: ; CODE XREF: Obj_LoadGarciaData+816j
- move.w #$A,$CE(a0)
- move.b $FD(a0),d0
- bsr.w sub_22A0A
- add.b $FC(a0),d0
- lsr.w #1,d0
- move.w d0,$D0(a0)
- rts
- ; ---------------------------------------------------------------------------
- loc_2590C: ; CODE XREF: Obj_LoadGarciaData+7E6j
- ; Obj_LoadGarciaData+804j
- move.w #7,$CE(a0)
- clr.w $D0(a0)
- move.w #$20,0(a0) ; ' '
- andi.w #1,$E(a0)
- ori.w #$4E,$E(a0) ; 'N'
- move.l #$103F0343,d0
- jsr (PlaySound).l
- rts
- ; ---------------------------------------------------------------------------
- loc_25936: ; CODE XREF: Obj_LoadGarciaData+7D6j
- cmpi.w #7,d3
- bhi.w loc_258B2
- clr.w $CE(a0)
- andi.w #1,$E(a0)
- ori.w #$50,$E(a0) ; 'P'
- move.w #$2E,0(a0) ; '.'
- rts
- ; ---------------------------------------------------------------------------
- loc_25956: ; CODE XREF: Obj_LoadGarciaData+782j
- ; Obj_LoadGarciaData+78Ej
- jsr sub_22AD8
- loc_2595C: ; CODE XREF: Obj_LoadGarciaData+760j
- clr.w $CE(a0)
Add Comment
Please, Sign In to add comment