diff options
| author | hatal175 <hatal175@users.noreply.github.com> | 2024-01-21 11:15:22 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-21 01:15:22 -0800 |
| commit | 0228b4e03ba255fdfabc25dab14ed21b5479a8d2 (patch) | |
| tree | 6e8f6ab50a10deb32db03e34d1139cb73e968511 /src/d/d_lib.cpp | |
| parent | 9f372c40d5cbac67bb445247efc56ab6a2b5a81e (diff) | |
Work on d_msg_scrn_howl + misc (#2040)
Diffstat (limited to 'src/d/d_lib.cpp')
| -rw-r--r-- | src/d/d_lib.cpp | 80 |
1 files changed, 40 insertions, 40 deletions
diff --git a/src/d/d_lib.cpp b/src/d/d_lib.cpp index e07fd63e27..32b555c52f 100644 --- a/src/d/d_lib.cpp +++ b/src/d/d_lib.cpp @@ -4,30 +4,18 @@ // #include "d/d_lib.h" +#include "d/event/d_event.h" +#include "d/d_stage.h" #include "SSystem/SComponent/c_m3d.h" +#include "JSystem/JKernel/JKRAramArchive.h" +#include "JSystem/JKernel/JKRAram.h" +#include "JSystem/JKernel/JKRDecomp.h" +#include "JSystem/JKernel/JKRDvdRipper.h" #include "dol2asm.h" #include "f_op/f_op_actor.h" #include "m_Do/m_Do_controller_pad.h" // -// Types: -// - -struct dEvt_control_c { - /* 800434D8 */ void searchMapEventData(u8); -}; - -struct JKRExpandSwitch {}; - -struct JKRAramArchive { - /* 802D781C */ void getAramAddress(char const*); -}; - -struct JKRAram { - /* 802D25B4 */ void aramToMainRam(u32, u8*, u32, JKRExpandSwitch, u32, JKRHeap*, int, u32*); -}; - -// // Forward References: // @@ -316,37 +304,49 @@ bool STControl::checkDownTrigger() { } /* 8003261C-80032654 02CF5C 0038+00 0/0 0/0 1/1 .text dLib_getEventSwitchNo__Fi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u8 dLib_getEventSwitchNo(int param_0) { - nofralloc -#include "asm/d/d_lib/dLib_getEventSwitchNo__Fi.s" +u8 dLib_getEventSwitchNo(int param_0) { + dStage_MapEvent_dt_c* mapEvent = dEvt_control_c::searchMapEventData(param_0); + if (mapEvent != NULL) { + return mapEvent->mSwitch; + } + return 0xff; } -#pragma pop /* 80032654-80032738 02CF94 00E4+00 0/0 0/0 8/8 .text * dLib_checkActorInRectangle__FP10fopAc_ac_cP10fopAc_ac_cPC4cXyzPC4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL dLib_checkActorInRectangle(fopAc_ac_c* param_0, fopAc_ac_c* param_1, cXyz const* param_2, - cXyz const* param_3) { - nofralloc -#include "asm/d/d_lib/dLib_checkActorInRectangle__FP10fopAc_ac_cP10fopAc_ac_cPC4cXyzPC4cXyz.s" +BOOL dLib_checkActorInRectangle(fopAc_ac_c* param_0, fopAc_ac_c* param_1, cXyz const* param_2, + cXyz const* param_3) { + cXyz local_24 = param_0->current.pos - param_1->current.pos; + mDoMtx_stack_c::YrotS(-param_1->current.angle.y); + mDoMtx_stack_c::multVec(&local_24, &local_24); + if (param_2->x <= local_24.x && local_24.x <= param_3->x && param_2->z <= local_24.z && + local_24.z <= param_3->z) + { + return TRUE; + } + return FALSE; } -#pragma pop /* 80032738-80032804 02D078 00CC+00 0/0 4/4 0/0 .text * dLib_getExpandSizeFromAramArchive__FP14JKRAramArchivePCc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u32 dLib_getExpandSizeFromAramArchive(JKRAramArchive* param_0, char const* param_1) { - nofralloc -#include "asm/d/d_lib/dLib_getExpandSizeFromAramArchive__FP14JKRAramArchivePCc.s" +u32 dLib_getExpandSizeFromAramArchive(JKRAramArchive* i_aramArchive, char const* param_2) { + u8 header[32] __attribute__((aligned(32))); + JUT_ASSERT(1252, i_aramArchive != 0); + u32 address = i_aramArchive->getAramAddress(param_2); + if (address == 0) { + return 0; + } + u8* readAddress = JKRAramToMainRam(address, header, 0x20, EXPAND_SWITCH_UNKNOWN0, 0, 0, 0xffffffff, 0); + JUT_ASSERT(1260, readAddress == header); + JKRArchive::SDIFileEntry* entry = i_aramArchive->findFsResource(param_2, 0); + JUT_ASSERT(1263, entry != 0); + u32 uVar1 = ALIGN_NEXT(JKRDecompExpandSize(header), 32); + u32 uVar5 = ALIGN_NEXT(entry->data_size, 32); + if (uVar1 > uVar5) { + return uVar1; + } + return uVar5; } -#pragma pop /* ############################################################################################## */ /* 80450DD8-80450DDC 0002D8 0004+00 2/2 0/0 0/0 .sbss m_diffTime__11dLib_time_c */ |
