mirror of
https://github.com/pret/pmd-sky.git
synced 2026-08-07 19:48:42 -05:00
Decomp IsRealMove
This commit is contained in:
parent
5d30f28cd6
commit
fcca1fecac
|
|
@ -95,6 +95,7 @@
|
|||
.public GroupOamObjs
|
||||
.public InitOamInfo
|
||||
.public IqSkillFlagTest
|
||||
.public IsRealMove
|
||||
.public LANGUAGE_INFO_DATA
|
||||
.public LoadFileFromRom
|
||||
.public LoadScriptVariableValue
|
||||
|
|
@ -1,53 +1,8 @@
|
|||
.include "asm/macros.inc"
|
||||
.include "main_02014E64.inc"
|
||||
.include "main_02014EF8.inc"
|
||||
|
||||
.text
|
||||
|
||||
arm_func_start IsRealMove
|
||||
IsRealMove: ; 0x02014E64
|
||||
cmp r0, #0
|
||||
moveq r0, #0
|
||||
bxeq lr
|
||||
ldr r1, _02014EEC ; =0x000001D3
|
||||
cmp r0, r1
|
||||
moveq r0, #0
|
||||
bxeq lr
|
||||
cmp r0, #0x160
|
||||
moveq r0, #0
|
||||
bxeq lr
|
||||
sub r1, r1, #0x70
|
||||
cmp r0, r1
|
||||
blo _02014EA4
|
||||
cmp r0, #0x168
|
||||
movlo r0, #0
|
||||
bxlo lr
|
||||
_02014EA4:
|
||||
cmp r0, #0x168
|
||||
bls _02014EBC
|
||||
ldr r1, _02014EF0 ; =0x0000018A
|
||||
cmp r0, r1
|
||||
movlo r0, #0
|
||||
bxlo lr
|
||||
_02014EBC:
|
||||
ldr r1, _02014EF0 ; =0x0000018A
|
||||
cmp r0, r1
|
||||
bls _02014ED8
|
||||
add r1, r1, #0x23
|
||||
cmp r0, r1
|
||||
movls r0, #0
|
||||
bxls lr
|
||||
_02014ED8:
|
||||
ldr r1, _02014EF4 ; =0x0000021F
|
||||
cmp r0, r1
|
||||
movhs r0, #0
|
||||
movlo r0, #1
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_02014EEC: .word 0x000001D3
|
||||
_02014EF0: .word 0x0000018A
|
||||
_02014EF4: .word 0x0000021F
|
||||
arm_func_end IsRealMove
|
||||
|
||||
arm_func_start IsMovesetValid
|
||||
IsMovesetValid: ; 0x02014EF8
|
||||
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
||||
|
|
@ -28,4 +28,6 @@ bool8 IsOneHitKoMove(enum move_id move_id);
|
|||
// Checks if the move is not a two turn move or sketch
|
||||
bool8 IsNot2TurnsMoveOrSketch(enum move_id move_id);
|
||||
|
||||
bool8 IsRealMove(enum move_id move_id);
|
||||
|
||||
#endif //PMDSKY_MAIN_02014CEC_H
|
||||
|
|
|
|||
2
main.lsf
2
main.lsf
|
|
@ -79,7 +79,7 @@ Static main
|
|||
Object src/main_02014A4C.o
|
||||
Object asm/main_02014B1C.o
|
||||
Object src/main_02014CEC.o
|
||||
Object asm/main_02014E64.o
|
||||
Object asm/main_02014EF8.o
|
||||
Object src/main_020251AC.o
|
||||
Object asm/main_020251F0.o
|
||||
Object src/main_02025788.o
|
||||
|
|
|
|||
|
|
@ -80,3 +80,118 @@ bool8 IsNot2TurnsMoveOrSketch(enum move_id move_id)
|
|||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool8 IsRealMove(enum move_id move_id)
|
||||
{
|
||||
if (move_id == MOVE_NOTHING) return FALSE;
|
||||
if (move_id == MOVE_JUDGMENT) return FALSE;
|
||||
if (move_id == MOVE_STRUGGLE) return FALSE;
|
||||
|
||||
// MOVE_REGULAR_ATTACK
|
||||
// MOVE_IS_WATCHING
|
||||
// MOVE_BIDE_UNLEASH
|
||||
// MOVE_REVENGE_UNLEASH
|
||||
// MOVE_AVALANCHE_UNLEASH
|
||||
if ((move_id >= MOVE_REGULAR_ATTACK) && (move_id < MOVE_WIDE_SLASH)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// MOVE_UNNAMED_0x169
|
||||
// MOVE_UNNAMED_0x16A
|
||||
// MOVE_SEE_TRAP
|
||||
// MOVE_TAKEAWAY
|
||||
// MOVE_REBOUND
|
||||
// MOVE_BLOOP_SLASH
|
||||
// MOVE_SWITCHER
|
||||
// MOVE_BLOWBACK
|
||||
// MOVE_WARP
|
||||
// MOVE_TRANSFER
|
||||
// MOVE_SLOW_DOWN
|
||||
// MOVE_SPEED_BOOST
|
||||
// MOVE_SEARCHLIGHT
|
||||
// MOVE_PETRIFY
|
||||
// MOVE_STAY_AWAY
|
||||
// MOVE_POUNCE
|
||||
// MOVE_TRAWL
|
||||
// MOVE_CLEANSE
|
||||
// MOVE_OBSERVER
|
||||
// MOVE_DECOY_MAKER
|
||||
// MOVE_SIESTA
|
||||
// MOVE_TOTTER
|
||||
// MOVE_TWO_EDGE
|
||||
// MOVE_NO_MOVE
|
||||
// MOVE_ESCAPE
|
||||
// MOVE_SCAN
|
||||
// MOVE_POWER_EARS
|
||||
// MOVE_DROUGHT
|
||||
// MOVE_TRAP_BUSTER
|
||||
// MOVE_WILD_CALL
|
||||
// MOVE_INVISIFY
|
||||
// MOVE_ONE_SHOT
|
||||
// MOVE_HP_GAUGE
|
||||
if ((move_id > MOVE_WIDE_SLASH) && (move_id < MOVE_VACUUM_CUT)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// MOVE_REVIVER
|
||||
// MOVE_SHOCKER
|
||||
// MOVE_ECHO
|
||||
// MOVE_FAMISH
|
||||
// MOVE_ONE_ROOM
|
||||
// MOVE_FILL_IN
|
||||
// MOVE_TRAPPER
|
||||
// MOVE_POSSESS
|
||||
// MOVE_ITEMIZE
|
||||
// MOVE_TAG_0x194
|
||||
// MOVE_PROJECTILE
|
||||
// MOVE_HURL
|
||||
// MOVE_MOBILE
|
||||
// MOVE_ITEM_TOSS
|
||||
// MOVE_SEE_STAIRS
|
||||
// MOVE_LONG_TOSS
|
||||
// MOVE_TAG_0x19B
|
||||
// MOVE_PIERCE
|
||||
// MOVE_TAG_0x19D
|
||||
// MOVE_TAG_0x19E
|
||||
// MOVE_TAG_0x19F
|
||||
// MOVE_TAG_0x1A0
|
||||
// MOVE_TAG_0x1A1
|
||||
// MOVE_TAG_0x1A2
|
||||
// MOVE_TAG_0x1A3
|
||||
// MOVE_TAG_0x1A4
|
||||
// MOVE_TAG_0x1A5
|
||||
// MOVE_TAG_0x1A6
|
||||
// MOVE_TAG_0x1A7
|
||||
// MOVE_TAG_0x1A8
|
||||
// MOVE_TAG_0x1A9
|
||||
// MOVE_TAG_0x1AA
|
||||
// MOVE_TAG_0x1AB
|
||||
// MOVE_TAG_0x1AC
|
||||
// MOVE_TAG_0x1AD
|
||||
if ((move_id > MOVE_VACUUM_CUT) && (move_id <= MOVE_TAG_0x1AD)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// MOVE_TAG_0x21F
|
||||
// MOVE_TAG_0x220
|
||||
// MOVE_TAG_0x221
|
||||
// MOVE_TAG_0x222
|
||||
// MOVE_TAG_0x223
|
||||
// MOVE_TAG_0x224
|
||||
// MOVE_TAG_0x225
|
||||
// MOVE_TAG_0x226
|
||||
// MOVE_TAG_0x227
|
||||
// MOVE_TAG_0x228
|
||||
// MOVE_TAG_0x229
|
||||
// MOVE_TAG_0x22A
|
||||
// MOVE_TAG_0x22B
|
||||
// MOVE_TAG_0x22C
|
||||
// MOVE_TAG_0x22D
|
||||
// MOVE_TAG_0x22E
|
||||
// ...
|
||||
if (move_id >= MOVE_TAG_0x21F) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user