Almost finished m420dll
This commit is contained in:
parent
023b70219d
commit
e34a300610
8 changed files with 2823 additions and 125 deletions
|
|
@ -10,10 +10,15 @@ REL/executor.c:
|
|||
.text start:0x00000000 end:0x000000A0
|
||||
|
||||
REL/m420dll/main.c:
|
||||
.text start:0x000000A0 end:0x00001B8C
|
||||
.rodata start:0x00000000 end:0x000000F8
|
||||
.text start:0x000000A0 end:0x00000D98
|
||||
.rodata start:0x00000000 end:0x00000098
|
||||
.bss start:0x00000000 end:0x00000030
|
||||
|
||||
REL/m420dll/camera.c:
|
||||
.text start:0x00000D98 end:0x00001B8C
|
||||
.rodata start:0x00000098 end:0x000000F8
|
||||
.data start:0x00000000 end:0x00000050
|
||||
.bss start:0x00000000 end:0x000000B0
|
||||
.bss start:0x00000030 end:0x000000B0
|
||||
|
||||
REL/m420dll/player.c:
|
||||
.text start:0x00001B8C end:0x00004964
|
||||
|
|
|
|||
|
|
@ -83,127 +83,129 @@ fn_1_8934 = .text:0x00008934; // type:function size:0x10
|
|||
fn_1_8944 = .text:0x00008944; // type:function size:0x34
|
||||
_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:0x54
|
||||
lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x24 data:4byte
|
||||
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_94 = .rodata:0x00000094; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float
|
||||
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:0x8 data:double
|
||||
lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 data:float
|
||||
lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x160
|
||||
lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x60
|
||||
lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x10
|
||||
lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x1C
|
||||
lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x8 data:float
|
||||
lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x6C
|
||||
lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0xC data:4byte
|
||||
lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0xC data:4byte
|
||||
lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_464 = .rodata:0x00000464; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x30 data:4byte
|
||||
lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x30 data:4byte
|
||||
lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_534 = .rodata:0x00000534; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_53C = .rodata:0x0000053C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0xC data:4byte
|
||||
lbl_1_rodata_54C = .rodata:0x0000054C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_55C = .rodata:0x0000055C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_564 = .rodata:0x00000564; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0x8 data:float
|
||||
lbl_1_data_0 = .data:0x00000000; // type:object size:0x1E data:string
|
||||
lbl_1_data_1E = .data:0x0000001E; // type:object size:0x1E data:string
|
||||
lbl_1_data_3C = .data:0x0000003C; // type:object size:0x11
|
||||
__fakeHalf = .rodata:0x00000000; // type:object size:0x8 data:double
|
||||
__fakeThree = .rodata:0x00000008; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x54 scope:local data:float
|
||||
lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x24 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_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float
|
||||
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:0x8 scope:local data:double
|
||||
lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 scope:local data:float
|
||||
lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x160 scope:local
|
||||
lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x60 scope:local data:float
|
||||
lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x10 scope:local
|
||||
lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x1C scope:local
|
||||
lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x8 scope:local data:float
|
||||
lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x6C scope:local
|
||||
lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0xC scope:local data:float
|
||||
lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0xC scope:local data:float
|
||||
lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_40C = .rodata:0x0000040C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_414 = .rodata:0x00000414; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_464 = .rodata:0x00000464; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_474 = .rodata:0x00000474; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x30 scope:local data:float
|
||||
lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x30 scope:local data:float
|
||||
lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_534 = .rodata:0x00000534; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_53C = .rodata:0x0000053C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0xC scope:local data:4byte
|
||||
lbl_1_rodata_54C = .rodata:0x0000054C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_55C = .rodata:0x0000055C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_564 = .rodata:0x00000564; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0x8 scope:local data:float
|
||||
lbl_1_data_0 = .data:0x00000000; // type:object size:0x1E scope:local data:string
|
||||
lbl_1_data_1E = .data:0x0000001E; // type:object size:0x1E scope:local data:string
|
||||
lbl_1_data_3C = .data:0x0000003C; // type:object size:0x11 scope:local data:string
|
||||
lbl_1_data_50 = .data:0x00000050; // type:object size:0x80
|
||||
lbl_1_data_D0 = .data:0x000000D0; // type:object size:0x1B data:string
|
||||
lbl_1_data_EC = .data:0x000000EC; // type:object size:0x30
|
||||
|
|
@ -211,7 +213,7 @@ lbl_1_data_11C = .data:0x0000011C; // type:object size:0x19 data:string
|
|||
lbl_1_data_135 = .data:0x00000135; // type:object size:0x1
|
||||
lbl_1_data_138 = .data:0x00000138; // type:object size:0x1C
|
||||
lbl_1_data_154 = .data:0x00000154; // type:object size:0x10 data:4byte
|
||||
lbl_1_data_164 = .data:0x00000164; // type:object size:0xD data:string
|
||||
lbl_1_data_164 = .data:0x00000164; // type:object size:0xD scope:local data:string
|
||||
lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte
|
||||
lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte
|
||||
lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte
|
||||
|
|
|
|||
|
|
@ -977,6 +977,7 @@ config.libs = [
|
|||
"m420dll", # Fish n' Drips
|
||||
objects={
|
||||
Object(NonMatching, "REL/m420dll/main.c"),
|
||||
Object(Matching, "REL/m420dll/camera.c"),
|
||||
Object(NonMatching, "REL/m420dll/player.c"),
|
||||
Object(NonMatching, "REL/m420dll/map.c"),
|
||||
Object(Matching, "REL/m420dll/rand.c"),
|
||||
|
|
|
|||
68
include/REL/m420dll.h
Normal file
68
include/REL/m420dll.h
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
#ifndef M420DLL_H
|
||||
#define M420DLL_H
|
||||
|
||||
#include "game/object.h"
|
||||
|
||||
typedef struct M420DllUnkStruct {
|
||||
/* 0x00 */ Vec unk_00;
|
||||
/* 0x0C */ Vec unk_0C;
|
||||
/* 0x18 */ float unk_18;
|
||||
} M420DllUnkStruct; /* size = 0x1C */ // same as in m447dll/camera.c
|
||||
|
||||
typedef struct M420DllPlayerStruct {
|
||||
/* 0x00 */ struct {
|
||||
s8 unk_00_field0 : 1;
|
||||
s8 unk_00_field1 : 1;
|
||||
s8 unk_00_field2 : 1;
|
||||
};
|
||||
/* 0x04 */ s32 unk_04;
|
||||
/* 0x08 */ u8 unk_08;
|
||||
/* 0x0A */ s16 unk_0A;
|
||||
/* 0x0C */ u8 unk_0C;
|
||||
/* 0x10 */ Vec unk_10;
|
||||
/* 0x1C */ Vec unk_1C;
|
||||
/* 0x28 */ Vec unk_28;
|
||||
/* 0x34 */ Vec unk_34;
|
||||
/* 0x40 */ Process *unk_40;
|
||||
/* 0x44 */ char unk44[4];
|
||||
/* 0x48 */ s32 unk_48;
|
||||
/* 0x4C */ s32 unk_4C;
|
||||
/* 0x50 */ s16 unk_50;
|
||||
/* 0x52 */ char unk52[6];
|
||||
/* 0x58 */ s32 unk_58;
|
||||
/* 0x5C */ s32 unk_5C[0xA];
|
||||
/* 0x84 */ s32 unk_84[0xA];
|
||||
/* 0xAC */ s16 unk_AC;
|
||||
/* 0xAE */ s16 unk_AE[0xB];
|
||||
/* 0xC4 */ s16 unk_C4[0xA];
|
||||
/* 0xD8 */ s16 unk_D8;
|
||||
/* 0xDC */ float unk_DC;
|
||||
/* 0xE0 */ float unk_E0;
|
||||
/* 0xE4 */ s32 unk_E4;
|
||||
/* 0xE8 */ struct M420DllPlayerStruct *unk_E8;
|
||||
} M420DllPlayerStruct; /* size = 0xEC */
|
||||
|
||||
void fn_1_1184(void);
|
||||
|
||||
s32 fn_1_4964(void);
|
||||
void fn_1_596C(void);
|
||||
s32 fn_1_59F4(s32);
|
||||
s32 fn_1_5AA8(s32 arg0, float arg1);
|
||||
s32 fn_1_60F0(void);
|
||||
void fn_1_6268(void);
|
||||
void fn_1_636C(void);
|
||||
void fn_1_63EC(void);
|
||||
void fn_1_6554(void);
|
||||
s16 fn_1_6660(void);
|
||||
void fn_1_669C(s32 arg0);
|
||||
void fn_1_6728(void);
|
||||
s32 fn_1_67E8(s32);
|
||||
s32 fn_1_6810(void);
|
||||
void fn_1_8934(void);
|
||||
s32 fn_1_8944(void);
|
||||
M420DllPlayerStruct *fn_1_1B8C(s32, s32);
|
||||
void fn_1_1E14(M420DllPlayerStruct *);
|
||||
|
||||
extern Process *lbl_1_bss_4;
|
||||
|
||||
#endif
|
||||
144
src/REL/m420dll/camera.c
Normal file
144
src/REL/m420dll/camera.c
Normal file
|
|
@ -0,0 +1,144 @@
|
|||
#include "ext_math.h"
|
||||
#include "game/audio.h"
|
||||
#include "game/flag.h"
|
||||
#include "game/hsfman.h"
|
||||
#include "game/minigame_seq.h"
|
||||
#include "game/objsub.h"
|
||||
#include "game/pad.h"
|
||||
#include "game/printfunc.h"
|
||||
#include "game/wipe.h"
|
||||
|
||||
#include "REL/m420dll.h"
|
||||
|
||||
Process *lbl_1_bss_A8;
|
||||
M420DllUnkStruct lbl_1_bss_8C;
|
||||
M420DllUnkStruct lbl_1_bss_70;
|
||||
M420DllUnkStruct lbl_1_bss_54;
|
||||
s32 lbl_1_bss_50;
|
||||
s32 lbl_1_bss_4C;
|
||||
s32 lbl_1_bss_48;
|
||||
float lbl_1_bss_44;
|
||||
float lbl_1_bss_40;
|
||||
float lbl_1_bss_3C;
|
||||
float lbl_1_bss_38;
|
||||
float lbl_1_bss_34;
|
||||
float lbl_1_bss_30;
|
||||
|
||||
s32 fn_1_D98(void)
|
||||
{
|
||||
Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f);
|
||||
Hu3DCameraPerspectiveSet(1, 30.0f, 10.0f, 8000.0f, 1.2f);
|
||||
lbl_1_bss_8C.unk_00.x = 0.0f;
|
||||
lbl_1_bss_8C.unk_00.y = 0.0f;
|
||||
lbl_1_bss_8C.unk_00.z = 0.0f;
|
||||
lbl_1_bss_8C.unk_0C.x = -10.0f;
|
||||
lbl_1_bss_8C.unk_0C.y = 0.0f;
|
||||
lbl_1_bss_8C.unk_0C.z = 0.0f;
|
||||
lbl_1_bss_8C.unk_18 = 1000.0f;
|
||||
lbl_1_bss_50 = 0;
|
||||
lbl_1_bss_4C = 0;
|
||||
lbl_1_bss_48 = 0;
|
||||
lbl_1_bss_A8 = HuPrcChildCreate(fn_1_1184, 0x1F4, 0x2000, 0, lbl_1_bss_4);
|
||||
return 1;
|
||||
}
|
||||
|
||||
void fn_1_F48(void)
|
||||
{
|
||||
HuPrcKill(lbl_1_bss_A8);
|
||||
}
|
||||
|
||||
void fn_1_F74(const Vec *arg0, s32 arg1)
|
||||
{
|
||||
lbl_1_bss_54.unk_00 = *arg0;
|
||||
lbl_1_bss_70.unk_00 = lbl_1_bss_8C.unk_00;
|
||||
lbl_1_bss_44 = 0.0f;
|
||||
lbl_1_bss_38 = 1.0f / arg1;
|
||||
lbl_1_bss_50 = 1;
|
||||
}
|
||||
|
||||
void fn_1_1030(const Vec *arg0, s32 arg1)
|
||||
{
|
||||
lbl_1_bss_54.unk_0C = *arg0;
|
||||
lbl_1_bss_70.unk_0C = lbl_1_bss_8C.unk_0C;
|
||||
lbl_1_bss_40 = 0.0f;
|
||||
lbl_1_bss_34 = 1.0f / arg1;
|
||||
lbl_1_bss_4C = 1;
|
||||
}
|
||||
|
||||
void fn_1_10EC(float arg8, s32 arg0)
|
||||
{
|
||||
lbl_1_bss_54.unk_18 = arg8;
|
||||
lbl_1_bss_70.unk_18 = lbl_1_bss_8C.unk_18;
|
||||
lbl_1_bss_3C = 0.0f;
|
||||
lbl_1_bss_30 = 1.0f / arg0;
|
||||
lbl_1_bss_48 = 1;
|
||||
}
|
||||
|
||||
void fn_1_1184(void)
|
||||
{
|
||||
Vec sp28;
|
||||
Vec sp1C;
|
||||
Vec sp10;
|
||||
float var_f31;
|
||||
|
||||
while (TRUE) {
|
||||
if (lbl_1_bss_50 != 0) {
|
||||
var_f31 = sind((90.0f * lbl_1_bss_44));
|
||||
var_f31 *= var_f31;
|
||||
lbl_1_bss_8C.unk_00.x = lbl_1_bss_70.unk_00.x + (var_f31 * (lbl_1_bss_54.unk_00.x - lbl_1_bss_70.unk_00.x));
|
||||
lbl_1_bss_8C.unk_00.y = lbl_1_bss_70.unk_00.y + (var_f31 * (lbl_1_bss_54.unk_00.y - lbl_1_bss_70.unk_00.y));
|
||||
lbl_1_bss_8C.unk_00.z = lbl_1_bss_70.unk_00.z + (var_f31 * (lbl_1_bss_54.unk_00.z - lbl_1_bss_70.unk_00.z));
|
||||
if ((lbl_1_bss_44 += lbl_1_bss_38) >= 1.0f) {
|
||||
lbl_1_bss_8C.unk_00 = lbl_1_bss_54.unk_00;
|
||||
lbl_1_bss_50 = 0;
|
||||
}
|
||||
}
|
||||
if (lbl_1_bss_4C != 0) {
|
||||
var_f31 = sind((90.0f * lbl_1_bss_40));
|
||||
var_f31 *= var_f31;
|
||||
lbl_1_bss_8C.unk_0C.x = lbl_1_bss_70.unk_0C.x + (var_f31 * (lbl_1_bss_54.unk_0C.x - lbl_1_bss_70.unk_0C.x));
|
||||
lbl_1_bss_8C.unk_0C.y = lbl_1_bss_70.unk_0C.y + (var_f31 * (lbl_1_bss_54.unk_0C.y - lbl_1_bss_70.unk_0C.y));
|
||||
lbl_1_bss_8C.unk_0C.z = lbl_1_bss_70.unk_0C.z + (var_f31 * (lbl_1_bss_54.unk_0C.z - lbl_1_bss_70.unk_0C.z));
|
||||
if ((lbl_1_bss_40 += lbl_1_bss_34) >= 1.0f) {
|
||||
lbl_1_bss_8C.unk_0C = lbl_1_bss_54.unk_0C;
|
||||
lbl_1_bss_4C = 0;
|
||||
}
|
||||
}
|
||||
if (lbl_1_bss_48 != 0) {
|
||||
var_f31 = sind((90.0f * lbl_1_bss_3C));
|
||||
var_f31 *= var_f31;
|
||||
lbl_1_bss_8C.unk_18 = lbl_1_bss_70.unk_18 + (var_f31 * (lbl_1_bss_54.unk_18 - lbl_1_bss_70.unk_18));
|
||||
if ((lbl_1_bss_3C += lbl_1_bss_30) >= 1.0f) {
|
||||
lbl_1_bss_8C.unk_18 = lbl_1_bss_54.unk_18;
|
||||
lbl_1_bss_48 = 0;
|
||||
}
|
||||
}
|
||||
sp28.x = lbl_1_bss_8C.unk_00.x + (lbl_1_bss_8C.unk_18 * (sind(lbl_1_bss_8C.unk_0C.y) * cosd(lbl_1_bss_8C.unk_0C.x)));
|
||||
sp28.y = lbl_1_bss_8C.unk_00.y + (lbl_1_bss_8C.unk_18 * -sind(lbl_1_bss_8C.unk_0C.x));
|
||||
sp28.z = lbl_1_bss_8C.unk_00.z + (lbl_1_bss_8C.unk_18 * (cosd(lbl_1_bss_8C.unk_0C.y) * cosd(lbl_1_bss_8C.unk_0C.x)));
|
||||
sp10.x = sind(lbl_1_bss_8C.unk_0C.y) * sind(lbl_1_bss_8C.unk_0C.x);
|
||||
sp10.y = cosd(lbl_1_bss_8C.unk_0C.x);
|
||||
sp10.z = cosd(lbl_1_bss_8C.unk_0C.y) * sind(lbl_1_bss_8C.unk_0C.x);
|
||||
sp1C = lbl_1_bss_8C.unk_00;
|
||||
|
||||
Hu3DCameraPosSet(1, sp28.x, sp28.y, sp28.z, sp10.x, sp10.y, sp10.z, sp1C.x, sp1C.y, sp1C.z);
|
||||
HuPrcVSleep();
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_189C(void)
|
||||
{
|
||||
lbl_1_bss_8C.unk_00.x += (0.02f * *HuPadStkX);
|
||||
lbl_1_bss_8C.unk_00.y += (0.02f * *HuPadStkY);
|
||||
lbl_1_bss_8C.unk_0C.y -= (0.02f * *HuPadSubStkX);
|
||||
lbl_1_bss_8C.unk_0C.x += (0.02f * *HuPadSubStkY);
|
||||
lbl_1_bss_8C.unk_18 += (0.02f * *HuPadTrigL);
|
||||
lbl_1_bss_8C.unk_18 -= (0.02f * *HuPadTrigR);
|
||||
}
|
||||
|
||||
void fn_1_1AB0(void)
|
||||
{
|
||||
print8(0x20, 0x84, 1.5f, "LOOKAT : x=%.2f y=%.2f z=%.2f", lbl_1_bss_8C.unk_00.x, lbl_1_bss_8C.unk_00.y, lbl_1_bss_8C.unk_00.z);
|
||||
print8(0x20, 0x94, 1.5f, "ANGLE : x=%.2f y=%.2f z=%.2f", lbl_1_bss_8C.unk_0C.x, lbl_1_bss_8C.unk_0C.y, lbl_1_bss_8C.unk_0C.z);
|
||||
print8(0x20, 0xA4, 1.5f, "ZOOM : x=%.2f", lbl_1_bss_8C.unk_18);
|
||||
}
|
||||
251
src/REL/m420dll/main.c
Normal file
251
src/REL/m420dll/main.c
Normal file
|
|
@ -0,0 +1,251 @@
|
|||
#include "ext_math.h"
|
||||
#include "game/audio.h"
|
||||
#include "game/flag.h"
|
||||
#include "game/hsfman.h"
|
||||
#include "game/minigame_seq.h"
|
||||
#include "game/objsub.h"
|
||||
#include "game/pad.h"
|
||||
#include "game/printfunc.h"
|
||||
#include "game/wipe.h"
|
||||
#include "rel_sqrt_consts.h"
|
||||
|
||||
#include "REL/m420dll.h"
|
||||
|
||||
s32 fn_1_198(void);
|
||||
void fn_1_3D4(void);
|
||||
void fn_1_43C(void);
|
||||
void fn_1_D14(s32 arg0, s32 arg1);
|
||||
s32 fn_1_D98(void);
|
||||
void fn_1_F48(void);
|
||||
void fn_1_F74(const Vec *arg0, s32 arg1);
|
||||
void fn_1_1030(const Vec *arg0, s32 arg1);
|
||||
void fn_1_10EC(float arg8, s32 arg0);
|
||||
void fn_1_118(void);
|
||||
|
||||
s32 lbl_1_bss_2C;
|
||||
Process *lbl_1_bss_28;
|
||||
M420DllPlayerStruct *lbl_1_bss_18[4];
|
||||
s16 lbl_1_bss_14;
|
||||
s16 lbl_1_bss_12;
|
||||
s16 lbl_1_bss_10;
|
||||
s32 lbl_1_bss_C;
|
||||
s32 lbl_1_bss_8;
|
||||
Process *lbl_1_bss_4;
|
||||
Process *lbl_1_bss_0;
|
||||
|
||||
static const M420DllUnkStruct lbl_1_rodata_10[3] = {
|
||||
{ { 0.0f, 1040.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, 680.0f },
|
||||
{ { 0.0f, 800.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, 680.0f },
|
||||
{ { 0.0f, 310.0f, 0.0f }, { -10.0f, 0.0f, 0.0f }, 1950.0f },
|
||||
};
|
||||
|
||||
void ObjectSetup(void)
|
||||
{
|
||||
lbl_1_bss_4 = omInitObjMan(1, 0x2000);
|
||||
omGameSysInit(lbl_1_bss_4);
|
||||
lbl_1_bss_0 = HuPrcChildCreate(fn_1_118, 0x3E8, 0x4000, 0, lbl_1_bss_4);
|
||||
fn_1_198();
|
||||
}
|
||||
|
||||
void fn_1_118(void)
|
||||
{
|
||||
while (omSysExitReq == 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
WipeCreate(2, 0, 0x3C);
|
||||
|
||||
while (WipeStatGet() != 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
HuAudFadeOut(0x64);
|
||||
fn_1_3D4();
|
||||
HuPrcVSleep();
|
||||
omOvlReturnEx(1, 1);
|
||||
HuPrcEnd();
|
||||
}
|
||||
|
||||
s32 fn_1_198(void)
|
||||
{
|
||||
s32 sp8[3];
|
||||
s32 var_r31;
|
||||
s32 var_r30;
|
||||
|
||||
Vec sp14[3] = { { 0.0f, 4000.0f, 100.0f }, { 0.0f, 1.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } };
|
||||
frand();
|
||||
fn_1_8934();
|
||||
fn_1_4964();
|
||||
fn_1_D98();
|
||||
fn_1_D14(0, 1);
|
||||
Hu3DShadowCreate(30.0f, 20.0f, 10000.0f);
|
||||
Hu3DShadowTPLvlSet(0.5f);
|
||||
Hu3DShadowPosSet(&sp14[0], &sp14[1], &sp14[2]);
|
||||
for (var_r31 = 0; var_r31 < 3; var_r31++) {
|
||||
sp8[var_r31] = 0;
|
||||
}
|
||||
for (var_r31 = 0; var_r31 < 4; var_r31++) {
|
||||
if (GWPlayerCfg[var_r31].group == 0) {
|
||||
lbl_1_bss_18[0] = fn_1_1B8C(var_r31, 0);
|
||||
}
|
||||
else {
|
||||
do {
|
||||
var_r30 = fn_1_8944() % 3;
|
||||
} while (sp8[var_r30] != 0);
|
||||
sp8[var_r30] = 1;
|
||||
lbl_1_bss_18[var_r30 + 1] = fn_1_1B8C(var_r31, var_r30 + 1);
|
||||
}
|
||||
}
|
||||
lbl_1_bss_18[1]->unk_E8 = NULL;
|
||||
lbl_1_bss_18[2]->unk_E8 = lbl_1_bss_18[1];
|
||||
lbl_1_bss_18[3]->unk_E8 = lbl_1_bss_18[2];
|
||||
lbl_1_bss_28 = HuPrcChildCreate(fn_1_43C, 0x3E9, 0x4000, 0, lbl_1_bss_4);
|
||||
return 1;
|
||||
}
|
||||
|
||||
void fn_1_3D4(void)
|
||||
{
|
||||
s32 var_r31;
|
||||
|
||||
for (var_r31 = 0; var_r31 < 4; var_r31++) {
|
||||
fn_1_1E14(lbl_1_bss_18[var_r31]);
|
||||
}
|
||||
fn_1_596C();
|
||||
fn_1_F48();
|
||||
HuPrcKill(lbl_1_bss_28);
|
||||
}
|
||||
|
||||
void fn_1_43C(void)
|
||||
{
|
||||
s32 var_r31;
|
||||
s32 var_r30;
|
||||
|
||||
lbl_1_bss_C = 0;
|
||||
WipeCreate(1, 0, 0x3C);
|
||||
|
||||
while (WipeStatGet() != 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
fn_1_59F4(0);
|
||||
fn_1_D14(1, 0x50);
|
||||
HuPrcSleep(0x4E);
|
||||
fn_1_D14(2, 0x3C);
|
||||
HuPrcSleep(0xB4);
|
||||
fn_1_59F4(2);
|
||||
for (var_r31 = 0; var_r31 < 4; var_r31++) {
|
||||
lbl_1_bss_18[var_r31]->unk_48 = 9;
|
||||
}
|
||||
lbl_1_bss_8 = HuAudSeqPlay(0x48);
|
||||
lbl_1_bss_10 = MGSeqCreate(3, 0);
|
||||
|
||||
while (MGSeqStatGet(lbl_1_bss_10) != 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
MGSeqKill(lbl_1_bss_10);
|
||||
lbl_1_bss_12 = 0xE10;
|
||||
lbl_1_bss_14 = MGSeqCreate(1, lbl_1_bss_12 / 60, -1, -1);
|
||||
var_r30 = 1;
|
||||
while (TRUE) {
|
||||
if (lbl_1_bss_18[0]->unk_48 == 0) {
|
||||
lbl_1_bss_18[0]->unk_48 = 1;
|
||||
}
|
||||
if ((lbl_1_bss_18[var_r30]->unk_48 == 0) && (lbl_1_bss_12 > 5)) {
|
||||
lbl_1_bss_18[var_r30]->unk_48 = 3;
|
||||
}
|
||||
if ((lbl_1_bss_18[var_r30]->unk_00_field1) && (var_r30 != 1)) {
|
||||
lbl_1_bss_18[var_r30 - 1]->unk_48 = 4;
|
||||
}
|
||||
if (lbl_1_bss_18[var_r30]->unk_48 == 6) {
|
||||
var_r30++;
|
||||
if (var_r30 > 3) {
|
||||
var_r30 = 1;
|
||||
lbl_1_bss_18[3]->unk_48 = 0;
|
||||
}
|
||||
}
|
||||
if (lbl_1_bss_12 >= 0) {
|
||||
if (((--lbl_1_bss_12) % 60) == 0) {
|
||||
MGSeqParamSet(lbl_1_bss_14, 1, lbl_1_bss_12 / 60);
|
||||
}
|
||||
}
|
||||
if ((fn_1_67E8(0) == 0) && (fn_1_67E8(1) == 0) && (lbl_1_bss_12 > 0)) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ((fn_1_67E8(0) != 0) && (fn_1_67E8(1) != 0)) {
|
||||
lbl_1_bss_C = 3;
|
||||
}
|
||||
else if (fn_1_67E8(0) != 0) {
|
||||
lbl_1_bss_C = 1;
|
||||
}
|
||||
else if (fn_1_67E8(1) != 0) {
|
||||
lbl_1_bss_C = 2;
|
||||
}
|
||||
else {
|
||||
lbl_1_bss_C = 3;
|
||||
}
|
||||
for (var_r31 = 0; var_r31 < 4; var_r31++) {
|
||||
lbl_1_bss_18[var_r31]->unk_48 = 0xB;
|
||||
}
|
||||
HuPrcVSleep();
|
||||
MGSeqParamSet(lbl_1_bss_14, 2, -1);
|
||||
HuAudSeqFadeOut(lbl_1_bss_8, 0x64);
|
||||
lbl_1_bss_10 = MGSeqCreate(3, 1);
|
||||
|
||||
while (MGSeqStatGet(lbl_1_bss_10) != 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
MGSeqKill(lbl_1_bss_10);
|
||||
fn_1_6728();
|
||||
HuPrcSleep(0x3C);
|
||||
for (var_r31 = 0; var_r31 < 4; var_r31++) {
|
||||
lbl_1_bss_18[var_r31]->unk_48 = 0xA;
|
||||
}
|
||||
HuPrcSleep(0x3C);
|
||||
if (lbl_1_bss_C == 3) {
|
||||
lbl_1_bss_10 = MGSeqCreate(3, 2);
|
||||
HuAudSStreamPlay(4);
|
||||
lbl_1_bss_18[0]->unk_48 = 8;
|
||||
lbl_1_bss_18[1]->unk_48 = 8;
|
||||
lbl_1_bss_18[2]->unk_48 = 8;
|
||||
lbl_1_bss_18[3]->unk_48 = 8;
|
||||
}
|
||||
else {
|
||||
fn_1_59F4(1);
|
||||
while (fn_1_6810() == 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
if (lbl_1_bss_C == 1) {
|
||||
lbl_1_bss_10 = MGSeqCreate(5, 3, lbl_1_bss_18[0]->unk_0A, -1, -1, -1);
|
||||
HuAudSStreamPlay(1);
|
||||
lbl_1_bss_18[0]->unk_48 = 7;
|
||||
lbl_1_bss_18[1]->unk_48 = 8;
|
||||
lbl_1_bss_18[2]->unk_48 = 8;
|
||||
lbl_1_bss_18[3]->unk_48 = 8;
|
||||
GWPlayerCoinWinAdd(lbl_1_bss_18[0]->unk_04, 10);
|
||||
}
|
||||
else {
|
||||
lbl_1_bss_10 = MGSeqCreate(5, 3, lbl_1_bss_18[1]->unk_0A, lbl_1_bss_18[2]->unk_0A, lbl_1_bss_18[3]->unk_0A, -1);
|
||||
HuAudSStreamPlay(1);
|
||||
lbl_1_bss_18[0]->unk_48 = 8;
|
||||
lbl_1_bss_18[1]->unk_48 = 7;
|
||||
lbl_1_bss_18[2]->unk_48 = 7;
|
||||
lbl_1_bss_18[3]->unk_48 = 7;
|
||||
GWPlayerCoinWinAdd(lbl_1_bss_18[1]->unk_04, 10);
|
||||
GWPlayerCoinWinAdd(lbl_1_bss_18[2]->unk_04, 10);
|
||||
GWPlayerCoinWinAdd(lbl_1_bss_18[3]->unk_04, 10);
|
||||
}
|
||||
}
|
||||
HuPrcSleep(0xD2);
|
||||
omSysExitReq = 1;
|
||||
while (TRUE) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_D14(s32 arg0, s32 arg1)
|
||||
{
|
||||
fn_1_F74(&lbl_1_rodata_10[arg0].unk_00, arg1);
|
||||
fn_1_1030(&lbl_1_rodata_10[arg0].unk_0C, arg1);
|
||||
fn_1_10EC(lbl_1_rodata_10[arg0].unk_18, arg1);
|
||||
}
|
||||
1235
src/REL/m420dll/map.c
Normal file
1235
src/REL/m420dll/map.c
Normal file
File diff suppressed because it is too large
Load diff
992
src/REL/m420dll/player.c
Normal file
992
src/REL/m420dll/player.c
Normal file
|
|
@ -0,0 +1,992 @@
|
|||
#include "ext_math.h"
|
||||
#include "game/audio.h"
|
||||
#include "game/chrman.h"
|
||||
#include "game/esprite.h"
|
||||
#include "game/hsfdraw.h"
|
||||
#include "game/hsfman.h"
|
||||
#include "game/hsfmotion.h"
|
||||
#include "game/objsub.h"
|
||||
#include "game/pad.h"
|
||||
#include "game/wipe.h"
|
||||
|
||||
#include "REL/m420dll.h"
|
||||
|
||||
typedef void (*M420DllUnkFunc)(M420DllPlayerStruct *);
|
||||
|
||||
typedef struct M420DllUnkStruct2 {
|
||||
/* 0x00 */ s32 unk_00;
|
||||
/* 0x04 */ s32 unk_04;
|
||||
/* 0x08 */ s32 unk_08;
|
||||
/* 0x0C */ s32 unk_0C;
|
||||
/* 0x10 */ s32 unk_10;
|
||||
/* 0x14 */ s32 unk_14;
|
||||
/* 0x18 */ s32 unk_18;
|
||||
/* 0x1C */ s32 unk_1C;
|
||||
} M420DllUnkStruct2; /* size = 0x20 */
|
||||
|
||||
void fn_1_1F14(void);
|
||||
void fn_1_1F54(M420DllPlayerStruct *arg0);
|
||||
void fn_1_1F94(M420DllPlayerStruct *arg0);
|
||||
void fn_1_200C(M420DllPlayerStruct *arg0);
|
||||
void fn_1_20EC(M420DllPlayerStruct *arg0);
|
||||
void fn_1_211C(M420DllPlayerStruct *arg0);
|
||||
void fn_1_2174(M420DllPlayerStruct *arg0);
|
||||
void fn_1_2260(M420DllPlayerStruct *arg0);
|
||||
void fn_1_22CC(M420DllPlayerStruct *arg0);
|
||||
void fn_1_276C(M420DllPlayerStruct *arg0);
|
||||
void fn_1_2CE0(M420DllPlayerStruct *arg0);
|
||||
void fn_1_2D7C(M420DllPlayerStruct *arg0);
|
||||
void fn_1_2EA8(M420DllPlayerStruct *arg0);
|
||||
void fn_1_3098(M420DllPlayerStruct *arg0);
|
||||
void fn_1_326C(M420DllPlayerStruct *arg0);
|
||||
void fn_1_3450(M420DllPlayerStruct *arg0);
|
||||
s32 fn_1_34AC(M420DllPlayerStruct *arg0);
|
||||
void fn_1_355C(M420DllPlayerStruct *arg0);
|
||||
void fn_1_36E4(M420DllPlayerStruct *arg0);
|
||||
void fn_1_374C(M420DllPlayerStruct *arg0);
|
||||
void fn_1_378C(M420DllPlayerStruct *arg0);
|
||||
void fn_1_3854(void);
|
||||
void fn_1_3970(M420DllPlayerStruct *arg0);
|
||||
void fn_1_3F94(M420DllPlayerStruct *arg0);
|
||||
void fn_1_4294(M420DllPlayerStruct *arg0);
|
||||
void fn_1_4574(M420DllPlayerStruct *arg0);
|
||||
void fn_1_476C(M420DllPlayerStruct *arg0);
|
||||
|
||||
M420DllUnkStruct2 lbl_1_data_50[4] = {
|
||||
{ 0x19, 0x01, 0x2A, 0x08, 0x2D, 0x10, 0x01, 0x01 },
|
||||
{ 0x19, 0x01, 0x22, 0x06, 0x22, 0x0C, 0x01, 0x01 },
|
||||
{ 0x19, 0x01, 0x1B, 0x05, 0x14, 0x0A, 0x01, 0x01 },
|
||||
{ 0x19, 0x01, 0x14, 0x04, 0x0A, 0x08, 0x01, 0x01 },
|
||||
};
|
||||
|
||||
// TODO MAKE_NUM
|
||||
static const s32 lbl_1_rodata_F8[8][0xB] = {
|
||||
{ 0x5F0000, 0x5F0017, 0x5F0018, 0x5F0068, 0x5F0069, 0x5F006A, 0x5F0035, 0x5F006B, 0x5F006E, 0x5F0049, 0x33001B },
|
||||
{ 0x1A0000, 0x1A0017, 0x1A0018, 0x1A0068, 0x1A0069, 0x1A006A, 0x1A0035, 0x1A006B, 0x1A006E, 0x1A0049, 0x33001C },
|
||||
{ 0x6D0000, 0x6D0017, 0x6D0018, 0x6D0068, 0x6D0069, 0x6D006A, 0x6D0035, 0x6D006B, 0x6D006E, 0x6D0049, 0x33001D },
|
||||
{ 0x8A0000, 0x8A0017, 0x8A0018, 0x8A0068, 0x8A0069, 0x8A006A, 0x8A0035, 0x8A006B, 0x8A006E, 0x8A0049, 0x33001E },
|
||||
{ 0x850000, 0x850017, 0x850018, 0x850068, 0x850069, 0x85006A, 0x850035, 0x85006B, 0x85006E, 0x850049, 0x33001F },
|
||||
{ 0x110000, 0x110017, 0x110018, 0x110068, 0x110069, 0x11006A, 0x110035, 0x11006B, 0x11006E, 0x110049, 0x330020 },
|
||||
{ 0x0D0000, 0x0D0017, 0x0D0018, 0x0D0068, 0x0D0069, 0x0D006A, 0x0D0035, 0x0D006B, 0x0D006E, 0x0D0049, 0x330021 },
|
||||
{ 0x810000, 0x810017, 0x810018, 0x810068, 0x810069, 0x81006A, 0x810035, 0x81006B, 0x81006E, 0x810049, 0x330022 },
|
||||
};
|
||||
static const Vec lbl_1_rodata_258[4][2] = {
|
||||
{ { -372.0f, 300.0f, -220.0f }, { 0.0f, 50.0f, 0.0f } },
|
||||
{ { 435.0f, 300.0f, -260.0f }, { 0.0f, 140.0f, 0.0f } },
|
||||
{ { 315.0f, 300.0f, -153.0f }, { 0.0f, 140.0f, 0.0f } },
|
||||
{ { 195.0f, 300.0f, -46.0f }, { 0.0f, 140.0f, 0.0f } },
|
||||
};
|
||||
|
||||
M420DllPlayerStruct *fn_1_1B8C(s32 arg0, s32 arg1)
|
||||
{
|
||||
M420DllPlayerStruct *var_r31;
|
||||
s32 var_r30;
|
||||
|
||||
var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M420DllPlayerStruct), MEMORY_DEFAULT_NUM);
|
||||
if (!var_r31) {
|
||||
OSReport("M420PlayerCreate ERROR...\n");
|
||||
return NULL;
|
||||
}
|
||||
var_r31->unk_04 = arg0;
|
||||
var_r31->unk_4C = arg1;
|
||||
var_r31->unk_08 = GWPlayerCfg[arg0].diff;
|
||||
var_r31->unk_00_field0 = GWPlayerCfg[arg0].iscom;
|
||||
var_r31->unk_0A = GWPlayerCfg[arg0].character;
|
||||
var_r31->unk_0C = GWPlayerCfg[arg0].pad_idx;
|
||||
var_r31->unk_10 = lbl_1_rodata_258[arg1][0];
|
||||
var_r31->unk_1C = lbl_1_rodata_258[arg1][1];
|
||||
var_r31->unk_48 = 0;
|
||||
var_r31->unk_50 = 0;
|
||||
var_r31->unk_00_field2 = 0;
|
||||
var_r31->unk_00_field1 = 0;
|
||||
var_r31->unk_E8 = NULL;
|
||||
for (var_r30 = 0; var_r30 < 0xA; var_r30++) {
|
||||
var_r31->unk_84[var_r30] = 7;
|
||||
}
|
||||
fn_1_1F54(var_r31);
|
||||
fn_1_1F94(var_r31);
|
||||
|
||||
switch (arg1) {
|
||||
case 0:
|
||||
if (var_r31->unk_0A == 5) {
|
||||
CharModelMotionSet(var_r31->unk_0A, var_r31->unk_AE[0xA]);
|
||||
Hu3DMotionStartEndSet(var_r31->unk_AC, 0.0f, 1.0f);
|
||||
Hu3DMotionTimeSet(var_r31->unk_AC, 0.0f);
|
||||
}
|
||||
else {
|
||||
CharModelMotionSet(var_r31->unk_0A, var_r31->unk_AE[0]);
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
var_r31->unk_1C.y = 0.0f;
|
||||
CharModelMotionSet(var_r31->unk_0A, var_r31->unk_AE[0]);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
CharModelMotionDataClose(var_r31->unk_0A);
|
||||
fn_1_200C(var_r31);
|
||||
var_r31->unk_40 = HuPrcChildCreate(fn_1_1F14, 0x64, 0x5000, 0, lbl_1_bss_4);
|
||||
var_r31->unk_40->user_data = var_r31;
|
||||
return var_r31;
|
||||
}
|
||||
|
||||
void fn_1_1E14(M420DllPlayerStruct *arg0)
|
||||
{
|
||||
fn_1_2174(arg0);
|
||||
fn_1_211C(arg0);
|
||||
fn_1_20EC(arg0);
|
||||
HuPrcKill(arg0->unk_40);
|
||||
HuMemDirectFree(arg0);
|
||||
}
|
||||
|
||||
void fn_1_1E64(M420DllPlayerStruct *arg0, s32 arg1, s32 arg2)
|
||||
{
|
||||
switch (arg1) {
|
||||
case 0:
|
||||
omVibrate(arg0->unk_04, arg2, 6, 6);
|
||||
break;
|
||||
case 1:
|
||||
omVibrate(arg0->unk_04, arg2, 4, 2);
|
||||
break;
|
||||
case 2:
|
||||
omVibrate(arg0->unk_04, arg2, 0xC, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
M420DllUnkFunc lbl_1_data_EC[0xC] = {
|
||||
fn_1_2260,
|
||||
fn_1_22CC,
|
||||
fn_1_2D7C,
|
||||
fn_1_276C,
|
||||
fn_1_2CE0,
|
||||
fn_1_2EA8,
|
||||
fn_1_2260,
|
||||
fn_1_4574,
|
||||
fn_1_476C,
|
||||
fn_1_3F94,
|
||||
fn_1_4294,
|
||||
fn_1_3970,
|
||||
};
|
||||
|
||||
void fn_1_1F14(void)
|
||||
{
|
||||
M420DllPlayerStruct *var_r31 = HuPrcCurrentGet()->user_data;
|
||||
while (TRUE) {
|
||||
lbl_1_data_EC[var_r31->unk_48](var_r31);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_1F54(M420DllPlayerStruct *arg0)
|
||||
{
|
||||
arg0->unk_AC = CharModelCreate(arg0->unk_0A, 2);
|
||||
Hu3DModelShadowSet(arg0->unk_AC);
|
||||
}
|
||||
|
||||
void fn_1_1F94(M420DllPlayerStruct *arg0)
|
||||
{
|
||||
s32 var_r31;
|
||||
|
||||
for (var_r31 = 0; var_r31 < 0xB; var_r31++) {
|
||||
arg0->unk_AE[var_r31] = CharModelMotionCreate(arg0->unk_0A, lbl_1_rodata_F8[arg0->unk_0A][var_r31]);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_200C(M420DllPlayerStruct *arg0)
|
||||
{
|
||||
s32 var_r30;
|
||||
|
||||
for (var_r30 = 0; var_r30 <= 9; var_r30++) {
|
||||
arg0->unk_C4[var_r30] = espEntry(0x330018, 0, 0);
|
||||
espDispOff(arg0->unk_C4[var_r30]);
|
||||
}
|
||||
switch (arg0->unk_4C) {
|
||||
case 0:
|
||||
arg0->unk_D8 = espEntry(0x330019, 1, 0);
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
arg0->unk_D8 = espEntry(0x33001A, 1, 0);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
espDispOff(arg0->unk_D8);
|
||||
espTPLvlSet(arg0->unk_D8, 0.8f);
|
||||
}
|
||||
|
||||
void fn_1_20EC(M420DllPlayerStruct *arg0)
|
||||
{
|
||||
CharModelKill(arg0->unk_0A);
|
||||
}
|
||||
|
||||
void fn_1_211C(M420DllPlayerStruct *arg0)
|
||||
{
|
||||
s32 var_r31;
|
||||
|
||||
for (var_r31 = 0; var_r31 < 0xB; var_r31++) {
|
||||
CharModelMotionKill(arg0->unk_0A, arg0->unk_AE[var_r31]);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_2174(M420DllPlayerStruct *arg0)
|
||||
{
|
||||
s32 var_r31;
|
||||
|
||||
for (var_r31 = 0; var_r31 < 0xB; var_r31++) {
|
||||
espKill(arg0->unk_C4[var_r31]);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_21C8(M420DllPlayerStruct *arg0, Vec *arg1, s32 arg2, s32 arg3)
|
||||
{
|
||||
arg0->unk_34 = *arg1;
|
||||
arg0->unk_28 = arg0->unk_1C;
|
||||
arg0->unk_DC = 0.0f;
|
||||
arg0->unk_E0 = 1.0f / arg2;
|
||||
arg0->unk_E4 = arg3;
|
||||
arg0->unk_00_field2 = 1;
|
||||
}
|
||||
|
||||
void inline fn_1_2260_alt(M420DllPlayerStruct *arg0, s32 arg1)
|
||||
{
|
||||
s32 var_r30;
|
||||
s32 var_r29;
|
||||
|
||||
for (var_r30 = 0; var_r30 < arg1; var_r30++) {
|
||||
fn_1_355C(arg0);
|
||||
var_r29 = arg0->unk_48;
|
||||
HuPrcVSleep();
|
||||
if (arg0->unk_48 != var_r29) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_2260(M420DllPlayerStruct *arg0)
|
||||
{
|
||||
s32 var_r30;
|
||||
s32 var_r29;
|
||||
|
||||
while (TRUE) {
|
||||
for (var_r30 = 0; var_r30 < 1; var_r30++) {
|
||||
fn_1_355C(arg0);
|
||||
var_r29 = arg0->unk_48;
|
||||
HuPrcVSleep();
|
||||
if (arg0->unk_48 != var_r29) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_22CC(M420DllPlayerStruct *arg0)
|
||||
{
|
||||
float var_f31;
|
||||
float var_f30;
|
||||
M420DllUnkStruct2 *var_r30;
|
||||
s32 var_r29;
|
||||
s32 var_r28;
|
||||
s32 var_r26;
|
||||
s32 var_r23;
|
||||
s32 var_r21;
|
||||
s32 var_r18;
|
||||
|
||||
var_r30 = &lbl_1_data_50[arg0->unk_08];
|
||||
fn_1_3098(arg0);
|
||||
CharModelMotionShiftSet(arg0->unk_0A, arg0->unk_AE[8], 0.0f, 10.0f, 0x40000001);
|
||||
arg0->unk_50 = 0;
|
||||
arg0->unk_58 = var_r30->unk_00 + (fn_1_8944() % var_r30->unk_04);
|
||||
|
||||
while (arg0->unk_50 < 6) {
|
||||
fn_1_326C(arg0);
|
||||
while (var_r29 == 0) {
|
||||
if (arg0->unk_00_field0 == 0) {
|
||||
var_r29 = fn_1_34AC(arg0);
|
||||
}
|
||||
else if (arg0->unk_58 > 0) {
|
||||
arg0->unk_58--;
|
||||
var_r29 = 0;
|
||||
}
|
||||
else if ((fn_1_8944() % 30) != 0) {
|
||||
var_r29 = 1;
|
||||
arg0->unk_58 = (var_r30->unk_08 - (var_r30->unk_0C / 2)) + (fn_1_8944() % var_r30->unk_0C);
|
||||
}
|
||||
else {
|
||||
var_r29 = 2;
|
||||
arg0->unk_58 = (var_r30->unk_08 - (var_r30->unk_0C / 2)) + (fn_1_8944() % var_r30->unk_0C);
|
||||
}
|
||||
switch (var_r29) {
|
||||
case 0:
|
||||
fn_1_2260(arg0);
|
||||
break;
|
||||
case 1:
|
||||
var_f31 = 5.0f * arg0->unk_50;
|
||||
var_f30 = 5.0f + var_f31;
|
||||
CharModelMotionSet(arg0->unk_0A, arg0->unk_AE[5]);
|
||||
Hu3DMotionStartEndSet(arg0->unk_AC, var_f31, var_f30);
|
||||
Hu3DMotionTimeSet(arg0->unk_AC, var_f31);
|
||||
Hu3DModelAttrReset(arg0->unk_AC, 0x40000002);
|
||||
Hu3DModelAttrReset(arg0->unk_AC, 0x40000001);
|
||||
Hu3DModelAttrReset(arg0->unk_AC, 0x40000004);
|
||||
arg0->unk_5C[arg0->unk_50++] = 1;
|
||||
HuAudFXPlay(0x5F4);
|
||||
fn_1_60F0();
|
||||
fn_1_2260_alt(arg0, 5);
|
||||
break;
|
||||
case 2:
|
||||
if (arg0->unk_50 <= 0) {
|
||||
fn_1_2260(arg0);
|
||||
}
|
||||
else {
|
||||
Hu3DModelAttrReset(arg0->unk_AC, 0x40000002);
|
||||
Hu3DModelAttrReset(arg0->unk_AC, 0x40000001);
|
||||
Hu3DModelAttrSet(arg0->unk_AC, 0x40000004);
|
||||
fn_1_63EC();
|
||||
fn_1_2260_alt(arg0, 1);
|
||||
if (Hu3DMotionEndCheck(arg0->unk_AC) != 0) {
|
||||
for (var_r28 = 0; var_r28 < 0xA; var_r28++) {
|
||||
arg0->unk_5C[var_r28] = 0;
|
||||
}
|
||||
arg0->unk_50 = 0;
|
||||
var_f31 = 0.0f;
|
||||
var_f30 = 0.0f;
|
||||
CharModelMotionSet(arg0->unk_0A, arg0->unk_AE[5]);
|
||||
Hu3DMotionStartEndSet(arg0->unk_AC, var_f31, var_f30);
|
||||
Hu3DMotionTimeSet(arg0->unk_AC, var_f31);
|
||||
Hu3DModelAttrReset(arg0->unk_AC, 0x40000001);
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
fn_1_326C(arg0);
|
||||
fn_1_2260_alt(arg0, 5);
|
||||
fn_1_3450(arg0);
|
||||
arg0->unk_48 = 2;
|
||||
}
|
||||
|
||||
void fn_1_276C(M420DllPlayerStruct *arg0)
|
||||
{
|
||||
s32 sp8[4];
|
||||
|
||||
float var_f31;
|
||||
float var_f30;
|
||||
|
||||
s32 var_r30;
|
||||
M420DllUnkStruct2 *var_r29;
|
||||
s32 var_r28;
|
||||
s32 var_r27;
|
||||
s32 var_r26;
|
||||
s32 var_r25;
|
||||
s32 var_r24;
|
||||
s32 var_r23;
|
||||
s32 var_r22;
|
||||
s32 var_r21;
|
||||
s32 var_r20;
|
||||
s32 var_r19;
|
||||
s32 var_r18;
|
||||
s32 var_r17;
|
||||
|
||||
var_r29 = &lbl_1_data_50[arg0->unk_08];
|
||||
if (arg0->unk_4C == 1) {
|
||||
HuAudFXPlay(0x5F1);
|
||||
fn_1_669C(1);
|
||||
fn_1_6554();
|
||||
for (var_r28 = 0; var_r28 < 0xF; var_r28++) {
|
||||
CharModelMotionShiftSet(arg0->unk_0A, arg0->unk_AE[7], 0.0f, 6.0f, 0);
|
||||
for (var_r27 = 0; var_r27 < 6; var_r27++) {
|
||||
fn_1_669C(1);
|
||||
fn_1_36E4(arg0);
|
||||
HuAudFXPlay(0x5F2);
|
||||
|
||||
fn_1_355C(arg0);
|
||||
var_r19 = arg0->unk_48;
|
||||
HuPrcVSleep();
|
||||
if (arg0->unk_48 != var_r19) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
fn_1_355C(arg0);
|
||||
var_r20 = arg0->unk_48;
|
||||
HuPrcVSleep();
|
||||
if (arg0->unk_48 != var_r20) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
block_10:
|
||||
fn_1_3098(arg0);
|
||||
arg0->unk_50 = 0;
|
||||
arg0->unk_58 = var_r29->unk_10 + (fn_1_8944() % var_r29->unk_14);
|
||||
|
||||
while (arg0->unk_50 < 1) {
|
||||
fn_1_326C(arg0);
|
||||
for (var_r21 = 0; var_r21 < 0x12; var_r21++) {
|
||||
fn_1_3450(arg0);
|
||||
arg0->unk_48 = 6;
|
||||
|
||||
fn_1_355C(arg0);
|
||||
sp8[0] = arg0->unk_48;
|
||||
HuPrcVSleep();
|
||||
if (arg0->unk_48 == sp8[0]) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
fn_1_326C(arg0);
|
||||
loop_12:
|
||||
if (arg0->unk_00_field0 == 0) {
|
||||
var_r30 = fn_1_34AC(arg0);
|
||||
}
|
||||
else if (arg0->unk_58 > 0) {
|
||||
arg0->unk_58 = arg0->unk_58 - 1;
|
||||
var_r30 = 0;
|
||||
}
|
||||
else if ((fn_1_8944() % 30) != 0) {
|
||||
var_r30 = 1;
|
||||
}
|
||||
else {
|
||||
var_r30 = 2;
|
||||
}
|
||||
switch (var_r30) {
|
||||
case 0:
|
||||
for (var_r26 = 0; var_r26 < 1; var_r26++) {
|
||||
fn_1_355C(arg0);
|
||||
var_r18 = arg0->unk_48;
|
||||
HuPrcVSleep();
|
||||
if (arg0->unk_48 != var_r18) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
case 1:
|
||||
if (arg0->unk_4C != 1) {
|
||||
CharModelMotionShiftSet(arg0->unk_0A, arg0->unk_AE[7], 0.0f, 6.0f, 0);
|
||||
for (var_r25 = 0; var_r25 < 6; var_r25++) {
|
||||
fn_1_374C(arg0->unk_E8);
|
||||
fn_1_36E4(arg0);
|
||||
HuAudFXPlay(0x5F2);
|
||||
fn_1_355C(arg0);
|
||||
var_r17 = arg0->unk_48;
|
||||
HuPrcVSleep();
|
||||
if (arg0->unk_48 == var_r17) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
block_36:
|
||||
arg0->unk_5C[arg0->unk_50++] = 1;
|
||||
switch (arg0->unk_4C) {
|
||||
case 1:
|
||||
case 2:
|
||||
var_f31 = 0.0f;
|
||||
var_f30 = 34.0f;
|
||||
CharModelMotionSet(arg0->unk_0A, arg0->unk_AE[4]);
|
||||
Hu3DMotionStartEndSet(arg0->unk_AC, 0.0f, 34.0f);
|
||||
Hu3DMotionTimeSet(arg0->unk_AC, 0.0f);
|
||||
Hu3DMotionSpeedSet(arg0->unk_AC, 2.0f);
|
||||
break;
|
||||
}
|
||||
arg0->unk_48 = 5;
|
||||
break;
|
||||
case 2:
|
||||
switch (arg0->unk_4C) {
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
var_f31 = 0.0f;
|
||||
var_f30 = 10.0f;
|
||||
CharModelMotionSet(arg0->unk_0A, arg0->unk_AE[4]);
|
||||
Hu3DMotionStartEndSet(arg0->unk_AC, 0.0f, 10.0f);
|
||||
Hu3DMotionTimeSet(arg0->unk_AC, 0.0f);
|
||||
Hu3DModelAttrReset(arg0->unk_AC, 0x40000002);
|
||||
for (var_r24 = 0; var_r24 < 0x1E; var_r24++) {
|
||||
var_f31 = 60.0f;
|
||||
var_f30 = 70.0f;
|
||||
CharModelMotionSet(arg0->unk_0A, arg0->unk_AE[4]);
|
||||
Hu3DMotionStartEndSet(arg0->unk_AC, 60.0f, 70.0f);
|
||||
Hu3DMotionTimeSet(arg0->unk_AC, 60.0f);
|
||||
Hu3DModelAttrReset(arg0->unk_AC, 0x40000002);
|
||||
for (var_r23 = 0; var_r23 < 0x1E; var_r23++) {
|
||||
fn_1_355C(arg0);
|
||||
sp8[2] = arg0->unk_48;
|
||||
HuPrcVSleep();
|
||||
if (arg0->unk_48 != sp8[2]) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
fn_1_355C(arg0);
|
||||
sp8[3] = arg0->unk_48;
|
||||
HuPrcVSleep();
|
||||
if (arg0->unk_48 != sp8[3]) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
case 2:
|
||||
case 3:
|
||||
CharModelMotionShiftSet(arg0->unk_0A, arg0->unk_AE[9], 0.0f, 2.0f, 0);
|
||||
for (var_r22 = 0; var_r22 < 0x3C; var_r22++) {
|
||||
CharModelMotionShiftSet(arg0->unk_0A, arg0->unk_AE[0], 0.0f, 8.0f, 0);
|
||||
fn_1_355C(arg0);
|
||||
sp8[1] = arg0->unk_48;
|
||||
HuPrcVSleep();
|
||||
if (arg0->unk_48 != sp8[1]) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_2CE0(M420DllPlayerStruct *arg0)
|
||||
{
|
||||
s32 var_r30;
|
||||
s32 var_r29;
|
||||
|
||||
CharModelMotionShiftSet(arg0->unk_0A, arg0->unk_AE[0], 0.0f, 30.0f, 0x40000001);
|
||||
|
||||
// fn_1_2260?
|
||||
for (var_r30 = 0; var_r30 < 0x23; var_r30++) {
|
||||
fn_1_355C(arg0);
|
||||
var_r29 = arg0->unk_48;
|
||||
HuPrcVSleep();
|
||||
if (arg0->unk_48 != var_r29) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
arg0->unk_48 = 0;
|
||||
}
|
||||
|
||||
void fn_1_2D7C(M420DllPlayerStruct *arg0)
|
||||
{
|
||||
float var_f31;
|
||||
float var_f30;
|
||||
s32 var_r30;
|
||||
s32 var_r29;
|
||||
|
||||
var_f30 = 0.0f;
|
||||
var_f31 = 30.0f;
|
||||
Hu3DMotionStartEndSet(arg0->unk_AC, var_f30, var_f31);
|
||||
Hu3DMotionTimeSet(arg0->unk_AC, var_f31);
|
||||
Hu3DModelAttrReset(arg0->unk_AC, 0x40000002);
|
||||
Hu3DModelAttrReset(arg0->unk_AC, 0x40000001);
|
||||
Hu3DModelAttrSet(arg0->unk_AC, 0x40000004);
|
||||
HuAudFXPlay(0x5F6);
|
||||
fn_1_6268();
|
||||
fn_1_5AA8(0, 22.5f);
|
||||
fn_1_1E64(arg0, 1, 0x1E);
|
||||
// fn_1_2260?
|
||||
for (var_r30 = 0; var_r30 < 0x1E; var_r30++) {
|
||||
fn_1_355C(arg0);
|
||||
var_r29 = arg0->unk_48;
|
||||
HuPrcVSleep();
|
||||
if (arg0->unk_48 != var_r29) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
arg0->unk_48 = 0;
|
||||
}
|
||||
|
||||
void fn_1_2EA8(M420DllPlayerStruct *arg0)
|
||||
{
|
||||
s16 var_r30;
|
||||
s32 var_r29;
|
||||
s32 var_r28;
|
||||
s32 var_r27;
|
||||
s32 var_r26;
|
||||
s32 var_r25;
|
||||
s32 var_r24;
|
||||
s32 var_r23;
|
||||
s32 var_r22;
|
||||
|
||||
fn_1_326C(arg0);
|
||||
CharModelMotionShiftSet(arg0->unk_0A, arg0->unk_AE[3], 0.0f, 1.0f, 0);
|
||||
var_r30 = fn_1_6660();
|
||||
Hu3DModelAttrReset(var_r30, 0x40000002);
|
||||
Hu3DModelAttrSet(var_r30, 0x40000001);
|
||||
Hu3DMotionTimeSet(var_r30, 0.0f);
|
||||
|
||||
for (var_r29 = 0; var_r29 < 0x18; var_r29++) {
|
||||
HuAudFXPlay(0x5F7);
|
||||
fn_1_636C();
|
||||
fn_1_1E64(arg0, 0x1E, 1);
|
||||
Hu3DModelAttrSet(var_r30, 0x40000002);
|
||||
fn_1_5AA8(1, 22.5f);
|
||||
for (var_r28 = 0; var_r28 < 0x14; var_r28++) {
|
||||
HuAudFXPlay(0x5F8);
|
||||
fn_1_3450(arg0);
|
||||
fn_1_378C(arg0);
|
||||
for (var_r27 = 0; var_r27 < 0x14; var_r27++) {
|
||||
CharModelMotionShiftSet(arg0->unk_0A, arg0->unk_AE[0], 0.0f, 30.0f, 0x40000001);
|
||||
for (var_r26 = 0; var_r26 < 0x19; var_r26++) {
|
||||
arg0->unk_48 = 6;
|
||||
|
||||
fn_1_355C(arg0);
|
||||
var_r22 = arg0->unk_48;
|
||||
HuPrcVSleep();
|
||||
if (arg0->unk_48 != var_r22) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
fn_1_355C(arg0);
|
||||
var_r23 = arg0->unk_48;
|
||||
HuPrcVSleep();
|
||||
if (arg0->unk_48 != var_r23) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
fn_1_355C(arg0);
|
||||
var_r24 = arg0->unk_48;
|
||||
HuPrcVSleep();
|
||||
if (arg0->unk_48 != var_r24) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
fn_1_355C(arg0);
|
||||
var_r25 = arg0->unk_48;
|
||||
HuPrcVSleep();
|
||||
if (arg0->unk_48 != var_r25) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_3098(M420DllPlayerStruct *arg0)
|
||||
{
|
||||
s32 var_r30;
|
||||
s32 var_r29;
|
||||
s32 var_r28;
|
||||
|
||||
for (var_r30 = 0; var_r30 < 0xA; var_r30++) {
|
||||
arg0->unk_5C[var_r30] = 0;
|
||||
}
|
||||
arg0->unk_50 = 0;
|
||||
switch (arg0->unk_4C) {
|
||||
case 0:
|
||||
for (var_r29 = 0; var_r29 < 6;) {
|
||||
arg0->unk_84[var_r29] = fn_1_8944() % 7;
|
||||
if (arg0->unk_84[var_r29] == 6) {
|
||||
arg0->unk_84[var_r29] = 0;
|
||||
}
|
||||
if ((var_r29 <= 0) || (arg0->unk_84[var_r29] != arg0->unk_84[var_r29 - 1])) {
|
||||
for (var_r30 = 0, var_r28 = 0; var_r30 < var_r29; var_r30++) {
|
||||
if (arg0->unk_84[var_r29] == arg0->unk_84[var_r30]) {
|
||||
var_r28++;
|
||||
}
|
||||
}
|
||||
if (var_r28 < 2) {
|
||||
var_r29++;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
for (var_r30 = 0; var_r30 < 0xA; var_r30++) {
|
||||
arg0->unk_84[1] = arg0->unk_84[0];
|
||||
arg0->unk_84[0] = fn_1_8944() % 7;
|
||||
if (arg0->unk_84[0] == 6) {
|
||||
arg0->unk_84[0] = 0;
|
||||
}
|
||||
if (arg0->unk_84[0] != arg0->unk_84[1]) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static const s32 lbl_1_rodata_2F8[4] = { 6, 1, 1, 1 };
|
||||
|
||||
void fn_1_326C(M420DllPlayerStruct *arg0)
|
||||
{
|
||||
Vec sp14;
|
||||
Vec sp8;
|
||||
|
||||
s32 var_r30;
|
||||
s16 var_r29;
|
||||
s32 var_r28;
|
||||
s32 var_r26;
|
||||
|
||||
sp14 = arg0->unk_10;
|
||||
sp14.y += 300.0f;
|
||||
Hu3D3Dto2D(&sp14, 1, &sp8);
|
||||
|
||||
var_r26 = arg0->unk_4C == 0 ? -6 : 0;
|
||||
espPosSet(arg0->unk_D8, sp8.x + var_r26, 6.0f + sp8.y);
|
||||
espDispOn(arg0->unk_D8);
|
||||
var_r28 = lbl_1_rodata_2F8[arg0->unk_4C];
|
||||
sp8.x -= (var_r28 / 2) * 0x1E;
|
||||
for (var_r30 = 0; var_r30 < var_r28; var_r30++) {
|
||||
var_r29 = arg0->unk_C4[var_r30];
|
||||
if (arg0->unk_5C[var_r30] != 0) {
|
||||
espBankSet(var_r29, arg0->unk_84[var_r30] + 7);
|
||||
}
|
||||
else {
|
||||
espBankSet(var_r29, arg0->unk_84[var_r30]);
|
||||
}
|
||||
espPosSet(var_r29, sp8.x + var_r30 * 0x20, sp8.y);
|
||||
espDispOn(var_r29);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_3450(M420DllPlayerStruct *arg0)
|
||||
{
|
||||
s32 var_r31;
|
||||
|
||||
for (var_r31 = 0; var_r31 < 0xA; var_r31++) {
|
||||
espDispOff(arg0->unk_C4[var_r31]);
|
||||
}
|
||||
espDispOff(arg0->unk_D8);
|
||||
}
|
||||
|
||||
static const s32 lbl_1_rodata_30C[7] = { 0x100, 0x200, 0x40, 0x20, 0x800, 0x400, 0x10 };
|
||||
|
||||
s32 fn_1_34AC(M420DllPlayerStruct *arg0)
|
||||
{
|
||||
s32 var_r31;
|
||||
u16 var_r30;
|
||||
u16 var_r29;
|
||||
|
||||
var_r31 = 0;
|
||||
var_r30 = HuPadBtnDown[arg0->unk_0C] & 0xF60;
|
||||
var_r29 = lbl_1_rodata_30C[arg0->unk_84[arg0->unk_50]];
|
||||
if (var_r30 != 0) {
|
||||
var_r31 = 2;
|
||||
}
|
||||
if (((var_r30 & var_r29) != 0) && ((var_r30 & ~var_r29) == 0)) {
|
||||
var_r31 = 1;
|
||||
}
|
||||
return var_r31;
|
||||
}
|
||||
|
||||
void fn_1_355C(M420DllPlayerStruct *arg0)
|
||||
{
|
||||
float var_f31;
|
||||
|
||||
arg0 = HuPrcCurrentGet()->user_data;
|
||||
Hu3DModelPosSet(arg0->unk_AC, arg0->unk_10.x, arg0->unk_10.y, arg0->unk_10.z);
|
||||
if (arg0->unk_00_field2) {
|
||||
switch (arg0->unk_E4) {
|
||||
case 0:
|
||||
var_f31 = arg0->unk_DC;
|
||||
break;
|
||||
case 1:
|
||||
var_f31 = sind((90.0f * arg0->unk_DC));
|
||||
var_f31 *= var_f31;
|
||||
break;
|
||||
}
|
||||
arg0->unk_1C.x = arg0->unk_28.x + (var_f31 * (arg0->unk_34.x - arg0->unk_28.x));
|
||||
arg0->unk_1C.y = arg0->unk_28.y + (var_f31 * (arg0->unk_34.y - arg0->unk_28.y));
|
||||
arg0->unk_1C.z = arg0->unk_28.z + (var_f31 * (arg0->unk_34.z - arg0->unk_28.z));
|
||||
if ((arg0->unk_DC += arg0->unk_E0) >= 1.0f) {
|
||||
arg0->unk_1C = arg0->unk_34;
|
||||
arg0->unk_00_field2 = 0;
|
||||
}
|
||||
}
|
||||
Hu3DModelRotSet(arg0->unk_AC, arg0->unk_1C.x, arg0->unk_1C.y, arg0->unk_1C.z);
|
||||
}
|
||||
|
||||
void fn_1_36E4(M420DllPlayerStruct *arg0)
|
||||
{
|
||||
Hu3DModelHookSet(arg0->unk_AC, "test11_tex_we-itemhook-r", fn_1_6660());
|
||||
arg0->unk_00_field1 = 1;
|
||||
fn_1_1E64(arg0, 1, 0x14);
|
||||
}
|
||||
|
||||
void fn_1_374C(M420DllPlayerStruct *arg0)
|
||||
{
|
||||
Hu3DModelHookReset(arg0->unk_AC);
|
||||
arg0->unk_00_field1 = 0;
|
||||
}
|
||||
|
||||
void fn_1_378C(M420DllPlayerStruct *arg0)
|
||||
{
|
||||
Mtx sp20;
|
||||
Vec sp14;
|
||||
Vec sp8;
|
||||
|
||||
if (arg0->unk_00_field1) {
|
||||
Hu3DModelObjMtxGet(arg0->unk_AC, "test11_tex_we-itemhook-r", sp20);
|
||||
Hu3DModelHookObjReset(arg0->unk_AC, "test11_tex_we-itemhook-r");
|
||||
Hu3DMtxTransGet(sp20, &sp14);
|
||||
Hu3DMtxRotGet(sp20, &sp8);
|
||||
Hu3DModelPosSetV(fn_1_6660(), &sp14);
|
||||
Hu3DModelRotSetV(fn_1_6660(), &sp8);
|
||||
}
|
||||
HuPrcChildCreate(fn_1_3854, 0x64, 0x2000, 0, lbl_1_bss_4);
|
||||
arg0->unk_00_field1 = 0;
|
||||
}
|
||||
|
||||
char lbl_1_data_135[1] = { 0 };
|
||||
|
||||
void fn_1_3854(void)
|
||||
{
|
||||
Mtx sp2C;
|
||||
Vec sp20;
|
||||
Vec sp14;
|
||||
Vec sp8;
|
||||
|
||||
float var_f31;
|
||||
s16 var_r31;
|
||||
|
||||
var_r31 = fn_1_6660();
|
||||
Hu3DModelObjMtxGet(var_r31, lbl_1_data_135, sp2C);
|
||||
Hu3DMtxRotGet(sp2C, &sp8);
|
||||
Hu3DMtxTransGet(sp2C, &sp20);
|
||||
var_f31 = 0.0f;
|
||||
|
||||
while (var_f31 < 1.0f) {
|
||||
sp14.x = cosd((90.0f * var_f31));
|
||||
sp14.y = sp14.z = sp14.x;
|
||||
Hu3DModelScaleSet(var_r31, sp14.x, sp14.y, sp14.z);
|
||||
var_f31 += 0.05f;
|
||||
HuPrcVSleep();
|
||||
}
|
||||
fn_1_6728();
|
||||
sp14.x = sp14.y = sp14.z = 1.0f;
|
||||
Hu3DModelScaleSet(var_r31, sp14.x, sp14.y, sp14.z);
|
||||
HuPrcEnd();
|
||||
while (TRUE) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_3970(M420DllPlayerStruct *arg0)
|
||||
{
|
||||
Vec sp38;
|
||||
|
||||
s32 var_r27;
|
||||
s32 var_r26;
|
||||
s32 var_r25;
|
||||
s32 var_r24;
|
||||
|
||||
if (arg0->unk_00_field1) {
|
||||
fn_1_378C(arg0);
|
||||
}
|
||||
else if (arg0->unk_4C == 1) {
|
||||
fn_1_378C(arg0);
|
||||
}
|
||||
fn_1_3450(arg0);
|
||||
if (arg0->unk_4C == 0) {
|
||||
Hu3DModelAttrReset(arg0->unk_AC, 0x40000002);
|
||||
Hu3DModelAttrReset(arg0->unk_AC, 0x40000001);
|
||||
Hu3DModelAttrSet(arg0->unk_AC, 0x40000004);
|
||||
fn_1_63EC();
|
||||
CharModelMotionShiftSet(arg0->unk_0A, arg0->unk_AE[6], 0.0f, 32.0f, 0);
|
||||
Hu3DMotionShiftStartEndSet(arg0->unk_AC, 0.0f, 59.0f);
|
||||
sp38 = arg0->unk_1C;
|
||||
sp38.y = 0.0f;
|
||||
fn_1_21C8(arg0, &sp38, 60, 1);
|
||||
}
|
||||
for (var_r27 = 0; var_r27 < 0x3C; var_r27++) {
|
||||
fn_1_355C(arg0);
|
||||
var_r25 = arg0->unk_48;
|
||||
HuPrcVSleep();
|
||||
if (arg0->unk_48 != var_r25) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
CharModelMotionShiftSet(arg0->unk_0A, arg0->unk_AE[0], 0.0f, 16.0f, 0);
|
||||
for (var_r26 = 0; var_r26 < 0x3C; var_r26++) {
|
||||
fn_1_355C(arg0);
|
||||
var_r24 = arg0->unk_48;
|
||||
HuPrcVSleep();
|
||||
if (arg0->unk_48 != var_r24) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
arg0->unk_48 = 0;
|
||||
}
|
||||
|
||||
void fn_1_3F94(M420DllPlayerStruct *arg0)
|
||||
{
|
||||
Vec sp8;
|
||||
s32 var_r29;
|
||||
s32 var_r28;
|
||||
|
||||
if (arg0->unk_4C != 0) {
|
||||
CharModelMotionSet(arg0->unk_0A, arg0->unk_AE[6]);
|
||||
Hu3DMotionStartEndSet(arg0->unk_AC, 60.0f, 119.0f);
|
||||
Hu3DMotionTimeSet(arg0->unk_AC, 60.0f);
|
||||
sp8 = arg0->unk_1C;
|
||||
sp8.y = lbl_1_rodata_258[arg0->unk_4C][1].y;
|
||||
fn_1_21C8(arg0, &sp8, 60, 1);
|
||||
while (arg0->unk_00_field2 != 0) {
|
||||
for (var_r28 = 0; var_r28 < 1; var_r28++) {
|
||||
fn_1_355C(arg0);
|
||||
var_r29 = arg0->unk_48;
|
||||
HuPrcVSleep();
|
||||
if (arg0->unk_48 != var_r29) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
CharModelMotionShiftSet(arg0->unk_0A, arg0->unk_AE[0], 0.0f, 4.0f, 0);
|
||||
}
|
||||
arg0->unk_48 = 0;
|
||||
}
|
||||
|
||||
void fn_1_4294(M420DllPlayerStruct *arg0)
|
||||
{
|
||||
Vec sp8;
|
||||
s32 var_r29;
|
||||
s32 var_r28;
|
||||
|
||||
if (arg0->unk_4C != 0) {
|
||||
CharModelMotionSet(arg0->unk_0A, arg0->unk_AE[6]);
|
||||
Hu3DMotionStartEndSet(arg0->unk_AC, 0.0f, 59.0f);
|
||||
sp8 = arg0->unk_1C;
|
||||
sp8.y = 0.0f;
|
||||
fn_1_21C8(arg0, &sp8, 60, 1);
|
||||
while (arg0->unk_00_field2 != 0) {
|
||||
for (var_r28 = 0; var_r28 < 1; var_r28++) {
|
||||
fn_1_355C(arg0);
|
||||
var_r29 = arg0->unk_48;
|
||||
HuPrcVSleep();
|
||||
if (arg0->unk_48 != var_r29) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
CharModelMotionShiftSet(arg0->unk_0A, arg0->unk_AE[0], 0.0f, 8.0f, 0);
|
||||
}
|
||||
arg0->unk_48 = 0;
|
||||
}
|
||||
|
||||
void fn_1_4574(M420DllPlayerStruct *arg0)
|
||||
{
|
||||
float var_f31;
|
||||
M420DllPlayerStruct *var_r31;
|
||||
s32 var_r29;
|
||||
s32 var_r28;
|
||||
|
||||
CharModelMotionShiftSet(arg0->unk_0A, arg0->unk_AE[1], 0.0f, 4.0f, 0);
|
||||
fn_1_2260(arg0);
|
||||
}
|
||||
|
||||
void fn_1_476C(M420DllPlayerStruct *arg0)
|
||||
{
|
||||
float var_f31;
|
||||
M420DllPlayerStruct *var_r31;
|
||||
s32 var_r29;
|
||||
s32 var_r28;
|
||||
|
||||
CharModelMotionShiftSet(arg0->unk_0A, arg0->unk_AE[2], 0.0f, 4.0f, 0);
|
||||
fn_1_2260(arg0);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue