mirror of
https://github.com/pmret/papermario.git
synced 2024-11-08 12:02:30 +01:00
decompile more entity funcs, split new file
This commit is contained in:
parent
d68a3e84a6
commit
141626664f
@ -1,11 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802E3E80
|
||||
/* 105700 802E3E80 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 105704 802E3E84 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 105708 802E3E88 0C0B8D94 */ jal func_802E3650
|
||||
/* 10570C 802E3E8C 00000000 */ nop
|
||||
/* 105710 802E3E90 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* 105714 802E3E94 03E00008 */ jr $ra
|
||||
/* 105718 802E3E98 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,23 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802E3E9C
|
||||
/* 10571C 802E3E9C 3C028011 */ lui $v0, %hi(gPlayerStatus+0x4)
|
||||
/* 105720 802E3EA0 8C42EFCC */ lw $v0, %lo(gPlayerStatus+0x4)($v0)
|
||||
/* 105724 802E3EA4 9083000B */ lbu $v1, 0xb($a0)
|
||||
/* 105728 802E3EA8 30420001 */ andi $v0, $v0, 1
|
||||
/* 10572C 802E3EAC 50400007 */ beql $v0, $zero, .L802E3ECC
|
||||
/* 105730 802E3EB0 2463FFE0 */ addiu $v1, $v1, -0x20
|
||||
/* 105734 802E3EB4 24630020 */ addiu $v1, $v1, 0x20
|
||||
/* 105738 802E3EB8 286200C1 */ slti $v0, $v1, 0xc1
|
||||
/* 10573C 802E3EBC 50400005 */ beql $v0, $zero, .L802E3ED4
|
||||
/* 105740 802E3EC0 240300C0 */ addiu $v1, $zero, 0xc0
|
||||
/* 105744 802E3EC4 03E00008 */ jr $ra
|
||||
/* 105748 802E3EC8 A083000B */ sb $v1, 0xb($a0)
|
||||
.L802E3ECC:
|
||||
/* 10574C 802E3ECC 58600001 */ blezl $v1, .L802E3ED4
|
||||
/* 105750 802E3ED0 0000182D */ daddu $v1, $zero, $zero
|
||||
.L802E3ED4:
|
||||
/* 105754 802E3ED4 A083000B */ sb $v1, 0xb($a0)
|
||||
/* 105758 802E3ED8 03E00008 */ jr $ra
|
||||
/* 10575C 802E3EDC 00000000 */ nop
|
@ -1,11 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802E4040
|
||||
/* 1058C0 802E4040 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 1058C4 802E4044 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 1058C8 802E4048 0C04419E */ jal func_80110678
|
||||
/* 1058CC 802E404C 00000000 */ nop
|
||||
/* 1058D0 802E4050 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* 1058D4 802E4054 03E00008 */ jr $ra
|
||||
/* 1058D8 802E4058 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,21 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802E405C
|
||||
/* 1058DC 802E405C 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 1058E0 802E4060 3C013F80 */ lui $at, 0x3f80
|
||||
/* 1058E4 802E4064 44810000 */ mtc1 $at, $f0
|
||||
/* 1058E8 802E4068 2402003C */ addiu $v0, $zero, 0x3c
|
||||
/* 1058EC 802E406C AFBF0018 */ sw $ra, 0x18($sp)
|
||||
/* 1058F0 802E4070 AFA20014 */ sw $v0, 0x14($sp)
|
||||
/* 1058F4 802E4074 E7A00010 */ swc1 $f0, 0x10($sp)
|
||||
/* 1058F8 802E4078 8C850048 */ lw $a1, 0x48($a0)
|
||||
/* 1058FC 802E407C 8C86004C */ lw $a2, 0x4c($a0)
|
||||
/* 105900 802E4080 8C870050 */ lw $a3, 0x50($a0)
|
||||
/* 105904 802E4084 0C01C88C */ jal func_80072230
|
||||
/* 105908 802E4088 0000202D */ daddu $a0, $zero, $zero
|
||||
/* 10590C 802E408C 8FBF0018 */ lw $ra, 0x18($sp)
|
||||
/* 105910 802E4090 3C01802F */ lui $at, 0x802f
|
||||
/* 105914 802E4094 AC22B3B0 */ sw $v0, -0x4c50($at)
|
||||
/* 105918 802E4098 03E00008 */ jr $ra
|
||||
/* 10591C 802E409C 27BD0020 */ addiu $sp, $sp, 0x20
|
@ -1,33 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802E40A0
|
||||
/* 105920 802E40A0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 105924 802E40A4 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 105928 802E40A8 0080802D */ daddu $s0, $a0, $zero
|
||||
/* 10592C 802E40AC AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 105930 802E40B0 0C0441A9 */ jal get_entity_type
|
||||
/* 105934 802E40B4 92040004 */ lbu $a0, 4($s0)
|
||||
/* 105938 802E40B8 0040182D */ daddu $v1, $v0, $zero
|
||||
/* 10593C 802E40BC 24020012 */ addiu $v0, $zero, 0x12
|
||||
/* 105940 802E40C0 10620003 */ beq $v1, $v0, .L802E40D0
|
||||
/* 105944 802E40C4 24020014 */ addiu $v0, $zero, 0x14
|
||||
/* 105948 802E40C8 14620006 */ bne $v1, $v0, .L802E40E4
|
||||
/* 10594C 802E40CC 00000000 */ nop
|
||||
.L802E40D0:
|
||||
/* 105950 802E40D0 86040014 */ lh $a0, 0x14($s0)
|
||||
/* 105954 802E40D4 3C050000 */ lui $a1, 0
|
||||
/* 105958 802E40D8 24A50094 */ addiu $a1, $a1, 0x94
|
||||
/* 10595C 802E40DC 080B903C */ j .L802E40F0
|
||||
/* 105960 802E40E0 00000000 */ nop
|
||||
.L802E40E4:
|
||||
/* 105964 802E40E4 86040014 */ lh $a0, 0x14($s0)
|
||||
/* 105968 802E40E8 3C050000 */ lui $a1, 0
|
||||
/* 10596C 802E40EC 24A50094 */ addiu $a1, $a1, 0x94
|
||||
.L802E40F0:
|
||||
/* 105970 802E40F0 0C048052 */ jal play_model_animation
|
||||
/* 105974 802E40F4 00000000 */ nop
|
||||
/* 105978 802E40F8 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 10597C 802E40FC 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 105980 802E4100 03E00008 */ jr $ra
|
||||
/* 105984 802E4104 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,23 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802E4108
|
||||
/* 105988 802E4108 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 10598C 802E410C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 105990 802E4110 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 105994 802E4114 8C820040 */ lw $v0, 0x40($a0)
|
||||
/* 105998 802E4118 84440012 */ lh $a0, 0x12($v0)
|
||||
/* 10599C 802E411C 0C04417A */ jal get_entity_by_index
|
||||
/* 1059A0 802E4120 2410FFFE */ addiu $s0, $zero, -2
|
||||
/* 1059A4 802E4124 8C430000 */ lw $v1, ($v0)
|
||||
/* 1059A8 802E4128 84440016 */ lh $a0, 0x16($v0)
|
||||
/* 1059AC 802E412C 00701824 */ and $v1, $v1, $s0
|
||||
/* 1059B0 802E4130 0C044181 */ jal get_shadow_by_index
|
||||
/* 1059B4 802E4134 AC430000 */ sw $v1, ($v0)
|
||||
/* 1059B8 802E4138 8C430000 */ lw $v1, ($v0)
|
||||
/* 1059BC 802E413C 00701824 */ and $v1, $v1, $s0
|
||||
/* 1059C0 802E4140 AC430000 */ sw $v1, ($v0)
|
||||
/* 1059C4 802E4144 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 1059C8 802E4148 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 1059CC 802E414C 03E00008 */ jr $ra
|
||||
/* 1059D0 802E4150 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,57 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802E4154
|
||||
/* 1059D4 802E4154 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 1059D8 802E4158 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 1059DC 802E415C 0080802D */ daddu $s0, $a0, $zero
|
||||
/* 1059E0 802E4160 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 1059E4 802E4164 8E040040 */ lw $a0, 0x40($s0)
|
||||
/* 1059E8 802E4168 9483000A */ lhu $v1, 0xa($a0)
|
||||
/* 1059EC 802E416C 3402FFFF */ ori $v0, $zero, 0xffff
|
||||
/* 1059F0 802E4170 10620024 */ beq $v1, $v0, .L802E4204
|
||||
/* 1059F4 802E4174 00000000 */ nop
|
||||
/* 1059F8 802E4178 0C05152F */ jal get_global_flag
|
||||
/* 1059FC 802E417C 0060202D */ daddu $a0, $v1, $zero
|
||||
/* 105A00 802E4180 10400020 */ beqz $v0, .L802E4204
|
||||
/* 105A04 802E4184 00000000 */ nop
|
||||
/* 105A08 802E4188 0C0441A9 */ jal get_entity_type
|
||||
/* 105A0C 802E418C 92040004 */ lbu $a0, 4($s0)
|
||||
/* 105A10 802E4190 3C04802F */ lui $a0, 0x802f
|
||||
/* 105A14 802E4194 2484A0A0 */ addiu $a0, $a0, -0x5f60
|
||||
/* 105A18 802E4198 24030014 */ addiu $v1, $zero, 0x14
|
||||
/* 105A1C 802E419C 10430003 */ beq $v0, $v1, .L802E41AC
|
||||
/* 105A20 802E41A0 00000000 */ nop
|
||||
/* 105A24 802E41A4 3C04802F */ lui $a0, 0x802f
|
||||
/* 105A28 802E41A8 2484A07C */ addiu $a0, $a0, -0x5f84
|
||||
.L802E41AC:
|
||||
/* 105A2C 802E41AC C6020048 */ lwc1 $f2, 0x48($s0)
|
||||
/* 105A30 802E41B0 C604004C */ lwc1 $f4, 0x4c($s0)
|
||||
/* 105A34 802E41B4 C6060050 */ lwc1 $f6, 0x50($s0)
|
||||
/* 105A38 802E41B8 C6000064 */ lwc1 $f0, 0x64($s0)
|
||||
/* 105A3C 802E41BC 3C028000 */ lui $v0, 0x8000
|
||||
/* 105A40 802E41C0 AFA20014 */ sw $v0, 0x14($sp)
|
||||
/* 105A44 802E41C4 4600020D */ trunc.w.s $f8, $f0
|
||||
/* 105A48 802E41C8 E7A80010 */ swc1 $f8, 0x10($sp)
|
||||
/* 105A4C 802E41CC 4600120D */ trunc.w.s $f8, $f2
|
||||
/* 105A50 802E41D0 44054000 */ mfc1 $a1, $f8
|
||||
/* 105A54 802E41D4 4600220D */ trunc.w.s $f8, $f4
|
||||
/* 105A58 802E41D8 44064000 */ mfc1 $a2, $f8
|
||||
/* 105A5C 802E41DC 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 105A60 802E41E0 44074000 */ mfc1 $a3, $f8
|
||||
/* 105A64 802E41E4 0C044631 */ jal create_entity
|
||||
/* 105A68 802E41E8 00000000 */ nop
|
||||
/* 105A6C 802E41EC 3C05802F */ lui $a1, 0x802f
|
||||
/* 105A70 802E41F0 24A5A310 */ addiu $a1, $a1, -0x5cf0
|
||||
/* 105A74 802E41F4 0C043EF0 */ jal func_8010FBC0
|
||||
/* 105A78 802E41F8 0200202D */ daddu $a0, $s0, $zero
|
||||
/* 105A7C 802E41FC 080B9083 */ j .L802E420C
|
||||
/* 105A80 802E4200 00000000 */ nop
|
||||
.L802E4204:
|
||||
/* 105A84 802E4204 0C043F5A */ jal func_8010FD68
|
||||
/* 105A88 802E4208 0200202D */ daddu $a0, $s0, $zero
|
||||
.L802E420C:
|
||||
/* 105A8C 802E420C 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 105A90 802E4210 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 105A94 802E4214 03E00008 */ jr $ra
|
||||
/* 105A98 802E4218 27BD0020 */ addiu $sp, $sp, 0x20
|
@ -1,168 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802E421C
|
||||
/* 105A9C 802E421C 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 105AA0 802E4220 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 105AA4 802E4224 0080882D */ daddu $s1, $a0, $zero
|
||||
/* 105AA8 802E4228 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 105AAC 802E422C AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 105AB0 802E4230 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 105AB4 802E4234 0C0441A9 */ jal get_entity_type
|
||||
/* 105AB8 802E4238 92240004 */ lbu $a0, 4($s1)
|
||||
/* 105ABC 802E423C 3C04802F */ lui $a0, 0x802f
|
||||
/* 105AC0 802E4240 2484A07C */ addiu $a0, $a0, -0x5f84
|
||||
/* 105AC4 802E4244 0040182D */ daddu $v1, $v0, $zero
|
||||
/* 105AC8 802E4248 28620015 */ slti $v0, $v1, 0x15
|
||||
/* 105ACC 802E424C 10400005 */ beqz $v0, .L802E4264
|
||||
/* 105AD0 802E4250 28620012 */ slti $v0, $v1, 0x12
|
||||
/* 105AD4 802E4254 14400003 */ bnez $v0, .L802E4264
|
||||
/* 105AD8 802E4258 00000000 */ nop
|
||||
/* 105ADC 802E425C 3C04802F */ lui $a0, 0x802f
|
||||
/* 105AE0 802E4260 2484A0A0 */ addiu $a0, $a0, -0x5f60
|
||||
.L802E4264:
|
||||
/* 105AE4 802E4264 C6220048 */ lwc1 $f2, 0x48($s1)
|
||||
/* 105AE8 802E4268 C624004C */ lwc1 $f4, 0x4c($s1)
|
||||
/* 105AEC 802E426C C6260050 */ lwc1 $f6, 0x50($s1)
|
||||
/* 105AF0 802E4270 C6200064 */ lwc1 $f0, 0x64($s1)
|
||||
/* 105AF4 802E4274 3C028000 */ lui $v0, 0x8000
|
||||
/* 105AF8 802E4278 AFA20014 */ sw $v0, 0x14($sp)
|
||||
/* 105AFC 802E427C 4600020D */ trunc.w.s $f8, $f0
|
||||
/* 105B00 802E4280 E7A80010 */ swc1 $f8, 0x10($sp)
|
||||
/* 105B04 802E4284 4600120D */ trunc.w.s $f8, $f2
|
||||
/* 105B08 802E4288 44054000 */ mfc1 $a1, $f8
|
||||
/* 105B0C 802E428C 4600220D */ trunc.w.s $f8, $f4
|
||||
/* 105B10 802E4290 44064000 */ mfc1 $a2, $f8
|
||||
/* 105B14 802E4294 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 105B18 802E4298 44074000 */ mfc1 $a3, $f8
|
||||
/* 105B1C 802E429C 0C044631 */ jal create_entity
|
||||
/* 105B20 802E42A0 00000000 */ nop
|
||||
/* 105B24 802E42A4 0040902D */ daddu $s2, $v0, $zero
|
||||
/* 105B28 802E42A8 0C04417A */ jal get_entity_by_index
|
||||
/* 105B2C 802E42AC 0240202D */ daddu $a0, $s2, $zero
|
||||
/* 105B30 802E42B0 0040802D */ daddu $s0, $v0, $zero
|
||||
/* 105B34 802E42B4 8E020000 */ lw $v0, ($s0)
|
||||
/* 105B38 802E42B8 34430001 */ ori $v1, $v0, 1
|
||||
/* 105B3C 802E42BC AE030000 */ sw $v1, ($s0)
|
||||
/* 105B40 802E42C0 8E220000 */ lw $v0, ($s1)
|
||||
/* 105B44 802E42C4 3C040004 */ lui $a0, 4
|
||||
/* 105B48 802E42C8 00441024 */ and $v0, $v0, $a0
|
||||
/* 105B4C 802E42CC 10400002 */ beqz $v0, .L802E42D8
|
||||
/* 105B50 802E42D0 00641025 */ or $v0, $v1, $a0
|
||||
/* 105B54 802E42D4 AE020000 */ sw $v0, ($s0)
|
||||
.L802E42D8:
|
||||
/* 105B58 802E42D8 8E220000 */ lw $v0, ($s1)
|
||||
/* 105B5C 802E42DC 30420004 */ andi $v0, $v0, 4
|
||||
/* 105B60 802E42E0 10400004 */ beqz $v0, .L802E42F4
|
||||
/* 105B64 802E42E4 00000000 */ nop
|
||||
/* 105B68 802E42E8 8E020000 */ lw $v0, ($s0)
|
||||
/* 105B6C 802E42EC 34420004 */ ori $v0, $v0, 4
|
||||
/* 105B70 802E42F0 AE020000 */ sw $v0, ($s0)
|
||||
.L802E42F4:
|
||||
/* 105B74 802E42F4 0C044181 */ jal get_shadow_by_index
|
||||
/* 105B78 802E42F8 86040016 */ lh $a0, 0x16($s0)
|
||||
/* 105B7C 802E42FC 0040282D */ daddu $a1, $v0, $zero
|
||||
/* 105B80 802E4300 3C020040 */ lui $v0, 0x40
|
||||
/* 105B84 802E4304 34420001 */ ori $v0, $v0, 1
|
||||
/* 105B88 802E4308 8CA30000 */ lw $v1, ($a1)
|
||||
/* 105B8C 802E430C 0220202D */ daddu $a0, $s1, $zero
|
||||
/* 105B90 802E4310 00621825 */ or $v1, $v1, $v0
|
||||
/* 105B94 802E4314 0C044AC8 */ jal func_80112B20
|
||||
/* 105B98 802E4318 ACA30000 */ sw $v1, ($a1)
|
||||
/* 105B9C 802E431C 92240004 */ lbu $a0, 4($s1)
|
||||
/* 105BA0 802E4320 0C0441A9 */ jal get_entity_type
|
||||
/* 105BA4 802E4324 0040802D */ daddu $s0, $v0, $zero
|
||||
/* 105BA8 802E4328 0040182D */ daddu $v1, $v0, $zero
|
||||
/* 105BAC 802E432C 24020012 */ addiu $v0, $zero, 0x12
|
||||
/* 105BB0 802E4330 10620003 */ beq $v1, $v0, .L802E4340
|
||||
/* 105BB4 802E4334 24020014 */ addiu $v0, $zero, 0x14
|
||||
/* 105BB8 802E4338 14620005 */ bne $v1, $v0, .L802E4350
|
||||
/* 105BBC 802E433C 00000000 */ nop
|
||||
.L802E4340:
|
||||
/* 105BC0 802E4340 3C04802F */ lui $a0, 0x802f
|
||||
/* 105BC4 802E4344 2484A660 */ addiu $a0, $a0, -0x59a0
|
||||
/* 105BC8 802E4348 080B90DA */ j .L802E4368
|
||||
/* 105BCC 802E434C 00000000 */ nop
|
||||
.L802E4350:
|
||||
/* 105BD0 802E4350 3C04802F */ lui $a0, 0x802f
|
||||
/* 105BD4 802E4354 2484A63C */ addiu $a0, $a0, -0x59c4
|
||||
/* 105BD8 802E4358 12000003 */ beqz $s0, .L802E4368
|
||||
/* 105BDC 802E435C 00000000 */ nop
|
||||
/* 105BE0 802E4360 3C04802F */ lui $a0, 0x802f
|
||||
/* 105BE4 802E4364 2484A618 */ addiu $a0, $a0, -0x59e8
|
||||
.L802E4368:
|
||||
/* 105BE8 802E4368 C6220048 */ lwc1 $f2, 0x48($s1)
|
||||
/* 105BEC 802E436C C624004C */ lwc1 $f4, 0x4c($s1)
|
||||
/* 105BF0 802E4370 C6260050 */ lwc1 $f6, 0x50($s1)
|
||||
/* 105BF4 802E4374 C6200064 */ lwc1 $f0, 0x64($s1)
|
||||
/* 105BF8 802E4378 3C028000 */ lui $v0, 0x8000
|
||||
/* 105BFC 802E437C AFA20014 */ sw $v0, 0x14($sp)
|
||||
/* 105C00 802E4380 4600020D */ trunc.w.s $f8, $f0
|
||||
/* 105C04 802E4384 E7A80010 */ swc1 $f8, 0x10($sp)
|
||||
/* 105C08 802E4388 4600120D */ trunc.w.s $f8, $f2
|
||||
/* 105C0C 802E438C 44054000 */ mfc1 $a1, $f8
|
||||
/* 105C10 802E4390 4600220D */ trunc.w.s $f8, $f4
|
||||
/* 105C14 802E4394 44064000 */ mfc1 $a2, $f8
|
||||
/* 105C18 802E4398 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 105C1C 802E439C 44074000 */ mfc1 $a3, $f8
|
||||
/* 105C20 802E43A0 0C044631 */ jal create_entity
|
||||
/* 105C24 802E43A4 00000000 */ nop
|
||||
/* 105C28 802E43A8 0C04417A */ jal get_entity_by_index
|
||||
/* 105C2C 802E43AC 0040202D */ daddu $a0, $v0, $zero
|
||||
/* 105C30 802E43B0 9223000B */ lbu $v1, 0xb($s1)
|
||||
/* 105C34 802E43B4 0040802D */ daddu $s0, $v0, $zero
|
||||
/* 105C38 802E43B8 A203000B */ sb $v1, 0xb($s0)
|
||||
/* 105C3C 802E43BC 8E220000 */ lw $v0, ($s1)
|
||||
/* 105C40 802E43C0 30420001 */ andi $v0, $v0, 1
|
||||
/* 105C44 802E43C4 14400005 */ bnez $v0, .L802E43DC
|
||||
/* 105C48 802E43C8 24020020 */ addiu $v0, $zero, 0x20
|
||||
/* 105C4C 802E43CC 9222000B */ lbu $v0, 0xb($s1)
|
||||
/* 105C50 802E43D0 2C4200FF */ sltiu $v0, $v0, 0xff
|
||||
/* 105C54 802E43D4 10400002 */ beqz $v0, .L802E43E0
|
||||
/* 105C58 802E43D8 24020020 */ addiu $v0, $zero, 0x20
|
||||
.L802E43DC:
|
||||
/* 105C5C 802E43DC A202000B */ sb $v0, 0xb($s0)
|
||||
.L802E43E0:
|
||||
/* 105C60 802E43E0 8E220000 */ lw $v0, ($s1)
|
||||
/* 105C64 802E43E4 3C030004 */ lui $v1, 4
|
||||
/* 105C68 802E43E8 00431024 */ and $v0, $v0, $v1
|
||||
/* 105C6C 802E43EC 10400004 */ beqz $v0, .L802E4400
|
||||
/* 105C70 802E43F0 00000000 */ nop
|
||||
/* 105C74 802E43F4 8E020000 */ lw $v0, ($s0)
|
||||
/* 105C78 802E43F8 00431025 */ or $v0, $v0, $v1
|
||||
/* 105C7C 802E43FC AE020000 */ sw $v0, ($s0)
|
||||
.L802E4400:
|
||||
/* 105C80 802E4400 8E020040 */ lw $v0, 0x40($s0)
|
||||
/* 105C84 802E4404 A4520012 */ sh $s2, 0x12($v0)
|
||||
/* 105C88 802E4408 8E220000 */ lw $v0, ($s1)
|
||||
/* 105C8C 802E440C 30420004 */ andi $v0, $v0, 4
|
||||
/* 105C90 802E4410 10400004 */ beqz $v0, .L802E4424
|
||||
/* 105C94 802E4414 2403FEFF */ addiu $v1, $zero, -0x101
|
||||
/* 105C98 802E4418 8E020000 */ lw $v0, ($s0)
|
||||
/* 105C9C 802E441C 34420004 */ ori $v0, $v0, 4
|
||||
/* 105CA0 802E4420 AE020000 */ sw $v0, ($s0)
|
||||
.L802E4424:
|
||||
/* 105CA4 802E4424 8E220000 */ lw $v0, ($s1)
|
||||
/* 105CA8 802E4428 86240016 */ lh $a0, 0x16($s1)
|
||||
/* 105CAC 802E442C 00431024 */ and $v0, $v0, $v1
|
||||
/* 105CB0 802E4430 0C044181 */ jal get_shadow_by_index
|
||||
/* 105CB4 802E4434 AE220000 */ sw $v0, ($s1)
|
||||
/* 105CB8 802E4438 0040282D */ daddu $a1, $v0, $zero
|
||||
/* 105CBC 802E443C 3C031000 */ lui $v1, 0x1000
|
||||
/* 105CC0 802E4440 8CA20000 */ lw $v0, ($a1)
|
||||
/* 105CC4 802E4444 34630001 */ ori $v1, $v1, 1
|
||||
/* 105CC8 802E4448 00431025 */ or $v0, $v0, $v1
|
||||
/* 105CCC 802E444C ACA20000 */ sw $v0, ($a1)
|
||||
/* 105CD0 802E4450 0C044181 */ jal get_shadow_by_index
|
||||
/* 105CD4 802E4454 86040016 */ lh $a0, 0x16($s0)
|
||||
/* 105CD8 802E4458 0040282D */ daddu $a1, $v0, $zero
|
||||
/* 105CDC 802E445C 8CA20000 */ lw $v0, ($a1)
|
||||
/* 105CE0 802E4460 3C030040 */ lui $v1, 0x40
|
||||
/* 105CE4 802E4464 00431025 */ or $v0, $v0, $v1
|
||||
/* 105CE8 802E4468 ACA20000 */ sw $v0, ($a1)
|
||||
/* 105CEC 802E446C 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 105CF0 802E4470 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 105CF4 802E4474 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 105CF8 802E4478 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 105CFC 802E447C 03E00008 */ jr $ra
|
||||
/* 105D00 802E4480 27BD0028 */ addiu $sp, $sp, 0x28
|
@ -1,22 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802E4484
|
||||
/* 105D04 802E4484 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 105D08 802E4488 0080182D */ daddu $v1, $a0, $zero
|
||||
/* 105D0C 802E448C 2405FEFF */ addiu $a1, $zero, -0x101
|
||||
/* 105D10 802E4490 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 105D14 802E4494 8C620000 */ lw $v0, ($v1)
|
||||
/* 105D18 802E4498 84640016 */ lh $a0, 0x16($v1)
|
||||
/* 105D1C 802E449C 34420001 */ ori $v0, $v0, 1
|
||||
/* 105D20 802E44A0 00451024 */ and $v0, $v0, $a1
|
||||
/* 105D24 802E44A4 0C044181 */ jal get_shadow_by_index
|
||||
/* 105D28 802E44A8 AC620000 */ sw $v0, ($v1)
|
||||
/* 105D2C 802E44AC 3C041000 */ lui $a0, 0x1000
|
||||
/* 105D30 802E44B0 8C430000 */ lw $v1, ($v0)
|
||||
/* 105D34 802E44B4 34840001 */ ori $a0, $a0, 1
|
||||
/* 105D38 802E44B8 00641825 */ or $v1, $v1, $a0
|
||||
/* 105D3C 802E44BC AC430000 */ sw $v1, ($v0)
|
||||
/* 105D40 802E44C0 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* 105D44 802E44C4 03E00008 */ jr $ra
|
||||
/* 105D48 802E44C8 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,16 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802E44CC
|
||||
/* 105D4C 802E44CC 0080282D */ daddu $a1, $a0, $zero
|
||||
/* 105D50 802E44D0 8CA20028 */ lw $v0, 0x28($a1)
|
||||
/* 105D54 802E44D4 14400003 */ bnez $v0, .L802E44E4
|
||||
/* 105D58 802E44D8 24020001 */ addiu $v0, $zero, 1
|
||||
/* 105D5C 802E44DC 03E00008 */ jr $ra
|
||||
/* 105D60 802E44E0 0000102D */ daddu $v0, $zero, $zero
|
||||
.L802E44E4:
|
||||
/* 105D64 802E44E4 8CA30000 */ lw $v1, ($a1)
|
||||
/* 105D68 802E44E8 3C040100 */ lui $a0, 0x100
|
||||
/* 105D6C 802E44EC 00641825 */ or $v1, $v1, $a0
|
||||
/* 105D70 802E44F0 03E00008 */ jr $ra
|
||||
/* 105D74 802E44F4 ACA30000 */ sw $v1, ($a1)
|
@ -1,22 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802E44F8
|
||||
/* 105D78 802E44F8 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 105D7C 802E44FC AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 105D80 802E4500 0C03805E */ jal disable_player_input
|
||||
/* 105D84 802E4504 00000000 */ nop
|
||||
/* 105D88 802E4508 3C028011 */ lui $v0, %hi(gPlayerStatus)
|
||||
/* 105D8C 802E450C 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus)
|
||||
/* 105D90 802E4510 8C430000 */ lw $v1, ($v0)
|
||||
/* 105D94 802E4514 3C040080 */ lui $a0, 0x80
|
||||
/* 105D98 802E4518 AC400054 */ sw $zero, 0x54($v0)
|
||||
/* 105D9C 802E451C 00641825 */ or $v1, $v1, $a0
|
||||
/* 105DA0 802E4520 24040008 */ addiu $a0, $zero, 8
|
||||
/* 105DA4 802E4524 0C039769 */ jal set_action_state
|
||||
/* 105DA8 802E4528 AC430000 */ sw $v1, ($v0)
|
||||
/* 105DAC 802E452C 0C038C1B */ jal gravity_use_fall_parms
|
||||
/* 105DB0 802E4530 00000000 */ nop
|
||||
/* 105DB4 802E4534 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* 105DB8 802E4538 03E00008 */ jr $ra
|
||||
/* 105DBC 802E453C 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,11 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802E4540
|
||||
/* 105DC0 802E4540 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 105DC4 802E4544 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* 105DC8 802E4548 0C038069 */ jal enable_player_input
|
||||
/* 105DCC 802E454C 00000000 */ nop
|
||||
/* 105DD0 802E4550 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* 105DD4 802E4554 03E00008 */ jr $ra
|
||||
/* 105DD8 802E4558 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,22 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802E464C
|
||||
/* 105ECC 802E464C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 105ED0 802E4650 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 105ED4 802E4654 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 105ED8 802E4658 0C0B8DB9 */ jal entity_init_Hammer23Block_normal
|
||||
/* 105EDC 802E465C 0080802D */ daddu $s0, $a0, $zero
|
||||
/* 105EE0 802E4660 8E030040 */ lw $v1, 0x40($s0)
|
||||
/* 105EE4 802E4664 3C028016 */ lui $v0, 0x8016
|
||||
/* 105EE8 802E4668 9442C7D2 */ lhu $v0, -0x382e($v0)
|
||||
/* 105EEC 802E466C A4620010 */ sh $v0, 0x10($v1)
|
||||
/* 105EF0 802E4670 3402FFFF */ ori $v0, $zero, 0xffff
|
||||
/* 105EF4 802E4674 A462000A */ sh $v0, 0xa($v1)
|
||||
/* 105EF8 802E4678 3C02802E */ lui $v0, 0x802e
|
||||
/* 105EFC 802E467C 2442455C */ addiu $v0, $v0, 0x455c
|
||||
/* 105F00 802E4680 AE02003C */ sw $v0, 0x3c($s0)
|
||||
/* 105F04 802E4684 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 105F08 802E4688 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 105F0C 802E468C 03E00008 */ jr $ra
|
||||
/* 105F10 802E4690 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,14 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802E4694
|
||||
/* 105F14 802E4694 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 105F18 802E4698 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 105F1C 802E469C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 105F20 802E46A0 0C0B9193 */ jal func_802E464C
|
||||
/* 105F24 802E46A4 0080802D */ daddu $s0, $a0, $zero
|
||||
/* 105F28 802E46A8 A200000B */ sb $zero, 0xb($s0)
|
||||
/* 105F2C 802E46AC 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 105F30 802E46B0 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 105F34 802E46B4 03E00008 */ jr $ra
|
||||
/* 105F38 802E46B8 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,25 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802E46BC
|
||||
/* 105F3C 802E46BC 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 105F40 802E46C0 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* 105F44 802E46C4 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 105F48 802E46C8 0C0B8DB9 */ jal entity_init_Hammer23Block_normal
|
||||
/* 105F4C 802E46CC 0080802D */ daddu $s0, $a0, $zero
|
||||
/* 105F50 802E46D0 86040014 */ lh $a0, 0x14($s0)
|
||||
/* 105F54 802E46D4 3C02802E */ lui $v0, 0x802e
|
||||
/* 105F58 802E46D8 2442455C */ addiu $v0, $v0, 0x455c
|
||||
/* 105F5C 802E46DC 0C047FF8 */ jal get_anim_mesh
|
||||
/* 105F60 802E46E0 AE02003C */ sw $v0, 0x3c($s0)
|
||||
/* 105F64 802E46E4 24030011 */ addiu $v1, $zero, 0x11
|
||||
/* 105F68 802E46E8 A0430004 */ sb $v1, 4($v0)
|
||||
/* 105F6C 802E46EC 8C430000 */ lw $v1, ($v0)
|
||||
/* 105F70 802E46F0 3C040001 */ lui $a0, 1
|
||||
/* 105F74 802E46F4 00641825 */ or $v1, $v1, $a0
|
||||
/* 105F78 802E46F8 AC430000 */ sw $v1, ($v0)
|
||||
/* 105F7C 802E46FC 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 105F80 802E4700 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* 105F84 802E4704 03E00008 */ jr $ra
|
||||
/* 105F88 802E4708 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 105F8C 802E470C 00000000 */ nop
|
@ -287,7 +287,7 @@ typedef struct Entity {
|
||||
/* 0x28 */ Bytecode* boundScript;
|
||||
/* 0x2C */ char unk_2C[12];
|
||||
/* 0x38 */ struct StaticEntityData* static_data;
|
||||
/* 0x3C */ UNK_PTR unk_3C;
|
||||
/* 0x3C */ UNK_PTR unk_3C; // pointer to draw func(?)
|
||||
/* 0x40 */ void* dataBuf;
|
||||
/* 0x44 */ Mtx* vertexData;
|
||||
/* 0x48 */ Vec3f position;
|
||||
@ -1586,4 +1586,25 @@ typedef struct {
|
||||
/* 0x1D */ char unk_1D[3];
|
||||
} UIPanel; // size = 0x20
|
||||
|
||||
// BEGIN ENTITY-SPECIFIC STRUCTS
|
||||
|
||||
// from code_104940_len_dc0
|
||||
// appears to belong to the hammer blocks(?)
|
||||
typedef struct struct802E3650 {
|
||||
/* 0x00 */ char unk_00[3];
|
||||
/* 0x03 */ s8 unk_03;
|
||||
/* 0x04 */ s16 unk_04;
|
||||
/* 0x06 */ s16 unk_06;
|
||||
/* 0x08 */ char unk_08[2];
|
||||
/* 0x0A */ u16 unk_0A;
|
||||
/* 0x0C */ char unk_0C[2];
|
||||
/* 0x0E */ s16 unk_0E;
|
||||
/* 0x10 */ s16 unk_10;
|
||||
/* 0x12 */ char unk_12[2];
|
||||
/* 0x14 */ f32 unk_14;
|
||||
/* 0x18 */ f32 unk_18;
|
||||
} struct802E3650;
|
||||
|
||||
// END ENTITY-SPECIFIC STRUCTS
|
||||
|
||||
#endif
|
||||
|
@ -26,7 +26,7 @@ u32 get_entity_type(s32 arg0);
|
||||
Entity* get_entity_by_index(s32 index);
|
||||
s32 create_entity(void*, s32, s32, s32, s32, s32);
|
||||
|
||||
void func_80072230(s32, f32, f32, f32, f32, s32);
|
||||
UNK_TYPE func_80072230(s32, f32, f32, f32, f32, s32);
|
||||
|
||||
// Text
|
||||
PrintContext* load_string(s32 stringID, s32* a1);
|
||||
|
@ -241,6 +241,17 @@ extern s32 D_8009A5D8;
|
||||
extern u8 D_800779B0;
|
||||
extern u8 D_800A0963;
|
||||
|
||||
extern UNK_TYPE D_802EB3B0;
|
||||
extern UNK_TYPE D_00000094;
|
||||
extern UNK_TYPE D_00000094_2; // two symbols resolve to the same addr. Required for matching
|
||||
extern UNK_TYPE D_802EA0A0;
|
||||
extern UNK_TYPE D_802EA07C;
|
||||
extern UNK_TYPE D_802EA310;
|
||||
extern UNK_TYPE D_802EA618;
|
||||
extern UNK_TYPE D_802EA63C;
|
||||
extern UNK_TYPE D_802EA660;
|
||||
extern s16 D_8015C7D2;
|
||||
|
||||
// Scripts
|
||||
extern Bytecode* SCRIPT_NpcDefeat;
|
||||
extern Bytecode* ShakeCam1;
|
||||
|
@ -184,8 +184,8 @@ void entity_init_HugeBlueSwitch(Entity* entity) {
|
||||
temp->unk_14.z = 3.0f;
|
||||
}
|
||||
|
||||
void func_802E2450(void) {
|
||||
func_802E3650();
|
||||
void func_802E2450(Entity* entity) {
|
||||
func_802E3650(entity);
|
||||
}
|
||||
|
||||
|
||||
|
@ -49,21 +49,6 @@ void func_802E328C(Entity* entity) {
|
||||
|
||||
INCLUDE_ASM(s32, "code_104940_len_dc0", func_802E3370);
|
||||
|
||||
typedef struct struct802E3650 {
|
||||
/* 0x00 */ char unk_00[3];
|
||||
/* 0x03 */ s8 unk_03;
|
||||
/* 0x04 */ s16 unk_04;
|
||||
/* 0x06 */ s16 unk_06;
|
||||
/* 0x08 */ char unk_08[2];
|
||||
/* 0x0A */ u16 unk_0A;
|
||||
/* 0x0C */ char unk_0C[2];
|
||||
/* 0x0E */ s16 unk_0E;
|
||||
/* 0x10 */ s16 unk_10;
|
||||
/* 0x12 */ char unk_12[2];
|
||||
/* 0x14 */ f32 unk_14;
|
||||
/* 0x18 */ f32 unk_18;
|
||||
} struct802E3650;
|
||||
|
||||
s32 func_802E3650(Entity* entity) {
|
||||
struct802E3650* temp = (struct802E3650*)entity->dataBuf;
|
||||
s32 ret = 0;
|
||||
@ -210,31 +195,6 @@ void func_802E3B08(Entity* entity) {
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "code_104940_len_dc0", func_802E3BA4);
|
||||
/*s32 func_802E3BA4(Entity* entity) {
|
||||
PlayerStatus* playerStatus = &gPlayerStatus;
|
||||
|
||||
if((entity->alpha != 0) || ((entity->unk_06 & 1) == 0)) {
|
||||
if(entity->unk_06 & 4) {
|
||||
s32 type = get_entity_type(entity->listIndex);
|
||||
if(type == 12) {
|
||||
return 0;
|
||||
} else if((type < 12) || (type >= 0x1B) || (type < 0x15)) {
|
||||
if((playerStatus->flags & 2) != 0) {
|
||||
func_8010FD68(entity);
|
||||
return 1;
|
||||
}
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
if((type & 1) ==)
|
||||
|
||||
}
|
||||
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}*/
|
||||
|
||||
void entity_init_Hammer1Block_normal(Entity* entity) {
|
||||
entity_init_Hammer23Block_normal(entity);
|
||||
|
@ -1,99 +1,211 @@
|
||||
#include "common.h"
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E3E80);
|
||||
typedef struct struct802E3F0C {
|
||||
/* 0x00 */ char unk_00[10];
|
||||
/* 0x0A */ u16 unk_A;
|
||||
/* 0x0C */ char unk_C[4];
|
||||
/* 0x10 */ s16 unk_10;
|
||||
/* 0x12 */ s16 unk_12;
|
||||
} struct802E3F0C;
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E3E9C);
|
||||
void func_802E3E80(Entity* entity) {
|
||||
func_802E3650(entity);
|
||||
}
|
||||
|
||||
void func_802E3E9C(Entity* entity) {
|
||||
s32 alpha;
|
||||
|
||||
alpha = entity->alpha;
|
||||
if ((gPlayerStatus.animFlags & 1)) {
|
||||
alpha += 0x20;
|
||||
if (alpha > 0xC0) {
|
||||
alpha = 0xC0;
|
||||
}
|
||||
entity->alpha = alpha;
|
||||
return;
|
||||
} else {
|
||||
alpha -= 0x20;
|
||||
if (alpha <= 0) {
|
||||
alpha = 0;
|
||||
}
|
||||
entity->alpha = alpha;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E3EE0);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E3F0C);
|
||||
INCLUDE_ASM(void, "code_105700_len_2130", func_802E3F0C, Entity* entity);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E4040);
|
||||
void func_802E4040(Entity* entity) {
|
||||
func_80110678(entity);
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E405C);
|
||||
void func_802E405C(Entity* entity) {
|
||||
D_802EB3B0 = func_80072230(0, entity->position.x, entity->position.y, entity->position.z, 1.0f, 0x3C);
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E40A0);
|
||||
void func_802E40A0(Entity* entity) {
|
||||
s32 entityType;
|
||||
s32 virtualModelIndex;
|
||||
UNK_PTR ptr;
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E4108);
|
||||
entityType = get_entity_type(entity->listIndex);
|
||||
if ((entityType == 0x12) || (entityType == 0x14) ){
|
||||
play_model_animation(entity->virtualModelIndex, &D_00000094);
|
||||
} else {
|
||||
play_model_animation(entity->virtualModelIndex, &D_00000094_2);
|
||||
}
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E4154);
|
||||
void func_802E4108(Entity* entity) {
|
||||
Entity* someEntity; // TODO: better var name
|
||||
Shadow* someShadow; // TODO: better var name
|
||||
struct802E3F0C* temp = entity->dataBuf;
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E421C);
|
||||
someEntity = get_entity_by_index(temp->unk_12);
|
||||
someEntity->flags &= ~1;
|
||||
someShadow = get_shadow_by_index(someEntity->shadowIndex);
|
||||
someShadow->flags &= ~1;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E4484);
|
||||
void func_802E4154(Entity* entity) {
|
||||
u16 temp_v1;
|
||||
UNK_PTR phi_a0;
|
||||
struct802E3F0C* temp = entity->dataBuf;
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E44CC);
|
||||
if ((temp->unk_A != 0xFFFF) && (get_global_flag(temp->unk_A) != 0)) {
|
||||
if (get_entity_type(entity->listIndex) != 0x14) {
|
||||
phi_a0 = &D_802EA07C;
|
||||
} else {
|
||||
phi_a0 = &D_802EA0A0;
|
||||
}
|
||||
create_entity(phi_a0, entity->position.x, entity->position.y, entity->position.z, entity->rotation.y, 0x80000000);
|
||||
func_8010FBC0(entity, &D_802EA310);
|
||||
return;
|
||||
}
|
||||
func_8010FD68(entity);
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E44F8);
|
||||
void func_802E421C(Entity* entity) {
|
||||
s32 temp_s2;
|
||||
s32 temp_s0;
|
||||
s32 temp_v0_2;
|
||||
s32 temp_v0_5;
|
||||
struct802E3F0C* temp;
|
||||
Entity* entityTemp;
|
||||
Shadow* shadow;
|
||||
UNK_PTR phi_a0;
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E4540);
|
||||
temp_v0_2 = get_entity_type(entity->listIndex);
|
||||
phi_a0 = &D_802EA07C;
|
||||
if (temp_v0_2 < 0x15) {
|
||||
phi_a0 = &D_802EA07C;
|
||||
if (temp_v0_2 >= 0x12) {
|
||||
phi_a0 = &D_802EA0A0;
|
||||
}
|
||||
}
|
||||
temp_s2 = create_entity(phi_a0, entity->position.x, entity->position.y, entity->position.z, entity->rotation.y, 0x80000000);
|
||||
entityTemp = get_entity_by_index(temp_s2);
|
||||
entityTemp->flags |= 1;
|
||||
|
||||
if ((entity->flags & 0x40000) != 0) {
|
||||
entityTemp->flags |= 0x40000;
|
||||
}
|
||||
|
||||
if ((entity->flags & 4) != 0) {
|
||||
entityTemp->flags |= 4;
|
||||
}
|
||||
|
||||
shadow = get_shadow_by_index(entityTemp->shadowIndex);
|
||||
shadow->flags |= 0x400001;
|
||||
temp_s0 = func_80112B20(entity);
|
||||
temp_v0_5 = get_entity_type(entity->listIndex);
|
||||
if ((temp_v0_5 == 0x12) || (temp_v0_5 == 0x14)) {
|
||||
phi_a0 = &D_802EA660;
|
||||
} else if (temp_s0 != 0) {
|
||||
phi_a0 = &D_802EA618;
|
||||
} else {
|
||||
phi_a0 = &D_802EA63C;
|
||||
}
|
||||
entityTemp = get_entity_by_index(create_entity(phi_a0, entity->position.x, entity->position.y, entity->position.z, entity->rotation.y, 0x80000000));
|
||||
entityTemp->alpha = entity->alpha;
|
||||
if (((entity->flags & 1) != 0) || ((u32) entity->alpha < 0xFF)) {
|
||||
entityTemp->alpha = 0x20;
|
||||
}
|
||||
|
||||
if ((entity->flags & 0x40000) != 0) {
|
||||
entityTemp->flags |= 0x40000;
|
||||
}
|
||||
temp = entityTemp->dataBuf;
|
||||
temp->unk_12 = temp_s2;
|
||||
|
||||
if ((entity->flags & 4) != 0) {
|
||||
entityTemp->flags |= 4;
|
||||
}
|
||||
|
||||
entity->flags &= ~0x100;
|
||||
shadow = get_shadow_by_index(entity->shadowIndex);
|
||||
shadow->flags |= 0x10000001;
|
||||
shadow = get_shadow_by_index(entityTemp->shadowIndex);
|
||||
shadow->flags |= 0x400000;
|
||||
}
|
||||
|
||||
void func_802E4484(Entity* entity) {
|
||||
Shadow* shadow;
|
||||
|
||||
entity->flags = (entity->flags | 1) & ~0x100;
|
||||
shadow = get_shadow_by_index(entity->shadowIndex);
|
||||
shadow->flags |= 0x10000001;
|
||||
}
|
||||
|
||||
s32 func_802E44CC(Entity* entity) {
|
||||
if (entity->boundScript != NULL) {
|
||||
entity->flags |= 0x1000000;
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
// TODO: new file here?
|
||||
void func_802E44F8(void) {
|
||||
PlayerStatus* playerStatus = &gPlayerStatus;
|
||||
|
||||
disable_player_input();
|
||||
playerStatus->currentSpeed = 0.0f;
|
||||
playerStatus->flags |= 0x800000;
|
||||
set_action_state(8);
|
||||
gravity_use_fall_parms();
|
||||
}
|
||||
|
||||
void func_802E4540(void) {
|
||||
enable_player_input();
|
||||
}
|
||||
|
||||
// display list func
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E455C);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E464C);
|
||||
void func_802E464C(Entity* entity) {
|
||||
struct802E3650* temp;
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E4694);
|
||||
entity_init_Hammer23Block_normal(entity);
|
||||
temp = entity->dataBuf;
|
||||
temp->unk_10 = D_8015C7D2;
|
||||
temp->unk_0A = 0xFFFF;
|
||||
entity->unk_3C = func_802E455C;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E46BC);
|
||||
void func_802E4694(Entity* entity) {
|
||||
func_802E464C(entity);
|
||||
entity->alpha = 0;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E4710);
|
||||
void func_802E46BC(Entity* entity) {
|
||||
AnimatedMesh* animMesh;
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E4730);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E4AEC);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E4B10);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E4B60);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E4C10);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E4DE0);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E4E04);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E5308);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E5324);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E540C);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E5428);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E545C);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E548C);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E54A8);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E54CC);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E555C);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E55A8);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E5648);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E5670);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E5690);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E56D0);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E56EC);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E578C);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E57E4);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E5800);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E581C);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E586C);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E5E50);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E5F50);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105700_len_2130", func_802E5F7C);
|
||||
entity_init_Hammer23Block_normal(entity);
|
||||
entity->unk_3C = func_802E455C;
|
||||
animMesh = get_anim_mesh(entity->virtualModelIndex);
|
||||
animMesh->renderMode = 0x11;
|
||||
animMesh->flags |= 0x10000;
|
||||
}
|
||||
|
63
src/code_105f90.c
Normal file
63
src/code_105f90.c
Normal file
@ -0,0 +1,63 @@
|
||||
#include "common.h"
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E4710);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E4730);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E4AEC);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E4B10);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E4B60);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E4C10);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E4DE0);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E4E04);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E5308);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E5324);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E540C);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E5428);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E545C);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E548C);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E54A8);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E54CC);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E555C);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E55A8);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E5648);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E5670);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E5690);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E56D0);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E56EC);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E578C);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E57E4);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E5800);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E581C);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E586C);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E5E50);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E5F50);
|
||||
|
||||
INCLUDE_ASM(s32, "code_105f90", func_802E5F7C);
|
@ -101,7 +101,7 @@ void func_802E8E10(Entity* entity) {
|
||||
|
||||
D_8009A650[0] &= ~0x40;
|
||||
entity->boundScript = triggerScriptStart;
|
||||
func_80110678();
|
||||
func_80110678(entity);
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "code_109660_len_1270", push_entity_matrix);
|
||||
|
@ -222,7 +222,7 @@ INCLUDE_ASM(s32, "os/code_4ac90_len_3910", func_80072170);
|
||||
|
||||
INCLUDE_ASM(s32, "os/code_4ac90_len_3910", func_800721D0);
|
||||
|
||||
INCLUDE_ASM(void, "os/code_4ac90_len_3910", func_80072230, s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
|
||||
INCLUDE_ASM(UNK_TYPE, "os/code_4ac90_len_3910", func_80072230, s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
|
||||
|
||||
INCLUDE_ASM(s32, "os/code_4ac90_len_3910", func_80072290);
|
||||
|
||||
|
@ -59,7 +59,7 @@ Vec4f M(entryList)[] = {
|
||||
MapConfig M(config) = {
|
||||
.main = M(Main),
|
||||
.entryList = M(entryList),
|
||||
.entryCount = ENTRY_COUNT(M(entryList)),
|
||||
.entryCount = ARRAY_COUNT(M(entryList)),
|
||||
.background = &gBackgroundImage,
|
||||
.tattle = MessageID_TATTLE_KMR_03,
|
||||
};
|
||||
|
@ -8,7 +8,7 @@ Vec4f M(entryList)[] = {
|
||||
MapConfig M(config) = {
|
||||
.main = M(Main),
|
||||
.entryList = M(entryList),
|
||||
.entryCount = ENTRY_COUNT(M(entryList)),
|
||||
.entryCount = ARRAY_COUNT(M(entryList)),
|
||||
.background = &gBackgroundImage,
|
||||
.tattle = MessageID_TATTLE_KMR_12,
|
||||
};
|
||||
|
@ -5,7 +5,7 @@
|
||||
Script M(Main);
|
||||
s32 M(npcGroupList_80240768)[];
|
||||
|
||||
EntryList M(entryList) = {
|
||||
Vec4f M(entryList)[] = {
|
||||
{ -475.0f, 0.0f, 0.0f, 90.0f },
|
||||
{ 475.0f, 0.0f, 0.0f, 270.0f },
|
||||
{ 0.0f, 0.0f, -475.0f, 180.0f },
|
||||
@ -15,7 +15,7 @@ EntryList M(entryList) = {
|
||||
MapConfig M(config) = {
|
||||
.main = M(Main),
|
||||
.entryList = M(entryList),
|
||||
.entryCount = ENTRY_COUNT(M(entryList)),
|
||||
.entryCount = ARRAY_COUNT(M(entryList)),
|
||||
.background = &gBackgroundImage,
|
||||
.tattle = 0x190060,
|
||||
};
|
||||
|
@ -5,7 +5,7 @@
|
||||
Script M(Main);
|
||||
s32 M(npcGroupList_802407D8)[];
|
||||
|
||||
EntryList M(entryList) = {
|
||||
Vec4f M(entryList)[] = {
|
||||
{ -475.0f, 0.0f, 0.0f, 90.0f },
|
||||
{ 475.0f, 0.0f, 0.0f, 270.0f },
|
||||
{ 0.0f, 0.0f, -475.0f, 180.0f },
|
||||
@ -15,7 +15,7 @@ EntryList M(entryList) = {
|
||||
MapConfig M(config) = {
|
||||
.main = M(Main),
|
||||
.entryList = M(entryList),
|
||||
.entryCount = ENTRY_COUNT(M(entryList)),
|
||||
.entryCount = ARRAY_COUNT(M(entryList)),
|
||||
.background = &gBackgroundImage,
|
||||
.tattle = 0x190061,
|
||||
};
|
||||
|
@ -284,6 +284,7 @@ segments:
|
||||
- [0x102C80, "c", "code_102c80"]
|
||||
- [0x104940, "c", "code_104940_len_dc0"]
|
||||
- [0x105700, "c", "code_105700_len_2130"]
|
||||
- [0x105F90, "c", "code_105f90"]
|
||||
- [0x107830, "c", "code_107830_len_e70"]
|
||||
- [0x1086a0, "c", "code_1086a0_len_fc0"]
|
||||
- [0x109660, "c", "code_109660_len_1270"]
|
||||
|
@ -355,6 +355,17 @@ D_802EB208 = 0x802EB208;
|
||||
D_802E9E54 = 0x802E9E54;
|
||||
D_802EA07C = 0x802EA07C;
|
||||
|
||||
D_802EB3B0 = 0x802EB3B0;
|
||||
D_00000094 = 0x00000094;
|
||||
D_00000094_2 = 0x00000094;
|
||||
D_802EA0A0 = 0x802EA0A0;
|
||||
D_802EA07C = 0x802EA07C;
|
||||
D_802EA310 = 0x802EA310;
|
||||
D_802EA618 = 0x802EA618;
|
||||
D_802EA63C = 0x802EA63C;
|
||||
D_802EA660 = 0x802EA660;
|
||||
D_8015C7D2 = 0x8015C7D2;
|
||||
|
||||
D_0A0031E0 = 0x0A0031E0;
|
||||
D_0A001508 = 0x0A001508;
|
||||
D_0A0031B0 = 0x0A0031B0;
|
||||
|
Loading…
Reference in New Issue
Block a user