mirror of
https://github.com/pret/pmd-sky.git
synced 2026-09-26 20:27:50 -05:00
Decomp IsPunchMove
Decomped by @SethBarberee and @taxicat1, thanks
This commit is contained in:
@@ -1,4 +1,144 @@
|
||||
#pragma once
|
||||
.public AUDIO_COMMANDS_BUFFER
|
||||
.public AddObjToUngroupedOamObjs
|
||||
.public BagHasExclusiveItemTypeForMonster
|
||||
.public ClearGroupedOamObjsAndGroups
|
||||
.public CopyAndInterleave
|
||||
.public CopyAndInterleave0
|
||||
.public CopyAttributesToOam
|
||||
.public CopyColorToPaletteDataRgba
|
||||
.public CopyStringFromId
|
||||
.public DC_FlushRange
|
||||
.public DUNGEON_MOVE_TABLES
|
||||
.public Debug_FatalError
|
||||
.public Debug_GetDebugFlag
|
||||
.public Debug_Print
|
||||
.public Debug_Print0
|
||||
.public DirectoryFileMngr_GetDirectoryFileSize
|
||||
.public DirectoryFileMngr_LoadDirectoryFile
|
||||
.public DirectoryFileMngr_OpenDirectoryFile
|
||||
.public DseBgm_IsPlaying
|
||||
.public DseBgm_Load
|
||||
.public DseBgm_SetFades
|
||||
.public DseBgm_SetSignalCallback
|
||||
.public DseBgm_Stop
|
||||
.public DseBgm_Unload
|
||||
.public DseDriver_ConfigureHeap
|
||||
.public DseDriver_Init
|
||||
.public DseDriver_LoadDefaultSettings
|
||||
.public DseSe_GetUsedBankIDs
|
||||
.public DseSe_HasPlayingInstances
|
||||
.public DseSe_Load
|
||||
.public DseSe_Play
|
||||
.public DseSe_Stop
|
||||
.public DseSe_StopAll
|
||||
.public DseSe_Unload
|
||||
.public DseSequence_GetParameter
|
||||
.public DseSwd_IsBankLoading
|
||||
.public DseSwd_LoadBank
|
||||
.public DseSwd_LoadMainBank
|
||||
.public DseSwd_LoadWaves
|
||||
.public DseSwd_Unload
|
||||
.public DungeonGoesUp
|
||||
.public DungeonSwapIdxToId
|
||||
.public ENTITIES
|
||||
.public EnqueueRender3dTexture
|
||||
.public FileClose
|
||||
.public FileGetSize
|
||||
.public FileRom_HandleOpen
|
||||
.public FileRom_HandleRead
|
||||
.public FileRom_InitDataTransfer
|
||||
.public FileRom_StopDataTransfer
|
||||
.public FileRom_Veneer_FileInit
|
||||
.public FillPaletteDataRgba
|
||||
.public G3i_LookAt_
|
||||
.public G3i_OrthoW_
|
||||
.public GXS_BeginLoadBGExtPltt
|
||||
.public GXS_BeginLoadOBJExtPltt
|
||||
.public GXS_EndLoadBGExtPltt
|
||||
.public GXS_EndLoadOBJExtPltt
|
||||
.public GX_BeginLoadBGExtPltt
|
||||
.public GX_BeginLoadOBJExtPltt
|
||||
.public GX_BeginLoadTex
|
||||
.public GX_BeginLoadTexPltt
|
||||
.public GX_EndLoadBGExtPltt
|
||||
.public GX_EndLoadOBJExtPltt
|
||||
.public GX_EndLoadTex
|
||||
.public GX_EndLoadTexPltt
|
||||
.public GX_LoadTex
|
||||
.public GX_LoadTexPltt
|
||||
.public GetAbility
|
||||
.public GetAbilityString
|
||||
.public GetActiveRosterIndex
|
||||
.public GetActiveTeamMember
|
||||
.public GetActorMatchingStorageId
|
||||
.public GetCurrentBagCapacity
|
||||
.public GetDsFirmwareUserSettingsVeneer
|
||||
.public GetExecuteSpecialEpisodeType
|
||||
.public GetGameMode
|
||||
.public GetIqSkillStringId
|
||||
.public GetItemMoveId16
|
||||
.public GetItemNameFormatted
|
||||
.public GetMainTeamName
|
||||
.public GetMonsterGender
|
||||
.public GetMonsterGenderVeneer
|
||||
.public GetMoveActualAccuracy
|
||||
.public GetMoveBasePowerFromId
|
||||
.public GetMoveName
|
||||
.public GetNameString
|
||||
.public GetNbFloors
|
||||
.public GetNbFloorsPlusOne
|
||||
.public GetResolvedPerformanceProgressFlag
|
||||
.public GetStringFromFileVeneer
|
||||
.public GetTeamMember
|
||||
.public GetTypeStringId
|
||||
.public GroupOamObjs
|
||||
.public InitOamInfo
|
||||
.public IqSkillFlagTest
|
||||
.public Is2TurnsMove
|
||||
.public LANGUAGE_INFO_DATA
|
||||
.public LoadFileFromRom
|
||||
.public LoadScriptVariableValue
|
||||
.public LoadScriptVariableValueAtIndex
|
||||
.public LoadScriptVariableValueString
|
||||
.public LoadStringFile
|
||||
.public MOVE_ACCURACY_STARS_TABLE
|
||||
.public MOVE_POWER_STARS_TABLE
|
||||
.public MTi_CpuClear32
|
||||
.public MTi_CpuCopy32
|
||||
.public MarkPaletteDataAsNeedingUpdate
|
||||
.public MaybeGetFormattedItemName
|
||||
.public MemAlloc
|
||||
.public MemArenaAlloc
|
||||
.public MemFree
|
||||
.public MemLocateSet
|
||||
.public MemLocateUnset
|
||||
.public MemZero
|
||||
.public MemZero32
|
||||
.public Memcpy32
|
||||
.public MultiplyByFixedPoint
|
||||
.public NewRender3dQuadrilateral
|
||||
.public NewRender3dRectangle
|
||||
.public NewRender3dTexture
|
||||
.public NewRender3dTiling
|
||||
.public OBJ_GRAPHICS_CONTROLS_PTR
|
||||
.public PointsToZero
|
||||
.public RENDER_3D
|
||||
.public RENDER_3D_FUNCTIONS_64
|
||||
.public Rand16Bit
|
||||
.public Render3dProcessQueue
|
||||
.public ResumeBgm
|
||||
.public Rgb8ToRgb5
|
||||
.public SND_Init
|
||||
.public SetShouldCopyToOam
|
||||
.public Snd_LockChannel
|
||||
.public Snd_UnlockChannel
|
||||
.public StringFromId
|
||||
.public StrncpySimpleNoPadSafe
|
||||
.public TEAM_MEMBER_TABLE_PTR
|
||||
.public UnloadFile
|
||||
.public WAN_TABLE
|
||||
.public ZInit8
|
||||
.public _02098EA8
|
||||
.public _02098EE0
|
||||
.public _02098F60
|
||||
@@ -261,151 +401,14 @@
|
||||
.public _022A5970
|
||||
.public _s32_div_f
|
||||
.public _u32_div_f
|
||||
.public AddObjToUngroupedOamObjs
|
||||
.public AUDIO_COMMANDS_BUFFER
|
||||
.public BagHasExclusiveItemTypeForMonster
|
||||
.public ClearGroupedOamObjsAndGroups
|
||||
.public CopyAndInterleave
|
||||
.public CopyAndInterleave0
|
||||
.public CopyAttributesToOam
|
||||
.public CopyColorToPaletteDataRgba
|
||||
.public CopyStringFromId
|
||||
.public DC_FlushRange
|
||||
.public Debug_FatalError
|
||||
.public Debug_GetDebugFlag
|
||||
.public Debug_Print
|
||||
.public Debug_Print0
|
||||
.public DirectoryFileMngr_GetDirectoryFileSize
|
||||
.public DirectoryFileMngr_LoadDirectoryFile
|
||||
.public DirectoryFileMngr_OpenDirectoryFile
|
||||
.public DseBgm_IsPlaying
|
||||
.public DseBgm_Load
|
||||
.public DseBgm_SetFades
|
||||
.public DseBgm_SetSignalCallback
|
||||
.public DseBgm_Stop
|
||||
.public DseBgm_Unload
|
||||
.public DseDriver_ConfigureHeap
|
||||
.public DseDriver_Init
|
||||
.public DseDriver_LoadDefaultSettings
|
||||
.public DseSe_GetUsedBankIDs
|
||||
.public DseSe_HasPlayingInstances
|
||||
.public DseSe_Load
|
||||
.public DseSe_Play
|
||||
.public DseSe_Stop
|
||||
.public DseSe_StopAll
|
||||
.public DseSe_Unload
|
||||
.public DseSequence_GetParameter
|
||||
.public DseSwd_IsBankLoading
|
||||
.public DseSwd_LoadBank
|
||||
.public DseSwd_LoadMainBank
|
||||
.public DseSwd_LoadWaves
|
||||
.public DseSwd_Unload
|
||||
.public DUNGEON_MOVE_TABLES
|
||||
.public DungeonGoesUp
|
||||
.public DungeonSwapIdxToId
|
||||
.public EnqueueRender3dTexture
|
||||
.public ENTITIES
|
||||
.public FileClose
|
||||
.public FileGetSize
|
||||
.public FileRom_HandleOpen
|
||||
.public FileRom_HandleRead
|
||||
.public FileRom_InitDataTransfer
|
||||
.public FileRom_StopDataTransfer
|
||||
.public FileRom_Veneer_FileInit
|
||||
.public FillPaletteDataRgba
|
||||
.public G3i_LookAt_
|
||||
.public G3i_OrthoW_
|
||||
.public GetAbility
|
||||
.public GetAbilityString
|
||||
.public GetActiveRosterIndex
|
||||
.public GetActiveTeamMember
|
||||
.public GetActorMatchingStorageId
|
||||
.public GetCurrentBagCapacity
|
||||
.public GetDsFirmwareUserSettingsVeneer
|
||||
.public GetExecuteSpecialEpisodeType
|
||||
.public GetGameMode
|
||||
.public GetIqSkillStringId
|
||||
.public GetItemMoveId16
|
||||
.public GetItemNameFormatted
|
||||
.public GetMainTeamName
|
||||
.public GetMonsterGender
|
||||
.public GetMonsterGenderVeneer
|
||||
.public GetMoveActualAccuracy
|
||||
.public GetMoveBasePowerFromId
|
||||
.public GetMoveName
|
||||
.public GetNameString
|
||||
.public GetNbFloors
|
||||
.public GetNbFloorsPlusOne
|
||||
.public GetResolvedPerformanceProgressFlag
|
||||
.public GetStringFromFileVeneer
|
||||
.public GetTeamMember
|
||||
.public GetTypeStringId
|
||||
.public GroupOamObjs
|
||||
.public GX_BeginLoadBGExtPltt
|
||||
.public GX_BeginLoadOBJExtPltt
|
||||
.public GX_BeginLoadTex
|
||||
.public GX_BeginLoadTexPltt
|
||||
.public GX_EndLoadBGExtPltt
|
||||
.public GX_EndLoadOBJExtPltt
|
||||
.public GX_EndLoadTex
|
||||
.public GX_EndLoadTexPltt
|
||||
.public GX_LoadTex
|
||||
.public GX_LoadTexPltt
|
||||
.public GXS_BeginLoadBGExtPltt
|
||||
.public GXS_BeginLoadOBJExtPltt
|
||||
.public GXS_EndLoadBGExtPltt
|
||||
.public GXS_EndLoadOBJExtPltt
|
||||
.public InitOamInfo
|
||||
.public IqSkillFlagTest
|
||||
.public Is2TurnsMove
|
||||
.public LANGUAGE_INFO_DATA
|
||||
.public LoadFileFromRom
|
||||
.public LoadScriptVariableValue
|
||||
.public LoadScriptVariableValueAtIndex
|
||||
.public LoadScriptVariableValueString
|
||||
.public LoadStringFile
|
||||
.public MarkPaletteDataAsNeedingUpdate
|
||||
.public MaybeGetFormattedItemName
|
||||
.public MemAlloc
|
||||
.public MemArenaAlloc
|
||||
.public Memcpy32
|
||||
.public MemFree
|
||||
.public MemLocateSet
|
||||
.public MemLocateUnset
|
||||
.public MemZero
|
||||
.public MemZero32
|
||||
.public MOVE_ACCURACY_STARS_TABLE
|
||||
.public MOVE_POWER_STARS_TABLE
|
||||
.public MTi_CpuClear32
|
||||
.public MTi_CpuCopy32
|
||||
.public MultiplyByFixedPoint
|
||||
.public NewRender3dQuadrilateral
|
||||
.public NewRender3dRectangle
|
||||
.public NewRender3dTexture
|
||||
.public NewRender3dTiling
|
||||
.public OBJ_GRAPHICS_CONTROLS_PTR
|
||||
.public ov10_022BDADC
|
||||
.public ov10_022C2528
|
||||
.public PointsToZero
|
||||
.public PUNCH_MOVE_LIST
|
||||
.public Rand16Bit
|
||||
.public Render3dProcessQueue
|
||||
.public RENDER_3D
|
||||
.public RENDER_3D_FUNCTIONS_64
|
||||
.public ResumeBgm
|
||||
.public Rgb8ToRgb5
|
||||
.public SetShouldCopyToOam
|
||||
.public SND_Init
|
||||
.public Snd_LockChannel
|
||||
.public Snd_UnlockChannel
|
||||
.public sprintf
|
||||
.public strcat
|
||||
.public strcmp
|
||||
.public strcpy
|
||||
.public StringFromId
|
||||
.public strlen
|
||||
.public strncmp
|
||||
.public StrncpySimpleNoPadSafe
|
||||
.public strstr
|
||||
.public sub_01FF8F04
|
||||
.public sub_02002778
|
||||
@@ -468,8 +471,4 @@
|
||||
.public sub_0206C6BC
|
||||
.public sub_0206C754
|
||||
.public sub_0206F5C8
|
||||
.public TEAM_MEMBER_TABLE_PTR
|
||||
.public UnloadFile
|
||||
.public vsprintf
|
||||
.public WAN_TABLE
|
||||
.public ZInit8
|
||||
@@ -1,31 +1,8 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "main_02014D18.inc"
|
||||
.include "main_02014D58.inc"
|
||||
|
||||
.text
|
||||
|
||||
arm_func_start IsPunchMove
|
||||
IsPunchMove: ; 0x02014D18
|
||||
mov r3, #0
|
||||
ldr r2, _02014D54 ; =PUNCH_MOVE_LIST
|
||||
b _02014D3C
|
||||
_02014D24:
|
||||
cmp r0, r1
|
||||
moveq r0, #1
|
||||
bxeq lr
|
||||
add r1, r3, #1
|
||||
mov r1, r1, lsl #0x10
|
||||
mov r3, r1, asr #0x10
|
||||
_02014D3C:
|
||||
mov r1, r3, lsl #1
|
||||
ldrh r1, [r2, r1]
|
||||
cmp r1, #0
|
||||
bne _02014D24
|
||||
mov r0, #0
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_02014D54: .word PUNCH_MOVE_LIST
|
||||
arm_func_end IsPunchMove
|
||||
|
||||
arm_func_start IsHealingWishOrLunarDance
|
||||
IsHealingWishOrLunarDance: ; 0x02014D58
|
||||
ldr r1, _02014D80 ; =0x000001B7
|
||||
@@ -10,4 +10,7 @@ bool8 IsRegularAttackOrProjectile(enum move_id move_id);
|
||||
// Checks if the move is a two turn move
|
||||
bool8 Is2TurnsMove(enum move_id move_id);
|
||||
|
||||
// Checks if the move is a punch move
|
||||
bool8 IsPunchMove(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_02014D18.o
|
||||
Object asm/main_02014D58.o
|
||||
Object src/main_020251AC.o
|
||||
Object asm/main_020251F0.o
|
||||
Object src/main_02025788.o
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#include "main_02014CEC.h"
|
||||
#include "enums.h"
|
||||
|
||||
extern u16 PUNCH_MOVE_LIST[];
|
||||
|
||||
bool8 Is2TurnsMove(enum move_id move_id)
|
||||
{
|
||||
if (move_id == MOVE_SOLARBEAM) return TRUE;
|
||||
@@ -23,3 +25,13 @@ bool8 IsRegularAttackOrProjectile(enum move_id move_id)
|
||||
|
||||
return move_id == MOVE_PROJECTILE;
|
||||
}
|
||||
|
||||
bool8 IsPunchMove(enum move_id move_id)
|
||||
{
|
||||
for (s16 i = 0; PUNCH_MOVE_LIST[i] != 0; i++) {
|
||||
if (PUNCH_MOVE_LIST[i] == move_id) {
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user