Port m426Dll to PAL, match m428Dll and remove PS prefixes (#537)
* Port m426Dll to PAL * Remove PS prefix from mtx function usages * Match m428Dll
This commit is contained in:
parent
2a3c353029
commit
accaf2085f
72 changed files with 8178 additions and 4336 deletions
|
|
@ -351,13 +351,13 @@ lbl_1_data_500 = .data:0x00000500; // type:object size:0x60
|
|||
lbl_1_data_560 = .data:0x00000560; // type:object size:0x80
|
||||
lbl_1_data_5E0 = .data:0x000005E0; // type:object size:0x60
|
||||
lbl_1_data_640 = .data:0x00000640; // type:object size:0x10
|
||||
lbl_1_data_650 = .data:0x00000650; // type:object size:0x1 data:byte
|
||||
lbl_1_data_654 = .data:0x00000654; // type:object size:0x1 data:byte
|
||||
lbl_1_data_658 = .data:0x00000658; // type:object size:0x14
|
||||
lbl_1_data_650 = .data:0x00000650; // type:object size:0x4 data:byte
|
||||
lbl_1_data_654 = .data:0x00000654; // type:object size:0x4 data:byte
|
||||
lbl_1_data_658 = .data:0x00000658; // type:object size:0x14 scope:local data:string
|
||||
jumptable_1_data_66C = .data:0x0000066C; // type:object size:0x28 scope:local
|
||||
lbl_1_data_694 = .data:0x00000694; // type:object size:0x8
|
||||
lbl_1_data_69C = .data:0x0000069C; // type:object size:0x4
|
||||
lbl_1_data_6A0 = .data:0x000006A0; // type:object size:0x2 data:2byte
|
||||
lbl_1_data_6A0 = .data:0x000006A0; // type:object size:0x4 data:2byte
|
||||
lbl_1_data_6A4 = .data:0x000006A4; // type:object size:0x30
|
||||
lbl_1_data_6D4 = .data:0x000006D4; // type:object size:0x20
|
||||
lbl_1_data_6F4 = .data:0x000006F4; // type:object size:0x19 scope:local data:string
|
||||
|
|
|
|||
|
|
@ -5,3 +5,12 @@ Sections:
|
|||
.rodata type:rodata align:8
|
||||
.data type:data align:8
|
||||
.bss type:bss align:8
|
||||
|
||||
REL/executor.c:
|
||||
.text start:0x00000000 end:0x000000A0
|
||||
|
||||
REL/m426Dll/main.c:
|
||||
.text start:0x000000A0 end:0x00009AC4
|
||||
.rodata start:0x00000000 end:0x000001DC
|
||||
.data start:0x00000000 end:0x00000368
|
||||
.bss start:0x00000000 end:0x0000009C
|
||||
|
|
|
|||
|
|
@ -1,170 +1,170 @@
|
|||
_prolog = .text:0x00000000; // type:function size:0x54 scope:global
|
||||
_epilog = .text:0x00000054; // type:function size:0x4C scope:global
|
||||
fn_1_A0 = .text:0x000000A0; // type:function size:0x16C
|
||||
ObjectSetup = .text:0x000000A0; // type:function size:0x16C
|
||||
fn_1_20C = .text:0x0000020C; // type:function size:0x124
|
||||
fn_1_330 = .text:0x00000330; // type:function size:0xA80
|
||||
fn_1_DB0 = .text:0x00000DB0; // type:function size:0x60
|
||||
fn_1_E10 = .text:0x00000E10; // type:function size:0xA0
|
||||
fn_1_EB0 = .text:0x00000EB0; // type:function size:0x14C
|
||||
fn_1_FFC = .text:0x00000FFC; // type:function size:0x178
|
||||
fn_1_1174 = .text:0x00001174; // type:function size:0x70
|
||||
fn_1_11E4 = .text:0x000011E4; // type:function size:0x70
|
||||
fn_1_1254 = .text:0x00001254; // type:function size:0x49C
|
||||
fn_1_16F0 = .text:0x000016F0; // type:function size:0x13F4
|
||||
fn_1_2AE4 = .text:0x00002AE4; // type:function size:0x14
|
||||
fn_1_2AF8 = .text:0x00002AF8; // type:function size:0x98
|
||||
fn_1_2B90 = .text:0x00002B90; // type:function size:0x368
|
||||
fn_1_2EF8 = .text:0x00002EF8; // type:function size:0x80
|
||||
fn_1_2F78 = .text:0x00002F78; // type:function size:0x6F8
|
||||
fn_1_3670 = .text:0x00003670; // type:function size:0x70
|
||||
fn_1_36E0 = .text:0x000036E0; // type:function size:0x50
|
||||
fn_1_3730 = .text:0x00003730; // type:function size:0x7E8
|
||||
fn_1_3F18 = .text:0x00003F18; // type:function size:0x700
|
||||
fn_1_4618 = .text:0x00004618; // type:function size:0x48
|
||||
fn_1_4660 = .text:0x00004660; // type:function size:0x60
|
||||
fn_1_46C0 = .text:0x000046C0; // type:function size:0x94
|
||||
fn_1_4754 = .text:0x00004754; // type:function size:0x15C
|
||||
fn_1_48B0 = .text:0x000048B0; // type:function size:0x5C
|
||||
fn_1_490C = .text:0x0000490C; // type:function size:0x178
|
||||
fn_1_4A84 = .text:0x00004A84; // type:function size:0x8C
|
||||
fn_1_4B10 = .text:0x00004B10; // type:function size:0x3D0
|
||||
fn_1_4EE0 = .text:0x00004EE0; // type:function size:0x50
|
||||
fn_1_4F30 = .text:0x00004F30; // type:function size:0x220
|
||||
fn_1_5150 = .text:0x00005150; // type:function size:0xA20
|
||||
fn_1_5B70 = .text:0x00005B70; // type:function size:0x14
|
||||
fn_1_5B84 = .text:0x00005B84; // type:function size:0x40
|
||||
fn_1_5BC4 = .text:0x00005BC4; // type:function size:0xE4
|
||||
fn_1_5CA8 = .text:0x00005CA8; // type:function size:0xD0
|
||||
fn_1_5D78 = .text:0x00005D78; // type:function size:0x130
|
||||
fn_1_5EA8 = .text:0x00005EA8; // type:function size:0x50
|
||||
fn_1_5EF8 = .text:0x00005EF8; // type:function size:0x14C
|
||||
fn_1_6044 = .text:0x00006044; // type:function size:0x178
|
||||
fn_1_61BC = .text:0x000061BC; // type:function size:0x60
|
||||
fn_1_621C = .text:0x0000621C; // type:function size:0x68
|
||||
fn_1_6284 = .text:0x00006284; // type:function size:0xC8
|
||||
fn_1_634C = .text:0x0000634C; // type:function size:0xA8
|
||||
fn_1_63F4 = .text:0x000063F4; // type:function size:0x1DC
|
||||
fn_1_65D0 = .text:0x000065D0; // type:function size:0x50
|
||||
fn_1_6620 = .text:0x00006620; // type:function size:0x120
|
||||
fn_1_6740 = .text:0x00006740; // type:function size:0x118
|
||||
fn_1_6858 = .text:0x00006858; // type:function size:0x28
|
||||
fn_1_6880 = .text:0x00006880; // type:function size:0x44
|
||||
fn_1_68C4 = .text:0x000068C4; // type:function size:0x15C
|
||||
fn_1_6A20 = .text:0x00006A20; // type:function size:0x50
|
||||
fn_1_6A70 = .text:0x00006A70; // type:function size:0x38C
|
||||
fn_1_6DFC = .text:0x00006DFC; // type:function size:0x410
|
||||
fn_1_720C = .text:0x0000720C; // type:function size:0xA8
|
||||
fn_1_72B4 = .text:0x000072B4; // type:function size:0xB0
|
||||
fn_1_7364 = .text:0x00007364; // type:function size:0xB4
|
||||
fn_1_7418 = .text:0x00007418; // type:function size:0x1B0
|
||||
fn_1_75C8 = .text:0x000075C8; // type:function size:0x20
|
||||
fn_1_75E8 = .text:0x000075E8; // type:function size:0x4
|
||||
fn_1_75EC = .text:0x000075EC; // type:function size:0xC
|
||||
fn_1_75F8 = .text:0x000075F8; // type:function size:0x38
|
||||
fn_1_7630 = .text:0x00007630; // type:function size:0x118
|
||||
fn_1_7748 = .text:0x00007748; // type:function size:0x250
|
||||
fn_1_7998 = .text:0x00007998; // type:function size:0x46C
|
||||
fn_1_7E04 = .text:0x00007E04; // type:function size:0x314
|
||||
fn_1_8118 = .text:0x00008118; // type:function size:0x7D8
|
||||
fn_1_88F0 = .text:0x000088F0; // type:function size:0x55C
|
||||
fn_1_8E4C = .text:0x00008E4C; // type:function size:0x38
|
||||
fn_1_8E84 = .text:0x00008E84; // type:function size:0x2E8
|
||||
fn_1_916C = .text:0x0000916C; // type:function size:0x100
|
||||
fn_1_926C = .text:0x0000926C; // type:function size:0x314
|
||||
fn_1_9580 = .text:0x00009580; // type:function size:0x1D8
|
||||
fn_1_9758 = .text:0x00009758; // type:function size:0x7C
|
||||
fn_1_97D4 = .text:0x000097D4; // type:function size:0x54
|
||||
fn_1_9828 = .text:0x00009828; // type:function size:0x7C
|
||||
fn_1_98A4 = .text:0x000098A4; // type:function size:0x7C
|
||||
fn_1_9920 = .text:0x00009920; // type:function size:0x78
|
||||
fn_1_9998 = .text:0x00009998; // type:function size:0x12C
|
||||
fn_1_DB8 = .text:0x00000DB0; // type:function size:0x60
|
||||
fn_1_E18 = .text:0x00000E10; // type:function size:0xA0
|
||||
fn_1_EB8 = .text:0x00000EB0; // type:function size:0x14C
|
||||
fn_1_1004 = .text:0x00000FFC; // type:function size:0x178
|
||||
fn_1_117C = .text:0x00001174; // type:function size:0x70
|
||||
fn_1_11EC = .text:0x000011E4; // type:function size:0x70
|
||||
fn_1_125C = .text:0x00001254; // type:function size:0x49C
|
||||
fn_1_16F8 = .text:0x000016F0; // type:function size:0x13F4
|
||||
fn_1_2AC8 = .text:0x00002AE4; // type:function size:0x14
|
||||
fn_1_2ADC = .text:0x00002AF8; // type:function size:0x98
|
||||
fn_1_2B74 = .text:0x00002B90; // type:function size:0x368
|
||||
fn_1_2EDC = .text:0x00002EF8; // type:function size:0x80
|
||||
fn_1_2F5C = .text:0x00002F78; // type:function size:0x6F8
|
||||
fn_1_3654 = .text:0x00003670; // type:function size:0x70
|
||||
fn_1_36C4 = .text:0x000036E0; // type:function size:0x50
|
||||
fn_1_3714 = .text:0x00003730; // type:function size:0x7E8
|
||||
fn_1_3EFC = .text:0x00003F18; // type:function size:0x700
|
||||
fn_1_45FC = .text:0x00004618; // type:function size:0x48
|
||||
fn_1_4644 = .text:0x00004660; // type:function size:0x60
|
||||
fn_1_46A4 = .text:0x000046C0; // type:function size:0x94
|
||||
fn_1_4738 = .text:0x00004754; // type:function size:0x15C
|
||||
fn_1_4894 = .text:0x000048B0; // type:function size:0x5C
|
||||
fn_1_48F0 = .text:0x0000490C; // type:function size:0x178
|
||||
fn_1_4A68 = .text:0x00004A84; // type:function size:0x8C
|
||||
fn_1_4AF4 = .text:0x00004B10; // type:function size:0x3D0
|
||||
fn_1_4EC4 = .text:0x00004EE0; // type:function size:0x50
|
||||
fn_1_4F14 = .text:0x00004F30; // type:function size:0x220
|
||||
fn_1_5134 = .text:0x00005150; // type:function size:0xA20
|
||||
fn_1_5B34 = .text:0x00005B70; // type:function size:0x14
|
||||
fn_1_5B48 = .text:0x00005B84; // type:function size:0x40
|
||||
fn_1_5B88 = .text:0x00005BC4; // type:function size:0xE4
|
||||
fn_1_5C6C = .text:0x00005CA8; // type:function size:0xD0
|
||||
fn_1_5D3C = .text:0x00005D78; // type:function size:0x130
|
||||
fn_1_5E6C = .text:0x00005EA8; // type:function size:0x50
|
||||
fn_1_5EBC = .text:0x00005EF8; // type:function size:0x14C
|
||||
fn_1_6008 = .text:0x00006044; // type:function size:0x178
|
||||
fn_1_6180 = .text:0x000061BC; // type:function size:0x60
|
||||
fn_1_61E0 = .text:0x0000621C; // type:function size:0x68
|
||||
fn_1_6248 = .text:0x00006284; // type:function size:0xC8
|
||||
fn_1_6310 = .text:0x0000634C; // type:function size:0xA8
|
||||
fn_1_63B8 = .text:0x000063F4; // type:function size:0x1DC
|
||||
fn_1_6594 = .text:0x000065D0; // type:function size:0x50
|
||||
fn_1_65E4 = .text:0x00006620; // type:function size:0x120
|
||||
fn_1_6704 = .text:0x00006740; // type:function size:0x118
|
||||
fn_1_681C = .text:0x00006858; // type:function size:0x28
|
||||
fn_1_6844 = .text:0x00006880; // type:function size:0x44
|
||||
fn_1_6888 = .text:0x000068C4; // type:function size:0x15C
|
||||
fn_1_69E4 = .text:0x00006A20; // type:function size:0x50
|
||||
fn_1_6A34 = .text:0x00006A70; // type:function size:0x38C
|
||||
fn_1_6DC0 = .text:0x00006DFC; // type:function size:0x410
|
||||
fn_1_71D0 = .text:0x0000720C; // type:function size:0xA8
|
||||
fn_1_7278 = .text:0x000072B4; // type:function size:0xB0
|
||||
fn_1_7328 = .text:0x00007364; // type:function size:0xB4
|
||||
fn_1_73DC = .text:0x00007418; // type:function size:0x1B0
|
||||
fn_1_758C = .text:0x000075C8; // type:function size:0x20
|
||||
fn_1_75AC = .text:0x000075E8; // type:function size:0x4
|
||||
fn_1_75B0 = .text:0x000075EC; // type:function size:0xC
|
||||
fn_1_75BC = .text:0x000075F8; // type:function size:0x38
|
||||
fn_1_75F4 = .text:0x00007630; // type:function size:0x118
|
||||
fn_1_770C = .text:0x00007748; // type:function size:0x250
|
||||
fn_1_795C = .text:0x00007998; // type:function size:0x46C
|
||||
fn_1_7DC8 = .text:0x00007E04; // type:function size:0x314
|
||||
fn_1_80DC = .text:0x00008118; // type:function size:0x7D8
|
||||
fn_1_88B4 = .text:0x000088F0; // type:function size:0x55C
|
||||
fn_1_8E10 = .text:0x00008E4C; // type:function size:0x38
|
||||
fn_1_8E48 = .text:0x00008E84; // type:function size:0x2E8
|
||||
fn_1_9130 = .text:0x0000916C; // type:function size:0x100
|
||||
fn_1_9230 = .text:0x0000926C; // type:function size:0x314
|
||||
fn_1_9544 = .text:0x00009580; // type:function size:0x1D8
|
||||
fn_1_971C = .text:0x00009758; // type:function size:0x7C
|
||||
fn_1_9798 = .text:0x000097D4; // type:function size:0x54
|
||||
fn_1_97EC = .text:0x00009828; // type:function size:0x7C
|
||||
fn_1_9868 = .text:0x000098A4; // type:function size:0x7C
|
||||
fn_1_98E4 = .text:0x00009920; // type:function size:0x78
|
||||
fn_1_995C = .text:0x00009998; // type:function size:0x12C
|
||||
_ctors = .ctors:0x00000000; // type:label scope:global data:4byte
|
||||
_dtors = .dtors:0x00000000; // type:label scope:global data:4byte
|
||||
lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 data:4byte
|
||||
lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x1 data:byte
|
||||
lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 scope:local data:4byte
|
||||
lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x1 scope:local data:byte
|
||||
lbl_1_data_0 = .data:0x00000000; // type:object size:0x30
|
||||
lbl_1_data_30 = .data:0x00000030; // type:object size:0xC
|
||||
lbl_1_data_3C = .data:0x0000003C; // type:object size:0xC
|
||||
|
|
@ -173,7 +173,7 @@ lbl_1_data_4C = .data:0x0000004C; // type:object size:0x54 data:float
|
|||
lbl_1_data_A0 = .data:0x000000A0; // type:object size:0xC
|
||||
lbl_1_data_AC = .data:0x000000AC; // type:object size:0xC
|
||||
lbl_1_data_B8 = .data:0x000000B8; // type:object size:0xC
|
||||
lbl_1_data_C4 = .data:0x000000C4; // type:object size:0x24
|
||||
lbl_1_data_C4 = .data:0x000000C4; // type:object size:0x24 scope:local data:string
|
||||
jumptable_1_data_E8 = .data:0x000000E8; // type:object size:0x24 scope:local
|
||||
lbl_1_data_10C = .data:0x0000010C; // type:object size:0x4
|
||||
lbl_1_data_110 = .data:0x00000110; // type:object size:0x60 data:4byte
|
||||
|
|
|
|||
|
|
@ -1072,7 +1072,7 @@ config.libs = [
|
|||
Rel(
|
||||
"m426Dll", # Revers-a-Bomb
|
||||
objects={
|
||||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m426Dll/main.c"),
|
||||
Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "REL/m426Dll/main.c"),
|
||||
},
|
||||
),
|
||||
Rel(
|
||||
|
|
@ -1088,7 +1088,7 @@ config.libs = [
|
|||
objects={
|
||||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m428Dll/main.c"),
|
||||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m428Dll/map.c"),
|
||||
Object(NonMatching, "REL/m428Dll/player.c"),
|
||||
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m428Dll/player.c"),
|
||||
},
|
||||
),
|
||||
Rel(
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
#include "game/object.h"
|
||||
|
||||
u32 fn_1_26E0(void);
|
||||
s32 fn_1_26E0(void);
|
||||
void fn_1_4170(s16 arg0, s32 arg1);
|
||||
|
||||
void fn_1_4324(s32 arg0, Vec *arg1, Vec *arg2, Vec *arg3);
|
||||
|
|
@ -28,4 +28,7 @@ void fn_1_116C4(s32 arg0, s32 arg1);
|
|||
void fn_1_11754(s32 arg0, float arg8);
|
||||
void fn_1_11798(s32 arg0);
|
||||
|
||||
extern s16 lbl_1_bss_50[4];
|
||||
extern s32 lbl_1_bss_18;
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -579,7 +579,7 @@ static void fn_1_1A60(Vec *arg0, s16 arg1, Vec *arg2)
|
|||
}
|
||||
temp_r31 = &Hu3DCamera[i];
|
||||
C_MTXLookAt(sp1C, &temp_r31->pos, &temp_r31->up, &temp_r31->target);
|
||||
PSMTXMultVec(sp1C, arg0, &sp10);
|
||||
MTXMultVec(sp1C, arg0, &sp10);
|
||||
temp_f30 = sp10.z * (sind(temp_r31->fov / 2) / cosd(temp_r31->fov / 2)) * temp_r31->aspect;
|
||||
temp_f29 = sp10.z * (sind(temp_r31->fov / 2) / cosd(temp_r31->fov / 2));
|
||||
temp_f28 = 0.9f * temp_r31->viewport_x;
|
||||
|
|
@ -606,9 +606,9 @@ static void fn_1_1D70(s16 arg0, char *arg1, Vec *arg2, Mtx arg3)
|
|||
|
||||
var_r30 = &Hu3DData[arg0];
|
||||
Hu3DModelObjMtxGet(arg0, arg1, spC);
|
||||
PSMTXConcat(var_r30->unk_F0, spC, spC);
|
||||
MTXConcat(var_r30->unk_F0, spC, spC);
|
||||
if (NULL != arg3) {
|
||||
PSMTXCopy(spC, arg3);
|
||||
MTXCopy(spC, arg3);
|
||||
}
|
||||
arg2->x = spC[0][3];
|
||||
arg2->y = spC[1][3];
|
||||
|
|
@ -1425,9 +1425,9 @@ static void fn_1_70E4(omObjData *arg0)
|
|||
spC.y = 0.0f;
|
||||
spC.z = var_f27;
|
||||
temp_r31->unk24.z *= 0.92f;
|
||||
PSMTXIdentity(sp18);
|
||||
MTXIdentity(sp18);
|
||||
mtxRot(sp18, temp_r31->unk24.x, temp_r31->unk24.y, 0.0f);
|
||||
PSMTXMultVec(sp18, &spC, &spC);
|
||||
MTXMultVec(sp18, &spC, &spC);
|
||||
VECAdd(&spC, &temp_r31->unk00, &temp_r31->unk00);
|
||||
omSetTra(arg0, temp_r31->unk00.x, temp_r31->unk00.y, temp_r31->unk00.z);
|
||||
Hu3DModelTPLvlSet(arg0->model[0], temp_r31->unk30);
|
||||
|
|
|
|||
|
|
@ -1384,18 +1384,18 @@ static void fn_1_46E4(Mtx arg0, float arg1, float arg2, float arg3)
|
|||
Mtx sp8;
|
||||
|
||||
if (arg3 != 0.0f) {
|
||||
PSMTXRotRad(arg0, 'Z', MTXDegToRad(arg3));
|
||||
MTXRotRad(arg0, 'Z', MTXDegToRad(arg3));
|
||||
}
|
||||
else {
|
||||
PSMTXIdentity(arg0);
|
||||
MTXIdentity(arg0);
|
||||
}
|
||||
if (arg1 != 0.0f) {
|
||||
PSMTXRotRad(sp38, 'X', MTXDegToRad(arg1));
|
||||
PSMTXConcat(sp38, arg0, arg0);
|
||||
MTXRotRad(sp38, 'X', MTXDegToRad(arg1));
|
||||
MTXConcat(sp38, arg0, arg0);
|
||||
}
|
||||
if (arg2 != 0.0f) {
|
||||
PSMTXRotRad(sp8, 'Y', MTXDegToRad(arg2));
|
||||
PSMTXConcat(sp8, arg0, arg0);
|
||||
MTXRotRad(sp8, 'Y', MTXDegToRad(arg2));
|
||||
MTXConcat(sp8, arg0, arg0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -307,12 +307,12 @@ static void fn_1_6ED8(omObjData *arg0)
|
|||
Mtx sp8;
|
||||
s32 i;
|
||||
|
||||
PSMTXTrans(sp38, arg0->trans.x, arg0->trans.y, arg0->trans.z);
|
||||
MTXTrans(sp38, arg0->trans.x, arg0->trans.y, arg0->trans.z);
|
||||
mtxRot(sp8, arg0->rot.x, arg0->rot.y, arg0->rot.z);
|
||||
PSMTXConcat(sp38, sp8, sp38);
|
||||
MTXConcat(sp38, sp8, sp38);
|
||||
for (i = 0; i < 6; i++) {
|
||||
PSMTXTrans(sp8, lbl_1_data_A88[i].x, lbl_1_data_A88[i].y, lbl_1_data_A88[i].z);
|
||||
PSMTXConcat(sp38, sp8, sp8);
|
||||
MTXTrans(sp8, lbl_1_data_A88[i].x, lbl_1_data_A88[i].y, lbl_1_data_A88[i].z);
|
||||
MTXConcat(sp38, sp8, sp8);
|
||||
Hu3DModelPosSet(arg0->model[i + 1], sp8[0][3], sp8[1][3], sp8[2][3]);
|
||||
Hu3DModelRotSet(arg0->model[i + 1], arg0->rot.x, arg0->rot.y, arg0->rot.z);
|
||||
}
|
||||
|
|
@ -598,16 +598,16 @@ static s32 fn_1_7D04(float arg0, float arg1, Vec *arg2)
|
|||
temp_r28 -= 6;
|
||||
fn_1_7BD4(temp_r21, &sp10);
|
||||
sp10 = lbl_1_data_A88[temp_r21];
|
||||
PSMTXTrans(sp4C, temp_r31->trans.x, temp_r31->trans.y, temp_r31->trans.z);
|
||||
MTXTrans(sp4C, temp_r31->trans.x, temp_r31->trans.y, temp_r31->trans.z);
|
||||
mtxRot(sp1C, temp_r31->rot.x, temp_r31->rot.y, temp_r31->rot.z);
|
||||
PSMTXConcat(sp4C, sp1C, sp4C);
|
||||
PSMTXTrans(sp1C, sp10.x, sp10.y, sp10.z);
|
||||
PSMTXConcat(sp4C, sp1C, sp4C);
|
||||
MTXConcat(sp4C, sp1C, sp4C);
|
||||
MTXTrans(sp1C, sp10.x, sp10.y, sp10.z);
|
||||
MTXConcat(sp4C, sp1C, sp4C);
|
||||
var_r30 = lbl_1_data_AFC[temp_r28];
|
||||
temp_r23 = lbl_1_data_B14[temp_r28];
|
||||
for (i = 0; i < temp_r23; i++) {
|
||||
PSMTXTrans(sp1C, var_r30->x, var_r30->y, var_r30->z);
|
||||
PSMTXConcat(sp4C, sp1C, sp1C);
|
||||
MTXTrans(sp1C, var_r30->x, var_r30->y, var_r30->z);
|
||||
MTXConcat(sp4C, sp1C, sp1C);
|
||||
arg2->x = sp1C[0][3];
|
||||
arg2->y = sp1C[1][3];
|
||||
arg2->z = sp1C[2][3];
|
||||
|
|
@ -703,17 +703,17 @@ s32 fn_1_8470(Vec *arg0)
|
|||
temp_r30 = lbl_1_bss_9C[lbl_1_bss_94];
|
||||
temp_r27 = temp_r30->data;
|
||||
var_r25 = fn_1_8274(temp_r27, sp8);
|
||||
PSMTXTrans(sp50, temp_r30->trans.x, temp_r30->trans.y, temp_r30->trans.z);
|
||||
MTXTrans(sp50, temp_r30->trans.x, temp_r30->trans.y, temp_r30->trans.z);
|
||||
mtxRot(sp20, temp_r30->rot.x, temp_r30->rot.y, temp_r30->rot.z);
|
||||
PSMTXConcat(sp50, sp20, sp50);
|
||||
MTXConcat(sp50, sp20, sp50);
|
||||
for (i = 0; i < var_r25; i++) {
|
||||
fn_1_7BD4(sp8[i], arg0);
|
||||
temp_r26 = fn_1_7C20(temp_r27, sp8[i]) - 6;
|
||||
arg0->x += lbl_1_data_B2C[temp_r26].x;
|
||||
arg0->y += lbl_1_data_B2C[temp_r26].y;
|
||||
arg0->z += lbl_1_data_B2C[temp_r26].z;
|
||||
PSMTXTrans(sp20, arg0->x, arg0->y, arg0->z);
|
||||
PSMTXConcat(sp50, sp20, sp20);
|
||||
MTXTrans(sp20, arg0->x, arg0->y, arg0->z);
|
||||
MTXConcat(sp50, sp20, sp20);
|
||||
arg0->x = sp20[0][3];
|
||||
arg0->y = sp20[1][3];
|
||||
arg0->z = sp20[2][3];
|
||||
|
|
|
|||
|
|
@ -571,7 +571,7 @@ void fn_1_1A60(Vec *arg0, s16 arg1, Vec *arg2)
|
|||
}
|
||||
temp_r31 = &Hu3DCamera[i];
|
||||
C_MTXLookAt(sp1C, &temp_r31->pos, &temp_r31->up, &temp_r31->target);
|
||||
PSMTXMultVec(sp1C, arg0, &sp10);
|
||||
MTXMultVec(sp1C, arg0, &sp10);
|
||||
temp_f30 = sp10.z * (sind(temp_r31->fov / 2) / cosd(temp_r31->fov / 2)) * temp_r31->aspect;
|
||||
temp_f29 = sp10.z * (sind(temp_r31->fov / 2) / cosd(temp_r31->fov / 2));
|
||||
temp_f28 = 0.9f * temp_r31->viewport_x;
|
||||
|
|
@ -598,9 +598,9 @@ void fn_1_1D70(s16 arg0, char *arg1, Vec *arg2, Mtx arg3)
|
|||
|
||||
var_r30 = &Hu3DData[arg0];
|
||||
Hu3DModelObjMtxGet(arg0, arg1, spC);
|
||||
PSMTXConcat(var_r30->unk_F0, spC, spC);
|
||||
MTXConcat(var_r30->unk_F0, spC, spC);
|
||||
if (NULL != arg3) {
|
||||
PSMTXCopy(spC, arg3);
|
||||
MTXCopy(spC, arg3);
|
||||
}
|
||||
arg2->x = spC[0][3];
|
||||
arg2->y = spC[1][3];
|
||||
|
|
@ -928,7 +928,7 @@ void fn_1_37A4(ModelData *arg0, Mtx arg1)
|
|||
UnkBss10Struct *temp_r31;
|
||||
|
||||
GXLoadPosMtxImm(arg1, GX_PNMTX0);
|
||||
PSMTXInvXpose(arg1, spEC);
|
||||
MTXInvXpose(arg1, spEC);
|
||||
GXLoadNrmMtxImm(spEC, GX_PNMTX0);
|
||||
temp_r31 = &lbl_1_data_10[2];
|
||||
GXInitTexObj(&spC, temp_r31->unk00, temp_r31->unk08, temp_r31->unk0A, GX_TF_RGB565, GX_CLAMP, GX_CLAMP, GX_FALSE);
|
||||
|
|
@ -941,31 +941,31 @@ void fn_1_37A4(ModelData *arg0, Mtx arg1)
|
|||
GXLoadTexObj(&spC, GX_TEXMAP3);
|
||||
GXSetNumTexGens(4);
|
||||
C_MTXLightPerspective(sp2C, 30.0f, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f);
|
||||
PSMTXInverse(Hu3DCameraMtx, spEC);
|
||||
PSMTXConcat(spEC, arg1, spEC);
|
||||
PSMTXConcat(sp2C, Hu3DCameraMtx, spBC);
|
||||
PSMTXConcat(spBC, spEC, spBC);
|
||||
MTXInverse(Hu3DCameraMtx, spEC);
|
||||
MTXConcat(spEC, arg1, spEC);
|
||||
MTXConcat(sp2C, Hu3DCameraMtx, spBC);
|
||||
MTXConcat(spBC, spEC, spBC);
|
||||
GXLoadTexMtxImm(spBC, GX_TEXMTX0, GX_MTX3x4);
|
||||
C_MTXLightPerspective(sp2C, 30.0f, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f);
|
||||
PSMTXInverse(Hu3DCameraMtx, spEC);
|
||||
PSMTXConcat(spEC, arg1, spEC);
|
||||
PSMTXConcat(sp2C, Hu3DCameraMtx, spBC);
|
||||
PSMTXConcat(spBC, spEC, spBC);
|
||||
MTXInverse(Hu3DCameraMtx, spEC);
|
||||
MTXConcat(spEC, arg1, spEC);
|
||||
MTXConcat(sp2C, Hu3DCameraMtx, spBC);
|
||||
MTXConcat(spBC, spEC, spBC);
|
||||
GXLoadTexMtxImm(spBC, GX_TEXMTX1, GX_MTX3x4);
|
||||
PSMTXRotRad(spEC, 'X', MTXDegToRad(-90));
|
||||
MTXRotRad(spEC, 'X', MTXDegToRad(-90));
|
||||
var_f31 = 0.0004f;
|
||||
PSMTXScale(sp8C, 0.00083333335f, var_f31, 0.0004f);
|
||||
PSMTXConcat(sp8C, spEC, sp5C);
|
||||
PSMTXTrans(spBC, 0.5f, 0.5f, 0.5f);
|
||||
PSMTXConcat(spBC, sp5C, sp5C);
|
||||
MTXScale(sp8C, 0.00083333335f, var_f31, 0.0004f);
|
||||
MTXConcat(sp8C, spEC, sp5C);
|
||||
MTXTrans(spBC, 0.5f, 0.5f, 0.5f);
|
||||
MTXConcat(spBC, sp5C, sp5C);
|
||||
sp5C[0][1] = -0.01f;
|
||||
GXLoadTexMtxImm(sp5C, GX_TEXMTX2, GX_MTX2x4);
|
||||
PSMTXRotRad(spEC, 'X', MTXDegToRad(-90));
|
||||
MTXRotRad(spEC, 'X', MTXDegToRad(-90));
|
||||
var_f31 = 0.0004f;
|
||||
PSMTXScale(sp8C, var_f31, var_f31, var_f31);
|
||||
PSMTXConcat(sp8C, spEC, sp5C);
|
||||
PSMTXTrans(spBC, 0.5f, 0.5f, 0.0f);
|
||||
PSMTXConcat(spBC, sp5C, sp5C);
|
||||
MTXScale(sp8C, var_f31, var_f31, var_f31);
|
||||
MTXConcat(sp8C, spEC, sp5C);
|
||||
MTXTrans(spBC, 0.5f, 0.5f, 0.0f);
|
||||
MTXConcat(spBC, sp5C, sp5C);
|
||||
GXLoadTexMtxImm(sp5C, GX_TEXMTX3, GX_MTX2x4);
|
||||
GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX0, GX_FALSE, GX_PTIDENTITY);
|
||||
GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX1, GX_FALSE, GX_PTIDENTITY);
|
||||
|
|
@ -974,12 +974,12 @@ void fn_1_37A4(ModelData *arg0, Mtx arg1)
|
|||
GXSetNumIndStages(2);
|
||||
GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD2, GX_TEXMAP2);
|
||||
GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1);
|
||||
PSMTXScale(spBC, -0.2f, -0.2f, 0.2f);
|
||||
MTXScale(spBC, -0.2f, -0.2f, 0.2f);
|
||||
GXSetIndTexMtx(GX_ITM_0, (float(*)[3])spBC, -2);
|
||||
GXSetTevIndWarp(GX_TEVSTAGE0, GX_INDTEXSTAGE0, GX_TRUE, GX_FALSE, GX_ITM_0);
|
||||
GXSetIndTexOrder(GX_INDTEXSTAGE1, GX_TEXCOORD3, GX_TEXMAP3);
|
||||
GXSetIndTexCoordScale(GX_INDTEXSTAGE1, GX_ITS_1, GX_ITS_1);
|
||||
PSMTXScale(spBC, 0.5f, 0.5f, 0.5f);
|
||||
MTXScale(spBC, 0.5f, 0.5f, 0.5f);
|
||||
GXSetIndTexMtx(GX_ITM_1, (float(*)[3])spBC, 0);
|
||||
GXSetTevIndWarp(GX_TEVSTAGE1, GX_INDTEXSTAGE1, GX_TRUE, GX_FALSE, GX_ITM_1);
|
||||
GXSetNumTevStages(2);
|
||||
|
|
@ -1031,10 +1031,10 @@ void fn_1_4024(ModelData *arg0, Mtx arg1)
|
|||
fn_1_2714(1, GX_FALSE);
|
||||
GXLoadPosMtxImm(arg1, GX_PNMTX0);
|
||||
C_MTXLightPerspective(sp98, 30.0f, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f);
|
||||
PSMTXInverse(Hu3DCameraMtx, sp68);
|
||||
PSMTXConcat(sp68, arg1, sp68);
|
||||
PSMTXConcat(sp98, Hu3DCameraMtx, sp38);
|
||||
PSMTXConcat(sp38, sp68, sp68);
|
||||
MTXInverse(Hu3DCameraMtx, sp68);
|
||||
MTXConcat(sp68, arg1, sp68);
|
||||
MTXConcat(sp98, Hu3DCameraMtx, sp38);
|
||||
MTXConcat(sp38, sp68, sp68);
|
||||
GXLoadTexMtxImm(sp68, GX_TEXMTX0, GX_MTX3x4);
|
||||
GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX0, GX_FALSE, GX_PTIDENTITY);
|
||||
GXSetNumChans(1);
|
||||
|
|
@ -1096,7 +1096,7 @@ void fn_1_4700(ModelData *arg0, Mtx arg1)
|
|||
|
||||
C_MTXOrtho(sp20, 0.0f, 480.0f, 0.0f, 640.0f, 0.0f, 100.0f);
|
||||
GXSetProjection(sp20, GX_ORTHOGRAPHIC);
|
||||
PSMTXIdentity(sp60);
|
||||
MTXIdentity(sp60);
|
||||
GXLoadPosMtxImm(sp60, GX_PNMTX0);
|
||||
GXSetNumChans(1);
|
||||
GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_CLAMP, GX_AF_NONE);
|
||||
|
|
|
|||
|
|
@ -1083,7 +1083,7 @@ void fn_1_45BC(ModelData *arg0, Mtx arg1)
|
|||
}
|
||||
if (!var_r31->unk_28) {
|
||||
GXLoadPosMtxImm(arg1, 0);
|
||||
PSMTXInvXpose(arg1, sp10);
|
||||
MTXInvXpose(arg1, sp10);
|
||||
GXLoadNrmMtxImm(sp10, 0);
|
||||
var_r26 = fn_1_D06C(arg0, Hu3DCameraMtx, Hu3DCameraMtxXPose, 2.0f);
|
||||
GXSetNumTevStages(1);
|
||||
|
|
@ -2149,7 +2149,7 @@ void fn_1_82C8(Mtx arg0, s32 arg1, float arg8)
|
|||
sp80.z = arg0[2][3];
|
||||
sp74.x = sp74.z = 0.0f;
|
||||
sp74.y = atan2d(arg0[0][0], arg0[2][0]);
|
||||
PSMTXCopy(arg0, sp8C);
|
||||
MTXCopy(arg0, sp8C);
|
||||
sp8C[0][3] = sp8C[1][3] = sp8C[2][3] = sp8C[3][3] = 0.0f;
|
||||
sp68.x = -25.0f;
|
||||
sp68.z = -50.0f;
|
||||
|
|
@ -2227,7 +2227,7 @@ void fn_1_8F98(void)
|
|||
var_r31->unk_10 = 0.0f;
|
||||
var_r31->unk_14 = 6.0f;
|
||||
var_r31->unk_18 = 1.0f;
|
||||
PSMTXIdentity(var_r31->unk_1C);
|
||||
MTXIdentity(var_r31->unk_1C);
|
||||
if (var_r30 == 0) {
|
||||
var_r31->unk_04 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M406, 59));
|
||||
}
|
||||
|
|
@ -2246,7 +2246,7 @@ void fn_1_8F98(void)
|
|||
var_r31->unk_10 = 0.0f;
|
||||
var_r31->unk_14 = 6.0f;
|
||||
var_r31->unk_18 = 1.0f;
|
||||
PSMTXIdentity(var_r31->unk_1C);
|
||||
MTXIdentity(var_r31->unk_1C);
|
||||
if (var_r30 == 0) {
|
||||
var_r31->unk_04 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M406, 60));
|
||||
}
|
||||
|
|
@ -2278,8 +2278,8 @@ void fn_1_91E0(void)
|
|||
var_f31 = var_r31->unk_18 * cosd((90.0f * var_f30));
|
||||
var_f31 = var_f31;
|
||||
var_r30 = &Hu3DData[var_r31->unk_04];
|
||||
PSMTXScale(sp8, var_f31, var_f31, var_f31);
|
||||
PSMTXConcat(var_r31->unk_1C, sp8, var_r30->unk_F0);
|
||||
MTXScale(sp8, var_f31, var_f31, var_f31);
|
||||
MTXConcat(var_r31->unk_1C, sp8, var_r30->unk_F0);
|
||||
var_r30->unk_F0[0][3] = var_r31->unk_1C[0][3];
|
||||
var_r30->unk_F0[1][3] = var_r31->unk_1C[1][3];
|
||||
var_r30->unk_F0[2][3] = var_r31->unk_1C[2][3];
|
||||
|
|
@ -2299,8 +2299,8 @@ void fn_1_91E0(void)
|
|||
var_f31 = var_r31->unk_18 * cosd((90.0f * var_f30));
|
||||
var_f31 = var_f31;
|
||||
var_r30 = &Hu3DData[var_r31->unk_04];
|
||||
PSMTXScale(sp8, var_f31, var_f31, var_f31);
|
||||
PSMTXConcat(var_r31->unk_1C, sp8, var_r30->unk_F0);
|
||||
MTXScale(sp8, var_f31, var_f31, var_f31);
|
||||
MTXConcat(var_r31->unk_1C, sp8, var_r30->unk_F0);
|
||||
var_r30->unk_F0[0][3] = var_r31->unk_1C[0][3];
|
||||
var_r30->unk_F0[1][3] = var_r31->unk_1C[1][3];
|
||||
var_r30->unk_F0[2][3] = var_r31->unk_1C[2][3];
|
||||
|
|
@ -2340,7 +2340,7 @@ s32 fn_1_94C0(Mtx arg0, s32 arg1, s32 arg2)
|
|||
sp64.z = arg0[2][3];
|
||||
sp58.x = sp58.z = 0.0f;
|
||||
sp58.y = atan2d(arg0[0][0], arg0[2][0]);
|
||||
PSMTXCopy(arg0, spA0);
|
||||
MTXCopy(arg0, spA0);
|
||||
spA0[0][3] = spA0[1][3] = spA0[2][3] = spA0[3][3] = 0.0f;
|
||||
if (!arg2) {
|
||||
sp4C.x = 25.0f;
|
||||
|
|
@ -2419,12 +2419,12 @@ s32 fn_1_94C0(Mtx arg0, s32 arg1, s32 arg2)
|
|||
var_r31->unk_10 = 1.0f;
|
||||
var_r31->unk_14 = 6.0f;
|
||||
var_r31->unk_18 = var_f31;
|
||||
PSMTXCopy(arg0, var_r31->unk_1C);
|
||||
MTXCopy(arg0, var_r31->unk_1C);
|
||||
Hu3DMotionTimeSet(var_r31->unk_04, 0.0f);
|
||||
Hu3DMotionSpeedSet(var_r31->unk_04, 0.0f);
|
||||
var_r27 = &Hu3DData[var_r31->unk_04];
|
||||
PSMTXScale(sp70, var_f31, var_f31, var_f31);
|
||||
PSMTXConcat(arg0, sp70, var_r27->unk_F0);
|
||||
MTXScale(sp70, var_f31, var_f31, var_f31);
|
||||
MTXConcat(arg0, sp70, var_r27->unk_F0);
|
||||
var_r27->unk_F0[0][3] = arg0[0][3];
|
||||
var_r27->unk_F0[1][3] = arg0[1][3];
|
||||
var_r27->unk_F0[2][3] = arg0[2][3];
|
||||
|
|
@ -2630,7 +2630,7 @@ void fn_1_ADB4(ModelData *arg0, float (*arg1)[4])
|
|||
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
|
||||
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0);
|
||||
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
|
||||
PSMTXIdentity(sp50);
|
||||
MTXIdentity(sp50);
|
||||
GXLoadPosMtxImm(sp50, 0);
|
||||
GXSetZMode(GX_FALSE, GX_ALWAYS, GX_TRUE);
|
||||
GXSetNumChans(1);
|
||||
|
|
@ -2954,7 +2954,7 @@ void fn_1_BC18(ModelData *arg0, float (*arg1)[4])
|
|||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
|
||||
GXSetArray(GX_VA_TEX0, var_r31->unk_44, 8);
|
||||
if (HmfInverseMtxF3X3(arg1, sp128) == 0) {
|
||||
PSMTXIdentity(sp128);
|
||||
MTXIdentity(sp128);
|
||||
}
|
||||
PSMTXReorder(sp128, sp8);
|
||||
if (var_r31->unk_4C) {
|
||||
|
|
@ -2993,9 +2993,9 @@ void fn_1_BC18(ModelData *arg0, float (*arg1)[4])
|
|||
VECScale(&lbl_1_data_8E0[1], &sp98[1], var_r29->unk_28);
|
||||
VECScale(&lbl_1_data_8E0[2], &sp98[2], var_r29->unk_28);
|
||||
VECScale(&lbl_1_data_8E0[3], &sp98[3], var_r29->unk_28);
|
||||
PSMTXRotRad(spC8, 90, var_r29->unk_2C);
|
||||
PSMTXConcat(sp128, spC8, spF8);
|
||||
PSMTXMultVecArray(spF8, &sp98[0], &sp68[0], 4);
|
||||
MTXRotRad(spC8, 90, var_r29->unk_2C);
|
||||
MTXConcat(sp128, spC8, spF8);
|
||||
MTXMultVecArray(spF8, &sp98[0], &sp68[0], 4);
|
||||
VECAdd(&sp68[0], &var_r29->unk_30, var_r30++);
|
||||
VECAdd(&sp68[1], &var_r29->unk_30, var_r30++);
|
||||
VECAdd(&sp68[2], &var_r29->unk_30, var_r30++);
|
||||
|
|
@ -3167,7 +3167,7 @@ void fn_1_C86C(ModelData *arg0, Mtx arg1)
|
|||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_CLR0, &var_r31->unk_3C->unk_3C, 0x44);
|
||||
if (HmfInverseMtxF3X3(arg1, sp9C) == 0) {
|
||||
PSMTXIdentity(sp9C);
|
||||
MTXIdentity(sp9C);
|
||||
}
|
||||
PSMTXReorder(sp9C, spC);
|
||||
if (var_r31->unk_4C) {
|
||||
|
|
@ -3362,8 +3362,8 @@ void fn_1_D13C(LightData *arg0, s16 arg1, Mtx arg2, Mtx arg3, float arg8)
|
|||
break;
|
||||
}
|
||||
if (arg0->unk_00 & 0x8000) {
|
||||
PSMTXMultVec(arg2, &arg0->unk_28, &sp24);
|
||||
PSMTXMultVec(arg3, &arg0->unk_1C, &sp18);
|
||||
MTXMultVec(arg2, &arg0->unk_28, &sp24);
|
||||
MTXMultVec(arg3, &arg0->unk_1C, &sp18);
|
||||
GXInitLightPos(&sp30, sp18.x, sp18.y, sp18.z);
|
||||
}
|
||||
else {
|
||||
|
|
|
|||
|
|
@ -666,11 +666,11 @@ void fn_1_E214(omObjData *object)
|
|||
}
|
||||
Hu3DModelScaleSet(object->model[5], var_f30, var_f30, var_f30);
|
||||
var_r31->unk_50 += VECMag(&var_r31->unk_2C) / 3.125f;
|
||||
PSMTXTrans(sp94, -var_r31->unk_68, -var_r31->unk_6C, -var_r31->unk_70);
|
||||
PSMTXRotRad(sp64, 0x78, 0.017453292f * var_r31->unk_50);
|
||||
PSMTXConcat(sp64, sp94, sp34);
|
||||
PSMTXTrans(sp94, var_r31->unk_68, var_r31->unk_6C, var_r31->unk_70);
|
||||
PSMTXConcat(sp94, sp34, var_r26->unk_F0);
|
||||
MTXTrans(sp94, -var_r31->unk_68, -var_r31->unk_6C, -var_r31->unk_70);
|
||||
MTXRotRad(sp64, 0x78, 0.017453292f * var_r31->unk_50);
|
||||
MTXConcat(sp64, sp94, sp34);
|
||||
MTXTrans(sp94, var_r31->unk_68, var_r31->unk_6C, var_r31->unk_70);
|
||||
MTXConcat(sp94, sp34, var_r26->unk_F0);
|
||||
var_r27 = 6;
|
||||
var_f31 = 2.0f;
|
||||
var_r25 = 0;
|
||||
|
|
@ -690,14 +690,14 @@ void fn_1_E214(omObjData *object)
|
|||
var_r31->unk_2C.x = var_r31->unk_2C.y = var_r31->unk_2C.z = 0.0f;
|
||||
}
|
||||
var_r31->unk_50 = fn_1_13AF4(var_r31->unk_50, 0.0f, 0.5f);
|
||||
PSMTXTrans(sp94, -var_r31->unk_68, -var_r31->unk_6C, -var_r31->unk_70);
|
||||
PSMTXRotRad(sp64, 0x78, 0.017453292f * var_r31->unk_50);
|
||||
PSMTXConcat(sp64, sp94, sp34);
|
||||
PSMTXTrans(sp94, var_r31->unk_68, var_r31->unk_6C, var_r31->unk_70);
|
||||
PSMTXConcat(sp94, sp34, var_r26->unk_F0);
|
||||
MTXTrans(sp94, -var_r31->unk_68, -var_r31->unk_6C, -var_r31->unk_70);
|
||||
MTXRotRad(sp64, 0x78, 0.017453292f * var_r31->unk_50);
|
||||
MTXConcat(sp64, sp94, sp34);
|
||||
MTXTrans(sp94, var_r31->unk_68, var_r31->unk_6C, var_r31->unk_70);
|
||||
MTXConcat(sp94, sp34, var_r26->unk_F0);
|
||||
if (var_r31->unk_5E != 0) {
|
||||
PSMTXTrans(sp94, 100.0f * (0.2f * (((var_r31->unk_5E & 1) * 2) - 1)), 0.0f, 0.0f);
|
||||
PSMTXConcat(sp94, var_r26->unk_F0, var_r26->unk_F0);
|
||||
MTXTrans(sp94, 100.0f * (0.2f * (((var_r31->unk_5E & 1) * 2) - 1)), 0.0f, 0.0f);
|
||||
MTXConcat(sp94, var_r26->unk_F0, var_r26->unk_F0);
|
||||
if (--var_r31->unk_5E == 0) {
|
||||
if (++var_r31->unk_5C >= 4) {
|
||||
var_r31->unk_00_field3 = 0;
|
||||
|
|
@ -708,7 +708,7 @@ void fn_1_E214(omObjData *object)
|
|||
Hu3DModelPosSet(object->model[6], object->trans.x + var_r31->unk_68, object->trans.y + var_r31->unk_6C,
|
||||
object->trans.z + var_r31->unk_70);
|
||||
Hu3DModelAttrReset(object->model[6], HU3D_ATTR_DISPOFF);
|
||||
PSMTXIdentity(var_r26->unk_F0);
|
||||
MTXIdentity(var_r26->unk_F0);
|
||||
fn_1_117BC(var_r31->unk_14.x, 25.0f, &var_r31->unk_44, &var_r31->unk_2C);
|
||||
}
|
||||
}
|
||||
|
|
@ -733,7 +733,7 @@ void fn_1_E214(omObjData *object)
|
|||
if (fn_1_6A44(sp28) == 1) {
|
||||
var_r31->unk_00_field0 = 1;
|
||||
var_r26 = &Hu3DData[object->model[0]];
|
||||
PSMTXIdentity(var_r26->unk_F0);
|
||||
MTXIdentity(var_r26->unk_F0);
|
||||
omVibrate(var_r31->unk_02, 0xC, 4, 2);
|
||||
HuAudCharVoicePlayPos(var_r31->unk_0C, 0x123, &object->trans);
|
||||
for (var_r24 = 0; var_r24 < 2; var_r24++) {
|
||||
|
|
@ -804,13 +804,13 @@ void fn_1_F194(omObjData *object)
|
|||
mtxTransCat(sp80, var_r30->pos.x, var_r30->pos.y, var_r30->pos.z);
|
||||
VECCrossProduct(&sp44, &sp8, &sp44);
|
||||
if (sp44.y >= 0.0f) {
|
||||
PSMTXTrans(sp50, -10.0f, 0.0f, 0.0f);
|
||||
PSMTXConcat(sp50, sp80, sp80);
|
||||
MTXTrans(sp50, -10.0f, 0.0f, 0.0f);
|
||||
MTXConcat(sp50, sp80, sp80);
|
||||
fn_1_94C0(sp80, 10, 0);
|
||||
}
|
||||
else {
|
||||
PSMTXTrans(sp50, 10.0f, 0.0f, 0.0f);
|
||||
PSMTXConcat(sp50, sp80, sp80);
|
||||
MTXTrans(sp50, 10.0f, 0.0f, 0.0f);
|
||||
MTXConcat(sp50, sp80, sp80);
|
||||
fn_1_94C0(sp80, 10, 1);
|
||||
}
|
||||
}
|
||||
|
|
@ -868,13 +868,13 @@ void fn_1_F694(omObjData *object)
|
|||
mtxTransCat(sp68, var_r30->pos.x, var_r30->pos.y, var_r30->pos.z);
|
||||
VECCrossProduct(&sp20, &sp14, &sp8);
|
||||
if (sp8.y >= 0.0f) {
|
||||
PSMTXTrans(sp38, -10.0f, 0.0f, 0.0f);
|
||||
PSMTXConcat(sp38, sp68, sp68);
|
||||
MTXTrans(sp38, -10.0f, 0.0f, 0.0f);
|
||||
MTXConcat(sp38, sp68, sp68);
|
||||
fn_1_94C0(sp68, 10, 0);
|
||||
}
|
||||
else {
|
||||
PSMTXTrans(sp38, 10.0f, 0.0f, 0.0f);
|
||||
PSMTXConcat(sp38, sp68, sp68);
|
||||
MTXTrans(sp38, 10.0f, 0.0f, 0.0f);
|
||||
MTXConcat(sp38, sp68, sp68);
|
||||
fn_1_94C0(sp68, 10, 1);
|
||||
}
|
||||
}
|
||||
|
|
@ -1228,8 +1228,8 @@ void fn_1_10744(omObjData *object)
|
|||
if ((var_r31->unk_64 < 0x50) && (var_r31->unk_64 > 0x1E)) {
|
||||
mtxRot(sp48, var_r29->rot.x, var_r29->rot.y, var_r29->rot.z);
|
||||
mtxTransCat(sp48, var_r29->pos.x, var_r29->pos.y, var_r29->pos.z);
|
||||
PSMTXTrans(sp18, 10.0f, 0.0f, 0.0f);
|
||||
PSMTXConcat(sp18, sp48, sp48);
|
||||
MTXTrans(sp18, 10.0f, 0.0f, 0.0f);
|
||||
MTXConcat(sp18, sp48, sp48);
|
||||
fn_1_94C0(sp48, 10, 0);
|
||||
}
|
||||
var_r31->unk_2C.x = var_r31->unk_54 * (100.0 * (0.10000000149011612 * sind(180.0f + var_r31->unk_14.x)));
|
||||
|
|
@ -1345,15 +1345,15 @@ void fn_1_114A0(omObjData *object)
|
|||
}
|
||||
mtxRot(sp9C, object->rot.x, object->rot.y, object->trans.z);
|
||||
mtxScaleCat(sp9C, object->scale.x, object->scale.y, object->scale.z);
|
||||
PSMTXTrans(sp9C, object->trans.x, object->trans.y, object->trans.z);
|
||||
PSMTXRotRad(sp6C, 0x78, 0.017453292f * var_r31->unk_50);
|
||||
PSMTXConcat(sp9C, sp6C, sp9C);
|
||||
PSMTXCopy(sp9C, spC);
|
||||
MTXTrans(sp9C, object->trans.x, object->trans.y, object->trans.z);
|
||||
MTXRotRad(sp6C, 0x78, 0.017453292f * var_r31->unk_50);
|
||||
MTXConcat(sp9C, sp6C, sp9C);
|
||||
MTXCopy(sp9C, spC);
|
||||
mtxScaleCat(spC, 2.0f, 2.0f, 2.0f);
|
||||
PSMTXCopy(spC, Hu3DData[object->model[5]].unk_F0);
|
||||
PSMTXTrans(sp3C, 0.0f, 110.0f, 0.0f);
|
||||
PSMTXConcat(sp9C, sp3C, spC);
|
||||
PSMTXCopy(spC, Hu3DData[object->model[7]].unk_F0);
|
||||
MTXCopy(spC, Hu3DData[object->model[5]].unk_F0);
|
||||
MTXTrans(sp3C, 0.0f, 110.0f, 0.0f);
|
||||
MTXConcat(sp9C, sp3C, spC);
|
||||
MTXCopy(spC, Hu3DData[object->model[7]].unk_F0);
|
||||
}
|
||||
|
||||
void fn_1_117BC(float arg8, float arg9, UnkM406PlayerStruct2 *arg0, Vec *arg1)
|
||||
|
|
@ -1753,7 +1753,7 @@ void fn_1_12BC4(omObjData *object)
|
|||
var_r30->target.z = Center.z;
|
||||
C_MTXLookAt(spA8, &var_r30->pos, &var_r30->up, &var_r30->target);
|
||||
for (var_r31 = 0; var_r31 < lbl_1_bss_1C4; var_r31++) {
|
||||
PSMTXMultVec(spA8, &lbl_1_bss_104[var_r31], &sp198[var_r31]);
|
||||
MTXMultVec(spA8, &lbl_1_bss_104[var_r31], &sp198[var_r31]);
|
||||
spD8[var_r31].x = sp198[var_r31].x / (sp198[var_r31].z * (sind((var_r30->fov / 2)) / cosd((var_r30->fov / 2))));
|
||||
spD8[var_r31].y = sp198[var_r31].y / (sp198[var_r31].z * (sind((var_r30->fov / 2)) / cosd((var_r30->fov / 2))));
|
||||
}
|
||||
|
|
@ -1811,13 +1811,13 @@ s32 fn_1_136AC(HsfObject *arg0, Mtx arg1, char *arg2, Mtx arg3)
|
|||
HsfTransform *var_r31 = &arg0->data.curr;
|
||||
|
||||
mtxRot(sp144, var_r31->rot.x, var_r31->rot.y, var_r31->rot.z);
|
||||
PSMTXScale(sp174, var_r31->scale.x, var_r31->scale.y, var_r31->scale.z);
|
||||
PSMTXConcat(sp144, sp174, sp174);
|
||||
MTXScale(sp174, var_r31->scale.x, var_r31->scale.y, var_r31->scale.z);
|
||||
MTXConcat(sp144, sp174, sp174);
|
||||
mtxTransCat(sp174, var_r31->pos.x, var_r31->pos.y, var_r31->pos.z);
|
||||
PSMTXConcat(arg1, sp174, sp174);
|
||||
MTXConcat(arg1, sp174, sp174);
|
||||
strcpy(sp4A4, MakeObjectName(arg2));
|
||||
if (strcmp(sp4A4, arg0->name) == 0) {
|
||||
PSMTXCopy(sp174, arg3);
|
||||
MTXCopy(sp174, arg3);
|
||||
return 1;
|
||||
}
|
||||
for (var_r23 = 0; var_r23 < arg0->data.childrenCount; var_r23++) {
|
||||
|
|
@ -1838,7 +1838,7 @@ void fn_1_13A88(s16 arg0, char *arg1, Mtx arg2)
|
|||
|
||||
var_r31 = &Hu3DData[arg0];
|
||||
var_r30 = var_r31->hsfData;
|
||||
PSMTXIdentity(sp14);
|
||||
MTXIdentity(sp14);
|
||||
fn_1_136AC(var_r30->root, sp14, arg1, arg2);
|
||||
}
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -1416,9 +1416,9 @@ void fn_1_602C(ModelData *arg0, f32 (*arg1)[4])
|
|||
}
|
||||
else {
|
||||
fn_1_6778(&temp_r30->unk2C, &sp38, &var_r29->unk34, 4);
|
||||
PSMTXRotRad(spC8, 0x5A, 0.017453292f * var_r29->unk30);
|
||||
PSMTXConcat(sp128, spC8, sp98);
|
||||
PSMTXMultVecArray(sp98, &sp38, &sp8, 4);
|
||||
MTXRotRad(spC8, 0x5A, 0.017453292f * var_r29->unk30);
|
||||
MTXConcat(sp128, spC8, sp98);
|
||||
MTXMultVecArray(sp98, &sp38, &sp8, 4);
|
||||
VECAdd(&sp8, &var_r29->unk40, var_r31++);
|
||||
VECAdd(&sp14, &var_r29->unk40, var_r31++);
|
||||
VECAdd(&sp20, &var_r29->unk40, var_r31++);
|
||||
|
|
|
|||
|
|
@ -956,9 +956,9 @@ void fn_1_6968(omObjData *object)
|
|||
sp8.z = -var_r31->unk_1C.x;
|
||||
var_f30 = VECMag(&sp8) / 30.000002f;
|
||||
if (var_f30 >= 0.001f) {
|
||||
PSMTXRotAxisRad(sp14, &sp8, var_f30);
|
||||
MTXRotAxisRad(sp14, &sp8, var_f30);
|
||||
var_r28 = &Hu3DData[object->model[var_r30]];
|
||||
PSMTXConcat(sp14, var_r28->unk_F0, var_r28->unk_F0);
|
||||
MTXConcat(sp14, var_r28->unk_F0, var_r28->unk_F0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1238,8 +1238,8 @@ s32 fn_1_79F8(s16 arg0, char *arg1, Mtx arg2)
|
|||
var_r30 = var_r31->hsfData;
|
||||
lbl_1_bss_30 = 0;
|
||||
mtxRot(sp14, var_r31->rot.x, var_r31->rot.y, var_r31->rot.z);
|
||||
PSMTXScale(sp44, var_r31->scale.x, var_r31->scale.y, var_r31->scale.z);
|
||||
PSMTXConcat(sp14, sp44, sp44);
|
||||
MTXScale(sp44, var_r31->scale.x, var_r31->scale.y, var_r31->scale.z);
|
||||
MTXConcat(sp14, sp44, sp44);
|
||||
mtxTransCat(sp44, var_r31->pos.x, var_r31->pos.y, var_r31->pos.z);
|
||||
fn_1_7AC4(var_r30->root, sp44, arg1, arg2);
|
||||
return lbl_1_bss_30;
|
||||
|
|
@ -1274,12 +1274,12 @@ void fn_1_7AC4(HsfObject *arg0, Mtx arg1, char *arg2, Mtx arg3)
|
|||
var_r31 = &arg0->data.curr;
|
||||
|
||||
mtxRot(sp12C, var_r31->rot.x, var_r31->rot.y, var_r31->rot.z);
|
||||
PSMTXScale(sp15C, var_r31->scale.x, var_r31->scale.y, var_r31->scale.z);
|
||||
PSMTXConcat(sp12C, sp15C, sp15C);
|
||||
MTXScale(sp15C, var_r31->scale.x, var_r31->scale.y, var_r31->scale.z);
|
||||
MTXConcat(sp12C, sp15C, sp15C);
|
||||
mtxTransCat(sp15C, var_r31->pos.x, var_r31->pos.y, var_r31->pos.z);
|
||||
PSMTXConcat(arg1, sp15C, sp15C);
|
||||
MTXConcat(arg1, sp15C, sp15C);
|
||||
if (!strcmp(arg2, arg0->name)) {
|
||||
PSMTXCopy(sp15C, arg3);
|
||||
MTXCopy(sp15C, arg3);
|
||||
lbl_1_bss_30 = 1;
|
||||
}
|
||||
|
||||
|
|
@ -1288,12 +1288,12 @@ void fn_1_7AC4(HsfObject *arg0, Mtx arg1, char *arg2, Mtx arg3)
|
|||
if (!lbl_1_bss_30) {
|
||||
var_r30 = &var_r27->data.curr;
|
||||
mtxRot(spFC, var_r30->rot.x, var_r30->rot.y, var_r30->rot.z);
|
||||
PSMTXScale(spCC, var_r30->scale.x, var_r30->scale.y, var_r30->scale.z);
|
||||
PSMTXConcat(spFC, spCC, spCC);
|
||||
MTXScale(spCC, var_r30->scale.x, var_r30->scale.y, var_r30->scale.z);
|
||||
MTXConcat(spFC, spCC, spCC);
|
||||
mtxTransCat(spCC, var_r30->pos.x, var_r30->pos.y, var_r30->pos.z);
|
||||
PSMTXConcat(sp15C, spCC, spCC);
|
||||
MTXConcat(sp15C, spCC, spCC);
|
||||
if (!strcmp(arg2, var_r27->name)) {
|
||||
PSMTXCopy(spCC, arg3);
|
||||
MTXCopy(spCC, arg3);
|
||||
lbl_1_bss_30 = 1;
|
||||
}
|
||||
for (var_r22 = 0; var_r22 < var_r27->data.childrenCount; var_r22++) {
|
||||
|
|
@ -1301,12 +1301,12 @@ void fn_1_7AC4(HsfObject *arg0, Mtx arg1, char *arg2, Mtx arg3)
|
|||
if (!lbl_1_bss_30) {
|
||||
var_r29 = &var_r26->data.curr;
|
||||
mtxRot(sp9C, var_r29->rot.x, var_r29->rot.y, var_r29->rot.z);
|
||||
PSMTXScale(sp6C, var_r29->scale.x, var_r29->scale.y, var_r29->scale.z);
|
||||
PSMTXConcat(sp9C, sp6C, sp6C);
|
||||
MTXScale(sp6C, var_r29->scale.x, var_r29->scale.y, var_r29->scale.z);
|
||||
MTXConcat(sp9C, sp6C, sp6C);
|
||||
mtxTransCat(sp6C, var_r29->pos.x, var_r29->pos.y, var_r29->pos.z);
|
||||
PSMTXConcat(spCC, sp6C, sp6C);
|
||||
MTXConcat(spCC, sp6C, sp6C);
|
||||
if (!strcmp(arg2, var_r26->name)) {
|
||||
PSMTXCopy(sp6C, arg3);
|
||||
MTXCopy(sp6C, arg3);
|
||||
lbl_1_bss_30 = 1;
|
||||
}
|
||||
|
||||
|
|
@ -1315,12 +1315,12 @@ void fn_1_7AC4(HsfObject *arg0, Mtx arg1, char *arg2, Mtx arg3)
|
|||
if (!lbl_1_bss_30) {
|
||||
var_r28 = &var_r25->data.curr;
|
||||
mtxRot(sp3C, var_r28->rot.x, var_r28->rot.y, var_r28->rot.z);
|
||||
PSMTXScale(spC, var_r28->scale.x, var_r28->scale.y, var_r28->scale.z);
|
||||
PSMTXConcat(sp3C, spC, spC);
|
||||
MTXScale(spC, var_r28->scale.x, var_r28->scale.y, var_r28->scale.z);
|
||||
MTXConcat(sp3C, spC, spC);
|
||||
mtxTransCat(spC, var_r28->pos.x, var_r28->pos.y, var_r28->pos.z);
|
||||
PSMTXConcat(sp6C, spC, spC);
|
||||
MTXConcat(sp6C, spC, spC);
|
||||
if (!strcmp(arg2, var_r25->name)) {
|
||||
PSMTXCopy(spC, arg3);
|
||||
MTXCopy(spC, arg3);
|
||||
lbl_1_bss_30 = 1;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ void ObjectSetup(void)
|
|||
sp8.x = sp8.z = 0.0f;
|
||||
sp8.y = lbl_1_data_18.z;
|
||||
mtxRot(sp20, lbl_1_data_18.x, lbl_1_data_18.y, 0.0f);
|
||||
PSMTXMultVec(sp20, &sp8, &sp8);
|
||||
MTXMultVec(sp20, &sp8, &sp8);
|
||||
Hu3DGLightPosAimSetV(lbl_1_bss_16, &sp8, &sp14);
|
||||
Hu3DShadowPosSet(&sp8, &lbl_1_data_34, &sp14);
|
||||
lbl_1_bss_14 = lbl_1_bss_12 = lbl_1_bss_10 = -1;
|
||||
|
|
|
|||
|
|
@ -1075,8 +1075,8 @@ void fn_1_B140(ModelData *arg0, Mtx arg1)
|
|||
DCStoreRange(&sp10, 4);
|
||||
|
||||
DCStoreRange(&lbl_1_data_294, 32);
|
||||
PSMTXTrans(spF4, -400.0f, 400.0f, -700.0f);
|
||||
PSMTXConcat(Hu3DCameraMtx, spF4, sp64);
|
||||
MTXTrans(spF4, -400.0f, 400.0f, -700.0f);
|
||||
MTXConcat(Hu3DCameraMtx, spF4, sp64);
|
||||
GXLoadPosMtxImm(sp64, 0);
|
||||
GXSetNumChans(1);
|
||||
GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE);
|
||||
|
|
@ -1086,10 +1086,10 @@ void fn_1_B140(ModelData *arg0, Mtx arg1)
|
|||
HuSprTexLoad(lbl_1_bss_70, 0, 1, GX_REPEAT, GX_REPEAT, GX_LINEAR);
|
||||
GXSetNumTexGens(2);
|
||||
C_MTXLightPerspective(sp94, 41.5f, 1.2f, 0.5555555f, -0.5f, 0.5555555f, 0.5f);
|
||||
PSMTXConcat(sp94, Hu3DCameraMtx, sp94);
|
||||
PSMTXInverse(Hu3DCameraMtx, sp34);
|
||||
PSMTXConcat(sp34, sp64, sp124);
|
||||
PSMTXConcat(sp94, sp124, spF4);
|
||||
MTXConcat(sp94, Hu3DCameraMtx, sp94);
|
||||
MTXInverse(Hu3DCameraMtx, sp34);
|
||||
MTXConcat(sp34, sp64, sp124);
|
||||
MTXConcat(sp94, sp124, spF4);
|
||||
GXLoadTexMtxImm(spF4, 30, GX_MTX3x4);
|
||||
GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, 30, GX_FALSE, 125);
|
||||
GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX2x4, GX_TG_TEXCOORD0, 33, GX_FALSE, 125);
|
||||
|
|
@ -1097,7 +1097,7 @@ void fn_1_B140(ModelData *arg0, Mtx arg1)
|
|||
GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD1, GX_TEXMAP1);
|
||||
GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1);
|
||||
GXSetTevIndWarp(GX_TEVSTAGE0, GX_INDTEXSTAGE0, GX_TRUE, GX_FALSE, GX_ITM_0);
|
||||
PSMTXScale(spF4, -0.5f, -0.5f, 0.5f);
|
||||
MTXScale(spF4, -0.5f, -0.5f, 0.5f);
|
||||
GXSetIndTexMtx(GX_ITM_0, (float(*)[3])spF4, -1);
|
||||
GXSetNumTevStages(1);
|
||||
GXSetTevColor(GX_TEVREG1, sp10);
|
||||
|
|
@ -1124,17 +1124,17 @@ void fn_1_B140(ModelData *arg0, Mtx arg1)
|
|||
if (var_r31->unk_00) {
|
||||
lbl_1_data_294[var_r31->unk_02].a = 255.0f * var_r31->unk_0C;
|
||||
GXSetTevColor(GX_TEVREG0, lbl_1_data_294[var_r31->unk_02]);
|
||||
PSMTXTrans(spF4, var_r31->unk_10.x, var_r31->unk_10.y, var_r31->unk_10.z);
|
||||
PSMTXRotRad(sp124, 90, 0.017453292f * var_r31->unk_08);
|
||||
PSMTXConcat(spF4, sp124, spF4);
|
||||
PSMTXScale(spC4, var_r31->unk_04, var_r31->unk_04, var_r31->unk_04);
|
||||
PSMTXConcat(spF4, spC4, spF4);
|
||||
PSMTXConcat(Hu3DCameraMtx, spF4, sp64);
|
||||
MTXTrans(spF4, var_r31->unk_10.x, var_r31->unk_10.y, var_r31->unk_10.z);
|
||||
MTXRotRad(sp124, 90, 0.017453292f * var_r31->unk_08);
|
||||
MTXConcat(spF4, sp124, spF4);
|
||||
MTXScale(spC4, var_r31->unk_04, var_r31->unk_04, var_r31->unk_04);
|
||||
MTXConcat(spF4, spC4, spF4);
|
||||
MTXConcat(Hu3DCameraMtx, spF4, sp64);
|
||||
GXLoadPosMtxImm(sp64, 0);
|
||||
PSMTXConcat(sp34, sp64, sp124);
|
||||
PSMTXConcat(sp94, sp124, spF4);
|
||||
MTXConcat(sp34, sp64, sp124);
|
||||
MTXConcat(sp94, sp124, spF4);
|
||||
GXLoadTexMtxImm(spF4, 30, GX_MTX3x4);
|
||||
PSMTXRotRad(sp124, 90, 0.017453292f * -var_r31->unk_08);
|
||||
MTXRotRad(sp124, 90, 0.017453292f * -var_r31->unk_08);
|
||||
GXLoadTexMtxImm(sp124, 33, GX_MTX2x4);
|
||||
GXCallDisplayList(var_r30->unk_120.unk_E5C, var_r30->unk_120.unk_E58);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -513,8 +513,8 @@ void fn_1_1A60(unkStruct3 *arg0)
|
|||
for (var_r31 = -1; var_r31 < 2; var_r31 += 2) {
|
||||
for (var_r29 = -1; var_r29 < 2; var_r29 += 2) {
|
||||
MTXRotDeg(sp118, 0x59, temp_f30);
|
||||
PSMTXTrans(spE8, (var_r30 * var_r31), 0.0f, (var_r30 * var_r29));
|
||||
PSMTXConcat(sp118, spE8, spE8);
|
||||
MTXTrans(spE8, (var_r30 * var_r31), 0.0f, (var_r30 * var_r29));
|
||||
MTXConcat(sp118, spE8, spE8);
|
||||
if ((spB8[0].y > spE8[2][3]) || ((spB8[0].y == spE8[2][3]) && (spB8[0].x > spE8[0][3]))) {
|
||||
spB8[0].x = spE8[0][3];
|
||||
spB8[0].y = spE8[2][3];
|
||||
|
|
@ -1604,15 +1604,15 @@ void fn_1_6958(Mtx arg0, f32 arg8, f32 arg9, f32 argA)
|
|||
MTXRotDeg(arg0, 0x5A, argA);
|
||||
}
|
||||
else {
|
||||
PSMTXIdentity(arg0);
|
||||
MTXIdentity(arg0);
|
||||
}
|
||||
if (arg8 != 0.0f) {
|
||||
MTXRotDeg(sp38, 0x58, arg8);
|
||||
PSMTXConcat(sp38, arg0, arg0);
|
||||
MTXConcat(sp38, arg0, arg0);
|
||||
}
|
||||
if (arg9 != 0.0f) {
|
||||
MTXRotDeg(sp8, 0x59, arg9);
|
||||
PSMTXConcat(sp8, arg0, arg0);
|
||||
MTXConcat(sp8, arg0, arg0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -79,7 +79,7 @@ void ObjectSetup(void)
|
|||
sp8.x = sp8.z = 0.0f;
|
||||
sp8.y = lbl_1_data_18.z;
|
||||
mtxRot(sp38, lbl_1_data_18.x, lbl_1_data_18.y, 0.0f);
|
||||
PSMTXMultVec(sp38, &sp8, &sp8);
|
||||
MTXMultVec(sp38, &sp8, &sp8);
|
||||
Hu3DGLightPosAimSetV(lbl_1_bss_8[0], &sp8, &sp14);
|
||||
lbl_1_data_28.x = 200.0f;
|
||||
lbl_1_data_28.y = 3000.0f;
|
||||
|
|
@ -481,18 +481,18 @@ void fn_1_310C(float arg8, float arg9, float argA, float *arg0, float *arg1, flo
|
|||
Mtx sp8;
|
||||
|
||||
if (arg8 != 0.0f) {
|
||||
PSMTXRotRad(sp38, 88, 0.017453292f * arg8);
|
||||
MTXRotRad(sp38, 88, 0.017453292f * arg8);
|
||||
}
|
||||
else {
|
||||
PSMTXIdentity(sp38);
|
||||
MTXIdentity(sp38);
|
||||
}
|
||||
if (arg9 != 0.0f) {
|
||||
PSMTXRotRad(sp8, 89, 0.017453292f * arg9);
|
||||
PSMTXConcat(sp38, sp8, sp38);
|
||||
MTXRotRad(sp8, 89, 0.017453292f * arg9);
|
||||
MTXConcat(sp38, sp8, sp38);
|
||||
}
|
||||
if (argA != 0.0f) {
|
||||
PSMTXRotRad(sp8, 90, 0.017453292f * argA);
|
||||
PSMTXConcat(sp38, sp8, sp38);
|
||||
MTXRotRad(sp8, 90, 0.017453292f * argA);
|
||||
MTXConcat(sp38, sp8, sp38);
|
||||
}
|
||||
fn_1_30D8(NULL, arg0, arg1, arg2);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -270,22 +270,22 @@ void fn_1_7C8C(omObjData *object)
|
|||
var_r31->unk_70 = 0.02f;
|
||||
if (var_r31->unk_0C) {
|
||||
Vec sp18 = { 0.0f, 1.0f, 0.0f };
|
||||
PSMTXRotAxisRad(var_r31->unk_1C4, &sp18, 0.017453292f * var_r31->unk_64);
|
||||
MTXRotAxisRad(var_r31->unk_1C4, &sp18, 0.017453292f * var_r31->unk_64);
|
||||
}
|
||||
else {
|
||||
Vec spC = { 0.0f, 1.0f, 0.0f };
|
||||
PSMTXIdentity(var_r31->unk_1C4);
|
||||
MTXIdentity(var_r31->unk_1C4);
|
||||
C_QUATRotAxisRad(&var_r31->unk_184, &spC, 0.0f);
|
||||
var_r31->unk_194 = var_r31->unk_184;
|
||||
PSQUATInverse(&var_r31->unk_194, &var_r31->unk_1A4);
|
||||
QUATInverse(&var_r31->unk_194, &var_r31->unk_1A4);
|
||||
var_r31->unk_1B4 = var_r31->unk_1A4;
|
||||
var_r31->unk_164 = var_r31->unk_194;
|
||||
var_r31->unk_174 = var_r31->unk_194;
|
||||
var_r31->unk_144 = 1.0f;
|
||||
var_r31->unk_D4.z += 50.0f;
|
||||
}
|
||||
PSMTXInverse(var_r31->unk_1C4, var_r31->unk_1F4);
|
||||
PSMTXCopy(var_r31->unk_1F4, var_r31->unk_224);
|
||||
MTXInverse(var_r31->unk_1C4, var_r31->unk_1F4);
|
||||
MTXCopy(var_r31->unk_1F4, var_r31->unk_224);
|
||||
var_r31->unk_134 = var_r31->unk_138 = 0.0f;
|
||||
var_r31->unk_12C = 1.0f;
|
||||
var_r31->unk_08 = -1;
|
||||
|
|
@ -634,7 +634,7 @@ void fn_1_9298(omObjData *object)
|
|||
else if (var_r31->unk_B4.x < 0.0f) {
|
||||
var_r31->unk_B4.x += 360.0f;
|
||||
}
|
||||
PSMTXRotAxisRad(var_r31->unk_1C4, &sp8, 0.017453292f * var_r31->unk_B4.x);
|
||||
MTXRotAxisRad(var_r31->unk_1C4, &sp8, 0.017453292f * var_r31->unk_B4.x);
|
||||
}
|
||||
object->rot.y = var_r31->unk_68 = var_r31->unk_B4.x - 180.0f;
|
||||
object->trans.x = var_r31->unk_D4.x = var_r31->unk_F8.x = var_r31->unk_C8.x = var_r31->unk_B4.z * sind(var_r31->unk_B4.x);
|
||||
|
|
@ -836,7 +836,7 @@ void fn_1_9C14(omObjData *object)
|
|||
if (fn_1_26F8() == 2) {
|
||||
sp1C.y += -5.8333335f * var_r31->unk_148;
|
||||
}
|
||||
PSMTXMultVec(var_r31->unk_224, &sp1C, &sp1C);
|
||||
MTXMultVec(var_r31->unk_224, &sp1C, &sp1C);
|
||||
VECAdd(&sp1C, &var_r31->unk_E0, &sp1C);
|
||||
sp10 = sp1C;
|
||||
sp10.y = 0.0f;
|
||||
|
|
@ -849,13 +849,13 @@ void fn_1_9C14(omObjData *object)
|
|||
sp1C.y = 80.0f;
|
||||
var_r31->unk_EC = sp1C;
|
||||
spC = atan2d(sp1C.x, sp1C.z);
|
||||
PSMTXMultVec(var_r31->unk_1C4, &sp1C, &sp1C);
|
||||
MTXMultVec(var_r31->unk_1C4, &sp1C, &sp1C);
|
||||
VECAdd(&sp1C, &var_r31->unk_F8, &var_r31->unk_D4);
|
||||
if (var_r31->unk_13C >= 0.95f) {
|
||||
var_r31->unk_3C = 1;
|
||||
return;
|
||||
}
|
||||
PSQUATNormalize(&var_r31->unk_194, &sp28);
|
||||
QUATNormalize(&var_r31->unk_194, &sp28);
|
||||
if (sp28.w < cosd(25)) {
|
||||
var_r31->unk_3C = 1;
|
||||
}
|
||||
|
|
@ -893,7 +893,7 @@ void fn_1_9FF0(omObjData *object)
|
|||
}
|
||||
}
|
||||
var_r31->unk_1B4 = var_r31->unk_1A4;
|
||||
PSMTXCopy(var_r31->unk_1F4, var_r31->unk_224);
|
||||
MTXCopy(var_r31->unk_1F4, var_r31->unk_224);
|
||||
var_r31->unk_104 = var_r31->unk_F8;
|
||||
var_f31 = fn_1_75BC();
|
||||
for (var_r30 = 0; var_r30 < 8; var_r30++) {
|
||||
|
|
@ -1054,12 +1054,12 @@ void fn_1_9FF0(omObjData *object)
|
|||
C_QUATRotAxisRad(&sp3C, &sp8, M_PI);
|
||||
C_QUATSlerp(&var_r31->unk_184, &sp3C, &var_r31->unk_184, 0.027777778f);
|
||||
}
|
||||
PSQUATMultiply(&var_r31->unk_174, &var_r31->unk_184, &var_r31->unk_194);
|
||||
PSQUATMultiply(&var_r31->unk_164, &var_r31->unk_194, &var_r31->unk_194);
|
||||
PSQUATMultiply(&sp2C, &var_r31->unk_194, &var_r31->unk_194);
|
||||
PSMTXQuat(var_r31->unk_1C4, &var_r31->unk_194);
|
||||
PSMTXInverse(var_r31->unk_1C4, var_r31->unk_1F4);
|
||||
PSQUATInverse(&var_r31->unk_194, &var_r31->unk_1A4);
|
||||
QUATMultiply(&var_r31->unk_174, &var_r31->unk_184, &var_r31->unk_194);
|
||||
QUATMultiply(&var_r31->unk_164, &var_r31->unk_194, &var_r31->unk_194);
|
||||
QUATMultiply(&sp2C, &var_r31->unk_194, &var_r31->unk_194);
|
||||
MTXQuat(var_r31->unk_1C4, &var_r31->unk_194);
|
||||
MTXInverse(var_r31->unk_1C4, var_r31->unk_1F4);
|
||||
QUATInverse(&var_r31->unk_194, &var_r31->unk_1A4);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1071,7 +1071,7 @@ void fn_1_AD24(omObjData *object)
|
|||
Hu3DModelPosSetV(object->model[0], &var_r30->unk_D4);
|
||||
Hu3DModelRotSet(object->model[0], 0.0f, var_r30->unk_64, 0.0f);
|
||||
Hu3DModelPosSetV(object->model[1], &var_r30->unk_F8);
|
||||
PSMTXCopy(var_r30->unk_1C4, Hu3DData[object->model[1]].unk_F0);
|
||||
MTXCopy(var_r30->unk_1C4, Hu3DData[object->model[1]].unk_F0);
|
||||
}
|
||||
|
||||
void fn_1_ADC4(omObjData *object)
|
||||
|
|
|
|||
|
|
@ -567,13 +567,13 @@ void fn_1_4E64(omObjData *object)
|
|||
var_r31->unk_24 = 1.0f;
|
||||
}
|
||||
}
|
||||
PSMTXTrans(spC8, var_r31->unk_04.x, var_r31->unk_04.y, var_r31->unk_04.z);
|
||||
PSMTXRotRad(sp98, 89, 0.017453292f * var_r31->unk_10);
|
||||
PSMTXConcat(spC8, sp98, sp68);
|
||||
MTXTrans(spC8, var_r31->unk_04.x, var_r31->unk_04.y, var_r31->unk_04.z);
|
||||
MTXRotRad(sp98, 89, 0.017453292f * var_r31->unk_10);
|
||||
MTXConcat(spC8, sp98, sp68);
|
||||
var_f31 = var_r31->unk_18 * var_r31->unk_1C;
|
||||
PSMTXScale(spC8, var_f31, var_f31, var_f31 * var_r31->unk_28);
|
||||
PSMTXConcat(sp68, spC8, sp98);
|
||||
PSMTXInverse(sp98, spC8);
|
||||
MTXScale(spC8, var_f31, var_f31, var_f31 * var_r31->unk_28);
|
||||
MTXConcat(sp68, spC8, sp98);
|
||||
MTXInverse(sp98, spC8);
|
||||
PSMTXReorder(spC8, sp38);
|
||||
PSMTXROMultVecArray(sp38, lbl_1_bss_178.unk_2C, lbl_1_bss_178.unk_34, lbl_1_bss_178.unk_18);
|
||||
sp2C.x = (0.15f * var_r31->unk_18) * (var_r31->unk_24 * sind(var_r31->unk_10));
|
||||
|
|
@ -761,7 +761,7 @@ void fn_1_604C(ModelData *arg0, Mtx arg1)
|
|||
DCStoreRangeNoSync(&sp10, 4);
|
||||
PPCSync();
|
||||
GXLoadPosMtxImm(arg1, 0);
|
||||
PSMTXInvXpose(arg1, sp98);
|
||||
MTXInvXpose(arg1, sp98);
|
||||
GXLoadNrmMtxImm(sp98, 0);
|
||||
GXSetNumChans(1);
|
||||
GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE);
|
||||
|
|
@ -773,29 +773,29 @@ void fn_1_604C(ModelData *arg0, Mtx arg1)
|
|||
HuSprTexLoad(lbl_1_bss_60, 0, 3, GX_MIRROR, GX_MIRROR, GX_LINEAR);
|
||||
GXSetNumTexGens(5);
|
||||
C_MTXLightPerspective(sp38, 35.0f, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f);
|
||||
PSMTXInverse(Hu3DCameraMtx, sp98);
|
||||
PSMTXConcat(sp98, arg1, sp98);
|
||||
PSMTXConcat(sp38, Hu3DCameraMtx, sp68);
|
||||
PSMTXConcat(sp68, sp98, sp68);
|
||||
MTXInverse(Hu3DCameraMtx, sp98);
|
||||
MTXConcat(sp98, arg1, sp98);
|
||||
MTXConcat(sp38, Hu3DCameraMtx, sp68);
|
||||
MTXConcat(sp68, sp98, sp68);
|
||||
sp68[1][3] -= 44.0f;
|
||||
GXLoadTexMtxImm(sp68, 30, GX_MTX3x4);
|
||||
GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, 30, GX_FALSE, 125);
|
||||
C_MTXLightPerspective(sp38, 70.0f, 1.0f, 0.5f, -0.5f, 0.5f, 0.5f);
|
||||
PSMTXInverse(Hu3DCameraMtx, sp98);
|
||||
PSMTXConcat(sp98, arg1, sp98);
|
||||
PSMTXConcat(sp38, Hu3DCameraMtx, sp68);
|
||||
PSMTXConcat(sp68, sp98, sp68);
|
||||
MTXInverse(Hu3DCameraMtx, sp98);
|
||||
MTXConcat(sp98, arg1, sp98);
|
||||
MTXConcat(sp38, Hu3DCameraMtx, sp68);
|
||||
MTXConcat(sp68, sp98, sp68);
|
||||
GXLoadTexMtxImm(sp68, 36, GX_MTX3x4);
|
||||
GXSetTexCoordGen2(GX_TEXCOORD2, GX_TG_MTX3x4, GX_TG_POS, 36, GX_FALSE, 125);
|
||||
PSMTXRotRad(sp68, 90, 0.017453292f * lbl_1_bss_178.unk_6B8);
|
||||
MTXRotRad(sp68, 90, 0.017453292f * lbl_1_bss_178.unk_6B8);
|
||||
GXLoadTexMtxImm(sp68, 39, GX_MTX2x4);
|
||||
GXSetTexCoordGen2(GX_TEXCOORD3, GX_TG_MTX2x4, GX_TG_TEXCOORD0, 39, GX_FALSE, 125);
|
||||
PSMTXScale(sp98, 1.2f, -1.2f, 1.2f);
|
||||
PSMTXConcat(sp68, sp98, sp68);
|
||||
MTXScale(sp98, 1.2f, -1.2f, 1.2f);
|
||||
MTXConcat(sp68, sp98, sp68);
|
||||
GXLoadTexMtxImm(sp68, 42, GX_MTX2x4);
|
||||
GXSetTexCoordGen2(GX_TEXCOORD4, GX_TG_MTX2x4, GX_TG_TEXCOORD0, 42, GX_FALSE, 125);
|
||||
PSMTXScale(sp98, 0.49f, -0.49f, 0.49f);
|
||||
PSMTXConcat(sp98, Hu3DCameraMtx, sp68);
|
||||
MTXScale(sp98, 0.49f, -0.49f, 0.49f);
|
||||
MTXConcat(sp98, Hu3DCameraMtx, sp68);
|
||||
sp68[0][3] = 0.5f;
|
||||
sp68[1][3] = 0.5f;
|
||||
GXLoadTexMtxImm(sp68, 33, GX_MTX2x4);
|
||||
|
|
@ -804,18 +804,18 @@ void fn_1_604C(ModelData *arg0, Mtx arg1)
|
|||
GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD1, GX_TEXMAP1);
|
||||
GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1);
|
||||
GXSetTevIndWarp(GX_TEVSTAGE0, GX_INDTEXSTAGE0, GX_TRUE, GX_FALSE, GX_ITM_0);
|
||||
PSMTXScale(sp68, -0.5f, -0.5f, 0.5f);
|
||||
MTXScale(sp68, -0.5f, -0.5f, 0.5f);
|
||||
GXSetIndTexMtx(GX_ITM_0, (float(*)[3])sp68, -2);
|
||||
GXSetIndTexOrder(GX_INDTEXSTAGE1, GX_TEXCOORD1, GX_TEXMAP1);
|
||||
GXSetIndTexCoordScale(GX_INDTEXSTAGE1, GX_ITS_1, GX_ITS_1);
|
||||
GXSetTevIndWarp(GX_TEVSTAGE1, GX_INDTEXSTAGE1, GX_TRUE, GX_FALSE, GX_ITM_1);
|
||||
PSMTXScale(sp68, 0.5f, 0.5f, 0.5f);
|
||||
MTXScale(sp68, 0.5f, 0.5f, 0.5f);
|
||||
GXSetIndTexMtx(GX_ITM_1, (float(*)[3])sp68, 0);
|
||||
GXSetIndTexOrder(GX_INDTEXSTAGE2, GX_TEXCOORD1, GX_TEXMAP1);
|
||||
GXSetIndTexCoordScale(GX_INDTEXSTAGE2, GX_ITS_1, GX_ITS_1);
|
||||
GXSetTevIndWarp(GX_TEVSTAGE2, GX_INDTEXSTAGE2, GX_TRUE, GX_FALSE, GX_ITM_2);
|
||||
GXSetTevIndWarp(GX_TEVSTAGE3, GX_INDTEXSTAGE2, GX_TRUE, GX_FALSE, GX_ITM_2);
|
||||
PSMTXScale(sp68, -0.65f, -0.65f, 0.65f);
|
||||
MTXScale(sp68, -0.65f, -0.65f, 0.65f);
|
||||
GXSetIndTexMtx(GX_ITM_2, (float(*)[3])sp68, -3);
|
||||
GXSetNumTevStages(5);
|
||||
GXSetTevColor(GX_TEVREG0, sp14);
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -131,7 +131,7 @@ void ObjectSetup(void)
|
|||
sp8.x = sp8.z = 0.0f;
|
||||
sp8.y = lbl_1_data_18.z;
|
||||
mtxRot(sp2C, lbl_1_data_18.x, lbl_1_data_18.y, 0.0f);
|
||||
PSMTXMultVec(sp2C, &sp8, &lbl_1_data_28);
|
||||
MTXMultVec(sp2C, &sp8, &lbl_1_data_28);
|
||||
Hu3DGLightPosAimSetV(lbl_1_bss_12[0], &lbl_1_data_28, &lbl_1_data_40);
|
||||
Hu3DShadowPosSet(&lbl_1_data_28, &lbl_1_data_34, &lbl_1_data_40);
|
||||
lbl_1_bss_10 = lbl_1_bss_E = lbl_1_bss_C = -1;
|
||||
|
|
@ -647,7 +647,7 @@ void fn_1_38FC(ModelData *model, Mtx mtx)
|
|||
float var_f30;
|
||||
float var_f29;
|
||||
|
||||
PSMTXIdentity(spC);
|
||||
MTXIdentity(spC);
|
||||
GXLoadPosMtxImm(spC, 0);
|
||||
GXSetNumChans(1);
|
||||
GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE);
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,6 +1,5 @@
|
|||
#include "REL/m424Dll.h"
|
||||
|
||||
#include "math.h"
|
||||
#include "ext_math.h"
|
||||
#include "game/audio.h"
|
||||
#include "game/chrman.h"
|
||||
|
|
@ -8,6 +7,8 @@
|
|||
#include "game/hsfman.h"
|
||||
#include "game/hsfmotion.h"
|
||||
#include "game/pad.h"
|
||||
#include "math.h"
|
||||
|
||||
|
||||
// STRUCT
|
||||
typedef struct _M424DllClawStruct {
|
||||
|
|
@ -66,8 +67,8 @@ typedef struct _M424DllClawStruct3 {
|
|||
} M424DllClawStruct3; // sizeof 0x8
|
||||
|
||||
// BSS
|
||||
Process* lbl_1_bss_6DC;
|
||||
omObjData* lbl_1_bss_6D8;
|
||||
Process *lbl_1_bss_6DC;
|
||||
omObjData *lbl_1_bss_6D8;
|
||||
s32 lbl_1_bss_6D0[2];
|
||||
s32 lbl_1_bss_6CC;
|
||||
s32 lbl_1_bss_6C8;
|
||||
|
|
@ -178,7 +179,7 @@ void fn_1_94D0(omObjData *arg0)
|
|||
}
|
||||
var_r31->unk184 = -1;
|
||||
var_r31->unk30 = lbl_1_data_30C;
|
||||
|
||||
|
||||
for (var_r29 = 0; var_r29 < 0xC; var_r29++) {
|
||||
var_r31->unk3C[var_r29] = lbl_1_data_30C;
|
||||
var_r31->unkCC[var_r29] = lbl_1_data_30C;
|
||||
|
|
@ -608,13 +609,13 @@ void fn_1_9A64(omObjData *arg0)
|
|||
fn_1_C878(arg0->model[1], "hook1", sp74, 0);
|
||||
fn_1_C878(arg0->model[2], "hook2", sp74, 1);
|
||||
fn_1_C878(arg0->model[3], "hook3", sp74, 1);
|
||||
PSMTXCopy(sp74, sp44);
|
||||
MTXCopy(sp74, sp44);
|
||||
temp_r31->unk30.x = sp74[0][3];
|
||||
temp_r31->unk30.y = sp74[1][3];
|
||||
temp_r31->unk30.z = sp74[2][3];
|
||||
|
||||
for (var_r29 = 0; var_r29 < 0xC; var_r29++) {
|
||||
PSMTXCopy(sp44, sp74);
|
||||
MTXCopy(sp44, sp74);
|
||||
fn_1_C878(arg0->model[4], lbl_1_data_21C[var_r29], sp74, 1);
|
||||
temp_r31->unkCC[var_r29] = temp_r31->unk3C[var_r29];
|
||||
temp_r31->unk3C[var_r29].x = sp74[0][3];
|
||||
|
|
@ -625,14 +626,14 @@ void fn_1_9A64(omObjData *arg0)
|
|||
sp2C.x = 0.0f;
|
||||
sp2C.y = temp_r31->unk174.y;
|
||||
sp2C.z = 0.0f;
|
||||
PSVECSubtract(&temp_r31->unk174, &sp2C, &sp20);
|
||||
var_f31 = PSVECMag(&sp20);
|
||||
VECSubtract(&temp_r31->unk174, &sp2C, &sp20);
|
||||
var_f31 = VECMag(&sp20);
|
||||
if (var_f31 != 0.0f) {
|
||||
PSVECNormalize(&sp20, &sp20);
|
||||
PSVECScale(&sp20, &sp20, 0.9f * var_f31);
|
||||
PSVECAdd(&sp2C, &sp20, &temp_r31->unk174);
|
||||
VECNormalize(&sp20, &sp20);
|
||||
VECScale(&sp20, &sp20, 0.9f * var_f31);
|
||||
VECAdd(&sp2C, &sp20, &temp_r31->unk174);
|
||||
}
|
||||
PSVECAdd(&temp_r31->unk30, &temp_r31->unk174, &sp38);
|
||||
VECAdd(&temp_r31->unk30, &temp_r31->unk174, &sp38);
|
||||
fn_1_88E8(temp_r31->unk168, sp38.x, sp38.y, sp38.z);
|
||||
}
|
||||
temp_r31->unk164 = 1;
|
||||
|
|
@ -911,7 +912,7 @@ s32 fn_1_B9E0(Vec *arg0, Vec *arg1, f32 arg8, Vec *arg2, s32 arg3)
|
|||
var_r28 = 0;
|
||||
var_r24 = lbl_1_bss_6D8;
|
||||
temp_r31 = var_r24->data;
|
||||
PSVECAdd(arg0, arg1, &sp24);
|
||||
VECAdd(arg0, arg1, &sp24);
|
||||
spC = *arg1;
|
||||
*arg2 = *arg0;
|
||||
temp_f30 = 5.0f + arg8;
|
||||
|
|
@ -923,10 +924,10 @@ s32 fn_1_B9E0(Vec *arg0, Vec *arg1, f32 arg8, Vec *arg2, s32 arg3)
|
|||
for (var_r29 = 0; var_r29 < 0xC; var_r29++) {
|
||||
if (var_r28 != 0) {
|
||||
sp24 = *arg2;
|
||||
PSVECSubtract(&sp24, arg0, &spC);
|
||||
VECSubtract(&sp24, arg0, &spC);
|
||||
}
|
||||
PSVECSubtract(&sp24, &temp_r31->unk3C[var_r29], &sp18);
|
||||
var_f29 = PSVECMag(&sp18);
|
||||
VECSubtract(&sp24, &temp_r31->unk3C[var_r29], &sp18);
|
||||
var_f29 = VECMag(&sp18);
|
||||
if (var_f29 < temp_f30) {
|
||||
if (0.0f == var_f29) {
|
||||
var_f29 = temp_f30;
|
||||
|
|
@ -939,9 +940,9 @@ s32 fn_1_B9E0(Vec *arg0, Vec *arg1, f32 arg8, Vec *arg2, s32 arg3)
|
|||
temp_r31->unk15C = 1;
|
||||
}
|
||||
else {
|
||||
PSVECNormalize(&sp18, &sp18);
|
||||
PSVECScale(&sp18, &sp18, temp_f30);
|
||||
PSVECAdd(&temp_r31->unk3C[var_r29], &sp18, arg2);
|
||||
VECNormalize(&sp18, &sp18);
|
||||
VECScale(&sp18, &sp18, temp_f30);
|
||||
VECAdd(&temp_r31->unk3C[var_r29], &sp18, arg2);
|
||||
}
|
||||
var_r28 = 1;
|
||||
}
|
||||
|
|
@ -951,43 +952,43 @@ s32 fn_1_B9E0(Vec *arg0, Vec *arg1, f32 arg8, Vec *arg2, s32 arg3)
|
|||
for (var_r29 = 0; var_r29 < 0xC; var_r29++) {
|
||||
if (var_r28 != 0) {
|
||||
sp24 = *arg2;
|
||||
PSVECSubtract(&sp24, arg0, &spC);
|
||||
VECSubtract(&sp24, arg0, &spC);
|
||||
}
|
||||
var_r26 = 0;
|
||||
sp60 = temp_r31->unk3C[var_r29];
|
||||
PSVECAdd(&temp_r31->unkCC[var_r29], &spC, &sp54);
|
||||
PSVECSubtract(&sp60, &sp54, &sp18);
|
||||
PSVECSubtract(&sp24, &sp54, &sp48);
|
||||
VECAdd(&temp_r31->unkCC[var_r29], &spC, &sp54);
|
||||
VECSubtract(&sp60, &sp54, &sp18);
|
||||
VECSubtract(&sp24, &sp54, &sp48);
|
||||
temp_f26 = (sp18.z * sp18.z) + ((sp18.x * sp18.x) + (sp18.y * sp18.y));
|
||||
if (temp_f26 != 0.0f) {
|
||||
var_f24 = (sp18.x * sp48.x) + (sp18.y * sp48.y) + (sp18.z * sp48.z);
|
||||
temp_f27 = var_f24 / temp_f26;
|
||||
if (temp_f27 >= 0.0f) {
|
||||
if (temp_f27 <= 1.0f) {
|
||||
PSVECScale(&sp18, &sp18, temp_f27);
|
||||
PSVECAdd(&sp54, &sp18, &sp3C);
|
||||
PSVECSubtract(&sp24, &sp3C, &sp30);
|
||||
var_f29 = PSVECMag(&sp30);
|
||||
VECScale(&sp18, &sp18, temp_f27);
|
||||
VECAdd(&sp54, &sp18, &sp3C);
|
||||
VECSubtract(&sp24, &sp3C, &sp30);
|
||||
var_f29 = VECMag(&sp30);
|
||||
if (var_f29 == 0.0f) {
|
||||
if (PSVECMag(&sp18) <= 0.0f) {
|
||||
if (VECMag(&sp18) <= 0.0f) {
|
||||
sp18.x = sp18.y = 0.0f;
|
||||
sp18.z = 1.0f;
|
||||
}
|
||||
PSVECNormalize(&sp18, &sp30);
|
||||
PSVECScale(&sp30, &sp30, temp_f30);
|
||||
PSVECAdd(&sp60, &sp30, arg2);
|
||||
VECNormalize(&sp18, &sp30);
|
||||
VECScale(&sp30, &sp30, temp_f30);
|
||||
VECAdd(&sp60, &sp30, arg2);
|
||||
var_r28 = 1;
|
||||
var_r26 = 1;
|
||||
}
|
||||
else if (var_f29 < temp_f30) {
|
||||
if (PSVECMag(&sp30) <= 0.0f) {
|
||||
if (VECMag(&sp30) <= 0.0f) {
|
||||
|
||||
sp30.x = sp30.y = 0.0f;
|
||||
sp30.z = 1.0f;
|
||||
}
|
||||
PSVECNormalize(&sp30, &sp30);
|
||||
PSVECScale(&sp30, &sp30, temp_f30);
|
||||
PSVECAdd(&sp3C, &sp30, arg2);
|
||||
VECNormalize(&sp30, &sp30);
|
||||
VECScale(&sp30, &sp30, temp_f30);
|
||||
VECAdd(&sp3C, &sp30, arg2);
|
||||
var_r28 = 1;
|
||||
var_r26 = 1;
|
||||
}
|
||||
|
|
@ -995,31 +996,31 @@ s32 fn_1_B9E0(Vec *arg0, Vec *arg1, f32 arg8, Vec *arg2, s32 arg3)
|
|||
}
|
||||
}
|
||||
if (var_r26 == 0) {
|
||||
PSVECSubtract(&sp24, &sp60, &sp18);
|
||||
var_f29 = PSVECMag(&sp18);
|
||||
VECSubtract(&sp24, &sp60, &sp18);
|
||||
var_f29 = VECMag(&sp18);
|
||||
if (var_f29 < temp_f30) {
|
||||
if (var_f29 <= 0.0f) {
|
||||
sp18.x = sp18.y = 0.0f;
|
||||
sp18.z = 1.0f;
|
||||
}
|
||||
PSVECNormalize(&sp18, &sp18);
|
||||
PSVECScale(&sp18, &sp18, temp_f30);
|
||||
PSVECAdd(&temp_r31->unk3C[var_r29], &sp18, arg2);
|
||||
VECNormalize(&sp18, &sp18);
|
||||
VECScale(&sp18, &sp18, temp_f30);
|
||||
VECAdd(&temp_r31->unk3C[var_r29], &sp18, arg2);
|
||||
var_r28 = 1;
|
||||
var_r26 = 1;
|
||||
}
|
||||
}
|
||||
if (var_r26 == 0) {
|
||||
PSVECSubtract(&sp24, &sp54, &sp18);
|
||||
var_f29 = PSVECMag(&sp18);
|
||||
VECSubtract(&sp24, &sp54, &sp18);
|
||||
var_f29 = VECMag(&sp18);
|
||||
if (var_f29 < temp_f30) {
|
||||
if (var_f29 <= 0.0f) {
|
||||
sp18.x = sp18.y = 0.0f;
|
||||
sp18.z = 1.0f;
|
||||
}
|
||||
PSVECNormalize(&sp18, &sp18);
|
||||
PSVECScale(&sp18, &sp18, temp_f30);
|
||||
PSVECAdd(&temp_r31->unk3C[var_r29], &sp18, arg2);
|
||||
VECNormalize(&sp18, &sp18);
|
||||
VECScale(&sp18, &sp18, temp_f30);
|
||||
VECAdd(&temp_r31->unk3C[var_r29], &sp18, arg2);
|
||||
var_r28 = 1;
|
||||
var_r26 = 1;
|
||||
}
|
||||
|
|
@ -1045,7 +1046,7 @@ s32 fn_1_B9E0(Vec *arg0, Vec *arg1, f32 arg8, Vec *arg2, s32 arg3)
|
|||
if (var_r28 != 0) {
|
||||
if (--arg3 > 0) {
|
||||
sp24 = *arg2;
|
||||
PSVECSubtract(&sp24, arg0, &spC);
|
||||
VECSubtract(&sp24, arg0, &spC);
|
||||
if (fn_1_B9E0(arg0, &spC, arg8, &sp24, arg3) != 0) {
|
||||
*arg2 = sp24;
|
||||
}
|
||||
|
|
@ -1077,8 +1078,8 @@ s32 fn_1_C210(Vec *arg0)
|
|||
sp1C.x = temp_r31->unk30.x;
|
||||
sp1C.y = -120.00001f + temp_r31->unk30.y;
|
||||
sp1C.z = temp_r31->unk30.z;
|
||||
PSVECSubtract(arg0, &sp1C, &sp10);
|
||||
if ((spC = PSVECMag(&sp10)) < 50.0f) {
|
||||
VECSubtract(arg0, &sp1C, &sp10);
|
||||
if ((spC = VECMag(&sp10)) < 50.0f) {
|
||||
var_r29 = 1;
|
||||
}
|
||||
}
|
||||
|
|
@ -1118,7 +1119,7 @@ void fn_1_C2E0(s32 arg0)
|
|||
spC = fn_1_8A00(var_r30);
|
||||
sp28 = *temp_r28;
|
||||
sp4C = temp_r27->unk60;
|
||||
PSVECSubtract(temp_r28, &sp4C, &sp40);
|
||||
VECSubtract(temp_r28, &sp4C, &sp40);
|
||||
if (fn_1_B9E0(&sp4C, &sp40, 100.0f, &sp34, 0x10) != 0) {
|
||||
*temp_r28 = sp34;
|
||||
sp4C = sp34;
|
||||
|
|
@ -1141,7 +1142,7 @@ void fn_1_C2E0(s32 arg0)
|
|||
if (fn_1_C210(&sp4C) != 0) {
|
||||
temp_r31->unk168 = var_r30;
|
||||
temp_r31->unk170 = fn_1_897C(var_r30);
|
||||
PSVECSubtract(&sp4C, &temp_r31->unk30, &temp_r31->unk174);
|
||||
VECSubtract(&sp4C, &temp_r31->unk30, &temp_r31->unk174);
|
||||
fn_1_88E8(temp_r31->unk168, sp4C.x, sp4C.y, sp4C.z);
|
||||
}
|
||||
}
|
||||
|
|
@ -1174,8 +1175,8 @@ void fn_1_C604(s32 arg0, s32 arg1)
|
|||
var_r28 = &lbl_1_bss_60[var_r30];
|
||||
var_r31 = fn_1_89D4(var_r30);
|
||||
sp24 = *var_r31;
|
||||
PSVECSubtract(&sp24, &sp30, &sp18);
|
||||
var_f30 = PSVECMag(&sp18);
|
||||
VECSubtract(&sp24, &sp30, &sp18);
|
||||
var_f30 = VECMag(&sp18);
|
||||
if (var_f30 < 200.0f) {
|
||||
if (var_f30 > 0.0f) {
|
||||
temp_f31 = 1.0f / var_f30;
|
||||
|
|
@ -1228,11 +1229,11 @@ s32 fn_1_C878(s16 arg0, const char *arg1, Mtx arg2, s32 arg3)
|
|||
lbl_1_bss_6C4 = 0;
|
||||
}
|
||||
mtxRot(sp14, temp_r31->rot.x, temp_r31->rot.y, temp_r31->rot.z);
|
||||
PSMTXScale(sp44, temp_r31->scale.x, temp_r31->scale.y, temp_r31->scale.z);
|
||||
PSMTXConcat(sp14, sp44, sp44);
|
||||
MTXScale(sp44, temp_r31->scale.x, temp_r31->scale.y, temp_r31->scale.z);
|
||||
MTXConcat(sp14, sp44, sp44);
|
||||
mtxTransCat(sp44, temp_r31->pos.x, temp_r31->pos.y, temp_r31->pos.z);
|
||||
if (arg3 != 0) {
|
||||
PSMTXConcat(arg2, sp44, sp44);
|
||||
MTXConcat(arg2, sp44, sp44);
|
||||
}
|
||||
fn_1_C99C(temp_r30->root, sp44, arg1, arg2);
|
||||
return lbl_1_bss_6C8;
|
||||
|
|
@ -1263,21 +1264,21 @@ void fn_1_C99C(HsfObject *arg0, Mtx arg1, const char *arg2, Mtx arg3)
|
|||
var_r31 = &arg0->data.base;
|
||||
}
|
||||
if ((var_r31->scale.x <= 0.0f) && (var_r31->scale.y <= 0.0f) && (var_r31->scale.z <= 0.0f)) {
|
||||
PSMTXCopy(arg1, spF8);
|
||||
MTXCopy(arg1, spF8);
|
||||
OSReport("OBJ MTX CHECK ERROR %s \n", arg0->name);
|
||||
}
|
||||
else {
|
||||
mtxRot(spC8, var_r31->rot.x, var_r31->rot.y, var_r31->rot.z);
|
||||
PSMTXScale(spF8, var_r31->scale.x, var_r31->scale.y, var_r31->scale.z);
|
||||
PSMTXConcat(spC8, spF8, spF8);
|
||||
MTXScale(spF8, var_r31->scale.x, var_r31->scale.y, var_r31->scale.z);
|
||||
MTXConcat(spC8, spF8, spF8);
|
||||
mtxTransCat(spF8, var_r31->pos.x, var_r31->pos.y, var_r31->pos.z);
|
||||
PSMTXConcat(arg1, spF8, spF8);
|
||||
MTXConcat(arg1, spF8, spF8);
|
||||
}
|
||||
if (lbl_1_bss_6C0 != 0) {
|
||||
OSReport("%s \n", arg0->name);
|
||||
}
|
||||
if (strcmp(arg2, arg0->name) == 0) {
|
||||
PSMTXCopy(spF8, arg3);
|
||||
MTXCopy(spF8, arg3);
|
||||
lbl_1_bss_6C8 = 1;
|
||||
}
|
||||
for (var_r25 = 0; var_r25 < arg0->data.childrenCount; var_r25++) {
|
||||
|
|
@ -1290,21 +1291,21 @@ void fn_1_C99C(HsfObject *arg0, Mtx arg1, const char *arg2, Mtx arg3)
|
|||
var_r30 = &temp_r28->data.base;
|
||||
}
|
||||
if ((var_r30->scale.x <= 0.0f) && (var_r30->scale.y <= 0.0f) && (var_r30->scale.z <= 0.0f)) {
|
||||
PSMTXCopy(spF8, sp68);
|
||||
MTXCopy(spF8, sp68);
|
||||
OSReport("OBJ MTX CHECK ERROR %s \n", temp_r28->name);
|
||||
}
|
||||
else {
|
||||
mtxRot(sp98, var_r30->rot.x, var_r30->rot.y, var_r30->rot.z);
|
||||
PSMTXScale(sp68, var_r30->scale.x, var_r30->scale.y, var_r30->scale.z);
|
||||
PSMTXConcat(sp98, sp68, sp68);
|
||||
MTXScale(sp68, var_r30->scale.x, var_r30->scale.y, var_r30->scale.z);
|
||||
MTXConcat(sp98, sp68, sp68);
|
||||
mtxTransCat(sp68, var_r30->pos.x, var_r30->pos.y, var_r30->pos.z);
|
||||
PSMTXConcat(spF8, sp68, sp68);
|
||||
MTXConcat(spF8, sp68, sp68);
|
||||
}
|
||||
if (lbl_1_bss_6C0 != 0) {
|
||||
OSReport("%s \n", temp_r28->name);
|
||||
}
|
||||
if (strcmp(arg2, temp_r28->name) == 0) {
|
||||
PSMTXCopy(sp68, arg3);
|
||||
MTXCopy(sp68, arg3);
|
||||
lbl_1_bss_6C8 = 1;
|
||||
}
|
||||
for (var_r24 = 0; var_r24 < temp_r28->data.childrenCount; var_r24++) {
|
||||
|
|
@ -1317,21 +1318,21 @@ void fn_1_C99C(HsfObject *arg0, Mtx arg1, const char *arg2, Mtx arg3)
|
|||
var_r29 = &temp_r27->data.base;
|
||||
}
|
||||
if ((var_r29->scale.x <= 0.0f) && (var_r29->scale.y <= 0.0f) && (var_r29->scale.z <= 0.0f)) {
|
||||
PSMTXCopy(sp68, sp8);
|
||||
MTXCopy(sp68, sp8);
|
||||
OSReport("OBJ MTX CHECK ERROR %s \n", temp_r27->name);
|
||||
}
|
||||
else {
|
||||
mtxRot(sp38, var_r29->rot.x, var_r29->rot.y, var_r29->rot.z);
|
||||
PSMTXScale(sp8, var_r29->scale.x, var_r29->scale.y, var_r29->scale.z);
|
||||
PSMTXConcat(sp38, sp8, sp8);
|
||||
MTXScale(sp8, var_r29->scale.x, var_r29->scale.y, var_r29->scale.z);
|
||||
MTXConcat(sp38, sp8, sp8);
|
||||
mtxTransCat(sp8, var_r29->pos.x, var_r29->pos.y, var_r29->pos.z);
|
||||
PSMTXConcat(sp68, sp8, sp8);
|
||||
MTXConcat(sp68, sp8, sp8);
|
||||
}
|
||||
if (lbl_1_bss_6C0 != 0) {
|
||||
OSReport("%s \n", temp_r27->name);
|
||||
}
|
||||
if (strcmp(arg2, temp_r27->name) == 0) {
|
||||
PSMTXCopy(sp8, arg3);
|
||||
MTXCopy(sp8, arg3);
|
||||
lbl_1_bss_6C8 = 1;
|
||||
}
|
||||
for (var_r23 = 0; var_r23 < temp_r27->data.childrenCount; var_r23++) {
|
||||
|
|
|
|||
|
|
@ -1,9 +1,10 @@
|
|||
#include "REL/m424Dll.h"
|
||||
|
||||
#include "math.h"
|
||||
#include "game/audio.h"
|
||||
#include "game/hsfman.h"
|
||||
#include "game/hsfmotion.h"
|
||||
#include "math.h"
|
||||
|
||||
|
||||
// STRUCT
|
||||
typedef struct _M424DllMapStruct {
|
||||
|
|
@ -20,8 +21,8 @@ typedef struct _M424DllMapStruct {
|
|||
} M424DllMapStruct; // sizeof 0x54
|
||||
|
||||
// BSS
|
||||
Process* lbl_1_bss_54;
|
||||
omObjData* lbl_1_bss_50;
|
||||
Process *lbl_1_bss_54;
|
||||
omObjData *lbl_1_bss_50;
|
||||
|
||||
// DATA
|
||||
Vec lbl_1_data_E0 = { 0.0f, 3000.0f, 1.0f };
|
||||
|
|
@ -29,12 +30,13 @@ Vec lbl_1_data_EC = { 0.0f, 1.0f, 0.0f };
|
|||
Vec lbl_1_data_F8 = { 0.0f, 0.0f, 0.0f };
|
||||
|
||||
// PROTO
|
||||
void fn_1_1BB8(omObjData*);
|
||||
void fn_1_1E1C(omObjData*);
|
||||
void fn_1_2130(omObjData*);
|
||||
void fn_1_1BB8(omObjData *);
|
||||
void fn_1_1E1C(omObjData *);
|
||||
void fn_1_2130(omObjData *);
|
||||
void fn_1_2438(f32);
|
||||
|
||||
omObjData* fn_1_1AB8(Process* arg0) {
|
||||
omObjData *fn_1_1AB8(Process *arg0)
|
||||
{
|
||||
lbl_1_bss_54 = arg0;
|
||||
lbl_1_bss_50 = omAddObjEx(arg0, 0x7F, 6, 0, -1, fn_1_1BB8);
|
||||
lbl_1_bss_50->data = NULL;
|
||||
|
|
@ -44,12 +46,14 @@ omObjData* fn_1_1AB8(Process* arg0) {
|
|||
return lbl_1_bss_50;
|
||||
}
|
||||
|
||||
void fn_1_1B8C(void) {
|
||||
void fn_1_1B8C(void)
|
||||
{
|
||||
fn_1_2130(lbl_1_bss_50);
|
||||
}
|
||||
|
||||
void fn_1_1BB8(omObjData* arg0) {
|
||||
M424DllMapStruct* var_r30;
|
||||
void fn_1_1BB8(omObjData *arg0)
|
||||
{
|
||||
M424DllMapStruct *var_r30;
|
||||
|
||||
var_r30 = arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x54, 0x10000000);
|
||||
memset(var_r30, 0, 0x54);
|
||||
|
|
@ -82,9 +86,10 @@ void fn_1_1BB8(omObjData* arg0) {
|
|||
arg0->func = fn_1_1E1C;
|
||||
}
|
||||
|
||||
void fn_1_1E1C(omObjData* arg0) {
|
||||
void fn_1_1E1C(omObjData *arg0)
|
||||
{
|
||||
f32 temp_f31;
|
||||
M424DllMapStruct* temp_r31;
|
||||
M424DllMapStruct *temp_r31;
|
||||
|
||||
temp_r31 = arg0->data;
|
||||
if (temp_r31->unk40 > 0) {
|
||||
|
|
@ -108,8 +113,9 @@ void fn_1_1E1C(omObjData* arg0) {
|
|||
if (temp_r31->unk0 > 0.04f) {
|
||||
temp_r31->unk0 = 0.04f;
|
||||
}
|
||||
if (temp_r31->unk38 != -1) break;
|
||||
|
||||
if (temp_r31->unk38 != -1)
|
||||
break;
|
||||
|
||||
temp_r31->unk38 = HuAudFXPlay(0x626);
|
||||
break;
|
||||
default:
|
||||
|
|
@ -120,8 +126,8 @@ void fn_1_1E1C(omObjData* arg0) {
|
|||
}
|
||||
temp_f31 = temp_r31->unk0 / 0.04f;
|
||||
if (temp_r31->unk38 != -1) {
|
||||
HuAudFXVolSet(temp_r31->unk38, (s16) (-8191.0f * (1.0f - temp_f31)));
|
||||
HuAudFXPitchSet(temp_r31->unk38, (s16) (127.0f * temp_f31));
|
||||
HuAudFXVolSet(temp_r31->unk38, (s16)(-8191.0f * (1.0f - temp_f31)));
|
||||
HuAudFXPitchSet(temp_r31->unk38, (s16)(127.0f * temp_f31));
|
||||
if (temp_f31 <= 0.0f) {
|
||||
HuAudFXStop(temp_r31->unk38);
|
||||
temp_r31->unk38 = -1;
|
||||
|
|
@ -130,16 +136,18 @@ void fn_1_1E1C(omObjData* arg0) {
|
|||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
if (temp_r31->unk48 != 0) {
|
||||
if (temp_r31->unk4C != 0) {
|
||||
temp_r31->unk4C = (temp_r31->unk4C - 1);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
temp_r31->unk48 = (temp_r31->unk48 - 1);
|
||||
if (temp_r31->unk48 != 0) {
|
||||
Hu3DModelAttrReset(arg0->model[4], 1);
|
||||
Hu3DModelAttrSet(arg0->model[5], 1);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
Hu3DModelAttrSet(arg0->model[4], 1);
|
||||
Hu3DModelAttrReset(arg0->model[5], 1);
|
||||
if (temp_r31->unk50 != -1) {
|
||||
|
|
@ -150,16 +158,18 @@ void fn_1_1E1C(omObjData* arg0) {
|
|||
}
|
||||
}
|
||||
temp_r31->unk4 = (20.0f * temp_r31->unk0);
|
||||
PSMTXRotRad(temp_r31->unk8, 0x59, MTXDegToRad(temp_r31->unk4));
|
||||
MTXRotRad(temp_r31->unk8, 0x59, MTXDegToRad(temp_r31->unk4));
|
||||
Hu3DMotionSpeedSet(arg0->model[1], temp_r31->unk0);
|
||||
}
|
||||
|
||||
void fn_1_2130(omObjData* arg0) {
|
||||
void fn_1_2130(omObjData *arg0)
|
||||
{
|
||||
arg0->func = NULL;
|
||||
}
|
||||
|
||||
f32 fn_1_213C(void) {
|
||||
M424DllMapStruct* var_r31;
|
||||
f32 fn_1_213C(void)
|
||||
{
|
||||
M424DllMapStruct *var_r31;
|
||||
if (!lbl_1_bss_50) {
|
||||
return 0.0f;
|
||||
}
|
||||
|
|
@ -170,17 +180,19 @@ f32 fn_1_213C(void) {
|
|||
return var_r31->unk4;
|
||||
}
|
||||
|
||||
void fn_1_21B0(Mtx arg0) {
|
||||
M424DllMapStruct* var_r31;
|
||||
void fn_1_21B0(Mtx arg0)
|
||||
{
|
||||
M424DllMapStruct *var_r31;
|
||||
if (lbl_1_bss_50 && lbl_1_bss_50->data) {
|
||||
var_r31 = lbl_1_bss_50->data;
|
||||
PSMTXCopy(var_r31->unk8, *(Mtx*)&arg0);
|
||||
MTXCopy(var_r31->unk8, *(Mtx *)&arg0);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_2220(Vec* arg0, Vec* arg1) {
|
||||
void fn_1_2220(Vec *arg0, Vec *arg1)
|
||||
{
|
||||
Vec spC;
|
||||
M424DllMapStruct* temp_r30;
|
||||
M424DllMapStruct *temp_r30;
|
||||
|
||||
if (lbl_1_bss_50 && lbl_1_bss_50->data) {
|
||||
temp_r30 = lbl_1_bss_50->data;
|
||||
|
|
@ -188,23 +200,25 @@ void fn_1_2220(Vec* arg0, Vec* arg1) {
|
|||
spC.x = (temp_r30->unk8[0][0] * arg0->x) + (temp_r30->unk8[0][2] * arg0->z);
|
||||
spC.z = (temp_r30->unk8[2][0] * arg0->x) + (temp_r30->unk8[2][2] * arg0->z);
|
||||
spC.y = arg0->y;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
spC = *arg0;
|
||||
}
|
||||
PSVECSubtract(&spC, arg0, &spC);
|
||||
VECSubtract(&spC, arg0, &spC);
|
||||
*arg1 = spC;
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_2438(f32 arg0) {
|
||||
M424DllMapStruct* spC;
|
||||
HsfAttribute* var_r31;
|
||||
ModelData* temp_r30;
|
||||
HsfData* temp_r29;
|
||||
void fn_1_2438(f32 arg0)
|
||||
{
|
||||
M424DllMapStruct *spC;
|
||||
HsfAttribute *var_r31;
|
||||
ModelData *temp_r30;
|
||||
HsfData *temp_r29;
|
||||
s32 var_r28;
|
||||
HsfBitmap* var_r27;
|
||||
omObjData* var_r26;
|
||||
|
||||
HsfBitmap *var_r27;
|
||||
omObjData *var_r26;
|
||||
|
||||
if (lbl_1_bss_50 && lbl_1_bss_50->data) {
|
||||
var_r26 = lbl_1_bss_50;
|
||||
spC = lbl_1_bss_50->data;
|
||||
|
|
@ -213,7 +227,8 @@ void fn_1_2438(f32 arg0) {
|
|||
var_r31 = temp_r30->hsfData->attribute;
|
||||
for (var_r28 = 0; var_r28 < temp_r29->attributeCnt; var_r28++, var_r31++) {
|
||||
var_r27 = var_r31->bitmap;
|
||||
if (strcmp("cr_dk2", var_r27->name) == 0) break;
|
||||
if (strcmp("cr_dk2", var_r27->name) == 0)
|
||||
break;
|
||||
}
|
||||
if (var_r28 < temp_r29->attributeCnt) {
|
||||
var_r31->unk30 += arg0;
|
||||
|
|
@ -221,9 +236,10 @@ void fn_1_2438(f32 arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
void fn_1_252C(f32 arg8, s32 arg0) {
|
||||
omObjData* sp10;
|
||||
M424DllMapStruct* temp_r31;
|
||||
void fn_1_252C(f32 arg8, s32 arg0)
|
||||
{
|
||||
omObjData *sp10;
|
||||
M424DllMapStruct *temp_r31;
|
||||
|
||||
if (lbl_1_bss_50 && lbl_1_bss_50->data) {
|
||||
sp10 = lbl_1_bss_50;
|
||||
|
|
@ -234,9 +250,10 @@ void fn_1_252C(f32 arg8, s32 arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
f32 fn_1_25C0(void) {
|
||||
omObjData* sp8;
|
||||
M424DllMapStruct* temp_r31;
|
||||
f32 fn_1_25C0(void)
|
||||
{
|
||||
omObjData *sp8;
|
||||
M424DllMapStruct *temp_r31;
|
||||
|
||||
if (!lbl_1_bss_50) {
|
||||
return 0.0f;
|
||||
|
|
@ -252,9 +269,10 @@ f32 fn_1_25C0(void) {
|
|||
return 0.0f;
|
||||
}
|
||||
|
||||
void fn_1_2670(s32 arg0, s32 arg1) {
|
||||
omObjData* temp_r30;
|
||||
M424DllMapStruct* temp_r31;
|
||||
void fn_1_2670(s32 arg0, s32 arg1)
|
||||
{
|
||||
omObjData *temp_r30;
|
||||
M424DllMapStruct *temp_r31;
|
||||
|
||||
if (lbl_1_bss_50 && lbl_1_bss_50->data) {
|
||||
temp_r30 = lbl_1_bss_50;
|
||||
|
|
@ -267,17 +285,9 @@ void fn_1_2670(s32 arg0, s32 arg1) {
|
|||
}
|
||||
|
||||
// UNUSED (guessing types)
|
||||
M424DllMainStruct lbl_1_data_10C = {
|
||||
{ 0.0f, 0.0f, 5500.0f },
|
||||
{ -3950.0f, 0.0f, -0.7f },
|
||||
0.6f
|
||||
};
|
||||
M424DllMainStruct lbl_1_data_10C = { { 0.0f, 0.0f, 5500.0f }, { -3950.0f, 0.0f, -0.7f }, 0.6f };
|
||||
|
||||
GXColor lbl_1_data_128 = { 0xFF, 0xFF, 0xFF, 0xFF };
|
||||
M424DllMainStruct lbl_1_data_12C = {
|
||||
{ 0.0f, 5500.0f, -3950.0f },
|
||||
{ 0.0f, 1.0f, 0.0f },
|
||||
0.0f
|
||||
};
|
||||
M424DllMainStruct lbl_1_data_12C = { { 0.0f, 5500.0f, -3950.0f }, { 0.0f, 1.0f, 0.0f }, 0.0f };
|
||||
|
||||
s32 lbl_1_data_148[2] = {0};
|
||||
s32 lbl_1_data_148[2] = { 0 };
|
||||
|
|
|
|||
|
|
@ -562,18 +562,18 @@ void fn_1_14CC(Mtx arg0, float arg8, float arg9, float argA)
|
|||
Mtx sp38;
|
||||
Mtx sp8;
|
||||
if (argA != 0.0f) {
|
||||
PSMTXRotRad(arg0, 0x5A, MTXDegToRad(argA));
|
||||
MTXRotRad(arg0, 0x5A, MTXDegToRad(argA));
|
||||
}
|
||||
else {
|
||||
PSMTXIdentity(arg0);
|
||||
MTXIdentity(arg0);
|
||||
}
|
||||
if (arg8 != 0.0f) {
|
||||
PSMTXRotRad(sp38, 0x58, MTXDegToRad(arg8));
|
||||
PSMTXConcat(sp38, arg0, arg0);
|
||||
MTXRotRad(sp38, 0x58, MTXDegToRad(arg8));
|
||||
MTXConcat(sp38, arg0, arg0);
|
||||
}
|
||||
if (arg9 != 0.0f) {
|
||||
PSMTXRotRad(sp8, 0x59, MTXDegToRad(arg9));
|
||||
PSMTXConcat(sp8, arg0, arg0);
|
||||
MTXRotRad(sp8, 0x59, MTXDegToRad(arg9));
|
||||
MTXConcat(sp8, arg0, arg0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1374,7 +1374,7 @@ void fn_1_5044(s16 sp8)
|
|||
var_r31->unk_2C[1].unk_04 = 0;
|
||||
var_r31->unk_2C[1].unk_48 = 0x80;
|
||||
for (var_r30 = 0; var_r30 < (var_r31->unk_28 * var_r31->unk_2A); var_r30++) {
|
||||
PSMTXIdentity(var_r31->unk_2C[var_r30].unk_14);
|
||||
MTXIdentity(var_r31->unk_2C[var_r30].unk_14);
|
||||
var_r31->unk_2C[var_r30].unk_08.x = var_r31->unk_2C[var_r30].unk_08.y = var_r31->unk_2C[var_r30].unk_08.z = 0.0f;
|
||||
}
|
||||
for (var_r30 = 0; var_r30 < var_r31->unk_28; var_r30++) {
|
||||
|
|
@ -1503,8 +1503,8 @@ void fn_1_5C20(ModelData *var_r27, Mtx sp8)
|
|||
GXSetChanAmbColor(GX_COLOR0A0, var_r31->unk_20);
|
||||
GXSetChanMatColor(GX_COLOR0A0, var_r31->unk_24);
|
||||
GXLoadPosMtxImm(sp8, 0);
|
||||
PSMTXInverse(sp8, sp5C);
|
||||
PSMTXTranspose(sp5C, sp2C);
|
||||
MTXInverse(sp8, sp5C);
|
||||
MTXTranspose(sp5C, sp2C);
|
||||
GXLoadNrmMtxImm(sp2C, 0);
|
||||
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP);
|
||||
GXSetZMode(1, GX_LEQUAL, 1);
|
||||
|
|
@ -1512,7 +1512,7 @@ void fn_1_5C20(ModelData *var_r27, Mtx sp8)
|
|||
var_r28 = 0;
|
||||
spC = 0;
|
||||
for (var_r29 = GX_TEXMAP0; var_r29 < var_r31->unk_28; var_r29++) {
|
||||
PSMTXRotRad(var_r31->unk_2C[var_r29].unk_14, 0x5A, 0.0f);
|
||||
MTXRotRad(var_r31->unk_2C[var_r29].unk_14, 0x5A, 0.0f);
|
||||
mtxTransCat(
|
||||
var_r31->unk_2C[var_r29].unk_14, var_r31->unk_2C[var_r29].unk_08.x, var_r31->unk_2C[var_r29].unk_08.y, var_r31->unk_2C[var_r29].unk_08.z);
|
||||
switch (var_r31->unk_2C[var_r29].unk_04) {
|
||||
|
|
|
|||
|
|
@ -1665,7 +1665,7 @@ void fn_1_DE3C(M425DllUnkStruct4 *arg0, ModelData *model)
|
|||
sp8.x = arg0->unk_180[var_r26].x - arg0->unk_180[var_r29].x;
|
||||
sp8.y = arg0->unk_180[var_r26].y - arg0->unk_180[var_r29].y;
|
||||
sp8.z = arg0->unk_180[var_r26].z - arg0->unk_180[var_r29].z;
|
||||
PSVECCrossProduct(&sp14, &sp8, &sp20);
|
||||
VECCrossProduct(&sp14, &sp8, &sp20);
|
||||
sp20.x *= -1.0f;
|
||||
sp20.y *= -1.0f;
|
||||
sp20.z *= -1.0f;
|
||||
|
|
@ -1685,7 +1685,7 @@ void fn_1_DE3C(M425DllUnkStruct4 *arg0, ModelData *model)
|
|||
}
|
||||
}
|
||||
for (var_r30 = 0; var_r30 < arg0->unk_110; var_r30++) {
|
||||
PSVECNormalize(&arg0->unk_188[var_r30], &arg0->unk_188[var_r30]);
|
||||
VECNormalize(&arg0->unk_188[var_r30], &arg0->unk_188[var_r30]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1803,7 +1803,7 @@ void fn_1_E210(s32 arg0)
|
|||
sp8.x = sind(var_r31->unk_E4) * cosd(var_r31->unk_E0);
|
||||
sp8.z = cosd(var_r31->unk_E4) * cosd(var_r31->unk_E0);
|
||||
sp8.y = sind(var_r31->unk_E0);
|
||||
PSVECNormalize(&sp8, &sp8);
|
||||
VECNormalize(&sp8, &sp8);
|
||||
var_r28 = &Hu3DLocalLight[var_r27->unk_38[0]];
|
||||
var_r28->unk_1C.x = 1000.0f * sp8.x;
|
||||
var_r28->unk_1C.y = 1000.0f * sp8.y;
|
||||
|
|
@ -2093,7 +2093,7 @@ void fn_1_101C4(ModelData *var_r29, Mtx var_r28)
|
|||
|
||||
var_r31 = var_r29->unk_120;
|
||||
GXLoadPosMtxImm(var_r28, 0);
|
||||
PSMTXInvXpose(var_r28, sp50);
|
||||
MTXInvXpose(var_r28, sp50);
|
||||
GXLoadNrmMtxImm(sp50, 0);
|
||||
var_r27 = fn_1_115D4(var_r29, Hu3DCameraMtx, Hu3DCameraMtxXPose, 4.0f);
|
||||
if (omPauseChk() == 0) {
|
||||
|
|
@ -2129,7 +2129,7 @@ void fn_1_101C4(ModelData *var_r29, Mtx var_r28)
|
|||
GXSetZCompLoc(0);
|
||||
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP);
|
||||
if (HmfInverseMtxF3X3(var_r28, sp50) == 0) {
|
||||
PSMTXIdentity(sp50);
|
||||
MTXIdentity(sp50);
|
||||
}
|
||||
PSMTXReorder(sp50, sp20);
|
||||
GXClearVtxDesc();
|
||||
|
|
@ -2418,7 +2418,7 @@ void fn_1_112FC(void)
|
|||
var_r31->unk_04.y = var_r31->unk_10.y * var_r31->unk_1C;
|
||||
var_r31->unk_04.z = var_r31->unk_10.z * var_r31->unk_1C;
|
||||
var_r31->unk_1C *= 0.95f;
|
||||
PSVECAdd(&var_r31->unk_30, &var_r31->unk_04, &var_r31->unk_30);
|
||||
VECAdd(&var_r31->unk_30, &var_r31->unk_04, &var_r31->unk_30);
|
||||
if (++var_r31->unk_40 >= 0xF) {
|
||||
var_r31->unk_40 = 0;
|
||||
var_r31->unk_28 = 0.0f;
|
||||
|
|
@ -2503,7 +2503,7 @@ void fn_1_116E4(ModelData *arg1, LightData *var_r31, s16 sp8, Mtx spC, Mtx sp10,
|
|||
break;
|
||||
case 1:
|
||||
GXInitLightAttn(&lbl_1_bss_688, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f);
|
||||
PSVECScale(&var_r31->unk_28, &var_r31->unk_1C, -100000.0f);
|
||||
VECScale(&var_r31->unk_28, &var_r31->unk_1C, -100000.0f);
|
||||
break;
|
||||
case 2:
|
||||
GXInitLightAttn(&lbl_1_bss_688, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
|
||||
|
|
@ -2511,8 +2511,8 @@ void fn_1_116E4(ModelData *arg1, LightData *var_r31, s16 sp8, Mtx spC, Mtx sp10,
|
|||
break;
|
||||
}
|
||||
if ((var_r31->unk_00 & 0x8000) != 0) {
|
||||
PSMTXMultVec(spC, &var_r31->unk_28, &lbl_1_bss_67C);
|
||||
PSMTXMultVec(sp10, &var_r31->unk_1C, &lbl_1_bss_670);
|
||||
MTXMultVec(spC, &var_r31->unk_28, &lbl_1_bss_67C);
|
||||
MTXMultVec(sp10, &var_r31->unk_1C, &lbl_1_bss_670);
|
||||
GXInitLightPos(&lbl_1_bss_688, lbl_1_bss_670.x, lbl_1_bss_670.y, lbl_1_bss_670.z);
|
||||
}
|
||||
else {
|
||||
|
|
@ -2692,7 +2692,7 @@ void fn_1_11EE0(ModelData *var_r24, Mtx var_r21)
|
|||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_RGBA6, 0);
|
||||
GXSetArray(GX_VA_TEX0, var_r31->unk_44, 8);
|
||||
if (HmfInverseMtxF3X3(var_r21, sp128) == 0) {
|
||||
PSMTXIdentity(sp128);
|
||||
MTXIdentity(sp128);
|
||||
}
|
||||
PSMTXReorder(sp128, &sp8[0]);
|
||||
if (var_r31->unk_4C) {
|
||||
|
|
@ -2718,27 +2718,27 @@ void fn_1_11EE0(ModelData *var_r24, Mtx var_r21)
|
|||
if (!var_r29->unk_2C) {
|
||||
var_r28 = &sp98[0];
|
||||
var_r27 = &sp38[0];
|
||||
PSVECScale(var_r27++, var_r28, var_r29->unk_28);
|
||||
PSVECAdd(var_r28++, &var_r29->unk_30, var_r30++);
|
||||
PSVECScale(var_r27++, var_r28, var_r29->unk_28);
|
||||
PSVECAdd(var_r28++, &var_r29->unk_30, var_r30++);
|
||||
PSVECScale(var_r27++, var_r28, var_r29->unk_28);
|
||||
PSVECAdd(var_r28++, &var_r29->unk_30, var_r30++);
|
||||
PSVECScale(var_r27++, var_r28, var_r29->unk_28);
|
||||
PSVECAdd(var_r28++, &var_r29->unk_30, var_r30++);
|
||||
VECScale(var_r27++, var_r28, var_r29->unk_28);
|
||||
VECAdd(var_r28++, &var_r29->unk_30, var_r30++);
|
||||
VECScale(var_r27++, var_r28, var_r29->unk_28);
|
||||
VECAdd(var_r28++, &var_r29->unk_30, var_r30++);
|
||||
VECScale(var_r27++, var_r28, var_r29->unk_28);
|
||||
VECAdd(var_r28++, &var_r29->unk_30, var_r30++);
|
||||
VECScale(var_r27++, var_r28, var_r29->unk_28);
|
||||
VECAdd(var_r28++, &var_r29->unk_30, var_r30++);
|
||||
}
|
||||
else {
|
||||
PSVECScale(lbl_1_data_19C, &sp98[0], var_r29->unk_28);
|
||||
PSVECScale(&lbl_1_data_19C[1], &sp98[1], var_r29->unk_28);
|
||||
PSVECScale(&lbl_1_data_19C[2], &sp98[2], var_r29->unk_28);
|
||||
PSVECScale(&lbl_1_data_19C[3], &sp98[3], var_r29->unk_28);
|
||||
PSMTXRotRad(spC8, 0x5A, var_r29->unk_2C);
|
||||
PSMTXConcat(sp128, spC8, spF8);
|
||||
PSMTXMultVecArray(spF8, &sp98[0], &sp68[0], 4);
|
||||
PSVECAdd(&sp68[0], &var_r29->unk_30, var_r30++);
|
||||
PSVECAdd(&sp68[1], &var_r29->unk_30, var_r30++);
|
||||
PSVECAdd(&sp68[2], &var_r29->unk_30, var_r30++);
|
||||
PSVECAdd(&sp68[3], &var_r29->unk_30, var_r30++);
|
||||
VECScale(lbl_1_data_19C, &sp98[0], var_r29->unk_28);
|
||||
VECScale(&lbl_1_data_19C[1], &sp98[1], var_r29->unk_28);
|
||||
VECScale(&lbl_1_data_19C[2], &sp98[2], var_r29->unk_28);
|
||||
VECScale(&lbl_1_data_19C[3], &sp98[3], var_r29->unk_28);
|
||||
MTXRotRad(spC8, 0x5A, var_r29->unk_2C);
|
||||
MTXConcat(sp128, spC8, spF8);
|
||||
MTXMultVecArray(spF8, &sp98[0], &sp68[0], 4);
|
||||
VECAdd(&sp68[0], &var_r29->unk_30, var_r30++);
|
||||
VECAdd(&sp68[1], &var_r29->unk_30, var_r30++);
|
||||
VECAdd(&sp68[2], &var_r29->unk_30, var_r30++);
|
||||
VECAdd(&sp68[3], &var_r29->unk_30, var_r30++);
|
||||
}
|
||||
var_r20 = var_r29->unk_40 & 3;
|
||||
var_r19 = (var_r29->unk_40 >> 2) & 3;
|
||||
|
|
|
|||
|
|
@ -394,18 +394,18 @@ void fn_1_330(omObjData *object)
|
|||
if (!WipeStatGet()) {
|
||||
lbl_1_bss_54 = 1;
|
||||
lbl_1_bss_58 = 0;
|
||||
lbl_1_bss_30 = 120;
|
||||
lbl_1_bss_30 = 2 * REFRESH_RATE;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (++lbl_1_bss_58 >= 15.0f) {
|
||||
if (++lbl_1_bss_58 >= REFRESH_RATE / 4.0f) {
|
||||
lbl_1_bss_54 = 2;
|
||||
lbl_1_bss_58 = 0;
|
||||
lbl_1_bss_38 = 1;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
var_f31 = 0.007246377f * lbl_1_bss_58;
|
||||
var_f31 = (VERSION_NTSC ? 0.007246377f : 0.008695652f) * lbl_1_bss_58;
|
||||
var_f31 = sind(90.0f * var_f31);
|
||||
var_f31 *= var_f31;
|
||||
for (var_r31 = 0; var_r31 < 7; var_r31++) {
|
||||
|
|
@ -418,7 +418,7 @@ void fn_1_330(omObjData *object)
|
|||
Center.y = sp10[4];
|
||||
Center.z = sp10[5];
|
||||
CZoom = sp10[6];
|
||||
if (++lbl_1_bss_58 >= 138.0f) {
|
||||
if (++lbl_1_bss_58 >= (VERSION_NTSC ? 138.0f : 115.0f)) {
|
||||
CRot.x = lbl_1_data_4C[0][0];
|
||||
CRot.y = lbl_1_data_4C[0][1];
|
||||
CRot.z = lbl_1_data_4C[0][2];
|
||||
|
|
@ -431,7 +431,7 @@ void fn_1_330(omObjData *object)
|
|||
}
|
||||
break;
|
||||
case 3:
|
||||
if (++lbl_1_bss_58 >= 30.0f) {
|
||||
if (++lbl_1_bss_58 >= (REFRESH_RATE / 2.0f)) {
|
||||
lbl_1_bss_50 = MGSeqCreate(3, 0);
|
||||
lbl_1_bss_54 = 4;
|
||||
lbl_1_bss_58 = 0;
|
||||
|
|
@ -452,9 +452,9 @@ void fn_1_330(omObjData *object)
|
|||
lbl_1_bss_40 = 1;
|
||||
lbl_1_bss_3C = 1;
|
||||
lbl_1_bss_54 = 5;
|
||||
lbl_1_bss_58 = 1800;
|
||||
lbl_1_bss_58 = 30 * REFRESH_RATE;
|
||||
fn_1_7328(1);
|
||||
lbl_1_bss_4C = MGSeqCreate(1, lbl_1_bss_58 / 60, -1, -1);
|
||||
lbl_1_bss_4C = MGSeqCreate(1, lbl_1_bss_58 / REFRESH_RATE, -1, -1);
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
|
|
@ -463,10 +463,10 @@ void fn_1_330(omObjData *object)
|
|||
var_r25 = 0;
|
||||
}
|
||||
MGSeqParamSet(lbl_1_bss_4C, 1, var_r25);
|
||||
if (lbl_1_bss_58 == 600) {
|
||||
if (lbl_1_bss_58 == 10 * REFRESH_RATE) {
|
||||
lbl_1_bss_34 = 3.0f;
|
||||
}
|
||||
else if (lbl_1_bss_58 == 1200) {
|
||||
else if (lbl_1_bss_58 == 20 * REFRESH_RATE) {
|
||||
lbl_1_bss_34 = 2.5f;
|
||||
}
|
||||
if (--lbl_1_bss_58 < -1 || lbl_1_bss_1C[0] <= 0 || lbl_1_bss_1C[1] <= 0) {
|
||||
|
|
@ -529,7 +529,7 @@ void fn_1_330(omObjData *object)
|
|||
}
|
||||
break;
|
||||
case 7:
|
||||
if (++lbl_1_bss_58 > 210.0f) {
|
||||
if (++lbl_1_bss_58 > 3.5f * REFRESH_RATE) {
|
||||
lbl_1_bss_50 = -1;
|
||||
lbl_1_bss_54 = 8;
|
||||
lbl_1_bss_58 = 0;
|
||||
|
|
@ -946,8 +946,8 @@ void fn_1_16F8(omObjData *object)
|
|||
}
|
||||
else if (var_f27 != 0.0f) {
|
||||
var_f27 = 1.0f / var_f27;
|
||||
object->trans.x += var_f28 * (var_f30 * var_f27);
|
||||
object->trans.z += var_f28 * (var_f31 * var_f27);
|
||||
object->trans.x += var_f28 * (var_f30 * var_f27) * (60.0f / REFRESH_RATE);
|
||||
object->trans.z += var_f28 * (var_f31 * var_f27) * (60.0f / REFRESH_RATE);
|
||||
}
|
||||
}
|
||||
var_f30 = object->trans.x - var_f22;
|
||||
|
|
@ -1041,16 +1041,16 @@ void fn_1_16F8(omObjData *object)
|
|||
break;
|
||||
case 6:
|
||||
var_r31->unk_2C++;
|
||||
if (var_r31->unk_2C < 60.0f) {
|
||||
if (var_r31->unk_2C < 1.0f * REFRESH_RATE) {
|
||||
if (lbl_1_bss_40 == 0) {
|
||||
var_r31->unk_2C = 59;
|
||||
var_r31->unk_2C = REFRESH_RATE - 1;
|
||||
}
|
||||
}
|
||||
else if (var_r31->unk_2C == 60.0f) {
|
||||
else if (var_r31->unk_2C == 1.0f * REFRESH_RATE) {
|
||||
var_r31->unk_28 = 7;
|
||||
CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_28], 0.0f, 8.0f, HU3D_MOTATTR_NONE);
|
||||
}
|
||||
else if (var_r31->unk_2C >= 90.0f) {
|
||||
else if (var_r31->unk_2C >= (VERSION_NTSC ? 90.0f : 80.0f)) {
|
||||
var_r31->unk_24 = 7;
|
||||
var_r31->unk_28 = 8;
|
||||
CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_28], 0.0f, 8.0f, HU3D_MOTATTR_LOOP);
|
||||
|
|
@ -1240,7 +1240,7 @@ void fn_1_2B74(Vec *arg0)
|
|||
var_r31->unk_2C = 0;
|
||||
var_r31->unk_24 = 3;
|
||||
var_r31->unk_AC = 32;
|
||||
var_r31->unk_30 = 90;
|
||||
var_r31->unk_30 = 1.5f * REFRESH_RATE;
|
||||
var_r31->unk_90 = var_r31->unk_94 = -1;
|
||||
if (!var_r29->unk_00) {
|
||||
var_r31->unk_9C.x = -1.0f;
|
||||
|
|
@ -1370,7 +1370,7 @@ void fn_1_2F5C(omObjData *object, float *arg1, float *arg2, s32 *arg3)
|
|||
break;
|
||||
case 1:
|
||||
if (var_r31->unk_B0 != -1) {
|
||||
if (++var_r31->unk_B4 < 120.0f) {
|
||||
if (++var_r31->unk_B4 < 2.0f * REFRESH_RATE) {
|
||||
if (var_r31->unk_90 == var_r31->unk_B0) {
|
||||
var_r31->unk_B0 = -1;
|
||||
return;
|
||||
|
|
@ -1389,12 +1389,12 @@ void fn_1_2F5C(omObjData *object, float *arg1, float *arg2, s32 *arg3)
|
|||
return;
|
||||
case 2:
|
||||
if (var_r31->unk_B0 != -1) {
|
||||
if (++var_r31->unk_B4 < 120.0f && var_r31->unk_B0 != var_r28->unk_B0) {
|
||||
if (++var_r31->unk_B4 < 2.0f * REFRESH_RATE && var_r31->unk_B0 != var_r28->unk_B0) {
|
||||
if (var_r31->unk_90 == var_r31->unk_B0) {
|
||||
*arg3 |= 256;
|
||||
var_r31->unk_B0 = -1;
|
||||
var_r31->unk_B4 = 0;
|
||||
var_r31->unk_B8 = (50.0f + (frand() % 15)) - (var_r31->unk_18 * 10);
|
||||
var_r31->unk_B8 = ((VERSION_NTSC ? 50.0f : 45.0f) + (frand() % 15)) - (var_r31->unk_18 * 10);
|
||||
var_r31->unk_BC = 0;
|
||||
return;
|
||||
}
|
||||
|
|
@ -1585,7 +1585,7 @@ void fn_1_3714(omObjData *object)
|
|||
sp8.x = 0.0f;
|
||||
sp8.y = 500.0f;
|
||||
sp8.z = var_r31->unk_38;
|
||||
var_r25 = 0.3f * (var_r31->unk_00 * 60);
|
||||
var_r25 = 0.3f * (var_r31->unk_00 * REFRESH_RATE);
|
||||
var_r31->unk_34 = fn_1_5C6C(var_r31->unk_00, var_r25, &sp8);
|
||||
}
|
||||
lbl_1_bss_24 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M426, 1), MEMORY_DEFAULT_NUM));
|
||||
|
|
@ -1975,7 +1975,7 @@ void fn_1_5134(omObjData *object)
|
|||
}
|
||||
break;
|
||||
case 1:
|
||||
if ((var_r31->unk_40 -= 50.0f) <= 50.0f) {
|
||||
if ((var_r31->unk_40 -= (VERSION_NTSC ? 50.0f : 60.000004f)) <= 50.0f) {
|
||||
if (lbl_1_bss_54 <= 4) {
|
||||
fn_1_3654(0);
|
||||
fn_1_3654(1);
|
||||
|
|
@ -2005,8 +2005,8 @@ void fn_1_5134(omObjData *object)
|
|||
}
|
||||
if (fabs(fn_1_75F4(var_f31, var_r31->unk_48)) < 5.0) {
|
||||
var_r31->unk_48 = var_f31;
|
||||
if ((var_r31->unk_34 += 0.1f) > lbl_1_bss_34) {
|
||||
var_r31->unk_34 = lbl_1_bss_34;
|
||||
if ((var_r31->unk_34 += 0.1f) > lbl_1_bss_34 * (60.0f / REFRESH_RATE)) {
|
||||
var_r31->unk_34 = lbl_1_bss_34 * (60.0f / REFRESH_RATE);
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
|
@ -2054,7 +2054,7 @@ void fn_1_5134(omObjData *object)
|
|||
if (lbl_1_bss_1C[1] < 0) {
|
||||
lbl_1_bss_1C[1] = 0;
|
||||
}
|
||||
lbl_1_bss_30 = 60;
|
||||
lbl_1_bss_30 = REFRESH_RATE;
|
||||
lbl_1_bss_28 = 1.0f;
|
||||
var_r31->unk_30 = 0;
|
||||
var_r31->unk_28 = 4;
|
||||
|
|
@ -2476,7 +2476,7 @@ void fn_1_6704(omObjData *object)
|
|||
if (var_r31->unk_04) {
|
||||
Hu3DModelPosSet(var_r31->unk_00, var_r31->unk_0C, var_r31->unk_10, var_r31->unk_14);
|
||||
Hu3DModelRotSet(var_r31->unk_00, CRot.x, CRot.y, CRot.z);
|
||||
if (++var_r31->unk_08 >= 120.0f) {
|
||||
if (++var_r31->unk_08 >= 2.0f * REFRESH_RATE) {
|
||||
Hu3DModelAttrSet(var_r31->unk_00, HU3D_ATTR_DISPOFF);
|
||||
var_r31->unk_04 = 0;
|
||||
var_r31->unk_08 = 0;
|
||||
|
|
@ -3043,7 +3043,7 @@ void fn_1_80DC(ModelData *arg0, Mtx arg1)
|
|||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
|
||||
GXSetArray(GX_VA_TEX0, var_r31->unk_44, 8);
|
||||
if (!HmfInverseMtxF3X3(arg1, sp128)) {
|
||||
PSMTXIdentity(sp128);
|
||||
MTXIdentity(sp128);
|
||||
}
|
||||
PSMTXReorder(sp128, sp8);
|
||||
if (var_r31->unk_4C) {
|
||||
|
|
@ -3083,9 +3083,9 @@ void fn_1_80DC(ModelData *arg0, Mtx arg1)
|
|||
VECScale(&lbl_1_data_22C[1], &sp98[1], var_r29->unk_28);
|
||||
VECScale(&lbl_1_data_22C[2], &sp98[2], var_r29->unk_28);
|
||||
VECScale(&lbl_1_data_22C[3], &sp98[3], var_r29->unk_28);
|
||||
PSMTXRotRad(spC8, 90, var_r29->unk_2C);
|
||||
PSMTXConcat(sp128, spC8, &spF8[0]);
|
||||
PSMTXMultVecArray(spF8, &sp98[0], &sp68[0], 4);
|
||||
MTXRotRad(spC8, 90, var_r29->unk_2C);
|
||||
MTXConcat(sp128, spC8, &spF8[0]);
|
||||
MTXMultVecArray(spF8, &sp98[0], &sp68[0], 4);
|
||||
VECAdd(&sp68[0], &var_r29->unk_30, var_r30++);
|
||||
VECAdd(&sp68[1], &var_r29->unk_30, var_r30++);
|
||||
VECAdd(&sp68[2], &var_r29->unk_30, var_r30++);
|
||||
|
|
@ -3222,7 +3222,7 @@ void fn_1_8E48(ModelData *arg0, Mtx arg1)
|
|||
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
|
||||
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_KONST);
|
||||
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
|
||||
PSMTXIdentity(sp50);
|
||||
MTXIdentity(sp50);
|
||||
GXLoadPosMtxImm(sp50, 0);
|
||||
GXSetZMode(GX_FALSE, GX_ALWAYS, GX_TRUE);
|
||||
GXSetNumChans(1);
|
||||
|
|
|
|||
|
|
@ -617,7 +617,7 @@ void fn_1_261C(omObjData *object)
|
|||
}
|
||||
}
|
||||
|
||||
u32 fn_1_26E0(void)
|
||||
s32 fn_1_26E0(void)
|
||||
{
|
||||
return lbl_1_bss_7C;
|
||||
}
|
||||
|
|
@ -786,7 +786,7 @@ void fn_1_2E2C(s32 var_r26)
|
|||
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_KONST);
|
||||
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
|
||||
GXSetNumChans(0);
|
||||
PSMTXIdentity(sp8C);
|
||||
MTXIdentity(sp8C);
|
||||
GXLoadPosMtxImm(sp8C, 0);
|
||||
GXSetZMode(0, GX_ALWAYS, GX_TRUE);
|
||||
GXSetNumChans(1);
|
||||
|
|
@ -820,7 +820,7 @@ void fn_1_2E2C(s32 var_r26)
|
|||
var_r25 = Hu3DShadowData.unk_02 * Hu3DShadowData.unk_02;
|
||||
}
|
||||
C_MTXLookAt(Hu3DCameraMtx, &Hu3DShadowData.unk_14, &Hu3DShadowData.unk_2C, &Hu3DShadowData.unk_20);
|
||||
PSMTXCopy(Hu3DCameraMtx, Hu3DShadowData.unk_38);
|
||||
MTXCopy(Hu3DCameraMtx, Hu3DShadowData.unk_38);
|
||||
shadowModelDrawF = 1;
|
||||
GXInvalidateTexAll();
|
||||
GXSetFog(GX_FOG_NONE, 0.0f, 0.0f, 0.0f, 0.0f, BGColor);
|
||||
|
|
@ -870,11 +870,11 @@ void fn_1_2E2C(s32 var_r26)
|
|||
Hu3DModelShadowSet(var_r29->unk_00[var_r30]);
|
||||
Hu3DShadowData.unk_00 = (s8)(var_r29->unk_20[var_r30] * var_r24);
|
||||
mtxRot(sp5C, var_r31->rot.x, var_r31->rot.y, var_r31->rot.z);
|
||||
PSMTXScale(spBC, var_r31->scale.x, var_r31->scale.y, var_r31->scale.z);
|
||||
PSMTXConcat(sp5C, spBC, spBC);
|
||||
MTXScale(spBC, var_r31->scale.x, var_r31->scale.y, var_r31->scale.z);
|
||||
MTXConcat(sp5C, spBC, spBC);
|
||||
mtxTransCat(spBC, var_r31->pos.x, var_r31->pos.y, var_r31->pos.z);
|
||||
PSMTXConcat(Hu3DCameraMtx, spBC, sp8C);
|
||||
PSMTXConcat(sp8C, var_r31->unk_F0, sp8C);
|
||||
MTXConcat(Hu3DCameraMtx, spBC, sp8C);
|
||||
MTXConcat(sp8C, var_r31->unk_F0, sp8C);
|
||||
Hu3DDraw(var_r31, sp8C, &var_r31->scale);
|
||||
Hu3DModelShadowReset(var_r29->unk_00[var_r30]);
|
||||
}
|
||||
|
|
@ -908,7 +908,7 @@ void fn_1_2E2C(s32 var_r26)
|
|||
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_KONST);
|
||||
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
|
||||
GXSetNumChans(0);
|
||||
PSMTXIdentity(sp8C);
|
||||
MTXIdentity(sp8C);
|
||||
GXLoadPosMtxImm(sp8C, 0);
|
||||
GXSetZMode(0, GX_ALWAYS, 1);
|
||||
GXSetNumChans(1);
|
||||
|
|
@ -966,7 +966,7 @@ void fn_1_3B64(void)
|
|||
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
|
||||
GXSetNumTexGens(1);
|
||||
GXSetNumTevStages(1);
|
||||
PSMTXIdentity(sp34);
|
||||
MTXIdentity(sp34);
|
||||
GXLoadPosMtxImm(sp34, 0);
|
||||
GXSetZMode(0, GX_LEQUAL, GX_FALSE);
|
||||
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
|
||||
|
|
|
|||
|
|
@ -402,8 +402,8 @@ u8 fn_1_5370(M433DllUnkStruct2 *arg0, Vec *arg1)
|
|||
for (var_r27 = 0; var_r27 < arg0->unk_08; var_r27++, var_r31++) {
|
||||
sp8 = *arg1;
|
||||
sp8.y = 0.0f;
|
||||
PSVECSubtract(&sp8, &var_r31->unk_00, &sp20);
|
||||
var_f30 = PSVECMag(&sp20);
|
||||
VECSubtract(&sp8, &var_r31->unk_00, &sp20);
|
||||
var_f30 = VECMag(&sp20);
|
||||
if (!(var_f30 > (400.0f + var_r31->unk_20)) && (var_r31->unk_2C != 0.0f)) {
|
||||
var_r24 = 0;
|
||||
for (var_r28 = 0; var_r28 < 3; var_r28++) {
|
||||
|
|
@ -413,8 +413,8 @@ u8 fn_1_5370(M433DllUnkStruct2 *arg0, Vec *arg1)
|
|||
}
|
||||
var_r23 = &arg0->unk_00[var_r31->unk_0C[var_r28]];
|
||||
var_r25 = &arg0->unk_00[var_r31->unk_0C[var_r26]];
|
||||
PSVECSubtract(var_r25, var_r23, &sp20);
|
||||
PSVECSubtract(arg1, var_r25, &sp14);
|
||||
VECSubtract(var_r25, var_r23, &sp20);
|
||||
VECSubtract(arg1, var_r25, &sp14);
|
||||
var_f31 = (sp20.x * sp14.y) - (sp20.y * sp14.x);
|
||||
if ((var_f31 * var_r31->unk_2C) < 0.0) {
|
||||
var_r24 = 1;
|
||||
|
|
@ -484,15 +484,15 @@ void fn_1_5684(HsfData *arg0, HsfObject *arg1)
|
|||
var_r31->unk_00.z /= 3.0f;
|
||||
var_r31->unk_20 = 0.0f;
|
||||
for (var_r28 = 0; var_r28 < 3; var_r28++) {
|
||||
PSVECSubtract(&((Vec *)var_r29->data)[var_r30->indices[var_r28][0]], &var_r31->unk_00, &sp18);
|
||||
var_f31 = PSVECMag(&sp18);
|
||||
VECSubtract(&((Vec *)var_r29->data)[var_r30->indices[var_r28][0]], &var_r31->unk_00, &sp18);
|
||||
var_f31 = VECMag(&sp18);
|
||||
if (var_f31 > var_r31->unk_20) {
|
||||
var_r31->unk_20 = var_f31;
|
||||
}
|
||||
}
|
||||
var_r31->unk_00.y = 0.0f;
|
||||
PSVECSubtract(&((Vec *)var_r29->data)[var_r30->strip.indices[1][0]], &((Vec *)var_r29->data)[var_r30->strip.indices[0][0]], &sp18);
|
||||
PSVECSubtract(&((Vec *)var_r29->data)[var_r30->strip.indices[2][0]], &((Vec *)var_r29->data)[var_r30->strip.indices[0][0]], &spC);
|
||||
VECSubtract(&((Vec *)var_r29->data)[var_r30->strip.indices[1][0]], &((Vec *)var_r29->data)[var_r30->strip.indices[0][0]], &sp18);
|
||||
VECSubtract(&((Vec *)var_r29->data)[var_r30->strip.indices[2][0]], &((Vec *)var_r29->data)[var_r30->strip.indices[0][0]], &spC);
|
||||
var_r31->unk_24 = (sp18.y * spC.z) - (sp18.z * spC.y);
|
||||
var_r31->unk_28 = (sp18.z * spC.x) - (sp18.x * spC.z);
|
||||
var_r31->unk_2C = (sp18.x * spC.y) - (sp18.y * spC.x);
|
||||
|
|
@ -514,14 +514,14 @@ void fn_1_5684(HsfData *arg0, HsfObject *arg1)
|
|||
var_r31->unk_00.z *= 0.25f;
|
||||
var_r31->unk_20 = 0.0f;
|
||||
for (var_r28 = 0; var_r28 < 4; var_r28++) {
|
||||
PSVECSubtract(&((Vec *)var_r29->data)[var_r30->indices[var_r28][0]], &var_r31->unk_00, &sp18);
|
||||
var_f31 = PSVECMag(&sp18);
|
||||
VECSubtract(&((Vec *)var_r29->data)[var_r30->indices[var_r28][0]], &var_r31->unk_00, &sp18);
|
||||
var_f31 = VECMag(&sp18);
|
||||
if (var_f31 > var_r31->unk_20) {
|
||||
var_r31->unk_20 = var_f31;
|
||||
}
|
||||
}
|
||||
PSVECSubtract(&((Vec *)var_r29->data)[var_r30->strip.indices[1][0]], &((Vec *)var_r29->data)[var_r30->strip.indices[0][0]], &sp18);
|
||||
PSVECSubtract(&((Vec *)var_r29->data)[var_r30->strip.indices[2][0]], &((Vec *)var_r29->data)[var_r30->strip.indices[1][0]], &spC);
|
||||
VECSubtract(&((Vec *)var_r29->data)[var_r30->strip.indices[1][0]], &((Vec *)var_r29->data)[var_r30->strip.indices[0][0]], &sp18);
|
||||
VECSubtract(&((Vec *)var_r29->data)[var_r30->strip.indices[2][0]], &((Vec *)var_r29->data)[var_r30->strip.indices[1][0]], &spC);
|
||||
var_r31->unk_24 = (sp18.y * spC.z) - (sp18.z * spC.y);
|
||||
var_r31->unk_28 = (sp18.z * spC.x) - (sp18.x * spC.z);
|
||||
var_r31->unk_2C = (sp18.x * spC.y) - (sp18.y * spC.x);
|
||||
|
|
@ -719,12 +719,12 @@ void fn_1_6280(ModelData *arg1, ParticleData *particle, Mtx matrix)
|
|||
}
|
||||
break;
|
||||
}
|
||||
PSVECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
|
||||
VECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
|
||||
if (particle->unk_04.x != 0.0f) {
|
||||
sp8 = particle->unk_04;
|
||||
sp8.x *= var_r31->unk2C / 28.0f;
|
||||
sp8.y = (((u8)var_r31->unk2C & 1) != 0 ? 1.0f : -1.0f) * (sp8.x * (0.05f + (s32)(0.2f * (fn_1_7500() / 65536.0f))));
|
||||
PSVECAdd(&var_r31->unk34, &sp8, &var_r31->unk34);
|
||||
VECAdd(&var_r31->unk34, &sp8, &var_r31->unk34);
|
||||
}
|
||||
}
|
||||
DCFlushRange(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01));
|
||||
|
|
@ -810,7 +810,7 @@ void fn_1_7430(void)
|
|||
void fn_1_74B4(s16 arg0, Mtx arg1)
|
||||
{
|
||||
ModelData *var_r31 = &Hu3DData[arg0];
|
||||
PSMTXCopy(arg1, var_r31->unk_F0);
|
||||
MTXCopy(arg1, var_r31->unk_F0);
|
||||
}
|
||||
|
||||
u32 lbl_1_data_14C = 0x41C64E6D;
|
||||
|
|
@ -884,18 +884,18 @@ void fn_1_77F8(Mtx arg0, float arg8, float arg9, float argA)
|
|||
Mtx sp8;
|
||||
|
||||
if (argA != 0.0f) {
|
||||
PSMTXRotRad(arg0, 0x5A, MTXDegToRad(argA));
|
||||
MTXRotRad(arg0, 0x5A, MTXDegToRad(argA));
|
||||
}
|
||||
else {
|
||||
PSMTXIdentity(arg0);
|
||||
MTXIdentity(arg0);
|
||||
}
|
||||
if (arg8 != 0.0f) {
|
||||
PSMTXRotRad(sp38, 0x58, MTXDegToRad(arg8));
|
||||
PSMTXConcat(sp38, arg0, arg0);
|
||||
MTXRotRad(sp38, 0x58, MTXDegToRad(arg8));
|
||||
MTXConcat(sp38, arg0, arg0);
|
||||
}
|
||||
if (arg9 != 0.0f) {
|
||||
PSMTXRotRad(sp8, 0x59, MTXDegToRad(arg9));
|
||||
PSMTXConcat(sp8, arg0, arg0);
|
||||
MTXRotRad(sp8, 0x59, MTXDegToRad(arg9));
|
||||
MTXConcat(sp8, arg0, arg0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1137,8 +1137,8 @@ void fn_1_939C(float *arg0, float (*arg1)[3], float (*arg2)[3], s32 var_r28)
|
|||
|
||||
arg0[0] = 0.0f;
|
||||
for (var_r30 = 1; var_r30 < var_r28; var_r30++) {
|
||||
PSVECSubtract((Vec *)&arg1[var_r30], (Vec *)&arg1[var_r30 - 1], &sp8);
|
||||
arg0[var_r30] = arg0[var_r30 - 1] + PSVECMag(&sp8);
|
||||
VECSubtract((Vec *)&arg1[var_r30], (Vec *)&arg1[var_r30 - 1], &sp8);
|
||||
arg0[var_r30] = arg0[var_r30 - 1] + VECMag(&sp8);
|
||||
}
|
||||
for (var_r27 = 0; var_r27 < 3; var_r27++) {
|
||||
for (var_r30 = 0; var_r30 < var_r28; var_r30++) {
|
||||
|
|
|
|||
3401
src/REL/m428Dll/player.c
Normal file
3401
src/REL/m428Dll/player.c
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -403,9 +403,9 @@ void fn_1_1D70(s16 arg0, char *arg1, Vec *arg2, Mtx arg3)
|
|||
|
||||
var_r30 = &Hu3DData[arg0];
|
||||
Hu3DModelObjMtxGet(arg0, arg1, spC);
|
||||
PSMTXConcat(var_r30->unk_F0, spC, spC);
|
||||
MTXConcat(var_r30->unk_F0, spC, spC);
|
||||
if (NULL != arg3) {
|
||||
PSMTXCopy(spC, arg3);
|
||||
MTXCopy(spC, arg3);
|
||||
}
|
||||
arg2->x = spC[0][3];
|
||||
arg2->y = spC[1][3];
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@ void ObjectSetup(void)
|
|||
sp8.x = sp8.z = 0.0f;
|
||||
sp8.y = lbl_1_data_18.z;
|
||||
mtxRot(sp20, lbl_1_data_18.x, lbl_1_data_18.y, 0.0f);
|
||||
PSMTXMultVec(sp20, &sp8, &sp8);
|
||||
MTXMultVec(sp20, &sp8, &sp8);
|
||||
Hu3DGLightPosAimSetV(lbl_1_bss_26, &sp8, &sp14);
|
||||
Hu3DShadowPosSet(&sp8, &lbl_1_data_34, &sp14);
|
||||
lbl_1_bss_24 = lbl_1_bss_22 = lbl_1_bss_20 = -1;
|
||||
|
|
|
|||
|
|
@ -278,8 +278,8 @@ void fn_1_BBC4(Process *process)
|
|||
sp14.x = CenterM[0].x + (CZoomM[0] * (sind(CRotM[0].y) * cosd(CRotM[0].x)));
|
||||
sp14.y = CenterM[0].y + (CZoomM[0] * -sind(CRotM[0].x));
|
||||
sp14.z = CenterM[0].z + (CZoomM[0] * (cosd(CRotM[0].y) * cosd(CRotM[0].x)));
|
||||
PSVECSubtract(CenterM, &sp14, &sp8);
|
||||
PSVECNormalize(&sp8, &sp8);
|
||||
VECSubtract(CenterM, &sp14, &sp8);
|
||||
VECNormalize(&sp8, &sp8);
|
||||
HuAudFXListnerSetEX(&sp14, &sp8, 100000.0f, 566.6667f, 0.0f, 300.0f, 300.0f);
|
||||
}
|
||||
|
||||
|
|
@ -296,8 +296,8 @@ void fn_1_BE24(omObjData *object)
|
|||
sp14.x = CenterM[0].x + (CZoomM[0] * (sind(CRotM[0].y) * cosd(CRotM[0].x)));
|
||||
sp14.y = CenterM[0].y + (CZoomM[0] * -sind(CRotM[0].x));
|
||||
sp14.z = CenterM[0].z + (CZoomM[0] * (cosd(CRotM[0].y) * cosd(CRotM[0].x)));
|
||||
PSVECSubtract(CenterM, &sp14, &sp8);
|
||||
PSVECNormalize(&sp8, &sp8);
|
||||
VECSubtract(CenterM, &sp14, &sp8);
|
||||
VECNormalize(&sp8, &sp8);
|
||||
HuAudFXListnerUpdate(&sp14, &sp8);
|
||||
}
|
||||
|
||||
|
|
@ -1619,7 +1619,7 @@ void fn_1_10948(ModelData *var_r29, Mtx var_r30)
|
|||
Mtx sp8;
|
||||
M430PlayerBss170Struct *var_r31 = var_r29->unk_120;
|
||||
GXLoadPosMtxImm(var_r30, 0);
|
||||
PSMTXInvXpose(var_r30, sp8);
|
||||
MTXInvXpose(var_r30, sp8);
|
||||
GXLoadNrmMtxImm(sp8, 0);
|
||||
GXSetNumTevStages(1);
|
||||
GXSetNumTexGens(1);
|
||||
|
|
|
|||
|
|
@ -202,10 +202,13 @@ void fn_1_4CB4(omObjData *object)
|
|||
|
||||
u32 spC[1] = { DATA_MAKE_NUM(DATADIR_M430, 0x01) };
|
||||
s32 sp8[1];
|
||||
u32 sp90[4] = { DATA_MAKE_NUM(DATADIR_M430, 0x0B), DATA_MAKE_NUM(DATADIR_M430, 0x0C), DATA_MAKE_NUM(DATADIR_M430, 0x0D), DATA_MAKE_NUM(DATADIR_M430, 0x0E) };
|
||||
u32 sp80[4] = { DATA_MAKE_NUM(DATADIR_M430, 0x02), DATA_MAKE_NUM(DATADIR_M430, 0x02), DATA_MAKE_NUM(DATADIR_M430, 0x03), DATA_MAKE_NUM(DATADIR_M430, 0x03) };
|
||||
u32 sp90[4] = { DATA_MAKE_NUM(DATADIR_M430, 0x0B), DATA_MAKE_NUM(DATADIR_M430, 0x0C), DATA_MAKE_NUM(DATADIR_M430, 0x0D),
|
||||
DATA_MAKE_NUM(DATADIR_M430, 0x0E) };
|
||||
u32 sp80[4] = { DATA_MAKE_NUM(DATADIR_M430, 0x02), DATA_MAKE_NUM(DATADIR_M430, 0x02), DATA_MAKE_NUM(DATADIR_M430, 0x03),
|
||||
DATA_MAKE_NUM(DATADIR_M430, 0x03) };
|
||||
u32 sp70[4] = { DATA_MAKE_NUM(DATADIR_M430, 0x04), DATA_MAKE_NUM(DATADIR_M430, 0x04), 0, 0 };
|
||||
u32 sp60[4] = { DATA_MAKE_NUM(DATADIR_M430, 0x06), DATA_MAKE_NUM(DATADIR_M430, 0x07), DATA_MAKE_NUM(DATADIR_M430, 0x08), DATA_MAKE_NUM(DATADIR_M430, 0x09) };
|
||||
u32 sp60[4] = { DATA_MAKE_NUM(DATADIR_M430, 0x06), DATA_MAKE_NUM(DATADIR_M430, 0x07), DATA_MAKE_NUM(DATADIR_M430, 0x08),
|
||||
DATA_MAKE_NUM(DATADIR_M430, 0x09) };
|
||||
s32 sp50[4];
|
||||
s32 sp40[4];
|
||||
s32 sp30[4];
|
||||
|
|
@ -481,10 +484,10 @@ void fn_1_6180(M430DllWork *work)
|
|||
sp28.x = sp1C.x;
|
||||
sp28.y = 0.0f;
|
||||
sp28.z = sp1C.z - 450000.0f;
|
||||
PSVECSubtract(&sp28, &sp1C, &sp10);
|
||||
PSVECNormalize(&sp10, &sp10);
|
||||
PSVECScale(&sp10, &sp10, 6000.0f);
|
||||
PSVECAdd(&sp1C, &sp10, &sp28);
|
||||
VECSubtract(&sp28, &sp1C, &sp10);
|
||||
VECNormalize(&sp10, &sp10);
|
||||
VECScale(&sp10, &sp10, 6000.0f);
|
||||
VECAdd(&sp1C, &sp10, &sp28);
|
||||
Hu3DModelPosSetV(work->unk_18, &sp28);
|
||||
if ((fn_1_4070() >= 2) && (fn_1_4030() != 0)) {
|
||||
if ((lbl_1_bss_40 != 0) && (lbl_1_bss_48 >= work->unk_04.x)) {
|
||||
|
|
@ -494,10 +497,10 @@ void fn_1_6180(M430DllWork *work)
|
|||
sp28.x = 0.0f;
|
||||
sp28.y = 0.0f;
|
||||
sp28.z = work->unk_20 - fn_1_7FBC(work->unk_00);
|
||||
PSVECSubtract(&sp28, &sp1C, &sp10);
|
||||
PSVECNormalize(&sp10, &sp10);
|
||||
PSVECScale(&sp10, &sp10, 5000.0f);
|
||||
PSVECAdd(&sp1C, &sp10, &sp28);
|
||||
VECSubtract(&sp28, &sp1C, &sp10);
|
||||
VECNormalize(&sp10, &sp10);
|
||||
VECScale(&sp10, &sp10, 5000.0f);
|
||||
VECAdd(&sp1C, &sp10, &sp28);
|
||||
sp28.y += 237.5f;
|
||||
Hu3DModelPosSet(work->unk_1A, 0.0f, 593.75f, work->unk_20);
|
||||
var_r30 = ((ParticleData *)Hu3DData[work->unk_1A].unk_120)->unk_48;
|
||||
|
|
@ -742,8 +745,8 @@ void fn_1_732C(omObjData *object, M430DllUnkStruct2 *arg1)
|
|||
var_r29 = 1;
|
||||
}
|
||||
else {
|
||||
PSVECSubtract(&arg1->unk_18, &arg1->unk_0C, &sp8);
|
||||
var_f31 = PSVECMag(&sp8);
|
||||
VECSubtract(&arg1->unk_18, &arg1->unk_0C, &sp8);
|
||||
var_f31 = VECMag(&sp8);
|
||||
if (var_f31 < 50.0f) {
|
||||
var_r29 = 1;
|
||||
}
|
||||
|
|
@ -758,7 +761,7 @@ void fn_1_732C(omObjData *object, M430DllUnkStruct2 *arg1)
|
|||
arg1->unk_38 = 200.0f + frandmod(0x258);
|
||||
arg1->unk_28 = 400.0f;
|
||||
}
|
||||
PSVECSubtract(&arg1->unk_18, &arg1->unk_0C, &sp8);
|
||||
VECSubtract(&arg1->unk_18, &arg1->unk_0C, &sp8);
|
||||
arg1->unk_30 = atan2d(sp8.x, sp8.z);
|
||||
arg1->unk_2C = fn_1_48B0(arg1->unk_2C, arg1->unk_30, 0.08f);
|
||||
arg1->unk_28 += 0.05f * (300.0f - arg1->unk_28);
|
||||
|
|
@ -822,7 +825,7 @@ void fn_1_7848(omObjData *object)
|
|||
var_r31->unk_08.x = var_f31 * sind(var_f30);
|
||||
var_r31->unk_08.y = 0.0f;
|
||||
var_r31->unk_08.z = var_f31 * cosd(var_f30);
|
||||
PSVECAdd(&var_r31->unk_14, &var_r31->unk_08, &var_r31->unk_08);
|
||||
VECAdd(&var_r31->unk_14, &var_r31->unk_08, &var_r31->unk_08);
|
||||
var_r31->unk_38 = 60.0f - (0.13483146f * var_f31);
|
||||
var_r31->unk_28 = frandmod(0x168);
|
||||
if (frandmod(0x3E8) < 0x1F4) {
|
||||
|
|
@ -857,7 +860,7 @@ void fn_1_7CAC(omObjData *object)
|
|||
if (fn_1_4070() >= 4) {
|
||||
for (var_r29 = 0; var_r29 < var_r28; var_r29++, work++) {
|
||||
sp8 = 0;
|
||||
PSVECSubtract(&work->unk_14, &work->unk_08, &spC);
|
||||
VECSubtract(&work->unk_14, &work->unk_08, &spC);
|
||||
work->unk_2C = atan2d(spC.x, spC.z);
|
||||
work->unk_28 = fn_1_48B0(work->unk_28, work->unk_2C + work->unk_3C, 0.08f);
|
||||
work->unk_24 += (0.05f * (600.0f - work->unk_24));
|
||||
|
|
@ -883,9 +886,9 @@ void fn_1_7EAC(omObjData *object, M430DllWork2 *var_r31)
|
|||
for (var_r30 = 0; var_r30 < var_r28; var_r30++, var_r31++) {
|
||||
Hu3DModelPosSet(var_r31->unk_00, var_r31->unk_08.x, var_r31->unk_08.y, var_r31->unk_08.z + var_f31);
|
||||
var_r29 = &Hu3DData[var_r31->unk_00].unk_F0;
|
||||
PSMTXRotRad(*var_r29, 0x59, 0.017453292f * var_r31->unk_28);
|
||||
PSMTXRotRad(sp8, 0x5A, 0.017453292f * var_r31->unk_38);
|
||||
PSMTXConcat(*var_r29, sp8, *var_r29);
|
||||
MTXRotRad(*var_r29, 0x59, 0.017453292f * var_r31->unk_28);
|
||||
MTXRotRad(sp8, 0x5A, 0.017453292f * var_r31->unk_38);
|
||||
MTXConcat(*var_r29, sp8, *var_r29);
|
||||
Hu3DModelAttrReset(var_r31->unk_00, HU3D_ATTR_DISPOFF);
|
||||
}
|
||||
}
|
||||
|
|
@ -1062,8 +1065,8 @@ void fn_1_86B4(omObjData *object, M430DllBss60Struct *arg1)
|
|||
sp14.z = 2000.0f + arg1->unk_24;
|
||||
if (lbl_1_bss_5C != 0) {
|
||||
for (var_r29 = 0; var_r29 < 0x1B8; var_r29++) {
|
||||
PSVECSubtract(var_r28, &sp14, &sp8);
|
||||
var_f31 = 0.00025f * PSVECMag(&sp8);
|
||||
VECSubtract(var_r28, &sp14, &sp8);
|
||||
var_f31 = 0.00025f * VECMag(&sp8);
|
||||
if (var_f31 < 0.3f) {
|
||||
var_r30->a = -1;
|
||||
}
|
||||
|
|
@ -1080,8 +1083,8 @@ void fn_1_86B4(omObjData *object, M430DllBss60Struct *arg1)
|
|||
}
|
||||
else {
|
||||
for (var_r29 = 0; var_r29 < 0x1B8; var_r29++) {
|
||||
PSVECSubtract(var_r28, &sp14, &sp8);
|
||||
var_f31 = 0.00025f * PSVECMag(&sp8);
|
||||
VECSubtract(var_r28, &sp14, &sp8);
|
||||
var_f31 = 0.00025f * VECMag(&sp8);
|
||||
if (var_f31 < 0.25f) {
|
||||
var_r30->a = -0x1A;
|
||||
}
|
||||
|
|
@ -1105,7 +1108,7 @@ void fn_1_86B4(omObjData *object, M430DllBss60Struct *arg1)
|
|||
var_r29 = (0x14 - var_r23) * 0x16;
|
||||
var_r27 = &arg1->unk_30[0x1B8 - var_r29];
|
||||
while (var_r29-- != 0) {
|
||||
PSVECAdd(var_r28, var_r27, var_r26);
|
||||
VECAdd(var_r28, var_r27, var_r26);
|
||||
var_r28++;
|
||||
var_r27++;
|
||||
var_r26++;
|
||||
|
|
@ -1113,7 +1116,7 @@ void fn_1_86B4(omObjData *object, M430DllBss60Struct *arg1)
|
|||
var_r29 = var_r23 * 0x16;
|
||||
var_r27 = arg1->unk_30;
|
||||
while (var_r29-- != 0) {
|
||||
PSVECAdd(var_r28, var_r27, var_r26);
|
||||
VECAdd(var_r28, var_r27, var_r26);
|
||||
var_r28++;
|
||||
var_r27++;
|
||||
var_r26++;
|
||||
|
|
@ -1186,7 +1189,7 @@ void fn_1_8CE0(ModelData *model, Mtx matrix)
|
|||
}
|
||||
var_r31->unk_10 = 1;
|
||||
fn_1_963C(model, matrix, var_r31->unk_00);
|
||||
PSMTXCopy(matrix, sp134);
|
||||
MTXCopy(matrix, sp134);
|
||||
if (fn_1_4030() != 0) {
|
||||
var_f30 = 1.0f;
|
||||
var_f31 = fn_1_BB54(var_r31->unk_00);
|
||||
|
|
@ -1195,12 +1198,12 @@ void fn_1_8CE0(ModelData *model, Mtx matrix)
|
|||
var_f30 = 1.5f;
|
||||
var_f31 = 0.0f;
|
||||
}
|
||||
PSMTXTrans(sp164, var_f31 - fn_1_BB54(var_r31->unk_00), 0.0f, 0.0f);
|
||||
PSMTXConcat(sp134, sp164, sp134);
|
||||
PSMTXScale(sp194, var_f30, 1.0f, 1.0f);
|
||||
PSMTXConcat(sp134, sp194, sp134);
|
||||
MTXTrans(sp164, var_f31 - fn_1_BB54(var_r31->unk_00), 0.0f, 0.0f);
|
||||
MTXConcat(sp134, sp164, sp134);
|
||||
MTXScale(sp194, var_f30, 1.0f, 1.0f);
|
||||
MTXConcat(sp134, sp194, sp134);
|
||||
GXLoadPosMtxImm(sp134, 0);
|
||||
PSMTXInvXpose(sp134, sp194);
|
||||
MTXInvXpose(sp134, sp194);
|
||||
GXLoadNrmMtxImm(sp194, 0);
|
||||
GXSetNumChans(1);
|
||||
GXSetChanCtrl(GX_COLOR0A0, 0, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE);
|
||||
|
|
@ -1221,25 +1224,25 @@ void fn_1_8CE0(ModelData *model, Mtx matrix)
|
|||
else {
|
||||
C_MTXLightPerspective(sp104, 41.5f, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f);
|
||||
}
|
||||
PSMTXInverse(Hu3DCameraMtx, spD4);
|
||||
PSMTXConcat(spD4, sp134, spD4);
|
||||
PSMTXConcat(sp104, Hu3DCameraMtx, spA4);
|
||||
PSMTXConcat(spA4, spD4, spD4);
|
||||
MTXInverse(Hu3DCameraMtx, spD4);
|
||||
MTXConcat(spD4, sp134, spD4);
|
||||
MTXConcat(sp104, Hu3DCameraMtx, spA4);
|
||||
MTXConcat(spA4, spD4, spD4);
|
||||
GXLoadTexMtxImm(spD4, 0x1E, GX_MTX3x4);
|
||||
GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, 0x1E, GX_FALSE, 0x7D);
|
||||
C_MTXLightPerspective(sp104, 70.0f, 0.5f, 0.5f, -0.5f, 0.5f, 0.5f);
|
||||
PSMTXInverse(Hu3DCameraMtx, sp74);
|
||||
PSMTXConcat(sp74, sp134, sp74);
|
||||
PSMTXConcat(sp104, Hu3DCameraMtx, sp44);
|
||||
PSMTXConcat(sp44, sp74, sp74);
|
||||
MTXInverse(Hu3DCameraMtx, sp74);
|
||||
MTXConcat(sp74, sp134, sp74);
|
||||
MTXConcat(sp104, Hu3DCameraMtx, sp44);
|
||||
MTXConcat(sp44, sp74, sp74);
|
||||
GXLoadTexMtxImm(sp74, 0x24, GX_MTX3x4);
|
||||
GXSetTexCoordGen2(GX_TEXCOORD2, GX_TG_MTX3x4, GX_TG_POS, 0x24, GX_FALSE, 0x7D);
|
||||
PSMTXRotRad(sp164, 0x58, 1.5707964f);
|
||||
MTXRotRad(sp164, 0x58, 1.5707964f);
|
||||
var_f31 = 0.00075f * var_f30;
|
||||
PSMTXScale(sp194, var_f31, -0.003f, 0.00075f);
|
||||
PSMTXConcat(sp164, sp194, sp164);
|
||||
PSMTXTrans(sp194, (var_r31->unk_1C & 0x3FF) / (1024.0f * var_f31), 0.0f, (0.7f * var_r31->unk_28) - (0.3f * var_r31->unk_24));
|
||||
PSMTXConcat(sp164, sp194, sp164);
|
||||
MTXScale(sp194, var_f31, -0.003f, 0.00075f);
|
||||
MTXConcat(sp164, sp194, sp164);
|
||||
MTXTrans(sp194, (var_r31->unk_1C & 0x3FF) / (1024.0f * var_f31), 0.0f, (0.7f * var_r31->unk_28) - (0.3f * var_r31->unk_24));
|
||||
MTXConcat(sp164, sp194, sp164);
|
||||
sp164[0][1] = -0.001f;
|
||||
GXLoadTexMtxImm(sp164, 0x21, GX_MTX2x4);
|
||||
GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX2x4, GX_TG_POS, 0x21, GX_FALSE, 0x7D);
|
||||
|
|
@ -1247,12 +1250,12 @@ void fn_1_8CE0(ModelData *model, Mtx matrix)
|
|||
GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD1, GX_TEXMAP1);
|
||||
GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1);
|
||||
GXSetTevIndWarp(0, 0, GX_TRUE, GX_FALSE, 1);
|
||||
PSMTXScale(sp164, -0.25f, -0.5f, 0.5f);
|
||||
MTXScale(sp164, -0.25f, -0.5f, 0.5f);
|
||||
GXSetIndTexMtx(GX_ITM_0, (float(*)[3])sp164, -4);
|
||||
GXSetIndTexOrder(GX_INDTEXSTAGE1, GX_TEXCOORD1, GX_TEXMAP1);
|
||||
GXSetIndTexCoordScale(GX_INDTEXSTAGE1, GX_ITS_1, GX_ITS_1);
|
||||
GXSetTevIndWarp(1, 1, GX_TRUE, GX_FALSE, 2);
|
||||
PSMTXScale(sp164, 0.4f, 0.5f, 0.5f);
|
||||
MTXScale(sp164, 0.4f, 0.5f, 0.5f);
|
||||
GXSetIndTexMtx(GX_ITM_1, (float(*)[3])sp164, -1);
|
||||
GXSetNumTevStages(2);
|
||||
GXSetTevColor(GX_TEVREG0, sp14);
|
||||
|
|
@ -1320,10 +1323,10 @@ void fn_1_963C(ModelData *model, Mtx matrix, u32 var_r31)
|
|||
var_f30 = 1.5f;
|
||||
var_f31 = 0.0f;
|
||||
}
|
||||
PSMTXTrans(spD0, var_f31, 0.0f, ((lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24) - 2500.0f) - 2000.0f);
|
||||
PSMTXScale(sp100, var_f30, 1.0f, 1.0f);
|
||||
PSMTXConcat(spD0, sp100, spD0);
|
||||
PSMTXConcat(Hu3DCameraMtx, spD0, spA0);
|
||||
MTXTrans(spD0, var_f31, 0.0f, ((lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24) - 2500.0f) - 2000.0f);
|
||||
MTXScale(sp100, var_f30, 1.0f, 1.0f);
|
||||
MTXConcat(spD0, sp100, spD0);
|
||||
MTXConcat(Hu3DCameraMtx, spD0, spA0);
|
||||
GXLoadPosMtxImm(spA0, 0);
|
||||
GXSetNumChans(1);
|
||||
GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE);
|
||||
|
|
@ -1331,26 +1334,26 @@ void fn_1_963C(ModelData *model, Mtx matrix, u32 var_r31)
|
|||
HuSprTexLoad(lbl_1_bss_148, 0, 1, GX_CLAMP, GX_CLAMP, GX_LINEAR);
|
||||
GXSetNumTexGens(2);
|
||||
C_MTXLightPerspective(sp70, 70.0f, 0.5f, 0.5f, -0.5f, 0.5f, 0.5f);
|
||||
PSMTXInverse(Hu3DCameraMtx, sp40);
|
||||
PSMTXConcat(sp40, spA0, sp40);
|
||||
PSMTXConcat(sp70, Hu3DCameraMtx, sp10);
|
||||
PSMTXConcat(sp10, sp40, sp40);
|
||||
MTXInverse(Hu3DCameraMtx, sp40);
|
||||
MTXConcat(sp40, spA0, sp40);
|
||||
MTXConcat(sp70, Hu3DCameraMtx, sp10);
|
||||
MTXConcat(sp10, sp40, sp40);
|
||||
GXLoadTexMtxImm(sp40, 0x21, GX_MTX3x4);
|
||||
GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX3x4, GX_TG_POS, 0x21, GX_FALSE, 0x7D);
|
||||
PSMTXRotRad(spD0, 0x58, 1.5707964f);
|
||||
MTXRotRad(spD0, 0x58, 1.5707964f);
|
||||
var_f31 = 0.00075f * var_f30;
|
||||
PSMTXScale(sp100, var_f31, -0.003f, 0.00075f);
|
||||
PSMTXConcat(spD0, sp100, spD0);
|
||||
PSMTXTrans(sp100, (lbl_1_bss_60[var_r31].unk_1C & 0x3FF) / (1024.0f * var_f31), 0.0f,
|
||||
MTXScale(sp100, var_f31, -0.003f, 0.00075f);
|
||||
MTXConcat(spD0, sp100, spD0);
|
||||
MTXTrans(sp100, (lbl_1_bss_60[var_r31].unk_1C & 0x3FF) / (1024.0f * var_f31), 0.0f,
|
||||
0.3f * (lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24));
|
||||
PSMTXConcat(spD0, sp100, spD0);
|
||||
MTXConcat(spD0, sp100, spD0);
|
||||
GXLoadTexMtxImm(spD0, 0x1E, GX_MTX2x4);
|
||||
GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_POS, 0x1E, GX_FALSE, 0x7D);
|
||||
GXSetNumIndStages(1);
|
||||
GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD0, GX_TEXMAP0);
|
||||
GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1);
|
||||
GXSetTevIndWarp(0, 0, GX_TRUE, GX_FALSE, 1);
|
||||
PSMTXScale(spD0, 0.5f, 0.6f, 0.6f);
|
||||
MTXScale(spD0, 0.5f, 0.6f, 0.6f);
|
||||
GXSetIndTexMtx(GX_ITM_0, (float(*)[3])spD0, -1);
|
||||
GXSetNumTevStages(1);
|
||||
GXSetTevColor(GX_TEVREG0, spC);
|
||||
|
|
@ -1432,18 +1435,18 @@ void fn_1_9C90(ModelData *model, Mtx matrix)
|
|||
sp28.x = sp1C.x;
|
||||
sp28.y = 0.0f;
|
||||
sp28.z = sp1C.z - 450000.0f;
|
||||
PSVECSubtract(&sp28, &sp1C, &sp10);
|
||||
PSVECNormalize(&sp10, &sp10);
|
||||
PSVECScale(&sp10, &sp10, 8000.0f);
|
||||
PSVECAdd(&sp1C, &sp10, &sp28);
|
||||
PSMTXTrans(spF4, sp28.x, sp28.y, sp28.z);
|
||||
VECSubtract(&sp28, &sp1C, &sp10);
|
||||
VECNormalize(&sp10, &sp10);
|
||||
VECScale(&sp10, &sp10, 8000.0f);
|
||||
VECAdd(&sp1C, &sp10, &sp28);
|
||||
MTXTrans(spF4, sp28.x, sp28.y, sp28.z);
|
||||
var_f31 = 1.0f;
|
||||
if (fn_1_4030() == 0) {
|
||||
var_f31 = 1.5f;
|
||||
PSMTXScale(sp124, var_f31, 1.0f, 1.0f);
|
||||
PSMTXConcat(spF4, sp124, spF4);
|
||||
MTXScale(sp124, var_f31, 1.0f, 1.0f);
|
||||
MTXConcat(spF4, sp124, spF4);
|
||||
}
|
||||
PSMTXConcat(Hu3DCameraMtx, spF4, spC4);
|
||||
MTXConcat(Hu3DCameraMtx, spF4, spC4);
|
||||
GXLoadPosMtxImm(spC4, 0);
|
||||
GXSetNumChans(1);
|
||||
GXSetChanCtrl(GX_COLOR0A0, 0, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE);
|
||||
|
|
@ -1451,24 +1454,24 @@ void fn_1_9C90(ModelData *model, Mtx matrix)
|
|||
HuSprTexLoad(lbl_1_bss_148, 0, 1, GX_CLAMP, GX_CLAMP, GX_LINEAR);
|
||||
GXSetNumTexGens(2);
|
||||
C_MTXLightPerspective(sp94, 70.0f, 0.5f, 0.5f, -0.5f, 0.5f, 0.5f);
|
||||
PSMTXInverse(Hu3DCameraMtx, sp64);
|
||||
PSMTXConcat(sp64, spC4, sp64);
|
||||
PSMTXConcat(sp94, Hu3DCameraMtx, sp34);
|
||||
PSMTXConcat(sp34, sp64, sp64);
|
||||
MTXInverse(Hu3DCameraMtx, sp64);
|
||||
MTXConcat(sp64, spC4, sp64);
|
||||
MTXConcat(sp94, Hu3DCameraMtx, sp34);
|
||||
MTXConcat(sp34, sp64, sp64);
|
||||
GXLoadTexMtxImm(sp64, 0x21, GX_MTX3x4);
|
||||
GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX3x4, GX_TG_POS, 0x21, GX_FALSE, 0x7D);
|
||||
var_f30 = 0.00075f * var_f31;
|
||||
PSMTXScale(spF4, var_f30, -0.005f, 0.00075f);
|
||||
PSMTXTrans(sp124, (lbl_1_bss_60[var_r31].unk_1C & 0x3FF) / (1024.0f * var_f30),
|
||||
MTXScale(spF4, var_f30, -0.005f, 0.00075f);
|
||||
MTXTrans(sp124, (lbl_1_bss_60[var_r31].unk_1C & 0x3FF) / (1024.0f * var_f30),
|
||||
0.03f * -(lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24), 0.0f);
|
||||
PSMTXConcat(spF4, sp124, spF4);
|
||||
MTXConcat(spF4, sp124, spF4);
|
||||
GXLoadTexMtxImm(spF4, 0x1E, GX_MTX2x4);
|
||||
GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_POS, 0x1E, GX_FALSE, 0x7D);
|
||||
GXSetNumIndStages(1);
|
||||
GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD0, GX_TEXMAP0);
|
||||
GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1);
|
||||
GXSetTevIndWarp(0, 0, GX_TRUE, GX_FALSE, 1);
|
||||
PSMTXScale(spF4, 0.5f, 0.6f, 0.6f);
|
||||
MTXScale(spF4, 0.5f, 0.6f, 0.6f);
|
||||
GXSetIndTexMtx(GX_ITM_0, (float(*)[3])spF4, -1);
|
||||
GXSetNumTevStages(1);
|
||||
GXSetTevColor(GX_TEVREG0, spC);
|
||||
|
|
@ -1522,37 +1525,37 @@ void fn_1_A3A8(ModelData *model, Mtx matrix)
|
|||
var_f31 = 0.0f;
|
||||
}
|
||||
if (lbl_1_bss_5C != 0) {
|
||||
PSMTXTrans(sp18, var_f31, 0.0f, 300.0f + (lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24));
|
||||
MTXTrans(sp18, var_f31, 0.0f, 300.0f + (lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24));
|
||||
GXSetTevColor(GX_TEVREG0, sp10);
|
||||
}
|
||||
else {
|
||||
PSMTXTrans(sp18, var_f31, -150.0f, lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24);
|
||||
MTXTrans(sp18, var_f31, -150.0f, lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24);
|
||||
GXSetTevColor(GX_TEVREG0, sp14);
|
||||
}
|
||||
PSMTXScale(sp48, var_f30, 1.0f, 1.0f);
|
||||
PSMTXConcat(sp18, sp48, sp18);
|
||||
PSMTXConcat(Hu3DCameraMtx, sp18, sp18);
|
||||
MTXScale(sp48, var_f30, 1.0f, 1.0f);
|
||||
MTXConcat(sp18, sp48, sp18);
|
||||
MTXConcat(Hu3DCameraMtx, sp18, sp18);
|
||||
GXLoadPosMtxImm(sp18, 0);
|
||||
GXSetNumChans(1);
|
||||
GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE);
|
||||
HuSprTexLoad(lbl_1_bss_144, 0, 0, GX_REPEAT, GX_REPEAT, GX_LINEAR);
|
||||
HuSprTexLoad(lbl_1_bss_140, 0, 1, GX_REPEAT, GX_REPEAT, GX_LINEAR);
|
||||
GXSetNumTexGens(2);
|
||||
PSMTXRotRad(sp18, 0x58, 1.5707964f);
|
||||
MTXRotRad(sp18, 0x58, 1.5707964f);
|
||||
var_f31 = 0.004f * var_f30;
|
||||
PSMTXScale(sp48, var_f31, -0.004f, 0.004f);
|
||||
PSMTXConcat(sp18, sp48, sp18);
|
||||
PSMTXTrans(sp48, (lbl_1_bss_60[var_r31].unk_1C & 0x3FF) / (512.0f * var_f31), 0.0f,
|
||||
MTXScale(sp48, var_f31, -0.004f, 0.004f);
|
||||
MTXConcat(sp18, sp48, sp18);
|
||||
MTXTrans(sp48, (lbl_1_bss_60[var_r31].unk_1C & 0x3FF) / (512.0f * var_f31), 0.0f,
|
||||
(1.2499999f * (lbl_1_bss_60[var_r31].unk_1C % 400)) + (lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24));
|
||||
PSMTXConcat(sp18, sp48, sp18);
|
||||
MTXConcat(sp18, sp48, sp18);
|
||||
GXLoadTexMtxImm(sp18, 0x1E, GX_MTX2x4);
|
||||
GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_POS, 0x1E, GX_FALSE, 0x7D);
|
||||
PSMTXRotRad(sp18, 0x58, 1.5707964f);
|
||||
MTXRotRad(sp18, 0x58, 1.5707964f);
|
||||
var_f31 = 0.004f * var_f30;
|
||||
PSMTXScale(sp48, var_f31, -0.004f, 0.004f);
|
||||
PSMTXConcat(sp18, sp48, sp18);
|
||||
PSMTXTrans(sp48, (lbl_1_bss_60[var_r31].unk_1C % 300) / (150.0f * var_f31), 0.0f, lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24);
|
||||
PSMTXConcat(sp18, sp48, sp18);
|
||||
MTXScale(sp48, var_f31, -0.004f, 0.004f);
|
||||
MTXConcat(sp18, sp48, sp18);
|
||||
MTXTrans(sp48, (lbl_1_bss_60[var_r31].unk_1C % 300) / (150.0f * var_f31), 0.0f, lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24);
|
||||
MTXConcat(sp18, sp48, sp18);
|
||||
GXLoadTexMtxImm(sp18, 0x21, GX_MTX2x4);
|
||||
GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX2x4, GX_TG_POS, 0x21, GX_FALSE, 0x7D);
|
||||
GXSetNumTevStages(2);
|
||||
|
|
@ -1635,8 +1638,8 @@ void fn_1_AD04(ModelData *model, ParticleData *particle, Mtx matrix)
|
|||
}
|
||||
for (var_r31 = particle->unk_48, var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) {
|
||||
if (var_r31->unk00_s16 != 0) {
|
||||
PSVECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
|
||||
PSVECScale(&var_r31->unk08, &var_r31->unk08, 0.97f);
|
||||
VECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
|
||||
VECScale(&var_r31->unk08, &var_r31->unk08, 0.97f);
|
||||
if (var_r31->unk00_s16 < 24.0f) {
|
||||
var_r31->unk40.a = 0.9f * var_r31->unk40.a;
|
||||
}
|
||||
|
|
@ -1720,7 +1723,7 @@ void fn_1_B394(ModelData *model, ParticleData *var_r30, Mtx matrix)
|
|||
for (var_r31 = var_r30->unk_48, var_r29 = 0; var_r29 < var_r30->unk_30; var_r29++, var_r31++) {
|
||||
if (var_r31->unk00_s16 != 0) {
|
||||
var_r31->unk00_s16--;
|
||||
PSVECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
|
||||
VECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
|
||||
var_r31->unk2C += 0.5f;
|
||||
if (var_r31->unk00_s16 < 30.0) {
|
||||
var_r31->unk40.a = 0.98f * var_r31->unk40.a;
|
||||
|
|
@ -1760,7 +1763,7 @@ void fn_1_B570(s32 arg0, Vec *arg1, float arg8, float arg9, Vec *arg2)
|
|||
if (!(frandmod(0x3E8) > (1000.0f * arg9))) {
|
||||
var_r27 = 2;
|
||||
var_f28 = 40.0f;
|
||||
PSVECScale(arg2, &sp1C, 0.2f);
|
||||
VECScale(arg2, &sp1C, 0.2f);
|
||||
sp1C.x = 0.0f;
|
||||
for (var_r29 = 0; var_r29 < var_r30->unk_30; var_r29++, var_r31++) {
|
||||
if (var_r31->unk00_s16 == 0) {
|
||||
|
|
@ -1778,7 +1781,7 @@ void fn_1_B570(s32 arg0, Vec *arg1, float arg8, float arg9, Vec *arg2)
|
|||
var_r31->unk08.x = sp28.x * var_f31;
|
||||
var_r31->unk08.z = sp28.z * var_f31;
|
||||
var_r31->unk08.y = 0.0f;
|
||||
PSVECAdd(&var_r31->unk08, &sp1C, &var_r31->unk08);
|
||||
VECAdd(&var_r31->unk08, &sp1C, &var_r31->unk08);
|
||||
var_f31 = 0.001f * frandmod(0x3E8);
|
||||
var_f31 += (1.0f - var_f31) * (0.3f * arg9);
|
||||
var_r31->unk30 = frandmod(0x168);
|
||||
|
|
|
|||
|
|
@ -1274,7 +1274,7 @@ void fn_1_4028(Work2110 *arg0)
|
|||
temp_r31->unk18++;
|
||||
temp_f31 = temp_r31->unk18 / (VERSION_NTSC ? 54.0f : 45.0f);
|
||||
if (temp_f31 >= 1.0f) {
|
||||
temp_r31->unk18 = VERSION_NTSC ? 54 : 45;
|
||||
temp_r31->unk18 = VERSION_NTSC ? 54 : 45;
|
||||
temp_f31 = 1.0f;
|
||||
}
|
||||
temp_f31 = cosd(temp_f31 * 90.0f);
|
||||
|
|
|
|||
|
|
@ -395,12 +395,12 @@ void fn_1_227C(Vec *arg0, Vec *arg1)
|
|||
{
|
||||
Vec sp10;
|
||||
|
||||
PSVECSubtract(arg1, arg0, &sp10);
|
||||
VECSubtract(arg1, arg0, &sp10);
|
||||
Center = *arg1;
|
||||
CRot.x = atan2d(sp10.y, sqrtf((sp10.x * sp10.x) + (sp10.z * sp10.z)));
|
||||
CRot.y = atan2d(-sp10.x, -sp10.z);
|
||||
CRot.z = 0.0f;
|
||||
CZoom = PSVECMag(&sp10);
|
||||
CZoom = VECMag(&sp10);
|
||||
}
|
||||
|
||||
void fn_1_2484(float arg8, float arg9, float argA, float argB, float argC, float argD)
|
||||
|
|
|
|||
|
|
@ -779,18 +779,18 @@ void fn_1_541C(Mtx arg0, float arg8, float arg9, float argA)
|
|||
Mtx sp8;
|
||||
|
||||
if (argA != 0.0f) {
|
||||
PSMTXRotRad(arg0, 0x5A, MTXDegToRad(argA));
|
||||
MTXRotRad(arg0, 0x5A, MTXDegToRad(argA));
|
||||
}
|
||||
else {
|
||||
PSMTXIdentity(arg0);
|
||||
MTXIdentity(arg0);
|
||||
}
|
||||
if (arg8 != 0.0f) {
|
||||
PSMTXRotRad(sp38, 0x58, MTXDegToRad(arg8));
|
||||
PSMTXConcat(sp38, arg0, arg0);
|
||||
MTXRotRad(sp38, 0x58, MTXDegToRad(arg8));
|
||||
MTXConcat(sp38, arg0, arg0);
|
||||
}
|
||||
if (arg9 != 0.0f) {
|
||||
PSMTXRotRad(sp8, 0x59, MTXDegToRad(arg9));
|
||||
PSMTXConcat(sp8, arg0, arg0);
|
||||
MTXRotRad(sp8, 0x59, MTXDegToRad(arg9));
|
||||
MTXConcat(sp8, arg0, arg0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -629,7 +629,7 @@ void fn_1_60C0(omObjData *object)
|
|||
if (work->unk_04 >= 0) {
|
||||
HuAudFXPlay(lbl_1_data_150[work->unk_04][0]);
|
||||
}
|
||||
PSVECSubtract(&var_r28->unk_128, &work->unk_128, &spC);
|
||||
VECSubtract(&var_r28->unk_128, &work->unk_128, &spC);
|
||||
work->unk_A8 = atan2d(spC.x, spC.z);
|
||||
work->unk_AC = 0.15f;
|
||||
work->unk_B0 = 0.0f;
|
||||
|
|
@ -686,7 +686,7 @@ void fn_1_60C0(omObjData *object)
|
|||
}
|
||||
break;
|
||||
}
|
||||
PSVECAdd(&work->unk_128, &work->unk_134, &work->unk_128);
|
||||
VECAdd(&work->unk_128, &work->unk_134, &work->unk_128);
|
||||
if (fn_1_10ECC(work->unk_14) >= 2) {
|
||||
fn_1_B194(object);
|
||||
}
|
||||
|
|
@ -716,7 +716,7 @@ void fn_1_682C(omObjData *object)
|
|||
Vec sp40[2] = { { 130.0f, 0.0f, -50.0f }, { 250.0f, 0.0f, 50.0f } };
|
||||
Vec sp28[2] = { { 150.0f, 0.0f, 100.0f }, { 300.0f, 0.0f, -100.0f } };
|
||||
var_r27 = work->unk_14C->data;
|
||||
PSVECAdd(&work->unk_128, &work->unk_134, &work->unk_128);
|
||||
VECAdd(&work->unk_128, &work->unk_134, &work->unk_128);
|
||||
fn_1_B194(object);
|
||||
fn_1_722C(object);
|
||||
switch (work->unk_74) {
|
||||
|
|
@ -782,15 +782,15 @@ void fn_1_682C(omObjData *object)
|
|||
break;
|
||||
case 1:
|
||||
if (work->unk_84 == 1) {
|
||||
PSVECSubtract(&work->unk_140, &work->unk_128, &sp10);
|
||||
VECSubtract(&work->unk_140, &work->unk_128, &sp10);
|
||||
sp10.y = 0.0f;
|
||||
var_f31 = PSVECMag(&sp10);
|
||||
var_f31 = VECMag(&sp10);
|
||||
if (var_f31 < 20.0f) {
|
||||
var_f31 = 0.01f;
|
||||
work->unk_84++;
|
||||
}
|
||||
else {
|
||||
if (PSVECMag(&sp10) >= 100.0f) {
|
||||
if (VECMag(&sp10) >= 100.0f) {
|
||||
var_f31 = 100.0f;
|
||||
}
|
||||
var_f31 = 0.2f + (0.008f * var_f31);
|
||||
|
|
@ -826,14 +826,14 @@ void fn_1_682C(omObjData *object)
|
|||
}
|
||||
break;
|
||||
case 2:
|
||||
PSVECSubtract(&work->unk_140, &work->unk_128, &sp10);
|
||||
VECSubtract(&work->unk_140, &work->unk_128, &sp10);
|
||||
sp10.y = 0.0f;
|
||||
var_f31 = PSVECMag(&sp10);
|
||||
var_f31 = VECMag(&sp10);
|
||||
if (var_f31 < 10.0f) {
|
||||
var_f31 = 0.01f;
|
||||
}
|
||||
else {
|
||||
if (PSVECMag(&sp10) >= 100.0f) {
|
||||
if (VECMag(&sp10) >= 100.0f) {
|
||||
var_f31 = 100.0f;
|
||||
}
|
||||
var_f31 = 0.2f + (0.008f * var_f31);
|
||||
|
|
@ -875,7 +875,7 @@ void fn_1_682C(omObjData *object)
|
|||
sp1C.x = Center.x + (CZoom * (sind(CRot.y) * cosd(CRot.x)));
|
||||
sp1C.y = Center.y + (CZoom * -sind(CRot.x));
|
||||
sp1C.z = Center.z + (CZoom * (cosd(CRot.y) * cosd(CRot.x)));
|
||||
PSVECSubtract(&sp1C, &work->unk_128, &sp10);
|
||||
VECSubtract(&sp1C, &work->unk_128, &sp10);
|
||||
work->unk_A8 = atan2d(sp10.x, sp10.z);
|
||||
}
|
||||
if (fn_1_B6E0(object) != 0) {
|
||||
|
|
@ -1060,10 +1060,10 @@ void fn_1_74D4(omObjData *object)
|
|||
}
|
||||
}
|
||||
if ((work->unk_14 == fn_1_107B0(&sp1C)) && (fn_1_10900() >= (60.0f * (0.8f - (0.4f * work->unk_C0)))) && (work->unk_6C != 0)) {
|
||||
PSVECSubtract(&sp1C, &work->unk_128, &sp10);
|
||||
VECSubtract(&sp1C, &work->unk_128, &sp10);
|
||||
sp10.y = 0.0f;
|
||||
var_f31 = PSVECMag(&sp10);
|
||||
if (PSVECMag(&sp10) >= 20.0f) {
|
||||
var_f31 = VECMag(&sp10);
|
||||
if (VECMag(&sp10) >= 20.0f) {
|
||||
if (var_f31 >= 50.0f) {
|
||||
var_f31 = 50.0f;
|
||||
}
|
||||
|
|
@ -1076,9 +1076,9 @@ void fn_1_74D4(omObjData *object)
|
|||
var_r29 = 0;
|
||||
}
|
||||
if (work->unk_F8 != 0) {
|
||||
PSVECSubtract(&work->unk_108, &work->unk_128, &sp10);
|
||||
VECSubtract(&work->unk_108, &work->unk_128, &sp10);
|
||||
sp10.y = 0.0f;
|
||||
var_f31 = PSVECMag(&sp10);
|
||||
var_f31 = VECMag(&sp10);
|
||||
if (var_f31 >= 10.0f) {
|
||||
if (var_f31 >= 50.0f) {
|
||||
var_f31 = 50.0f;
|
||||
|
|
@ -1096,9 +1096,9 @@ void fn_1_74D4(omObjData *object)
|
|||
var_r29 = 0;
|
||||
}
|
||||
if (var_r29 != 0) {
|
||||
PSVECSubtract(&work->unk_FC, &work->unk_128, &sp10);
|
||||
VECSubtract(&work->unk_FC, &work->unk_128, &sp10);
|
||||
sp10.y = 0.0f;
|
||||
var_f31 = PSVECMag(&sp10);
|
||||
var_f31 = VECMag(&sp10);
|
||||
var_f31 -= 100.0f * (1.25f * (2.0f - work->unk_C0));
|
||||
if (var_f31 >= 10.0f) {
|
||||
if (var_f31 >= 70.0f) {
|
||||
|
|
@ -1121,9 +1121,9 @@ void fn_1_74D4(omObjData *object)
|
|||
if (work->unk_14 == fn_1_10740(&sp1C)) {
|
||||
if (work->unk_68 == 0) {
|
||||
if (fn_1_11004(work->unk_14, work->unk_18) != 0) {
|
||||
PSVECSubtract(&sp1C, &work->unk_128, &sp10);
|
||||
VECSubtract(&sp1C, &work->unk_128, &sp10);
|
||||
sp10.y = 0.0f;
|
||||
var_f31 = PSVECMag(&sp10);
|
||||
var_f31 = VECMag(&sp10);
|
||||
if (var_f31 >= 30.000002f) {
|
||||
if (var_f31 >= 70.0f) {
|
||||
var_f31 = 70.0f;
|
||||
|
|
@ -1159,9 +1159,9 @@ void fn_1_74D4(omObjData *object)
|
|||
else {
|
||||
if (fn_1_10614(&sp1C) != 0) {
|
||||
if (work->unk_E8 != 0) {
|
||||
PSVECSubtract(&work->unk_114, &sp1C, &sp10);
|
||||
VECSubtract(&work->unk_114, &sp1C, &sp10);
|
||||
sp10.y = 0.0f;
|
||||
var_f31 = PSVECMag(&sp10);
|
||||
var_f31 = VECMag(&sp10);
|
||||
if (var_f31 < 0.05f) {
|
||||
work->unk_DC = 0.0f;
|
||||
work->unk_E0 = 0.0f;
|
||||
|
|
@ -1219,12 +1219,12 @@ void fn_1_8408(omObjData *object)
|
|||
if ((work->unk_14 == fn_1_107B0(&sp14)) && (fn_1_108C4() >= 12.0f)) {
|
||||
if (((var_r30->unk_6C == 0) && (work->unk_6C == 0)) || (fn_1_108C4() < 0x3E8)) {
|
||||
if ((work->unk_30 == 0) || (var_r30->unk_30 == 0)) {
|
||||
PSVECSubtract(&sp14, &work->unk_128, &sp8);
|
||||
VECSubtract(&sp14, &work->unk_128, &sp8);
|
||||
sp8.y = 0.0f;
|
||||
var_f31 = PSVECMag(&sp8) - (100.0f * (2.0f * work->unk_C0));
|
||||
PSVECSubtract(&sp14, &var_r30->unk_128, &sp8);
|
||||
var_f31 = VECMag(&sp8) - (100.0f * (2.0f * work->unk_C0));
|
||||
VECSubtract(&sp14, &var_r30->unk_128, &sp8);
|
||||
sp8.y = 0.0f;
|
||||
var_f30 = PSVECMag(&sp8) - (100.0f * (2.0f * var_r30->unk_C0));
|
||||
var_f30 = VECMag(&sp8) - (100.0f * (2.0f * var_r30->unk_C0));
|
||||
if ((work->unk_30 != 0) || (work->unk_60 != 0)) {
|
||||
var_f31 = 2000.0f;
|
||||
}
|
||||
|
|
@ -1333,10 +1333,10 @@ s32 fn_1_8938(u32 var_r27, Vec *var_r29)
|
|||
for (var_r30 = 0; var_r30 <= 0xA; var_r30++) {
|
||||
sp14.x = 230.0f;
|
||||
for (var_r31 = 0; var_r31 <= 0xA; var_r31++) {
|
||||
PSVECSubtract(&sp14, &sp2C[0], &sp20);
|
||||
var_f31 = PSVECMag(&sp20);
|
||||
PSVECSubtract(&sp14, &sp2C[1], &sp20);
|
||||
var_f31 *= PSVECMag(&sp20);
|
||||
VECSubtract(&sp14, &sp2C[0], &sp20);
|
||||
var_f31 = VECMag(&sp20);
|
||||
VECSubtract(&sp14, &sp2C[1], &sp20);
|
||||
var_f31 *= VECMag(&sp20);
|
||||
if (var_f31 > var_f30) {
|
||||
var_f30 = var_f31;
|
||||
sp8 = sp14;
|
||||
|
|
@ -1415,7 +1415,7 @@ void fn_1_8BD0(omObjData *object)
|
|||
}
|
||||
if ((var_r29 != 0) && (work->unk_24 == 0.0f)) {
|
||||
fn_1_10B20(0.0f, &sp14);
|
||||
PSVECSubtract(&sp14, &work->unk_128, &sp8);
|
||||
VECSubtract(&sp14, &work->unk_128, &sp8);
|
||||
work->unk_A8 = atan2d(sp8.x, sp8.z);
|
||||
work->unk_AC = 0.1f;
|
||||
work->unk_B0 = 0.0f;
|
||||
|
|
@ -1569,9 +1569,9 @@ void fn_1_9688(omObjData *object)
|
|||
work->unk_140 = sp2C;
|
||||
var_f31 = fn_1_10848();
|
||||
if ((var_f31 <= 0.8f) && (var_f31 >= 0.02f) && (var_r29->unk_64 == 0)) {
|
||||
PSVECSubtract(&sp2C, &work->unk_128, &sp20);
|
||||
VECSubtract(&sp2C, &work->unk_128, &sp20);
|
||||
sp20.y = 0.0f;
|
||||
var_f30 = PSVECMag(&sp20);
|
||||
var_f30 = VECMag(&sp20);
|
||||
work->unk_98 = var_f30;
|
||||
if (var_f30 <= 200.0f) {
|
||||
if ((var_f31 >= 0.2f) && (var_f30 <= 70.0f) && (var_f31 >= (0.2f + (0.001f * var_f30))) && (fn_1_10FDC() >= 1)) {
|
||||
|
|
@ -1626,7 +1626,7 @@ void fn_1_9688(omObjData *object)
|
|||
}
|
||||
work->unk_90 = 60.0f * var_f31;
|
||||
}
|
||||
PSVECSubtract(&sp2C, &work->unk_128, &sp20);
|
||||
VECSubtract(&sp2C, &work->unk_128, &sp20);
|
||||
work->unk_A8 = atan2d(sp20.x, sp20.z);
|
||||
work->unk_AC = 0.2f;
|
||||
work->unk_B0 = 0.0f;
|
||||
|
|
@ -1664,7 +1664,7 @@ void fn_1_9688(omObjData *object)
|
|||
}
|
||||
work->unk_64 = 0;
|
||||
fn_1_B4D4(object, 9);
|
||||
PSVECSubtract(&sp2C, &work->unk_128, &sp20);
|
||||
VECSubtract(&sp2C, &work->unk_128, &sp20);
|
||||
work->unk_A8 = atan2d(sp20.x, sp20.z);
|
||||
work->unk_AC = 0.1f;
|
||||
work->unk_90 = 0x186A0;
|
||||
|
|
@ -1727,7 +1727,7 @@ void fn_1_9688(omObjData *object)
|
|||
}
|
||||
work->unk_64 = 0;
|
||||
fn_1_B4D4(object, 6);
|
||||
PSVECSubtract(&sp2C, &work->unk_128, &sp20);
|
||||
VECSubtract(&sp2C, &work->unk_128, &sp20);
|
||||
work->unk_A8 = atan2d(sp20.x, sp20.z);
|
||||
work->unk_AC = 0.1f;
|
||||
work->unk_90 = 0x186A0;
|
||||
|
|
@ -1756,7 +1756,7 @@ void fn_1_9688(omObjData *object)
|
|||
if (work->unk_64 != 0) {
|
||||
sp2C = work->unk_128;
|
||||
sp2C.y = 11.0f;
|
||||
PSVECSubtract(&var_r29->unk_128, &work->unk_128, &sp20);
|
||||
VECSubtract(&var_r29->unk_128, &work->unk_128, &sp20);
|
||||
var_f29 = 180.0 + (atan2d(sp20.x, sp20.z));
|
||||
var_f29 += frandmod(0xB4) - 90.0f;
|
||||
var_f30 = 200.0f * work->unk_98;
|
||||
|
|
@ -1817,14 +1817,14 @@ void fn_1_A618(omObjData *object)
|
|||
case 0:
|
||||
if ((work->unk_7C == 0) && (work->unk_78 == 0) && (work->unk_80 == 0) && (work->unk_30 = 0, work->unk_68 = 0, ((work->unk_34 == 0) != 0))
|
||||
&& (fn_1_11004(work->unk_14, work->unk_18) != 0) && (fn_1_10FDC() < 3) && (work->unk_14 == fn_1_10740(&sp20))) {
|
||||
PSVECSubtract(&sp20, &work->unk_128, &sp14);
|
||||
VECSubtract(&sp20, &work->unk_128, &sp14);
|
||||
sp14.y = 0.0f;
|
||||
if (!(PSVECMag(&sp14) > 500.0f)) {
|
||||
if (!(VECMag(&sp14) > 500.0f)) {
|
||||
fn_1_10B20(0.5f, &sp20);
|
||||
sp20.y -= lbl_1_data_E0[work->unk_00];
|
||||
PSVECSubtract(&sp20, &work->unk_128, &sp14);
|
||||
VECSubtract(&sp20, &work->unk_128, &sp14);
|
||||
sp14.y = 0.0f;
|
||||
if ((PSVECMag(&sp14) < 200.0f) && (sp20.y >= 50.0f)) {
|
||||
if ((VECMag(&sp14) < 200.0f) && (sp20.y >= 50.0f)) {
|
||||
work->unk_5C = 1;
|
||||
}
|
||||
if (((work->unk_1C & 0x200) != 0) && (work->unk_5C != 0)) {
|
||||
|
|
@ -1837,7 +1837,7 @@ void fn_1_A618(omObjData *object)
|
|||
var_f30 = 0.5f;
|
||||
work->unk_124 = (2.0f * -sp20.y) / (var_f30 * var_f30);
|
||||
work->unk_134.y = 0.016666668f * (-work->unk_124 * var_f30);
|
||||
PSVECSubtract(&sp20, &work->unk_128, &sp14);
|
||||
VECSubtract(&sp20, &work->unk_128, &sp14);
|
||||
sp14.y = 0.0f;
|
||||
work->unk_134.x = 0.016666668f * (sp14.x / 0.5f);
|
||||
work->unk_134.z = 0.016666668f * (sp14.z / 0.5f);
|
||||
|
|
@ -1967,8 +1967,8 @@ void fn_1_AB88(omObjData *object)
|
|||
fn_1_10B20(0.0f, &sp1C);
|
||||
if ((sp1C.x * work->unk_128.x) > 0.0f) {
|
||||
sp1C.y = work->unk_128.y;
|
||||
PSVECSubtract(&sp1C, &work->unk_128, &sp10);
|
||||
if (PSVECMag(&sp10) < 60.000004f) {
|
||||
VECSubtract(&sp1C, &work->unk_128, &sp10);
|
||||
if (VECMag(&sp10) < 60.000004f) {
|
||||
if (frandmod(0x64) < 0x1E) {
|
||||
fn_1_10740(&sp1C);
|
||||
sp1C.x *= -0.5f;
|
||||
|
|
@ -2016,9 +2016,9 @@ void fn_1_B194(omObjData *object)
|
|||
for (var_r28 = 0; var_r28 < 4; var_r28++) {
|
||||
if (var_r29 != var_r28) {
|
||||
var_r30 = lbl_1_bss_7D0[var_r28]->data;
|
||||
PSVECSubtract(&var_r31->unk_128, &var_r30->unk_128, &sp8);
|
||||
VECSubtract(&var_r31->unk_128, &var_r30->unk_128, &sp8);
|
||||
sp8.y = 0.0f;
|
||||
var_f31 = PSVECMag(&sp8);
|
||||
var_f31 = VECMag(&sp8);
|
||||
if (var_f31 < (var_r31->unk_120 + var_r30->unk_120)) {
|
||||
if (var_f31 > 0.0f) {
|
||||
var_f31 = 0.5f * ((var_r31->unk_120 + var_r30->unk_120) - var_f31);
|
||||
|
|
@ -2028,10 +2028,10 @@ void fn_1_B194(omObjData *object)
|
|||
sp8.x = frandmod(0x3E8) - 0x1F4;
|
||||
sp8.z = frandmod(0x3E8) - 0x1F4;
|
||||
}
|
||||
PSVECNormalize(&sp8, &sp8);
|
||||
PSVECScale(&sp8, &sp8, var_f31);
|
||||
PSVECAdd(&var_r31->unk_128, &sp8, &var_r31->unk_128);
|
||||
PSVECSubtract(&var_r30->unk_128, &sp8, &var_r30->unk_128);
|
||||
VECNormalize(&sp8, &sp8);
|
||||
VECScale(&sp8, &sp8, var_f31);
|
||||
VECAdd(&var_r31->unk_128, &sp8, &var_r31->unk_128);
|
||||
VECSubtract(&var_r30->unk_128, &sp8, &var_r30->unk_128);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2199,7 +2199,7 @@ void fn_1_BD48(omObjData *object)
|
|||
work->unk_B8 = 0.0f;
|
||||
work->unk_BC.x = work->unk_BC.y = 0.0f;
|
||||
work->unk_BC.z = 1.0f;
|
||||
PSMTXIdentity(work->unk_C8);
|
||||
MTXIdentity(work->unk_C8);
|
||||
work->unk_18 = 0;
|
||||
object->func = fn_1_C240;
|
||||
}
|
||||
|
|
@ -2219,7 +2219,7 @@ void fn_1_C240(omObjData *object)
|
|||
work->unk_B8 = 0.0f;
|
||||
work->unk_BC.x = work->unk_BC.y = 0.0f;
|
||||
work->unk_BC.z = 1.0f;
|
||||
PSMTXIdentity(work->unk_C8);
|
||||
MTXIdentity(work->unk_C8);
|
||||
work->unk_00 = 1;
|
||||
break;
|
||||
case 10:
|
||||
|
|
@ -2296,14 +2296,14 @@ s32 fn_1_C6B0(omObjData *object)
|
|||
fn_1_D338(&work->unk_F8);
|
||||
fn_1_D180(&work->unk_F8);
|
||||
work->unk_B8 = work->unk_A8 * (8.0f * lbl_1_data_48C[work->unk_6C]);
|
||||
PSVECSubtract(&work->unk_3C, &work->unk_30, &sp8);
|
||||
VECSubtract(&work->unk_3C, &work->unk_30, &sp8);
|
||||
sp8.y = 0.0f;
|
||||
if (PSVECMag(&sp8) <= 0.0f) {
|
||||
if (VECMag(&sp8) <= 0.0f) {
|
||||
work->unk_BC.x = work->unk_BC.y = 0.0f;
|
||||
work->unk_BC.z = 1.0f;
|
||||
}
|
||||
else {
|
||||
PSVECNormalize(&sp8, &sp8);
|
||||
VECNormalize(&sp8, &sp8);
|
||||
work->unk_BC.x = -sp8.z;
|
||||
work->unk_BC.y = 0.0f;
|
||||
work->unk_BC.z = sp8.x;
|
||||
|
|
@ -2324,9 +2324,9 @@ s32 fn_1_C6B0(omObjData *object)
|
|||
}
|
||||
work->unk_10 = 1;
|
||||
if (work->unk_B8 != 0.0f) {
|
||||
PSMTXRotAxisRad(sp14, &work->unk_BC, 0.017453292f * work->unk_B8);
|
||||
PSMTXConcat(sp14, work->unk_C8, work->unk_C8);
|
||||
PSMTXCopy(work->unk_C8, Hu3DData[object->model[0]].unk_F0);
|
||||
MTXRotAxisRad(sp14, &work->unk_BC, 0.017453292f * work->unk_B8);
|
||||
MTXConcat(sp14, work->unk_C8, work->unk_C8);
|
||||
MTXCopy(work->unk_C8, Hu3DData[object->model[0]].unk_F0);
|
||||
}
|
||||
work->unk_48 += 0.016666668f;
|
||||
work->unk_08 = fn_1_D4E0(&work->unk_F8, &work->unk_30, &work->unk_4C, work->unk_48);
|
||||
|
|
@ -2389,15 +2389,15 @@ void fn_1_CB98(omObjData *object)
|
|||
var_f31 = 0.0f;
|
||||
}
|
||||
var_f31 = (var_f30 - var_f31) / 21.0f;
|
||||
PSMTXCopy(work->unk_C8, sp20);
|
||||
MTXCopy(work->unk_C8, sp20);
|
||||
var_f28 = (work->unk_B8 * (1.2f * work->unk_A8)) / 21.0f;
|
||||
PSMTXRotAxisRad(sp50, &work->unk_BC, MTXDegToRad(-var_f28));
|
||||
MTXRotAxisRad(sp50, &work->unk_BC, MTXDegToRad(-var_f28));
|
||||
for (var_r29 = 0; var_r29 < 0x15; var_r29++) {
|
||||
Hu3DModelAttrReset(object->model[var_r29 + 9], HU3D_ATTR_DISPOFF);
|
||||
fn_1_D4E0(&work->unk_F8, &sp14, &sp8, var_f30);
|
||||
Hu3DModelPosSetV(object->model[var_r29 + 9], &sp14);
|
||||
PSMTXCopy(sp20, Hu3DData[object->model[var_r29 + 9]].unk_F0);
|
||||
PSMTXConcat(sp50, sp20, sp20);
|
||||
MTXCopy(sp20, Hu3DData[object->model[var_r29 + 9]].unk_F0);
|
||||
MTXConcat(sp50, sp20, sp20);
|
||||
var_f30 -= var_f31;
|
||||
}
|
||||
work->unk_F8.unk_04 = var_f29;
|
||||
|
|
@ -2430,19 +2430,19 @@ void fn_1_CDB8(M433PlayerWork2Sub *arg0, Vec *arg1, Vec *arg2, u32 arg3, float a
|
|||
spC.x = arg1->x + (arg0->unk_08 * (arg2->x - arg1->x));
|
||||
spC.y = arg0->unk_0C;
|
||||
spC.z = arg1->z + (arg0->unk_08 * (arg2->z - arg1->z));
|
||||
PSVECSubtract(arg2, &spC, &sp18);
|
||||
var_f30 = PSVECMag(&sp18);
|
||||
PSVECSubtract(&spC, arg1, &sp18);
|
||||
var_f30 += PSVECMag(&sp18);
|
||||
VECSubtract(arg2, &spC, &sp18);
|
||||
var_f30 = VECMag(&sp18);
|
||||
VECSubtract(&spC, arg1, &sp18);
|
||||
var_f30 += VECMag(&sp18);
|
||||
}
|
||||
else {
|
||||
PSVECSubtract(arg2, arg1, &sp18);
|
||||
var_f30 = PSVECMag(&sp18);
|
||||
VECSubtract(arg2, arg1, &sp18);
|
||||
var_f30 = VECMag(&sp18);
|
||||
}
|
||||
}
|
||||
else {
|
||||
PSVECSubtract(arg2, arg1, &sp18);
|
||||
var_f30 = PSVECMag(&sp18);
|
||||
VECSubtract(arg2, arg1, &sp18);
|
||||
var_f30 = VECMag(&sp18);
|
||||
}
|
||||
var_f31 = var_f30 / (arg8 * lbl_1_data_4D4[arg3].z);
|
||||
arg0->unk_00 = var_f31;
|
||||
|
|
@ -2452,9 +2452,9 @@ void fn_1_CDB8(M433PlayerWork2Sub *arg0, Vec *arg1, Vec *arg2, u32 arg3, float a
|
|||
arg0->unk_38 = *arg2;
|
||||
arg0->unk_1C = arg2->y - arg1->y;
|
||||
arg0->unk_24 = -980.0f;
|
||||
PSVECSubtract(arg2, arg1, &sp18);
|
||||
VECSubtract(arg2, arg1, &sp18);
|
||||
sp18.y = 0.0f;
|
||||
arg0->unk_10 = PSVECMag(&sp18);
|
||||
arg0->unk_10 = VECMag(&sp18);
|
||||
arg0->unk_18 = 0.0f;
|
||||
if (var_f31 > 0.0f) {
|
||||
arg0->unk_20 = (arg0->unk_1C - (0.5f * (-980.0f * (var_f31 * var_f31)))) / var_f31;
|
||||
|
|
@ -2555,9 +2555,9 @@ s32 fn_1_D4E0(M433PlayerWork2Sub *arg0, Vec *arg1, Vec *arg2, float arg8)
|
|||
}
|
||||
arg0->unk_04 = arg8;
|
||||
if (arg0->unk_10 > 0.0f) {
|
||||
PSVECSubtract(&arg0->unk_38, &arg0->unk_2C, &spC);
|
||||
VECSubtract(&arg0->unk_38, &arg0->unk_2C, &spC);
|
||||
spC.y = 0.0f;
|
||||
PSVECNormalize(&spC, &spC);
|
||||
VECNormalize(&spC, &spC);
|
||||
}
|
||||
else {
|
||||
spC.x = spC.y = spC.z = 0.0f;
|
||||
|
|
@ -2568,7 +2568,7 @@ s32 fn_1_D4E0(M433PlayerWork2Sub *arg0, Vec *arg1, Vec *arg2, float arg8)
|
|||
arg1->x = arg0->unk_2C.x + (spC.x * var_f30);
|
||||
arg1->y = arg0->unk_2C.y + var_f29;
|
||||
arg1->z = arg0->unk_2C.z + (spC.z * var_f30);
|
||||
PSVECSubtract(arg1, &sp18, arg2);
|
||||
VECSubtract(arg1, &sp18, arg2);
|
||||
if (arg8 >= arg0->unk_00) {
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -2582,7 +2582,7 @@ void fn_1_D6A8(ModelData *model, ParticleData *particle, Mtx matrix)
|
|||
|
||||
for (var_r31 = particle->unk_48, var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) {
|
||||
if (var_r31->unk00_s16 != 0) {
|
||||
PSVECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
|
||||
VECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
|
||||
var_r31->unk08.x *= 0.92f;
|
||||
var_r31->unk08.z *= 0.92f;
|
||||
var_r31->unk08.y += -0.27222225f;
|
||||
|
|
@ -3421,9 +3421,9 @@ float fn_1_10B20(float arg8, Vec *arg0)
|
|||
}
|
||||
var_r31->unk_04 = var_f31;
|
||||
if (var_r31->unk_10 > 0.0f) {
|
||||
PSVECSubtract(&var_r31->unk_38, &var_r31->unk_2C, &sp14);
|
||||
VECSubtract(&var_r31->unk_38, &var_r31->unk_2C, &sp14);
|
||||
sp14.y = 0.0f;
|
||||
PSVECNormalize(&sp14, &sp14);
|
||||
VECNormalize(&sp14, &sp14);
|
||||
}
|
||||
else {
|
||||
sp14.x = sp14.y = sp14.z = 0.0f;
|
||||
|
|
@ -3434,7 +3434,7 @@ float fn_1_10B20(float arg8, Vec *arg0)
|
|||
arg0->x = var_r31->unk_2C.x + (sp14.x * var_f29);
|
||||
arg0->y = var_r31->unk_2C.y + var_f28;
|
||||
arg0->z = var_r31->unk_2C.z + (sp14.z * var_f29);
|
||||
PSVECSubtract(arg0, &sp8, &sp20);
|
||||
VECSubtract(arg0, &sp8, &sp20);
|
||||
var_f31 >= var_r31->unk_00;
|
||||
var_r31->unk_04 = var_f30;
|
||||
return var_f30 + arg8;
|
||||
|
|
@ -3462,7 +3462,7 @@ s32 fn_1_10D24(Vec *sp8)
|
|||
|
||||
var_r31 = lbl_1_bss_7CC->data;
|
||||
fn_1_10D24_inline(&spC);
|
||||
PSVECSubtract(&spC, &var_r31->unk_30, &sp18);
|
||||
VECSubtract(&spC, &var_r31->unk_30, &sp18);
|
||||
if ((spC.x * var_r31->unk_30.x) >= 0.0f) {
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -3470,8 +3470,8 @@ s32 fn_1_10D24(Vec *sp8)
|
|||
return 0;
|
||||
}
|
||||
var_f31 = fabs(var_r31->unk_30.x / sp18.x);
|
||||
PSVECScale(&sp18, &sp18, var_f31);
|
||||
PSVECAdd(&var_r31->unk_30, &sp18, sp8);
|
||||
VECScale(&sp18, &sp18, var_f31);
|
||||
VECAdd(&var_r31->unk_30, &sp18, sp8);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
@ -3535,9 +3535,9 @@ float fn_1_11098(Vec *arg0, Vec *arg1, Vec *arg2)
|
|||
float var_f31;
|
||||
float var_f30;
|
||||
|
||||
PSVECSubtract(arg1, arg0, &sp10);
|
||||
var_f31 = PSVECDotProduct(&sp10, arg2);
|
||||
var_f30 = -PSVECSquareMag(arg2);
|
||||
VECSubtract(arg1, arg0, &sp10);
|
||||
var_f31 = VECDotProduct(&sp10, arg2);
|
||||
var_f30 = -VECSquareMag(arg2);
|
||||
if (var_f30 != 0.0f) {
|
||||
var_f31 /= var_f30;
|
||||
}
|
||||
|
|
@ -3555,16 +3555,16 @@ float fn_1_11130(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3)
|
|||
float var_f29;
|
||||
float var_f28;
|
||||
|
||||
PSVECSubtract(arg1, arg0, &sp28);
|
||||
PSVECSubtract(arg3, arg2, &sp1C);
|
||||
PSVECSubtract(&sp28, &sp1C, &sp28);
|
||||
if (PSVECMag(&sp28) <= 0.0f) {
|
||||
VECSubtract(arg1, arg0, &sp28);
|
||||
VECSubtract(arg3, arg2, &sp1C);
|
||||
VECSubtract(&sp28, &sp1C, &sp28);
|
||||
if (VECMag(&sp28) <= 0.0f) {
|
||||
sp34 = *arg0;
|
||||
}
|
||||
else {
|
||||
PSVECSubtract(arg0, arg2, &sp10);
|
||||
var_f30 = PSVECDotProduct(&sp10, &sp28);
|
||||
var_f29 = -PSVECSquareMag(&sp28);
|
||||
VECSubtract(arg0, arg2, &sp10);
|
||||
var_f30 = VECDotProduct(&sp10, &sp28);
|
||||
var_f29 = -VECSquareMag(&sp28);
|
||||
if (var_f29 != 0.0f) {
|
||||
var_f30 /= var_f29;
|
||||
}
|
||||
|
|
@ -3576,9 +3576,9 @@ float fn_1_11130(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3)
|
|||
else if (var_f31 > 1.0f) {
|
||||
var_f31 = 1.0f;
|
||||
}
|
||||
PSVECScale(&sp28, &sp1C, var_f31);
|
||||
PSVECAdd(arg0, &sp1C, &sp34);
|
||||
VECScale(&sp28, &sp1C, var_f31);
|
||||
VECAdd(arg0, &sp1C, &sp34);
|
||||
}
|
||||
PSVECSubtract(arg2, &sp34, &sp28);
|
||||
return PSVECMag(&sp28);
|
||||
VECSubtract(arg2, &sp34, &sp28);
|
||||
return VECMag(&sp28);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -158,7 +158,7 @@ typedef struct M438UnkStruct {
|
|||
s8 unk_55;
|
||||
s8 unk_56;
|
||||
u8 unk_57;
|
||||
M438UnkSubStruct* unk_58;
|
||||
M438UnkSubStruct *unk_58;
|
||||
u8 unk_5C;
|
||||
char unk5D[0x3];
|
||||
Vec unk_60;
|
||||
|
|
@ -175,7 +175,7 @@ typedef struct M438UnkStruct2 {
|
|||
Vec unk_0C;
|
||||
char unk18[0xC];
|
||||
Vec unk_24;
|
||||
void (*unk_30)(struct M438UnkStruct2*);
|
||||
void (*unk_30)(struct M438UnkStruct2 *);
|
||||
char unk34[8];
|
||||
M438UnkStruct *unk_3C;
|
||||
char unk40[0x20];
|
||||
|
|
@ -575,88 +575,51 @@ void fn_1_1174(omObjData *object)
|
|||
}
|
||||
}
|
||||
|
||||
Vec lbl_1_data_68[11][8] = {
|
||||
{
|
||||
{ -528.6f, 0.0f, 350.7f },
|
||||
{ -375.7f, 0.0f, 243.0f },
|
||||
{ -214.2f, 0.0f, 331.4f },
|
||||
{ -173.3f, 0.0f, 523.7f },
|
||||
{ 15.000001f, 0.0f, 505.7f },
|
||||
{ 148.59999f, 0.0f, 393.0f },
|
||||
{ 0.0f, 1.0f, 0.0f },
|
||||
},
|
||||
Vec lbl_1_data_68[11][8] = { {
|
||||
{ -528.6f, 0.0f, 350.7f },
|
||||
{ -375.7f, 0.0f, 243.0f },
|
||||
{ -214.2f, 0.0f, 331.4f },
|
||||
{ -173.3f, 0.0f, 523.7f },
|
||||
{ 15.000001f, 0.0f, 505.7f },
|
||||
{ 148.59999f, 0.0f, 393.0f },
|
||||
{ 0.0f, 1.0f, 0.0f },
|
||||
},
|
||||
{
|
||||
{ -198.7f, 0.0f, -122.899994f },
|
||||
{ -11.599999f, 0.0f, -177.1f },
|
||||
{ 63.4f, 0.0f, -349.7f },
|
||||
{ 277.09999f, 0.0f, -296.4f },
|
||||
{ 397.5f, 0.0f, -470.2f },
|
||||
{ 0.0f, 1.0f, 0.0f },
|
||||
{ -11.599999f, 0.0f, -177.1f },
|
||||
{ 63.4f, 0.0f, -349.7f },
|
||||
{ 277.09999f, 0.0f, -296.4f },
|
||||
{ 397.5f, 0.0f, -470.2f },
|
||||
{ 0.0f, 1.0f, 0.0f },
|
||||
},
|
||||
{
|
||||
{ -421.0f, 0.0f, -471.3f },
|
||||
{ -270.1f, 0.0f, -460.0f },
|
||||
{ -153.1f, 0.0f, -356.5f },
|
||||
{ 12.4f, 0.0f, -473.99997f },
|
||||
{ 0.0f, 1.0f, 0.0f },
|
||||
{ 12.4f, 0.0f, -473.99997f },
|
||||
{ 0.0f, 1.0f, 0.0f },
|
||||
},
|
||||
{
|
||||
{ -545.10004f, 0.0f, -318.9f },
|
||||
{ -545.10004f, 0.0f, -318.9f },
|
||||
{ -469.0f, 0.0f, -154.1f },
|
||||
{ -313.4, 0.0f, -170.09999f },
|
||||
{ -313.4, 0.0f, -170.09999f },
|
||||
{ -250.0f, 0.0f, -32.8f },
|
||||
{ 0.0f, 1.0f, 0.0f },
|
||||
},
|
||||
{
|
||||
{ -155.6f, 0.0f, 19.5f },
|
||||
{ -34.3f, 0.0f, 96.6f },
|
||||
{ -63.9f, 0.0f, 240.00002f },
|
||||
{ 37.5f, 0.0f, 402.8f },
|
||||
{ 0.0f, 1.0f, 0.0f }
|
||||
},
|
||||
{
|
||||
{ 207.5f, 0.0f, -163.2f },
|
||||
{ 270.1f, 0.0f, -104.799995f },
|
||||
{ 402.19998f, 0.0f, -102.4f },
|
||||
{ 511.49997f, 0.0f, -25.099998f },
|
||||
{ 627.3f, 0.0f, -142.0f },
|
||||
{ 0.0f, 1.0f, 0.0f }
|
||||
{ 0.0f, 1.0f, 0.0f },
|
||||
},
|
||||
{ { -155.6f, 0.0f, 19.5f }, { -34.3f, 0.0f, 96.6f }, { -63.9f, 0.0f, 240.00002f }, { 37.5f, 0.0f, 402.8f }, { 0.0f, 1.0f, 0.0f } },
|
||||
{ { 207.5f, 0.0f, -163.2f }, { 270.1f, 0.0f, -104.799995f }, { 402.19998f, 0.0f, -102.4f }, { 511.49997f, 0.0f, -25.099998f },
|
||||
{ 627.3f, 0.0f, -142.0f }, { 0.0f, 1.0f, 0.0f } },
|
||||
{
|
||||
{ -601.0f, 0.0f, 97.799995f },
|
||||
{ -516.80005f, 0.0f, 60.000004f },
|
||||
{ -516.80005f, 0.0f, 60.000004f },
|
||||
{ -417.7f, 0.0f, 92.9f },
|
||||
{ -309.40002f, 0.0f, 76.1f },
|
||||
{ 0.0f, 1.0f, 0.0f },
|
||||
{ -309.40002f, 0.0f, 76.1f },
|
||||
{ 0.0f, 1.0f, 0.0f },
|
||||
},
|
||||
{
|
||||
{ 82.8f, 0.0f, 164.2f },
|
||||
{ 179.40001f, 0.0f, 179.8f },
|
||||
{ 241.00002f, 0.0f, 87.1f },
|
||||
{ 323.0f, 0.0f, 38.800003f },
|
||||
{ 0.0f, 1.0f, 0.0f }
|
||||
},
|
||||
{
|
||||
{ 243.4f, 0.0f, 573.5f },
|
||||
{ 227.7f, 0.0f, 461.2f },
|
||||
{ 319.30002f, 0.0f, 400.6f },
|
||||
{ 342.30002f, 0.0f, 310.0f },
|
||||
{ 0.0f, 1.0f, 0.0f }
|
||||
},
|
||||
{
|
||||
{ 357.69998f, 0.0f, 146.8f },
|
||||
{ 418.80002f, 0.0f, 225.0f },
|
||||
{ 503.2f, 0.0f, 234.69998f },
|
||||
{ 548.1f, 0.0f, 321.19998f },
|
||||
{ 0.0f, 1.0f, 0.0f }
|
||||
},
|
||||
{
|
||||
{ -100.0f, 0.0f, 0.0f },
|
||||
{ 0.0f, 0.0f, -100.0f },
|
||||
{ 100.0f, 0.0f, 0.0f },
|
||||
{ 0.0f, 1.0f, 0.0f }
|
||||
}
|
||||
};
|
||||
{ { 82.8f, 0.0f, 164.2f }, { 179.40001f, 0.0f, 179.8f }, { 241.00002f, 0.0f, 87.1f }, { 323.0f, 0.0f, 38.800003f }, { 0.0f, 1.0f, 0.0f } },
|
||||
{ { 243.4f, 0.0f, 573.5f }, { 227.7f, 0.0f, 461.2f }, { 319.30002f, 0.0f, 400.6f }, { 342.30002f, 0.0f, 310.0f }, { 0.0f, 1.0f, 0.0f } },
|
||||
{ { 357.69998f, 0.0f, 146.8f }, { 418.80002f, 0.0f, 225.0f }, { 503.2f, 0.0f, 234.69998f }, { 548.1f, 0.0f, 321.19998f }, { 0.0f, 1.0f, 0.0f } },
|
||||
{ { -100.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, -100.0f }, { 100.0f, 0.0f, 0.0f }, { 0.0f, 1.0f, 0.0f } } };
|
||||
void fn_1_1204(omObjData *object)
|
||||
{
|
||||
M438StructBss298 *var_r31;
|
||||
|
|
@ -951,7 +914,8 @@ void fn_1_2070(omObjData *object)
|
|||
var_r31->unk_10.y = var_r31->unk_28.y + (var_f31 * (var_r31->unk_40.y - var_r31->unk_28.y));
|
||||
var_r31->unk_10.z = var_r31->unk_28.z + (var_f31 * (var_r31->unk_40.z - var_r31->unk_28.z));
|
||||
var_r31->unk_130 = var_r31->unk_134 + (var_f31 * (var_r31->unk_138 - var_r31->unk_134));
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
fn_1_9420(2.0f * var_f31, (float *)&var_r31->unk_04, var_r31->unk_F4, (float(*)[3]) & var_r31->unk_64, var_r31->unk_88, 3);
|
||||
fn_1_9420(2.0f * var_f31, (float *)&var_r31->unk_10, var_r31->unk_100, (float(*)[3]) & var_r31->unk_AC, var_r31->unk_D0, 3);
|
||||
var_r31->unk_130 = fn_1_8EEC(2.0f * var_f31, var_r31->unk_124, var_r31->unk_10C, var_r31->unk_118, 3);
|
||||
|
|
@ -1473,12 +1437,14 @@ void fn_1_35C0(omObjData *object)
|
|||
var_r31->unk_22 = var_r28;
|
||||
var_r31->unk_20 = var_r28;
|
||||
CharModelMotionShiftSet(var_r31->unk_01, object->motion[8], 0.0f, 8.0f, var_r27);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
switch (var_r28) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
if (var_r31->unk_20 != 0 && CharModelMotionShiftIDGet(var_r31->unk_01) >= 0) break;
|
||||
if (var_r31->unk_20 != 0 && CharModelMotionShiftIDGet(var_r31->unk_01) >= 0)
|
||||
break;
|
||||
default:
|
||||
var_r31->unk_22 = var_r28;
|
||||
var_r31->unk_20 = var_r28;
|
||||
|
|
@ -1590,7 +1556,6 @@ void fn_1_4724(omObjData *object)
|
|||
object->func = fn_1_4984;
|
||||
}
|
||||
|
||||
|
||||
void fn_1_4984(omObjData *object)
|
||||
{
|
||||
Vec sp8;
|
||||
|
|
@ -1645,7 +1610,7 @@ void fn_1_4984(omObjData *object)
|
|||
}
|
||||
lbl_1_bss_4 = fn_1_10258(0x3C, 1);
|
||||
fn_1_11018(lbl_1_bss_4, 0, 0x45000F);
|
||||
lbl_1_bss_DE4.unk_40[lbl_1_bss_4].unk_30 = fn_1_5D4C;
|
||||
lbl_1_bss_DE4.unk_40[lbl_1_bss_4].unk_30 = fn_1_5D4C;
|
||||
fn_1_11890(lbl_1_bss_4, var_r31->unk_10.x, 50.0f + var_r31->unk_10.y, var_r31->unk_10.z);
|
||||
fn_1_124CC(lbl_1_bss_4, 1);
|
||||
lbl_1_bss_8++;
|
||||
|
|
@ -1708,7 +1673,7 @@ void fn_1_4F50(omObjData *object)
|
|||
var_r31->unk_00++;
|
||||
case 1:
|
||||
var_r31->unk_34 = var_r31->unk_10;
|
||||
|
||||
|
||||
for (var_r28 = 0, var_r26 = 0; var_r28 < 4; var_r28++) {
|
||||
var_r29 = lbl_1_bss_DC4[var_r28]->data;
|
||||
if ((var_r29->unk_07 != 0) && ((var_r29->unk_07 & 2) == 0)) {
|
||||
|
|
@ -1723,17 +1688,20 @@ void fn_1_4F50(omObjData *object)
|
|||
if (var_r31->unk_1C.y <= -180.0f) {
|
||||
var_r31->unk_1C.y += 360.0f;
|
||||
}
|
||||
|
||||
|
||||
for (var_r28 = 0; var_r28 < var_r26; var_r28++) {
|
||||
var_f31 = fn_1_E5A4(sp8[var_r28], object->rot.y);
|
||||
if (var_f31 < 0.0f) {
|
||||
var_f27 = -var_f31;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_f27 = var_f31;
|
||||
}
|
||||
if (var_f27 > (20.0f + object->work[1])) continue;
|
||||
if (var_f27 > (20.0f + object->work[1]))
|
||||
continue;
|
||||
object->work[0]--;
|
||||
if (object->work[0] != 0 && ((fn_1_7DB4() & 0xF) != 0)) continue;
|
||||
if (object->work[0] != 0 && ((fn_1_7DB4() & 0xF) != 0))
|
||||
continue;
|
||||
var_r31->unk_04.y = sp8[var_r28];
|
||||
var_r31->unk_1C.y = sp8[var_r28];
|
||||
var_r31->unk_28.y = 16.333334f;
|
||||
|
|
@ -1781,7 +1749,8 @@ void fn_1_4F50(omObjData *object)
|
|||
sp18 = var_r31->unk_10;
|
||||
sp18.y = 0.0f;
|
||||
var_f30 = VECMag(&sp18);
|
||||
if (var_f30 <= 700.0f) break;
|
||||
if (var_f30 <= 700.0f)
|
||||
break;
|
||||
var_r31->unk_02 = 1;
|
||||
if (fn_1_DA64(atan2d(sp18.x, sp18.z)) != 0) {
|
||||
var_r31->unk_02 = 0x78;
|
||||
|
|
@ -1804,7 +1773,8 @@ void fn_1_4F50(omObjData *object)
|
|||
case 4:
|
||||
var_r31->unk_28.y += -3.0625f;
|
||||
var_r31->unk_10.y += var_r31->unk_28.y;
|
||||
if (var_r31->unk_10.y > 0.0f) break;
|
||||
if (var_r31->unk_10.y > 0.0f)
|
||||
break;
|
||||
var_r31->unk_10.y = 0.0f;
|
||||
var_r31->unk_34 = var_r31->unk_10;
|
||||
Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_LOOP);
|
||||
|
|
@ -1848,7 +1818,8 @@ void fn_1_4F50(omObjData *object)
|
|||
var_r29 = lbl_1_bss_DC4[var_r28]->data;
|
||||
VECSubtract(&var_r29->unk_6C, &var_r31->unk_10, &sp18);
|
||||
var_f30 = VECMag(&sp18);
|
||||
if (var_f30 >= 200.0f || var_r29->unk_20 == 7) continue;
|
||||
if (var_f30 >= 200.0f || var_r29->unk_20 == 7)
|
||||
continue;
|
||||
omVibrate(var_r29->unk_00, 0xC, 4, 2);
|
||||
var_r29->unk_07 |= 2;
|
||||
var_r29->unk_0D = 0;
|
||||
|
|
@ -1860,7 +1831,8 @@ void fn_1_4F50(omObjData *object)
|
|||
if (fabs(fn_1_E5A4(var_r29->unk_28, var_r29->unk_7C)) > 90.0) {
|
||||
var_r29->unk_7C = 180.0f + var_r29->unk_28;
|
||||
var_r29->unk_14 = 0;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_r29->unk_7C = var_r29->unk_28;
|
||||
var_r29->unk_14 = 1;
|
||||
}
|
||||
|
|
@ -1875,7 +1847,8 @@ void fn_1_4F50(omObjData *object)
|
|||
omSetRot(object, var_r31->unk_1C.x, var_r31->unk_1C.y, var_r31->unk_1C.z);
|
||||
}
|
||||
|
||||
void fn_1_5D4C(M438UnkStruct2 *arg0) {
|
||||
void fn_1_5D4C(M438UnkStruct2 *arg0)
|
||||
{
|
||||
s16 sp8;
|
||||
f32 temp_f31;
|
||||
f32 temp_f30;
|
||||
|
|
@ -1883,13 +1856,13 @@ void fn_1_5D4C(M438UnkStruct2 *arg0) {
|
|||
f32 temp_f28;
|
||||
f32 temp_f27;
|
||||
s32 var_r29;
|
||||
M438UnkStruct* var_r31;
|
||||
M438UnkStruct *var_r31;
|
||||
|
||||
sp8 = 0;
|
||||
switch (arg0->unk_60) { /* irregular */
|
||||
switch (arg0->unk_60) { /* irregular */
|
||||
case 0:
|
||||
temp_f27 = 360.0f / arg0->unk_02;
|
||||
|
||||
|
||||
var_r31 = &arg0->unk_3C[0];
|
||||
for (var_r29 = 0; var_r29 < arg0->unk_02; var_r29++, var_r31++) {
|
||||
var_r31->unk_6C.x = sind(temp_f27 * var_r29) * (0.8f + (0.1f * (2.0f * ((1.0f / 32768.0f) * (fn_1_7DB4() - 0x8000)))));
|
||||
|
|
@ -1909,7 +1882,7 @@ void fn_1_5D4C(M438UnkStruct2 *arg0) {
|
|||
arg0->unk_7C--;
|
||||
temp_f31 = (48.0f - arg0->unk_7C) / 48.0f;
|
||||
temp_f28 = arg0->unk_7C / 48.0f;
|
||||
|
||||
|
||||
var_r31 = arg0->unk_3C;
|
||||
for (var_r29 = 0; var_r29 < arg0->unk_02; var_r29++, var_r31++) {
|
||||
var_r31->unk_00.x += 12.5f * temp_f28 * var_r31->unk_6C.x;
|
||||
|
|
@ -1935,7 +1908,7 @@ void fn_1_62BC(M438UnkStruct2 *arg0)
|
|||
s16 sp8;
|
||||
|
||||
M438UnkStruct *var_r31;
|
||||
|
||||
|
||||
sp8 = 0;
|
||||
switch (arg0->unk_60) {
|
||||
case 0:
|
||||
|
|
@ -1957,9 +1930,10 @@ void fn_1_62BC(M438UnkStruct2 *arg0)
|
|||
}
|
||||
}
|
||||
|
||||
void fn_1_63B0(M438UnkStruct2* arg0) {
|
||||
void fn_1_63B0(M438UnkStruct2 *arg0)
|
||||
{
|
||||
Vec sp8;
|
||||
M438UnkStruct* var_r31;
|
||||
M438UnkStruct *var_r31;
|
||||
f32 var_f31;
|
||||
f32 temp_f30;
|
||||
f32 var_f29;
|
||||
|
|
@ -1970,10 +1944,8 @@ void fn_1_63B0(M438UnkStruct2* arg0) {
|
|||
for (var_r29 = 0; var_r29 < arg0->unk_02; var_r29++, var_r31++) {
|
||||
switch (var_r31->unk_5C) {
|
||||
case 0:
|
||||
var_f29 = atan2d(arg0->unk_80, arg0->unk_84) < 0
|
||||
? -atan2d(arg0->unk_80, arg0->unk_84)
|
||||
: atan2d(arg0->unk_80, arg0->unk_84);
|
||||
|
||||
var_f29 = atan2d(arg0->unk_80, arg0->unk_84) < 0 ? -atan2d(arg0->unk_80, arg0->unk_84) : atan2d(arg0->unk_80, arg0->unk_84);
|
||||
|
||||
if (var_f29 > 90.0f) {
|
||||
var_f29 = 180.0f - var_f29;
|
||||
}
|
||||
|
|
@ -1984,7 +1956,7 @@ void fn_1_63B0(M438UnkStruct2* arg0) {
|
|||
var_r31->unk_00.x = sp8.x;
|
||||
var_r31->unk_00.y = 0.0f;
|
||||
var_r31->unk_00.z = sp8.z;
|
||||
|
||||
|
||||
for (var_f31 = 0.0f, sp8.y = 0.0f; var_f31 < (arg0->unk_8C - 40.0f); var_f31 += sp8.y) {
|
||||
sp8.y += 0.8f;
|
||||
}
|
||||
|
|
@ -2000,7 +1972,8 @@ void fn_1_63B0(M438UnkStruct2* arg0) {
|
|||
temp_f30 = 3.75f + (1.75f * ((1.0f / 65536.0f) * fn_1_7DB4()));
|
||||
var_r31->unk_60.x = (temp_f30 * (0.1f + ((0.9f * var_f29) / 90.0f)));
|
||||
var_r31->unk_60.y = var_r31->unk_60.z = temp_f30;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_r31->unk_33 = 0;
|
||||
var_r31->unk_54 = 0;
|
||||
var_r31->unk_55 = 0;
|
||||
|
|
@ -2044,9 +2017,10 @@ void fn_1_63B0(M438UnkStruct2* arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
void fn_1_6A3C(M438UnkStruct2* arg0) {
|
||||
void fn_1_6A3C(M438UnkStruct2 *arg0)
|
||||
{
|
||||
Vec sp8;
|
||||
M438UnkStruct* var_r31;
|
||||
M438UnkStruct *var_r31;
|
||||
f32 temp_f31;
|
||||
f32 temp_f30;
|
||||
f32 temp_f29;
|
||||
|
|
@ -2056,7 +2030,7 @@ void fn_1_6A3C(M438UnkStruct2* arg0) {
|
|||
|
||||
var_r31 = arg0->unk_3C;
|
||||
var_r28 = 0;
|
||||
|
||||
|
||||
for (var_r27 = 0; var_r27 < arg0->unk_02; var_r27++, var_r31++) {
|
||||
if ((arg0->unk_7C != 0) && (var_r31->unk_7A == 0)) {
|
||||
var_r31->unk_5C = 0;
|
||||
|
|
@ -2077,7 +2051,8 @@ void fn_1_6A3C(M438UnkStruct2* arg0) {
|
|||
var_r31->unk_6C.z = 100.0f * (0.1f * sp8.z);
|
||||
var_r31->unk_78 = (s32)(24.0f * ((1.0f / 65536.0f) * fn_1_7DB4())) + 1;
|
||||
var_r31->unk_7A = 1;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
temp_f30 = (180.0f * ((1.0f / 65536.0f) * fn_1_7DB4())) - 90.0f;
|
||||
temp_f29 = 125.0f * ((1.0f / 65536.0f) * fn_1_7DB4());
|
||||
sp8.x = sind(temp_f30);
|
||||
|
|
@ -2103,7 +2078,8 @@ void fn_1_6A3C(M438UnkStruct2* arg0) {
|
|||
var_r31->unk_18.x = temp_f31;
|
||||
var_r31->unk_18.y = temp_f31;
|
||||
var_r31->unk_18.z = temp_f31;
|
||||
} else if (arg0->unk_7C != 0) {
|
||||
}
|
||||
else if (arg0->unk_7C != 0) {
|
||||
var_r31->unk_33 = 0;
|
||||
var_r31->unk_54 = 0;
|
||||
var_r31->unk_55 = 0;
|
||||
|
|
@ -2113,10 +2089,11 @@ void fn_1_6A3C(M438UnkStruct2* arg0) {
|
|||
var_r31->unk_18.x = temp_f31;
|
||||
var_r31->unk_18.y = 1.5f * temp_f31;
|
||||
var_r31->unk_18.z = temp_f31;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_r29 = fn_1_10258(8, 1);
|
||||
fn_1_11018(var_r29, 0, 0x45000A);
|
||||
lbl_1_bss_DE4.unk_40[var_r29].unk_30 = (void (*)(M438UnkStruct2*)) fn_1_7300;
|
||||
lbl_1_bss_DE4.unk_40[var_r29].unk_30 = (void (*)(M438UnkStruct2 *))fn_1_7300;
|
||||
fn_1_11890(var_r29, arg0->unk_0C.x + var_r31->unk_00.x, arg0->unk_0C.y + var_r31->unk_00.y, arg0->unk_0C.z + var_r31->unk_00.z);
|
||||
fn_1_12100(var_r29, 4);
|
||||
fn_1_124CC(var_r29, 1);
|
||||
|
|
@ -2134,7 +2111,8 @@ void fn_1_6A3C(M438UnkStruct2* arg0) {
|
|||
var_r31->unk_58->unk_24 = 0x11;
|
||||
if (var_r31->unk_7A != 0) {
|
||||
var_r31->unk_58->unk_28 = 0.5f;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_r31->unk_58->unk_28 = 0.5f;
|
||||
}
|
||||
var_r31->unk_58->unk_2C = 0.0f;
|
||||
|
|
@ -2156,7 +2134,8 @@ void fn_1_6A3C(M438UnkStruct2* arg0) {
|
|||
if ((var_r31->unk_58->unk_24 & 8) != 0) {
|
||||
if (var_r31->unk_7A != 0) {
|
||||
var_r31->unk_5C = 3;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_r31->unk_5C = 0;
|
||||
}
|
||||
}
|
||||
|
|
@ -2171,9 +2150,10 @@ void fn_1_6A3C(M438UnkStruct2* arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
void fn_1_7300(M438UnkStruct2* arg0) {
|
||||
void fn_1_7300(M438UnkStruct2 *arg0)
|
||||
{
|
||||
Vec sp8;
|
||||
M438UnkStruct* var_r31;
|
||||
M438UnkStruct *var_r31;
|
||||
f32 temp_f29;
|
||||
f32 temp_f30;
|
||||
f32 temp_f31;
|
||||
|
|
@ -2181,33 +2161,32 @@ void fn_1_7300(M438UnkStruct2* arg0) {
|
|||
s32 var_r29;
|
||||
|
||||
var_r31 = arg0->unk_3C;
|
||||
|
||||
|
||||
switch (arg0->unk_60) {
|
||||
case 0:
|
||||
arg0->unk_24.x = arg0->unk_24.y = arg0->unk_24.z = temp_f31 = 0.01f;
|
||||
arg0->unk_7C = Hu3DModelCreateFile(0x45000B);
|
||||
arg0->unk_7E = (s32)(30.0f * ((1.0f / 65536.0f) * fn_1_7DB4())) + 30;
|
||||
|
||||
|
||||
for (var_r29 = 0; var_r29 < arg0->unk_02; var_r29++, var_r31++) {
|
||||
var_r31->unk_38 |= 4;
|
||||
}
|
||||
arg0->unk_60++;
|
||||
case 1:
|
||||
arg0->unk_24.z += 0.008f;
|
||||
|
||||
|
||||
arg0->unk_24.x = arg0->unk_24.y = arg0->unk_24.z;
|
||||
Hu3DModelPosSetV(arg0->unk_7C, &arg0->unk_0C);
|
||||
Hu3DModelScaleSetV(arg0->unk_7C, &arg0->unk_24);
|
||||
if (--arg0->unk_7E == 0) {
|
||||
Hu3DModelKill(arg0->unk_7C);
|
||||
arg0->unk_7C = 0;
|
||||
|
||||
|
||||
for (var_r29 = 0; var_r29 < arg0->unk_02; var_r29++, var_r31++) {
|
||||
var_r31->unk_5C = 1;
|
||||
}
|
||||
arg0->unk_80 = arg0->unk_24.x;
|
||||
|
||||
|
||||
|
||||
arg0->unk_24.x = arg0->unk_24.y = arg0->unk_24.z = 1.0f;
|
||||
arg0->unk_60++;
|
||||
}
|
||||
|
|
@ -2215,7 +2194,7 @@ void fn_1_7300(M438UnkStruct2* arg0) {
|
|||
}
|
||||
var_r28 = 0;
|
||||
var_r31 = arg0->unk_3C;
|
||||
|
||||
|
||||
for (var_r29 = 0; var_r29 < arg0->unk_02; var_r29++, var_r31++) {
|
||||
switch (var_r31->unk_5C) {
|
||||
case 1:
|
||||
|
|
@ -2450,32 +2429,36 @@ float fn_1_7EDC(float arg8, float arg9, float argA)
|
|||
arg8 = arg9 + (var_f31 * argA);
|
||||
if (arg8 > 180.0f) {
|
||||
arg8 -= 360.0f;
|
||||
} else if (arg8 <= -180.0f) {
|
||||
}
|
||||
else if (arg8 <= -180.0f) {
|
||||
arg8 += 360.0f;
|
||||
}
|
||||
return arg8;
|
||||
}
|
||||
|
||||
void fn_1_8044(Mtx arg0, f32 arg8, f32 arg9, f32 argA) {
|
||||
void fn_1_8044(Mtx arg0, f32 arg8, f32 arg9, f32 argA)
|
||||
{
|
||||
Mtx sp38;
|
||||
Mtx sp8;
|
||||
|
||||
|
||||
if (0.0f != argA) {
|
||||
PSMTXRotRad(arg0, 0x5A, MTXDegToRad(argA));
|
||||
} else {
|
||||
PSMTXIdentity(arg0);
|
||||
MTXRotRad(arg0, 0x5A, MTXDegToRad(argA));
|
||||
}
|
||||
else {
|
||||
MTXIdentity(arg0);
|
||||
}
|
||||
if (0.0f != arg8) {
|
||||
PSMTXRotRad(sp38, 0x58, MTXDegToRad(arg8));
|
||||
PSMTXConcat(sp38, arg0, arg0);
|
||||
MTXRotRad(sp38, 0x58, MTXDegToRad(arg8));
|
||||
MTXConcat(sp38, arg0, arg0);
|
||||
}
|
||||
if (0.0f != arg9) {
|
||||
PSMTXRotRad(sp8, 0x59, MTXDegToRad(arg9));
|
||||
PSMTXConcat(sp8, arg0, arg0);
|
||||
MTXRotRad(sp8, 0x59, MTXDegToRad(arg9));
|
||||
MTXConcat(sp8, arg0, arg0);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_8164(Mtx arg0, Vec* arg1) {
|
||||
void fn_1_8164(Mtx arg0, Vec *arg1)
|
||||
{
|
||||
f32 temp_f29;
|
||||
f32 var_f28;
|
||||
|
||||
|
|
@ -2500,7 +2483,8 @@ void fn_1_8164(Mtx arg0, Vec* arg1) {
|
|||
}
|
||||
}
|
||||
|
||||
void fn_1_8500(Mtx arg0, Vec* arg1) {
|
||||
void fn_1_8500(Mtx arg0, Vec *arg1)
|
||||
{
|
||||
f32 temp_f29;
|
||||
f32 var_f28;
|
||||
|
||||
|
|
@ -2511,7 +2495,8 @@ void fn_1_8500(Mtx arg0, Vec* arg1) {
|
|||
arg1->x = atan2d(temp_f29, var_f28);
|
||||
}
|
||||
|
||||
f32 fn_1_8750(f32 arg8, f32 arg9, f32 argA, f32 argB) {
|
||||
f32 fn_1_8750(f32 arg8, f32 arg9, f32 argA, f32 argB)
|
||||
{
|
||||
f32 temp_f31;
|
||||
f32 var_f30;
|
||||
|
||||
|
|
@ -2520,22 +2505,25 @@ f32 fn_1_8750(f32 arg8, f32 arg9, f32 argA, f32 argB) {
|
|||
return var_f30;
|
||||
}
|
||||
|
||||
void fn_1_87C8(f32* arg0, f32* arg1, f32* arg2, f32* arg3, f32 arg8) {
|
||||
void fn_1_87C8(f32 *arg0, f32 *arg1, f32 *arg2, f32 *arg3, f32 arg8)
|
||||
{
|
||||
s32 var_r31;
|
||||
|
||||
|
||||
for (var_r31 = 0; var_r31 < 3; var_r31++) {
|
||||
*arg3++ = fn_1_8750(arg8, *arg0++, *arg1++, *arg2++);
|
||||
}
|
||||
}
|
||||
|
||||
f32 fn_1_88E4(f32 arg8, f32 arg9, f32 argA, f32 argB) {
|
||||
f32 fn_1_88E4(f32 arg8, f32 arg9, f32 argA, f32 argB)
|
||||
{
|
||||
f32 var_f31;
|
||||
|
||||
var_f31 = 2.0 * ((arg8 - 1.0) * arg9 + (1.0 - (2.0 * arg8)) * argA + (arg8 * argB));
|
||||
return var_f31;
|
||||
}
|
||||
|
||||
void fn_1_895C(f32* arg0, f32* arg1, f32* arg2, f32* arg3, f32 arg8) {
|
||||
void fn_1_895C(f32 *arg0, f32 *arg1, f32 *arg2, f32 *arg3, f32 arg8)
|
||||
{
|
||||
f32 spC[3];
|
||||
f32 var_f29;
|
||||
s32 var_r31;
|
||||
|
|
@ -2672,7 +2660,6 @@ void fn_1_9040(float *arg0, Vec *arg1, float arg2[3][3], s32 arg3)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
void fn_1_9420(float arg8, float *arg0, float *arg1, float arg2[3][3], float arg3[3][3], s32 arg4)
|
||||
{
|
||||
float sp48[16];
|
||||
|
|
@ -2692,7 +2679,8 @@ void fn_1_9420(float arg8, float *arg0, float *arg1, float arg2[3][3], float arg
|
|||
}
|
||||
}
|
||||
|
||||
f32 fn_1_9634(Vec* arg0) {
|
||||
f32 fn_1_9634(Vec *arg0)
|
||||
{
|
||||
f32 var_f30;
|
||||
f32 var_f29;
|
||||
var_f30 = (arg0->x * arg0->x) + (arg0->y * arg0->y) + (arg0->z * arg0->z);
|
||||
|
|
@ -2702,24 +2690,28 @@ f32 fn_1_9634(Vec* arg0) {
|
|||
arg0->x *= var_f29;
|
||||
arg0->y *= var_f29;
|
||||
arg0->z *= var_f29;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
arg0->x = arg0->y = arg0->z = 0.0f;
|
||||
}
|
||||
return var_f30;
|
||||
}
|
||||
|
||||
f32 fn_1_97CC(Vec arg0, Vec arg1, Vec* arg2, f32 arg8) {
|
||||
f32 fn_1_97CC(Vec arg0, Vec arg1, Vec *arg2, f32 arg8)
|
||||
{
|
||||
if (arg8 <= 0.0f) {
|
||||
arg2->x = arg0.x;
|
||||
arg2->y = arg0.y;
|
||||
arg2->z = arg0.z;
|
||||
arg8 = 0.0f;
|
||||
} else if (arg8 >= 1.0f) {
|
||||
}
|
||||
else if (arg8 >= 1.0f) {
|
||||
arg2->x = (arg0.x + arg1.x);
|
||||
arg2->y = (arg0.y + arg1.y);
|
||||
arg2->z = (arg0.z + arg1.z);
|
||||
arg8 = 1.0f;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
arg2->x = (arg0.x + (arg8 * arg1.x));
|
||||
arg2->y = (arg0.y + (arg8 * arg1.y));
|
||||
arg2->z = (arg0.z + (arg8 * arg1.z));
|
||||
|
|
@ -2727,7 +2719,8 @@ f32 fn_1_97CC(Vec arg0, Vec arg1, Vec* arg2, f32 arg8) {
|
|||
return arg8;
|
||||
}
|
||||
|
||||
f32 fn_1_98A4(Vec arg0, Vec arg1, Vec arg2) {
|
||||
f32 fn_1_98A4(Vec arg0, Vec arg1, Vec arg2)
|
||||
{
|
||||
f32 temp_f30;
|
||||
f32 var_f31;
|
||||
|
||||
|
|
@ -2739,21 +2732,24 @@ f32 fn_1_98A4(Vec arg0, Vec arg1, Vec arg2) {
|
|||
return var_f31;
|
||||
}
|
||||
|
||||
f32 fn_1_9960(Vec* arg0, Vec* arg1, Vec* arg2) {
|
||||
f32 fn_1_9960(Vec *arg0, Vec *arg1, Vec *arg2)
|
||||
{
|
||||
Vec sp44;
|
||||
f32 var_f31;
|
||||
f32 var_f30;
|
||||
f32 temp_f29;
|
||||
|
||||
if (0.0f == ((arg2->z * arg2->z) + ((arg2->x * arg2->x) + (arg2->y * arg2->y)))) {
|
||||
return ((arg0->z - arg1->z) * (arg0->z - arg1->z)) + (((arg0->x - arg1->x) * (arg0->x - arg1->x)) + ((arg0->y - arg1->y) * (arg0->y - arg1->y)));
|
||||
return ((arg0->z - arg1->z) * (arg0->z - arg1->z))
|
||||
+ (((arg0->x - arg1->x) * (arg0->x - arg1->x)) + ((arg0->y - arg1->y) * (arg0->y - arg1->y)));
|
||||
}
|
||||
var_f31 = fn_1_98A4(*arg0, *arg1, *arg2);
|
||||
fn_1_97CC(*arg1, *arg2, &sp44, var_f31);
|
||||
return ((arg0->z - sp44.z) * (arg0->z - sp44.z)) + (((arg0->x - sp44.x) * (arg0->x - sp44.x)) + ((arg0->y - sp44.y) * (arg0->y - sp44.y)));
|
||||
}
|
||||
|
||||
f32 fn_1_9C9C(Vec* arg0, Vec* arg1, Vec* arg2, Vec* arg3, Vec* arg4) {
|
||||
f32 fn_1_9C9C(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3, Vec *arg4)
|
||||
{
|
||||
f32 sp44;
|
||||
f32 sp40;
|
||||
f32 sp3C;
|
||||
|
|
@ -2778,7 +2774,8 @@ f32 fn_1_9C9C(Vec* arg0, Vec* arg1, Vec* arg2, Vec* arg3, Vec* arg4) {
|
|||
f64 temp_f31_3;
|
||||
|
||||
if (0.0f == ((arg2->z * arg2->z) + ((arg2->x * arg2->x) + (arg2->y * arg2->y)))) {
|
||||
return ((arg0->z - arg1->z) * (arg0->z - arg1->z)) + (((arg0->x - arg1->x) * (arg0->x - arg1->x)) + ((arg0->y - arg1->y) * (arg0->y - arg1->y)));
|
||||
return ((arg0->z - arg1->z) * (arg0->z - arg1->z))
|
||||
+ (((arg0->x - arg1->x) * (arg0->x - arg1->x)) + ((arg0->y - arg1->y) * (arg0->y - arg1->y)));
|
||||
}
|
||||
var_f27 = fn_1_98A4(*arg0, *arg1, *arg2);
|
||||
fn_1_97CC(*arg1, *arg2, arg3, var_f27);
|
||||
|
|
@ -2789,7 +2786,8 @@ f32 fn_1_9C9C(Vec* arg0, Vec* arg1, Vec* arg2, Vec* arg3, Vec* arg4) {
|
|||
return fn_1_9634(arg4);
|
||||
}
|
||||
|
||||
f32 fn_1_A14C(Vec* arg0, Vec* arg1, Vec* arg2, Vec* arg3) {
|
||||
f32 fn_1_A14C(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3)
|
||||
{
|
||||
f32 temp_f31;
|
||||
f32 var_f30;
|
||||
f32 var_f29;
|
||||
|
|
@ -2809,14 +2807,17 @@ f32 fn_1_A14C(Vec* arg0, Vec* arg1, Vec* arg2, Vec* arg3) {
|
|||
if (var_f28 >= var_f27) {
|
||||
if (var_f28 >= var_f26) {
|
||||
var_r30 = 1;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_r30 = 0x100;
|
||||
}
|
||||
var_r31 = var_r30;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
if (var_f27 >= var_f26) {
|
||||
var_r29 = 0x10;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_r29 = 0x100;
|
||||
}
|
||||
var_r31 = var_r29;
|
||||
|
|
@ -2827,30 +2828,38 @@ f32 fn_1_A14C(Vec* arg0, Vec* arg1, Vec* arg2, Vec* arg3) {
|
|||
return var_f30;
|
||||
}
|
||||
var_f29 = ((arg3->z * (arg0->x - arg2->x)) - (arg3->x * (arg0->z - arg2->z))) / temp_f31;
|
||||
} else if (0.0f == (temp_f31 = (arg3->y * arg1->x) - (arg3->x * arg1->y))) {
|
||||
}
|
||||
else if (0.0f == (temp_f31 = (arg3->y * arg1->x) - (arg3->x * arg1->y))) {
|
||||
return var_f30;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_f29 = ((arg3->x * (arg0->y - arg2->y)) - (arg3->y * (arg0->x - arg2->x))) / temp_f31;
|
||||
}
|
||||
} else if ((var_r31 & 0x30) != 0) {
|
||||
}
|
||||
else if ((var_r31 & 0x30) != 0) {
|
||||
if ((0.0f != arg1->x) || (0.0f != arg1->y)) {
|
||||
if (0.0f == (temp_f31 = (arg3->y * arg1->x) - (arg3->x * arg1->y))) {
|
||||
return var_f30;
|
||||
}
|
||||
var_f29 = ((arg3->x * (arg0->y - arg2->y)) - (arg3->y * (arg0->x - arg2->x))) / temp_f31;
|
||||
} else if (0.0f == (temp_f31 = (arg3->z * arg1->y) - (arg3->y * arg1->z))) {
|
||||
}
|
||||
else if (0.0f == (temp_f31 = (arg3->z * arg1->y) - (arg3->y * arg1->z))) {
|
||||
return var_f30;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_f29 = ((arg3->y * (arg0->z - arg2->z)) - (arg3->z * (arg0->y - arg2->y))) / temp_f31;
|
||||
}
|
||||
} else if ((0.0f != arg1->x) || (0.0f != arg1->z)) {
|
||||
}
|
||||
else if ((0.0f != arg1->x) || (0.0f != arg1->z)) {
|
||||
if (0.0f == (temp_f31 = (arg3->x * arg1->z) - (arg3->z * arg1->x))) {
|
||||
return var_f30;
|
||||
}
|
||||
var_f29 = ((arg3->z * (arg0->x - arg2->x)) - (arg3->x * (arg0->z - arg2->z))) / temp_f31;
|
||||
} else if (0.0f == (temp_f31 = (arg3->z * arg1->y) - (arg3->y * arg1->z))) {
|
||||
}
|
||||
else if (0.0f == (temp_f31 = (arg3->z * arg1->y) - (arg3->y * arg1->z))) {
|
||||
return var_f30;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_f29 = ((arg3->y * (arg0->z - arg2->z)) - (arg3->z * (arg0->y - arg2->y))) / temp_f31;
|
||||
}
|
||||
return var_f29;
|
||||
|
|
@ -2871,11 +2880,31 @@ void fn_1_A688(omObjData *object) { }
|
|||
|
||||
Vec lbl_1_data_514 = { -850.0f, 0.0f, -850.0f };
|
||||
s32 lbl_1_data_520[25] = {
|
||||
-0x62, -0x61, -0x60, -0x5F, -0x5E,
|
||||
-0x32, -0x31, -0x30, -0x2F, -0x2E,
|
||||
-0x2, -0x1, 0x0, 0x1, 0x2,
|
||||
0x2E, 0x2F, 0x30, 0x31, 0x32,
|
||||
0x5E, 0x5F, 0x60, 0x61, 0x62,
|
||||
-0x62,
|
||||
-0x61,
|
||||
-0x60,
|
||||
-0x5F,
|
||||
-0x5E,
|
||||
-0x32,
|
||||
-0x31,
|
||||
-0x30,
|
||||
-0x2F,
|
||||
-0x2E,
|
||||
-0x2,
|
||||
-0x1,
|
||||
0x0,
|
||||
0x1,
|
||||
0x2,
|
||||
0x2E,
|
||||
0x2F,
|
||||
0x30,
|
||||
0x31,
|
||||
0x32,
|
||||
0x5E,
|
||||
0x5F,
|
||||
0x60,
|
||||
0x61,
|
||||
0x62,
|
||||
};
|
||||
|
||||
u32 lbl_1_data_584[25] = {
|
||||
|
|
@ -2906,18 +2935,20 @@ u32 lbl_1_data_584[25] = {
|
|||
0x50,
|
||||
};
|
||||
|
||||
#define getData(v, off) &( &( *OM_GET_DATA_PTR(lbl_1_bss_DBC, M438UnkType) )[ (u32)(0.028235294f * (v.x - off)) ] )[ (u32)(0.028235294f * (v.z - off)) * 0x30 ]
|
||||
#define getData(v, off) \
|
||||
&(&(*OM_GET_DATA_PTR(lbl_1_bss_DBC, M438UnkType))[(u32)(0.028235294f * (v.x - off))])[(u32)(0.028235294f * (v.z - off)) * 0x30]
|
||||
|
||||
void fn_1_A68C(ModelData* model, Mtx matrix) {
|
||||
void fn_1_A68C(ModelData *model, Mtx matrix)
|
||||
{
|
||||
Vec sp14;
|
||||
Vec sp8;
|
||||
M438StructBss298* var_r30;
|
||||
M438StructBss298 *var_r30;
|
||||
f32 var_f31;
|
||||
omObjData* temp_r27;
|
||||
omObjData *temp_r27;
|
||||
s32 var_r28;
|
||||
s32 var_r29;
|
||||
u8* temp_r26;
|
||||
u8* var_r25;
|
||||
u8 *temp_r26;
|
||||
u8 *var_r25;
|
||||
M438MainWork *temp_r31;
|
||||
|
||||
if ((u8)omPauseChk() == 0) {
|
||||
|
|
@ -2929,9 +2960,9 @@ void fn_1_A68C(ModelData* model, Mtx matrix) {
|
|||
|
||||
var_f31 = 0.0f;
|
||||
for (var_f31 = 0.0f; var_f31 < (35.416668f + var_r30->unk_14); var_f31 += 35.416668f) {
|
||||
PSVECScale(&var_r30->unk_24, &sp8, var_f31);
|
||||
PSVECAdd(&var_r30->unk_18, &sp8, &sp14);
|
||||
PSVECSubtract(&sp14, &lbl_1_data_514, &sp14);
|
||||
VECScale(&var_r30->unk_24, &sp8, var_f31);
|
||||
VECAdd(&var_r30->unk_18, &sp8, &sp14);
|
||||
VECSubtract(&sp14, &lbl_1_data_514, &sp14);
|
||||
|
||||
// @todo make this look nicer
|
||||
// var_r25 = getData(sp14, 0);
|
||||
|
|
@ -2946,12 +2977,12 @@ void fn_1_A68C(ModelData* model, Mtx matrix) {
|
|||
}
|
||||
}
|
||||
for (var_r29 = 0; var_r29 < 4; var_r29++) {
|
||||
if ((omObjData* ) lbl_1_bss_DC4[var_r29]) {
|
||||
if ((omObjData *)lbl_1_bss_DC4[var_r29]) {
|
||||
temp_r27 = lbl_1_bss_DC4[var_r29];
|
||||
temp_r31 = temp_r27->data;
|
||||
if ((temp_r31) && (temp_r31->unk_68 != 0)) {
|
||||
temp_r31->unk_68 = 0;
|
||||
PSVECAdd(&temp_r31->unk_6C, &temp_r31->unk_4C, &sp14);
|
||||
VECAdd(&temp_r31->unk_6C, &temp_r31->unk_4C, &sp14);
|
||||
temp_r31->unk_64 = fn_1_AE18(temp_r27->work[0], temp_r31->unk_7C, &sp14, &temp_r31->unk_58);
|
||||
}
|
||||
}
|
||||
|
|
@ -2960,7 +2991,8 @@ void fn_1_A68C(ModelData* model, Mtx matrix) {
|
|||
}
|
||||
}
|
||||
|
||||
u32 fn_1_A8FC(Vec* arg0, f32 arg8) {
|
||||
u32 fn_1_A8FC(Vec *arg0, f32 arg8)
|
||||
{
|
||||
Vec sp2C;
|
||||
Vec sp20;
|
||||
Vec sp14;
|
||||
|
|
@ -2976,11 +3008,11 @@ u32 fn_1_A8FC(Vec* arg0, f32 arg8) {
|
|||
var_r30 = 0;
|
||||
var_r28 = 0;
|
||||
temp_f28 = 100.0f * (4.5f - (2.0f * arg8));
|
||||
var_f31 = PSVECMag(arg0);
|
||||
var_f31 = VECMag(arg0);
|
||||
if (var_f31 > 280.0f) {
|
||||
if (var_f31 > 560.0f) {
|
||||
var_r28 = 1;
|
||||
PSVECNormalize(arg0, &sp14);
|
||||
VECNormalize(arg0, &sp14);
|
||||
}
|
||||
var_f31 -= 280.0f;
|
||||
var_f31 *= 0.12987013f;
|
||||
|
|
@ -2999,17 +3031,17 @@ u32 fn_1_A8FC(Vec* arg0, f32 arg8) {
|
|||
sp8.x = sind(temp_r31->unk_08);
|
||||
sp8.y = 0.0f;
|
||||
sp8.z = cosd(temp_r31->unk_08);
|
||||
PSVECScale(&sp8, &sp20, 600.0f + (100.0f * (8.0f * arg8)));
|
||||
VECScale(&sp8, &sp20, 600.0f + (100.0f * (8.0f * arg8)));
|
||||
var_f30 = fn_1_B440(arg0, &sp2C, &sp20);
|
||||
if (var_f30 > -0.2f && var_f30 < 1.0f) {
|
||||
PSVECScale(&sp20, &sp20, var_f30);
|
||||
PSVECAdd(&sp2C, &sp20, &sp2C);
|
||||
PSVECSubtract(&sp2C, arg0, &sp20);
|
||||
var_f31 = PSVECMag(&sp20);
|
||||
if (var_f31 < temp_f28) {
|
||||
VECScale(&sp20, &sp20, var_f30);
|
||||
VECAdd(&sp2C, &sp20, &sp2C);
|
||||
VECSubtract(&sp2C, arg0, &sp20);
|
||||
var_f31 = VECMag(&sp20);
|
||||
if (var_f31 < temp_f28) {
|
||||
var_f29 = 0.0f;
|
||||
if (var_r28 != 0) {
|
||||
var_f29 = PSVECDotProduct(&sp14, &sp8);
|
||||
var_f29 = VECDotProduct(&sp14, &sp8);
|
||||
var_f29 = 1.0 - fabs(var_f29);
|
||||
}
|
||||
var_f31 = (1.0f / temp_f28) * (temp_f28 - var_f31);
|
||||
|
|
@ -3026,8 +3058,8 @@ u32 fn_1_A8FC(Vec* arg0, f32 arg8) {
|
|||
}
|
||||
break;
|
||||
default:
|
||||
PSVECSubtract(arg0, &sp2C, &sp20);
|
||||
var_f31 = PSVECMag(&sp20);
|
||||
VECSubtract(arg0, &sp2C, &sp20);
|
||||
var_f31 = VECMag(&sp20);
|
||||
if (var_f31 < 600.0f) {
|
||||
var_f31 = 800.0f - var_f31;
|
||||
var_f31 = 20.0f + (0.1f * var_f31);
|
||||
|
|
@ -3073,14 +3105,15 @@ Vec lbl_1_data_69C[9] = {
|
|||
s32 lbl_1_data_708[9] = { 0, -19, -18, -17, -1, 1, 0x11, 0x12, 0x13 };
|
||||
s32 lbl_1_data_72C[9] = { 0, -38, -54, -34, -3, 3, 0x22, 0x36, 0x26 };
|
||||
|
||||
s32 fn_1_AE18(u32 arg0, f32 arg8, Vec* arg1, Vec* arg2) {
|
||||
s32 fn_1_AE18(u32 arg0, f32 arg8, Vec *arg1, Vec *arg2)
|
||||
{
|
||||
s32 sp58[9];
|
||||
Vec sp4C;
|
||||
Vec sp40;
|
||||
Vec sp34;
|
||||
Vec sp28;
|
||||
Vec sp1C;
|
||||
u8* sp18;
|
||||
u8 *sp18;
|
||||
u32 sp14;
|
||||
u32 sp10;
|
||||
f32 var_f31;
|
||||
|
|
@ -3091,16 +3124,16 @@ s32 fn_1_AE18(u32 arg0, f32 arg8, Vec* arg1, Vec* arg2) {
|
|||
s32 var_r30;
|
||||
u32 var_r29;
|
||||
s32 var_r28;
|
||||
u16* temp_r27;
|
||||
u16 *temp_r27;
|
||||
s32 var_r26;
|
||||
M438MainWork *var_r25;
|
||||
u8* temp_r24;
|
||||
u8 *temp_r24;
|
||||
s32 var_r23;
|
||||
u8* var_r22;
|
||||
u16* var_r21;
|
||||
u8 *var_r22;
|
||||
u16 *var_r21;
|
||||
u32 var_r19;
|
||||
u32 var_r18;
|
||||
u8* temp_r17;
|
||||
u8 *temp_r17;
|
||||
|
||||
memset(lbl_1_bss_C, 0, 0x288);
|
||||
sp40 = *arg1;
|
||||
|
|
@ -3113,9 +3146,9 @@ s32 fn_1_AE18(u32 arg0, f32 arg8, Vec* arg1, Vec* arg2) {
|
|||
temp_f28 = var_r25->unk_3C;
|
||||
var_r19 = 0x2710;
|
||||
var_r18 = 0;
|
||||
|
||||
|
||||
for (var_r30 = 0; var_r30 < 9; var_r30++) {
|
||||
PSVECAdd(&sp40, &lbl_1_data_60C[var_r30], &sp34);
|
||||
VECAdd(&sp40, &lbl_1_data_60C[var_r30], &sp34);
|
||||
sp18 = temp_r17 + lbl_1_data_5E8[var_r30];
|
||||
(void)temp_r17;
|
||||
var_r21 = &(&lbl_1_bss_C[lbl_1_data_708[var_r30]])[0xAB];
|
||||
|
|
@ -3123,12 +3156,13 @@ s32 fn_1_AE18(u32 arg0, f32 arg8, Vec* arg1, Vec* arg2) {
|
|||
var_r29 = 0;
|
||||
var_r22 = sp18;
|
||||
sp28 = sp34;
|
||||
|
||||
|
||||
for (var_r23 = 0; var_r23 < 3; var_r23++) {
|
||||
for (var_r28 = 0; var_r28 < 9; var_r28++) {
|
||||
temp_r24 = var_r22 + lbl_1_data_5E8[var_r28];
|
||||
PSVECAdd(&sp28, &lbl_1_data_60C[var_r28], &sp4C);
|
||||
if ((lbl_1_bss_DBC->data <= temp_r24) && (((u8*)lbl_1_bss_DBC->data + 0x900 > temp_r24) && (fabs(sp4C.x) < 850.0) && (fabs(sp4C.z) < 850.0))) {
|
||||
VECAdd(&sp28, &lbl_1_data_60C[var_r28], &sp4C);
|
||||
if ((lbl_1_bss_DBC->data <= temp_r24)
|
||||
&& (((u8 *)lbl_1_bss_DBC->data + 0x900 > temp_r24) && (fabs(sp4C.x) < 850.0) && (fabs(sp4C.z) < 850.0))) {
|
||||
var_f31++;
|
||||
temp_r27 = &var_r21[lbl_1_data_708[var_r28]];
|
||||
if (*temp_r27 == 0) {
|
||||
|
|
@ -3142,9 +3176,9 @@ s32 fn_1_AE18(u32 arg0, f32 arg8, Vec* arg1, Vec* arg2) {
|
|||
for (var_r26 = 0; var_r26 < 4; var_r26++) {
|
||||
if (var_r26 != arg0) {
|
||||
var_r25 = lbl_1_bss_DC4[var_r26]->data;
|
||||
PSVECSubtract(&sp4C, &var_r25->unk_6C, &sp1C);
|
||||
VECSubtract(&sp4C, &var_r25->unk_6C, &sp1C);
|
||||
sp1C.y = 0.0f;
|
||||
var_f30 = PSVECMag(&sp1C);
|
||||
var_f30 = VECMag(&sp1C);
|
||||
if (var_f30 < var_f29) {
|
||||
var_f30 = var_f29 - var_f30;
|
||||
var_f30 *= (40.0f / var_f29);
|
||||
|
|
@ -3153,7 +3187,8 @@ s32 fn_1_AE18(u32 arg0, f32 arg8, Vec* arg1, Vec* arg2) {
|
|||
}
|
||||
}
|
||||
*temp_r27 = ++var_r31;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_r31 = *temp_r27;
|
||||
}
|
||||
var_r29 += var_r31;
|
||||
|
|
@ -3163,7 +3198,7 @@ s32 fn_1_AE18(u32 arg0, f32 arg8, Vec* arg1, Vec* arg2) {
|
|||
}
|
||||
}
|
||||
}
|
||||
PSVECAdd(&sp28, &lbl_1_data_69C[var_r30], &sp28);
|
||||
VECAdd(&sp28, &lbl_1_data_69C[var_r30], &sp28);
|
||||
var_r22 += lbl_1_data_678[var_r30];
|
||||
var_r21 = &var_r21[lbl_1_data_72C[var_r30]];
|
||||
var_f31 *= 2.0f;
|
||||
|
|
@ -3185,14 +3220,15 @@ s32 fn_1_AE18(u32 arg0, f32 arg8, Vec* arg1, Vec* arg2) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
f32 fn_1_B440(Vec* arg0, Vec* arg1, Vec* arg2) {
|
||||
f32 fn_1_B440(Vec *arg0, Vec *arg1, Vec *arg2)
|
||||
{
|
||||
Vec sp10;
|
||||
f32 temp_f30;
|
||||
f32 var_f31;
|
||||
|
||||
PSVECSubtract(arg1, arg0, &sp10);
|
||||
var_f31 = PSVECDotProduct(&sp10, arg2);
|
||||
temp_f30 = -PSVECSquareMag(arg2);
|
||||
|
||||
VECSubtract(arg1, arg0, &sp10);
|
||||
var_f31 = VECDotProduct(&sp10, arg2);
|
||||
temp_f30 = -VECSquareMag(arg2);
|
||||
if (temp_f30 != 0.0f) {
|
||||
var_f31 /= temp_f30;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,11 +1,12 @@
|
|||
#include "REL/m438Dll.h"
|
||||
|
||||
#include "ext_math.h"
|
||||
#include "string.h"
|
||||
#include "game/hsfanim.h"
|
||||
#include "game/hsfmotion.h"
|
||||
#include "game/sprite.h"
|
||||
#include "game/wipe.h"
|
||||
#include "string.h"
|
||||
|
||||
|
||||
// STRUCT
|
||||
typedef struct M438MapStruct {
|
||||
|
|
@ -32,8 +33,8 @@ typedef struct M438MapStruct2 {
|
|||
Vec unk30;
|
||||
Vec unk3C;
|
||||
union {
|
||||
M438MainWork4* unk48;
|
||||
HsfObject* unk48o;
|
||||
M438MainWork4 *unk48;
|
||||
HsfObject *unk48o;
|
||||
};
|
||||
} M438MapStruct2;
|
||||
|
||||
|
|
@ -45,56 +46,51 @@ typedef struct M438MapStruct3 {
|
|||
} M438MapStruct3;
|
||||
|
||||
// BSS
|
||||
omObjData* lbl_1_bss_108C[6];
|
||||
HsfanimStruct01* lbl_1_bss_E34[0x96];
|
||||
omObjData *lbl_1_bss_108C[6];
|
||||
HsfanimStruct01 *lbl_1_bss_E34[0x96];
|
||||
s32 lbl_1_bss_E30;
|
||||
s32 lbl_1_bss_E2C;
|
||||
s32 lbl_1_bss_E28;
|
||||
|
||||
// DATA
|
||||
char* lbl_1_data_848[] = {
|
||||
"iwa_s1", "iwa_s2", "iwa_s3", "iwa_s4", "iwa_s5",
|
||||
"iwa_s6", "iwa_s7", "iwa_s8", "iwa_s9",
|
||||
"iwa_s10", "iwa_s11", "iwa_s12", "iwa_s13",
|
||||
"iwa_s14", "iwa_s15", "iwa_s16", "iwa_s17",
|
||||
"iwa_s18", "iwa_s19", "iwa_s20", "iwa_s21",
|
||||
"iwa_s22", "iwa_s23", "iwa_s24", "iwa_s25",
|
||||
"iwa_s26", "iwa_s27", "iwa_s28", "iwa_s29",
|
||||
"iwa_s30", "iwa_s31", "iwa_s32"
|
||||
};
|
||||
char *lbl_1_data_848[] = { "iwa_s1", "iwa_s2", "iwa_s3", "iwa_s4", "iwa_s5", "iwa_s6", "iwa_s7", "iwa_s8", "iwa_s9", "iwa_s10", "iwa_s11", "iwa_s12",
|
||||
"iwa_s13", "iwa_s14", "iwa_s15", "iwa_s16", "iwa_s17", "iwa_s18", "iwa_s19", "iwa_s20", "iwa_s21", "iwa_s22", "iwa_s23", "iwa_s24", "iwa_s25",
|
||||
"iwa_s26", "iwa_s27", "iwa_s28", "iwa_s29", "iwa_s30", "iwa_s31", "iwa_s32" };
|
||||
|
||||
// PROTO
|
||||
void fn_1_B54C(omObjData*);
|
||||
void fn_1_BF20(omObjData*);
|
||||
void fn_1_B54C(omObjData *);
|
||||
void fn_1_BF20(omObjData *);
|
||||
void fn_1_CAB0(f32);
|
||||
void fn_1_C764(ModelData* model, ParticleData* particle, Mtx matrix);
|
||||
void fn_1_C8E8(ModelData* model, ParticleData* particle, Mtx matrix);
|
||||
void fn_1_D3FC(ModelData* model, ParticleData* particle, Mtx matrix);
|
||||
void fn_1_D57C(Vec*, f32);
|
||||
void fn_1_E034(Mtx, Vec*);
|
||||
void fn_1_C764(ModelData *model, ParticleData *particle, Mtx matrix);
|
||||
void fn_1_C8E8(ModelData *model, ParticleData *particle, Mtx matrix);
|
||||
void fn_1_D3FC(ModelData *model, ParticleData *particle, Mtx matrix);
|
||||
void fn_1_D57C(Vec *, f32);
|
||||
void fn_1_E034(Mtx, Vec *);
|
||||
|
||||
void fn_1_B4D8(Process* arg0) {
|
||||
omObjData* var_r31;
|
||||
void fn_1_B4D8(Process *arg0)
|
||||
{
|
||||
omObjData *var_r31;
|
||||
|
||||
lbl_1_bss_E30 = 0;
|
||||
var_r31 = lbl_1_bss_108C[0] = omAddObjEx(arg0, 0x20, 8, 0, -1, fn_1_B54C);
|
||||
var_r31->work[0] = 0;
|
||||
}
|
||||
|
||||
void fn_1_B548(void) {}
|
||||
void fn_1_B548(void) { }
|
||||
|
||||
void fn_1_B54C(omObjData* arg0) {
|
||||
void fn_1_B54C(omObjData *arg0)
|
||||
{
|
||||
Vec sp20;
|
||||
Vec sp14;
|
||||
Vec sp8;
|
||||
s32 var_r30;
|
||||
s32 var_r29;
|
||||
HsfObject* var_r26;
|
||||
HsfObject *var_r26;
|
||||
s32 var_r27;
|
||||
M438MapStruct2* var_r28;
|
||||
HsfanimStruct01* var_r25;
|
||||
M438MapStruct* var_r24;
|
||||
M438MapStruct3* temp_r23;
|
||||
M438MapStruct2 *var_r28;
|
||||
HsfanimStruct01 *var_r25;
|
||||
M438MapStruct *var_r24;
|
||||
M438MapStruct3 *temp_r23;
|
||||
|
||||
arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x108C, 0x10000000);
|
||||
temp_r23 = arg0->data;
|
||||
|
|
@ -116,29 +112,29 @@ void fn_1_B54C(omObjData* arg0) {
|
|||
var_r29 = Hu3DTexScrollCreate(arg0->model[1], "lafall");
|
||||
Hu3DTexScrollPosMoveSet(var_r29, 0.0f, -(1.0f / 60.0f), 0.0f);
|
||||
var_r29 = 0;
|
||||
|
||||
|
||||
var_r27 = Hu3DParticleCreate(HuSprAnimReadFile(0x45000C), 0x32);
|
||||
arg0->model[3] = var_r27;
|
||||
Hu3DModelLayerSet(var_r27, 3);
|
||||
Hu3DParticleHookSet(var_r27, fn_1_C764);
|
||||
for (var_r30 = 0; var_r30 < 0x32; var_r30++, var_r29++) {
|
||||
lbl_1_bss_E34[var_r29] = &((ParticleData*)(Hu3DData[var_r27].unk_120))->unk_48[var_r30];
|
||||
lbl_1_bss_E34[var_r29] = &((ParticleData *)(Hu3DData[var_r27].unk_120))->unk_48[var_r30];
|
||||
}
|
||||
|
||||
|
||||
var_r27 = Hu3DParticleCreate(HuSprAnimReadFile(0x45000D), 0x32);
|
||||
arg0->model[4] = var_r27;
|
||||
Hu3DModelLayerSet(var_r27, 3);
|
||||
Hu3DParticleHookSet(var_r27, fn_1_C764);
|
||||
for (var_r30 = 0; var_r30 < 0x32; var_r30++, var_r29++) {
|
||||
lbl_1_bss_E34[var_r29] = &((ParticleData*)(Hu3DData[var_r27].unk_120))->unk_48[var_r30];
|
||||
lbl_1_bss_E34[var_r29] = &((ParticleData *)(Hu3DData[var_r27].unk_120))->unk_48[var_r30];
|
||||
}
|
||||
|
||||
|
||||
var_r27 = Hu3DParticleCreate(HuSprAnimReadFile(0x45000E), 0x32);
|
||||
arg0->model[5] = var_r27;
|
||||
Hu3DModelLayerSet(var_r27, 3);
|
||||
Hu3DParticleHookSet(var_r27, fn_1_C764);
|
||||
for (var_r30 = 0; var_r30 < 0x32; var_r30++, var_r29++) {
|
||||
lbl_1_bss_E34[var_r29] = &((ParticleData*)(Hu3DData[var_r27].unk_120))->unk_48[var_r30];
|
||||
lbl_1_bss_E34[var_r29] = &((ParticleData *)(Hu3DData[var_r27].unk_120))->unk_48[var_r30];
|
||||
}
|
||||
for (var_r30 = 0; var_r30 < 0x95; var_r30++) {
|
||||
for (var_r29 = 1; var_r29 < 0x96; var_r29++) {
|
||||
|
|
@ -155,24 +151,24 @@ void fn_1_B54C(omObjData* arg0) {
|
|||
lbl_1_bss_E34[var_r30]->unk40.a = 0;
|
||||
lbl_1_bss_E34[var_r30]->unk00 = 0;
|
||||
}
|
||||
|
||||
|
||||
var_r27 = Hu3DParticleCreate(HuSprAnimReadFile(0x45000F), 0x32);
|
||||
arg0->model[6] = var_r27;
|
||||
Hu3DModelLayerSet(var_r27, 3);
|
||||
Hu3DParticleHookSet(var_r27, fn_1_C8E8);
|
||||
var_r25 = &((ParticleData*)(Hu3DData[var_r27].unk_120))->unk_48[0];
|
||||
var_r25 = &((ParticleData *)(Hu3DData[var_r27].unk_120))->unk_48[0];
|
||||
for (var_r30 = 0; var_r30 < 0x32; var_r30++, var_r25++) {
|
||||
var_r25->unk2C = 0.0f;
|
||||
var_r25->unk40.a = 0;
|
||||
var_r25->unk00 = 0;
|
||||
}
|
||||
|
||||
|
||||
var_r27 = Hu3DParticleCreate(HuSprAnimReadFile(0x450010), 0x1F4);
|
||||
arg0->model[7] = var_r27;
|
||||
Hu3DModelLayerSet(var_r27, 2);
|
||||
Hu3DParticleBlendModeSet(var_r27, 1);
|
||||
Hu3DParticleHookSet(var_r27, fn_1_D3FC);
|
||||
var_r25 = &((ParticleData*)(Hu3DData[var_r27].unk_120))->unk_48[0];
|
||||
var_r25 = &((ParticleData *)(Hu3DData[var_r27].unk_120))->unk_48[0];
|
||||
for (var_r30 = 0; var_r30 < 0x1F4; var_r30++, var_r25++) {
|
||||
var_r25->unk2C = 0.0f;
|
||||
var_r25->unk40.a = 0;
|
||||
|
|
@ -191,27 +187,27 @@ void fn_1_B54C(omObjData* arg0) {
|
|||
sp8.x = sp8.y = sp8.z = 100000.0f;
|
||||
|
||||
for (var_r29 = 0; var_r29 < var_r26->data.vertex->count; var_r29++) {
|
||||
if (((Vec*)var_r26->data.vertex->data)[var_r29].x > sp14.x) {
|
||||
sp14.x = ((Vec*)var_r26->data.vertex->data)[var_r29].x;
|
||||
if (((Vec *)var_r26->data.vertex->data)[var_r29].x > sp14.x) {
|
||||
sp14.x = ((Vec *)var_r26->data.vertex->data)[var_r29].x;
|
||||
}
|
||||
if (((Vec*)var_r26->data.vertex->data)[var_r29].y > sp14.y) {
|
||||
sp14.y = ((Vec*)var_r26->data.vertex->data)[var_r29].y;
|
||||
if (((Vec *)var_r26->data.vertex->data)[var_r29].y > sp14.y) {
|
||||
sp14.y = ((Vec *)var_r26->data.vertex->data)[var_r29].y;
|
||||
}
|
||||
if (((Vec*)var_r26->data.vertex->data)[var_r29].z > sp14.z) {
|
||||
sp14.z = ((Vec*)var_r26->data.vertex->data)[var_r29].z;
|
||||
if (((Vec *)var_r26->data.vertex->data)[var_r29].z > sp14.z) {
|
||||
sp14.z = ((Vec *)var_r26->data.vertex->data)[var_r29].z;
|
||||
}
|
||||
if (((Vec*)var_r26->data.vertex->data)[var_r29].x < sp8.x) {
|
||||
sp8.x = ((Vec*)var_r26->data.vertex->data)[var_r29].x;
|
||||
if (((Vec *)var_r26->data.vertex->data)[var_r29].x < sp8.x) {
|
||||
sp8.x = ((Vec *)var_r26->data.vertex->data)[var_r29].x;
|
||||
}
|
||||
if (((Vec*)var_r26->data.vertex->data)[var_r29].y < sp8.y) {
|
||||
sp8.y = ((Vec*)var_r26->data.vertex->data)[var_r29].y;
|
||||
if (((Vec *)var_r26->data.vertex->data)[var_r29].y < sp8.y) {
|
||||
sp8.y = ((Vec *)var_r26->data.vertex->data)[var_r29].y;
|
||||
}
|
||||
if (((Vec*)var_r26->data.vertex->data)[var_r29].z < sp8.z) {
|
||||
sp8.z = ((Vec*)var_r26->data.vertex->data)[var_r29].z;
|
||||
if (((Vec *)var_r26->data.vertex->data)[var_r29].z < sp8.z) {
|
||||
sp8.z = ((Vec *)var_r26->data.vertex->data)[var_r29].z;
|
||||
}
|
||||
}
|
||||
PSVECAdd(&sp14, &sp8, &sp20);
|
||||
PSVECScale(&sp20, &sp20, 0.5f);
|
||||
VECAdd(&sp14, &sp8, &sp20);
|
||||
VECScale(&sp20, &sp20, 0.5f);
|
||||
var_r28->unk24 = sp20;
|
||||
var_r28->unk30 = var_r28->unk24;
|
||||
var_r28->unk8 = (360.0 + atan2d(sp20.x, sp20.z));
|
||||
|
|
@ -241,7 +237,7 @@ Vec lbl_1_data_8D8[4][2] = {
|
|||
{ -867.0f, -80.0f, -485.0f },
|
||||
},
|
||||
{
|
||||
{ -917.0f, -80.0f, -857.0f },
|
||||
{ -917.0f, -80.0f, -857.0f },
|
||||
{ -817.0f, -80.0f, -1030.0f },
|
||||
},
|
||||
{
|
||||
|
|
@ -249,12 +245,13 @@ Vec lbl_1_data_8D8[4][2] = {
|
|||
{ 867.0f, -80.0f, -485.0f },
|
||||
},
|
||||
{
|
||||
{ 917.0f, -80.0f, -857.0f },
|
||||
{ 917.0f, -80.0f, -857.0f },
|
||||
{ 817.0f, -80.0f, -1030.0f },
|
||||
},
|
||||
};
|
||||
|
||||
void fn_1_BF20(omObjData* arg0) {
|
||||
void fn_1_BF20(omObjData *arg0)
|
||||
{
|
||||
Mtx sp5C;
|
||||
Mtx sp2C;
|
||||
Vec sp20;
|
||||
|
|
@ -264,18 +261,18 @@ void fn_1_BF20(omObjData* arg0) {
|
|||
f32 temp_f30;
|
||||
f32 temp_f31;
|
||||
s32 var_r29;
|
||||
M438MapStruct2* var_r31;
|
||||
M438MapStruct* var_r30;
|
||||
M438MapStruct3* temp_r28;
|
||||
M438MapStruct2 *var_r31;
|
||||
M438MapStruct *var_r30;
|
||||
M438MapStruct3 *temp_r28;
|
||||
|
||||
temp_r28 = arg0->data;
|
||||
temp_r28->unk0++;
|
||||
var_r31 = &temp_r28->unk4;
|
||||
|
||||
|
||||
for (var_r29 = 0; var_r29 < 0x20; var_r29++, var_r31++) {
|
||||
if ((var_r31->unk0 == 0) && (var_r31->unk4 != 0)) {
|
||||
temp_f29 = var_r31->unk30.y;
|
||||
PSVECAdd(&var_r31->unk30, &var_r31->unk3C, &var_r31->unk30);
|
||||
VECAdd(&var_r31->unk30, &var_r31->unk3C, &var_r31->unk30);
|
||||
var_r31->unk3C.x *= 0.92f;
|
||||
var_r31->unk3C.z *= 0.92f;
|
||||
var_r31->unk3C.y += -0.27222225f;
|
||||
|
|
@ -290,22 +287,22 @@ void fn_1_BF20(omObjData* arg0) {
|
|||
sp14.x = sind(90.0f + var_r31->unk8);
|
||||
sp14.z = cosd(90.0f + var_r31->unk8);
|
||||
sp14.y = 0.0f;
|
||||
PSMTXRotAxisRad(sp5C, &sp14, MTXDegToRad(var_r31->unkC));
|
||||
MTXRotAxisRad(sp5C, &sp14, MTXDegToRad(var_r31->unkC));
|
||||
sp14.x = sp14.z = 0.0f;
|
||||
sp14.y = 1.0f;
|
||||
PSMTXRotAxisRad(sp2C, &sp14, MTXDegToRad(var_r31->unk14));
|
||||
PSMTXConcat(sp2C, sp5C, sp5C);
|
||||
MTXRotAxisRad(sp2C, &sp14, MTXDegToRad(var_r31->unk14));
|
||||
MTXConcat(sp2C, sp5C, sp5C);
|
||||
sp14.x = sind(var_r31->unk8);
|
||||
sp14.z = cosd(var_r31->unk8);
|
||||
sp14.y = 0.0f;
|
||||
PSMTXRotAxisRad(sp2C, &sp14, MTXDegToRad(var_r31->unk1C));
|
||||
PSMTXConcat(sp2C, sp5C, sp5C);
|
||||
MTXRotAxisRad(sp2C, &sp14, MTXDegToRad(var_r31->unk1C));
|
||||
MTXConcat(sp2C, sp5C, sp5C);
|
||||
fn_1_E034(sp5C, &sp20);
|
||||
var_r31->unk48->unk_28.x = sp20.x;
|
||||
var_r31->unk48->unk_28.y = sp20.y;
|
||||
var_r31->unk48->unk_28.z = sp20.z;
|
||||
PSMTXInverse(sp5C, sp5C);
|
||||
PSMTXMultVec(sp5C, &var_r31->unk24, &sp8);
|
||||
MTXInverse(sp5C, sp5C);
|
||||
MTXMultVec(sp5C, &var_r31->unk24, &sp8);
|
||||
var_r31->unk48->unk_1C.x = (var_r31->unk30.x - sp8.x);
|
||||
var_r31->unk48->unk_1C.y = (var_r31->unk30.y - sp8.y);
|
||||
var_r31->unk48->unk_1C.z = (var_r31->unk30.z - sp8.z);
|
||||
|
|
@ -316,16 +313,18 @@ void fn_1_BF20(omObjData* arg0) {
|
|||
}
|
||||
if ((temp_r28->unk0 & 1) == 0) {
|
||||
var_r30 = &temp_r28->unk984;
|
||||
|
||||
|
||||
for (var_r29 = 0; var_r29 < 0x32; var_r29++, var_r30++) {
|
||||
if (var_r30->unk0 != 0) continue;
|
||||
if (var_r30->unk0 != 0)
|
||||
continue;
|
||||
var_r30->unk0 = 1;
|
||||
var_r30->unk18 = frandmod(0x168);
|
||||
if (frandmod(0x64) < 0x14) {
|
||||
var_r30->unkC.x = (0.8f * (frandmod(0x7D0) - 0x3E8));
|
||||
var_r30->unkC.y = -80.0f;
|
||||
var_r30->unkC.z = ((-1.2f * frandmod(0x3E8)) - 1000.0f);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
temp_f31 = frandmod(0x168);
|
||||
temp_f30 = 800.0f + (0.25f * frandmod(0x3E8));
|
||||
var_r30->unkC.x = (temp_f30 * sind(temp_f31));
|
||||
|
|
@ -353,13 +352,13 @@ void fn_1_BF20(omObjData* arg0) {
|
|||
Hu3DModelScaleSet(var_r30->unk4, var_r30->unk1C, var_r30->unk1C, var_r30->unk1C);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
for (var_r29 = 0; var_r29 < 4; var_r29++) {
|
||||
PSVECSubtract(&lbl_1_data_8D8[var_r29][1], &lbl_1_data_8D8[var_r29][0], &sp14);
|
||||
VECSubtract(&lbl_1_data_8D8[var_r29][1], &lbl_1_data_8D8[var_r29][0], &sp14);
|
||||
temp_f31 = 0.001f * frandmod(0x3E8);
|
||||
PSVECScale(&sp14, &sp14, temp_f31);
|
||||
PSVECAdd(&lbl_1_data_8D8[var_r29][0], &sp14, &sp8);
|
||||
PSVECScale(&sp8, &sp8, 0.98f);
|
||||
VECScale(&sp14, &sp14, temp_f31);
|
||||
VECAdd(&lbl_1_data_8D8[var_r29][0], &sp14, &sp8);
|
||||
VECScale(&sp8, &sp8, 0.98f);
|
||||
fn_1_D57C(&sp8, 0.03f);
|
||||
}
|
||||
if ((lbl_1_bss_E30 == 0) && (WipeStatGet() == 0)) {
|
||||
|
|
@ -369,16 +368,17 @@ void fn_1_BF20(omObjData* arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
void fn_1_C764(ModelData* model, ParticleData* particle, Mtx matrix) {
|
||||
HsfanimStruct01* var_r31;
|
||||
void fn_1_C764(ModelData *model, ParticleData *particle, Mtx matrix)
|
||||
{
|
||||
HsfanimStruct01 *var_r31;
|
||||
s32 var_r29;
|
||||
u16 temp_r0;
|
||||
|
||||
var_r31 = particle->unk_48;
|
||||
|
||||
|
||||
for (var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) {
|
||||
if (var_r31->unk00_s16 != 0) {
|
||||
PSVECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
|
||||
VECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
|
||||
var_r31->unk08.x *= 0.95f;
|
||||
var_r31->unk08.z *= 0.95f;
|
||||
var_r31->unk08.y += -0.27222225f;
|
||||
|
|
@ -395,20 +395,21 @@ void fn_1_C764(ModelData* model, ParticleData* particle, Mtx matrix) {
|
|||
DCStoreRange(particle->unk_48, particle->unk_30 * 0x44);
|
||||
}
|
||||
|
||||
void fn_1_C8E8(ModelData* model, ParticleData* particle, Mtx matrix) {
|
||||
HsfanimStruct01* var_r31;
|
||||
void fn_1_C8E8(ModelData *model, ParticleData *particle, Mtx matrix)
|
||||
{
|
||||
HsfanimStruct01 *var_r31;
|
||||
s32 var_r29;
|
||||
u16 temp_r0;
|
||||
|
||||
var_r31 = particle->unk_48;
|
||||
|
||||
|
||||
for (var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) {
|
||||
if (var_r31->unk00_s16 != 0) {
|
||||
PSVECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
|
||||
VECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
|
||||
var_r31->unk08.x *= 0.92f;
|
||||
var_r31->unk08.z *= 0.92f;
|
||||
var_r31->unk2C += 5.0f;
|
||||
var_r31->unk40.a *= 0.99f;
|
||||
var_r31->unk40.a *= 0.99f;
|
||||
if (var_r31->unk00_s16 < 24.0f) {
|
||||
var_r31->unk40.a = 0.9f * var_r31->unk40.a;
|
||||
}
|
||||
|
|
@ -422,20 +423,21 @@ void fn_1_C8E8(ModelData* model, ParticleData* particle, Mtx matrix) {
|
|||
DCStoreRange(particle->unk_48, particle->unk_30 * 0x44);
|
||||
}
|
||||
|
||||
void fn_1_CAB0(f32 arg8) {
|
||||
void fn_1_CAB0(f32 arg8)
|
||||
{
|
||||
Vec sp8;
|
||||
f32 temp_f31;
|
||||
f32 temp_f30;
|
||||
f32 temp_f28;
|
||||
f32 temp_f27;
|
||||
HsfanimStruct01* var_r31;
|
||||
HsfanimStruct01 *var_r31;
|
||||
s32 var_r30;
|
||||
u32 var_r29;
|
||||
|
||||
temp_f28 = 20.0f;
|
||||
temp_f27 = 7.0f;
|
||||
var_r29 = 0x19;
|
||||
|
||||
|
||||
for (var_r30 = 0; var_r30 < 0x96; var_r30++) {
|
||||
var_r31 = lbl_1_bss_E34[var_r30];
|
||||
if (var_r31->unk00_s16 == 0) {
|
||||
|
|
@ -445,12 +447,12 @@ void fn_1_CAB0(f32 arg8) {
|
|||
sp8.x = sind(temp_f31);
|
||||
sp8.y = 0.0f;
|
||||
sp8.z = cosd(temp_f31);
|
||||
|
||||
|
||||
temp_f31 = arg8 + (((0.002f * frandmod(0x3E8)) - 1.0f)) * temp_f27;
|
||||
var_r31->unk34.x = 7.5 * sind(temp_f31) * 100.0;
|
||||
var_r31->unk34.y = 0.2f * frandmod(0x3E8);
|
||||
var_r31->unk34.z = 7.5 * cosd(temp_f31) * 100.0;
|
||||
|
||||
|
||||
temp_f30 = 1.6666667f * (4.0f + (0.014f * frandmod(0x3E8)));
|
||||
var_r31->unk08.x = sp8.x * temp_f30;
|
||||
var_r31->unk08.z = sp8.z * temp_f30;
|
||||
|
|
@ -462,10 +464,11 @@ void fn_1_CAB0(f32 arg8) {
|
|||
var_r31->unk40.r = var_r31->unk40.g = var_r31->unk40.b = 0xFF;
|
||||
|
||||
var_r29--;
|
||||
if (var_r29 < 1) break;
|
||||
if (var_r29 < 1)
|
||||
break;
|
||||
}
|
||||
}
|
||||
var_r31 = ((ParticleData*)(Hu3DData[lbl_1_bss_108C[0]->model[6]].unk_120))->unk_48;
|
||||
var_r31 = ((ParticleData *)(Hu3DData[lbl_1_bss_108C[0]->model[6]].unk_120))->unk_48;
|
||||
var_r29 = 0xF;
|
||||
for (var_r30 = 0; var_r30 < 0x32; var_r30++, var_r31++) {
|
||||
if (var_r31->unk00_s16 == 0) {
|
||||
|
|
@ -475,12 +478,12 @@ void fn_1_CAB0(f32 arg8) {
|
|||
sp8.x = sind(temp_f31);
|
||||
sp8.y = 0.0f;
|
||||
sp8.z = cosd(temp_f31);
|
||||
|
||||
|
||||
temp_f31 = arg8 + (((0.002f * frandmod(0x3E8)) - 1.0f)) * temp_f27;
|
||||
var_r31->unk34.x = 7.5 * sind(temp_f31) * 100.0;
|
||||
var_r31->unk34.y = 0.2f * frandmod(0x3E8);
|
||||
var_r31->unk34.z = 7.5 * cosd(temp_f31) * 100.0;
|
||||
|
||||
|
||||
temp_f30 = 1.6666667f * -(0.01f * frandmod(0x3E8));
|
||||
var_r31->unk08.x = sp8.x * temp_f30;
|
||||
var_r31->unk08.z = sp8.z * temp_f30;
|
||||
|
|
@ -495,13 +498,15 @@ void fn_1_CAB0(f32 arg8) {
|
|||
var_r31->unk40.b = (60.0f * temp_f31) + 54.0f;
|
||||
|
||||
var_r29--;
|
||||
if (var_r29 < 1) break;
|
||||
if (var_r29 < 1)
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_D3FC(ModelData* model, ParticleData* particle, Mtx matrix) {
|
||||
HsfanimStruct01* var_r31;
|
||||
void fn_1_D3FC(ModelData *model, ParticleData *particle, Mtx matrix)
|
||||
{
|
||||
HsfanimStruct01 *var_r31;
|
||||
s32 var_r29;
|
||||
u16 temp_r0;
|
||||
|
||||
|
|
@ -509,7 +514,7 @@ void fn_1_D3FC(ModelData* model, ParticleData* particle, Mtx matrix) {
|
|||
var_r31 = particle->unk_48;
|
||||
for (var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) {
|
||||
if (var_r31->unk00_s16 != 0) {
|
||||
PSVECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
|
||||
VECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
|
||||
var_r31->unk08.y += -0.27222225f;
|
||||
if (var_r31->unk00_s16 < 12.0f) {
|
||||
var_r31->unk40.a = (0.8f * var_r31->unk40.a);
|
||||
|
|
@ -525,17 +530,18 @@ void fn_1_D3FC(ModelData* model, ParticleData* particle, Mtx matrix) {
|
|||
DCStoreRange(particle->unk_48, particle->unk_30 * 0x44);
|
||||
}
|
||||
|
||||
void fn_1_D57C(Vec* arg0, f32 arg1) {
|
||||
void fn_1_D57C(Vec *arg0, f32 arg1)
|
||||
{
|
||||
Vec sp8;
|
||||
f32 temp_f31;
|
||||
f32 temp_f29;
|
||||
HsfanimStruct01* var_r31;
|
||||
HsfanimStruct01 *var_r31;
|
||||
s32 var_r30;
|
||||
u32 var_r29;
|
||||
|
||||
var_r31 = ((ParticleData*)(Hu3DData[lbl_1_bss_108C[0]->model[7]].unk_120))->unk_48;
|
||||
var_r31 = ((ParticleData *)(Hu3DData[lbl_1_bss_108C[0]->model[7]].unk_120))->unk_48;
|
||||
var_r29 = (u32)(3.0f + (15.0f * arg1));
|
||||
|
||||
|
||||
for (var_r30 = 0; var_r30 < 0x1F4; var_r30++, var_r31++) {
|
||||
if (var_r31->unk00_s16 == 0) {
|
||||
var_r31->unk00_s16 = 60.0f * (0.3f + (0.0003f * frandmod(0x3E8)));
|
||||
|
|
@ -557,28 +563,30 @@ void fn_1_D57C(Vec* arg0, f32 arg1) {
|
|||
var_r31->unk40.a = (frandmod(0x46) + 0x64);
|
||||
|
||||
temp_f31 = 0.001f * frandmod(0x3E8);
|
||||
var_r31->unk40.r = 177.0f + (78.0f * temp_f31);
|
||||
var_r31->unk40.g = 60.0f + (129.0f * temp_f31);
|
||||
var_r31->unk40.b = 30.0f + (122.0f * temp_f31);
|
||||
var_r31->unk40.r = 177.0f + (78.0f * temp_f31);
|
||||
var_r31->unk40.g = 60.0f + (129.0f * temp_f31);
|
||||
var_r31->unk40.b = 30.0f + (122.0f * temp_f31);
|
||||
|
||||
var_r29--;
|
||||
if (var_r29 < 1) break;
|
||||
if (var_r29 < 1)
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
s32 fn_1_DA64(f32 arg8) {
|
||||
M438MapStruct3* var_r28;
|
||||
s32 fn_1_DA64(f32 arg8)
|
||||
{
|
||||
M438MapStruct3 *var_r28;
|
||||
s32 var_r29;
|
||||
s32 var_r30;
|
||||
M438MapStruct2* var_r31;
|
||||
M438MapStruct2 *var_r31;
|
||||
float var_f31;
|
||||
float var_f29;
|
||||
|
||||
var_r28 = lbl_1_bss_108C[0]->data;
|
||||
var_r29 = 0;
|
||||
var_r31 = &var_r28->unk4;
|
||||
|
||||
|
||||
for (var_r30 = 0; var_r30 < 0x20; var_r30++, var_r31++) {
|
||||
var_f31 = fn_1_E5A4(var_r31->unk8, arg8);
|
||||
if ((fabs(var_f31) < 12.0) && (var_r31->unk0 != 0)) {
|
||||
|
|
@ -608,17 +616,18 @@ s32 fn_1_DA64(f32 arg8) {
|
|||
return var_r29;
|
||||
}
|
||||
|
||||
s32 fn_1_DEA0(f32 arg8) {
|
||||
M438MapStruct3* var_r28;
|
||||
s32 fn_1_DEA0(f32 arg8)
|
||||
{
|
||||
M438MapStruct3 *var_r28;
|
||||
s32 var_r29;
|
||||
s32 var_r30;
|
||||
M438MapStruct2* var_r31;
|
||||
M438MapStruct2 *var_r31;
|
||||
f32 var_f31;
|
||||
|
||||
var_r28 = lbl_1_bss_108C[0]->data;
|
||||
var_r29 = 0;
|
||||
var_r31 = &var_r28->unk4;
|
||||
|
||||
|
||||
for (var_r30 = 0; var_r30 < 0x20; var_r30++, var_r31++) {
|
||||
var_f31 = fn_1_E5A4(var_r31->unk8, arg8);
|
||||
if ((fabs(var_f31) < 8.0) && (var_r31->unk0 != 0)) {
|
||||
|
|
@ -629,7 +638,8 @@ s32 fn_1_DEA0(f32 arg8) {
|
|||
return var_r29;
|
||||
}
|
||||
|
||||
f32 fn_1_DF70(f32 arg8, f32 arg9) {
|
||||
f32 fn_1_DF70(f32 arg8, f32 arg9)
|
||||
{
|
||||
f32 temp_f30;
|
||||
f32 var_f31;
|
||||
|
||||
|
|
@ -637,13 +647,15 @@ f32 fn_1_DF70(f32 arg8, f32 arg9) {
|
|||
var_f31 = 180.0 * (atan2f(arg9, arg8) / M_PI);
|
||||
if (var_f31 < 0.0f) {
|
||||
var_f31 += temp_f30;
|
||||
} else if (var_f31 >= temp_f30) {
|
||||
}
|
||||
else if (var_f31 >= temp_f30) {
|
||||
var_f31 -= temp_f30;
|
||||
}
|
||||
return var_f31;
|
||||
}
|
||||
|
||||
void fn_1_E034(Mtx arg0, Vec* arg1) {
|
||||
void fn_1_E034(Mtx arg0, Vec *arg1)
|
||||
{
|
||||
f32 var_f26;
|
||||
f32 temp_f25;
|
||||
|
||||
|
|
@ -659,7 +671,8 @@ void fn_1_E034(Mtx arg0, Vec* arg1) {
|
|||
arg1->y = fn_1_DF70(var_f26, temp_f25);
|
||||
}
|
||||
|
||||
f32 fn_1_E488(f32 arg8, f32 arg9, f32 argA) {
|
||||
f32 fn_1_E488(f32 arg8, f32 arg9, f32 argA)
|
||||
{
|
||||
f32 var_f31;
|
||||
|
||||
var_f31 = fmodf((arg9 - arg8), 360.0);
|
||||
|
|
@ -676,7 +689,8 @@ f32 fn_1_E488(f32 arg8, f32 arg9, f32 argA) {
|
|||
return var_f31;
|
||||
}
|
||||
|
||||
f32 fn_1_E5A4(f32 arg8, f32 arg9) {
|
||||
f32 fn_1_E5A4(f32 arg8, f32 arg9)
|
||||
{
|
||||
f32 var_f31;
|
||||
|
||||
var_f31 = fmodf((arg9 - arg8), 360.0);
|
||||
|
|
|
|||
|
|
@ -1276,7 +1276,7 @@ void fn_1_57B4(unkStruct6 *arg0)
|
|||
var_r31->unkB8.z *= 0.5f;
|
||||
}
|
||||
}
|
||||
PSMTXScale(sp14, var_r31->unk88.x, var_r31->unk88.y, var_r31->unk88.z);
|
||||
MTXScale(sp14, var_r31->unk88.x, var_r31->unk88.y, var_r31->unk88.z);
|
||||
mtxTransCat(sp14, -var_r31->unk7C.x, -var_r31->unk7C.y, -var_r31->unk7C.z);
|
||||
mtxRotCat(sp14, var_r31->unkA0.x, var_r31->unkA0.y, var_r31->unkA0.z);
|
||||
mtxTransCat(sp14, var_r31->unk94.x + var_r31->unk7C.x, var_r31->unk94.y + var_r31->unk7C.y, var_r31->unk94.z + var_r31->unk7C.z);
|
||||
|
|
@ -1288,14 +1288,14 @@ void fn_1_57B4(unkStruct6 *arg0)
|
|||
else {
|
||||
var_r29 = var_r31->unk18[var_r28];
|
||||
}
|
||||
PSMTXMultVec(sp14, &temp_r26[var_r29], &sp8);
|
||||
MTXMultVec(sp14, &temp_r26[var_r29], &sp8);
|
||||
arg0->unkC[var_r29].x = sp8.x;
|
||||
arg0->unkC[var_r29].y = sp8.y;
|
||||
arg0->unkC[var_r29].z = sp8.z;
|
||||
}
|
||||
if ((arg0->unk2 & 2) != 0) {
|
||||
var_r29 = var_r31->unk1E;
|
||||
PSMTXMultVec(sp14, &temp_r26[var_r29], &sp8);
|
||||
MTXMultVec(sp14, &temp_r26[var_r29], &sp8);
|
||||
arg0->unkC[var_r29].x = sp8.x;
|
||||
arg0->unkC[var_r29].y = sp8.y;
|
||||
arg0->unkC[var_r29].z = sp8.z;
|
||||
|
|
@ -1359,7 +1359,7 @@ void fn_1_5C2C(s16 arg0, HsfObject *arg1, unkStruct6 *arg2, u16 arg3)
|
|||
var_r22 = NULL;
|
||||
}
|
||||
var_r25 = &arg1->data.base;
|
||||
PSMTXScale(sp68, var_r25->scale.x, var_r25->scale.y, var_r25->scale.z);
|
||||
MTXScale(sp68, var_r25->scale.x, var_r25->scale.y, var_r25->scale.z);
|
||||
mtxRotCat(sp68, var_r25->rot.x, var_r25->rot.y, var_r25->rot.z);
|
||||
mtxTransCat(sp68, var_r25->pos.x, var_r25->pos.y, var_r25->pos.z);
|
||||
|
||||
|
|
@ -1375,7 +1375,7 @@ void fn_1_5C2C(s16 arg0, HsfObject *arg1, unkStruct6 *arg2, u16 arg3)
|
|||
var_r27 = arg2->unk24[var_r30].unk18[var_r28];
|
||||
var_r23 = arg2->unk24[var_r30].unk0[var_r28].unk0;
|
||||
}
|
||||
PSMTXMultVec(sp68, &((Vec *)(arg1->data.vertex->data))[var_r23], &sp38);
|
||||
MTXMultVec(sp68, &((Vec *)(arg1->data.vertex->data))[var_r23], &sp38);
|
||||
arg2->unkC[var_r27] = sp38;
|
||||
sp44[var_r28] = arg2->unkC[var_r27];
|
||||
arg2->unk14[var_r27] = arg2->unk18[var_r23];
|
||||
|
|
@ -1860,7 +1860,7 @@ void fn_1_806C(ModelData *arg0, Mtx arg1)
|
|||
temp_r27(temp_r31);
|
||||
}
|
||||
GXLoadPosMtxImm(arg1, 0);
|
||||
PSMTXInvXpose(arg1, sp14);
|
||||
MTXInvXpose(arg1, sp14);
|
||||
GXLoadNrmMtxImm(sp14, 0);
|
||||
fn_1_8AC4(arg1);
|
||||
sp10.r = (temp_r31->unk28->unkB[0] * arg0->unk_58.x);
|
||||
|
|
@ -1974,7 +1974,7 @@ void fn_1_8470(unkStruct12 *arg0, unkStruct13 *arg1)
|
|||
if (var_f31 < 0.1) {
|
||||
var_f31 = 0.1f;
|
||||
}
|
||||
PSMTXCopy(lbl_1_bss_30, sp10);
|
||||
MTXCopy(lbl_1_bss_30, sp10);
|
||||
mtxScaleCat(sp10, var_f31, var_f31, var_f31);
|
||||
GXLoadTexMtxImm(sp10, 0x24, GX_MTX2x4);
|
||||
var_r31++;
|
||||
|
|
@ -2050,31 +2050,31 @@ void fn_1_8AC4(Mtx arg0)
|
|||
var_r29 = &Hu3DGlobalLight[0];
|
||||
sp34 = var_r29->unk_28;
|
||||
if ((var_r29->unk_00 & 0x8000) != 0) {
|
||||
PSMTXMultVecSR(Hu3DCameraMtx, &sp34, &sp34);
|
||||
MTXMultVecSR(Hu3DCameraMtx, &sp34, &sp34);
|
||||
}
|
||||
var_f30 = VECDotProduct(&sp34, &sp10);
|
||||
var_f30 *= 10000.0f;
|
||||
OSf32tos16(&var_f30, &temp_r31);
|
||||
if (temp_r31 == -0x2710) {
|
||||
PSMTXScale(lbl_1_bss_30, 0.0f, 0.0f, 0.0f);
|
||||
MTXScale(lbl_1_bss_30, 0.0f, 0.0f, 0.0f);
|
||||
return;
|
||||
}
|
||||
C_VECHalfAngle(&sp34, &sp10, &sp28);
|
||||
sp28.x = -sp28.x;
|
||||
sp28.y = -sp28.y;
|
||||
sp28.z = -sp28.z;
|
||||
PSMTXInvXpose(arg0, sp70);
|
||||
MTXInvXpose(arg0, sp70);
|
||||
if (temp_r31 == 0x2710) {
|
||||
PSMTXIdentity(sp40);
|
||||
MTXIdentity(sp40);
|
||||
}
|
||||
else {
|
||||
VECCrossProduct(&sp28, &sp10, &sp1C);
|
||||
var_f29 = acosf(VECDotProduct(&sp10, &sp28));
|
||||
PSMTXRotAxisRad(sp40, &sp1C, var_f29);
|
||||
MTXRotAxisRad(sp40, &sp1C, var_f29);
|
||||
}
|
||||
PSMTXConcat(sp40, sp70, spA0);
|
||||
PSMTXTrans(sp40, 0.5f, 0.5f, 0.0f);
|
||||
PSMTXConcat(sp40, spA0, lbl_1_bss_30);
|
||||
MTXConcat(sp40, sp70, spA0);
|
||||
MTXTrans(sp40, 0.5f, 0.5f, 0.0f);
|
||||
MTXConcat(sp40, spA0, lbl_1_bss_30);
|
||||
}
|
||||
|
||||
void fn_1_8D1C(void)
|
||||
|
|
@ -2097,7 +2097,7 @@ void fn_1_8D1C(void)
|
|||
if (var_r30 == 5) {
|
||||
C_MTXOrtho(sp60, 0.0f, 480.0f, 0.0f, 640.0f, 0.0f, 10.0f);
|
||||
GXSetProjection(sp60, GX_ORTHOGRAPHIC);
|
||||
PSMTXIdentity(sp30);
|
||||
MTXIdentity(sp30);
|
||||
GXLoadPosMtxImm(sp30, 0);
|
||||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
|
||||
|
|
@ -2491,9 +2491,9 @@ void fn_1_9C04(ModelData *arg0, Mtx arg1)
|
|||
}
|
||||
else {
|
||||
fn_1_A328(&temp_r30->unk2C, &sp38, &var_r29->unk48, 4);
|
||||
PSMTXRotRad(spC8, 0x5A, 0.017453292f * var_r29->unk44);
|
||||
PSMTXConcat(sp128, spC8, sp98);
|
||||
PSMTXMultVecArray(sp98, &sp38, &sp8, 4);
|
||||
MTXRotRad(spC8, 0x5A, 0.017453292f * var_r29->unk44);
|
||||
MTXConcat(sp128, spC8, sp98);
|
||||
MTXMultVecArray(sp98, &sp38, &sp8, 4);
|
||||
VECAdd(&sp8, &var_r29->unk54, var_r31++);
|
||||
VECAdd(&sp14, &var_r29->unk54, var_r31++);
|
||||
VECAdd(&sp20, &var_r29->unk54, var_r31++);
|
||||
|
|
|
|||
|
|
@ -10,12 +10,10 @@
|
|||
#include "string.h"
|
||||
#include "version.h"
|
||||
|
||||
|
||||
#ifdef __MWERKS__
|
||||
#include "game/audio.h"
|
||||
#endif
|
||||
|
||||
|
||||
// bss
|
||||
omObjData *lbl_1_bss_C0[4];
|
||||
s16 lbl_1_bss_B8[4];
|
||||
|
|
@ -1025,7 +1023,7 @@ u8 fn_1_E8AC(omObjData *arg0, unkObjStruct *arg1)
|
|||
arg1->unk24.z = (1050.0 * sind(var_f31));
|
||||
}
|
||||
arg1->unk30.y = 0.0f;
|
||||
PSMTXRotRad(temp_r29->unk_F0, 0x59, 0.017453292f * arg1->unk68);
|
||||
MTXRotRad(temp_r29->unk_F0, 0x59, 0.017453292f * arg1->unk68);
|
||||
arg1->unk60++;
|
||||
if (lbl_1_data_1D8 == 0) {
|
||||
fn_1_18E0();
|
||||
|
|
@ -1044,7 +1042,7 @@ u8 fn_1_E8AC(omObjData *arg0, unkObjStruct *arg1)
|
|||
arg1->unk18.y = fn_1_93D0(lbl_1_bss_78.y, 1400.0f + lbl_1_bss_78.y, 0.0f, var_f31);
|
||||
arg1->unk18.z = lbl_1_bss_78.z + (var_f31 * (arg1->unk24.z - lbl_1_bss_78.x));
|
||||
arg1->unk30.x = 180.0f * var_f31;
|
||||
PSMTXRotRad(temp_r29->unk_F0, 0x59, 0.017453292f * arg1->unk68);
|
||||
MTXRotRad(temp_r29->unk_F0, 0x59, 0.017453292f * arg1->unk68);
|
||||
break;
|
||||
case 3:
|
||||
fn_1_F4D4(arg1, 15, 8);
|
||||
|
|
|
|||
|
|
@ -403,9 +403,9 @@ void fn_1_1D70(s16 arg0, char *arg1, Vec *arg2, Mtx arg3)
|
|||
|
||||
var_r30 = &Hu3DData[arg0];
|
||||
Hu3DModelObjMtxGet(arg0, arg1, spC);
|
||||
PSMTXConcat(var_r30->unk_F0, spC, spC);
|
||||
MTXConcat(var_r30->unk_F0, spC, spC);
|
||||
if (NULL != arg3) {
|
||||
PSMTXCopy(spC, arg3);
|
||||
MTXCopy(spC, arg3);
|
||||
}
|
||||
arg2->x = spC[0][3];
|
||||
arg2->y = spC[1][3];
|
||||
|
|
|
|||
|
|
@ -1489,7 +1489,7 @@ void fn_1_485C(ModelData *model, Mtx mtx)
|
|||
var_r29 = Hu3DCamera;
|
||||
C_MTXOrtho(sp100, 0.0f, 480.0f, 0.0f, 640.0f, 0.0f, 100.0f);
|
||||
GXSetProjection(sp100, GX_ORTHOGRAPHIC);
|
||||
PSMTXIdentity(spD0);
|
||||
MTXIdentity(spD0);
|
||||
GXLoadPosMtxImm(spD0, 0);
|
||||
GXSetNumChans(1);
|
||||
GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_CLAMP, GX_AF_NONE);
|
||||
|
|
@ -1529,7 +1529,7 @@ void fn_1_485C(ModelData *model, Mtx mtx)
|
|||
GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT);
|
||||
C_MTXPerspective(sp40, var_r29->fov, var_r29->aspect, var_r29->near, var_r29->far);
|
||||
GXSetProjection(sp40, GX_PERSPECTIVE);
|
||||
PSMTXInverse(mtx, spA0);
|
||||
MTXInverse(mtx, spA0);
|
||||
spA0[0][3] = spA0[1][3] = spA0[2][3] = 0.0f;
|
||||
PSMTXReorder(spA0, sp70);
|
||||
PSMTXROMultVecArray(sp70, &lbl_1_data_1C0[0], &sp10, 4);
|
||||
|
|
@ -1585,7 +1585,7 @@ void fn_1_54C8(ModelData *model, Mtx mtx)
|
|||
fn_1_8520(&lbl_1_bss_C05C[1], 0);
|
||||
C_MTXOrtho(sp5C, 0.0f, 480.0f, 0.0f, 640.0f, 0.0f, 100.0f);
|
||||
GXSetProjection(sp5C, GX_ORTHOGRAPHIC);
|
||||
PSMTXIdentity(sp2C);
|
||||
MTXIdentity(sp2C);
|
||||
GXLoadPosMtxImm(sp2C, 0);
|
||||
GXSetZMode(GX_FALSE, GX_LEQUAL, GX_FALSE);
|
||||
GXSetNumTexGens(2);
|
||||
|
|
@ -1734,9 +1734,9 @@ void fn_1_5EDC(ModelData *model, float (*mtx)[4])
|
|||
s32 var_r30;
|
||||
|
||||
var_r31 = model->unk_120;
|
||||
PSMTXInverse(mtx, spC);
|
||||
MTXInverse(mtx, spC);
|
||||
spC[0][3] = spC[1][3] = spC[2][3] = 0.0f;
|
||||
PSMTXConcat(mtx, &spC[0], mtx);
|
||||
MTXConcat(mtx, &spC[0], mtx);
|
||||
GXLoadPosMtxImm(mtx, 0);
|
||||
GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE);
|
||||
GXSetNumTexGens(1);
|
||||
|
|
|
|||
|
|
@ -495,15 +495,15 @@ void fn_1_1D8C(omObjData *object)
|
|||
lbl_1_bss_4 = HuAudSStreamPlay(0xB);
|
||||
}
|
||||
var_f31 = (float)object->work[0] / lbl_1_data_F0[object->work[1]];
|
||||
PSVECSubtract(&lbl_1_data_60[object->work[1] + 1], &lbl_1_data_60[object->work[1]], &sp8);
|
||||
PSVECScale(&sp8, &sp8, var_f31);
|
||||
PSVECAdd(&lbl_1_data_60[object->work[1]], &sp8, &sp8);
|
||||
VECSubtract(&lbl_1_data_60[object->work[1] + 1], &lbl_1_data_60[object->work[1]], &sp8);
|
||||
VECScale(&sp8, &sp8, var_f31);
|
||||
VECAdd(&lbl_1_data_60[object->work[1]], &sp8, &sp8);
|
||||
Center.x = sp8.x;
|
||||
Center.y = sp8.y;
|
||||
Center.z = sp8.z;
|
||||
PSVECSubtract(&lbl_1_data_A8[object->work[1] + 1], &lbl_1_data_A8[object->work[1]], &sp8);
|
||||
PSVECScale(&sp8, &sp8, var_f31);
|
||||
PSVECAdd(&lbl_1_data_A8[object->work[1]], &sp8, &sp8);
|
||||
VECSubtract(&lbl_1_data_A8[object->work[1] + 1], &lbl_1_data_A8[object->work[1]], &sp8);
|
||||
VECScale(&sp8, &sp8, var_f31);
|
||||
VECAdd(&lbl_1_data_A8[object->work[1]], &sp8, &sp8);
|
||||
CRot.x = sp8.x;
|
||||
CRot.y = sp8.y;
|
||||
CRot.z = 0.0f;
|
||||
|
|
@ -922,7 +922,7 @@ void fn_1_3D78(ModelData *arg0, Mtx arg1)
|
|||
{
|
||||
Mtx spC;
|
||||
|
||||
PSMTXIdentity(spC);
|
||||
MTXIdentity(spC);
|
||||
GXLoadPosMtxImm(spC, 0);
|
||||
GXSetNumChans(1);
|
||||
GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE);
|
||||
|
|
@ -1094,13 +1094,13 @@ void fn_1_4444(Vec *arg0, Vec *arg1)
|
|||
Vec sp10;
|
||||
float var_f30;
|
||||
|
||||
PSVECSubtract(arg1, arg0, &sp10);
|
||||
VECSubtract(arg1, arg0, &sp10);
|
||||
Center = *arg1;
|
||||
var_f30 = (sp10.x * sp10.x) + (sp10.z * sp10.z);
|
||||
CRot.x = atan2d(sp10.y, sqrtf(var_f30));
|
||||
CRot.y = atan2d(-sp10.x, -sp10.z);
|
||||
CRot.z = 0.0f;
|
||||
CZoom = PSVECMag(&sp10);
|
||||
CZoom = VECMag(&sp10);
|
||||
}
|
||||
|
||||
void fn_1_464C(float arg8, float arg9, float argA, float argB, float argC, float argD)
|
||||
|
|
@ -1116,13 +1116,13 @@ void fn_1_464C(float arg8, float arg9, float argA, float argB, float argC, float
|
|||
sp30.x = argB;
|
||||
sp30.y = argC;
|
||||
sp30.z = argD;
|
||||
PSVECSubtract(&sp30, &sp3C, &sp24);
|
||||
VECSubtract(&sp30, &sp3C, &sp24);
|
||||
Center = sp30;
|
||||
var_f30 = (sp24.x * sp24.x) + (sp24.z * sp24.z);
|
||||
CRot.x = atan2d(sp24.y, sqrtf(var_f30));
|
||||
CRot.y = atan2d(-sp24.x, -sp24.z);
|
||||
CRot.z = 0.0f;
|
||||
CZoom = PSVECMag(&sp24);
|
||||
CZoom = VECMag(&sp24);
|
||||
}
|
||||
|
||||
float fn_1_488C(float arg8, float arg9, float argA)
|
||||
|
|
|
|||
|
|
@ -132,11 +132,11 @@ void fn_1_4D14(omObjData *object)
|
|||
var_r30 = fn_1_40AC(lbl_1_data_240[var_r29 + 1]);
|
||||
mtxRot(sp5C, var_r30->unk_28.x, var_r30->unk_28.y, 0.0f);
|
||||
sp8.z = var_r30->unk_34;
|
||||
PSMTXMultVec(sp5C, &sp8, &sp14);
|
||||
PSVECAdd(&var_r30->unk_1C, &sp14, &sp20);
|
||||
MTXMultVec(sp5C, &sp8, &sp14);
|
||||
VECAdd(&var_r30->unk_1C, &sp14, &sp20);
|
||||
sp2C[var_r29].y += var_f31;
|
||||
PSMTXMultVec(sp5C, &sp2C[var_r29], &sp14);
|
||||
PSVECAdd(&sp20, &sp14, &sp20);
|
||||
MTXMultVec(sp5C, &sp2C[var_r29], &sp14);
|
||||
VECAdd(&sp20, &sp14, &sp20);
|
||||
Hu3DModelPosSetV(object->model[var_r29 + 9], &sp20);
|
||||
Hu3DModelRotSet(object->model[var_r29 + 9], var_r30->unk_28.x, var_r30->unk_28.y, 0.0f);
|
||||
Hu3DModelScaleSet(object->model[var_r29 + 9], 0.15f, 0.15f, 0.15f);
|
||||
|
|
|
|||
|
|
@ -382,7 +382,7 @@ void fn_1_5BD4(omObjData *object)
|
|||
break;
|
||||
}
|
||||
fn_1_7340(object);
|
||||
PSVECAdd(&temp_r31->unkC4, &temp_r31->unkD0, &temp_r31->unkC4);
|
||||
VECAdd(&temp_r31->unkC4, &temp_r31->unkD0, &temp_r31->unkC4);
|
||||
fn_1_7130(object);
|
||||
fn_1_69B4(object);
|
||||
|
||||
|
|
@ -428,11 +428,11 @@ void fn_1_6458(omObjData *object)
|
|||
var_r29 = 1;
|
||||
}
|
||||
fn_1_7340(object);
|
||||
PSVECAdd(&temp_r31->unkC4, &temp_r31->unkD0, &temp_r31->unkC4);
|
||||
VECAdd(&temp_r31->unkC4, &temp_r31->unkD0, &temp_r31->unkC4);
|
||||
fn_1_7130(object);
|
||||
fn_1_69B4(object);
|
||||
temp_r31->unk100->unk_1C = temp_r31->unkDC;
|
||||
PSVECAdd(&temp_r31->unk100->unk_1C, &temp_r31->unk100->unk_54, &temp_r31->unk100->unk_1C);
|
||||
VECAdd(&temp_r31->unk100->unk_1C, &temp_r31->unk100->unk_54, &temp_r31->unk100->unk_1C);
|
||||
if ((fn_1_42E4() == 3) && (var_r29 != 0)) {
|
||||
fn_1_43AC(object->work[0]);
|
||||
temp_r31->unk108 = 0;
|
||||
|
|
@ -451,11 +451,11 @@ void fn_1_6674(omObjData *object)
|
|||
temp_r31->unk14 = 0;
|
||||
temp_r31->unk18 = 0.0f;
|
||||
fn_1_7340(object);
|
||||
PSVECAdd(&temp_r31->unkC4, &temp_r31->unkD0, &temp_r31->unkC4);
|
||||
VECAdd(&temp_r31->unkC4, &temp_r31->unkD0, &temp_r31->unkC4);
|
||||
fn_1_7130(object);
|
||||
fn_1_69B4(object);
|
||||
temp_r31->unk100->unk_1C = temp_r31->unkDC;
|
||||
PSVECAdd(&temp_r31->unk100->unk_1C, &temp_r31->unk100->unk_54, &temp_r31->unk100->unk_1C);
|
||||
VECAdd(&temp_r31->unk100->unk_1C, &temp_r31->unk100->unk_54, &temp_r31->unk100->unk_1C);
|
||||
if (fn_1_42E4() == 5) {
|
||||
temp_r31->unk1C = 0;
|
||||
temp_r31->unk34 = 0;
|
||||
|
|
@ -468,7 +468,7 @@ void fn_1_6750(omObjData *object)
|
|||
M443DllWorkStruct *temp_r31;
|
||||
|
||||
temp_r31 = object->data;
|
||||
PSVECAdd(&temp_r31->unkC4, &temp_r31->unkD0, &temp_r31->unkC4);
|
||||
VECAdd(&temp_r31->unkC4, &temp_r31->unkD0, &temp_r31->unkC4);
|
||||
fn_1_7130(object);
|
||||
fn_1_69B4(object);
|
||||
switch (temp_r31->unk34) {
|
||||
|
|
@ -673,9 +673,9 @@ void fn_1_7130(omObjData *object)
|
|||
for (var_r28 = 0; var_r28 < 4; var_r28++) {
|
||||
if (var_r29 != var_r28) {
|
||||
temp_r30 = lbl_1_bss_90[var_r28]->data;
|
||||
PSVECSubtract(&temp_r31->unkC4, &temp_r30->unkC4, &sp8);
|
||||
VECSubtract(&temp_r31->unkC4, &temp_r30->unkC4, &sp8);
|
||||
sp8.y = 0.0f;
|
||||
var_f31 = PSVECMag(&sp8);
|
||||
var_f31 = VECMag(&sp8);
|
||||
if (var_f31 < (temp_r31->unkC0 + temp_r30->unkC0)) {
|
||||
if (var_f31 > 0.0f) {
|
||||
var_f31 = 0.5f * ((temp_r31->unkC0 + temp_r30->unkC0) - var_f31);
|
||||
|
|
@ -685,10 +685,10 @@ void fn_1_7130(omObjData *object)
|
|||
sp8.x = (frandmod(0x3E8) - 0x1F4);
|
||||
sp8.z = (frandmod(0x3E8) - 0x1F4);
|
||||
}
|
||||
PSVECNormalize(&sp8, &sp8);
|
||||
PSVECScale(&sp8, &sp8, var_f31);
|
||||
PSVECAdd(&temp_r31->unkC4, &sp8, &temp_r31->unkC4);
|
||||
PSVECSubtract(&temp_r30->unkC4, &sp8, &temp_r30->unkC4);
|
||||
VECNormalize(&sp8, &sp8);
|
||||
VECScale(&sp8, &sp8, var_f31);
|
||||
VECAdd(&temp_r31->unkC4, &sp8, &temp_r31->unkC4);
|
||||
VECSubtract(&temp_r30->unkC4, &sp8, &temp_r30->unkC4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1139,7 +1139,7 @@ void fn_1_8E34(s32 arg0)
|
|||
|
||||
for (var_r29 = 0; var_r29 < temp_r30->unk_30; var_r29++, var_r31++) {
|
||||
if (var_r31->unk00_s16 != 0) {
|
||||
PSVECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
|
||||
VECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
|
||||
var_r31->unk08.z -= 0.3f;
|
||||
var_r31->unk2C += 2.0f;
|
||||
var_r31->unk40.a *= 0.98f;
|
||||
|
|
|
|||
|
|
@ -161,13 +161,13 @@ void fn_1_9374(UnkM447Struct_01 *arg0)
|
|||
Mtx sp8;
|
||||
|
||||
temp_r30 = &Hu3DData[arg0->unk58[arg0->unk00]];
|
||||
PSMTXIdentity(temp_r30->unk_F0);
|
||||
PSMTXRotRad(sp8, 'x', MTXDegToRad(arg0->unk1C.x));
|
||||
PSMTXConcat(temp_r30->unk_F0, sp8, temp_r30->unk_F0);
|
||||
PSMTXRotRad(sp8, 'y', MTXDegToRad(arg0->unk1C.y));
|
||||
PSMTXConcat(temp_r30->unk_F0, sp8, temp_r30->unk_F0);
|
||||
PSMTXRotRad(sp8, 'z', MTXDegToRad(arg0->unk1C.z));
|
||||
PSMTXConcat(temp_r30->unk_F0, sp8, temp_r30->unk_F0);
|
||||
MTXIdentity(temp_r30->unk_F0);
|
||||
MTXRotRad(sp8, 'x', MTXDegToRad(arg0->unk1C.x));
|
||||
MTXConcat(temp_r30->unk_F0, sp8, temp_r30->unk_F0);
|
||||
MTXRotRad(sp8, 'y', MTXDegToRad(arg0->unk1C.y));
|
||||
MTXConcat(temp_r30->unk_F0, sp8, temp_r30->unk_F0);
|
||||
MTXRotRad(sp8, 'z', MTXDegToRad(arg0->unk1C.z));
|
||||
MTXConcat(temp_r30->unk_F0, sp8, temp_r30->unk_F0);
|
||||
Hu3DModelPosSet(arg0->unk58[arg0->unk00], arg0->unk10.x, arg0->unk10.y, arg0->unk10.z);
|
||||
Hu3DModelPosSet(arg0->unk58[20], arg0->unk10.x, arg0->unk10.y - 100.0f, arg0->unk10.z);
|
||||
Hu3DModelPosSet(arg0->unk58[21], arg0->unk10.x, arg0->unk10.y, arg0->unk10.z + 120.0f * arg0->unk54);
|
||||
|
|
|
|||
|
|
@ -201,7 +201,7 @@ void fn_1_4FC(ModelData *model, Mtx matrix)
|
|||
GXSetViewport(0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f);
|
||||
C_MTXOrtho(sp98, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f);
|
||||
GXSetProjection(sp98, GX_ORTHOGRAPHIC);
|
||||
PSMTXIdentity(spC8);
|
||||
MTXIdentity(spC8);
|
||||
GXLoadPosMtxImm(spC8, GX_PNMTX0);
|
||||
GXSetNumTevStages(1);
|
||||
GXSetNumTexGens(1);
|
||||
|
|
@ -454,8 +454,8 @@ void fn_1_1338(omObjData *arg0)
|
|||
sp178 = lbl_1_rodata_100;
|
||||
sp178.x = var_f20;
|
||||
sp178.z = -sp118;
|
||||
PSMTXRotRad(sp184, 'y', MTXDegToRad(CRot.y));
|
||||
PSMTXMultVec(sp184, &sp178, &sp178);
|
||||
MTXRotRad(sp184, 'y', MTXDegToRad(CRot.y));
|
||||
MTXMultVec(sp184, &sp178, &sp178);
|
||||
var_f20 = sp178.x;
|
||||
sp118 = -sp178.z;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1288,19 +1288,19 @@ void fn_1_758(omObjData *var_r29)
|
|||
sp124 = ((-90.175 <= lbl_1_bss_18) && (lbl_1_bss_18 <= -90.0f)) != 0
|
||||
? -90.175
|
||||
: ((-90.0f <= lbl_1_bss_18) && (lbl_1_bss_18 <= -89.825) ? -89.825 : lbl_1_bss_18);
|
||||
PSMTXRotRad(sp304, 0x78, 0.017453292f * (10.0f * var_r31->unk_5C));
|
||||
PSMTXRotRad(sp364, 0x7A, 0.017453292f * (10.0f * -var_r31->unk_58));
|
||||
PSMTXConcat(sp364, sp304, sp364);
|
||||
PSMTXRotRad(sp304, 0x79, 0.017453292f * sp124);
|
||||
PSMTXRotRad(sp334, 0x78, 0.017453292f * (15.0f * var_r31->unk_5C));
|
||||
PSMTXConcat(sp334, sp304, sp334);
|
||||
PSMTXRotRad(sp304, 0x7A, 0.017453292f * (15.0f * -var_r31->unk_58));
|
||||
PSMTXConcat(sp304, sp334, sp334);
|
||||
MTXRotRad(sp304, 0x78, 0.017453292f * (10.0f * var_r31->unk_5C));
|
||||
MTXRotRad(sp364, 0x7A, 0.017453292f * (10.0f * -var_r31->unk_58));
|
||||
MTXConcat(sp364, sp304, sp364);
|
||||
MTXRotRad(sp304, 0x79, 0.017453292f * sp124);
|
||||
MTXRotRad(sp334, 0x78, 0.017453292f * (15.0f * var_r31->unk_5C));
|
||||
MTXConcat(sp334, sp304, sp334);
|
||||
MTXRotRad(sp304, 0x7A, 0.017453292f * (15.0f * -var_r31->unk_58));
|
||||
MTXConcat(sp304, sp334, sp334);
|
||||
Hu3DMtxRotGet(sp334, &sp2A8);
|
||||
sp2B4.x = var_r31->unk_60[var_r30];
|
||||
sp2B4.y = var_r31->unk_70[var_r30];
|
||||
sp2B4.z = var_r31->unk_80[var_r30];
|
||||
PSMTXMultVec(sp364, &sp2B4, &sp2B4);
|
||||
MTXMultVec(sp364, &sp2B4, &sp2B4);
|
||||
Hu3DModelPosSet(var_r29->model[var_r30 + 0xC], sp2D8.x + sp2B4.x, sp2D8.y + sp2B4.y, sp2D8.z + sp2B4.z);
|
||||
Hu3DModelRotSet(var_r29->model[var_r30 + 0xC], 10.0f * var_r31->unk_5C, 0.0f, 10.0f * -var_r31->unk_58);
|
||||
Hu3DModelRotSet(var_r29->model[var_r30 + 0xC], sp2A8.x, sp2A8.y, sp2A8.z);
|
||||
|
|
@ -1716,7 +1716,7 @@ void fn_1_7F94(ModelData *model, ParticleData *particle, Mtx matrix)
|
|||
var_r31->unk2C = 50.0f;
|
||||
}
|
||||
if (var_r31->unk00_s16 < 0xF0) {
|
||||
PSVECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34);
|
||||
VECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34);
|
||||
var_r31->unk08.x *= 0.9f;
|
||||
var_r31->unk08.z *= 0.9f;
|
||||
var_r31->unk08.y *= 0.9f;
|
||||
|
|
|
|||
|
|
@ -941,8 +941,8 @@ void fn_1_23E0(omObjData *object)
|
|||
case 4:
|
||||
var_r24 = fn_1_82AC(sp38);
|
||||
for (var_r30 = 0; var_r30 < var_r24; var_r30++) {
|
||||
PSVECSubtract(&sp38[var_r30], &var_r31->unk_2C, &sp8);
|
||||
sp20[var_r30] = PSVECMag(&sp8);
|
||||
VECSubtract(&sp38[var_r30], &var_r31->unk_2C, &sp8);
|
||||
sp20[var_r30] = VECMag(&sp8);
|
||||
}
|
||||
for (var_r30 = 0; var_r30 < (var_r24 - 1); var_r30++) {
|
||||
for (var_r29 = var_r30 + 1; var_r29 < var_r24; var_r29++) {
|
||||
|
|
@ -1144,14 +1144,14 @@ s32 fn_1_36DC(void)
|
|||
for (var_r29 = var_r30 + 1; var_r29 < 4; var_r29++) {
|
||||
var_r27 = lbl_1_bss_3C[var_r29]->data;
|
||||
if (var_r27->unk_07 != 0) {
|
||||
PSVECSubtract(&var_r28->unk_2C, &var_r27->unk_2C, &sp8);
|
||||
var_f31 = PSVECMag(&sp8);
|
||||
VECSubtract(&var_r28->unk_2C, &var_r27->unk_2C, &sp8);
|
||||
var_f31 = VECMag(&sp8);
|
||||
if (var_f31 < 80.0f) {
|
||||
PSVECNormalize(&sp8, &sp8);
|
||||
VECNormalize(&sp8, &sp8);
|
||||
var_f30 = 0.0001f + (0.5f * (80.0f - var_f31));
|
||||
PSVECScale(&sp8, &sp8, var_f30);
|
||||
PSVECAdd(&sp14[var_r30], &sp8, &sp14[var_r30]);
|
||||
PSVECSubtract(&sp14[var_r29], &sp8, &sp14[var_r29]);
|
||||
VECScale(&sp8, &sp8, var_f30);
|
||||
VECAdd(&sp14[var_r30], &sp8, &sp14[var_r30]);
|
||||
VECSubtract(&sp14[var_r29], &sp8, &sp14[var_r29]);
|
||||
var_r28->unk_0E++;
|
||||
var_r27->unk_0E++;
|
||||
var_r26++;
|
||||
|
|
@ -1164,7 +1164,7 @@ s32 fn_1_36DC(void)
|
|||
var_r25 = lbl_1_bss_3C[var_r30];
|
||||
var_r31 = var_r25->data;
|
||||
if (var_r31->unk_07 != 0) {
|
||||
PSVECAdd(&var_r31->unk_2C, &sp14[var_r30], &var_r31->unk_2C);
|
||||
VECAdd(&var_r31->unk_2C, &sp14[var_r30], &var_r31->unk_2C);
|
||||
if (var_r31->unk_2C.x > 660.0f) {
|
||||
var_r31->unk_2C.x = 660.0f;
|
||||
}
|
||||
|
|
@ -1237,8 +1237,8 @@ void fn_1_3BB4(Vec *arg0, Vec *arg1)
|
|||
var_r30 = fn_1_844C(sp18);
|
||||
var_f31 = 2000.0f;
|
||||
for (var_r31 = 0; var_r31 < var_r30; var_r31++) {
|
||||
PSVECSubtract(&sp18[var_r31], arg0, &spC);
|
||||
var_f30 = PSVECMag(&spC);
|
||||
VECSubtract(&sp18[var_r31], arg0, &spC);
|
||||
var_f30 = VECMag(&spC);
|
||||
if (!(var_f30 >= var_f31)) {
|
||||
var_f31 = var_f30;
|
||||
*arg1 = sp18[var_r31];
|
||||
|
|
@ -1403,18 +1403,18 @@ void fn_1_4574(Mtx arg0, float arg8, float arg9, float argA)
|
|||
Mtx sp38;
|
||||
Mtx sp8;
|
||||
if (argA != 0.0f) {
|
||||
PSMTXRotRad(arg0, 0x5A, 0.017453292f * argA);
|
||||
MTXRotRad(arg0, 0x5A, 0.017453292f * argA);
|
||||
}
|
||||
else {
|
||||
PSMTXIdentity(arg0);
|
||||
MTXIdentity(arg0);
|
||||
}
|
||||
if (arg8 != 0.0f) {
|
||||
PSMTXRotRad(sp38, 0x58, 0.017453292f * arg8);
|
||||
PSMTXConcat(sp38, arg0, arg0);
|
||||
MTXRotRad(sp38, 0x58, 0.017453292f * arg8);
|
||||
MTXConcat(sp38, arg0, arg0);
|
||||
}
|
||||
if (arg9 != 0.0f) {
|
||||
PSMTXRotRad(sp8, 0x59, 0.017453292f * arg9);
|
||||
PSMTXConcat(sp8, arg0, arg0);
|
||||
MTXRotRad(sp8, 0x59, 0.017453292f * arg9);
|
||||
MTXConcat(sp8, arg0, arg0);
|
||||
}
|
||||
}
|
||||
// TODO figue out type of arg0
|
||||
|
|
@ -1570,8 +1570,8 @@ void fn_1_5290(float *arg0, float (*arg1)[3], float (*arg2)[3], s32 arg3)
|
|||
|
||||
arg0[0] = 0.0f;
|
||||
for (var_r30 = 1; var_r30 < arg3; var_r30++) {
|
||||
PSVECSubtract((Vec *)&arg1[var_r30], (Vec *)&arg1[var_r30 - 1], &sp8);
|
||||
arg0[var_r30] = arg0[var_r30 - 1] + PSVECMag(&sp8);
|
||||
VECSubtract((Vec *)&arg1[var_r30], (Vec *)&arg1[var_r30 - 1], &sp8);
|
||||
arg0[var_r30] = arg0[var_r30 - 1] + VECMag(&sp8);
|
||||
}
|
||||
for (var_r27 = 0; var_r27 < 3; var_r27++) {
|
||||
for (var_r30 = 0; var_r30 < arg3; var_r30++) {
|
||||
|
|
|
|||
|
|
@ -514,12 +514,12 @@ void fn_1_6EB4(omObjData *object)
|
|||
Mtx sp8;
|
||||
s32 var_r30;
|
||||
|
||||
PSMTXTrans(sp38, object->trans.x, object->trans.y, object->trans.z);
|
||||
MTXTrans(sp38, object->trans.x, object->trans.y, object->trans.z);
|
||||
mtxRot(sp8, object->rot.x, object->rot.y, object->rot.z);
|
||||
PSMTXConcat(sp38, sp8, sp38);
|
||||
MTXConcat(sp38, sp8, sp38);
|
||||
for (var_r30 = 0; var_r30 < 6; var_r30++) {
|
||||
PSMTXTrans(sp8, lbl_1_data_A88[var_r30].x, lbl_1_data_A88[var_r30].y, lbl_1_data_A88[var_r30].z);
|
||||
PSMTXConcat(sp38, sp8, sp8);
|
||||
MTXTrans(sp8, lbl_1_data_A88[var_r30].x, lbl_1_data_A88[var_r30].y, lbl_1_data_A88[var_r30].z);
|
||||
MTXConcat(sp38, sp8, sp8);
|
||||
Hu3DModelPosSet(object->model[var_r30 + 1], sp8[0][3], sp8[1][3], sp8[2][3]);
|
||||
Hu3DModelRotSet(object->model[var_r30 + 1], object->rot.x, object->rot.y, object->rot.z);
|
||||
}
|
||||
|
|
@ -685,12 +685,12 @@ void fn_1_73C4(omObjData *object)
|
|||
break;
|
||||
}
|
||||
}
|
||||
PSMTXTrans(sp8, object->trans.x, object->trans.y, object->trans.z);
|
||||
MTXTrans(sp8, object->trans.x, object->trans.y, object->trans.z);
|
||||
mtxRot(sp38, object->rot.x, object->rot.y, object->rot.z);
|
||||
PSMTXConcat(sp8, sp38, sp8);
|
||||
MTXConcat(sp8, sp38, sp8);
|
||||
for (var_r28 = 0; var_r28 < 6; var_r28++) {
|
||||
PSMTXTrans(sp38, lbl_1_data_A88[var_r28].x, lbl_1_data_A88[var_r28].y, lbl_1_data_A88[var_r28].z);
|
||||
PSMTXConcat(sp8, sp38, sp38);
|
||||
MTXTrans(sp38, lbl_1_data_A88[var_r28].x, lbl_1_data_A88[var_r28].y, lbl_1_data_A88[var_r28].z);
|
||||
MTXConcat(sp8, sp38, sp38);
|
||||
Hu3DModelPosSet(object->model[var_r28 + 1], sp38[0][3], sp38[1][3], sp38[2][3]);
|
||||
Hu3DModelRotSet(object->model[var_r28 + 1], object->rot.x, object->rot.y, object->rot.z);
|
||||
}
|
||||
|
|
@ -825,16 +825,16 @@ s32 fn_1_7CE0(float arg8, float arg9, Vec *arg0)
|
|||
var_r28 -= 6;
|
||||
fn_1_7BB0(var_r27, &sp10);
|
||||
sp10 = lbl_1_data_A88[var_r27];
|
||||
PSMTXTrans(sp4C, var_r31->trans.x, var_r31->trans.y, var_r31->trans.z);
|
||||
MTXTrans(sp4C, var_r31->trans.x, var_r31->trans.y, var_r31->trans.z);
|
||||
mtxRot(sp1C, var_r31->rot.x, var_r31->rot.y, var_r31->rot.z);
|
||||
PSMTXConcat(sp4C, sp1C, sp4C);
|
||||
PSMTXTrans(sp1C, sp10.x, sp10.y, sp10.z);
|
||||
PSMTXConcat(sp4C, sp1C, sp4C);
|
||||
MTXConcat(sp4C, sp1C, sp4C);
|
||||
MTXTrans(sp1C, sp10.x, sp10.y, sp10.z);
|
||||
MTXConcat(sp4C, sp1C, sp4C);
|
||||
var_r30 = lbl_1_data_AFC[var_r28];
|
||||
var_r23 = lbl_1_data_B14[var_r28];
|
||||
for (var_r24 = 0; var_r24 < var_r23; var_r24++) {
|
||||
PSMTXTrans(sp1C, var_r30->x, var_r30->y, var_r30->z);
|
||||
PSMTXConcat(sp4C, sp1C, sp1C);
|
||||
MTXTrans(sp1C, var_r30->x, var_r30->y, var_r30->z);
|
||||
MTXConcat(sp4C, sp1C, sp1C);
|
||||
arg0->x = sp1C[0][3];
|
||||
arg0->y = sp1C[1][3];
|
||||
arg0->z = sp1C[2][3];
|
||||
|
|
@ -930,17 +930,17 @@ s32 fn_1_844C(Vec *arg0)
|
|||
var_r30 = lbl_1_bss_A4[lbl_1_bss_9C];
|
||||
var_r27 = var_r30->data;
|
||||
var_r23 = fn_1_8250(var_r27, sp8);
|
||||
PSMTXTrans(sp50, var_r30->trans.x, var_r30->trans.y, var_r30->trans.z);
|
||||
MTXTrans(sp50, var_r30->trans.x, var_r30->trans.y, var_r30->trans.z);
|
||||
mtxRot(sp20, var_r30->rot.x, var_r30->rot.y, var_r30->rot.z);
|
||||
PSMTXConcat(sp50, sp20, sp50);
|
||||
MTXConcat(sp50, sp20, sp50);
|
||||
for (var_r29 = 0; var_r29 < var_r23; var_r29++) {
|
||||
fn_1_7BB0(sp8[var_r29], arg0);
|
||||
var_r26 = fn_1_7BFC(var_r27, sp8[var_r29]) - 6;
|
||||
arg0->x += lbl_1_data_B2C[var_r26].x;
|
||||
arg0->y += lbl_1_data_B2C[var_r26].y;
|
||||
arg0->z += lbl_1_data_B2C[var_r26].z;
|
||||
PSMTXTrans(sp20, arg0->x, arg0->y, arg0->z);
|
||||
PSMTXConcat(sp50, sp20, sp20);
|
||||
MTXTrans(sp20, arg0->x, arg0->y, arg0->z);
|
||||
MTXConcat(sp50, sp20, sp20);
|
||||
arg0->x = sp20[0][3];
|
||||
arg0->y = sp20[1][3];
|
||||
arg0->z = sp20[2][3];
|
||||
|
|
@ -991,7 +991,7 @@ s32 fn_1_867C(Vec *arg0, Vec *arg1)
|
|||
if ((var_r28->rot.x > 0.0f) || (var_r28->rot.x <= -90.0f)) {
|
||||
return 0;
|
||||
}
|
||||
PSVECSubtract(arg0, &var_r28->trans, &sp3C);
|
||||
VECSubtract(arg0, &var_r28->trans, &sp3C);
|
||||
sp3C.z = sp3C.z / cosd(var_r28->rot.x);
|
||||
var_f24 = arg0->z;
|
||||
var_f25 = arg0->x;
|
||||
|
|
@ -1002,29 +1002,29 @@ s32 fn_1_867C(Vec *arg0, Vec *arg1)
|
|||
}
|
||||
var_r24 -= 6;
|
||||
sp48 = lbl_1_data_A88[var_r19];
|
||||
PSVECSubtract(&sp3C, &sp48, &sp3C);
|
||||
VECSubtract(&sp3C, &sp48, &sp3C);
|
||||
var_r30 = lbl_1_data_B74[var_r24][0];
|
||||
var_r29 = lbl_1_data_B74[var_r24][1];
|
||||
var_r21 = lbl_1_data_BA4[var_r24];
|
||||
for (var_r31 = 0; var_r31 < var_r21; var_r31++) {
|
||||
var_r27 = (var_r31 + 1) % var_r21;
|
||||
PSVECSubtract(var_r30 + var_r27, var_r30 + var_r31, &sp24);
|
||||
PSVECSubtract(&sp3C, var_r30 + var_r27, &sp18);
|
||||
PSVECCrossProduct(&sp24, &sp18, &spC);
|
||||
VECSubtract(var_r30 + var_r27, var_r30 + var_r31, &sp24);
|
||||
VECSubtract(&sp3C, var_r30 + var_r27, &sp18);
|
||||
VECCrossProduct(&sp24, &sp18, &spC);
|
||||
if (!(spC.y < 0.0f)) {
|
||||
PSVECSubtract(var_r29 + var_r27, var_r30 + var_r27, &sp24);
|
||||
PSVECSubtract(&sp3C, var_r29 + var_r27, &sp18);
|
||||
PSVECCrossProduct(&sp24, &sp18, &spC);
|
||||
VECSubtract(var_r29 + var_r27, var_r30 + var_r27, &sp24);
|
||||
VECSubtract(&sp3C, var_r29 + var_r27, &sp18);
|
||||
VECCrossProduct(&sp24, &sp18, &spC);
|
||||
if (!(spC.y < 0.0f)) {
|
||||
PSVECSubtract(var_r29 + var_r31, var_r29 + var_r27, &sp24);
|
||||
PSVECSubtract(&sp3C, var_r29 + var_r31, &sp18);
|
||||
PSVECCrossProduct(&sp24, &sp18, &spC);
|
||||
VECSubtract(var_r29 + var_r31, var_r29 + var_r27, &sp24);
|
||||
VECSubtract(&sp3C, var_r29 + var_r31, &sp18);
|
||||
VECCrossProduct(&sp24, &sp18, &spC);
|
||||
if (!(spC.y < 0.0f)) {
|
||||
PSVECSubtract(var_r30 + var_r31, var_r29 + var_r31, &sp24);
|
||||
PSVECSubtract(&sp3C, var_r30 + var_r31, &sp18);
|
||||
PSVECCrossProduct(&sp24, &sp18, &spC);
|
||||
VECSubtract(var_r30 + var_r31, var_r29 + var_r31, &sp24);
|
||||
VECSubtract(&sp3C, var_r30 + var_r31, &sp18);
|
||||
VECCrossProduct(&sp24, &sp18, &spC);
|
||||
if (!(spC.y < 0.0f)) {
|
||||
PSVECSubtract(var_r30 + var_r27, var_r30 + var_r31, &sp24);
|
||||
VECSubtract(var_r30 + var_r27, var_r30 + var_r31, &sp24);
|
||||
var_f30 = (((sp3C.z * sp24.z)
|
||||
+ (((sp3C.y * sp24.y) + ((sp3C.x * sp24.x) - (sp24.x * var_r30[var_r31].x))) - (sp24.y * var_r30[var_r31].y)))
|
||||
- (sp24.z * var_r30[var_r31].z))
|
||||
|
|
@ -1032,9 +1032,9 @@ s32 fn_1_867C(Vec *arg0, Vec *arg1)
|
|||
sp30.x = var_r30[var_r31].x + (var_f30 * sp24.x);
|
||||
sp30.y = var_r30[var_r31].y + (var_f30 * sp24.y);
|
||||
sp30.z = var_r30[var_r31].z + (var_f30 * sp24.z);
|
||||
PSVECSubtract(&sp30, &sp3C, &spC);
|
||||
var_f28 = PSVECMag(&spC);
|
||||
PSVECSubtract(var_r29 + var_r27, var_r29 + var_r31, &sp18);
|
||||
VECSubtract(&sp30, &sp3C, &spC);
|
||||
var_f28 = VECMag(&spC);
|
||||
VECSubtract(var_r29 + var_r27, var_r29 + var_r31, &sp18);
|
||||
var_f29 = (((sp3C.z * sp18.z)
|
||||
+ (((sp3C.y * sp18.y) + ((sp3C.x * sp18.x) - (sp18.x * var_r29[var_r31].x))) - (sp18.y * var_r29[var_r31].y)))
|
||||
- (sp18.z * var_r29[var_r31].z))
|
||||
|
|
@ -1042,8 +1042,8 @@ s32 fn_1_867C(Vec *arg0, Vec *arg1)
|
|||
sp30.x = var_r29[var_r31].x + (var_f29 * sp18.x);
|
||||
sp30.y = var_r29[var_r31].y + (var_f29 * sp18.y);
|
||||
sp30.z = var_r29[var_r31].z + (var_f29 * sp18.z);
|
||||
PSVECSubtract(&sp30, &sp3C, &spC);
|
||||
var_f27 = PSVECMag(&spC);
|
||||
VECSubtract(&sp30, &sp3C, &spC);
|
||||
var_f27 = VECMag(&spC);
|
||||
if (var_f28 == 0.0f) {
|
||||
var_f31 = var_f30;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ void ObjectSetup(void)
|
|||
lbl_1_bss_8.x = lbl_1_data_44.x - lbl_1_data_38.x;
|
||||
lbl_1_bss_8.y = lbl_1_data_44.y - lbl_1_data_38.y;
|
||||
lbl_1_bss_8.z = lbl_1_data_44.z - lbl_1_data_38.z;
|
||||
PSVECNormalize(&lbl_1_bss_8, &lbl_1_bss_8);
|
||||
VECNormalize(&lbl_1_bss_8, &lbl_1_bss_8);
|
||||
light = Hu3DGLightCreateV(&lbl_1_data_38, &lbl_1_bss_8, &lbl_1_data_50);
|
||||
Hu3DGLightInfinitytSet(light);
|
||||
Hu3DGLightStaticSet(light, 1);
|
||||
|
|
|
|||
|
|
@ -146,7 +146,7 @@ void ObjectSetup(void)
|
|||
lbl_1_bss_8.x = lbl_1_data_44.x - lbl_1_data_38.x;
|
||||
lbl_1_bss_8.y = lbl_1_data_44.y - lbl_1_data_38.y;
|
||||
lbl_1_bss_8.z = lbl_1_data_44.z - lbl_1_data_38.z;
|
||||
PSVECNormalize(&lbl_1_bss_8, &lbl_1_bss_8);
|
||||
VECNormalize(&lbl_1_bss_8, &lbl_1_bss_8);
|
||||
var_r29 = Hu3DGLightCreateV(&lbl_1_data_38, &lbl_1_bss_8, &lbl_1_data_50);
|
||||
Hu3DGLightInfinitytSet(var_r29);
|
||||
Hu3DGLightStaticSet(var_r29, 1);
|
||||
|
|
@ -714,7 +714,7 @@ void fn_1_1304(omObjData *var_r30)
|
|||
var_r28 = 0x40000001;
|
||||
if ((fn_1_3B0() == 5) && (var_r31->unk_00_field3 == 0) && (lbl_1_bss_64 == 1)) {
|
||||
var_r25 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0);
|
||||
PSVECSubtract(&var_r25[*lbl_1_bss_70]->trans, &var_r30->trans, &sp8);
|
||||
VECSubtract(&var_r25[*lbl_1_bss_70]->trans, &var_r30->trans, &sp8);
|
||||
var_r30->rot.y = fn_1_2090(var_r30->rot.y, atan2d(sp8.x, sp8.z), 0.1f);
|
||||
}
|
||||
if (fn_1_3B0() == 0xB) {
|
||||
|
|
|
|||
|
|
@ -329,8 +329,8 @@ void fn_1_4C8(omObjData *object)
|
|||
Vec sp1B0 = { 0.0f, 0.0f, 0.0f };
|
||||
sp1B0.x = var_f31;
|
||||
sp1B0.z = var_f30;
|
||||
PSMTXRotRad(sp1E0, 0x79, 0.017453292f * CRot.y);
|
||||
PSMTXMultVec(sp1E0, &sp1B0, &sp1B0);
|
||||
MTXRotRad(sp1E0, 0x79, 0.017453292f * CRot.y);
|
||||
MTXMultVec(sp1E0, &sp1B0, &sp1B0);
|
||||
var_f31 = sp1B0.x;
|
||||
var_f30 = sp1B0.z;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -153,7 +153,7 @@ void ObjectSetup(void)
|
|||
sp8.x = sp8.z = 0.0f;
|
||||
sp8.y = lbl_1_data_18.z;
|
||||
mtxRot(sp2C, lbl_1_data_18.x, lbl_1_data_18.y, 0.0f);
|
||||
PSMTXMultVec(sp2C, &sp8, &lbl_1_data_28);
|
||||
MTXMultVec(sp2C, &sp8, &lbl_1_data_28);
|
||||
Hu3DGLightPosAimSetV(lbl_1_bss_1A[0], &lbl_1_data_28, &lbl_1_data_40);
|
||||
Hu3DShadowPosSet(&lbl_1_data_28, &lbl_1_data_34, &lbl_1_data_40);
|
||||
lbl_1_bss_18 = lbl_1_bss_16 = lbl_1_bss_14 = lbl_1_bss_12 = lbl_1_bss_10 = -1;
|
||||
|
|
@ -474,15 +474,15 @@ void fn_1_2564(omObjData *object)
|
|||
var_f31 *= -1.0f;
|
||||
}
|
||||
var_f31 = object->work[0] / var_f31;
|
||||
PSVECSubtract(&lbl_1_data_4C[object->work[1] + var_r24], &lbl_1_data_4C[object->work[1]], &sp20);
|
||||
PSVECScale(&sp20, &sp20, var_f31);
|
||||
PSVECAdd(&lbl_1_data_4C[object->work[1]], &sp20, &sp20);
|
||||
VECSubtract(&lbl_1_data_4C[object->work[1] + var_r24], &lbl_1_data_4C[object->work[1]], &sp20);
|
||||
VECScale(&sp20, &sp20, var_f31);
|
||||
VECAdd(&lbl_1_data_4C[object->work[1]], &sp20, &sp20);
|
||||
Center.x = sp20.x;
|
||||
Center.y = sp20.y;
|
||||
Center.z = sp20.z;
|
||||
PSVECSubtract(&lbl_1_data_70[object->work[1] + var_r24], &lbl_1_data_70[object->work[1]], &sp20);
|
||||
PSVECScale(&sp20, &sp20, var_f31);
|
||||
PSVECAdd(&lbl_1_data_70[object->work[1]], &sp20, &sp20);
|
||||
VECSubtract(&lbl_1_data_70[object->work[1] + var_r24], &lbl_1_data_70[object->work[1]], &sp20);
|
||||
VECScale(&sp20, &sp20, var_f31);
|
||||
VECAdd(&lbl_1_data_70[object->work[1]], &sp20, &sp20);
|
||||
CRot.x = sp20.x;
|
||||
CRot.y = sp20.y;
|
||||
CRot.z = 0.0f;
|
||||
|
|
@ -683,8 +683,8 @@ void fn_1_3618(omObjData *var_r28)
|
|||
sp10[2] = var_r31->unk_44.unk_08 * var_r31->unk_40;
|
||||
sp10[3] = var_r31->unk_44.unk_0C * var_r31->unk_40;
|
||||
Hu3DCameraPerspectiveSet(var_r31->unk_3C, var_r31->unk_10, var_r31->unk_14, var_r31->unk_18, var_f31);
|
||||
Hu3DCameraViewportSet(
|
||||
var_r31->unk_3C, var_r31->unk_44.unk_00 - (0.5f * sp10[2]), var_r31->unk_44.unk_04 - (0.5f * sp10[3]), sp10[2], sp10[3], 0.0f, 1.0f);
|
||||
Hu3DCameraViewportSet(var_r31->unk_3C, var_r31->unk_44.unk_00 - (0.5f * sp10[2]), var_r31->unk_44.unk_04 - (0.5f * sp10[3]), sp10[2],
|
||||
sp10[3], 0.0f, 1.0f);
|
||||
sp10[0] = var_r31->unk_44.unk_00 - (0.5f * sp10[2]);
|
||||
sp10[1] = var_r31->unk_44.unk_04 - (0.5f * sp10[3]);
|
||||
sp8[0] = var_r31->unk_44.unk_00 + (0.5f * sp10[2]);
|
||||
|
|
@ -731,7 +731,7 @@ void fn_1_3BC0(ModelData *model, Mtx mtx)
|
|||
DCStoreRange(&lbl_1_data_B8, 4);
|
||||
C_MTXPerspective(spC, 41.5f, 1.2f, 100.0f, 5500.0f);
|
||||
GXSetProjection(spC, GX_PERSPECTIVE);
|
||||
PSMTXIdentity(sp3C);
|
||||
MTXIdentity(sp3C);
|
||||
GXLoadPosMtxImm(sp3C, 0);
|
||||
GXSetNumChans(1);
|
||||
GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE);
|
||||
|
|
@ -948,12 +948,12 @@ void fn_1_4388(Vec *sp8, Vec *var_r31)
|
|||
float var_f30;
|
||||
float var_f29;
|
||||
|
||||
PSVECSubtract(var_r31, sp8, &sp10);
|
||||
VECSubtract(var_r31, sp8, &sp10);
|
||||
Center = *var_r31;
|
||||
CRot.x = atan2d(sp10.y, sqrtf((sp10.x * sp10.x) + (sp10.z * sp10.z)));
|
||||
CRot.y = atan2d(-sp10.x, -sp10.z);
|
||||
CRot.z = 0.0f;
|
||||
CZoom = PSVECMag(&sp10);
|
||||
CZoom = VECMag(&sp10);
|
||||
}
|
||||
|
||||
void fn_1_4590(float arg8, float arg9, float argA, float argB, float argC, float argD)
|
||||
|
|
@ -968,12 +968,12 @@ void fn_1_4590(float arg8, float arg9, float argA, float argB, float argC, float
|
|||
sp30.x = argB;
|
||||
sp30.y = argC;
|
||||
sp30.z = argD;
|
||||
PSVECSubtract(&sp30, &sp3C, &sp24);
|
||||
VECSubtract(&sp30, &sp3C, &sp24);
|
||||
Center = sp30;
|
||||
CRot.x = atan2d(sp24.y, sqrtf((sp24.x * sp24.x) + (sp24.z * sp24.z)));
|
||||
CRot.y = atan2d(-sp24.x, -sp24.z);
|
||||
CRot.z = 0.0f;
|
||||
CZoom = PSVECMag(&sp24);
|
||||
CZoom = VECMag(&sp24);
|
||||
}
|
||||
|
||||
float fn_1_47D0(float arg8, float arg9, float argA)
|
||||
|
|
|
|||
|
|
@ -270,9 +270,9 @@ void fn_1_6C00(omObjData *object)
|
|||
fn_1_7DA8(object, &sp14, 1);
|
||||
}
|
||||
}
|
||||
PSVECSubtract(&var_r31->unk_48, &var_r31->unk_3C, &sp8);
|
||||
PSVECScale(&sp8, &sp8, 0.4f);
|
||||
PSVECAdd(&var_r31->unk_3C, &sp8, &sp14);
|
||||
VECSubtract(&var_r31->unk_48, &var_r31->unk_3C, &sp8);
|
||||
VECScale(&sp8, &sp8, 0.4f);
|
||||
VECAdd(&var_r31->unk_3C, &sp8, &sp14);
|
||||
sp14.y += var_r31->unk_34;
|
||||
Hu3DModelPosSetV(var_r31->unk_2C, &sp14);
|
||||
var_r31->unk_30++;
|
||||
|
|
@ -366,7 +366,7 @@ void fn_1_7790(ModelData *model, Mtx mtx)
|
|||
DCStoreRange(&lbl_1_data_378, 4);
|
||||
C_MTXPerspective(sp2C, 41.5f, 1.2f, 100.0f, 5500.0f);
|
||||
GXSetProjection(sp2C, GX_PERSPECTIVE);
|
||||
PSMTXIdentity(sp5C);
|
||||
MTXIdentity(sp5C);
|
||||
GXLoadPosMtxImm(sp5C, 0);
|
||||
GXSetNumChans(1);
|
||||
GXSetChanCtrl(GX_COLOR0A0, 0, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE);
|
||||
|
|
@ -409,7 +409,7 @@ void fn_1_7B94(s32 arg0)
|
|||
var_r30 = Hu3DData[arg0].unk_120;
|
||||
for (var_r31 = var_r30->unk_48, var_r29 = 0; var_r29 < var_r30->unk_30; var_r29++, var_r31++) {
|
||||
if (var_r31->unk00_s16 != 0) {
|
||||
PSVECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
|
||||
VECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
|
||||
switch (var_r31->unk02) {
|
||||
case 0:
|
||||
var_r31->unk2C += 1.0f;
|
||||
|
|
@ -464,7 +464,7 @@ void fn_1_7DA8(omObjData *object, Vec *arg1, u32 arg2)
|
|||
sp1C.x = 100.0f * ((0.0026f * frandmod(0x3E8)) - 1.3f);
|
||||
sp1C.y = 0.0f;
|
||||
sp1C.z = 100.0f * ((0.000100000005f * frandmod(0x3E8)) - 0.05f);
|
||||
PSVECAdd(&sp1C, arg1, &var_r31->unk34);
|
||||
VECAdd(&sp1C, arg1, &var_r31->unk34);
|
||||
var_r31->unk30 = 0.0031415902f * frandmod(0x3E8);
|
||||
switch (arg2) {
|
||||
case 0:
|
||||
|
|
@ -485,7 +485,7 @@ void fn_1_7DA8(omObjData *object, Vec *arg1, u32 arg2)
|
|||
if (frandmod(0x3E8) < 0x1F4) {
|
||||
sp1C.x *= -1.0f;
|
||||
}
|
||||
PSVECAdd(&sp1C, arg1, &var_r31->unk34);
|
||||
VECAdd(&sp1C, arg1, &var_r31->unk34);
|
||||
var_r31->unk00 = 60.0f * (0.2f + (0.0005f * frandmod(0x3E8)));
|
||||
var_r31->unk08.x = 1.6666667f * ((0.000100000005f * frandmod(0x3E8)) - 0.05f);
|
||||
var_r31->unk08.y = -1.6666667f * (0.2f + (0.0003f * frandmod(0x3E8)));
|
||||
|
|
|
|||
|
|
@ -218,7 +218,7 @@ void fn_1_4F6C(omObjData *object)
|
|||
}
|
||||
break;
|
||||
}
|
||||
PSVECAdd(&var_r31->unk_60, &var_r31->unk_6C, &var_r31->unk_60);
|
||||
VECAdd(&var_r31->unk_60, &var_r31->unk_6C, &var_r31->unk_60);
|
||||
fn_1_57D8(object);
|
||||
if (fn_1_414C() == 2) {
|
||||
var_r31->unk_2C = 0;
|
||||
|
|
@ -343,7 +343,7 @@ void fn_1_5168(omObjData *object)
|
|||
break;
|
||||
}
|
||||
}
|
||||
PSVECAdd(&var_r31->unk_60, &var_r31->unk_6C, &var_r31->unk_60);
|
||||
VECAdd(&var_r31->unk_60, &var_r31->unk_6C, &var_r31->unk_60);
|
||||
fn_1_57D8(object);
|
||||
if ((fn_1_4164() == 5) && (var_r27 != 0)) {
|
||||
var_r31->unk_2C = 0;
|
||||
|
|
@ -390,7 +390,7 @@ void fn_1_55EC(omObjData *object)
|
|||
fn_1_5CE0(object, 0);
|
||||
break;
|
||||
}
|
||||
PSVECAdd(&var_r31->unk_60, &var_r31->unk_6C, &var_r31->unk_60);
|
||||
VECAdd(&var_r31->unk_60, &var_r31->unk_6C, &var_r31->unk_60);
|
||||
fn_1_57D8(object);
|
||||
if (var_r31->unk_84 >= 0) {
|
||||
sp8 = var_r31->unk_60;
|
||||
|
|
@ -426,15 +426,15 @@ s32 fn_1_58C8(omObjData *object, float arg8, float arg9)
|
|||
|
||||
var_r31 = object->data;
|
||||
var_r30 = 0;
|
||||
PSVECSubtract(&var_r31->unk_78, &var_r31->unk_60, &spC);
|
||||
VECSubtract(&var_r31->unk_78, &var_r31->unk_60, &spC);
|
||||
spC.y = 0.0f;
|
||||
var_f31 = PSVECMag(&spC);
|
||||
var_f31 = VECMag(&spC);
|
||||
if (var_f31 < arg9) {
|
||||
var_f31 = 0.0f;
|
||||
var_r30 = 1;
|
||||
}
|
||||
else {
|
||||
if (PSVECMag(&spC) >= 100.0f) {
|
||||
if (VECMag(&spC) >= 100.0f) {
|
||||
var_f31 = 100.0f;
|
||||
}
|
||||
var_f31 = 0.2f + (0.008f * var_f31);
|
||||
|
|
@ -636,12 +636,12 @@ void fn_1_61F4(omObjData *object)
|
|||
object->trans.z += 11.666667f;
|
||||
}
|
||||
else {
|
||||
var_f31 = PSVECMag(&sp10);
|
||||
var_f31 = VECMag(&sp10);
|
||||
if (var_f31 < 20.0f) {
|
||||
var_f31 = 0.0f;
|
||||
}
|
||||
else {
|
||||
if (PSVECMag(&sp10) >= 100.0f) {
|
||||
if (VECMag(&sp10) >= 100.0f) {
|
||||
var_f31 = 100.0f;
|
||||
}
|
||||
var_f31 = 0.2f + (0.008f * var_f31);
|
||||
|
|
|
|||
|
|
@ -403,9 +403,9 @@ void fn_1_1D70(s16 arg0, char *arg1, Vec *arg2, Mtx arg3)
|
|||
|
||||
var_r30 = &Hu3DData[arg0];
|
||||
Hu3DModelObjMtxGet(arg0, arg1, spC);
|
||||
PSMTXConcat(var_r30->unk_F0, spC, spC);
|
||||
MTXConcat(var_r30->unk_F0, spC, spC);
|
||||
if (NULL != arg3) {
|
||||
PSMTXCopy(spC, arg3);
|
||||
MTXCopy(spC, arg3);
|
||||
}
|
||||
arg2->x = spC[0][3];
|
||||
arg2->y = spC[1][3];
|
||||
|
|
@ -1186,7 +1186,8 @@ s32 lbl_1_data_128[8][5] = {
|
|||
|
||||
s32 lbl_1_data_1C8[3] = { DATA_MAKE_NUM(DATADIR_M461, 0x02), DATA_MAKE_NUM(DATADIR_M461, 0x03), DATA_MAKE_NUM(DATADIR_M461, 0x08) };
|
||||
|
||||
s32 lbl_1_data_1D4[4] = { DATA_MAKE_NUM(DATADIR_M461, 0x04), DATA_MAKE_NUM(DATADIR_M461, 0x05), DATA_MAKE_NUM(DATADIR_M461, 0x06), DATA_MAKE_NUM(DATADIR_M461, 0x07) };
|
||||
s32 lbl_1_data_1D4[4]
|
||||
= { DATA_MAKE_NUM(DATADIR_M461, 0x04), DATA_MAKE_NUM(DATADIR_M461, 0x05), DATA_MAKE_NUM(DATADIR_M461, 0x06), DATA_MAKE_NUM(DATADIR_M461, 0x07) };
|
||||
|
||||
float lbl_1_data_1E4[3] = { 0.3f, 0.5f, 0.9f };
|
||||
|
||||
|
|
|
|||
|
|
@ -78,9 +78,9 @@ void fn_1_44D8(void);
|
|||
void fn_1_4BC4(void);
|
||||
void fn_1_69C0(void);
|
||||
void fn_1_7D40(void);
|
||||
void fn_1_545C(ModelData* model, ParticleData* particle, Mtx matrix);
|
||||
void fn_1_594C(ModelData* model, ParticleData* particle, Mtx matrix);
|
||||
void fn_1_5DE4(ModelData* model, ParticleData* particle, Mtx matrix);
|
||||
void fn_1_545C(ModelData *model, ParticleData *particle, Mtx matrix);
|
||||
void fn_1_594C(ModelData *model, ParticleData *particle, Mtx matrix);
|
||||
void fn_1_5DE4(ModelData *model, ParticleData *particle, Mtx matrix);
|
||||
void fn_1_7DA0(void);
|
||||
s32 fn_1_1880(float arg0, float arg1, float arg2, s32 arg3, s32 arg4);
|
||||
|
||||
|
|
@ -93,48 +93,28 @@ s32 lbl_1_bss_3D8;
|
|||
StructBss340 lbl_1_bss_340[1];
|
||||
StructBss70 lbl_1_bss_70[10];
|
||||
StructBss70 lbl_1_bss_28;
|
||||
omObjData* lbl_1_bss_24;
|
||||
omObjData *lbl_1_bss_24;
|
||||
Vec lbl_1_bss_18;
|
||||
Vec lbl_1_bss_C;
|
||||
Vec lbl_1_bss_0;
|
||||
|
||||
s32 lbl_1_data_0[] = { 0, 1, 2, 3, 4, 5, 6, 7 };
|
||||
|
||||
s32 lbl_1_data_20[] = {
|
||||
DATA_MAKE_NUM(DATADIR_MARIOMOT, 79),
|
||||
DATA_MAKE_NUM(DATADIR_MARIOMOT, 27),
|
||||
DATA_MAKE_NUM(DATADIR_MARIOMOT, 75),
|
||||
DATA_MAKE_NUM(DATADIR_MARIOMOT, 22)
|
||||
};
|
||||
s32 lbl_1_data_20[] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 79), DATA_MAKE_NUM(DATADIR_MARIOMOT, 27), DATA_MAKE_NUM(DATADIR_MARIOMOT, 75),
|
||||
DATA_MAKE_NUM(DATADIR_MARIOMOT, 22) };
|
||||
|
||||
Vec lbl_1_data_30[] = {
|
||||
{ 0.0f, 0.0f, 35.0f },
|
||||
{ 0.0f, 0.0f, 35.0f },
|
||||
{ 0.0f, 0.0f, 35.0f },
|
||||
{ 0.0f, 0.0f, 35.0f },
|
||||
{ 0.0f, 0.0f, 35.0f },
|
||||
{ 0.0f, 0.0f, 35.0f },
|
||||
{ 0.0f, 0.0f, 35.0f },
|
||||
{ 0.0f, 0.0f, 35.0f }
|
||||
};
|
||||
Vec lbl_1_data_30[] = { { 0.0f, 0.0f, 35.0f }, { 0.0f, 0.0f, 35.0f }, { 0.0f, 0.0f, 35.0f }, { 0.0f, 0.0f, 35.0f }, { 0.0f, 0.0f, 35.0f },
|
||||
{ 0.0f, 0.0f, 35.0f }, { 0.0f, 0.0f, 35.0f }, { 0.0f, 0.0f, 35.0f } };
|
||||
|
||||
Vec lbl_1_data_90[] = {
|
||||
{ -900.0f, 143.0f, -1020.0f },
|
||||
{ -677.0f, 143.0f, -1020.0f },
|
||||
{ 900.0f, 0.0f, -1150.0f },
|
||||
{ -307.0f, 182.0f, -1575.0f }
|
||||
};
|
||||
Vec lbl_1_data_90[] = { { -900.0f, 143.0f, -1020.0f }, { -677.0f, 143.0f, -1020.0f }, { 900.0f, 0.0f, -1150.0f }, { -307.0f, 182.0f, -1575.0f } };
|
||||
|
||||
s32 lbl_1_data_C0[][5] = {
|
||||
{ 50, 80, 90, 95, 100 },
|
||||
{ 5, 55, 85, 95, 100 },
|
||||
{ 0, 5, 55, 90, 100 }
|
||||
};
|
||||
s32 lbl_1_data_C0[][5] = { { 50, 80, 90, 95, 100 }, { 5, 55, 85, 95, 100 }, { 0, 5, 55, 90, 100 } };
|
||||
|
||||
float lbl_1_data_FC[] = { 0.3f, 0.5f, 0.7f, 0.9f, 1.0f };
|
||||
|
||||
void ObjectSetup(void) {
|
||||
Process* temp_r3;
|
||||
void ObjectSetup(void)
|
||||
{
|
||||
Process *temp_r3;
|
||||
|
||||
temp_r3 = omInitObjMan(50, 0x2000);
|
||||
omGameSysInit(temp_r3);
|
||||
|
|
@ -172,15 +152,16 @@ void ObjectSetup(void) {
|
|||
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60);
|
||||
}
|
||||
|
||||
void fn_1_4A0(void) {
|
||||
void fn_1_4A0(void)
|
||||
{
|
||||
float temp_f31;
|
||||
float temp_f30;
|
||||
void* var_r27;
|
||||
StructBss340* temp_r31;
|
||||
StructBss70* temp_r29;
|
||||
Process* var_r25;
|
||||
AnimData* var_r24;
|
||||
AnimData* spC[4];
|
||||
void *var_r27;
|
||||
StructBss340 *temp_r31;
|
||||
StructBss70 *temp_r29;
|
||||
Process *var_r25;
|
||||
AnimData *var_r24;
|
||||
AnimData *spC[4];
|
||||
s16 var_r30;
|
||||
s16 var_r23;
|
||||
s16 sp8;
|
||||
|
|
@ -292,7 +273,8 @@ void fn_1_4A0(void) {
|
|||
var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M462, 12), MEMORY_DEFAULT_NUM, HEAP_DATA);
|
||||
var_r30 = Hu3DModelCreate(var_r27);
|
||||
var_r23 = var_r30;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_r30 = Hu3DModelLink(var_r23);
|
||||
}
|
||||
temp_r29->unk00 = var_r30;
|
||||
|
|
@ -389,7 +371,8 @@ void fn_1_4A0(void) {
|
|||
HuPrcChildCreate(fn_1_7D40, 0x1000, 0x1000, 0, HuPrcCurrentGet());
|
||||
}
|
||||
|
||||
float fn_1_14B4(float arg0) {
|
||||
float fn_1_14B4(float arg0)
|
||||
{
|
||||
while (arg0 >= 360.0f || arg0 < 0.0f) {
|
||||
if (arg0 >= 360.0f) {
|
||||
arg0 -= 360.0f;
|
||||
|
|
@ -401,24 +384,29 @@ float fn_1_14B4(float arg0) {
|
|||
return arg0;
|
||||
}
|
||||
|
||||
float fn_1_1534(float arg0, float arg1) {
|
||||
float fn_1_1534(float arg0, float arg1)
|
||||
{
|
||||
float var_f31;
|
||||
|
||||
if (arg0 > 750.0f - arg1) {
|
||||
var_f31 = 750.0f;
|
||||
} else if (arg0 < -(750.0f - arg1)) {
|
||||
}
|
||||
else if (arg0 < -(750.0f - arg1)) {
|
||||
var_f31 = 750.0f;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_f31 = 750.0f;
|
||||
}
|
||||
return var_f31;
|
||||
}
|
||||
|
||||
float fn_1_15B4(float arg0, float arg1) {
|
||||
float fn_1_15B4(float arg0, float arg1)
|
||||
{
|
||||
return fn_1_1534(arg0, arg1);
|
||||
}
|
||||
|
||||
void fn_1_1634(void) {
|
||||
void fn_1_1634(void)
|
||||
{
|
||||
float var_f31;
|
||||
float temp_f30;
|
||||
s32 i;
|
||||
|
|
@ -434,7 +422,8 @@ void fn_1_1634(void) {
|
|||
}
|
||||
}
|
||||
|
||||
void fn_1_16F8(void) {
|
||||
void fn_1_16F8(void)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 6; i++) {
|
||||
|
|
@ -442,7 +431,8 @@ void fn_1_16F8(void) {
|
|||
}
|
||||
}
|
||||
|
||||
void fn_1_174C(void) {
|
||||
void fn_1_174C(void)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 6; i++) {
|
||||
|
|
@ -450,12 +440,14 @@ void fn_1_174C(void) {
|
|||
}
|
||||
}
|
||||
|
||||
void fn_1_17A0(s32 arg0, s32 arg1) {
|
||||
void fn_1_17A0(s32 arg0, s32 arg1)
|
||||
{
|
||||
s32 var_r31;
|
||||
|
||||
if (arg1 != 0) {
|
||||
var_r31 = 2;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_r31 = 4;
|
||||
}
|
||||
HuSprBankSet(lbl_1_bss_3DC, var_r31, arg0 % 10);
|
||||
|
|
@ -463,13 +455,14 @@ void fn_1_17A0(s32 arg0, s32 arg1) {
|
|||
HuSprAttrReset(lbl_1_bss_3DC, var_r31 + 1, HUSPR_ATTR_DISPOFF);
|
||||
}
|
||||
|
||||
s32 fn_1_1880(float arg0, float arg1, float arg2, s32 arg3, s32 arg4) {
|
||||
s32 fn_1_1880(float arg0, float arg1, float arg2, s32 arg3, s32 arg4)
|
||||
{
|
||||
Vec sp34;
|
||||
Vec sp28;
|
||||
Vec sp1C;
|
||||
s32 i;
|
||||
StructBss70* temp_r30;
|
||||
StructBss340* var_r29;
|
||||
StructBss70 *temp_r30;
|
||||
StructBss340 *var_r29;
|
||||
|
||||
if (arg3 > 10) {
|
||||
arg3 = 10;
|
||||
|
|
@ -498,7 +491,8 @@ s32 fn_1_1880(float arg0, float arg1, float arg2, s32 arg3, s32 arg4) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
s32 fn_1_1BD4(StructBss70* arg0) {
|
||||
s32 fn_1_1BD4(StructBss70 *arg0)
|
||||
{
|
||||
float var_f31;
|
||||
float var_f30;
|
||||
s32 var_r31;
|
||||
|
|
@ -525,7 +519,8 @@ s32 fn_1_1BD4(StructBss70* arg0) {
|
|||
return var_r31;
|
||||
}
|
||||
|
||||
void fn_1_1E10(StructBss70* arg0) {
|
||||
void fn_1_1E10(StructBss70 *arg0)
|
||||
{
|
||||
Vec sp104;
|
||||
Vec spF8;
|
||||
Vec spEC;
|
||||
|
|
@ -541,8 +536,8 @@ void fn_1_1E10(StructBss70* arg0) {
|
|||
float spB0;
|
||||
float spAC;
|
||||
float spA0;
|
||||
StructBss70* var_r30;
|
||||
StructBss70* temp_r28;
|
||||
StructBss70 *var_r30;
|
||||
StructBss70 *temp_r28;
|
||||
s32 temp_r19;
|
||||
s32 var_r21;
|
||||
s32 i;
|
||||
|
|
@ -583,7 +578,8 @@ void fn_1_1E10(StructBss70* arg0) {
|
|||
spC0 = var_f19 - var_f26;
|
||||
if (spC0 > 0.0f) {
|
||||
spBC = -0.5f;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
spBC = 0.5f;
|
||||
}
|
||||
if (ABS_INV(var_f19 - var_f26) > 180.0f) {
|
||||
|
|
@ -626,13 +622,14 @@ block_end:
|
|||
arg0->unk14.z = spB4;
|
||||
}
|
||||
|
||||
void fn_1_2FDC(StructBss70* arg0) {
|
||||
void fn_1_2FDC(StructBss70 *arg0)
|
||||
{
|
||||
Vec spF0;
|
||||
Vec spE4;
|
||||
Vec spD8;
|
||||
s32 i;
|
||||
StructBss340* var_r30;
|
||||
StructBss70* temp_r25;
|
||||
StructBss340 *var_r30;
|
||||
StructBss70 *temp_r25;
|
||||
float var_f31;
|
||||
s32 var_r23;
|
||||
s32 var_r20;
|
||||
|
|
@ -655,12 +652,14 @@ void fn_1_2FDC(StructBss70* arg0) {
|
|||
var_f31 += 30.0f * frandf() - 60.0f;
|
||||
var_f31 = fn_1_14B4(var_f31);
|
||||
arg0->unk20 = var_f31;
|
||||
} else if (ABS_INV(arg0->unk14.x) > 550.0f) {
|
||||
}
|
||||
else if (ABS_INV(arg0->unk14.x) > 550.0f) {
|
||||
var_f31 = fn_1_14B4(180.0 + atan2d(arg0->unk14.x, 0.0));
|
||||
var_f31 += 10.0f * frandf() - 20.0f;
|
||||
var_f31 = fn_1_14B4(var_f31);
|
||||
arg0->unk20 = var_f31;
|
||||
} else if (frandmod(3) != 0) {
|
||||
}
|
||||
else if (frandmod(3) != 0) {
|
||||
for (i = 0, var_r23 = 0; i < 10; i++) {
|
||||
if (i == arg0->unk0C) {
|
||||
continue;
|
||||
|
|
@ -679,13 +678,15 @@ void fn_1_2FDC(StructBss70* arg0) {
|
|||
if (var_r23 == 1 && ABS_INV(var_r30->unk4C.x) < 650.0f) {
|
||||
temp_r25 = &lbl_1_bss_70[spAC[0]];
|
||||
var_f31 = fn_1_14B4(atan2d(arg0->unk40 - arg0->unk14.x, arg0->unk44 - arg0->unk14.z));
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_f31 = fn_1_14B4(180.0 + atan2d(arg0->unk14.x, arg0->unk14.z));
|
||||
var_f31 += 30.0f * frandf() - 60.0f;
|
||||
var_f31 = fn_1_14B4(var_f31);
|
||||
arg0->unk20 = var_f31;
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_f31 = 360.0f * frandf();
|
||||
arg0->unk20 = var_f31;
|
||||
}
|
||||
|
|
@ -713,15 +714,15 @@ void fn_1_2FDC(StructBss70* arg0) {
|
|||
var_f31 = fn_1_14B4(atan2d(arg0->unk40 - arg0->unk14.x, arg0->unk44 - arg0->unk14.z));
|
||||
arg0->unk14.x += arg0->unk34 * sind(var_f31);
|
||||
arg0->unk14.z += arg0->unk34 * cosd(var_f31);
|
||||
if (fn_1_1BD4(arg0)) {
|
||||
}
|
||||
if (fn_1_1BD4(arg0)) { }
|
||||
if (fn_1_1880(arg0->unk14.x, arg0->unk14.z, 50.0f, 10, arg0->unk0C) != 0) {
|
||||
arg0->unk14.x = arg0->unk24;
|
||||
arg0->unk14.z = arg0->unk28;
|
||||
arg0->unk38 = 100;
|
||||
arg0->unk3C = 0;
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
arg0->unk38 = 100;
|
||||
arg0->unk3C = 0;
|
||||
}
|
||||
|
|
@ -735,8 +736,9 @@ void fn_1_2FDC(StructBss70* arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
void fn_1_44D8(void) {
|
||||
StructBss70* temp_r31;
|
||||
void fn_1_44D8(void)
|
||||
{
|
||||
StructBss70 *temp_r31;
|
||||
float temp_f30;
|
||||
float var_f31;
|
||||
s32 i;
|
||||
|
|
@ -763,7 +765,8 @@ void fn_1_44D8(void) {
|
|||
}
|
||||
}
|
||||
|
||||
void fn_1_4644(StructBss70* arg0) {
|
||||
void fn_1_4644(StructBss70 *arg0)
|
||||
{
|
||||
float temp_f26;
|
||||
float temp_f25;
|
||||
float var_f27;
|
||||
|
|
@ -778,7 +781,8 @@ void fn_1_4644(StructBss70* arg0) {
|
|||
arg0->unk20 = 90.0f;
|
||||
var_f27 = -700.0f + temp_f26 - 500.0f;
|
||||
var_f24 = 8.333333f;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
arg0->unk14.x = 700.0f - temp_f26;
|
||||
arg0->unk20 = 270.0f;
|
||||
var_f27 = 700.0f - temp_f26 + 500.0f;
|
||||
|
|
@ -808,7 +812,8 @@ void fn_1_4644(StructBss70* arg0) {
|
|||
Hu3DModelPosSet(arg0->unk00, arg0->unk14.x, 0.0f, arg0->unk14.z);
|
||||
}
|
||||
|
||||
void fn_1_4BC4(void) {
|
||||
void fn_1_4BC4(void)
|
||||
{
|
||||
s32 spC;
|
||||
float sp8;
|
||||
float temp_f23;
|
||||
|
|
@ -816,9 +821,9 @@ void fn_1_4BC4(void) {
|
|||
float var_f28;
|
||||
float var_f30;
|
||||
float var_f29;
|
||||
StructBss70* temp_r31;
|
||||
StructBss340* var_r28;
|
||||
StructBss340* var_r30;
|
||||
StructBss70 *temp_r31;
|
||||
StructBss340 *var_r28;
|
||||
StructBss340 *var_r30;
|
||||
s32 temp_r27;
|
||||
s32 temp_r24;
|
||||
s32 var_r26;
|
||||
|
|
@ -843,7 +848,8 @@ loop_1:
|
|||
}
|
||||
}
|
||||
if (i > 4) {
|
||||
while (TRUE);
|
||||
while (TRUE)
|
||||
;
|
||||
}
|
||||
temp_r31->unk34 = 6.75f * lbl_1_data_FC[i];
|
||||
temp_r31->unk38 = 0;
|
||||
|
|
@ -854,8 +860,8 @@ loop_1:
|
|||
fn_1_4644(temp_r31);
|
||||
temp_r31->unk10 = 0;
|
||||
if (FALSE) {
|
||||
default:
|
||||
fn_1_2FDC(temp_r31);
|
||||
default:
|
||||
fn_1_2FDC(temp_r31);
|
||||
}
|
||||
Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk14.x, temp_r31->unk14.y, temp_r31->unk14.z);
|
||||
Hu3DModelRotSet(temp_r31->unk00, 0.0f, temp_r31->unk20, 0.0f);
|
||||
|
|
@ -869,19 +875,23 @@ loop_1:
|
|||
if (ABS_INV(var_r28->unk4C.z - temp_r31->unk14.z) > 250.0f) {
|
||||
if (temp_r31->unk14.x > 0.0f) {
|
||||
var_f30 = 10.0f;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_f30 = -10.0f;
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
if (var_r28->unk4C.x > temp_r31->unk14.x) {
|
||||
var_f30 = -10.0f;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_f30 = 10.0f;
|
||||
}
|
||||
}
|
||||
if (var_f30 > 0.0f) {
|
||||
Hu3DModelRotSet(temp_r31->unk00, 0.0f, 90.0f, 0.0f);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
Hu3DModelRotSet(temp_r31->unk00, 0.0f, 270.0f, 0.0f);
|
||||
}
|
||||
Hu3DMotionSet(temp_r31->unk00, temp_r31->unk04[1]);
|
||||
|
|
@ -911,7 +921,8 @@ loop_1:
|
|||
temp_r31->unk2C = fn_1_14B4(atan2d(temp_r31->unk14.x - var_r30->unk4C.x, temp_r31->unk14.z - var_r30->unk4C.z));
|
||||
Hu3DMotionTimeSet(temp_r31->unk02, 0.0f);
|
||||
Hu3DModelAttrReset(temp_r31->unk02, HU3D_ATTR_DISPOFF);
|
||||
Hu3DModelPosSet(temp_r31->unk02, var_r30->unk4C.x + var_r30->unk84 * sind(temp_r31->unk2C), temp_r31->unk14.y + 50.0f, var_r30->unk4C.z + var_r30->unk84 * cosd(temp_r31->unk2C));
|
||||
Hu3DModelPosSet(temp_r31->unk02, var_r30->unk4C.x + var_r30->unk84 * sind(temp_r31->unk2C), temp_r31->unk14.y + 50.0f,
|
||||
var_r30->unk4C.z + var_r30->unk84 * cosd(temp_r31->unk2C));
|
||||
i = 0;
|
||||
var_f29 = temp_r31->unk14.x;
|
||||
var_f28 = temp_r31->unk14.z;
|
||||
|
|
@ -943,9 +954,10 @@ loop_1:
|
|||
}
|
||||
}
|
||||
|
||||
void fn_1_545C(ModelData* model, ParticleData* particle, Mtx matrix) {
|
||||
HsfanimStruct01* var_r31;
|
||||
StructBss340* temp_r28;
|
||||
void fn_1_545C(ModelData *model, ParticleData *particle, Mtx matrix)
|
||||
{
|
||||
HsfanimStruct01 *var_r31;
|
||||
StructBss340 *temp_r28;
|
||||
float var_f30;
|
||||
float var_f31;
|
||||
float temp_f29;
|
||||
|
|
@ -996,7 +1008,7 @@ void fn_1_545C(ModelData* model, ParticleData* particle, Mtx matrix) {
|
|||
if (var_r31->unk14.x == 0.0f) {
|
||||
continue;
|
||||
}
|
||||
PSVECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34);
|
||||
VECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34);
|
||||
var_r31->unk08.x *= 0.95f;
|
||||
var_r31->unk08.z *= 0.95f;
|
||||
if (var_r31->unk08.y > 0.1f) {
|
||||
|
|
@ -1025,9 +1037,10 @@ void fn_1_545C(ModelData* model, ParticleData* particle, Mtx matrix) {
|
|||
}
|
||||
}
|
||||
|
||||
void fn_1_594C(ModelData* model, ParticleData* particle, Mtx matrix) {
|
||||
HsfanimStruct01* var_r31;
|
||||
StructBss340* temp_r28;
|
||||
void fn_1_594C(ModelData *model, ParticleData *particle, Mtx matrix)
|
||||
{
|
||||
HsfanimStruct01 *var_r31;
|
||||
StructBss340 *temp_r28;
|
||||
float temp_f31;
|
||||
float temp_f30;
|
||||
s32 var_r27;
|
||||
|
|
@ -1088,7 +1101,7 @@ void fn_1_594C(ModelData* model, ParticleData* particle, Mtx matrix) {
|
|||
if (var_r31->unk14.x == 0.0f || var_r31->unk24 == 0.0f) {
|
||||
continue;
|
||||
}
|
||||
PSVECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34);
|
||||
VECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34);
|
||||
if (var_r31->unk08.y > 1.0f) {
|
||||
var_r31->unk08.y -= 0.3f;
|
||||
}
|
||||
|
|
@ -1112,9 +1125,10 @@ void fn_1_594C(ModelData* model, ParticleData* particle, Mtx matrix) {
|
|||
}
|
||||
}
|
||||
|
||||
void fn_1_5DE4(ModelData* model, ParticleData* particle, Mtx matrix) {
|
||||
HsfanimStruct01* var_r31;
|
||||
StructBss340* temp_r28;
|
||||
void fn_1_5DE4(ModelData *model, ParticleData *particle, Mtx matrix)
|
||||
{
|
||||
HsfanimStruct01 *var_r31;
|
||||
StructBss340 *temp_r28;
|
||||
float temp_f31;
|
||||
float temp_f30;
|
||||
s32 var_r27;
|
||||
|
|
@ -1175,7 +1189,7 @@ void fn_1_5DE4(ModelData* model, ParticleData* particle, Mtx matrix) {
|
|||
if (var_r31->unk14.x == 0.0f || var_r31->unk24 == 0.0f) {
|
||||
continue;
|
||||
}
|
||||
PSVECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34);
|
||||
VECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34);
|
||||
if (var_r31->unk08.y > 1.0f) {
|
||||
var_r31->unk08.y -= 0.3f;
|
||||
}
|
||||
|
|
@ -1199,8 +1213,9 @@ void fn_1_5DE4(ModelData* model, ParticleData* particle, Mtx matrix) {
|
|||
}
|
||||
}
|
||||
|
||||
s8 fn_1_627C(s32 arg0, s32 arg1) {
|
||||
StructBss340* temp_r31;
|
||||
s8 fn_1_627C(s32 arg0, s32 arg1)
|
||||
{
|
||||
StructBss340 *temp_r31;
|
||||
s8 var_r30;
|
||||
|
||||
temp_r31 = &lbl_1_bss_340[arg0];
|
||||
|
|
@ -1208,8 +1223,9 @@ s8 fn_1_627C(s32 arg0, s32 arg1) {
|
|||
return var_r30;
|
||||
}
|
||||
|
||||
u8 fn_1_62F0(s32 arg0, s32 arg1) {
|
||||
StructBss340* temp_r31;
|
||||
u8 fn_1_62F0(s32 arg0, s32 arg1)
|
||||
{
|
||||
StructBss340 *temp_r31;
|
||||
s8 var_r30;
|
||||
|
||||
temp_r31 = &lbl_1_bss_340[arg0];
|
||||
|
|
@ -1217,8 +1233,9 @@ u8 fn_1_62F0(s32 arg0, s32 arg1) {
|
|||
return var_r30;
|
||||
}
|
||||
|
||||
u16 fn_1_636C(s32 arg0) {
|
||||
StructBss340* temp_r31;
|
||||
u16 fn_1_636C(s32 arg0)
|
||||
{
|
||||
StructBss340 *temp_r31;
|
||||
u16 var_r30;
|
||||
|
||||
temp_r31 = &lbl_1_bss_340[arg0];
|
||||
|
|
@ -1226,8 +1243,9 @@ u16 fn_1_636C(s32 arg0) {
|
|||
return var_r30;
|
||||
}
|
||||
|
||||
u16 fn_1_63B4(s32 arg0) {
|
||||
StructBss340* temp_r31;
|
||||
u16 fn_1_63B4(s32 arg0)
|
||||
{
|
||||
StructBss340 *temp_r31;
|
||||
u16 var_r30;
|
||||
|
||||
temp_r31 = &lbl_1_bss_340[arg0];
|
||||
|
|
@ -1235,11 +1253,12 @@ u16 fn_1_63B4(s32 arg0) {
|
|||
return var_r30;
|
||||
}
|
||||
|
||||
s32 fn_1_63FC(StructBss340* arg0) {
|
||||
s32 fn_1_63FC(StructBss340 *arg0)
|
||||
{
|
||||
Vec sp24;
|
||||
Vec sp18;
|
||||
Vec spC;
|
||||
StructBss70* temp_r31;
|
||||
StructBss70 *temp_r31;
|
||||
s32 var_r28;
|
||||
s32 i;
|
||||
|
||||
|
|
@ -1257,7 +1276,8 @@ s32 fn_1_63FC(StructBss340* arg0) {
|
|||
return var_r28;
|
||||
}
|
||||
|
||||
s32 fn_1_65D0(StructBss340* arg0) {
|
||||
s32 fn_1_65D0(StructBss340 *arg0)
|
||||
{
|
||||
float var_f31;
|
||||
float var_f30;
|
||||
s32 sp8;
|
||||
|
|
@ -1279,7 +1299,8 @@ s32 fn_1_65D0(StructBss340* arg0) {
|
|||
return sp8;
|
||||
}
|
||||
|
||||
float fn_1_67F0(float arg0, float arg1, float arg2) {
|
||||
float fn_1_67F0(float arg0, float arg1, float arg2)
|
||||
{
|
||||
float var_f30;
|
||||
float var_f31;
|
||||
|
||||
|
|
@ -1297,8 +1318,9 @@ float fn_1_67F0(float arg0, float arg1, float arg2) {
|
|||
return var_f30;
|
||||
}
|
||||
|
||||
void fn_1_68F4(void) {
|
||||
StructBss340* temp_r31;
|
||||
void fn_1_68F4(void)
|
||||
{
|
||||
StructBss340 *temp_r31;
|
||||
s32 i;
|
||||
|
||||
temp_r31 = HuPrcCurrentGet()->user_data;
|
||||
|
|
@ -1313,19 +1335,21 @@ void fn_1_68F4(void) {
|
|||
}
|
||||
}
|
||||
|
||||
s32 fn_1_6964(StructBss340* arg0) {
|
||||
s32 fn_1_6964(StructBss340 *arg0)
|
||||
{
|
||||
return (arg0->unk2C == 4 || arg0->unk2C == 5 || arg0->unk2C == 6);
|
||||
}
|
||||
|
||||
void fn_1_69C0(void) {
|
||||
void fn_1_69C0(void)
|
||||
{
|
||||
float var_f23;
|
||||
float var_f27;
|
||||
float var_f26;
|
||||
StructBss340* temp_r31;
|
||||
StructBss340 *temp_r31;
|
||||
s16 var_r29;
|
||||
s32 var_r24;
|
||||
s32 var_r23;
|
||||
Process* var_r22;
|
||||
Process *var_r22;
|
||||
s32 var_r26;
|
||||
s32 var_r25;
|
||||
s32 var_r28;
|
||||
|
|
@ -1353,7 +1377,8 @@ void fn_1_69C0(void) {
|
|||
case 8:
|
||||
if (temp_r31->unk3C != 0) {
|
||||
temp_r31->unk3C--;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[0], 0.0f, 5.0f, HU3D_MOTATTR_LOOP);
|
||||
temp_r31->unk2C = 0;
|
||||
}
|
||||
|
|
@ -1374,7 +1399,8 @@ void fn_1_69C0(void) {
|
|||
}
|
||||
if (temp_r31->unk3C != 0) {
|
||||
temp_r31->unk3C--;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
Hu3DMotionSet(temp_r31->unk00, temp_r31->unk06[5]);
|
||||
Hu3DModelAttrReset(temp_r31->unk00, HU3D_MOTATTR_LOOP);
|
||||
temp_r31->unk2C = 6;
|
||||
|
|
@ -1416,7 +1442,8 @@ void fn_1_69C0(void) {
|
|||
if (fn_1_63B4(temp_r31->unk20) & PAD_BUTTON_A) {
|
||||
Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[1], 0.0f, 8.0f, HU3D_MOTATTR_LOOP);
|
||||
Hu3DMotionShiftSpeedSet(temp_r31->unk00, 2.0f);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[1], 0.0f, 8.0f, HU3D_MOTATTR_LOOP | HU3D_MOTATTR_REV);
|
||||
Hu3DMotionShiftSpeedSet(temp_r31->unk00, 2.0f);
|
||||
}
|
||||
|
|
@ -1424,14 +1451,16 @@ void fn_1_69C0(void) {
|
|||
HuAudFXStop(var_r29);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
if (temp_r31->unk2C != 3) {
|
||||
temp_r31->unk2C = 3;
|
||||
temp_r31->unk48 = 0;
|
||||
if (fn_1_63B4(temp_r31->unk20) & PAD_BUTTON_A) {
|
||||
Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[2], 0.0f, 8.0f, HU3D_MOTATTR_LOOP);
|
||||
Hu3DMotionShiftSpeedSet(temp_r31->unk00, 2.0f);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[2], 0.0f, 8.0f, HU3D_MOTATTR_LOOP | HU3D_MOTATTR_REV);
|
||||
Hu3DMotionShiftSpeedSet(temp_r31->unk00, 2.0f);
|
||||
}
|
||||
|
|
@ -1443,7 +1472,8 @@ void fn_1_69C0(void) {
|
|||
if (temp_r31->unk34 != 1) {
|
||||
var_r24 = 8;
|
||||
var_r23 = 32;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_r24 = 7;
|
||||
var_r23 = 22;
|
||||
}
|
||||
|
|
@ -1458,12 +1488,14 @@ void fn_1_69C0(void) {
|
|||
if (temp_r31->unk48 >= 50) {
|
||||
temp_r31->unk48 -= 50;
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
if (temp_r31->unk48 >= 30) {
|
||||
temp_r31->unk48 -= 30;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
if (ABS_INV(fn_1_627C(temp_r31->unk20, 0)) <= 20) {
|
||||
if (temp_r31->unk2C != 0) {
|
||||
temp_r31->unk2C = 0;
|
||||
|
|
@ -1472,7 +1504,8 @@ void fn_1_69C0(void) {
|
|||
HuAudFXStop(var_r29);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
if (temp_r31->unk2C != 1) {
|
||||
temp_r31->unk2C = 1;
|
||||
Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[3], 0.0f, 8.0f, HU3D_MOTATTR_LOOP);
|
||||
|
|
@ -1481,10 +1514,8 @@ void fn_1_69C0(void) {
|
|||
}
|
||||
}
|
||||
}
|
||||
if (fn_1_63FC(temp_r31) != -1) {
|
||||
}
|
||||
if ((spA4 = fn_1_65D0(temp_r31)) != -1) {
|
||||
}
|
||||
if (fn_1_63FC(temp_r31) != -1) { }
|
||||
if ((spA4 = fn_1_65D0(temp_r31)) != -1) { }
|
||||
break;
|
||||
}
|
||||
Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk4C.x, temp_r31->unk4C.y, temp_r31->unk4C.z);
|
||||
|
|
@ -1522,7 +1553,8 @@ void fn_1_69C0(void) {
|
|||
if (var_r25 & 1) {
|
||||
Hu3DModelAttrReset(temp_r31->unk00, HU3D_ATTR_DISPOFF);
|
||||
Hu3DModelAttrReset(temp_r31->unk04, HU3D_ATTR_DISPOFF);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
Hu3DModelAttrSet(temp_r31->unk00, HU3D_ATTR_DISPOFF);
|
||||
Hu3DModelAttrSet(temp_r31->unk04, HU3D_ATTR_DISPOFF);
|
||||
}
|
||||
|
|
@ -1542,7 +1574,8 @@ void fn_1_69C0(void) {
|
|||
Hu3DModelAttrSet(temp_r31->unk00, HU3D_ATTR_DISPOFF);
|
||||
HuAudSStreamPlay(4);
|
||||
HuPrcSleep(180);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_f26 = temp_r31->unk90;
|
||||
Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[3], 0.0f, 2.0f, HU3D_MOTATTR_LOOP);
|
||||
if (fn_1_14B4(temp_r31->unk60.y) != 0.0f) {
|
||||
|
|
@ -1576,10 +1609,10 @@ void fn_1_69C0(void) {
|
|||
}
|
||||
}
|
||||
|
||||
void fn_1_7D3C(void) {
|
||||
}
|
||||
void fn_1_7D3C(void) { }
|
||||
|
||||
void fn_1_7D40(void) {
|
||||
void fn_1_7D40(void)
|
||||
{
|
||||
while (TRUE) {
|
||||
if (omSysExitReq == 1) {
|
||||
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60);
|
||||
|
|
@ -1595,7 +1628,8 @@ void fn_1_7D40(void) {
|
|||
}
|
||||
}
|
||||
|
||||
void fn_1_7DA0(void) {
|
||||
void fn_1_7DA0(void)
|
||||
{
|
||||
s16 temp_r31;
|
||||
s16 var_r30;
|
||||
s16 temp_r26;
|
||||
|
|
@ -1644,7 +1678,8 @@ void fn_1_7DA0(void) {
|
|||
HuPrcVSleep();
|
||||
}
|
||||
lbl_1_bss_3E4 = 5;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
lbl_1_bss_3E4 = 5;
|
||||
}
|
||||
while (lbl_1_bss_3E4 < 6) {
|
||||
|
|
|
|||
|
|
@ -68,14 +68,14 @@ typedef struct {
|
|||
} StructData134; // Size 0x18
|
||||
|
||||
s16 fn_1_4474(void);
|
||||
void fn_1_659C(omObjData* arg0);
|
||||
void fn_1_659C(omObjData *arg0);
|
||||
|
||||
StructBss51C lbl_1_bss_51C[9];
|
||||
StructBss35C lbl_1_bss_35C[28];
|
||||
omObjData* lbl_1_bss_358;
|
||||
omObjData* lbl_1_bss_354;
|
||||
omObjData* lbl_1_bss_330[9];
|
||||
omObjData* lbl_1_bss_32C;
|
||||
omObjData *lbl_1_bss_358;
|
||||
omObjData *lbl_1_bss_354;
|
||||
omObjData *lbl_1_bss_330[9];
|
||||
omObjData *lbl_1_bss_32C;
|
||||
HsfanimStruct00 lbl_1_bss_5C[9];
|
||||
s32 lbl_1_bss_58;
|
||||
s32 lbl_1_bss_54;
|
||||
|
|
@ -83,7 +83,7 @@ s32 lbl_1_bss_50;
|
|||
char lbl_1_bss_4C[4]; // unused
|
||||
s32 lbl_1_bss_48;
|
||||
s32 lbl_1_bss_44;
|
||||
Process* lbl_1_bss_40;
|
||||
Process *lbl_1_bss_40;
|
||||
s32 lbl_1_bss_3C;
|
||||
s32 lbl_1_bss_38;
|
||||
s32 lbl_1_bss_34;
|
||||
|
|
@ -101,17 +101,9 @@ char lbl_1_bss_8[4]; // unused
|
|||
s32 lbl_1_bss_4;
|
||||
s32 lbl_1_bss_0;
|
||||
|
||||
s32 lbl_1_data_0[9] = {
|
||||
DATA_MAKE_NUM(DATADIR_M458, 38),
|
||||
DATA_MAKE_NUM(DATADIR_M458, 38),
|
||||
DATA_MAKE_NUM(DATADIR_M458, 38),
|
||||
DATA_MAKE_NUM(DATADIR_M458, 38),
|
||||
DATA_MAKE_NUM(DATADIR_M458, 38),
|
||||
DATA_MAKE_NUM(DATADIR_M458, 38),
|
||||
DATA_MAKE_NUM(DATADIR_M458, 38),
|
||||
DATA_MAKE_NUM(DATADIR_M458, 38),
|
||||
DATA_MAKE_NUM(DATADIR_M458, 38)
|
||||
};
|
||||
s32 lbl_1_data_0[9] = { DATA_MAKE_NUM(DATADIR_M458, 38), DATA_MAKE_NUM(DATADIR_M458, 38), DATA_MAKE_NUM(DATADIR_M458, 38),
|
||||
DATA_MAKE_NUM(DATADIR_M458, 38), DATA_MAKE_NUM(DATADIR_M458, 38), DATA_MAKE_NUM(DATADIR_M458, 38), DATA_MAKE_NUM(DATADIR_M458, 38),
|
||||
DATA_MAKE_NUM(DATADIR_M458, 38), DATA_MAKE_NUM(DATADIR_M458, 38) };
|
||||
|
||||
s32 lbl_1_data_24[9] = { 0 };
|
||||
|
||||
|
|
@ -129,17 +121,8 @@ s32 lbl_1_data_48[9] = {
|
|||
|
||||
u32 lbl_1_data_6C[9] = { 0, 0, 0, 0, 0, 0, 0, 1, 0 };
|
||||
|
||||
u32 lbl_1_data_90[] = {
|
||||
DATA_MAKE_NUM(DATADIR_BKOOPA, 8),
|
||||
0,
|
||||
0,
|
||||
DATA_MAKE_NUM(DATADIR_BKOOPA, 10),
|
||||
0,
|
||||
DATA_MAKE_NUM(DATADIR_M458, 42),
|
||||
DATA_MAKE_NUM(DATADIR_M458, 40),
|
||||
DATA_MAKE_NUM(DATADIR_M458, 41),
|
||||
DATA_MAKE_NUM(DATADIR_M458, 39)
|
||||
};
|
||||
u32 lbl_1_data_90[] = { DATA_MAKE_NUM(DATADIR_BKOOPA, 8), 0, 0, DATA_MAKE_NUM(DATADIR_BKOOPA, 10), 0, DATA_MAKE_NUM(DATADIR_M458, 42),
|
||||
DATA_MAKE_NUM(DATADIR_M458, 40), DATA_MAKE_NUM(DATADIR_M458, 41), DATA_MAKE_NUM(DATADIR_M458, 39) };
|
||||
|
||||
u8 lbl_1_data_B4[9] = { 0, 0, 0, 1, 1, 1, 0, 1, 1 };
|
||||
u8 lbl_1_data_BD[9] = { 0, 0, 0, 1, 1, 1, 0, 1, 1 };
|
||||
|
|
@ -157,7 +140,8 @@ s32 lbl_1_data_154 = -1;
|
|||
// unused
|
||||
float lbl_1_data_158[] = { -90.0f, 0.0f, 525.0f, 180.0f, 90.0f, 0.0f, 525.0f, 180.0f };
|
||||
|
||||
void fn_1_A0(void) {
|
||||
void fn_1_A0(void)
|
||||
{
|
||||
if (HuPadBtnDown[0] & PAD_BUTTON_B) {
|
||||
Center.x = lbl_1_bss_330[0]->trans.x;
|
||||
Center.y = lbl_1_bss_330[0]->trans.y;
|
||||
|
|
@ -176,9 +160,10 @@ void fn_1_A0(void) {
|
|||
|
||||
s32 lbl_1_data_184 = -1;
|
||||
|
||||
void fn_1_4C8(omObjData* arg0) {
|
||||
ModelData* temp_r24;
|
||||
ModelData* temp_r29;
|
||||
void fn_1_4C8(omObjData *arg0)
|
||||
{
|
||||
ModelData *temp_r24;
|
||||
ModelData *temp_r29;
|
||||
float temp_f31;
|
||||
float temp_f30;
|
||||
float var_f28;
|
||||
|
|
@ -190,17 +175,17 @@ void fn_1_4C8(omObjData* arg0) {
|
|||
float var_f22;
|
||||
float var_f21;
|
||||
float var_f20;
|
||||
StructBss330Data* temp_r31;
|
||||
StructBss330Data *temp_r31;
|
||||
s16 var_r28;
|
||||
s32 temp_r27;
|
||||
s32 var_r26;
|
||||
s32 var_r25;
|
||||
s32 var_r23;
|
||||
s32 var_r22;
|
||||
StructBss330Data* temp_r21;
|
||||
StructBss330Data *temp_r21;
|
||||
s32 var_r20;
|
||||
s32 var_r19;
|
||||
StructBss330Data* temp_r18;
|
||||
StructBss330Data *temp_r18;
|
||||
s32 var_r17;
|
||||
float sp180[2];
|
||||
s32 spE0;
|
||||
|
|
@ -210,18 +195,18 @@ void fn_1_4C8(omObjData* arg0) {
|
|||
s32 spD0;
|
||||
s32 spCC;
|
||||
s32 spC8;
|
||||
StructBss330Data* spC4;
|
||||
StructBss330Data *spC4;
|
||||
s32 spC0;
|
||||
s32 spBC;
|
||||
StructBss330Data* spB8;
|
||||
StructBss330Data *spB8;
|
||||
s32 spB4;
|
||||
u32 spB0;
|
||||
float spAC;
|
||||
s32 spA8;
|
||||
s32 spA4;
|
||||
s32 spA0;
|
||||
StructBss330Data* sp9C;
|
||||
ModelData* sp98;
|
||||
StructBss330Data *sp9C;
|
||||
ModelData *sp98;
|
||||
float sp94;
|
||||
float sp90;
|
||||
s32 sp8C;
|
||||
|
|
@ -240,7 +225,8 @@ void fn_1_4C8(omObjData* arg0) {
|
|||
}
|
||||
if (temp_r31->unk0C != -1) {
|
||||
var_r22 = (HuPadBtnDown[temp_r31->unk0C] & PAD_BUTTON_A) ? 1 : 0;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
temp_r31->unk14 += (temp_r31->unk14 < 0x10000);
|
||||
if (temp_r31->unk14 == 30) {
|
||||
var_r22 = 1;
|
||||
|
|
@ -251,12 +237,11 @@ void fn_1_4C8(omObjData* arg0) {
|
|||
var_r26 = 0;
|
||||
var_r25 = 0;
|
||||
if (temp_r31->unk0C != -1) {
|
||||
var_r26 = (HuPadStkX[temp_r31->unk0C] < -20) ? -1
|
||||
: (HuPadStkX[temp_r31->unk0C] > 20) ? 1 : 0;
|
||||
var_r25 = (-HuPadStkY[temp_r31->unk0C] < -20) ? -1
|
||||
: (-HuPadStkY[temp_r31->unk0C] > 20) ? 1 : 0;
|
||||
var_r26 = (HuPadStkX[temp_r31->unk0C] < -20) ? -1 : (HuPadStkX[temp_r31->unk0C] > 20) ? 1 : 0;
|
||||
var_r25 = (-HuPadStkY[temp_r31->unk0C] < -20) ? -1 : (-HuPadStkY[temp_r31->unk0C] > 20) ? 1 : 0;
|
||||
var_r22 = (HuPadBtnDown[temp_r31->unk0C] & PAD_BUTTON_A) ? 1 : 0;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
if (lbl_1_bss_54 == 1) {
|
||||
temp_r31->unk14 = rand8() % 64 + 30;
|
||||
}
|
||||
|
|
@ -278,16 +263,16 @@ void fn_1_4C8(omObjData* arg0) {
|
|||
spCC = 0;
|
||||
if (var_r17 != temp_r31->unk00) {
|
||||
if (fabs(500.0 * temp_r31->unk3C - arg0->trans.x) < 10.0) {
|
||||
spE0 = spDC = (arg0->trans.x < -250.0) ? -1
|
||||
: (arg0->trans.x > 250.0) ? 1 : 0;
|
||||
} else {
|
||||
spE0 = spDC = (arg0->trans.x < -250.0) ? -1 : (arg0->trans.x > 250.0) ? 1 : 0;
|
||||
}
|
||||
else {
|
||||
spE0 = (arg0->trans.x < 0.0f) ? -1 : 0;
|
||||
spDC = spE0 + 1;
|
||||
}
|
||||
if (fabs(500.0 * temp_r31->unk40 - arg0->trans.z) < 10.0) {
|
||||
spD8 = spD4 = (arg0->trans.z < -250.0) ? -1
|
||||
: (arg0->trans.z > 250.0) ? 1 : 0;
|
||||
} else {
|
||||
spD8 = spD4 = (arg0->trans.z < -250.0) ? -1 : (arg0->trans.z > 250.0) ? 1 : 0;
|
||||
}
|
||||
else {
|
||||
spD8 = (arg0->trans.z < 0.0f) ? -1 : 0;
|
||||
spD4 = spD8 + 1;
|
||||
}
|
||||
|
|
@ -309,14 +294,16 @@ void fn_1_4C8(omObjData* arg0) {
|
|||
if (var_r26 * (500.0 * temp_r31->unk3C - arg0->trans.x) < 0.0) {
|
||||
temp_r31->unk3C += var_r26;
|
||||
}
|
||||
if (fabs(500.0 * temp_r31->unk3C - arg0->trans.x) < 10.0 && var_r26 != 0 && temp_r31->unk3C + var_r26 >= -1 && temp_r31->unk3C + var_r26 <= 1) {
|
||||
if (fabs(500.0 * temp_r31->unk3C - arg0->trans.x) < 10.0 && var_r26 != 0 && temp_r31->unk3C + var_r26 >= -1
|
||||
&& temp_r31->unk3C + var_r26 <= 1) {
|
||||
temp_r31->unk3C += var_r26;
|
||||
}
|
||||
var_f23 = ((500.0 * temp_r31->unk3C - arg0->trans.x) / 0.25) / 1.75;
|
||||
if (var_r25 * (500.0 * temp_r31->unk40 - arg0->trans.z) < 0.0) {
|
||||
temp_r31->unk40 += var_r25;
|
||||
}
|
||||
if (fabs(500.0 * temp_r31->unk40 - arg0->trans.z) < 10.0 && var_r25 != 0 && temp_r31->unk40 + var_r25 >= -1 && temp_r31->unk40 + var_r25 <= 1) {
|
||||
if (fabs(500.0 * temp_r31->unk40 - arg0->trans.z) < 10.0 && var_r25 != 0 && temp_r31->unk40 + var_r25 >= -1
|
||||
&& temp_r31->unk40 + var_r25 <= 1) {
|
||||
temp_r31->unk40 += var_r25;
|
||||
}
|
||||
var_f22 = ((500.0 * temp_r31->unk40 - arg0->trans.z) / -0.25) / 1.75;
|
||||
|
|
@ -332,8 +319,8 @@ void fn_1_4C8(omObjData* arg0) {
|
|||
|
||||
sp1A0.x = temp_f31;
|
||||
sp1A0.z = temp_f30;
|
||||
PSMTXRotRad(sp1D0, 'y', MTXDegToRad(CRot.y));
|
||||
PSMTXMultVec(sp1D0, &sp1A0, &sp1A0);
|
||||
MTXRotRad(sp1D0, 'y', MTXDegToRad(CRot.y));
|
||||
MTXMultVec(sp1D0, &sp1A0, &sp1A0);
|
||||
temp_f31 = sp1A0.x;
|
||||
temp_f30 = sp1A0.z;
|
||||
var_f28 = sqrtf(temp_f31 * temp_f31 + temp_f30 * temp_f30);
|
||||
|
|
@ -341,7 +328,8 @@ void fn_1_4C8(omObjData* arg0) {
|
|||
if (var_f28 < 10.0f) {
|
||||
temp_r31->unk2C = temp_f31;
|
||||
temp_r31->unk34 += temp_f30;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
temp_f31 /= var_f28;
|
||||
temp_f30 /= var_f28;
|
||||
var_f28 = 10.0f;
|
||||
|
|
@ -352,10 +340,12 @@ void fn_1_4C8(omObjData* arg0) {
|
|||
arg0->rot.y = atan2d(temp_r31->unk2C, temp_r31->unk34);
|
||||
if (temp_r31->unk28 >= 8.0f) {
|
||||
var_r28 = 2;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_r28 = 2;
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_r28 = 0;
|
||||
}
|
||||
}
|
||||
|
|
@ -372,14 +362,13 @@ void fn_1_4C8(omObjData* arg0) {
|
|||
if (lbl_1_bss_54 == 0) {
|
||||
Hu3DModelAttrReset(arg0->model[0], HU3D_ATTR_DISPOFF);
|
||||
if (temp_r31->unk00 < 4) {
|
||||
temp_r31->unk38 = (temp_r31->unk00 == 0) ? 0
|
||||
: (temp_r31->unk00 == 1) ? 2
|
||||
: (temp_r31->unk00 == 2) ? 6 : 8;
|
||||
temp_r31->unk38 = (temp_r31->unk00 == 0) ? 0 : (temp_r31->unk00 == 1) ? 2 : (temp_r31->unk00 == 2) ? 6 : 8;
|
||||
temp_r31->unk3C = temp_r31->unk38 % 3 - 1;
|
||||
temp_r31->unk40 = temp_r31->unk38 / 3 - 1;
|
||||
arg0->trans.x = 500.0 * temp_r31->unk3C;
|
||||
arg0->trans.z = 500.0 * temp_r31->unk40;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
do {
|
||||
temp_r31->unk38 = rand8() % 9;
|
||||
for (spC8 = 0; spC8 < temp_r31->unk00; spC8++) {
|
||||
|
|
@ -446,9 +435,7 @@ void fn_1_4C8(omObjData* arg0) {
|
|||
for (var_r23 = 0; var_r23 < 4; var_r23++) {
|
||||
temp_r18 = lbl_1_bss_330[var_r23]->data;
|
||||
if (!(fabs(500.0 * temp_r18->unk3C - lbl_1_bss_330[var_r23]->trans.x) < 1.0)
|
||||
|| !(fabs(500.0 * temp_r18->unk40 - lbl_1_bss_330[var_r23]->trans.z) < 1.0)
|
||||
|| temp_r18->unk20 != 0)
|
||||
{
|
||||
|| !(fabs(500.0 * temp_r18->unk40 - lbl_1_bss_330[var_r23]->trans.z) < 1.0) || temp_r18->unk20 != 0) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -461,7 +448,8 @@ void fn_1_4C8(omObjData* arg0) {
|
|||
if (temp_r31->unk5C != 0) {
|
||||
if (arg0->trans.y < -15000.0f) {
|
||||
Hu3DModelAttrSet(arg0->model[0], HU3D_ATTR_DISPOFF);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
arg0->trans.y -= 77.0f;
|
||||
}
|
||||
}
|
||||
|
|
@ -503,8 +491,7 @@ void fn_1_4C8(omObjData* arg0) {
|
|||
temp_f26 = (lbl_1_bss_54 - 210) / 4.0;
|
||||
temp_f26 = (temp_f26 > 1.0f) ? 1.0f : temp_f26;
|
||||
espAttrReset(lbl_1_data_24[temp_r31->unk38], HUSPR_ATTR_DISPOFF);
|
||||
espPosSet(lbl_1_data_24[temp_r31->unk38],
|
||||
290.0f + spB4 * sp194[spB0],
|
||||
espPosSet(lbl_1_data_24[temp_r31->unk38], 290.0f + spB4 * sp194[spB0],
|
||||
sp188[spB0] + 0.5 * (64.0f * (1.0f - spAC) * 0.5 + sp1AC[temp_r31->unk08 != -1 ? temp_r31->unk08 : 8]));
|
||||
espScaleSet(lbl_1_data_24[temp_r31->unk38], 0.5 * temp_f26, 0.5 * temp_f26);
|
||||
}
|
||||
|
|
@ -534,9 +521,11 @@ void fn_1_4C8(omObjData* arg0) {
|
|||
if (temp_r31->unk08 == -1 && lbl_1_bss_54 == 1) {
|
||||
HuAudFXPlay(0x3A);
|
||||
}
|
||||
} else if (arg0->trans.y < -40000.0f) {
|
||||
}
|
||||
else if (arg0->trans.y < -40000.0f) {
|
||||
Hu3DModelAttrSet(arg0->model[0], HU3D_ATTR_DISPOFF);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
arg0->trans.y -= 77.0f;
|
||||
}
|
||||
break;
|
||||
|
|
@ -549,7 +538,8 @@ void fn_1_4C8(omObjData* arg0) {
|
|||
temp_r31->unk1C++;
|
||||
if (temp_r31->unk1C <= 60) {
|
||||
arg0->rot.y = -180.0 * (temp_r31->unk1C / 60.0);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
Hu3DMotionTimeSet(arg0->model[0], 120.0f);
|
||||
var_r28 = 0;
|
||||
temp_r31->unk18 = 0;
|
||||
|
|
@ -583,22 +573,25 @@ void fn_1_4C8(omObjData* arg0) {
|
|||
if (temp_r31->unk1C < 180) {
|
||||
var_f20 = 0.0f;
|
||||
var_f21 = 1.0f;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_f20 = 1.0f;
|
||||
var_f21 = 0.5f;
|
||||
}
|
||||
temp_r24->scale.x = var_f20 + var_f21 * sind((float) (temp_r31->unk1C % 180));
|
||||
temp_r24->scale.x = var_f20 + var_f21 * sind((float)(temp_r31->unk1C % 180));
|
||||
temp_r24->scale.y = temp_r24->scale.z = temp_r24->scale.x;
|
||||
if (temp_r31->unk1C < 180) {
|
||||
temp_r31->unk1C += 6;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
temp_r31->unk1C += 18;
|
||||
}
|
||||
if (temp_r31->unk1C >= 360) {
|
||||
temp_r31->unk1C = 360;
|
||||
Hu3DModelRotSet(arg0->model[1], 0.0f, 0.0f, 0.0f);
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
sp98 = &Hu3DData[arg0->model[1]];
|
||||
temp_r31->unk1C += 4;
|
||||
if (temp_r31->unk1C > 720) {
|
||||
|
|
@ -640,7 +633,8 @@ void fn_1_4C8(omObjData* arg0) {
|
|||
temp_r31->unk58 = 150;
|
||||
}
|
||||
Hu3DModelAttrSet(arg0->model[1], HU3D_ATTR_DISPOFF);
|
||||
} else if (temp_r27 > 8) {
|
||||
}
|
||||
else if (temp_r27 > 8) {
|
||||
if (temp_r31->unk20 == 5) {
|
||||
if (Hu3DMotionTimeGet(arg0->model[0]) >= Hu3DMotionMaxTimeGet(arg0->model[0])) {
|
||||
var_r28 = 0;
|
||||
|
|
@ -667,12 +661,14 @@ void fn_1_4C8(omObjData* arg0) {
|
|||
temp_r31->unk18 = 0;
|
||||
temp_r31->unk1C = 0;
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
if (temp_r27 < 4) {
|
||||
temp_r29->pos.y += 10.0f + 0.5f * temp_r27;
|
||||
temp_r29->scale.x += 0.1f * sind(4.0f * temp_r27);
|
||||
temp_r29->scale.y = temp_r29->scale.z = temp_r29->scale.x;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_f24 = 255 - (temp_r27 << 5);
|
||||
var_f24 = var_f24 * (1.0f / 255);
|
||||
Hu3DModelTPLvlSet(arg0->model[1], var_f24);
|
||||
|
|
@ -734,13 +730,11 @@ void fn_1_4C8(omObjData* arg0) {
|
|||
var_r28 = temp_r31->unk24;
|
||||
}
|
||||
if (var_r28 >= 0 && var_r28 != temp_r31->unk20) {
|
||||
Hu3DMotionShiftSet(arg0->model[0],
|
||||
arg0->motion[var_r28],
|
||||
lbl_1_data_EC[var_r28],
|
||||
Hu3DMotionShiftSet(arg0->model[0], arg0->motion[var_r28], lbl_1_data_EC[var_r28],
|
||||
(temp_r31->unk08 != -1) ? lbl_1_data_C8[var_r28] : lbl_1_data_110[var_r28],
|
||||
(var_r28 == 7) ? HU3D_MOTATTR_PAUSE
|
||||
(var_r28 == 7) ? HU3D_MOTATTR_PAUSE
|
||||
: (temp_r31->unk08 != -1 ? lbl_1_data_B4[var_r28] : lbl_1_data_BD[var_r28]) ? 0
|
||||
: HU3D_MOTATTR_LOOP);
|
||||
: HU3D_MOTATTR_LOOP);
|
||||
temp_r31->unk20 = var_r28;
|
||||
}
|
||||
temp_r31->unk58 -= (temp_r31->unk58 > -1);
|
||||
|
|
@ -759,15 +753,16 @@ float lbl_1_data_1B8 = 3500.0f;
|
|||
float lbl_1_data_1BC = 100.0f;
|
||||
float lbl_1_data_1C0 = -59.0f;
|
||||
|
||||
void fn_1_3264(omObjData* arg0) {
|
||||
void fn_1_3264(omObjData *arg0)
|
||||
{
|
||||
float temp_f29;
|
||||
float var_f31;
|
||||
float temp_f26;
|
||||
float temp_f27;
|
||||
float temp_f28;
|
||||
StructBss330Data* spC[9];
|
||||
ModelData* temp_r29;
|
||||
ModelData* temp_r28;
|
||||
StructBss330Data *spC[9];
|
||||
ModelData *temp_r29;
|
||||
ModelData *temp_r28;
|
||||
s32 var_r27;
|
||||
s32 i;
|
||||
s32 j;
|
||||
|
|
@ -807,10 +802,8 @@ void fn_1_3264(omObjData* arg0) {
|
|||
}
|
||||
for (i = 0; i < 9; i++) {
|
||||
temp_r28 = &Hu3DData[lbl_1_bss_32C->model[i + 1]];
|
||||
Hu3DModelPosSet(lbl_1_bss_32C->model[i + 1],
|
||||
(500.0 + 200.0f * temp_f29) * (lbl_1_bss_51C[i].unk00 - 1),
|
||||
0.9 * temp_r28->pos.y + 0.1 * lbl_1_bss_51C[spC[0]->unk38].unk08,
|
||||
(500.0 + 200.0f * temp_f29) * (lbl_1_bss_51C[i].unk04 - 1));
|
||||
Hu3DModelPosSet(lbl_1_bss_32C->model[i + 1], (500.0 + 200.0f * temp_f29) * (lbl_1_bss_51C[i].unk00 - 1),
|
||||
0.9 * temp_r28->pos.y + 0.1 * lbl_1_bss_51C[spC[0]->unk38].unk08, (500.0 + 200.0f * temp_f29) * (lbl_1_bss_51C[i].unk04 - 1));
|
||||
for (j = 0; j < 9; j++) {
|
||||
if (i == spC[j]->unk38) {
|
||||
lbl_1_bss_330[j]->trans.x = (500.0 + 200.0f * temp_f29) * (lbl_1_bss_51C[i].unk00 - 1);
|
||||
|
|
@ -824,14 +817,9 @@ void fn_1_3264(omObjData* arg0) {
|
|||
}
|
||||
{
|
||||
s32 var_r26 = lbl_1_data_1B4;
|
||||
float sp30[][6] = {
|
||||
{ 3500.0f, 0.0f, 100.0f, 0.0f, -59.0f, 0.0f },
|
||||
{ 3200.0f, 0.0f, 100.0f, 0.0f, -30.0f, 0.0f },
|
||||
{ 3800.0f, 0.0f, 100.0f, 0.0f, -30.0f, 0.0f },
|
||||
{ 2000.0f, 0.0f, 200.0f, 0.0f, -30.0f, 0.0f },
|
||||
{ 4000.0f, 0.0f, 200.0f, 0.0f, -89.0f, 0.0f },
|
||||
{ 2700.0f, 0.0f, 200.0f, 0.0f, -30.0f, 0.0f }
|
||||
};
|
||||
float sp30[][6] = { { 3500.0f, 0.0f, 100.0f, 0.0f, -59.0f, 0.0f }, { 3200.0f, 0.0f, 100.0f, 0.0f, -30.0f, 0.0f },
|
||||
{ 3800.0f, 0.0f, 100.0f, 0.0f, -30.0f, 0.0f }, { 2000.0f, 0.0f, 200.0f, 0.0f, -30.0f, 0.0f },
|
||||
{ 4000.0f, 0.0f, 200.0f, 0.0f, -89.0f, 0.0f }, { 2700.0f, 0.0f, 200.0f, 0.0f, -30.0f, 0.0f } };
|
||||
|
||||
if (lbl_1_bss_38 != -1 && lbl_1_bss_38 != 9) {
|
||||
sp30[5][1] = lbl_1_bss_330[lbl_1_bss_38]->trans.x;
|
||||
|
|
@ -878,7 +866,8 @@ void fn_1_3264(omObjData* arg0) {
|
|||
if (lbl_1_bss_1C == 0) {
|
||||
lbl_1_bss_20 = 1.0 - 0.95 * (1.0f - lbl_1_bss_20);
|
||||
var_f31 = lbl_1_bss_20;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
lbl_1_bss_20 += 0.008333333333333333;
|
||||
lbl_1_bss_20 = (lbl_1_bss_20 > 1.0f) ? 1.0f : lbl_1_bss_20;
|
||||
var_f31 = 0.5 + -0.5 * cosd(180.0f * lbl_1_bss_20);
|
||||
|
|
@ -902,53 +891,31 @@ void fn_1_3264(omObjData* arg0) {
|
|||
lbl_1_data_134.unk10 = 2.0 * (rand8() / 255.0) - 1.0;
|
||||
lbl_1_data_134.unk14 = 2.0 * (rand8() / 255.0) - 1.0;
|
||||
lbl_1_data_134.unk10 = 0.0f;
|
||||
temp_f28 = (lbl_1_data_134.unk10 - lbl_1_data_134.unk08) * (lbl_1_data_134.unk10 - lbl_1_data_134.unk08) + (lbl_1_data_134.unk14 - lbl_1_data_134.unk0C) * (lbl_1_data_134.unk14 - lbl_1_data_134.unk0C);
|
||||
temp_f28 = (lbl_1_data_134.unk10 - lbl_1_data_134.unk08) * (lbl_1_data_134.unk10 - lbl_1_data_134.unk08)
|
||||
+ (lbl_1_data_134.unk14 - lbl_1_data_134.unk0C) * (lbl_1_data_134.unk14 - lbl_1_data_134.unk0C);
|
||||
} while (sqrtf(temp_f28) < 0.75);
|
||||
}
|
||||
lbl_1_data_134.unk04 = (lbl_1_data_134.unk04 > 24) ? 24
|
||||
: (lbl_1_data_134.unk04 > 0) ? lbl_1_data_134.unk04 : 0;
|
||||
lbl_1_data_134.unk04 = (lbl_1_data_134.unk04 > 24) ? 24 : (lbl_1_data_134.unk04 > 0) ? lbl_1_data_134.unk04 : 0;
|
||||
temp_f26 = lbl_1_data_134.unk08;
|
||||
temp_f27 = lbl_1_data_134.unk0C;
|
||||
temp_f26 *= lbl_1_data_134.unk04 * 2;
|
||||
temp_f27 *= lbl_1_data_134.unk04 * 2;
|
||||
lbl_1_data_134.unk00 = !lbl_1_data_134.unk00;
|
||||
lbl_1_data_134.unk04 = (lbl_1_data_134.unk04 > 24) ? 23
|
||||
: (lbl_1_data_134.unk04 - 1 > 0) ? (lbl_1_data_134.unk04 - 1) : 0;
|
||||
lbl_1_data_134.unk04 = (lbl_1_data_134.unk04 > 24) ? 23 : (lbl_1_data_134.unk04 - 1 > 0) ? (lbl_1_data_134.unk04 - 1) : 0;
|
||||
Center.x = 0.0f;
|
||||
Center.y = 100.0f + temp_f27;
|
||||
}
|
||||
}
|
||||
|
||||
s16 fn_1_4474(void) {
|
||||
AnimData* var_r29;
|
||||
void* var_r28;
|
||||
s16 fn_1_4474(void)
|
||||
{
|
||||
AnimData *var_r29;
|
||||
void *var_r28;
|
||||
s16 var_r31;
|
||||
s16 var_r30;
|
||||
HsfanimStruct00 sp8 = {
|
||||
0x96,
|
||||
{ 0x00, 0x00 },
|
||||
50.0f,
|
||||
0.0f,
|
||||
65.0f,
|
||||
{ 0.0f, -0.195f, 0.0f },
|
||||
80.0f,
|
||||
0.99f,
|
||||
40.0f,
|
||||
0.999f,
|
||||
4,
|
||||
{
|
||||
{ 0xFF, 0xFF, 0x20, 0xFF },
|
||||
{ 0xFF, 0xFF, 0x00, 0xFF },
|
||||
{ 0xFF, 0xFF, 0x80, 0xFF },
|
||||
{ 0xFF, 0xFF, 0xFF, 0xFF }
|
||||
},
|
||||
{
|
||||
{ 0xFF, 0xFF, 0xFF, 0x00 },
|
||||
{ 0xFF, 0xFF, 0xFF, 0x00 },
|
||||
{ 0xFF, 0xFF, 0xFF, 0x00 },
|
||||
{ 0xFF, 0xFF, 0xFF, 0x00 }
|
||||
}
|
||||
};
|
||||
HsfanimStruct00 sp8 = { 0x96, { 0x00, 0x00 }, 50.0f, 0.0f, 65.0f, { 0.0f, -0.195f, 0.0f }, 80.0f, 0.99f, 40.0f, 0.999f, 4,
|
||||
{ { 0xFF, 0xFF, 0x20, 0xFF }, { 0xFF, 0xFF, 0x00, 0xFF }, { 0xFF, 0xFF, 0x80, 0xFF }, { 0xFF, 0xFF, 0xFF, 0xFF } },
|
||||
{ { 0xFF, 0xFF, 0xFF, 0x00 }, { 0xFF, 0xFF, 0xFF, 0x00 }, { 0xFF, 0xFF, 0xFF, 0x00 }, { 0xFF, 0xFF, 0xFF, 0x00 } } };
|
||||
|
||||
lbl_1_bss_5C[lbl_1_bss_58] = sp8;
|
||||
var_r28 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_BOARD, 107), MEMORY_DEFAULT_NUM, HEAP_DATA);
|
||||
|
|
@ -963,8 +930,9 @@ s16 fn_1_4474(void) {
|
|||
return var_r31;
|
||||
}
|
||||
|
||||
void fn_1_45F8(omObjData* arg0) {
|
||||
StructBss330Data* sp14[9];
|
||||
void fn_1_45F8(omObjData *arg0)
|
||||
{
|
||||
StructBss330Data *sp14[9];
|
||||
float spC[2];
|
||||
s32 sp8;
|
||||
s32 var_r29;
|
||||
|
|
@ -974,15 +942,8 @@ void fn_1_45F8(omObjData* arg0) {
|
|||
s32 i;
|
||||
|
||||
for (i = 0; i < 28; i++) {
|
||||
s32 sp38[] = {
|
||||
0x7F1, 0x7F2, 0x7F7, 0x7F8,
|
||||
0x7F9, 0x7FA, 0x7FB, 0x7FC,
|
||||
0x7FD, 0x7FE, 0x7FF, 0x800,
|
||||
0x801, 0x802, 0x803, 0x804,
|
||||
0x7FB, 0x7FC, 0x7FD, 0x7FE,
|
||||
0x7FF, 0x800, 0x801, 0x802,
|
||||
0x803, 0x804, 0x7FB, 0x7FC
|
||||
};
|
||||
s32 sp38[] = { 0x7F1, 0x7F2, 0x7F7, 0x7F8, 0x7F9, 0x7FA, 0x7FB, 0x7FC, 0x7FD, 0x7FE, 0x7FF, 0x800, 0x801, 0x802, 0x803, 0x804, 0x7FB, 0x7FC,
|
||||
0x7FD, 0x7FE, 0x7FF, 0x800, 0x801, 0x802, 0x803, 0x804, 0x7FB, 0x7FC };
|
||||
|
||||
if (lbl_1_bss_35C[i].unk00 > 3) {
|
||||
lbl_1_bss_35C[i].unk00 = 3;
|
||||
|
|
@ -1056,7 +1017,8 @@ void fn_1_45F8(omObjData* arg0) {
|
|||
if (lbl_1_bss_51C[sp14[i]->unk38].unk0C != 0) {
|
||||
sp14[i]->unk18 = 3;
|
||||
sp14[i]->unk1C = 0;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
sp14[i]->unk5C = 1;
|
||||
}
|
||||
}
|
||||
|
|
@ -1082,7 +1044,8 @@ void fn_1_45F8(omObjData* arg0) {
|
|||
if (var_r29 >= 9 || lbl_1_bss_0 == 0) {
|
||||
MGSeqParamSet(lbl_1_data_14E, 2, -1);
|
||||
lbl_1_data_14E = -1;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
lbl_1_bss_0 -= (lbl_1_bss_0 > 0);
|
||||
MGSeqParamSet(lbl_1_data_14E, 1, (lbl_1_bss_0 + 59) / 60);
|
||||
}
|
||||
|
|
@ -1140,7 +1103,8 @@ void fn_1_45F8(omObjData* arg0) {
|
|||
lbl_1_bss_50 = 1007;
|
||||
lbl_1_bss_54 = 0;
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
lbl_1_bss_50 = 1005;
|
||||
lbl_1_bss_54 = 0;
|
||||
}
|
||||
|
|
@ -1152,13 +1116,15 @@ void fn_1_45F8(omObjData* arg0) {
|
|||
if (lbl_1_bss_38 != 9) {
|
||||
if (lbl_1_bss_38 < 9) {
|
||||
HuAudSStreamPlay(1);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
HuAudSStreamPlay(1);
|
||||
}
|
||||
if (lbl_1_bss_38 < 4 && sp14[lbl_1_bss_38]->unk04 != -1) {
|
||||
GWPlayerCoinWinSet(sp14[lbl_1_bss_38]->unk04, 10);
|
||||
}
|
||||
} else if (lbl_1_bss_38 == 9) {
|
||||
}
|
||||
else if (lbl_1_bss_38 == 9) {
|
||||
HuAudSStreamPlay(4);
|
||||
}
|
||||
}
|
||||
|
|
@ -1175,8 +1141,9 @@ void fn_1_45F8(omObjData* arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
void fn_1_53A0(omObjData* arg0) {
|
||||
StructBss330Data* sp50[9];
|
||||
void fn_1_53A0(omObjData *arg0)
|
||||
{
|
||||
StructBss330Data *sp50[9];
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 9; i++) {
|
||||
|
|
@ -1191,10 +1158,7 @@ void fn_1_53A0(omObjData* arg0) {
|
|||
lbl_1_bss_51C[i].unk04 = i / 3;
|
||||
lbl_1_bss_51C[i].unk08 = 0.0f;
|
||||
lbl_1_bss_51C[i].unk0C = 1;
|
||||
Hu3DModelPosSet(lbl_1_bss_32C->model[i + 1],
|
||||
500.0 * (lbl_1_bss_51C[i].unk00 - 1),
|
||||
-16.666666f,
|
||||
500.0 * (lbl_1_bss_51C[i].unk04 - 1));
|
||||
Hu3DModelPosSet(lbl_1_bss_32C->model[i + 1], 500.0 * (lbl_1_bss_51C[i].unk00 - 1), -16.666666f, 500.0 * (lbl_1_bss_51C[i].unk04 - 1));
|
||||
Hu3DModelScaleSet(lbl_1_bss_32C->model[i + 1], 1.6666666f, 1.6666666f, 1.6666666f);
|
||||
Hu3DModelAttrSet(arg0->model[i + 1], HU3D_MOTATTR_PAUSE);
|
||||
Hu3DModelShadowMapSet(arg0->model[i + 1]);
|
||||
|
|
@ -1215,22 +1179,13 @@ void fn_1_53A0(omObjData* arg0) {
|
|||
arg0->func = fn_1_3264;
|
||||
}
|
||||
|
||||
s32 lbl_1_data_1E4[] = {
|
||||
DATA_MAKE_NUM(DATADIR_M458, 19),
|
||||
DATA_MAKE_NUM(DATADIR_M458, 20),
|
||||
DATA_MAKE_NUM(DATADIR_M458, 21),
|
||||
DATA_MAKE_NUM(DATADIR_M458, 22),
|
||||
DATA_MAKE_NUM(DATADIR_M458, 23),
|
||||
DATA_MAKE_NUM(DATADIR_M458, 24),
|
||||
DATA_MAKE_NUM(DATADIR_M458, 25),
|
||||
DATA_MAKE_NUM(DATADIR_M458, 26),
|
||||
DATA_MAKE_NUM(DATADIR_M458, 27),
|
||||
DATA_MAKE_NUM(DATADIR_M458, 28),
|
||||
DATA_MAKE_NUM(DATADIR_M458, 29)
|
||||
};
|
||||
s32 lbl_1_data_1E4[] = { DATA_MAKE_NUM(DATADIR_M458, 19), DATA_MAKE_NUM(DATADIR_M458, 20), DATA_MAKE_NUM(DATADIR_M458, 21),
|
||||
DATA_MAKE_NUM(DATADIR_M458, 22), DATA_MAKE_NUM(DATADIR_M458, 23), DATA_MAKE_NUM(DATADIR_M458, 24), DATA_MAKE_NUM(DATADIR_M458, 25),
|
||||
DATA_MAKE_NUM(DATADIR_M458, 26), DATA_MAKE_NUM(DATADIR_M458, 27), DATA_MAKE_NUM(DATADIR_M458, 28), DATA_MAKE_NUM(DATADIR_M458, 29) };
|
||||
|
||||
void fn_1_5850(omObjData* arg0) {
|
||||
StructBss330Data* temp_r31;
|
||||
void fn_1_5850(omObjData *arg0)
|
||||
{
|
||||
StructBss330Data *temp_r31;
|
||||
s32 sp10[] = { 0, 1, 2, 3 };
|
||||
s32 var_r25;
|
||||
s32 var_r28;
|
||||
|
|
@ -1246,13 +1201,15 @@ void fn_1_5850(omObjData* arg0) {
|
|||
for (i = 0; i <= temp_r31->unk00 - 4; i++) {
|
||||
do {
|
||||
var_r28++;
|
||||
} while (GWPlayerCfg[0].character == var_r28 || GWPlayerCfg[1].character == var_r28 || GWPlayerCfg[2].character == var_r28 || GWPlayerCfg[3].character == var_r28);
|
||||
} while (GWPlayerCfg[0].character == var_r28 || GWPlayerCfg[1].character == var_r28 || GWPlayerCfg[2].character == var_r28
|
||||
|| GWPlayerCfg[3].character == var_r28);
|
||||
}
|
||||
temp_r31->unk08 = (var_r28 == 8) ? -1 : var_r28;
|
||||
temp_r31->unk0C = -1;
|
||||
temp_r31->unk04 = -1;
|
||||
temp_r31->unk10 = 0;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
for (i = 0; i < 4; i++) {
|
||||
for (j = 0; j < 4; j++) {
|
||||
if (i == GWPlayerCfg[j].group) {
|
||||
|
|
@ -1277,13 +1234,15 @@ void fn_1_5850(omObjData* arg0) {
|
|||
temp_r31->unk48 = -1;
|
||||
if (temp_r31->unk08 != -1) {
|
||||
arg0->model[0] = CharModelCreate(temp_r31->unk08, 4);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_BKOOPA, 7));
|
||||
}
|
||||
omSetTra(arg0, 0.0f, temp_r31->unk00 == 0 ? 0 : 300, 0.0f);
|
||||
if (temp_r31->unk08 != -1) {
|
||||
omSetSca(arg0, 2.5f, 2.5f, 2.5f);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
omSetSca(arg0, 2.0f, 2.0f, 2.0f);
|
||||
}
|
||||
for (i = 0; i < 9; i++) {
|
||||
|
|
@ -1291,7 +1250,8 @@ void fn_1_5850(omObjData* arg0) {
|
|||
if (temp_r31->unk00 < 4 || (i != 1 && i != 2)) {
|
||||
arg0->motion[i] = CharModelMotionCreate(temp_r31->unk08, lbl_1_data_48[i] + (lbl_1_data_6C[i] ? temp_r31->unk08 : 0));
|
||||
}
|
||||
} else if (lbl_1_data_90[i] != 0) {
|
||||
}
|
||||
else if (lbl_1_data_90[i] != 0) {
|
||||
arg0->motion[i] = Hu3DJointMotionFile(arg0->model[0], lbl_1_data_90[i]);
|
||||
}
|
||||
}
|
||||
|
|
@ -1314,7 +1274,8 @@ void fn_1_5850(omObjData* arg0) {
|
|||
for (i = 0; i < 9; i++) {
|
||||
if (temp_r31->unk00 == 0) {
|
||||
arg0->model[i + 2] = Hu3DModelCreateFile(lbl_1_data_1E4[i]);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
arg0->model[i + 2] = Hu3DModelLink(lbl_1_bss_330[0]->model[i + 2]);
|
||||
}
|
||||
Hu3DMotionTimeSet(arg0->model[i + 2], 10.0f);
|
||||
|
|
@ -1328,7 +1289,8 @@ void fn_1_5850(omObjData* arg0) {
|
|||
arg0->func = fn_1_4C8;
|
||||
}
|
||||
|
||||
void fn_1_60A4(omObjData* arg0) {
|
||||
void fn_1_60A4(omObjData *arg0)
|
||||
{
|
||||
lbl_1_bss_50 = 1000;
|
||||
lbl_1_bss_54 = 0;
|
||||
lbl_1_bss_48 = 0;
|
||||
|
|
@ -1338,8 +1300,9 @@ void fn_1_60A4(omObjData* arg0) {
|
|||
arg0->func = fn_1_45F8;
|
||||
}
|
||||
|
||||
void ObjectSetup(void) {
|
||||
omObjData* var_r30;
|
||||
void ObjectSetup(void)
|
||||
{
|
||||
omObjData *var_r30;
|
||||
s32 i;
|
||||
|
||||
OSReport("******* M463 ObjectSetup *********\n");
|
||||
|
|
@ -1396,9 +1359,10 @@ void ObjectSetup(void) {
|
|||
lbl_1_bss_358 = omAddObjEx(lbl_1_bss_40, 103, 0, 0, -1, fn_1_60A4);
|
||||
}
|
||||
|
||||
void fn_1_659C(omObjData* arg0) {
|
||||
StructBss330Data* spC[9];
|
||||
void* sp8;
|
||||
void fn_1_659C(omObjData *arg0)
|
||||
{
|
||||
StructBss330Data *spC[9];
|
||||
void *sp8;
|
||||
s32 var_r31;
|
||||
s32 var_r30;
|
||||
|
||||
|
|
|
|||
|
|
@ -308,8 +308,7 @@ void fn_1_29C(omObjData *arg0)
|
|||
lbl_1_bss_864[var_r31] = Hu3DParManCreate(temp_r28, 0x1F4, &lbl_1_data_168[0]);
|
||||
Hu3DParManAttrSet(lbl_1_bss_864[var_r31], 0x864);
|
||||
Hu3DParticleBlendModeSet(Hu3DParManModelIDGet(lbl_1_bss_864[var_r31]), 1U);
|
||||
Hu3DParManPosSet(
|
||||
lbl_1_bss_864[var_r31], (100.0 * sind(36.0f * var_r31)), 0.0f, 100.0 * cosd(36.0f * var_r31));
|
||||
Hu3DParManPosSet(lbl_1_bss_864[var_r31], (100.0 * sind(36.0f * var_r31)), 0.0f, 100.0 * cosd(36.0f * var_r31));
|
||||
Hu3DParManRotSet(lbl_1_bss_864[var_r31], -90.0f, 0.0f, 0.0f);
|
||||
}
|
||||
|
||||
|
|
@ -596,10 +595,10 @@ void fn_1_20F4(void)
|
|||
|
||||
Hu3DModelObjMtxGet(temp_r3, lbl_1_data_D8[(var_r29 * 2) + 1], spC0);
|
||||
Hu3DMtxTransGet(spC0, &sp18);
|
||||
PSMTXInverse(sp30, sp60);
|
||||
MTXInverse(sp30, sp60);
|
||||
Hu3DModelObjMtxGet(temp_r3, lbl_1_data_D8[(var_r29 * 2) + 1], spC0);
|
||||
Hu3DMtxTransGet(spC0, &sp18);
|
||||
PSMTXMultVec(sp60, &sp18, &sp18);
|
||||
MTXMultVec(sp60, &sp18, &sp18);
|
||||
|
||||
temp_f27 = atan2d(sp18.z, sp18.x);
|
||||
temp_r31 = &lbl_1_bss_40[var_r29 * 2];
|
||||
|
|
@ -654,7 +653,7 @@ void fn_1_28F8(Point3d *arg0, Point3d *arg1)
|
|||
|
||||
cam = &Hu3DCamera[0];
|
||||
C_MTXLookAt(sp18, &cam->pos, &cam->up, &cam->target);
|
||||
PSMTXMultVec(sp18, arg0, &spC);
|
||||
MTXMultVec(sp18, arg0, &spC);
|
||||
|
||||
temp_f31 = (1.2f * (spC.z * (sind(cam->fov / 2) / (cosd(cam->fov / 2)))));
|
||||
temp_f30 = (spC.z * (sind(cam->fov / 2) / (cosd(cam->fov / 2))));
|
||||
|
|
@ -795,10 +794,10 @@ void fn_1_2B68(ModelData *mdl, Mtx arg1)
|
|||
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP);
|
||||
GXSetAlphaCompare(GX_GEQUAL, 1U, GX_AOP_AND, GX_GEQUAL, 1U);
|
||||
GXSetZCompLoc(0U);
|
||||
PSMTXIdentity(arg1);
|
||||
MTXIdentity(arg1);
|
||||
GXLoadPosMtxImm(arg1, 0U);
|
||||
|
||||
PSMTXInvXpose(arg1, sp90);
|
||||
MTXInvXpose(arg1, sp90);
|
||||
GXLoadNrmMtxImm(sp90, 0);
|
||||
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0);
|
||||
|
||||
|
|
@ -812,7 +811,7 @@ void fn_1_2B68(ModelData *mdl, Mtx arg1)
|
|||
GXLoadTexObj(&sp30, GX_TEXMAP0);
|
||||
GXSetNumIndStages(1U);
|
||||
|
||||
PSMTXScale(sp150, 0.1f, 0.1f, 0.0f);
|
||||
MTXScale(sp150, 0.1f, 0.1f, 0.0f);
|
||||
sp18[0][0] = sp150[0][0];
|
||||
sp18[0][1] = sp150[0][1];
|
||||
sp18[0][2] = 0.0f;
|
||||
|
|
@ -820,12 +819,12 @@ void fn_1_2B68(ModelData *mdl, Mtx arg1)
|
|||
sp18[1][1] = sp150[1][1];
|
||||
sp18[1][2] = 0.0f;
|
||||
|
||||
PSMTXRotRad(spF0, 0x58, -1.5707964f);
|
||||
MTXRotRad(spF0, 0x58, -1.5707964f);
|
||||
mtxRot(spF0, 0.0f, 0.0f, 0.0f);
|
||||
temp_f31 = 0.0015625f;
|
||||
PSMTXScale(sp120, temp_f31, temp_f31, temp_f31);
|
||||
PSMTXConcat(sp120, spF0, sp150);
|
||||
PSMTXTrans(spC0, 0.5f, 0.0f, 0.5f);
|
||||
MTXScale(sp120, temp_f31, temp_f31, temp_f31);
|
||||
MTXConcat(sp120, spF0, sp150);
|
||||
MTXTrans(spC0, 0.5f, 0.0f, 0.5f);
|
||||
GXLoadTexMtxImm(sp150, 0x1EU, GX_MTX2x4);
|
||||
GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_POS, 0x1EU, 0U, 0x7DU);
|
||||
GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD0, GX_TEXMAP1);
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -482,7 +482,7 @@ void fn_1_3F5C(s32 arg0)
|
|||
BoardModelMotionStart(lbl_1_data_310, 2, 0x40000001);
|
||||
BoardModelMotionStart(lbl_1_data_310, 1, 0x40000001);
|
||||
BoardModelRotYSet(lbl_1_data_310, 0.0f);
|
||||
PSMTXIdentity(sp38);
|
||||
MTXIdentity(sp38);
|
||||
BoardModelMtxSet(lbl_1_data_310, &sp38);
|
||||
|
||||
sp20.x = 0.0f;
|
||||
|
|
@ -624,13 +624,13 @@ void fn_1_4424(w03StructUnk2 *arg0)
|
|||
sp30 = sp48;
|
||||
sp18 = sp54;
|
||||
BoardMTXCalcLookAt(spA8, &sp18, &sp24, &sp30);
|
||||
PSMTXTranspose(spA8, spA8);
|
||||
MTXTranspose(spA8, spA8);
|
||||
MTXRotDeg(spD8, 'z', temp_f30);
|
||||
PSMTXTrans(sp108, 0.0f, -350.0f, 0.0f);
|
||||
PSMTXConcat(spD8, sp108, sp108);
|
||||
PSMTXConcat(spA8, sp108, sp108);
|
||||
PSMTXTrans(sp78, sp54.x, sp54.y, sp54.z);
|
||||
PSMTXConcat(sp78, sp108, sp78);
|
||||
MTXTrans(sp108, 0.0f, -350.0f, 0.0f);
|
||||
MTXConcat(spD8, sp108, sp108);
|
||||
MTXConcat(spA8, sp108, sp108);
|
||||
MTXTrans(sp78, sp54.x, sp54.y, sp54.z);
|
||||
MTXConcat(sp78, sp108, sp78);
|
||||
Hu3DMtxTransGet(sp78, &temp_r27->unk_08);
|
||||
BoardModelPosSetV(temp_r27->model, &temp_r27->unk_08);
|
||||
BoardModelVisibilitySet(temp_r27->model, 1);
|
||||
|
|
@ -1078,16 +1078,16 @@ void fn_1_5C5C(omObjData *arg0, w03UnkStruct5 *arg1)
|
|||
sp20.y = 1.0f;
|
||||
|
||||
BoardMTXCalcLookAt(sp110, &sp14, &sp20, &sp8);
|
||||
PSMTXTranspose(sp110, sp110);
|
||||
MTXTranspose(sp110, sp110);
|
||||
MTXRotDeg(spE0, 'z', -arg1->unk_04);
|
||||
PSMTXTrans(sp50, 0.0f, -600.0f, 0.0f);
|
||||
PSMTXConcat(spE0, sp50, sp50);
|
||||
PSMTXConcat(sp110, sp50, sp50);
|
||||
PSMTXTrans(sp80, sp44.x, sp44.y, sp44.z);
|
||||
PSMTXConcat(sp80, sp50, sp80);
|
||||
MTXTrans(sp50, 0.0f, -600.0f, 0.0f);
|
||||
MTXConcat(spE0, sp50, sp50);
|
||||
MTXConcat(sp110, sp50, sp50);
|
||||
MTXTrans(sp80, sp44.x, sp44.y, sp44.z);
|
||||
MTXConcat(sp80, sp50, sp80);
|
||||
Hu3DMtxTransGet(sp80, &sp44);
|
||||
MTXRotDeg(spB0, 'y', atan2d(-sp2C.x, -sp2C.z));
|
||||
PSMTXConcat(spB0, spE0, sp110);
|
||||
MTXConcat(spB0, spE0, sp110);
|
||||
BoardModelMtxSet(lbl_1_data_310, &sp110);
|
||||
BoardModelPosSetV(lbl_1_data_310, &sp44);
|
||||
BoardCameraRotSet(-20.0f, atan2d(sp2C.x, sp2C.z));
|
||||
|
|
|
|||
|
|
@ -742,12 +742,12 @@ void fn_1_B0A4(s32 arg0)
|
|||
}
|
||||
|
||||
if (temp_r29 == 5) {
|
||||
PSMTXTrans(sp18, 0.0f, -50.0f, 0.0f);
|
||||
MTXTrans(sp18, 0.0f, -50.0f, 0.0f);
|
||||
BoardModelMtxSet(temp_r30->unk_06[i], &sp18);
|
||||
}
|
||||
|
||||
if ((temp_r29 == 6) || (temp_r29 == 7)) {
|
||||
PSMTXTrans(sp18, 0.0f, 0.0f, 8.0f);
|
||||
MTXTrans(sp18, 0.0f, 0.0f, 8.0f);
|
||||
BoardModelMtxSet(temp_r30->unk_06[i], &sp18);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,17 +1,18 @@
|
|||
#include "dolphin.h"
|
||||
#include "REL/executor.h"
|
||||
#include "game/process.h"
|
||||
#include "game/data.h"
|
||||
#include "game/gamework_data.h"
|
||||
#include "REL/w03Dll.h"
|
||||
#include "dolphin.h"
|
||||
#include "game/audio.h"
|
||||
#include "game/board/main.h"
|
||||
#include "game/board/model.h"
|
||||
#include "game/board/player.h"
|
||||
#include "game/board/space.h"
|
||||
#include "game/board/ui.h"
|
||||
#include "game/data.h"
|
||||
#include "game/gamework_data.h"
|
||||
#include "game/hsfman.h"
|
||||
#include "game/board/main.h"
|
||||
#include "game/objsub.h"
|
||||
#include "game/process.h"
|
||||
|
||||
|
||||
#include "ext_math.h"
|
||||
|
||||
|
|
@ -29,17 +30,16 @@ void fn_1_2818(void);
|
|||
void fn_1_2A40(void);
|
||||
void fn_1_2B44(void);
|
||||
|
||||
//data
|
||||
// data
|
||||
s16 lbl_1_data_280 = -1;
|
||||
s16 lbl_1_data_282 = -1;
|
||||
s16 lbl_1_data_284 = -1;
|
||||
s16 lbl_1_data_286 = -1;
|
||||
s32 lbl_1_data_288 = -1;
|
||||
|
||||
//BSS Extern
|
||||
// BSS Extern
|
||||
|
||||
|
||||
//BSS
|
||||
// BSS
|
||||
s8 lbl_1_bss_6F;
|
||||
s8 lbl_1_bss_6E;
|
||||
s16 lbl_1_bss_6C;
|
||||
|
|
@ -48,12 +48,13 @@ s16 lbl_1_bss_68;
|
|||
GXTexObj lbl_1_bss_48;
|
||||
char lbl_1_bss_44[4];
|
||||
char lbl_1_bss_38[12];
|
||||
void* lbl_1_bss_34;
|
||||
void *lbl_1_bss_34;
|
||||
f32 lbl_1_bss_30;
|
||||
s8 lbl_1_bss_2C;
|
||||
Process* lbl_1_bss_28;
|
||||
Process *lbl_1_bss_28;
|
||||
|
||||
void fn_1_12C8(void) {
|
||||
void fn_1_12C8(void)
|
||||
{
|
||||
BoardRollDispSet(0);
|
||||
lbl_1_bss_28 = HuPrcChildCreate(&fn_1_1358, 0x2003, 0x2000, 0, boardMainProc);
|
||||
HuPrcDestructorSet2(lbl_1_bss_28, &fn_1_152C);
|
||||
|
|
@ -65,7 +66,8 @@ void fn_1_12C8(void) {
|
|||
BoardRollDispSet(1);
|
||||
}
|
||||
|
||||
void fn_1_1358(void) {
|
||||
void fn_1_1358(void)
|
||||
{
|
||||
s32 cur_player_index;
|
||||
s32 unkC;
|
||||
|
||||
|
|
@ -76,7 +78,8 @@ void fn_1_1358(void) {
|
|||
if ((BoardSpaceFlagGet(0, GWPlayer[cur_player_index].space_curr) & 0x2000)) {
|
||||
lbl_1_bss_6E = 0;
|
||||
lbl_1_bss_6C = lbl_1_bss_C[3];
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
lbl_1_bss_6E = 1;
|
||||
lbl_1_bss_6C = lbl_1_bss_C[4];
|
||||
}
|
||||
|
|
@ -84,7 +87,8 @@ void fn_1_1358(void) {
|
|||
if (fn_1_1650(cur_player_index) != 0) {
|
||||
if (fn_1_1D1C() != 0) {
|
||||
fn_1_1ED4(cur_player_index);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
fn_1_20E0(cur_player_index);
|
||||
}
|
||||
if (lbl_1_bss_2C) {
|
||||
|
|
@ -106,7 +110,8 @@ void fn_1_1358(void) {
|
|||
HuPrcEnd();
|
||||
}
|
||||
|
||||
void fn_1_152C(void) {
|
||||
void fn_1_152C(void)
|
||||
{
|
||||
BoardConfettiKill();
|
||||
|
||||
if (lbl_1_data_282 != -1) {
|
||||
|
|
@ -123,7 +128,8 @@ void fn_1_152C(void) {
|
|||
lbl_1_bss_28 = NULL;
|
||||
}
|
||||
|
||||
s32 fn_1_15E8(void) {
|
||||
s32 fn_1_15E8(void)
|
||||
{
|
||||
BoardModelVisibilitySet(lbl_1_bss_6C, 1);
|
||||
|
||||
if (lbl_1_data_284 != -1) {
|
||||
|
|
@ -134,7 +140,8 @@ s32 fn_1_15E8(void) {
|
|||
return 1;
|
||||
}
|
||||
|
||||
s32 fn_1_1650(s32 arg0) {
|
||||
s32 fn_1_1650(s32 arg0)
|
||||
{
|
||||
Point3d sp38;
|
||||
Point3d sp2C;
|
||||
Point3d sp20;
|
||||
|
|
@ -144,14 +151,14 @@ s32 fn_1_1650(s32 arg0) {
|
|||
s32 temp2;
|
||||
|
||||
BoardPlayerIdleSet(arg0);
|
||||
|
||||
|
||||
if (lbl_1_bss_0->unk2) {
|
||||
BoardWinCreate(0, MAKE_MESSID(22, 0), -1);
|
||||
BoardWinWait();
|
||||
BoardWinKill();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
temp2 = BoardSpaceLinkFlagSearch(0, GWPlayer[arg0].space_curr, 0x02000000);
|
||||
BoardSpacePosGet(0, temp2, &sp38);
|
||||
BoardPlayerPosGet(arg0, &sp2C);
|
||||
|
|
@ -170,14 +177,14 @@ s32 fn_1_1650(s32 arg0) {
|
|||
while (GWPlayer[arg0].moving) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
|
||||
|
||||
BoardStatusShowSetAll(0);
|
||||
BoardPlayerMotBlendSet(arg0, 0xB4, 0xF);
|
||||
|
||||
while (BoardPlayerMotBlendCheck(arg0) == 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
|
||||
|
||||
BoardPlayerIdleSet(arg0);
|
||||
BoardWinCreate(2, MAKE_MESSID(22, 1), 2);
|
||||
BoardWinWait();
|
||||
|
|
@ -187,7 +194,8 @@ s32 fn_1_1650(s32 arg0) {
|
|||
if (GWPlayer[arg0].com) {
|
||||
if (BoardRandMod(0x64) > 0x32U) {
|
||||
BoardComKeySetLeft();
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
BoardComKeySetRight();
|
||||
}
|
||||
}
|
||||
|
|
@ -200,56 +208,35 @@ s32 fn_1_1650(s32 arg0) {
|
|||
BoardMusStart(1, 0x19, 0x7F, 0);
|
||||
HuAudFXPlay(0x435);
|
||||
sp8.y = BoardModelRotYGet(lbl_1_bss_6C);
|
||||
|
||||
|
||||
while (BoardDAngleCalcRange(&sp8.y, 180.0f, 2.0f) == 0) {
|
||||
BoardModelRotYSet(lbl_1_bss_6C, sp8.y);
|
||||
HuPrcVSleep();
|
||||
}
|
||||
|
||||
|
||||
HuAudFXPlay(0x445);
|
||||
BoardModelRotYSet(lbl_1_bss_6C, 180.0f);
|
||||
|
||||
|
||||
while (BoardMusStatusGet(1) != 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
s32 lbl_1_data_290[] = {
|
||||
DATA_MAKE_NUM(DATADIR_MARIOMOT, 98),
|
||||
DATA_MAKE_NUM(DATADIR_LUIGIMOT, 98),
|
||||
DATA_MAKE_NUM(DATADIR_PEACHMOT, 98),
|
||||
DATA_MAKE_NUM(DATADIR_YOSHIMOT, 98),
|
||||
DATA_MAKE_NUM(DATADIR_WARIOMOT, 98),
|
||||
DATA_MAKE_NUM(DATADIR_DONKEYMOT, 98),
|
||||
DATA_MAKE_NUM(DATADIR_DAISYMOT, 98),
|
||||
DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 98)
|
||||
};
|
||||
s32 lbl_1_data_290[] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 98), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 98), DATA_MAKE_NUM(DATADIR_PEACHMOT, 98),
|
||||
DATA_MAKE_NUM(DATADIR_YOSHIMOT, 98), DATA_MAKE_NUM(DATADIR_WARIOMOT, 98), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 98),
|
||||
DATA_MAKE_NUM(DATADIR_DAISYMOT, 98), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 98) };
|
||||
|
||||
s32 lbl_1_data_2B0[] = {
|
||||
DATA_MAKE_NUM(DATADIR_MARIOMOT, 51),
|
||||
DATA_MAKE_NUM(DATADIR_LUIGIMOT, 51),
|
||||
DATA_MAKE_NUM(DATADIR_PEACHMOT, 51),
|
||||
DATA_MAKE_NUM(DATADIR_YOSHIMOT, 51),
|
||||
DATA_MAKE_NUM(DATADIR_WARIOMOT, 51),
|
||||
DATA_MAKE_NUM(DATADIR_DONKEYMOT, 51),
|
||||
DATA_MAKE_NUM(DATADIR_DAISYMOT, 51),
|
||||
DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 51)
|
||||
};
|
||||
s32 lbl_1_data_2B0[] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 51), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 51), DATA_MAKE_NUM(DATADIR_PEACHMOT, 51),
|
||||
DATA_MAKE_NUM(DATADIR_YOSHIMOT, 51), DATA_MAKE_NUM(DATADIR_WARIOMOT, 51), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 51),
|
||||
DATA_MAKE_NUM(DATADIR_DAISYMOT, 51), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 51) };
|
||||
|
||||
s32 lbl_1_data_2D0[] = {
|
||||
0x00000125, 0x00000165, 0x000001A5,
|
||||
0x000001E5, 0x00000225, 0x00000265,
|
||||
0x000002A5, 0x000002E5
|
||||
};
|
||||
s32 lbl_1_data_2D0[] = { 0x00000125, 0x00000165, 0x000001A5, 0x000001E5, 0x00000225, 0x00000265, 0x000002A5, 0x000002E5 };
|
||||
|
||||
s32 lbl_1_data_2F0[] = {
|
||||
0x0000012E, 0x0000016E, 0x000001AE,
|
||||
0x000001EE, 0x0000022E, 0x0000026E,
|
||||
0x000002AE, 0x000002EE
|
||||
};
|
||||
s32 lbl_1_data_2F0[] = { 0x0000012E, 0x0000016E, 0x000001AE, 0x000001EE, 0x0000022E, 0x0000026E, 0x000002AE, 0x000002EE };
|
||||
|
||||
void fn_1_19DC(s32 arg0, s32 arg1) {
|
||||
void fn_1_19DC(s32 arg0, s32 arg1)
|
||||
{
|
||||
s32 temp_r30;
|
||||
s32 temp_r5;
|
||||
s32 temp_r5_2;
|
||||
|
|
@ -263,7 +250,8 @@ void fn_1_19DC(s32 arg0, s32 arg1) {
|
|||
lbl_1_bss_6A = 8;
|
||||
lbl_1_bss_68 = lbl_1_data_282;
|
||||
var_r29 = lbl_1_data_2F0[GWPlayer[arg0].character];
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
lbl_1_bss_6A = 7;
|
||||
lbl_1_bss_68 = 1;
|
||||
var_r29 = lbl_1_data_2D0[GWPlayer[arg0].character];
|
||||
|
|
@ -284,11 +272,10 @@ void fn_1_19DC(s32 arg0, s32 arg1) {
|
|||
|
||||
while (BoardPlayerMotionEndCheck(arg0) == 0) {
|
||||
HuPrcVSleep();
|
||||
|
||||
}
|
||||
|
||||
HuPrcSleep(60);
|
||||
|
||||
|
||||
if (arg1 != 0) {
|
||||
BoardPlayerMotionShiftSet(arg0, lbl_1_bss_68, 0.0f, 8.0f, HU3D_MOTATTR_NONE);
|
||||
HuPrcSleep(9);
|
||||
|
|
@ -315,7 +302,8 @@ void fn_1_19DC(s32 arg0, s32 arg1) {
|
|||
}
|
||||
}
|
||||
|
||||
s32 fn_1_1D1C(void) {
|
||||
s32 fn_1_1D1C(void)
|
||||
{
|
||||
s32 sp34;
|
||||
s32 sp30;
|
||||
s32 sp2C;
|
||||
|
|
@ -330,11 +318,7 @@ s32 fn_1_1D1C(void) {
|
|||
s32 maxTurn;
|
||||
|
||||
s32 sp8[3] = { 70, 50, 45 };
|
||||
s32 sp14[3][3] = {
|
||||
{3, 5, 22},
|
||||
{5, 10, 35},
|
||||
{5, 15, 35}
|
||||
};
|
||||
s32 sp14[3][3] = { { 3, 5, 22 }, { 5, 10, 35 }, { 5, 15, 35 } };
|
||||
|
||||
while (BoardMusStatusGet(1) != 0) {
|
||||
HuPrcVSleep();
|
||||
|
|
@ -352,23 +336,26 @@ s32 fn_1_1D1C(void) {
|
|||
}
|
||||
|
||||
modRand = BoardRandMod(100);
|
||||
if (modRand < sp8[var_r31] ) {
|
||||
if (modRand < sp8[var_r31]) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
modRand2 = BoardRandMod(100 - sp8[var_r31]);
|
||||
if (modRand2 < sp14[var_r31][0]) {
|
||||
lbl_1_bss_2C = 3;
|
||||
} else if (modRand2 < sp14[var_r31][1]) {
|
||||
}
|
||||
else if (modRand2 < sp14[var_r31][1]) {
|
||||
lbl_1_bss_2C = 2;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
lbl_1_bss_2C = 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void fn_1_1ED4(s32 arg0) {
|
||||
void fn_1_1ED4(s32 arg0)
|
||||
{
|
||||
Point3d spC;
|
||||
f32 sp8;
|
||||
|
||||
|
|
@ -383,12 +370,12 @@ void fn_1_1ED4(s32 arg0) {
|
|||
spC.y += 700.0f;
|
||||
BoardConfettiCreate(&spC, 0x64, 300.0f);
|
||||
sp8 = BoardModelRotYGet(lbl_1_bss_6C);
|
||||
|
||||
|
||||
while (BoardDAngleCalcRange(&sp8, 0.0f, 30.0f) == 0) {
|
||||
BoardModelRotYSet(lbl_1_data_284, sp8);
|
||||
HuPrcVSleep();
|
||||
}
|
||||
|
||||
|
||||
omVibrate(arg0, 0xC, 4, 2);
|
||||
BoardMusStart(1, 0x1A, 0x7F, 0);
|
||||
BoardModelRotYSet(lbl_1_data_284, 0.0f);
|
||||
|
|
@ -399,7 +386,7 @@ void fn_1_1ED4(s32 arg0) {
|
|||
}
|
||||
|
||||
BoardPlayerIdleSet(arg0);
|
||||
|
||||
|
||||
while (BoardMusStatusGet(1) != 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
|
|
@ -411,7 +398,8 @@ void fn_1_1ED4(s32 arg0) {
|
|||
BoardConfettiStop();
|
||||
}
|
||||
|
||||
void fn_1_20E0(s32 arg0) {
|
||||
void fn_1_20E0(s32 arg0)
|
||||
{
|
||||
Point3d sp24;
|
||||
Point3d sp18;
|
||||
Point3d spC;
|
||||
|
|
@ -436,28 +424,28 @@ void fn_1_20E0(s32 arg0) {
|
|||
omVibrate(arg0, 0xC, 4, 2);
|
||||
BoardModelRotYSet(lbl_1_data_284, 0.0f);
|
||||
BoardModelRotYSet(lbl_1_bss_6C, 0.0f);
|
||||
|
||||
|
||||
while (BoardFilterFadePauseCheck() == 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
|
||||
|
||||
BoardMusStart(1, 0x1B, 0x7F, 0);
|
||||
HuAudFXPlay(0x44A);
|
||||
fn_1_2A40();
|
||||
lbl_1_bss_30 = 0.0f;
|
||||
|
||||
|
||||
while (lbl_1_bss_30 < 128.0f) {
|
||||
HuPrcVSleep();
|
||||
lbl_1_bss_30 += 12.0f;
|
||||
}
|
||||
|
||||
|
||||
if (lbl_1_bss_30 > 128.0f) {
|
||||
lbl_1_bss_30 = 128.0f;
|
||||
}
|
||||
|
||||
HuPrcSleep(40);
|
||||
lbl_1_bss_30 = 128.0f;
|
||||
|
||||
|
||||
while (lbl_1_bss_30 > 0.0f) {
|
||||
HuPrcVSleep();
|
||||
lbl_1_bss_30 -= 12.0f;
|
||||
|
|
@ -475,13 +463,13 @@ void fn_1_20E0(s32 arg0) {
|
|||
BoardCameraMotionStartEx(-1, NULL, NULL, 1360.0f, -1.0f, 13);
|
||||
BoardCameraMotionWait();
|
||||
}
|
||||
|
||||
|
||||
BoardPlayerIdleSet(arg0);
|
||||
|
||||
while (BoardMusStatusGet(1) != 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
|
||||
|
||||
BoardAudSeqPause(0, 0, 1000);
|
||||
BoardWinCreate(2, MAKE_MESSID(22, 5), 2);
|
||||
BoardWinWait();
|
||||
|
|
@ -504,16 +492,16 @@ void fn_1_20E0(s32 arg0) {
|
|||
|
||||
for (var_f31 = 100.0f; var_f31 > 0.0f; var_f31 -= 2.0f) {
|
||||
BoardCameraQuakeSet(0xA, var_f31);
|
||||
HuPrcVSleep();
|
||||
HuPrcVSleep();
|
||||
}
|
||||
|
||||
|
||||
BoardCameraQuakeReset();
|
||||
|
||||
if (lbl_1_data_288 != 0) {
|
||||
HuAudFXStop(lbl_1_data_288);
|
||||
lbl_1_data_288 = -1;
|
||||
}
|
||||
|
||||
|
||||
fn_1_2818();
|
||||
omVibrate(arg0, 0xC, 0xC, 0);
|
||||
HuAudFXPlay(0x438);
|
||||
|
|
@ -530,7 +518,8 @@ void fn_1_20E0(s32 arg0) {
|
|||
HuPrcSleep(0x3C);
|
||||
}
|
||||
|
||||
void fn_1_26E0(s32 arg0) {
|
||||
void fn_1_26E0(s32 arg0)
|
||||
{
|
||||
Point3d sp20;
|
||||
Point3d sp14;
|
||||
Point3d sp8;
|
||||
|
|
@ -555,11 +544,12 @@ void fn_1_26E0(s32 arg0) {
|
|||
BoardPlayerIdleSet(arg0);
|
||||
}
|
||||
|
||||
void fn_1_2818(void) {
|
||||
void fn_1_2818(void)
|
||||
{
|
||||
s16 temp_r29;
|
||||
s16 temp_r30;
|
||||
s16 j;
|
||||
s16 sp8[3] = {0x0002, 0x003E, 0x007A};
|
||||
s16 sp8[3] = { 0x0002, 0x003E, 0x007A };
|
||||
|
||||
temp_r29 = (4 - lbl_1_bss_2C) * 60;
|
||||
BoardModelMotionStart(lbl_1_bss_C[1], 0, 0);
|
||||
|
|
@ -570,19 +560,21 @@ void fn_1_2818(void) {
|
|||
for (j = 0; j < ARRAY_COUNT(sp8); j++) {
|
||||
if (temp_r30 == sp8[j]) {
|
||||
HuAudFXPlay(0x446);
|
||||
}
|
||||
}
|
||||
}
|
||||
HuPrcVSleep();
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BoardModelAttrSet(lbl_1_bss_C[1], 0x40000002);
|
||||
HuPrcSleep(0x3C);
|
||||
}
|
||||
|
||||
s32 fn_1_2930(s32 arg0) {
|
||||
s32 fn_1_2930(s32 arg0)
|
||||
{
|
||||
lbl_1_bss_0->unk0--;
|
||||
|
||||
if (lbl_1_bss_0->unk0 <= 0) {
|
||||
|
|
@ -605,14 +597,16 @@ s32 fn_1_2930(s32 arg0) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
void fn_1_2A40(void) {
|
||||
void fn_1_2A40(void)
|
||||
{
|
||||
lbl_1_bss_30 = 0.0f;
|
||||
lbl_1_bss_34 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x96000, MEMORY_DEFAULT_NUM);
|
||||
lbl_1_data_286 = Hu3DHookFuncCreate((void*)&fn_1_2B44);
|
||||
lbl_1_data_286 = Hu3DHookFuncCreate((void *)&fn_1_2B44);
|
||||
Hu3DModelLayerSet(lbl_1_data_286, 3);
|
||||
}
|
||||
|
||||
void fn_1_2AC0(void) {
|
||||
void fn_1_2AC0(void)
|
||||
{
|
||||
if (lbl_1_bss_34) {
|
||||
HuMemDirectFree(lbl_1_bss_34);
|
||||
lbl_1_bss_34 = NULL;
|
||||
|
|
@ -624,15 +618,16 @@ void fn_1_2AC0(void) {
|
|||
}
|
||||
}
|
||||
|
||||
void fn_1_2B44(void) {
|
||||
void fn_1_2B44(void)
|
||||
{
|
||||
Mtx44 sp50;
|
||||
Mtx sp20;
|
||||
GXColor sp14;
|
||||
GXColor sp10;
|
||||
GXColor spC;
|
||||
u8 sp8;
|
||||
GXColor sp1C = {0xFF, 0xFF, 0xFF, 0xFF};
|
||||
GXColor sp18 = {0xFF, 0xFF, 0xFF, 0xFF};
|
||||
GXColor sp1C = { 0xFF, 0xFF, 0xFF, 0xFF };
|
||||
GXColor sp18 = { 0xFF, 0xFF, 0xFF, 0xFF };
|
||||
|
||||
f32 temp_f28 = 0.0f;
|
||||
f32 temp_f30 = 640.0f;
|
||||
|
|
@ -644,7 +639,7 @@ void fn_1_2B44(void) {
|
|||
GXLoadTexObj(&lbl_1_bss_48, GX_TEXMAP0);
|
||||
C_MTXOrtho(sp50, temp_f27, temp_f29, temp_f28, temp_f30, 0.0f, 10.0f);
|
||||
GXSetProjection(sp50, GX_ORTHOGRAPHIC);
|
||||
PSMTXIdentity(sp20);
|
||||
MTXIdentity(sp20);
|
||||
GXLoadPosMtxImm(sp20, 0);
|
||||
GXSetCurrentMtx(0);
|
||||
GXSetViewport(0.0f, 0.0f, temp_f30, 1.0f + temp_f29, 0.0f, 1.0f);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,15 @@
|
|||
#include "REL/w06Dll.h"
|
||||
#include "game/audio.h"
|
||||
#include "game/board/audio.h"
|
||||
#include "game/board/com.h"
|
||||
#include "game/board/main.h"
|
||||
#include "game/board/model.h"
|
||||
#include "game/board/player.h"
|
||||
#include "game/board/space.h"
|
||||
#include "game/board/ui.h"
|
||||
#include "game/board/window.h"
|
||||
#include "game/data.h"
|
||||
#include "game/frand.h"
|
||||
#include "game/gamework_data.h"
|
||||
#include "game/hsfanim.h"
|
||||
#include "game/hsfman.h"
|
||||
|
|
@ -10,15 +19,7 @@
|
|||
#include "game/process.h"
|
||||
#include "game/sprite.h"
|
||||
#include "game/window.h"
|
||||
#include "game/frand.h"
|
||||
#include "game/board/audio.h"
|
||||
#include "game/board/com.h"
|
||||
#include "game/board/main.h"
|
||||
#include "game/board/model.h"
|
||||
#include "game/board/player.h"
|
||||
#include "game/board/space.h"
|
||||
#include "game/board/ui.h"
|
||||
#include "game/board/window.h"
|
||||
|
||||
|
||||
#include "dolphin.h"
|
||||
#include "ext_math.h"
|
||||
|
|
@ -132,7 +133,8 @@ static s8 lbl_1_data_1AD[3] = { 0, 0, 0 };
|
|||
static s16 lbl_1_data_1B0 = -1;
|
||||
static omObjData *lbl_1_data_1B4[3] = { NULL, NULL, NULL };
|
||||
|
||||
void fn_1_D70(void) {
|
||||
void fn_1_D70(void)
|
||||
{
|
||||
Vec sp20;
|
||||
Vec sp14;
|
||||
Vec sp8;
|
||||
|
|
@ -157,7 +159,8 @@ void fn_1_D70(void) {
|
|||
}
|
||||
}
|
||||
|
||||
void fn_1_F6C(void) {
|
||||
void fn_1_F6C(void)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 3; i++) {
|
||||
|
|
@ -173,7 +176,8 @@ void fn_1_F6C(void) {
|
|||
}
|
||||
}
|
||||
|
||||
void fn_1_1054(void) {
|
||||
void fn_1_1054(void)
|
||||
{
|
||||
BoardRollDispSet(0);
|
||||
lbl_1_bss_18 = HuPrcChildCreate(fn_1_1148, 0x2003, 0x3800, 0, boardMainProc);
|
||||
HuPrcDestructorSet2(lbl_1_bss_18, fn_1_10E4);
|
||||
|
|
@ -183,7 +187,8 @@ void fn_1_1054(void) {
|
|||
BoardRollDispSet(1);
|
||||
}
|
||||
|
||||
static void fn_1_10E4(void) {
|
||||
static void fn_1_10E4(void)
|
||||
{
|
||||
fn_1_43DC();
|
||||
if (lbl_1_data_1A8 != -1) {
|
||||
HuWinKill(lbl_1_data_1A8);
|
||||
|
|
@ -192,7 +197,8 @@ static void fn_1_10E4(void) {
|
|||
lbl_1_bss_18 = NULL;
|
||||
}
|
||||
|
||||
static void fn_1_1148(void) {
|
||||
static void fn_1_1148(void)
|
||||
{
|
||||
s32 temp_r3;
|
||||
s32 temp_r31;
|
||||
|
||||
|
|
@ -205,7 +211,8 @@ static void fn_1_1148(void) {
|
|||
HuPrcEnd();
|
||||
}
|
||||
|
||||
static void fn_1_11B0(void) {
|
||||
static void fn_1_11B0(void)
|
||||
{
|
||||
float sp8[2];
|
||||
float var_f31;
|
||||
float var_f30;
|
||||
|
|
@ -219,7 +226,8 @@ static void fn_1_11B0(void) {
|
|||
HuWinMesSet(lbl_1_data_1A8, MAKE_MESSID(48, 25));
|
||||
}
|
||||
|
||||
static s32 fn_1_12A0(s32 arg0) {
|
||||
static s32 fn_1_12A0(s32 arg0)
|
||||
{
|
||||
Vec sp38;
|
||||
Vec sp2C;
|
||||
Vec sp20;
|
||||
|
|
@ -285,7 +293,8 @@ static s32 fn_1_12A0(s32 arg0) {
|
|||
return 1;
|
||||
}
|
||||
|
||||
static void fn_1_15CC(s32 arg0) {
|
||||
static void fn_1_15CC(s32 arg0)
|
||||
{
|
||||
s8 sp8[] = { 80, 50 };
|
||||
s32 var_r28;
|
||||
s16 temp_r26;
|
||||
|
|
@ -343,7 +352,8 @@ static void fn_1_15CC(s32 arg0) {
|
|||
BoardWinCreate(2, MAKE_MESSID(48, 41), 6);
|
||||
BoardWinWait();
|
||||
BoardWinKill();
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
for (var_r31 = 0; var_r31 < 3; var_r31++) {
|
||||
if (lbl_1_bss_30[var_r31] == 0) {
|
||||
lbl_1_bss_33 = var_r31;
|
||||
|
|
@ -400,7 +410,8 @@ static void fn_1_15CC(s32 arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
static void fn_1_1BE0(s32 arg0, s32 arg1) {
|
||||
static void fn_1_1BE0(s32 arg0, s32 arg1)
|
||||
{
|
||||
Vec sp18;
|
||||
Vec spC;
|
||||
s16 temp_r30;
|
||||
|
|
@ -420,7 +431,8 @@ static void fn_1_1BE0(s32 arg0, s32 arg1) {
|
|||
fn_1_2048(-1, 4);
|
||||
}
|
||||
|
||||
static void fn_1_1CB0(s32 arg0) {
|
||||
static void fn_1_1CB0(s32 arg0)
|
||||
{
|
||||
while (!BoardModelMotionEndCheck(lbl_1_bss_3C[arg0])) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
|
|
@ -430,7 +442,8 @@ static void fn_1_1CB0(s32 arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
static void fn_1_1D5C(s32 arg0) {
|
||||
static void fn_1_1D5C(s32 arg0)
|
||||
{
|
||||
s8 spC[] = { 0x20, 0x40, 0x60 };
|
||||
s16 sp10[] = { -100, 0, 100 };
|
||||
s32 sp8;
|
||||
|
|
@ -442,7 +455,8 @@ static void fn_1_1D5C(s32 arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
static void fn_1_1E30(s32 arg0) {
|
||||
static void fn_1_1E30(s32 arg0)
|
||||
{
|
||||
s8 spC[] = { 0x20, 0x40, 0x60 };
|
||||
s16 sp10[] = { -100, 0, 100 };
|
||||
s32 sp8;
|
||||
|
|
@ -454,7 +468,8 @@ static void fn_1_1E30(s32 arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
static void fn_1_1F08(s32 arg0) {
|
||||
static void fn_1_1F08(s32 arg0)
|
||||
{
|
||||
s32 i;
|
||||
s32 j;
|
||||
|
||||
|
|
@ -477,7 +492,8 @@ static void fn_1_1F08(s32 arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
static void fn_1_2048(s32 arg0, s32 arg1) {
|
||||
static void fn_1_2048(s32 arg0, s32 arg1)
|
||||
{
|
||||
Data1B4Work *temp_r30;
|
||||
s32 i;
|
||||
|
||||
|
|
@ -490,7 +506,8 @@ static void fn_1_2048(s32 arg0, s32 arg1) {
|
|||
}
|
||||
}
|
||||
|
||||
static void fn_1_20CC(s32 arg0) {
|
||||
static void fn_1_20CC(s32 arg0)
|
||||
{
|
||||
Data1B4Work *temp_r30;
|
||||
s32 i;
|
||||
|
||||
|
|
@ -504,7 +521,8 @@ static void fn_1_20CC(s32 arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
static s32 fn_1_2174(s32 arg0) {
|
||||
static s32 fn_1_2174(s32 arg0)
|
||||
{
|
||||
Data1B4Work *temp_r31;
|
||||
|
||||
if (!lbl_1_data_1B4[arg0]) {
|
||||
|
|
@ -514,7 +532,8 @@ static s32 fn_1_2174(s32 arg0) {
|
|||
return temp_r31->unk02;
|
||||
}
|
||||
|
||||
static s16 fn_1_21CC(s32 arg0) {
|
||||
static s16 fn_1_21CC(s32 arg0)
|
||||
{
|
||||
Data1B4Work *temp_r31;
|
||||
|
||||
if (!lbl_1_data_1B4[arg0]) {
|
||||
|
|
@ -524,7 +543,8 @@ static s16 fn_1_21CC(s32 arg0) {
|
|||
return temp_r31->unk06;
|
||||
}
|
||||
|
||||
static void fn_1_2220(s32 arg0, s32 arg1, s32 arg2) {
|
||||
static void fn_1_2220(s32 arg0, s32 arg1, s32 arg2)
|
||||
{
|
||||
Mtx sp18;
|
||||
Vec spC;
|
||||
omObjData *temp_r3;
|
||||
|
|
@ -555,7 +575,7 @@ static void fn_1_2220(s32 arg0, s32 arg1, s32 arg2) {
|
|||
temp_r3->rot.y = 0.0f;
|
||||
temp_r3->rot.z = 0.0f;
|
||||
if (arg2 == 5) {
|
||||
PSMTXTrans(sp18, 0.0f, -50.0f, 0.0f);
|
||||
MTXTrans(sp18, 0.0f, -50.0f, 0.0f);
|
||||
BoardModelMtxSet(temp_r31->unk06, &sp18);
|
||||
}
|
||||
BoardModelPosSet(temp_r31->unk06, temp_r3->trans.x, temp_r3->trans.y, temp_r3->trans.z);
|
||||
|
|
@ -563,7 +583,8 @@ static void fn_1_2220(s32 arg0, s32 arg1, s32 arg2) {
|
|||
BoardModelLayerSet(temp_r31->unk06, 2);
|
||||
}
|
||||
|
||||
static void fn_1_243C(omObjData *arg0) {
|
||||
static void fn_1_243C(omObjData *arg0)
|
||||
{
|
||||
Vec sp14;
|
||||
Vec sp8;
|
||||
Data1B4Work *temp_r31;
|
||||
|
|
@ -592,7 +613,8 @@ static void fn_1_243C(omObjData *arg0) {
|
|||
sp8.y += 200.0f;
|
||||
arg0->trans.y = (sp8.y - sp14.y) / 30.0f;
|
||||
arg0->rot.z = 0.01f;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
arg0->rot.z += 0.033333335f;
|
||||
if (arg0->rot.z > 1.0f) {
|
||||
arg0->rot.z = 1.0f;
|
||||
|
|
@ -617,7 +639,8 @@ static void fn_1_243C(omObjData *arg0) {
|
|||
BoardModelPosGet(lbl_1_bss_3C[temp_r31->unk00_field2], &sp8);
|
||||
arg0->trans.y = (sp8.y - sp14.y) / 30.0f;
|
||||
arg0->rot.z = 1.0f;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
arg0->rot.z -= 0.033333335f;
|
||||
if (arg0->rot.z < 0.001f) {
|
||||
arg0->rot.z = 0.001f;
|
||||
|
|
@ -644,11 +667,13 @@ static void fn_1_243C(omObjData *arg0) {
|
|||
BoardPlayerPosGet(temp_r31->unk00_field1, &sp8);
|
||||
arg0->rot.x = (sp8.x - sp14.x) / 30.0f;
|
||||
arg0->rot.z = (sp8.z - sp14.z) / 30.0f;
|
||||
} else if (temp_r31->unk08 < 30) {
|
||||
}
|
||||
else if (temp_r31->unk08 < 30) {
|
||||
sp14.x += arg0->rot.x;
|
||||
sp14.z += arg0->rot.z;
|
||||
BoardModelPosSetV(temp_r31->unk06, &sp14);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
BoardPlayerPosGet(temp_r31->unk00_field1, &sp8);
|
||||
arg0->trans.x = sp8.x;
|
||||
arg0->trans.y = sp8.y;
|
||||
|
|
@ -669,13 +694,10 @@ static void fn_1_243C(omObjData *arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
static s8 lbl_1_data_1C5[14] = {
|
||||
1, 1, 3, 3, 2,
|
||||
2, 2, 1, 2, 3,
|
||||
0, 4, 5, 0
|
||||
};
|
||||
static s8 lbl_1_data_1C5[14] = { 1, 1, 3, 3, 2, 2, 2, 1, 2, 3, 0, 4, 5, 0 };
|
||||
|
||||
static s32 fn_1_2A1C(s32 arg0) {
|
||||
static s32 fn_1_2A1C(s32 arg0)
|
||||
{
|
||||
s32 var_r29;
|
||||
s32 var_r28;
|
||||
s32 var_r30;
|
||||
|
|
@ -696,24 +718,30 @@ static s32 fn_1_2A1C(s32 arg0) {
|
|||
if (var_r29 > var_r28) {
|
||||
if (var_r29 > var_r30) {
|
||||
var_r31 = 0;
|
||||
} else if (var_r30 > var_r28) {
|
||||
}
|
||||
else if (var_r30 > var_r28) {
|
||||
var_r31 = 2;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_r31 = 1;
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
if (var_r28 > var_r30) {
|
||||
var_r31 = 1;
|
||||
} else if (var_r30 > var_r29) {
|
||||
}
|
||||
else if (var_r30 > var_r29) {
|
||||
var_r31 = 2;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_r31 = 0;
|
||||
}
|
||||
}
|
||||
return var_r31;
|
||||
}
|
||||
|
||||
static void fn_1_2B60(s32 arg0) {
|
||||
static void fn_1_2B60(s32 arg0)
|
||||
{
|
||||
omObjData *temp_r3;
|
||||
Bss24Work *temp_r31;
|
||||
|
||||
|
|
@ -728,7 +756,8 @@ static void fn_1_2B60(s32 arg0) {
|
|||
temp_r31->unk02 = 1;
|
||||
}
|
||||
|
||||
static void fn_1_2C18(void) {
|
||||
static void fn_1_2C18(void)
|
||||
{
|
||||
Bss24Work *var_r27;
|
||||
|
||||
if (lbl_1_bss_24) {
|
||||
|
|
@ -737,7 +766,8 @@ static void fn_1_2C18(void) {
|
|||
}
|
||||
}
|
||||
|
||||
static void fn_1_2D90(s32 arg0) {
|
||||
static void fn_1_2D90(s32 arg0)
|
||||
{
|
||||
Bss24Work *var_r31;
|
||||
|
||||
if (lbl_1_bss_24) {
|
||||
|
|
@ -746,7 +776,8 @@ static void fn_1_2D90(s32 arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
static s32 fn_1_2DD0(void) {
|
||||
static s32 fn_1_2DD0(void)
|
||||
{
|
||||
Bss24Work *var_r31;
|
||||
|
||||
if (!lbl_1_bss_24) {
|
||||
|
|
@ -756,7 +787,8 @@ static s32 fn_1_2DD0(void) {
|
|||
return var_r31->unk01;
|
||||
}
|
||||
|
||||
static u32 fn_1_2E18(Bss24Work *arg0) {
|
||||
static u32 fn_1_2E18(Bss24Work *arg0)
|
||||
{
|
||||
s32 temp_r31;
|
||||
s32 var_r30;
|
||||
|
||||
|
|
@ -774,7 +806,8 @@ static u32 fn_1_2E18(Bss24Work *arg0) {
|
|||
return var_r30;
|
||||
}
|
||||
|
||||
static void fn_1_2EF4(omObjData *arg0) {
|
||||
static void fn_1_2EF4(omObjData *arg0)
|
||||
{
|
||||
Vec sp14;
|
||||
Vec sp8;
|
||||
float var_f30;
|
||||
|
|
@ -794,12 +827,14 @@ static void fn_1_2EF4(omObjData *arg0) {
|
|||
}
|
||||
if (lbl_1_bss_30[0] != 0) {
|
||||
var_r25 = 1;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_r25 = 0;
|
||||
}
|
||||
if (lbl_1_bss_30[2] != 0) {
|
||||
var_r26 = 1;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_r26 = 2;
|
||||
}
|
||||
switch (temp_r30->unk01) {
|
||||
|
|
@ -820,13 +855,16 @@ static void fn_1_2EF4(omObjData *arg0) {
|
|||
if (lbl_1_bss_30[0] == 0 && lbl_1_bss_30[1] == 0) {
|
||||
if (BoardRandMod(100) < 50) {
|
||||
var_r29 = 1;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_r29 = 2;
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
if (lbl_1_bss_30[0] == 0) {
|
||||
var_r29 = 2;
|
||||
} else if (lbl_1_bss_30[1] == 0) {
|
||||
}
|
||||
else if (lbl_1_bss_30[1] == 0) {
|
||||
var_r29 = 1;
|
||||
}
|
||||
}
|
||||
|
|
@ -884,7 +922,8 @@ static void fn_1_2EF4(omObjData *arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
static void fn_1_3470(void) {
|
||||
static void fn_1_3470(void)
|
||||
{
|
||||
omObjData *temp_r3;
|
||||
Bss28Work *temp_r31;
|
||||
|
||||
|
|
@ -901,7 +940,8 @@ static void fn_1_3470(void) {
|
|||
temp_r31->unk0A = BoardModelMotionCreate(lbl_1_bss_C[4], DATA_MAKE_NUM(DATADIR_W06, 23));
|
||||
}
|
||||
|
||||
static void fn_1_3560(s32 arg0) {
|
||||
static void fn_1_3560(s32 arg0)
|
||||
{
|
||||
Bss28Work *temp_r31;
|
||||
|
||||
if (!lbl_1_bss_28) {
|
||||
|
|
@ -910,13 +950,15 @@ static void fn_1_3560(s32 arg0) {
|
|||
temp_r31 = OM_GET_WORK_PTR(lbl_1_bss_28, Bss28Work);
|
||||
temp_r31->unk00_field1 = arg0;
|
||||
if (arg0 != 1) {
|
||||
(void) 0;
|
||||
} else {
|
||||
(void)0;
|
||||
}
|
||||
else {
|
||||
temp_r31->unk06 = 20;
|
||||
}
|
||||
}
|
||||
|
||||
static s32 fn_1_35BC(void) {
|
||||
static s32 fn_1_35BC(void)
|
||||
{
|
||||
Bss28Work *temp_r31;
|
||||
|
||||
if (!lbl_1_bss_28) {
|
||||
|
|
@ -926,7 +968,8 @@ static s32 fn_1_35BC(void) {
|
|||
return temp_r31->unk00_field1;
|
||||
}
|
||||
|
||||
static void fn_1_3604(s32 arg0) {
|
||||
static void fn_1_3604(s32 arg0)
|
||||
{
|
||||
Bss28Work *temp_r31;
|
||||
|
||||
if (!lbl_1_bss_28) {
|
||||
|
|
@ -949,7 +992,8 @@ static void fn_1_3604(s32 arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
static void fn_1_3698(s8 arg0) {
|
||||
static void fn_1_3698(s8 arg0)
|
||||
{
|
||||
Vec sp24;
|
||||
Vec sp18;
|
||||
Vec spC;
|
||||
|
|
@ -976,7 +1020,8 @@ static void fn_1_3698(s8 arg0) {
|
|||
if (ABS(temp_f31) >= 300.0f) {
|
||||
var_f30 = 40.0f;
|
||||
temp_r31->unk06 *= 2;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
var_f30 = 20.0f;
|
||||
}
|
||||
VECSubtract(&sp18, &sp24, &spC);
|
||||
|
|
@ -986,7 +1031,8 @@ static void fn_1_3698(s8 arg0) {
|
|||
BoardModelMotionSpeedSet(lbl_1_bss_C[4], 2.0f);
|
||||
}
|
||||
|
||||
static void fn_1_3974(omObjData *arg0) {
|
||||
static void fn_1_3974(omObjData *arg0)
|
||||
{
|
||||
Vec sp30;
|
||||
Vec sp24;
|
||||
s32 sp8;
|
||||
|
|
@ -1012,7 +1058,8 @@ static void fn_1_3974(omObjData *arg0) {
|
|||
fn_1_3560(4);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
temp_r31->unk03++;
|
||||
}
|
||||
fn_1_3560(1);
|
||||
|
|
@ -1062,7 +1109,8 @@ static void fn_1_3974(omObjData *arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
static void fn_1_4070(void) {
|
||||
static void fn_1_4070(void)
|
||||
{
|
||||
Bss2CWork *temp_r31;
|
||||
|
||||
lbl_1_bss_1C = 0;
|
||||
|
|
@ -1074,7 +1122,8 @@ static void fn_1_4070(void) {
|
|||
temp_r31->unk04 = MGSeqTimerCreateXY(temp_r31->unk01, 288, 64);
|
||||
}
|
||||
|
||||
static void fn_1_4124(void) {
|
||||
static void fn_1_4124(void)
|
||||
{
|
||||
Bss2CWork *temp_r31;
|
||||
|
||||
if (!lbl_1_bss_2C) {
|
||||
|
|
@ -1086,7 +1135,8 @@ static void fn_1_4124(void) {
|
|||
temp_r31->unk00_field0 = 1;
|
||||
}
|
||||
|
||||
static void fn_1_4194(omObjData *arg0) {
|
||||
static void fn_1_4194(omObjData *arg0)
|
||||
{
|
||||
Bss2CWork *temp_r31;
|
||||
|
||||
temp_r31 = OM_GET_WORK_PTR(arg0, Bss2CWork);
|
||||
|
|
@ -1107,7 +1157,8 @@ static void fn_1_4194(omObjData *arg0) {
|
|||
}
|
||||
if (temp_r31->unk01 != 0) {
|
||||
temp_r31->unk01--;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
MGSeqParamSet(temp_r31->unk04, 2, -1);
|
||||
temp_r31->unk04 = -1;
|
||||
lbl_1_bss_1C = 1;
|
||||
|
|
@ -1117,7 +1168,8 @@ static void fn_1_4194(omObjData *arg0) {
|
|||
temp_r31->unk02 = 60;
|
||||
}
|
||||
|
||||
static void fn_1_42AC(s16 arg0) {
|
||||
static void fn_1_42AC(s16 arg0)
|
||||
{
|
||||
ParticleData *var_r31;
|
||||
|
||||
lbl_1_bss_20 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_EFFECT, 0));
|
||||
|
|
@ -1132,7 +1184,8 @@ static void fn_1_42AC(s16 arg0) {
|
|||
var_r31->unk_02 = arg0;
|
||||
}
|
||||
|
||||
static void fn_1_43DC(void) {
|
||||
static void fn_1_43DC(void)
|
||||
{
|
||||
if (lbl_1_data_1B0 != -1) {
|
||||
Hu3DModelKill(lbl_1_data_1B0);
|
||||
lbl_1_data_1B0 = -1;
|
||||
|
|
@ -1143,7 +1196,8 @@ static void fn_1_43DC(void) {
|
|||
}
|
||||
}
|
||||
|
||||
static void fn_1_4460(ModelData *model, ParticleData *particle, Mtx matrix) {
|
||||
static void fn_1_4460(ModelData *model, ParticleData *particle, Mtx matrix)
|
||||
{
|
||||
HsfanimStruct01 *var_r31;
|
||||
Vec sp8;
|
||||
float var_f31;
|
||||
|
|
|
|||
|
|
@ -1515,10 +1515,10 @@ void fn_1_7414(ModelData *model, Mtx matrix)
|
|||
GXInitTexObj(&spC, Hu3DShadowData.unk_04, Hu3DShadowData.unk_02, Hu3DShadowData.unk_02, 1, GX_CLAMP, GX_CLAMP, GX_FALSE);
|
||||
GXInitTexObjLOD(&spC, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1);
|
||||
GXLoadTexObj(&spC, GX_TEXMAP0);
|
||||
PSMTXInverse(Hu3DCameraMtx, sp5C);
|
||||
PSMTXConcat(sp5C, matrix, sp8C);
|
||||
PSMTXConcat(Hu3DShadowData.unk_68, Hu3DShadowData.unk_38, sp2C);
|
||||
PSMTXConcat(sp2C, sp8C, sp8C);
|
||||
MTXInverse(Hu3DCameraMtx, sp5C);
|
||||
MTXConcat(sp5C, matrix, sp8C);
|
||||
MTXConcat(Hu3DShadowData.unk_68, Hu3DShadowData.unk_38, sp2C);
|
||||
MTXConcat(sp2C, sp8C, sp8C);
|
||||
GXLoadTexMtxImm(sp8C, 0x39, GX_MTX3x4);
|
||||
GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, 0x39, GX_FALSE, 0x7D);
|
||||
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue