diff --git a/config/SOUE01/splits.txt b/config/SOUE01/splits.txt index 2875ba0f..6dc4a363 100644 --- a/config/SOUE01/splits.txt +++ b/config/SOUE01/splits.txt @@ -91,6 +91,7 @@ toBeSorted/blur_and_palette_manager.cpp: toBeSorted/d_emitter.cpp: .text start:0x800268B0 end:0x8002B99C align:16 .ctors start:0x804DB660 end:0x804DB664 + .rodata start:0x804DBD18 end:0x804DBE80 .data start:0x80500E98 end:0x805014C0 .sdata start:0x805718A8 end:0x80571920 .sdata2 start:0x80576C18 end:0x80576C68 diff --git a/config/SOUE01/symbols.txt b/config/SOUE01/symbols.txt index b0d41679..4b2bcdc7 100644 --- a/config/SOUE01/symbols.txt +++ b/config/SOUE01/symbols.txt @@ -27773,7 +27773,7 @@ lbl_804DBC38 = .rodata:0x804DBC38; // type:object size:0x40 lbl_804DBC78 = .rodata:0x804DBC78; // type:object size:0x50 data:4byte GRADIENT_LIGHT_TEXTURE_DEFS = .rodata:0x804DBCC8; // type:object size:0x40 data:4byte lbl_804DBD08 = .rodata:0x804DBD08; // type:object size:0x10 data:float -lbl_804DBD18 = .rodata:0x804DBD18; // type:object size:0x28 +moreInts__14dJEffManager_c = .rodata:0x804DBD18; // type:object size:0x28 lbl_804DBD40 = .rodata:0x804DBD40; // type:object size:0x134 lbl_804DBE74 = .rodata:0x804DBE74; // type:object size:0xC lbl_804DBE80 = .rodata:0x804DBE80; // type:object size:0xB8 diff --git a/include/toBeSorted/d_emitter.h b/include/toBeSorted/d_emitter.h index 56026645..3102c3b9 100644 --- a/include/toBeSorted/d_emitter.h +++ b/include/toBeSorted/d_emitter.h @@ -497,6 +497,7 @@ private: static mHeapAllocator_c *ms_allocator; static dMassObjEmitter_c *sMassObjEmitters; static u32 sInts[]; + static const u32 moreInts[]; static u32 sInts2[]; }; diff --git a/src/toBeSorted/d_emitter.cpp b/src/toBeSorted/d_emitter.cpp index e1e63501..92cfea9a 100644 --- a/src/toBeSorted/d_emitter.cpp +++ b/src/toBeSorted/d_emitter.cpp @@ -707,6 +707,8 @@ extern "C" u32 sNumMassObjEmitters; // should be const? extern "C" const u16 PARTICLE_RESOURCE_ID_MAPPING_119_; extern "C" dMassObjEmitter_c *CURRENT_EFFECT_MANAGER_INIT; +const u32 dJEffManager_c::moreInts[] = {3, 5, 7, 8, 12, 13, 14, 1, 9, 11}; + s32 dJEffManager_c::getGroupId(u16 resourceId) { u32 mask = dParticle::mgr_c::GetInstance()->getResUserWork(resourceId); s32 bit = 1; @@ -717,7 +719,7 @@ s32 dJEffManager_c::getGroupId(u16 resourceId) { } } - int i = sInts[bit]; + int i = moreInts[bit]; // TODO explain this if ((mask & 0x8000) != 0) { if (i == 3) {