123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 |
- ************************************************************************
- * *
- * 044 [ART OF FIGHT] *
- * HIT JUDGE PROGRAM *
- * by S.OKADA from 91/10/22 Tue 16:44 *
- * *
- ************************************************************************
- XDEF HERO1_HIT_JUDGE
- XDEF HERO2_HIT_JUDGE
- XREF ?A5
- SECT GAME,,C
- INCLUDE SYS.INC @@@
- INCLUDE MACRO.INC
- INCLUDE NEO_GEO.INC
- INCLUDE LABEL.INC
- HERO1_HIT_JUDGE:
- LEA.L HERO1_OBJ_START(A5),A6
- MOVE.B #10H,HIT_JUDGE_COUNT(A5)
- H1HJ_1:
- TST.W TYPE(A6)
- BLE H1HJ_7
- TST.B HIT_FLAG(A6)
- BEQ H1HJ_7
- MOVE.B HIT_ACTIVE(A6),D2
- BEQ H1HJ_7
- MOVE.W HIT_LEFT(A6),D3
- MOVE.W HIT_RIGHT(A6),D4
- MOVE.W HIT_UPPER(A6),D5
- MOVE.W HIT_LOWER(A6),D6
- TST.B HIT_FLAG(A6)
- BMI H1HJ_4
- MOVE.B #10H,HIT_JUDGE_COUNT+1(A5)
- LEA.L HERO2_OBJ_START(A5),A4
- H1HJ_2:
- TST.W TYPE(A4)
- BLE H1HJ_3
- TST.B HIT_FLAG(A4)
- BLE H1HJ_3
- MOVE.B D2,D1
- AND.B HIT_PASSIVE(A4),D1
- BEQ H1HJ_3
- CMP.W HIT_RIGHT(A4),D3
- BGT.S H1HJ_3
- CMP.W HIT_LEFT(A4),D4
- BLT.S H1HJ_3
- CMP.W HIT_LOWER(A4),D5
- BLT.S H1HJ_3
- CMP.W HIT_UPPER(A4),D6
- BGT.S H1HJ_3
- MOVE.B WORK_No(A4),HIT_PLAYER(A6)
- MOVE.B WORK_No(A6),HIT_PLAYER(A4)
- OR.B #10000000B,HIT_FLAG(A6)
- OR.B #10000000B,HIT_FLAG(A4)
- ; JMP H1HJ_4(PC)
- H1HJ_3:
- LEA.L 100H(A4),A4
- SUBQ.B #1,HIT_JUDGE_COUNT+1(A5)
- BNE H1HJ_2
- H1HJ_4:
- MOVE.B #96-20H,HIT_JUDGE_COUNT+1(A5)
- LEA.L FREE_OBJ_START(A5),A4
- H1HJ_5:
- TST.W TYPE(A4)
- BLE H1HJ_6
- TST.B HIT_FLAG(A4)
- BLE H1HJ_6
- MOVE.B D2,D1
- AND.B HIT_PASSIVE(A4),D1
- BEQ H1HJ_6
- CMP.W HIT_RIGHT(A4),D3
- BGT.S H1HJ_6
- CMP.W HIT_LEFT(A4),D4
- BLT.S H1HJ_6
- CMP.W HIT_LOWER(A4),D5
- BLT.S H1HJ_6
- CMP.W HIT_UPPER(A4),D6
- BGT.S H1HJ_6
- MOVE.B WORK_No(A4),HIT_OBJ(A6)
- MOVE.B WORK_No(A6),HIT_PLAYER(A4)
- OR.B #01000000B,HIT_FLAG(A6)
- OR.B #10000000B,HIT_FLAG(A4)
- JMP H1HJ_7(PC)
- H1HJ_6:
- LEA.L 100H(A4),A4
- SUBQ.B #1,HIT_JUDGE_COUNT+1(A5)
- BNE H1HJ_5
- H1HJ_7:
- LEA.L 100H(A6),A6
- SUBQ.B #1,HIT_JUDGE_COUNT(A5)
- BNE H1HJ_1
- RTS
- HERO2_HIT_JUDGE:
- LEA.L HERO2_OBJ_START(A5),A6
- MOVE.B #10H,HIT_JUDGE_COUNT(A5)
- H2HJ_1:
- TST.W TYPE(A6)
- BLE H2HJ_4
- TST.B HIT_FLAG(A6)
- BEQ H2HJ_4
- MOVE.B HIT_ACTIVE(A6),D2
- BEQ H2HJ_4
- MOVE.W HIT_LEFT(A6),D3
- MOVE.W HIT_RIGHT(A6),D4
- MOVE.W HIT_UPPER(A6),D5
- MOVE.W HIT_LOWER(A6),D6
- LEA.L FREE_OBJ_START(A5),A4
- MOVE.B #96-20H,HIT_JUDGE_COUNT+1(A5)
- H2HJ_2:
- TST.W TYPE(A4)
- BLE H2HJ_3
- TST.B HIT_FLAG(A4)
- BLE H2HJ_3
- MOVE.B D2,D1
- AND.B HIT_PASSIVE(A4),D1
- BEQ H2HJ_3
- CMP.W HIT_RIGHT(A4),D3
- BGT.S H2HJ_3
- CMP.W HIT_LEFT(A4),D4
- BLT.S H2HJ_3
- CMP.W HIT_LOWER(A4),D5
- BLT.S H2HJ_3
- CMP.W HIT_UPPER(A4),D6
- BGT.S H2HJ_3
- MOVE.B WORK_No(A4),HIT_OBJ(A6)
- MOVE.B WORK_No(A6),HIT_PLAYER(A4)
- OR.B #01000000B,HIT_FLAG(A6)
- OR.B #10000000B,HIT_FLAG(A4)
- JMP H2HJ_4(PC)
- H2HJ_3:
- LEA.L 100H(A4),A4
- SUBQ.B #1,HIT_JUDGE_COUNT+1(A5)
- BNE H2HJ_2
- H2HJ_4:
- LEA.L 100H(A6),A6
- SUBQ.B #1,HIT_JUDGE_COUNT(A5)
- BNE H2HJ_1
- RTS
- INCLUDE WORK.INC
|