Merge branch 'main' of https://github.com/zeldaret/tp into compile

This commit is contained in:
kipcode66
2026-01-13 21:53:54 -05:00
550 changed files with 16096 additions and 10066 deletions
+1 -1
View File
@@ -446,7 +446,7 @@ S_find = .bss:0x000000AC; // type:object size:0x2 scope:global data:2byte
lbl_70_bss_AE = .bss:0x000000AE; // type:object size:0x1 scope:local align:1 data:byte
@4242 = .bss:0x000000B0; // type:object size:0xC scope:local
S_find_pos = .bss:0x000000BC; // type:object size:0xC scope:global align:4 data:float
data_80519200 = .bss:0x000000C8; // type:object size:0x1 data:byte
desert_substage = .bss:0x000000C8; // type:object size:0x1 data:byte
data_80519201 = .bss:0x000000C9; // type:object size:0x1 data:byte
target_info = .bss:0x000000CC; // type:object size:0x28 scope:global data:4byte
target_info_count = .bss:0x000000F4; // type:object size:0x4 scope:global data:4byte
+2 -2
View File
@@ -14118,8 +14118,8 @@ getVisibility__20J2DAnmVisibilityFullCFUsPUc = .text:0x8030C048; // type:functio
getTevColorReg__15J2DAnmTevRegKeyCFUsP11_GXColorS10 = .text:0x8030C0F0; // type:function size:0x2C4 scope:global align:4
getTevKonstReg__15J2DAnmTevRegKeyCFUsP8_GXColor = .text:0x8030C3B4; // type:function size:0x2C4 scope:global align:4
searchUpdateMaterialID__15J2DAnmTevRegKeyFP9J2DScreen = .text:0x8030C678; // type:function size:0x104 scope:global align:4
J2DGetKeyFrameInterpolations__FfP18J3DAnmKeyTableBasePs = .text:0x8030C77C; // type:function size:0x234 scope:global align:4
J2DGetKeyFrameInterpolationf__FfP18J3DAnmKeyTableBasePf = .text:0x8030C9B0; // type:function size:0x17C scope:global align:4
J2DGetKeyFrameInterpolation<s>__FfP18J3DAnmKeyTableBasePs = .text:0x8030C77C; // type:function size:0x234 scope:global align:4
J2DGetKeyFrameInterpolation<f>__FfP18J3DAnmKeyTableBasePf = .text:0x8030C9B0; // type:function size:0x17C scope:global align:4
__ct__Q216J2DAnmTexPattern27J2DAnmTexPatternTIMGPointerFv = .text:0x8030CB2C; // type:function size:0x10 scope:global align:4
__dt__Q216J2DAnmTexPattern27J2DAnmTexPatternTIMGPointerFv = .text:0x8030CB3C; // type:function size:0x54 scope:global align:4
__dt__16J2DAnmTexPatternFv = .text:0x8030CB90; // type:function size:0x90 scope:weak align:4
+1 -1
View File
@@ -445,7 +445,7 @@ S_find = .bss:0x000000AC; // type:object size:0x2 scope:global data:2byte
lbl_70_bss_AE = .bss:0x000000AE; // type:object size:0x1 data:byte
@4242 = .bss:0x000000B0; // type:object size:0xC scope:local
S_find_pos = .bss:0x000000BC; // type:object size:0xC scope:global align:4 data:float
data_80519200 = .bss:0x000000C8; // type:object size:0x1 data:byte
desert_substage = .bss:0x000000C8; // type:object size:0x1 data:byte
data_80519201 = .bss:0x000000C9; // type:object size:0x1 data:byte
target_info = .bss:0x000000CC; // type:object size:0x28 scope:global data:4byte
target_info_count = .bss:0x000000F4; // type:object size:0x4 scope:global data:4byte
+2 -2
View File
@@ -14124,8 +14124,8 @@ getVisibility__20J2DAnmVisibilityFullCFUsPUc = .text:0x8030E4E4; // type:functio
getTevColorReg__15J2DAnmTevRegKeyCFUsP11_GXColorS10 = .text:0x8030E58C; // type:function size:0x2C4 scope:global align:4
getTevKonstReg__15J2DAnmTevRegKeyCFUsP8_GXColor = .text:0x8030E850; // type:function size:0x2C4 scope:global align:4
searchUpdateMaterialID__15J2DAnmTevRegKeyFP9J2DScreen = .text:0x8030EB14; // type:function size:0x104 scope:global align:4
J2DGetKeyFrameInterpolations__FfP18J3DAnmKeyTableBasePs = .text:0x8030EC18; // type:function size:0x234 scope:global align:4
J2DGetKeyFrameInterpolationf__FfP18J3DAnmKeyTableBasePf = .text:0x8030EE4C; // type:function size:0x17C scope:global align:4
J2DGetKeyFrameInterpolation<s>__FfP18J3DAnmKeyTableBasePs = .text:0x8030EC18; // type:function size:0x234 scope:global align:4
J2DGetKeyFrameInterpolation<f>__FfP18J3DAnmKeyTableBasePf = .text:0x8030EE4C; // type:function size:0x17C scope:global align:4
__ct__Q216J2DAnmTexPattern27J2DAnmTexPatternTIMGPointerFv = .text:0x8030EFC8; // type:function size:0x10 scope:global align:4
__dt__Q216J2DAnmTexPattern27J2DAnmTexPatternTIMGPointerFv = .text:0x8030EFD8; // type:function size:0x54 scope:global align:4
__dt__16J2DAnmTexPatternFv = .text:0x8030F02C; // type:function size:0x90 scope:weak align:4
+1 -1
View File
@@ -445,7 +445,7 @@ S_find = .bss:0x000000AC; // type:object size:0x2 scope:global data:2byte
lbl_70_bss_AE = .bss:0x000000AE; // type:object size:0x1 data:byte
@4242 = .bss:0x000000B0; // type:object size:0xC scope:local
S_find_pos = .bss:0x000000BC; // type:object size:0xC scope:global align:4 data:float
data_80519200 = .bss:0x000000C8; // type:object size:0x1 data:byte
desert_substage = .bss:0x000000C8; // type:object size:0x1 data:byte
data_80519201 = .bss:0x000000C9; // type:object size:0x1 data:byte
target_info = .bss:0x000000CC; // type:object size:0x28 scope:global data:4byte
target_info_count = .bss:0x000000F4; // type:object size:0x4 scope:global data:4byte
+2 -2
View File
@@ -14123,8 +14123,8 @@ getVisibility__20J2DAnmVisibilityFullCFUsPUc = .text:0x8030CE48; // type:functio
getTevColorReg__15J2DAnmTevRegKeyCFUsP11_GXColorS10 = .text:0x8030CEF0; // type:function size:0x2C4 scope:global align:4
getTevKonstReg__15J2DAnmTevRegKeyCFUsP8_GXColor = .text:0x8030D1B4; // type:function size:0x2C4 scope:global align:4
searchUpdateMaterialID__15J2DAnmTevRegKeyFP9J2DScreen = .text:0x8030D478; // type:function size:0x104 scope:global align:4
J2DGetKeyFrameInterpolations__FfP18J3DAnmKeyTableBasePs = .text:0x8030D57C; // type:function size:0x234 scope:global align:4
J2DGetKeyFrameInterpolationf__FfP18J3DAnmKeyTableBasePf = .text:0x8030D7B0; // type:function size:0x17C scope:global align:4
J2DGetKeyFrameInterpolation<s>__FfP18J3DAnmKeyTableBasePs = .text:0x8030D57C; // type:function size:0x234 scope:global align:4
J2DGetKeyFrameInterpolation<f>__FfP18J3DAnmKeyTableBasePf = .text:0x8030D7B0; // type:function size:0x17C scope:global align:4
__ct__Q216J2DAnmTexPattern27J2DAnmTexPatternTIMGPointerFv = .text:0x8030D92C; // type:function size:0x10 scope:global align:4
__dt__Q216J2DAnmTexPattern27J2DAnmTexPatternTIMGPointerFv = .text:0x8030D93C; // type:function size:0x54 scope:global align:4
__dt__16J2DAnmTexPatternFv = .text:0x8030D990; // type:function size:0x90 scope:weak align:4
+4 -3
View File
@@ -298,7 +298,7 @@ f_pc/f_pc_layer.cpp:
f_pc/f_pc_leaf.cpp:
.text start:0x80026A40 end:0x80026B64
.data start:0x803FA470 end:0x803FA488
.sbss start:0x8053A960 end:0x8053A970
.sbss start:0x8053A960 end:0x8053A968
f_pc/f_pc_layer_iter.cpp:
.text start:0x80026B64 end:0x80026CB8
@@ -318,6 +318,7 @@ f_pc/f_pc_load.cpp:
f_pc/f_pc_manager.cpp:
.text start:0x80027044 end:0x800272FC
.bss start:0x80481338 end:0x804813E0
.sbss start:0x8053A968 end:0x8053A970
f_pc/f_pc_method.cpp:
.text start:0x800272FC end:0x8002733C
@@ -341,7 +342,7 @@ f_pc/f_pc_priority.cpp:
f_pc/f_pc_profile.cpp:
.text start:0x80028140 end:0x80028150
.sbss start:0x8053A980 end:0x8053A990
.sbss start:0x8053A980 end:0x8053A988
f_pc/f_pc_searcher.cpp:
.text start:0x80028150 end:0x80028180
@@ -378,7 +379,7 @@ d/d_stage.cpp:
.data start:0x803FA5A8 end:0x803FDE58
.bss start:0x80481400 end:0x804928C8
.sdata start:0x80537908 end:0x8053793C
.sbss start:0x8053A990 end:0x8053A9B0
.sbss start:0x8053A988 end:0x8053A9B0
.sdata2 start:0x8053BD28 end:0x8053BD38
d/d_map.cpp:
+9 -9
View File
@@ -10518,8 +10518,8 @@ Cos__7cSAngleCFv = .text:0x80259FFC; // type:function size:0x4C scope:global ali
__mi__7cSAngleCFv = .text:0x8025A048; // type:function size:0x10 scope:global align:4
__pl__7cSAngleCFRC7cSAngle = .text:0x8025A058; // type:function size:0x14 scope:global align:4
__mi__7cSAngleCFRC7cSAngle = .text:0x8025A06C; // type:function size:0x14 scope:global align:4
__apl__7cSAngleFR7cSAngle = .text:0x8025A080; // type:function size:0x14 scope:global align:4
__ami__7cSAngleFR7cSAngle = .text:0x8025A094; // type:function size:0x14 scope:global align:4
__apl__7cSAngleFRC7cSAngle = .text:0x8025A080; // type:function size:0x14 scope:global align:4
__ami__7cSAngleFRC7cSAngle = .text:0x8025A094; // type:function size:0x14 scope:global align:4
__pl__7cSAngleCFs = .text:0x8025A0A8; // type:function size:0x10 scope:global align:4
__mi__7cSAngleCFs = .text:0x8025A0B8; // type:function size:0x10 scope:global align:4
__apl__7cSAngleFs = .text:0x8025A0C8; // type:function size:0x10 scope:global align:4
@@ -28137,9 +28137,9 @@ data_80450C9C = .sbss:0x8053A8EC; // type:object size:0x1
data_80450C9D = .sbss:0x8053A8ED; // type:object size:0x1
data_80450C9E = .sbss:0x8053A8EE; // type:object size:0x1
cDmr_FishingWether = .sbss:0x8053A8EF; // type:object size:0x1
data_80450CA0 = .sbss:0x8053A8F0; // type:object size:0x4
data_80450CA0 = .sbss:0x8053A8F0; // type:object size:0x1 scope:global align:1 data:byte
JPTracePCB4 = .sbss:0x8053A8F4; // type:object size:0x4 scope:global align:4
lbl_8053A8F8 = .sbss:0x8053A8F8; // type:object size:0x1 data:byte
DMC_initialized = .sbss:0x8053A8F8; // type:object size:0x1 data:byte
cDyl_Initialized = .sbss:0x8053A8FC; // type:object size:0x4 scope:global align:4 data:4byte
cDyl_DVD = .sbss:0x8053A900; // type:object size:0x4 scope:global align:4 data:4byte
g_fopAc_type = .sbss:0x8053A908; // type:object size:0x4 scope:global align:4 data:4byte
@@ -28161,11 +28161,11 @@ g_fpcBs_type = .sbss:0x8053A950; // type:object size:0x4 scope:global align:4
l_fpcLy_CurrLayer_p = .sbss:0x8053A958; // type:object size:0x4 scope:global align:4 data:4byte
layer_id$46579 = .sbss:0x8053A95C; // type:object size:0x4 scope:local align:4 data:4byte
g_fpcLf_type = .sbss:0x8053A960; // type:object size:0x4 scope:global align:4 data:4byte
lbl_8053A968 = .sbss:0x8053A968; // type:object size:0x1 data:byte
l_dvdError$0 = .sbss:0x8053A968; // type:object size:0x1 data:byte
g_fpcNd_type = .sbss:0x8053A970; // type:object size:0x4 scope:global align:4 data:4byte
request_id$46742 = .sbss:0x8053A978; // type:object size:0x4 scope:local align:4 data:4byte
g_fpcPf_ProfileList_p = .sbss:0x8053A980; // type:object size:0x4 scope:global align:4 data:4byte
lbl_8053A988 = .sbss:0x8053A988; // type:object size:0x8
tmp_name$50691 = .sbss:0x8053A988; // type:object size:0x8 scope:local align:1 data:byte
mProcID__20dStage_roomControl_c = .sbss:0x8053A990; // type:object size:0x4 scope:global align:4 data:4byte
mStayNo__20dStage_roomControl_c = .sbss:0x8053A994; // type:object size:0x1 data:byte
lbl_8053A995 = .sbss:0x8053A995; // type:object size:0x1 data:byte
@@ -28259,13 +28259,13 @@ m_b_Light8EcallBack__13dPa_control_c = .sbss:0x8053AAEC; // type:object size:0x4
m_b_Light8PcallBack__13dPa_control_c = .sbss:0x8053AAF0; // type:object size:0x4 scope:global align:4
m_d_Light8EcallBack__13dPa_control_c = .sbss:0x8053AAF4; // type:object size:0x4 scope:global align:4 data:4byte
m_d_Light8PcallBack__13dPa_control_c = .sbss:0x8053AAF8; // type:object size:0x4 scope:global align:4
lbl_8053AAFC = .sbss:0x8053AAFC; // type:object size:0x1 data:byte
mStatus__13dPa_control_c = .sbss:0x8053AAFC; // type:object size:0x1 data:byte
mParticleTracePCB__13dPa_control_c = .sbss:0x8053AB00; // type:object size:0x4 scope:global align:4
lbl_8053AB08 = .sbss:0x8053AB08; // type:object size:0x1 data:byte
mWipe__12dDlst_list_c = .sbss:0x8053AB08; // type:object size:0x1 data:byte
mWipeRate__12dDlst_list_c = .sbss:0x8053AB0C; // type:object size:0x4 scope:global align:4 data:float
mWipeSpeed__12dDlst_list_c = .sbss:0x8053AB10; // type:object size:0x4 scope:global align:4 data:float
lbl_8053AB14 = .sbss:0x8053AB14; // type:object size:0x4
lbl_8053AB18 = .sbss:0x8053AB18; // type:object size:0x1 data:byte
init$0000 = .sbss:0x8053AB18; // type:object size:0x1 scope:local data:byte
S_parcent_bak$99593 = .sbss:0x8053AB20; // type:object size:0x4 scope:local align:4 data:float
S_rot_work1$100790 = .sbss:0x8053AB24; // type:object size:0x2 scope:local align:2 data:2byte
S_rot_work2$100791 = .sbss:0x8053AB26; // type:object size:0x2 scope:local align:2 data:2byte
@@ -134,7 +134,11 @@ lbl_47_data_4EC = .data:0x000004EC; // type:object size:0x34
lbl_47_data_534 = .data:0x00000534; // type:object size:0x2C
lbl_47_data_560 = .data:0x00000560; // type:object size:0xA0
...bss.0 = .bss:0x00000000; // type:label scope:local align:4
effDirection$108188 = .bss:0x00000004; // type:object size:0xC scope:global align:4
effScale0$108191 = .bss:0x00000014; // type:object size:0xC scope:global align:4
effScaleSand$108194 = .bss:0x00000024; // type:object size:0xC scope:global align:4
effScaleGrass$108197 = .bss:0x00000034; // type:object size:0xC scope:global align:4
@GUARD@effDirection$49876 = .bss:0x00000000; // type:object size:0x1 scope:local align:4
effDirection$108188 = .bss:0x00000004; // type:object size:0xC scope:local align:4
@GUARD@effScale0$49879 = .bss:0x00000010; // type:object size:0x1 scope:local align:4
effScale0$108191 = .bss:0x00000014; // type:object size:0xC scope:local align:4
@GUARD@effScaleSand$49882 = .bss:0x00000020; // type:object size:0x1 scope:local align:4
effScaleSand$108194 = .bss:0x00000024; // type:object size:0xC scope:local align:4
@GUARD@effScaleGrass$49885 = .bss:0x00000030; // type:object size:0x1 scope:local align:4
effScaleGrass$108197 = .bss:0x00000034; // type:object size:0xC scope:local align:4
+4 -3
View File
@@ -298,7 +298,7 @@ f_pc/f_pc_layer.cpp:
f_pc/f_pc_leaf.cpp:
.text start:0x80026B38 end:0x80026C5C
.data start:0x803E5710 end:0x803E5728
.sbss start:0x80520968 end:0x80520978
.sbss start:0x80520968 end:0x80520970
f_pc/f_pc_layer_iter.cpp:
.text start:0x80026C5C end:0x80026DB0
@@ -318,6 +318,7 @@ f_pc/f_pc_load.cpp:
f_pc/f_pc_manager.cpp:
.text start:0x8002713C end:0x8002740C
.bss start:0x80468940 end:0x804689E8
.sbss start:0x80520970 end:0x80520978
f_pc/f_pc_method.cpp:
.text start:0x8002740C end:0x8002744C
@@ -341,7 +342,7 @@ f_pc/f_pc_priority.cpp:
f_pc/f_pc_profile.cpp:
.text start:0x80028250 end:0x80028260
.sbss start:0x80520988 end:0x80520998
.sbss start:0x80520988 end:0x80520990
f_pc/f_pc_searcher.cpp:
.text start:0x80028260 end:0x80028290
@@ -378,7 +379,7 @@ d/d_stage.cpp:
.data start:0x803E5848 end:0x803E90F8
.bss start:0x80468A08 end:0x80479ED0
.sdata start:0x8051D9A8 end:0x8051D9DC
.sbss start:0x80520998 end:0x805209B8
.sbss start:0x80520990 end:0x805209B8
.sdata2 start:0x80521D28 end:0x80521D38
d/d_map.cpp:
+7 -7
View File
@@ -27687,9 +27687,9 @@ data_80450C9C = .sbss:0x805208F4; // type:object size:0x1
data_80450C9D = .sbss:0x805208F5; // type:object size:0x1
data_80450C9E = .sbss:0x805208F6; // type:object size:0x1
cDmr_FishingWether = .sbss:0x805208F7; // type:object size:0x1
data_80450CA0 = .sbss:0x805208F8; // type:object size:0x4
data_80450CA0 = .sbss:0x805208F8; // type:object size:0x1 scope:global align:1 data:byte
JPTracePCB4 = .sbss:0x805208FC; // type:object size:0x4 scope:global align:4
lbl_80520900 = .sbss:0x80520900; // type:object size:0x1 data:byte
DMC_initialized = .sbss:0x80520900; // type:object size:0x1 data:byte
cDyl_Initialized = .sbss:0x80520904; // type:object size:0x4 scope:global align:4 data:4byte
cDyl_DVD = .sbss:0x80520908; // type:object size:0x4 scope:global align:4 data:4byte
g_fopAc_type = .sbss:0x80520910; // type:object size:0x4 scope:global align:4 data:4byte
@@ -27711,11 +27711,11 @@ g_fpcBs_type = .sbss:0x80520958; // type:object size:0x4 scope:global align:4
l_fpcLy_CurrLayer_p = .sbss:0x80520960; // type:object size:0x4 scope:global align:4 data:4byte
layer_id$46579 = .sbss:0x80520964; // type:object size:0x4 scope:global align:4 data:4byte
g_fpcLf_type = .sbss:0x80520968; // type:object size:0x4 scope:global align:4 data:4byte
lbl_80520970 = .sbss:0x80520970; // type:object size:0x1 data:byte
l_dvdError$0 = .sbss:0x80520970; // type:object size:0x1 data:byte
g_fpcNd_type = .sbss:0x80520978; // type:object size:0x4 scope:global align:4 data:4byte
request_id$46742 = .sbss:0x80520980; // type:object size:0x4 scope:global align:4 data:4byte
g_fpcPf_ProfileList_p = .sbss:0x80520988; // type:object size:0x4 scope:global align:4 data:4byte
lbl_80520990 = .sbss:0x80520990; // type:object size:0x8
tmp_name$50691 = .sbss:0x80520990; // type:object size:0x8 scope:local align:1 data:byte
mProcID__20dStage_roomControl_c = .sbss:0x80520998; // type:object size:0x4 scope:global align:4 data:4byte
mStayNo__20dStage_roomControl_c = .sbss:0x8052099C; // type:object size:0x1 data:byte
mOldStayNo__20dStage_roomControl_c = .sbss:0x8052099D; // type:object size:0x1 data:byte
@@ -27809,13 +27809,13 @@ m_b_Light8EcallBack__13dPa_control_c = .sbss:0x80520AF4; // type:object size:0x4
m_b_Light8PcallBack__13dPa_control_c = .sbss:0x80520AF8; // type:object size:0x4 scope:global align:4
m_d_Light8EcallBack__13dPa_control_c = .sbss:0x80520AFC; // type:object size:0x4 scope:global align:4 data:4byte
m_d_Light8PcallBack__13dPa_control_c = .sbss:0x80520B00; // type:object size:0x4 scope:global align:4
lbl_80520B04 = .sbss:0x80520B04; // type:object size:0x1 data:byte
mStatus__13dPa_control_c = .sbss:0x80520B04; // type:object size:0x1 data:byte
mParticleTracePCB__13dPa_control_c = .sbss:0x80520B08; // type:object size:0x4 scope:global align:4
lbl_80520B10 = .sbss:0x80520B10; // type:object size:0x1 data:byte
mWipe__12dDlst_list_c = .sbss:0x80520B10; // type:object size:0x1 data:byte
mWipeRate__12dDlst_list_c = .sbss:0x80520B14; // type:object size:0x4 scope:global align:4 data:float
mWipeSpeed__12dDlst_list_c = .sbss:0x80520B18; // type:object size:0x4 scope:global align:4 data:float
lbl_80520B1C = .sbss:0x80520B1C; // type:object size:0x4
lbl_80520B20 = .sbss:0x80520B20; // type:object size:0x1 data:byte
init$0000 = .sbss:0x80520B20; // type:object size:0x1 scope:local data:byte
S_parcent_bak$99593 = .sbss:0x80520B28; // type:object size:0x4 scope:global align:4 data:float
S_rot_work1$100794 = .sbss:0x80520B2C; // type:object size:0x2 scope:global align:4 data:2byte
S_rot_work2$100795 = .sbss:0x80520B2E; // type:object size:0x2 scope:global align:2 data:2byte
@@ -132,7 +132,11 @@ lbl_47_data_4EC = .data:0x000004EC; // type:object size:0x34
@108962 = .data:0x00000520; // type:object size:0x14 scope:local align:4
lbl_47_data_534 = .data:0x00000534; // type:object size:0xCC
...bss.0 = .bss:0x00000000; // type:label scope:local align:4
@GUARD@effDirection$49876 = .bss:0x00000000; // type:object size:0x1 scope:local align:4
effDirection$108188 = .bss:0x00000004; // type:object size:0xC scope:local align:4
@GUARD@effScale0$49879 = .bss:0x00000010; // type:object size:0x1 scope:local align:4
effScale0$108191 = .bss:0x00000014; // type:object size:0xC scope:local align:4
@GUARD@effScaleSand$49882 = .bss:0x00000020; // type:object size:0x1 scope:local align:4
effScaleSand$108194 = .bss:0x00000024; // type:object size:0xC scope:local align:4
@GUARD@effScaleGrass$49885 = .bss:0x00000030; // type:object size:0x1 scope:local align:4
effScaleGrass$108197 = .bss:0x00000034; // type:object size:0xC scope:local align:4
+4 -3
View File
@@ -298,7 +298,7 @@ f_pc/f_pc_layer.cpp:
f_pc/f_pc_leaf.cpp:
.text start:0x80026B48 end:0x80026C6C
.data start:0x803E3698 end:0x803E36B0
.sbss start:0x8051E7E8 end:0x8051E7F8
.sbss start:0x8051E7E8 end:0x8051E7F0
f_pc/f_pc_layer_iter.cpp:
.text start:0x80026C6C end:0x80026DC0
@@ -318,6 +318,7 @@ f_pc/f_pc_load.cpp:
f_pc/f_pc_manager.cpp:
.text start:0x8002714C end:0x8002741C
.bss start:0x804667C0 end:0x80466868
.sbss start:0x8051E7F0 end:0x8051E7F8
f_pc/f_pc_method.cpp:
.text start:0x8002741C end:0x8002745C
@@ -341,7 +342,7 @@ f_pc/f_pc_priority.cpp:
f_pc/f_pc_profile.cpp:
.text start:0x80028260 end:0x80028270
.sbss start:0x8051E808 end:0x8051E818
.sbss start:0x8051E808 end:0x8051E810
f_pc/f_pc_searcher.cpp:
.text start:0x80028270 end:0x800282A0
@@ -378,7 +379,7 @@ d/d_stage.cpp:
.data start:0x803E37D0 end:0x803E7080
.bss start:0x80466888 end:0x80477D50
.sdata start:0x8051B820 end:0x8051B854
.sbss start:0x8051E818 end:0x8051E838
.sbss start:0x8051E810 end:0x8051E838
.sdata2 start:0x8051FBA8 end:0x8051FBB8
d/d_map.cpp:
+6 -7
View File
@@ -27695,7 +27695,7 @@ lbl_8051E776 = .sbss:0x8051E776; // type:object size:0x1
lbl_8051E777 = .sbss:0x8051E777; // type:object size:0x1
lbl_8051E778 = .sbss:0x8051E778; // type:object size:0x4
JPTracePCB4 = .sbss:0x8051E77C; // type:object size:0x4 scope:global align:4
lbl_8051E780 = .sbss:0x8051E780; // type:object size:0x1 data:byte
DMC_initialized = .sbss:0x8051E780; // type:object size:0x1 data:byte
cDyl_Initialized = .sbss:0x8051E784; // type:object size:0x4 scope:global align:4 data:4byte
cDyl_DVD = .sbss:0x8051E788; // type:object size:0x4 scope:global align:4 data:4byte
g_fopAc_type = .sbss:0x8051E790; // type:object size:0x4 scope:global align:4 data:4byte
@@ -27717,11 +27717,11 @@ g_fpcBs_type = .sbss:0x8051E7D8; // type:object size:0x4 scope:global align:4
l_fpcLy_CurrLayer_p = .sbss:0x8051E7E0; // type:object size:0x4 scope:global align:4 data:4byte
layer_id$46579 = .sbss:0x8051E7E4; // type:object size:0x4 scope:local align:4 data:4byte
g_fpcLf_type = .sbss:0x8051E7E8; // type:object size:0x4 scope:global align:4 data:4byte
lbl_8051E7F0 = .sbss:0x8051E7F0; // type:object size:0x1 data:byte
l_dvdError$0 = .sbss:0x8051E7F0; // type:object size:0x1 data:byte
g_fpcNd_type = .sbss:0x8051E7F8; // type:object size:0x4 scope:global align:4 data:4byte
request_id$46742 = .sbss:0x8051E800; // type:object size:0x4 scope:local align:4 data:4byte
g_fpcPf_ProfileList_p = .sbss:0x8051E808; // type:object size:0x4 scope:global align:4 data:4byte
lbl_8051E810 = .sbss:0x8051E810; // type:object size:0x8
tmp_name$50691 = .sbss:0x8051E810; // type:object size:0x8 scope:local align:1 data:byte
mProcID__20dStage_roomControl_c = .sbss:0x8051E818; // type:object size:0x4 scope:global align:4 data:4byte
mStayNo__20dStage_roomControl_c = .sbss:0x8051E81C; // type:object size:0x1 data:byte
mOldStayNo__20dStage_roomControl_c = .sbss:0x8051E81D; // type:object size:0x1 data:byte
@@ -27815,13 +27815,12 @@ m_b_Light8EcallBack__13dPa_control_c = .sbss:0x8051E974; // type:object size:0x4
m_b_Light8PcallBack__13dPa_control_c = .sbss:0x8051E978; // type:object size:0x4 scope:global align:4
m_d_Light8EcallBack__13dPa_control_c = .sbss:0x8051E97C; // type:object size:0x4 scope:global align:4 data:4byte
m_d_Light8PcallBack__13dPa_control_c = .sbss:0x8051E980; // type:object size:0x4 scope:global align:4
lbl_8051E984 = .sbss:0x8051E984; // type:object size:0x1 data:byte
mStatus__13dPa_control_c = .sbss:0x8051E984; // type:object size:0x1 data:byte
mParticleTracePCB__13dPa_control_c = .sbss:0x8051E988; // type:object size:0x4 scope:global align:4
lbl_8051E990 = .sbss:0x8051E990; // type:object size:0x1 data:byte
mWipe__12dDlst_list_c = .sbss:0x8051E990; // type:object size:0x1 data:byte
mWipeRate__12dDlst_list_c = .sbss:0x8051E994; // type:object size:0x4 scope:global align:4 data:float
mWipeSpeed__12dDlst_list_c = .sbss:0x8051E998; // type:object size:0x4 scope:global align:4 data:float
lbl_8051E99C = .sbss:0x8051E99C; // type:object size:0x4
lbl_8051E9A0 = .sbss:0x8051E9A0; // type:object size:0x1 data:byte
init$0000 = .sbss:0x8051E9A0; // type:object size:0x1 scope:local data:byte
S_parcent_bak$99593 = .sbss:0x8051E9A8; // type:object size:0x4 scope:local align:4 data:float
S_rot_work1$100794 = .sbss:0x8051E9AC; // type:object size:0x2 scope:local align:4 data:2byte
S_rot_work2$100795 = .sbss:0x8051E9AE; // type:object size:0x2 scope:local align:2 data:2byte
@@ -132,7 +132,11 @@ lbl_47_data_4EC = .data:0x000004EC; // type:object size:0x34
@108962 = .data:0x00000520; // type:object size:0x14 scope:local align:4
lbl_47_data_534 = .data:0x00000534; // type:object size:0xCC
...bss.0 = .bss:0x00000000; // type:label scope:local align:4
@GUARD@effDirection$49876 = .bss:0x00000000; // type:object size:0x1 scope:local align:4
effDirection$108188 = .bss:0x00000004; // type:object size:0xC scope:local align:4
@GUARD@effScale0$49879 = .bss:0x00000010; // type:object size:0x1 scope:local align:4
effScale0$108191 = .bss:0x00000014; // type:object size:0xC scope:local align:4
@GUARD@effScaleSand$49882 = .bss:0x00000020; // type:object size:0x1 scope:local align:4
effScaleSand$108194 = .bss:0x00000024; // type:object size:0xC scope:local align:4
@GUARD@effScaleGrass$49885 = .bss:0x00000030; // type:object size:0x1 scope:local align:4
effScaleGrass$108197 = .bss:0x00000034; // type:object size:0xC scope:local align:4
+4 -3
View File
@@ -298,7 +298,7 @@ f_pc/f_pc_layer.cpp:
f_pc/f_pc_leaf.cpp:
.text start:0x80026C04 end:0x80026D28
.data start:0x803E64C0 end:0x803E64D8
.sbss start:0x80521128 end:0x80521138
.sbss start:0x80521128 end:0x80521130
f_pc/f_pc_layer_iter.cpp:
.text start:0x80026D28 end:0x80026E7C
@@ -318,6 +318,7 @@ f_pc/f_pc_load.cpp:
f_pc/f_pc_manager.cpp:
.text start:0x80027208 end:0x800274C0
.bss start:0x80469238 end:0x804692E0
.sbss start:0x80521130 end:0x80521138
f_pc/f_pc_method.cpp:
.text start:0x800274C0 end:0x80027500
@@ -341,7 +342,7 @@ f_pc/f_pc_priority.cpp:
f_pc/f_pc_profile.cpp:
.text start:0x80028304 end:0x80028314
.sbss start:0x80521148 end:0x80521158
.sbss start:0x80521148 end:0x80521150
f_pc/f_pc_searcher.cpp:
.text start:0x80028314 end:0x80028344
@@ -378,7 +379,7 @@ d/d_stage.cpp:
.data start:0x803E65F8 end:0x803E9EA8
.bss start:0x80469300 end:0x8047A7C8
.sdata start:0x8051E2A8 end:0x8051E2DC
.sbss start:0x80521158 end:0x80521178
.sbss start:0x80521150 end:0x80521178
.sdata2 start:0x805224E8 end:0x805224F8
d/d_map.cpp:
+7 -7
View File
@@ -1133,7 +1133,7 @@ fpcPause_Enable__FPvUc = .text:0x80028590; // type:function size:0x6C scope:glob
fpcPause_Disable__FPvUc = .text:0x800285FC; // type:function size:0x74 scope:global align:4
fpcPause_Init__FPv = .text:0x80028670; // type:function size:0xC scope:global align:4
fpcDw_Execute__FP18base_process_class = .text:0x8002867C; // type:function size:0x8C scope:global align:4
fpcDw_Handler__FPFi_iPFPvPv_i = .text:0x80028708; // type:function size:0x54 scope:global align:4
fpcDw_Handler__FPFPFPvPv_i_iPFPvPv_i = .text:0x80028708; // type:function size:0x54 scope:global align:4
fpcFCtRq_Do__FP19fast_create_request = .text:0x8002875C; // type:function size:0x50 scope:global align:4
fpcFCtRq_Delete__FP19fast_create_request = .text:0x800287AC; // type:function size:0x8 scope:global align:4
fpcFCtRq_Request__FP11layer_classsPFPvPv_iPvPv = .text:0x800287B4; // type:function size:0xD8 scope:global align:4
@@ -27580,7 +27580,7 @@ lbl_805210B6 = .sbss:0x805210B6; // type:object size:0x1
lbl_805210B7 = .sbss:0x805210B7; // type:object size:0x1
lbl_805210B8 = .sbss:0x805210B8; // type:object size:0x4
JPTracePCB4 = .sbss:0x805210BC; // type:object size:0x4 scope:global align:4
lbl_805210C0 = .sbss:0x805210C0; // type:object size:0x1 data:byte
DMC_initialized = .sbss:0x805210C0; // type:object size:0x1 data:byte
cDyl_Initialized = .sbss:0x805210C4; // type:object size:0x4 scope:global align:4 data:4byte
cDyl_DVD = .sbss:0x805210C8; // type:object size:0x4 scope:global align:4 data:4byte
g_fopAc_type = .sbss:0x805210D0; // type:object size:0x4 scope:global align:4 data:4byte
@@ -27602,11 +27602,11 @@ g_fpcBs_type = .sbss:0x80521118; // type:object size:0x4 scope:global align:4
l_fpcLy_CurrLayer_p = .sbss:0x80521120; // type:object size:0x4 scope:global align:4 data:4byte
layer_id$46579 = .sbss:0x80521124; // type:object size:0x4 scope:local align:4 data:4byte
g_fpcLf_type = .sbss:0x80521128; // type:object size:0x4 scope:global align:4 data:4byte
lbl_80521130 = .sbss:0x80521130; // type:object size:0x1 data:byte
l_dvdError$0 = .sbss:0x80521130; // type:object size:0x1 data:byte
g_fpcNd_type = .sbss:0x80521138; // type:object size:0x4 scope:global align:4 data:4byte
request_id$46742 = .sbss:0x80521140; // type:object size:0x4 scope:local align:4 data:4byte
g_fpcPf_ProfileList_p = .sbss:0x80521148; // type:object size:0x4 scope:global align:4 data:4byte
lbl_80521150 = .sbss:0x80521150; // type:object size:0x8
tmp_name$50691 = .sbss:0x80521150; // type:object size:0x8 scope:local align:1 data:byte
mProcID__20dStage_roomControl_c = .sbss:0x80521158; // type:object size:0x4 scope:global align:4 data:4byte
mStayNo__20dStage_roomControl_c = .sbss:0x8052115C; // type:object size:0x1 data:byte
lbl_8052115D = .sbss:0x8052115D; // type:object size:0x1 data:byte
@@ -27700,13 +27700,13 @@ m_b_Light8EcallBack__13dPa_control_c = .sbss:0x805212B4; // type:object size:0x4
m_b_Light8PcallBack__13dPa_control_c = .sbss:0x805212B8; // type:object size:0x4 scope:global align:4
m_d_Light8EcallBack__13dPa_control_c = .sbss:0x805212BC; // type:object size:0x4 scope:global align:4 data:4byte
m_d_Light8PcallBack__13dPa_control_c = .sbss:0x805212C0; // type:object size:0x4 scope:global align:4
lbl_805212C4 = .sbss:0x805212C4; // type:object size:0x1 data:byte
mStatus__13dPa_control_c = .sbss:0x805212C4; // type:object size:0x1 data:byte
mParticleTracePCB__13dPa_control_c = .sbss:0x805212C8; // type:object size:0x4 scope:global align:4
lbl_805212D0 = .sbss:0x805212D0; // type:object size:0x1 data:byte
mWipe__12dDlst_list_c = .sbss:0x805212D0; // type:object size:0x1 data:byte
mWipeRate__12dDlst_list_c = .sbss:0x805212D4; // type:object size:0x4 scope:global align:4 data:float
mWipeSpeed__12dDlst_list_c = .sbss:0x805212D8; // type:object size:0x4 scope:global align:4 data:float
lbl_805212DC = .sbss:0x805212DC; // type:object size:0x4
lbl_805212E0 = .sbss:0x805212E0; // type:object size:0x1 data:byte
init$0000 = .sbss:0x805212E0; // type:object size:0x1 scope:local data:byte
S_parcent_bak$99593 = .sbss:0x805212E8; // type:object size:0x4 scope:local align:4 data:float
S_rot_work1$100790 = .sbss:0x805212EC; // type:object size:0x2 scope:local align:4 data:2byte
S_rot_work2$100791 = .sbss:0x805212EE; // type:object size:0x2 scope:local align:2 data:2byte
+4 -4
View File
@@ -271,11 +271,11 @@ m_near_dist = .bss:0x00000020; // type:object size:0x4 scope:global
m_view_angle_wide = .bss:0x00000024; // type:object size:0x2 scope:global
m_view_angle = .bss:0x00000026; // type:object size:0x2 scope:global
m_angry_cow = .bss:0x00000028; // type:object size:0x2 scope:global data:2byte
lbl_160_bss_2A = .bss:0x0000002A; // type:object size:0x1 data:byte
@GUARD@setEffect__7daCow_cFv@runScale = .bss:0x0000002A; // type:object size:0x1 data:byte
@LOCAL@setEffect__7daCow_cFv@runScale = .bss:0x0000002C; // type:object size:0xC scope:local align:4 data:float
lbl_160_bss_38 = .bss:0x00000038; // type:object size:0x1 data:byte
@GUARD@setCollisions__7daCow_cFv@headOfst = .bss:0x00000038; // type:object size:0x1 data:byte
@LOCAL@setCollisions__7daCow_cFv@headOfst = .bss:0x0000003C; // type:object size:0xC scope:local align:4 data:float
lbl_160_bss_48 = .bss:0x00000048; // type:object size:0x1 data:byte
@GUARD@setCollisions__7daCow_cFv@backBornOfst@0 = .bss:0x00000048; // type:object size:0x1 data:byte
@LOCAL@setCollisions__7daCow_cFv@backBornOfst@0 = .bss:0x0000004C; // type:object size:0xC scope:local align:4 data:float
lbl_160_bss_58 = .bss:0x00000058; // type:object size:0x1 data:byte
@GUARD@setCollisions__7daCow_cFv@waistOfst@1 = .bss:0x00000058; // type:object size:0x1 data:byte
@LOCAL@setCollisions__7daCow_cFv@waistOfst@1 = .bss:0x0000005C; // type:object size:0xC scope:local align:4 data:float
+7 -7
View File
@@ -25247,7 +25247,7 @@ lbl_80508ABE = .sbss:0x80508ABE; // type:object size:0x1 hash:0x7329269E
lbl_80508ABF = .sbss:0x80508ABF; // type:object size:0x1 hash:0x7329269F
lbl_80508AC0 = .sbss:0x80508AC0; // type:object size:0x1 hash:0x73292690
JPTracePCB4 = .sbss:0x80508AC4; // type:object size:0x4 scope:global data:4byte hash:0xB2DC52FB
lbl_80508AC8 = .sbss:0x80508AC8; // type:object size:0x1 data:byte hash:0xBABF0DBC
DMC_initialized = .sbss:0x80508AC8; // type:object size:0x1 data:byte hash:0xBABF0DBC
cDyl_Initialized = .sbss:0x80508ACC; // type:object size:0x4 scope:global data:4byte hash:0x4F14A2E4
cDyl_DVD = .sbss:0x80508AD0; // type:object size:0x4 scope:global data:4byte hash:0x12A4A3DE
g_fopAc_type = .sbss:0x80508AD8; // type:object size:0x4 scope:global data:4byte hash:0x79729021
@@ -25268,7 +25268,7 @@ g_fpcBs_type = .sbss:0x80508B28; // type:object size:0x4 scope:global data:4byte
l_fpcLy_CurrLayer_p = .sbss:0x80508B30; // type:object size:0x4 scope:global data:4byte hash:0x423940D3
@LOCAL@fpcLy_Create__FP11layer_classPvP15node_list_classi@layer_id@0 = .sbss:0x80508B34; // type:object size:0x4 scope:local data:4byte hash:0xBA834C41 dhash:0x97876181
g_fpcLf_type = .sbss:0x80508B38; // type:object size:0x4 scope:global data:4byte hash:0x24D2D5A5
lbl_80508B40 = .sbss:0x80508B40; // type:object size:0x1 data:byte hash:0x62392397 dhash:0xA26572E4
l_dvdError$0 = .sbss:0x80508B40; // type:object size:0x1 data:byte hash:0x62392397 dhash:0xA26572E4
g_fpcNd_type = .sbss:0x80508B48; // type:object size:0x4 scope:global data:4byte hash:0xEE05CFE5
@LOCAL@fpcNdRq_Create__FUl@request_id@0 = .sbss:0x80508B50; // type:object size:0x4 scope:local data:4byte hash:0x878F74E3 dhash:0xAAB980A1
g_fpcPf_ProfileList_p = .sbss:0x80508B58; // type:object size:0x4 scope:global data:4byte hash:0x2CADF2C7
@@ -25364,9 +25364,9 @@ m_b_Light8EcallBack__13dPa_control_c = .sbss:0x80508CD4; // type:object size:0x4
m_b_Light8PcallBack__13dPa_control_c = .sbss:0x80508CD8; // type:object size:0x4 scope:global data:4byte hash:0x50EB73E6 dhash:0x289FA544
m_d_Light8EcallBack__13dPa_control_c = .sbss:0x80508CDC; // type:object size:0x4 scope:global data:4byte hash:0xE99435D5 dhash:0xD8FEB517
m_d_Light8PcallBack__13dPa_control_c = .sbss:0x80508CE0; // type:object size:0x4 scope:global data:4byte hash:0x4A16DC20 dhash:0x4810E2C2
lbl_80508CE4 = .sbss:0x80508CE4; // type:object size:0x1 data:byte hash:0xEE07694F dhash:0xF8E160CD
mStatus__13dPa_control_c = .sbss:0x80508CE4; // type:object size:0x1 data:byte hash:0xEE07694F dhash:0xF8E160CD
mParticleTracePCB__13dPa_control_c = .sbss:0x80508CE8; // type:object size:0x4 scope:global data:4byte hash:0x02358A3F dhash:0xC17F907D
lbl_80508CF0 = .sbss:0x80508CF0; // type:object size:0x1 data:byte hash:0x23C263EA dhash:0x4666A2A9
mWipe__12dDlst_list_c = .sbss:0x80508CF0; // type:object size:0x1 data:byte hash:0x23C263EA dhash:0x4666A2A9
mWipeRate__12dDlst_list_c = .sbss:0x80508CF4; // type:object size:0x4 scope:global align:4 data:float hash:0x691395C8 dhash:0x88BEF30B
mWipeSpeed__12dDlst_list_c = .sbss:0x80508CF8; // type:object size:0x4 scope:global align:4 data:float hash:0x8B6109AD dhash:0xA0A5522E
mWipeColor__12dDlst_list_c = .sbss:0x80508CFC; // type:object size:0x4 scope:global data:byte hash:0x5EB93DD7 dhash:0x9F8AE694
@@ -25538,11 +25538,11 @@ systemConsole__9JFWSystem = .sbss:0x80508FC0; // type:object size:0x4 scope:glob
lbl_80508FC4 = .sbss:0x80508FC4; // type:object size:0x1 data:byte hash:0x8BB1D0A8 dhash:0xE5FF6B31
sManager__10JFWDisplay = .sbss:0x80508FC8; // type:object size:0x4 scope:global data:4byte hash:0xFBAF3485 dhash:0xE9584344
@LOCAL@endFrame__10JFWDisplayFv@prevFrame = .sbss:0x80508FCC; // type:object size:0x4 scope:local data:4byte hash:0xFCDE67C6 dhash:0x755A10C2
lbl_80508FD0 = .sbss:0x80508FD0; // type:object size:0x1 data:byte hash:0xCBE0AD2E dhash:0xB7DF402A
@GUARD@endFrame__10JFWDisplayFv@prevFrame = .sbss:0x80508FD0; // type:object size:0x1 data:byte hash:0xCBE0AD2E dhash:0xB7DF402A
@LOCAL@waitForTick__FUlUs@nextTick = .sbss:0x80508FD8; // type:object size:0x8 scope:local data:4byte hash:0xA3AF8346 dhash:0xF41BBC74
lbl_80508FE0 = .sbss:0x80508FE0; // type:object size:0x1 data:byte hash:0x3DB3242E dhash:0x5451A9DC
@GUARD@waitForTick__FUlUs@nextTick = .sbss:0x80508FE0; // type:object size:0x1 data:byte hash:0x3DB3242E dhash:0x5451A9DC
@LOCAL@waitForTick__FUlUs@nextCount@0 = .sbss:0x80508FE4; // type:object size:0x4 scope:local data:4byte hash:0x31EA8220 dhash:0xF41BBC74
lbl_80508FE8 = .sbss:0x80508FE8; // type:object size:0x1 data:byte hash:0xDE730B08 dhash:0x5451A9DC
@GUARD@waitForTick__FUlUs@nextCount@0 = .sbss:0x80508FE8; // type:object size:0x1 data:byte hash:0xDE730B08 dhash:0x5451A9DC
soOutput_none___Q27JStudio14TVariableValue = .sbss:0x80508FF0; // type:object size:0x4 scope:global data:4byte hash:0x0D4DD37E dhash:0xBE028BCF
lbl_80508FF8 = .sbss:0x80508FF8; // type:object size:0x1 data:byte hash:0xD1337E25 dhash:0xE17C2A90
lbl_80509000 = .sbss:0x80509000; // type:object size:0x1 data:byte hash:0xD7A40583 dhash:0x59B8D7B7
+1
View File
@@ -19,6 +19,7 @@ block_relocations:
end: .text:0x8055031C
- source: .text:0x805b727c
end: .text:0x805b7284
- target: .bss:0x80808081
add_relocations:
- source: .sdata:0x8073f3f4
type: abs
+4 -1
View File
@@ -304,13 +304,16 @@ pen_pos__21@unnamed@d_a_cow_cpp@ = .bss:0x00000000; // type:object size:0xC scop
gate_pos__21@unnamed@d_a_cow_cpp@ = .bss:0x0000000C; // type:object size:0xC scope:global
l_CowRoomNo__21@unnamed@d_a_cow_cpp@ = .bss:0x00000018; // type:object size:0x4 scope:global data:4byte
l_CowType__21@unnamed@d_a_cow_cpp@ = .bss:0x0000001C; // type:object size:0x4 scope:global data:4byte
lbl_154_bss_20 = .bss:0x00000020; // type:object size:0x1 data:byte
@GUARD@setEffect__7daCow_cFv@runScale = .bss:0x00000020; // type:object size:0x1 data:byte
@LOCAL@setEffect__7daCow_cFv@runScale = .bss:0x00000024; // type:object size:0xC scope:local
m_near_dist = .bss:0x00000030; // type:object size:0x4 scope:global align:4 data:float
m_view_angle_wide = .bss:0x00000034; // type:object size:0x2 scope:global data:2byte
m_view_angle = .bss:0x00000036; // type:object size:0x2 scope:global data:2byte
m_angry_cow = .bss:0x00000038; // type:object size:0x2 scope:global data:2byte
m_search_range = .bss:0x0000003C; // type:object size:0x4 scope:global
@GUARD@setCollisions__7daCow_cFv@headOfst = .bss:0x00000040; // type:object size:0x1 scope:local
@LOCAL@setCollisions__7daCow_cFv@headOfst = .bss:0x00000044; // type:object size:0xC scope:local
@GUARD@setCollisions__7daCow_cFv@backBornOfst@0 = .bss:0x00000050; // type:object size:0x1 scope:local
@LOCAL@setCollisions__7daCow_cFv@backBornOfst@0 = .bss:0x00000054; // type:object size:0xC scope:local
@GUARD@setCollisions__7daCow_cFv@waistOfst@1 = .bss:0x00000060; // type:object size:0x1 scope:local
@LOCAL@setCollisions__7daCow_cFv@waistOfst@1 = .bss:0x00000064; // type:object size:0xC scope:local
@@ -506,6 +506,7 @@ lbl_68_bss_68 = .bss:0x00000068; // type:object size:0x1 data:byte
lbl_68_bss_69 = .bss:0x00000069; // type:object size:0x7 data:byte
target_info = .bss:0x00000070; // type:object size:0x28 scope:global data:4byte
target_info_count = .bss:0x00000098; // type:object size:0x4 scope:global data:4byte
data_80519230 = .bss:0x0000009C; // type:object size:0x1 data:byte
@LOCAL@path_check__FP10e_rd_class@check_index = .bss:0x000000A0; // type:object size:0xFF scope:local
rd_count = .bss:0x000001A0; // type:object size:0x4 scope:global data:4byte
lbl_68_bss_1A4 = .bss:0x000001A4; // type:object size:0x1 data:byte
+7 -6
View File
@@ -131,14 +131,14 @@ m_Do/m_Do_MemCardRWmng.cpp:
m_Do/m_Do_machine_exception.cpp:
.text start:0x8002EEA0 end:0x8002F3A0
.data start:0x80664C90 end:0x80664E98
.sbss start:0x8074C450 end:0x8074C464
.sbss start:0x8074C450 end:0x8074C458
c/c_damagereaction.cpp:
.text start:0x8002F3A0 end:0x8002FAF0
.ctors start:0x8062F7E4 end:0x8062F7E8
.data start:0x80664E98 end:0x80664F00
.sdata start:0x8073F688 end:0x8073F698
.sbss start:0x8074C464 end:0x8074C46C
.sbss start:0x8074C458 end:0x8074C468
.sdata2 start:0x8074D908 end:0x8074D920
.bss start:0x807762A0 end:0x807762B0
@@ -146,15 +146,15 @@ c/c_dylink.cpp:
.text start:0x8002FAF0 end:0x80030690
.rodata start:0x8062FA70 end:0x806311D0
.data start:0x80664F00 end:0x80667F90
.sdata start:0x8073F698 end:0x8073F6EC
.sbss start:0x8074C46C end:0x8074C47C
.sdata start:0x8073F698 end:0x8073F6E8
.sbss start:0x8074C468 end:0x8074C47C
.bss start:0x807762B0 end:0x80776F20
f_ap/f_ap_game.cpp:
.text start:0x80030690 end:0x80034CB0
.ctors start:0x8062F7E8 end:0x8062F7EC
.data start:0x80667F90 end:0x80669130
.sdata start:0x8073F6EC end:0x8073F850
.sdata start:0x8073F6E8 end:0x8073F850
.sbss start:0x8074C47C end:0x8074C4A0
.sdata2 start:0x8074D920 end:0x8074D950
.bss start:0x80776F20 end:0x8077EF68
@@ -315,7 +315,7 @@ f_pc/f_pc_layer.cpp:
f_pc/f_pc_leaf.cpp:
.text start:0x800450A0 end:0x80045330
.data start:0x8066AD78 end:0x8066AD90
.sbss start:0x8074C540 end:0x8074C550
.sbss start:0x8074C540 end:0x8074C548
f_pc/f_pc_layer_iter.cpp:
.text start:0x80045330 end:0x80045560
@@ -336,6 +336,7 @@ f_pc/f_pc_manager.cpp:
.text start:0x800459D0 end:0x80046020
.data start:0x8066ADB0 end:0x8066ADC8
.sdata start:0x8073F9D8 end:0x8073F9E8
.sbss start:0x8074C548 end:0x8074C550
.bss start:0x80782160 end:0x80782208
f_pc/f_pc_method.cpp:
+41 -30
View File
@@ -54716,7 +54716,9 @@ lbl_80718B5E = .data:0x80718B5E; // type:object size:0x3A
@14158 = .data:0x80718D44; // type:object size:0xC scope:local data:string hash:0xA05FFBDC
__vt__16J3DMaterialTable = .data:0x80718D50; // type:object size:0xC scope:global hash:0x31696BE8 dhash:0xB1A7422F
@14159 = .data:0x80718D5C; // type:object size:0x11 scope:local data:string hash:0xA05FFBDD
lbl_80718D6D = .data:0x80718D6D; // type:object size:0x43
lbl_80718D70 = .data:0x80718D70; // type:object size:0x11 scope:local data:string
lbl_80718D84 = .data:0x80718D84; // type:object size:0x16 scope:local data:string
lbl_80718D9C = .data:0x80718D9C; // type:object size:0x11 scope:local data:string
@STRING@__ct__15J3DTevKColorAnmFUsP15J3DAnmTevRegKey@1 = .data:0x80718DB0; // type:object size:0x11 scope:local data:string hash:0x5A014D17 dhash:0x78112C26
@STRING@__ct__15J3DTevKColorAnmFUsP15J3DAnmTevRegKey@0 = .data:0x80718DC4; // type:object size:0x16 scope:local data:string hash:0x5A014D16 dhash:0x78112C26
@STRING@__ct__15J3DTevKColorAnmFUsP15J3DAnmTevRegKey = .data:0x80718DDC; // type:object size:0x11 scope:local data:string hash:0x9EFED366 dhash:0x78785EAA
@@ -54750,18 +54752,27 @@ lbl_80718D6D = .data:0x80718D6D; // type:object size:0x43
@STRING@getUpdateMaterialID__16J3DAnmTexPatternCFUs@1 = .data:0x80719030; // type:object size:0xF scope:local data:string hash:0x58473ADA dhash:0x456BEC1C
@STRING@getUpdateMaterialID__16J3DAnmTexPatternCFUs@0 = .data:0x80719040; // type:object size:0x14 scope:local data:string hash:0x58473ADB dhash:0x456BEC1C
@STRING@getUpdateMaterialID__16J3DAnmTexPatternCFUs = .data:0x80719054; // type:object size:0xF scope:local data:string hash:0x50B67C6B dhash:0xD46B0390
lbl_80719063 = .data:0x80719063; // type:object size:0x69
lbl_80719164 = .data:0x80719064; // type:object size:0xF scope:local data:string
lbl_80719174 = .data:0x80719074; // type:object size:0x14 scope:local data:string
lbl_80719188 = .data:0x80719088; // type:object size:0xF scope:local data:string
lbl_80719198 = .data:0x80719098; // type:object size:0xF scope:local data:string
lbl_807191A8 = .data:0x807190A8; // type:object size:0x14 scope:local data:string
lbl_807191BC = .data:0x807190BC; // type:object size:0xF scope:local data:string
@STRING@getUpdateMaterialID__11J3DAnmColorCFUs@1 = .data:0x807190CC; // type:object size:0xF scope:local data:string hash:0x452B19A1 dhash:0xB7C93AE0
@STRING@getUpdateMaterialID__11J3DAnmColorCFUs@0 = .data:0x807190DC; // type:object size:0x14 scope:local data:string hash:0x452B19A0 dhash:0xB7C93AE0
@STRING@getUpdateMaterialID__11J3DAnmColorCFUs = .data:0x807190F0; // type:object size:0xF scope:local data:string hash:0x8D586DD0 dhash:0x786A946C
@STRING@getUpdateTexMtxID__19J3DAnmTextureSRTKeyCFUs@1 = .data:0x80719100; // type:object size:0xF scope:local data:string hash:0x6B7EED0A dhash:0xD47505A3
@STRING@getUpdateTexMtxID__19J3DAnmTextureSRTKeyCFUs@0 = .data:0x80719110; // type:object size:0x14 scope:local data:string hash:0x6B7EED0B dhash:0xD47505A3
@STRING@getUpdateTexMtxID__19J3DAnmTextureSRTKeyCFUs = .data:0x80719124; // type:object size:0xF scope:local data:string hash:0xBEFB6A3B dhash:0xB482FA2F
lbl_80719133 = .data:0x80719133; // type:object size:0x35
lbl_80719134 = .data:0x80719134; // type:object size:0xF scope:local data:string
lbl_80719144 = .data:0x80719144; // type:object size:0x14 scope:local data:string
lbl_80719158 = .data:0x80719158; // type:object size:0xF scope:local data:string
@STRING@getSRTCenter__19J3DAnmTextureSRTKeyFUs@1 = .data:0x80719168; // type:object size:0xF scope:local data:string hash:0xBD35E163 dhash:0x8AF0DE6C
@STRING@getSRTCenter__19J3DAnmTextureSRTKeyFUs@0 = .data:0x80719178; // type:object size:0x14 scope:local data:string hash:0xBD35E162 dhash:0x8AF0DE6C
@STRING@getSRTCenter__19J3DAnmTextureSRTKeyFUs = .data:0x8071918C; // type:object size:0xF scope:local data:string hash:0xC92A5D12 dhash:0x943A0D60
lbl_8071919B = .data:0x8071919B; // type:object size:0x3D
lbl_8071919C = .data:0x8071919C; // type:object size:0x14 scope:local data:string
lbl_807191B0 = .data:0x807191B0; // type:object size:0x14 scope:local data:string
lbl_807191C4 = .data:0x807191C4; // type:object size:0x14 scope:local data:string
@15235 = .data:0x807191D8; // type:object size:0x17 scope:local data:string hash:0xA05F7375
@15236 = .data:0x807191F0; // type:object size:0x19 scope:local data:string hash:0xA05F7376
__vt__14J3DPEBlockNull = .data:0x8071920C; // type:object size:0x7C scope:global hash:0xA0930FF8 dhash:0x9EFBCF3D
@@ -57083,10 +57094,10 @@ __RTTI__19JPAParticleCallBack = .sdata:0x8073F690; // type:object size:0x8 scope
@114992 = .sdata:0x8073F6D0; // type:object size:0x7 scope:local data:string hash:0xAC9322E3
@115063 = .sdata:0x8073F6D8; // type:object size:0x5 scope:local data:string hash:0xAC938265
@115212 = .sdata:0x8073F6E0; // type:object size:0x2 scope:local data:string hash:0xAC938A01
lbl_8073F6E8 = .sdata:0x8073F6E8; // type:object size:0x1 data:byte hash:0xC4F99235 dhash:0x36EB3D35
mCaptureMagnification__11fapGm_HIO_c = .sdata:0x8073F6E8; // type:object size:0x1 data:byte hash:0xC4F99235 dhash:0x36EB3D35
mCaptureScreenDivH__11fapGm_HIO_c = .sdata:0x8073F6E9; // type:object size:0x1 data:byte hash:0xDA67CD23 dhash:0x36F37423
mCaptureScreenDivV__11fapGm_HIO_c = .sdata:0x8073F6EA; // type:object size:0x1 data:byte hash:0x3EAABB7D dhash:0x36F3743D
lbl_8073F6EB = .sdata:0x8073F6EB; // type:object size:0x1 data:byte hash:0x2C072CEE dhash:0x37B0404E
mPackArchiveMode__11fapGm_HIO_c = .sdata:0x8073F6EB; // type:object size:0x1 data:byte hash:0x2C072CEE dhash:0x37B0404E
@114738 = .sdata:0x8073F6EC; // type:object size:0x4 scope:local data:string hash:0xAC931B2D
@114739 = .sdata:0x8073F6F0; // type:object size:0x4 scope:local data:string hash:0xAC931B2C
@114740 = .sdata:0x8073F6F4; // type:object size:0x4 scope:local data:string hash:0xAC931A82
@@ -64236,14 +64247,14 @@ data_80450C9C = .sbss:0x8074C45C; // type:object size:0x1 hash:0x7329269B
data_80450C9D = .sbss:0x8074C45D; // type:object size:0x1 hash:0x7329269D
data_80450C9E = .sbss:0x8074C45E; // type:object size:0x1 hash:0x7329269E
cDmr_FishingWether = .sbss:0x8074C45F; // type:object size:0x1 hash:0x7329269F
data_80450CA0 = .sbss:0x8074C460; // type:object size:0x4 hash:0x73292690
data_80450CA0 = .sbss:0x8074C460; // type:object size:0x1 scope:global align:1 data:byte hash:0x73292690
JPTracePCB4 = .sbss:0x8074C464; // type:object size:0x4 scope:global hash:0xB2DC52FB
lbl_8074C468 = .sbss:0x8074C468; // type:object size:0x1 data:byte hash:0xBABF0DBC
DMC_initialized = .sbss:0x8074C468; // type:object size:0x1 data:byte hash:0xBABF0DBC
cDyl_Initialized = .sbss:0x8074C46C; // type:object size:0x4 scope:global data:4byte hash:0x4F14A2E4
cDyl_DVD = .sbss:0x8074C470; // type:object size:0x4 scope:global data:4byte hash:0x12A4A3DE
lbl_8074C478 = .sbss:0x8074C478; // type:object size:0x1 data:byte hash:0x212A8642 dhash:0x9C6E1C22
m_CpuTimerOn__11fapGm_HIO_c = .sbss:0x8074C478; // type:object size:0x1 data:byte hash:0x212A8642 dhash:0x9C6E1C22
m_CpuTimerOff__11fapGm_HIO_c = .sbss:0x8074C479; // type:object size:0x1 data:byte hash:0x911301CA dhash:0x705BB8AA
lbl_8074C47A = .sbss:0x8074C47A; // type:object size:0x1 data:byte hash:0xDE8007C6 dhash:0x7D1A2EE6
m_CpuTimerStart__11fapGm_HIO_c = .sbss:0x8074C47A; // type:object size:0x1 data:byte hash:0xDE8007C6 dhash:0x7D1A2EE6
m_CpuTimerTick__11fapGm_HIO_c = .sbss:0x8074C47C; // type:object size:0x4 scope:global data:4byte hash:0x1D284173 dhash:0x706361F3
mCaptureScreen__11fapGm_HIO_c = .sbss:0x8074C480; // type:object size:0x4 scope:global data:4byte hash:0x440BFED0 dhash:0x751F8370
mCaptureScreenBuffer__11fapGm_HIO_c = .sbss:0x8074C484; // type:object size:0x4 scope:global data:4byte hash:0xE27FC690 dhash:0xB288F970
@@ -64254,7 +64265,7 @@ mCaptureScreenLinePf__11fapGm_HIO_c = .sbss:0x8074C48E; // type:object size:0x2
mCaptureScreenLineNum__11fapGm_HIO_c = .sbss:0x8074C490; // type:object size:0x2 scope:global data:2byte hash:0xCC174908 dhash:0x39E708E8
mCaptureScreenNumH__11fapGm_HIO_c = .sbss:0x8074C492; // type:object size:0x1 data:byte hash:0x56EDE2EE dhash:0x36F65A0E
mCaptureScreenNumV__11fapGm_HIO_c = .sbss:0x8074C493; // type:object size:0x1 data:byte hash:0xDA2ADA30 dhash:0x36F65A10
lbl_8074C494 = .sbss:0x8074C494; // type:object size:0x1 data:byte hash:0xA9B59EC0 dhash:0xA12DE4E0
mParticle254Fix__11fapGm_HIO_c = .sbss:0x8074C494; // type:object size:0x1 data:byte hash:0xA9B59EC0 dhash:0xA12DE4E0
mPriorityMaximum__19print_error_check_c = .sbss:0x8074C498; // type:object size:0x1 data:byte hash:0xE0AE7E09 dhash:0x4F24BEA1
mPrintDisable__19print_error_check_c = .sbss:0x8074C499; // type:object size:0x1 data:byte hash:0xC93122F6 dhash:0x62D5041E
mThresholdEnable__19print_error_check_c = .sbss:0x8074C49A; // type:object size:0x1 data:byte hash:0xB66ED925 dhash:0x722717CD
@@ -64289,7 +64300,7 @@ g_fpcBs_type = .sbss:0x8074C530; // type:object size:0x4 scope:global data:4byte
l_fpcLy_CurrLayer_p = .sbss:0x8074C538; // type:object size:0x4 scope:global data:4byte hash:0x423940D3
@LOCAL@fpcLy_Create__FP11layer_classPvP15node_list_classi@layer_id@0 = .sbss:0x8074C53C; // type:object size:0x4 scope:local data:4byte hash:0xBA834C41 dhash:0x97876181
g_fpcLf_type = .sbss:0x8074C540; // type:object size:0x4 scope:global data:4byte hash:0x24D2D5A5
lbl_8074C548 = .sbss:0x8074C548; // type:object size:0x1 data:byte hash:0x62392397 dhash:0xA26572E4
@LOCAL@fpcM_Management__FPFv_vPFv_v@l_dvdError = .sbss:0x8074C548; // type:object size:0x1 data:byte hash:0x62392397 dhash:0xA26572E4
g_fpcNd_type = .sbss:0x8074C550; // type:object size:0x4 scope:global data:4byte hash:0xEE05CFE5
@LOCAL@fpcNdRq_Create__FUl@request_id@0 = .sbss:0x8074C558; // type:object size:0x4 scope:local data:4byte hash:0x878F74E3 dhash:0xAAB980A1
g_fpcPf_ProfileList_p = .sbss:0x8074C560; // type:object size:0x4 scope:global data:4byte hash:0x2CADF2C7
@@ -64401,7 +64412,7 @@ m_b_Light8EcallBack__13dPa_control_c = .sbss:0x8074C714; // type:object size:0x4
m_b_Light8PcallBack__13dPa_control_c = .sbss:0x8074C718; // type:object size:0x4 scope:global hash:0x50EB73E6 dhash:0x289FA544
m_d_Light8EcallBack__13dPa_control_c = .sbss:0x8074C71C; // type:object size:0x4 scope:global hash:0xE99435D5 dhash:0xD8FEB517
m_d_Light8PcallBack__13dPa_control_c = .sbss:0x8074C720; // type:object size:0x4 scope:global hash:0x4A16DC20 dhash:0x4810E2C2
lbl_8074C724 = .sbss:0x8074C724; // type:object size:0x1 data:byte hash:0xEE07694F dhash:0xF8E160CD
mStatus__13dPa_control_c = .sbss:0x8074C724; // type:object size:0x1 data:byte hash:0xEE07694F dhash:0xF8E160CD
mParticleTracePCB__13dPa_control_c = .sbss:0x8074C728; // type:object size:0x4 scope:global hash:0x02358A3F dhash:0xC17F907D
@LOCAL@dPath_Draw__Fv@start_counter = .sbss:0x8074C730; // type:object size:0x4 scope:local data:4byte hash:0x1FFA3645 dhash:0x57844FC7
l_drawTexCount = .sbss:0x8074C738; // type:object size:0x4 scope:global data:4byte hash:0x3A9A327C
@@ -64475,7 +64486,7 @@ lbl_8074C86D = .sbss:0x8074C86D; // type:object size:0x1 data:byte hash:0xE376DC
@LOCAL@listenPropertyEvent__10dEvM_HIO_cFPC16JORPropertyEvent@debug_data = .sbss:0x8074C878; // type:object size:0x4 scope:local data:4byte hash:0x8C84444C dhash:0xA4EAC8E3
l_HIO_before = .sbss:0x8074C880; // type:object size:0x4 scope:global data:4byte hash:0x3759C8DE
l_HIO_top = .sbss:0x8074C884; // type:object size:0x4 scope:global data:4byte hash:0xCA8DD4EC
l_debugMode = .sbss:0x8074C888; // type:object size:0x4 scope:global data:4byte hash:0x5F325704
l_debugMode = .sbss:0x8074C888; // type:object size:0x4 scope:local data:4byte hash:0x5F325704
l_jumpTop = .sbss:0x8074C88C; // type:object size:0x4 scope:global align:4 data:float hash:0xEC66737F
lbl_8074C890 = .sbss:0x8074C890; // type:object size:0x1 data:byte hash:0xB74E392C dhash:0xBD2F6E4C
lbl_8074C891 = .sbss:0x8074C891; // type:object size:0x1 data:byte hash:0xC3C1301D dhash:0xBD2F6E4C
@@ -64526,16 +64537,16 @@ m_dropAngleY__20daPy_boomerangMove_c = .sbss:0x8074C914; // type:object size:0x2
m_eventKeepFlg__20daPy_boomerangMove_c = .sbss:0x8074C916; // type:object size:0x2 scope:global data:2byte hash:0x7AB48561 dhash:0x0892FF43
Stage__22@unnamed@d_camera_cpp@ = .sbss:0x8074C918; // type:object size:0x4 scope:global data:4byte hash:0xB45C73E7 dhash:0xC45A5407
WideTurnSaving__22@unnamed@d_camera_cpp@ = .sbss:0x8074C91C; // type:object size:0x4 scope:global align:4 data:float hash:0xA4CEF485 dhash:0x54B4F3A5
lbl_8074C920 = .sbss:0x8074C920; // type:object size:0x1 data:byte hash:0x88EE1272 dhash:0xF8A332E3
@LOCAL@chaseCamera__9dCamera_cFl@LatitudeLimitMax@4 = .sbss:0x8074C924; // type:object size:0x2 scope:local hash:0x63D10E5A dhash:0xE67A53CB
lbl_8074C926 = .sbss:0x8074C926; // type:object size:0x1 data:byte hash:0x334E5811 dhash:0xB5076729
l_debugMode = .sbss:0x8074C920; // type:object size:0x4 scope:local data:4byte hash:0x88EE1272 dhash:0xF8A332E3
@LOCAL@chaseCamera__9dCamera_cFl@LatitudeLimitMax@0 = .sbss:0x8074C924; // type:object size:0x2 scope:local hash:0x63D10E5A dhash:0xE67A53CB
@GUARD@railCamera__9dCamera_cFl@_120 = .sbss:0x8074C926; // type:object size:0x1 data:byte hash:0x334E5811 dhash:0xB5076729
@LOCAL@railCamera__9dCamera_cFl@_120 = .sbss:0x8074C928; // type:object size:0x2 scope:local hash:0x24055AF9 dhash:0x18F891C1
lbl_8074C92A = .sbss:0x8074C92A; // type:object size:0x1 data:byte hash:0xBCB1D8B3 dhash:0xAAE861CB
@GUARD@paraRailCamera__9dCamera_cFl@_120 = .sbss:0x8074C92A; // type:object size:0x1 data:byte hash:0xBCB1D8B3 dhash:0xAAE861CB
@LOCAL@paraRailCamera__9dCamera_cFl@_120 = .sbss:0x8074C92C; // type:object size:0x2 scope:local hash:0x234ABD5B dhash:0xA108EAA3
lbl_8074C92E = .sbss:0x8074C92E; // type:object size:0x1 data:byte hash:0xDA185670 dhash:0xE724A005
@LOCAL@rideCamera__9dCamera_cFl@LatMin@2 = .sbss:0x8074C930; // type:object size:0x2 scope:local hash:0xC57ADB58 dhash:0xC35AA72D
lbl_8074C932 = .sbss:0x8074C932; // type:object size:0x1 data:byte hash:0xDA14946F dhash:0xE724A005
@LOCAL@rideCamera__9dCamera_cFl@LatMax@3 = .sbss:0x8074C934; // type:object size:0x2 scope:local hash:0xC57F5747 dhash:0xC35AA72D
@GUARD@rideCamera__9dCamera_cFl@LatMin = .sbss:0x8074C92E; // type:object size:0x1 data:byte hash:0xDA185670 dhash:0xE724A005
@LOCAL@rideCamera__9dCamera_cFl@LatMin = .sbss:0x8074C930; // type:object size:0x2 scope:local hash:0xC57ADB58 dhash:0xC35AA72D
@GUARD@rideCamera__9dCamera_cFl@LatMax@0 = .sbss:0x8074C932; // type:object size:0x1 data:byte hash:0xDA14946F dhash:0xE724A005
@LOCAL@rideCamera__9dCamera_cFl@LatMax@0 = .sbss:0x8074C934; // type:object size:0x2 scope:local hash:0xC57F5747 dhash:0xC35AA72D
sInstance__31JASGlobalInstance<10Z2Audience> = .sbss:0x8074C938; // type:object size:0x4 scope:global data:4byte hash:0xEDAF4FB8 dhash:0xC8923EFB
@LOCAL@titleMsgCheck__14dFile_select_cFv@charspaceU@5 = .sbss:0x8074C940; // type:object size:0x8 scope:local hash:0xBAC0AB57 dhash:0x3D4E40C7
@LOCAL@headerTxtSet__14dFile_select_cFUsUcUc@charspace@1 = .sbss:0x8074C948; // type:object size:0x8 scope:local hash:0xAF32C5AC dhash:0x2E781072
@@ -64666,11 +64677,11 @@ systemConsole__9JFWSystem = .sbss:0x8074CB78; // type:object size:0x4 scope:glob
sInitCalled__9JFWSystem = .sbss:0x8074CB7C; // type:object size:0x1 scope:global data:byte hash:0x8BB1D0A8 dhash:0xE5FF6B31
sManager__10JFWDisplay = .sbss:0x8074CB80; // type:object size:0x4 scope:global data:4byte hash:0xFBAF3485 dhash:0xE9584344
@LOCAL@endFrame__10JFWDisplayFv@prevFrame = .sbss:0x8074CB84; // type:object size:0x4 scope:local data:4byte hash:0xFCDE67C6 dhash:0x755A10C2
lbl_8074CB88 = .sbss:0x8074CB88; // type:object size:0x8 data:byte hash:0xCBE0AD2E dhash:0xB7DF402A
@GUARD@endFrame__10JFWDisplayFv@prevFrame = .sbss:0x8074CB88; // type:object size:0x1 data:byte hash:0xCBE0AD2E dhash:0xB7DF402A
@LOCAL@waitForTick__FUlUs@nextTick = .sbss:0x8074CB90; // type:object size:0x8 scope:local data:4byte hash:0xA3AF8346 dhash:0xF41BBC74
lbl_8074CB98 = .sbss:0x8074CB98; // type:object size:0x1 data:byte hash:0x3DB3242E dhash:0x5451A9DC
@GUARD@waitForTick__FUlUs@nextTick = .sbss:0x8074CB98; // type:object size:0x1 data:byte hash:0x3DB3242E dhash:0x5451A9DC
@LOCAL@waitForTick__FUlUs@nextCount@0 = .sbss:0x8074CB9C; // type:object size:0x4 scope:local data:4byte hash:0x31EA8220 dhash:0xF41BBC74
lbl_8074CBA0 = .sbss:0x8074CBA0; // type:object size:0x1 data:byte hash:0xDE730B08 dhash:0x5451A9DC
@GUARD@waitForTick__FUlUs@nextCount@0 = .sbss:0x8074CBA0; // type:object size:0x1 data:byte hash:0xDE730B08 dhash:0x5451A9DC
sBusTransactionMax__14J3DUMemRequest = .sbss:0x8074CBA8; // type:object size:0x4 scope:global data:4byte hash:0x5BB3289B dhash:0x5276E81E
soOutput_none___Q27JStudio14TVariableValue = .sbss:0x8074CBB0; // type:object size:0x4 scope:global hash:0x0D4DD37E dhash:0xBE028BCF
lbl_8074CBB8 = .sbss:0x8074CBB8; // type:object size:0x1 data:byte hash:0xD1337E25 dhash:0xE17C2A90
@@ -64933,16 +64944,16 @@ sInterruptFlag__17J3DDisplayListObj = .sbss:0x8074D070; // type:object size:0x4
sCurrentPipeline__11J3DShapeMtx = .sbss:0x8074D078; // type:object size:0x4 scope:global data:4byte hash:0x50CBA64E dhash:0x4F12164E
sCurrentScaleFlag__11J3DShapeMtx = .sbss:0x8074D07C; // type:object size:0x4 scope:global data:4byte hash:0xCB85DCB8 dhash:0x577AF098
lbl_8074D080 = .sbss:0x8074D080; // type:object size:0x1 data:byte hash:0xE75AE0B7 dhash:0x2CA2A917
lbl_8074D081 = .sbss:0x8074D081; // type:object size:0x1 data:byte hash:0x987989B1 dhash:0x6DF89211
lbl_8074D082 = .sbss:0x8074D082; // type:object size:0x1 data:byte hash:0x0F9C84EE dhash:0x9C5D56AE
sNBTFlag__11J3DShapeMtx = .sbss:0x8074D081; // type:object size:0x1 data:byte hash:0x987989B1 dhash:0x6DF89211
sLODFlag__11J3DShapeMtx = .sbss:0x8074D082; // type:object size:0x1 data:byte hash:0x0F9C84EE dhash:0x9C5D56AE
sTexMtxLoadType__11J3DShapeMtx = .sbss:0x8074D084; // type:object size:0x4 scope:global data:4byte hash:0xAFD41013 dhash:0x51E0BE53
sMtxPtrTbl__21J3DShapeMtxConcatView = .sbss:0x8074D088; // type:object size:0x8 scope:global data:4byte hash:0x463C1072 dhash:0x3DA0F1F1
sTexGenBlock__17J3DDifferedTexMtx = .sbss:0x8074D090; // type:object size:0x4 scope:global data:4byte hash:0xD3582F52 dhash:0x9BA160B4
sTexMtxObj__17J3DDifferedTexMtx = .sbss:0x8074D094; // type:object size:0x4 scope:global data:4byte hash:0x8296A751 dhash:0x97A6E857
@LOCAL@makeVcdVatCmd__8J3DShapeFv@sInterruptFlag = .sbss:0x8074D098; // type:object size:0x4 scope:local data:4byte hash:0xED217CF0 dhash:0xA787D159
lbl_8074D09C = .sbss:0x8074D09C; // type:object size:0x1 data:byte hash:0xD4034C98 dhash:0xFE28A8B1
@GUARD@makeVcdVatCmd__8J3DShapeFv@sInterruptFlag = .sbss:0x8074D09C; // type:object size:0x1 data:byte hash:0xD4034C98 dhash:0xFE28A8B1
sOldVcdVatCmd__8J3DShape = .sbss:0x8074D0A0; // type:object size:0x4 scope:global data:4byte hash:0xC597E163 dhash:0xA1B8A75B
lbl_8074D0A4 = .sbss:0x8074D0A4; // type:object size:0x1 data:byte hash:0x13DE227E dhash:0xE33DEC66
sEnvelopeFlag__8J3DShape = .sbss:0x8074D0A4; // type:object size:0x1 data:byte hash:0x13DE227E dhash:0xE33DEC66
SizeOfJ3DColorBlockLightOffLoad = .sbss:0x8074D0A8; // type:object size:0x4 scope:global data:4byte hash:0x0199BDD7
SizeOfJ3DColorBlockAmbientOnLoad = .sbss:0x8074D0AC; // type:object size:0x4 scope:global data:4byte hash:0x940F173F
entryNum__13J3DDrawBuffer = .sbss:0x8074D0B0; // type:object size:0x4 scope:global data:4byte hash:0xFAD2AEB8 dhash:0xC16F8CFA
@@ -69871,7 +69882,7 @@ j2dDefaultAlphaCmp = .sdata2:0x80752896; // type:object size:0x2 scope:global da
@5795 = .sdata2:0x80752AB0; // type:object size:0x8 scope:local align:8 data:double hash:0x0C9C052B
j3dDefaultColInfo = .sdata2:0x80752AB8; // type:object size:0x4 scope:global data:4byte hash:0x80FD297D
j3dDefaultAmbInfo = .sdata2:0x80752ABC; // type:object size:0x4 scope:global data:4byte hash:0x387DE433
lbl_80752AC0 = .sdata2:0x80752AC0; // type:object size:0x1 data:byte hash:0x97541C9C
j3dDefaultNumChans = .sdata2:0x80752AC0; // type:object size:0x1 data:byte hash:0x97541C9C
j3dDefaultTevOrderInfoNull = .sdata2:0x80752AC4; // type:object size:0x4 scope:global hash:0xF84C08AF
j3dDefaultIndTexOrderNull = .sdata2:0x80752AC8; // type:object size:0x4 scope:global hash:0xBD68470C
j3dDefaultTevColor = .sdata2:0x80752AD0; // type:object size:0x8 scope:global data:4byte hash:0xD34E8CA9
+32 -32
View File
@@ -629,36 +629,36 @@ config.libs = [
Object(MatchingFor(ALL), "f_op/f_op_scene_pause.cpp"),
# f_pc
Object(MatchingFor(ALL_GCN), "f_pc/f_pc_base.cpp"),
Object(MatchingFor(ALL_GCN, ALL_SHIELD), "f_pc/f_pc_create_iter.cpp"),
Object(MatchingFor(ALL_GCN), "f_pc/f_pc_create_req.cpp"),
Object(MatchingFor(ALL_GCN, ALL_SHIELD), "f_pc/f_pc_create_tag.cpp"),
Object(MatchingFor(ALL_GCN, ALL_SHIELD), "f_pc/f_pc_creator.cpp"),
Object(MatchingFor(ALL_GCN, ALL_SHIELD), "f_pc/f_pc_delete_tag.cpp"),
Object(MatchingFor(ALL_GCN), "f_pc/f_pc_deletor.cpp"),
Object(MatchingFor(ALL_GCN, ALL_SHIELD), "f_pc/f_pc_draw_priority.cpp"),
Object(MatchingFor(ALL_GCN), "f_pc/f_pc_executor.cpp"),
Object(MatchingFor(ALL_GCN, "ShieldD"), "f_pc/f_pc_layer.cpp"),
Object(MatchingFor(ALL_GCN, "Shield"), "f_pc/f_pc_leaf.cpp"),
Object(MatchingFor(ALL_GCN, "ShieldD"), "f_pc/f_pc_layer_iter.cpp"),
Object(MatchingFor(ALL_GCN, "ShieldD"), "f_pc/f_pc_layer_tag.cpp"),
Object(MatchingFor(ALL_GCN, ALL_SHIELD), "f_pc/f_pc_line.cpp"),
Object(MatchingFor(ALL_GCN, "ShieldD"), "f_pc/f_pc_load.cpp"),
Object(MatchingFor(ALL_GCN, ALL_WII), "f_pc/f_pc_base.cpp"),
Object(MatchingFor(ALL), "f_pc/f_pc_create_iter.cpp"),
Object(MatchingFor(ALL_GCN, ALL_SHIELD), "f_pc/f_pc_create_req.cpp"),
Object(MatchingFor(ALL), "f_pc/f_pc_create_tag.cpp"),
Object(MatchingFor(ALL), "f_pc/f_pc_creator.cpp"),
Object(MatchingFor(ALL), "f_pc/f_pc_delete_tag.cpp"),
Object(MatchingFor(ALL_GCN, ALL_SHIELD), "f_pc/f_pc_deletor.cpp"),
Object(MatchingFor(ALL), "f_pc/f_pc_draw_priority.cpp"),
Object(MatchingFor(ALL), "f_pc/f_pc_executor.cpp"),
Object(MatchingFor(ALL_GCN, ALL_SHIELD), "f_pc/f_pc_layer.cpp"),
Object(MatchingFor(ALL), "f_pc/f_pc_leaf.cpp"),
Object(MatchingFor(ALL), "f_pc/f_pc_layer_iter.cpp"),
Object(MatchingFor(ALL), "f_pc/f_pc_layer_tag.cpp"),
Object(MatchingFor(ALL), "f_pc/f_pc_line.cpp"),
Object(MatchingFor(ALL), "f_pc/f_pc_load.cpp"),
Object(MatchingFor(ALL_GCN), "f_pc/f_pc_manager.cpp"),
Object(MatchingFor(ALL_GCN, "ShieldD"), "f_pc/f_pc_method.cpp"),
Object(MatchingFor(ALL_GCN), "f_pc/f_pc_node.cpp"),
Object(MatchingFor(ALL_GCN), "f_pc/f_pc_node_req.cpp"),
Object(MatchingFor(ALL_GCN, "ShieldD"), "f_pc/f_pc_priority.cpp"),
Object(MatchingFor(ALL_GCN, ALL_SHIELD), "f_pc/f_pc_profile.cpp"),
Object(MatchingFor(ALL_GCN, ALL_SHIELD), "f_pc/f_pc_searcher.cpp"),
Object(MatchingFor(ALL_GCN, "ShieldD"), "f_pc/f_pc_line_tag.cpp"),
Object(MatchingFor(ALL_GCN, "ShieldD"), "f_pc/f_pc_line_iter.cpp"),
Object(MatchingFor(ALL_GCN, ALL_SHIELD), "f_pc/f_pc_method_iter.cpp"),
Object(MatchingFor(ALL_GCN, "ShieldD"), "f_pc/f_pc_method_tag.cpp"),
Object(MatchingFor(ALL_GCN, ALL_SHIELD), "f_pc/f_pc_pause.cpp"),
Object(MatchingFor(ALL_GCN, "ShieldD"), "f_pc/f_pc_draw.cpp"),
Object(MatchingFor(ALL_GCN, ALL_SHIELD), "f_pc/f_pc_fstcreate_req.cpp"),
Object(MatchingFor(ALL_GCN), "f_pc/f_pc_stdcreate_req.cpp"),
Object(MatchingFor(ALL), "f_pc/f_pc_method.cpp"),
Object(MatchingFor(ALL), "f_pc/f_pc_node.cpp"),
Object(MatchingFor(ALL_GCN, "ShieldD"), "f_pc/f_pc_node_req.cpp"),
Object(MatchingFor(ALL_GCN, ALL_SHIELD), "f_pc/f_pc_priority.cpp"),
Object(MatchingFor(ALL), "f_pc/f_pc_profile.cpp"),
Object(MatchingFor(ALL), "f_pc/f_pc_searcher.cpp"),
Object(MatchingFor(ALL), "f_pc/f_pc_line_tag.cpp"),
Object(MatchingFor(ALL), "f_pc/f_pc_line_iter.cpp"),
Object(MatchingFor(ALL), "f_pc/f_pc_method_iter.cpp"),
Object(MatchingFor(ALL), "f_pc/f_pc_method_tag.cpp"),
Object(MatchingFor(ALL), "f_pc/f_pc_pause.cpp"),
Object(MatchingFor(ALL), "f_pc/f_pc_draw.cpp"),
Object(MatchingFor(ALL), "f_pc/f_pc_fstcreate_req.cpp"),
Object(MatchingFor(ALL), "f_pc/f_pc_stdcreate_req.cpp"),
Object(MatchingFor("ShieldD"), "f_pc/f_pc_debug_sv.cpp"),
],
},
@@ -1084,7 +1084,7 @@ config.libs = [
Object(MatchingFor(ALL_GCN), "JSystem/JAudio2/JASOscillator.cpp"),
Object(MatchingFor(ALL_GCN), "JSystem/JAudio2/JASAiCtrl.cpp"),
Object(MatchingFor(ALL_GCN), "JSystem/JAudio2/JASAudioThread.cpp"),
Object(MatchingFor(ALL_GCN, "ShieldD"), "JSystem/JAudio2/JASAudioReseter.cpp"),
Object(MatchingFor(ALL_GCN), "JSystem/JAudio2/JASAudioReseter.cpp"),
Object(MatchingFor(ALL_GCN, "ShieldD"), "JSystem/JAudio2/JASDSPChannel.cpp"),
Object(MatchingFor(ALL_GCN), "JSystem/JAudio2/JASDSPInterface.cpp"),
Object(MatchingFor(ALL_GCN), "JSystem/JAudio2/JASDriverIF.cpp"),
@@ -1211,7 +1211,7 @@ config.libs = [
Object(MatchingFor(ALL_GCN), "Z2AudioLib/Z2SeMgr.cpp"),
Object(MatchingFor(ALL_GCN), "Z2AudioLib/Z2SeqMgr.cpp"),
Object(MatchingFor(ALL_GCN), "Z2AudioLib/Z2StatusMgr.cpp"),
Object(Equivalent, "Z2AudioLib/Z2SceneMgr.cpp"), # weak func order
Object(MatchingFor(ALL_GCN), "Z2AudioLib/Z2SceneMgr.cpp"),
Object(MatchingFor(ALL_GCN), "Z2AudioLib/Z2FxLineMgr.cpp"),
Object(MatchingFor(ALL_GCN), "Z2AudioLib/Z2SoundInfo.cpp"),
Object(MatchingFor(ALL_GCN), "Z2AudioLib/Z2Audience.cpp"),
@@ -1222,7 +1222,7 @@ config.libs = [
Object(MatchingFor(ALL_GCN), "Z2AudioLib/Z2EnvSeMgr.cpp"),
Object(MatchingFor(ALL_GCN), "Z2AudioLib/Z2WolfHowlMgr.cpp"),
Object(MatchingFor(ALL_GCN), "Z2AudioLib/Z2SpeechMgr2.cpp"),
Object(Equivalent, "Z2AudioLib/Z2AudioMgr.cpp"), # weak func order
Object(MatchingFor(ALL_GCN), "Z2AudioLib/Z2AudioMgr.cpp"),
Object(NonMatching, "Z2AudioLib/Z2DebugSys.cpp"),
Object(NonMatching, "Z2AudioLib/Z2F1TestWindow.cpp"),
Object(NonMatching, "Z2AudioLib/Z2SoundPlayer.cpp"),
-2
View File
@@ -44,10 +44,8 @@ struct DynamicModuleControlBase {
inline DynamicModuleControlBase* getNextClass() { return mNext; }
bool isLinked() const { return mLinkCount != 0; }
#if DEBUG
static void resetDoLinkCount() {} // TODO
static void dumpTag() {} // TODO
#endif
static DynamicModuleControlBase* mFirst;
static DynamicModuleControlBase* mLast;
+62 -65
View File
@@ -27,9 +27,13 @@ enum J2DAnmKind {
class J2DAnmBase {
public:
J2DAnmBase() {
mFrame = 0;
mFrame = 0.0f;
mFrameMax = 0;
}
J2DAnmBase(s16 frameMax) {
mFrame = 0.0f;
mFrameMax = frameMax;
}
virtual ~J2DAnmBase() {}
virtual void searchUpdateMaterialID(J2DScreen*) {}
@@ -54,10 +58,10 @@ class J2DAnmVtxColor : public J2DAnmBase {
public:
J2DAnmVtxColor() {
mKind = KIND_VTX_COLOR;
for (s32 i = 0; i < ARRAY_SIZEU(mAnmTableNum); i++) {
for (int i = 0; i < ARRAY_SIZE(mAnmTableNum); i++) {
mAnmTableNum[i] = NULL;
}
for (s32 i = 0; i < ARRAY_SIZEU(mVtxColorIndexData); i++) {
for (int i = 0; i < ARRAY_SIZE(mVtxColorIndexData); i++) {
mVtxColorIndexData[i] = NULL;
}
}
@@ -92,7 +96,7 @@ struct J3DTextureSRTInfo;
class J2DAnmVtxColorKey : public J2DAnmVtxColor {
public:
J2DAnmVtxColorKey() {
for (s32 i = 0; i < ARRAY_SIZEU(mInfoTable); i++) {
for (int i = 0; i < ARRAY_SIZE(mInfoTable); i++) {
mInfoTable[i] = NULL;
}
}
@@ -113,7 +117,7 @@ public:
class J2DAnmVtxColorFull : public J2DAnmVtxColor {
public:
J2DAnmVtxColorFull() {
for (s32 i = 0; i < ARRAY_SIZEU(mInfoTable); i++) {
for (int i = 0; i < ARRAY_SIZE(mInfoTable); i++) {
mInfoTable[i] = NULL;
}
}
@@ -155,7 +159,7 @@ public:
*/
class J2DAnmTransform : public J2DAnmBase {
public:
J2DAnmTransform(f32* pScaleValues, s16* pRotationValues, f32* pTranslateValues) {
J2DAnmTransform(s16 frameMax, f32* pScaleValues, s16* pRotationValues, f32* pTranslateValues) : J2DAnmBase(frameMax) {
mScaleValues = pScaleValues;
mRotationValues = pRotationValues;
mTranslateValues = pTranslateValues;
@@ -175,18 +179,18 @@ public:
*/
class J2DAnmTransformKey : public J2DAnmTransform {
public:
J2DAnmTransformKey() : J2DAnmTransform(NULL, NULL, NULL) {
J2DAnmTransformKey() : J2DAnmTransform(0, NULL, NULL, NULL) {
field_0x24 = 0;
mInfoTable = NULL;
}
virtual ~J2DAnmTransformKey() {}
virtual void getTransform(u16 p1, J3DTransformInfo* pInfo) const {
this->calcTransform(getFrame(), p1, pInfo);
this->calcTransform(mFrame, p1, pInfo);
}
virtual void calcTransform(f32, u16, J3DTransformInfo*) const;
/* 0x1C */ u8 field_0x1c[6];
/* 0x22 */ s16 field_0x22;
/* 0x22 */ u16 field_0x22;
/* 0x24 */ u32 field_0x24;
/* 0x28 */ J3DAnmTransformKeyTable* mInfoTable;
};
@@ -197,7 +201,7 @@ public:
*/
class J2DAnmTransformFull : public J2DAnmTransform {
public:
J2DAnmTransformFull() : J2DAnmTransform(NULL, NULL, NULL) { mTableInfo = NULL; }
J2DAnmTransformFull() : J2DAnmTransform(0, NULL, NULL, NULL) { mTableInfo = NULL; }
virtual ~J2DAnmTransformFull() {}
virtual void getTransform(u16, J3DTransformInfo*) const;
@@ -214,21 +218,13 @@ class J2DAnmTextureSRTKey : public J2DAnmBase {
public:
J2DAnmTextureSRTKey() {
field_0x10 = 0;
field_0x1e = 0;
field_0x1c = 0;
field_0x1a = 0;
mUpdateMaterialNum = 0;
mUpdateMaterialNum = field_0x1a = field_0x1c = field_0x1e = 0;
mInfoTable = NULL;
mTranslationValues = NULL;
mScaleValues = NULL;
mScaleValues = mTranslationValues = NULL;
mRotationValues = NULL;
field_0x4c = 0;
field_0x4a = 0;
field_0x48 = 0;
field_0x4e = 0;
field_0x4e = field_0x48 = field_0x4a = field_0x4c = 0;
field_0x5c = NULL;
field_0x58 = NULL;
field_0x50 = NULL;
field_0x50 = field_0x58 = NULL;
field_0x54 = NULL;
field_0x7c = 0;
mKind = KIND_TEXTURE_SRT;
@@ -238,9 +234,15 @@ public:
virtual ~J2DAnmTextureSRTKey() {}
virtual void searchUpdateMaterialID(J2DScreen*);
u16 getUpdateMaterialNum() const { return mUpdateMaterialNum / 3; }
u16 getUpdateMaterialID(u16 i) const { return mUpdateMaterialID[i]; }
u8 getUpdateTexMtxID(u16 i) const { return mUpdateTexMtxID[i]; }
void getTransform(u16 param_1, J3DTextureSRTInfo* param_2) {
u16 getUpdateMaterialID(u16 i) const {
J3D_PANIC(514, i < mUpdateMaterialNum / 3 && i >= 0, "Error : range over.");
return mUpdateMaterialID[i];
}
u8 getUpdateTexMtxID(u16 i) const {
J3D_PANIC(513, i < mUpdateMaterialNum / 3 && i >= 0, "Error : range over.");
return mUpdateTexMtxID[i];
}
void getTransform(u16 param_1, J3DTextureSRTInfo* param_2) const {
calcTransform(mFrame, param_1, param_2);
}
@@ -279,8 +281,13 @@ public:
class J2DAnmTexPattern : public J2DAnmBase {
public:
struct J2DAnmTexPatternTIMGPointer {
J2DAnmTexPatternTIMGPointer();
~J2DAnmTexPatternTIMGPointer();
J2DAnmTexPatternTIMGPointer() {
mRes = NULL;
mPalette = NULL;
}
~J2DAnmTexPatternTIMGPointer() {
delete mPalette;
}
/* 0x0 */ ResTIMG* mRes;
/* 0x4 */ JUTPalette* mPalette;
@@ -302,7 +309,10 @@ public:
virtual ~J2DAnmTexPattern() { delete[] mTIMGPtrArray; }
virtual void searchUpdateMaterialID(J2DScreen*);
u16 getUpdateMaterialNum() const { return mUpdateMaterialNum; }
u16 getUpdateMaterialID(u16 i) const { return mUpdateMaterialID[i]; }
u16 getUpdateMaterialID(u16 i) const {
J3D_PANIC(619, i < mUpdateMaterialNum, "Error : range over.");
return mUpdateMaterialID[i];
}
J3DAnmTexPatternFullTable* getAnmTable() const { return mAnmTable; }
/* 0x10 */ u16* mValues;
@@ -321,39 +331,31 @@ public:
class J2DAnmTevRegKey : public J2DAnmBase {
public:
J2DAnmTevRegKey() {
mKRegUpdateMaterialNum = 0;
mCRegUpdateMaterialNum = 0;
field_0x1a = 0;
field_0x18 = 0;
field_0x16 = 0;
field_0x14 = 0;
field_0x22 = 0;
field_0x20 = 0;
field_0x1e = 0;
field_0x1c = 0;
mKRegUpdateMaterialID = NULL;
mCRegUpdateMaterialID = NULL;
mCAValues = NULL;
mCBValues = NULL;
mCGValues = NULL;
mCRValues = NULL;
mKAValues = NULL;
mKBValues = NULL;
mKGValues = NULL;
mKRValues = NULL;
mCRegUpdateMaterialNum = mKRegUpdateMaterialNum = 0;
field_0x14 = field_0x16 = field_0x18 = field_0x1a = 0;
field_0x1c = field_0x1e = field_0x20 = field_0x22 = 0;
mCRegUpdateMaterialID = mKRegUpdateMaterialID = NULL;
mCRValues = mCGValues = mCBValues = mCAValues = NULL;
mKRValues = mKGValues = mKBValues = mKAValues = NULL;
mKind = KIND_TEV_REG;
}
void getTevColorReg(u16, _GXColorS10*) const;
void getTevKonstReg(u16, _GXColor*) const;
void getTevColorReg(u16, GXColorS10*) const;
void getTevKonstReg(u16, GXColor*) const;
virtual ~J2DAnmTevRegKey() {}
virtual void searchUpdateMaterialID(J2DScreen* pScreen);
u16 getCRegUpdateMaterialNum() const { return mCRegUpdateMaterialNum; }
u16 getCRegUpdateMaterialID(u16 i) const { return mCRegUpdateMaterialID[i]; }
u16 getCRegUpdateMaterialID(u16 i) const {
J3D_PANIC(770, i < mCRegUpdateMaterialNum, "Error : range over.");
return mCRegUpdateMaterialID[i];
}
u16 getKRegUpdateMaterialNum() const { return mKRegUpdateMaterialNum; }
u16 getKRegUpdateMaterialID(u16 i) const { return mKRegUpdateMaterialID[i]; }
u16 getKRegUpdateMaterialID(u16 i) const {
J3D_PANIC(778, i < mKRegUpdateMaterialNum, "Error : range over.");
return mKRegUpdateMaterialID[i];
}
J3DAnmCRegKeyTable* getAnmCRegKeyTable() const { return mAnmCRegKeyTable; }
J3DAnmKRegKeyTable* getAnmKRegKeyTable() const { return mAnmKRegKeyTable; }
@@ -391,10 +393,7 @@ public:
class J2DAnmColor : public J2DAnmBase {
public:
J2DAnmColor() {
field_0x16 = 0;
field_0x14 = 0;
field_0x12 = 0;
field_0x10 = 0;
field_0x10 = field_0x12 = field_0x14 = field_0x16 = 0;
mUpdateMaterialNum = 0;
mUpdateMaterialID = NULL;
mKind = KIND_COLOR;
@@ -403,7 +402,10 @@ public:
virtual void searchUpdateMaterialID(J2DScreen*);
virtual void getColor(u16, _GXColor*) const {}
u16 getUpdateMaterialNum() const { return mUpdateMaterialNum; }
u16 getUpdateMaterialID(u16 i) const { return mUpdateMaterialID[i]; }
u16 getUpdateMaterialID(u16 i) const {
J3D_PANIC(224, i < mUpdateMaterialNum, "Error : range over.");
return mUpdateMaterialID[i];
}
/* 0x10 */ u16 field_0x10;
/* 0x12 */ u16 field_0x12;
@@ -475,17 +477,12 @@ public:
/* 0x40 */ J3DAnmColorFullTable* mInfoTable;
};
template <typename T>
inline f32 J2DHermiteInterpolation(f32, T*, T*, T*, T*, T*, T*);
template <>
inline f32 J2DHermiteInterpolation<f32>(f32 f1, f32* f2, f32* f3, f32* f4, f32* f5, f32* f6,
f32* f7) {
inline f32 J2DHermiteInterpolation(f32 f1, const f32* f2, const f32* f3, const f32* f4, const f32* f5, const f32* f6,
const f32* f7) {
return JMAHermiteInterpolation(f1, *f2, *f3, *f4, *f5, *f6, *f7);
}
template <>
inline f32 J2DHermiteInterpolation<s16>(__REGISTER f32 pp1, __REGISTER s16* pp2, __REGISTER s16* pp3,
inline f32 J2DHermiteInterpolation(__REGISTER f32 pp1, __REGISTER s16* pp2, __REGISTER s16* pp3,
__REGISTER s16* pp4, __REGISTER s16* pp5, __REGISTER s16* pp6,
__REGISTER s16* pp7) {
#ifdef __MWERKS__
@@ -49,6 +49,8 @@ public:
virtual s32 getGrafType() const { return 0; }
virtual void setLookat() {}
JGeometry::TBox2<f32>* getBounds() { return &mBounds; }
public:
/* 0x04 */ JGeometry::TBox2<f32> mBounds;
/* 0x14 */ JGeometry::TBox2<f32> mScissorBounds;
+1 -1
View File
@@ -13,7 +13,7 @@ struct J2DResReference {
/* 0x00 */ u16 mCount;
/* 0x02 */ u16 mOffsets[1];
s8* getResReference(u16) const;
char* getResReference(u16) const;
char* getName(u16) const;
};
+344 -87
View File
@@ -73,7 +73,7 @@ public:
virtual u32 getType() = 0;
virtual u8 getMaxStage() = 0;
virtual void setTexNo(u32, u16) {}
virtual u32 getTexNo(u32) const { return 0xFFFF; }
virtual u16 getTexNo(u32) const { return 0xFFFF; }
virtual void setFontNo(u16) {}
virtual u16 getFontNo() const { return 0xFFFF; }
virtual void setTevOrder(u32, J2DTevOrder) {}
@@ -127,46 +127,84 @@ public:
virtual void loadTexture(_GXTexMapID, u32);
virtual u32 getType() { return 'TVB1'; }
virtual u8 getMaxStage() { return 1; }
virtual void setTexNo(u32 index, u16 texNo) { mTexNo[index] = texNo; }
virtual u32 getTexNo(u32 index) const { return mTexNo[index]; }
virtual void setTexNo(u32 index, u16 texNo) {
J3D_PANIC(241, index < 1, "Error : range over.");
mTexNo[index] = texNo;
}
virtual u16 getTexNo(u32 index) const {
J3D_PANIC(242, index < 1, "Error : range over.");
return mTexNo[index];
}
virtual void setFontNo(u16 fontNo) { mFontNo = fontNo; }
virtual u16 getFontNo() const { return mFontNo; }
virtual void setTevOrder(u32 index, J2DTevOrder order) {
J3D_PANIC(247, index < 1, "Error : range over.");
mTevOrder[index] = order;
}
virtual J2DTevOrder* getTevOrder(u32 index) { return &mTevOrder[index]; }
virtual J2DTevOrder* getTevOrder(u32 index) {
J3D_PANIC(248, index < 1, "Error : range over.");
return &mTevOrder[index];
}
virtual void setTevColor(u32 index, J2DGXColorS10 color) {
J3D_PANIC(250, index < 4, "Error : range over.");
mTevColor[index] = color;
}
virtual J2DGXColorS10* getTevColor(u32 index) { return &mTevColor[index]; }
virtual J2DGXColorS10* getTevColor(u32 index) {
J3D_PANIC(251, index < 4, "Error : range over.");
return &mTevColor[index];
}
virtual void setTevKColor(u32 index, JUtility::TColor color) {
J3D_PANIC(253, index < 4, "Error : range over.");
mTevKColor[index] = color;
}
virtual JUtility::TColor* getTevKColor(u32 index) { return &mTevKColor[index]; }
virtual void setTevKColorSel(u32 index, u8 sel) { mTevKColorSel[index] = sel; }
virtual u8 getTevKColorSel(u32 index) { return mTevKColorSel[index]; }
virtual void setTevKAlphaSel(u32 index, u8 sel) { mTevKAlphaSel[index] = sel; }
virtual u8 getTevKAlphaSel(u32 index) { return mTevKAlphaSel[index]; }
virtual JUtility::TColor* getTevKColor(u32 index) {
J3D_PANIC(254, index < 4, "Error : range over.");
return &mTevKColor[index];
}
virtual void setTevKColorSel(u32 index, u8 sel) {
J3D_PANIC(256, index < 1, "Error : range over.");
mTevKColorSel[index] = sel;
}
virtual u8 getTevKColorSel(u32 index) {
J3D_PANIC(257, index < 1, "Error : range over.");
return mTevKColorSel[index];
}
virtual void setTevKAlphaSel(u32 index, u8 sel) {
J3D_PANIC(259, index < 1, "Error : range over.");
mTevKAlphaSel[index] = sel;
}
virtual u8 getTevKAlphaSel(u32 index) {
J3D_PANIC(260, index < 1, "Error : range over.");
return mTevKAlphaSel[index];
}
virtual void setTevStageNum(u8 num) {}
virtual u8 getTevStageNum() const { return 1; }
virtual void setTevStage(u32 index, J2DTevStage stage) {
J3D_PANIC(265, index < 1, "Error : range over.");
mTevStage[index] = stage;
}
virtual J2DTevStage* getTevStage(u32 index) { return &mTevStage[index]; }
virtual J2DTevStage* getTevStage(u32 index) {
J3D_PANIC(266, index < 1, "Error : range over.");
return &mTevStage[index];
}
virtual void setTevSwapModeInfo(u32 index, J2DTevSwapModeInfo info) {
J3D_PANIC(268, index < 1, "Error : range over.");
mTevStage[index].setTevSwapModeInfo(info);
}
virtual void setTevSwapModeTable(u32 index, J2DTevSwapModeTable table) {
J3D_PANIC(270, index < 4, "Error : range over.");
mTevSwapModeTable[index] = table;
}
virtual J2DTevSwapModeTable* getTevSwapModeTable(u32 index) {
J3D_PANIC(271, index < 4, "Error : range over.");
return &mTevSwapModeTable[index];
}
virtual void setIndTevStage(u32 index, J2DIndTevStage stage) {
J3D_PANIC(273, index < 1, "Error : range over.");
mIndTevStage[index] = stage;
}
virtual J2DIndTevStage* getIndTevStage(u32 index) {
J3D_PANIC(274, index < 1, "Error : range over.");
return &mIndTevStage[index];
}
virtual bool insertTexture(u32 index, ResTIMG const* p_timg) {
@@ -182,14 +220,20 @@ public:
virtual bool setPalette(u32, ResTLUT const*);
virtual bool prepareTexture(u8);
virtual JUTTexture* getTexture(u32 index) {
return index >= 1 ? NULL : mTexture[index];
if (index >= 1) {
return NULL;
}
return mTexture[index];
}
virtual JUTPalette* getPalette(u32 index) {
return index >= 1 ? NULL : mPalette[index];
if (index >= 1) {
return NULL;
}
return mPalette[index];
}
virtual JUTFont* getFont() { return mFont; }
virtual void shiftDeleteFlag(u8, bool);
virtual void setUndeleteFlag(u8 flag) { mUndeleteFlag &= flag; }
virtual void setUndeleteFlag(u8 flag) { mUndeleteFlag = mUndeleteFlag & flag; }
virtual void setFontUndeleteFlag() { mUndeleteFlag &= 0x7F; }
virtual ~J2DTevBlock1();
@@ -223,46 +267,84 @@ public:
virtual void loadTexture(_GXTexMapID, u32);
virtual u32 getType() { return 'TVB2'; }
virtual u8 getMaxStage() { return 2; }
virtual void setTexNo(u32 index, u16 texNo) { mTexNo[index] = texNo; }
virtual u32 getTexNo(u32 index) const { return mTexNo[index]; }
virtual void setTexNo(u32 index, u16 texNo) {
J3D_PANIC(351, index < 2, "Error : range over.");
mTexNo[index] = texNo;
}
virtual u16 getTexNo(u32 index) const {
J3D_PANIC(352, index < 2, "Error : range over.");
return mTexNo[index];
}
virtual void setFontNo(u16 fontNo) { mFontNo = fontNo; }
virtual u16 getFontNo() const { return mFontNo; }
virtual void setTevOrder(u32 index, J2DTevOrder order) {
J3D_PANIC(357, index < 2, "Error : range over.");
mTevOrder[index] = order;
}
virtual J2DTevOrder* getTevOrder(u32 index) { return &mTevOrder[index]; }
virtual J2DTevOrder* getTevOrder(u32 index) {
J3D_PANIC(358, index < 2, "Error : range over.");
return &mTevOrder[index];
}
virtual void setTevColor(u32 index, J2DGXColorS10 color) {
J3D_PANIC(360, index < 4, "Error : range over.");
mTevColor[index] = color;
}
virtual J2DGXColorS10* getTevColor(u32 index) { return &mTevColor[index]; }
virtual J2DGXColorS10* getTevColor(u32 index) {
J3D_PANIC(361, index < 4, "Error : range over.");
return &mTevColor[index];
}
virtual void setTevKColor(u32 index, JUtility::TColor color) {
J3D_PANIC(363, index < 4, "Error : range over.");
mTevKColor[index] = color;
}
virtual JUtility::TColor* getTevKColor(u32 index) { return &mTevKColor[index]; }
virtual void setTevKColorSel(u32 index, u8 sel) { mTevKColorSel[index] = sel; }
virtual u8 getTevKColorSel(u32 index) { return mTevKColorSel[index]; }
virtual void setTevKAlphaSel(u32 index, u8 sel) { mTevKAlphaSel[index] = sel; }
virtual u8 getTevKAlphaSel(u32 index) { return mTevKAlphaSel[index]; }
virtual JUtility::TColor* getTevKColor(u32 index) {
J3D_PANIC(364, index < 4, "Error : range over.");
return &mTevKColor[index];
}
virtual void setTevKColorSel(u32 index, u8 sel) {
J3D_PANIC(366, index < 2, "Error : range over.");
mTevKColorSel[index] = sel;
}
virtual u8 getTevKColorSel(u32 index) {
J3D_PANIC(367, index < 2, "Error : range over.");
return mTevKColorSel[index];
}
virtual void setTevKAlphaSel(u32 index, u8 sel) {
J3D_PANIC(369, index < 2, "Error : range over.");
mTevKAlphaSel[index] = sel;
}
virtual u8 getTevKAlphaSel(u32 index) {
J3D_PANIC(370, index < 2, "Error : range over.");
return mTevKAlphaSel[index];
}
virtual void setTevStageNum(u8 num) { mTevStageNum = num; }
virtual u8 getTevStageNum() const { return mTevStageNum; }
virtual void setTevStage(u32 index, J2DTevStage stage) {
J3D_PANIC(375, index < 2, "Error : range over.");
mTevStage[index] = stage;
}
virtual J2DTevStage* getTevStage(u32 index) { return &mTevStage[index]; }
virtual J2DTevStage* getTevStage(u32 index) {
J3D_PANIC(376, index < 2, "Error : range over.");
return &mTevStage[index];
}
virtual void setTevSwapModeInfo(u32 index, J2DTevSwapModeInfo info) {
J3D_PANIC(378, index < 2, "Error : range over.");
mTevStage[index].setTevSwapModeInfo(info);
}
virtual void setTevSwapModeTable(u32 index, J2DTevSwapModeTable table) {
J3D_PANIC(380, index < 4, "Error : range over.");
mTevSwapModeTable[index] = table;
}
virtual J2DTevSwapModeTable* getTevSwapModeTable(u32 index) {
J3D_PANIC(381, index < 4, "Error : range over.");
return &mTevSwapModeTable[index];
}
virtual void setIndTevStage(u32 index, J2DIndTevStage stage) {
J3D_PANIC(383, index < 2, "Error : range over.");
mIndTevStage[index] = stage;
}
virtual J2DIndTevStage* getIndTevStage(u32 index) {
J3D_PANIC(384, index < 2, "Error : range over.");
return &mIndTevStage[index];
}
virtual bool insertTexture(u32 index, ResTIMG const* p_timg) {
@@ -278,14 +360,20 @@ public:
virtual bool setPalette(u32, ResTLUT const*);
virtual bool prepareTexture(u8);
virtual JUTTexture* getTexture(u32 index) {
return index >= 2 ? NULL : mTexture[index];
if (index >= 2) {
return NULL;
}
return mTexture[index];
}
virtual JUTPalette* getPalette(u32 index) {
return index >= 2 ? NULL : mPalette[index];
if (index >= 2) {
return NULL;
}
return mPalette[index];
}
virtual JUTFont* getFont() { return mFont; }
virtual void shiftDeleteFlag(u8, bool);
virtual void setUndeleteFlag(u8 flag) { mUndeleteFlag &= flag; }
virtual void setUndeleteFlag(u8 flag) { mUndeleteFlag = mUndeleteFlag & flag; }
virtual void setFontUndeleteFlag() { mUndeleteFlag &= 0x7F; }
virtual ~J2DTevBlock2();
@@ -321,46 +409,84 @@ public:
virtual void loadTexture(_GXTexMapID, u32);
virtual u32 getType() { return 'TVB4'; }
virtual u8 getMaxStage() { return 4; }
virtual void setTexNo(u32 index, u16 texNo) { mTexNo[index] = texNo; }
virtual u32 getTexNo(u32 index) const { return mTexNo[index]; }
virtual void setTexNo(u32 index, u16 texNo) {
J3D_PANIC(459, index < 4, "Error : range over.");
mTexNo[index] = texNo;
}
virtual u16 getTexNo(u32 index) const {
J3D_PANIC(460, index < 4, "Error : range over.");
return mTexNo[index];
}
virtual void setFontNo(u16 fontNo) { mFontNo = fontNo; }
virtual u16 getFontNo() const { return mFontNo; }
virtual void setTevOrder(u32 index, J2DTevOrder order) {
J3D_PANIC(465, index < 4, "Error : range over.");
mTevOrder[index] = order;
}
virtual J2DTevOrder* getTevOrder(u32 index) { return &mTevOrder[index]; }
virtual J2DTevOrder* getTevOrder(u32 index) {
J3D_PANIC(466, index < 4, "Error : range over.");
return &mTevOrder[index];
}
virtual void setTevColor(u32 index, J2DGXColorS10 color) {
J3D_PANIC(468, index < 4, "Error : range over.");
mTevColor[index] = color;
}
virtual J2DGXColorS10* getTevColor(u32 index) { return &mTevColor[index]; }
virtual J2DGXColorS10* getTevColor(u32 index) {
J3D_PANIC(469, index < 4, "Error : range over.");
return &mTevColor[index];
}
virtual void setTevKColor(u32 index, JUtility::TColor color) {
J3D_PANIC(471, index < 4, "Error : range over.");
mTevKColor[index] = color;
}
virtual JUtility::TColor* getTevKColor(u32 index) { return &mTevKColor[index]; }
virtual void setTevKColorSel(u32 index, u8 sel) { mTevKColorSel[index] = sel; }
virtual u8 getTevKColorSel(u32 index) { return mTevKColorSel[index]; }
virtual void setTevKAlphaSel(u32 index, u8 sel) { mTevKAlphaSel[index] = sel; }
virtual u8 getTevKAlphaSel(u32 index) { return mTevKAlphaSel[index]; }
virtual JUtility::TColor* getTevKColor(u32 index) {
J3D_PANIC(472, index < 4, "Error : range over.");
return &mTevKColor[index];
}
virtual void setTevKColorSel(u32 index, u8 sel) {
J3D_PANIC(474, index < 4, "Error : range over.");
mTevKColorSel[index] = sel;
}
virtual u8 getTevKColorSel(u32 index) {
J3D_PANIC(475, index < 4, "Error : range over.");
return mTevKColorSel[index];
}
virtual void setTevKAlphaSel(u32 index, u8 sel) {
J3D_PANIC(477, index < 4, "Error : range over.");
mTevKAlphaSel[index] = sel;
}
virtual u8 getTevKAlphaSel(u32 index) {
J3D_PANIC(478, index < 4, "Error : range over.");
return mTevKAlphaSel[index];
}
virtual void setTevStageNum(u8 num) { mTevStageNum = num; }
virtual u8 getTevStageNum() const { return mTevStageNum; }
virtual void setTevStage(u32 index, J2DTevStage stage) {
J3D_PANIC(483, index < 4, "Error : range over.");
mTevStage[index] = stage;
}
virtual J2DTevStage* getTevStage(u32 index) { return &mTevStage[index]; }
virtual J2DTevStage* getTevStage(u32 index) {
J3D_PANIC(484, index < 4, "Error : range over.");
return &mTevStage[index];
}
virtual void setTevSwapModeInfo(u32 index, J2DTevSwapModeInfo info) {
J3D_PANIC(486, index < 4, "Error : range over.");
mTevStage[index].setTevSwapModeInfo(info);
}
virtual void setTevSwapModeTable(u32 index, J2DTevSwapModeTable table) {
J3D_PANIC(488, index < 4, "Error : range over.");
mTevSwapModeTable[index] = table;
}
virtual J2DTevSwapModeTable* getTevSwapModeTable(u32 index) {
J3D_PANIC(489, index < 4, "Error : range over.");
return &mTevSwapModeTable[index];
}
virtual void setIndTevStage(u32 index, J2DIndTevStage stage) {
J3D_PANIC(491, index < 4, "Error : range over.");
mIndTevStage[index] = stage;
}
virtual J2DIndTevStage* getIndTevStage(u32 index) {
J3D_PANIC(492, index < 4, "Error : range over.");
return &mIndTevStage[index];
}
virtual bool insertTexture(u32 index, ResTIMG const* p_timg) {
@@ -376,14 +502,20 @@ public:
virtual bool setPalette(u32, ResTLUT const*);
virtual bool prepareTexture(u8);
virtual JUTTexture* getTexture(u32 index) {
return index >= 4 ? NULL : mTexture[index];
if (index >= 4) {
return NULL;
}
return mTexture[index];
}
virtual JUTPalette* getPalette(u32 index) {
return index >= 4 ? NULL : mPalette[index];
if (index >= 4) {
return NULL;
}
return mPalette[index];
}
virtual JUTFont* getFont() { return mFont; }
virtual void shiftDeleteFlag(u8, bool);
virtual void setUndeleteFlag(u8 flag) { mUndeleteFlag &= flag; }
virtual void setUndeleteFlag(u8 flag) { mUndeleteFlag = mUndeleteFlag & flag; }
virtual void setFontUndeleteFlag() { mUndeleteFlag &= 0x7F; }
virtual ~J2DTevBlock4();
@@ -419,46 +551,84 @@ public:
virtual void loadTexture(_GXTexMapID, u32);
virtual u32 getType() { return 'TVB8'; }
virtual u8 getMaxStage() { return 8; }
virtual void setTexNo(u32 index, u16 texNo) { mTexNo[index] = texNo; }
virtual u32 getTexNo(u32 index) const { return mTexNo[index]; }
virtual void setTexNo(u32 index, u16 texNo) {
J3D_PANIC(570, index < 8, "Error : range over.");
mTexNo[index] = texNo;
}
virtual u16 getTexNo(u32 index) const {
J3D_PANIC(571, index < 8, "Error : range over.");
return mTexNo[index];
}
virtual void setFontNo(u16 fontNo) { mFontNo = fontNo; }
virtual u16 getFontNo() const { return mFontNo; }
virtual void setTevOrder(u32 index, J2DTevOrder order) {
J3D_PANIC(576, index < 8, "Error : range over.");
mTevOrder[index] = order;
}
virtual J2DTevOrder* getTevOrder(u32 index) { return &mTevOrder[index]; }
virtual J2DTevOrder* getTevOrder(u32 index) {
J3D_PANIC(577, index < 8, "Error : range over.");
return &mTevOrder[index];
}
virtual void setTevColor(u32 index, J2DGXColorS10 color) {
J3D_PANIC(579, index < 4, "Error : range over.");
mTevColor[index] = color;
}
virtual J2DGXColorS10* getTevColor(u32 index) { return &mTevColor[index]; }
virtual J2DGXColorS10* getTevColor(u32 index) {
J3D_PANIC(580, index < 4, "Error : range over.");
return &mTevColor[index];
}
virtual void setTevKColor(u32 index, JUtility::TColor color) {
J3D_PANIC(582, index < 4, "Error : range over.");
mTevKColor[index] = color;
}
virtual JUtility::TColor* getTevKColor(u32 index) { return &mTevKColor[index]; }
virtual void setTevKColorSel(u32 index, u8 sel) { mTevKColorSel[index] = sel; }
virtual u8 getTevKColorSel(u32 index) { return mTevKColorSel[index]; }
virtual void setTevKAlphaSel(u32 index, u8 sel) { mTevKAlphaSel[index] = sel; }
virtual u8 getTevKAlphaSel(u32 index) { return mTevKAlphaSel[index]; }
virtual JUtility::TColor* getTevKColor(u32 index) {
J3D_PANIC(583, index < 4, "Error : range over.");
return &mTevKColor[index];
}
virtual void setTevKColorSel(u32 index, u8 sel) {
J3D_PANIC(585, index < 8, "Error : range over.");
mTevKColorSel[index] = sel;
}
virtual u8 getTevKColorSel(u32 index) {
J3D_PANIC(586, index < 8, "Error : range over.");
return mTevKColorSel[index];
}
virtual void setTevKAlphaSel(u32 index, u8 sel) {
J3D_PANIC(588, index < 8, "Error : range over.");
mTevKAlphaSel[index] = sel;
}
virtual u8 getTevKAlphaSel(u32 index) {
J3D_PANIC(589, index < 8, "Error : range over.");
return mTevKAlphaSel[index];
}
virtual void setTevStageNum(u8 num) { mTevStageNum = num; }
virtual u8 getTevStageNum() const { return mTevStageNum; }
virtual void setTevStage(u32 index, J2DTevStage stage) {
J3D_PANIC(594, index < 8, "Error : range over.");
mTevStage[index] = stage;
}
virtual J2DTevStage* getTevStage(u32 index) { return &mTevStage[index]; }
virtual J2DTevStage* getTevStage(u32 index) {
J3D_PANIC(595, index < 8, "Error : range over.");
return &mTevStage[index];
}
virtual void setTevSwapModeInfo(u32 index, J2DTevSwapModeInfo info) {
J3D_PANIC(597, index < 8, "Error : range over.");
mTevStage[index].setTevSwapModeInfo(info);
}
virtual void setTevSwapModeTable(u32 index, J2DTevSwapModeTable table) {
J3D_PANIC(599, index < 4, "Error : range over.");
mTevSwapModeTable[index] = table;
}
virtual J2DTevSwapModeTable* getTevSwapModeTable(u32 index) {
J3D_PANIC(600, index < 4, "Error : range over.");
return &mTevSwapModeTable[index];
}
virtual void setIndTevStage(u32 index, J2DIndTevStage stage) {
J3D_PANIC(602, index < 8, "Error : range over.");
mIndTevStage[index] = stage;
}
virtual J2DIndTevStage* getIndTevStage(u32 index) {
J3D_PANIC(603, index < 8, "Error : range over.");
return &mIndTevStage[index];
}
virtual bool insertTexture(u32 index, ResTIMG const* p_timg) {
@@ -474,14 +644,20 @@ public:
virtual bool setPalette(u32, ResTLUT const*);
virtual bool prepareTexture(u8);
virtual JUTTexture* getTexture(u32 index) {
return index >= 8 ? NULL : mTexture[index];
if (index >= 8) {
return NULL;
}
return mTexture[index];
}
virtual JUTPalette* getPalette(u32 index) {
return index >= 8 ? NULL : mPalette[index];
if (index >= 8) {
return NULL;
}
return mPalette[index];
}
virtual JUTFont* getFont() { return mFont; }
virtual void shiftDeleteFlag(u8, bool);
virtual void setUndeleteFlag(u8 flag) { mUndeleteFlag &= flag; }
virtual void setUndeleteFlag(u8 flag) { mUndeleteFlag = mUndeleteFlag & flag; }
virtual void setFontUndeleteFlag() { mFontUndeleteFlag = false; }
virtual ~J2DTevBlock8();
@@ -518,46 +694,84 @@ public:
virtual void loadTexture(_GXTexMapID, u32);
virtual u32 getType() { return 'TV16'; }
virtual u8 getMaxStage() { return 16; }
virtual void setTexNo(u32 index, u16 texNo) { mTexNo[index] = texNo; }
virtual u32 getTexNo(u32 index) const { return mTexNo[index]; }
virtual void setTexNo(u32 index, u16 texNo) {
J3D_PANIC(682, index < 8, "Error : range over.");
mTexNo[index] = texNo;
}
virtual u16 getTexNo(u32 index) const {
J3D_PANIC(683, index < 8, "Error : range over.");
return mTexNo[index];
}
virtual void setFontNo(u16 fontNo) { mFontNo = fontNo; }
virtual u16 getFontNo() const { return mFontNo; }
virtual void setTevOrder(u32 index, J2DTevOrder order) {
J3D_PANIC(688, index < 16, "Error : range over.");
mTevOrder[index] = order;
}
virtual J2DTevOrder* getTevOrder(u32 index) { return &mTevOrder[index]; }
virtual J2DTevOrder* getTevOrder(u32 index) {
J3D_PANIC(689, index < 16, "Error : range over.");
return &mTevOrder[index];
}
virtual void setTevColor(u32 index, J2DGXColorS10 color) {
J3D_PANIC(691, index < 4, "Error : range over.");
mTevColor[index] = color;
}
virtual J2DGXColorS10* getTevColor(u32 index) { return &mTevColor[index]; }
virtual J2DGXColorS10* getTevColor(u32 index) {
J3D_PANIC(692, index < 4, "Error : range over.");
return &mTevColor[index];
}
virtual void setTevKColor(u32 index, JUtility::TColor color) {
J3D_PANIC(694, index < 4, "Error : range over.");
mTevKColor[index] = color;
}
virtual JUtility::TColor* getTevKColor(u32 index) { return &mTevKColor[index]; }
virtual void setTevKColorSel(u32 index, u8 sel) { mTevKColorSel[index] = sel; }
virtual u8 getTevKColorSel(u32 index) { return mTevKColorSel[index]; }
virtual void setTevKAlphaSel(u32 index, u8 sel) { mTevKAlphaSel[index] = sel; }
virtual u8 getTevKAlphaSel(u32 index) { return mTevKAlphaSel[index]; }
virtual JUtility::TColor* getTevKColor(u32 index) {
J3D_PANIC(695, index < 4, "Error : range over.");
return &mTevKColor[index];
}
virtual void setTevKColorSel(u32 index, u8 sel) {
J3D_PANIC(697, index < 16, "Error : range over.");
mTevKColorSel[index] = sel;
}
virtual u8 getTevKColorSel(u32 index) {
J3D_PANIC(698, index < 16, "Error : range over.");
return mTevKColorSel[index];
}
virtual void setTevKAlphaSel(u32 index, u8 sel) {
J3D_PANIC(700, index < 16, "Error : range over.");
mTevKAlphaSel[index] = sel;
}
virtual u8 getTevKAlphaSel(u32 index) {
J3D_PANIC(701, index < 16, "Error : range over.");
return mTevKAlphaSel[index];
}
virtual void setTevStageNum(u8 num) { mTevStageNum = num; }
virtual u8 getTevStageNum() const { return mTevStageNum; }
virtual void setTevStage(u32 index, J2DTevStage stage) {
J3D_PANIC(706, index < 16, "Error : range over.");
mTevStage[index] = stage;
}
virtual J2DTevStage* getTevStage(u32 index) { return &mTevStage[index]; }
virtual J2DTevStage* getTevStage(u32 index) {
J3D_PANIC(707, index < 16, "Error : range over.");
return &mTevStage[index];
}
virtual void setTevSwapModeInfo(u32 index, J2DTevSwapModeInfo info) {
J3D_PANIC(709, index < 16, "Error : range over.");
mTevStage[index].setTevSwapModeInfo(info);
}
virtual void setTevSwapModeTable(u32 index, J2DTevSwapModeTable table) {
J3D_PANIC(711, index < 4, "Error : range over.");
mTevSwapModeTable[index] = table;
}
virtual J2DTevSwapModeTable* getTevSwapModeTable(u32 index) {
J3D_PANIC(712, index < 4, "Error : range over.");
return &mTevSwapModeTable[index];
}
virtual void setIndTevStage(u32 index, J2DIndTevStage stage) {
J3D_PANIC(714, index < 16, "Error : range over.");
mIndTevStage[index] = stage;
}
virtual J2DIndTevStage* getIndTevStage(u32 index) {
J3D_PANIC(715, index < 16, "Error : range over.");
return &mIndTevStage[index];
}
virtual bool insertTexture(u32 index, ResTIMG const* p_timg) {
@@ -573,14 +787,20 @@ public:
virtual bool setPalette(u32, ResTLUT const*);
virtual bool prepareTexture(u8);
virtual JUTTexture* getTexture(u32 index) {
return index >= 8 ? NULL : mTexture[index];
if (index >= 8) {
return NULL;
}
return mTexture[index];
}
virtual JUTPalette* getPalette(u32 index) {
return index >= 8 ? NULL : mPalette[index];
if (index >= 8) {
return NULL;
}
return mPalette[index];
}
virtual JUTFont* getFont() { return mFont; }
virtual void shiftDeleteFlag(u8, bool);
virtual void setUndeleteFlag(u8 flag) { mUndeleteFlag &= flag; }
virtual void setUndeleteFlag(u8 flag) { mUndeleteFlag = mUndeleteFlag & flag; }
virtual void setFontUndeleteFlag() { mFontUndeleteFlag = false; }
virtual ~J2DTevBlock16();
@@ -619,8 +839,8 @@ struct J2DAlphaCompInfo {
/* 0x7 */ u8 field_0x7;
};
inline u16 J2DCalcAlphaCmp(s32 param_1, u32 param_2, u32 param_3) {
return ((param_1) << 5) | ((param_2 & 0xff) << 3) | (param_3 & 0xff);
inline u16 J2DCalcAlphaCmp(u8 param_1, u8 param_2, u8 param_3) {
return (param_1 << 5) | (param_2 << 3) | param_3;
}
/**
@@ -643,11 +863,11 @@ struct J2DAlphaComp {
mRef0 = other.mRef0;
mRef1 = other.mRef1;
}
u8 getComp0() { return mAlphaCmp >> 5 & 7; }
u8 getRef0() { return mRef0; }
u8 getOp() { return mAlphaCmp >> 3 & 3; }
u8 getComp1() { return mAlphaCmp & 7; }
u8 getRef1() { return mRef1; }
u8 getComp0() const { return mAlphaCmp >> 5 & 7; }
u8 getRef0() const { return mRef0; }
u8 getOp() const { return mAlphaCmp >> 3 & 3; }
u8 getComp1() const { return mAlphaCmp & 7; }
u8 getRef1() const { return mRef1; }
/* 0x0 */ u16 mAlphaCmp;
/* 0x2 */ u8 mRef0;
@@ -682,10 +902,10 @@ struct J2DBlend {
J2DBlend() { mBlendInfo = j2dDefaultBlendInfo; }
J2DBlend(const J2DBlendInfo& info) { mBlendInfo = info; }
void setBlendInfo(const J2DBlendInfo& info) { mBlendInfo = info; }
u8 getType() { return mBlendInfo.mType; }
u8 getSrcFactor() { return mBlendInfo.mSrcFactor; }
u8 getDstFactor() { return mBlendInfo.mDstFactor; }
u8 getOp() { return mBlendInfo.mOp; }
u8 getType() const { return mBlendInfo.mType; }
u8 getSrcFactor() const { return mBlendInfo.mSrcFactor; }
u8 getDstFactor() const { return mBlendInfo.mDstFactor; }
u8 getOp() const { return mBlendInfo.mOp; }
/* 0x0 */ J2DBlendInfo mBlendInfo;
};
@@ -697,6 +917,7 @@ struct J2DBlend {
class J2DPEBlock {
public:
J2DPEBlock() { initialize(); }
~J2DPEBlock() {}
void initialize();
void setGX();
@@ -744,19 +965,27 @@ public:
virtual void setIndTexStageNum(u8 num) { mIndTexStageNum = num; }
virtual u8 getIndTexStageNum() const { return mIndTexStageNum; }
virtual void setIndTexOrder(u32 index, J2DIndTexOrder order) {
J3D_PANIC(856, index < 4, "Error : range over.");
mIndTexOrder[index] = order;
}
virtual J2DIndTexOrder* getIndTexOrder(u32 index) {
J3D_PANIC(857, index < 4, "Error : range over.");
return &mIndTexOrder[index];
}
virtual void setIndTexMtx(u32 index, J2DIndTexMtx mtx) {
J3D_PANIC(859, index < 3, "Error : range over.");
mIndTexMtx[index] = mtx;
}
virtual J2DIndTexMtx* getIndTexMtx(u32 index) { return &mIndTexMtx[index]; }
virtual J2DIndTexMtx* getIndTexMtx(u32 index) {
J3D_PANIC(860, index < 3, "Error : range over.");
return &mIndTexMtx[index];
}
virtual void setIndTexCoordScale(u32 index, J2DIndTexCoordScale scale) {
J3D_PANIC(862, index < 4, "Error : range over.");
mTexCoordScale[index] = scale;
}
virtual J2DIndTexCoordScale* getIndTexCoordScale(u32 index) {
J3D_PANIC(863, index < 4, "Error : range over.");
return &mTexCoordScale[index];
}
virtual ~J2DIndBlockFull() {}
@@ -801,11 +1030,27 @@ public:
u32 getTexGenNum() const { return mTexGenNum; }
void setTexGenNum(u32 num) { mTexGenNum = num; }
void setTexCoord(u32 i, J2DTexCoord coord) { mTexGenCoord[i] = coord; }
void setTexCoord(u32 i, const J2DTexCoord* coord) { mTexGenCoord[i] = *coord; }
void setTexMtx(u32 i, J2DTexMtx* mtx) { mTexMtx[i] = mtx; }
J2DTexMtx& getTexMtx(u32 i) { return *mTexMtx[i]; }
J2DTexCoord& getTexCoord(u32 i) { return mTexGenCoord[i]; }
void setTexCoord(u32 i, J2DTexCoord coord) {
J3D_PANIC(101, i < 8, "Error : range over.");
mTexGenCoord[i] = coord;
}
void setTexCoord(u32 i, const J2DTexCoord* coord) {
J3D_PANIC(98, i < 8, "Error : range over.");
J3D_PANIC(99, coord, "Error : null pointer.");
mTexGenCoord[i] = *coord;
}
void setTexMtx(u32 i, J2DTexMtx* mtx) {
J3D_PANIC(120, i < 8, "Error : range over.");
mTexMtx[i] = mtx;
}
J2DTexMtx& getTexMtx(u32 i) {
J3D_PANIC(108, i < 8, "Error : range over.");
return *mTexMtx[i];
}
J2DTexCoord& getTexCoord(u32 i) {
J3D_PANIC(102, i < 8, "Error : range over.");
return mTexGenCoord[i];
}
virtual ~J2DTexGenBlock();
}; // Size: 0x48
@@ -829,12 +1074,24 @@ public:
virtual ~J2DColorBlock() {}
JUtility::TColor* getMatColor(u32 i) { return &mMatColor[i]; }
J2DColorChan* getColorChan(u32 i) { return &mColorChan[i]; }
JUtility::TColor* getMatColor(u32 i) {
J3D_PANIC(49, i < 2, "Error : range over.");
return &mMatColor[i];
}
J2DColorChan* getColorChan(u32 i) {
J3D_PANIC(55, i < 4, "Error : range over.");
return &mColorChan[i];
}
void setCullMode(u8 mode) { mCullMode = mode; }
void setColorChanNum(u8 num) { mColorChanNum = num; }
void setMatColor(u32 i, JUtility::TColor color) { mMatColor[i] = color; }
void setColorChan(u32 i, const J2DColorChan& color) { mColorChan[i] = color; }
void setMatColor(u32 i, JUtility::TColor color) {
J3D_PANIC(48, i < 2, "Error : range over.");
mMatColor[i] = color;
}
void setColorChan(u32 i, const J2DColorChan& color) {
J3D_PANIC(54, i < 4, "Error : range over.");
mColorChan[i] = color;
}
};
#endif /* J2DMATBLOCK_H */
@@ -133,7 +133,7 @@ public:
J2DBlend newBlend(int) const;
u8 newDither(int) const;
u32 getMaterialMode(int idx) const {
u8 getMaterialMode(int idx) const {
return field_0x4[field_0x8[idx]].field_0x0;
}
+1
View File
@@ -22,6 +22,7 @@ public:
f32 getWidthPower() { return mBounds.getWidth() / mOrtho.getWidth(); }
f32 getHeightPower() { return mBounds.getHeight() / mOrtho.getHeight(); }
const JGeometry::TBox2<f32>* getOrtho() const { return &mOrtho; }
void setOrtho(f32 x, f32 y, f32 width, f32 height, f32 far, f32 near) {
JGeometry::TBox2<f32> ortho(x, y, x + width, y + height);
setOrtho(ortho, far, near);
+26 -8
View File
@@ -84,20 +84,33 @@ public:
/* vt 0x10 */ virtual void move(f32 x, f32 y);
/* vt 0x14 */ virtual void add(f32 x, f32 y);
/* vt 0x18 */ virtual void resize(f32 x, f32 y);
/* vt 0x1C */ virtual void setCullBack(bool cull);
/* vt 0x1C */ virtual void setCullBack(bool cull) {
GXCullMode mode;
if (cull) {
mode = GX_CULL_BACK;
} else {
mode = GX_CULL_NONE;
}
setCullBack(mode);
}
/* vt 0x20 */ virtual void setCullBack(_GXCullMode cmode);
/* vt 0x24 */ virtual void setAlpha(u8 alpha) {
mAlpha = alpha;
};
/* vt 0x28 */ virtual bool setConnectParent(bool connected);
/* vt 0x28 */ virtual bool setConnectParent(bool connected) {
mConnected = false;
return false;
}
/* vt 0x2C */ virtual void calcMtx() {
if (mPaneTree.getParent() != NULL) {
makeMatrix(mTranslateX, mTranslateY);
}
}
/* vt 0x30 */ virtual void update();
/* vt 0x34 */ virtual void drawSelf(f32 arg1, f32 arg2);
/* vt 0x38 */ virtual void drawSelf(f32 arg1, f32 arg2, Mtx* mtx);
/* vt 0x30 */ virtual void update() {}
/* vt 0x34 */ virtual void drawSelf(f32 arg1, f32 arg2) {}
/* vt 0x38 */ virtual void drawSelf(f32 arg1, f32 arg2, Mtx* mtx) {}
/* vt 0x3C */ virtual J2DPane* search(u64 tag);
/* vt 0x40 */ virtual J2DPane* searchUserInfo(u64 tag);
/* vt 0x44 */ virtual void makeMatrix(f32 a, f32 b) {
@@ -107,7 +120,7 @@ public:
/* vt 0x4C */ virtual bool isUsed(const ResTIMG* timg);
/* vt 0x50 */ virtual bool isUsed(const ResFONT* font);
/* vt 0x54 */ virtual void clearAnmTransform();
/* vt 0x58 */ virtual void rewriteAlpha();
/* vt 0x58 */ virtual void rewriteAlpha() {}
/* vt 0x5C */ virtual void setAnimation(J2DAnmBase* anm);
/* vt 0x60 */ virtual void setAnimation(J2DAnmTransform* anm);
/* vt 0x64 */ virtual void setAnimation(J2DAnmColor* anm) {}
@@ -118,9 +131,13 @@ public:
/* vt 0x78 */ virtual void setAnimation(J2DAnmVtxColor* anm) {}
/* vt 0x7C */ virtual const J2DAnmTransform* animationTransform(const J2DAnmTransform* transform);
/* vt 0x80 */ virtual void setVisibileAnimation(J2DAnmVisibilityFull* visibility);
/* vt 0x84 */ virtual void setAnimationVF(J2DAnmVisibilityFull* visibility);
/* vt 0x84 */ virtual void setAnimationVF(J2DAnmVisibilityFull* p_visibility) {
setAnimation(p_visibility);
}
/* vt 0x88 */ virtual void setVtxColorAnimation(J2DAnmVtxColor* vtx_color);
/* vt 0x8C */ virtual void setAnimationVC(J2DAnmVtxColor* vtx_color);
/* vt 0x8C */ virtual void setAnimationVC(J2DAnmVtxColor* p_vtxColor) {
setAnimation(p_vtxColor);
}
/* vt 0x90 */ virtual const J2DAnmTransform* animationPane(const J2DAnmTransform* transform);
f32 getHeight() const { return mBounds.getHeight(); }
@@ -174,6 +191,7 @@ public:
void show() { mVisible = true; }
void hide() { mVisible = false; }
bool isInfluencedAlpha() const { return mIsInfluencedAlpha; }
bool isConnectParent() const { return mConnected; }
u64 getUserInfo() const { return mUserInfoTag; }
+4
View File
@@ -17,6 +17,7 @@ enum J2DMirror {
};
enum J2DBinding {
/* 0 */ J2DBind_None = 0,
/* 1 */ J2DBind_Bottom = (1 << 0),
/* 2 */ J2DBind_Top = (1 << 1),
/* 4 */ J2DBind_Right = (1 << 2),
@@ -189,6 +190,9 @@ public:
void initinfo();
void setTevMode();
static void swap(f32&, f32&);
J2DBinding getBinding() const;
void setMirror(J2DMirror);
bool isTumble() const;
void setBlendKonstColor();
void setBlendKonstAlpha();
void getNewColor(JUtility::TColor*);
+1 -1
View File
@@ -2,7 +2,7 @@
#define J2DPRINT_H
#include "JSystem/J2DGraph/J2DTextBox.h"
#include <stdarg>
#include <cstdarg>
class JUTFont;
class J2DPrint;
+8 -1
View File
@@ -103,6 +103,7 @@ public:
mInfo = info;
return *this;
}
void setIndTexOrderInfo(const J2DIndTexOrderInfo& info) { mInfo = info; }
void load(u8);
private:
@@ -147,6 +148,7 @@ public:
mIndTexMtxInfo = info;
return *this;
}
void setIndTexMtxInfo(const J2DIndTexMtxInfo& info) { mIndTexMtxInfo = info; }
void load(u8);
void load(u32);
void calc();
@@ -191,6 +193,7 @@ public:
mInfo = info;
return *this;
}
void setIndTexCoordScaleInfo(const J2DIndTexCoordScaleInfo& info) { mInfo = info; }
void load(u8);
private:
@@ -426,7 +429,7 @@ public:
}
void setTexSel(u8 param_0) {
field_0x7 = (field_0x7 & ~0x0c) | (param_0 * 4);
field_0x7 = (field_0x7 & ~0x0c) | (param_0 << 2);
}
void setRasSel(u8 param_0) {
@@ -632,6 +635,10 @@ public:
u8 getMatSrc() const { return mColorChan & 1; }
void operator=(const J2DColorChan& other) {
mColorChan = other.mColorChan;
}
private:
/* 0x0 */ u16 mColorChan;
};
+32 -21
View File
@@ -61,27 +61,38 @@ public:
void setTevMode(JUTTexture*, JUtility::TColor, JUtility::TColor);
virtual ~J2DWindow();
virtual u16 getTypeID() const;
virtual void resize(f32, f32);
virtual void drawSelf(f32, f32);
virtual void drawSelf(f32, f32, Mtx*);
virtual bool isUsed(ResTIMG const*);
virtual bool isUsed(ResFONT const*);
virtual void rewriteAlpha();
virtual void draw(JGeometry::TBox2<f32> const&);
virtual void draw(JGeometry::TBox2<f32> const&, JGeometry::TBox2<f32> const&);
virtual void draw(f32, f32, f32, f32);
virtual bool setBlack(JUtility::TColor);
virtual bool setWhite(JUtility::TColor);
virtual bool setBlackWhite(JUtility::TColor, JUtility::TColor);
virtual JUtility::TColor getBlack() const;
virtual JUtility::TColor getWhite() const;
virtual JUTTexture* getFrameTexture(u8, u8) const;
virtual JUTTexture* getContentsTexture(u8) const;
virtual void getMaterial(J2DWindow::TMaterial&) const;
virtual J2DMaterial* getFrameMaterial(u8) const;
virtual J2DMaterial* getContentsMaterial() const;
virtual void drawContents(JGeometry::TBox2<f32> const&);
/* vt 0x0C */ virtual u16 getTypeID() const { return 17; }
/* vt 0x18 */ virtual void resize(f32, f32);
/* vt 0x34 */ virtual void drawSelf(f32, f32);
/* vt 0x38 */ virtual void drawSelf(f32, f32, Mtx*);
/* vt 0x94 */ virtual void draw(JGeometry::TBox2<f32> const&);
/* vt 0x98 */ virtual void draw(JGeometry::TBox2<f32> const&, JGeometry::TBox2<f32> const&);
/* vt 0x9C */ virtual void draw(f32 left, f32 top, f32 width, f32 height) { draw(JGeometry::TBox2<f32>(left, top, left + width, top + height)); }
/* vt 0xA0 */ virtual bool setBlack(JUtility::TColor);
/* vt 0xA4 */ virtual bool setWhite(JUtility::TColor);
/* vt 0xA8 */ virtual bool setBlackWhite(JUtility::TColor, JUtility::TColor);
/* vt 0xAC */ virtual JUtility::TColor getBlack() const;
/* vt 0xB0 */ virtual JUtility::TColor getWhite() const;
/* vt 0xB4 */ virtual JUTTexture* getFrameTexture(u8, u8) const;
/* vt 0xB8 */ virtual JUTTexture* getContentsTexture(u8 param_1) const {
if (param_1 != 0) {
return NULL;
}
return field_0x110;
}
/* vt 0xBC */ virtual void getMaterial(J2DWindow::TMaterial& mat) const {
mat.field_0x0 = NULL;
mat.field_0x4 = NULL;
mat.field_0x8 = NULL;
mat.field_0xc = NULL;
mat.field_0x10 = NULL;
}
/* vt 0xC0 */ virtual J2DMaterial* getFrameMaterial(u8) const { return NULL; }
/* vt 0xC4 */ virtual J2DMaterial* getContentsMaterial() const { return NULL; }
/* vt 0xC8 */ virtual void drawContents(JGeometry::TBox2<f32> const&);
/* vt 0x4C */ virtual bool isUsed(const ResTIMG*);
/* vt 0x50 */ virtual bool isUsed(const ResFONT* font) { return J2DPane::isUsed(font); }
/* vt 0x58 */ virtual void rewriteAlpha() {}
bool isField0x145Set(u8 flag) { return field_0x145 & flag; }
+182 -170
View File
@@ -1,6 +1,7 @@
#ifndef J3DANIMATION_H
#define J3DANIMATION_H
#include "JSystem/J3DGraphAnimator/J3DJoint.h"
#include "JSystem/J3DGraphAnimator/J3DModelData.h"
#include "JSystem/JUtility/JUTAssert.h"
#include "JSystem/JUtility/JUTNameTab.h"
@@ -637,37 +638,184 @@ public:
/**
* @ingroup jsystem-j3d
*
*
*/
class J3DAnmTexPattern : public J3DAnmBase {
class J3DAnmCluster : public J3DAnmBase {
public:
J3DAnmTexPattern();
void getTexNo(u16, u16*) const;
void searchUpdateMaterialID(J3DMaterialTable*);
void searchUpdateMaterialID(J3DModelData*);
J3DAnmCluster(s16 frameMax, f32* pWeight) : J3DAnmBase(frameMax) { mWeight = pWeight; }
virtual ~J3DAnmTexPattern() {}
virtual s32 getKind() const { return 2; }
virtual ~J3DAnmCluster() {}
virtual s32 getKind() const { return 3; }
virtual f32 getWeight(u16) const { return 1.0f; }
u16 getUpdateMaterialID(u16 idx) const {
J3D_ASSERT_RANGE(2288, idx < mUpdateMaterialNum);
return mUpdateMaterialID[idx];
/* 0x0C */ f32* mWeight;
}; // Size: 0x10
/**
* @ingroup jsystem-j3d
*
*/
class J3DAnmClusterFull : public J3DAnmCluster {
public:
J3DAnmClusterFull() : J3DAnmCluster(0, NULL) { mAnmTable = NULL; }
virtual ~J3DAnmClusterFull() {}
virtual s32 getKind() const { return 12; }
virtual f32 getWeight(u16) const;
/* 0x10 */ J3DAnmClusterFullTable* mAnmTable;
};
/**
* @ingroup jsystem-j3d
*
*/
class J3DAnmClusterKey : public J3DAnmCluster {
public:
J3DAnmClusterKey() : J3DAnmCluster(0, NULL) { mAnmTable = NULL; }
virtual ~J3DAnmClusterKey() {}
virtual s32 getKind() const { return 13; }
virtual f32 getWeight(u16) const;
/* 0x10 */ J3DAnmClusterKeyTable* mAnmTable;
};
/**
* @ingroup jsystem-j3d
*
*/
class J3DAnmVtxColor : public J3DAnmBase {
public:
J3DAnmVtxColor();
virtual ~J3DAnmVtxColor() {}
virtual s32 getKind() const { return 7; }
virtual void getColor(u8, u16, GXColor*) const {}
u16 getAnmTableNum(u8 idx) {
J3D_ASSERT_RANGE(1333, idx < 2);
return mAnmTableNum[idx];
}
J3DAnmVtxColorIndexData* getAnmVtxColorIndexData(u8 p1, u16 p2) {
J3D_ASSERT_RANGE(1339, p1 < 2);
J3D_ASSERT_RANGE(1340, p2 < mAnmTableNum[p1]);
return mAnmVtxColorIndexData[p1] + p2;
}
/* 0x0C */ u16 mAnmTableNum[2];
/* 0x10 */ J3DAnmVtxColorIndexData* mAnmVtxColorIndexData[2];
}; // Size: 0x18
/**
* @ingroup jsystem-j3d
*
*/
class J3DAnmVtxColorFull : public J3DAnmVtxColor {
public:
J3DAnmVtxColorFull();
virtual ~J3DAnmVtxColorFull() {}
virtual s32 getKind() const { return 14; }
virtual void getColor(u8, u16, GXColor*) const;
/* 0x18 */ J3DAnmColorFullTable* mpTable[2];
/* 0x20 */ u8* mColorR;
/* 0x24 */ u8* mColorG;
/* 0x28 */ u8* mColorB;
/* 0x2C */ u8* mColorA;
};
/**
* @ingroup jsystem-j3d
*
*/
class J3DAnmVtxColorKey : public J3DAnmVtxColor {
public:
J3DAnmVtxColorKey();
virtual ~J3DAnmVtxColorKey() {}
virtual s32 getKind() const { return 15; }
virtual void getColor(u8, u16, GXColor*) const;
/* 0x18 */ J3DAnmColorKeyTable* mpTable[2];
/* 0x20 */ s16* mColorR;
/* 0x24 */ s16* mColorG;
/* 0x28 */ s16* mColorB;
/* 0x2C */ s16* mColorA;
};
/**
* @ingroup jsystem-j3d
*
*/
class J3DAnmColor : public J3DAnmBase {
public:
J3DAnmColor();
void searchUpdateMaterialID(J3DMaterialTable*);
virtual ~J3DAnmColor() {}
virtual s32 getKind() const { return 1; }
virtual void getColor(u16, GXColor*) const {}
u16 getUpdateMaterialNum() const { return mUpdateMaterialNum; }
bool isValidUpdateMaterialID(u16 id) const { return mUpdateMaterialID[id] != 0xFFFF; }
J3DAnmTexPatternFullTable* getAnmTable() { return mAnmTable; }
u16 getUpdateMaterialID(u16 idx) const {
J3D_ASSERT_RANGE(1578, idx < mUpdateMaterialNum);
return mUpdateMaterialID[idx];
}
/* 0x0C */ u16* mTextureIndex;
/* 0x10 */ J3DAnmTexPatternFullTable* mAnmTable;
/* 0x14 */ u16 field_0x14;
/* 0x16 */ u16 mUpdateMaterialNum;
/* 0x0C */ u16 field_0xc;
/* 0x0E */ u16 field_0xe;
/* 0x10 */ u16 field_0x10;
/* 0x12 */ u16 field_0x12;
/* 0x14 */ u16 mUpdateMaterialNum;
/* 0x18 */ u16* mUpdateMaterialID;
/* 0x1C */ JUTNameTab mUpdateMaterialName;
}; // Size: 0x2C
/**
* @ingroup jsystem-j3d
*
*
*/
class J3DAnmColorFull : public J3DAnmColor {
public:
J3DAnmColorFull();
virtual ~J3DAnmColorFull() {}
virtual s32 getKind() const { return 10; }
virtual void getColor(u16, GXColor*) const;
/* 0x2C */ u8* mColorR;
/* 0x30 */ u8* mColorG;
/* 0x34 */ u8* mColorB;
/* 0x38 */ u8* mColorA;
/* 0x3C */ J3DAnmColorFullTable* mAnmTable;
};
/**
* @ingroup jsystem-j3d
*
*/
class J3DAnmColorKey : public J3DAnmColor {
public:
J3DAnmColorKey();
virtual ~J3DAnmColorKey() {}
virtual s32 getKind() const { return 11; }
virtual void getColor(u16, GXColor*) const;
/* 0x2C */ s16* mColorR;
/* 0x30 */ s16* mColorG;
/* 0x34 */ s16* mColorB;
/* 0x38 */ s16* mColorA;
/* 0x3C */ J3DAnmColorKeyTable* mAnmTable;
};
/**
* @ingroup jsystem-j3d
*
*/
class J3DAnmTevRegKey : public J3DAnmBase {
public:
@@ -726,177 +874,41 @@ public:
/**
* @ingroup jsystem-j3d
*
*
*/
class J3DAnmColor : public J3DAnmBase {
class J3DAnmTexPattern : public J3DAnmBase {
public:
J3DAnmColor();
J3DAnmTexPattern();
void getTexNo(u16, u16*) const;
void searchUpdateMaterialID(J3DMaterialTable*);
void searchUpdateMaterialID(J3DModelData*);
virtual ~J3DAnmColor() {}
virtual s32 getKind() const { return 1; }
virtual void getColor(u16, GXColor*) const {}
virtual ~J3DAnmTexPattern() {}
virtual s32 getKind() const { return 2; }
u16 getUpdateMaterialNum() const { return mUpdateMaterialNum; }
bool isValidUpdateMaterialID(u16 id) const { return mUpdateMaterialID[id] != 0xFFFF; }
u16 getUpdateMaterialID(u16 idx) const {
J3D_ASSERT_RANGE(1578, idx < mUpdateMaterialNum);
u16 getUpdateMaterialID(u16 idx) const {
J3D_ASSERT_RANGE(2288, idx < mUpdateMaterialNum);
return mUpdateMaterialID[idx];
}
u16 getUpdateMaterialNum() const { return mUpdateMaterialNum; }
bool isValidUpdateMaterialID(u16 id) const { return mUpdateMaterialID[id] != 0xFFFF; }
J3DAnmTexPatternFullTable* getAnmTable() { return mAnmTable; }
/* 0x0C */ u16 field_0xc;
/* 0x0E */ u16 field_0xe;
/* 0x10 */ u16 field_0x10;
/* 0x12 */ u16 field_0x12;
/* 0x14 */ u16 mUpdateMaterialNum;
/* 0x0C */ u16* mTextureIndex;
/* 0x10 */ J3DAnmTexPatternFullTable* mAnmTable;
/* 0x14 */ u16 field_0x14;
/* 0x16 */ u16 mUpdateMaterialNum;
/* 0x18 */ u16* mUpdateMaterialID;
/* 0x1C */ JUTNameTab mUpdateMaterialName;
}; // Size: 0x2C
/**
* @ingroup jsystem-j3d
*
*/
class J3DAnmColorKey : public J3DAnmColor {
public:
J3DAnmColorKey();
virtual ~J3DAnmColorKey() {}
virtual s32 getKind() const { return 11; }
virtual void getColor(u16, GXColor*) const;
/* 0x2C */ s16* mColorR;
/* 0x30 */ s16* mColorG;
/* 0x34 */ s16* mColorB;
/* 0x38 */ s16* mColorA;
/* 0x3C */ J3DAnmColorKeyTable* mAnmTable;
};
/**
* @ingroup jsystem-j3d
*
*/
class J3DAnmColorFull : public J3DAnmColor {
public:
J3DAnmColorFull();
virtual ~J3DAnmColorFull() {}
virtual s32 getKind() const { return 10; }
virtual void getColor(u16, GXColor*) const;
/* 0x2C */ u8* mColorR;
/* 0x30 */ u8* mColorG;
/* 0x34 */ u8* mColorB;
/* 0x38 */ u8* mColorA;
/* 0x3C */ J3DAnmColorFullTable* mAnmTable;
};
/**
* @ingroup jsystem-j3d
*
*/
class J3DAnmVtxColor : public J3DAnmBase {
public:
J3DAnmVtxColor();
virtual ~J3DAnmVtxColor() {}
virtual s32 getKind() const { return 7; }
virtual void getColor(u8, u16, GXColor*) const {}
/* 0x0C */ u16 mAnmTableNum[2];
/* 0x10 */ J3DAnmVtxColorIndexData* mAnmVtxColorIndexData[2];
}; // Size: 0x18
/**
* @ingroup jsystem-j3d
*
*/
class J3DAnmVtxColorKey : public J3DAnmVtxColor {
public:
J3DAnmVtxColorKey();
virtual ~J3DAnmVtxColorKey() {}
virtual s32 getKind() const { return 15; }
virtual void getColor(u8, u16, GXColor*) const;
/* 0x18 */ J3DAnmColorKeyTable* mpTable[2];
/* 0x20 */ s16* mColorR;
/* 0x24 */ s16* mColorG;
/* 0x28 */ s16* mColorB;
/* 0x2C */ s16* mColorA;
};
/**
* @ingroup jsystem-j3d
*
*/
class J3DAnmVtxColorFull : public J3DAnmVtxColor {
public:
J3DAnmVtxColorFull();
virtual ~J3DAnmVtxColorFull() {}
virtual s32 getKind() const { return 14; }
virtual void getColor(u8, u16, GXColor*) const;
/* 0x18 */ J3DAnmColorFullTable* mpTable[2];
/* 0x20 */ u8* mColorR;
/* 0x24 */ u8* mColorG;
/* 0x28 */ u8* mColorB;
/* 0x2C */ u8* mColorA;
};
/**
* @ingroup jsystem-j3d
*
*/
class J3DAnmCluster : public J3DAnmBase {
public:
J3DAnmCluster(s16 frameMax, f32* pWeight) : J3DAnmBase(frameMax) { mWeight = pWeight; }
virtual ~J3DAnmCluster() {}
virtual s32 getKind() const { return 3; }
virtual f32 getWeight(u16) const { return 1.0f; }
/* 0x0C */ f32* mWeight;
}; // Size: 0x10
/**
* @ingroup jsystem-j3d
*
*/
class J3DAnmClusterFull : public J3DAnmCluster {
public:
J3DAnmClusterFull() : J3DAnmCluster(0, NULL) { mAnmTable = NULL; }
virtual ~J3DAnmClusterFull() {}
virtual s32 getKind() const { return 12; }
virtual f32 getWeight(u16) const;
/* 0x10 */ J3DAnmClusterFullTable* mAnmTable;
};
/**
* @ingroup jsystem-j3d
*
*/
class J3DAnmClusterKey : public J3DAnmCluster {
public:
J3DAnmClusterKey() : J3DAnmCluster(0, NULL) { mAnmTable = NULL; }
virtual ~J3DAnmClusterKey() {}
virtual s32 getKind() const { return 13; }
virtual f32 getWeight(u16) const;
/* 0x10 */ J3DAnmClusterKeyTable* mAnmTable;
};
/**
* @ingroup jsystem-j3d
*
*/
class J3DAnmVisibilityFull : public J3DAnmBase {
public:
J3DAnmVisibilityFull() : J3DAnmBase(0) {
J3DAnmVisibilityFull() : J3DAnmBase() {
mUpdateMaterialNum = 0;
field_0xe = 0;
mAnmTable = NULL;
@@ -32,7 +32,10 @@ public:
}
J3DDeformer* getDeformer() { return mDeformer; }
void setDeformer(J3DDeformer* deformer) { mDeformer = deformer; }
void setDeformer(J3DDeformer* deformer) {
J3D_ASSERT_NULLPTR(111, deformer);
mDeformer = deformer;
}
/* 0x00 */ f32 mMaxAngle;
/* 0x04 */ f32 mMinAngle;
@@ -2,7 +2,6 @@
#define J3DJOINT_H
#include "JSystem/J3DGraphBase/J3DTransform.h"
#include "JSystem/J3DGraphBase/J3DSys.h"
#include "JSystem/J3DGraphBase/J3DMaterial.h"
class J3DAnmTransform;
@@ -146,17 +145,6 @@ public:
}
};
/**
* @ingroup jsystem-j3d
*
*/
struct J3DMtxCalcJ3DSysInitSoftimage {
static void init(const Vec& param_0, const Mtx& param_1) {
J3DSys::mCurrentS = param_0;
MTXCopy(param_1, J3DSys::mCurrentMtx);
}
};
/**
* @ingroup jsystem-j3d
*
@@ -1,8 +1,11 @@
#ifndef J3DJOINTTREE_H
#define J3DJOINTTREE_H
#include "JSystem/J3DGraphAnimator/J3DJoint.h"
#include "JSystem/J3DGraphBase/J3DTransform.h"
class J3DJoint;
class J3DMtxBuffer;
class J3DMtxCalc;
class JUTNameTab;
/**
@@ -46,7 +49,7 @@ public:
virtual void calc(J3DMtxBuffer*, Vec const&, f32 const (&)[3][4]);
virtual ~J3DJointTree() {}
J3DModelHierarchy const* getHierarchy() { return mHierarchy; }
const J3DModelHierarchy* getHierarchy() const { return mHierarchy; }
void setHierarchy(J3DModelHierarchy* hierarchy) { mHierarchy = hierarchy; }
void setBasicMtxCalc(J3DMtxCalc* calc) { mBasicMtxCalc = calc; }
u16 getWEvlpMtxNum() const { return mWEvlpMtxNum; }
@@ -2,10 +2,8 @@
#define J3DMODELDATA_H
#include "JSystem/J3DGraphAnimator/J3DJointTree.h"
#include "JSystem/J3DGraphBase/J3DMaterial.h"
#include "JSystem/J3DGraphAnimator/J3DMaterialAttach.h"
#include "JSystem/J3DGraphAnimator/J3DShapeTable.h"
#include "JSystem/J3DGraphBase/J3DSys.h"
#include "JSystem/J3DGraphBase/J3DVertex.h"
class JUTNameTab;
@@ -47,7 +45,7 @@ public:
J3DShape* getShapeNodePointer(u16 idx) const { return mShapeTable.getShapeNodePointer(idx); }
J3DJoint* getJointNodePointer(u16 idx) const { return mJointTree.getJointNodePointer(idx); }
J3DJointTree& getJointTree() { return mJointTree; }
J3DModelHierarchy const* getHierarchy() { return mJointTree.getHierarchy(); }
const J3DModelHierarchy* getHierarchy() const { return mJointTree.getHierarchy(); }
void setHierarchy(J3DModelHierarchy* hierarchy) { mJointTree.setHierarchy(hierarchy); }
void setBasicMtxCalc(J3DMtxCalc* calc) { mJointTree.setBasicMtxCalc(calc); }
JUTNameTab* getJointName() const { return mJointTree.getJointName(); }
@@ -2,6 +2,7 @@
#define J3DMTXBUFFER_H
#include "JSystem/J3DGraphAnimator/J3DModelData.h"
#include "JSystem/J3DGraphBase/J3DEnum.h"
class J3DModelData;
@@ -1,9 +1,11 @@
#ifndef J3DSHAPETABLE_H
#define J3DSHAPETABLE_H
#include "JSystem/J3DGraphBase/J3DShape.h"
#include "JSystem/JUtility/JUTAssert.h"
class J3DVertexData;
struct J3DDrawMtxData;
class J3DShape;
class JUTNameTab;
/**
+9
View File
@@ -0,0 +1,9 @@
#ifndef J3DENUM_H
#define J3DENUM_H
enum J3DError {
kJ3DError_Success = 0,
kJ3DError_Alloc = 4,
};
#endif /* J3DENUM_H */
+2 -2
View File
@@ -4,7 +4,7 @@
#include "JSystem/J3DGraphBase/J3DMatBlock.h"
#include "JSystem/J3DGraphBase/J3DPacket.h"
#include "JSystem/J3DGraphBase/J3DShape.h"
#include <stdint>
#include <stdint.h>
class J3DJoint;
class J3DMaterialAnm;
@@ -66,7 +66,7 @@ public:
J3DFog* getFog() { return mPEBlock->getFog(); }
J3DTexMtx* getTexMtx(u32 idx) { return mTexGenBlock->getTexMtx(idx); }
u16 getIndex() { return mIndex; }
bool isDrawModeOpaTexEdge() { return (mMaterialMode & 3) == 0; }
BOOL isDrawModeOpaTexEdge() { return (mMaterialMode & 3) ? 1 : 0; }
J3DPEBlock* getPEBlock() { return mPEBlock; }
void onInvalid() { mInvalid = 1; }
u32 getTexGenNum() const { return mTexGenBlock->getTexGenNum(); }
+32 -1
View File
@@ -1,9 +1,12 @@
#ifndef J3DPACKET_H
#define J3DPACKET_H
#include "JSystem/J3DAssert.h"
#include "JSystem/J3DGraphBase/J3DSys.h"
#include "JSystem/J3DGraphBase/J3DEnum.h"
#include "dolphin/gd/GDBase.h"
#include <stdint>
#include "dolphin/mtx.h"
#include <stdint.h>
class J3DMatPacket;
@@ -132,6 +135,34 @@ public:
/* 0xC */ u32 mMaxSize;
}; // Size: 0x10
/**
* @ingroup jsystem-j3d
*
*/
class J3DTexMtxObj {
public:
Mtx& getMtx(u16 idx) {
J3D_ASSERT_RANGE(275, idx < mTexMtxNum);
return mpTexMtx[idx];
}
void setMtx(u16 idx, const Mtx mtx) {
J3D_ASSERT_RANGE(288, idx < mTexMtxNum);
MTXCopy(mtx, mpTexMtx[idx]);
}
Mtx44& getEffectMtx(u16 idx) {
J3D_ASSERT_RANGE(293, idx < mTexMtxNum);
return mpEffectMtx[idx];
}
u16 getNumTexMtx() const { return mTexMtxNum; }
/* 0x00 */ Mtx* mpTexMtx;
/* 0x04 */ Mtx44* mpEffectMtx;
/* 0x08 */ u16 mTexMtxNum;
};
/**
* @ingroup jsystem-j3d
*
+55 -83
View File
@@ -8,34 +8,6 @@
class J3DTexMtx;
class J3DTexGenBlock;
/**
* @ingroup jsystem-j3d
*
*/
class J3DTexMtxObj {
public:
Mtx& getMtx(u16 idx) {
J3D_ASSERT_RANGE(275, idx < mTexMtxNum);
return mpTexMtx[idx];
}
void setMtx(u16 idx, const Mtx mtx) {
J3D_ASSERT_RANGE(288, idx < mTexMtxNum);
MTXCopy(mtx, mpTexMtx[idx]);
}
Mtx44& getEffectMtx(u16 idx) {
J3D_ASSERT_RANGE(293, idx < mTexMtxNum);
return mpEffectMtx[idx];
}
u16 getNumTexMtx() const { return mTexMtxNum; }
/* 0x00 */ Mtx* mpTexMtx;
/* 0x04 */ Mtx44* mpEffectMtx;
/* 0x08 */ u16 mTexMtxNum;
};
/**
* @ingroup jsystem-j3d
*
@@ -58,7 +30,31 @@ typedef void (J3DShapeMtxConcatView::*J3DShapeMtxConcatView_LoadFunc)(int, u16)
/**
* @ingroup jsystem-j3d
*
*
*/
class J3DShapeMtxMulti : public J3DShapeMtx {
public:
J3DShapeMtxMulti(u16 useMtxIndex, u16 useMtxNum, u16* useMtxIndexTable)
: J3DShapeMtx(useMtxIndex)
, mUseMtxNum(useMtxNum)
, mUseMtxIndexTable(useMtxIndexTable)
{}
virtual ~J3DShapeMtxMulti() {}
virtual u32 getType() const { return 'SMML'; }
virtual u16 getUseMtxNum() const { return mUseMtxNum; }
virtual u16 getUseMtxIndex(u16 no) const { return mUseMtxIndexTable[no]; }
virtual void load() const;
virtual void calcNBTScale(Vec const&, f32 (*)[3][3], f32 (*)[3][3]);
private:
/* 0x8 */ u16 mUseMtxNum;
/* 0xC */ u16* mUseMtxIndexTable;
};
/**
* @ingroup jsystem-j3d
*
*/
class J3DShapeMtxConcatView : public J3DShapeMtx {
public:
@@ -83,60 +79,6 @@ public:
static MtxP sMtxPtrTbl[2];
};
/**
* @ingroup jsystem-j3d
*
*/
class J3DShapeMtxYBBoardConcatView : public J3DShapeMtxConcatView {
public:
J3DShapeMtxYBBoardConcatView(u16 useMtxIndex)
: J3DShapeMtxConcatView(useMtxIndex)
{}
virtual ~J3DShapeMtxYBBoardConcatView() {}
virtual u32 getType() const { return 'SMYB'; }
virtual void load() const;
};
/**
* @ingroup jsystem-j3d
*
*/
class J3DShapeMtxBBoardConcatView : public J3DShapeMtxConcatView {
public:
J3DShapeMtxBBoardConcatView(u16 useMtxIndex)
: J3DShapeMtxConcatView(useMtxIndex)
{}
virtual ~J3DShapeMtxBBoardConcatView() {}
virtual u32 getType() const { return 'SMBB'; }
virtual void load() const;
};
/**
* @ingroup jsystem-j3d
*
*/
class J3DShapeMtxMulti : public J3DShapeMtx {
public:
J3DShapeMtxMulti(u16 useMtxIndex, u16 useMtxNum, u16* useMtxIndexTable)
: J3DShapeMtx(useMtxIndex)
, mUseMtxNum(useMtxNum)
, mUseMtxIndexTable(useMtxIndexTable)
{}
virtual ~J3DShapeMtxMulti() {}
virtual u32 getType() const { return 'SMML'; }
virtual u16 getUseMtxNum() const { return mUseMtxNum; }
virtual u16 getUseMtxIndex(u16 no) const { return mUseMtxIndexTable[no]; }
virtual void load() const;
virtual void calcNBTScale(Vec const&, f32 (*)[3][3], f32 (*)[3][3]);
private:
/* 0x8 */ u16 mUseMtxNum;
/* 0xC */ u16* mUseMtxIndexTable;
};
/**
* @ingroup jsystem-j3d
*
@@ -162,4 +104,34 @@ private:
/* 0xC */ u16* mUseMtxIndexTable;
};
/**
* @ingroup jsystem-j3d
*
*/
class J3DShapeMtxBBoardConcatView : public J3DShapeMtxConcatView {
public:
J3DShapeMtxBBoardConcatView(u16 useMtxIndex)
: J3DShapeMtxConcatView(useMtxIndex)
{}
virtual ~J3DShapeMtxBBoardConcatView() {}
virtual u32 getType() const { return 'SMBB'; }
virtual void load() const;
};
/**
* @ingroup jsystem-j3d
*
*/
class J3DShapeMtxYBBoardConcatView : public J3DShapeMtxConcatView {
public:
J3DShapeMtxYBBoardConcatView(u16 useMtxIndex)
: J3DShapeMtxConcatView(useMtxIndex)
{}
virtual ~J3DShapeMtxYBBoardConcatView() {}
virtual u32 getType() const { return 'SMYB'; }
virtual void load() const;
};
#endif /* J3DSHAPEMTX_H */
+8 -3
View File
@@ -11,6 +11,7 @@
*
*/
struct J3DLightInfo {
bool operator==(J3DLightInfo& other) const;
J3DLightInfo& operator=(J3DLightInfo const&);
/* 0x00 */ Vec mLightPosition;
@@ -31,6 +32,7 @@ struct J3DTextureSRTInfo {
/* 0x0C */ f32 mTranslationX;
/* 0x10 */ f32 mTranslationY;
bool operator==(J3DTextureSRTInfo&) const;
inline void operator=(J3DTextureSRTInfo const& other) {
#ifdef __MWERKS__
__REGISTER const f32* src = &other.mScaleX;
@@ -74,6 +76,7 @@ enum J3DTexMtxMode {
*
*/
struct J3DTexMtxInfo {
bool operator==(J3DTexMtxInfo& other) const;
J3DTexMtxInfo& operator=(J3DTexMtxInfo const&);
void setEffectMtx(Mtx);
@@ -93,7 +96,7 @@ struct J3DTexMtxInfo {
struct J3DIndTexMtxInfo {
J3DIndTexMtxInfo& operator=(J3DIndTexMtxInfo const&);
/* 0x00 */ Mtx23 field_0x0;
/* 0x18 */ u8 field_0x18;
/* 0x18 */ s8 field_0x18;
}; // Size: 0x1C
/**
@@ -101,7 +104,8 @@ struct J3DIndTexMtxInfo {
*
*/
struct J3DFogInfo {
J3DFogInfo& operator=(J3DFogInfo const&);
bool operator==(J3DFogInfo&) const;
J3DFogInfo& operator=(const J3DFogInfo&);
/* 0x00 */ u8 mType;
/* 0x01 */ u8 mAdjEnable;
@@ -119,7 +123,8 @@ struct J3DFogInfo {
*
*/
struct J3DNBTScaleInfo {
J3DNBTScaleInfo& operator=(J3DNBTScaleInfo const&);
bool operator==(const J3DNBTScaleInfo& other) const;
J3DNBTScaleInfo& operator=(const J3DNBTScaleInfo&);
/* 0x0 */ u8 mbHasScale;
/* 0x4 */ Vec mScale;
-6
View File
@@ -5,12 +5,6 @@
#include <dolphin/mtx.h>
#include "JSystem/J3DAssert.h"
// Perhaps move to a new J3DEnum.h?
enum J3DError {
kJ3DError_Success = 0,
kJ3DError_Alloc = 4,
};
enum J3DSysDrawBuf {
/* 0x0 */ J3DSysDrawBuf_Opa,
/* 0x1 */ J3DSysDrawBuf_Xlu,
+6 -4
View File
@@ -5,7 +5,7 @@
#include "JSystem/J3DAssert.h"
#include "JSystem/JUtility/JUTTexture.h"
#include "global.h"
#include <stdint>
#include <stdint.h>
/**
* @ingroup jsystem-j3d
@@ -18,7 +18,9 @@ private:
/* 0x4 */ ResTIMG* mpRes;
public:
J3DTexture(u16 num, ResTIMG* res) : mNum(num), unk_0x2(0), mpRes(res) {}
J3DTexture(u16 num, ResTIMG* res) : mNum(num), unk_0x2(0), mpRes(res) {
J3D_ASSERT_NULLPTR(52, res && num);
}
void loadGX(u16, GXTexMapID) const;
void entryNum(u16);
@@ -29,11 +31,11 @@ public:
ResTIMG* getResTIMG(u16 index) const {
J3D_ASSERT_RANGE(72, index < mNum);
return &mpRes[index];
return &mpRes[index];
}
void setResTIMG(u16 index, const ResTIMG& timg) {
JUT_ASSERT_MSG(81, (bool)(index < mNum), "Error : range over.");
J3D_ASSERT_RANGE(81, index < mNum);
mpRes[index] = timg;
mpRes[index].imageOffset = ((mpRes[index].imageOffset + (uintptr_t)&timg - (uintptr_t)(mpRes + index)));
mpRes[index].paletteOffset = ((mpRes[index].paletteOffset + (uintptr_t)&timg - (uintptr_t)(mpRes + index)));
+14 -1
View File
@@ -16,8 +16,10 @@ class J3DVertexBuffer;
struct J3DVtxColorCalc {
void calc(J3DModel*);
virtual void calc(J3DVertexBuffer*);
virtual ~J3DVtxColorCalc() {}
bool checkFlag(u32 flag) { return mFlags & flag ? true : false; }
/* 0x0 */ void* vtable; // inlined vtable?
/* 0x4 */ u32 mFlags;
/* 0x8 */ J3DAnmVtxColor* mpVtxColor;
};
@@ -38,6 +40,7 @@ public:
void* getVtxNBTArray() const { return mVtxNBTArray; }
u32 getNrmNum() const { return mNrmNum; }
u32 getVtxNum() const { return mVtxNum; }
u32 getColNum() const { return mColNum; }
GXVtxAttrFmtList* getVtxAttrFmtList() const { return mVtxAttrFmtList; }
u8 getVtxPosFrac() const { return mVtxPosFrac; }
u8 getVtxNrmFrac() const { return mVtxNrmFrac; }
@@ -129,6 +132,12 @@ public:
mVtxNrmArray[1] = temp;
}
void swapVtxColArrayPointer() {
GXColor* temp = mVtxColArray[0];
mVtxColArray[0] = mVtxColArray[1];
mVtxColArray[1] = temp;
}
void* getVtxPosArrayPointer(int index) {
return mVtxPosArray[index];
}
@@ -137,6 +146,10 @@ public:
return mVtxNrmArray[index];
}
GXColor* getVtxColArrayPointer(int index) {
return mVtxColArray[index];
}
private:
/* 0x00 */ J3DVertexData* mVtxData;
/* 0x04 */ void* mVtxPosArray[2];
+47 -24
View File
@@ -1,7 +1,30 @@
#ifndef J3DANMLOADER_H
#define J3DANMLOADER_H
#include "JSystem/J3DGraphAnimator/J3DAnimation.h"
class J3DAnmClusterFull;
struct J3DAnmClusterFullData;
class J3DAnmClusterKey;
struct J3DAnmClusterKeyData;
class J3DAnmColorFull;
struct J3DAnmColorFullData;
class J3DAnmColorKey;
struct J3DAnmColorKeyData;
class J3DAnmTevRegKey;
struct J3DAnmTevRegKeyData;
class J3DAnmTexPattern;
struct J3DAnmTexPatternFullData;
class J3DAnmTextureSRTKey;
struct J3DAnmTextureSRTKeyData;
class J3DAnmTransformFull;
struct J3DAnmTransformFullData;
class J3DAnmTransformKey;
struct J3DAnmTransformKeyData;
class J3DAnmVisibilityFull;
struct J3DAnmVisibilityFullData;
class J3DAnmVtxColorFull;
struct J3DAnmVtxColorFullData;
class J3DAnmVtxColorKey;
struct J3DAnmVtxColorKeyData;
enum J3DAnmLoaderDataBaseFlag {
J3DLOADER_UNK_FLAG0,
@@ -28,29 +51,6 @@ public:
virtual ~J3DAnmLoader() {}
};
class J3DAnmKeyLoader_v15 : public J3DAnmLoader {
public:
J3DAnmKeyLoader_v15();
void readAnmTransform(J3DAnmTransformKeyData const*);
void setAnmTransform(J3DAnmTransformKey*, J3DAnmTransformKeyData const*);
void readAnmTextureSRT(J3DAnmTextureSRTKeyData const*);
void setAnmTextureSRT(J3DAnmTextureSRTKey*, J3DAnmTextureSRTKeyData const*);
void readAnmColor(J3DAnmColorKeyData const*);
void setAnmColor(J3DAnmColorKey*, J3DAnmColorKeyData const*);
void readAnmCluster(J3DAnmClusterKeyData const*);
void setAnmCluster(J3DAnmClusterKey*, J3DAnmClusterKeyData const*);
void readAnmTevReg(J3DAnmTevRegKeyData const*);
void setAnmTevReg(J3DAnmTevRegKey*, J3DAnmTevRegKeyData const*);
void readAnmVtxColor(J3DAnmVtxColorKeyData const*);
void setAnmVtxColor(J3DAnmVtxColorKey*, J3DAnmVtxColorKeyData const*);
virtual J3DAnmBase* load(void const*);
virtual void setResource(J3DAnmBase*, void const*);
virtual ~J3DAnmKeyLoader_v15();
/* 0x4 */ J3DAnmBase* mAnm;
};
class J3DAnmFullLoader_v15 : public J3DAnmLoader {
public:
J3DAnmFullLoader_v15();
@@ -74,4 +74,27 @@ public:
/* 0x4 */ J3DAnmBase* mAnm;
};
class J3DAnmKeyLoader_v15 : public J3DAnmLoader {
public:
J3DAnmKeyLoader_v15();
void readAnmTransform(J3DAnmTransformKeyData const*);
void setAnmTransform(J3DAnmTransformKey*, J3DAnmTransformKeyData const*);
void readAnmTextureSRT(J3DAnmTextureSRTKeyData const*);
void setAnmTextureSRT(J3DAnmTextureSRTKey*, J3DAnmTextureSRTKeyData const*);
void readAnmColor(J3DAnmColorKeyData const*);
void setAnmColor(J3DAnmColorKey*, J3DAnmColorKeyData const*);
void readAnmCluster(J3DAnmClusterKeyData const*);
void setAnmCluster(J3DAnmClusterKey*, J3DAnmClusterKeyData const*);
void readAnmTevReg(J3DAnmTevRegKeyData const*);
void setAnmTevReg(J3DAnmTevRegKey*, J3DAnmTevRegKeyData const*);
void readAnmVtxColor(J3DAnmVtxColorKeyData const*);
void setAnmVtxColor(J3DAnmVtxColorKey*, J3DAnmVtxColorKeyData const*);
virtual J3DAnmBase* load(void const*);
virtual void setResource(J3DAnmBase*, void const*);
virtual ~J3DAnmKeyLoader_v15();
/* 0x4 */ J3DAnmBase* mAnm;
};
#endif /* J3DANMLOADER_H */
@@ -30,7 +30,7 @@ struct J3DJointFactory {
J3DJointInitData* mJointInitData;
u16* mIndexTable;
u16 getKind(int no) const { return mJointInitData[mIndexTable[no]].mKind; }
u8 getKind(int no) const { return mJointInitData[mIndexTable[no]].mKind; }
u8 getScaleCompensate(int no) const { return mJointInitData[mIndexTable[no]].mScaleCompensate; }
const J3DTransformInfo& getTransformInfo(int no) const {
return mJointInitData[mIndexTable[no]].mTransformInfo;
@@ -77,7 +77,7 @@ public:
const u8 newDither(int) const;
J3DNBTScale newNBTScale(int) const;
u16 getMaterialID(u16 idx) { return mpMaterialID[idx]; }
u16 getMaterialID(int idx) const { return mpMaterialID[idx]; }
u8 getMaterialMode(int idx) const { return mpMaterialInitData[mpMaterialID[idx]].mMaterialMode; }
/* 0x00 */ u16 mMaterialNum;
+24 -11
View File
@@ -1,6 +1,7 @@
#ifndef J3DMODELLOADER_H
#define J3DMODELLOADER_H
#include "JSystem/J3DGraphBase/J3DSys.h"
#include "dolphin/mtx.h"
class J3DModelData;
@@ -301,17 +302,6 @@ public:
/* 0x1A */ u16 mEnvelopeSize;
};
/**
* @ingroup jsystem-j3d
*
*/
class J3DModelLoader_v21 : public J3DModelLoader {
public:
~J3DModelLoader_v21() {}
void readMaterial_v21(J3DMaterialBlock_v21 const*, u32);
void readMaterialTable_v21(J3DMaterialBlock_v21 const*, u32);
};
/**
* @ingroup jsystem-j3d
*
@@ -325,6 +315,17 @@ public:
u32 calcSizeMaterialTable(J3DMaterialBlock const*, u32);
};
/**
* @ingroup jsystem-j3d
*
*/
class J3DModelLoader_v21 : public J3DModelLoader {
public:
~J3DModelLoader_v21() {}
void readMaterial_v21(J3DMaterialBlock_v21 const*, u32);
void readMaterialTable_v21(J3DMaterialBlock_v21 const*, u32);
};
/**
* @ingroup jsystem-j3d
*
@@ -332,6 +333,18 @@ public:
class J3DModelLoaderDataBase {
public:
static J3DModelData* load(void const* i_data, u32 i_flags);
static J3DModelData* loadBinaryDisplayList(const void* i_data, u32 flags);
};
/**
* @ingroup jsystem-j3d
*
*/
struct J3DMtxCalcJ3DSysInitSoftimage {
static void init(const Vec& param_0, const Mtx& param_1) {
J3DSys::mCurrentS = param_0;
MTXCopy(param_1, J3DSys::mCurrentMtx);
}
};
#endif /* J3DMODELLOADER_H */
@@ -66,7 +66,7 @@ struct J3DShapeFactory {
/* 0x18 */ J3DShapeDrawInitData* mDrawInitData;
/* 0x1C */ u8* mVcdVatCmdBuffer;
u32 getMtxGroupNum(int no) const { return mShapeInitData[mIndexTable[no]].mMtxGroupNum; }
u16 getMtxGroupNum(int no) const { return mShapeInitData[mIndexTable[no]].mMtxGroupNum; }
GXVtxDescList* getVtxDescList(int no) const { return (GXVtxDescList*)((u8*)mVtxDescList + mShapeInitData[mIndexTable[no]].mVtxDescListIndex); }
f32 getRadius(int no) const { return mShapeInitData[mIndexTable[no]].mRadius; }
Vec& getMin(int no) const { return mShapeInitData[mIndexTable[no]].mMin; }
+12 -10
View File
@@ -22,19 +22,10 @@ public:
class JAWWindow {
public:
class TJ2DWindowDraw : public J2DWindow {
public:
TJ2DWindowDraw(u32, const JGeometry::TBox2<f32>&, const char*);
void drawPane(int x, int y, const J2DGrafContext* p_grafCtx) {
J2DPane::draw(x, y, p_grafCtx, true, true);
calcMtx();
}
};
class TWindowText : public J2DPane {
public:
TWindowText(JAWWindow*);
virtual ~TWindowText();
virtual void drawSelf(f32, f32);
virtual void drawSelf(f32, f32, Mtx*);
@@ -43,6 +34,17 @@ public:
/* 0x11C */ JUTPoint field_0x11c;
};
class TJ2DWindowDraw : public J2DWindow {
public:
TJ2DWindowDraw(u32 param_1, const JGeometry::TBox2<f32>& param_2, const char* param_3) : J2DWindow(param_1, param_2, param_3, TEXTUREBASE_0, NULL) {}
virtual ~TJ2DWindowDraw() {}
void drawPane(int x, int y, const J2DGrafContext* p_grafCtx) {
J2DPane::draw(x, y, p_grafCtx, true, true);
calcMtx();
}
};
JAWWindow(const char*, int, int);
virtual ~JAWWindow();
virtual void onDraw(JAWGraphContext*);
+1 -1
View File
@@ -2,7 +2,7 @@
#define JAISEQDATAMGR_H
#include "JSystem/JAudio2/JAISound.h"
#include <stdint>
#include <stdint.h>
/**
* @ingroup jsystem-jaudio
+1
View File
@@ -29,6 +29,7 @@ struct JASDSPChannel {
void drop();
void setPriority(u8);
void updateProc();
u8 getStatus() const { return mStatus; }
static void initAll();
static JASDSPChannel* alloc(u8, Callback, void*);
+1 -1
View File
@@ -334,7 +334,7 @@ template <typename T> JASMemPool<T> JASPoolAllocObject<T>::memPool_;
/**
* @ingroup jsystem-jaudio
*
*
*/
template <typename T>
class JASMemPool_MultiThreaded : public JASGenericMemPool {
+1 -1
View File
@@ -6,7 +6,7 @@
#include "JSystem/JAudio2/JASHeapCtrl.h"
#include "JSystem/JUtility/JUTAssert.h"
#include <bitset>
#include <stdint>
#include <stdint.h>
/**
* @ingroup jsystem-jaudio
+2 -1
View File
@@ -25,6 +25,7 @@ public:
void cancelAlarm() { OSCancelAlarm(this); }
void removeLink() { sList.remove(&mLink); }
void appendLink() { sList.append(&mLink); }
OSAlarm* getAlarm() const { return (OSAlarm*)this; }
OSThread* getThread() const { return mThread; }
void setThread(OSThread* thread) { mThread = thread; }
@@ -134,7 +135,7 @@ private:
/* 0x4A */ u8 field_0x4a;
};
inline void JUTChangeFrameBuffer(void* buffer, u16 height, u16 width) {
inline void JUTChangeFrameBuffer(void* buffer, u16 width, u16 height) {
JUTDirectPrint::getManager()->changeFrameBuffer(buffer, width, height);
}
+4 -3
View File
@@ -55,9 +55,9 @@ private:
JGadget_outMessage out(JGadget_outMessage::warning, __FILE__, line); \
out << msg << (arg1) << (arg2) << (arg3) << (arg4);
#define JGADGET_EXITWARN(cond) \
if (!(cond)) { \
false; \
#define JGADGET_EXITWARN(line, COND) \
if (!(COND)) { \
JGadget_outMessage(JGadget_outMessage::warning, __FILE__, line) << #COND, false; \
return false; \
}
#else
@@ -65,6 +65,7 @@ private:
#define JGADGET_WARNMSG(line, msg) (void)0
#define JGADGET_WARNMSG1(line, msg, arg) (void)0
#define JGADGET_WARNMSG4(line, msg, arg1, arg2, arg3, arg4) (void)0
#define JGADGET_EXITWARN(line, COND) (void)0
#endif
}
#endif
+51 -43
View File
@@ -10,88 +10,96 @@
namespace JGadget {
struct TLinkListNode {
TLinkListNode() {
mNext = NULL;
mPrev = NULL;
pNext_ = NULL;
pPrev_ = NULL;
}
~TLinkListNode() {}
TLinkListNode* getNext() const { return mNext; }
TLinkListNode* getPrev() const { return mPrev; }
TLinkListNode* getNext() const { return pNext_; }
TLinkListNode* getPrev() const { return pPrev_; }
void clear_() { pNext_ = NULL; pPrev_ = NULL; }
public:
/* 0x0 */ TLinkListNode* mNext;
/* 0x4 */ TLinkListNode* mPrev;
/* 0x0 */ TLinkListNode* pNext_;
/* 0x4 */ TLinkListNode* pPrev_;
}; // Size: 0x8
struct TNodeLinkList {
struct iterator {
iterator() { node = NULL; }
explicit iterator(TLinkListNode* pNode) { node = pNode; }
iterator& operator=(const iterator& other) { node = other.node; return *this; }
struct iterator : public std::iterator<std::bidirectional_iterator_tag, TLinkListNode, s32, TLinkListNode*, TLinkListNode&> {
iterator() { p_ = NULL; }
explicit iterator(TLinkListNode* pNode) { p_ = pNode; }
iterator& operator=(const iterator& other) { p_ = other.p_; return *this; }
iterator& operator++() { node = node->getNext(); return *this; }
iterator& operator--() { node = node->getPrev(); return *this; }
iterator& operator++() { p_ = p_->getNext(); return *this; }
iterator& operator--() { p_ = p_->getPrev(); return *this; }
iterator operator++(int) { const iterator old(*this); (void)++*this; return old; }
iterator operator--(int) { const iterator old(*this); (void)--*this; return old; }
friend bool operator==(iterator a, iterator b) { return a.node == b.node; }
friend bool operator==(iterator a, iterator b) { return a.p_ == b.p_; }
friend bool operator!=(iterator a, iterator b) { return !(a == b); }
TLinkListNode* operator->() const { return node; }
TLinkListNode& operator*() const { return *node; }
TLinkListNode* operator->() const { return p_; }
TLinkListNode& operator*() const {
JUT_ASSERT(196, p_!=NULL);
return *p_;
}
public:
/* 0x00 */ TLinkListNode* node;
/* 0x00 */ TLinkListNode* p_;
};
struct const_iterator {
explicit const_iterator(TLinkListNode* pNode) { node = pNode; }
explicit const_iterator(iterator it) { node = it.node; }
explicit const_iterator(const TLinkListNode* pNode) { p_ = pNode; }
explicit const_iterator(const iterator it) { p_ = it.p_; }
const_iterator& operator++() { node = node->getNext(); return *this; }
const_iterator& operator--() { node = node->getPrev(); return *this; }
const_iterator& operator++() { p_ = p_->getNext(); return *this; }
const_iterator& operator--() { p_ = p_->getPrev(); return *this; }
const_iterator operator++(int) { const const_iterator old(*this); (void)++*this; return old; }
const_iterator operator--(int) { const const_iterator old(*this); (void)--*this; return old; }
friend bool operator==(const_iterator a, const_iterator b) { return a.node == b.node; }
friend bool operator==(const_iterator a, const_iterator b) { return a.p_ == b.p_; }
friend bool operator!=(const_iterator a, const_iterator b) { return !(a == b); }
friend bool operator==(const_iterator a, iterator b) { return a.node == b.node; }
friend bool operator==(const_iterator a, iterator b) { return a.p_ == b.p_; }
friend bool operator!=(const_iterator a, iterator b) { return !(a == b); }
const TLinkListNode* operator->() const { return node; }
const TLinkListNode& operator*() const { return *node; }
const TLinkListNode* operator->() const { return p_; }
const TLinkListNode& operator*() const { return *p_; }
public:
/* 0x00 */ TLinkListNode* node;
/* 0x00 */ const TLinkListNode* p_;
};
TNodeLinkList() : ocObject_() { Initialize_(); }
TNodeLinkList() : oNode_() { Initialize_(); }
~TNodeLinkList();
void Initialize_() {
count = 0;
ocObject_.mNext = &ocObject_;
ocObject_.mPrev = &ocObject_;
oNode_.pNext_ = &oNode_;
oNode_.pPrev_ = &oNode_;
}
iterator begin() { return iterator(ocObject_.getNext()); }
const_iterator begin() const { return const_iterator(ocObject_.getNext()); }
iterator end() { return iterator(&ocObject_); }
const_iterator end() const { return const_iterator((TLinkListNode*)(&ocObject_)); }
iterator begin() { return iterator(oNode_.getNext()); }
const_iterator begin() const { return const_iterator(oNode_.getNext()); }
iterator end() { return iterator(&oNode_); }
const_iterator end() const { return const_iterator((TLinkListNode*)(&oNode_)); }
u32 size() const { return count; }
bool empty() const { return size() == 0; }
iterator pop_front() { return erase(begin()); }
void clear() { erase(begin(), end()); }
iterator erase(JGadget::TNodeLinkList::iterator, JGadget::TNodeLinkList::iterator);
iterator erase(JGadget::TNodeLinkList::iterator);
void splice(JGadget::TNodeLinkList::iterator, JGadget::TNodeLinkList&,
JGadget::TNodeLinkList::iterator);
iterator Find(const JGadget::TLinkListNode*);
iterator Insert(JGadget::TNodeLinkList::iterator, JGadget::TLinkListNode*);
iterator Erase(JGadget::TLinkListNode*);
void Remove(JGadget::TLinkListNode*);
iterator erase(iterator, iterator);
iterator erase(iterator);
void splice(iterator, TNodeLinkList&);
void splice(iterator, TNodeLinkList&, iterator);
void splice(iterator, TNodeLinkList&, iterator, iterator);
iterator Find(const TLinkListNode*);
iterator Insert(iterator, TLinkListNode*);
iterator Erase(TLinkListNode*);
void Remove(TLinkListNode*);
bool Confirm() const;
bool Confirm_iterator(const_iterator) const;
bool Iterator_isEnd_(const_iterator it) const { return it.node == &ocObject_; }
bool Iterator_isEnd_(const_iterator it) const { return it.p_ == &oNode_; }
template <typename Predicate>
void Remove_if(Predicate predicate, TNodeLinkList& tList) {
iterator it = begin();
@@ -115,7 +123,7 @@ struct TNodeLinkList {
public:
/* 0x00 */ u32 count;
/* 0x04 */ TLinkListNode ocObject_;
/* 0x04 */ TLinkListNode oNode_;
}; // Size: 0xC
template <typename T, int I>
@@ -130,7 +138,7 @@ struct TLinkList : TNodeLinkList {
//TODO: Probably fakematch? Not sure what's going on here exactly
(TIterator<std::bidirectional_iterator_tag, T, s32, T*, T&>&)*this =
(const TIterator<std::bidirectional_iterator_tag, T, s32, T*, T&>&)rhs;
this->node = rhs.node;
this->p_ = rhs.p_;
return *this;
}
+2 -2
View File
@@ -6,7 +6,7 @@
namespace JGadget {
template <typename T>
struct TAllocator {
T* allocate(u32 count, void *param_2) {
T* allocate(u32 count, const void *param_2) {
return AllocateRaw(count * sizeof(T));
}
@@ -18,7 +18,7 @@ struct TAllocator {
DeallocateRaw(mem);
}
void DeallocateRaw(T* mem) {
void DeallocateRaw(void* mem) {
delete mem;
}
+56 -33
View File
@@ -1,10 +1,11 @@
#ifndef STD_VECTOR_H
#define STD_VECTOR_H
#include "JSystem/JGadget/define.h"
#include "JSystem/JGadget/std-memory.h"
#include <algorithm>
#include <memory>
#include <stdint>
#include <stdint.h>
namespace JGadget {
namespace vector {
@@ -33,7 +34,9 @@ struct TVector {
typedef const T* const_iterator;
TVector(Allocator const& allocator) {
#if PLATFORM_GCN
mAllocator = allocator;
#endif
pBegin_ = NULL;
pEnd_ = pBegin_;
mCapacity = 0;
@@ -41,48 +44,52 @@ struct TVector {
}
~TVector() {
#if DEBUG
Confirm();
#endif
clear();
JGADGET_ASSERTWARN(250, size()==0);
mAllocator.deallocate(pBegin_, 0);
}
void insert(T* pos, u32 count, const T& val) {
if (count != 0) {
T* ptr = Insert_raw(pos, count);
if (ptr == end()) {
/* JGadget_outMessage sp120(JGadget_outMessage::warning, __FILE__, 0x141);
sp120 << "can't allocate memory"; */
} else {
std::uninitialized_fill_n(ptr, count, val);
}
if (count == 0) {
return;
}
T* ptr = Insert_raw(pos, count);
if (ptr == end()) {
JGADGET_WARNMSG(321, "can't allocate memory");
} else {
std::uninitialized_fill_n(ptr, count, val);
}
}
T* Insert_raw(T* pIt, u32 pCount) {
JUT_ASSERT(446, (pBegin_ <= pIt) && (pIt <= pEnd_));
T* const pFirst = pIt;
T* Insert_raw(T* pFirst, u32 pCount) {
T* const pIt = pFirst;
JUT_ASSERT(446, (pBegin_<=pIt)&&(pIt<=pEnd_));
if (pCount == 0) {
return pIt;
return pFirst;
}
if (pCount + size() <= mCapacity) {
void** newEnd = pFirst + pCount;
void** newEnd = pIt + pCount;
if (newEnd < pEnd_) {
void** pOverwrittenValues = pEnd_ - pCount;
std::uninitialized_copy(pOverwrittenValues, pEnd_, pEnd_);
std::copy_backward(pFirst, pOverwrittenValues, pEnd_);
DestroyElement_(pFirst, newEnd);
std::copy_backward(pIt, pOverwrittenValues, pEnd_);
DestroyElement_(pIt, newEnd);
pEnd_ += pCount;
return pIt;
return pFirst;
} else {
std::uninitialized_copy(pFirst, pEnd_, newEnd);
DestroyElement_(pFirst, pEnd_);
std::uninitialized_copy(pIt, pEnd_, newEnd);
DestroyElement_(pIt, pEnd_);
pEnd_ += pCount;
return pIt;
return pFirst;
}
}
@@ -95,8 +102,8 @@ struct TVector {
TDestructed_deallocate_ destructionDeallocator(mAllocator, newDataPointer);
void** const endOfCopy = std::uninitialized_copy(pBegin_, pFirst, newDataPointer);
std::uninitialized_copy(pFirst, pEnd_, endOfCopy + pCount);
void** const endOfCopy = std::uninitialized_copy(pBegin_, pIt, newDataPointer);
std::uninitialized_copy(pIt, pEnd_, endOfCopy + pCount);
DestroyElement_all_();
destructionDeallocator.set(pBegin_);
@@ -126,10 +133,18 @@ struct TVector {
return (int)((uintptr_t)pEnd_ - (uintptr_t)pBegin_) / 4;
}
u32 capacity() { return mCapacity; }
u32 capacity() const { return mCapacity; }
u32 GetSize_extend_(u32 count) {
JUT_ASSERT(0x22B, pfnExtend_!=NULL);
bool Confirm() const {
if (size() > mCapacity) {
JGADGET_WARNMSG(507, "illegal size");
return false;
}
return true;
}
u32 GetSize_extend_(u32 count) const {
JUT_ASSERT(555, pfnExtend_!=NULL);
u32 oldSize = size();
u32 neededNewSpace = oldSize + count;
@@ -138,20 +153,28 @@ struct TVector {
return neededNewSpace > extendedSize ? neededNewSpace : extendedSize;
}
void DestroyElement_(T* start, T* end) {
for (; start != end; start++) {
mAllocator.destroy(start);
void DestroyElement_(T* pFirst, T* pLast) {
JUT_ASSERT(536, (pBegin_<=pFirst)&&(pFirst<=pEnd_));
JUT_ASSERT(537, (pBegin_<=pLast)&&(pLast<=pEnd_));
T* it = pFirst;
for (; it != pLast; it++) {
mAllocator.destroy(it);
}
}
void DestroyElement_all_() { DestroyElement_(pBegin_, pEnd_); }
T* erase(T* start, T* end) {
T* vectorEnd = pEnd_;
T* ppvVar3 = std::copy(end, vectorEnd, start);
T* erase(T* pFirst, T* pLast) {
iterator pItFirst = pFirst;
iterator pItLast = pLast;
JUT_ASSERT(347, (pBegin_<=pItFirst)&&(pItFirst<=pEnd_))
JUT_ASSERT(348, (pBegin_<=pItLast)&&(pItLast<=pEnd_));
JUT_ASSERT(349, pItFirst<=pItLast);
T* vectorEnd = pEnd_; // DEBUG NONMATCHING
T* ppvVar3 = std::copy(pItLast, vectorEnd, pItFirst);
DestroyElement_(ppvVar3, pEnd_);
pEnd_ = ppvVar3;
return start;
return pFirst;
}
void clear() { erase(begin(), end()); }
+36 -19
View File
@@ -130,19 +130,16 @@ struct TVec3<s16> {
}
};
inline void setTVec3f(const f32* vec_a, f32* vec_b) {
inline void setTVec3f(const __REGISTER f32* vec_a, __REGISTER f32* vec_b) {
#ifdef __MWERKS__
const __REGISTER f32* v_a = vec_a;
__REGISTER f32* v_b = vec_b;
__REGISTER f32 a_x;
__REGISTER f32 b_x;
asm {
psq_l a_x, 0(v_a), 0, 0
lfs b_x, 8(v_a)
psq_st a_x, 0(v_b), 0, 0
stfs b_x, 8(v_b)
psq_l a_x, 0(vec_a), 0, 0
lfs b_x, 8(vec_a)
psq_st a_x, 0(vec_b), 0, 0
stfs b_x, 8(vec_b)
};
#endif
}
@@ -247,7 +244,7 @@ struct TVec3<f32> : public Vec {
return *this;
}
inline TVec3<f32> operator+(const TVec3<f32>& b) {
inline TVec3<f32> operator+(const TVec3<f32>& b) const {
TVec3<f32> a = *this;
a += b;
return a;
@@ -289,6 +286,11 @@ struct TVec3<f32> : public Vec {
}
void scale(__REGISTER f32 sc) {
#if DEBUG
x *= sc;
y *= sc;
z *= sc;
#else
#ifdef __MWERKS__
__REGISTER f32 z;
__REGISTER f32 x_y;
@@ -303,6 +305,7 @@ struct TVec3<f32> : public Vec {
ps_muls0 zres, z, sc
psq_st zres, 8(dst), 1, 0
};
#endif
#endif
}
@@ -447,6 +450,14 @@ struct TVec2 {
y += other.y;
}
bool equals(const TVec2<T>& other) const {
bool result = false;
if (this->x == other.x && this->y == other.y) {
result = true;
}
return result;
}
bool isAbove(const TVec2<T>& other) const {
return (x >= other.x) && (y >= other.y) ? true : false;
}
@@ -463,6 +474,10 @@ struct TVec2 {
return TUtil<f32>::sqrt(squared());
}
bool operator==(const TVec2<T>& other) const {
return equals(other);
}
T x;
T y;
};
@@ -497,6 +512,18 @@ template<> struct TBox<TVec2<f32> > {
return isValid();
}
void absolute() {
if (this->isValid()) {
return;
}
TBox<TVec2<f32> > box(*this);
this->i.setMin(box.i);
this->i.setMin(box.f);
this->f.setMax(box.i);
this->f.setMax(box.f);
}
TVec2<f32> i, f;
};
@@ -509,16 +536,6 @@ struct TBox2 : public TBox<TVec2<T> > {
}
TBox2(f32 x0, f32 y0, f32 x1, f32 y1) { set(x0, y0, x1, y1); }
void absolute() {
if (!this->isValid()) {
TBox2<T> box(*this);
this->i.setMin(box.i);
this->i.setMin(box.f);
this->f.setMax(box.i);
this->f.setMax(box.f);
}
}
void set(const TBox<TVec2<T> >& other) { set(other.i, other.f); }
void set(const TVec2<f32>& i, const TVec2<f32>& f) { this->i.set(i), this->f.set(f); }
void set(f32 x0, f32 y0, f32 x1, f32 y1) { this->i.set(x0, y0); this->f.set(x1, y1); }
+7 -3
View File
@@ -66,9 +66,13 @@ public:
void setNExtensionName(u16 length) { mNExtensionName = length; }
void setStatus(s32 status) { mStatus = status; }
virtual ~JORFile() {}
virtual int open(const char* path, u32 flags, const char* extMask, const char* defaultExt, const char*, const char* fileSuffix);
virtual int open(u32 flags, const char* extMask, const char* defaultExt, const char*, const char* fileSuffix);
virtual ~JORFile() {
close();
}
virtual int open(const char* path, u32 flags, const char* extMask, const char* defaultExt, const char* param_4, const char* fileSuffix);
virtual int open(u32 flags, const char* extMask, const char* defaultExt, const char* param_4, const char* fileSuffix) {
return open(NULL, flags, extMask, defaultExt, param_4, fileSuffix);
}
virtual void close();
virtual s32 readData(void* buffer, s32 length);
virtual s32 writeData(const void* buffer, s32 length);
+1 -1
View File
@@ -2,7 +2,7 @@
#define JORMCONTEXT_H
#include <dolphin/dolphin.h>
#include <stdint>
#include <stdint.h>
#include "JSystem/JHostIO/JORReflexible.h"
#include "JSystem/JSupport/JSUMemoryStream.h"
+1 -1
View File
@@ -2,7 +2,7 @@
#define JKREXPHEAP_H
#include "JSystem/JKernel/JKRHeap.h"
#include <stdint>
#include <stdint.h>
/**
* @ingroup jsystem-jkernel
+1 -10
View File
@@ -4,6 +4,7 @@
#include "JSystem/JKernel/JKRDisposer.h"
#include <dolphin/os.h>
#include "global.h"
#include <new>
class JKRHeap;
typedef void (*JKRErrorHandler)(void*, u32, int);
@@ -204,16 +205,6 @@ void* operator new[](size_t size, JKRHeap* heap, int alignment);
void operator delete(void* ptr);
void operator delete[](void* ptr);
#ifdef __MWERKS__
inline void* operator new(size_t size, void* ptr) {
return ptr;
}
#endif
inline void* operator new[](size_t size, void* ptr) {
return ptr;
}
void JKRDefaultMemoryErrorRoutine(void* heap, u32 size, int alignment);
inline void* JKRAllocFromHeap(JKRHeap* heap, u32 size, int alignment) {
+49 -3
View File
@@ -2,8 +2,18 @@
#define JMATRIGONOMETRIC_H
#include "dolphin/types.h"
#include <cmath>
#include <utility>
#ifdef __cplusplus
extern "C" {
#endif
extern double asin(double);
extern double atan(double);
#ifdef __cplusplus
}
#endif
namespace JMath {
template<typename T>
struct TAngleConstant_;
@@ -28,6 +38,16 @@ template<int N, typename T>
struct TSinCosTable {
std::pair<T, T> table[1 << N];
TSinCosTable() {
init();
}
void init() {
for (int i = 0; i < 1 << N; i++) {
table[i].first = sin((i * f64(TAngleConstant_<f32>::RADIAN_DEG360())) / (1 << N));
table[i].second = cos((i * f64(TAngleConstant_<f32>::RADIAN_DEG360())) / (1 << N));
}
}
T sinShort(s16 v) const { return table[(u16)v >> (16U - N)].first; }
T cosShort(s16 v) const { return table[(u16)v >> (16U - N)].second; }
@@ -64,9 +84,23 @@ struct TSinCosTable {
* @ingroup jsystem-jmath
*
*/
template<int N, typename T>
struct TAtanTable {
f32 table[1025];
T table[N + 1];
u8 pad[0x1C];
TAtanTable() {
init();
}
void init() {
// u32 cast needed for cmplwi instead of cmpwi
for (int i = 0; i < (u32)N; i++) {
table[i] = atan(i / (f64)N);
}
table[0] = 0.0f;
table[N] = TAngleConstant_<T>::RADIAN_DEG180() / 4.0f;
}
};
/**
@@ -75,9 +109,21 @@ struct TAtanTable {
*/
template<int N, typename T>
struct TAsinAcosTable {
T table[1025];
T table[N + 1];
u8 pad[0x1C];
TAsinAcosTable() {
init();
}
void init() {
for (int i = 0; i < 1024; i++) {
table[i] = asin(i / (f64)N);
}
table[0] = 0.0f;
table[N] = TAngleConstant_<T>::RADIAN_DEG180() / 4.0f;
}
T acos_(T x) const {
if (x >= 1.0f) {
return 0.0f;
@@ -96,7 +142,7 @@ struct TAsinAcosTable {
};
extern TSinCosTable<13, f32> sincosTable_;
extern TAtanTable atanTable_;
extern TAtanTable<1024, f32> atanTable_;
extern TAsinAcosTable<1024, f32> asinAcosTable_;
inline f32 acosDegree(f32 x) {
+5 -4
View File
@@ -2,7 +2,7 @@
#define JMATH_H
#include "dolphin/mtx.h"
#include <math>
#include <cmath>
void JMAMTXApplyScale(const Mtx, Mtx, f32, f32, f32);
void JMAEulerToQuat(s16 param_0, s16 param_1, s16 param_2, Quaternion* param_3);
@@ -197,14 +197,15 @@ namespace JMathInlineVEC {
#ifdef __MWERKS__
__REGISTER f32 axy;
__REGISTER f32 bxy;
__REGISTER f32 sumab;
__REGISTER f32 az;
__REGISTER f32 sumz;
__REGISTER f32 bz;
__REGISTER f32 sumz;
asm {
psq_l axy, 0(a), 0, 0
psq_l bxy, 0(b), 0, 0
ps_add bxy, axy, bxy
psq_st bxy, 0(ab), 0, 0
ps_add sumab, axy, bxy
psq_st sumab, 0(ab), 0, 0
psq_l az, 8(a), 1, 0
psq_l bz, 8(b), 1, 0
ps_add sumz, az, bz
+5 -2
View File
@@ -2,7 +2,7 @@
#define JPAEMITTER_H
#include <dolphin/gx.h>
#include <stdint>
#include <stdint.h>
#include "JSystem/JParticle/JPAResource.h"
#include "JSystem/JParticle/JPAList.h"
#include "JSystem/JParticle/JPARandom.h"
@@ -151,7 +151,10 @@ public:
void setAwayFromAxisSpeed(f32 i_speed) { mAwayFromAxisSpeed = i_speed; }
void setSpread(f32 i_spread) { mSpread = i_spread; }
void setLocalTranslation(const JGeometry::TVec3<f32>& i_trans) { mLocalTrs.set(i_trans); }
void setLocalRotation(const JGeometry::TVec3<s16>& i_rot) { mLocalRot.set(i_rot.x * 0.005493248f, i_rot.y * 0.005493248f, i_rot.z * 0.005493248f); }
void setLocalRotation(const JGeometry::TVec3<s16>& i_rot) {
mLocalRot.set(i_rot.x * (360.0f / 0xffff), i_rot.y * (360.0f / 0xffff),
i_rot.z * (360.0f / 0xffff));
}
void setRateStep(u8 i_step) { mRateStep = i_step; }
void setGlobalParticleHeightScale(f32 height) {
@@ -1,7 +1,7 @@
#ifndef FUNCTIONVALUE_H
#define FUNCTIONVALUE_H
#include <math>
#include <cmath>
#include "JSystem/JGadget/std-vector.h"
#include "JSystem/JGadget/define.h"
#include "JSystem/JGadget/search.h"
@@ -2,7 +2,9 @@
#define JSTUDIO_MATH_H
#include "dolphin/mtx.h"
#include <math>
#include <cmath>
#define m_PI_D 3.141592653589793
namespace JStudio {
namespace math {
@@ -4,7 +4,7 @@
#include "JSystem/JStudio/JStudio/jstudio-control.h"
#include "global.h"
#include <limits>
#include <math>
#include <cmath>
typedef struct _GXColor GXColor;
@@ -89,6 +89,10 @@ public:
return *this;
}
s32 read(bool& val) {
return read(&val, sizeof(bool));
}
s32 read(u8& val) {
return read(&val, sizeof(u8));
}
+1 -1
View File
@@ -2,7 +2,7 @@
#define JSUPPORT_H
#include <dolphin/dolphin.h>
#include <stdint>
#include <stdint.h>
/**
* @ingroup jsystem-jsupport
+4 -1
View File
@@ -1,7 +1,10 @@
#ifndef JSYSTEM_PCH
#define JSYSTEM_PCH
#include "JSystem/JSupport/JSUList.h"
#include "JSystem/J3DGraphAnimator/J3DMaterialAttach.h"
#include "JSystem/J3DGraphBase/J3DPacket.h"
#include "JSystem/J3DGraphBase/J3DShape.h"
#include "JSystem/JAudio2/JASDSPChannel.h"
#include "JSystem/JSupport/JSUList.h"
#endif // JSYSTEM_PCH
+2 -2
View File
@@ -23,7 +23,7 @@
#define JUT_PANIC_F(LINE, MSG, ...) \
JUTAssertion::showAssert_f(JUTAssertion::getSDevice(), __FILE__, LINE, MSG, __VA_ARGS__); \
OSPanic(__FILE__, LINE, MSG, __VA_ARGS__);
OSPanic(__FILE__, LINE, "Halt");
#define JUT_WARN_DEVICE(LINE, DEVICE, ...) \
JUTAssertion::setWarningMessage_f(DEVICE, __FILE__, LINE, __VA_ARGS__); \
@@ -63,7 +63,7 @@ namespace JUTAssertion {
u32 getSDevice();
void showAssert_f(u32 device, const char* file, int line, const char* msg, ...);
void showAssert_f_va(u32 device, const char* file, int line, const char* msg, __va_list args);
void showAssert_f_va(u32 device, const char* file, int line, const char* msg, va_list args);
void setWarningMessage_f(u32 device, char * file, int line, const char * fmt, ...);
void setWarningMessage_f_va(u32 device, const char* file, int line, const char* msg, va_list args);
void setLogMessage_f(u32 device, char* file, int line, const char* fmt, ...);
+1 -1
View File
@@ -4,7 +4,7 @@
#include "JSystem/JGadget/linklist.h"
#include "JSystem/JKernel/JKRDisposer.h"
#include "JSystem/JUtility/JUTFont.h"
#include <stdarg>
#include <cstdarg>
/**
* @ingroup jsystem-jutility
+1 -1
View File
@@ -2,7 +2,7 @@
#define JUTDIRECTPRINT_H
#include "JSystem/JUtility/TColor.h"
#include <stdarg>
#include <cstdarg>
/**
* @ingroup jsystem-jutility
+1 -1
View File
@@ -3,7 +3,7 @@
#include "JSystem/JKernel/JKRThread.h"
#include "JSystem/JUtility/JUTGamePad.h"
#include <stdarg>
#include <cstdarg>
#include <dolphin/gx.h>
#include <dolphin/os.h>
#include "global.h"
+3 -2
View File
@@ -30,7 +30,8 @@ public:
}
void end() {
mCost = ((OSGetTick() - mTick) * 8) / ((*(u32*)0x800000F8 / 4) / 125000);
OSTick diff = OSGetTick() - mTick;
mCost = OSTicksToMicroseconds(diff);
if (mCost == 0) {
mCost = 1;
}
@@ -94,7 +95,7 @@ public:
void wholeLoopEnd() { mWholeLoop.end(); }
void idleStart() { mIdle.start(255, 129, 30); }
void idleEnd() { mIdle.end(); }
void setCostFrame(int frame) { mCostFrame = frame; }
void setCostFrame(int frame) { sManager->mCostFrame = frame; }
void setVisible(bool visible) { mVisible = visible; }
void setVisibleHeapBar(bool visible) { mHeapBarVisible = visible; }
void setWatchHeap(JKRHeap* pHeap) { mWatchHeap = pHeap; }
+1 -1
View File
@@ -2,7 +2,7 @@
#define JUTTEXTURE_H
#include <dolphin/gx.h>
#include <stdint>
#include <stdint.h>
class JUTPalette;
+2 -2
View File
@@ -36,8 +36,8 @@ public:
width = (u16)getFbWidth();
height = (u16)getEfbHeight();
}
u16 getXfbHeight() const { return mRenderObj->xfbHeight; }
u32 isAntiAliasing() const { return mRenderObj->aa; }
u16 getXfbHeight() const { return u16(mRenderObj->xfbHeight); }
u8 isAntiAliasing() const { return u8(mRenderObj->aa); }
Pattern getSamplePattern() const { return mRenderObj->sample_pattern; }
u8* getVFilter() const { return mRenderObj->vfilter; }
OSMessageQueue* getMessageQueue() { return &mMessageQueue; }
+14 -6
View File
@@ -45,15 +45,23 @@ public:
}
void* getDrawingXfb() const {
if (mDrawingXfbIndex >= 0)
return mBuffer[mDrawingXfbIndex];
return NULL;
void* result;
if (mDrawingXfbIndex >= 0) {
result = mBuffer[mDrawingXfbIndex];
} else {
result = NULL;
}
return result;
}
void* getDisplayingXfb() const {
if (mDisplayingXfbIndex >= 0)
return mBuffer[mDisplayingXfbIndex];
return NULL;
void* xfb;
if (mDisplayingXfbIndex >= 0) {
xfb = mBuffer[mDisplayingXfbIndex];
} else {
xfb = NULL;
}
return xfb;
}
void setDisplayingXfbIndex(s16 index) { mDisplayingXfbIndex = index; }
+27 -9
View File
@@ -3,12 +3,30 @@
#include "SSystem/SComponent/c_xyz.h"
#if PLATFORM_SHIELD
#define ADD_ANGLE(x, y) ((x) += (s16)(y))
#define SUB_ANGLE(x, y) ((x) -= (s16)(y))
#define MULT_ANGLE(x, y) ((x) *= (s16)(y))
// There are some angles that weren't sign-extended until the shield version
#if !PLATFORM_SHIELD
#define ADD_ANGLE_2(x, y) ((x) += (y))
#define SUB_ANGLE_2(x, y) ((x) -= (y))
#define MULT_ANGLE_2(x, y) ((x) *= (y))
#else
#define ADD_ANGLE(x, y) ((x) += (y))
#define ADD_ANGLE_2(x, y) ADD_ANGLE(x, y)
#define SUB_ANGLE_2(x, y) SUB_ANGLE(x, y)
#define MULT_ANGLE_2(x, y) MULT_ANGLE(x, y)
#endif
#define DEG2S_CONSTANT (0x8000 / 180.0f)
#define S2DEG_CONSTANT (180.0f / 0x8000)
#define S2RAD_CONSTANT (M_PI / 0x8000)
#define RAD2S_CONSTANT (0x8000 / M_PI)
#define DEG2S(x) ((s16)((x) * DEG2S_CONSTANT))
#define S2DEG(x) ((x) * S2DEG_CONSTANT)
#define S2RAD(x) ((x) * S2RAD_CONSTANT)
#define RAD2S(x) ((x) * RAD2S_CONSTANT)
class cSAngle {
private:
@@ -67,13 +85,13 @@ cSAngle operator+(short, const cSAngle&);
cSAngle operator-(short, const cSAngle&);
struct cAngle {
static f32 Radian_to_Degree(f32 rad) { return rad * 57.2957763671875f; }
static f32 Degree_to_Radian(f32 deg) { return deg * 0.017453292f; }
static s16 Degree_to_SAngle(f32 deg) { return deg * 182.04444885253906f; }
static f32 SAngle_to_Degree(s16 angle) { return (360.0f / 65536.0f) * angle; }
static f32 SAngle_to_Radian(s16 angle) { return 9.58738E-5f * angle; }
static f32 SAngle_to_Normal(s16 angle) { return 3.0517578E-5f * angle; }
static s16 Radian_to_SAngle(f32 rad) { return rad * 10430.378f; }
static f32 Radian_to_Degree(f32 rad) { return rad * (180.0f / M_PI); }
static f32 Degree_to_Radian(f32 deg) { return deg * (M_PI / 180.0f); }
static s16 Degree_to_SAngle(f32 deg) { return DEG2S(deg); }
static f32 SAngle_to_Degree(s16 angle) { return S2DEG(angle); }
static f32 SAngle_to_Radian(s16 angle) { return angle * (M_PI / 0x8000); }
static f32 SAngle_to_Normal(s16 angle) { return angle * (1.0f / 0x8000); }
static s16 Radian_to_SAngle(f32 rad) { return rad * (0x8000 / M_PI); }
/* Converts Radian value into Degree value */
static f32 r2d(f32 r) { return Radian_to_Degree(r); }
+1 -1
View File
@@ -1,7 +1,7 @@
#ifndef C_M3D_H_
#define C_M3D_H_
#include <math>
#include <cmath>
#include "dolphin/mtx.h"
class cM3dGAab;
+1 -1
View File
@@ -22,7 +22,7 @@ public:
virtual ~cM3dGPla() {}
f32 getPlaneFunc(const Vec* pPoint) const { return mD + VECDotProduct(&mNormal, pPoint); }
f32 getPlaneFunc(const Vec* pPoint) const { return mD + PSVECDotProduct(&mNormal, pPoint); }
cXyz* GetNP() { return &mNormal; }
const cXyz* GetNP() const { return &mNormal; }
f32 GetD() const { return mD; }
+1 -1
View File
@@ -2,7 +2,7 @@
#define C_XYZ_H
#include "dolphin/mtx.h"
#include <math>
#include <cmath>
struct cXyz : Vec {
static const cXyz Zero;
+1 -1
View File
@@ -7435,7 +7435,7 @@ public:
bool checkHorseRideOn() const { return mProcID == PROC_HORSE_RIDE; }
bool checkHorseTurnMode() const { return mProcID == PROC_HORSE_TURN; }
bool checkGrabUp() const { return mProcID == PROC_GRAB_UP; }
bool checkSpinnerRideWait() const {
s16 checkSpinnerRideWait() const {
return mProcID == PROC_SPINNER_WAIT && mProcVar2.field_0x300c == 0;
}
bool checkCopyRodSwingMode() { return mProcID == PROC_COPY_ROD_SWING; }
+34 -18
View File
@@ -5,6 +5,39 @@
#include "d/d_bg_s_acch.h"
#include "d/d_cc_d.h"
struct daBullet_HIOParam {
/* 0x00 */ f32 gravity;
/* 0x04 */ f32 weight;
/* 0x08 */ f32 height;
/* 0x0C */ f32 knee_height;
/* 0x10 */ f32 width;
/* 0x14 */ s16 lifetime;
};
class daBullet_Param_c {
public:
virtual ~daBullet_Param_c() {}
static daBullet_HIOParam const m;
};
#if DEBUG
class daBullet_HIO_c : public mDoHIO_entry_c {
public:
daBullet_HIO_c();
void listenPropertyEvent(const JORPropertyEvent*);
void genMessage(JORMContext*);
daBullet_HIOParam m;
};
#define BULLET_HIO_CLASS daBullet_HIO_c
#else
#define BULLET_HIO_CLASS daBullet_Param_c
#endif
/**
* @ingroup actors-unsorted
* @class daBullet_c
@@ -24,7 +57,7 @@ public:
/* 0x788 */ dBgS_AcchCir mAcchCir;
/* 0x7C8 */ dCcD_Sph mCcSph;
/* 0x900 */ cBgS_GndChk mGndChk;
/* 0x93C */ u8 field_0x93C[0x940 - 0x93C];
/* 0x93C */ BULLET_HIO_CLASS* mpHIO;
/* 0x940 */ f32 mGroundY;
/* 0x944 */ processFn mProcess;
/* 0x950 */ int mLifetime;
@@ -53,21 +86,4 @@ public:
STATIC_ASSERT(sizeof(daBullet_c) == 0x95c);
struct daBullet_HIOParam {
/* 0x00 */ f32 gravity;
/* 0x04 */ f32 weight;
/* 0x08 */ f32 height;
/* 0x0C */ f32 knee_height;
/* 0x10 */ f32 width;
/* 0x14 */ s16 lifetime;
};
class daBullet_Param_c {
public:
virtual ~daBullet_Param_c() {}
static daBullet_HIOParam const m;
};
#endif /* D_A_BULLET_H */
+4 -4
View File
@@ -106,7 +106,7 @@ public:
int calcRunAnime(int);
void setBck(int, u8, f32, f32);
u8 checkBck(int);
bool checkBck(int);
void setEffect();
bool isChaseCowGame();
void setCarryStatus();
@@ -181,7 +181,7 @@ public:
int Execute();
int CreateHeap();
static int createHeapCallBack(fopAc_ac_c*);
u8 initialize();
bool initialize();
int create();
int ctrlJoint(J3DJoint*, J3DModel*);
static int ctrlJointCallBack(J3DJoint*, int);
@@ -205,8 +205,8 @@ public:
void setNaderuFinish() { mFlags |= Flag_NaderuFinish; }
void setCrazyReadyDrawOn() { mFlags |= Flag_CrazyReadyDrawOn; }
bool getCowIn() { return mCowIn; }
int getNoNearCheckTimer() const { return mNoNearCheckTimer; }
u8 getCowIn() { return mCowIn; }
u8 getNoNearCheckTimer() { return mNoNearCheckTimer; }
private:
/* 0x568 */ u16 mFlags;
+1
View File
@@ -2,6 +2,7 @@
#define D_A_E_RB_H
#include "f_op/f_op_actor_mng.h"
#include "m_Do/m_Do_ext.h"
#include "d/d_cc_d.h"
#include "d/d_cc_uty.h"
#include "d/d_bg_s_acch.h"
+10 -20
View File
@@ -7,6 +7,7 @@
#include "d/d_msg_flow.h"
#include "d/d_path.h"
#include "f_op/f_op_actor_mng.h"
#include "m_Do/m_Do_ext.h"
/**
* @ingroup actors-enemies
@@ -45,9 +46,7 @@ public:
/* 0x06A0 */ s8 field_0x6a0;
/* 0x06A4 */ cXyz field_0x6a4;
/* 0x06B0 */ cXyz field_0x6b0;
/* 0x06BC */ u8 field_0x6bc[0x6be - 0x6bc];
/* 0x06BE */ s16 field_0x6be;
/* 0x06C0 */ s16 field_0x6c0;
/* 0x06BC */ csXyz field_0x6bc;
/* 0x06C2 */ s8 field_0x6c2;
/* 0x06C3 */ u8 field_0x6c3;
/* 0x06C4 */ J3DModel* mpEyeModels[2];
@@ -101,22 +100,17 @@ public:
/* 0x09CE */ s16 field_0x9ce;
/* 0x09D0 */ s16 field_0x9d0;
/* 0x09D4 */ cXyz field_0x9d4;
/* 0x09E0 */ u8 field_0x9e0[0x9ec - 0x9e0];
/* 0x09E0 */ cXyz field_0x9e0; // unused, dbg offset 0xa18
/* 0x09EC */ f32 field_0x9ec;
/* 0x09F0 */ f32 field_0x9f0;
/* 0x09F4 */ s16 field_0x9f4;
/* 0x09F6 */ s16 field_0x9f6;
/* 0x09F8 */ s8 field_0x9f8;
/* 0x09F9 */ u8 field_0x9f9[0xa0c - 0x9f9];
/* 0x0A0C */ s16 field_0xa0c;
/* 0x0A0E */ s16 field_0xa0e;
/* 0x0A10 */ u8 field_0xa10[0xa12 - 0xa10];
/* 0x0A12 */ s16 field_0xa12;
/* 0x0A14 */ u8 field_0xa14[0xa16 - 0xa14];
/* 0x0A16 */ s16 field_0xa16;
/* 0x0A18 */ s16 field_0xa18;
/* 0x0A1A */ u8 field_0xa1a[0xa1c - 0xa1a];
/* 0x0A1C */ s16 field_0xa1c;
/* 0x09FC */ cXyz field_0x9fc; // unused, dbg offset 0xa34
/* 0x0A08 */ u8 field_0xa08[0x0A0C - 0x0A08];
/* 0x0A0C */ csXyz field_0xa0c;
/* 0x0A12 */ csXyz field_0xa12;
/* 0x0A18 */ csXyz field_0xa18;
/* 0x0A1E */ s8 field_0xa1e;
/* 0x0A1F */ s8 field_0xa1f;
/* 0x0A20 */ u32 field_0xa20;
@@ -136,12 +130,8 @@ public:
/* 0x0AD2 */ s16 field_0xad2[4];
/* 0x0ADA */ s16 field_0xada;
/* 0x0ADC */ s16 field_0xadc;
/* 0x0ADE */ s16 field_0xade;
/* 0x0AE0 */ s16 field_0xae0;
/* 0x0AE2 */ u8 field_0xae2[0xae4 - 0xae2];
/* 0x0AE4 */ s16 field_0xae4;
/* 0x0AE6 */ s16 field_0xae6;
/* 0x0AE8 */ u8 field_0xae8[0xaec - 0xae8];
/* 0x0ADE */ csXyz field_0xade; // dbg offset 0xb1c
/* 0x0AE4 */ csXyz field_0xae4;
/* 0x0AEC */ f32 field_0xaec;
/* 0x0AF0 */ s16 field_0xaf0;
/* 0x0AF2 */ s16 field_0xaf2;
+1
View File
@@ -2,6 +2,7 @@
#define D_A_E_WS_H
#include "f_op/f_op_actor_mng.h"
#include "m_Do/m_Do_ext.h"
#include "d/d_bg_s_acch.h"
#include "d/d_cc_d.h"
#include "d/d_cc_uty.h"
+117 -118
View File
@@ -51,6 +51,122 @@ BOOL daNpcF_chkPassed(cXyz i_pos, dPnt* i_points, u16 i_idx, u16 i_num, BOOL i_i
BOOL i_isReversed);
BOOL daNpcF_chkDoBtnEqSpeak(fopAc_ac_c* i_actor_p);
class daNpcF_SPCurve_c {
private:
/* 0x00 */ u16 mNurbs;
/* 0x02 */ u16 field_0x02;
/* 0x04 */ u8 mIsReversed;
/* 0x05 */ u8 mIsClosed;
/* 0x08 */ dPnt mPoints[96];
public:
void initialize(dPath*, int);
daNpcF_SPCurve_c() {
initialize(NULL, 0);
}
virtual ~daNpcF_SPCurve_c() {}
}; // Size: 0x60C
class daNpcF_Path_c {
protected:
/* 0x00 */ u16 mIdx;
/* 0x02 */ u8 mIsReversed;
/* 0x03 */ u8 mIsClosed;
/* 0x04 */ dPath* mPathInfo;
/* 0x08 */ f32 mRange;
/* 0x0C */ f32 mPosDst;
/* 0x10 */ f32 field_0x10;
/* 0x14 */ cXyz mPosition;
/* 0x20 */ daNpcF_SPCurve_c mSPCurve;
public:
void initialize();
int setPathInfo(u8, s8, u8);
BOOL chkPassed(cXyz);
BOOL chkPassedDst(cXyz);
void reverse();
BOOL setNextIdx();
int getNextIdx();
int getBeforeIdx();
BOOL getBeforePos(cXyz&);
BOOL getNextPos(cXyz&);
BOOL getDstPos(cXyz, cXyz&);
void setNextIdxDst(cXyz);
daNpcF_Path_c() {
initialize();
}
virtual ~daNpcF_Path_c() {}
int getIdx() { return mIdx; };
void setIdx(int i_idx) { mIdx = i_idx; }
int getArg0() { return mPathInfo->m_points[mIdx].mArg0; }
u8 getArg0(int i_idx) { return mPathInfo->m_points[i_idx].mArg0; }
Vec getPntPos(int i_idx) { return mPathInfo->m_points[i_idx].m_position; }
BOOL chkClose() { return dPath_ChkClose(mPathInfo); }
BOOL chkReverse() { return mIsReversed == true; }
void onReverse() { mIsReversed = true; }
void offReverse() { mIsReversed = false; }
dPath* getPathInfo() { return mPathInfo; }
void setRange(f32 i_range) { mRange = i_range; }
int getNumPnts() { return mPathInfo->m_num; }
#if DEBUG
void drawDbgInfoXyz();
#endif
}; // Size: 0x630
class daNpcF_MatAnm_c : public J3DMaterialAnm {
private:
/* 0x0F4 */ mutable f32 field_0xF4;
/* 0x0F8 */ mutable f32 field_0xF8;
/* 0x0FC */ f32 mNowOffsetX;
/* 0x100 */ f32 mNowOffsetY;
/* 0x104 */ u8 mEyeMoveFlag;
/* 0x105 */ u8 mMorfFrm;
public:
daNpcF_MatAnm_c(): J3DMaterialAnm() { initialize(); }
void initialize();
void calc(J3DMaterial*) const;
void setNowOffsetX(float i_nowOffsetX) { mNowOffsetX = i_nowOffsetX; }
void setNowOffsetY(float i_nowOffsetY) { mNowOffsetY = i_nowOffsetY; }
void onEyeMoveFlag() { mEyeMoveFlag = 1; }
void offEyeMoveFlag() { mEyeMoveFlag = 0; }
};
class daNpcF_Lookat_c {
private:
/* 0x00 */ cXyz mJointPos[4];
/* 0x30 */ cXyz* mAttnPos_p;
/* 0x34 */ csXyz mAngularMoveDis[4];
/* 0x4C */ csXyz mMinAngle[4];
/* 0x64 */ csXyz mMaxAngle[4];
/* 0x7C */ csXyz mRotAngle[4];
/* 0x94 */ bool field_0x94[4];
/* 0x98 vtable */
public:
void initialize();
void setParam(f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, s16,
cXyz*);
void calc(fopAc_ac_c*, Mtx, csXyz**, BOOL, int, BOOL);
void adjustMoveDisAngle(s16&, s16, s16, s16);
void initCalc(fopAc_ac_c*, Mtx, cXyz*, csXyz*, f32*, cXyz&, BOOL);
void update(cXyz*, csXyz*, f32*);
void calcMoveDisAngle(int, cXyz*, csXyz*, cXyz, int, BOOL);
void setRotAngle();
void clrRotAngle();
daNpcF_Lookat_c() { initialize(); }
virtual ~daNpcF_Lookat_c() {}
cXyz* getAttnPos() { return mAttnPos_p; }
void setAttnPos(cXyz* i_attnPos) { mAttnPos_p = i_attnPos; }
};
class daNpcF_c : public fopAc_ac_c {
protected:
/* 0x568 */ mDoExt_McaMorfSO* mAnm_p;
@@ -244,7 +360,7 @@ public:
virtual ~daNpcF_c() {}
virtual void setParam() {}
virtual BOOL main() { return TRUE; }
virtual BOOL ctrlBtk() { return FALSE; }
inline virtual BOOL ctrlBtk() { return FALSE; }
virtual void adjustShapeAngle() {}
virtual void setMtx();
virtual void setMtx2();
@@ -289,123 +405,6 @@ public:
STATIC_ASSERT(sizeof(daNpcF_c) == 0xB48);
class daNpcF_MatAnm_c : public J3DMaterialAnm {
private:
/* 0x0F4 */ mutable f32 field_0xF4;
/* 0x0F8 */ mutable f32 field_0xF8;
/* 0x0FC */ f32 mNowOffsetX;
/* 0x100 */ f32 mNowOffsetY;
/* 0x104 */ u8 mEyeMoveFlag;
/* 0x105 */ u8 mMorfFrm;
public:
daNpcF_MatAnm_c() { initialize(); }
void initialize();
void calc(J3DMaterial*) const;
~daNpcF_MatAnm_c() {}
void setNowOffsetX(float i_nowOffsetX) { mNowOffsetX = i_nowOffsetX; }
void setNowOffsetY(float i_nowOffsetY) { mNowOffsetY = i_nowOffsetY; }
void onEyeMoveFlag() { mEyeMoveFlag = 1; }
void offEyeMoveFlag() { mEyeMoveFlag = 0; }
};
class daNpcF_SPCurve_c {
private:
/* 0x00 */ u16 mNurbs;
/* 0x02 */ u16 field_0x02;
/* 0x04 */ u8 mIsReversed;
/* 0x05 */ u8 mIsClosed;
/* 0x08 */ dPnt mPoints[96];
public:
void initialize(dPath*, int);
daNpcF_SPCurve_c() {
initialize(NULL, 0);
}
virtual ~daNpcF_SPCurve_c() {}
}; // Size: 0x60C
class daNpcF_Path_c {
protected:
/* 0x00 */ u16 mIdx;
/* 0x02 */ u8 mIsReversed;
/* 0x03 */ u8 mIsClosed;
/* 0x04 */ dPath* mPathInfo;
/* 0x08 */ f32 mRange;
/* 0x0C */ f32 mPosDst;
/* 0x10 */ f32 field_0x10;
/* 0x14 */ cXyz mPosition;
/* 0x20 */ daNpcF_SPCurve_c mSPCurve;
public:
void initialize();
int setPathInfo(u8, s8, u8);
BOOL chkPassed(cXyz);
BOOL chkPassedDst(cXyz);
void reverse();
BOOL setNextIdx();
int getNextIdx();
int getBeforeIdx();
BOOL getBeforePos(cXyz&);
BOOL getNextPos(cXyz&);
BOOL getDstPos(cXyz, cXyz&);
void setNextIdxDst(cXyz);
daNpcF_Path_c() {
initialize();
}
virtual ~daNpcF_Path_c() {}
int getIdx() { return mIdx; };
void setIdx(int i_idx) { mIdx = i_idx; }
int getArg0() { return mPathInfo->m_points[mIdx].mArg0; }
u8 getArg0(int i_idx) { return mPathInfo->m_points[i_idx].mArg0; }
Vec getPntPos(int i_idx) { return mPathInfo->m_points[i_idx].m_position; }
BOOL chkClose() { return dPath_ChkClose(mPathInfo); }
BOOL chkReverse() { return mIsReversed == true; }
void onReverse() { mIsReversed = true; }
void offReverse() { mIsReversed = false; }
dPath* getPathInfo() { return mPathInfo; }
void setRange(f32 i_range) { mRange = i_range; }
int getNumPnts() { return mPathInfo->m_num; }
#if DEBUG
void drawDbgInfoXyz();
#endif
}; // Size: 0x630
class daNpcF_Lookat_c {
private:
/* 0x00 */ cXyz mJointPos[4];
/* 0x30 */ cXyz* mAttnPos_p;
/* 0x34 */ csXyz mAngularMoveDis[4];
/* 0x4C */ csXyz mMinAngle[4];
/* 0x64 */ csXyz mMaxAngle[4];
/* 0x7C */ csXyz mRotAngle[4];
/* 0x94 */ bool field_0x94[4];
/* 0x98 vtable */
public:
void initialize();
void setParam(f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, s16,
cXyz*);
void calc(fopAc_ac_c*, Mtx, csXyz**, BOOL, int, BOOL);
void adjustMoveDisAngle(s16&, s16, s16, s16);
void initCalc(fopAc_ac_c*, Mtx, cXyz*, csXyz*, f32*, cXyz&, BOOL);
void update(cXyz*, csXyz*, f32*);
void calcMoveDisAngle(int, cXyz*, csXyz*, cXyz, int, BOOL);
void setRotAngle();
void clrRotAngle();
daNpcF_Lookat_c() { initialize(); }
virtual ~daNpcF_Lookat_c() {}
cXyz* getAttnPos() { return mAttnPos_p; }
void setAttnPos(cXyz* i_attnPos) { mAttnPos_p = i_attnPos; }
};
class daNpcF_MoveBgActor_c : public daNpcF_c {
private:
public:

Some files were not shown because too many files have changed in this diff Show More