Link d_cursor_mng for all Wii versions (#3164)

This commit is contained in:
Max Roncace
2026-06-23 20:52:55 +01:00
committed by GitHub
parent 8eae8919c8
commit c8fa8c9e2a
26 changed files with 315 additions and 145 deletions
+7 -4
View File
@@ -21,9 +21,12 @@ d/d_cursor_mng.cpp:
.text start:0x80006D90 end:0x80007BC8
.data start:0x803BD040 end:0x803BD168
.sdata start:0x804F77C0 end:0x804F77F8
.sbss start:0x804FA8C8 end:0x804FA8D8
.sbss start:0x804FA8C8 end:0x804FA8D0
.sdata2 start:0x804FBB18 end:0x804FBB30
d/d_rvl_fb_copy.cpp:
.sbss start:0x804FA8D0 end:0x804FA8D8
d/d_E3Stage_select06.cpp:
.text start:0x80007BC8 end:0x800097C4
.data start:0x803BD168 end:0x803BD3A0
@@ -50,10 +53,10 @@ m_Do/m_Do_printf.cpp:
m_Do/m_Do_audio.cpp:
.text start:0x8000ACF4 end:0x8000B698
.ctors start:0x80396108 end:0x8039610C
.data start:0x803BD770 end:0x803BD9E8
.data start:0x803BD770 end:0x803BD9D0
.bss start:0x8040C0E0 end:0x8040D498
.sdata start:0x804F78B8 end:0x804F7924
.sbss start:0x804FA92C end:0x804FA978
.sbss start:0x804FA928 end:0x804FA978
m_Do/m_Do_controller_pad.cpp:
.text start:0x8000B698 end:0x8000BAA8
@@ -63,7 +66,7 @@ m_Do/m_Do_controller_pad.cpp:
m_Re/m_Re_controller_pad.cpp:
.text start:0x8000BAA8 end:0x8000F56C
.rodata start:0x803962C0 end:0x80396310
.data start:0x803BD9E8 end:0x803BDA00
.data start:0x803BD9D0 end:0x803BDA00
.bss start:0x8040D5A8 end:0x80414E58
.sbss start:0x804FA978 end:0x804FA988
.sdata2 start:0x804FBBA8 end:0x804FBC50
+11 -11
View File
@@ -26891,7 +26891,7 @@ lbl_804FA8B8 = .sdata:0x804FA8B8; // type:object size:0x1 data:byte
lbl_804FA8C0 = .sbss:0x804FA8C0; // type:object size:0x1 data:byte
lbl_804FA8C1 = .sbss:0x804FA8C1; // type:object size:0x1 data:byte
m_myObj__10dCsr_mng_c = .sbss:0x804FA8C8; // type:object size:0x4 scope:global align:4 data:4byte
lbl_804FA8D0 = .sbss:0x804FA8D0; // type:object size:0x1 data:byte
g_rvlEnableExtraFramebufferCopy = .sbss:0x804FA8D0; // type:object size:0x1 data:byte
l_bloCsr = .sbss:0x804FA8D8; // type:object size:0x4 scope:local align:4 data:4byte
l_bloObj = .sbss:0x804FA8DC; // type:object size:0x4 scope:local align:4 data:4byte
fillcheck_check_frame = .sbss:0x804FA8E0; // type:object size:0x1 data:byte
@@ -26902,21 +26902,21 @@ mSelectHeapBar = .sbss:0x804FA8F9; // type:object size:0x1 data:byte
mCheckHeap = .sbss:0x804FA8FA; // type:object size:0x1 data:byte
console_scroll$90874 = .sbss:0x804FA8FC; // type:object size:0x4 scope:local align:4 data:float
frame$91010 = .sbss:0x804FA900; // type:object size:0x4 scope:local align:4 data:4byte
lbl_804FA908 = .sbss:0x804FA908; // type:object size:0x1 data:byte
lbl_804FA909 = .sbss:0x804FA909; // type:object size:0x1 data:byte
lbl_804FA90A = .sbss:0x804FA90A; // type:object size:0x1 data:byte
lbl_804FA90B = .sbss:0x804FA90B; // type:object size:0x1 data:byte
lbl_804FA90C = .sbss:0x804FA90C; // type:object size:0x1 data:byte
__OSReport_disable = .sbss:0x804FA908; // type:object size:0x1 data:byte
__OSReport_Error_disable = .sbss:0x804FA909; // type:object size:0x1 data:byte
__OSReport_Warning_disable = .sbss:0x804FA90A; // type:object size:0x1 data:byte
__OSReport_System_disable = .sbss:0x804FA90B; // type:object size:0x1 data:byte
__OSReport_enable = .sbss:0x804FA90C; // type:object size:0x1 data:byte
__OSReport_MonopolyThread = .sbss:0x804FA910; // type:object size:0x4 scope:global align:4 data:4byte
print_counts = .sbss:0x804FA914; // type:object size:0x4 scope:global align:4 data:4byte
print_errors = .sbss:0x804FA918; // type:object size:0x4 scope:global align:4 data:4byte
print_warings = .sbss:0x804FA91C; // type:object size:0x4 scope:global align:4 data:4byte
print_systems = .sbss:0x804FA920; // type:object size:0x4 scope:global align:4 data:4byte
lbl_804FA924 = .sbss:0x804FA924; // type:object size:0x1 data:byte
lbl_804FA925 = .sbss:0x804FA925; // type:object size:0x1 data:byte
lbl_804FA928 = .sbss:0x804FA928; // type:object size:0x1 data:byte
lbl_804FA929 = .sbss:0x804FA929; // type:object size:0x1 data:byte
lbl_804FA92A = .sbss:0x804FA92A; // type:object size:0x1 data:byte
print_initialized = .sbss:0x804FA924; // type:object size:0x1 data:byte
data_80450BB5 = .sbss:0x804FA925; // type:object size:0x1 data:byte
mInitFlag__17mDoAud_zelAudio_c = .sbss:0x804FA928; // type:object size:0x1 data:byte
mResetFlag__17mDoAud_zelAudio_c = .sbss:0x804FA929; // type:object size:0x1 data:byte
mBgmSet__17mDoAud_zelAudio_c = .sbss:0x804FA92A; // type:object size:0x1 data:byte
g_mDoAud_audioHeap = .sbss:0x804FA92C; // type:object size:0x4 scope:global align:4 data:4byte
l_affCommand = .sbss:0x804FA930; // type:object size:0x4 scope:local align:4 data:4byte
l_arcCommand = .sbss:0x804FA934; // type:object size:0x4 scope:local align:4 data:4byte
+6 -3
View File
@@ -23,9 +23,12 @@ d/d_cursor_mng.cpp:
.text start:0x800073D4 end:0x8000820C
.data start:0x803F5618 end:0x803F5740
.sdata start:0x80537528 end:0x80537560
.sbss start:0x8053A728 end:0x8053A738
.sbss start:0x8053A728 end:0x8053A730
.sdata2 start:0x8053B9F8 end:0x8053BA10
d/d_rvl_fb_copy.cpp:
.sbss start:0x8053A730 end:0x8053A738
m_Do/m_Do_main.cpp:
.text start:0x8000820C end:0x80008EE8
.data start:0x803F5740 end:0x803F5B28
@@ -44,7 +47,7 @@ m_Do/m_Do_printf.cpp:
m_Do/m_Do_audio.cpp:
.text start:0x800095CC end:0x80009F54
.ctors start:0x803CE244 end:0x803CE248
.data start:0x803F5BE0 end:0x803F5E58
.data start:0x803F5BE0 end:0x803F5E40
.bss start:0x8044A6A0 end:0x8044BA50
.sdata start:0x805375C0 end:0x8053762C
.sbss start:0x8053A780 end:0x8053A7D0
@@ -57,7 +60,7 @@ m_Do/m_Do_controller_pad.cpp:
m_Re/m_Re_controller_pad.cpp:
.text start:0x8000A364 end:0x8000DD80
.rodata start:0x803CE400 end:0x803CE450
.data start:0x803F5E58 end:0x803F5E70
.data start:0x803F5E40 end:0x803F5E70
.bss start:0x8044BB60 end:0x80453410
.sbss start:0x8053A7D0 end:0x8053A7E0
.sdata2 start:0x8053BA40 end:0x8053BAE8
+4 -4
View File
@@ -28054,10 +28054,10 @@ __float_nan = .sdata:0x8053A700; // type:object size:0x4 scope:global align:4 da
__float_huge = .sdata:0x8053A704; // type:object size:0x4 scope:global align:4 data:float
SendCount = .sdata:0x8053A708; // type:object size:0x1 data:byte
m_myObj__13dHomeButton_c = .sbss:0x8053A720; // type:object size:0x4 scope:global align:4 data:4byte
lbl_8053A724 = .sbss:0x8053A724; // type:object size:0x1 data:byte
lbl_8053A725 = .sbss:0x8053A725; // type:object size:0x1 data:byte
lbl_8053A724__13dHomeButton_c = .sbss:0x8053A724; // type:object size:0x1 data:byte
lbl_8053A725__13dHomeButton_c = .sbss:0x8053A725; // type:object size:0x1 data:byte
m_myObj__10dCsr_mng_c = .sbss:0x8053A728; // type:object size:0x4 scope:global align:4 data:4byte
lbl_8053A730 = .sbss:0x8053A730; // type:object size:0x8 data:byte
g_rvlEnableExtraFramebufferCopy = .sbss:0x8053A730; // type:object size:0x1 data:byte
fillcheck_check_frame = .sbss:0x8053A738; // type:object size:0x1 data:byte
sPowerOnTime__7mDoMain = .sbss:0x8053A740; // type:object size:0x8 scope:global align:4 data:4byte
sHungUpTime__7mDoMain = .sbss:0x8053A748; // type:object size:0x8 scope:global align:4 data:4byte
@@ -28077,7 +28077,7 @@ print_errors = .sbss:0x8053A770; // type:object size:0x4 scope:global align:4 da
print_warings = .sbss:0x8053A774; // type:object size:0x4 scope:global align:4 data:4byte
print_systems = .sbss:0x8053A778; // type:object size:0x4 scope:global align:4 data:4byte
print_initialized = .sbss:0x8053A77C; // type:object size:0x1 data:byte
lbl_8053A77D = .sbss:0x8053A77D; // type:object size:0x1 data:byte
data_80450BB5 = .sbss:0x8053A77D; // type:object size:0x1 data:byte
mInitFlag__17mDoAud_zelAudio_c = .sbss:0x8053A780; // type:object size:0x1 data:byte
mResetFlag__17mDoAud_zelAudio_c = .sbss:0x8053A781; // type:object size:0x1 data:byte
mBgmSet__17mDoAud_zelAudio_c = .sbss:0x8053A782; // type:object size:0x1 data:byte
+6 -3
View File
@@ -23,9 +23,12 @@ d/d_cursor_mng.cpp:
.text start:0x800073D4 end:0x8000820C
.data start:0x803E0978 end:0x803E0AA0
.sdata start:0x8051D5A8 end:0x8051D5E0
.sbss start:0x80520728 end:0x80520738
.sbss start:0x80520728 end:0x80520730
.sdata2 start:0x805219F8 end:0x80521A10
d/d_rvl_fb_copy.cpp:
.sbss start:0x80520730 end:0x80520738
m_Do/m_Do_main.cpp:
.text start:0x8000820C end:0x80009024
.ctors start:0x803B8C84 end:0x803B8C88
@@ -45,7 +48,7 @@ m_Do/m_Do_printf.cpp:
m_Do/m_Do_audio.cpp:
.text start:0x8000973C end:0x8000A0E0
.ctors start:0x803B8C88 end:0x803B8C8C
.data start:0x803E0E70 end:0x803E10E8
.data start:0x803E0E70 end:0x803E10D0
.bss start:0x80431CA0 end:0x80433058
.sdata start:0x8051D660 end:0x8051D6CC
.sbss start:0x80520780 end:0x805207D0
@@ -58,7 +61,7 @@ m_Do/m_Do_controller_pad.cpp:
m_Re/m_Re_controller_pad.cpp:
.text start:0x8000A4F0 end:0x8000DF0C
.rodata start:0x803B8E40 end:0x803B8E90
.data start:0x803E10E8 end:0x803E1100
.data start:0x803E10D0 end:0x803E1100
.bss start:0x80433168 end:0x8043AA18
.sbss start:0x805207D0 end:0x805207E0
.sdata2 start:0x80521A40 end:0x80521AE8
+6 -6
View File
@@ -27582,13 +27582,13 @@ __float_nan = .sdata:0x80520710; // type:object size:0x4 scope:global align:4 da
__float_huge = .sdata:0x80520714; // type:object size:0x4 scope:global align:4 data:float
SendCount = .sdata:0x80520718; // type:object size:0x1 data:byte
m_myObj__13dHomeButton_c = .sbss:0x80520720; // type:object size:0x4 scope:global align:4 data:4byte
lbl_80520724 = .sbss:0x80520724; // type:object size:0x1 data:byte
lbl_80520725 = .sbss:0x80520725; // type:object size:0x1 data:byte
lbl_8053A724__13dHomeButton_c = .sbss:0x80520724; // type:object size:0x1 data:byte
lbl_8053A725__13dHomeButton_c = .sbss:0x80520725; // type:object size:0x1 data:byte
m_myObj__10dCsr_mng_c = .sbss:0x80520728; // type:object size:0x4 scope:global align:4 data:4byte
lbl_80520730 = .sbss:0x80520730; // type:object size:0x8 data:byte
g_rvlEnableExtraFramebufferCopy = .sbss:0x80520730; // type:object size:0x1 data:byte
fillcheck_check_frame = .sbss:0x80520738; // type:object size:0x1 data:byte
sPowerOnTime__7mDoMain = .sbss:0x80520740; // type:object size:0x8 scope:global align:4 data:4byte
sHungUpTime__7mDoMain = .sbss:0x80520748; // type:object size:0x8 scope:global align:4 data:4byte
sPowerOnTime__7mDoMain = .sbss:0x80520740; // type:object size:0x8 scope:global align:8 data:4byte
sHungUpTime__7mDoMain = .sbss:0x80520748; // type:object size:0x8 scope:global align:8 data:4byte
mDisplayHeapSize = .sbss:0x80520750; // type:object size:0x1 data:byte
mSelectHeapBar = .sbss:0x80520751; // type:object size:0x1 data:byte
mCheckHeap = .sbss:0x80520752; // type:object size:0x1 data:byte
@@ -27605,7 +27605,7 @@ print_errors = .sbss:0x80520770; // type:object size:0x4 scope:global align:4 da
print_warings = .sbss:0x80520774; // type:object size:0x4 scope:global align:4 data:4byte
print_systems = .sbss:0x80520778; // type:object size:0x4 scope:global align:4 data:4byte
print_initialized = .sbss:0x8052077C; // type:object size:0x1 data:byte
lbl_8052077D = .sbss:0x8052077D; // type:object size:0x1 data:byte
data_80450BB5 = .sbss:0x8052077D; // type:object size:0x1 data:byte
mInitFlag__17mDoAud_zelAudio_c = .sbss:0x80520780; // type:object size:0x1 data:byte
mResetFlag__17mDoAud_zelAudio_c = .sbss:0x80520781; // type:object size:0x1 data:byte
mBgmSet__17mDoAud_zelAudio_c = .sbss:0x80520782; // type:object size:0x1 data:byte
+6 -3
View File
@@ -23,9 +23,12 @@ d/d_cursor_mng.cpp:
.text start:0x800073D4 end:0x8000820C
.data start:0x803DE938 end:0x803DEA60
.sdata start:0x8051B428 end:0x8051B460
.sbss start:0x8051E5A8 end:0x8051E5B8
.sbss start:0x8051E5A8 end:0x8051E5B0
.sdata2 start:0x8051F878 end:0x8051F890
d/d_rvl_fb_copy.cpp:
.sbss start:0x8051E5B0 end:0x8051E5B8
m_Do/m_Do_main.cpp:
.text start:0x8000820C end:0x80009024
.ctors start:0x803BA744 end:0x803BA748
@@ -45,7 +48,7 @@ m_Do/m_Do_printf.cpp:
m_Do/m_Do_audio.cpp:
.text start:0x8000973C end:0x8000A0E0
.ctors start:0x803BA748 end:0x803BA74C
.data start:0x803DEE30 end:0x803DF0A8
.data start:0x803DEE30 end:0x803DF090
.bss start:0x8042FB20 end:0x80430ED8
.sdata start:0x8051B4E0 end:0x8051B54C
.sbss start:0x8051E600 end:0x8051E650
@@ -58,7 +61,7 @@ m_Do/m_Do_controller_pad.cpp:
m_Re/m_Re_controller_pad.cpp:
.text start:0x8000A4F0 end:0x8000DF0C
.rodata start:0x803BA900 end:0x803BA950
.data start:0x803DF0A8 end:0x803DF0C0
.data start:0x803DF090 end:0x803DF0C0
.bss start:0x80430FE8 end:0x80438898
.sbss start:0x8051E650 end:0x8051E660
.sdata2 start:0x8051F8C0 end:0x8051F968
+4 -4
View File
@@ -27588,10 +27588,10 @@ __float_nan = .sdata:0x8051E580; // type:object size:0x4 scope:global align:4 da
__float_huge = .sdata:0x8051E584; // type:object size:0x4 scope:global align:4 data:float
SendCount = .sdata:0x8051E588; // type:object size:0x1 data:byte
m_myObj__13dHomeButton_c = .sbss:0x8051E5A0; // type:object size:0x4 scope:global align:4 data:4byte
lbl_8051E5A4 = .sbss:0x8051E5A4; // type:object size:0x1 data:byte
lbl_8051E5A5 = .sbss:0x8051E5A5; // type:object size:0x1 data:byte
lbl_8053A724__13dHomeButton_c = .sbss:0x8051E5A4; // type:object size:0x1 data:byte
lbl_8053A725__13dHomeButton_c = .sbss:0x8051E5A5; // type:object size:0x1 data:byte
m_myObj__10dCsr_mng_c = .sbss:0x8051E5A8; // type:object size:0x4 scope:global align:4 data:4byte
lbl_8051E5B0 = .sbss:0x8051E5B0; // type:object size:0x8 data:byte
g_rvlEnableExtraFramebufferCopy = .sbss:0x8051E5B0; // type:object size:0x1 data:byte
fillcheck_check_frame = .sbss:0x8051E5B8; // type:object size:0x1 data:byte
sPowerOnTime__7mDoMain = .sbss:0x8051E5C0; // type:object size:0x8 scope:global align:4 data:4byte
sHungUpTime__7mDoMain = .sbss:0x8051E5C8; // type:object size:0x8 scope:global align:4 data:4byte
@@ -27611,7 +27611,7 @@ print_errors = .sbss:0x8051E5F0; // type:object size:0x4 scope:global align:4 da
print_warings = .sbss:0x8051E5F4; // type:object size:0x4 scope:global align:4 data:4byte
print_systems = .sbss:0x8051E5F8; // type:object size:0x4 scope:global align:4 data:4byte
print_initialized = .sbss:0x8051E5FC; // type:object size:0x1 data:byte
lbl_8051E5FD = .sbss:0x8051E5FD; // type:object size:0x1 data:byte
data_80450BB5 = .sbss:0x8051E5FD; // type:object size:0x1 data:byte
mInitFlag__17mDoAud_zelAudio_c = .sbss:0x8051E600; // type:object size:0x1 data:byte
mResetFlag__17mDoAud_zelAudio_c = .sbss:0x8051E601; // type:object size:0x1 data:byte
mBgmSet__17mDoAud_zelAudio_c = .sbss:0x8051E602; // type:object size:0x1 data:byte
+6 -3
View File
@@ -23,9 +23,12 @@ d/d_cursor_mng.cpp:
.text start:0x800073D4 end:0x8000820C
.data start:0x803E1698 end:0x803E17C0
.sdata start:0x8051DEA8 end:0x8051DEE0
.sbss start:0x80520EE8 end:0x80520EF8
.sbss start:0x80520EE8 end:0x80520EF0
.sdata2 start:0x805221B8 end:0x805221D0
d/d_rvl_fb_copy.cpp:
.sbss start:0x80520EF0 end:0x80520EF8
m_Do/m_Do_main.cpp:
.text start:0x8000820C end:0x80009024
.ctors start:0x803B9104 end:0x803B9108
@@ -45,7 +48,7 @@ m_Do/m_Do_printf.cpp:
m_Do/m_Do_audio.cpp:
.text start:0x80009704 end:0x8000A0A8
.ctors start:0x803B9108 end:0x803B910C
.data start:0x803E1B90 end:0x803E1E08
.data start:0x803E1B90 end:0x803E1DF0
.bss start:0x804325A0 end:0x80433958
.sdata start:0x8051DF60 end:0x8051DFCC
.sbss start:0x80520F40 end:0x80520F90
@@ -58,7 +61,7 @@ m_Do/m_Do_controller_pad.cpp:
m_Re/m_Re_controller_pad.cpp:
.text start:0x8000A4B8 end:0x8000DED4
.rodata start:0x803B92C0 end:0x803B9310
.data start:0x803E1E08 end:0x803E1E20
.data start:0x803E1DF0 end:0x803E1E20
.bss start:0x80433A68 end:0x8043B318
.sbss start:0x80520F90 end:0x80520FA0
.sdata2 start:0x80522200 end:0x805222A8
+3 -3
View File
@@ -27508,8 +27508,8 @@ m_myObj__13dHomeButton_c = .sbss:0x80520EE0; // type:object size:0x4 scope:globa
lbl_8053A724__13dHomeButton_c = .sbss:0x80520EE4; // type:object size:0x1 data:byte
lbl_8053A725__13dHomeButton_c = .sbss:0x80520EE5; // type:object size:0x1 data:byte
m_myObj__10dCsr_mng_c = .sbss:0x80520EE8; // type:object size:0x4 scope:global align:4 data:4byte
data_8053a730 = .sbss:0x80520EF0; // type:object size:0x1 data:byte
fillcheck_check_Frame = .sbss:0x80520EF8; // type:object size:0x1 data:byte
g_rvlEnableExtraFramebufferCopy = .sbss:0x80520EF0; // type:object size:0x1 data:byte
fillcheck_check_frame = .sbss:0x80520EF8; // type:object size:0x1 data:byte
sPowerOnTime__7mDoMain = .sbss:0x80520F00; // type:object size:0x8 scope:global align:4 data:4byte
sHungUpTime__7mDoMain = .sbss:0x80520F08; // type:object size:0x8 scope:global align:4 data:4byte
mDisplayHeapSize = .sbss:0x80520F10; // type:object size:0x1 data:byte
@@ -27528,7 +27528,7 @@ print_errors = .sbss:0x80520F30; // type:object size:0x4 scope:global align:4 da
print_warings = .sbss:0x80520F34; // type:object size:0x4 scope:global align:4 data:4byte
print_systems = .sbss:0x80520F38; // type:object size:0x4 scope:global align:4 data:4byte
print_initialized = .sbss:0x80520F3C; // type:object size:0x1 data:byte
lbl_80520F3D = .sbss:0x80520F3D; // type:object size:0x1 data:byte
data_80450BB5 = .sbss:0x80520F3D; // type:object size:0x1 data:byte
mInitFlag__17mDoAud_zelAudio_c = .sbss:0x80520F40; // type:object size:0x1 data:byte
mResetFlag__17mDoAud_zelAudio_c = .sbss:0x80520F41; // type:object size:0x1 data:byte
mBgmSet__17mDoAud_zelAudio_c = .sbss:0x80520F42; // type:object size:0x1 data:byte
+5 -5
View File
@@ -25146,11 +25146,11 @@ print_counts = .sbss:0x8050893C; // type:object size:0x4 scope:global data:4byte
print_errors = .sbss:0x80508940; // type:object size:0x4 scope:global data:4byte hash:0x123F5FA0
print_warings = .sbss:0x80508944; // type:object size:0x4 scope:global data:4byte hash:0xA05AA6BC
print_systems = .sbss:0x80508948; // type:object size:0x4 scope:global data:4byte hash:0x36CB5A9D
lbl_8050894C = .sbss:0x8050894C; // type:object size:0x1 data:byte hash:0xBF9D0727
lbl_8050894D = .sbss:0x8050894D; // type:object size:0x1 data:byte hash:0xB0FDA7F8
lbl_80508950 = .sbss:0x80508950; // type:object size:0x1 data:byte hash:0x694E5028 dhash:0x0978C44E
lbl_80508951 = .sbss:0x80508951; // type:object size:0x1 data:byte hash:0x842F0E27 dhash:0x44515221
lbl_80508952 = .sbss:0x80508952; // type:object size:0x1 data:byte hash:0xB5B466D4 dhash:0x04485F72
print_initialized = .sbss:0x8050894C; // type:object size:0x1 data:byte hash:0xBF9D0727
data_80450BB5 = .sbss:0x8050894D; // type:object size:0x1 data:byte hash:0xB0FDA7F8
mInitFlag__17mDoAud_zelAudio_c = .sbss:0x80508950; // type:object size:0x1 data:byte hash:0x694E5028 dhash:0x0978C44E
mResetFlag__17mDoAud_zelAudio_c = .sbss:0x80508951; // type:object size:0x1 data:byte hash:0x842F0E27 dhash:0x44515221
mBgmSet__17mDoAud_zelAudio_c = .sbss:0x80508952; // type:object size:0x1 data:byte hash:0xB5B466D4 dhash:0x04485F72
g_mDoAud_audioHeap = .sbss:0x80508954; // type:object size:0x4 scope:global data:4byte hash:0xB286EBBE
l_affCommand = .sbss:0x80508958; // type:object size:0x4 scope:global data:4byte hash:0x527CFA30
l_arcCommand = .sbss:0x8050895C; // type:object size:0x4 scope:global data:4byte hash:0xD9970F01
+1 -1
View File
@@ -64150,7 +64150,7 @@ print_errors = .sbss:0x8074C2AC; // type:object size:0x4 scope:global data:4byte
print_warings = .sbss:0x8074C2B0; // type:object size:0x4 scope:global data:4byte hash:0xA05AA6BC
print_systems = .sbss:0x8074C2B4; // type:object size:0x4 scope:global data:4byte hash:0x36CB5A9D
print_initialized = .sbss:0x8074C2B8; // type:object size:0x1 data:byte hash:0xBF9D0727
lbl_8074C2B9 = .sbss:0x8074C2B9; // type:object size:0x7 data:byte hash:0xB0FDA7F8
data_80450BB5 = .sbss:0x8074C2B9; // type:object size:0x7 data:byte hash:0xB0FDA7F8
mInitFlag__17mDoAud_zelAudio_c = .sbss:0x8074C2C0; // type:object size:0x1 data:byte hash:0x694E5028 dhash:0x0978C44E
mResetFlag__17mDoAud_zelAudio_c = .sbss:0x8074C2C1; // type:object size:0x1 data:byte hash:0x842F0E27 dhash:0x44515221
mBgmSet__17mDoAud_zelAudio_c = .sbss:0x8074C2C2; // type:object size:0x1 data:byte hash:0xB5B466D4 dhash:0x04485F72
+2 -1
View File
@@ -728,7 +728,8 @@ config.libs = [
"progress_category": "game",
"objects": [
Object(NonMatching, "d/d_home_button.cpp"),
Object(NonMatching, "d/d_cursor_mng.cpp"),
Object(MatchingFor(ALL_WII, "DZDE01"), "d/d_cursor_mng.cpp"),
Object(MatchingFor(ALL_WII, "DZDE01"), "d/d_rvl_fb_copy.cpp"),
Object(MatchingFor(ALL_GCN), "d/d_stage.cpp"),
Object(MatchingFor(ALL_GCN), "d/d_map.cpp"),
Object(MatchingFor(ALL_GCN), "d/d_com_inf_game.cpp"),
+129 -38
View File
@@ -310,9 +310,9 @@ public:
/* 0x04EEC */ u8 mDoStatus; // A button
/* 0x04EED */ u8 field_0x4eed;
/* 0x04EEE */ u8 m3DStatus;
/* 0x04EEF */ u8 field_0x4eef; // related to NunStatusForce
/* 0x04EEF */ u8 mNunDirectionForce;
/* 0x04EF0 */ u8 field_0x4ef0; // related to NunStatus
/* 0x04EF1 */ u8 field_0x4ef1; // related to RemoConStatusForce
/* 0x04EF1 */ u8 mRemoConDirectionForce;
/* 0x04EF2 */ u8 field_0x4ef2; // related to RemoConStatus
/* 0x04EF3 */ u8 field_0x4ef3[2];
/* 0x04EF5 */ u8 m3DDirection;
@@ -325,9 +325,9 @@ public:
/* 0x04EFC */ u8 mRStatusForce;
/* 0x04EFD */ u8 mAStatusForce;
/* 0x04EFE */ u8 field_0x4efe;
/* 0x04EFF */ u8 field_0x4eff; // related to NunStatusForce
/* 0x04EFF */ u8 mNunStatusForce;
/* 0x04F00 */ u8 mBottleStatusForce;
/* 0x04F01 */ u8 field_0x4f01; // related to RemoConStatusForce
/* 0x04F01 */ u8 mRemoConStatusForce;
/* 0x04F02 */ u8 field_0x4f02[2];
/* 0x04F04 */ u8 mDoStatusForce;
/* 0x04F05 */ u8 mTouchStatusForce;
@@ -350,9 +350,9 @@ public:
/* 0x04F17 */ u8 mRSetFlagForce;
/* 0x04F18 */ u8 mASetFlagForce;
/* 0x04F19 */ u8 field_0x4f19;
/* 0x04F1A */ u8 field_0x4f1a; // related to NunStatusForce
/* 0x04F1A */ u8 mNunSetFlagForce;
/* 0x04F1B */ u8 mBottleSetFlagForce;
/* 0x04F1C */ u8 field_0x4f1c; // related to RemoConStatusForce
/* 0x04F1C */ u8 mRemoConSetFlagForce;
/* 0x04F1D */ u8 field_0x4f1d[2];
/* 0x04F1F */ u8 mDoSetFlagForce;
/* 0x04F20 */ u8 m3DSetFlagForce;
@@ -369,12 +369,12 @@ public:
/* 0x04F2B */ u8 mYSetFlagForce;
/* 0x04F2C */ u8 mNunZStatus;
/* 0x04F2D */ u8 mNunZSetFlag;
/* 0x04F2E */ u8 field_0x4fc6; // related to NunZStatusForce
/* 0x04F2F */ u8 field_0x4fc7; // related to NunZStatusForce
/* 0x04F2E */ u8 mNunZStatusForce;
/* 0x04F2F */ u8 mNunZSetFlagForce;
/* 0x04F30 */ u8 mNunCStatus;
/* 0x04F31 */ u8 mNunCSetFlag;
/* 0x04F32 */ u8 field_0x4fca; // related to NunCStatusForce
/* 0x04F33 */ u8 field_0x4fcb; // related to NunCStatusForce
/* 0x04F32 */ u8 mNunCStatusForce;
/* 0x04F33 */ u8 mNunCSetFlagForce;
/* 0x04F34 */ u8 mSelectItem[8];
/* 0x04F3C */ u8 mSelectEquip[6];
/* 0x04F42 */ u8 mBaseAnimeID;
@@ -406,7 +406,7 @@ public:
/* 0x04F7D */ u8 mPauseFlag;
/* 0x04F7E */ u8 mItemLifeCountType;
/* 0x04F7F */ u8 mOxygenShowFlag;
/* 0x04F80 */ u8 mShow2D;
/* 0x04F80 */ bool mShow2D;
/* 0x04F84 */ JKRExpHeap* mExpHeap2D;
/* 0x04F88 */ JKRExpHeap* mSubExpHeap2D[2];
/* 0x04F90 */ JKRExpHeap* mMsgExpHeap;
@@ -424,7 +424,7 @@ public:
void clearItemBombNumCount(u8 i_item);
s16 getItemMaxBombNumCount(u8 i_bombType);
void setNowVibration(u8 vib_status);
u32 getNowVibration();
u8 getNowVibration();
void setStartStage(dStage_startStage_c* p_startStage);
static int getLayerNo_common_common(char const* stageName, int roomId, int layer);
static int getLayerNo_common(char const* stageName, int roomId, int layer);
@@ -593,7 +593,7 @@ public:
dMsgObject_c* getMsgObjectClass() { return mItemInfo.mMsgObjectClass; }
void setMsgObjectClass(dMsgObject_c* obj) { mItemInfo.mMsgObjectClass = obj; }
f32 getItemLifeCount() { return mItemInfo.mItemLifeCount; }
u8& getItemLifeCountType() { return mItemInfo.mItemLifeCountType; }
u8 getItemLifeCountType() { return mItemInfo.mItemLifeCountType; }
void setItemLifeCount(f32 hearts, u8 type) {
mItemInfo.mItemLifeCount += hearts;
mItemInfo.mItemLifeCountType = type;
@@ -672,11 +672,18 @@ public:
}
u8 getNunStatus() { return mItemInfo.mNunStatus; }
bool isNunSetFlag(u8 flag) { return (mItemInfo.mNunSetFlag & flag) ? true : false; }
void setNunStatus(u8 status, u8 param_1, u8 flag) {
void setNunStatus(u8 status, u8 direction, u8 flag) {
mItemInfo.mNunStatus = status;
mItemInfo.field_0x4ef0 = param_1;
mItemInfo.field_0x4ef0 = direction;
mItemInfo.mNunSetFlag = flag;
}
u8 getNunStatusForce() { return mItemInfo.mNunStatus; }
bool getNunSetFlagForce() { return mItemInfo.mNunSetFlag; }
void setNunStatusForce(u8 status, u8 direction, u8 flag) {
mItemInfo.mNunStatusForce = status;
mItemInfo.mNunDirectionForce = direction;
mItemInfo.mNunSetFlagForce = flag;
}
u8 getBottleStatus() { return mItemInfo.mBottleStatus; }
bool isBottleSetFlag(u8 flag) { return (mItemInfo.mBottleSetFlag & flag) ? true : false; }
void setBottleStatus(u8 status, u8 flag) {
@@ -691,11 +698,18 @@ public:
}
u8 getRemoConStatus() { return mItemInfo.mRemoConStatus; }
bool isRemoConSetFlag(u8 flag) { return (mItemInfo.mRemoConSetFlag & flag) ? true : false; }
void setRemoConStatus(u8 status, u8 param_1, u8 flag) {
void setRemoConStatus(u8 status, u8 direction, u8 flag) {
mItemInfo.mRemoConStatus = status;
mItemInfo.field_0x4ef2 = param_1;
mItemInfo.field_0x4ef2 = direction;
mItemInfo.mRemoConSetFlag = flag;
}
u8 getRemoConStatusForce() { return mItemInfo.mBottleStatusForce; }
u8 getRemoConSetFlagForce() { return mItemInfo.mBottleSetFlagForce; }
void setRemoConStatusForce(u8 status, u8 direction, u8 flag) {
mItemInfo.mRemoConStatusForce = status;
mItemInfo.mRemoConDirectionForce = direction;
mItemInfo.mRemoConSetFlagForce = flag;
}
u8 getDoStatus() { return mItemInfo.mDoStatus; }
bool isDoSetFlag(u8 flag) { return (mItemInfo.mDoSetFlag & flag) ? true : false; }
void setDoStatus(u8 status, u8 flag) {
@@ -727,17 +741,17 @@ public:
u8 getCStickStatus() { return mItemInfo.mCStickStatus; }
u8 getCStickDirection() { return mItemInfo.mCStickDirection; }
bool isCStickSetFlag(u8 flag) { return (mItemInfo.mCStickSetFlag & flag) ? true : false; }
void setCStickStatus(u8 status, u8 param_1, u8 flag) {
void setCStickStatus(u8 status, u8 direction, u8 flag) {
mItemInfo.mCStickStatus = status;
mItemInfo.mCStickDirection = param_1;
mItemInfo.mCStickDirection = direction;
mItemInfo.mCStickSetFlag = flag;
}
u8 getCStickStatusForce() { return mItemInfo.mCStickStatusForce; }
u8 getCStickDirectionForce() { return mItemInfo.mCStickDirectionForce; }
u8 getCStickSetFlagForce() { return mItemInfo.mCStickSetFlagForce; }
void setCStickStatusForce(u8 status, u8 param_1, u8 flag) {
void setCStickStatusForce(u8 status, u8 direction, u8 flag) {
mItemInfo.mCStickStatusForce = status;
mItemInfo.mCStickDirectionForce = param_1;
mItemInfo.mCStickDirectionForce = direction;
mItemInfo.mCStickSetFlagForce = flag;
}
u8 getSButtonStatus() { return mItemInfo.mSButtonStatus; }
@@ -794,12 +808,29 @@ public:
mItemInfo.mNunZStatus = status;
mItemInfo.mNunZSetFlag = flag;
}
u8 getNunZStatusForce() { return mItemInfo.mBottleStatusForce; }
u8 getNunZSetFlagForce() { return mItemInfo.mBottleSetFlagForce; }
void setNunZStatusForce(u8 status, u8 flag) {
mItemInfo.mNunZStatusForce = status;
mItemInfo.mNunZSetFlagForce = flag;
}
u8 getNunCStatus() { return mItemInfo.mNunCStatus; }
bool isNunCSetFlag(u8 flag) { return (mItemInfo.mNunCSetFlag & flag) ? true : false; }
void setNunCStatus(u8 status, u8 flag) {
mItemInfo.mNunCStatus = status;
mItemInfo.mNunCSetFlag = flag;
}
u8 getNunCStatusForce() { return mItemInfo.mBottleStatusForce; }
u8 getNunCSetFlagForce() { return mItemInfo.mBottleSetFlagForce; }
void setNunCStatusForce(u8 status, u8 flag) {
mItemInfo.mNunCStatusForce = status;
mItemInfo.mNunCSetFlagForce = flag;
}
u8 getTouchStatusForce() { return mItemInfo.mTouchStatusForce; }
u8 getTouchSetFlagForce() { return mItemInfo.mBottleSetFlagForce; }
void setTouchStatusForce(u8 status) {
mItemInfo.mTouchStatusForce = status;
}
u8 getSelectItem(int idx) { return mItemInfo.mSelectItem[idx]; }
void setSelectItem(int idx, u8 i_itemNo) { mItemInfo.mSelectItem[idx] = i_itemNo; }
void setSelectEquip(int idx, u8 item_id) { mItemInfo.mSelectEquip[idx] = item_id; }
@@ -835,7 +866,7 @@ public:
void onPauseFlag() { mItemInfo.mPauseFlag = true; }
u8 getOxygenShowFlag() { return mItemInfo.mOxygenShowFlag; }
void setOxygenShowFlag(u8 flag) { mItemInfo.mOxygenShowFlag = flag; }
u8 show2dCheck() { return mItemInfo.mShow2D; }
bool show2dCheck() { return mItemInfo.mShow2D; }
void show2dOn() { mItemInfo.mShow2D = 1; }
void show2dOff() { mItemInfo.mShow2D = 0; }
JKRExpHeap* getExpHeap2D() { return mItemInfo.mExpHeap2D; }
@@ -3727,8 +3758,20 @@ inline bool dComIfGp_isNunSetFlag(u8 flag) {
return g_dComIfG_gameInfo.play.isNunSetFlag(flag);
}
inline void dComIfGp_setNunStatus(u8 status, u8 param_1, u8 flag) {
g_dComIfG_gameInfo.play.setNunStatus(status, param_1, flag);
inline void dComIfGp_setNunStatus(u8 status, u8 direction, u8 flag) {
g_dComIfG_gameInfo.play.setNunStatus(status, direction, flag);
}
inline void dComIfGp_getNunStatusForce() {
g_dComIfG_gameInfo.play.getNunStatusForce();
}
inline void dComIfGp_getNunSetFlagForce() {
g_dComIfG_gameInfo.play.getNunSetFlagForce();
}
inline void dComIfGp_setNunStatusForce(u8 status, u8 direction, u8 flag) {
g_dComIfG_gameInfo.play.setNunStatusForce(status, direction, flag);
}
inline u8 dComIfGp_getBottleStatus() {
@@ -3739,8 +3782,8 @@ inline bool dComIfGp_isBottleSetFlag(u8 flag) {
return g_dComIfG_gameInfo.play.isBottleSetFlag(flag);
}
inline void dComIfGp_setBottleStatus(u8 param_0, u8 param_1) {
g_dComIfG_gameInfo.play.setBottleStatus(param_0, param_1);
inline void dComIfGp_setBottleStatus(u8 status, u8 flag) {
g_dComIfG_gameInfo.play.setBottleStatus(status, flag);
}
inline u8 dComIfGp_getBottleStatusForce() {
@@ -3751,8 +3794,8 @@ inline u8 dComIfGp_getBottleSetFlagForce() {
return g_dComIfG_gameInfo.play.getBottleSetFlagForce();
}
inline void dComIfGp_setBottleStatusForce(u8 param_0, u8 param_1) {
g_dComIfG_gameInfo.play.setBottleStatusForce(param_0, param_1);
inline void dComIfGp_setBottleStatusForce(u8 status, u8 flag) {
g_dComIfG_gameInfo.play.setBottleStatusForce(status, flag);
}
inline u8 dComIfGp_getRemoConStatus() {
@@ -3763,8 +3806,20 @@ inline bool dComIfGp_isRemoConSetFlag(u8 flag) {
return g_dComIfG_gameInfo.play.isRemoConSetFlag(flag);
}
inline void dComIfGp_setRemoConStatus(u8 status, u8 param_1, u8 flag) {
g_dComIfG_gameInfo.play.setRemoConStatus(status, param_1, flag);
inline void dComIfGp_setRemoConStatus(u8 status, u8 direction, u8 flag) {
g_dComIfG_gameInfo.play.setRemoConStatus(status, direction, flag);
}
inline u8 dComIfGp_getRemoConStatusForce() {
return g_dComIfG_gameInfo.play.getRemoConStatusForce();
}
inline u8 dComIfGp_getRemoConSetFlagForce() {
return g_dComIfG_gameInfo.play.getRemoConSetFlagForce();
}
inline void dComIfGp_setRemoConStatusForce(u8 status, u8 direction, u8 flag) {
g_dComIfG_gameInfo.play.setRemoConStatusForce(status, direction, flag);
}
inline u8 dComIfGp_getDoStatus() {
@@ -3835,8 +3890,8 @@ inline bool dComIfGp_isCStickSetFlag(u8 flag) {
return g_dComIfG_gameInfo.play.isCStickSetFlag(flag);
}
inline void dComIfGp_setCStickStatus(u8 status, u8 param_1, u8 flag) {
g_dComIfG_gameInfo.play.setCStickStatus(status, param_1, flag);
inline void dComIfGp_setCStickStatus(u8 status, u8 direction, u8 flag) {
g_dComIfG_gameInfo.play.setCStickStatus(status, direction, flag);
}
inline u8 dComIfGp_getCStickStatusForce() {
@@ -3851,8 +3906,8 @@ inline u8 dComIfGp_getCStickSetFlagForce() {
return g_dComIfG_gameInfo.play.getCStickSetFlagForce();
}
inline void dComIfGp_setCStickStatusForce(u8 status, u8 param_1, u8 flag) {
g_dComIfG_gameInfo.play.setCStickStatusForce(status, param_1, flag);
inline void dComIfGp_setCStickStatusForce(u8 status, u8 direction, u8 flag) {
g_dComIfG_gameInfo.play.setCStickStatusForce(status, direction, flag);
}
inline u8 dComIfGp_getSButtonStatus() {
@@ -3963,6 +4018,18 @@ inline void dComIfGp_setNunZStatus(u8 param_0, u8 param_1) {
g_dComIfG_gameInfo.play.setNunZStatus(param_0, param_1);
}
inline u8 dComIfGp_getNunZStatusForce() {
return g_dComIfG_gameInfo.play.getNunZStatusForce();
}
inline u8 dComIfGp_getNunZSetFlagForce() {
return g_dComIfG_gameInfo.play.getNunZSetFlagForce();
}
inline void dComIfGp_setNunZStatusForce(u8 status, u8 flag) {
g_dComIfG_gameInfo.play.setNunZStatusForce(status, flag);
}
inline u8 dComIfGp_getNunCStatus() {
return g_dComIfG_gameInfo.play.getNunCStatus();
}
@@ -3971,8 +4038,32 @@ inline bool dComIfGp_isNunCSetFlag(u8 flag) {
return g_dComIfG_gameInfo.play.isNunCSetFlag(flag);
}
inline void dComIfGp_setNunCStatus(u8 param_0, u8 param_1) {
g_dComIfG_gameInfo.play.setNunCStatus(param_0, param_1);
inline void dComIfGp_setNunCStatus(u8 status, u8 flag) {
g_dComIfG_gameInfo.play.setNunCStatus(status, flag);
}
inline u8 dComIfGp_getNunCStatusForce() {
return g_dComIfG_gameInfo.play.getNunCStatusForce();
}
inline u8 dComIfGp_getNunCSetFlagForce() {
return g_dComIfG_gameInfo.play.getNunCSetFlagForce();
}
inline void dComIfGp_setNunCStatusForce(u8 status, u8 flag) {
g_dComIfG_gameInfo.play.setNunCStatusForce(status, flag);
}
inline u8 dComIfGp_getTouchStatusForce() {
return g_dComIfG_gameInfo.play.getTouchStatusForce();
}
inline u8 dComIfGp_getTouchSetFlagForce() {
return g_dComIfG_gameInfo.play.getTouchSetFlagForce();
}
inline void dComIfGp_setTouchStatusForce(u8 status) {
g_dComIfG_gameInfo.play.setTouchStatusForce(status);
}
inline void dComIfGp_setSelectEquipClothes(u8 i_clothNo) {
@@ -4099,7 +4190,7 @@ inline void dComIfGp_onOxygenShowFlag() {
g_dComIfG_gameInfo.play.setOxygenShowFlag(1);
}
inline u8 dComIfGp_2dShowCheck() {
inline bool dComIfGp_2dShowCheck() {
return g_dComIfG_gameInfo.play.show2dCheck();
}
@@ -4254,7 +4345,7 @@ inline void dComIfGp_setNowVibration(u8 status) {
g_dComIfG_gameInfo.play.setNowVibration(status);
}
inline u32 dComIfGp_getNowVibration() {
inline u8 dComIfGp_getNowVibration() {
return g_dComIfG_gameInfo.play.getNowVibration();
}
+31 -15
View File
@@ -5,13 +5,13 @@
#include "m_Do/m_Do_graphic.h"
#include "m_Re/m_Re_controller_pad.h"
// TODO: putting this here until a more appropriate place is found
extern u8 data_8053a730;
class dCsr_mng_c {
public:
struct csr_c;
struct node_c : mDoGph_gInf_c::csr_c {
struct node_c {
virtual ~node_c() {}
BOOL set(u8 i_priority, u8, u16 i_mask);
/* 0x04 */ u8 m_priority;
@@ -19,12 +19,6 @@ class dCsr_mng_c {
/* 0x06 */ u16 m_mask;
/* 0x08 */ node_c* m_prev;
/* 0x0C */ node_c* m_next;
/* 0x10 */ int m_actor_id;
/* 0x14 */ csr_c* m_csr;
/* 0x18 */ node_c* m_pointed_obj;
};
struct obj_c : node_c {
};
struct list_c {
@@ -40,7 +34,10 @@ class dCsr_mng_c {
/* 0x04 */ node_c* m_root;
};
struct bloObj_c {
struct obj_c : node_c {
};
struct bloObj_c : obj_c {
struct paneObj_c {
paneObj_c(void) {
m_handle = NULL;
@@ -59,13 +56,16 @@ class dCsr_mng_c {
};
bloObj_c() {
m_panes = new paneObj_c[1];
m_screen = 0;
m_panes = NULL;
m_pane_num = 0;
m_is_calc = FALSE;
m_pane_handle = NULL;
}
virtual ~bloObj_c(void);
virtual u32 signature(void) const {
return 0x626c6f20;
return 'blo ';
}
virtual BOOL isInside(s16 i_x, s16 i_y);
BOOL create(J2DScreen* i_screen, u16 i_mask, u8 i_priority, u8);
@@ -73,7 +73,6 @@ class dCsr_mng_c {
void calcPaneObjNum(J2DPane* i_pane);
void createPaneObj(paneObj_c** i_panes, J2DPane* i_pane);
/* 0x04 */ u8 field_0x04[0x10 - 0x4];
/* 0x10 */ J2DScreen* m_screen;
/* 0x14 */ paneObj_c* m_panes;
/* 0x18 */ u16 m_pane_num;
@@ -81,18 +80,35 @@ class dCsr_mng_c {
/* 0x1C */ J2DPane* m_pane_handle;
};
struct ccObj_c : node_c {
struct ccObj_c : obj_c {
virtual ~ccObj_c(void);
virtual int signature(void) const {
return 'cc ';
}
virtual BOOL isInside(s16, s16);
void set(u16, u8, u8);
/* 0x10 */ int m_actor_id;
/* 0x14 */ csr_c* m_csr;
/* 0x18 */ node_c* m_pointed_obj;
};
struct csr_c : node_c {
csr_c() {
field_0x10 = 0xFF;
field_0x11 = 0;
field_0x12 = 0;
m_csr = NULL;
m_pointed_obj = NULL;
}
virtual ~csr_c(void);
BOOL set(mDoGph_gInf_c::csr_c* i_csr, u16, u8, u8);
/* 0x10 */ u8 field_0x10;
/* 0x11 */ u8 field_0x11;
/* 0x12 */ u16 field_0x12;
/* 0x14 */ mDoGph_gInf_c::csr_c* m_csr;
/* 0x18 */ node_c* m_pointed_obj;
};
private:
+14
View File
@@ -3,6 +3,20 @@
#include <types.h>
#if PLATFORM_WII
#define SELECT_ITEMS_COUNT 4
#define SELECT_ITEMS_MAX 4
#elif PLATFORM_SHIELD
// Shield has some weird code where the Wii item limit of 4 is used e.g. as a loop bound
// despite that version only allowing 2 bound items. We use a separate macro to differentiate
// these usages as being disconnected from the actual item slot count.
#define SELECT_ITEMS_COUNT 2
#define SELECT_ITEMS_MAX 4
#else
#define SELECT_ITEMS_COUNT 2
#define SELECT_ITEMS_MAX 2
#endif
class dEnemyItem_c {
public:
static void setItemData(u8* data) { mData = data; }
+6
View File
@@ -0,0 +1,6 @@
#ifndef D_SCREEN_COPY
#define D_SCREEN_COPY
extern bool g_rvlEnableExtraFramebufferCopy;
#endif /* D_SCREEN_COPY */
+2 -2
View File
@@ -500,7 +500,7 @@ private:
class dSv_player_config_c {
public:
void init();
u32 checkVibration() const;
u8 checkVibration() const;
u8 getSound();
void setSound(u8 i_mode);
u8 getVibration();
@@ -639,7 +639,7 @@ public:
void onDungeonItemBossKey() { onDungeonItem(BOSS_KEY); }
void offDungeonItemBossKey() { offDungeonItem(BOSS_KEY); }
s32 isDungeonItemBossKey() const { return isDungeonItem(BOSS_KEY); }
void onStageBossEnemy() {
void onStageBossEnemy() {
onDungeonItem(STAGE_BOSS_ENEMY);
onDungeonItem(OOCCOO_NOTE);
}
+1 -1
View File
@@ -59,7 +59,7 @@ public:
public:
virtual ~csr_c() {}
virtual void draw(f32, f32) = 0;
virtual bool isPointer();
virtual bool isPointer() { return true; }
static void particleExecute();
static u32 getBlurID() { return m_blurID; }
+1 -1
View File
@@ -134,7 +134,7 @@ void dComIfG_play_c::setNowVibration(u8 i_vibration) {
mItemInfo.mNowVibration = i_vibration;
}
u32 dComIfG_play_c::getNowVibration() {
u8 dComIfG_play_c::getNowVibration() {
return mItemInfo.mNowVibration;
}
+31 -30
View File
@@ -6,9 +6,6 @@
dCsr_mng_c* dCsr_mng_c::m_myObj;
// TODO: putting this here until a more appropriate place is found
u8 data_8053a730;
void dCsr_mng_c::update_(void) {
BOOL is_valid = FALSE;
@@ -21,10 +18,10 @@ void dCsr_mng_c::update_(void) {
if (is_csr_on == 0) {
mDoGph_gInf_c::entryCsr(NULL);
node_c* cur_node = m_csr_list.m_root;
csr_c* cur_node = static_cast<csr_c*>(m_csr_list.m_root);
while (cur_node != NULL) {
cur_node->m_pointed_obj = 0;
cur_node = cur_node->m_next;
cur_node->m_pointed_obj = NULL;
cur_node = static_cast<csr_c*>(cur_node->m_next);
}
return;
@@ -35,36 +32,36 @@ void dCsr_mng_c::update_(void) {
int x = pos->x;
int y = pos->y;
node_c* cur_node = m_csr_list.m_root;
csr_c* csr_node = static_cast<csr_c*>(m_csr_list.m_root);
mDoGph_gInf_c::csr_c* csr = NULL;
u16 last_mask = 1;
while (cur_node != NULL) {
cur_node->m_pointed_obj = NULL;
u16 last_mask = 0x1;
while (csr_node != NULL) {
csr_node->m_pointed_obj = NULL;
u16 cur_mask = cur_node->m_mask;
if (!g_dComIfG_gameInfo.play.mItemInfo.mPauseFlag || (cur_node->m_mask & 0x200) == 0) {
u16 cur_mask = csr_node->m_mask;
if (!g_dComIfG_gameInfo.play.mItemInfo.mPauseFlag || (cur_mask & 0x200) == 0) {
if (csr == NULL) {
csr = cur_node->m_csr;
csr = csr_node->m_csr;
}
if (is_valid && last_mask != 0) {
last_mask = cur_mask;
if (last_mask != 0) {
node_c* cur_node_2 = m_obj_list.m_root;
while (cur_node_2 != NULL) {
if ((cur_mask & cur_node_2->m_mask) != 0 &&
((bloObj_c*)cur_node_2)->isInside(x, y))
{
cur_node->m_pointed_obj = cur_node_2;
if (cur_mask != 0) {
node_c* obj_node = m_obj_list.m_root;
u32 mask_temp = (s16)cur_mask;
while (obj_node != NULL) {
if (((u16)mask_temp & obj_node->m_mask) != 0 &&
static_cast<bloObj_c*>(obj_node)->isInside(x, y)) {
csr_node->m_pointed_obj = obj_node;
}
cur_node_2 = cur_node_2->m_next;
obj_node = obj_node->m_next;
}
}
}
}
cur_node = cur_node->m_next;
csr_node = static_cast<csr_c*>(csr_node->m_next);
}
if (!dComIfGs_getOptPointer()) {
@@ -82,7 +79,7 @@ void dCsr_mng_c::update_(void) {
void dCsr_mng_c::releaseCsr_(csr_c* i_csr) {
mDoGph_gInf_c::csr_c* temp_r5 = i_csr->m_csr;
i_csr->m_pointed_obj = 0;
i_csr->m_pointed_obj = NULL;
if (temp_r5 != NULL && temp_r5 == mDoGph_gInf_c::m_csr) {
mDoGph_gInf_c::entryCsr(NULL);
}
@@ -90,12 +87,12 @@ void dCsr_mng_c::releaseCsr_(csr_c* i_csr) {
}
void dCsr_mng_c::insideObjReleaseCheck_(void) {
node_c* cur_node = m_csr_list.m_root;
csr_c* cur_node = (csr_c*)m_csr_list.m_root;
while (cur_node != NULL) {
if (!m_obj_list.isEntry(cur_node->m_pointed_obj)) {
cur_node->m_pointed_obj = NULL;
}
cur_node = cur_node->m_next;
cur_node = (csr_c*)cur_node->m_next;
}
}
@@ -219,14 +216,17 @@ dCsr_mng_c::node_c* dCsr_mng_c::list_c::release(node_c* i_node) {
}
dCsr_mng_c::node_c* dCsr_mng_c::list_c::release(u16 i_mask) {
node_c* new_root;
node_c* cur_node = m_root;
while (cur_node != NULL) {
if (cur_node->m_mask & i_mask) {
cur_node = release(cur_node);
new_root = release(cur_node);
} else {
cur_node = cur_node->m_next;
new_root = cur_node->m_next;
}
cur_node = new_root;
}
return new_root;
}
BOOL dCsr_mng_c::list_c::isEntry(const node_c* i_node) const {
@@ -268,7 +268,7 @@ BOOL dCsr_mng_c::bloObj_c::isInside(s16 i_x, s16 i_y) {
}
BOOL dCsr_mng_c::bloObj_c::create(J2DScreen* i_screen, u16 i_mask, u8 i_priority, u8 param_3) {
if (!((node_c*)this)->set(i_priority, param_3, i_mask)) {
if (!set(i_priority, param_3, i_mask)) {
return FALSE;
}
m_screen = i_screen;
@@ -325,9 +325,8 @@ void dCsr_mng_c::bloObj_c::createPaneObj(paneObj_c** i_panes, J2DPane* i_pane) {
u64 info_tag = i_pane->mInfoTag;
char* info_start = nullSkip((char*)&info_tag);
if (info_start[0] == 0x4E && info_start[1] == 0x5F) {
paneObj_c* pane = *i_panes;
*i_panes -= 1;
pane->m_handle = i_pane;
(*i_panes)->m_handle = i_pane;
}
JSUTreeIterator<J2DPane> iter = i_pane->getPaneTree()->getFirstChild();
@@ -342,6 +341,8 @@ BOOL dCsr_mng_c::ccObj_c::isInside(s16 param_0, s16 param_1) {
return 0;
}
f64 temp = 4503601774854144.0f;
f32 x = (param_0 - mDoGph_gInf_c::getMinXF()) / mDoGph_gInf_c::getWidthF() * 2.0f - 1.0f;
f32 y = (param_1 - mDoGph_gInf_c::getMinYF()) / mDoGph_gInf_c::getHeightF() * 2.0f - 1.0f;
cXyz sp18;
+20
View File
@@ -0,0 +1,20 @@
#include "d/d_rvl_fb_copy.h"
// This TU's existence is inferred from the following facts:
// - In most versions the below flag symbol is located in .sbss between symbols in d_cursor_mng
// and m_Do_main on most versions
// - The symbol is not used in either of those TUs
// - In DZDE01 an extra TU (d_E3Stage_select06) exists between those two TUs, and the flag symbol
// is located before its .sbss symbols meaning it cannot be in m_Do_main
// - In Wii versions there is a 7-byte gap between the last known symbol in d_cursor_mng and the
// flag symbol, which can only be caused by:
// a) An extra unused 4-byte-aligned symbol in d_cursor_mng (unlikely, the symbol map only
// tends to exclude 1-byte symbols)
// b) 4 extra unused 1-byte symbols in d_cursor_mng prior to the flag symbol (generally seems
// implausible to have that many extra unused vars)
// c) The symbol is contained by the demo-specific TU (seems implausible, doesn't really belong
// there and everything else would need to be guarded for other versions rather than just
// excluding the TU)
// d) An extra TU which forces the flag symbol to be aligned to 8 bytes (most likely reason)
bool g_rvlEnableExtraFramebufferCopy;
+3 -2
View File
@@ -13,6 +13,7 @@
#include "d/d_com_inf_game.h"
#include "d/d_item.h"
#include "d/d_map_path_dmap.h"
#include "d/d_rvl_fb_copy.h"
#include "m_Do/m_Do_Reset.h"
#include "m_Do/m_Do_controller_pad.h"
#include "m_Do/m_Do_graphic.h"
@@ -936,7 +937,7 @@ dScnLogo_c::~dScnLogo_c() {
OS_REPORT("\x1b[31m%d gameHeap->getFreeSize %08x(%d)\n\x1b[m", 1479, mDoExt_getGameHeap()->getFreeSize(), mDoExt_getGameHeap()->getFreeSize());
#if PLATFORM_WII
data_8053a730 = 0;
g_rvlEnableExtraFramebufferCopy = false;
#endif
}
@@ -1077,7 +1078,7 @@ int dScnLogo_c::create() {
}
#if PLATFORM_WII
data_8053a730 = 1;
g_rvlEnableExtraFramebufferCopy = true;
#endif
mpHeap = mDoExt_setCurrentHeap(mLogo01Heap);
+3 -2
View File
@@ -18,6 +18,7 @@
#include "d/d_map_path_dmap.h"
#include "d/d_meter2_info.h"
#include "d/d_msg_object.h"
#include "d/d_rvl_fb_copy.h"
#include "d/d_save_HIO.h"
#include "f_op/f_op_draw_iter.h"
#include "f_op/f_op_msg_mng.h"
@@ -895,7 +896,7 @@ static int dScnPly_Delete(dScnPly_c* i_this) {
dComIfGp_init();
#if PLATFORM_WII
data_8053a730 = 0;
g_rvlEnableExtraFramebufferCopy = false;
#endif
JUTAssertion::setMessageCount(0);
@@ -1060,7 +1061,7 @@ static int phase_00(dScnPly_c* i_this) {
}
#if PLATFORM_WII
data_8053a730 = 1;
g_rvlEnableExtraFramebufferCopy = true;
#endif
#if DEBUG
+5 -2
View File
@@ -1009,9 +1009,12 @@ void dSv_player_config_c::init() {
mPointer = 1;
}
u32 dSv_player_config_c::checkVibration() const {
u8 dSv_player_config_c::checkVibration() const {
#if PLATFORM_GCN
return JUTGamePad::sRumbleSupported & 0x80000000 ? dComIfGp_getNowVibration() : 0;
if (JUTGamePad::sRumbleSupported & 0x80000000)
return dComIfGp_getNowVibration();
else
return 0;
#else
return dComIfGp_getNowVibration();
#endif
+2 -1
View File
@@ -17,6 +17,7 @@
#include "SSystem/SComponent/c_math.h"
#include "d/actor/d_a_player.h"
#include "d/d_com_inf_game.h"
#include "d/d_rvl_fb_copy.h"
#include "d/d_menu_collect.h"
#include "d/d_jcam_editor.h"
#include "d/d_jpreviewer.h"
@@ -1985,7 +1986,7 @@ int mDoGph_Painter() {
#endif
#if PLATFORM_WII
if (data_8053a730) {
if (g_rvlEnableExtraFramebufferCopy) {
GXSetTexCopySrc(0, 0, FB_WIDTH, FB_HEIGHT);
GXSetTexCopyDst(FB_WIDTH, FB_HEIGHT, (GXTexFmt)mDoGph_gInf_c::m_fullFrameBufferTimg->format, 0);
GXCopyTex(mDoGph_gInf_c::m_fullFrameBufferTex, 0);