Skip to content

Decompile Door Map Objects (DRDS, DRCK, DRKY, DRSW, DRTC)#56

Draft
Yanis002 wants to merge 9 commits intozeldaret:mainfrom
Yanis002:doors
Draft

Decompile Door Map Objects (DRDS, DRCK, DRKY, DRSW, DRTC)#56
Yanis002 wants to merge 9 commits intozeldaret:mainfrom
Yanis002:doors

Conversation

@Yanis002
Copy link
Copy Markdown
Collaborator

figuring out the first one was fun, more to come!

@decomp-dev
Copy link
Copy Markdown

decomp-dev Bot commented Apr 19, 2026

Report for eur (4a07ec0 - 9db5a0c)

📈 Matched code: 3.80% (+0.20%, +9228 bytes)
📈 Linked code: 0.51% (+0.02%, +988 bytes)
📈 Matched data: 23.26% (+0.05%, +744 bytes)
📈 Linked data: 0.32% (+0.02%, +240 bytes)

✅ 74 new matches
Unit Item Bytes Before After
src/031_Land/MapObject/MapObjectDoorBase MapObjectDoorBase::vfunc_5C(int, int) +1432 0.00% 100.00%
src/031_Land/MapObject/MapObjectDoorBase MapObjectDoorBase::vfunc_08() +1024 0.00% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::vfunc_5C(int, int) +1012 0.00% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::vfunc_84(int, Vec3p*, short*) +628 0.00% 100.00%
src/031_Land/MapObject/MapObjectDoorBase MapObjectDoorBase::func_ov031_020fcb78(char*, char) +384 0.00% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::vfunc_04() +372 0.00% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::vfunc_6C() +344 0.00% 100.00%
src/031_Land/MapObject/MapObjectDoorBase MapObjectDoorBase::func_ov031_020fbf10(bool, bool) +324 0.00% 100.00%
src/031_Land/MapObject/MapObjectDoorBase MapObjectDoorBase::vfunc_84(int, Vec3p*, short*) +284 0.00% 100.00%
src/031_Land/MapObject/MapObjectDoorBase MapObjectDoorBase::vfunc_60() +252 0.00% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fdec8() +247 0.65% 100.00%
src/000_Second/MapObject/MapObjectSwitchStep MapObjectSwitchStep::vfunc_18(char*, char) +216 0.00% 100.00%
src/031_Land/MapObject/MapObjectDoorBase UnkStruct_ov031_02117210::UnkStruct_ov031_02117210() +216 0.00% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS .data +212 0.00% 100.00%
src/031_Land/MapObject/MapObjectDoorBase MapObjectDoorBase::MapObjectDoorBase() +204 0.00% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::vfunc_64() +188 0.00% 100.00%
src/031_Land/MapObject/MapObjectDoorBase .data +180 0.00% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::vfunc_68() +172 0.00% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::MapObjectUnkDRDS() +157 16.74% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fe5fc(Vec3p*, MapObjectUnkDRDS*) +156 0.00% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::vfunc2_10() +132 0.00% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::vfunc_14() +128 0.00% 100.00%
src/031_Land/MapObject/MapObjectDoorBase MapObjectDoorBase::vfunc_70() +128 0.00% 100.00%
src/001_SceneInit/Actor/ActorManager_001 ActorManager::func_ov001_020bb6b0(UnkStruct_SceneChange1*) +120 0.00% 100.00%
src/031_Land/MapObject/MapObjectDoorBase .bss +120 0.00% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::vfunc2_08() +112 0.00% 100.00%
src/031_Land/MapObject/MapObjectDoorBase MapObjectDoorBase::vfunc_0C() +100 0.00% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::vfunc_00() +80 0.00% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS .bss +76 66.67% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::vfunc_44() +68 0.00% 100.00%

...and 44 more new matches

🥀 3 broken matches
Unit Item Bytes Before After
src/000_Second/MapObject/MapObjectSwitchStep MapObjectSwitchStep::vfunc_18() -216 100.00% 0.00%
src/001_SceneInit/Actor/ActorManager_001 ActorManager::func_ov001_020bb6b0(int*) -120 100.00% 0.00%
src/ITCM/ITCM_MapObjectManager MapObjectManager::func_01fff520(UnkStruct_ov000_020b34c4*, MapObject**) -5 100.00% 95.80%
📈 8 improvements in unmatched items
Unit Item Bytes Before After
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::vfunc_08() +867 0.00% 98.14%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::vfunc_74() +310 0.00% 89.10%
src/031_Land/MapObject/MapObjectDoorBase MapObjectDoorBase::vfunc2_08() +174 0.00% 69.11%
src/000_Second/MapObject/MapObject MapObject::func_ov000_0209d54c(void*, MapObject*, int, Vec3p*, int, int) +78 0.00% 63.26%
src/031_Land/Actor/ActorUnkNFSP .bss +14 40.00% 66.67%
src/031_Land/MapObject/MapObjectUnkDRDS .init +10 77.24% 87.20%
src/031_Land/MapObject/MapObjectUnkDRDS __sinit_MapObjectUnkDRDS.cpp +10 77.24% 87.20%
src/112_PlayerSceneChange/PlayerSceneChange PlayerSceneChange::vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1*) +1 75.30% 75.34%
📉 24 regressions in unmatched items
Unit Item Bytes Before After
src/000_Second/MapObject/MapObject MapObject::func_ov000_0209d54c(int, unsigned short, Vec3p*, short, unsigned short) -62 50.52% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fd3f8() -3 31.67% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fdfc0() -3 31.67% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fe250() -3 9.50% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fe2bc() -3 8.64% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fd234() -1 2.00% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fd284() -1 0.43% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fd404() -1 1.43% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fd474() -1 0.18% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fd7e8() -1 3.64% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fd814() -1 0.16% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fdc08() -1 0.85% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fdcc4() -1 0.93% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fdd70() -1 0.47% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fdfcc() -1 1.25% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fe04c() -1 1.21% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fe0d0() -1 0.46% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fe22c() -1 4.44% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fe278() -1 2.35% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fe2e8() -1 2.35% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fe32c() -1 4.44% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fe350() -1 2.86% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fe388() -1 0.25% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fe5fc() -1 1.03% 0.00%

Report for jp (4a07ec0 - 9db5a0c)

📈 Matched code: 3.76% (+0.19%, +8856 bytes)
📈 Linked code: 0.40% (+0.02%, +988 bytes)
📈 Matched data: 23.27% (+0.05%, +744 bytes)
📈 Linked data: 0.30% (+0.02%, +240 bytes)

✅ 73 new matches
Unit Item Bytes Before After
src/031_Land/MapObject/MapObjectDoorBase MapObjectDoorBase::vfunc_5C(int, int) +1432 0.00% 100.00%
src/031_Land/MapObject/MapObjectDoorBase MapObjectDoorBase::vfunc_08() +1024 0.00% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::vfunc_5C(int, int) +1012 0.00% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::vfunc_84(int, Vec3p*, short*) +628 0.00% 100.00%
src/031_Land/MapObject/MapObjectDoorBase MapObjectDoorBase::func_ov031_020fcb78(char*, char) +384 0.00% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::vfunc_6C() +344 0.00% 100.00%
src/031_Land/MapObject/MapObjectDoorBase MapObjectDoorBase::func_ov031_020fbf10(bool, bool) +324 0.00% 100.00%
src/031_Land/MapObject/MapObjectDoorBase MapObjectDoorBase::vfunc_84(int, Vec3p*, short*) +284 0.00% 100.00%
src/031_Land/MapObject/MapObjectDoorBase MapObjectDoorBase::vfunc_60() +252 0.00% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fdec8() +247 0.65% 100.00%
src/000_Second/MapObject/MapObjectSwitchStep MapObjectSwitchStep::vfunc_18(char*, char) +216 0.00% 100.00%
src/031_Land/MapObject/MapObjectDoorBase UnkStruct_ov031_02117210::UnkStruct_ov031_02117210() +216 0.00% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS .data +212 0.00% 100.00%
src/031_Land/MapObject/MapObjectDoorBase MapObjectDoorBase::MapObjectDoorBase() +204 0.00% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::vfunc_64() +188 0.00% 100.00%
src/031_Land/MapObject/MapObjectDoorBase .data +180 0.00% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::vfunc_68() +172 0.00% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::MapObjectUnkDRDS() +157 16.74% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fe5fc(Vec3p*, MapObjectUnkDRDS*) +156 0.00% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::vfunc2_10() +132 0.00% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::vfunc_14() +128 0.00% 100.00%
src/031_Land/MapObject/MapObjectDoorBase MapObjectDoorBase::vfunc_70() +128 0.00% 100.00%
src/001_SceneInit/Actor/ActorManager_001 ActorManager::func_ov001_020bb6b0(UnkStruct_SceneChange1*) +120 0.00% 100.00%
src/031_Land/MapObject/MapObjectDoorBase .bss +120 0.00% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::vfunc2_08() +112 0.00% 100.00%
src/031_Land/MapObject/MapObjectDoorBase MapObjectDoorBase::vfunc_0C() +100 0.00% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::vfunc_00() +80 0.00% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS .bss +76 66.67% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::vfunc_44() +68 0.00% 100.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::vfunc_4C() +68 0.00% 100.00%

...and 43 more new matches

🥀 3 broken matches
Unit Item Bytes Before After
src/000_Second/MapObject/MapObjectSwitchStep MapObjectSwitchStep::vfunc_18() -216 100.00% 0.00%
src/001_SceneInit/Actor/ActorManager_001 ActorManager::func_ov001_020bb6b0(int*) -120 100.00% 0.00%
src/ITCM/ITCM_MapObjectManager MapObjectManager::func_01fff520(UnkStruct_ov000_020b34c4*, MapObject**) -5 100.00% 95.80%
📈 9 improvements in unmatched items
Unit Item Bytes Before After
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::vfunc_08() +867 0.00% 98.14%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::vfunc_04() +467 0.00% 99.83%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::vfunc_74() +310 0.00% 89.10%
src/031_Land/MapObject/MapObjectDoorBase MapObjectDoorBase::vfunc2_08() +174 0.00% 69.11%
src/000_Second/MapObject/MapObject MapObject::func_ov000_0209d54c(void*, MapObject*, int, Vec3p*, int, int) +78 0.00% 63.26%
src/031_Land/Actor/ActorUnkNFSP .bss +14 40.00% 66.67%
src/031_Land/MapObject/MapObjectUnkDRDS .init +10 77.24% 87.20%
src/031_Land/MapObject/MapObjectUnkDRDS __sinit_MapObjectUnkDRDS.cpp +10 77.24% 87.20%
src/112_PlayerSceneChange/PlayerSceneChange PlayerSceneChange::vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1*) +1 75.30% 75.34%
📉 24 regressions in unmatched items
Unit Item Bytes Before After
src/000_Second/MapObject/MapObject MapObject::func_ov000_0209d54c(int, unsigned short, Vec3p*, short, unsigned short) -62 50.52% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fd3f8() -3 31.67% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fdfc0() -3 31.67% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fe250() -3 9.50% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fe2bc() -3 8.64% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fd234() -1 2.00% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fd284() -1 0.34% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fd404() -1 1.43% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fd474() -1 0.18% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fd7e8() -1 3.64% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fd814() -1 0.16% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fdc08() -1 0.85% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fdcc4() -1 0.93% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fdd70() -1 0.47% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fdfcc() -1 1.25% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fe04c() -1 1.21% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fe0d0() -1 0.46% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fe22c() -1 4.44% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fe278() -1 2.35% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fe2e8() -1 2.35% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fe32c() -1 4.44% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fe350() -1 2.86% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fe388() -1 0.25% 0.00%
src/031_Land/MapObject/MapObjectUnkDRDS MapObjectUnkDRDS::func_ov031_020fe5fc() -1 1.03% 0.00%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant