Files
dusklight/libs/JSystem/JStudio/JStudio/object-id.cpp
T
Pheenoh 7154ac08e1 d_a_e_fz work, doxygen revamp (#2127)
* initial freezard actor struct + setActionMode OK

* daE_FZ_Draw

* setReflectAngle

* mBoundSoundset

* daE_FZ_Execute & execute

* demoDelete

* daE_FZ_Delete & _delete

* CreateHeap

* useHeapInit

* cc_set

* mtx_set

* action WIP

* way_gake_check

* executeRollMove

* executeMove

* draw WIP

* executeDamage

* checkpoint

* create

* checkpoint

* daE_FZ_c::executeWait

* checkpoint

* daE_FZ_c::damage_check almost done

* rm asm

* rm headers

* setup_profile WIP + doxygen update

* fix merge issues

* docs fix?

* fix2

* doxygen updates

* setup g_profile_E_FZ, profile setup script WIP

* update github actions

* update progress.md
2024-04-12 00:10:30 -06:00

67 lines
1.7 KiB
C++

//
// Generated By: dol2asm
// Translation Unit: object-id
//
#include "JSystem/JStudio/JStudio/object-id.h"
/* 80288988-80288A78 2832C8 00F0+00 0/0 3/3 0/0 .text
* isEqual__Q37JStudio6object7TIDDataFRCQ37JStudio6object7TIDDataRCQ37JStudio6object7TIDData */
// regalloc
#ifdef NONMATCHING
bool JStudio::object::TIDData::isEqual(JStudio::object::TIDData const& a,
JStudio::object::TIDData const& b) {
if (a.getIDSize() != b.getIDSize()) {
return false;
}
u32 bytesRemaining = a.mID_size;
const void* aStr = a.getID();
u32* aStr32 = (u32*)aStr;
const void* bStr = b.getID();
u32* bStr32 = (u32*)bStr;
if (aStr == bStr) { // mismatch here
// they point to the same id
return true;
}
for (bytesRemaining; bytesRemaining >= 4; bytesRemaining -= 4, aStr32++, bStr32++) {
if (*aStr32 != *bStr32) {
return false;
}
}
u8* aStrBytes = (u8*)aStr32;
u8* bStrBytes = (u8*)bStr32;
switch (bytesRemaining) {
case 3:
if (*aStrBytes != *bStrBytes) {
return false;
}
aStrBytes++;
bStrBytes++;
case 2:
if (*aStrBytes != *bStrBytes) {
return false;
}
aStrBytes++;
bStrBytes++;
case 1:
if (*aStrBytes != *bStrBytes) {
return false;
}
}
return true;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool JStudio::object::TIDData::isEqual(JStudio::object::TIDData const& param_0,
JStudio::object::TIDData const& param_1) {
nofralloc
#include "asm/JSystem/JStudio/JStudio/object-id/func_80288988.s"
}
#pragma pop
#endif