mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-08 11:47:03 -04:00
More miscellaneous TU improvements (#2665)
This commit is contained in:
@@ -268,11 +268,13 @@ __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:globa
|
||||
@1012 = .bss:0x0000003C; // type:object size:0x1 scope:local
|
||||
@1010 = .bss:0x00000040; // type:object size:0x1 scope:local
|
||||
@1009 = .bss:0x00000044; // type:object size:0x1 scope:local
|
||||
lbl_222_bss_45 = .bss:0x00000045; // type:object size:0x1 data:byte
|
||||
l_initHIO = .bss:0x00000045; // type:object size:0x1 data:byte
|
||||
@3922 = .bss:0x00000048; // type:object size:0xC scope:local
|
||||
l_HIO = .bss:0x00000054; // type:object size:0x1C scope:global align:4 data:float
|
||||
lbl_222_bss_70 = .bss:0x00000070; // type:object size:0x1 data:byte
|
||||
lbl_222_bss_71 = .bss:0x00000071; // type:object size:0x1 data:byte
|
||||
@4339 = .bss:0x00000074; // type:object size:0xC scope:local
|
||||
init$4340 = .bss:0x00000080; // type:object size:0x1 scope:local
|
||||
@4342 = .bss:0x00000084; // type:object size:0xC scope:local
|
||||
@4343 = .bss:0x00000090; // type:object size:0xC scope:local
|
||||
@4344 = .bss:0x0000009C; // type:object size:0xC scope:local
|
||||
@@ -292,6 +294,7 @@ lbl_222_bss_71 = .bss:0x00000071; // type:object size:0x1 data:byte
|
||||
@4358 = .bss:0x00000144; // type:object size:0xC scope:local
|
||||
mPzCenterInit_dt$4338 = .bss:0x00000150; // type:object size:0xD8 scope:local
|
||||
@4360 = .bss:0x00000228; // type:object size:0xC scope:local
|
||||
init$4361 = .bss:0x00000234; // type:object size:0x1 scope:local
|
||||
@4363 = .bss:0x00000238; // type:object size:0xC scope:local
|
||||
@4364 = .bss:0x00000244; // type:object size:0xC scope:local
|
||||
@4365 = .bss:0x00000250; // type:object size:0xC scope:local
|
||||
@@ -311,10 +314,12 @@ mPzCenterInit_dt$4338 = .bss:0x00000150; // type:object size:0xD8 scope:local
|
||||
@4379 = .bss:0x000002F8; // type:object size:0xC scope:local
|
||||
mPzEyeInit_dt$4359 = .bss:0x00000304; // type:object size:0xD8 scope:local
|
||||
@5677 = .bss:0x000003DC; // type:object size:0xC scope:local
|
||||
init$5678 = .bss:0x000003E8; // type:object size:0x1 scope:local
|
||||
@5680 = .bss:0x000003EC; // type:object size:0xC scope:local
|
||||
@5681 = .bss:0x000003F8; // type:object size:0xC scope:local
|
||||
mPzDeadDemo_mCenter_dt$5676 = .bss:0x00000404; // type:object size:0x24 scope:local
|
||||
@5683 = .bss:0x00000428; // type:object size:0xC scope:local
|
||||
init$5684 = .bss:0x00000434; // type:object size:0x1 scope:local
|
||||
@5686 = .bss:0x00000438; // type:object size:0xC scope:local
|
||||
@5687 = .bss:0x00000444; // type:object size:0xC scope:local
|
||||
mPzDeadDemo_mEye_dt$5682 = .bss:0x00000450; // type:object size:0x24 scope:local
|
||||
|
||||
@@ -282,6 +282,7 @@ __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:globa
|
||||
@4126 = .bss:0x00000048; // type:object size:0xC scope:local
|
||||
l_HIO = .bss:0x00000054; // type:object size:0x4 scope:global data:4byte
|
||||
@5372 = .bss:0x00000058; // type:object size:0xC scope:local
|
||||
init$5373 = .bss:0x00000064; // type:object size:0x1 scope:local
|
||||
prtclScl$5371 = .bss:0x00000068; // type:object size:0xC scope:local
|
||||
sInstance__40JASGlobalInstance<19JASDefaultBankTable> = .bss:0x00000074; // type:object size:0x4 scope:global
|
||||
sInstance__35JASGlobalInstance<14JASAudioThread> = .bss:0x00000078; // type:object size:0x4 scope:global
|
||||
|
||||
@@ -558,6 +558,7 @@ __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:globa
|
||||
@3887 = .bss:0x00000048; // type:object size:0xC scope:local
|
||||
l_HIO = .bss:0x00000054; // type:object size:0x4 scope:global data:4byte
|
||||
@5533 = .bss:0x00000058; // type:object size:0xC scope:local
|
||||
init$5534 = .bss:0x00000064; // type:object size:0x1 scope:local
|
||||
eyeOffset$5532 = .bss:0x00000068; // type:object size:0xC scope:local
|
||||
sInstance__40JASGlobalInstance<19JASDefaultBankTable> = .bss:0x00000074; // type:object size:0x4 scope:global
|
||||
sInstance__35JASGlobalInstance<14JASAudioThread> = .bss:0x00000078; // type:object size:0x4 scope:global
|
||||
|
||||
@@ -104,8 +104,10 @@ l_HIO = .bss:0x00000054; // type:object size:0xC scope:local data:byte
|
||||
hz_check_pos_x = .bss:0x00000060; // type:object size:0x4 scope:local align:4 data:float
|
||||
hz_check_pos_z = .bss:0x00000064; // type:object size:0x4 scope:local align:4 data:float
|
||||
@3946 = .bss:0x00000068; // type:object size:0xC scope:local
|
||||
init$3947 = .bss:0x00000074; // type:object size:0x1 scope:local
|
||||
sc$3945 = .bss:0x00000078; // type:object size:0xC scope:local
|
||||
@4167 = .bss:0x00000084; // type:object size:0xC scope:local
|
||||
init$4168 = .bss:0x00000090; // type:object size:0x1 scope:local
|
||||
sc$4166 = .bss:0x00000094; // type:object size:0xC scope:local
|
||||
sInstance__40JASGlobalInstance<19JASDefaultBankTable> = .bss:0x000000A0; // type:object size:0x4 scope:global
|
||||
sInstance__35JASGlobalInstance<14JASAudioThread> = .bss:0x000000A4; // type:object size:0x4 scope:global
|
||||
|
||||
+17
-17
@@ -21858,36 +21858,36 @@ mWipeRate__12dDlst_list_c = .sbss:0x80450ED4; // type:object size:0x4 scope:glob
|
||||
mWipeSpeed__12dDlst_list_c = .sbss:0x80450ED8; // type:object size:0x4 scope:global align:4 data:float
|
||||
init$2153 = .sbss:0x80450EE0; // type:object size:0x1 scope:local align:1 data:byte
|
||||
S_parcent_bak$4131 = .sbss:0x80450EE8; // type:object size:0x4 scope:local align:4 data:float
|
||||
data_80450EEC = .sbss:0x80450EEC; // type:object size:0x1 scope:local align:4 data:byte
|
||||
init$4132 = .sbss:0x80450EEC; // type:object size:0x1 scope:local align:4 data:byte
|
||||
S_rot_work1$7554 = .sbss:0x80450EEE; // type:object size:0x2 scope:local data:2byte
|
||||
data_80450EF0 = .sbss:0x80450EF0; // type:object size:0x1 scope:local align:4 data:byte
|
||||
init$7555 = .sbss:0x80450EF0; // type:object size:0x1 scope:local align:4 data:byte
|
||||
S_rot_work2$7557 = .sbss:0x80450EF2; // type:object size:0x2 scope:local data:2byte
|
||||
data_80450EF4 = .sbss:0x80450EF4; // type:object size:0x1 scope:local align:4 data:byte
|
||||
init$7558 = .sbss:0x80450EF4; // type:object size:0x1 scope:local align:4 data:byte
|
||||
rot$7919 = .sbss:0x80450EF8; // type:object size:0x4 scope:local align:4 data:4byte
|
||||
data_80450EFC = .sbss:0x80450EFC; // type:object size:0x1 scope:local align:4 data:byte
|
||||
data_80450EFD = .sbss:0x80450EFD; // type:object size:0x1 data:byte
|
||||
init$7920 = .sbss:0x80450EFC; // type:object size:0x1 scope:local align:4 data:byte
|
||||
init$7942 = .sbss:0x80450EFD; // type:object size:0x1 data:byte
|
||||
rot$8366 = .sbss:0x80450F00; // type:object size:0x4 scope:local align:4 data:float
|
||||
data_80450F04 = .sbss:0x80450F04; // type:object size:0x1 scope:local align:4 data:byte
|
||||
init$8367 = .sbss:0x80450F04; // type:object size:0x1 scope:local align:4 data:byte
|
||||
rot$8936 = .sbss:0x80450F08; // type:object size:0x4 scope:local align:4 data:float
|
||||
data_80450F0C = .sbss:0x80450F0C; // type:object size:0x1 scope:local align:4 data:byte
|
||||
data_80450F0D = .sbss:0x80450F0D; // type:object size:0x1 data:byte
|
||||
init$8937 = .sbss:0x80450F0C; // type:object size:0x1 scope:local align:4 data:byte
|
||||
init$8943 = .sbss:0x80450F0D; // type:object size:0x1 data:byte
|
||||
S_fubuki_ratio$8948 = .sbss:0x80450F10; // type:object size:0x4 scope:local align:4 data:float
|
||||
data_80450F14 = .sbss:0x80450F14; // type:object size:0x1 scope:local align:4 data:byte
|
||||
init$8949 = .sbss:0x80450F14; // type:object size:0x1 scope:local align:4 data:byte
|
||||
rot$9421 = .sbss:0x80450F18; // type:object size:0x4 scope:local align:4 data:float
|
||||
data_80450F1C = .sbss:0x80450F1C; // type:object size:0x1 scope:local align:4 data:byte
|
||||
data_80450F1D = .sbss:0x80450F1D; // type:object size:0x1 data:byte
|
||||
init$9422 = .sbss:0x80450F1C; // type:object size:0x1 scope:local align:4 data:byte
|
||||
init$9426 = .sbss:0x80450F1D; // type:object size:0x1 data:byte
|
||||
rot$9847 = .sbss:0x80450F20; // type:object size:0x4 scope:local align:4 data:float
|
||||
data_80450F24 = .sbss:0x80450F24; // type:object size:0x1 scope:local align:4 data:byte
|
||||
init$9848 = .sbss:0x80450F24; // type:object size:0x1 scope:local align:4 data:byte
|
||||
howa_loop_cnt$10108 = .sbss:0x80450F28; // type:object size:0x4 scope:local align:4 data:float
|
||||
data_80450F2C = .sbss:0x80450F2C; // type:object size:0x1 scope:local align:4 data:byte
|
||||
init$10109 = .sbss:0x80450F2C; // type:object size:0x1 scope:local align:4 data:byte
|
||||
rot$10882 = .sbss:0x80450F30; // type:object size:0x4 scope:local align:4 data:float
|
||||
data_80450F34 = .sbss:0x80450F34; // type:object size:0x1 scope:local align:4 data:byte
|
||||
init$10883 = .sbss:0x80450F34; // type:object size:0x1 scope:local align:4 data:byte
|
||||
rot$11307 = .sbss:0x80450F38; // type:object size:0x4 scope:local align:4 data:float
|
||||
data_80450F3C = .sbss:0x80450F3C; // type:object size:0x1 scope:local align:4 data:byte
|
||||
init$10308 = .sbss:0x80450F3C; // type:object size:0x1 scope:local align:4 data:byte
|
||||
rot$11586 = .sbss:0x80450F40; // type:object size:0x4 scope:local align:4 data:float
|
||||
data_80450F44 = .sbss:0x80450F44; // type:object size:0x1 scope:local align:4 data:byte
|
||||
init$11587 = .sbss:0x80450F44; // type:object size:0x1 scope:local align:4 data:byte
|
||||
rot$11958 = .sbss:0x80450F48; // type:object size:0x4 scope:local align:4 data:float
|
||||
data_80450F4C = .sbss:0x80450F4C; // type:object size:0x1 scope:local align:4 data:byte
|
||||
init$11959 = .sbss:0x80450F4C; // type:object size:0x1 scope:local align:4 data:byte
|
||||
data$3831 = .sbss:0x80450F50; // type:object size:0x8 scope:local align:4
|
||||
on_final_boss_stg = .sbss:0x80450F58; // type:object size:0x1 scope:global align:1 data:byte
|
||||
l_SetCounter = .sbss:0x80450F60; // type:object size:0x4 scope:local align:4 data:4byte
|
||||
|
||||
@@ -267,11 +267,13 @@ __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:globa
|
||||
@1012 = .bss:0x0000003C; // type:object size:0x1 scope:local
|
||||
@1010 = .bss:0x00000040; // type:object size:0x1 scope:local
|
||||
@1009 = .bss:0x00000044; // type:object size:0x1 scope:local
|
||||
lbl_222_bss_45 = .bss:0x00000045; // type:object size:0x1 data:byte
|
||||
l_initHIO = .bss:0x00000045; // type:object size:0x1 data:byte
|
||||
@3922 = .bss:0x00000048; // type:object size:0xC scope:local
|
||||
l_HIO = .bss:0x00000054; // type:object size:0x1C scope:global align:4 data:float
|
||||
lbl_222_bss_70 = .bss:0x00000070; // type:object size:0x1 data:byte
|
||||
lbl_222_bss_71 = .bss:0x00000071; // type:object size:0x1 data:byte
|
||||
@4339 = .bss:0x00000074; // type:object size:0xC scope:local
|
||||
init$4340 = .bss:0x00000080; // type:object size:0x1 scope:local
|
||||
@4342 = .bss:0x00000084; // type:object size:0xC scope:local
|
||||
@4343 = .bss:0x00000090; // type:object size:0xC scope:local
|
||||
@4344 = .bss:0x0000009C; // type:object size:0xC scope:local
|
||||
@@ -291,6 +293,7 @@ lbl_222_bss_71 = .bss:0x00000071; // type:object size:0x1 data:byte
|
||||
@4358 = .bss:0x00000144; // type:object size:0xC scope:local
|
||||
mPzCenterInit_dt$4338 = .bss:0x00000150; // type:object size:0xD8 scope:local
|
||||
@4360 = .bss:0x00000228; // type:object size:0xC scope:local
|
||||
init$4361 = .bss:0x00000234; // type:object size:0x1 scope:local
|
||||
@4363 = .bss:0x00000238; // type:object size:0xC scope:local
|
||||
@4364 = .bss:0x00000244; // type:object size:0xC scope:local
|
||||
@4365 = .bss:0x00000250; // type:object size:0xC scope:local
|
||||
@@ -310,10 +313,12 @@ mPzCenterInit_dt$4338 = .bss:0x00000150; // type:object size:0xD8 scope:local
|
||||
@4379 = .bss:0x000002F8; // type:object size:0xC scope:local
|
||||
mPzEyeInit_dt$4359 = .bss:0x00000304; // type:object size:0xD8 scope:local
|
||||
@5677 = .bss:0x000003DC; // type:object size:0xC scope:local
|
||||
init$5678 = .bss:0x000003E8; // type:object size:0x1 scope:local
|
||||
@5680 = .bss:0x000003EC; // type:object size:0xC scope:local
|
||||
@5681 = .bss:0x000003F8; // type:object size:0xC scope:local
|
||||
mPzDeadDemo_mCenter_dt$5676 = .bss:0x00000404; // type:object size:0x24 scope:local
|
||||
@5683 = .bss:0x00000428; // type:object size:0xC scope:local
|
||||
init$5684 = .bss:0x00000434; // type:object size:0x1 scope:local
|
||||
@5686 = .bss:0x00000438; // type:object size:0xC scope:local
|
||||
@5687 = .bss:0x00000444; // type:object size:0xC scope:local
|
||||
mPzDeadDemo_mEye_dt$5682 = .bss:0x00000450; // type:object size:0x24 scope:local
|
||||
|
||||
@@ -281,6 +281,7 @@ __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:globa
|
||||
@4126 = .bss:0x00000048; // type:object size:0xC scope:local
|
||||
l_HIO = .bss:0x00000054; // type:object size:0x4 scope:global data:4byte
|
||||
@5372 = .bss:0x00000058; // type:object size:0xC scope:local
|
||||
init$5373 = .bss:0x00000064; // type:object size:0x1 scope:local
|
||||
prtclScl$5371 = .bss:0x00000068; // type:object size:0xC scope:local
|
||||
sInstance__40JASGlobalInstance<19JASDefaultBankTable> = .bss:0x00000074; // type:object size:0x4 scope:global
|
||||
sInstance__35JASGlobalInstance<14JASAudioThread> = .bss:0x00000078; // type:object size:0x4 scope:global
|
||||
|
||||
@@ -557,6 +557,7 @@ __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:globa
|
||||
@3887 = .bss:0x00000048; // type:object size:0xC scope:local
|
||||
l_HIO = .bss:0x00000054; // type:object size:0x4 scope:global data:4byte
|
||||
@5533 = .bss:0x00000058; // type:object size:0xC scope:local
|
||||
init$5534 = .bss:0x00000064; // type:object size:0x1 scope:local
|
||||
eyeOffset$5532 = .bss:0x00000068; // type:object size:0xC scope:local
|
||||
sInstance__40JASGlobalInstance<19JASDefaultBankTable> = .bss:0x00000074; // type:object size:0x4 scope:global
|
||||
sInstance__35JASGlobalInstance<14JASAudioThread> = .bss:0x00000078; // type:object size:0x4 scope:global
|
||||
|
||||
@@ -104,8 +104,10 @@ l_HIO = .bss:0x00000054; // type:object size:0xC scope:local data:byte
|
||||
hz_check_pos_x = .bss:0x00000060; // type:object size:0x4 scope:local align:4 data:float
|
||||
hz_check_pos_z = .bss:0x00000064; // type:object size:0x4 scope:local align:4 data:float
|
||||
@3946 = .bss:0x00000068; // type:object size:0xC scope:local
|
||||
init$3947 = .bss:0x00000074; // type:object size:0x1 scope:local
|
||||
sc$3945 = .bss:0x00000078; // type:object size:0xC scope:local
|
||||
@4167 = .bss:0x00000084; // type:object size:0xC scope:local
|
||||
init$4168 = .bss:0x00000090; // type:object size:0x1 scope:local
|
||||
sc$4166 = .bss:0x00000094; // type:object size:0xC scope:local
|
||||
sInstance__40JASGlobalInstance<19JASDefaultBankTable> = .bss:0x000000A0; // type:object size:0x4 scope:global
|
||||
sInstance__35JASGlobalInstance<14JASAudioThread> = .bss:0x000000A4; // type:object size:0x4 scope:global
|
||||
|
||||
+18
-18
@@ -21866,38 +21866,38 @@ mParticleTracePCB__13dPa_control_c = .sbss:0x8044B008; // type:object size:0x4 s
|
||||
mWipe__12dDlst_list_c = .sbss:0x8044B010; // type:object size:0x1 data:byte
|
||||
mWipeRate__12dDlst_list_c = .sbss:0x8044B014; // type:object size:0x4 scope:global align:4 data:float
|
||||
mWipeSpeed__12dDlst_list_c = .sbss:0x8044B018; // type:object size:0x4 scope:global align:4 data:float
|
||||
lbl_8044B020 = .sbss:0x8044B020; // type:object size:0x1 data:byte
|
||||
init$2153 = .sbss:0x8044B020; // type:object size:0x1 data:byte
|
||||
S_parcent_bak$4131 = .sbss:0x8044B028; // type:object size:0x4 scope:local align:4 data:float
|
||||
lbl_8044B02C = .sbss:0x8044B02C; // type:object size:0x1 data:byte
|
||||
init$4132 = .sbss:0x8044B02C; // type:object size:0x1 data:byte
|
||||
S_rot_work1$7572 = .sbss:0x8044B02E; // type:object size:0x2 scope:local align:2 data:2byte
|
||||
lbl_8044B030 = .sbss:0x8044B030; // type:object size:0x1 data:byte
|
||||
init$7573 = .sbss:0x8044B030; // type:object size:0x1 data:byte
|
||||
S_rot_work2$7575 = .sbss:0x8044B032; // type:object size:0x2 scope:local align:2 data:2byte
|
||||
lbl_8044B034 = .sbss:0x8044B034; // type:object size:0x1 data:byte
|
||||
init$7576 = .sbss:0x8044B034; // type:object size:0x1 data:byte
|
||||
rot$7951 = .sbss:0x8044B038; // type:object size:0x4 scope:local align:4 data:4byte
|
||||
lbl_8044B03C = .sbss:0x8044B03C; // type:object size:0x1 data:byte
|
||||
lbl_8044B03D = .sbss:0x8044B03D; // type:object size:0x1 data:byte
|
||||
init$7952 = .sbss:0x8044B03C; // type:object size:0x1 data:byte
|
||||
init$7972 = .sbss:0x8044B03D; // type:object size:0x1 data:byte
|
||||
rot$8398 = .sbss:0x8044B040; // type:object size:0x4 scope:local align:4 data:float
|
||||
lbl_8044B044 = .sbss:0x8044B044; // type:object size:0x1 data:byte
|
||||
init$8399 = .sbss:0x8044B044; // type:object size:0x1 data:byte
|
||||
rot$8968 = .sbss:0x8044B048; // type:object size:0x4 scope:local align:4 data:float
|
||||
lbl_8044B04C = .sbss:0x8044B04C; // type:object size:0x1 data:byte
|
||||
lbl_8044B04D = .sbss:0x8044B04D; // type:object size:0x1 data:byte
|
||||
init$8969 = .sbss:0x8044B04C; // type:object size:0x1 data:byte
|
||||
init$8975 = .sbss:0x8044B04D; // type:object size:0x1 data:byte
|
||||
S_fubuki_ratio$8980 = .sbss:0x8044B050; // type:object size:0x4 scope:local align:4 data:float
|
||||
lbl_8044B054 = .sbss:0x8044B054; // type:object size:0x1 data:byte
|
||||
init$8981 = .sbss:0x8044B054; // type:object size:0x1 data:byte
|
||||
rot$9453 = .sbss:0x8044B058; // type:object size:0x4 scope:local align:4 data:float
|
||||
lbl_8044B05C = .sbss:0x8044B05C; // type:object size:0x1 data:byte
|
||||
lbl_8044B05D = .sbss:0x8044B05D; // type:object size:0x1 data:byte
|
||||
init$9454 = .sbss:0x8044B05C; // type:object size:0x1 data:byte
|
||||
init$9458 = .sbss:0x8044B05D; // type:object size:0x1 data:byte
|
||||
rot$9899 = .sbss:0x8044B060; // type:object size:0x4 scope:local align:4 data:float
|
||||
lbl_8044B064 = .sbss:0x8044B064; // type:object size:0x1 data:byte
|
||||
init$9900 = .sbss:0x8044B064; // type:object size:0x1 data:byte
|
||||
howa_loop_cnt$10162 = .sbss:0x8044B068; // type:object size:0x4 scope:local align:4 data:float
|
||||
lbl_8044B06C = .sbss:0x8044B06C; // type:object size:0x1 data:byte
|
||||
init$10163 = .sbss:0x8044B06C; // type:object size:0x1 data:byte
|
||||
rot$10956 = .sbss:0x8044B070; // type:object size:0x4 scope:local align:4 data:float
|
||||
lbl_8044B074 = .sbss:0x8044B074; // type:object size:0x1 data:byte
|
||||
init$10957 = .sbss:0x8044B074; // type:object size:0x1 data:byte
|
||||
rot$11381 = .sbss:0x8044B078; // type:object size:0x4 scope:local align:4 data:float
|
||||
lbl_8044B07C = .sbss:0x8044B07C; // type:object size:0x1 data:byte
|
||||
init$11382 = .sbss:0x8044B07C; // type:object size:0x1 data:byte
|
||||
rot$11660 = .sbss:0x8044B080; // type:object size:0x4 scope:local align:4 data:float
|
||||
lbl_8044B084 = .sbss:0x8044B084; // type:object size:0x1 data:byte
|
||||
init$11661 = .sbss:0x8044B084; // type:object size:0x1 data:byte
|
||||
rot$12032 = .sbss:0x8044B088; // type:object size:0x4 scope:local align:4 data:float
|
||||
lbl_8044B08C = .sbss:0x8044B08C; // type:object size:0x1 data:byte
|
||||
init$12033 = .sbss:0x8044B08C; // type:object size:0x1 data:byte
|
||||
data$3831 = .sbss:0x8044B090; // type:object size:0x8 scope:local align:4
|
||||
lbl_8044B098 = .sbss:0x8044B098; // type:object size:0x1 data:byte
|
||||
l_SetCounter = .sbss:0x8044B0A0; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
|
||||
+4
-4
@@ -616,7 +616,7 @@ config.libs = [
|
||||
Object(Equivalent, "d/d_drawlist.cpp"), # missing vtable
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_kankyo_data.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_kankyo_wether.cpp"),
|
||||
Object(NonMatching, "d/d_kankyo_rain.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2J01"), "d/d_kankyo_rain.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_vibration.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_vib_pattern.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_attention.cpp"),
|
||||
@@ -645,7 +645,7 @@ config.libs = [
|
||||
Object(NonMatching, "d/d_cc_s.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_cc_uty.cpp"),
|
||||
Object(Equivalent, "d/d_cam_param.cpp"), # weak func order
|
||||
Object(NonMatching, "d/d_ev_camera.cpp"),
|
||||
Object(MatchingFor("GZ2E01"), "d/d_ev_camera.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_spline_path.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_item_data.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_item.cpp"),
|
||||
@@ -1748,7 +1748,7 @@ config.libs = [
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_ph"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_e_pm"),
|
||||
ActorRel(NonMatching, "d_a_e_po"),
|
||||
ActorRel(Equivalent, "d_a_e_pz"), # inline issue
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_pz"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_rb"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_rdb"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_rdy"),
|
||||
@@ -2189,7 +2189,7 @@ config.libs = [
|
||||
ActorRel(Equivalent, "d_a_obj_tks", extra_cflags=[DANPCF_C_HACK]), # weak function order, sinShort inline issue
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_tmoon"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_toaru_maki"),
|
||||
ActorRel(NonMatching, "d_a_obj_toby"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_toby"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_tobyhouse"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_togeTrap"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_tombo"),
|
||||
|
||||
@@ -64,13 +64,22 @@ struct cXyz : Vec {
|
||||
z *= other.z;
|
||||
}
|
||||
|
||||
void operator-=(const Vec& other) { VECSubtract(this, &other, this); }
|
||||
cXyz* operator+=(const Vec& other) {
|
||||
VECAdd(this, &other, this);
|
||||
cXyz* operator-=(const Vec& other) {
|
||||
PSVECSubtract(this, &other, this);
|
||||
return this;
|
||||
}
|
||||
cXyz* operator+=(const Vec& other) {
|
||||
PSVECAdd(this, &other, this);
|
||||
return this;
|
||||
}
|
||||
cXyz* operator*=(f32 scale) {
|
||||
PSVECScale(this, this, scale);
|
||||
return this;
|
||||
}
|
||||
cXyz* operator/=(f32 scale) {
|
||||
PSVECScale(this, this, 1.0f / scale);
|
||||
return this;
|
||||
}
|
||||
void operator*=(f32 scale) { VECScale(this, this, scale); }
|
||||
void operator/=(f32 scale) { VECScale(this, this, 1.0f / scale); }
|
||||
/* 80266C6C */ cXyz getCrossProduct(Vec const&) const;
|
||||
/* 80266CBC */ cXyz outprod(Vec const&) const;
|
||||
/* 80266CE4 */ cXyz norm() const;
|
||||
@@ -105,7 +114,7 @@ struct cXyz : Vec {
|
||||
|
||||
void zero() { set(0.0f, 0.0f, 0.0f); }
|
||||
|
||||
f32 getSquareMag() const { return VECSquareMag(this); }
|
||||
f32 getSquareMag() const { return PSVECSquareMag(this); }
|
||||
f32 getSquareDistance(const Vec& other) const { return PSVECSquareDistance(this, &other); }
|
||||
|
||||
static f32 getNearZeroValue() { return 8e-11f; }
|
||||
|
||||
@@ -271,7 +271,7 @@ public:
|
||||
}
|
||||
|
||||
int getBitTRB() { return (fopAcM_GetParam(this) & 0x3F0000) >> 16; }
|
||||
u32 getPathID() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; }
|
||||
u8 getPathID() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; }
|
||||
|
||||
void dComIfGs_setRaceGameTime(u32 i_time) {
|
||||
g_dComIfG_gameInfo.info.getMiniGame().setRaceGameTime(i_time);
|
||||
|
||||
@@ -63,15 +63,4 @@ public:
|
||||
|
||||
STATIC_ASSERT(sizeof(obj_toby_class) == 0x6374);
|
||||
|
||||
class daObj_Toby_HIO_c : public JORReflexible{
|
||||
public:
|
||||
/* 80D1378C */ daObj_Toby_HIO_c();
|
||||
/* 80D15534 */ virtual ~daObj_Toby_HIO_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
/* 0x4 */ s8 field_0x4;
|
||||
/* 0x8 */ f32 field_0x8;
|
||||
};
|
||||
|
||||
#endif /* D_A_OBJ_TOBY_H */
|
||||
|
||||
@@ -139,6 +139,7 @@ public:
|
||||
u32 GetMtrlSndId(const cBgS_PolyInfo& param_0) { return dKy_pol_sound_get(¶m_0); }
|
||||
void DebugDrawPoly(dBgW_Base *param_1) {}
|
||||
fopAc_ac_c* GetActorPointer(cBgS_PolyInfo const& param_0) const { return cBgS::GetActorPointer(param_0); }
|
||||
f32 GroundCross(cBgS_GndChk* i_gndChk) { return (f32)((cBgS*)this)->GroundCross(i_gndChk); }
|
||||
|
||||
#ifdef DEBUG
|
||||
/* 0x1404 */ u8 field_0x1404[0x1408 - 0x1404];
|
||||
|
||||
@@ -921,10 +921,10 @@ public:
|
||||
/* 800965AC */ bool hintTalkEvCamera();
|
||||
/* 80096EDC */ bool bspTransEvCamera();
|
||||
/* 80097694 */ bool portalWarpEvCamera();
|
||||
/* 8009771C */ cXyz attentionPos(fopAc_ac_c*);
|
||||
/* 80097738 */ cSAngle directionOf(fopAc_ac_c*);
|
||||
/* 8009775C */ cXyz positionOf(fopAc_ac_c*);
|
||||
/* 8009778C */ cXyz eyePos(fopAc_ac_c*);
|
||||
/* 8009771C */ cXyz attentionPos(fopAc_ac_c* i_this) { return i_this->attention_info.position; }
|
||||
/* 80097738 */ cSAngle directionOf(fopAc_ac_c* i_this) { return i_this->shape_angle.y; }
|
||||
/* 8009775C */ cXyz positionOf(fopAc_ac_c* i_this) { return i_this->current.pos; }
|
||||
/* 8009778C */ cXyz eyePos(fopAc_ac_c* i_this) { return i_this->eyePos; }
|
||||
/* 8016008C */ dCamera_c(camera_class*);
|
||||
/* 80160304 */ ~dCamera_c();
|
||||
/* 80160470 */ void initialize(camera_class*, fopAc_ac_c*, u32, u32);
|
||||
|
||||
@@ -3398,7 +3398,7 @@ inline dStage_roomDt_c* dComIfGp_roomControl_getStatusRoomDt(int room_no) {
|
||||
return g_dComIfG_gameInfo.play.getRoomControl()->getStatusRoomDt(room_no);
|
||||
}
|
||||
|
||||
inline s32 dComIfGp_roomControl_getTimePass() {
|
||||
inline BOOL dComIfGp_roomControl_getTimePass() {
|
||||
return g_dComIfG_gameInfo.play.getRoomControl()->GetTimePass();
|
||||
}
|
||||
|
||||
|
||||
+38
-13
@@ -505,26 +505,46 @@ inline dScnKy_env_light_c* dKy_getEnvlight() {
|
||||
return &g_env_light;
|
||||
}
|
||||
|
||||
// unsure of correct size
|
||||
class dKankyo_lightHIO_c {
|
||||
public:
|
||||
void dKankyo_lightHIOInfoUpDateF() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
u8 field_0x0[4];
|
||||
};
|
||||
|
||||
class dKankyo_HIO_c {
|
||||
public:
|
||||
/* 0x000 */ u8 field_0x000[0x6d - 0x0];
|
||||
/* 0x000 */ u8 field_0x06d;
|
||||
/* 0x000 */ u8 field_0x06e[0xb4 - 0x6e];
|
||||
/* 0x000 */ u8 field_0x000[0x1c - 0x0];
|
||||
/* 0x01C */ dKankyo_lightHIO_c field_0x01c;
|
||||
/* 0x020 */ u8 field_0x020[0x6d - 0x20];
|
||||
/* 0x06D */ u8 field_0x06d;
|
||||
/* 0x06E */ u8 field_0x06e[0xb4 - 0x6e];
|
||||
/* 0x0B4 */ u8 field_0x0b4;
|
||||
/* 0x0B8 */ f32 field_0x0b8;
|
||||
/* 0x0BC */ u8 field_0x0bc[0x3f4 - 0xbc];
|
||||
/* 0x3F4 */ f32 field_0x3f4;
|
||||
/* 0x3F8 */ f32 field_0x3f8;
|
||||
/* 0x3FC */ u8 field_0x3fc[0x694 - 0x3fc];
|
||||
u8 field_0x694;
|
||||
u8 field_0x695;
|
||||
u8 field_0x696;
|
||||
u8 field_0x697[0x698 - 0x697];
|
||||
bool field_0x698;
|
||||
u8 field_0x699[0x69c - 0x699];
|
||||
f32 field_0x69c;
|
||||
u8 field_0x6a0[0x79b - 0x6a0];
|
||||
u8 field_0x79b;
|
||||
/* 0x3FC */ u8 field_0x3fc[0x686 - 0x3fc];
|
||||
/* 0x686 */ u8 field_0x686;
|
||||
/* 0x687 */ u8 field_0x687[0x694 - 0x687];
|
||||
/* 0x694 */ u8 field_0x694;
|
||||
/* 0x695 */ u8 field_0x695;
|
||||
/* 0x696 */ u8 field_0x696;
|
||||
/* 0x697 */ u8 field_0x697[0x698 - 0x697];
|
||||
/* 0x698 */ bool field_0x698;
|
||||
/* 0x699 */ u8 field_0x699[0x69c - 0x699];
|
||||
/* 0x69C */ f32 field_0x69c;
|
||||
/* 0x6A0 */ u8 field_0x6a0[0x6d9 - 0x6a0];
|
||||
/* 0x6D9 */ u8 field_0x6d9;
|
||||
/* 0x6DA */ u8 field_0x6da[0x6e0 - 0x6da];
|
||||
/* 0x6E0 */ f32 field_0x6e0;
|
||||
/* 0x6E4 */ f32 field_0x6e4;
|
||||
/* 0x6E8 */ f32 field_0x6e8;
|
||||
/* 0x6EC */ u8 field_0x6ec[0x79b - 0x6ec];
|
||||
/* 0x79B */ u8 field_0x79b;
|
||||
};
|
||||
|
||||
extern dKankyo_HIO_c g_kankyoHIO;
|
||||
@@ -656,4 +676,9 @@ int dKy_Indoor_check();
|
||||
void dKy_GfFog_tevstr_set(dKy_tevstr_c* tevstr_p);
|
||||
void dKy_setLight_mine(dKy_tevstr_c* tevstr_p);
|
||||
|
||||
#if DEBUG
|
||||
inline void dKankyo_lightHIOInfoUpDateF() {
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* D_KANKYO_D_KANKYO_H */
|
||||
|
||||
+1
-1
@@ -1067,7 +1067,7 @@ public:
|
||||
/* 80024954 */ static bool resetArchiveBank(int);
|
||||
/* 80024DB0 */ static void SetTimePass(int i_TimePass) { m_time_pass = i_TimePass; }
|
||||
/* 8025BAAC */ static void setZoneNo(int, int);
|
||||
static u8 GetTimePass() { return m_time_pass; }
|
||||
static BOOL GetTimePass() { return m_time_pass; }
|
||||
|
||||
static s8 getStayNo() { return mStayNo; }
|
||||
static u8 getRegionNo(int i_roomNo) { return mStatus[i_roomNo].mRegionNo; }
|
||||
|
||||
@@ -542,7 +542,7 @@ public:
|
||||
|
||||
/* 80014738 */ void setMat(mDoExt_3DlineMat_c*);
|
||||
virtual void draw();
|
||||
virtual ~mDoExt_3DlineMatSortPacket();
|
||||
virtual ~mDoExt_3DlineMatSortPacket() {}
|
||||
|
||||
private:
|
||||
/* 0x10 */ mDoExt_3DlineMat_c* mp3DlineMat;
|
||||
@@ -554,7 +554,7 @@ public:
|
||||
/* 80013360 */ int init(u16, u16, ResTIMG*, int);
|
||||
/* 80013FB0 */ void update(int, GXColor&, dKy_tevstr_c*);
|
||||
/* 8001373C */ void update(int, f32, GXColor&, u16, dKy_tevstr_c*);
|
||||
/* 80014E7C */ int getMaterialID();
|
||||
/* 80014E7C */ int getMaterialID() { return 1; }
|
||||
/* 800134F8 */ void setMaterial();
|
||||
/* 800135D0 */ void draw();
|
||||
|
||||
@@ -578,7 +578,7 @@ public:
|
||||
/* 80012874 */ void update(int, f32, _GXColor&, u16, dKy_tevstr_c*);
|
||||
/* 80012E3C */ void update(int, _GXColor&, dKy_tevstr_c*);
|
||||
|
||||
/* 80014E84 */ virtual int getMaterialID();
|
||||
/* 80014E84 */ virtual int getMaterialID() { return 0; }
|
||||
/* 800126C0 */ virtual void setMaterial();
|
||||
/* 80012774 */ virtual void draw();
|
||||
|
||||
|
||||
@@ -391,7 +391,10 @@ void daAlink_c::setCrawlMoveAngle() {
|
||||
}
|
||||
|
||||
mLinkGndChk.SetPos(&sp20);
|
||||
sp2C.set(sp20.x - sp38.x, dComIfG_Bgsp().GroundCross(&mLinkGndChk) - sp38.y,
|
||||
// dBgS::GroundCross is implicitly inlined to cBgS::GroundCross, but for some
|
||||
// reason here that breaks the match. This is the only place in the code so
|
||||
// far (September 2025) where it causes issues.
|
||||
sp2C.set(sp20.x - sp38.x, ((cBgS&)dComIfG_Bgsp()).GroundCross(&mLinkGndChk) - sp38.y,
|
||||
sp20.z - sp38.z);
|
||||
|
||||
if (cLib_distanceAngleS(sp2C.atan2sY_XZ(), shape_angle.x) > 0x800) {
|
||||
|
||||
@@ -768,7 +768,7 @@ void daE_HP_c::executeDead() {
|
||||
-1, 0, 0);
|
||||
}
|
||||
|
||||
if (fopAcM_IsExecuting(field_0x784)) {
|
||||
if (fopAcM_IsExecuting(field_0x784) != FALSE) {
|
||||
fopAc_ac_c* player = dComIfGp_getPlayer(0);
|
||||
if (player->eventInfo.chkCondition(8)) {
|
||||
field_0x778 =
|
||||
|
||||
+26
-21
@@ -199,8 +199,8 @@ static u8 l_initHIO;
|
||||
static daE_PZ_HIO_c l_HIO;
|
||||
|
||||
/* 80761E29 0003+00 data_80761E29 None */
|
||||
static u8 data_80761E28;
|
||||
static u8 data_80761E29;
|
||||
static u8 lbl_222_bss_70;
|
||||
static u8 lbl_222_bss_71;
|
||||
|
||||
/* 80758A94-80758BA0 000614 010C+00 3/3 0/0 0/0 .text mPzScaleSet__8daE_PZ_cFb */
|
||||
bool daE_PZ_c::mPzScaleSet(bool param_0) {
|
||||
@@ -481,6 +481,7 @@ void daE_PZ_c::executeOpeningDemo() {
|
||||
cXyz sp108;
|
||||
cXyz spFC;
|
||||
|
||||
f32 var_f31 = 0.0f;
|
||||
fopAc_ac_c* parent;
|
||||
int sp28 = 22;
|
||||
|
||||
@@ -645,11 +646,11 @@ void daE_PZ_c::executeOpeningDemo() {
|
||||
|
||||
if (mAnm != 0xD) {
|
||||
setBck(0xD, 2, 3.0f, 1.0f);
|
||||
parentActorID = fopAcM_createChild(PROC_E_PZ, fopAcM_GetID(this), sp28 + arg0, &field_0x7a8, fopAcM_GetRoomNo(this), &shape_angle, NULL, -1, NULL);
|
||||
// fakematch, fpcM_GetID should be fopAcM_GetID
|
||||
parentActorID = fopAcM_createChild(PROC_E_PZ, fpcM_GetID(this), sp28 + arg0, &field_0x7a8, fopAcM_GetRoomNo(this), &shape_angle, NULL, -1, NULL);
|
||||
}
|
||||
|
||||
field_0x7d8 = 0;
|
||||
data_80761E29 = 0;
|
||||
lbl_222_bss_71 = field_0x7d8 = 0;
|
||||
|
||||
if (field_0x7d0 == 0) {
|
||||
field_0x7d0 = 120;
|
||||
@@ -743,9 +744,8 @@ void daE_PZ_c::executeOpeningDemo() {
|
||||
}
|
||||
break;
|
||||
case 130:
|
||||
field_0x7d8 = 2;
|
||||
data_80761E29 = 2;
|
||||
data_80761E28 = 0;
|
||||
lbl_222_bss_71 = field_0x7d8 = 2;
|
||||
lbl_222_bss_70 = 0;
|
||||
case 30:
|
||||
if (!eventInfo.checkCommandDemoAccrpt()) {
|
||||
fopAcM_orderPotentialEvent(this, 2, 0xFFFF, 3);
|
||||
@@ -764,11 +764,13 @@ void daE_PZ_c::executeOpeningDemo() {
|
||||
|
||||
sp120.set(mPzCenterInit_dt[7]);
|
||||
sp108 = mDemoCameraCenter - sp120;
|
||||
cLib_addCalcPos(&mDemoCameraCenter, sp120, 0.7f, sp108.abs() / 20.0f, 1.0f);
|
||||
var_f31 = sp108.abs() / 20.0f;
|
||||
cLib_addCalcPos(&mDemoCameraCenter, sp120, 0.7f, var_f31, 1.0f);
|
||||
|
||||
sp114.set(mPzEyeInit_dt[7]);
|
||||
spFC = mDemoCameraEye - sp114;
|
||||
cLib_addCalcPos(&mDemoCameraEye, sp114, 0.7f, spFC.abs() / 20.0f, 1.0f);
|
||||
var_f31 = spFC.abs() / 20.0f;
|
||||
cLib_addCalcPos(&mDemoCameraEye, sp114, 0.7f, var_f31, 1.0f);
|
||||
|
||||
if (field_0x7d0 == 0) {
|
||||
if (fopAcM_SearchByID(parentActorID, &parent) && parent != NULL) {
|
||||
@@ -851,7 +853,7 @@ void daE_PZ_c::executeOpeningDemo() {
|
||||
|
||||
if (field_0x7d7 != 0) {
|
||||
if (field_0x7d7 == 1) {
|
||||
data_80761E28 = 1;
|
||||
lbl_222_bss_70 = 1;
|
||||
|
||||
mDemoCameraCenter.set(mPzCenterInit_dt[17]);
|
||||
mDemoCameraEye.set(mPzEyeInit_dt[17]);
|
||||
@@ -956,11 +958,13 @@ void daE_PZ_c::executeOpeningDemo() {
|
||||
case 106:
|
||||
sp120.set(mPzCenterInit_dt[12]);
|
||||
sp108 = mDemoCameraCenter - sp120;
|
||||
cLib_addCalcPos(&mDemoCameraCenter, sp120, 0.7f, sp108.abs() / 10.0f, 1.0f);
|
||||
var_f31 = sp108.abs() / 10.0f;
|
||||
cLib_addCalcPos(&mDemoCameraCenter, sp120, 0.7f, var_f31, 1.0f);
|
||||
|
||||
sp114.set(mPzEyeInit_dt[12]);
|
||||
spFC = mDemoCameraEye - sp114;
|
||||
cLib_addCalcPos(&mDemoCameraEye, sp114, 0.7f, spFC.abs() / 10.0f, 1.0f);
|
||||
var_f31 = spFC.abs() / 10.0f;
|
||||
cLib_addCalcPos(&mDemoCameraEye, sp114, 0.7f, var_f31, 1.0f);
|
||||
|
||||
if (field_0x7d0 != 0 || sp108.abs() > 2.0f || spFC.abs() > 2.0f) {
|
||||
break;
|
||||
@@ -998,10 +1002,10 @@ void daE_PZ_c::executeOpeningDemo() {
|
||||
case 109:
|
||||
if (mAnm == 0xB && mpModelMorf->isStop()) {
|
||||
setBck(0xD, 2, 3.0f, 1.0f);
|
||||
parentActorID = fopAcM_createChild(PROC_E_PZ, fopAcM_GetID(this), sp28 + arg0, &field_0x7a8, fopAcM_GetRoomNo(this), &shape_angle, NULL, -1, NULL);
|
||||
// fakematch, fpcM_GetID should be fopAcM_GetID
|
||||
parentActorID = fopAcM_createChild(PROC_E_PZ, fpcM_GetID(this), sp28 + arg0, &field_0x7a8, fopAcM_GetRoomNo(this), &shape_angle, NULL, -1, NULL);
|
||||
|
||||
field_0x7d8 = 2;
|
||||
data_80761E29 = 2;
|
||||
lbl_222_bss_71 = field_0x7d8 = 2;
|
||||
}
|
||||
|
||||
if (mAnm != 0xB && mAnm != 0xD) {
|
||||
@@ -1147,11 +1151,12 @@ void daE_PZ_c::executeOpeningDemo() {
|
||||
} else {
|
||||
daPy_getPlayerActorClass()->changeDemoMode(0x17, 1, 0, 0);
|
||||
}
|
||||
|
||||
|
||||
mDemoCameraCenter.set(mPzCenterInit_dt[3]);
|
||||
mDemoCameraEye.set(mPzEyeInit_dt[4]);
|
||||
|
||||
parentActorID = fopAcM_createChild(PROC_E_PZ, fopAcM_GetID(this), sp28 + arg0, &field_0x7a8, fopAcM_GetRoomNo(this), &shape_angle, NULL, -1, NULL);
|
||||
// fakematch, fpcM_GetID should be fopAcM_GetID
|
||||
parentActorID = fopAcM_createChild(PROC_E_PZ, fpcM_GetID(this), sp28 + arg0, &field_0x7a8, fopAcM_GetRoomNo(this), &shape_angle, NULL, -1, NULL);
|
||||
|
||||
setBck(0xC, 0, 10.0f, 1.0f);
|
||||
daPy_getPlayerActorClass()->changeDemoMode(0x10, 0, 0, 0);
|
||||
@@ -1447,7 +1452,7 @@ void daE_PZ_c::executeAttack() {
|
||||
}
|
||||
|
||||
var_r27++;
|
||||
if (data_80761E29 != var_r28) {
|
||||
if (lbl_222_bss_71 != var_r28) {
|
||||
field_0x7d8 = var_r28;
|
||||
var_r27 = 100;
|
||||
}
|
||||
@@ -1967,7 +1972,7 @@ void daE_PZ_c::executeSummonsBullet() {
|
||||
|
||||
if (((daE_PZ_c*)sp8C)->field_0x7dc[field_0x7d7] == 0) {
|
||||
sp84 = BIRTH_DT[((daE_PZ_c*)sp8C)->field_0x7d8].parameters;
|
||||
data_80761E29 = ((daE_PZ_c*)sp8C)->field_0x7d8;
|
||||
lbl_222_bss_71 = ((daE_PZ_c*)sp8C)->field_0x7d8;
|
||||
|
||||
if (((daE_PZ_c*)sp8C)->field_0x7d8 == 2) {
|
||||
sp84 |= field_0x7d7 << 8;
|
||||
@@ -2062,7 +2067,7 @@ void daE_PZ_c::executeSummonsBullet() {
|
||||
if (((daE_PZ_c*)sp88)->field_0x841 != 0) {
|
||||
field_0x7d7 = 1;
|
||||
|
||||
if (data_80761E28 == 0) {
|
||||
if (lbl_222_bss_70 == 0) {
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
+144
-116
@@ -179,6 +179,15 @@ static int l_bmdData[6][2] = {
|
||||
{BMDR_LEAF, YKM3},
|
||||
};
|
||||
|
||||
enum BmdIndex {
|
||||
BMD_INDEX_YKM,
|
||||
BMD_INDEX_YKM_TOMATO,
|
||||
BMD_INDEX_YKM_LEAF,
|
||||
BMD_INDEX_YKM_CHEESE,
|
||||
BMD_INDEX_FISH,
|
||||
BMD_INDEX_LEAF,
|
||||
};
|
||||
|
||||
/* 80B5DB38-80B5DB88 -00001 0050+00 0/1 0/0 0/0 .data l_evtList */
|
||||
static daNpcT_evtData_c l_evtList[10] = {
|
||||
{"", 0},
|
||||
@@ -547,21 +556,26 @@ cPhs__Step daNpc_ykM_c::create() {
|
||||
|
||||
/* 80B53990-80B53F00 000590 0570+00 1/1 0/0 0/0 .text CreateHeap__11daNpc_ykM_cFv */
|
||||
int daNpc_ykM_c::CreateHeap() {
|
||||
// NONMATCHING
|
||||
J3DModelData* mdlData_p = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[l_bmdData[mTwilight ? 0 : 1][1]],
|
||||
l_bmdData[mTwilight ? 0 : 1][0]);
|
||||
void* mdlData_p = NULL;
|
||||
J3DModel* model = NULL;
|
||||
|
||||
int sp40 = mTwilight == 1 ? BMD_INDEX_YKM : BMD_INDEX_YKM;
|
||||
int arcNameIdx = l_bmdData[sp40][1];
|
||||
int resIndex = l_bmdData[sp40][0];
|
||||
mdlData_p = dComIfG_getObjectRes(l_resNameList[arcNameIdx], resIndex);
|
||||
if (mdlData_p == NULL) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
mpMorf[0] = new mDoExt_McaMorfSO(mdlData_p, NULL, NULL, NULL, -1, 1.0f, 0, -1, &mSound, 0x80000, 0x11020284);
|
||||
int sp34 = 0x11020284;
|
||||
mpMorf[0] = new mDoExt_McaMorfSO((J3DModelData*)mdlData_p, NULL, NULL, NULL, -1, 1.0f, 0, -1, &mSound, 0x80000, sp34);
|
||||
if (mpMorf[0] == NULL || mpMorf[0]->getModel() == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
J3DModel* model = mpMorf[0]->getModel();
|
||||
for (u16 i = 0; i < mdlData_p->getJointNum(); i++) {
|
||||
mdlData_p->getJointNodePointer(i)->setCallBack(ctrlJointCallBack);
|
||||
model = mpMorf[0]->getModel();
|
||||
for (u16 i = 0; i < ((J3DModelData*)mdlData_p)->getJointNum(); i++) {
|
||||
((J3DModelData*)mdlData_p)->getJointNodePointer(i)->setCallBack(ctrlJointCallBack);
|
||||
}
|
||||
model->setUserArea((uintptr_t)this);
|
||||
|
||||
@@ -570,66 +584,74 @@ int daNpc_ykM_c::CreateHeap() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int const bmdTypeList[3] = {1, 2, 3};
|
||||
static BmdIndex const bmdTypeList[3] = {BMD_INDEX_YKM_TOMATO, BMD_INDEX_YKM_LEAF, BMD_INDEX_YKM_CHEESE};
|
||||
switch (mType) {
|
||||
case TYPE_COOK:
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (l_bmdData[bmdTypeList[i]][0] >= 0) {
|
||||
mdlData_p = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[l_bmdData[bmdTypeList[i]][1]], l_bmdData[bmdTypeList[i]][0]);
|
||||
} else {
|
||||
mdlData_p = NULL;
|
||||
}
|
||||
|
||||
// field_0xe4c holds a Pumpkin, Leaf, and Cheese model (in that order)
|
||||
if (mdlData_p != NULL) {
|
||||
field_0xe4c[i] = mDoExt_J3DModel__create(mdlData_p, 0x80000, 0x11000084);
|
||||
} else {
|
||||
field_0xe4c[i] = NULL;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case TYPE_2:
|
||||
mdlData_p = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[l_bmdData[4][1]], l_bmdData[4][0]);
|
||||
|
||||
JUT_ASSERT(1595, 0 != mdlData_p);
|
||||
|
||||
mFishModelMorf = new mDoExt_McaMorfSO(mdlData_p, NULL, NULL, NULL, -1, 1.0f, 0, -1,
|
||||
NULL, 0x80000, 0x11000084);
|
||||
if (mFishModelMorf == NULL || mFishModelMorf->getModel() == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
mdlData_p = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[l_bmdData[5][1]], l_bmdData[5][0]);
|
||||
|
||||
JUT_ASSERT(1622, 0 != mdlData_p);
|
||||
|
||||
mLeafModelMorf = new mDoExt_McaMorfSO(mdlData_p, NULL, NULL, NULL, -1, 1.0f, 0, -1,
|
||||
NULL, 0x80000, 0x11000084);
|
||||
if (mLeafModelMorf == NULL || mLeafModelMorf->getModel() == NULL) {
|
||||
return 0;
|
||||
}
|
||||
setLeafAnm(ANM_LEAF_WAIT_A, 0.0f);
|
||||
|
||||
mdlData_p = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[l_bmdData[bmdTypeList[1]][1]], l_bmdData[bmdTypeList[1]][0]);
|
||||
if (mdlData_p != NULL) {
|
||||
field_0xe4c[1] = mDoExt_J3DModel__create(mdlData_p, 0x80000, 0x11000084);
|
||||
case TYPE_COOK:
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (l_bmdData[bmdTypeList[i]][0] >= 0) {
|
||||
mdlData_p = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[l_bmdData[bmdTypeList[i]][1]], l_bmdData[bmdTypeList[i]][0]);
|
||||
} else {
|
||||
field_0xe4c[1] = NULL;
|
||||
mdlData_p = NULL;
|
||||
}
|
||||
break;
|
||||
|
||||
case TYPE_3:
|
||||
break;
|
||||
|
||||
case TYPE_4:
|
||||
mdlData_p = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[l_bmdData[bmdTypeList[1]][1]], l_bmdData[bmdTypeList[1]][0]);
|
||||
// field_0xe4c holds a Pumpkin, Leaf, and Cheese model (in that order)
|
||||
if (mdlData_p != NULL) {
|
||||
field_0xe4c[1] = mDoExt_J3DModel__create(mdlData_p, 0x80000, 0x11000084);
|
||||
field_0xe4c[i] = mDoExt_J3DModel__create((J3DModelData*)mdlData_p, 0x80000, 0x11000084);
|
||||
} else {
|
||||
field_0xe4c[1] = NULL;
|
||||
field_0xe4c[i] = NULL;
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case TYPE_2:
|
||||
sp40 = BMD_INDEX_FISH;
|
||||
arcNameIdx = l_bmdData[sp40][1];
|
||||
resIndex = l_bmdData[sp40][0];
|
||||
mdlData_p = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[arcNameIdx], resIndex);
|
||||
|
||||
JUT_ASSERT(1595, 0 != mdlData_p);
|
||||
|
||||
sp34 = 0x11000084;
|
||||
mFishModelMorf = new mDoExt_McaMorfSO((J3DModelData*)mdlData_p, NULL, NULL, NULL, -1, 1.0f, 0, -1,
|
||||
NULL, 0x80000, sp34);
|
||||
if (mFishModelMorf == NULL || mFishModelMorf->getModel() == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
sp40 = BMD_INDEX_LEAF;
|
||||
arcNameIdx = l_bmdData[BMD_INDEX_LEAF][1];
|
||||
resIndex = l_bmdData[BMD_INDEX_LEAF][0];
|
||||
mdlData_p = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[arcNameIdx], resIndex);
|
||||
|
||||
JUT_ASSERT(1622, 0 != mdlData_p);
|
||||
|
||||
sp34 = 0x11000084;
|
||||
mLeafModelMorf = new mDoExt_McaMorfSO((J3DModelData*)mdlData_p, NULL, NULL, NULL, -1, 1.0f, 0, -1,
|
||||
NULL, 0x80000, sp34);
|
||||
if (mLeafModelMorf == NULL || mLeafModelMorf->getModel() == NULL) {
|
||||
return 0;
|
||||
}
|
||||
setLeafAnm(ANM_LEAF_WAIT_A, 0.0f);
|
||||
|
||||
mdlData_p = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[l_bmdData[bmdTypeList[1]][1]], l_bmdData[bmdTypeList[1]][0]);
|
||||
if (mdlData_p != NULL) {
|
||||
field_0xe4c[1] = mDoExt_J3DModel__create((J3DModelData*)mdlData_p, 0x80000, 0x11000084);
|
||||
} else {
|
||||
field_0xe4c[1] = NULL;
|
||||
}
|
||||
break;
|
||||
|
||||
case TYPE_3:
|
||||
break;
|
||||
|
||||
case TYPE_4:
|
||||
mdlData_p = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[l_bmdData[bmdTypeList[1]][1]], l_bmdData[bmdTypeList[1]][0]);
|
||||
if (mdlData_p != NULL) {
|
||||
field_0xe4c[1] = mDoExt_J3DModel__create((J3DModelData*)mdlData_p, 0x80000, 0x11000084);
|
||||
} else {
|
||||
field_0xe4c[1] = NULL;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (setFaceMotionAnm(1, false) && setMotionAnm(0, 0.0f, FALSE)) {
|
||||
@@ -864,8 +886,8 @@ BOOL daNpc_ykM_c::isDelete() {
|
||||
}
|
||||
|
||||
/* 80B548A8-80B54B44 0014A8 029C+00 1/1 0/0 0/0 .text reset__11daNpc_ykM_cFv */
|
||||
// NONMATCHING - m_nextID load issue, regalloc
|
||||
void daNpc_ykM_c::reset() {
|
||||
// NONMATCHING
|
||||
csXyz angle;
|
||||
int iVar1 = (u8*)&field_0x1588 - (u8*)&mpNextAction;
|
||||
|
||||
@@ -878,7 +900,7 @@ void daNpc_ykM_c::reset() {
|
||||
}
|
||||
|
||||
memset(&mpNextAction, 0, iVar1);
|
||||
|
||||
|
||||
if (getPathID() != 0xFF) {
|
||||
mPath.initialize();
|
||||
mPath.setPathInfo(getPathID(), fopAcM_GetRoomNo(this), 0);
|
||||
@@ -894,6 +916,8 @@ void daNpc_ykM_c::reset() {
|
||||
angle.y = home.angle.y;
|
||||
|
||||
switch (mType) {
|
||||
case TYPE_COOK:
|
||||
break;
|
||||
case TYPE_2:
|
||||
field_0x1568 = -20.0f;
|
||||
field_0x1579 = 1;
|
||||
@@ -1277,8 +1301,9 @@ void daNpc_ykM_c::afterMoved() {
|
||||
}
|
||||
|
||||
/* 80B55A64-80B560B4 002664 0650+00 1/0 0/0 0/0 .text setAttnPos__11daNpc_ykM_cFv */
|
||||
// NONMATCHING - HIO load issue
|
||||
void daNpc_ykM_c::setAttnPos() {
|
||||
// NONMATCHING
|
||||
fopAc_ac_c* otherYkmP = NULL;
|
||||
cXyz sp104(80.0f, 30.0f, 0.0f);
|
||||
cXyz sp110(80.0f, 0.0f, 0.0f);
|
||||
|
||||
@@ -1291,25 +1316,26 @@ void daNpc_ykM_c::setAttnPos() {
|
||||
}
|
||||
|
||||
f32 fVar1 = cM_s2rad((s16)(mCurAngle.y - field_0xd7e.y));
|
||||
f32 fVar2 = field_0x1574 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.head_angleY_max;
|
||||
f32 fVar3 = field_0x1574 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.head_angleY_min;
|
||||
f32 fVar4 = field_0x1574 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.head_angleX_max;
|
||||
f32 fVar5 = field_0x1574 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.head_angleX_min;
|
||||
f32 fVar6 = field_0x1575 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.body_angleY_max;
|
||||
f32 fVar7 = field_0x1575 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.body_angleY_min;
|
||||
f32 fVar8 = field_0x1575 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.body_angleX_max;
|
||||
f32 fVar9 = field_0x1575 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.body_angleX_min;
|
||||
J3DModel* model = mpMorf[0]->getModel();
|
||||
mJntAnm.setParam(this, model, &sp104, getBackboneJointNo(), getNeckJointNo(), getHeadJointNo(), fVar9, fVar8, fVar7, fVar6, fVar5, fVar4, fVar3,
|
||||
fVar2, daNpc_ykM_Param_c::m.common.neck_rotation_ratio, fVar1, &sp110);
|
||||
|
||||
mJntAnm.setParam(this, mpMorf[0]->getModel(), &sp104,
|
||||
getBackboneJointNo(), getNeckJointNo(), getHeadJointNo(),
|
||||
field_0x1575 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.body_angleX_min,
|
||||
field_0x1575 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.body_angleX_max,
|
||||
field_0x1575 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.body_angleY_min,
|
||||
field_0x1575 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.body_angleY_max,
|
||||
field_0x1574 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.head_angleX_min,
|
||||
field_0x1574 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.head_angleX_max,
|
||||
field_0x1574 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.head_angleY_min,
|
||||
field_0x1574 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.head_angleY_max,
|
||||
daNpc_ykM_Param_c::m.common.neck_rotation_ratio, fVar1, &sp110);
|
||||
|
||||
if (mJntAnm.getMode() == daNpcT_JntAnm_c::LOOK_MODE_8) {
|
||||
mJntAnm.calcJntRad(0.1f, 1.0f, fVar1);
|
||||
} else {
|
||||
mJntAnm.calcJntRad(0.2f, 1.0f, fVar1);
|
||||
}
|
||||
|
||||
model = mpMorf[0]->getModel();
|
||||
J3DModel* model = mpMorf[0]->getModel();
|
||||
J3DModelData* modelData = model->getModelData();
|
||||
cXyz sp11c(current.pos);
|
||||
sp11c.y += field_0x1568;
|
||||
mDoMtx_stack_c::transS(sp11c);
|
||||
@@ -1336,7 +1362,7 @@ void daNpc_ykM_c::setAttnPos() {
|
||||
mDoMtx_stack_c::multVecZero(&sp128);
|
||||
|
||||
Mtx mtx;
|
||||
MTXCopy(mDoMtx_stack_c::get(), mtx);
|
||||
cMtx_copy(mDoMtx_stack_c::get(), mtx);
|
||||
mFishModelMorf->getModel()->setBaseTRMtx(mtx);
|
||||
mFishModelMorf->modelCalc();
|
||||
|
||||
@@ -1348,7 +1374,7 @@ void daNpc_ykM_c::setAttnPos() {
|
||||
if (mLeafModelMorf != NULL) {
|
||||
mLeafModelMorf->play(0, 0);
|
||||
|
||||
fopAc_ac_c* otherYkmP = getOtherYkmP(5);
|
||||
otherYkmP = getOtherYkmP(5);
|
||||
if (otherYkmP != NULL) {
|
||||
mDoMtx_stack_c::transS(otherYkmP->current.pos);
|
||||
mDoMtx_stack_c::ZXYrotM(otherYkmP->shape_angle);
|
||||
@@ -2042,7 +2068,7 @@ int daNpc_ykM_c::cutGetTomatoPuree(int i_cutIndex) {
|
||||
}
|
||||
}
|
||||
|
||||
int iVar2[2] = {0, -1};
|
||||
int iVar2[2] = {-1, -1};
|
||||
daObj_Gadget_c* actor_p;
|
||||
f32 fVar1;
|
||||
int iVar1;
|
||||
@@ -2260,7 +2286,7 @@ int daNpc_ykM_c::cutGetTaste(int i_cutIndex) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
int iVar2[2] = {0, -1};
|
||||
int iVar2[2] = {-1, -1};
|
||||
daObj_Gadget_c* actor_p;
|
||||
f32 fVar1;
|
||||
int iVar1;
|
||||
@@ -2397,8 +2423,7 @@ int daNpc_ykM_c::cutGetTaste(int i_cutIndex) {
|
||||
|
||||
/* 80B58A38-80B59500 005638 0AC8+00 1/0 0/0 0/0 .text cutLv5DungeonClear__11daNpc_ykM_cFi */
|
||||
int daNpc_ykM_c::cutLv5DungeonClear(int i_cutIndex) {
|
||||
// NONMATCHING
|
||||
daPy_py_c* player = daPy_getPlayerActorClass();
|
||||
daPy_py_c* player = (daPy_py_c*)daPy_getPlayerActorClass();
|
||||
cXyz work;
|
||||
int rv = 0;
|
||||
int prm = -1;
|
||||
@@ -2415,6 +2440,8 @@ int daNpc_ykM_c::cutLv5DungeonClear(int i_cutIndex) {
|
||||
}
|
||||
|
||||
fopAc_ac_c* actor_p;
|
||||
s16 sVar1;
|
||||
s16 angleY;
|
||||
if (dComIfGp_getEventManager().getIsAddvance(i_cutIndex)) {
|
||||
switch (prm) {
|
||||
case 0:
|
||||
@@ -2429,7 +2456,8 @@ int daNpc_ykM_c::cutLv5DungeonClear(int i_cutIndex) {
|
||||
mMotionSeqMngr.setNo(MOTION_RUN, -1.0f, FALSE, 0);
|
||||
mSound.startCreatureVoice(Z2SE_YKM_V_DASH, -1);
|
||||
mEventTimer = timer;
|
||||
daPy_getPlayerActorClass()->setPlayerPosAndAngle(&player->current.pos, fopAcM_searchActorAngleY(player, this), 0);
|
||||
angleY = fopAcM_searchActorAngleY(player, this);
|
||||
((daPy_py_c*)daPy_getPlayerActorClass())->setPlayerPosAndAngle(&player->current.pos, angleY, 0);
|
||||
dComIfGp_getEvent().setPt2(this);
|
||||
break;
|
||||
|
||||
@@ -2525,7 +2553,6 @@ int daNpc_ykM_c::cutLv5DungeonClear(int i_cutIndex) {
|
||||
}
|
||||
|
||||
int iVar2[2] = {-1, -1};
|
||||
s16 sVar1;
|
||||
switch (prm) {
|
||||
case 0:
|
||||
rv = 1;
|
||||
@@ -2967,8 +2994,8 @@ static u8 const lit_7385[8] = {
|
||||
|
||||
/* 80B5A128-80B5A224 006D28 00FC+00 1/1 0/0 0/0 .text setDialogueMotion__11daNpc_ykM_cFv */
|
||||
void daNpc_ykM_c::setDialogueMotion() {
|
||||
// NONMATCHING
|
||||
u32 uVar1 = field_0x154c >> 1;
|
||||
int uVar1 = field_0x154c;
|
||||
uVar1 >>= 1;
|
||||
|
||||
if (0.5f < cM_rnd()) {
|
||||
if (cM_rnd() - 0.5f < 0.0f) {
|
||||
@@ -3319,7 +3346,6 @@ BOOL daNpc_ykM_c::cook(void* param_1) {
|
||||
|
||||
/* 80B5B260-80B5BE08 007E60 0BA8+00 2/0 0/0 0/0 .text race__11daNpc_ykM_cFPv */
|
||||
BOOL daNpc_ykM_c::race(void* param_1) {
|
||||
// NONMATCHING
|
||||
cXyz work;
|
||||
fopAc_ac_c* actors[2] = {this, daPy_getPlayerActorClass()};
|
||||
s16 sVar1;
|
||||
@@ -3397,7 +3423,8 @@ BOOL daNpc_ykM_c::race(void* param_1) {
|
||||
}
|
||||
|
||||
if (field_0x157e == 0) {
|
||||
do {
|
||||
int idx;
|
||||
while (true) {
|
||||
if (mPath.chkPassed1(current.pos, mPath.getNumPnts())) {
|
||||
if (mPath.getArg0() == 0) {
|
||||
mSound.startCreatureSound(Z2SE_YM_SNOBO_JUMP, 0, -1);
|
||||
@@ -3408,46 +3435,47 @@ BOOL daNpc_ykM_c::race(void* param_1) {
|
||||
if (mPath.setNextIdx(mPath.getNumPnts()) != 0) {
|
||||
field_0x1585 = 1;
|
||||
mMotionSeqMngr.setNo(MOTION_SB_GOAL, -1.0f, FALSE, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (field_0x157e == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
int idx;
|
||||
if (field_0x157e != 0) {
|
||||
if (!mStagger.checkStagger()) {
|
||||
mMotionSeqMngr.setNo(MOTION_SB_JUMP_A, -1.0f, FALSE, 0);
|
||||
}
|
||||
if (!mStagger.checkStagger()) {
|
||||
mMotionSeqMngr.setNo(MOTION_SB_JUMP_A, -1.0f, FALSE, 0);
|
||||
}
|
||||
|
||||
field_0x1514 = current.pos;
|
||||
field_0x1514 = current.pos;
|
||||
idx = mPath.getIdx();
|
||||
field_0x1520 = mPath.getPntPos(idx);
|
||||
current.angle.y = cLib_targetAngleY(&field_0x1514, &field_0x1520);
|
||||
int iVar3 = (int)((field_0x1520 - field_0x1514).absXZ() / speedF) + 1;
|
||||
speed.y = (field_0x1520.y - field_0x1514.y) + fabsf(gravity) * iVar3 * iVar3 * 0.5f;
|
||||
speed.y /= iVar3;
|
||||
}
|
||||
} else {
|
||||
idx = mPath.getIdx();
|
||||
field_0x1520 = mPath.getPntPos(idx);
|
||||
current.angle.y = cLib_targetAngleY(&field_0x1514, &field_0x1520);
|
||||
int iVar3 = (int)((field_0x1520 - field_0x1514).absXZ() / speedF) + 1;
|
||||
speed.y = (field_0x1520.y - field_0x1514.y) + iVar3 * iVar3 * fabsf(gravity) * 0.5f;
|
||||
speed.y /= iVar3;
|
||||
work = mPath.getPntPos(idx);
|
||||
}
|
||||
|
||||
idx = mPath.getIdx();
|
||||
work = mPath.getPntPos(idx);
|
||||
break;
|
||||
} while (field_0x157e == 0);
|
||||
}
|
||||
}
|
||||
|
||||
if (field_0x1585 == 0 && field_0x157e == 0) {
|
||||
current.angle.y = cLib_targetAngleY(¤t.pos, &work);
|
||||
s16 angleY = cLib_targetAngleY(¤t.pos, &work);
|
||||
current.angle.y = angleY;
|
||||
cLib_addCalcAngleS2(&shape_angle.y, current.angle.y, 8, 0x100);
|
||||
mCurAngle.y = shape_angle.y;
|
||||
|
||||
if (!mStagger.checkStagger() && (mMotionSeqMngr.getNo() != MOTION_SB_JUMP_C || mMotionSeqMngr.checkEndSequence())) {
|
||||
int sVar2 = sVar1 - mCurAngle.y;
|
||||
if (0.0f < cM_sht2d(sVar2)) {
|
||||
if (4.0f < cM_sht2d(sVar2)) {
|
||||
angleY -= mCurAngle.y;
|
||||
if (0.0f < cM_sht2d(angleY)) {
|
||||
if (4.0f < cM_sht2d(angleY)) {
|
||||
mMotionSeqMngr.setNo(MOTION_SB_TURNL, 24.0f, FALSE, 0);
|
||||
} else {
|
||||
mMotionSeqMngr.setNo(MOTION_SB_WAIT, 24.0f, FALSE, 0);
|
||||
}
|
||||
} else {
|
||||
if (cM_sht2d(sVar2) < -4.0f) {
|
||||
if (cM_sht2d(angleY) < -4.0f) {
|
||||
mMotionSeqMngr.setNo(MOTION_SB_TURNR, 24.0f, FALSE, 0);
|
||||
} else {
|
||||
mMotionSeqMngr.setNo(MOTION_SB_WAIT, 24.0f, FALSE, 0);
|
||||
@@ -3455,9 +3483,9 @@ BOOL daNpc_ykM_c::race(void* param_1) {
|
||||
}
|
||||
}
|
||||
|
||||
s16 sVar3 = -fopAcM_getPolygonAngle(mGndChk, current.angle.y + 0x4000);
|
||||
angleY = -fopAcM_getPolygonAngle(mGndChk, current.angle.y + 0x4000);
|
||||
cLib_addCalcAngleS2(&mCurAngle.x, mGroundAngle, 6, 0x200);
|
||||
cLib_addCalcAngleS2(&mCurAngle.z, sVar3, 6, 0x200);
|
||||
cLib_addCalcAngleS2(&mCurAngle.z, angleY, 6, 0x200);
|
||||
int iVar1 = field_0x1560 - field_0x1558.field_0x0;
|
||||
f32 fVar2 = daNpc_ykM_Param_c::m.slide_speed * cM_scos(mGroundAngle);
|
||||
|
||||
@@ -3472,9 +3500,10 @@ BOOL daNpc_ykM_c::race(void* param_1) {
|
||||
field_0x1540 = 8;
|
||||
}
|
||||
|
||||
int iVar2 = cLib_minMaxLimit<int>(iVar1 + daNpc_ykM_Param_c::m.competition_prm_a, 0, daNpc_ykM_Param_c::m.competition_prm_b);
|
||||
iVar1 += daNpc_ykM_Param_c::m.competition_prm_a;
|
||||
int iVar2 = cLib_minMaxLimit<int>(iVar1, 0, daNpc_ykM_Param_c::m.competition_prm_b);
|
||||
if (iVar2 > 0) {
|
||||
fVar2 *= daNpc_ykM_Param_c::m.competition_prm_c * 0.1f * abs(iVar2) + 1.0f;
|
||||
fVar2 *= abs(iVar2) * 0.1f * daNpc_ykM_Param_c::m.competition_prm_c + 1.0f;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3561,7 +3590,6 @@ BOOL daNpc_ykM_c::talk(void* param_1) {
|
||||
|
||||
#ifdef DEBUG
|
||||
BOOL daNpc_ykM_c::test(void* param_1) {
|
||||
// NONMATCHING
|
||||
switch (mMode) {
|
||||
case 1:
|
||||
speedF = 0.0f;
|
||||
|
||||
+24
-21
@@ -408,21 +408,20 @@ f32 dummy_1f() {
|
||||
}
|
||||
|
||||
/* 80B5F34C-80B5F5C8 00052C 027C+00 1/1 0/0 0/0 .text CreateHeap__11daNpc_ykW_cFv */
|
||||
// NONMATCHING - regalloc
|
||||
int daNpc_ykW_c::CreateHeap() {
|
||||
J3DModelData* modelData = NULL;
|
||||
void* mdlData_p = NULL;
|
||||
J3DModel* model = NULL;
|
||||
|
||||
int bmdDataIdx = 0;
|
||||
int arcNameIdx = l_bmdData[bmdDataIdx][1];
|
||||
int resIndex = l_bmdData[bmdDataIdx][0];
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[arcNameIdx], resIndex);
|
||||
if (modelData == NULL) {
|
||||
mdlData_p = dComIfG_getObjectRes(l_resNameList[arcNameIdx], resIndex);
|
||||
if (mdlData_p == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int temp1 = 0x11020284;
|
||||
mpMorf[0] = new mDoExt_McaMorfSO(modelData, NULL, NULL, NULL, -1, 1.0f, 0, -1, &mSound,
|
||||
mpMorf[0] = new mDoExt_McaMorfSO((J3DModelData*)mdlData_p, NULL, NULL, NULL, -1, 1.0f, 0, -1, &mSound,
|
||||
0x80000, temp1);
|
||||
|
||||
if (mpMorf[0] == NULL || mpMorf[0]->getModel() == NULL) {
|
||||
@@ -434,8 +433,8 @@ int daNpc_ykW_c::CreateHeap() {
|
||||
}
|
||||
|
||||
model = mpMorf[0]->getModel();
|
||||
for (u16 i = 0; i < modelData->getJointNum(); i++) {
|
||||
modelData->getJointNodePointer(i)->setCallBack(ctrlJointCallBack);
|
||||
for (u16 i = 0; i < ((J3DModelData*)mdlData_p)->getJointNum(); i++) {
|
||||
((J3DModelData*)mdlData_p)->getJointNodePointer(i)->setCallBack(ctrlJointCallBack);
|
||||
}
|
||||
model->setUserArea((uintptr_t)this);
|
||||
|
||||
@@ -992,7 +991,7 @@ void daNpc_ykW_c::afterMoved() {
|
||||
}
|
||||
|
||||
/* 80B60F08-80B614D0 0020E8 05C8+00 1/0 0/0 0/0 .text setAttnPos__11daNpc_ykW_cFv */
|
||||
// NONMATCHING - HIO load issue
|
||||
// NONMATCHING - HIO load issue, regalloc
|
||||
void daNpc_ykW_c::setAttnPos() {
|
||||
cXyz unkXyz1(0.0f, 50.0f, 0.0f);
|
||||
if (field_0x106a != 0) {
|
||||
@@ -2790,7 +2789,6 @@ int daNpc_ykW_c::walk(void* param_0) {
|
||||
}
|
||||
|
||||
/* 80B6591C-80B6640C 006AFC 0AF0+00 2/0 0/0 0/0 .text race__11daNpc_ykW_cFPv */
|
||||
// NONMATCHING - multiple issues
|
||||
int daNpc_ykW_c::race(void* param_0) {
|
||||
int unkInt1;
|
||||
s16 targetAngleY;
|
||||
@@ -2878,8 +2876,8 @@ int daNpc_ykW_c::race(void* param_0) {
|
||||
field_0x106e = 0;
|
||||
}
|
||||
|
||||
do {
|
||||
if (field_0x106e == 0) {
|
||||
if (field_0x106e == 0) {
|
||||
while (true) {
|
||||
if (mPath.chkPassed1(current.pos, mPath.getNumPnts())) {
|
||||
if (mPath.getArg0() == 0) {
|
||||
mSound.startCreatureSound(Z2SE_YW_SNOBO_JUMP, 0, -1);
|
||||
@@ -2890,7 +2888,11 @@ int daNpc_ykW_c::race(void* param_0) {
|
||||
field_0x1064 = 1;
|
||||
field_0x1065 = 1;
|
||||
mMotionSeqMngr.setNo(32, -1.0f, 0, 0);
|
||||
} else if (field_0x106e != 0) {
|
||||
} else {
|
||||
if (field_0x106e == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!mStagger.checkStagger()) {
|
||||
mMotionSeqMngr.setNo(25, -1.0f, 0, 0);
|
||||
}
|
||||
@@ -2908,10 +2910,11 @@ int daNpc_ykW_c::race(void* param_0) {
|
||||
idx = mPath.getIdx();
|
||||
unkXyz1 = mPath.getPntPos(idx);
|
||||
}
|
||||
break;
|
||||
}
|
||||
} while (field_0x1064 == 0);
|
||||
}
|
||||
|
||||
if (field_0x106e == 0) {
|
||||
if (field_0x1064 == 0 && field_0x106e == 0) {
|
||||
targetAngleY = cLib_targetAngleY(¤t.pos, &unkXyz1);
|
||||
current.angle.y = targetAngleY;
|
||||
cLib_addCalcAngleS2(&shape_angle.y, current.angle.y, 4, 0x200);
|
||||
@@ -2935,20 +2938,20 @@ int daNpc_ykW_c::race(void* param_0) {
|
||||
targetAngleY = -fopAcM_getPolygonAngle(mGndChk, (s16)(current.angle.y + 0x4000));
|
||||
cLib_addCalcAngleS2(&mCurAngle.x, mGroundAngle, 6, 0x200);
|
||||
cLib_addCalcAngleS2(&mCurAngle.z, targetAngleY, 6, 0x200);
|
||||
unkInt1 = field_0x104c - field_0x1044.field_0x0;
|
||||
int unkInt2 = field_0x104c - field_0x1044.field_0x0;
|
||||
unkFloat1 = HIO_PARAM(this)->mSlidingSpeed * cM_scos(mGroundAngle);
|
||||
if (mStagger.checkStagger()) {
|
||||
unkFloat1 *= 0.0f;
|
||||
} else {
|
||||
unkInt1 += HIO_PARAM(this)->mCompetParamA;
|
||||
unkInt1 = cLib_minMaxLimit<int>(unkInt1, 0, HIO_PARAM(this)->mCompetParamB);
|
||||
if (unkInt1 > 0) {
|
||||
unkFloat1 *= (f32)abs(unkInt1) * 0.1f * HIO_PARAM(this)->mCompetParamC + 1.0f;
|
||||
unkInt2 += HIO_PARAM(this)->mCompetParamA;
|
||||
unkInt2 = cLib_minMaxLimit<int>(unkInt2, 0, HIO_PARAM(this)->mCompetParamB);
|
||||
if (unkInt2 > 0) {
|
||||
unkFloat1 *= (f32)abs(unkInt2) * 0.1f * HIO_PARAM(this)->mCompetParamC + 1.0f;
|
||||
}
|
||||
}
|
||||
cLib_chaseF(&speedF, unkFloat1, HIO_PARAM(this)->mSlidingAccel);
|
||||
mSound.startCreatureSound(Z2SE_YW_SNOBO_RIDE, speedF, -1);
|
||||
mSound.startCreatureVoice(Z2SE_YW_V_SNOBO_RIDING, -1);
|
||||
mSound.startCreatureSoundLevel(Z2SE_YW_SNOBO_RIDE, speedF, -1);
|
||||
mSound.startCreatureVoiceLevel(Z2SE_YW_V_SNOBO_RIDING, -1);
|
||||
}
|
||||
}
|
||||
attention_info.flags = 0;
|
||||
|
||||
+2
-171
@@ -9,6 +9,7 @@
|
||||
#include "SSystem/SComponent/c_math.h"
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMaterial.h"
|
||||
#include "Z2AudioLib/Z2Instances.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "f_op/f_op_kankyo_mng.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
@@ -2402,177 +2403,7 @@ static int daNpc_zrA_IsDelete(void* i_this) {
|
||||
|
||||
#include "d/actor/d_a_npc_zra.inc"
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80B8DAB4-80B8DAB8 000074 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__40JASGlobalInstance<19JASDefaultBankTable> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAB4[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DAB8-80B8DABC 000078 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__35JASGlobalInstance<14JASAudioThread> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAB8[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DABC-80B8DAC0 00007C 0004+00 0/0 0/0 0/0 .bss sInstance__27JASGlobalInstance<7Z2SeMgr> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DABC[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DAC0-80B8DAC4 000080 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8Z2SeqMgr> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAC0[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DAC4-80B8DAC8 000084 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SceneMgr>
|
||||
*/
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAC4[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DAC8-80B8DACC 000088 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2StatusMgr>
|
||||
*/
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAC8[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DACC-80B8DAD0 00008C 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2DebugSys>
|
||||
*/
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DACC[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DAD0-80B8DAD4 000090 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__36JASGlobalInstance<15JAISoundStarter> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAD0[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DAD4-80B8DAD8 000094 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__35JASGlobalInstance<14Z2SoundStarter> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAD4[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DAD8-80B8DADC 000098 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__33JASGlobalInstance<12Z2SpeechMgr2> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAD8[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DADC-80B8DAE0 00009C 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8JAISeMgr> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DADC[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DAE0-80B8DAE4 0000A0 0004+00 0/0 0/0 0/0 .bss sInstance__29JASGlobalInstance<9JAISeqMgr> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAE0[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DAE4-80B8DAE8 0000A4 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__33JASGlobalInstance<12JAIStreamMgr> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAE4[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DAE8-80B8DAEC 0000A8 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SoundMgr>
|
||||
*/
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAE8[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DAEC-80B8DAF0 0000AC 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__33JASGlobalInstance<12JAISoundInfo> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAEC[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DAF0-80B8DAF4 0000B0 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__34JASGlobalInstance<13JAUSoundTable> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAF0[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DAF4-80B8DAF8 0000B4 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__38JASGlobalInstance<17JAUSoundNameTable> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAF4[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DAF8-80B8DAFC 0000B8 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__33JASGlobalInstance<12JAUSoundInfo> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAF8[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DAFC-80B8DB00 0000BC 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SoundInfo>
|
||||
*/
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAFC[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DB00-80B8DB04 0000C0 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__34JASGlobalInstance<13Z2SoundObjMgr> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DB00[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DB04-80B8DB08 0000C4 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2Audience>
|
||||
*/
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DB04[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DB08-80B8DB0C 0000C8 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2FxLineMgr>
|
||||
*/
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DB08[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DB0C-80B8DB10 0000CC 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2EnvSeMgr>
|
||||
*/
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DB0C[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DB10-80B8DB14 0000D0 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SpeechMgr>
|
||||
*/
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DB10[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DB14-80B8DB18 0000D4 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DB14[4];
|
||||
#pragma pop
|
||||
AUDIO_INSTANCES
|
||||
|
||||
/* 80B8D8DC-80B8D8FC -00001 0020+00 1/0 0/0 0/0 .data daNpc_zrA_MethodTable */
|
||||
static actor_method_class daNpc_zrA_MethodTable = {
|
||||
|
||||
@@ -50,6 +50,17 @@ static s8 r11yuka_image[192] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
class daObj_Toby_HIO_c : public JORReflexible{
|
||||
public:
|
||||
/* 80D1378C */ daObj_Toby_HIO_c();
|
||||
/* 80D15534 */ virtual ~daObj_Toby_HIO_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
/* 0x4 */ s8 field_0x4;
|
||||
/* 0x8 */ f32 field_0x8;
|
||||
};
|
||||
|
||||
/* 80D1378C-80D137B0 0000EC 0024+00 1/1 0/0 0/0 .text __ct__16daObj_Toby_HIO_cFv */
|
||||
daObj_Toby_HIO_c::daObj_Toby_HIO_c() {
|
||||
field_0x4 = -1;
|
||||
@@ -435,24 +446,24 @@ static int daObj_Toby_Delete(obj_toby_class* i_this) {
|
||||
// nonmatching - regalloc
|
||||
static int useHeapInit(fopAc_ac_c* a_this) {
|
||||
obj_toby_class* i_this = (obj_toby_class*)a_this;
|
||||
J3DModelData* modelData;
|
||||
J3DModelData* modelData2;
|
||||
void* modelData;
|
||||
void* modelData2;
|
||||
yuka_s* pYuka;
|
||||
|
||||
|
||||
if (i_this->field_0x577 == 0) {
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes(i_this->mArcName, 4);
|
||||
modelData = dComIfG_getObjectRes(i_this->mArcName, 4);
|
||||
JUT_ASSERT(868, modelData != 0);
|
||||
modelData2 = (J3DModelData*)dComIfG_getObjectRes(i_this->mArcName, 5);
|
||||
modelData2 = dComIfG_getObjectRes(i_this->mArcName, 5);
|
||||
// !@bug assert on wrong variable. not really meaningful.
|
||||
JUT_ASSERT(872, modelData != 0);
|
||||
pYuka = i_this->mYukas;
|
||||
for (int i = 0; i < i_this->mYukaNum; i++, pYuka++) {
|
||||
i_this->mYukas[i].mModel1 = mDoExt_J3DModel__create(modelData, 0x20000, 0x11000084);
|
||||
i_this->mYukas[i].mModel1 = mDoExt_J3DModel__create((J3DModelData*)modelData, 0x20000, 0x11000084);
|
||||
if (i_this->mYukas[i].mModel1 == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
i_this->mYukas[i].mModel2 = mDoExt_J3DModel__create(modelData2, 0x20000, 0x11000084);
|
||||
i_this->mYukas[i].mModel2 = mDoExt_J3DModel__create((J3DModelData*)modelData2, 0x20000, 0x11000084);
|
||||
if (i_this->mYukas[i].mModel2 == NULL) {
|
||||
return 0;
|
||||
}
|
||||
@@ -467,11 +478,11 @@ static int useHeapInit(fopAc_ac_c* a_this) {
|
||||
}
|
||||
} else if (i_this->field_0x577 == 1) {
|
||||
a_this->field_0x567 = 1;
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes(i_this->mArcName, 6);
|
||||
modelData = dComIfG_getObjectRes(i_this->mArcName, 6);
|
||||
JUT_ASSERT(907, modelData != 0);
|
||||
|
||||
for (int i = 0; i < i_this->mYukaNum; i++) {
|
||||
i_this->mYukas[i].mModel1 = mDoExt_J3DModel__create(modelData, 0x20000, 0x11000084);
|
||||
i_this->mYukas[i].mModel1 = mDoExt_J3DModel__create((J3DModelData*)modelData, 0x20000, 0x11000084);
|
||||
if (i_this->mYukas[i].mModel1 == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
+6
-10
@@ -1636,20 +1636,16 @@ void dDlst_shadowControl_c::draw(Mtx param_0) {
|
||||
GXSetAlphaUpdate(GX_DISABLE);
|
||||
}
|
||||
|
||||
/* 803A8D9C-803A8DCC 005EBC 0030+00 0/0 0/0 0/0 .data mtx_adj$5842 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static Mtx mtx_adj = {
|
||||
{0.5f, 0.0f, 0.0f, 0.5f},
|
||||
{0.0f, -0.5f, 0.0f, 0.5f},
|
||||
{0.0f, 0.0f, 1.0f, 0.0f},
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80055C74-80055F1C 0505B4 02A8+00 0/0 1/1 1/1 .text
|
||||
* setReal__21dDlst_shadowControl_cFUlScP8J3DModelP4cXyzffP12dKy_tevstr_c */
|
||||
int dDlst_shadowControl_c::setReal(u32 param_1, s8 param_2, J3DModel* param_3, cXyz* param_4,
|
||||
f32 param_5, f32 param_6, dKy_tevstr_c* param_7) {
|
||||
static Mtx mtx_adj = {
|
||||
{0.5f, 0.0f, 0.0f, 0.5f},
|
||||
{0.0f, -0.5f, 0.0f, 0.5f},
|
||||
{0.0f, 0.0f, 1.0f, 0.0f},
|
||||
};
|
||||
|
||||
f32 fVar1;
|
||||
f32 dVar16 = (param_2 == 0) ? 1.0f : (1.0f - 0.003000000026077032f * param_6);
|
||||
if (dVar16 <= 0.0f) {
|
||||
|
||||
@@ -4142,23 +4142,3 @@ bool dCamera_c::bspTransEvCamera() {
|
||||
bool dCamera_c::portalWarpEvCamera() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 8009771C-80097738 09205C 001C+00 11/11 22/22 0/0 .text attentionPos__9dCamera_cFP10fopAc_ac_c */
|
||||
cXyz dCamera_c::attentionPos(fopAc_ac_c* a_this) {
|
||||
return a_this->attention_info.position;
|
||||
}
|
||||
|
||||
/* 80097738-8009775C 092078 0024+00 10/10 10/10 0/0 .text directionOf__9dCamera_cFP10fopAc_ac_c */
|
||||
cSAngle dCamera_c::directionOf(fopAc_ac_c* a_this) {
|
||||
return a_this->shape_angle.y;
|
||||
}
|
||||
|
||||
/* 8009775C-80097778 09209C 001C+00 9/9 20/20 0/0 .text positionOf__9dCamera_cFP10fopAc_ac_c */
|
||||
cXyz dCamera_c::positionOf(fopAc_ac_c* a_this) {
|
||||
return a_this->current.pos;
|
||||
}
|
||||
|
||||
/* 8009778C-800977A8 0920CC 001C+00 1/1 2/2 0/0 .text eyePos__9dCamera_cFP10fopAc_ac_c */
|
||||
cXyz dCamera_c::eyePos(fopAc_ac_c* a_this) {
|
||||
return a_this->eyePos;
|
||||
}
|
||||
|
||||
+99
-46
@@ -3,10 +3,12 @@
|
||||
#include "d/d_kankyo.h"
|
||||
#include <dolphin.h>
|
||||
#include <dolphin/gf/GFPixel.h>
|
||||
|
||||
#include "SSystem/SComponent/c_counter.h"
|
||||
#include "SSystem/SComponent/c_math.h"
|
||||
#include "d/actor/d_a_kytag08.h"
|
||||
#include "d/actor/d_a_player.h"
|
||||
#include "d/d_debug_viewer.h"
|
||||
#include "d/d_kankyo_rain.h"
|
||||
#include "d/d_kankyo_static.h"
|
||||
#include "d/d_meter2_info.h"
|
||||
@@ -3526,6 +3528,7 @@ void dScnKy_env_light_c::setLightTevColorType(J3DModelData*, dKy_tevstr_c*) {}
|
||||
// NONMATCHING - some minor issues with dKyd_maple_col_getp
|
||||
static void setLightTevColorType_MAJI_sub(J3DMaterial* material_p, dKy_tevstr_c* tevstr_p,
|
||||
int lightType) {
|
||||
int i;
|
||||
dScnKy_env_light_c* kankyo = dKy_getEnvlight();
|
||||
MtxP view_mtx = j3dSys.getViewMtx();
|
||||
camera_class* camera = (camera_class*)dComIfGp_getCamera(0);
|
||||
@@ -3597,7 +3600,7 @@ static void setLightTevColorType_MAJI_sub(J3DMaterial* material_p, dKy_tevstr_c*
|
||||
|
||||
if (view_mtx != NULL) {
|
||||
if (lightType != 2) {
|
||||
for (int i = 0; i < 6; i++) {
|
||||
for (i = 0; i < 6; i++) {
|
||||
material_p->setLight(i + 2, &tevstr_p->mLights[i]);
|
||||
}
|
||||
} else if (g_env_light.fishing_hole_season >= 1 && g_env_light.fishing_hole_season <= 4)
|
||||
@@ -3635,7 +3638,7 @@ static void setLightTevColorType_MAJI_sub(J3DMaterial* material_p, dKy_tevstr_c*
|
||||
|
||||
material_p->setAmbColor(0, &amb_col);
|
||||
|
||||
for (int i = 0; i < 6; i++) {
|
||||
for (i = 0; i < 6; i++) {
|
||||
if (i <= 1) {
|
||||
J3DLightInfo* var_r28;
|
||||
if (i == 0) {
|
||||
@@ -3649,13 +3652,12 @@ static void setLightTevColorType_MAJI_sub(J3DMaterial* material_p, dKy_tevstr_c*
|
||||
var_r28 = &kankyo->global_maple_col_change[i].light_obj.getLightInfo();
|
||||
}
|
||||
|
||||
color_RGB_class maple_color;
|
||||
maple_color.r =
|
||||
dKyd_maple_col_getp()[(g_env_light.fishing_hole_season + (i * 4))].r;
|
||||
dKyd_maple_col_getp()[(g_env_light.fishing_hole_season - 1 + (i * 4))].r;
|
||||
maple_color.g =
|
||||
dKyd_maple_col_getp()[(g_env_light.fishing_hole_season + (i * 4))].g;
|
||||
dKyd_maple_col_getp()[(g_env_light.fishing_hole_season - 1 + (i * 4))].g;
|
||||
maple_color.b =
|
||||
dKyd_maple_col_getp()[(g_env_light.fishing_hole_season + (i * 4))].b;
|
||||
dKyd_maple_col_getp()[(g_env_light.fishing_hole_season - 1 + (i * 4))].b;
|
||||
|
||||
var_f31 = var_r28->mColor.r / 95.0f;
|
||||
var_f31 *= var_f31;
|
||||
@@ -4285,7 +4287,6 @@ BOOL dKy_lightswitch_check(stage_pure_lightvec_info_class* stage_light_info_p, c
|
||||
}
|
||||
|
||||
/* 801A6278-801A6C20 1A0BB8 09A8+00 2/2 0/0 0/0 .text dKy_setLight_nowroom_common__Fcf */
|
||||
// NONMATCHING - some issues with lightStatusPt loads
|
||||
void dKy_setLight_nowroom_common(char room_no, f32 light_ratio) {
|
||||
dScnKy_env_light_c* kankyo = dKy_getEnvlight();
|
||||
camera_class* camera = (camera_class*)dComIfGp_getCamera(0);
|
||||
@@ -4386,7 +4387,7 @@ void dKy_setLight_nowroom_common(char room_no, f32 light_ratio) {
|
||||
lightStatusPt[i + 2].mDistFn = (GXDistAttnFn)room_light_info[i].dist_atten_type;
|
||||
lightStatusPt[i + 2].mCutoff = room_light_info[i].spotCutoff;
|
||||
dKy_lightdir_set(room_light_info[i].directionX, room_light_info[i].directionY,
|
||||
&lightStatusPt[i + 2].mLightDir);
|
||||
&((&lightStatusPt[i] + 2))->mLightDir);
|
||||
} else {
|
||||
lightStatusPt[i + 2].mRefDist = 0.0f;
|
||||
lightStatusPt[i + 2].mRefBrightness = 0.99999f;
|
||||
@@ -4402,11 +4403,11 @@ void dKy_setLight_nowroom_common(char room_no, f32 light_ratio) {
|
||||
lightMask |= lightMaskData[3];
|
||||
|
||||
if (i == 0) {
|
||||
lightStatusPt[i + 2].position = kankyo->sun_pos;
|
||||
((&lightStatusPt[i] + 2))->position = kankyo->sun_pos;
|
||||
} else if (camera != 0) {
|
||||
lightStatusPt[i + 2].position = camera->lookat.eye + kankyo->moon_pos;
|
||||
((&lightStatusPt[i] + 2))->position = camera->lookat.eye + kankyo->moon_pos;
|
||||
} else {
|
||||
lightStatusPt[i + 2].position = kankyo->moon_pos;
|
||||
((&lightStatusPt[i] + 2))->position = kankyo->moon_pos;
|
||||
}
|
||||
|
||||
lightStatusPt[i + 2].mRefDist = 10000.0f;
|
||||
@@ -4423,17 +4424,17 @@ void dKy_setLight_nowroom_common(char room_no, f32 light_ratio) {
|
||||
|
||||
J3DLightInfo* room_light = &room_tevstr->mLights[i].getLightInfo();
|
||||
if (room_light != NULL) {
|
||||
lightStatusPt[i + 2].color =
|
||||
((&lightStatusPt[i] + 2))->color =
|
||||
dKy_light_influence_col(&room_light->mColor, light_ratio);
|
||||
} else {
|
||||
lightStatusPt[i + 2].color =
|
||||
((&lightStatusPt[i] + 2))->color =
|
||||
dKy_light_influence_col(&g_env_light.dungeonlight[i].mColor, light_ratio);
|
||||
}
|
||||
|
||||
if (room_no == dComIfGp_roomControl_getStayNo() && room_light_info != NULL &&
|
||||
i < room_light_info_num)
|
||||
{
|
||||
g_env_light.dungeonlight[i].mPosition = lightStatusPt[i + 2].position;
|
||||
g_env_light.dungeonlight[i].mPosition = ((&lightStatusPt[i] + 2))->position;
|
||||
g_env_light.dungeonlight[i].mRefDistance = lightStatusPt[i + 2].mRefDist;
|
||||
g_env_light.dungeonlight[i].mCutoffAngle = lightStatusPt[i + 2].mCutoff;
|
||||
g_env_light.dungeonlight[i].mAngleAttenuation = lightStatusPt[i + 2].mSpotFn;
|
||||
@@ -4476,7 +4477,7 @@ void dKy_setLight_nowroom_common(char room_no, f32 light_ratio) {
|
||||
lightStatusPt[j + 2].position.z = kankyo->field_0x0c18[i].mPos.z;
|
||||
}
|
||||
|
||||
lightStatusPt[j + 2].color = dKy_light_influence_col(&kankyo->field_0x0c18[i].mColor, light_ratio);
|
||||
((&lightStatusPt[j] + 2))->color = dKy_light_influence_col(&kankyo->field_0x0c18[i].mColor, light_ratio);
|
||||
lightStatusPt[j + 2].mRefDist = kankyo->field_0x0c18[i].mRefDistance;
|
||||
lightStatusPt[j + 2].mRefBrightness = 0.99999f;
|
||||
lightStatusPt[j + 2].field_0x1c = 1;
|
||||
@@ -4486,7 +4487,7 @@ void dKy_setLight_nowroom_common(char room_no, f32 light_ratio) {
|
||||
|
||||
dKy_lightdir_set(kankyo->field_0x0c18[i].mAngleX,
|
||||
kankyo->field_0x0c18[i].mAngleY,
|
||||
&lightStatusPt[j + 2].mLightDir);
|
||||
&((&lightStatusPt[j] + 2))->mLightDir);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -4505,33 +4506,35 @@ void dKy_setLight_nowroom(char room_no) {
|
||||
}
|
||||
|
||||
/* 801A6C58-801A6D4C 1A1598 00F4+00 0/0 1/1 2/2 .text dKy_setLight_nowroom_grass__Fcf */
|
||||
// NONMATCHING - weird branching
|
||||
void dKy_setLight_nowroom_grass(char room_no, f32 light_ratio) {
|
||||
dScnKy_env_light_c* kankyo = dKy_getEnvlight();
|
||||
camera_class* camera = (camera_class*)dComIfGp_getCamera(0);
|
||||
fopAc_ac_c* player = (fopAc_ac_c*)dComIfGp_getPlayer(0);
|
||||
MtxP view_mtx = j3dSys.getViewMtx();
|
||||
|
||||
dStage_FileList_dt_c* filelist = NULL;
|
||||
if (dComIfGp_roomControl_getStatusRoomDt(room_no) != NULL) {
|
||||
dStage_FileList_dt_c* filelist = dComIfGp_roomControl_getStatusRoomDt(room_no)->getFileListInfo();
|
||||
filelist = dComIfGp_roomControl_getStatusRoomDt(room_no)->getFileListInfo();
|
||||
if (filelist == NULL) {
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
int grass_light = dStage_FileList_dt_GRASSLIGHT(filelist);
|
||||
int grass_light = dStage_FileList_dt_GRASSLIGHT(filelist);
|
||||
|
||||
f32 grass_light_ratio;
|
||||
if (grass_light >= 0xFF) {
|
||||
grass_light_ratio = 1.0f;
|
||||
} else {
|
||||
grass_light_ratio = grass_light / 100.0f;
|
||||
}
|
||||
f32 grass_light_ratio;
|
||||
if (grass_light >= 0xFF) {
|
||||
grass_light_ratio = 1.0f;
|
||||
} else {
|
||||
grass_light_ratio = grass_light / 100.0f;
|
||||
}
|
||||
|
||||
if (light_ratio == 0.0f) {
|
||||
dKy_setLight_nowroom_common(room_no, grass_light_ratio);
|
||||
} else {
|
||||
dKy_setLight_nowroom_common(room_no, light_ratio);
|
||||
}
|
||||
if (light_ratio == 0.0f) {
|
||||
dKy_setLight_nowroom_common(room_no, grass_light_ratio);
|
||||
} else {
|
||||
dKy_setLight_nowroom_common(room_no, light_ratio);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5948,7 +5951,6 @@ void dKy_twilight_camelight_set() {
|
||||
}
|
||||
|
||||
/* 801AB01C-801AB270 1A595C 0254+00 1/1 0/0 0/0 .text dKy_WaterIn_Light_set__Fv */
|
||||
// NONMATCHING - some weirdness with temp stores
|
||||
void dKy_WaterIn_Light_set() {
|
||||
dScnKy_env_light_c* kankyo = dKy_getEnvlight();
|
||||
fopAc_ac_c* player_p = dComIfGp_getPlayer(0);
|
||||
@@ -5956,6 +5958,9 @@ void dKy_WaterIn_Light_set() {
|
||||
|
||||
int sp10 = 0;
|
||||
int spC = 0;
|
||||
f32 var_f31, var_f30, var_f29, var_f28, var_f27, var_f26;
|
||||
f32 var_f25 = -100000000.0f;
|
||||
var_f29 = 200.0f;
|
||||
|
||||
int sp8 = 1;
|
||||
if (strcmp(dComIfGp_getStartStageName(), "F_SP109") == 0 ||
|
||||
@@ -5965,7 +5970,12 @@ void dKy_WaterIn_Light_set() {
|
||||
sp8 = 3;
|
||||
}
|
||||
|
||||
for (int i = 0; i < 6; i++) {
|
||||
#if PLATFORM_SHIELD
|
||||
for (int i = 0; i < 6; i++)
|
||||
#else
|
||||
int i = 0;
|
||||
#endif
|
||||
{
|
||||
if (kankyo->field_0x0c18[i].field_0x26 != 1) {
|
||||
dKy_twi_wolflight_set(i);
|
||||
kankyo->field_0x0c18[i].mColor.r = 0x8A;
|
||||
@@ -5973,9 +5983,9 @@ void dKy_WaterIn_Light_set() {
|
||||
kankyo->field_0x0c18[i].mColor.b = 0xBC;
|
||||
kankyo->field_0x0c18[i].mColor.a = 0xFD;
|
||||
|
||||
f32 var_f26 = 0.0f;
|
||||
var_f26 = 0.0f;
|
||||
if (player_p != NULL) {
|
||||
f32 var_f31 = camera->lookat.eye.y - player_p->current.pos.y;
|
||||
var_f31 = camera->lookat.eye.y - player_p->current.pos.y;
|
||||
if (var_f31 < 0.0f) {
|
||||
var_f31 = 0.0f;
|
||||
}
|
||||
@@ -5990,30 +6000,48 @@ void dKy_WaterIn_Light_set() {
|
||||
kankyo->field_0x0c18[i].mAngleAttenuation = 2;
|
||||
kankyo->field_0x0c18[i].mDistAttenuation = 3;
|
||||
|
||||
f32* var_r30 = &kankyo->field_0x0c18[i].mRefDistance;
|
||||
f32* var_r29 = &kankyo->field_0x0c18[i].mCutoffAngle;
|
||||
|
||||
if (strcmp(dComIfGp_getStartStageName(), "D_MN01A") == 0) {
|
||||
dBgS_CamGndChk_Wtr sp28;
|
||||
cXyz sp1C;
|
||||
sp8 = 1;
|
||||
*var_r29 = 60.0f;
|
||||
kankyo->field_0x0c18[i].mCutoffAngle = 60.0f;
|
||||
|
||||
sp1C = camera->lookat.eye;
|
||||
sp1C.y += 100000.0f;
|
||||
sp28.SetPos(&sp1C);
|
||||
|
||||
f32 var_f30 = (dComIfG_Bgsp().GroundCross(&sp28) - camera->lookat.eye.y) / 3000.0f;
|
||||
var_f25 = dComIfG_Bgsp().GroundCross(&sp28);
|
||||
var_f30 = (var_f25 - camera->lookat.eye.y) / 3000.0f;
|
||||
if (var_f30 < 0.0f) {
|
||||
var_f30 = 0.0f;
|
||||
}
|
||||
if (var_f30 > 1.0f) {
|
||||
var_f30 = 1.0f;
|
||||
}
|
||||
*var_r30 *= var_f30;
|
||||
kankyo->field_0x0c18[i].mRefDistance *= var_f30;
|
||||
}
|
||||
|
||||
f32 var_f29, var_f28, var_f27;
|
||||
#if DEBUG
|
||||
if (g_kankyoHIO.field_0x686 != 0) {
|
||||
sp8 = g_kankyoHIO.field_0x686 - 1;
|
||||
}
|
||||
|
||||
switch (sp8) {
|
||||
case 0:
|
||||
dDbVw_Report(0x176, 0x1c, "W-LS[S]");
|
||||
break;
|
||||
case 1:
|
||||
dDbVw_Report(0x176, 0x1c, "W-LS[M]");
|
||||
break;
|
||||
case 2:
|
||||
dDbVw_Report(0x176, 0x1c, "W-LS[L]");
|
||||
break;
|
||||
case 3:
|
||||
dDbVw_Report(0x176, 0x1c, "W-LS[LL]");
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
switch (sp8) {
|
||||
case 0:
|
||||
case 1:
|
||||
@@ -6023,7 +6051,6 @@ void dKy_WaterIn_Light_set() {
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
default:
|
||||
var_f29 = 200.0f;
|
||||
var_f28 = 2.0f;
|
||||
@@ -6031,13 +6058,39 @@ void dKy_WaterIn_Light_set() {
|
||||
break;
|
||||
}
|
||||
|
||||
kankyo->field_0x127c = var_f29;
|
||||
*var_r30 *= var_f28;
|
||||
*var_r29 *= var_f27;
|
||||
#if DEBUG
|
||||
if (g_kankyoHIO.field_0x6d9 == 0) {
|
||||
#endif
|
||||
kankyo->field_0x127c = var_f29;
|
||||
kankyo->field_0x0c18[i].mRefDistance *= var_f28;
|
||||
kankyo->field_0x0c18[i].mCutoffAngle *= var_f27;
|
||||
#if DEBUG
|
||||
}
|
||||
|
||||
static int S_mLighSize_pat_old = 0x63;
|
||||
if (S_mLighSize_pat_old != g_kankyoHIO.field_0x686) {
|
||||
S_mLighSize_pat_old = g_kankyoHIO.field_0x686;
|
||||
|
||||
g_kankyoHIO.field_0x6e0 = var_f29;
|
||||
g_kankyoHIO.field_0x6e4 = var_f28;
|
||||
g_kankyoHIO.field_0x6e8 = var_f27;
|
||||
g_kankyoHIO.field_0x01c.dKankyo_lightHIOInfoUpDateF();
|
||||
}
|
||||
|
||||
if (g_kankyoHIO.field_0x6d9 != 0) {
|
||||
kankyo->field_0x127c = g_kankyoHIO.field_0x6e0;
|
||||
kankyo->field_0x0c18[i].mRefDistance *= g_kankyoHIO.field_0x6e4;
|
||||
kankyo->field_0x0c18[i].mCutoffAngle *= g_kankyoHIO.field_0x6e8;
|
||||
}
|
||||
#endif
|
||||
|
||||
kankyo->field_0x0c18[i].field_0x26 = 1;
|
||||
sp10 = 1;
|
||||
|
||||
#if PLATFORM_SHIELD
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+90
-55
@@ -2354,6 +2354,12 @@ void dKyr_drawSun(Mtx drawMtx, cXyz* ppos, GXColor& unused, u8** tex) {
|
||||
u8 draw_sun = false;
|
||||
u16 date = dComIfGs_getDate();
|
||||
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
if (g_env_light.hide_vrbox) {
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (strcmp(dComIfGp_getStartStageName(), "F_SP200") == 0) {
|
||||
sun_packet->mMoonAlpha = 1.0f;
|
||||
sun_packet->mSunAlpha = 0.0f;
|
||||
@@ -2595,7 +2601,7 @@ void dKyr_drawSun(Mtx drawMtx, cXyz* ppos, GXColor& unused, u8** tex) {
|
||||
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_A0, GX_CA_TEXA, GX_CA_ZERO);
|
||||
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
|
||||
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_ONE, GX_LO_COPY);
|
||||
|
||||
|
||||
size *= 2.3f;
|
||||
color_reg0.a = 40.0f * sun_packet->mMoonAlpha;
|
||||
|
||||
@@ -2706,6 +2712,12 @@ void dKyr_drawLenzflare(Mtx drawMtx, cXyz* ppos, GXColor& param_2, u8** tex) {
|
||||
static s16 S_rot_work1 = 0;
|
||||
static s16 S_rot_work2 = 0;
|
||||
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
if (g_env_light.hide_vrbox) {
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
Mtx camMtx;
|
||||
Mtx rotMtx;
|
||||
|
||||
@@ -2724,7 +2736,7 @@ void dKyr_drawLenzflare(Mtx drawMtx, cXyz* ppos, GXColor& param_2, u8** tex) {
|
||||
|
||||
if (!(sun_visibility < 0.1f)) {
|
||||
dKy_set_eyevect_calc2(camera, &spFC, 8000.0f, 8000.0f);
|
||||
|
||||
|
||||
GXColor color_reg0;
|
||||
color_reg0.r = sun_packet->mColor.r;
|
||||
color_reg0.g = sun_packet->mColor.g;
|
||||
@@ -2768,7 +2780,7 @@ void dKyr_drawLenzflare(Mtx drawMtx, cXyz* ppos, GXColor& param_2, u8** tex) {
|
||||
MTXConcat(camMtx, rotMtx, camMtx);
|
||||
GXLoadPosMtxImm(drawMtx, GX_PNMTX0);
|
||||
GXSetCurrentMtx(GX_PNMTX0);
|
||||
|
||||
|
||||
if (sun_packet->field_0x6c > 0.0f) {
|
||||
spC = S_rot_work1 - 0x7F6;
|
||||
spA = S_rot_work2 + 0x416B;
|
||||
@@ -2783,7 +2795,7 @@ void dKyr_drawLenzflare(Mtx drawMtx, cXyz* ppos, GXColor& param_2, u8** tex) {
|
||||
GXSetChanCtrl(GX_COLOR0, GX_DISABLE, GX_SRC_REG, GX_SRC_REG, GX_LIGHT_NULL, GX_DF_CLAMP, GX_AF_NONE);
|
||||
GXSetNumTexGens(0);
|
||||
GXSetNumTevStages(1);
|
||||
|
||||
|
||||
color_reg0.a = sun_packet->field_0x6c * (15.0f * (spA8 * spA8 * spA8));
|
||||
GXSetTevColor(GX_TEVREG0, color_reg0);
|
||||
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0);
|
||||
@@ -4089,16 +4101,22 @@ void dKyr_drawStar(Mtx drawMtx, u8** tex) {
|
||||
csXyz(0, 30000, 19000),
|
||||
};
|
||||
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
if (g_env_light.hide_vrbox) {
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (star_packet->mEffectNum != 0) {
|
||||
if (strcmp(dComIfGp_getStartStageName(), "F_SP200") == 0 && dComIfG_play_c::getLayerNo(0) == 0) {
|
||||
gwolf_howl_stage = true;
|
||||
} else if (strcmp(dComIfGp_getStartStageName(), "F_SP127") == 0 ||
|
||||
} else if (strcmp(dComIfGp_getStartStageName(), "F_SP127") == 0 ||
|
||||
((strcmp(dComIfGp_getStartStageName(), "F_SP103") == 0) && dComIfGp_roomControl_getStayNo() == 0))
|
||||
{
|
||||
// draw stars on the opposite skybox hemisphere as well for water reflections
|
||||
draw_mirrored = true;
|
||||
}
|
||||
|
||||
|
||||
if (strcmp(dComIfGp_getStartStageName(), "F_SP103") == 0 && dKy_daynight_check()) {
|
||||
sp38 = true;
|
||||
}
|
||||
@@ -4125,7 +4143,7 @@ void dKyr_drawStar(Mtx drawMtx, u8** tex) {
|
||||
moon_pos.z = -9072.0f + camera->lookat.eye.z;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
mDoLib_project(&moon_pos, &moon_proj);
|
||||
|
||||
GXSetNumChans(1);
|
||||
@@ -4570,12 +4588,17 @@ void drawVrkumo(Mtx drawMtx, GXColor& color, u8** tex) {
|
||||
GXTexObj texobj;
|
||||
cXyz proj;
|
||||
|
||||
int j;
|
||||
int k;
|
||||
f32 rot;
|
||||
f32 spCC;
|
||||
int pass = 1;
|
||||
|
||||
f32 spC4 = 0.0f;
|
||||
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
if (g_env_light.hide_vrbox) {
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
cXyz sp15C;
|
||||
cXyz sp150;
|
||||
cXyz sp144;
|
||||
@@ -4586,7 +4609,27 @@ void drawVrkumo(Mtx drawMtx, GXColor& color, u8** tex) {
|
||||
cXyz sp108;
|
||||
cXyz spFC;
|
||||
|
||||
f32 spC0;
|
||||
f32 spBC;
|
||||
f32 spB8;
|
||||
f32 spB4;
|
||||
f32 spB0;
|
||||
f32 spAC;
|
||||
f32 spA8;
|
||||
f32 spA4;
|
||||
f32 spA0;
|
||||
f32 sp9C;
|
||||
f32 sp98;
|
||||
f32 sp94;
|
||||
f32 sp90;
|
||||
f32 sp8C;
|
||||
|
||||
int sp88;
|
||||
int sp84;
|
||||
int sp80 = 0;
|
||||
GXColor color_reg1;
|
||||
|
||||
int j, k;
|
||||
|
||||
if (camera2 != NULL) {
|
||||
spC4 = camera2->mCamera.TrimHeight();
|
||||
@@ -4599,11 +4642,14 @@ void drawVrkumo(Mtx drawMtx, GXColor& color, u8** tex) {
|
||||
return;
|
||||
}
|
||||
|
||||
f32 rot = cAngle::s2d(fopCamM_GetBank(camera));
|
||||
int sp88 = 0;
|
||||
f32 spCC = 100000.0f;
|
||||
rot = cAngle::s2d(fopCamM_GetBank(camera));
|
||||
|
||||
sp88 = 0;
|
||||
spCC = 100000.0f;
|
||||
|
||||
f32 unused;
|
||||
f32 y_pos;
|
||||
|
||||
if (dComIfGd_getView() != NULL) {
|
||||
f32 sp70 = 0.0f;
|
||||
dStage_FileList_dt_c* filelist = NULL;
|
||||
@@ -4613,16 +4659,16 @@ void drawVrkumo(Mtx drawMtx, GXColor& color, u8** tex) {
|
||||
|
||||
if (filelist != NULL) {
|
||||
sp70 = dStage_FileList_dt_SeaLevel(filelist);
|
||||
|
||||
#ifdef DEBUG
|
||||
if (g_kankyoHIO.field_0x0b4) {
|
||||
sp70 = g_kankyoHIO.field_0x0b8;
|
||||
} else {
|
||||
g_kankyoHIO.field_0x0b8 = sp70;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
if (g_kankyoHIO.field_0x0b4) {
|
||||
sp70 = g_kankyoHIO.field_0x0b8;
|
||||
} else {
|
||||
g_kankyoHIO.field_0x0b8 = sp70;
|
||||
}
|
||||
#endif
|
||||
|
||||
unused = 1.0f - (0.09f * (camera->lookat.eye.y - sp70));
|
||||
}
|
||||
|
||||
@@ -4646,7 +4692,6 @@ void drawVrkumo(Mtx drawMtx, GXColor& color, u8** tex) {
|
||||
color.g = g_env_light.vrbox_kumo_bottom_col.g;
|
||||
color.b = g_env_light.vrbox_kumo_bottom_col.b;
|
||||
|
||||
GXColor color_reg1;
|
||||
color_reg1.r = 0;
|
||||
color_reg1.g = 0;
|
||||
color_reg1.b = 0;
|
||||
@@ -4665,7 +4710,7 @@ void drawVrkumo(Mtx drawMtx, GXColor& color, u8** tex) {
|
||||
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
|
||||
GXSetFog(GX_FOG_NONE, 0.0f, 1.0f, 0.1f, 1.0f, color);
|
||||
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_SET);
|
||||
|
||||
|
||||
if (pass == 0) {
|
||||
GXSetAlphaCompare(GX_GREATER, 0, GX_AOP_OR, GX_GREATER, 0);
|
||||
GXSetZCompLoc(GX_FALSE);
|
||||
@@ -4695,21 +4740,6 @@ void drawVrkumo(Mtx drawMtx, GXColor& color, u8** tex) {
|
||||
cXyz pos[4];
|
||||
|
||||
if (!(vrkumo_packet->mVrkumoEff[k].mAlpha <= 0.0000000001f) && (pass != 0 || !(vrkumo_packet->mVrkumoEff[k].mAlpha < 0.45f))) {
|
||||
f32 spC0;
|
||||
f32 spBC;
|
||||
f32 spB8;
|
||||
f32 spB4;
|
||||
f32 spB0;
|
||||
f32 spAC;
|
||||
f32 spA8;
|
||||
f32 spA4;
|
||||
f32 spA0;
|
||||
f32 sp9C;
|
||||
f32 sp98;
|
||||
f32 sp94;
|
||||
f32 sp90;
|
||||
f32 sp8C;
|
||||
|
||||
f32 sp68;
|
||||
f32 sp64;
|
||||
f32 sp60;
|
||||
@@ -4721,13 +4751,13 @@ void drawVrkumo(Mtx drawMtx, GXColor& color, u8** tex) {
|
||||
|
||||
static f32 howa_loop_cnt = 0.0f;
|
||||
|
||||
#ifdef DEBUG
|
||||
#ifdef DEBUG
|
||||
spAC = g_kankyoHIO.field_0x3f4;
|
||||
spA8 = g_kankyoHIO.field_0x3f8;
|
||||
#else
|
||||
#else
|
||||
spAC = 0.6f;
|
||||
spA8 = 0.84f;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
if (dKy_darkworld_check()) {
|
||||
spAC = 0.8f;
|
||||
@@ -4776,7 +4806,7 @@ void drawVrkumo(Mtx drawMtx, GXColor& color, u8** tex) {
|
||||
sp60 = sp68 * (0.2f + (0.2f * (k / 100.0f)));
|
||||
sp5C = sp68 * (0.55f + (0.3f * (k / 100.0f)));
|
||||
spFC = vrkumo_packet->mVrkumoEff[k].mPosition;
|
||||
|
||||
|
||||
spA4 = 0.0f;
|
||||
spA0 = 0.0f;
|
||||
|
||||
@@ -4896,18 +4926,21 @@ void drawVrkumo(Mtx drawMtx, GXColor& color, u8** tex) {
|
||||
pos[2] += camera->lookat.eye;
|
||||
pos[3] += camera->lookat.eye;
|
||||
|
||||
int sp84 = 0;
|
||||
sp84 = 0;
|
||||
if (dComIfGd_getView()->fovy > 40.0f) {
|
||||
cXyz spF0;
|
||||
|
||||
f32 x;
|
||||
f32 y;
|
||||
f32 z;
|
||||
for (int sp3C = 0; sp3C < 4; sp3C++) {
|
||||
spF0 = pos[sp3C];
|
||||
Vec sp48;
|
||||
sp48.x = 100.0f;
|
||||
sp48.y = 100.0f;
|
||||
sp48.z = 100.0f;
|
||||
x = 100.0f;
|
||||
y = 100.0f;
|
||||
z = 100.0f;
|
||||
mDoLib_project(&spF0, &proj);
|
||||
|
||||
if (proj.x > -sp48.x && proj.x < (608.0f + sp48.x) && proj.y > -sp48.y && proj.y < (458.0f + sp48.z)) {
|
||||
if (proj.x > -x && proj.x < (608.0f + x) && proj.y > -y && proj.y < (458.0f + z)) {
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -4944,17 +4977,20 @@ void drawVrkumo(Mtx drawMtx, GXColor& color, u8** tex) {
|
||||
sp84 = 0;
|
||||
if (dComIfGd_getView()->fovy > 40.0f) {
|
||||
cXyz spE4;
|
||||
|
||||
f32 x;
|
||||
f32 y;
|
||||
f32 z;
|
||||
for (int sp2C = 0; sp2C < 4; sp2C++) {
|
||||
spE4 = pos[sp2C];
|
||||
spE4.y = -pos[sp2C].y;
|
||||
|
||||
Vec sp38;
|
||||
sp38.x = 100.0f;
|
||||
sp38.y = 100.0f;
|
||||
sp38.z = 100.0f;
|
||||
x = 100.0f;
|
||||
y = 100.0f;
|
||||
z = 100.0f;
|
||||
mDoLib_project(&spE4, &proj);
|
||||
|
||||
if (proj.x > -sp38.x && proj.x < (608.0f + sp38.x) && proj.y > -sp38.y && proj.y < (458.0f + sp38.z)) {
|
||||
if (proj.x > -x && proj.x < (608.0f + x) && proj.y > -y && proj.y < (458.0f + z)) {
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -4965,7 +5001,6 @@ void drawVrkumo(Mtx drawMtx, GXColor& color, u8** tex) {
|
||||
}
|
||||
|
||||
if (sp84 == 0) {
|
||||
f32 y_pos;
|
||||
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
|
||||
|
||||
y_pos = -pos[0].y;
|
||||
@@ -5443,7 +5478,7 @@ void dKyr_odour_draw(Mtx drawMtx, u8** tex) {
|
||||
|
||||
for (int i = 0; i < 2000; i++) {
|
||||
EF_ODOUR_EFF* effect = &odour_packet->mOdourEff[i];
|
||||
camera_class* camera = dComIfGp_getCamera(0);
|
||||
camera_class* camera = (camera_class*)dComIfGp_getCamera(0);
|
||||
cXyz pos[4];
|
||||
Vec sp64, sp58;
|
||||
cXyz sp4C;
|
||||
|
||||
@@ -2104,7 +2104,7 @@ bool fopAcM_lc_c::lineCheck(cXyz const* i_start, cXyz const* i_end, fopAc_ac_c c
|
||||
/* 8001DCBC-8001DD1C 0185FC 0060+00 1/1 10/10 108/108 .text gndCheck__11fopAcM_gc_cFPC4cXyz */
|
||||
bool fopAcM_gc_c::gndCheck(cXyz const* i_pos) {
|
||||
mGndCheck.SetPos(i_pos);
|
||||
mGroundY = dComIfG_Bgsp().GroundCross(&mGndCheck);
|
||||
mGroundY = (f32)dComIfG_Bgsp().GroundCross(&mGndCheck);
|
||||
return -1000000000.0f != mGroundY;
|
||||
}
|
||||
|
||||
|
||||
+119
-43
@@ -3,23 +3,26 @@
|
||||
* Model, Animation, and Heap Functions
|
||||
*/
|
||||
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
#include "JSystem/J3DGraphBase/J3DDrawBuffer.h"
|
||||
#include "d/dolzel.h"
|
||||
|
||||
#include <dolphin/gf/GFPixel.h>
|
||||
#include <dolphin/gx.h>
|
||||
#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h"
|
||||
#include "JSystem/J3DGraphBase/J3DDrawBuffer.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMaterial.h"
|
||||
#include "JSystem/J3DGraphLoader/J3DMaterialFactory.h"
|
||||
#include "JSystem/JKernel/JKRAssertHeap.h"
|
||||
#include "JSystem/JKernel/JKRExpHeap.h"
|
||||
#include "JSystem/JKernel/JKRSolidHeap.h"
|
||||
#include "JSystem/JUtility/JUTResFont.h"
|
||||
#include "JSystem/JUtility/JUTCacheFont.h"
|
||||
#include "stdio.h"
|
||||
#include "JSystem/JUtility/JUTResFont.h"
|
||||
#include "Z2AudioLib/Z2Creature.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "dol2asm.h"
|
||||
#include <dolphin/gx.h>
|
||||
#include <dolphin/gf/GFPixel.h>
|
||||
#include "global.h"
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
#include "m_Do/m_Do_mtx.h"
|
||||
#include "stdio.h"
|
||||
|
||||
/* 8000D0AC-8000D320 0079EC 0274+00 5/5 0/0 0/0 .text
|
||||
* mDoExt_setJ3DData__FPA4_fPC16J3DTransformInfoUs */
|
||||
@@ -305,6 +308,12 @@ void mDoExt_modelTexturePatch(J3DModelData* i_modelData) {
|
||||
}
|
||||
}
|
||||
|
||||
static void dummy1() {
|
||||
((J3DTevBlock*)NULL)->patch();
|
||||
((J3DColorBlock*)NULL)->patchLight();
|
||||
((J3DPEBlock*)NULL)->patch();
|
||||
}
|
||||
|
||||
/* 8000DBD8-8000DC2C 008518 0054+00 3/3 0/0 0/0 .text mDoExt_modelDiff__FP8J3DModel */
|
||||
static void mDoExt_modelDiff(J3DModel* i_model) {
|
||||
i_model->calcMaterial();
|
||||
@@ -391,6 +400,92 @@ void mDoExt_brkAnmRemove(J3DModelData* i_modelData) {
|
||||
}
|
||||
}
|
||||
|
||||
// this needs a lot of work still
|
||||
static void dummy2() {
|
||||
J3DGXColor gxColor;
|
||||
J3DColorChan colorChan;
|
||||
J3DTexCoord texCoord;
|
||||
J3DGXColorS10 gxColorS10;
|
||||
J3DIndTevStage indTevStage;
|
||||
J3DTevOrder tevOrder;
|
||||
J3DTevSwapModeTable tevSwapModeTable;
|
||||
J3DIndTexOrder indTexOrder;
|
||||
J3DIndTexMtx indTexMtx;
|
||||
J3DIndTexCoordScale indTexCoordScale;
|
||||
|
||||
J3DColorBlock* colorBlock = NULL;
|
||||
colorBlock->setColorChanNum((const u8*)NULL);
|
||||
colorBlock->setMatColor(0, gxColor);
|
||||
colorBlock->setColorChan(0, colorChan);
|
||||
colorBlock->setAmbColor(0, gxColor);
|
||||
|
||||
J3DTexGenBlock* texGenBlock = NULL;
|
||||
texGenBlock->setTexGenNum((const u32*)NULL);
|
||||
texGenBlock->setTexCoord(0, NULL);
|
||||
|
||||
J3DTevBlock* tevBlock = NULL;
|
||||
tevBlock->setTevStageNum((const u8*)NULL);
|
||||
tevBlock->setTevColor(0, J3DGXColorS10());
|
||||
tevBlock->setTevKColor(0, gxColor);
|
||||
tevBlock->setTevOrder(0, tevOrder);
|
||||
tevBlock->setTevKColorSel(0, (const u8*)NULL);
|
||||
tevBlock->setTevKAlphaSel(0, (const u8*)NULL);
|
||||
tevBlock->setTevSwapModeTable(0, tevSwapModeTable);
|
||||
tevBlock->setTexNo(0, (const u16*)NULL);
|
||||
J3DTevStage tevStage;
|
||||
tevBlock->setTevStage(0, tevStage);
|
||||
tevBlock->setIndTevStage(0, indTevStage);
|
||||
|
||||
J3DIndBlock* indBlock = NULL;
|
||||
indBlock->setIndTexStageNum(0);
|
||||
indBlock->setIndTexMtx(0, indTexMtx);
|
||||
indBlock->setIndTexCoordScale(0, indTexCoordScale);
|
||||
indTexCoordScale.~J3DIndTexCoordScale();
|
||||
|
||||
J3DPEBlock* peBlock = NULL;
|
||||
J3DAlphaComp alphaComp;
|
||||
peBlock->setAlphaComp(alphaComp);
|
||||
J3DBlend blend;
|
||||
peBlock->setBlend(blend);
|
||||
J3DZMode zMode;
|
||||
peBlock->setZMode(zMode);
|
||||
u8 compLoc;
|
||||
peBlock->setZCompLoc(&compLoc);
|
||||
|
||||
colorBlock->getColorChanNum();
|
||||
colorBlock->getMatColor(0);
|
||||
colorBlock->getColorChan(0);
|
||||
colorBlock->getAmbColor(0);
|
||||
|
||||
texGenBlock->getTexGenNum();
|
||||
texGenBlock->getTexCoord(0);
|
||||
texGenBlock->getTexMtx(0);
|
||||
|
||||
tevBlock->getTevStageNum();
|
||||
tevBlock->getTevColor(0);
|
||||
tevBlock->getTevKColor(0);
|
||||
tevBlock->getTevOrder(0);
|
||||
tevBlock->getTevKColorSel(0);
|
||||
tevBlock->getTevKAlphaSel(0);
|
||||
tevBlock->getTevSwapModeTable(0);
|
||||
tevBlock->getTexNo(0);
|
||||
tevBlock->getTevStage(0);
|
||||
tevBlock->getIndTevStage(0);
|
||||
|
||||
indBlock = NULL;
|
||||
indBlock->getIndTexStageNum();
|
||||
indBlock->getIndTexOrder(0);
|
||||
indBlock->getIndTexMtx(0);
|
||||
indBlock->getIndTexCoordScale(0);
|
||||
|
||||
peBlock = NULL;
|
||||
peBlock->getFog();
|
||||
peBlock->getAlphaComp();
|
||||
peBlock->getBlend();
|
||||
peBlock->getZMode();
|
||||
peBlock->getZCompLoc();
|
||||
}
|
||||
|
||||
/* 8000E53C-8000E5F8 008E7C 00BC+00 0/0 0/0 19/19 .text create__21mDoExt_invisibleModelFP8J3DModelUc */
|
||||
int mDoExt_invisibleModel::create(J3DModel* i_model, u8 param_1) {
|
||||
J3DModelData* model_data = i_model->getModelData();
|
||||
@@ -491,19 +586,15 @@ void mDoExt_setupShareTexture(J3DModelData* i_modelData, J3DModelData* i_shareMo
|
||||
}
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803740FC-803740FC 00075C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
// MWCC ignores mapping of some japanese characters using the
|
||||
// byte 0x5C (ASCII '\'). This is why this string is hex-encoded.
|
||||
static const char* dummy3() {
|
||||
// MWCC ignores mapping of some japanese characters using the
|
||||
// byte 0x5C (ASCII '\'). This is why this string is hex-encoded.
|
||||
|
||||
// "ソリッドヒープちゃうがな!\n"
|
||||
// "This isn't a solid heap! \n"
|
||||
SECTION_DEAD static char const* const stringBase_803740FC =
|
||||
"\x83\x5C\x83\x8A\x83\x62\x83\x68\x83\x71\x81\x5B\x83\x76\x82\xBF\x82\xE1\x82\xA4\x82\xAA\x82"
|
||||
"\xC8\x81\x49\x0A";
|
||||
#pragma pop
|
||||
// "ソリッドヒープちゃうがな!\n"
|
||||
// "This isn't a solid heap! \n"
|
||||
return "\x83\x5C\x83\x8A\x83\x62\x83\x68\x83\x71\x81\x5B\x83\x76\x82\xBF\x82\xE1\x82\xA4\x82"
|
||||
"\xAA\x82\xC8\x81\x49\x0A";
|
||||
}
|
||||
|
||||
/* 8000EA80-8000ECC0 0093C0 0240+00 0/0 0/0 6/6 .text mDoExt_setupStageTexture__FP12J3DModelData
|
||||
*/
|
||||
@@ -1387,7 +1478,7 @@ int mDoExt_McaMorfSO::create(J3DModelData* i_modelData, mDoExt_McaMorfCallBack1_
|
||||
// NONMATCHING regalloc
|
||||
void mDoExt_McaMorfSO::calc() {
|
||||
if (mpModel != NULL) {
|
||||
u16 jnt_no = J3DMtxCalc::getJoint()->getJntNo();
|
||||
u16 jnt_no = getJoint()->getJntNo();
|
||||
j3dSys.setCurrentMtxCalc(this);
|
||||
|
||||
J3DTransformInfo trans;
|
||||
@@ -1494,7 +1585,7 @@ void mDoExt_McaMorfSO::setAnm(J3DAnmTransform* i_anm, int i_attr, f32 i_morf, f3
|
||||
|
||||
setPlayMode(i_attr);
|
||||
setPlaySpeed(i_rate);
|
||||
|
||||
|
||||
if (i_rate >= 0.0f) {
|
||||
setFrame(i_start);
|
||||
} else {
|
||||
@@ -1669,7 +1760,7 @@ mDoExt_McaMorf2::~mDoExt_McaMorf2() {
|
||||
|
||||
*var_r29 = *sp2C;
|
||||
JMAEulerToQuat(var_r29->mRotation.x, var_r29->mRotation.y, var_r29->mRotation.z, var_r26);
|
||||
|
||||
|
||||
var_r29++;
|
||||
var_r26++;
|
||||
}
|
||||
@@ -1745,7 +1836,7 @@ void mDoExt_McaMorf2::calc() {
|
||||
if (mpCallback1 != NULL) {
|
||||
mpCallback1->execute(jnt_no, &spF0[0]);
|
||||
}
|
||||
|
||||
|
||||
JMAEulerToQuat(spF0[0].mRotation.x, spF0[0].mRotation.y, spF0[0].mRotation.z,
|
||||
var_r27);
|
||||
J3DMtxCalcCalcTransformMaya::calcTransform(spF0[0]);
|
||||
@@ -1886,7 +1977,7 @@ void mDoExt_McaMorf2::setAnm(J3DAnmTransform* param_0, J3DAnmTransform* param_1,
|
||||
|
||||
setPlayMode(i_attr);
|
||||
setPlaySpeed(i_speed);
|
||||
|
||||
|
||||
if (i_speed >= 0.0f) {
|
||||
setFrame(i_start);
|
||||
} else {
|
||||
@@ -2044,7 +2135,6 @@ void mDoExt_invJntPacket::draw() {
|
||||
}
|
||||
|
||||
/* 800123D0-800125DC 00CD10 020C+00 2/2 0/0 0/0 .text init__15mDoExt_3Dline_cFUsii */
|
||||
// NONMATCHING - regalloc, probably some types are wrong
|
||||
int mDoExt_3Dline_c::init(u16 param_0, int param_1, BOOL param_2) {
|
||||
field_0x0 = new cXyz[param_0];
|
||||
if (field_0x0 == NULL) {
|
||||
@@ -2052,7 +2142,7 @@ int mDoExt_3Dline_c::init(u16 param_0, int param_1, BOOL param_2) {
|
||||
}
|
||||
|
||||
if (param_1 != 0) {
|
||||
field_0x4 = new f32[param_1];
|
||||
field_0x4 = new f32[param_0];
|
||||
if (field_0x4 == NULL) {
|
||||
return 0;
|
||||
}
|
||||
@@ -2072,23 +2162,23 @@ int mDoExt_3Dline_c::init(u16 param_0, int param_1, BOOL param_2) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
field_0x10 = new mDoExt_3Dline_field_0x10_c[param_0];
|
||||
field_0x10 = new mDoExt_3Dline_field_0x10_c[sp20];
|
||||
if (field_0x10 == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
field_0x14 = new mDoExt_3Dline_field_0x10_c[param_0];
|
||||
field_0x14 = new mDoExt_3Dline_field_0x10_c[sp20];
|
||||
if (field_0x14 == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (param_2) {
|
||||
field_0x18 = new mDoExt_3Dline_field_0x18_c[param_0];
|
||||
field_0x18 = new mDoExt_3Dline_field_0x18_c[sp20];
|
||||
if (field_0x18 == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
field_0x1c = new mDoExt_3Dline_field_0x18_c[param_0];
|
||||
field_0x1c = new mDoExt_3Dline_field_0x18_c[sp20];
|
||||
if (field_0x1c == NULL) {
|
||||
return 0;
|
||||
}
|
||||
@@ -3107,17 +3197,3 @@ OSThread* mDoExt_GetCurrentRunningThread() {
|
||||
|
||||
return thread;
|
||||
}
|
||||
|
||||
/* 80014E20-80014E7C 00F760 005C+00 1/0 2/2 0/0 .text __dt__26mDoExt_3DlineMatSortPacketFv */
|
||||
mDoExt_3DlineMatSortPacket::~mDoExt_3DlineMatSortPacket() {
|
||||
}
|
||||
|
||||
/* 80014E7C-80014E84 00F7BC 0008+00 1/0 0/0 0/0 .text getMaterialID__19mDoExt_3DlineMat1_cFv */
|
||||
int mDoExt_3DlineMat1_c::getMaterialID() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80014E84-80014E8C 00F7C4 0008+00 1/0 0/0 0/0 .text getMaterialID__19mDoExt_3DlineMat0_cFv */
|
||||
int mDoExt_3DlineMat0_c::getMaterialID() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user