1
0
mirror of https://github.com/blawar/ooot.git synced 2024-07-02 09:03:36 +00:00

Fixed merge conflict

This commit is contained in:
Lucas Shaw 2020-03-22 22:57:24 -07:00
commit 6a45dcba7f
1126 changed files with 14375 additions and 23498 deletions

23
.clang-format Normal file
View File

@ -0,0 +1,23 @@
IndentWidth: 4
Language: Cpp
UseTab: Never
ColumnLimit: 120
PointerAlignment: Left
BreakBeforeBraces: Attach
SpaceAfterCStyleCast: false
Cpp11BracedListStyle: false
IndentCaseLabels: true
BinPackArguments: true
BinPackParameters: true
AlignAfterOpenBracket: Align
AlignOperands: true
BreakBeforeTernaryOperators: true
BreakBeforeBinaryOperators: None
AllowShortBlocksOnASingleLine: true
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: false
AlignEscapedNewlines: Left
AlignTrailingComments: true
SortIncludes: false

5
.clang-tidy Normal file
View File

@ -0,0 +1,5 @@
Checks: '-*,readability-braces-around-statements'
WarningsAsErrors: ''
HeaderFilterRegex: '(src|include)\/.*\.h$'
FormatStyle: 'file'
CheckOptions:

View File

@ -1,82 +0,0 @@
glabel FaultDrawer_DrawRecImpl
/* B4D920 800D6780 3C0EFFFA */ lui $t6, (0xFFFA5A5A >> 16) # lui $t6, 0xfffa
/* B4D924 800D6784 03A07825 */ move $t7, $sp
/* B4D928 800D6788 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B4D92C 800D678C 35CE5A5A */ ori $t6, (0xFFFA5A5A & 0xFFFF) # ori $t6, $t6, 0x5a5a
.L800D6790:
/* B4D930 800D6790 25EFFFF8 */ addiu $t7, $t7, -8
/* B4D934 800D6794 ADEE0000 */ sw $t6, ($t7)
/* B4D938 800D6798 15FDFFFD */ bne $t7, $sp, .L800D6790
/* B4D93C 800D679C ADEE0004 */ sw $t6, 4($t7)
/* B4D940 800D67A0 3C0D8017 */ lui $t5, %hi(sFaultDrawerStruct) # $t5, 0x8017
/* B4D944 800D67A4 25ADB680 */ addiu $t5, %lo(sFaultDrawerStruct) # addiu $t5, $t5, -0x4980
/* B4D948 800D67A8 AFBF0014 */ sw $ra, 0x14($sp)
/* B4D94C 800D67AC 95A90004 */ lhu $t1, 4($t5)
/* B4D950 800D67B0 95AE0006 */ lhu $t6, 6($t5)
/* B4D954 800D67B4 00C41823 */ subu $v1, $a2, $a0
/* B4D958 800D67B8 00E55823 */ subu $t3, $a3, $a1
/* B4D95C 800D67BC 24630001 */ addiu $v1, $v1, 1
/* B4D960 800D67C0 256B0001 */ addiu $t3, $t3, 1
/* B4D964 800D67C4 01241023 */ subu $v0, $t1, $a0
/* B4D968 800D67C8 00604025 */ move $t0, $v1
/* B4D96C 800D67CC 01605025 */ move $t2, $t3
/* B4D970 800D67D0 1840002E */ blez $v0, .L800D688C
/* B4D974 800D67D4 01C56023 */ subu $t4, $t6, $a1
/* B4D978 800D67D8 1980002C */ blez $t4, .L800D688C
/* B4D97C 800D67DC 0043082A */ slt $at, $v0, $v1
/* B4D980 800D67E0 50200003 */ beql $at, $zero, .L800D67F0
/* B4D984 800D67E4 018B082A */ slt $at, $t4, $t3
/* B4D988 800D67E8 00404025 */ move $t0, $v0
/* B4D98C 800D67EC 018B082A */ slt $at, $t4, $t3
.L800D67F0:
/* B4D990 800D67F0 10200002 */ beqz $at, .L800D67FC
/* B4D994 800D67F4 00000000 */ nop
/* B4D998 800D67F8 01805025 */ move $t2, $t4
.L800D67FC:
/* B4D99C 800D67FC 01250019 */ multu $t1, $a1
/* B4D9A0 800D6800 8DB90000 */ lw $t9, ($t5)
/* B4D9A4 800D6804 00003825 */ move $a3, $zero
/* B4D9A8 800D6808 00007812 */ mflo $t7
/* B4D9AC 800D680C 000FC040 */ sll $t8, $t7, 1
/* B4D9B0 800D6810 00047840 */ sll $t7, $a0, 1
/* B4D9B4 800D6814 03197021 */ addu $t6, $t8, $t9
/* B4D9B8 800D6818 1940001A */ blez $t2, .L800D6884
/* B4D9BC 800D681C 01CF1021 */ addu $v0, $t6, $t7
/* B4D9C0 800D6820 97A4002A */ lhu $a0, 0x2a($sp)
.L800D6824:
/* B4D9C4 800D6824 19000012 */ blez $t0, .L800D6870
/* B4D9C8 800D6828 00001825 */ move $v1, $zero
/* B4D9CC 800D682C 31060003 */ andi $a2, $t0, 3
/* B4D9D0 800D6830 10C00007 */ beqz $a2, .L800D6850
/* B4D9D4 800D6834 3C098017 */ lui $t1, %hi(sFaultDrawerStruct+4) # $t1, 0x8017
/* B4D9D8 800D6838 00C02825 */ move $a1, $a2
.L800D683C:
/* B4D9DC 800D683C 24630001 */ addiu $v1, $v1, 1
/* B4D9E0 800D6840 A4440000 */ sh $a0, ($v0)
/* B4D9E4 800D6844 14A3FFFD */ bne $a1, $v1, .L800D683C
/* B4D9E8 800D6848 24420002 */ addiu $v0, $v0, 2
/* B4D9EC 800D684C 10680007 */ beq $v1, $t0, .L800D686C
.L800D6850:
/* B4D9F0 800D6850 24630004 */ addiu $v1, $v1, 4
/* B4D9F4 800D6854 A4440002 */ sh $a0, 2($v0)
/* B4D9F8 800D6858 A4440004 */ sh $a0, 4($v0)
/* B4D9FC 800D685C A4440006 */ sh $a0, 6($v0)
/* B4DA00 800D6860 24420008 */ addiu $v0, $v0, 8
/* B4DA04 800D6864 1468FFFA */ bne $v1, $t0, .L800D6850
/* B4DA08 800D6868 A444FFF8 */ sh $a0, -8($v0)
.L800D686C:
/* B4DA0C 800D686C 9529B684 */ lhu $t1, %lo(sFaultDrawerStruct+4)($t1)
.L800D6870:
/* B4DA10 800D6870 0128C023 */ subu $t8, $t1, $t0
/* B4DA14 800D6874 24E70001 */ addiu $a3, $a3, 1
/* B4DA18 800D6878 0018C840 */ sll $t9, $t8, 1
/* B4DA1C 800D687C 14EAFFE9 */ bne $a3, $t2, .L800D6824
/* B4DA20 800D6880 00591021 */ addu $v0, $v0, $t9
.L800D6884:
/* B4DA24 800D6884 0C041924 */ jal osWritebackDCacheAll
/* B4DA28 800D6888 00000000 */ nop
.L800D688C:
/* B4DA2C 800D688C 8FBF0014 */ lw $ra, 0x14($sp)
/* B4DA30 800D6890 27BD0018 */ addiu $sp, $sp, 0x18
/* B4DA34 800D6894 03E00008 */ jr $ra
/* B4DA38 800D6898 00000000 */ nop

View File

@ -1,388 +0,0 @@
.rdata
glabel D_80136160
.asciz "../z_actor.c"
.balign 4
glabel D_80136170
.asciz "../z_actor.c"
.balign 4
.text
glabel TitleCard_Draw
/* AA414C 8002CFAC 27BDFF30 */ addiu $sp, $sp, -0xd0
/* AA4150 8002CFB0 AFBF0014 */ sw $ra, 0x14($sp)
/* AA4154 8002CFB4 AFA400D0 */ sw $a0, 0xd0($sp)
/* AA4158 8002CFB8 AFA500D4 */ sw $a1, 0xd4($sp)
/* AA415C 8002CFBC 84AF000C */ lh $t7, 0xc($a1)
/* AA4160 8002CFC0 3C068013 */ lui $a2, %hi(D_80136160) # $a2, 0x8013
/* AA4164 8002CFC4 24C66160 */ addiu $a2, %lo(D_80136160) # addiu $a2, $a2, 0x6160
/* AA4168 8002CFC8 51E00159 */ beql $t7, $zero, .L8002D530
/* AA416C 8002CFCC 8FBF0014 */ lw $ra, 0x14($sp)
/* AA4170 8002CFD0 90AA0008 */ lbu $t2, 8($a1)
/* AA4174 8002CFD4 84B80004 */ lh $t8, 4($a1)
/* AA4178 8002CFD8 90A90009 */ lbu $t1, 9($a1)
/* AA417C 8002CFDC 000A1040 */ sll $v0, $t2, 1
/* AA4180 8002CFE0 0018C880 */ sll $t9, $t8, 2
/* AA4184 8002CFE4 03227823 */ subu $t7, $t9, $v0
/* AA4188 8002CFE8 AFAF00C0 */ sw $t7, 0xc0($sp)
/* AA418C 8002CFEC 84B80006 */ lh $t8, 6($a1)
/* AA4190 8002CFF0 00097840 */ sll $t7, $t1, 1
/* AA4194 8002CFF4 24070B08 */ li $a3, 2824
/* AA4198 8002CFF8 0018C880 */ sll $t9, $t8, 2
/* AA419C 8002CFFC 032F7023 */ subu $t6, $t9, $t7
/* AA41A0 8002D000 AFAE00B8 */ sw $t6, 0xb8($sp)
/* AA41A4 8002D004 8C850000 */ lw $a1, ($a0)
/* AA41A8 8002D008 AFA20038 */ sw $v0, 0x38($sp)
/* AA41AC 8002D00C 27A4009C */ addiu $a0, $sp, 0x9c
/* AA41B0 8002D010 AFAA00CC */ sw $t2, 0xcc($sp)
/* AA41B4 8002D014 AFA900C8 */ sw $t1, 0xc8($sp)
/* AA41B8 8002D018 0C031AB1 */ jal func_800C6AC4
/* AA41BC 8002D01C AFA500AC */ sw $a1, 0xac($sp)
/* AA41C0 8002D020 8FA900C8 */ lw $t1, 0xc8($sp)
/* AA41C4 8002D024 8FAA00CC */ lw $t2, 0xcc($sp)
/* AA41C8 8002D028 3C198016 */ lui $t9, %hi(gSaveContext+0x1409) # $t9, 0x8016
/* AA41CC 8002D02C 9339FA69 */ lbu $t9, %lo(gSaveContext+0x1409)($t9)
/* AA41D0 8002D030 01490019 */ multu $t2, $t1
/* AA41D4 8002D034 8FA800AC */ lw $t0, 0xac($sp)
/* AA41D8 8002D038 8FAB00D4 */ lw $t3, 0xd4($sp)
/* AA41DC 8002D03C 240E1000 */ li $t6, 4096
/* AA41E0 8002D040 00002812 */ mflo $a1
/* AA41E4 8002D044 28A11001 */ slti $at, $a1, 0x1001
/* AA41E8 8002D048 00000000 */ nop
/* AA41EC 8002D04C 00B90019 */ multu $a1, $t9
/* AA41F0 8002D050 8FB900B8 */ lw $t9, 0xb8($sp)
/* AA41F4 8002D054 00007812 */ mflo $t7
/* AA41F8 8002D058 AFAF00B0 */ sw $t7, 0xb0($sp)
/* AA41FC 8002D05C 54200011 */ bnezl $at, .L8002D0A4
/* AA4200 8002D060 0009C080 */ sll $t8, $t1, 2
/* AA4204 8002D064 01CA001A */ div $zero, $t6, $t2
/* AA4208 8002D068 00004812 */ mflo $t1
/* AA420C 8002D06C 15400002 */ bnez $t2, .L8002D078
/* AA4210 8002D070 00000000 */ nop
/* AA4214 8002D074 0007000D */ break 7
.L8002D078:
/* AA4218 8002D078 2401FFFF */ li $at, -1
/* AA421C 8002D07C 15410004 */ bne $t2, $at, .L8002D090
/* AA4220 8002D080 3C018000 */ lui $at, 0x8000
/* AA4224 8002D084 15C10002 */ bne $t6, $at, .L8002D090
/* AA4228 8002D088 00000000 */ nop
/* AA422C 8002D08C 0006000D */ break 6
.L8002D090:
/* AA4230 8002D090 01490019 */ multu $t2, $t1
/* AA4234 8002D094 00002812 */ mflo $a1
/* AA4238 8002D098 00000000 */ nop
/* AA423C 8002D09C 00000000 */ nop
/* AA4240 8002D0A0 0009C080 */ sll $t8, $t1, 2
.L8002D0A4:
/* AA4244 8002D0A4 03196021 */ addu $t4, $t8, $t9
/* AA4248 8002D0A8 AFAC00B4 */ sw $t4, 0xb4($sp)
/* AA424C 8002D0AC 8D0402B0 */ lw $a0, 0x2b0($t0)
/* AA4250 8002D0B0 AFAC0030 */ sw $t4, 0x30($sp)
/* AA4254 8002D0B4 AFAA00CC */ sw $t2, 0xcc($sp)
/* AA4258 8002D0B8 AFA900C8 */ sw $t1, 0xc8($sp)
/* AA425C 8002D0BC AFA800AC */ sw $t0, 0xac($sp)
/* AA4260 8002D0C0 0C024E02 */ jal func_80093808
/* AA4264 8002D0C4 AFA50034 */ sw $a1, 0x34($sp)
/* AA4268 8002D0C8 8FA800AC */ lw $t0, 0xac($sp)
/* AA426C 8002D0CC 8FA50034 */ lw $a1, 0x34($sp)
/* AA4270 8002D0D0 8FAA00CC */ lw $t2, 0xcc($sp)
/* AA4274 8002D0D4 8FAB00D4 */ lw $t3, 0xd4($sp)
/* AA4278 8002D0D8 8FA900C8 */ lw $t1, 0xc8($sp)
/* AA427C 8002D0DC 8FAC0030 */ lw $t4, 0x30($sp)
/* AA4280 8002D0E0 244F0008 */ addiu $t7, $v0, 8
/* AA4284 8002D0E4 AD0202B0 */ sw $v0, 0x2b0($t0)
/* AA4288 8002D0E8 3C0EFA00 */ lui $t6, 0xfa00
/* AA428C 8002D0EC AD0F02B0 */ sw $t7, 0x2b0($t0)
/* AA4290 8002D0F0 AC4E0000 */ sw $t6, ($v0)
/* AA4294 8002D0F4 9163000F */ lbu $v1, 0xf($t3)
/* AA4298 8002D0F8 01403825 */ move $a3, $t2
/* AA429C 8002D0FC 24ED0007 */ addiu $t5, $a3, 7
/* AA42A0 8002D100 0003C600 */ sll $t8, $v1, 0x18
/* AA42A4 8002D104 0003CC00 */ sll $t9, $v1, 0x10
/* AA42A8 8002D108 03197825 */ or $t7, $t8, $t9
/* AA42AC 8002D10C 00037200 */ sll $t6, $v1, 8
/* AA42B0 8002D110 01EEC025 */ or $t8, $t7, $t6
/* AA42B4 8002D114 916F000D */ lbu $t7, 0xd($t3)
/* AA42B8 8002D118 24A30001 */ addiu $v1, $a1, 1
/* AA42BC 8002D11C 00031843 */ sra $v1, $v1, 1
/* AA42C0 8002D120 030F7025 */ or $t6, $t8, $t7
/* AA42C4 8002D124 AC4E0004 */ sw $t6, 4($v0)
/* AA42C8 8002D128 8D0202B0 */ lw $v0, 0x2b0($t0)
/* AA42CC 8002D12C 3C18FD70 */ lui $t8, 0xfd70
/* AA42D0 8002D130 2463FFFF */ addiu $v1, $v1, -1
/* AA42D4 8002D134 24590008 */ addiu $t9, $v0, 8
/* AA42D8 8002D138 AD1902B0 */ sw $t9, 0x2b0($t0)
/* AA42DC 8002D13C AC580000 */ sw $t8, ($v0)
/* AA42E0 8002D140 8FAE00B0 */ lw $t6, 0xb0($sp)
/* AA42E4 8002D144 8D6F0000 */ lw $t7, ($t3)
/* AA42E8 8002D148 000D68C3 */ sra $t5, $t5, 3
/* AA42EC 8002D14C 31AD01FF */ andi $t5, $t5, 0x1ff
/* AA42F0 8002D150 01EEC821 */ addu $t9, $t7, $t6
/* AA42F4 8002D154 AC590004 */ sw $t9, 4($v0)
/* AA42F8 8002D158 8D0202B0 */ lw $v0, 0x2b0($t0)
/* AA42FC 8002D15C 3C0E0700 */ lui $t6, 0x700
/* AA4300 8002D160 3C0FF570 */ lui $t7, 0xf570
/* AA4304 8002D164 24580008 */ addiu $t8, $v0, 8
/* AA4308 8002D168 AD1802B0 */ sw $t8, 0x2b0($t0)
/* AA430C 8002D16C AC4E0004 */ sw $t6, 4($v0)
/* AA4310 8002D170 AC4F0000 */ sw $t7, ($v0)
/* AA4314 8002D174 8D0202B0 */ lw $v0, 0x2b0($t0)
/* AA4318 8002D178 3C18E600 */ lui $t8, 0xe600
/* AA431C 8002D17C 3C0EF300 */ lui $t6, 0xf300
/* AA4320 8002D180 24590008 */ addiu $t9, $v0, 8
/* AA4324 8002D184 AD1902B0 */ sw $t9, 0x2b0($t0)
/* AA4328 8002D188 AC400004 */ sw $zero, 4($v0)
/* AA432C 8002D18C AC580000 */ sw $t8, ($v0)
/* AA4330 8002D190 8D0602B0 */ lw $a2, 0x2b0($t0)
/* AA4334 8002D194 286107FF */ slti $at, $v1, 0x7ff
/* AA4338 8002D198 000D6A40 */ sll $t5, $t5, 9
/* AA433C 8002D19C 24CF0008 */ addiu $t7, $a2, 8
/* AA4340 8002D1A0 AD0F02B0 */ sw $t7, 0x2b0($t0)
/* AA4344 8002D1A4 10200003 */ beqz $at, .L8002D1B4
/* AA4348 8002D1A8 ACCE0000 */ sw $t6, ($a2)
/* AA434C 8002D1AC 10000002 */ b .L8002D1B8
/* AA4350 8002D1B0 00602025 */ move $a0, $v1
.L8002D1B4:
/* AA4354 8002D1B4 240407FF */ li $a0, 2047
.L8002D1B8:
/* AA4358 8002D1B8 04E10003 */ bgez $a3, .L8002D1C8
/* AA435C 8002D1BC 000728C3 */ sra $a1, $a3, 3
/* AA4360 8002D1C0 24E10007 */ addiu $at, $a3, 7
/* AA4364 8002D1C4 000128C3 */ sra $a1, $at, 3
.L8002D1C8:
/* AA4368 8002D1C8 1CA00003 */ bgtz $a1, .L8002D1D8
/* AA436C 8002D1CC 2547FFFF */ addiu $a3, $t2, -1
/* AA4370 8002D1D0 10000002 */ b .L8002D1DC
/* AA4374 8002D1D4 24030001 */ li $v1, 1
.L8002D1D8:
/* AA4378 8002D1D8 00A01825 */ move $v1, $a1
.L8002D1DC:
/* AA437C 8002D1DC 1CA00003 */ bgtz $a1, .L8002D1EC
/* AA4380 8002D1E0 247907FF */ addiu $t9, $v1, 0x7ff
/* AA4384 8002D1E4 10000002 */ b .L8002D1F0
/* AA4388 8002D1E8 24020001 */ li $v0, 1
.L8002D1EC:
/* AA438C 8002D1EC 00A01025 */ move $v0, $a1
.L8002D1F0:
/* AA4390 8002D1F0 0322001A */ div $zero, $t9, $v0
/* AA4394 8002D1F4 14400002 */ bnez $v0, .L8002D200
/* AA4398 8002D1F8 00000000 */ nop
/* AA439C 8002D1FC 0007000D */ break 7
.L8002D200:
/* AA43A0 8002D200 2401FFFF */ li $at, -1
/* AA43A4 8002D204 14410004 */ bne $v0, $at, .L8002D218
/* AA43A8 8002D208 3C018000 */ lui $at, 0x8000
/* AA43AC 8002D20C 17210002 */ bne $t9, $at, .L8002D218
/* AA43B0 8002D210 00000000 */ nop
/* AA43B4 8002D214 0006000D */ break 6
.L8002D218:
/* AA43B8 8002D218 0000C012 */ mflo $t8
/* AA43BC 8002D21C 330F0FFF */ andi $t7, $t8, 0xfff
/* AA43C0 8002D220 3C010700 */ lui $at, 0x700
/* AA43C4 8002D224 30990FFF */ andi $t9, $a0, 0xfff
/* AA43C8 8002D228 0019C300 */ sll $t8, $t9, 0xc
/* AA43CC 8002D22C 01E17025 */ or $t6, $t7, $at
/* AA43D0 8002D230 01D87825 */ or $t7, $t6, $t8
/* AA43D4 8002D234 ACCF0004 */ sw $t7, 4($a2)
/* AA43D8 8002D238 8D0202B0 */ lw $v0, 0x2b0($t0)
/* AA43DC 8002D23C 3C0EE700 */ lui $t6, 0xe700
/* AA43E0 8002D240 3C01F568 */ lui $at, 0xf568
/* AA43E4 8002D244 24590008 */ addiu $t9, $v0, 8
/* AA43E8 8002D248 AD1902B0 */ sw $t9, 0x2b0($t0)
/* AA43EC 8002D24C AC400004 */ sw $zero, 4($v0)
/* AA43F0 8002D250 AC4E0000 */ sw $t6, ($v0)
/* AA43F4 8002D254 8D0202B0 */ lw $v0, 0x2b0($t0)
/* AA43F8 8002D258 01A16825 */ or $t5, $t5, $at
/* AA43FC 8002D25C 252EFFFF */ addiu $t6, $t1, -1
/* AA4400 8002D260 24580008 */ addiu $t8, $v0, 8
/* AA4404 8002D264 AD1802B0 */ sw $t8, 0x2b0($t0)
/* AA4408 8002D268 AC400004 */ sw $zero, 4($v0)
/* AA440C 8002D26C AC4D0000 */ sw $t5, ($v0)
/* AA4410 8002D270 8D0202B0 */ lw $v0, 0x2b0($t0)
/* AA4414 8002D274 00073880 */ sll $a3, $a3, 2
/* AA4418 8002D278 30E70FFF */ andi $a3, $a3, 0xfff
/* AA441C 8002D27C 244F0008 */ addiu $t7, $v0, 8
/* AA4420 8002D280 AD0F02B0 */ sw $t7, 0x2b0($t0)
/* AA4424 8002D284 000EC080 */ sll $t8, $t6, 2
/* AA4428 8002D288 3C19F200 */ lui $t9, 0xf200
/* AA442C 8002D28C 330F0FFF */ andi $t7, $t8, 0xfff
/* AA4430 8002D290 00073B00 */ sll $a3, $a3, 0xc
/* AA4434 8002D294 AC590000 */ sw $t9, ($v0)
/* AA4438 8002D298 00EFC825 */ or $t9, $a3, $t7
/* AA443C 8002D29C AC590004 */ sw $t9, 4($v0)
/* AA4440 8002D2A0 8D0202B0 */ lw $v0, 0x2b0($t0)
/* AA4444 8002D2A4 8FA600C0 */ lw $a2, 0xc0($sp)
/* AA4448 8002D2A8 2599FFFF */ addiu $t9, $t4, -1
/* AA444C 8002D2AC 244E0008 */ addiu $t6, $v0, 8
/* AA4450 8002D2B0 AD0E02B0 */ sw $t6, 0x2b0($t0)
/* AA4454 8002D2B4 8FB80038 */ lw $t8, 0x38($sp)
/* AA4458 8002D2B8 3C01E400 */ lui $at, 0xe400
/* AA445C 8002D2BC 332E0FFF */ andi $t6, $t9, 0xfff
/* AA4460 8002D2C0 00187840 */ sll $t7, $t8, 1
/* AA4464 8002D2C4 01E62021 */ addu $a0, $t7, $a2
/* AA4468 8002D2C8 2484FFFC */ addiu $a0, $a0, -4
/* AA446C 8002D2CC 30840FFF */ andi $a0, $a0, 0xfff
/* AA4470 8002D2D0 00042300 */ sll $a0, $a0, 0xc
/* AA4474 8002D2D4 00812025 */ or $a0, $a0, $at
/* AA4478 8002D2D8 008EC025 */ or $t8, $a0, $t6
/* AA447C 8002D2DC AC580000 */ sw $t8, ($v0)
/* AA4480 8002D2E0 8FAF00B8 */ lw $t7, 0xb8($sp)
/* AA4484 8002D2E4 30DF0FFF */ andi $ra, $a2, 0xfff
/* AA4488 8002D2E8 001FFB00 */ sll $ra, $ra, 0xc
/* AA448C 8002D2EC 31F90FFF */ andi $t9, $t7, 0xfff
/* AA4490 8002D2F0 03F97025 */ or $t6, $ra, $t9
/* AA4494 8002D2F4 AC4E0004 */ sw $t6, 4($v0)
/* AA4498 8002D2F8 AFA4001C */ sw $a0, 0x1c($sp)
/* AA449C 8002D2FC 8D0202B0 */ lw $v0, 0x2b0($t0)
/* AA44A0 8002D300 3C0CE100 */ lui $t4, 0xe100
/* AA44A4 8002D304 3C0E0400 */ lui $t6, (0x04000400 >> 16) # lui $t6, 0x400
/* AA44A8 8002D308 24580008 */ addiu $t8, $v0, 8
/* AA44AC 8002D30C AD1802B0 */ sw $t8, 0x2b0($t0)
/* AA44B0 8002D310 AC400004 */ sw $zero, 4($v0)
/* AA44B4 8002D314 AC4C0000 */ sw $t4, ($v0)
/* AA44B8 8002D318 8D0202B0 */ lw $v0, 0x2b0($t0)
/* AA44BC 8002D31C 35CE0400 */ ori $t6, (0x04000400 & 0xFFFF) # ori $t6, $t6, 0x400
/* AA44C0 8002D320 3C19F100 */ lui $t9, 0xf100
/* AA44C4 8002D324 244F0008 */ addiu $t7, $v0, 8
/* AA44C8 8002D328 AD0F02B0 */ sw $t7, 0x2b0($t0)
/* AA44CC 8002D32C AC4E0004 */ sw $t6, 4($v0)
/* AA44D0 8002D330 AC590000 */ sw $t9, ($v0)
/* AA44D4 8002D334 91780009 */ lbu $t8, 9($t3)
/* AA44D8 8002D338 00401825 */ move $v1, $v0
/* AA44DC 8002D33C 03094823 */ subu $t1, $t8, $t1
/* AA44E0 8002D340 59200074 */ blezl $t1, .L8002D514
/* AA44E4 8002D344 8FB800D0 */ lw $t8, 0xd0($sp)
/* AA44E8 8002D348 8D0202B0 */ lw $v0, 0x2b0($t0)
/* AA44EC 8002D34C 3C19FD70 */ lui $t9, 0xfd70
/* AA44F0 8002D350 01490019 */ multu $t2, $t1
/* AA44F4 8002D354 244F0008 */ addiu $t7, $v0, 8
/* AA44F8 8002D358 AD0F02B0 */ sw $t7, 0x2b0($t0)
/* AA44FC 8002D35C AC590000 */ sw $t9, ($v0)
/* AA4500 8002D360 8FB800B0 */ lw $t8, 0xb0($sp)
/* AA4504 8002D364 8D6E0000 */ lw $t6, ($t3)
/* AA4508 8002D368 240407FF */ li $a0, 2047
/* AA450C 8002D36C 01D87821 */ addu $t7, $t6, $t8
/* AA4510 8002D370 25F91000 */ addiu $t9, $t7, 0x1000
/* AA4514 8002D374 AC590004 */ sw $t9, 4($v0)
/* AA4518 8002D378 8D0202B0 */ lw $v0, 0x2b0($t0)
/* AA451C 8002D37C 3C0F0700 */ lui $t7, 0x700
/* AA4520 8002D380 3C18F570 */ lui $t8, 0xf570
/* AA4524 8002D384 244E0008 */ addiu $t6, $v0, 8
/* AA4528 8002D388 AD0E02B0 */ sw $t6, 0x2b0($t0)
/* AA452C 8002D38C AC4F0004 */ sw $t7, 4($v0)
/* AA4530 8002D390 AC580000 */ sw $t8, ($v0)
/* AA4534 8002D394 8D0202B0 */ lw $v0, 0x2b0($t0)
/* AA4538 8002D398 3C0EE600 */ lui $t6, 0xe600
/* AA453C 8002D39C 00001812 */ mflo $v1
/* AA4540 8002D3A0 24590008 */ addiu $t9, $v0, 8
/* AA4544 8002D3A4 AD1902B0 */ sw $t9, 0x2b0($t0)
/* AA4548 8002D3A8 AC400004 */ sw $zero, 4($v0)
/* AA454C 8002D3AC AC4E0000 */ sw $t6, ($v0)
/* AA4550 8002D3B0 8D0602B0 */ lw $a2, 0x2b0($t0)
/* AA4554 8002D3B4 24630001 */ addiu $v1, $v1, 1
/* AA4558 8002D3B8 00031843 */ sra $v1, $v1, 1
/* AA455C 8002D3BC 2463FFFF */ addiu $v1, $v1, -1
/* AA4560 8002D3C0 24D80008 */ addiu $t8, $a2, 8
/* AA4564 8002D3C4 AD1802B0 */ sw $t8, 0x2b0($t0)
/* AA4568 8002D3C8 286107FF */ slti $at, $v1, 0x7ff
/* AA456C 8002D3CC 3C0FF300 */ lui $t7, 0xf300
/* AA4570 8002D3D0 10200003 */ beqz $at, .L8002D3E0
/* AA4574 8002D3D4 ACCF0000 */ sw $t7, ($a2)
/* AA4578 8002D3D8 10000001 */ b .L8002D3E0
/* AA457C 8002D3DC 00602025 */ move $a0, $v1
.L8002D3E0:
/* AA4580 8002D3E0 1CA00003 */ bgtz $a1, .L8002D3F0
/* AA4584 8002D3E4 00A01825 */ move $v1, $a1
/* AA4588 8002D3E8 10000001 */ b .L8002D3F0
/* AA458C 8002D3EC 24030001 */ li $v1, 1
.L8002D3F0:
/* AA4590 8002D3F0 1CA00003 */ bgtz $a1, .L8002D400
/* AA4594 8002D3F4 247907FF */ addiu $t9, $v1, 0x7ff
/* AA4598 8002D3F8 10000002 */ b .L8002D404
/* AA459C 8002D3FC 24020001 */ li $v0, 1
.L8002D400:
/* AA45A0 8002D400 00A01025 */ move $v0, $a1
.L8002D404:
/* AA45A4 8002D404 0322001A */ div $zero, $t9, $v0
/* AA45A8 8002D408 14400002 */ bnez $v0, .L8002D414
/* AA45AC 8002D40C 00000000 */ nop
/* AA45B0 8002D410 0007000D */ break 7
.L8002D414:
/* AA45B4 8002D414 2401FFFF */ li $at, -1
/* AA45B8 8002D418 14410004 */ bne $v0, $at, .L8002D42C
/* AA45BC 8002D41C 3C018000 */ lui $at, 0x8000
/* AA45C0 8002D420 17210002 */ bne $t9, $at, .L8002D42C
/* AA45C4 8002D424 00000000 */ nop
/* AA45C8 8002D428 0006000D */ break 6
.L8002D42C:
/* AA45CC 8002D42C 00007012 */ mflo $t6
/* AA45D0 8002D430 31D80FFF */ andi $t8, $t6, 0xfff
/* AA45D4 8002D434 3C010700 */ lui $at, 0x700
/* AA45D8 8002D438 30990FFF */ andi $t9, $a0, 0xfff
/* AA45DC 8002D43C 00197300 */ sll $t6, $t9, 0xc
/* AA45E0 8002D440 03017825 */ or $t7, $t8, $at
/* AA45E4 8002D444 01EEC025 */ or $t8, $t7, $t6
/* AA45E8 8002D448 ACD80004 */ sw $t8, 4($a2)
/* AA45EC 8002D44C 8D0202B0 */ lw $v0, 0x2b0($t0)
/* AA45F0 8002D450 3C0FE700 */ lui $t7, 0xe700
/* AA45F4 8002D454 24590008 */ addiu $t9, $v0, 8
/* AA45F8 8002D458 AD1902B0 */ sw $t9, 0x2b0($t0)
/* AA45FC 8002D45C AC400004 */ sw $zero, 4($v0)
/* AA4600 8002D460 AC4F0000 */ sw $t7, ($v0)
/* AA4604 8002D464 8D0202B0 */ lw $v0, 0x2b0($t0)
/* AA4608 8002D468 252FFFFF */ addiu $t7, $t1, -1
/* AA460C 8002D46C 3C19F200 */ lui $t9, 0xf200
/* AA4610 8002D470 244E0008 */ addiu $t6, $v0, 8
/* AA4614 8002D474 AD0E02B0 */ sw $t6, 0x2b0($t0)
/* AA4618 8002D478 AC400004 */ sw $zero, 4($v0)
/* AA461C 8002D47C AC4D0000 */ sw $t5, ($v0)
/* AA4620 8002D480 8D0202B0 */ lw $v0, 0x2b0($t0)
/* AA4624 8002D484 000F7080 */ sll $t6, $t7, 2
/* AA4628 8002D488 24580008 */ addiu $t8, $v0, 8
/* AA462C 8002D48C AD1802B0 */ sw $t8, 0x2b0($t0)
/* AA4630 8002D490 31D80FFF */ andi $t8, $t6, 0xfff
/* AA4634 8002D494 AC590000 */ sw $t9, ($v0)
/* AA4638 8002D498 00F8C825 */ or $t9, $a3, $t8
/* AA463C 8002D49C AC590004 */ sw $t9, 4($v0)
/* AA4640 8002D4A0 8D0202B0 */ lw $v0, 0x2b0($t0)
/* AA4644 8002D4A4 8FA400B4 */ lw $a0, 0xb4($sp)
/* AA4648 8002D4A8 0009C080 */ sll $t8, $t1, 2
/* AA464C 8002D4AC 244F0008 */ addiu $t7, $v0, 8
/* AA4650 8002D4B0 AD0F02B0 */ sw $t7, 0x2b0($t0)
/* AA4654 8002D4B4 0098C821 */ addu $t9, $a0, $t8
/* AA4658 8002D4B8 8FAE001C */ lw $t6, 0x1c($sp)
/* AA465C 8002D4BC 272FFFFF */ addiu $t7, $t9, -1
/* AA4660 8002D4C0 31F80FFF */ andi $t8, $t7, 0xfff
/* AA4664 8002D4C4 308F0FFF */ andi $t7, $a0, 0xfff
/* AA4668 8002D4C8 01D8C825 */ or $t9, $t6, $t8
/* AA466C 8002D4CC 03EF7025 */ or $t6, $ra, $t7
/* AA4670 8002D4D0 AC4E0004 */ sw $t6, 4($v0)
/* AA4674 8002D4D4 AC590000 */ sw $t9, ($v0)
/* AA4678 8002D4D8 8D0202B0 */ lw $v0, 0x2b0($t0)
/* AA467C 8002D4DC 3C0E0400 */ lui $t6, (0x04000400 >> 16) # lui $t6, 0x400
/* AA4680 8002D4E0 35CE0400 */ ori $t6, (0x04000400 & 0xFFFF) # ori $t6, $t6, 0x400
/* AA4684 8002D4E4 24580008 */ addiu $t8, $v0, 8
/* AA4688 8002D4E8 AD1802B0 */ sw $t8, 0x2b0($t0)
/* AA468C 8002D4EC AC400004 */ sw $zero, 4($v0)
/* AA4690 8002D4F0 AC4C0000 */ sw $t4, ($v0)
/* AA4694 8002D4F4 8D0202B0 */ lw $v0, 0x2b0($t0)
/* AA4698 8002D4F8 3C0FF100 */ lui $t7, 0xf100
/* AA469C 8002D4FC 24590008 */ addiu $t9, $v0, 8
/* AA46A0 8002D500 AD1902B0 */ sw $t9, 0x2b0($t0)
/* AA46A4 8002D504 AC4E0004 */ sw $t6, 4($v0)
/* AA46A8 8002D508 AC4F0000 */ sw $t7, ($v0)
/* AA46AC 8002D50C 00401825 */ move $v1, $v0
/* AA46B0 8002D510 8FB800D0 */ lw $t8, 0xd0($sp)
.L8002D514:
/* AA46B4 8002D514 3C068013 */ lui $a2, %hi(D_80136170) # $a2, 0x8013
/* AA46B8 8002D518 24C66170 */ addiu $a2, %lo(D_80136170) # addiu $a2, $a2, 0x6170
/* AA46BC 8002D51C 27A4009C */ addiu $a0, $sp, 0x9c
/* AA46C0 8002D520 24070B40 */ li $a3, 2880
/* AA46C4 8002D524 0C031AD5 */ jal func_800C6B54
/* AA46C8 8002D528 8F050000 */ lw $a1, ($t8)
/* AA46CC 8002D52C 8FBF0014 */ lw $ra, 0x14($sp)
.L8002D530:
/* AA46D0 8002D530 27BD00D0 */ addiu $sp, $sp, 0xd0
/* AA46D4 8002D534 03E00008 */ jr $ra
/* AA46D8 8002D538 00000000 */ nop

View File

@ -1,52 +0,0 @@
glabel func_8006376C
/* ADA90C 8006376C 3C098012 */ lui $t1, %hi(D_8011E0B0) # $t1, 0x8012
/* ADA910 80063770 2529E0B0 */ addiu $t1, %lo(D_8011E0B0) # addiu $t1, $t1, -0x1f50
/* ADA914 80063774 85230000 */ lh $v1, ($t1)
/* ADA918 80063778 27BDFFF8 */ addiu $sp, $sp, -8
/* ADA91C 8006377C 3C0F8016 */ lui $t7, %hi(D_8015FA98) # $t7, 0x8016
/* ADA920 80063780 00037080 */ sll $t6, $v1, 2
/* ADA924 80063784 01C37023 */ subu $t6, $t6, $v1
/* ADA928 80063788 AFB00004 */ sw $s0, 4($sp)
/* ADA92C 8006378C AFA40008 */ sw $a0, 8($sp)
/* ADA930 80063790 AFA5000C */ sw $a1, 0xc($sp)
/* ADA934 80063794 AFA60010 */ sw $a2, 0x10($sp)
/* ADA938 80063798 000E70C0 */ sll $t6, $t6, 3
/* ADA93C 8006379C 25EFFA98 */ addiu $t7, %lo(D_8015FA98) # addiu $t7, $t7, -0x568
/* ADA940 800637A0 28610016 */ slti $at, $v1, 0x16
/* ADA944 800637A4 30C600FF */ andi $a2, $a2, 0xff
/* ADA948 800637A8 30A500FF */ andi $a1, $a1, 0xff
/* ADA94C 800637AC 308400FF */ andi $a0, $a0, 0xff
/* ADA950 800637B0 00E08025 */ move $s0, $a3
/* ADA954 800637B4 10200019 */ beqz $at, .L8006381C
/* ADA958 800637B8 01CF1021 */ addu $v0, $t6, $t7
/* ADA95C 800637BC A0440000 */ sb $a0, ($v0)
/* ADA960 800637C0 A0450001 */ sb $a1, 1($v0)
/* ADA964 800637C4 A0460002 */ sb $a2, 2($v0)
/* ADA968 800637C8 90E70000 */ lbu $a3, ($a3)
/* ADA96C 800637CC 00001825 */ move $v1, $zero
/* ADA970 800637D0 24480004 */ addiu $t0, $v0, 4
/* ADA974 800637D4 26100001 */ addiu $s0, $s0, 1
/* ADA978 800637D8 10E0000C */ beqz $a3, .L8006380C
/* ADA97C 800637DC A0470003 */ sb $a3, 3($v0)
.L800637E0:
/* ADA980 800637E0 28620015 */ slti $v0, $v1, 0x15
/* ADA984 800637E4 24630001 */ addiu $v1, $v1, 1
/* ADA988 800637E8 00031C00 */ sll $v1, $v1, 0x10
/* ADA98C 800637EC 38420001 */ xori $v0, $v0, 1
/* ADA990 800637F0 14400006 */ bnez $v0, .L8006380C
/* ADA994 800637F4 00031C03 */ sra $v1, $v1, 0x10
/* ADA998 800637F8 92070000 */ lbu $a3, ($s0)
/* ADA99C 800637FC 25080001 */ addiu $t0, $t0, 1
/* ADA9A0 80063800 26100001 */ addiu $s0, $s0, 1
/* ADA9A4 80063804 14E0FFF6 */ bnez $a3, .L800637E0
/* ADA9A8 80063808 A107FFFF */ sb $a3, -1($t0)
.L8006380C:
/* ADA9AC 8006380C A1000000 */ sb $zero, ($t0)
/* ADA9B0 80063810 85380000 */ lh $t8, ($t1)
/* ADA9B4 80063814 27190001 */ addiu $t9, $t8, 1
/* ADA9B8 80063818 A5390000 */ sh $t9, ($t1)
.L8006381C:
/* ADA9BC 8006381C 8FB00004 */ lw $s0, 4($sp)
/* ADA9C0 80063820 03E00008 */ jr $ra
/* ADA9C4 80063824 27BD0008 */ addiu $sp, $sp, 8

View File

@ -8,7 +8,7 @@ glabel D_8013F2D0
.balign 4
.text
glabel func_80097604
glabel Sample_Draw
/* B0E7A4 80097604 27BDFF90 */ addiu $sp, $sp, -0x70
/* B0E7A8 80097608 AFBF002C */ sw $ra, 0x2c($sp)
/* B0E7AC 8009760C AFB00028 */ sw $s0, 0x28($sp)

View File

@ -1,16 +0,0 @@
glabel func_800975D0
/* B0E770 800975D0 948E0020 */ lhu $t6, 0x20($a0)
/* B0E774 800975D4 2401EFFF */ li $at, -4097
/* B0E778 800975D8 3C18800C */ lui $t8, %hi(func_800BCA64) # $t8, 0x800c
/* B0E77C 800975DC 01C17827 */ nor $t7, $t6, $at
/* B0E780 800975E0 15E00006 */ bnez $t7, .L800975FC
/* B0E784 800975E4 2718CA64 */ addiu $t8, %lo(func_800BCA64) # addiu $t8, $t8, -0x359c
/* B0E788 800975E8 3C190001 */ lui $t9, (0x00012518 >> 16) # lui $t9, 1
/* B0E78C 800975EC 37392518 */ ori $t9, (0x00012518 & 0xFFFF) # ori $t9, $t9, 0x2518
/* B0E790 800975F0 AC990010 */ sw $t9, 0x10($a0)
/* B0E794 800975F4 AC98000C */ sw $t8, 0xc($a0)
/* B0E798 800975F8 AC800098 */ sw $zero, 0x98($a0)
.L800975FC:
/* B0E79C 800975FC 03E00008 */ jr $ra
/* B0E7A0 80097600 00000000 */ nop

View File

@ -1,12 +0,0 @@
glabel func_80097820
/* B0E9C0 80097820 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B0E9C4 80097824 AFBF0014 */ sw $ra, 0x14($sp)
/* B0E9C8 80097828 0C025D81 */ jal func_80097604
/* B0E9CC 8009782C AFA40018 */ sw $a0, 0x18($sp)
/* B0E9D0 80097830 0C025D74 */ jal func_800975D0
/* B0E9D4 80097834 8FA40018 */ lw $a0, 0x18($sp)
/* B0E9D8 80097838 8FBF0014 */ lw $ra, 0x14($sp)
/* B0E9DC 8009783C 27BD0018 */ addiu $sp, $sp, 0x18
/* B0E9E0 80097840 03E00008 */ jr $ra
/* B0E9E4 80097844 00000000 */ nop

View File

@ -1,4 +0,0 @@
glabel func_80097848
/* B0E9E8 80097848 03E00008 */ jr $ra
/* B0E9EC 8009784C AFA40000 */ sw $a0, ($sp)

View File

@ -1,52 +0,0 @@
.late_rodata
glabel D_8013F300
.float 3000
.text
glabel func_80097850
/* B0E9F0 80097850 27BDFFA0 */ addiu $sp, $sp, -0x60
/* B0E9F4 80097854 AFB00018 */ sw $s0, 0x18($sp)
/* B0E9F8 80097858 AFBF001C */ sw $ra, 0x1c($sp)
/* B0E9FC 8009785C 8C850000 */ lw $a1, ($a0)
/* B0EA00 80097860 249000A8 */ addiu $s0, $a0, 0xa8
/* B0EA04 80097864 0C02A89E */ jal func_800AA278
/* B0EA08 80097868 02002025 */ move $a0, $s0
/* B0EA0C 8009786C 240E00F0 */ li $t6, 240
/* B0EA10 80097870 240F0140 */ li $t7, 320
/* B0EA14 80097874 AFAF0054 */ sw $t7, 0x54($sp)
/* B0EA18 80097878 AFAE004C */ sw $t6, 0x4c($sp)
/* B0EA1C 8009787C AFA00048 */ sw $zero, 0x48($sp)
/* B0EA20 80097880 AFA00050 */ sw $zero, 0x50($sp)
/* B0EA24 80097884 02002025 */ move $a0, $s0
/* B0EA28 80097888 0C02A93F */ jal func_800AA4FC
/* B0EA2C 8009788C 27A50048 */ addiu $a1, $sp, 0x48
/* B0EA30 80097890 02002025 */ move $a0, $s0
/* B0EA34 80097894 3C054270 */ lui $a1, 0x4270
/* B0EA38 80097898 3C064120 */ lui $a2, 0x4120
/* B0EA3C 8009789C 0C02A918 */ jal func_800AA460
/* B0EA40 800978A0 3C074648 */ li $a3, 0x46480000 # 0.000000
/* B0EA44 800978A4 44800000 */ mtc1 $zero, $f0
/* B0EA48 800978A8 3C018014 */ lui $at, %hi(D_8013F300)
/* B0EA4C 800978AC C424F300 */ lwc1 $f4, %lo(D_8013F300)($at)
/* B0EA50 800978B0 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B0EA54 800978B4 44813000 */ mtc1 $at, $f6
/* B0EA58 800978B8 02002025 */ move $a0, $s0
/* B0EA5C 800978BC 27A5003C */ addiu $a1, $sp, 0x3c
/* B0EA60 800978C0 27A60030 */ addiu $a2, $sp, 0x30
/* B0EA64 800978C4 27A70024 */ addiu $a3, $sp, 0x24
/* B0EA68 800978C8 E7A0003C */ swc1 $f0, 0x3c($sp)
/* B0EA6C 800978CC E7A00040 */ swc1 $f0, 0x40($sp)
/* B0EA70 800978D0 E7A00030 */ swc1 $f0, 0x30($sp)
/* B0EA74 800978D4 E7A00034 */ swc1 $f0, 0x34($sp)
/* B0EA78 800978D8 E7A00038 */ swc1 $f0, 0x38($sp)
/* B0EA7C 800978DC E7A00024 */ swc1 $f0, 0x24($sp)
/* B0EA80 800978E0 E7A0002C */ swc1 $f0, 0x2c($sp)
/* B0EA84 800978E4 E7A40044 */ swc1 $f4, 0x44($sp)
/* B0EA88 800978E8 0C02A8D6 */ jal func_800AA358
/* B0EA8C 800978EC E7A60028 */ swc1 $f6, 0x28($sp)
/* B0EA90 800978F0 8FBF001C */ lw $ra, 0x1c($sp)
/* B0EA94 800978F4 8FB00018 */ lw $s0, 0x18($sp)
/* B0EA98 800978F8 27BD0060 */ addiu $sp, $sp, 0x60
/* B0EA9C 800978FC 03E00008 */ jr $ra
/* B0EAA0 80097900 00000000 */ nop

View File

@ -1,40 +0,0 @@
.rdata
glabel D_8013F2E0
.asciz "../z_sample.c"
.balign 4
glabel D_8013F2F0
.asciz "../z_sample.c"
.balign 4
.text
glabel func_80097904
/* B0EAA4 80097904 3C0E01AF */ lui $t6, %hi(_title_staticSegmentRomEnd) # $t6, 0x1af
/* B0EAA8 80097908 3C0F01AA */ lui $t7, %hi(_title_staticSegmentRomStart) # $t7, 0x1aa
/* B0EAAC 8009790C 27BDFFD8 */ addiu $sp, $sp, -0x28
/* B0EAB0 80097910 25EF4000 */ addiu $t7, %lo(_title_staticSegmentRomStart) # addiu $t7, $t7, 0x4000
/* B0EAB4 80097914 25CEB440 */ addiu $t6, %lo(_title_staticSegmentRomEnd) # addiu $t6, $t6, -0x4bc0
/* B0EAB8 80097918 AFBF001C */ sw $ra, 0x1c($sp)
/* B0EABC 8009791C 01CF2823 */ subu $a1, $t6, $t7
/* B0EAC0 80097920 3C068014 */ lui $a2, %hi(D_8013F2E0) # $a2, 0x8014
/* B0EAC4 80097924 AFA40028 */ sw $a0, 0x28($sp)
/* B0EAC8 80097928 24C6F2E0 */ addiu $a2, %lo(D_8013F2E0) # addiu $a2, $a2, -0xd20
/* B0EACC 8009792C AFA50020 */ sw $a1, 0x20($sp)
/* B0EAD0 80097930 0C031521 */ jal Game_Alloc
/* B0EAD4 80097934 240700A3 */ li $a3, 163
/* B0EAD8 80097938 8FB80028 */ lw $t8, 0x28($sp)
/* B0EADC 8009793C 3C0501AA */ lui $a1, %hi(_title_staticSegmentRomStart) # $a1, 0x1aa
/* B0EAE0 80097940 3C078014 */ lui $a3, %hi(D_8013F2F0) # $a3, 0x8014
/* B0EAE4 80097944 241900A4 */ li $t9, 164
/* B0EAE8 80097948 AF0200A4 */ sw $v0, 0xa4($t8)
/* B0EAEC 8009794C AFB90010 */ sw $t9, 0x10($sp)
/* B0EAF0 80097950 8FA60020 */ lw $a2, 0x20($sp)
/* B0EAF4 80097954 24E7F2F0 */ addiu $a3, %lo(D_8013F2F0) # addiu $a3, $a3, -0xd10
/* B0EAF8 80097958 24A54000 */ addiu $a1, %lo(_title_staticSegmentRomStart) # addiu $a1, $a1, 0x4000
/* B0EAFC 8009795C 0C0006A8 */ jal DmaMgr_SendRequest1
/* B0EB00 80097960 00402025 */ move $a0, $v0
/* B0EB04 80097964 8FBF001C */ lw $ra, 0x1c($sp)
/* B0EB08 80097968 27BD0028 */ addiu $sp, $sp, 0x28
/* B0EB0C 8009796C 03E00008 */ jr $ra
/* B0EB10 80097970 00000000 */ nop

View File

@ -1,36 +0,0 @@
glabel func_80097974
/* B0EB14 80097974 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B0EB18 80097978 AFBF0014 */ sw $ra, 0x14($sp)
/* B0EB1C 8009797C 3C0E8009 */ lui $t6, %hi(func_80097820) # $t6, 0x8009
/* B0EB20 80097980 3C0F8009 */ lui $t7, %hi(func_80097848) # $t7, 0x8009
/* B0EB24 80097984 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
/* B0EB28 80097988 25CE7820 */ addiu $t6, %lo(func_80097820) # addiu $t6, $t6, 0x7820
/* B0EB2C 8009798C 25EF7848 */ addiu $t7, %lo(func_80097848) # addiu $t7, $t7, 0x7848
/* B0EB30 80097990 2442FA90 */ addiu $v0, %lo(gGameInfo) # addiu $v0, $v0, -0x570
/* B0EB34 80097994 AC8E0004 */ sw $t6, 4($a0)
/* B0EB38 80097998 AC8F0008 */ sw $t7, 8($a0)
/* B0EB3C 8009799C 8C590000 */ lw $t9, ($v0)
/* B0EB40 800979A0 24180001 */ li $t8, 1
/* B0EB44 800979A4 A7380110 */ sh $t8, 0x110($t9)
/* B0EB48 800979A8 0C025E14 */ jal func_80097850
/* B0EB4C 800979AC AFA40018 */ sw $a0, 0x18($sp)
/* B0EB50 800979B0 0C025E41 */ jal func_80097904
/* B0EB54 800979B4 8FA40018 */ lw $a0, 0x18($sp)
/* B0EB58 800979B8 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
/* B0EB5C 800979BC 2442FA90 */ addiu $v0, %lo(gGameInfo) # addiu $v0, $v0, -0x570
/* B0EB60 800979C0 8C480000 */ lw $t0, ($v0)
/* B0EB64 800979C4 A500011E */ sh $zero, 0x11e($t0)
/* B0EB68 800979C8 8C490000 */ lw $t1, ($v0)
/* B0EB6C 800979CC A5200120 */ sh $zero, 0x120($t1)
/* B0EB70 800979D0 8C4A0000 */ lw $t2, ($v0)
/* B0EB74 800979D4 A5400122 */ sh $zero, 0x122($t2)
/* B0EB78 800979D8 8C4B0000 */ lw $t3, ($v0)
/* B0EB7C 800979DC A5600124 */ sh $zero, 0x124($t3)
/* B0EB80 800979E0 8C4C0000 */ lw $t4, ($v0)
/* B0EB84 800979E4 A5800126 */ sh $zero, 0x126($t4)
/* B0EB88 800979E8 8C4D0000 */ lw $t5, ($v0)
/* B0EB8C 800979EC A5A00128 */ sh $zero, 0x128($t5)
/* B0EB90 800979F0 8FBF0014 */ lw $ra, 0x14($sp)
/* B0EB94 800979F4 27BD0018 */ addiu $sp, $sp, 0x18
/* B0EB98 800979F8 03E00008 */ jr $ra
/* B0EB9C 800979FC 00000000 */ nop

View File

@ -1,16 +0,0 @@
glabel BgGateShutter_Destroy
/* 000FC 8087825C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00100 80878260 AFA40018 */ sw $a0, 0x0018($sp)
/* 00104 80878264 8FAE0018 */ lw $t6, 0x0018($sp)
/* 00108 80878268 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0010C 8087826C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00110 80878270 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
/* 00114 80878274 0C00FB56 */ jal DynaPolyInfo_Free
## DynaPolyInfo_delReserve
/* 00118 80878278 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C
/* 0011C 8087827C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00120 80878280 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00124 80878284 03E00008 */ jr $ra
/* 00128 80878288 00000000 */ nop

View File

@ -1,54 +0,0 @@
glabel BgGateShutter_Draw
/* 00360 808784C0 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 00364 808784C4 AFBF001C */ sw $ra, 0x001C($sp)
/* 00368 808784C8 AFB00018 */ sw $s0, 0x0018($sp)
/* 0036C 808784CC AFA40040 */ sw $a0, 0x0040($sp)
/* 00370 808784D0 AFA50044 */ sw $a1, 0x0044($sp)
/* 00374 808784D4 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 00378 808784D8 3C068088 */ lui $a2, %hi(D_808785E0) ## $a2 = 80880000
/* 0037C 808784DC 24C685E0 */ addiu $a2, $a2, %lo(D_808785E0) ## $a2 = 808785E0
/* 00380 808784E0 27A4002C */ addiu $a0, $sp, 0x002C ## $a0 = FFFFFFEC
/* 00384 808784E4 24070143 */ addiu $a3, $zero, 0x0143 ## $a3 = 00000143
/* 00388 808784E8 0C031AB1 */ jal func_800C6AC4
/* 0038C 808784EC 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 00390 808784F0 8FAF0044 */ lw $t7, 0x0044($sp)
/* 00394 808784F4 0C024F46 */ jal func_80093D18
/* 00398 808784F8 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
/* 0039C 808784FC 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 003A0 80878500 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000
/* 003A4 80878504 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003
/* 003A8 80878508 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 003AC 8087850C AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0
/* 003B0 80878510 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
/* 003B4 80878514 8FA80044 */ lw $t0, 0x0044($sp)
/* 003B8 80878518 3C058088 */ lui $a1, %hi(D_808785F8) ## $a1 = 80880000
/* 003BC 8087851C 24A585F8 */ addiu $a1, $a1, %lo(D_808785F8) ## $a1 = 808785F8
/* 003C0 80878520 8D040000 */ lw $a0, 0x0000($t0) ## 00000000
/* 003C4 80878524 24060148 */ addiu $a2, $zero, 0x0148 ## $a2 = 00000148
/* 003C8 80878528 0C0346A2 */ jal Matrix_NewMtx
/* 003CC 8087852C AFA20028 */ sw $v0, 0x0028($sp)
/* 003D0 80878530 8FA30028 */ lw $v1, 0x0028($sp)
/* 003D4 80878534 3C0B0600 */ lui $t3, 0x0600 ## $t3 = 06000000
/* 003D8 80878538 256B1CD0 */ addiu $t3, $t3, 0x1CD0 ## $t3 = 06001CD0
/* 003DC 8087853C AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 003E0 80878540 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 003E4 80878544 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000
/* 003E8 80878548 3C068088 */ lui $a2, %hi(D_80878610) ## $a2 = 80880000
/* 003EC 8087854C 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008
/* 003F0 80878550 AE0902C0 */ sw $t1, 0x02C0($s0) ## 000002C0
/* 003F4 80878554 AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004
/* 003F8 80878558 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
/* 003FC 8087855C 8FAC0044 */ lw $t4, 0x0044($sp)
/* 00400 80878560 24C68610 */ addiu $a2, $a2, %lo(D_80878610) ## $a2 = 80878610
/* 00404 80878564 27A4002C */ addiu $a0, $sp, 0x002C ## $a0 = FFFFFFEC
/* 00408 80878568 2407014D */ addiu $a3, $zero, 0x014D ## $a3 = 0000014D
/* 0040C 8087856C 0C031AD5 */ jal func_800C6B54
/* 00410 80878570 8D850000 */ lw $a1, 0x0000($t4) ## 00000000
/* 00414 80878574 8FBF001C */ lw $ra, 0x001C($sp)
/* 00418 80878578 8FB00018 */ lw $s0, 0x0018($sp)
/* 0041C 8087857C 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
/* 00420 80878580 03E00008 */ jr $ra
/* 00424 80878584 00000000 */ nop
/* 00428 80878588 00000000 */ nop
/* 0042C 8087858C 00000000 */ nop

View File

@ -1,74 +0,0 @@
glabel BgGateShutter_Init
/* 00000 80878160 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00004 80878164 AFBF001C */ sw $ra, 0x001C($sp)
/* 00008 80878168 AFB00018 */ sw $s0, 0x0018($sp)
/* 0000C 8087816C AFA50034 */ sw $a1, 0x0034($sp)
/* 00010 80878170 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00014 80878174 AFA00020 */ sw $zero, 0x0020($sp)
/* 00018 80878178 0C010D20 */ jal DynaPolyInfo_SetActorMove
/* 0001C 8087817C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00020 80878180 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 00024 80878184 24841DA8 */ addiu $a0, $a0, 0x1DA8 ## $a0 = 06001DA8
/* 00028 80878188 0C010620 */ jal DynaPolyInfo_Alloc
/* 0002C 8087818C 27A50020 */ addiu $a1, $sp, 0x0020 ## $a1 = FFFFFFF0
/* 00030 80878190 8FA40034 */ lw $a0, 0x0034($sp)
/* 00034 80878194 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 00038 80878198 8FA70020 */ lw $a3, 0x0020($sp)
/* 0003C 8087819C 0C00FA9D */ jal DynaPolyInfo_RegisterActor
## DynaPolyInfo_setActor
/* 00040 808781A0 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
/* 00044 808781A4 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
/* 00048 808781A8 C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028
/* 0004C 808781AC C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C
/* 00050 808781B0 3C038016 */ lui $v1, 0x8016 ## $v1 = 80160000
/* 00054 808781B4 2463E660 */ addiu $v1, $v1, 0xE660 ## $v1 = 8015E660
/* 00058 808781B8 AE02014C */ sw $v0, 0x014C($s0) ## 0000014C
/* 0005C 808781BC E604016C */ swc1 $f4, 0x016C($s0) ## 0000016C
/* 00060 808781C0 E6060170 */ swc1 $f6, 0x0170($s0) ## 00000170
/* 00064 808781C4 E6080174 */ swc1 $f8, 0x0174($s0) ## 00000174
/* 00068 808781C8 946E0F06 */ lhu $t6, 0x0F06($v1) ## 8015F566
/* 0006C 808781CC 8FA80034 */ lw $t0, 0x0034($sp)
/* 00070 808781D0 31CF0040 */ andi $t7, $t6, 0x0040 ## $t7 = 00000000
/* 00074 808781D4 55E00006 */ bnel $t7, $zero, .L808781F0
/* 00078 808781D8 850900A4 */ lh $t1, 0x00A4($t0) ## 000000A4
/* 0007C 808781DC 94780EDC */ lhu $t8, 0x0EDC($v1) ## 8015F53C
/* 00080 808781E0 33190020 */ andi $t9, $t8, 0x0020 ## $t9 = 00000000
/* 00084 808781E4 5320000B */ beql $t9, $zero, .L80878214
/* 00088 808781E8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 0008C 808781EC 850900A4 */ lh $t1, 0x00A4($t0) ## 000000A4
.L808781F0:
/* 00090 808781F0 24010052 */ addiu $at, $zero, 0x0052 ## $at = 00000052
/* 00094 808781F4 15210006 */ bne $t1, $at, .L80878210
/* 00098 808781F8 3C01C2B2 */ lui $at, 0xC2B2 ## $at = C2B20000
/* 0009C 808781FC 44815000 */ mtc1 $at, $f10 ## $f10 = -89.00
/* 000A0 80878200 3C018088 */ lui $at, %hi(D_80878628) ## $at = 80880000
/* 000A4 80878204 E60A0024 */ swc1 $f10, 0x0024($s0) ## 00000024
/* 000A8 80878208 C4308628 */ lwc1 $f16, %lo(D_80878628)($at)
/* 000AC 8087820C E610002C */ swc1 $f16, 0x002C($s0) ## 0000002C
.L80878210:
/* 000B0 80878210 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
.L80878214:
/* 000B4 80878214 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
/* 000B8 80878218 3C048088 */ lui $a0, %hi(D_808785B0) ## $a0 = 80880000
/* 000BC 8087821C 248485B0 */ addiu $a0, $a0, %lo(D_808785B0) ## $a0 = 808785B0
/* 000C0 80878220 E6000050 */ swc1 $f0, 0x0050($s0) ## 00000050
/* 000C4 80878224 E6000054 */ swc1 $f0, 0x0054($s0) ## 00000054
/* 000C8 80878228 0C00084C */ jal osSyncPrintf
/* 000CC 8087822C E6000058 */ swc1 $f0, 0x0058($s0) ## 00000058
/* 000D0 80878230 3C048088 */ lui $a0, %hi(D_808785B4) ## $a0 = 80880000
/* 000D4 80878234 0C00084C */ jal osSyncPrintf
/* 000D8 80878238 248485B4 */ addiu $a0, $a0, %lo(D_808785B4) ## $a0 = 808785B4
/* 000DC 8087823C 3C0A8088 */ lui $t2, %hi(func_8087828C) ## $t2 = 80880000
/* 000E0 80878240 254A828C */ addiu $t2, $t2, %lo(func_8087828C) ## $t2 = 8087828C
/* 000E4 80878244 AE0A0164 */ sw $t2, 0x0164($s0) ## 00000164
/* 000E8 80878248 8FBF001C */ lw $ra, 0x001C($sp)
/* 000EC 8087824C 8FB00018 */ lw $s0, 0x0018($sp)
/* 000F0 80878250 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 000F4 80878254 03E00008 */ jr $ra
/* 000F8 80878258 00000000 */ nop

View File

@ -1,17 +0,0 @@
glabel BgGateShutter_Update
/* 0032C 8087848C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00330 80878490 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00334 80878494 84820178 */ lh $v0, 0x0178($a0) ## 00000178
/* 00338 80878498 10400002 */ beq $v0, $zero, .L808784A4
/* 0033C 8087849C 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00340 808784A0 A48E0178 */ sh $t6, 0x0178($a0) ## 00000178
.L808784A4:
/* 00344 808784A4 8C990164 */ lw $t9, 0x0164($a0) ## 00000164
/* 00348 808784A8 0320F809 */ jalr $ra, $t9
/* 0034C 808784AC 00000000 */ nop
/* 00350 808784B0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00354 808784B4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00358 808784B8 03E00008 */ jr $ra
/* 0035C 808784BC 00000000 */ nop

View File

@ -1,35 +0,0 @@
glabel func_8087828C
/* 0012C 8087828C AFA50004 */ sw $a1, 0x0004($sp)
/* 00130 80878290 84820168 */ lh $v0, 0x0168($a0) ## 00000168
/* 00134 80878294 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00138 80878298 3C0E8016 */ lui $t6, 0x8016 ## $t6 = 80160000
/* 0013C 8087829C 1441000B */ bne $v0, $at, .L808782CC
/* 00140 808782A0 24030002 */ addiu $v1, $zero, 0x0002 ## $v1 = 00000002
/* 00144 808782A4 95CEF566 */ lhu $t6, -0x0A9A($t6) ## 8015F566
/* 00148 808782A8 3C188088 */ lui $t8, %hi(func_80878300) ## $t8 = 80880000
/* 0014C 808782AC 27188300 */ addiu $t8, $t8, %lo(func_80878300) ## $t8 = 80878300
/* 00150 808782B0 31CF0040 */ andi $t7, $t6, 0x0040 ## $t7 = 00000000
/* 00154 808782B4 15E00005 */ bne $t7, $zero, .L808782CC
/* 00158 808782B8 00000000 */ nop
/* 0015C 808782BC 24030002 */ addiu $v1, $zero, 0x0002 ## $v1 = 00000002
/* 00160 808782C0 A4830178 */ sh $v1, 0x0178($a0) ## 00000178
/* 00164 808782C4 03E00008 */ jr $ra
/* 00168 808782C8 AC980164 */ sw $t8, 0x0164($a0) ## 00000164
.L808782CC:
/* 0016C 808782CC 14620005 */ bne $v1, $v0, .L808782E4
/* 00170 808782D0 3C198088 */ lui $t9, %hi(func_80878300) ## $t9 = 80880000
/* 00174 808782D4 27398300 */ addiu $t9, $t9, %lo(func_80878300) ## $t9 = 80878300
/* 00178 808782D8 A4830178 */ sh $v1, 0x0178($a0) ## 00000178
/* 0017C 808782DC 03E00008 */ jr $ra
/* 00180 808782E0 AC990164 */ sw $t9, 0x0164($a0) ## 00000164
.L808782E4:
/* 00184 808782E4 04410004 */ bgez $v0, .L808782F8
/* 00188 808782E8 3C088088 */ lui $t0, %hi(func_808783D4) ## $t0 = 80880000
/* 0018C 808782EC 250883D4 */ addiu $t0, $t0, %lo(func_808783D4) ## $t0 = 808783D4
/* 00190 808782F0 A4830178 */ sh $v1, 0x0178($a0) ## 00000178
/* 00194 808782F4 AC880164 */ sw $t0, 0x0164($a0) ## 00000164
.L808782F8:
/* 00198 808782F8 03E00008 */ jr $ra
/* 0019C 808782FC 00000000 */ nop

View File

@ -1,50 +0,0 @@
glabel func_80878300
/* 001A0 80878300 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 001A4 80878304 AFBF001C */ sw $ra, 0x001C($sp)
/* 001A8 80878308 AFB00018 */ sw $s0, 0x0018($sp)
/* 001AC 8087830C AFA50024 */ sw $a1, 0x0024($sp)
/* 001B0 80878310 848E0178 */ lh $t6, 0x0178($a0) ## 00000178
/* 001B4 80878314 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 001B8 80878318 55C00020 */ bnel $t6, $zero, .L8087839C
/* 001BC 8087831C 8FBF001C */ lw $ra, 0x001C($sp)
/* 001C0 80878320 0C00BE0A */ jal Audio_PlayActorSound2
/* 001C4 80878324 24052067 */ addiu $a1, $zero, 0x2067 ## $a1 = 00002067
/* 001C8 80878328 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 001CC 8087832C 44813000 */ mtc1 $at, $f6 ## $f6 = 2.00
/* 001D0 80878330 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
/* 001D4 80878334 3C05C4AB */ lui $a1, 0xC4AB ## $a1 = C4AB0000
/* 001D8 80878338 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000
/* 001DC 8087833C 46062201 */ sub.s $f8, $f4, $f6
/* 001E0 80878340 3C073E99 */ lui $a3, 0x3E99 ## $a3 = 3E990000
/* 001E4 80878344 34E7999A */ ori $a3, $a3, 0x999A ## $a3 = 3E99999A
/* 001E8 80878348 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3F4CCCCD
/* 001EC 8087834C E6080024 */ swc1 $f8, 0x0024($s0) ## 00000024
/* 001F0 80878350 34A5E000 */ ori $a1, $a1, 0xE000 ## $a1 = C4ABE000
/* 001F4 80878354 0C01E107 */ jal Math_SmoothScaleMaxF
/* 001F8 80878358 2604002C */ addiu $a0, $s0, 0x002C ## $a0 = 0000002C
/* 001FC 8087835C 3C01C2B2 */ lui $at, 0xC2B2 ## $at = C2B20000
/* 00200 80878360 44818000 */ mtc1 $at, $f16 ## $f16 = -89.00
/* 00204 80878364 C60A0024 */ lwc1 $f10, 0x0024($s0) ## 00000024
/* 00208 80878368 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0020C 8087836C 4610503C */ c.lt.s $f10, $f16
/* 00210 80878370 00000000 */ nop
/* 00214 80878374 45020009 */ bc1fl .L8087839C
/* 00218 80878378 8FBF001C */ lw $ra, 0x001C($sp)
/* 0021C 8087837C 0C00BE0A */ jal Audio_PlayActorSound2
/* 00220 80878380 2405280E */ addiu $a1, $zero, 0x280E ## $a1 = 0000280E
/* 00224 80878384 3C188088 */ lui $t8, %hi(func_808783AC) ## $t8 = 80880000
/* 00228 80878388 240F001E */ addiu $t7, $zero, 0x001E ## $t7 = 0000001E
/* 0022C 8087838C 271883AC */ addiu $t8, $t8, %lo(func_808783AC) ## $t8 = 808783AC
/* 00230 80878390 A60F0178 */ sh $t7, 0x0178($s0) ## 00000178
/* 00234 80878394 AE180164 */ sw $t8, 0x0164($s0) ## 00000164
/* 00238 80878398 8FBF001C */ lw $ra, 0x001C($sp)
.L8087839C:
/* 0023C 8087839C 8FB00018 */ lw $s0, 0x0018($sp)
/* 00240 808783A0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00244 808783A4 03E00008 */ jr $ra
/* 00248 808783A8 00000000 */ nop

View File

@ -1,14 +0,0 @@
glabel func_808783AC
/* 0024C 808783AC AFA50004 */ sw $a1, 0x0004($sp)
/* 00250 808783B0 848E0178 */ lh $t6, 0x0178($a0) ## 00000178
/* 00254 808783B4 3C0F8088 */ lui $t7, %hi(func_8087828C) ## $t7 = 80880000
/* 00258 808783B8 25EF828C */ addiu $t7, $t7, %lo(func_8087828C) ## $t7 = 8087828C
/* 0025C 808783BC 15C00003 */ bne $t6, $zero, .L808783CC
/* 00260 808783C0 00000000 */ nop
/* 00264 808783C4 A4800168 */ sh $zero, 0x0168($a0) ## 00000168
/* 00268 808783C8 AC8F0164 */ sw $t7, 0x0164($a0) ## 00000164
.L808783CC:
/* 0026C 808783CC 03E00008 */ jr $ra
/* 00270 808783D0 00000000 */ nop

View File

@ -1,53 +0,0 @@
glabel func_808783D4
/* 00274 808783D4 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00278 808783D8 AFBF001C */ sw $ra, 0x001C($sp)
/* 0027C 808783DC AFB00018 */ sw $s0, 0x0018($sp)
/* 00280 808783E0 AFA50024 */ sw $a1, 0x0024($sp)
/* 00284 808783E4 848E0178 */ lh $t6, 0x0178($a0) ## 00000178
/* 00288 808783E8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0028C 808783EC 55C00023 */ bnel $t6, $zero, .L8087847C
/* 00290 808783F0 8FBF001C */ lw $ra, 0x001C($sp)
/* 00294 808783F4 0C00BE0A */ jal Audio_PlayActorSound2
/* 00298 808783F8 24052067 */ addiu $a1, $zero, 0x2067 ## $a1 = 00002067
/* 0029C 808783FC 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 002A0 80878400 44813000 */ mtc1 $at, $f6 ## $f6 = 2.00
/* 002A4 80878404 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
/* 002A8 80878408 3C05C4A8 */ lui $a1, 0xC4A8 ## $a1 = C4A80000
/* 002AC 8087840C 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000
/* 002B0 80878410 46062200 */ add.s $f8, $f4, $f6
/* 002B4 80878414 3C073E99 */ lui $a3, 0x3E99 ## $a3 = 3E990000
/* 002B8 80878418 34E7999A */ ori $a3, $a3, 0x999A ## $a3 = 3E99999A
/* 002BC 8087841C 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3F4CCCCD
/* 002C0 80878420 E6080024 */ swc1 $f8, 0x0024($s0) ## 00000024
/* 002C4 80878424 34A5C000 */ ori $a1, $a1, 0xC000 ## $a1 = C4A8C000
/* 002C8 80878428 0C01E107 */ jal Math_SmoothScaleMaxF
/* 002CC 8087842C 2604002C */ addiu $a0, $s0, 0x002C ## $a0 = 0000002C
/* 002D0 80878430 3C0142B4 */ lui $at, 0x42B4 ## $at = 42B40000
/* 002D4 80878434 44815000 */ mtc1 $at, $f10 ## $f10 = 90.00
/* 002D8 80878438 C6100024 */ lwc1 $f16, 0x0024($s0) ## 00000024
/* 002DC 8087843C 3C0142B6 */ lui $at, 0x42B6 ## $at = 42B60000
/* 002E0 80878440 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 002E4 80878444 4610503C */ c.lt.s $f10, $f16
/* 002E8 80878448 00000000 */ nop
/* 002EC 8087844C 4502000B */ bc1fl .L8087847C
/* 002F0 80878450 8FBF001C */ lw $ra, 0x001C($sp)
/* 002F4 80878454 44819000 */ mtc1 $at, $f18 ## $f18 = 91.00
/* 002F8 80878458 2405280E */ addiu $a1, $zero, 0x280E ## $a1 = 0000280E
/* 002FC 8087845C 0C00BE0A */ jal Audio_PlayActorSound2
/* 00300 80878460 E6120024 */ swc1 $f18, 0x0024($s0) ## 00000024
/* 00304 80878464 3C188088 */ lui $t8, %hi(func_808783AC) ## $t8 = 80880000
/* 00308 80878468 240F001E */ addiu $t7, $zero, 0x001E ## $t7 = 0000001E
/* 0030C 8087846C 271883AC */ addiu $t8, $t8, %lo(func_808783AC) ## $t8 = 808783AC
/* 00310 80878470 A60F0178 */ sh $t7, 0x0178($s0) ## 00000178
/* 00314 80878474 AE180164 */ sw $t8, 0x0164($s0) ## 00000164
/* 00318 80878478 8FBF001C */ lw $ra, 0x001C($sp)
.L8087847C:
/* 0031C 8087847C 8FB00018 */ lw $s0, 0x0018($sp)
/* 00320 80878480 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00324 80878484 03E00008 */ jr $ra
/* 00328 80878488 00000000 */ nop

View File

@ -1,14 +0,0 @@
glabel EnTk_Destroy
/* 012DC 80B1CBDC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 012E0 80B1CBE0 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 012E4 80B1CBE4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 012E8 80B1CBE8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 012EC 80B1CBEC 0C0170EB */ jal ActorCollider_FreeCylinder
/* 012F0 80B1CBF0 24C50194 */ addiu $a1, $a2, 0x0194 ## $a1 = 00000194
/* 012F4 80B1CBF4 8FBF0014 */ lw $ra, 0x0014($sp)
/* 012F8 80B1CBF8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 012FC 80B1CBFC 03E00008 */ jr $ra
/* 01300 80B1CC00 00000000 */ nop

View File

@ -1,72 +0,0 @@
glabel EnTk_Draw
/* 01A98 80B1D398 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
/* 01A9C 80B1D39C AFBF002C */ sw $ra, 0x002C($sp)
/* 01AA0 80B1D3A0 AFB10028 */ sw $s1, 0x0028($sp)
/* 01AA4 80B1D3A4 AFB00024 */ sw $s0, 0x0024($sp)
/* 01AA8 80B1D3A8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01AAC 80B1D3AC 0C034213 */ jal Matrix_Push
/* 01AB0 80B1D3B0 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 01AB4 80B1D3B4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01AB8 80B1D3B8 0C2C6EAC */ jal func_80B1BAB0
/* 01ABC 80B1D3BC 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 01AC0 80B1D3C0 0C034221 */ jal Matrix_Pull
/* 01AC4 80B1D3C4 00000000 */ nop
/* 01AC8 80B1D3C8 8E250000 */ lw $a1, 0x0000($s1) ## 00000000
/* 01ACC 80B1D3CC 3C0680B2 */ lui $a2, %hi(D_80B1D60C) ## $a2 = 80B20000
/* 01AD0 80B1D3D0 24C6D60C */ addiu $a2, $a2, %lo(D_80B1D60C) ## $a2 = 80B1D60C
/* 01AD4 80B1D3D4 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFE8
/* 01AD8 80B1D3D8 2407050E */ addiu $a3, $zero, 0x050E ## $a3 = 0000050E
/* 01ADC 80B1D3DC 0C031AB1 */ jal func_800C6AC4
/* 01AE0 80B1D3E0 AFA50048 */ sw $a1, 0x0048($sp)
/* 01AE4 80B1D3E4 0C024F46 */ jal func_80093D18
/* 01AE8 80B1D3E8 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
/* 01AEC 80B1D3EC 8FA50048 */ lw $a1, 0x0048($sp)
/* 01AF0 80B1D3F0 3C0FDB06 */ lui $t7, 0xDB06 ## $t7 = DB060000
/* 01AF4 80B1D3F4 35EF0020 */ ori $t7, $t7, 0x0020 ## $t7 = DB060020
/* 01AF8 80B1D3F8 8CA302C0 */ lw $v1, 0x02C0($a1) ## 000002C0
/* 01AFC 80B1D3FC 3C0480B2 */ lui $a0, %hi(D_80B1D598) ## $a0 = 80B20000
/* 01B00 80B1D400 3C0C8016 */ lui $t4, 0x8016 ## $t4 = 80160000
/* 01B04 80B1D404 246E0008 */ addiu $t6, $v1, 0x0008 ## $t6 = 00000008
/* 01B08 80B1D408 ACAE02C0 */ sw $t6, 0x02C0($a1) ## 000002C0
/* 01B0C 80B1D40C AC6F0000 */ sw $t7, 0x0000($v1) ## 00000000
/* 01B10 80B1D410 86180222 */ lh $t8, 0x0222($s0) ## 00000222
/* 01B14 80B1D414 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 01B18 80B1D418 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 01B1C 80B1D41C 0018C880 */ sll $t9, $t8, 2
/* 01B20 80B1D420 00992021 */ addu $a0, $a0, $t9
/* 01B24 80B1D424 8C84D598 */ lw $a0, %lo(D_80B1D598)($a0)
/* 01B28 80B1D428 3C1880B2 */ lui $t8, %hi(func_80B1D2E4) ## $t8 = 80B20000
/* 01B2C 80B1D42C 3C0F80B2 */ lui $t7, %hi(func_80B1D278) ## $t7 = 80B20000
/* 01B30 80B1D430 00044900 */ sll $t1, $a0, 4
/* 01B34 80B1D434 00095702 */ srl $t2, $t1, 28
/* 01B38 80B1D438 000A5880 */ sll $t3, $t2, 2
/* 01B3C 80B1D43C 018B6021 */ addu $t4, $t4, $t3
/* 01B40 80B1D440 8D8C6FA8 */ lw $t4, 0x6FA8($t4) ## 80166FA8
/* 01B44 80B1D444 00814024 */ and $t0, $a0, $at
/* 01B48 80B1D448 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 01B4C 80B1D44C 010C6821 */ addu $t5, $t0, $t4
/* 01B50 80B1D450 01A17021 */ addu $t6, $t5, $at
/* 01B54 80B1D454 AC6E0004 */ sw $t6, 0x0004($v1) ## 00000004
/* 01B58 80B1D458 9207014E */ lbu $a3, 0x014E($s0) ## 0000014E
/* 01B5C 80B1D45C 8E06016C */ lw $a2, 0x016C($s0) ## 0000016C
/* 01B60 80B1D460 8E050150 */ lw $a1, 0x0150($s0) ## 00000150
/* 01B64 80B1D464 25EFD278 */ addiu $t7, $t7, %lo(func_80B1D278) ## $t7 = 80B1D278
/* 01B68 80B1D468 2718D2E4 */ addiu $t8, $t8, %lo(func_80B1D2E4) ## $t8 = 80B1D2E4
/* 01B6C 80B1D46C AFB80014 */ sw $t8, 0x0014($sp)
/* 01B70 80B1D470 AFAF0010 */ sw $t7, 0x0010($sp)
/* 01B74 80B1D474 AFB00018 */ sw $s0, 0x0018($sp)
/* 01B78 80B1D478 0C0286B2 */ jal func_800A1AC8
/* 01B7C 80B1D47C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 01B80 80B1D480 3C0680B2 */ lui $a2, %hi(D_80B1D61C) ## $a2 = 80B20000
/* 01B84 80B1D484 24C6D61C */ addiu $a2, $a2, %lo(D_80B1D61C) ## $a2 = 80B1D61C
/* 01B88 80B1D488 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFE8
/* 01B8C 80B1D48C 8E250000 */ lw $a1, 0x0000($s1) ## 00000000
/* 01B90 80B1D490 0C031AD5 */ jal func_800C6B54
/* 01B94 80B1D494 24070520 */ addiu $a3, $zero, 0x0520 ## $a3 = 00000520
/* 01B98 80B1D498 8FBF002C */ lw $ra, 0x002C($sp)
/* 01B9C 80B1D49C 8FB00024 */ lw $s0, 0x0024($sp)
/* 01BA0 80B1D4A0 8FB10028 */ lw $s1, 0x0028($sp)
/* 01BA4 80B1D4A4 03E00008 */ jr $ra
/* 01BA8 80B1D4A8 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
/* 01BAC 80B1D4AC 00000000 */ nop

View File

@ -1,108 +0,0 @@
glabel EnTk_Init
/* 01160 80B1CA60 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 01164 80B1CA64 AFB00028 */ sw $s0, 0x0028($sp)
/* 01168 80B1CA68 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0116C 80B1CA6C AFBF002C */ sw $ra, 0x002C($sp)
/* 01170 80B1CA70 AFA50044 */ sw $a1, 0x0044($sp)
/* 01174 80B1CA74 3C068003 */ lui $a2, 0x8003 ## $a2 = 80030000
/* 01178 80B1CA78 24C6B5EC */ addiu $a2, $a2, 0xB5EC ## $a2 = 8002B5EC
/* 0117C 80B1CA7C 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 01180 80B1CA80 248400B4 */ addiu $a0, $a0, 0x00B4 ## $a0 = 000000B4
/* 01184 80B1CA84 0C00AC78 */ jal ActorShape_Init
/* 01188 80B1CA88 3C0741C0 */ lui $a3, 0x41C0 ## $a3 = 41C00000
/* 0118C 80B1CA8C 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
/* 01190 80B1CA90 3C060601 */ lui $a2, 0x0601 ## $a2 = 06010000
/* 01194 80B1CA94 260E022A */ addiu $t6, $s0, 0x022A ## $t6 = 0000022A
/* 01198 80B1CA98 260F0296 */ addiu $t7, $s0, 0x0296 ## $t7 = 00000296
/* 0119C 80B1CA9C 24180012 */ addiu $t8, $zero, 0x0012 ## $t8 = 00000012
/* 011A0 80B1CAA0 AFB80018 */ sw $t8, 0x0018($sp)
/* 011A4 80B1CAA4 AFAF0014 */ sw $t7, 0x0014($sp)
/* 011A8 80B1CAA8 AFAE0010 */ sw $t6, 0x0010($sp)
/* 011AC 80B1CAAC 24C6BE40 */ addiu $a2, $a2, 0xBE40 ## $a2 = 0600BE40
/* 011B0 80B1CAB0 AFA50030 */ sw $a1, 0x0030($sp)
/* 011B4 80B1CAB4 8FA40044 */ lw $a0, 0x0044($sp)
/* 011B8 80B1CAB8 0C0291BE */ jal func_800A46F8
/* 011BC 80B1CABC 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 011C0 80B1CAC0 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 011C4 80B1CAC4 0C028800 */ jal SkelAnime_GetFrameCount
/* 011C8 80B1CAC8 24842F84 */ addiu $a0, $a0, 0x2F84 ## $a0 = 06002F84
/* 011CC 80B1CACC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 011D0 80B1CAD0 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 011D4 80B1CAD4 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 011D8 80B1CAD8 468021A0 */ cvt.s.w $f6, $f4
/* 011DC 80B1CADC 44070000 */ mfc1 $a3, $f0
/* 011E0 80B1CAE0 24A52F84 */ addiu $a1, $a1, 0x2F84 ## $a1 = 06002F84
/* 011E4 80B1CAE4 8FA40030 */ lw $a0, 0x0030($sp)
/* 011E8 80B1CAE8 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 011EC 80B1CAEC AFA00014 */ sw $zero, 0x0014($sp)
/* 011F0 80B1CAF0 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 011F4 80B1CAF4 0C029468 */ jal SkelAnime_ChangeAnimation
/* 011F8 80B1CAF8 E7A00018 */ swc1 $f0, 0x0018($sp)
/* 011FC 80B1CAFC 26050194 */ addiu $a1, $s0, 0x0194 ## $a1 = 00000194
/* 01200 80B1CB00 AFA50030 */ sw $a1, 0x0030($sp)
/* 01204 80B1CB04 0C0170D9 */ jal ActorCollider_AllocCylinder
/* 01208 80B1CB08 8FA40044 */ lw $a0, 0x0044($sp)
/* 0120C 80B1CB0C 3C0780B2 */ lui $a3, %hi(D_80B1D508) ## $a3 = 80B20000
/* 01210 80B1CB10 8FA50030 */ lw $a1, 0x0030($sp)
/* 01214 80B1CB14 24E7D508 */ addiu $a3, $a3, %lo(D_80B1D508) ## $a3 = 80B1D508
/* 01218 80B1CB18 8FA40044 */ lw $a0, 0x0044($sp)
/* 0121C 80B1CB1C 0C01712B */ jal ActorCollider_InitCylinder
/* 01220 80B1CB20 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 01224 80B1CB24 3C0680B2 */ lui $a2, %hi(D_80B1D534) ## $a2 = 80B20000
/* 01228 80B1CB28 24C6D534 */ addiu $a2, $a2, %lo(D_80B1D534) ## $a2 = 80B1D534
/* 0122C 80B1CB2C 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098
/* 01230 80B1CB30 0C0187BF */ jal func_80061EFC
/* 01234 80B1CB34 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 01238 80B1CB38 3C038016 */ lui $v1, 0x8016 ## $v1 = 80160000
/* 0123C 80B1CB3C 2463E660 */ addiu $v1, $v1, 0xE660 ## $v1 = 8015E660
/* 01240 80B1CB40 9462000C */ lhu $v0, 0x000C($v1) ## 8015E66C
/* 01244 80B1CB44 3401C001 */ ori $at, $zero, 0xC001 ## $at = 0000C001
/* 01248 80B1CB48 0041082A */ slt $at, $v0, $at
/* 0124C 80B1CB4C 1420000D */ bne $at, $zero, .L80B1CB84
/* 01250 80B1CB50 3401E000 */ ori $at, $zero, 0xE000 ## $at = 0000E000
/* 01254 80B1CB54 0041082A */ slt $at, $v0, $at
/* 01258 80B1CB58 1020000A */ beq $at, $zero, .L80B1CB84
/* 0125C 80B1CB5C 00000000 */ nop
/* 01260 80B1CB60 8C790004 */ lw $t9, 0x0004($v1) ## 8015E664
/* 01264 80B1CB64 8FA80044 */ lw $t0, 0x0044($sp)
/* 01268 80B1CB68 13200006 */ beq $t9, $zero, .L80B1CB84
/* 0126C 80B1CB6C 00000000 */ nop
/* 01270 80B1CB70 850900A4 */ lh $t1, 0x00A4($t0) ## 000000A4
/* 01274 80B1CB74 24010053 */ addiu $at, $zero, 0x0053 ## $at = 00000053
/* 01278 80B1CB78 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0127C 80B1CB7C 11210005 */ beq $t1, $at, .L80B1CB94
/* 01280 80B1CB80 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000
.L80B1CB84:
/* 01284 80B1CB84 0C00B55C */ jal Actor_Kill
/* 01288 80B1CB88 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0128C 80B1CB8C 1000000F */ beq $zero, $zero, .L80B1CBCC
/* 01290 80B1CB90 8FBF002C */ lw $ra, 0x002C($sp)
.L80B1CB94:
/* 01294 80B1CB94 0C00B58B */ jal Actor_SetScale
/* 01298 80B1CB98 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 0000D70A
/* 0129C 80B1CB9C 240A0006 */ addiu $t2, $zero, 0x0006 ## $t2 = 00000006
/* 012A0 80B1CBA0 A20A001F */ sb $t2, 0x001F($s0) ## 0000001F
/* 012A4 80B1CBA4 3C0180B2 */ lui $at, %hi(D_80B1D684) ## $at = 80B20000
/* 012A8 80B1CBA8 C428D684 */ lwc1 $f8, %lo(D_80B1D684)($at)
/* 012AC 80B1CBAC 3C0C80B2 */ lui $t4, %hi(func_80B1CC04) ## $t4 = 80B20000
/* 012B0 80B1CBB0 240BFFFF */ addiu $t3, $zero, 0xFFFF ## $t3 = FFFFFFFF
/* 012B4 80B1CBB4 258CCC04 */ addiu $t4, $t4, %lo(func_80B1CC04) ## $t4 = 80B1CC04
/* 012B8 80B1CBB8 AE0B0214 */ sw $t3, 0x0214($s0) ## 00000214
/* 012BC 80B1CBBC AE000210 */ sw $zero, 0x0210($s0) ## 00000210
/* 012C0 80B1CBC0 AE0C0190 */ sw $t4, 0x0190($s0) ## 00000190
/* 012C4 80B1CBC4 E608006C */ swc1 $f8, 0x006C($s0) ## 0000006C
/* 012C8 80B1CBC8 8FBF002C */ lw $ra, 0x002C($sp)
.L80B1CBCC:
/* 012CC 80B1CBCC 8FB00028 */ lw $s0, 0x0028($sp)
/* 012D0 80B1CBD0 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
/* 012D4 80B1CBD4 03E00008 */ jr $ra
/* 012D8 80B1CBD8 00000000 */ nop

View File

@ -1,49 +0,0 @@
glabel EnTk_Update
/* 01858 80B1D158 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 0185C 80B1D15C AFB00020 */ sw $s0, 0x0020($sp)
/* 01860 80B1D160 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01864 80B1D164 AFBF0024 */ sw $ra, 0x0024($sp)
/* 01868 80B1D168 AFA5003C */ sw $a1, 0x003C($sp)
/* 0186C 80B1D16C 26060194 */ addiu $a2, $s0, 0x0194 ## $a2 = 00000194
/* 01870 80B1D170 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000194
/* 01874 80B1D174 0C0189B7 */ jal ActorCollider_Cylinder_Update
/* 01878 80B1D178 AFA6002C */ sw $a2, 0x002C($sp)
/* 0187C 80B1D17C 8FA4003C */ lw $a0, 0x003C($sp)
/* 01880 80B1D180 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01884 80B1D184 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 01888 80B1D188 8FA6002C */ lw $a2, 0x002C($sp)
/* 0188C 80B1D18C 0C017713 */ jal Actor_CollisionCheck_SetOT
## CollisionCheck_setOT
/* 01890 80B1D190 00812821 */ addu $a1, $a0, $at
/* 01894 80B1D194 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 01898 80B1D198 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 0189C 80B1D19C 0C00B638 */ jal Actor_MoveForward
/* 018A0 80B1D1A0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 018A4 80B1D1A4 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 018A8 80B1D1A8 240E0005 */ addiu $t6, $zero, 0x0005 ## $t6 = 00000005
/* 018AC 80B1D1AC AFAE0014 */ sw $t6, 0x0014($sp)
/* 018B0 80B1D1B0 8FA4003C */ lw $a0, 0x003C($sp)
/* 018B4 80B1D1B4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 018B8 80B1D1B8 3C064220 */ lui $a2, 0x4220 ## $a2 = 42200000
/* 018BC 80B1D1BC 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000
/* 018C0 80B1D1C0 0C00B92D */ jal func_8002E4B4
/* 018C4 80B1D1C4 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 018C8 80B1D1C8 8E190190 */ lw $t9, 0x0190($s0) ## 00000190
/* 018CC 80B1D1CC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 018D0 80B1D1D0 8FA5003C */ lw $a1, 0x003C($sp)
/* 018D4 80B1D1D4 0320F809 */ jalr $ra, $t9
/* 018D8 80B1D1D8 00000000 */ nop
/* 018DC 80B1D1DC 0C2C6E69 */ jal func_80B1B9A4
/* 018E0 80B1D1E0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 018E4 80B1D1E4 0C2C7003 */ jal func_80B1C00C
/* 018E8 80B1D1E8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 018EC 80B1D1EC 8FBF0024 */ lw $ra, 0x0024($sp)
/* 018F0 80B1D1F0 8FB00020 */ lw $s0, 0x0020($sp)
/* 018F4 80B1D1F4 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 018F8 80B1D1F8 03E00008 */ jr $ra
/* 018FC 80B1D1FC 00000000 */ nop

View File

@ -1,46 +0,0 @@
glabel func_80B1B900
/* 00000 80B1B900 24820310 */ addiu $v0, $a0, 0x0310 ## $v0 = 00000310
/* 00004 80B1B904 24040001 */ addiu $a0, $zero, 0x0001 ## $a0 = 00000001
/* 00008 80B1B908 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
.L80B1B90C:
/* 0000C 80B1B90C 904E0000 */ lbu $t6, 0x0000($v0) ## 00000310
/* 00010 80B1B910 24630001 */ addiu $v1, $v1, 0x0001 ## $v1 = 00000001
/* 00014 80B1B914 00031C00 */ sll $v1, $v1, 16
/* 00018 80B1B918 108E001D */ beq $a0, $t6, .L80B1B990
/* 0001C 80B1B91C 00031C03 */ sra $v1, $v1, 16
/* 00020 80B1B920 C7A40014 */ lwc1 $f4, 0x0014($sp)
/* 00024 80B1B924 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
/* 00028 80B1B928 E4440004 */ swc1 $f4, 0x0004($v0) ## 00000314
/* 0002C 80B1B92C C7A60018 */ lwc1 $f6, 0x0018($sp)
/* 00030 80B1B930 E4460008 */ swc1 $f6, 0x0008($v0) ## 00000318
/* 00034 80B1B934 93B80013 */ lbu $t8, 0x0013($sp)
/* 00038 80B1B938 A0590000 */ sb $t9, 0x0000($v0) ## 00000310
/* 0003C 80B1B93C A0580001 */ sb $t8, 0x0001($v0) ## 00000311
/* 00040 80B1B940 A0580002 */ sb $t8, 0x0002($v0) ## 00000312
/* 00044 80B1B944 8CA90000 */ lw $t1, 0x0000($a1) ## 00000000
/* 00048 80B1B948 AC490014 */ sw $t1, 0x0014($v0) ## 00000324
/* 0004C 80B1B94C 8CA80004 */ lw $t0, 0x0004($a1) ## 00000004
/* 00050 80B1B950 AC480018 */ sw $t0, 0x0018($v0) ## 00000328
/* 00054 80B1B954 8CA90008 */ lw $t1, 0x0008($a1) ## 00000008
/* 00058 80B1B958 AC49001C */ sw $t1, 0x001C($v0) ## 0000032C
/* 0005C 80B1B95C 8CEB0000 */ lw $t3, 0x0000($a3) ## 00000000
/* 00060 80B1B960 AC4B002C */ sw $t3, 0x002C($v0) ## 0000033C
/* 00064 80B1B964 8CEA0004 */ lw $t2, 0x0004($a3) ## 00000004
/* 00068 80B1B968 AC4A0030 */ sw $t2, 0x0030($v0) ## 00000340
/* 0006C 80B1B96C 8CEB0008 */ lw $t3, 0x0008($a3) ## 00000008
/* 00070 80B1B970 AC4B0034 */ sw $t3, 0x0034($v0) ## 00000344
/* 00074 80B1B974 8CCD0000 */ lw $t5, 0x0000($a2) ## 00000000
/* 00078 80B1B978 AC4D0020 */ sw $t5, 0x0020($v0) ## 00000330
/* 0007C 80B1B97C 8CCC0004 */ lw $t4, 0x0004($a2) ## 00000004
/* 00080 80B1B980 AC4C0024 */ sw $t4, 0x0024($v0) ## 00000334
/* 00084 80B1B984 8CCD0008 */ lw $t5, 0x0008($a2) ## 00000008
/* 00088 80B1B988 03E00008 */ jr $ra
/* 0008C 80B1B98C AC4D0028 */ sw $t5, 0x0028($v0) ## 00000338
.L80B1B990:
/* 00090 80B1B990 28610014 */ slti $at, $v1, 0x0014
/* 00094 80B1B994 1420FFDD */ bne $at, $zero, .L80B1B90C
/* 00098 80B1B998 24420038 */ addiu $v0, $v0, 0x0038 ## $v0 = 00000348
/* 0009C 80B1B99C 03E00008 */ jr $ra
/* 000A0 80B1B9A0 00000000 */ nop

View File

@ -1,75 +0,0 @@
glabel func_80B1B9A4
/* 000A4 80B1B9A4 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 000A8 80B1B9A8 F7B60018 */ sdc1 $f22, 0x0018($sp)
/* 000AC 80B1B9AC 3C0180B2 */ lui $at, %hi(D_80B1D62C) ## $at = 80B20000
/* 000B0 80B1B9B0 C436D62C */ lwc1 $f22, %lo(D_80B1D62C)($at)
/* 000B4 80B1B9B4 AFB10028 */ sw $s1, 0x0028($sp)
/* 000B8 80B1B9B8 AFB00024 */ sw $s0, 0x0024($sp)
/* 000BC 80B1B9BC F7B40010 */ sdc1 $f20, 0x0010($sp)
/* 000C0 80B1B9C0 3C0180B2 */ lui $at, %hi(D_80B1D630) ## $at = 80B20000
/* 000C4 80B1B9C4 AFBF002C */ sw $ra, 0x002C($sp)
/* 000C8 80B1B9C8 24900310 */ addiu $s0, $a0, 0x0310 ## $s0 = 00000310
/* 000CC 80B1B9CC C434D630 */ lwc1 $f20, %lo(D_80B1D630)($at)
/* 000D0 80B1B9D0 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000
.L80B1B9D4:
/* 000D4 80B1B9D4 920E0000 */ lbu $t6, 0x0000($s0) ## 00000310
/* 000D8 80B1B9D8 51C00029 */ beql $t6, $zero, .L80B1BA80
/* 000DC 80B1B9DC 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000001
/* 000E0 80B1B9E0 920F0001 */ lbu $t7, 0x0001($s0) ## 00000311
/* 000E4 80B1B9E4 25F8FFFF */ addiu $t8, $t7, 0xFFFF ## $t8 = FFFFFFFF
/* 000E8 80B1B9E8 331900FF */ andi $t9, $t8, 0x00FF ## $t9 = 000000FF
/* 000EC 80B1B9EC 17200002 */ bne $t9, $zero, .L80B1B9F8
/* 000F0 80B1B9F0 A2180001 */ sb $t8, 0x0001($s0) ## 00000311
/* 000F4 80B1B9F4 A2000000 */ sb $zero, 0x0000($s0) ## 00000310
.L80B1B9F8:
/* 000F8 80B1B9F8 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 000FC 80B1B9FC 00000000 */ nop
/* 00100 80B1BA00 46140102 */ mul.s $f4, $f0, $f20
/* 00104 80B1BA04 46162181 */ sub.s $f6, $f4, $f22
/* 00108 80B1BA08 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 0010C 80B1BA0C E606002C */ swc1 $f6, 0x002C($s0) ## 0000033C
/* 00110 80B1BA10 C60C0020 */ lwc1 $f12, 0x0020($s0) ## 00000330
/* 00114 80B1BA14 C60A0014 */ lwc1 $f10, 0x0014($s0) ## 00000324
/* 00118 80B1BA18 46140202 */ mul.s $f8, $f0, $f20
/* 0011C 80B1BA1C C60E0024 */ lwc1 $f14, 0x0024($s0) ## 00000334
/* 00120 80B1BA20 460C5480 */ add.s $f18, $f10, $f12
/* 00124 80B1BA24 C6040018 */ lwc1 $f4, 0x0018($s0) ## 00000328
/* 00128 80B1BA28 C6100028 */ lwc1 $f16, 0x0028($s0) ## 00000338
/* 0012C 80B1BA2C E6120014 */ swc1 $f18, 0x0014($s0) ## 00000324
/* 00130 80B1BA30 C612002C */ lwc1 $f18, 0x002C($s0) ## 0000033C
/* 00134 80B1BA34 460E2180 */ add.s $f6, $f4, $f14
/* 00138 80B1BA38 46164081 */ sub.s $f2, $f8, $f22
/* 0013C 80B1BA3C C608001C */ lwc1 $f8, 0x001C($s0) ## 0000032C
/* 00140 80B1BA40 E6060018 */ swc1 $f6, 0x0018($s0) ## 00000328
/* 00144 80B1BA44 46126100 */ add.s $f4, $f12, $f18
/* 00148 80B1BA48 C6060030 */ lwc1 $f6, 0x0030($s0) ## 00000340
/* 0014C 80B1BA4C C6120004 */ lwc1 $f18, 0x0004($s0) ## 00000314
/* 00150 80B1BA50 46104280 */ add.s $f10, $f8, $f16
/* 00154 80B1BA54 E6040020 */ swc1 $f4, 0x0020($s0) ## 00000330
/* 00158 80B1BA58 C6040008 */ lwc1 $f4, 0x0008($s0) ## 00000318
/* 0015C 80B1BA5C 46067200 */ add.s $f8, $f14, $f6
/* 00160 80B1BA60 E60A001C */ swc1 $f10, 0x001C($s0) ## 0000032C
/* 00164 80B1BA64 E6020034 */ swc1 $f2, 0x0034($s0) ## 00000344
/* 00168 80B1BA68 46028280 */ add.s $f10, $f16, $f2
/* 0016C 80B1BA6C E6080024 */ swc1 $f8, 0x0024($s0) ## 00000334
/* 00170 80B1BA70 46049180 */ add.s $f6, $f18, $f4
/* 00174 80B1BA74 E60A0028 */ swc1 $f10, 0x0028($s0) ## 00000338
/* 00178 80B1BA78 E6060004 */ swc1 $f6, 0x0004($s0) ## 00000314
/* 0017C 80B1BA7C 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000002
.L80B1BA80:
/* 00180 80B1BA80 00118C00 */ sll $s1, $s1, 16
/* 00184 80B1BA84 00118C03 */ sra $s1, $s1, 16
/* 00188 80B1BA88 2A210014 */ slti $at, $s1, 0x0014
/* 0018C 80B1BA8C 1420FFD1 */ bne $at, $zero, .L80B1B9D4
/* 00190 80B1BA90 26100038 */ addiu $s0, $s0, 0x0038 ## $s0 = 00000348
/* 00194 80B1BA94 8FBF002C */ lw $ra, 0x002C($sp)
/* 00198 80B1BA98 D7B40010 */ ldc1 $f20, 0x0010($sp)
/* 0019C 80B1BA9C D7B60018 */ ldc1 $f22, 0x0018($sp)
/* 001A0 80B1BAA0 8FB00024 */ lw $s0, 0x0024($sp)
/* 001A4 80B1BAA4 8FB10028 */ lw $s1, 0x0028($sp)
/* 001A8 80B1BAA8 03E00008 */ jr $ra
/* 001AC 80B1BAAC 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000

View File

@ -1,213 +0,0 @@
glabel func_80B1BAB0
/* 001B0 80B1BAB0 27BDFF58 */ addiu $sp, $sp, 0xFF58 ## $sp = FFFFFF58
/* 001B4 80B1BAB4 AFBE0050 */ sw $s8, 0x0050($sp)
/* 001B8 80B1BAB8 00A0F025 */ or $s8, $a1, $zero ## $s8 = 00000000
/* 001BC 80B1BABC AFBF0054 */ sw $ra, 0x0054($sp)
/* 001C0 80B1BAC0 AFB7004C */ sw $s7, 0x004C($sp)
/* 001C4 80B1BAC4 AFB60048 */ sw $s6, 0x0048($sp)
/* 001C8 80B1BAC8 AFB50044 */ sw $s5, 0x0044($sp)
/* 001CC 80B1BACC AFB40040 */ sw $s4, 0x0040($sp)
/* 001D0 80B1BAD0 AFB3003C */ sw $s3, 0x003C($sp)
/* 001D4 80B1BAD4 AFB20038 */ sw $s2, 0x0038($sp)
/* 001D8 80B1BAD8 AFB10034 */ sw $s1, 0x0034($sp)
/* 001DC 80B1BADC AFB00030 */ sw $s0, 0x0030($sp)
/* 001E0 80B1BAE0 F7B80028 */ sdc1 $f24, 0x0028($sp)
/* 001E4 80B1BAE4 F7B60020 */ sdc1 $f22, 0x0020($sp)
/* 001E8 80B1BAE8 F7B40018 */ sdc1 $f20, 0x0018($sp)
/* 001EC 80B1BAEC 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 001F0 80B1BAF0 24920310 */ addiu $s2, $a0, 0x0310 ## $s2 = 00000310
/* 001F4 80B1BAF4 3C0680B2 */ lui $a2, %hi(D_80B1D5B0) ## $a2 = 80B20000
/* 001F8 80B1BAF8 24C6D5B0 */ addiu $a2, $a2, %lo(D_80B1D5B0) ## $a2 = 80B1D5B0
/* 001FC 80B1BAFC 27A40088 */ addiu $a0, $sp, 0x0088 ## $a0 = FFFFFFE0
/* 00200 80B1BB00 24070072 */ addiu $a3, $zero, 0x0072 ## $a3 = 00000072
/* 00204 80B1BB04 0C031AB1 */ jal func_800C6AC4
/* 00208 80B1BB08 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
/* 0020C 80B1BB0C 0000B825 */ or $s7, $zero, $zero ## $s7 = 00000000
/* 00210 80B1BB10 0C024F61 */ jal func_80093D84
/* 00214 80B1BB14 8FC40000 */ lw $a0, 0x0000($s8) ## 00000000
/* 00218 80B1BB18 3C014100 */ lui $at, 0x4100 ## $at = 41000000
/* 0021C 80B1BB1C 4481C000 */ mtc1 $at, $f24 ## $f24 = 8.00
/* 00220 80B1BB20 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00224 80B1BB24 4481B000 */ mtc1 $at, $f22 ## $f22 = 1.00
/* 00228 80B1BB28 3C01437F */ lui $at, 0x437F ## $at = 437F0000
/* 0022C 80B1BB2C 4481A000 */ mtc1 $at, $f20 ## $f20 = 255.00
/* 00230 80B1BB30 0000A025 */ or $s4, $zero, $zero ## $s4 = 00000000
/* 00234 80B1BB34 3C16DE00 */ lui $s6, 0xDE00 ## $s6 = DE000000
.L80B1BB38:
/* 00238 80B1BB38 924E0000 */ lbu $t6, 0x0000($s2) ## 00000310
/* 0023C 80B1BB3C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00240 80B1BB40 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0
/* 00244 80B1BB44 11C0008A */ beq $t6, $zero, .L80B1BD70
/* 00248 80B1BB48 03C19821 */ addu $s3, $s8, $at
/* 0024C 80B1BB4C 3C150601 */ lui $s5, 0x0601 ## $s5 = 06010000
/* 00250 80B1BB50 16E00014 */ bne $s7, $zero, .L80B1BBA4
/* 00254 80B1BB54 26B5BCA0 */ addiu $s5, $s5, 0xBCA0 ## $s5 = 0600BCA0
/* 00258 80B1BB58 3C110601 */ lui $s1, 0x0601 ## $s1 = 06010000
/* 0025C 80B1BB5C 2631BC90 */ addiu $s1, $s1, 0xBC90 ## $s1 = 0600BC90
/* 00260 80B1BB60 8E0402D0 */ lw $a0, 0x02D0($s0) ## 000002D0
/* 00264 80B1BB64 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00268 80B1BB68 0C024DDD */ jal func_80093774
/* 0026C 80B1BB6C 24170001 */ addiu $s7, $zero, 0x0001 ## $s7 = 00000001
/* 00270 80B1BB70 AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0
/* 00274 80B1BB74 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
/* 00278 80B1BB78 AE0F02D0 */ sw $t7, 0x02D0($s0) ## 000002D0
/* 0027C 80B1BB7C AC510004 */ sw $s1, 0x0004($v0) ## 00000004
/* 00280 80B1BB80 AC560000 */ sw $s6, 0x0000($v0) ## 00000000
/* 00284 80B1BB84 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 00288 80B1BB88 3C08643C */ lui $t0, 0x643C ## $t0 = 643C0000
/* 0028C 80B1BB8C 35081400 */ ori $t0, $t0, 0x1400 ## $t0 = 643C1400
/* 00290 80B1BB90 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 00294 80B1BB94 AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0
/* 00298 80B1BB98 3C19FB00 */ lui $t9, 0xFB00 ## $t9 = FB000000
/* 0029C 80B1BB9C AC590000 */ sw $t9, 0x0000($v0) ## 00000000
/* 002A0 80B1BBA0 AC480004 */ sw $t0, 0x0004($v0) ## 00000004
.L80B1BBA4:
/* 002A4 80B1BBA4 92490001 */ lbu $t1, 0x0001($s2) ## 00000311
/* 002A8 80B1BBA8 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
/* 002AC 80B1BBAC 44892000 */ mtc1 $t1, $f4 ## $f4 = 0.00
/* 002B0 80B1BBB0 05210004 */ bgez $t1, .L80B1BBC4
/* 002B4 80B1BBB4 468021A0 */ cvt.s.w $f6, $f4
/* 002B8 80B1BBB8 44814000 */ mtc1 $at, $f8 ## $f8 = 4294967296.00
/* 002BC 80B1BBBC 00000000 */ nop
/* 002C0 80B1BBC0 46083180 */ add.s $f6, $f6, $f8
.L80B1BBC4:
/* 002C4 80B1BBC4 924A0002 */ lbu $t2, 0x0002($s2) ## 00000312
/* 002C8 80B1BBC8 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
/* 002CC 80B1BBCC 448A5000 */ mtc1 $t2, $f10 ## $f10 = 0.00
/* 002D0 80B1BBD0 05410004 */ bgez $t2, .L80B1BBE4
/* 002D4 80B1BBD4 46805420 */ cvt.s.w $f16, $f10
/* 002D8 80B1BBD8 44819000 */ mtc1 $at, $f18 ## $f18 = 4294967296.00
/* 002DC 80B1BBDC 00000000 */ nop
/* 002E0 80B1BBE0 46128400 */ add.s $f16, $f16, $f18
.L80B1BBE4:
/* 002E4 80B1BBE4 4610A103 */ div.s $f4, $f20, $f16
/* 002E8 80B1BBE8 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 002EC 80B1BBEC 3C01AA82 */ lui $at, 0xAA82 ## $at = AA820000
/* 002F0 80B1BBF0 34215A00 */ ori $at, $at, 0x5A00 ## $at = AA825A00
/* 002F4 80B1BBF4 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
/* 002F8 80B1BBF8 AE0C02D0 */ sw $t4, 0x02D0($s0) ## 000002D0
/* 002FC 80B1BBFC 3C0DFA00 */ lui $t5, 0xFA00 ## $t5 = FA000000
/* 00300 80B1BC00 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000
/* 00304 80B1BC04 3C19E700 */ lui $t9, 0xE700 ## $t9 = E7000000
/* 00308 80B1BC08 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 0030C 80B1BC0C 46043202 */ mul.s $f8, $f6, $f4
/* 00310 80B1BC10 4600428D */ trunc.w.s $f10, $f8
/* 00314 80B1BC14 44045000 */ mfc1 $a0, $f10
/* 00318 80B1BC18 00000000 */ nop
/* 0031C 80B1BC1C 00042400 */ sll $a0, $a0, 16
/* 00320 80B1BC20 00042403 */ sra $a0, $a0, 16
/* 00324 80B1BC24 308E00FF */ andi $t6, $a0, 0x00FF ## $t6 = 00000000
/* 00328 80B1BC28 01C17825 */ or $t7, $t6, $at ## $t7 = AA825A00
/* 0032C 80B1BC2C AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004
/* 00330 80B1BC30 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 00334 80B1BC34 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 00338 80B1BC38 AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0
/* 0033C 80B1BC3C AC400004 */ sw $zero, 0x0004($v0) ## 00000004
/* 00340 80B1BC40 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
/* 00344 80B1BC44 8E46001C */ lw $a2, 0x001C($s2) ## 0000032C
/* 00348 80B1BC48 C64E0018 */ lwc1 $f14, 0x0018($s2) ## 00000328
/* 0034C 80B1BC4C 0C034261 */ jal Matrix_Translate
/* 00350 80B1BC50 C64C0014 */ lwc1 $f12, 0x0014($s2) ## 00000324
/* 00354 80B1BC54 0C0347F5 */ jal func_800D1FD4
/* 00358 80B1BC58 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 0035C 80B1BC5C C64C0004 */ lwc1 $f12, 0x0004($s2) ## 00000314
/* 00360 80B1BC60 4406B000 */ mfc1 $a2, $f22
/* 00364 80B1BC64 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 00368 80B1BC68 0C0342A3 */ jal Matrix_Scale
/* 0036C 80B1BC6C 46006386 */ mov.s $f14, $f12
/* 00370 80B1BC70 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 00374 80B1BC74 3C09DA38 */ lui $t1, 0xDA38 ## $t1 = DA380000
/* 00378 80B1BC78 35290003 */ ori $t1, $t1, 0x0003 ## $t1 = DA380003
/* 0037C 80B1BC7C 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008
/* 00380 80B1BC80 AE0802D0 */ sw $t0, 0x02D0($s0) ## 000002D0
/* 00384 80B1BC84 3C0580B2 */ lui $a1, %hi(D_80B1D5C4) ## $a1 = 80B20000
/* 00388 80B1BC88 AC490000 */ sw $t1, 0x0000($v0) ## 00000000
/* 0038C 80B1BC8C 8FC40000 */ lw $a0, 0x0000($s8) ## 00000000
/* 00390 80B1BC90 24A5D5C4 */ addiu $a1, $a1, %lo(D_80B1D5C4) ## $a1 = 80B1D5C4
/* 00394 80B1BC94 2406008C */ addiu $a2, $zero, 0x008C ## $a2 = 0000008C
/* 00398 80B1BC98 0C0346A2 */ jal Matrix_NewMtx
/* 0039C 80B1BC9C 00408825 */ or $s1, $v0, $zero ## $s1 = 00000000
/* 003A0 80B1BCA0 AE220004 */ sw $v0, 0x0004($s1) ## 00000004
/* 003A4 80B1BCA4 924A0001 */ lbu $t2, 0x0001($s2) ## 00000311
/* 003A8 80B1BCA8 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
/* 003AC 80B1BCAC 448A9000 */ mtc1 $t2, $f18 ## $f18 = 0.00
/* 003B0 80B1BCB0 05410004 */ bgez $t2, .L80B1BCC4
/* 003B4 80B1BCB4 46809420 */ cvt.s.w $f16, $f18
/* 003B8 80B1BCB8 44813000 */ mtc1 $at, $f6 ## $f6 = 4294967296.00
/* 003BC 80B1BCBC 00000000 */ nop
/* 003C0 80B1BCC0 46068400 */ add.s $f16, $f16, $f6
.L80B1BCC4:
/* 003C4 80B1BCC4 924B0002 */ lbu $t3, 0x0002($s2) ## 00000312
/* 003C8 80B1BCC8 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
/* 003CC 80B1BCCC 448B2000 */ mtc1 $t3, $f4 ## $f4 = 0.00
/* 003D0 80B1BCD0 05610004 */ bgez $t3, .L80B1BCE4
/* 003D4 80B1BCD4 46802220 */ cvt.s.w $f8, $f4
/* 003D8 80B1BCD8 44815000 */ mtc1 $at, $f10 ## $f10 = 4294967296.00
/* 003DC 80B1BCDC 00000000 */ nop
/* 003E0 80B1BCE0 460A4200 */ add.s $f8, $f8, $f10
.L80B1BCE4:
/* 003E4 80B1BCE4 4608C483 */ div.s $f18, $f24, $f8
/* 003E8 80B1BCE8 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 003EC 80B1BCEC 3C0EDB06 */ lui $t6, 0xDB06 ## $t6 = DB060000
/* 003F0 80B1BCF0 35CE0020 */ ori $t6, $t6, 0x0020 ## $t6 = DB060020
/* 003F4 80B1BCF4 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008
/* 003F8 80B1BCF8 AE0D02D0 */ sw $t5, 0x02D0($s0) ## 000002D0
/* 003FC 80B1BCFC 3C0480B2 */ lui $a0, %hi(D_80B1D4D0) ## $a0 = 80B20000
/* 00400 80B1BD00 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
/* 00404 80B1BD04 3C0A8016 */ lui $t2, 0x8016 ## $t2 = 80160000
/* 00408 80B1BD08 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 0040C 80B1BD0C 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 00410 80B1BD10 46128182 */ mul.s $f6, $f16, $f18
/* 00414 80B1BD14 4600310D */ trunc.w.s $f4, $f6
/* 00418 80B1BD18 44052000 */ mfc1 $a1, $f4
/* 0041C 80B1BD1C 00000000 */ nop
/* 00420 80B1BD20 00052C00 */ sll $a1, $a1, 16
/* 00424 80B1BD24 00052C03 */ sra $a1, $a1, 16
/* 00428 80B1BD28 00057880 */ sll $t7, $a1, 2
/* 0042C 80B1BD2C 008F2021 */ addu $a0, $a0, $t7
/* 00430 80B1BD30 8C84D4D0 */ lw $a0, %lo(D_80B1D4D0)($a0)
/* 00434 80B1BD34 0004C900 */ sll $t9, $a0, 4
/* 00438 80B1BD38 00194702 */ srl $t0, $t9, 28
/* 0043C 80B1BD3C 00084880 */ sll $t1, $t0, 2
/* 00440 80B1BD40 01495021 */ addu $t2, $t2, $t1
/* 00444 80B1BD44 8D4A6FA8 */ lw $t2, 0x6FA8($t2) ## 80166FA8
/* 00448 80B1BD48 0081C024 */ and $t8, $a0, $at
/* 0044C 80B1BD4C 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 00450 80B1BD50 030A5821 */ addu $t3, $t8, $t2
/* 00454 80B1BD54 01616021 */ addu $t4, $t3, $at
/* 00458 80B1BD58 AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004
/* 0045C 80B1BD5C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 00460 80B1BD60 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008
/* 00464 80B1BD64 AE0D02D0 */ sw $t5, 0x02D0($s0) ## 000002D0
/* 00468 80B1BD68 AC550004 */ sw $s5, 0x0004($v0) ## 00000004
/* 0046C 80B1BD6C AC560000 */ sw $s6, 0x0000($v0) ## 00000000
.L80B1BD70:
/* 00470 80B1BD70 26940001 */ addiu $s4, $s4, 0x0001 ## $s4 = 00000001
/* 00474 80B1BD74 0014A400 */ sll $s4, $s4, 16
/* 00478 80B1BD78 0014A403 */ sra $s4, $s4, 16
/* 0047C 80B1BD7C 2A810014 */ slti $at, $s4, 0x0014
/* 00480 80B1BD80 1420FF6D */ bne $at, $zero, .L80B1BB38
/* 00484 80B1BD84 26520038 */ addiu $s2, $s2, 0x0038 ## $s2 = 00000348
/* 00488 80B1BD88 3C0680B2 */ lui $a2, %hi(D_80B1D5D8) ## $a2 = 80B20000
/* 0048C 80B1BD8C 24C6D5D8 */ addiu $a2, $a2, %lo(D_80B1D5D8) ## $a2 = 80B1D5D8
/* 00490 80B1BD90 27A40088 */ addiu $a0, $sp, 0x0088 ## $a0 = FFFFFFE0
/* 00494 80B1BD94 8FC50000 */ lw $a1, 0x0000($s8) ## 00000000
/* 00498 80B1BD98 0C031AD5 */ jal func_800C6B54
/* 0049C 80B1BD9C 2407009A */ addiu $a3, $zero, 0x009A ## $a3 = 0000009A
/* 004A0 80B1BDA0 8FBF0054 */ lw $ra, 0x0054($sp)
/* 004A4 80B1BDA4 D7B40018 */ ldc1 $f20, 0x0018($sp)
/* 004A8 80B1BDA8 D7B60020 */ ldc1 $f22, 0x0020($sp)
/* 004AC 80B1BDAC D7B80028 */ ldc1 $f24, 0x0028($sp)
/* 004B0 80B1BDB0 8FB00030 */ lw $s0, 0x0030($sp)
/* 004B4 80B1BDB4 8FB10034 */ lw $s1, 0x0034($sp)
/* 004B8 80B1BDB8 8FB20038 */ lw $s2, 0x0038($sp)
/* 004BC 80B1BDBC 8FB3003C */ lw $s3, 0x003C($sp)
/* 004C0 80B1BDC0 8FB40040 */ lw $s4, 0x0040($sp)
/* 004C4 80B1BDC4 8FB50044 */ lw $s5, 0x0044($sp)
/* 004C8 80B1BDC8 8FB60048 */ lw $s6, 0x0048($sp)
/* 004CC 80B1BDCC 8FB7004C */ lw $s7, 0x004C($sp)
/* 004D0 80B1BDD0 8FBE0050 */ lw $s8, 0x0050($sp)
/* 004D4 80B1BDD4 03E00008 */ jr $ra
/* 004D8 80B1BDD8 27BD00A8 */ addiu $sp, $sp, 0x00A8 ## $sp = 00000000

View File

@ -1,50 +0,0 @@
glabel func_80B1BDDC
/* 004DC 80B1BDDC 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
/* 004E0 80B1BDE0 3C0F80B2 */ lui $t7, %hi(D_80B1D4F0) ## $t7 = 80B20000
/* 004E4 80B1BDE4 AFBF0024 */ sw $ra, 0x0024($sp)
/* 004E8 80B1BDE8 AFA40048 */ sw $a0, 0x0048($sp)
/* 004EC 80B1BDEC AFA5004C */ sw $a1, 0x004C($sp)
/* 004F0 80B1BDF0 AFA60050 */ sw $a2, 0x0050($sp)
/* 004F4 80B1BDF4 AFA70054 */ sw $a3, 0x0054($sp)
/* 004F8 80B1BDF8 25EFD4F0 */ addiu $t7, $t7, %lo(D_80B1D4F0) ## $t7 = 80B1D4F0
/* 004FC 80B1BDFC 8DF90000 */ lw $t9, 0x0000($t7) ## 80B1D4F0
/* 00500 80B1BE00 27AE003C */ addiu $t6, $sp, 0x003C ## $t6 = FFFFFFF4
/* 00504 80B1BE04 8DF80004 */ lw $t8, 0x0004($t7) ## 80B1D4F4
/* 00508 80B1BE08 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF4
/* 0050C 80B1BE0C 8DF90008 */ lw $t9, 0x0008($t7) ## 80B1D4F8
/* 00510 80B1BE10 3C0980B2 */ lui $t1, %hi(D_80B1D4FC) ## $t1 = 80B20000
/* 00514 80B1BE14 2529D4FC */ addiu $t1, $t1, %lo(D_80B1D4FC) ## $t1 = 80B1D4FC
/* 00518 80B1BE18 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF8
/* 0051C 80B1BE1C ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFFC
/* 00520 80B1BE20 8D2B0000 */ lw $t3, 0x0000($t1) ## 80B1D4FC
/* 00524 80B1BE24 27A80030 */ addiu $t0, $sp, 0x0030 ## $t0 = FFFFFFE8
/* 00528 80B1BE28 8D2A0004 */ lw $t2, 0x0004($t1) ## 80B1D500
/* 0052C 80B1BE2C AD0B0000 */ sw $t3, 0x0000($t0) ## FFFFFFE8
/* 00530 80B1BE30 8D2B0008 */ lw $t3, 0x0008($t1) ## 80B1D504
/* 00534 80B1BE34 AD0A0004 */ sw $t2, 0x0004($t0) ## FFFFFFEC
/* 00538 80B1BE38 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 0053C 80B1BE3C AD0B0008 */ sw $t3, 0x0008($t0) ## FFFFFFF0
/* 00540 80B1BE40 C7A6005C */ lwc1 $f6, 0x005C($sp)
/* 00544 80B1BE44 C7A40034 */ lwc1 $f4, 0x0034($sp)
/* 00548 80B1BE48 93AC0053 */ lbu $t4, 0x0053($sp)
/* 0054C 80B1BE4C 46060202 */ mul.s $f8, $f0, $f6
/* 00550 80B1BE50 C7B00054 */ lwc1 $f16, 0x0054($sp)
/* 00554 80B1BE54 C7B20058 */ lwc1 $f18, 0x0058($sp)
/* 00558 80B1BE58 8FA40048 */ lw $a0, 0x0048($sp)
/* 0055C 80B1BE5C 8FA5004C */ lw $a1, 0x004C($sp)
/* 00560 80B1BE60 27A6003C */ addiu $a2, $sp, 0x003C ## $a2 = FFFFFFF4
/* 00564 80B1BE64 27A70030 */ addiu $a3, $sp, 0x0030 ## $a3 = FFFFFFE8
/* 00568 80B1BE68 46082280 */ add.s $f10, $f4, $f8
/* 0056C 80B1BE6C AFAC0010 */ sw $t4, 0x0010($sp)
/* 00570 80B1BE70 E7B00014 */ swc1 $f16, 0x0014($sp)
/* 00574 80B1BE74 E7B20018 */ swc1 $f18, 0x0018($sp)
/* 00578 80B1BE78 0C2C6E40 */ jal func_80B1B900
/* 0057C 80B1BE7C E7AA0034 */ swc1 $f10, 0x0034($sp)
/* 00580 80B1BE80 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00584 80B1BE84 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
/* 00588 80B1BE88 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 0058C 80B1BE8C 03E00008 */ jr $ra
/* 00590 80B1BE90 00000000 */ nop

View File

@ -1,38 +0,0 @@
glabel func_80B1BE94
/* 00594 80B1BE94 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00598 80B1BE98 AFA40028 */ sw $a0, 0x0028($sp)
/* 0059C 80B1BE9C AFBF0024 */ sw $ra, 0x0024($sp)
/* 005A0 80B1BEA0 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 005A4 80B1BEA4 AFA5002C */ sw $a1, 0x002C($sp)
/* 005A8 80B1BEA8 0C028800 */ jal SkelAnime_GetFrameCount
/* 005AC 80B1BEAC 24842F84 */ addiu $a0, $a0, 0x2F84 ## $a0 = 06002F84
/* 005B0 80B1BEB0 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 005B4 80B1BEB4 3C01C120 */ lui $at, 0xC120 ## $at = C1200000
/* 005B8 80B1BEB8 44814000 */ mtc1 $at, $f8 ## $f8 = -10.00
/* 005BC 80B1BEBC 468021A0 */ cvt.s.w $f6, $f4
/* 005C0 80B1BEC0 8FA40028 */ lw $a0, 0x0028($sp)
/* 005C4 80B1BEC4 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 005C8 80B1BEC8 24A52F84 */ addiu $a1, $a1, 0x2F84 ## $a1 = 06002F84
/* 005CC 80B1BECC 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 005D0 80B1BED0 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 005D4 80B1BED4 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 005D8 80B1BED8 AFA00014 */ sw $zero, 0x0014($sp)
/* 005DC 80B1BEDC E7A80018 */ swc1 $f8, 0x0018($sp)
/* 005E0 80B1BEE0 0C029468 */ jal SkelAnime_ChangeAnimation
/* 005E4 80B1BEE4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 005E8 80B1BEE8 2404003C */ addiu $a0, $zero, 0x003C ## $a0 = 0000003C
/* 005EC 80B1BEEC 0C01DF64 */ jal Math_Rand_S16Offset
/* 005F0 80B1BEF0 2405003C */ addiu $a1, $zero, 0x003C ## $a1 = 0000003C
/* 005F4 80B1BEF4 8FA30028 */ lw $v1, 0x0028($sp)
/* 005F8 80B1BEF8 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
/* 005FC 80B1BEFC A462021C */ sh $v0, 0x021C($v1) ## 0000021C
/* 00600 80B1BF00 E46A0068 */ swc1 $f10, 0x0068($v1) ## 00000068
/* 00604 80B1BF04 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00608 80B1BF08 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 0060C 80B1BF0C 03E00008 */ jr $ra
/* 00610 80B1BF10 00000000 */ nop

View File

@ -1,36 +0,0 @@
glabel func_80B1BF14
/* 00614 80B1BF14 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00618 80B1BF18 AFA40028 */ sw $a0, 0x0028($sp)
/* 0061C 80B1BF1C AFBF0024 */ sw $ra, 0x0024($sp)
/* 00620 80B1BF20 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 00624 80B1BF24 AFA5002C */ sw $a1, 0x002C($sp)
/* 00628 80B1BF28 0C028800 */ jal SkelAnime_GetFrameCount
/* 0062C 80B1BF2C 24842F84 */ addiu $a0, $a0, 0x2F84 ## $a0 = 06002F84
/* 00630 80B1BF30 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 00634 80B1BF34 3C01C120 */ lui $at, 0xC120 ## $at = C1200000
/* 00638 80B1BF38 44814000 */ mtc1 $at, $f8 ## $f8 = -10.00
/* 0063C 80B1BF3C 468021A0 */ cvt.s.w $f6, $f4
/* 00640 80B1BF40 8FA40028 */ lw $a0, 0x0028($sp)
/* 00644 80B1BF44 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 00648 80B1BF48 24A51FA8 */ addiu $a1, $a1, 0x1FA8 ## $a1 = 06001FA8
/* 0064C 80B1BF4C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 00650 80B1BF50 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 00654 80B1BF54 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 00658 80B1BF58 AFA00014 */ sw $zero, 0x0014($sp)
/* 0065C 80B1BF5C E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00660 80B1BF60 0C029468 */ jal SkelAnime_ChangeAnimation
/* 00664 80B1BF64 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 00668 80B1BF68 240400F0 */ addiu $a0, $zero, 0x00F0 ## $a0 = 000000F0
/* 0066C 80B1BF6C 0C01DF64 */ jal Math_Rand_S16Offset
/* 00670 80B1BF70 240500F0 */ addiu $a1, $zero, 0x00F0 ## $a1 = 000000F0
/* 00674 80B1BF74 8FAE0028 */ lw $t6, 0x0028($sp)
/* 00678 80B1BF78 A5C2021C */ sh $v0, 0x021C($t6) ## 0000021C
/* 0067C 80B1BF7C 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00680 80B1BF80 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00684 80B1BF84 03E00008 */ jr $ra
/* 00688 80B1BF88 00000000 */ nop

View File

@ -1,38 +0,0 @@
glabel func_80B1BF8C
/* 0068C 80B1BF8C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00690 80B1BF90 AFA40028 */ sw $a0, 0x0028($sp)
/* 00694 80B1BF94 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00698 80B1BF98 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
/* 0069C 80B1BF9C AFA5002C */ sw $a1, 0x002C($sp)
/* 006A0 80B1BFA0 0C028800 */ jal SkelAnime_GetFrameCount
/* 006A4 80B1BFA4 24841144 */ addiu $a0, $a0, 0x1144 ## $a0 = 06001144
/* 006A8 80B1BFA8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 006AC 80B1BFAC 3C01C120 */ lui $at, 0xC120 ## $at = C1200000
/* 006B0 80B1BFB0 44814000 */ mtc1 $at, $f8 ## $f8 = -10.00
/* 006B4 80B1BFB4 468021A0 */ cvt.s.w $f6, $f4
/* 006B8 80B1BFB8 8FA40028 */ lw $a0, 0x0028($sp)
/* 006BC 80B1BFBC 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 006C0 80B1BFC0 24A51144 */ addiu $a1, $a1, 0x1144 ## $a1 = 06001144
/* 006C4 80B1BFC4 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 006C8 80B1BFC8 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
/* 006CC 80B1BFCC E7A60010 */ swc1 $f6, 0x0010($sp)
/* 006D0 80B1BFD0 AFA00014 */ sw $zero, 0x0014($sp)
/* 006D4 80B1BFD4 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 006D8 80B1BFD8 0C029468 */ jal SkelAnime_ChangeAnimation
/* 006DC 80B1BFDC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
/* 006E0 80B1BFE0 8FA40028 */ lw $a0, 0x0028($sp)
/* 006E4 80B1BFE4 0C2C7055 */ jal func_80B1C154
/* 006E8 80B1BFE8 8FA5002C */ lw $a1, 0x002C($sp)
/* 006EC 80B1BFEC 04400003 */ bltz $v0, .L80B1BFFC
/* 006F0 80B1BFF0 8FAF0028 */ lw $t7, 0x0028($sp)
/* 006F4 80B1BFF4 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 006F8 80B1BFF8 A1EE0208 */ sb $t6, 0x0208($t7) ## 00000208
.L80B1BFFC:
/* 006FC 80B1BFFC 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00700 80B1C000 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00704 80B1C004 03E00008 */ jr $ra
/* 00708 80B1C008 00000000 */ nop

View File

@ -1,58 +0,0 @@
glabel func_80B1C00C
/* 0070C 80B1C00C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00710 80B1C010 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00714 80B1C014 84820224 */ lh $v0, 0x0224($a0) ## 00000224
/* 00718 80B1C018 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 0071C 80B1C01C 14400003 */ bne $v0, $zero, .L80B1C02C
/* 00720 80B1C020 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00724 80B1C024 10000003 */ beq $zero, $zero, .L80B1C034
/* 00728 80B1C028 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
.L80B1C02C:
/* 0072C 80B1C02C A4CE0224 */ sh $t6, 0x0224($a2) ## 00000224
/* 00730 80B1C030 84C30224 */ lh $v1, 0x0224($a2) ## 00000224
.L80B1C034:
/* 00734 80B1C034 54600023 */ bnel $v1, $zero, .L80B1C0C4
/* 00738 80B1C038 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0073C 80B1C03C 84CF0222 */ lh $t7, 0x0222($a2) ## 00000222
/* 00740 80B1C040 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001
/* 00744 80B1C044 A4D80222 */ sh $t8, 0x0222($a2) ## 00000222
/* 00748 80B1C048 84D90222 */ lh $t9, 0x0222($a2) ## 00000222
/* 0074C 80B1C04C 2B210003 */ slti $at, $t9, 0x0003
/* 00750 80B1C050 5420001C */ bnel $at, $zero, .L80B1C0C4
/* 00754 80B1C054 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00758 80B1C058 84C80218 */ lh $t0, 0x0218($a2) ## 00000218
/* 0075C 80B1C05C 2404001E */ addiu $a0, $zero, 0x001E ## $a0 = 0000001E
/* 00760 80B1C060 2405001E */ addiu $a1, $zero, 0x001E ## $a1 = 0000001E
/* 00764 80B1C064 2509FFFF */ addiu $t1, $t0, 0xFFFF ## $t1 = FFFFFFFF
/* 00768 80B1C068 A4C90218 */ sh $t1, 0x0218($a2) ## 00000218
/* 0076C 80B1C06C 84CA0218 */ lh $t2, 0x0218($a2) ## 00000218
/* 00770 80B1C070 05430013 */ bgezl $t2, .L80B1C0C0
/* 00774 80B1C074 A4C00222 */ sh $zero, 0x0222($a2) ## 00000222
/* 00778 80B1C078 0C01DF64 */ jal Math_Rand_S16Offset
/* 0077C 80B1C07C AFA60018 */ sw $a2, 0x0018($sp)
/* 00780 80B1C080 8FA60018 */ lw $a2, 0x0018($sp)
/* 00784 80B1C084 240B0002 */ addiu $t3, $zero, 0x0002 ## $t3 = 00000002
/* 00788 80B1C088 A4C20224 */ sh $v0, 0x0224($a2) ## 00000224
/* 0078C 80B1C08C 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00790 80B1C090 A4CB0218 */ sh $t3, 0x0218($a2) ## 00000218
/* 00794 80B1C094 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 00798 80B1C098 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50
/* 0079C 80B1C09C 8FA60018 */ lw $a2, 0x0018($sp)
/* 007A0 80B1C0A0 4600203C */ c.lt.s $f4, $f0
/* 007A4 80B1C0A4 00000000 */ nop
/* 007A8 80B1C0A8 45020005 */ bc1fl .L80B1C0C0
/* 007AC 80B1C0AC A4C00222 */ sh $zero, 0x0222($a2) ## 00000222
/* 007B0 80B1C0B0 84CC0218 */ lh $t4, 0x0218($a2) ## 00000218
/* 007B4 80B1C0B4 258D0001 */ addiu $t5, $t4, 0x0001 ## $t5 = 00000001
/* 007B8 80B1C0B8 A4CD0218 */ sh $t5, 0x0218($a2) ## 00000218
/* 007BC 80B1C0BC A4C00222 */ sh $zero, 0x0222($a2) ## 00000222
.L80B1C0C0:
/* 007C0 80B1C0C0 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B1C0C4:
/* 007C4 80B1C0C4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 007C8 80B1C0C8 03E00008 */ jr $ra
/* 007CC 80B1C0CC 00000000 */ nop

View File

@ -1,40 +0,0 @@
glabel func_80B1C0D0
/* 007D0 80B1C0D0 3C0180B2 */ lui $at, %hi(D_80B1D634) ## $at = 80B20000
/* 007D4 80B1C0D4 C424D634 */ lwc1 $f4, %lo(D_80B1D634)($at)
/* 007D8 80B1C0D8 C486008C */ lwc1 $f6, 0x008C($a0) ## 0000008C
/* 007DC 80B1C0DC 4606203C */ c.lt.s $f4, $f6
/* 007E0 80B1C0E0 00000000 */ nop
/* 007E4 80B1C0E4 45020004 */ bc1fl .L80B1C0F8
/* 007E8 80B1C0E8 848200B6 */ lh $v0, 0x00B6($a0) ## 000000B6
/* 007EC 80B1C0EC 03E00008 */ jr $ra
/* 007F0 80B1C0F0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80B1C0F4:
/* 007F4 80B1C0F4 848200B6 */ lh $v0, 0x00B6($a0) ## 000000B6
.L80B1C0F8:
/* 007F8 80B1C0F8 848E021E */ lh $t6, 0x021E($a0) ## 0000021E
/* 007FC 80B1C0FC 848F0226 */ lh $t7, 0x0226($a0) ## 00000226
/* 00800 80B1C100 8498008A */ lh $t8, 0x008A($a0) ## 0000008A
/* 00804 80B1C104 004E1023 */ subu $v0, $v0, $t6
/* 00808 80B1C108 00021400 */ sll $v0, $v0, 16
/* 0080C 80B1C10C 00021403 */ sra $v0, $v0, 16
/* 00810 80B1C110 004F1023 */ subu $v0, $v0, $t7
/* 00814 80B1C114 00021400 */ sll $v0, $v0, 16
/* 00818 80B1C118 00021403 */ sra $v0, $v0, 16
/* 0081C 80B1C11C 03021823 */ subu $v1, $t8, $v0
/* 00820 80B1C120 00031C00 */ sll $v1, $v1, 16
/* 00824 80B1C124 00031C03 */ sra $v1, $v1, 16
/* 00828 80B1C128 04600003 */ bltz $v1, .L80B1C138
/* 0082C 80B1C12C 00031023 */ subu $v0, $zero, $v1
/* 00830 80B1C130 10000001 */ beq $zero, $zero, .L80B1C138
/* 00834 80B1C134 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000
.L80B1C138:
/* 00838 80B1C138 28411554 */ slti $at, $v0, 0x1554
/* 0083C 80B1C13C 10200003 */ beq $at, $zero, .L80B1C14C
/* 00840 80B1C140 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 00844 80B1C144 03E00008 */ jr $ra
/* 00848 80B1C148 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
.L80B1C14C:
/* 0084C 80B1C14C 03E00008 */ jr $ra
/* 00850 80B1C150 00000000 */ nop

View File

@ -1,68 +0,0 @@
glabel func_80B1C154
/* 00854 80B1C154 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 00858 80B1C158 AFBF003C */ sw $ra, 0x003C($sp)
/* 0085C 80B1C15C AFB20038 */ sw $s2, 0x0038($sp)
/* 00860 80B1C160 AFB10034 */ sw $s1, 0x0034($sp)
/* 00864 80B1C164 AFB00030 */ sw $s0, 0x0030($sp)
/* 00868 80B1C168 F7B80028 */ sdc1 $f24, 0x0028($sp)
/* 0086C 80B1C16C F7B60020 */ sdc1 $f22, 0x0020($sp)
/* 00870 80B1C170 F7B40018 */ sdc1 $f20, 0x0018($sp)
/* 00874 80B1C174 8CB01C64 */ lw $s0, 0x1C64($a1) ## 00001C64
/* 00878 80B1C178 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 0087C 80B1C17C 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 00880 80B1C180 52000025 */ beql $s0, $zero, .L80B1C218
/* 00884 80B1C184 2402FFFF */ addiu $v0, $zero, 0xFFFF ## $v0 = FFFFFFFF
/* 00888 80B1C188 4481C000 */ mtc1 $at, $f24 ## $f24 = 10.00
/* 0088C 80B1C18C 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 00890 80B1C190 4481B000 */ mtc1 $at, $f22 ## $f22 = 40.00
/* 00894 80B1C194 24120196 */ addiu $s2, $zero, 0x0196 ## $s2 = 00000196
/* 00898 80B1C198 860E0000 */ lh $t6, 0x0000($s0) ## 00000000
.L80B1C19C:
/* 0089C 80B1C19C 524E0004 */ beql $s2, $t6, .L80B1C1B0
/* 008A0 80B1C1A0 8E2F0210 */ lw $t7, 0x0210($s1) ## 00000210
/* 008A4 80B1C1A4 10000019 */ beq $zero, $zero, .L80B1C20C
/* 008A8 80B1C1A8 8E100124 */ lw $s0, 0x0124($s0) ## 00000124
/* 008AC 80B1C1AC 8E2F0210 */ lw $t7, 0x0210($s1) ## 00000210
.L80B1C1B0:
/* 008B0 80B1C1B0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 008B4 80B1C1B4 560F0004 */ bnel $s0, $t7, .L80B1C1C8
/* 008B8 80B1C1B8 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028
/* 008BC 80B1C1BC 10000013 */ beq $zero, $zero, .L80B1C20C
/* 008C0 80B1C1C0 8E100124 */ lw $s0, 0x0124($s0) ## 00000124
/* 008C4 80B1C1C4 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028
.L80B1C1C8:
/* 008C8 80B1C1C8 C6260080 */ lwc1 $f6, 0x0080($s1) ## 00000080
/* 008CC 80B1C1CC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 008D0 80B1C1D0 0C00B6E3 */ jal func_8002DB8C
/* 008D4 80B1C1D4 46062501 */ sub.s $f20, $f4, $f6
/* 008D8 80B1C1D8 4600B03C */ c.lt.s $f22, $f0
/* 008DC 80B1C1DC 00000000 */ nop
/* 008E0 80B1C1E0 45010005 */ bc1t .L80B1C1F8
/* 008E4 80B1C1E4 00000000 */ nop
/* 008E8 80B1C1E8 4614C03C */ c.lt.s $f24, $f20
/* 008EC 80B1C1EC 00000000 */ nop
/* 008F0 80B1C1F0 45020004 */ bc1fl .L80B1C204
/* 008F4 80B1C1F4 AE300210 */ sw $s0, 0x0210($s1) ## 00000210
.L80B1C1F8:
/* 008F8 80B1C1F8 10000004 */ beq $zero, $zero, .L80B1C20C
/* 008FC 80B1C1FC 8E100124 */ lw $s0, 0x0124($s0) ## 00000124
/* 00900 80B1C200 AE300210 */ sw $s0, 0x0210($s1) ## 00000210
.L80B1C204:
/* 00904 80B1C204 10000004 */ beq $zero, $zero, .L80B1C218
/* 00908 80B1C208 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
.L80B1C20C:
/* 0090C 80B1C20C 5600FFE3 */ bnel $s0, $zero, .L80B1C19C
/* 00910 80B1C210 860E0000 */ lh $t6, 0x0000($s0) ## 00000000
/* 00914 80B1C214 2402FFFF */ addiu $v0, $zero, 0xFFFF ## $v0 = FFFFFFFF
.L80B1C218:
/* 00918 80B1C218 8FBF003C */ lw $ra, 0x003C($sp)
/* 0091C 80B1C21C D7B40018 */ ldc1 $f20, 0x0018($sp)
/* 00920 80B1C220 D7B60020 */ ldc1 $f22, 0x0020($sp)
/* 00924 80B1C224 D7B80028 */ ldc1 $f24, 0x0028($sp)
/* 00928 80B1C228 8FB00030 */ lw $s0, 0x0030($sp)
/* 0092C 80B1C22C 8FB10034 */ lw $s1, 0x0034($sp)
/* 00930 80B1C230 8FB20038 */ lw $s2, 0x0038($sp)
/* 00934 80B1C234 03E00008 */ jr $ra
/* 00938 80B1C238 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000

View File

@ -1,35 +0,0 @@
glabel func_80B1C23C
/* 0093C 80B1C23C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00940 80B1C240 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00944 80B1C244 8C850210 */ lw $a1, 0x0210($a0) ## 00000210
/* 00948 80B1C248 50A00017 */ beql $a1, $zero, .L80B1C2A8
/* 0094C 80B1C24C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00950 80B1C250 C4A40028 */ lwc1 $f4, 0x0028($a1) ## 00000028
/* 00954 80B1C254 C4860080 */ lwc1 $f6, 0x0080($a0) ## 00000080
/* 00958 80B1C258 AFA40020 */ sw $a0, 0x0020($sp)
/* 0095C 80B1C25C 46062201 */ sub.s $f8, $f4, $f6
/* 00960 80B1C260 0C00B6E3 */ jal func_8002DB8C
/* 00964 80B1C264 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00968 80B1C268 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 0096C 80B1C26C 44815000 */ mtc1 $at, $f10 ## $f10 = 40.00
/* 00970 80B1C270 8FA40020 */ lw $a0, 0x0020($sp)
/* 00974 80B1C274 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 00978 80B1C278 4600503C */ c.lt.s $f10, $f0
/* 0097C 80B1C27C C7B20018 */ lwc1 $f18, 0x0018($sp)
/* 00980 80B1C280 45030008 */ bc1tl .L80B1C2A4
/* 00984 80B1C284 AC800210 */ sw $zero, 0x0210($a0) ## 00000210
/* 00988 80B1C288 44818000 */ mtc1 $at, $f16 ## $f16 = 10.00
/* 0098C 80B1C28C 00000000 */ nop
/* 00990 80B1C290 4612803C */ c.lt.s $f16, $f18
/* 00994 80B1C294 00000000 */ nop
/* 00998 80B1C298 45020003 */ bc1fl .L80B1C2A8
/* 0099C 80B1C29C 8FBF0014 */ lw $ra, 0x0014($sp)
/* 009A0 80B1C2A0 AC800210 */ sw $zero, 0x0210($a0) ## 00000210
.L80B1C2A4:
/* 009A4 80B1C2A4 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B1C2A8:
/* 009A8 80B1C2A8 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 009AC 80B1C2AC 03E00008 */ jr $ra
/* 009B0 80B1C2B0 00000000 */ nop

View File

@ -1,87 +0,0 @@
glabel func_80B1C2B4
/* 009B4 80B1C2B4 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 009B8 80B1C2B8 3C0F80B2 */ lui $t7, %hi(D_80B1D540) ## $t7 = 80B20000
/* 009BC 80B1C2BC AFBF0014 */ sw $ra, 0x0014($sp)
/* 009C0 80B1C2C0 AFA50034 */ sw $a1, 0x0034($sp)
/* 009C4 80B1C2C4 25EFD540 */ addiu $t7, $t7, %lo(D_80B1D540) ## $t7 = 80B1D540
/* 009C8 80B1C2C8 8DF90000 */ lw $t9, 0x0000($t7) ## 80B1D540
/* 009CC 80B1C2CC 8DF80004 */ lw $t8, 0x0004($t7) ## 80B1D544
/* 009D0 80B1C2D0 27AE0028 */ addiu $t6, $sp, 0x0028 ## $t6 = FFFFFFF8
/* 009D4 80B1C2D4 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF8
/* 009D8 80B1C2D8 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFFC
/* 009DC 80B1C2DC 44807000 */ mtc1 $zero, $f14 ## $f14 = 0.00
/* 009E0 80B1C2E0 C4800164 */ lwc1 $f0, 0x0164($a0) ## 00000164
/* 009E4 80B1C2E4 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000
/* 009E8 80B1C2E8 240538B8 */ addiu $a1, $zero, 0x38B8 ## $a1 = 000038B8
/* 009EC 80B1C2EC 46007032 */ c.eq.s $f14, $f0
/* 009F0 80B1C2F0 00000000 */ nop
/* 009F4 80B1C2F4 45010007 */ bc1t .L80B1C314
/* 009F8 80B1C2F8 00000000 */ nop
/* 009FC 80B1C2FC 44812000 */ mtc1 $at, $f4 ## $f4 = 25.00
/* 00A00 80B1C300 00000000 */ nop
/* 00A04 80B1C304 46002032 */ c.eq.s $f4, $f0
/* 00A08 80B1C308 00000000 */ nop
/* 00A0C 80B1C30C 45020006 */ bc1fl .L80B1C328
/* 00A10 80B1C310 8C890154 */ lw $t1, 0x0154($a0) ## 00000154
.L80B1C314:
/* 00A14 80B1C314 0C00BE0A */ jal Audio_PlayActorSound2
/* 00A18 80B1C318 AFA40030 */ sw $a0, 0x0030($sp)
/* 00A1C 80B1C31C 44807000 */ mtc1 $zero, $f14 ## $f14 = 0.00
/* 00A20 80B1C320 8FA40030 */ lw $a0, 0x0030($sp)
/* 00A24 80B1C324 8C890154 */ lw $t1, 0x0154($a0) ## 00000154
.L80B1C328:
/* 00A28 80B1C328 3C080600 */ lui $t0, 0x0600 ## $t0 = 06000000
/* 00A2C 80B1C32C 25081FA8 */ addiu $t0, $t0, 0x1FA8 ## $t0 = 06001FA8
/* 00A30 80B1C330 11090003 */ beq $t0, $t1, .L80B1C340
/* 00A34 80B1C334 27A20028 */ addiu $v0, $sp, 0x0028 ## $v0 = FFFFFFF8
/* 00A38 80B1C338 10000024 */ beq $zero, $zero, .L80B1C3CC
/* 00A3C 80B1C33C 46007006 */ mov.s $f0, $f14
.L80B1C340:
/* 00A40 80B1C340 3C014140 */ lui $at, 0x4140 ## $at = 41400000
/* 00A44 80B1C344 44816000 */ mtc1 $at, $f12 ## $f12 = 12.00
/* 00A48 80B1C348 C4820164 */ lwc1 $f2, 0x0164($a0) ## 00000164
/* 00A4C 80B1C34C 27A30030 */ addiu $v1, $sp, 0x0030 ## $v1 = 00000000
/* 00A50 80B1C350 C4400000 */ lwc1 $f0, 0x0000($v0) ## FFFFFFF8
.L80B1C354:
/* 00A54 80B1C354 460C0180 */ add.s $f6, $f0, $f12
/* 00A58 80B1C358 4606103C */ c.lt.s $f2, $f6
/* 00A5C 80B1C35C 00000000 */ nop
/* 00A60 80B1C360 45020006 */ bc1fl .L80B1C37C
/* 00A64 80B1C364 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = FFFFFFFC
/* 00A68 80B1C368 4602003E */ c.le.s $f0, $f2
/* 00A6C 80B1C36C 00000000 */ nop
/* 00A70 80B1C370 45030005 */ bc1tl .L80B1C388
/* 00A74 80B1C374 27AA0030 */ addiu $t2, $sp, 0x0030 ## $t2 = 00000000
/* 00A78 80B1C378 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 00000000
.L80B1C37C:
/* 00A7C 80B1C37C 5443FFF5 */ bnel $v0, $v1, .L80B1C354
/* 00A80 80B1C380 C4400000 */ lwc1 $f0, 0x0000($v0) ## 00000000
/* 00A84 80B1C384 27AA0030 */ addiu $t2, $sp, 0x0030 ## $t2 = 00000000
.L80B1C388:
/* 00A88 80B1C388 004A082B */ sltu $at, $v0, $t2
/* 00A8C 80B1C38C 54200004 */ bnel $at, $zero, .L80B1C3A0
/* 00A90 80B1C390 C4480000 */ lwc1 $f8, 0x0000($v0) ## 00000000
/* 00A94 80B1C394 1000000D */ beq $zero, $zero, .L80B1C3CC
/* 00A98 80B1C398 46007006 */ mov.s $f0, $f14
/* 00A9C 80B1C39C C4480000 */ lwc1 $f8, 0x0000($v0) ## 00000000
.L80B1C3A0:
/* 00AA0 80B1C3A0 3C0180B2 */ lui $at, %hi(D_80B1D638) ## $at = 80B20000
/* 00AA4 80B1C3A4 C430D638 */ lwc1 $f16, %lo(D_80B1D638)($at)
/* 00AA8 80B1C3A8 46081281 */ sub.s $f10, $f2, $f8
/* 00AAC 80B1C3AC 46105082 */ mul.s $f2, $f10, $f16
/* 00AB0 80B1C3B0 4600148D */ trunc.w.s $f18, $f2
/* 00AB4 80B1C3B4 44049000 */ mfc1 $a0, $f18
/* 00AB8 80B1C3B8 00000000 */ nop
/* 00ABC 80B1C3BC 00042400 */ sll $a0, $a0, 16
/* 00AC0 80B1C3C0 0C01DE1C */ jal Math_Sins
## sins?
/* 00AC4 80B1C3C4 00042403 */ sra $a0, $a0, 16
/* 00AC8 80B1C3C8 46000000 */ add.s $f0, $f0, $f0
.L80B1C3CC:
/* 00ACC 80B1C3CC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00AD0 80B1C3D0 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00AD4 80B1C3D4 03E00008 */ jr $ra
/* 00AD8 80B1C3D8 00000000 */ nop

View File

@ -1,99 +0,0 @@
glabel func_80B1C3DC
/* 00ADC 80B1C3DC 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 00AE0 80B1C3E0 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00AE4 80B1C3E4 AFB00020 */ sw $s0, 0x0020($sp)
/* 00AE8 80B1C3E8 848E001C */ lh $t6, 0x001C($a0) ## 0000001C
/* 00AEC 80B1C3EC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00AF0 80B1C3F0 3C040001 */ lui $a0, 0x0001 ## $a0 = 00010000
/* 00AF4 80B1C3F4 05C10003 */ bgez $t6, .L80B1C404
/* 00AF8 80B1C3F8 00852021 */ addu $a0, $a0, $a1
/* 00AFC 80B1C3FC 1000004E */ beq $zero, $zero, .L80B1C538
/* 00B00 80B1C400 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
.L80B1C404:
/* 00B04 80B1C404 8C841E08 */ lw $a0, 0x1E08($a0) ## 00011E08
/* 00B08 80B1C408 3C088016 */ lui $t0, 0x8016 ## $t0 = 80160000
/* 00B0C 80B1C40C 860A0228 */ lh $t2, 0x0228($s0) ## 00000228
/* 00B10 80B1C410 8C830004 */ lw $v1, 0x0004($a0) ## 00010004
/* 00B14 80B1C414 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 00B18 80B1C418 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 00B1C 80B1C41C 00037900 */ sll $t7, $v1, 4
/* 00B20 80B1C420 000FC702 */ srl $t8, $t7, 28
/* 00B24 80B1C424 0018C880 */ sll $t9, $t8, 2
/* 00B28 80B1C428 01194021 */ addu $t0, $t0, $t9
/* 00B2C 80B1C42C 8D086FA8 */ lw $t0, 0x6FA8($t0) ## 80166FA8
/* 00B30 80B1C430 00614824 */ and $t1, $v1, $at
/* 00B34 80B1C434 000A5880 */ sll $t3, $t2, 2
/* 00B38 80B1C438 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 00B3C 80B1C43C 016A5823 */ subu $t3, $t3, $t2
/* 00B40 80B1C440 01091021 */ addu $v0, $t0, $t1
/* 00B44 80B1C444 00411021 */ addu $v0, $v0, $at
/* 00B48 80B1C448 000B5840 */ sll $t3, $t3, 1
/* 00B4C 80B1C44C 004B1021 */ addu $v0, $v0, $t3
/* 00B50 80B1C450 844C0000 */ lh $t4, 0x0000($v0) ## 00000001
/* 00B54 80B1C454 844D0004 */ lh $t5, 0x0004($v0) ## 00000005
/* 00B58 80B1C458 C6080024 */ lwc1 $f8, 0x0024($s0) ## 00000024
/* 00B5C 80B1C45C 448C2000 */ mtc1 $t4, $f4 ## $f4 = 0.00
/* 00B60 80B1C460 448D5000 */ mtc1 $t5, $f10 ## $f10 = 0.00
/* 00B64 80B1C464 C612002C */ lwc1 $f18, 0x002C($s0) ## 0000002C
/* 00B68 80B1C468 468021A0 */ cvt.s.w $f6, $f4
/* 00B6C 80B1C46C AFA40034 */ sw $a0, 0x0034($sp)
/* 00B70 80B1C470 46805420 */ cvt.s.w $f16, $f10
/* 00B74 80B1C474 46083301 */ sub.s $f12, $f6, $f8
/* 00B78 80B1C478 46128381 */ sub.s $f14, $f16, $f18
/* 00B7C 80B1C47C E7AC002C */ swc1 $f12, 0x002C($sp)
/* 00B80 80B1C480 0C03F494 */ jal Math_atan2f
/* 00B84 80B1C484 E7AE0028 */ swc1 $f14, 0x0028($sp)
/* 00B88 80B1C488 3C0180B2 */ lui $at, %hi(D_80B1D63C) ## $at = 80B20000
/* 00B8C 80B1C48C C424D63C */ lwc1 $f4, %lo(D_80B1D63C)($at)
/* 00B90 80B1C490 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
/* 00B94 80B1C494 AFAF0010 */ sw $t7, 0x0010($sp)
/* 00B98 80B1C498 46040182 */ mul.s $f6, $f0, $f4
/* 00B9C 80B1C49C 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
/* 00BA0 80B1C4A0 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A
/* 00BA4 80B1C4A4 240703E8 */ addiu $a3, $zero, 0x03E8 ## $a3 = 000003E8
/* 00BA8 80B1C4A8 4600320D */ trunc.w.s $f8, $f6
/* 00BAC 80B1C4AC 44054000 */ mfc1 $a1, $f8
/* 00BB0 80B1C4B0 00000000 */ nop
/* 00BB4 80B1C4B4 00052C00 */ sll $a1, $a1, 16
/* 00BB8 80B1C4B8 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 00BBC 80B1C4BC 00052C03 */ sra $a1, $a1, 16
/* 00BC0 80B1C4C0 C7AC002C */ lwc1 $f12, 0x002C($sp)
/* 00BC4 80B1C4C4 C7AE0028 */ lwc1 $f14, 0x0028($sp)
/* 00BC8 80B1C4C8 8A1900B4 */ lwl $t9, 0x00B4($s0) ## 000000B4
/* 00BCC 80B1C4CC 460C6282 */ mul.s $f10, $f12, $f12
/* 00BD0 80B1C4D0 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 00BD4 80B1C4D4 44812000 */ mtc1 $at, $f4 ## $f4 = 10.00
/* 00BD8 80B1C4D8 460E7402 */ mul.s $f16, $f14, $f14
/* 00BDC 80B1C4DC 9A1900B7 */ lwr $t9, 0x00B7($s0) ## 000000B7
/* 00BE0 80B1C4E0 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 00BE4 80B1C4E4 AA190030 */ swl $t9, 0x0030($s0) ## 00000030
/* 00BE8 80B1C4E8 BA190033 */ swr $t9, 0x0033($s0) ## 00000033
/* 00BEC 80B1C4EC 961900B8 */ lhu $t9, 0x00B8($s0) ## 000000B8
/* 00BF0 80B1C4F0 46105480 */ add.s $f18, $f10, $f16
/* 00BF4 80B1C4F4 A6190034 */ sh $t9, 0x0034($s0) ## 00000034
/* 00BF8 80B1C4F8 4604903C */ c.lt.s $f18, $f4
/* 00BFC 80B1C4FC 00000000 */ nop
/* 00C00 80B1C500 4500000D */ bc1f .L80B1C538
/* 00C04 80B1C504 00000000 */ nop
/* 00C08 80B1C508 86080228 */ lh $t0, 0x0228($s0) ## 00000228
/* 00C0C 80B1C50C 25090001 */ addiu $t1, $t0, 0x0001 ## $t1 = 00000001
/* 00C10 80B1C510 A6090228 */ sh $t1, 0x0228($s0) ## 00000228
/* 00C14 80B1C514 8FAB0034 */ lw $t3, 0x0034($sp)
/* 00C18 80B1C518 860A0228 */ lh $t2, 0x0228($s0) ## 00000228
/* 00C1C 80B1C51C 916C0000 */ lbu $t4, 0x0000($t3) ## 00000000
/* 00C20 80B1C520 014C082A */ slt $at, $t2, $t4
/* 00C24 80B1C524 14200002 */ bne $at, $zero, .L80B1C530
/* 00C28 80B1C528 00000000 */ nop
/* 00C2C 80B1C52C A6000228 */ sh $zero, 0x0228($s0) ## 00000228
.L80B1C530:
/* 00C30 80B1C530 10000001 */ beq $zero, $zero, .L80B1C538
/* 00C34 80B1C534 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80B1C538:
/* 00C38 80B1C538 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00C3C 80B1C53C 8FB00020 */ lw $s0, 0x0020($sp)
/* 00C40 80B1C540 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 00C44 80B1C544 03E00008 */ jr $ra
/* 00C48 80B1C548 00000000 */ nop

View File

@ -1,26 +0,0 @@
glabel func_80B1C54C
/* 00C4C 80B1C54C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00C50 80B1C550 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00C54 80B1C554 AFA5001C */ sw $a1, 0x001C($sp)
/* 00C58 80B1C558 0C01B0D8 */ jal func_8006C360
/* 00C5C 80B1C55C 2405000E */ addiu $a1, $zero, 0x000E ## $a1 = 0000000E
/* 00C60 80B1C560 10400003 */ beq $v0, $zero, .L80B1C570
/* 00C64 80B1C564 3043FFFF */ andi $v1, $v0, 0xFFFF ## $v1 = 00000000
/* 00C68 80B1C568 10000009 */ beq $zero, $zero, .L80B1C590
/* 00C6C 80B1C56C 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000
.L80B1C570:
/* 00C70 80B1C570 3C0E8016 */ lui $t6, 0x8016 ## $t6 = 80160000
/* 00C74 80B1C574 95CEF572 */ lhu $t6, -0x0A8E($t6) ## 8015F572
/* 00C78 80B1C578 24025018 */ addiu $v0, $zero, 0x5018 ## $v0 = 00005018
/* 00C7C 80B1C57C 31CF0200 */ andi $t7, $t6, 0x0200 ## $t7 = 00000000
/* 00C80 80B1C580 11E00003 */ beq $t7, $zero, .L80B1C590
/* 00C84 80B1C584 00000000 */ nop
/* 00C88 80B1C588 10000001 */ beq $zero, $zero, .L80B1C590
/* 00C8C 80B1C58C 24025019 */ addiu $v0, $zero, 0x5019 ## $v0 = 00005019
.L80B1C590:
/* 00C90 80B1C590 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00C94 80B1C594 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00C98 80B1C598 03E00008 */ jr $ra
/* 00C9C 80B1C59C 00000000 */ nop

View File

@ -1,117 +0,0 @@
glabel func_80B1C5A0
/* 00CA0 80B1C5A0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00CA4 80B1C5A4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00CA8 80B1C5A8 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 00CAC 80B1C5AC 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
/* 00CB0 80B1C5B0 AFAE001C */ sw $t6, 0x001C($sp)
/* 00CB4 80B1C5B4 AFA70020 */ sw $a3, 0x0020($sp)
/* 00CB8 80B1C5B8 248420D8 */ addiu $a0, $a0, 0x20D8 ## $a0 = 000020D8
/* 00CBC 80B1C5BC 0C042F6F */ jal func_8010BDBC
/* 00CC0 80B1C5C0 AFA50024 */ sw $a1, 0x0024($sp)
/* 00CC4 80B1C5C4 2C41000A */ sltiu $at, $v0, 0x000A
/* 00CC8 80B1C5C8 8FA60024 */ lw $a2, 0x0024($sp)
/* 00CCC 80B1C5CC 10200055 */ beq $at, $zero, .L80B1C724
/* 00CD0 80B1C5D0 8FA70020 */ lw $a3, 0x0020($sp)
/* 00CD4 80B1C5D4 00027880 */ sll $t7, $v0, 2
/* 00CD8 80B1C5D8 3C0180B2 */ lui $at, %hi(jtbl_80B1D640) ## $at = 80B20000
/* 00CDC 80B1C5DC 002F0821 */ addu $at, $at, $t7
/* 00CE0 80B1C5E0 8C2FD640 */ lw $t7, %lo(jtbl_80B1D640)($at)
/* 00CE4 80B1C5E4 01E00008 */ jr $t7
/* 00CE8 80B1C5E8 00000000 */ nop
glabel L80B1C5EC
/* 00CEC 80B1C5EC 94D8010E */ lhu $t8, 0x010E($a2) ## 0000010E
/* 00CF0 80B1C5F0 24015028 */ addiu $at, $zero, 0x5028 ## $at = 00005028
/* 00CF4 80B1C5F4 3C038016 */ lui $v1, 0x8016 ## $v1 = 80160000
/* 00CF8 80B1C5F8 17010004 */ bne $t8, $at, .L80B1C60C
/* 00CFC 80B1C5FC 2463E660 */ addiu $v1, $v1, 0xE660 ## $v1 = 8015E660
/* 00D00 80B1C600 94790F12 */ lhu $t9, 0x0F12($v1) ## 8015F572
/* 00D04 80B1C604 37280100 */ ori $t0, $t9, 0x0100 ## $t0 = 00000100
/* 00D08 80B1C608 A4680F12 */ sh $t0, 0x0F12($v1) ## 8015F572
.L80B1C60C:
/* 00D0C 80B1C60C 10000045 */ beq $zero, $zero, .L80B1C724
/* 00D10 80B1C610 AFA0001C */ sw $zero, 0x001C($sp)
glabel L80B1C614
/* 00D14 80B1C614 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 00D18 80B1C618 AFA60024 */ sw $a2, 0x0024($sp)
/* 00D1C 80B1C61C 0C041AF2 */ jal func_80106BC8
/* 00D20 80B1C620 AFA70020 */ sw $a3, 0x0020($sp)
/* 00D24 80B1C624 8FA60024 */ lw $a2, 0x0024($sp)
/* 00D28 80B1C628 1040003E */ beq $v0, $zero, .L80B1C724
/* 00D2C 80B1C62C 8FA70020 */ lw $a3, 0x0020($sp)
/* 00D30 80B1C630 94C2010E */ lhu $v0, 0x010E($a2) ## 0000010E
/* 00D34 80B1C634 24015018 */ addiu $at, $zero, 0x5018 ## $at = 00005018
/* 00D38 80B1C638 3C090001 */ lui $t1, 0x0001 ## $t1 = 00010000
/* 00D3C 80B1C63C 10410004 */ beq $v0, $at, .L80B1C650
/* 00D40 80B1C640 01274821 */ addu $t1, $t1, $a3
/* 00D44 80B1C644 24015019 */ addiu $at, $zero, 0x5019 ## $at = 00005019
/* 00D48 80B1C648 54410037 */ bnel $v0, $at, .L80B1C728
/* 00D4C 80B1C64C 87A2001E */ lh $v0, 0x001E($sp)
.L80B1C650:
/* 00D50 80B1C650 912904BD */ lbu $t1, 0x04BD($t1) ## 000104BD
/* 00D54 80B1C654 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00D58 80B1C658 3C038016 */ lui $v1, 0x8016 ## $v1 = 80160000
/* 00D5C 80B1C65C 15210004 */ bne $t1, $at, .L80B1C670
/* 00D60 80B1C660 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 00D64 80B1C664 240A0084 */ addiu $t2, $zero, 0x0084 ## $t2 = 00000084
/* 00D68 80B1C668 10000016 */ beq $zero, $zero, .L80B1C6C4
/* 00D6C 80B1C66C A4CA010E */ sh $t2, 0x010E($a2) ## 0000010E
.L80B1C670:
/* 00D70 80B1C670 2463E660 */ addiu $v1, $v1, 0xE660 ## $v1 = 8015E660
/* 00D74 80B1C674 846B0034 */ lh $t3, 0x0034($v1) ## 8015E694
/* 00D78 80B1C678 240C0085 */ addiu $t4, $zero, 0x0085 ## $t4 = 00000085
/* 00D7C 80B1C67C 240D0037 */ addiu $t5, $zero, 0x0037 ## $t5 = 00000037
/* 00D80 80B1C680 2961000A */ slti $at, $t3, 0x000A
/* 00D84 80B1C684 50200004 */ beql $at, $zero, .L80B1C698
/* 00D88 80B1C688 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00D8C 80B1C68C 1000000D */ beq $zero, $zero, .L80B1C6C4
/* 00D90 80B1C690 A4CC010E */ sh $t4, 0x010E($a2) ## 0000010E
/* 00D94 80B1C694 3C010001 */ lui $at, 0x0001 ## $at = 00010000
.L80B1C698:
/* 00D98 80B1C698 00270821 */ addu $at, $at, $a3
/* 00D9C 80B1C69C A02D03DC */ sb $t5, 0x03DC($at) ## 000103DC
/* 00DA0 80B1C6A0 0C021CC3 */ jal Rupees_ChangeBy
/* 00DA4 80B1C6A4 2404FFF6 */ addiu $a0, $zero, 0xFFF6 ## $a0 = FFFFFFF6
/* 00DA8 80B1C6A8 3C038016 */ lui $v1, 0x8016 ## $v1 = 80160000
/* 00DAC 80B1C6AC 2463E660 */ addiu $v1, $v1, 0xE660 ## $v1 = 8015E660
/* 00DB0 80B1C6B0 946E0F12 */ lhu $t6, 0x0F12($v1) ## 8015F572
/* 00DB4 80B1C6B4 24020002 */ addiu $v0, $zero, 0x0002 ## $v0 = 00000002
/* 00DB8 80B1C6B8 35CF0200 */ ori $t7, $t6, 0x0200 ## $t7 = 00000200
/* 00DBC 80B1C6BC 1000001A */ beq $zero, $zero, .L80B1C728
/* 00DC0 80B1C6C0 A46F0F12 */ sh $t7, 0x0F12($v1) ## 8015F572
.L80B1C6C4:
/* 00DC4 80B1C6C4 0C042DC8 */ jal func_8010B720
/* 00DC8 80B1C6C8 94C5010E */ lhu $a1, 0x010E($a2) ## 0000010E
/* 00DCC 80B1C6CC 3C038016 */ lui $v1, 0x8016 ## $v1 = 80160000
/* 00DD0 80B1C6D0 2463E660 */ addiu $v1, $v1, 0xE660 ## $v1 = 8015E660
/* 00DD4 80B1C6D4 94780F12 */ lhu $t8, 0x0F12($v1) ## 8015F572
/* 00DD8 80B1C6D8 37190200 */ ori $t9, $t8, 0x0200 ## $t9 = 00000200
/* 00DDC 80B1C6DC 10000011 */ beq $zero, $zero, .L80B1C724
/* 00DE0 80B1C6E0 A4790F12 */ sh $t9, 0x0F12($v1) ## 8015F572
glabel L80B1C6E4
/* 00DE4 80B1C6E4 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 00DE8 80B1C6E8 AFA60024 */ sw $a2, 0x0024($sp)
/* 00DEC 80B1C6EC 0C041AF2 */ jal func_80106BC8
/* 00DF0 80B1C6F0 AFA70020 */ sw $a3, 0x0020($sp)
/* 00DF4 80B1C6F4 8FA60024 */ lw $a2, 0x0024($sp)
/* 00DF8 80B1C6F8 1040000A */ beq $v0, $zero, .L80B1C724
/* 00DFC 80B1C6FC 8FA70020 */ lw $a3, 0x0020($sp)
/* 00E00 80B1C700 94C2010E */ lhu $v0, 0x010E($a2) ## 0000010E
/* 00E04 80B1C704 24010084 */ addiu $at, $zero, 0x0084 ## $at = 00000084
/* 00E08 80B1C708 10410003 */ beq $v0, $at, .L80B1C718
/* 00E0C 80B1C70C 24010085 */ addiu $at, $zero, 0x0085 ## $at = 00000085
/* 00E10 80B1C710 54410005 */ bnel $v0, $at, .L80B1C728
/* 00E14 80B1C714 87A2001E */ lh $v0, 0x001E($sp)
.L80B1C718:
/* 00E18 80B1C718 0C041B33 */ jal func_80106CCC
/* 00E1C 80B1C71C 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 00E20 80B1C720 AFA0001C */ sw $zero, 0x001C($sp)
glabel L80B1C724
.L80B1C724:
/* 00E24 80B1C724 87A2001E */ lh $v0, 0x001E($sp)
.L80B1C728:
/* 00E28 80B1C728 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00E2C 80B1C72C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00E30 80B1C730 03E00008 */ jr $ra
/* 00E34 80B1C734 00000000 */ nop

View File

@ -1,131 +0,0 @@
glabel func_80B1C738
/* 00E38 80B1C738 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00E3C 80B1C73C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00E40 80B1C740 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00E44 80B1C744 AFA40018 */ sw $a0, 0x0018($sp)
/* 00E48 80B1C748 3C0180B2 */ lui $at, %hi(D_80B1D668) ## $at = 80B20000
/* 00E4C 80B1C74C C424D668 */ lwc1 $f4, %lo(D_80B1D668)($at)
/* 00E50 80B1C750 8FA50018 */ lw $a1, 0x0018($sp)
/* 00E54 80B1C754 3C0180B2 */ lui $at, %hi(D_80B1D670) ## $at = 80B20000
/* 00E58 80B1C758 4604003C */ c.lt.s $f0, $f4
/* 00E5C 80B1C75C 00000000 */ nop
/* 00E60 80B1C760 45000003 */ bc1f .L80B1C770
/* 00E64 80B1C764 00000000 */ nop
/* 00E68 80B1C768 10000012 */ beq $zero, $zero, .L80B1C7B4
/* 00E6C 80B1C76C 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000
.L80B1C770:
/* 00E70 80B1C770 D426D670 */ ldc1 $f6, %lo(D_80B1D670)($at)
/* 00E74 80B1C774 460000A1 */ cvt.d.s $f2, $f0
/* 00E78 80B1C778 3C0180B2 */ lui $at, %hi(D_80B1D678) ## $at = 80B20000
/* 00E7C 80B1C77C 4626103C */ c.lt.d $f2, $f6
/* 00E80 80B1C780 00000000 */ nop
/* 00E84 80B1C784 45000003 */ bc1f .L80B1C794
/* 00E88 80B1C788 00000000 */ nop
/* 00E8C 80B1C78C 10000009 */ beq $zero, $zero, .L80B1C7B4
/* 00E90 80B1C790 24040001 */ addiu $a0, $zero, 0x0001 ## $a0 = 00000001
.L80B1C794:
/* 00E94 80B1C794 D428D678 */ ldc1 $f8, %lo(D_80B1D678)($at)
/* 00E98 80B1C798 24040003 */ addiu $a0, $zero, 0x0003 ## $a0 = 00000003
/* 00E9C 80B1C79C 4628103C */ c.lt.d $f2, $f8
/* 00EA0 80B1C7A0 00000000 */ nop
/* 00EA4 80B1C7A4 45000003 */ bc1f .L80B1C7B4
/* 00EA8 80B1C7A8 00000000 */ nop
/* 00EAC 80B1C7AC 10000001 */ beq $zero, $zero, .L80B1C7B4
/* 00EB0 80B1C7B0 24040002 */ addiu $a0, $zero, 0x0002 ## $a0 = 00000002
.L80B1C7B4:
/* 00EB4 80B1C7B4 10800009 */ beq $a0, $zero, .L80B1C7DC
/* 00EB8 80B1C7B8 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00EBC 80B1C7BC 1081000E */ beq $a0, $at, .L80B1C7F8
/* 00EC0 80B1C7C0 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00EC4 80B1C7C4 10810015 */ beq $a0, $at, .L80B1C81C
/* 00EC8 80B1C7C8 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 00ECC 80B1C7CC 5081001D */ beql $a0, $at, .L80B1C844
/* 00ED0 80B1C7D0 90A3020C */ lbu $v1, 0x020C($a1) ## 0000020C
/* 00ED4 80B1C7D4 10000021 */ beq $zero, $zero, .L80B1C85C
/* 00ED8 80B1C7D8 90A30209 */ lbu $v1, 0x0209($a1) ## 00000209
.L80B1C7DC:
/* 00EDC 80B1C7DC 90A30209 */ lbu $v1, 0x0209($a1) ## 00000209
/* 00EE0 80B1C7E0 00801025 */ or $v0, $a0, $zero ## $v0 = 00000002
/* 00EE4 80B1C7E4 28610008 */ slti $at, $v1, 0x0008
/* 00EE8 80B1C7E8 1020001C */ beq $at, $zero, .L80B1C85C
/* 00EEC 80B1C7EC 246E0001 */ addiu $t6, $v1, 0x0001 ## $t6 = 00000001
/* 00EF0 80B1C7F0 1000003B */ beq $zero, $zero, .L80B1C8E0
/* 00EF4 80B1C7F4 A0AE0209 */ sb $t6, 0x0209($a1) ## 00000209
.L80B1C7F8:
/* 00EF8 80B1C7F8 90A3020A */ lbu $v1, 0x020A($a1) ## 0000020A
/* 00EFC 80B1C7FC 00801025 */ or $v0, $a0, $zero ## $v0 = 00000002
/* 00F00 80B1C800 28610004 */ slti $at, $v1, 0x0004
/* 00F04 80B1C804 10200003 */ beq $at, $zero, .L80B1C814
/* 00F08 80B1C808 246F0001 */ addiu $t7, $v1, 0x0001 ## $t7 = 00000001
/* 00F0C 80B1C80C 10000034 */ beq $zero, $zero, .L80B1C8E0
/* 00F10 80B1C810 A0AF020A */ sb $t7, 0x020A($a1) ## 0000020A
.L80B1C814:
/* 00F14 80B1C814 10000011 */ beq $zero, $zero, .L80B1C85C
/* 00F18 80B1C818 90A30209 */ lbu $v1, 0x0209($a1) ## 00000209
.L80B1C81C:
/* 00F1C 80B1C81C 90A3020B */ lbu $v1, 0x020B($a1) ## 0000020B
/* 00F20 80B1C820 00801025 */ or $v0, $a0, $zero ## $v0 = 00000002
/* 00F24 80B1C824 28610002 */ slti $at, $v1, 0x0002
/* 00F28 80B1C828 10200003 */ beq $at, $zero, .L80B1C838
/* 00F2C 80B1C82C 24780001 */ addiu $t8, $v1, 0x0001 ## $t8 = 00000001
/* 00F30 80B1C830 1000002B */ beq $zero, $zero, .L80B1C8E0
/* 00F34 80B1C834 A0B8020B */ sb $t8, 0x020B($a1) ## 0000020B
.L80B1C838:
/* 00F38 80B1C838 10000008 */ beq $zero, $zero, .L80B1C85C
/* 00F3C 80B1C83C 90A30209 */ lbu $v1, 0x0209($a1) ## 00000209
/* 00F40 80B1C840 90A3020C */ lbu $v1, 0x020C($a1) ## 0000020C
.L80B1C844:
/* 00F44 80B1C844 00801025 */ or $v0, $a0, $zero ## $v0 = 00000002
/* 00F48 80B1C848 1C600003 */ bgtz $v1, .L80B1C858
/* 00F4C 80B1C84C 24790001 */ addiu $t9, $v1, 0x0001 ## $t9 = 00000001
/* 00F50 80B1C850 10000023 */ beq $zero, $zero, .L80B1C8E0
/* 00F54 80B1C854 A0B9020C */ sb $t9, 0x020C($a1) ## 0000020C
.L80B1C858:
/* 00F58 80B1C858 90A30209 */ lbu $v1, 0x0209($a1) ## 00000209
.L80B1C85C:
/* 00F5C 80B1C85C 28610008 */ slti $at, $v1, 0x0008
/* 00F60 80B1C860 10200004 */ beq $at, $zero, .L80B1C874
/* 00F64 80B1C864 24680001 */ addiu $t0, $v1, 0x0001 ## $t0 = 00000001
/* 00F68 80B1C868 A0A80209 */ sb $t0, 0x0209($a1) ## 00000209
/* 00F6C 80B1C86C 1000001B */ beq $zero, $zero, .L80B1C8DC
/* 00F70 80B1C870 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000
.L80B1C874:
/* 00F74 80B1C874 90A3020A */ lbu $v1, 0x020A($a1) ## 0000020A
/* 00F78 80B1C878 24040001 */ addiu $a0, $zero, 0x0001 ## $a0 = 00000001
/* 00F7C 80B1C87C 28610004 */ slti $at, $v1, 0x0004
/* 00F80 80B1C880 10200003 */ beq $at, $zero, .L80B1C890
/* 00F84 80B1C884 24690001 */ addiu $t1, $v1, 0x0001 ## $t1 = 00000001
/* 00F88 80B1C888 10000014 */ beq $zero, $zero, .L80B1C8DC
/* 00F8C 80B1C88C A0A9020A */ sb $t1, 0x020A($a1) ## 0000020A
.L80B1C890:
/* 00F90 80B1C890 90A3020B */ lbu $v1, 0x020B($a1) ## 0000020B
/* 00F94 80B1C894 24040002 */ addiu $a0, $zero, 0x0002 ## $a0 = 00000002
/* 00F98 80B1C898 28610002 */ slti $at, $v1, 0x0002
/* 00F9C 80B1C89C 10200003 */ beq $at, $zero, .L80B1C8AC
/* 00FA0 80B1C8A0 246A0001 */ addiu $t2, $v1, 0x0001 ## $t2 = 00000001
/* 00FA4 80B1C8A4 1000000D */ beq $zero, $zero, .L80B1C8DC
/* 00FA8 80B1C8A8 A0AA020B */ sb $t2, 0x020B($a1) ## 0000020B
.L80B1C8AC:
/* 00FAC 80B1C8AC 90A3020C */ lbu $v1, 0x020C($a1) ## 0000020C
/* 00FB0 80B1C8B0 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000
/* 00FB4 80B1C8B4 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001
/* 00FB8 80B1C8B8 1C600004 */ bgtz $v1, .L80B1C8CC
/* 00FBC 80B1C8BC 246B0001 */ addiu $t3, $v1, 0x0001 ## $t3 = 00000001
/* 00FC0 80B1C8C0 A0AB020C */ sb $t3, 0x020C($a1) ## 0000020C
/* 00FC4 80B1C8C4 10000005 */ beq $zero, $zero, .L80B1C8DC
/* 00FC8 80B1C8C8 24040003 */ addiu $a0, $zero, 0x0003 ## $a0 = 00000003
.L80B1C8CC:
/* 00FCC 80B1C8CC A0AC0209 */ sb $t4, 0x0209($a1) ## 00000209
/* 00FD0 80B1C8D0 A0A0020A */ sb $zero, 0x020A($a1) ## 0000020A
/* 00FD4 80B1C8D4 A0A0020B */ sb $zero, 0x020B($a1) ## 0000020B
/* 00FD8 80B1C8D8 A0A0020C */ sb $zero, 0x020C($a1) ## 0000020C
.L80B1C8DC:
/* 00FDC 80B1C8DC 00801025 */ or $v0, $a0, $zero ## $v0 = 00000003
.L80B1C8E0:
/* 00FE0 80B1C8E0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00FE4 80B1C8E4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00FE8 80B1C8E8 03E00008 */ jr $ra
/* 00FEC 80B1C8EC 00000000 */ nop

View File

@ -1,99 +0,0 @@
glabel func_80B1C8F0
/* 00FF0 80B1C8F0 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
/* 00FF4 80B1C8F4 3C0F80B2 */ lui $t7, %hi(D_80B1D548) ## $t7 = 80B20000
/* 00FF8 80B1C8F8 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00FFC 80B1C8FC AFB00020 */ sw $s0, 0x0020($sp)
/* 01000 80B1C900 25EFD548 */ addiu $t7, $t7, %lo(D_80B1D548) ## $t7 = 80B1D548
/* 01004 80B1C904 8DF90000 */ lw $t9, 0x0000($t7) ## 80B1D548
/* 01008 80B1C908 27AE0044 */ addiu $t6, $sp, 0x0044 ## $t6 = FFFFFFF4
/* 0100C 80B1C90C 8DF80004 */ lw $t8, 0x0004($t7) ## 80B1D54C
/* 01010 80B1C910 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF4
/* 01014 80B1C914 8DF90008 */ lw $t9, 0x0008($t7) ## 80B1D550
/* 01018 80B1C918 3C0980B2 */ lui $t1, %hi(D_80B1D554) ## $t1 = 80B20000
/* 0101C 80B1C91C 2529D554 */ addiu $t1, $t1, %lo(D_80B1D554) ## $t1 = 80B1D554
/* 01020 80B1C920 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF8
/* 01024 80B1C924 ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFFC
/* 01028 80B1C928 8D2B0000 */ lw $t3, 0x0000($t1) ## 80B1D554
/* 0102C 80B1C92C 27A80038 */ addiu $t0, $sp, 0x0038 ## $t0 = FFFFFFE8
/* 01030 80B1C930 8D2A0004 */ lw $t2, 0x0004($t1) ## 80B1D558
/* 01034 80B1C934 AD0B0000 */ sw $t3, 0x0000($t0) ## FFFFFFE8
/* 01038 80B1C938 8D2B0008 */ lw $t3, 0x0008($t1) ## 80B1D55C
/* 0103C 80B1C93C 3C0D80B2 */ lui $t5, %hi(D_80B1D560) ## $t5 = 80B20000
/* 01040 80B1C940 25ADD560 */ addiu $t5, $t5, %lo(D_80B1D560) ## $t5 = 80B1D560
/* 01044 80B1C944 AD0A0004 */ sw $t2, 0x0004($t0) ## FFFFFFEC
/* 01048 80B1C948 AD0B0008 */ sw $t3, 0x0008($t0) ## FFFFFFF0
/* 0104C 80B1C94C 8DAF0000 */ lw $t7, 0x0000($t5) ## 80B1D560
/* 01050 80B1C950 27AC002C */ addiu $t4, $sp, 0x002C ## $t4 = FFFFFFDC
/* 01054 80B1C954 8DAE0004 */ lw $t6, 0x0004($t5) ## 80B1D564
/* 01058 80B1C958 AD8F0000 */ sw $t7, 0x0000($t4) ## FFFFFFDC
/* 0105C 80B1C95C 8DAF0008 */ lw $t7, 0x0008($t5) ## 80B1D568
/* 01060 80B1C960 3C014200 */ lui $at, 0x4200 ## $at = 42000000
/* 01064 80B1C964 AD8E0004 */ sw $t6, 0x0004($t4) ## FFFFFFE0
/* 01068 80B1C968 AD8F0008 */ sw $t7, 0x0008($t4) ## FFFFFFE4
/* 0106C 80B1C96C C4800164 */ lwc1 $f0, 0x0164($a0) ## 00000164
/* 01070 80B1C970 44812000 */ mtc1 $at, $f4 ## $f4 = 32.00
/* 01074 80B1C974 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01078 80B1C978 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 0107C 80B1C97C 4600203E */ c.le.s $f4, $f0
/* 01080 80B1C980 00000000 */ nop
/* 01084 80B1C984 45020032 */ bc1fl .L80B1CA50
/* 01088 80B1C988 8FBF0024 */ lw $ra, 0x0024($sp)
/* 0108C 80B1C98C 44813000 */ mtc1 $at, $f6 ## $f6 = 40.00
/* 01090 80B1C990 00000000 */ nop
/* 01094 80B1C994 4606003C */ c.lt.s $f0, $f6
/* 01098 80B1C998 00000000 */ nop
/* 0109C 80B1C99C 4502002C */ bc1fl .L80B1CA50
/* 010A0 80B1C9A0 8FBF0024 */ lw $ra, 0x0024($sp)
/* 010A4 80B1C9A4 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 010A8 80B1C9A8 00000000 */ nop
/* 010AC 80B1C9AC 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 010B0 80B1C9B0 44814000 */ mtc1 $at, $f8 ## $f8 = 0.50
/* 010B4 80B1C9B4 3C014140 */ lui $at, 0x4140 ## $at = 41400000
/* 010B8 80B1C9B8 44818000 */ mtc1 $at, $f16 ## $f16 = 12.00
/* 010BC 80B1C9BC 46080281 */ sub.s $f10, $f0, $f8
/* 010C0 80B1C9C0 C6040304 */ lwc1 $f4, 0x0304($s0) ## 00000304
/* 010C4 80B1C9C4 46105482 */ mul.s $f18, $f10, $f16
/* 010C8 80B1C9C8 46049180 */ add.s $f6, $f18, $f4
/* 010CC 80B1C9CC 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 010D0 80B1C9D0 E7A60044 */ swc1 $f6, 0x0044($sp)
/* 010D4 80B1C9D4 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 010D8 80B1C9D8 44814000 */ mtc1 $at, $f8 ## $f8 = 0.50
/* 010DC 80B1C9DC 3C014100 */ lui $at, 0x4100 ## $at = 41000000
/* 010E0 80B1C9E0 44818000 */ mtc1 $at, $f16 ## $f16 = 8.00
/* 010E4 80B1C9E4 46080281 */ sub.s $f10, $f0, $f8
/* 010E8 80B1C9E8 C6040308 */ lwc1 $f4, 0x0308($s0) ## 00000308
/* 010EC 80B1C9EC 46105482 */ mul.s $f18, $f10, $f16
/* 010F0 80B1C9F0 46049180 */ add.s $f6, $f18, $f4
/* 010F4 80B1C9F4 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 010F8 80B1C9F8 E7A60048 */ swc1 $f6, 0x0048($sp)
/* 010FC 80B1C9FC 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 01100 80B1CA00 44814000 */ mtc1 $at, $f8 ## $f8 = 0.50
/* 01104 80B1CA04 3C014140 */ lui $at, 0x4140 ## $at = 41400000
/* 01108 80B1CA08 44818000 */ mtc1 $at, $f16 ## $f16 = 12.00
/* 0110C 80B1CA0C 46080281 */ sub.s $f10, $f0, $f8
/* 01110 80B1CA10 C604030C */ lwc1 $f4, 0x030C($s0) ## 0000030C
/* 01114 80B1CA14 3C0180B2 */ lui $at, %hi(D_80B1D680) ## $at = 80B20000
/* 01118 80B1CA18 C428D680 */ lwc1 $f8, %lo(D_80B1D680)($at)
/* 0111C 80B1CA1C 46105482 */ mul.s $f18, $f10, $f16
/* 01120 80B1CA20 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
/* 01124 80B1CA24 3C073E4C */ lui $a3, 0x3E4C ## $a3 = 3E4C0000
/* 01128 80B1CA28 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3E4CCCCD
/* 0112C 80B1CA2C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01130 80B1CA30 27A50044 */ addiu $a1, $sp, 0x0044 ## $a1 = FFFFFFF4
/* 01134 80B1CA34 2406000C */ addiu $a2, $zero, 0x000C ## $a2 = 0000000C
/* 01138 80B1CA38 46049180 */ add.s $f6, $f18, $f4
/* 0113C 80B1CA3C E7A80010 */ swc1 $f8, 0x0010($sp)
/* 01140 80B1CA40 E7AA0014 */ swc1 $f10, 0x0014($sp)
/* 01144 80B1CA44 0C2C6F77 */ jal func_80B1BDDC
/* 01148 80B1CA48 E7A6004C */ swc1 $f6, 0x004C($sp)
/* 0114C 80B1CA4C 8FBF0024 */ lw $ra, 0x0024($sp)
.L80B1CA50:
/* 01150 80B1CA50 8FB00020 */ lw $s0, 0x0020($sp)
/* 01154 80B1CA54 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
/* 01158 80B1CA58 03E00008 */ jr $ra
/* 0115C 80B1CA5C 00000000 */ nop

View File

@ -1,152 +0,0 @@
glabel func_80B1CC04
/* 01304 80B1CC04 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 01308 80B1CC08 AFBF0024 */ sw $ra, 0x0024($sp)
/* 0130C 80B1CC0C AFB00020 */ sw $s0, 0x0020($sp)
/* 01310 80B1CC10 AFA50034 */ sw $a1, 0x0034($sp)
/* 01314 80B1CC14 848201E0 */ lh $v0, 0x01E0($a0) ## 000001E0
/* 01318 80B1CC18 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0131C 80B1CC1C 10400028 */ beq $v0, $zero, .L80B1CCC0
/* 01320 80B1CC20 00000000 */ nop
/* 01324 80B1CC24 848300B6 */ lh $v1, 0x00B6($a0) ## 000000B6
/* 01328 80B1CC28 848E021E */ lh $t6, 0x021E($a0) ## 0000021E
/* 0132C 80B1CC2C 848F008A */ lh $t7, 0x008A($a0) ## 0000008A
/* 01330 80B1CC30 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 01334 80B1CC34 006E1823 */ subu $v1, $v1, $t6
/* 01338 80B1CC38 00031C00 */ sll $v1, $v1, 16
/* 0133C 80B1CC3C 00031C03 */ sra $v1, $v1, 16
/* 01340 80B1CC40 01E31823 */ subu $v1, $t7, $v1
/* 01344 80B1CC44 00031C00 */ sll $v1, $v1, 16
/* 01348 80B1CC48 14410008 */ bne $v0, $at, .L80B1CC6C
/* 0134C 80B1CC4C 00031C03 */ sra $v1, $v1, 16
/* 01350 80B1CC50 0C2C6FE3 */ jal func_80B1BF8C
/* 01354 80B1CC54 00000000 */ nop
/* 01358 80B1CC58 3C1880B2 */ lui $t8, %hi(func_80B1CEF8) ## $t8 = 80B20000
/* 0135C 80B1CC5C 2718CEF8 */ addiu $t8, $t8, %lo(func_80B1CEF8) ## $t8 = 80B1CEF8
/* 01360 80B1CC60 A60001E0 */ sh $zero, 0x01E0($s0) ## 000001E0
/* 01364 80B1CC64 1000006B */ beq $zero, $zero, .L80B1CE14
/* 01368 80B1CC68 AE180190 */ sw $t8, 0x0190($s0) ## 00000190
.L80B1CC6C:
/* 0136C 80B1CC6C 861901D4 */ lh $t9, 0x01D4($s0) ## 000001D4
/* 01370 80B1CC70 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 01374 80B1CC74 44814000 */ mtc1 $at, $f8 ## $f8 = 30.00
/* 01378 80B1CC78 44992000 */ mtc1 $t9, $f4 ## $f4 = 0.00
/* 0137C 80B1CC7C 3C0880B2 */ lui $t0, %hi(func_80B1C54C) ## $t0 = 80B20000
/* 01380 80B1CC80 3C0980B2 */ lui $t1, %hi(func_80B1C5A0) ## $t1 = 80B20000
/* 01384 80B1CC84 468021A0 */ cvt.s.w $f6, $f4
/* 01388 80B1CC88 2529C5A0 */ addiu $t1, $t1, %lo(func_80B1C5A0) ## $t1 = 80B1C5A0
/* 0138C 80B1CC8C 2508C54C */ addiu $t0, $t0, %lo(func_80B1C54C) ## $t0 = 80B1C54C
/* 01390 80B1CC90 AFA80010 */ sw $t0, 0x0010($sp)
/* 01394 80B1CC94 AFA90014 */ sw $t1, 0x0014($sp)
/* 01398 80B1CC98 A7A3002E */ sh $v1, 0x002E($sp)
/* 0139C 80B1CC9C 46083280 */ add.s $f10, $f6, $f8
/* 013A0 80B1CCA0 8FA40034 */ lw $a0, 0x0034($sp)
/* 013A4 80B1CCA4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 013A8 80B1CCA8 260601E0 */ addiu $a2, $s0, 0x01E0 ## $a2 = 000001E0
/* 013AC 80B1CCAC 44075000 */ mfc1 $a3, $f10
/* 013B0 80B1CCB0 0C00D0F3 */ jal func_800343CC
/* 013B4 80B1CCB4 00000000 */ nop
/* 013B8 80B1CCB8 10000044 */ beq $zero, $zero, .L80B1CDCC
/* 013BC 80B1CCBC 87A3002E */ lh $v1, 0x002E($sp)
.L80B1CCC0:
/* 013C0 80B1CCC0 0C2C7034 */ jal func_80B1C0D0
/* 013C4 80B1CCC4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 013C8 80B1CCC8 1040001F */ beq $v0, $zero, .L80B1CD48
/* 013CC 80B1CCCC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 013D0 80B1CCD0 860C01D4 */ lh $t4, 0x01D4($s0) ## 000001D4
/* 013D4 80B1CCD4 860300B6 */ lh $v1, 0x00B6($s0) ## 000000B6
/* 013D8 80B1CCD8 860A021E */ lh $t2, 0x021E($s0) ## 0000021E
/* 013DC 80B1CCDC 448C8000 */ mtc1 $t4, $f16 ## $f16 = 0.00
/* 013E0 80B1CCE0 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 013E4 80B1CCE4 44812000 */ mtc1 $at, $f4 ## $f4 = 30.00
/* 013E8 80B1CCE8 468084A0 */ cvt.s.w $f18, $f16
/* 013EC 80B1CCEC 860B008A */ lh $t3, 0x008A($s0) ## 0000008A
/* 013F0 80B1CCF0 006A1823 */ subu $v1, $v1, $t2
/* 013F4 80B1CCF4 00031C00 */ sll $v1, $v1, 16
/* 013F8 80B1CCF8 00031C03 */ sra $v1, $v1, 16
/* 013FC 80B1CCFC A600021C */ sh $zero, 0x021C($s0) ## 0000021C
/* 01400 80B1CD00 46049180 */ add.s $f6, $f18, $f4
/* 01404 80B1CD04 01631823 */ subu $v1, $t3, $v1
/* 01408 80B1CD08 00031C00 */ sll $v1, $v1, 16
/* 0140C 80B1CD0C 3C0D80B2 */ lui $t5, %hi(func_80B1C54C) ## $t5 = 80B20000
/* 01410 80B1CD10 3C0E80B2 */ lui $t6, %hi(func_80B1C5A0) ## $t6 = 80B20000
/* 01414 80B1CD14 00031C03 */ sra $v1, $v1, 16
/* 01418 80B1CD18 25CEC5A0 */ addiu $t6, $t6, %lo(func_80B1C5A0) ## $t6 = 80B1C5A0
/* 0141C 80B1CD1C 25ADC54C */ addiu $t5, $t5, %lo(func_80B1C54C) ## $t5 = 80B1C54C
/* 01420 80B1CD20 44073000 */ mfc1 $a3, $f6
/* 01424 80B1CD24 AFAD0010 */ sw $t5, 0x0010($sp)
/* 01428 80B1CD28 AFAE0014 */ sw $t6, 0x0014($sp)
/* 0142C 80B1CD2C A7A3002E */ sh $v1, 0x002E($sp)
/* 01430 80B1CD30 8FA40034 */ lw $a0, 0x0034($sp)
/* 01434 80B1CD34 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 01438 80B1CD38 0C00D0F3 */ jal func_800343CC
/* 0143C 80B1CD3C 260601E0 */ addiu $a2, $s0, 0x01E0 ## $a2 = 000001E0
/* 01440 80B1CD40 10000022 */ beq $zero, $zero, .L80B1CDCC
/* 01444 80B1CD44 87A3002E */ lh $v1, 0x002E($sp)
.L80B1CD48:
/* 01448 80B1CD48 0C00BC65 */ jal func_8002F194
/* 0144C 80B1CD4C 8FA50034 */ lw $a1, 0x0034($sp)
/* 01450 80B1CD50 1040000D */ beq $v0, $zero, .L80B1CD88
/* 01454 80B1CD54 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
/* 01458 80B1CD58 860300B6 */ lh $v1, 0x00B6($s0) ## 000000B6
/* 0145C 80B1CD5C 860F021E */ lh $t7, 0x021E($s0) ## 0000021E
/* 01460 80B1CD60 8618008A */ lh $t8, 0x008A($s0) ## 0000008A
/* 01464 80B1CD64 A600021C */ sh $zero, 0x021C($s0) ## 0000021C
/* 01468 80B1CD68 006F1823 */ subu $v1, $v1, $t7
/* 0146C 80B1CD6C 00031C00 */ sll $v1, $v1, 16
/* 01470 80B1CD70 00031C03 */ sra $v1, $v1, 16
/* 01474 80B1CD74 03031823 */ subu $v1, $t8, $v1
/* 01478 80B1CD78 00031C00 */ sll $v1, $v1, 16
/* 0147C 80B1CD7C 00031C03 */ sra $v1, $v1, 16
/* 01480 80B1CD80 10000012 */ beq $zero, $zero, .L80B1CDCC
/* 01484 80B1CD84 A61901E0 */ sh $t9, 0x01E0($s0) ## 000001E0
.L80B1CD88:
/* 01488 80B1CD88 8603021C */ lh $v1, 0x021C($s0) ## 0000021C
/* 0148C 80B1CD8C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01490 80B1CD90 14600003 */ bne $v1, $zero, .L80B1CDA0
/* 01494 80B1CD94 2468FFFF */ addiu $t0, $v1, 0xFFFF ## $t0 = FFFFFFFF
/* 01498 80B1CD98 10000003 */ beq $zero, $zero, .L80B1CDA8
/* 0149C 80B1CD9C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80B1CDA0:
/* 014A0 80B1CDA0 A608021C */ sh $t0, 0x021C($s0) ## 0000021C
/* 014A4 80B1CDA4 8602021C */ lh $v0, 0x021C($s0) ## 0000021C
.L80B1CDA8:
/* 014A8 80B1CDA8 14400008 */ bne $v0, $zero, .L80B1CDCC
/* 014AC 80B1CDAC 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
/* 014B0 80B1CDB0 0C2C6FC5 */ jal func_80B1BF14
/* 014B4 80B1CDB4 8FA50034 */ lw $a1, 0x0034($sp)
/* 014B8 80B1CDB8 3C0980B2 */ lui $t1, %hi(func_80B1CE28) ## $t1 = 80B20000
/* 014BC 80B1CDBC 2529CE28 */ addiu $t1, $t1, %lo(func_80B1CE28) ## $t1 = 80B1CE28
/* 014C0 80B1CDC0 AE090190 */ sw $t1, 0x0190($s0) ## 00000190
/* 014C4 80B1CDC4 10000001 */ beq $zero, $zero, .L80B1CDCC
/* 014C8 80B1CDC8 87A3002E */ lh $v1, 0x002E($sp)
.L80B1CDCC:
/* 014CC 80B1CDCC 00032023 */ subu $a0, $zero, $v1
/* 014D0 80B1CDD0 288104F6 */ slti $at, $a0, 0x04F6
/* 014D4 80B1CDD4 10200003 */ beq $at, $zero, .L80B1CDE4
/* 014D8 80B1CDD8 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
/* 014DC 80B1CDDC 10000008 */ beq $zero, $zero, .L80B1CE00
/* 014E0 80B1CDE0 240504F6 */ addiu $a1, $zero, 0x04F6 ## $a1 = 000004F6
.L80B1CDE4:
/* 014E4 80B1CDE4 288129EB */ slti $at, $a0, 0x29EB
/* 014E8 80B1CDE8 14200003 */ bne $at, $zero, .L80B1CDF8
/* 014EC 80B1CDEC 00801025 */ or $v0, $a0, $zero ## $v0 = 00000000
/* 014F0 80B1CDF0 10000001 */ beq $zero, $zero, .L80B1CDF8
/* 014F4 80B1CDF4 240229EA */ addiu $v0, $zero, 0x29EA ## $v0 = 000029EA
.L80B1CDF8:
/* 014F8 80B1CDF8 00022C00 */ sll $a1, $v0, 16
/* 014FC 80B1CDFC 00052C03 */ sra $a1, $a1, 16
.L80B1CE00:
/* 01500 80B1CE00 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
/* 01504 80B1CE04 AFAA0010 */ sw $t2, 0x0010($sp)
/* 01508 80B1CE08 26040226 */ addiu $a0, $s0, 0x0226 ## $a0 = 00000226
/* 0150C 80B1CE0C 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 01510 80B1CE10 240703E8 */ addiu $a3, $zero, 0x03E8 ## $a3 = 000003E8
.L80B1CE14:
/* 01514 80B1CE14 8FBF0024 */ lw $ra, 0x0024($sp)
/* 01518 80B1CE18 8FB00020 */ lw $s0, 0x0020($sp)
/* 0151C 80B1CE1C 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 01520 80B1CE20 03E00008 */ jr $ra
/* 01524 80B1CE24 00000000 */ nop

View File

@ -1,61 +0,0 @@
glabel func_80B1CE28
/* 01528 80B1CE28 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 0152C 80B1CE2C AFBF0024 */ sw $ra, 0x0024($sp)
/* 01530 80B1CE30 AFB00020 */ sw $s0, 0x0020($sp)
/* 01534 80B1CE34 848E01E0 */ lh $t6, 0x01E0($a0) ## 000001E0
/* 01538 80B1CE38 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 0153C 80B1CE3C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01540 80B1CE40 55C10009 */ bnel $t6, $at, .L80B1CE68
/* 01544 80B1CE44 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01548 80B1CE48 0C2C6FE3 */ jal func_80B1BF8C
/* 0154C 80B1CE4C 00000000 */ nop
/* 01550 80B1CE50 3C0F80B2 */ lui $t7, %hi(func_80B1CEF8) ## $t7 = 80B20000
/* 01554 80B1CE54 25EFCEF8 */ addiu $t7, $t7, %lo(func_80B1CEF8) ## $t7 = 80B1CEF8
/* 01558 80B1CE58 A60001E0 */ sh $zero, 0x01E0($s0) ## 000001E0
/* 0155C 80B1CE5C 10000021 */ beq $zero, $zero, .L80B1CEE4
/* 01560 80B1CE60 AE0F0190 */ sw $t7, 0x0190($s0) ## 00000190
/* 01564 80B1CE64 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80B1CE68:
/* 01568 80B1CE68 0C2C70AD */ jal func_80B1C2B4
/* 0156C 80B1CE6C AFA5002C */ sw $a1, 0x002C($sp)
/* 01570 80B1CE70 E6000068 */ swc1 $f0, 0x0068($s0) ## 00000068
/* 01574 80B1CE74 8FA5002C */ lw $a1, 0x002C($sp)
/* 01578 80B1CE78 0C2C70F7 */ jal func_80B1C3DC
/* 0157C 80B1CE7C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01580 80B1CE80 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
/* 01584 80B1CE84 AFB80010 */ sw $t8, 0x0010($sp)
/* 01588 80B1CE88 26040226 */ addiu $a0, $s0, 0x0226 ## $a0 = 00000226
/* 0158C 80B1CE8C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 01590 80B1CE90 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
/* 01594 80B1CE94 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
/* 01598 80B1CE98 240703E8 */ addiu $a3, $zero, 0x03E8 ## $a3 = 000003E8
/* 0159C 80B1CE9C 0C2C708F */ jal func_80B1C23C
/* 015A0 80B1CEA0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 015A4 80B1CEA4 8602021C */ lh $v0, 0x021C($s0) ## 0000021C
/* 015A8 80B1CEA8 10400002 */ beq $v0, $zero, .L80B1CEB4
/* 015AC 80B1CEAC 2459FFFF */ addiu $t9, $v0, 0xFFFF ## $t9 = FFFFFFFF
/* 015B0 80B1CEB0 A619021C */ sh $t9, 0x021C($s0) ## 0000021C
.L80B1CEB4:
/* 015B4 80B1CEB4 0C2C7034 */ jal func_80B1C0D0
/* 015B8 80B1CEB8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 015BC 80B1CEBC 14400004 */ bne $v0, $zero, .L80B1CED0
/* 015C0 80B1CEC0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 015C4 80B1CEC4 8608021C */ lh $t0, 0x021C($s0) ## 0000021C
/* 015C8 80B1CEC8 55000007 */ bnel $t0, $zero, .L80B1CEE8
/* 015CC 80B1CECC 8FBF0024 */ lw $ra, 0x0024($sp)
.L80B1CED0:
/* 015D0 80B1CED0 0C2C6FA5 */ jal func_80B1BE94
/* 015D4 80B1CED4 8FA5002C */ lw $a1, 0x002C($sp)
/* 015D8 80B1CED8 3C0980B2 */ lui $t1, %hi(func_80B1CC04) ## $t1 = 80B20000
/* 015DC 80B1CEDC 2529CC04 */ addiu $t1, $t1, %lo(func_80B1CC04) ## $t1 = 80B1CC04
/* 015E0 80B1CEE0 AE090190 */ sw $t1, 0x0190($s0) ## 00000190
.L80B1CEE4:
/* 015E4 80B1CEE4 8FBF0024 */ lw $ra, 0x0024($sp)
.L80B1CEE8:
/* 015E8 80B1CEE8 8FB00020 */ lw $s0, 0x0020($sp)
/* 015EC 80B1CEEC 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 015F0 80B1CEF0 03E00008 */ jr $ra
/* 015F4 80B1CEF4 00000000 */ nop

View File

@ -1,168 +0,0 @@
glabel func_80B1CEF8
/* 015F8 80B1CEF8 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8
/* 015FC 80B1CEFC 3C0F80B2 */ lui $t7, %hi(D_80B1D56C) ## $t7 = 80B20000
/* 01600 80B1CF00 AFBF0024 */ sw $ra, 0x0024($sp)
/* 01604 80B1CF04 AFB00020 */ sw $s0, 0x0020($sp)
/* 01608 80B1CF08 AFA5005C */ sw $a1, 0x005C($sp)
/* 0160C 80B1CF0C 25EFD56C */ addiu $t7, $t7, %lo(D_80B1D56C) ## $t7 = 80B1D56C
/* 01610 80B1CF10 8DF90000 */ lw $t9, 0x0000($t7) ## 80B1D56C
/* 01614 80B1CF14 27AE002C */ addiu $t6, $sp, 0x002C ## $t6 = FFFFFFD4
/* 01618 80B1CF18 8DF80004 */ lw $t8, 0x0004($t7) ## 80B1D570
/* 0161C 80B1CF1C ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFD4
/* 01620 80B1CF20 8DF90008 */ lw $t9, 0x0008($t7) ## 80B1D574
/* 01624 80B1CF24 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFD8
/* 01628 80B1CF28 8DF8000C */ lw $t8, 0x000C($t7) ## 80B1D578
/* 0162C 80B1CF2C ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFDC
/* 01630 80B1CF30 8DF90010 */ lw $t9, 0x0010($t7) ## 80B1D57C
/* 01634 80B1CF34 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01638 80B1CF38 ADD8000C */ sw $t8, 0x000C($t6) ## FFFFFFE0
/* 0163C 80B1CF3C 0C2C723C */ jal func_80B1C8F0
/* 01640 80B1CF40 ADD90010 */ sw $t9, 0x0010($t6) ## FFFFFFE4
/* 01644 80B1CF44 3C014200 */ lui $at, 0x4200 ## $at = 42000000
/* 01648 80B1CF48 44812000 */ mtc1 $at, $f4 ## $f4 = 32.00
/* 0164C 80B1CF4C C6060164 */ lwc1 $f6, 0x0164($s0) ## 00000164
/* 01650 80B1CF50 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01654 80B1CF54 46062032 */ c.eq.s $f4, $f6
/* 01658 80B1CF58 00000000 */ nop
/* 0165C 80B1CF5C 45020038 */ bc1fl .L80B1D040
/* 01660 80B1CF60 3C014200 */ lui $at, 0x4200 ## $at = 42000000
/* 01664 80B1CF64 0C00BE0A */ jal Audio_PlayActorSound2
/* 01668 80B1CF68 240528C8 */ addiu $a1, $zero, 0x28C8 ## $a1 = 000028C8
/* 0166C 80B1CF6C 92080208 */ lbu $t0, 0x0208($s0) ## 00000208
/* 01670 80B1CF70 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 01674 80B1CF74 A600021A */ sh $zero, 0x021A($s0) ## 0000021A
/* 01678 80B1CF78 55010031 */ bnel $t0, $at, .L80B1D040
/* 0167C 80B1CF7C 3C014200 */ lui $at, 0x4200 ## $at = 42000000
/* 01680 80B1CF80 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 01684 80B1CF84 3C01C220 */ lui $at, 0xC220 ## $at = C2200000
/* 01688 80B1CF88 44814000 */ mtc1 $at, $f8 ## $f8 = -40.00
/* 0168C 80B1CF8C E7A0004C */ swc1 $f0, 0x004C($sp)
/* 01690 80B1CF90 E7A00050 */ swc1 $f0, 0x0050($sp)
/* 01694 80B1CF94 E7A80054 */ swc1 $f8, 0x0054($sp)
/* 01698 80B1CF98 860900B6 */ lh $t1, 0x00B6($s0) ## 000000B6
/* 0169C 80B1CF9C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 016A0 80B1CFA0 44895000 */ mtc1 $t1, $f10 ## $f10 = 0.00
/* 016A4 80B1CFA4 0C034348 */ jal Matrix_RotateY
/* 016A8 80B1CFA8 46805320 */ cvt.s.w $f12, $f10
/* 016AC 80B1CFAC 27A4004C */ addiu $a0, $sp, 0x004C ## $a0 = FFFFFFF4
/* 016B0 80B1CFB0 0C0346BD */ jal Matrix_MultVec3f
/* 016B4 80B1CFB4 27A50040 */ addiu $a1, $sp, 0x0040 ## $a1 = FFFFFFE8
/* 016B8 80B1CFB8 C7B00040 */ lwc1 $f16, 0x0040($sp)
/* 016BC 80B1CFBC C6120024 */ lwc1 $f18, 0x0024($s0) ## 00000024
/* 016C0 80B1CFC0 C7A60044 */ lwc1 $f6, 0x0044($sp)
/* 016C4 80B1CFC4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 016C8 80B1CFC8 46128100 */ add.s $f4, $f16, $f18
/* 016CC 80B1CFCC C7B00048 */ lwc1 $f16, 0x0048($sp)
/* 016D0 80B1CFD0 E7A40040 */ swc1 $f4, 0x0040($sp)
/* 016D4 80B1CFD4 C6080028 */ lwc1 $f8, 0x0028($s0) ## 00000028
/* 016D8 80B1CFD8 46083280 */ add.s $f10, $f6, $f8
/* 016DC 80B1CFDC E7AA0044 */ swc1 $f10, 0x0044($sp)
/* 016E0 80B1CFE0 C612002C */ lwc1 $f18, 0x002C($s0) ## 0000002C
/* 016E4 80B1CFE4 46128100 */ add.s $f4, $f16, $f18
/* 016E8 80B1CFE8 0C2C71CE */ jal func_80B1C738
/* 016EC 80B1CFEC E7A40048 */ swc1 $f4, 0x0048($sp)
/* 016F0 80B1CFF0 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 016F4 80B1CFF4 1441000A */ bne $v0, $at, .L80B1D020
/* 016F8 80B1CFF8 AE020214 */ sw $v0, 0x0214($s0) ## 00000214
/* 016FC 80B1CFFC 3C038016 */ lui $v1, 0x8016 ## $v1 = 80160000
/* 01700 80B1D000 2463E660 */ addiu $v1, $v1, 0xE660 ## $v1 = 8015E660
/* 01704 80B1D004 94620EF2 */ lhu $v0, 0x0EF2($v1) ## 8015F552
/* 01708 80B1D008 240C0004 */ addiu $t4, $zero, 0x0004 ## $t4 = 00000004
/* 0170C 80B1D00C 304A1000 */ andi $t2, $v0, 0x1000 ## $t2 = 00000000
/* 01710 80B1D010 15400003 */ bne $t2, $zero, .L80B1D020
/* 01714 80B1D014 344B1000 */ ori $t3, $v0, 0x1000 ## $t3 = 00001000
/* 01718 80B1D018 A46B0EF2 */ sh $t3, 0x0EF2($v1) ## 8015F552
/* 0171C 80B1D01C AE0C0214 */ sw $t4, 0x0214($s0) ## 00000214
.L80B1D020:
/* 01720 80B1D020 8E0D0214 */ lw $t5, 0x0214($s0) ## 00000214
/* 01724 80B1D024 8FA4005C */ lw $a0, 0x005C($sp)
/* 01728 80B1D028 27A50040 */ addiu $a1, $sp, 0x0040 ## $a1 = FFFFFFE8
/* 0172C 80B1D02C 000D7080 */ sll $t6, $t5, 2
/* 01730 80B1D030 03AE3021 */ addu $a2, $sp, $t6
/* 01734 80B1D034 0C007D52 */ jal Item_DropCollectible
/* 01738 80B1D038 84C6002E */ lh $a2, 0x002E($a2) ## 0000002E
/* 0173C 80B1D03C 3C014200 */ lui $at, 0x4200 ## $at = 42000000
.L80B1D040:
/* 01740 80B1D040 44814000 */ mtc1 $at, $f8 ## $f8 = 32.00
/* 01744 80B1D044 C6060164 */ lwc1 $f6, 0x0164($s0) ## 00000164
/* 01748 80B1D048 4606403E */ c.le.s $f8, $f6
/* 0174C 80B1D04C 00000000 */ nop
/* 01750 80B1D050 45020021 */ bc1fl .L80B1D0D8
/* 01754 80B1D054 8609021A */ lh $t1, 0x021A($s0) ## 0000021A
/* 01758 80B1D058 860F021A */ lh $t7, 0x021A($s0) ## 0000021A
/* 0175C 80B1D05C 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
/* 01760 80B1D060 55E1001D */ bnel $t7, $at, .L80B1D0D8
/* 01764 80B1D064 8609021A */ lh $t1, 0x021A($s0) ## 0000021A
/* 01768 80B1D068 92180208 */ lbu $t8, 0x0208($s0) ## 00000208
/* 0176C 80B1D06C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01770 80B1D070 57000006 */ bnel $t8, $zero, .L80B1D08C
/* 01774 80B1D074 8E190214 */ lw $t9, 0x0214($s0) ## 00000214
/* 01778 80B1D078 0C00BE0A */ jal Audio_PlayActorSound2
/* 0177C 80B1D07C 24054806 */ addiu $a1, $zero, 0x4806 ## $a1 = 00004806
/* 01780 80B1D080 10000015 */ beq $zero, $zero, .L80B1D0D8
/* 01784 80B1D084 8609021A */ lh $t1, 0x021A($s0) ## 0000021A
/* 01788 80B1D088 8E190214 */ lw $t9, 0x0214($s0) ## 00000214
.L80B1D08C:
/* 0178C 80B1D08C 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 01790 80B1D090 3C078013 */ lui $a3, 0x8013 ## $a3 = 80130000
/* 01794 80B1D094 1721000D */ bne $t9, $at, .L80B1D0CC
/* 01798 80B1D098 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0179C 80B1D09C 3C088013 */ lui $t0, 0x8013 ## $t0 = 80130000
/* 017A0 80B1D0A0 24E733E0 */ addiu $a3, $a3, 0x33E0 ## $a3 = 801333E0
/* 017A4 80B1D0A4 250833E8 */ addiu $t0, $t0, 0x33E8 ## $t0 = 801333E8
/* 017A8 80B1D0A8 3C058013 */ lui $a1, 0x8013 ## $a1 = 80130000
/* 017AC 80B1D0AC 24A533D4 */ addiu $a1, $a1, 0x33D4 ## $a1 = 801333D4
/* 017B0 80B1D0B0 AFA80014 */ sw $t0, 0x0014($sp)
/* 017B4 80B1D0B4 AFA70010 */ sw $a3, 0x0010($sp)
/* 017B8 80B1D0B8 24044802 */ addiu $a0, $zero, 0x4802 ## $a0 = 00004802
/* 017BC 80B1D0BC 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* 017C0 80B1D0C0 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
/* 017C4 80B1D0C4 10000004 */ beq $zero, $zero, .L80B1D0D8
/* 017C8 80B1D0C8 8609021A */ lh $t1, 0x021A($s0) ## 0000021A
.L80B1D0CC:
/* 017CC 80B1D0CC 0C00BE0A */ jal Audio_PlayActorSound2
/* 017D0 80B1D0D0 24054807 */ addiu $a1, $zero, 0x4807 ## $a1 = 00004807
/* 017D4 80B1D0D4 8609021A */ lh $t1, 0x021A($s0) ## 0000021A
.L80B1D0D8:
/* 017D8 80B1D0D8 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 017DC 80B1D0DC 8E05015C */ lw $a1, 0x015C($s0) ## 0000015C
/* 017E0 80B1D0E0 252A0001 */ addiu $t2, $t1, 0x0001 ## $t2 = 00000001
/* 017E4 80B1D0E4 0C0295B2 */ jal func_800A56C8
/* 017E8 80B1D0E8 A60A021A */ sh $t2, 0x021A($s0) ## 0000021A
/* 017EC 80B1D0EC 50400016 */ beql $v0, $zero, .L80B1D148
/* 017F0 80B1D0F0 8FBF0024 */ lw $ra, 0x0024($sp)
/* 017F4 80B1D0F4 8E0B0214 */ lw $t3, 0x0214($s0) ## 00000214
/* 017F8 80B1D0F8 8FA4005C */ lw $a0, 0x005C($sp)
/* 017FC 80B1D0FC 2405501A */ addiu $a1, $zero, 0x501A ## $a1 = 0000501A
/* 01800 80B1D100 05610005 */ bgez $t3, .L80B1D118
/* 01804 80B1D104 00000000 */ nop
/* 01808 80B1D108 0C042DA0 */ jal func_8010B680
/* 0180C 80B1D10C 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 01810 80B1D110 10000004 */ beq $zero, $zero, .L80B1D124
/* 01814 80B1D114 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80B1D118:
/* 01818 80B1D118 0C041B33 */ jal func_80106CCC
/* 0181C 80B1D11C 8FA4005C */ lw $a0, 0x005C($sp)
/* 01820 80B1D120 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80B1D124:
/* 01824 80B1D124 0C2C6FA5 */ jal func_80B1BE94
/* 01828 80B1D128 8FA5005C */ lw $a1, 0x005C($sp)
/* 0182C 80B1D12C 3C0D80B2 */ lui $t5, %hi(func_80B1CC04) ## $t5 = 80B20000
/* 01830 80B1D130 240CFFFF */ addiu $t4, $zero, 0xFFFF ## $t4 = FFFFFFFF
/* 01834 80B1D134 25ADCC04 */ addiu $t5, $t5, %lo(func_80B1CC04) ## $t5 = 80B1CC04
/* 01838 80B1D138 AE0C0214 */ sw $t4, 0x0214($s0) ## 00000214
/* 0183C 80B1D13C A2000208 */ sb $zero, 0x0208($s0) ## 00000208
/* 01840 80B1D140 AE0D0190 */ sw $t5, 0x0190($s0) ## 00000190
/* 01844 80B1D144 8FBF0024 */ lw $ra, 0x0024($sp)
.L80B1D148:
/* 01848 80B1D148 8FB00020 */ lw $s0, 0x0020($sp)
/* 0184C 80B1D14C 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000
/* 01850 80B1D150 03E00008 */ jr $ra
/* 01854 80B1D154 00000000 */ nop

View File

@ -1,33 +0,0 @@
glabel func_80B1D200
/* 01900 80B1D200 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 01904 80B1D204 AFBF0014 */ sw $ra, 0x0014($sp)
/* 01908 80B1D208 AFA40038 */ sw $a0, 0x0038($sp)
/* 0190C 80B1D20C 8C850000 */ lw $a1, 0x0000($a0) ## 00000000
/* 01910 80B1D210 3C0680B2 */ lui $a2, %hi(D_80B1D5EC) ## $a2 = 80B20000
/* 01914 80B1D214 24C6D5EC */ addiu $a2, $a2, %lo(D_80B1D5EC) ## $a2 = 80B1D5EC
/* 01918 80B1D218 27A40024 */ addiu $a0, $sp, 0x0024 ## $a0 = FFFFFFEC
/* 0191C 80B1D21C 240704A4 */ addiu $a3, $zero, 0x04A4 ## $a3 = 000004A4
/* 01920 80B1D220 0C031AB1 */ jal func_800C6AC4
/* 01924 80B1D224 AFA50034 */ sw $a1, 0x0034($sp)
/* 01928 80B1D228 8FA80034 */ lw $t0, 0x0034($sp)
/* 0192C 80B1D22C 3C190601 */ lui $t9, 0x0601 ## $t9 = 06010000
/* 01930 80B1D230 2739ACE0 */ addiu $t9, $t9, 0xACE0 ## $t9 = 0600ACE0
/* 01934 80B1D234 8D0302C0 */ lw $v1, 0x02C0($t0) ## 000002C0
/* 01938 80B1D238 3C18DE00 */ lui $t8, 0xDE00 ## $t8 = DE000000
/* 0193C 80B1D23C 3C0680B2 */ lui $a2, %hi(D_80B1D5FC) ## $a2 = 80B20000
/* 01940 80B1D240 246F0008 */ addiu $t7, $v1, 0x0008 ## $t7 = 00000008
/* 01944 80B1D244 AD0F02C0 */ sw $t7, 0x02C0($t0) ## 000002C0
/* 01948 80B1D248 AC790004 */ sw $t9, 0x0004($v1) ## 00000004
/* 0194C 80B1D24C AC780000 */ sw $t8, 0x0000($v1) ## 00000000
/* 01950 80B1D250 8FA90038 */ lw $t1, 0x0038($sp)
/* 01954 80B1D254 24C6D5FC */ addiu $a2, $a2, %lo(D_80B1D5FC) ## $a2 = 80B1D5FC
/* 01958 80B1D258 27A40024 */ addiu $a0, $sp, 0x0024 ## $a0 = FFFFFFEC
/* 0195C 80B1D25C 240704A6 */ addiu $a3, $zero, 0x04A6 ## $a3 = 000004A6
/* 01960 80B1D260 0C031AD5 */ jal func_800C6B54
/* 01964 80B1D264 8D250000 */ lw $a1, 0x0000($t1) ## 00000000
/* 01968 80B1D268 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0196C 80B1D26C 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 01970 80B1D270 03E00008 */ jr $ra
/* 01974 80B1D274 00000000 */ nop

View File

@ -1,32 +0,0 @@
glabel func_80B1D278
/* 01978 80B1D278 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
/* 0197C 80B1D27C AFA40000 */ sw $a0, 0x0000($sp)
/* 01980 80B1D280 AFA60008 */ sw $a2, 0x0008($sp)
/* 01984 80B1D284 10A10006 */ beq $a1, $at, .L80B1D2A0
/* 01988 80B1D288 AFA7000C */ sw $a3, 0x000C($sp)
/* 0198C 80B1D28C 24010010 */ addiu $at, $zero, 0x0010 ## $at = 00000010
/* 01990 80B1D290 10A10009 */ beq $a1, $at, .L80B1D2B8
/* 01994 80B1D294 8FA20014 */ lw $v0, 0x0014($sp)
/* 01998 80B1D298 03E00008 */ jr $ra
/* 0199C 80B1D29C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80B1D2A0:
/* 019A0 80B1D2A0 8FA30010 */ lw $v1, 0x0010($sp)
/* 019A4 80B1D2A4 8FA20014 */ lw $v0, 0x0014($sp)
/* 019A8 80B1D2A8 846E0002 */ lh $t6, 0x0002($v1) ## 00000002
/* 019AC 80B1D2AC A44E021E */ sh $t6, 0x021E($v0) ## 0000021E
/* 019B0 80B1D2B0 03E00008 */ jr $ra
/* 019B4 80B1D2B4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
.L80B1D2B8:
/* 019B8 80B1D2B8 8FA30010 */ lw $v1, 0x0010($sp)
/* 019BC 80B1D2BC 844F021E */ lh $t7, 0x021E($v0) ## 0000021E
/* 019C0 80B1D2C0 84490226 */ lh $t1, 0x0226($v0) ## 00000226
/* 019C4 80B1D2C4 84780002 */ lh $t8, 0x0002($v1) ## 00000002
/* 019C8 80B1D2C8 01F8C821 */ addu $t9, $t7, $t8
/* 019CC 80B1D2CC A459021E */ sh $t9, 0x021E($v0) ## 0000021E
/* 019D0 80B1D2D0 84680002 */ lh $t0, 0x0002($v1) ## 00000002
/* 019D4 80B1D2D4 01095021 */ addu $t2, $t0, $t1
/* 019D8 80B1D2D8 A46A0002 */ sh $t2, 0x0002($v1) ## 00000002
/* 019DC 80B1D2DC 03E00008 */ jr $ra
/* 019E0 80B1D2E0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000

View File

@ -1,50 +0,0 @@
glabel func_80B1D2E4
/* 019E4 80B1D2E4 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 019E8 80B1D2E8 3C0F80B2 */ lui $t7, %hi(D_80B1D580) ## $t7 = 80B20000
/* 019EC 80B1D2EC AFBF0014 */ sw $ra, 0x0014($sp)
/* 019F0 80B1D2F0 AFA40038 */ sw $a0, 0x0038($sp)
/* 019F4 80B1D2F4 AFA5003C */ sw $a1, 0x003C($sp)
/* 019F8 80B1D2F8 AFA60040 */ sw $a2, 0x0040($sp)
/* 019FC 80B1D2FC AFA70044 */ sw $a3, 0x0044($sp)
/* 01A00 80B1D300 25EFD580 */ addiu $t7, $t7, %lo(D_80B1D580) ## $t7 = 80B1D580
/* 01A04 80B1D304 8DF90000 */ lw $t9, 0x0000($t7) ## 80B1D580
/* 01A08 80B1D308 27AE0028 */ addiu $t6, $sp, 0x0028 ## $t6 = FFFFFFF0
/* 01A0C 80B1D30C 8DF80004 */ lw $t8, 0x0004($t7) ## 80B1D584
/* 01A10 80B1D310 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF0
/* 01A14 80B1D314 8DF90008 */ lw $t9, 0x0008($t7) ## 80B1D588
/* 01A18 80B1D318 3C0880B2 */ lui $t0, %hi(D_80B1D58C) ## $t0 = 80B20000
/* 01A1C 80B1D31C 2508D58C */ addiu $t0, $t0, %lo(D_80B1D58C) ## $t0 = 80B1D58C
/* 01A20 80B1D320 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF4
/* 01A24 80B1D324 ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFF8
/* 01A28 80B1D328 8D0A0000 */ lw $t2, 0x0000($t0) ## 80B1D58C
/* 01A2C 80B1D32C 27A7001C */ addiu $a3, $sp, 0x001C ## $a3 = FFFFFFE4
/* 01A30 80B1D330 24010010 */ addiu $at, $zero, 0x0010 ## $at = 00000010
/* 01A34 80B1D334 ACEA0000 */ sw $t2, 0x0000($a3) ## FFFFFFE4
/* 01A38 80B1D338 8D090004 */ lw $t1, 0x0004($t0) ## 80B1D590
/* 01A3C 80B1D33C 00A03025 */ or $a2, $a1, $zero ## $a2 = 00000000
/* 01A40 80B1D340 00E02025 */ or $a0, $a3, $zero ## $a0 = FFFFFFE4
/* 01A44 80B1D344 ACE90004 */ sw $t1, 0x0004($a3) ## FFFFFFE8
/* 01A48 80B1D348 8D0A0008 */ lw $t2, 0x0008($t0) ## 80B1D594
/* 01A4C 80B1D34C 14A10006 */ bne $a1, $at, .L80B1D368
/* 01A50 80B1D350 ACEA0008 */ sw $t2, 0x0008($a3) ## FFFFFFEC
/* 01A54 80B1D354 8FA50048 */ lw $a1, 0x0048($sp)
/* 01A58 80B1D358 AFA6003C */ sw $a2, 0x003C($sp)
/* 01A5C 80B1D35C 0C0346BD */ jal Matrix_MultVec3f
/* 01A60 80B1D360 24A50038 */ addiu $a1, $a1, 0x0038 ## $a1 = 00000038
/* 01A64 80B1D364 8FA6003C */ lw $a2, 0x003C($sp)
.L80B1D368:
/* 01A68 80B1D368 2401000E */ addiu $at, $zero, 0x000E ## $at = 0000000E
/* 01A6C 80B1D36C 14C10006 */ bne $a2, $at, .L80B1D388
/* 01A70 80B1D370 8FA50048 */ lw $a1, 0x0048($sp)
/* 01A74 80B1D374 27A40028 */ addiu $a0, $sp, 0x0028 ## $a0 = FFFFFFF0
/* 01A78 80B1D378 0C0346BD */ jal Matrix_MultVec3f
/* 01A7C 80B1D37C 24A50304 */ addiu $a1, $a1, 0x0304 ## $a1 = 00000304
/* 01A80 80B1D380 0C2C7480 */ jal func_80B1D200
/* 01A84 80B1D384 8FA40038 */ lw $a0, 0x0038($sp)
.L80B1D388:
/* 01A88 80B1D388 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01A8C 80B1D38C 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 01A90 80B1D390 03E00008 */ jr $ra
/* 01A94 80B1D394 00000000 */ nop

View File

@ -1,16 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purposee registers
.section .data
glabel Bg_Gate_Shutter_InitVars
.word 0x01000700, 0x00000000, 0x01810000, 0x0000017C
.word BgGateShutter_Init
.word BgGateShutter_Destroy
.word BgGateShutter_Update
.word BgGateShutter_Draw

View File

@ -1,11 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purposee registers
.section .rodata
glabel D_80878630
.incbin "baserom/ovl_Bg_Gate_Shutter", 0x4D0, 0x00000090

View File

@ -1,35 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purposee registers
.section .rodata
glabel D_808785B0
.word 0x0A0A0000
glabel D_808785B4
.asciz " \n"
.balign 4
glabel D_808785E0
.asciz "../z_bg_gate_shutter.c"
.balign 4
glabel D_808785F8
.asciz "../z_bg_gate_shutter.c"
.balign 4
glabel D_80878610
.asciz "../z_bg_gate_shutter.c"
.balign 4
glabel D_80878628
.word 0xC4ABE000, 0x00000000

View File

@ -1,42 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purposee registers
.section .data
glabel En_Tk_InitVars
.word 0x00850400, 0x00000009, 0x00890000, 0x00000770
.word EnTk_Init
.word EnTk_Destroy
.word EnTk_Update
.word EnTk_Draw
glabel D_80B1D4D0
.word 0x040539B0, 0x040535B0, 0x040531B0, 0x04052DB0, 0x040529B0, 0x040525B0, 0x040521B0, 0x04051DB0
glabel D_80B1D4F0
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80B1D4FC
.word 0x00000000, 0x3E99999A, 0x00000000
glabel D_80B1D508
.word 0x0A000039, 0x20010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x001E0034, 0x00000000, 0x00000000
glabel D_80B1D534
.word 0x00000000, 0x00000000, 0xFF000000
glabel D_80B1D540
.word 0x42100000, 0x41200000
glabel D_80B1D548
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80B1D554
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80B1D560
.word 0x00000000, 0x3E99999A, 0x00000000
glabel D_80B1D56C
.word 0x00000000, 0x00000001, 0x00000002, 0x00000014, 0x00000006
glabel D_80B1D580
.word 0x00000000, 0x00000000, 0x458FC000
glabel D_80B1D58C
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80B1D598
.word 0x06003B40, 0x06004340, 0x06004B40, 0x00000000, 0x00000000, 0x00000000

View File

@ -1,11 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purposee registers
.section .rodata
glabel D_80B1D690
.incbin "baserom/ovl_En_Tk", 0x1D90, 0x00000200

View File

@ -1,70 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purposee registers
.section .rodata
glabel D_80B1D5B0
.asciz "../z_en_tk_eff.c"
.balign 4
glabel D_80B1D5C4
.asciz "../z_en_tk_eff.c"
.balign 4
glabel D_80B1D5D8
.asciz "../z_en_tk_eff.c"
.balign 4
glabel D_80B1D5EC
.asciz "../z_en_tk.c"
.balign 4
glabel D_80B1D5FC
.asciz "../z_en_tk.c"
.balign 4
glabel D_80B1D60C
.asciz "../z_en_tk.c"
.balign 4
glabel D_80B1D61C
.asciz "../z_en_tk.c"
.balign 4
glabel D_80B1D62C
.word 0x3E4CCCCD
glabel D_80B1D630
.word 0x3ECCCCCD
glabel D_80B1D634
.word 0x461C4000
glabel D_80B1D638
.word 0x452AAAAB
glabel D_80B1D63C
.word 0x4622F983
glabel jtbl_80B1D640
.word L80B1C724
.word L80B1C724
.word L80B1C5EC
.word L80B1C724
.word L80B1C614
.word L80B1C6E4
.word L80B1C724
.word L80B1C724
.word L80B1C724
.word L80B1C724
glabel D_80B1D668
.word 0x3ECCCCCD, 0x00000000
glabel D_80B1D670
.word 0x3FE66666, 0x66666666
glabel D_80B1D678
.word 0x3FECCCCC, 0xCCCCCCCD
glabel D_80B1D680
.word 0x3DCCCCCD
glabel D_80B1D684
.word 0xBDCCCCCD, 0x00000000, 0x00000000

View File

@ -1,3 +1,5 @@
#!/usr/bin/env bash
var="$1"
if [ ! -n "$var" ]
then

28
format.sh Executable file
View File

@ -0,0 +1,28 @@
#!/usr/bin/env bash
FORMAT_OPTS="-i -style=file"
TIDY_OPTS="-p . --fix --fix-errors"
COMPILER_OPTS="-fno-builtin -std=gnu90 -Iinclude -Isrc -D_LANGUAGE_C"
shopt -s globstar
if (( $# > 0 )); then
echo "Formatting file(s) $*"
echo "Running clang-format..."
clang-format ${FORMAT_OPTS} "$@"
echo "Running clang-tidy..."
clang-tidy ${TIDY_OPTS} "$@" -- ${COMPILER_OPTS} &> /dev/null
echo "Adding missing final new lines..."
sed -i -e '$a\' "$@"
echo "Done formatting file(s) $*"
exit
fi
echo "Formatting C files. This will take a bit"
echo "Running clang-format..."
clang-format ${FORMAT_OPTS} src/**/*.c
echo "Running clang-tidy..."
clang-tidy ${TIDY_OPTS} src/**/*.c -- ${COMPILER_OPTS} &> /dev/null
echo "Adding missing final new lines..."
find src/ -type f -name "*.c" -exec sed -i -e '$a\' {} \;
echo "Done formatting all files."

View File

@ -1,18 +1,15 @@
#ifndef _COLOR_H_
#define _COLOR_H_
typedef struct
{
typedef struct {
u8 r, g, b;
} Color_RGB8;
typedef struct
{
typedef struct {
u8 r, g, b, a;
} Color_RGBA8;
typedef struct
{
typedef struct {
f32 r, g, b, a;
} Color_RGBAf;

View File

@ -26,7 +26,8 @@ void DmaMgr_ThreadEntry(void* arg0);
s32 DmaMgr_SendRequestImpl(DmaRequest* req, u32 ram, u32 vrom, u32 size, u32 unk, OSMesgQueue* queue, OSMesg msg);
s32 DmaMgr_SendRequest0(u32 ram, u32 vrom, u32 size);
void DmaMgr_Start();
s32 DmaMgr_SendRequest2(DmaRequest* req, u32 ram, u32 vrom, u32 size, u32 unk5, OSMesgQueue* queue, OSMesg msg, const char* file, s32 line);
s32 DmaMgr_SendRequest2(DmaRequest* req, u32 ram, u32 vrom, u32 size, u32 unk5, OSMesgQueue* queue, OSMesg msg,
const char* file, s32 line);
s32 DmaMgr_SendRequest1(void* ram0, u32 vrom, u32 size, const char* file, s32 line);
void* Yaz0_FirstDMA();
void* Yaz0_NextDMA(void* curSrcPos);
@ -42,26 +43,29 @@ void isPrintfInit();
void osSyncPrintfUnused(const char* fmt, ...);
void osSyncPrintf(const char* fmt, ...);
void rmonPrintf(const char* fmt, ...);
u32 is_proutSyncPrintf(void* arg0, const char *str, s32 count);
u32 is_proutSyncPrintf(void* arg0, const char* str, s32 count);
void func_80002384(const char* exp, const char* file, u32 line);
OSPiHandle* osDriveRomInit();
void Yaz0_Old_DecompressImpl(Yaz0Header* hdr, u8* dst);
void StackCheck_Init(StackEntry* entry, void* stackTop, void* stackBottom, u32 initValue, s32 minSpace, const char* name);
void StackCheck_Init(StackEntry* entry, void* stackTop, void* stackBottom, u32 initValue, s32 minSpace,
const char* name);
void StackCheck_Cleanup(StackEntry* entry);
StackStatus StackCheck_GetState(StackEntry* entry);
u32 StackCheck_CheckAll();
u32 StackCheck_Check(StackEntry* entry);
float LogUtils_CheckFloatRange(const char* exp, s32 arg1, const char* var1Name, float var1, const char* var2Name, float var2, const char* var3Name, float var3);
s32 LogUtils_CheckIntRange(const char* exp, s32 arg1, const char* var1Name, s32 var1, const char* var2Name, s32 var2, const char* var3Name, s32 var3);
float LogUtils_CheckFloatRange(const char* exp, s32 arg1, const char* var1Name, float var1, const char* var2Name,
float var2, const char* var3Name, float var3);
s32 LogUtils_CheckIntRange(const char* exp, s32 arg1, const char* var1Name, s32 var1, const char* var2Name, s32 var2,
const char* var3Name, s32 var3);
void LogUtils_LogHexDump(void* ptr, s32 size0);
void LogUtils_LogPointer(s32 value, u32 max, void* ptr, const char *name, const char *file, s32 line);
void LogUtils_LogPointer(s32 value, u32 max, void* ptr, const char* name, const char* file, s32 line);
void LogUtils_CheckBoundary(const char* name, s32 value, s32 unk, const char* file, s32 line);
void LogUtils_CheckNullPointer(const char* exp, void* ptr, const char* file, s32 line);
void LogUtils_CheckValidPointer(const char* exp, void* ptr0, const char* file, s32 line);
void LogUtils_LogThreadId(const char* name, s32 line);
void LogUtils_HungupThread(const char* name, s32 line);
void LogUtils_ResetHungup();
char* proutSprintf(char* dst, const char *fmt, size_t size);
char* proutSprintf(char* dst, const char* fmt, size_t size);
s32 vsprintf(char* dst, const char* fmt, va_list args);
s32 sprintf(char* dst, const char* fmt, ...);
void __osPiCreateAccessQueue(void);
@ -88,55 +92,55 @@ void __osExceptionPreamble();
// ? __osException(?);
void __osEnqueueAndYield(OSThread**);
void __osEnqueueThread(OSThread**, OSThread*);
OSThread *__osPopThread(OSThread**);
OSThread* __osPopThread(OSThread**);
// ? __osNop(?);
void __osDispatchThread();
void __osCleanupThread(void);
void __osDequeueThread(OSThread **queue, OSThread *thread);
void osDestroyThread(OSThread *thread);
void bzero(void *__s, u32 __n);
void __osDequeueThread(OSThread** queue, OSThread* thread);
void osDestroyThread(OSThread* thread);
void bzero(void* __s, u32 __n);
void osCreateThread(OSThread* thread, OSId id, void (*entry)(void*), void* arg, void* sp, OSPri pri);
void __osSetSR(u32);
u32 __osGetSR();
void osWritebackDCache(void *vaddr, s32 nbytes);
void osWritebackDCache(void* vaddr, s32 nbytes);
void* osViGetNextFramebuffer();
void osCreatePiManager(OSPri pri, OSMesgQueue *cmdQ, OSMesg *cmdBuf, s32 cmdMsgCnt);
void osCreatePiManager(OSPri pri, OSMesgQueue* cmdQ, OSMesg* cmdBuf, s32 cmdMsgCnt);
void __osDevMgrMain(void* arg);
s32 __osPiRawStartDma(s32 dir, u32 cart_addr, void *dram_addr, size_t size);
s32 __osPiRawStartDma(s32 dir, u32 cart_addr, void* dram_addr, size_t size);
u32 osVirtualToPhysical(void* vaddr);
void osViBlack(u8 active);
s32 __osSiRawReadIo(void *a0, u32 *a1);
s32 __osSiRawReadIo(void* a0, u32* a1);
OSId osGetThreadId(OSThread* thread);
OSIntMask osSetIntMask(OSIntMask);
void osViSetMode(OSViMode *mode);
u32 __osProbeTLB(void *);
void osViSetMode(OSViMode* mode);
u32 __osProbeTLB(void*);
u32 osGetMemSize(void);
void osSetEventMesg(OSEvent e, OSMesgQueue *mq, OSMesg msg);
s32 _Printf(char *(*pfn)(char *, const char *, size_t), char *arg, const char *fmt, va_list ap);
void osSetEventMesg(OSEvent e, OSMesgQueue* mq, OSMesg msg);
s32 _Printf(char* (*pfn)(char*, const char*, size_t), char* arg, const char* fmt, va_list ap);
void osUnmapTLBAll(void);
s32 osEPiStartDma(OSPiHandle* handle, OSIoMesg* mb, s32 direction);
const u8 *strchr(const u8 *str, s32 ch);
size_t strlen(const u8 *str);
void *memcpy(void *dst, const void *src, size_t size);
const u8* strchr(const u8* str, s32 ch);
size_t strlen(const u8* str);
void* memcpy(void* dst, const void* src, size_t size);
void osInvalICache(void* vaddr, s32 nbytes);
void osCreateMesgQueue(OSMesgQueue* mq, OSMesg* msg, s32 count);
void osInvalDCache(void* vaddr, s32 nbytes);
u32 __osSiDeviceBusy();
void osSetThreadPri(OSThread* thread, OSPri pri);
OSPri osGetThreadPri(OSThread* thread);
s32 __osEPiRawReadIo(OSPiHandle *handle, u32 devAddr, u32 *data);
void osViSwapBuffer(void *vaddr);
s32 __osEPiRawStartDma(OSPiHandle *handle, s32 direction, u32 cartAddr, void* dramAddr, size_t size);
u32 bcmp(void *__sl,void *__s2,u32 __n);
s32 __osEPiRawReadIo(OSPiHandle* handle, u32 devAddr, u32* data);
void osViSwapBuffer(void* vaddr);
s32 __osEPiRawStartDma(OSPiHandle* handle, s32 direction, u32 cartAddr, void* dramAddr, size_t size);
u32 bcmp(void* __sl, void* __s2, u32 __n);
OSTime osGetTime(void);
void __osTimerServicesInit();
void __osTimerInterrupt();
void __osSetTimerIntr(OSTime tim);
OSTime __osInsertTimer(OSTimer *a0);
OSTime __osInsertTimer(OSTimer* a0);
u32 osGetCount(void);
void __osSetGlobalIntMask(u32 mask);
void __osSetCompare(u32);
void* bcopy(void *__src,void *__dest,u32 __n);
void* bcopy(void* __src, void* __dest, u32 __n);
void __osResetGlobalIntMask(u32 mask);
s32 __osDisableInt(void);
void __osRestoreInt(s32);
@ -151,9 +155,9 @@ u32 __osGetFpcCsr();
s32 osEPiWriteIo(OSPiHandle* handle, u32 devAddr, u32 data);
void osMapTLBRdb(void);
u32 __osGetCause();
s32 __osEPiRawWriteIo(OSPiHandle *handle, u32 devAddr, u32 data);
s32 __osEPiRawWriteIo(OSPiHandle* handle, u32 devAddr, u32 data);
void osCreateViManager(OSPri pri);
void viMgrMain(void *vargs);
void viMgrMain(void* vargs);
OSViContext* __osViGetCurrentContext();
void osStartThread(OSThread* thread);
void osViSetYScale(float scale);
@ -223,8 +227,8 @@ void func_80028B74(GlobalContext*, Vec3f*, UNK_PTR, UNK_PTR, Color_RGB8*, Color_
// ? func_80028FD8(?);
// ? func_80029060(?);
void Effect_SpawnFragment(GlobalContext* globalCtx, Vec3f* burstDepthY, Vec3f* burstDepthX, Vec3f* burstOrigin,
s16 gravityInfluence, s16 u0, s16 rotSpeed, s16 burstVel, u8 u1, s16 scale, u8 u2,
s16 jitter, s32 duration, s16 u3, s16 objNumber, u32 dList);
s16 gravityInfluence, s16 u0, s16 rotSpeed, s16 burstVel, u8 u1, s16 scale, u8 u2, s16 jitter,
s32 duration, s16 u3, s16 objNumber, u32 dList);
// ? func_800292DC(?);
// ? func_80029320(?);
// ? func_80029444(?);
@ -238,7 +242,8 @@ void Effect_SpawnFragment(GlobalContext* globalCtx, Vec3f* burstDepthY, Vec3f* b
// ? func_8002A32C(?);
// ? func_8002A3C4(?);
void func_8002A65C(GlobalContext* globalCtx, Actor* actor, Vec3f* pos, u32 arg3, u32 arg4);
void func_8002A6B8(GlobalContext* globalCtx, Vec3f* pos, Vec3f* arg2, Vec3f* arg3, u32 arg4, s32 arg5, u32 arg6, u32 arg7, u32 arg8, u32 arg9, u32 arg10, u32 arg11, u32 arg12, u32 arg13, u32 arg14, u32 arg15);
void func_8002A6B8(GlobalContext* globalCtx, Vec3f* pos, Vec3f* arg2, Vec3f* arg3, u32 arg4, s32 arg5, u32 arg6,
u32 arg7, u32 arg8, u32 arg9, u32 arg10, u32 arg11, u32 arg12, u32 arg13, u32 arg14, u32 arg15);
// ? func_8002A894(?);
// ? func_8002A95C(?);
// ? func_8002A9F4(?);
@ -268,10 +273,10 @@ void Flags_SetTempClear(GlobalContext* globalCtx, s32 flag);
void Flags_UnsetTempClear(GlobalContext* globalCtx, s32 flag);
s32 Flags_GetCollectible(GlobalContext* globalCtx, s32 flag);
void Flags_SetCollectible(GlobalContext* globalCtx, s32 flag);
void TitleCard_InitBossName(GlobalContext* globalCtx, TitleCardContext* titleCtx, u32 texture,
s16 arg3, s16 arg4, u8 arg5, u8 arg6);
void TitleCard_InitPlaceName(GlobalContext* globalCtx, TitleCardContext* titleCtx, u32 texture,
s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7);
void TitleCard_InitBossName(GlobalContext* globalCtx, TitleCardContext* titleCtx, u32 texture, s16 arg3, s16 arg4,
u8 arg5, u8 arg6);
void TitleCard_InitPlaceName(GlobalContext* globalCtx, TitleCardContext* titleCtx, u32 texture, s32 arg3, s32 arg4,
s32 arg5, s32 arg6, s32 arg7);
s32 func_8002D53C(GlobalContext* globalCtx, TitleCardContext* titleCtx);
void Actor_Kill(Actor* actor);
void Actor_SetHeight(Actor* actor, f32 offset);
@ -357,18 +362,18 @@ void func_800304DC(GlobalContext* globalCtx, ActorContext* actorCtx, ActorEntry*
void Actor_UpdateAll(GlobalContext* globalCtx, ActorContext* actorCtx);
s32 func_800314D4(GlobalContext* globalCtx, Actor* actorB, Vec3f* arg2, f32 arg3);
void func_80031B14(GlobalContext* globalCtx, ActorContext* actorCtx);
Actor* Actor_Spawn(ActorContext* actorCtx, GlobalContext* globalCtx, s16 actorId,
f32 posX, f32 posY, f32 posZ, s16 rotX, s16 rotY, s16 rotZ, s16 params);
Actor* Actor_SpawnAttached(ActorContext* actorCtx, Actor* attachedTo, GlobalContext* globalCtx, s16 actorId,
f32 posX, f32 posY, f32 posZ, s16 rotX, s16 rotY, s16 rotZ, s16 params);
Actor* Actor_Spawn(ActorContext* actorCtx, GlobalContext* globalCtx, s16 actorId, f32 posX, f32 posY, f32 posZ,
s16 rotX, s16 rotY, s16 rotZ, s16 params);
Actor* Actor_SpawnAttached(ActorContext* actorCtx, Actor* attachedTo, GlobalContext* globalCtx, s16 actorId, f32 posX,
f32 posY, f32 posZ, s16 rotX, s16 rotY, s16 rotZ, s16 params);
void Actor_SpawnTransitionActors(GlobalContext* globalCtx, ActorContext* actorCtx);
Actor* Actor_SpawnEntry(ActorContext* actorCtx, ActorEntry* actorEntry, GlobalContext* globalCtx);
Actor* Actor_Delete(ActorContext* actorCtx, Actor* actor, GlobalContext* globalCtx);
Actor* func_80032AF0(GlobalContext* globalCtx, ActorContext* actorCtx, Actor** actorPtr, Player* player);
Actor* Actor_Find(ActorContext* actorCtx, s32 actorId, s32 actorType);
void func_80032C7C(GlobalContext* globalCtx, Actor* actor);
void func_80033260(GlobalContext* globalCtx, Actor* actor, Vec3f* arg2, f32 arg3,
s32 arg4, f32 arg5, s16 arg6, s16 arg7, u8 arg8);
void func_80033260(GlobalContext* globalCtx, Actor* actor, Vec3f* arg2, f32 arg3, s32 arg4, f32 arg5, s16 arg6,
s16 arg7, u8 arg8);
void func_80033480(GlobalContext* globalCtx, Vec3f* arg1, f32 arg2, s32 arg3, s16 arg4, s16 arg5, u8 arg6);
Actor* func_80033640(GlobalContext* globalCtx, Collider* collider);
Actor* func_80033684(GlobalContext* globalCtx, Actor* explosiveActor);
@ -389,9 +394,13 @@ void func_8003424C(GlobalContext* globalCtx, Vec3f* arg1);
void func_8003426C(Actor* actor, s16 arg1, s16 arg2, s16 arg3, s16 arg4);
Hilite* func_800342EC(Vec3f* object, GlobalContext* globalCtx);
Hilite* func_8003435C(Vec3f* object, GlobalContext* globalCtx);
s32 func_800343CC(GlobalContext* globalCtx, Actor* actor, s16* arg2, f32 arg3, u16 (*unkFunc1)(GlobalContext*, Actor*),
s16 (*unkFunc2)(GlobalContext*, Actor*));
s16 func_800347E8(s16 arg0);
void func_80034BA0(GlobalContext* globalCtx, SkelAnime* skelAnime, void* unkFunc1, void* unkFunc2, Actor* actor, s16 alpha);
void func_80034CC4(GlobalContext* globalCtx, SkelAnime* skelAnime, void* unkFunc1, void* unkFunc2, Actor* actor, s16 alpha);
void func_80034BA0(GlobalContext* globalCtx, SkelAnime* skelAnime, void* unkFunc1, void* unkFunc2, Actor* actor,
s16 alpha);
void func_80034CC4(GlobalContext* globalCtx, SkelAnime* skelAnime, void* unkFunc1, void* unkFunc2, Actor* actor,
s16 alpha);
void func_80034EC0(SkelAnime* skelAnime, struct_80034EC0_Entry* arg1, s32 arg2);
void Actor_Noop(Actor* actor, GlobalContext* globalCtx);
void Draw_DListOpa(GlobalContext* globalCtx, u32 dlist);
@ -648,7 +657,7 @@ s16 func_8005A9F4(Camera* camera);
// ? func_8005AFB4(?);
// ? func_8005B044(?);
// ? func_8005B1A4(?);
s32 CollisionBtlTbl_Get(s32 index);
s32 CollisionBtlTbl_Get(s32 index);
// ? func_8005B280(?);
// ? func_8005B2AC(?);
// ? func_8005B65C(?);
@ -687,7 +696,8 @@ s32 func_8005C328(GlobalContext* globalCtx, ColliderDimensions* dest, ColliderDi
s32 ActorCollider_AllocCylinder(GlobalContext* globalCtx, ColliderCylinderMain* collision);
s32 ActorCollider_FreeCylinder(GlobalContext* globalCtx, ColliderCylinderMain* collision);
s32 func_8005C3F4(GlobalContext* globalCtx, ColliderCylinderMain* collision, ColliderCylinderInit* arg2);
s32 ActorCollider_InitCylinder(GlobalContext* globalCtx, ColliderCylinderMain* collision, Actor* actor, ColliderCylinderInit* src);
s32 ActorCollider_InitCylinder(GlobalContext* globalCtx, ColliderCylinderMain* collision, Actor* actor,
ColliderCylinderInit* src);
s32 func_8005C508(GlobalContext* globalCtx, ColliderCylinderMain* collision);
s32 func_8005C540(GlobalContext* globalCtx, ColliderCylinderMain* collision);
s32 func_8005C578(GlobalContext* globalCtx, ColliderCylinderMain* collision);
@ -720,9 +730,12 @@ void func_8005D400(UNK_TYPE, UNK_TYPE);
// ? func_8005D40C(?);
// ? func_8005D4DC(?);
// ? func_8005D62C(?);
s32 Actor_CollisionCheck_SetAT(GlobalContext* globalCtx, SubGlobalContext11E60* simpleBodyGroups, ColliderCylinderMain* collision);
s32 Actor_CollisionCheck_SetAC(GlobalContext* globalCtx, SubGlobalContext11E60* simpleBodyGroups, ColliderCylinderMain* collision);
s32 Actor_CollisionCheck_SetOT(GlobalContext* globalCtx, SubGlobalContext11E60* simpleBodyGroups, ColliderCylinderMain* collision);
s32 Actor_CollisionCheck_SetAT(GlobalContext* globalCtx, SubGlobalContext11E60* simpleBodyGroups,
ColliderCylinderMain* collision);
s32 Actor_CollisionCheck_SetAC(GlobalContext* globalCtx, SubGlobalContext11E60* simpleBodyGroups,
ColliderCylinderMain* collision);
s32 Actor_CollisionCheck_SetOT(GlobalContext* globalCtx, SubGlobalContext11E60* simpleBodyGroups,
ColliderCylinderMain* collision);
// ? func_8005DF2C(?);
// ? func_8005DF50(?);
// ? func_8005DF74(?);
@ -743,8 +756,8 @@ s32 Actor_CollisionCheck_SetOT(GlobalContext* globalCtx, SubGlobalContext11E60*
// ? func_80061C98(?);
// ? func_80061E48(?);
// ? func_80061E8C(?);
void func_80061ED4(SubActorStruct98 *sub98, ActorDamageChart *damageChart, SubActor98Init *subActor98Init);
// ? func_80061EFC(?);
void func_80061ED4(SubActorStruct98* sub98, ActorDamageChart* damageChart, SubActor98Init* subActor98Init);
void func_80061EFC(SubActorStruct98* sub98, ActorDamageChart* damageChart, SubActor98Init* subActor98Init);
// ? func_80061F64(?);
// ? func_800622E4(?);
// ? func_80062530(?);
@ -767,9 +780,9 @@ void func_8006375C(s32 arg0, s32 arg1, float* d_80855320);
// ? func_80063C04(?);
// ? func_80063D7C(?);
void DebugDisplay_Init(void);
DebugDispObject* DebugDisplay_AddObject(f32 posX, f32 posY, f32 posZ, s16 rotX, s16 rotY, s16 rotZ,
f32 scaleX, f32 scaleY, f32 scaleZ, u8 red, u8 green, u8 blue, u8 alpha,
s16 type, GraphicsContext* gfxCtx);
DebugDispObject* DebugDisplay_AddObject(f32 posX, f32 posY, f32 posZ, s16 rotX, s16 rotY, s16 rotZ, f32 scaleX,
f32 scaleY, f32 scaleZ, u8 red, u8 green, u8 blue, u8 alpha, s16 type,
GraphicsContext* gfxCtx);
void DebugDisplay_DrawObjects(GlobalContext* globalCtx);
void func_8006450C(GlobalContext* globalCtx, CutsceneContext* csCtx);
void func_80064534(GlobalContext* globalCtx, CutsceneContext* csCtx);
@ -787,6 +800,7 @@ void Audio_PlaySoundAtPosition(GlobalContext* globalCtx, Vec3f* pos2, s32 radius
// ? func_8006BE88(?);
// ? func_8006BF1C(?);
// ? func_8006C0FC(?);
u16 func_8006C360(GlobalContext*, u32);
// ? func_8006C3A0(?);
// ? func_8006C3D0(?);
void func_8006C438(GlobalContext* globalCtx, s16 arg1);
@ -882,9 +896,12 @@ void Health_InitData(GlobalContext* globalCtx);
void Health_UpdateData(GlobalContext* globalCtx);
void Interface_DrawHealth(GlobalContext* globalCtx);
void Health_HandleCriticalAlarm(GlobalContext* globalCtx);
void Lights_InitPositionalLight(LightInfoPositional* info, s16 posX, s16 posY, s16 posZ, u8 red, u8 green, u8 blue, s16 radius, u32 type);
void Lights_InitType0PositionalLight(LightInfoPositional* info, s16 posX, s16 posY, s16 posZ, u8 red, u8 green, u8 blue, s16 radius);
void Lights_InitType2PositionalLight(LightInfoPositional* info, s16 posX, s16 posY, s16 posZ, u8 red, u8 green, u8 blue, s16 radius);
void Lights_InitPositionalLight(LightInfoPositional* info, s16 posX, s16 posY, s16 posZ, u8 red, u8 green, u8 blue,
s16 radius, u32 type);
void Lights_InitType0PositionalLight(LightInfoPositional* info, s16 posX, s16 posY, s16 posZ, u8 red, u8 green, u8 blue,
s16 radius);
void Lights_InitType2PositionalLight(LightInfoPositional* info, s16 posX, s16 posY, s16 posZ, u8 red, u8 green, u8 blue,
s16 radius);
void Lights_SetPositionalLightColorAndRadius(LightInfoPositional* info, u8 red, u8 green, u8 blue, s16 radius);
void Lights_InitDirectional(LightInfoDirectional* info, s8 dirX, s8 dirY, s8 dirZ, u8 red, u8 green, u8 blue);
void Lights_MapperInit(LightMapper* mapper, u8 red, u8 green, u8 blue);
@ -1064,7 +1081,7 @@ void func_80093D18(GraphicsContext* gfxCtx);
void func_80093D84(GraphicsContext* gfxCtx);
// ? func_80093F34(?);
// ? func_80093F58(?);
void func_80094044(GraphicsContext *gfxCtx);
void func_80094044(GraphicsContext* gfxCtx);
// ? func_800940B0(?);
// ? func_800942F0(?);
// ? func_8009435C(?);
@ -1080,8 +1097,10 @@ Gfx* func_800946E4(Gfx* a0);
// ? func_80094DB8(?);
Gfx* func_80094E78(GraphicsContext* gfxCtx, u32 x, u32 y);
Gfx* Draw_TexScroll(GraphicsContext* gfxCtx, u32 x, u32 y, s32 width, s32 height);
Gfx* Draw_TwoTexScroll(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y1, s32 width1, s32 height1, s32 tile2, u32 x2, u32 y2, s32 width2, s32 height2);
Gfx* Draw_TwoTexScrollEnvColor(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y1, s32 width1, s32 height1, s32 tile2, u32 x2, u32 y2, s32 width2, s32 height2, s32 red, s32 green, s32 blue, s32 alpha);
Gfx* Draw_TwoTexScroll(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y1, s32 width1, s32 height1, s32 tile2, u32 x2,
u32 y2, s32 width2, s32 height2);
Gfx* Draw_TwoTexScrollEnvColor(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y1, s32 width1, s32 height1, s32 tile2,
u32 x2, u32 y2, s32 width2, s32 height2, s32 red, s32 green, s32 blue, s32 alpha);
// ? func_80095248(?);
void func_80095AA0(GlobalContext* globalCtx, Room* room, UNK_TYPE arg2, UNK_TYPE arg3);
// ? func_8009638C(?);
@ -1091,12 +1110,13 @@ s32 func_8009728C(GlobalContext* globalCtx, RoomContext* roomCtx, s32 roomNum);
s32 func_800973FC(GlobalContext* globalCtx, RoomContext* roomCtx);
void Room_Draw(GlobalContext* globalCtx, Room* room, u32 flags);
void func_80097534(GlobalContext* globalCtx, RoomContext* roomCtx);
// ? func_800975D0(?);
// ? func_80097604(?);
// ? func_80097820(?);
// ? func_80097848(?);
// ? func_80097850(?);
// ? func_80097904(?);
void Sample_Calc(SampleContext* this);
void Sample_Draw(SampleContext* this);
void Sample_Update(SampleContext* this);
void Sample_Destroy(SampleContext* this);
void Sample_SetupView(SampleContext* this);
void Sample_LoadTitleStatic(SampleContext* this);
void Sample_Init(SampleContext* this);
void Inventory_ChangeEquipment(s16 equipment, u16 value);
u8 Inventory_DeleteEquipment(GlobalContext* globalCtx, s16 equipment);
void Inventory_ChangeUpgrade(s16 upgrade, s16 value);
@ -1113,15 +1133,18 @@ void Scene_Draw(GlobalContext* globalCtx);
// ? func_800A0D94(?);
// ? func_800A106C(?);
// ? func_800A1344(?);
void SkelAnime_Draw(GlobalContext* globalCtx, u32 limbIndex, u32 adt, u8 limbDListCnt, void* internal0, void* internal1);
void SkelAnime_Draw(GlobalContext* globalCtx, u32 limbIndex, u32 adt, u8 limbDListCnt, void* internal0,
void* internal1);
// ? func_800A180C(?);
void func_800A1AC8(GlobalContext *globalCtx, u32 limbIndex, u32 actorDrawTbl, u32 dListCount, void* posUpdateFunc, void *drawFunc, Actor* actor);
void func_800A1AC8(GlobalContext* globalCtx, u32 limbIndex, u32 actorDrawTbl, u32 dListCount, void* posUpdateFunc,
void* drawFunc, Actor* actor);
// ? func_800A1D8C(?);
// ? func_800A1FC8(?);
s32 SkelAnime_GetFrameCount(u32 animation);
// ? func_800A2044(?);
// ? func_800A24A0(?);
Gfx* func_800A273C(GlobalContext* globalCtx, u32 limbIndex, u32 adt, u8 limbDListCnt, void* internal0, void* internal1, Actor* actor, Gfx* gfx);
Gfx* func_800A273C(GlobalContext* globalCtx, u32 limbIndex, u32 adt, u8 limbDListCnt, void* internal0, void* internal1,
Actor* actor, Gfx* gfx);
// ? func_800A2E70(?);
// ? func_800A32EC(?);
// ? func_800A3334(?);
@ -1136,8 +1159,10 @@ Gfx* func_800A273C(GlobalContext* globalCtx, u32 limbIndex, u32 adt, u8 limbDLis
// ? func_800A3F08(?);
// ? func_800A3D70(?);
// ? func_800A4478(?);
void SkelAnime_Init(GlobalContext* globalCtx, SkelAnime* skelAnime, u32 skeleton, u32 animation, u8 unk0, u8 unk1, u8 unk2);
void func_800A46F8(GlobalContext* globalCtx, SkelAnime* skelAnime, u32 skeleton, u32 animation, u8 unk0, u16* unk1, u8 unk2);
void SkelAnime_Init(GlobalContext* globalCtx, SkelAnime* skelAnime, u32 skeleton, u32 animation, u16* unk0, u16* unk1,
u8 unk2);
void func_800A46F8(GlobalContext* globalCtx, SkelAnime* skelAnime, u32 skeleton, u32 animation, u16* unk0, u16* unk1,
u8 unk2);
// ? func_800A4A20(?);
// ? func_800A4AD8(?);
// ? func_800A4D9C(?);
@ -1147,13 +1172,14 @@ void func_800A46F8(GlobalContext* globalCtx, SkelAnime* skelAnime, u32 skeleton,
s32 SkelAnime_FrameUpdateMatrix(SkelAnime* skelAnime);
// ? func_800A4C58(?);
// ? func_800A4FE4(?);
void SkelAnime_ChangeAnimation(SkelAnime* skelAnime, u32 animation, f32 playbackSpeed, f32 unk0, f32 frameCount, u8 unk1, f32 transitionRate);
void func_800A51E8(SkelAnime *skelAnime, u32 animation);
void func_800A5240(SkelAnime *skelAnime, u32 animation, f32 unk0);
void func_800A529C(SkelAnime *skelAnime, u32 animation, f32 unk0, Actor *actor);
void SkelAnime_ChangeAnimation(SkelAnime* skelAnime, u32 animation, f32 playbackSpeed, f32 unk0, f32 frameCount,
u8 unk1, f32 transitionRate);
void func_800A51E8(SkelAnime* skelAnime, u32 animation);
void func_800A5240(SkelAnime* skelAnime, u32 animation, f32 unk0);
void func_800A529C(SkelAnime* skelAnime, u32 animation, f32 unk0, Actor* actor);
// ? func_800A52F8(?);
// ? func_800A54FC(?);
UNK_TYPE func_800A56C8(SkelAnime* skelAnime, f32 arg1);
s32 func_800A56C8(SkelAnime* skelAnime, f32 arg1);
// ? func_800A56F0(?);
// ? func_800A5774(?);
// ? func_800A57C0(?);
@ -1345,7 +1371,7 @@ void KaleidoScopeCall_LoadPlayer();
void KaleidoScopeCall_Init(GlobalContext* globalCtx);
void KaleidoScopeCall_Destroy(GlobalContext* globalCtx);
void KaleidoScopeCall_Update(GlobalContext* globalCtx);
void KaleidoScopeCall_Draw(GlobalContext *globalCtx);
void KaleidoScopeCall_Draw(GlobalContext* globalCtx);
// ? func_800BC450(?);
// ? func_800BC490(?);
s32 func_800BC56C(GlobalContext*, s16);
@ -1376,7 +1402,7 @@ void func_800C0704(GlobalContext*, s16, f32);
// ? func_800C078C(?);
// ? func_800C0808(?);
// ? func_800C0874(?);
void func_800C0C88(GlobalContext *globalCtx);
void func_800C0C88(GlobalContext* globalCtx);
// ? func_800C0A44(?);
// ? func_800C0A88(?);
void func_800C0AF4(GlobalContext*, s8, s16);
@ -1476,7 +1502,7 @@ void* Graph_Alloc(GraphicsContext* gfxCtx, size_t size);
void func_800C6AC4(Gfx** a0, GraphicsContext* gfxCtx, char* file, s32 line);
void func_800C6B54(Gfx** a0, GraphicsContext* gfxCtx, char* file, s32 line);
Gfx* func_800C6C20(Gfx* a0);
Gfx* func_800C6C28(Gfx* a0, Gfx* dlist); //branch dlist
Gfx* func_800C6C28(Gfx* a0, Gfx* dlist); // branch dlist
// ? func_800C6C3C(?);
ListAlloc* ListAlloc_Init(ListAlloc* this);
void* ListAlloc_Alloc(ListAlloc* this, u32 size);
@ -1496,7 +1522,7 @@ void Main(void*);
// ? func_800C7C14(?);
// ? func_800C7DD0(?);
void func_800C7E08(Input*, u32);
//void PadMgr_Init(PadMgr* padmgr, OSMesg mesg, UNK_TYPE arg2, OSId id, OSPri priority, void* stack);
// void PadMgr_Init(PadMgr* padmgr, OSMesg mesg, UNK_TYPE arg2, OSId id, OSPri priority, void* stack);
// ? func_800C82A0(?);
// ? func_800C84E4(?);
// ? func_800C8534(?);
@ -1646,7 +1672,7 @@ void IrqMgr_AddClient(IrqMgr* this, IrqMgrClient* c, OSMesgQueue* msgQ);
void IrqMgr_RemoveClient(IrqMgr* this, IrqMgrClient* c);
void IrqMgr_SendMesgForClient(IrqMgr* this, OSMesg msg);
void IrqMgr_JamMesgForClient(IrqMgr* this, OSMesg msg);
void IrqMgr_HandlePreNMI(IrqMgr *this);
void IrqMgr_HandlePreNMI(IrqMgr* this);
void IrqMgr_CheckStack();
void IrqMgr_HandlePRENMI450(IrqMgr* this);
void IrqMgr_HandlePRENMI480(IrqMgr* this);
@ -1728,7 +1754,7 @@ void FaultDrawer_VPrintf(const char*, char*);
void FaultDrawer_Printf(const char*, ...);
void FaultDrawer_DrawText(s32, s32, const char*, ...);
void FaultDrawer_SetDrawerFB(void*, u16, u16);
void FaultDrawer_SetInputCallback(void(*)());
void FaultDrawer_SetInputCallback(void (*)());
void FaultDrawer_SetDefault();
// ? func_800D7CD0(?);
// ? func_800D7D04(?);
@ -2147,14 +2173,14 @@ void GfxPrint_VPrintf(GfxPrint*, const char*, va_list);
void GfxPrint_Printf(GfxPrint*, const char*, ...);
void func_800FBCE0();
void func_800FBFD8();
void *Overlay_AllocateAndLoad(u32 vRomStart, u32 vRomEnd, void *vRamStart, void *vRamEnd);
void* Overlay_AllocateAndLoad(u32 vRomStart, u32 vRomEnd, void* vRamStart, void* vRamEnd);
// ? func_800FC258(?);
void Overlay_DoRelocation(void *allocatedVRamAddress, OverlayRelocationSection *overlayInfo, void *vRamAddress);
s32 Overlay_Load(u32 vRomStart, u32 vRomEnd, void *vRamStart, void *vRamEnd, void *allocatedVRamAddress);
void Overlay_DoRelocation(void* allocatedVRamAddress, OverlayRelocationSection* overlayInfo, void* vRamAddress);
s32 Overlay_Load(u32 vRomStart, u32 vRomEnd, void* vRamStart, void* vRamEnd, void* allocatedVRamAddress);
// ? func_800FC800(?);
// ? func_800FC83C(?);
// ? func_800FCAB4(?);
void SystemHeap_Init(void *start, u32 size);
void SystemHeap_Init(void* start, u32 size);
// ? func_800FCC00(?);
// ? func_800FCC08(?);
// ? func_800FCC10(?);
@ -2217,10 +2243,10 @@ u8 __osMallocIsInitalized(Arena* arena);
void __osMalloc_FreeBlockTest(Arena* arena, ArenaNode* node);
void* __osMalloc_NoLockDebug(Arena* arena, u32 size, const char* file, s32 line);
void* __osMallocDebug(Arena* arena, u32 size, const char* file, s32 line);
void* __osMallocRDebug(Arena *arena, u32 size, const char *file, s32 line);
void* __osMalloc_NoLock(Arena *arena, u32 size);
void* __osMallocRDebug(Arena* arena, u32 size, const char* file, s32 line);
void* __osMalloc_NoLock(Arena* arena, u32 size);
void* __osMalloc(Arena* arena, u32 size);
void* __osMallocR(Arena *arena, u32 size);
void* __osMallocR(Arena* arena, u32 size);
void __osFree_NoLock(Arena* arena, void* ptr);
void __osFree(Arena* arena, void* ptr);
void __osFree_NoLockDebug(Arena* arena, void* ptr, const char* file, s32 line);
@ -2293,11 +2319,12 @@ s16 sins(u16);
// ? func_80103210(?);
// ? func_8010328C(?);
// ? func_801032B0(?);
void func_80103A70(UNK_PTR, Gfx*, Hilite*, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, s32, s32);
void func_80103A70(UNK_PTR, Gfx*, Hilite*, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32,
s32, s32);
// ? func_80103B30(?);
// ? func_80103B60(?);
// ? func_80103BB0(?);
// ? func_80103D58(?);
void func_80103D58(Mtx*, f32, f32, f32, f32, f32, f32, f32);
// ? func_80103DC0(?);
// ? func_80103E20(?);
// ? func_80103FA4(?);
@ -2351,7 +2378,7 @@ f32 absf(f32);
// ? func_801069B0(?);
u8 func_80106BC8(GlobalContext* globalCtx);
// ? func_80106C88(?);
// ? func_80106CCC(?);
void func_80106CCC(GlobalContext*);
// ? func_80106D40(?);
// ? func_80106F1C(?);
// ? func_80107244(?);
@ -2365,7 +2392,7 @@ u8 func_80106BC8(GlobalContext* globalCtx);
// ? func_80109968(?);
// ? func_80109B3C(?);
// ? func_8010B0C0(?);
// ? func_8010B680(?);
void func_8010B680(GlobalContext*, u16, s32);
void func_8010B720(GlobalContext* globalCtx, u16 textId);
// ? func_8010B820(?);
// ? func_8010BD58(?);

View File

@ -1,8 +1,7 @@
#ifndef _ICHAIN_H_
#define _ICHAIN_H_
typedef struct
{
typedef struct {
u32 cont: 1;
u32 type: 4;
u32 offset: 11;
@ -11,8 +10,7 @@ typedef struct
#define OFFSETOF(structure, member) ((size_t)&(((structure*)0)->member))
typedef enum
{
typedef enum {
/* 0x0 */ ICHAINTYPE_U8, // sets byte
/* 0x1 */ ICHAINTYPE_S8,
/* 0x2 */ ICHAINTYPE_U16, // sets short

View File

@ -13,6 +13,7 @@
#define SQ(x) ((x)*(x))
#define ABS(x) ((x) >= 0 ? (x) : -(x))
#define DECR(x) ((x) == 0 ? 0 : ((x) -= 1))
#define CLAMP(x,min,max) ((x) < (min) ? (min) : (x) > (max) ? (max) : (x))
#define PLAYER ((Player*)globalCtx->actorCtx.actorList[ACTORTYPE_PLAYER].first)
@ -34,4 +35,8 @@
#define CAPACITY(upg, value) gUpgradeCapacities[upg][value]
#define CUR_CAPACITY(upg) CAPACITY(upg, CUR_UPG_VALUE(upg))
#define SET_NEXT_GAMESTATE(curState, newInit, newStruct) \
(curState)->init = newInit; \
(curState)->size = sizeof(newStruct);
#endif

View File

@ -6,8 +6,7 @@
#include <ultra64/controller.h>
typedef struct
{
typedef struct {
/* 0x0000 */ OSContStatus pad_status[4];
/* 0x0010 */ OSMesg msgbuf1[1];
/* 0x0014 */ OSMesg msgbuf2[1];
@ -24,10 +23,10 @@ typedef struct
/* 0x02A8 */ u8 unk_2A8;
/* 0x02A9 */ u8 unk_2A9;
/* 0x02AA */ u8 unk_2AA[4];
/* 0x02AA */ u8 unk_2AE[4]; //Looks like 1 if vibration pack, 2 if (maybe controller pack)?
/* 0x02AA */ u8 unk_2AE[4]; // Looks like 1 if vibration pack, 2 if (maybe controller pack)?
/* 0x02B2 */ u8 unk_2B2[4];
/* 0x02B6 */ u8 unk_2B6[4];
/* 0x02BA */ char unk_2BA[0x02]; //probably padding
/* 0x02BA */ char unk_2BA[0x02]; // probably padding
/* 0x02BC */ unk_controller_t unk_controller[4];
/* 0x045C */ u8 unk_45C;
/* 0x045D */ u8 unk_45D;
@ -37,5 +36,5 @@ typedef struct
/* 0x0464 */ s32 unk_464;
} PadMgr; // size = 0x468
#endif //_PADMGR_H_
#endif

View File

@ -1,7 +1,7 @@
#ifndef _REGS_H_
#define _REGS_H_
#define REG_GROUPS 29 //number of REG groups, i.e. REG, SREG, OREG, etc.
#define REG_GROUPS 29 // number of REG groups, i.e. REG, SREG, OREG, etc.
#define REG_PAGES 6
#define REG_PER_PAGE 16
#define REG_PER_GROUP REG_PAGES * REG_PER_PAGE

View File

@ -13,8 +13,7 @@
#define OS_SC_RCP_MASK 0x0003
#define OS_SC_TYPE_MASK 0x0007
typedef struct OSScTask
{
typedef struct OSScTask {
/* 0x00 */ struct OSScTask* next;
/* 0x04 */ u32 state;
/* 0x08 */ u32 flags;
@ -24,14 +23,12 @@ typedef struct OSScTask
/* 0x54 */ OSMesg msg;
} OSScTask;
typedef struct
{
typedef struct {
/* 0x00 */ char unk_00[0x12];
/* 0x12 */ s8 unk_12;
} struct_800C8BC4;
typedef struct
{
typedef struct {
/* 0x0000 */ OSMesgQueue interruptQ;
/* 0x0018 */ OSMesg intBuf[8];
/* 0x0038 */ OSMesgQueue cmdQ;

View File

@ -3,20 +3,20 @@
#include <z64.h>
#define DECLARE_SEGMENT(name) \
#define DECLARE_SEGMENT(name) \
extern u8 _##name##SegmentStart[]; \
extern u8 _##name##SegmentEnd[];
#define DECLARE_ROM_SEGMENT(name) \
#define DECLARE_ROM_SEGMENT(name) \
extern u8 _##name##SegmentRomStart[]; \
extern u8 _##name##SegmentRomEnd[];
#define DECLARE_BSS_SEGMENT(name) \
#define DECLARE_BSS_SEGMENT(name) \
extern u8 _##name##SegmentBssStart[]; \
extern u8 _##name##SegmentBssEnd[];
#define DECLARE_OVERLAY_SEGMENT(name) \
DECLARE_SEGMENT(ovl_##name) \
DECLARE_SEGMENT(ovl_##name) \
DECLARE_ROM_SEGMENT(ovl_##name)
DECLARE_SEGMENT(boot)
@ -1091,5 +1091,4 @@ DECLARE_ROM_SEGMENT(testroom_room_2)
DECLARE_ROM_SEGMENT(testroom_room_3)
DECLARE_ROM_SEGMENT(testroom_room_4)
#endif

View File

@ -1,13 +1,13 @@
#ifndef _STDBOOL
#define _STDBOOL
#define __bool_true_false_are_defined 1
#define __bool_true_false_are_defined 1
#ifndef __cplusplus
#define bool u32
#define false 0
#define true 1
#define bool u32
#define false 0
#define true 1
#endif /* __cplusplus */

View File

@ -1,7 +1,7 @@
#ifndef _STDDEF_H_
#define _STDDEF_H_
#define NULL ((void *)0)
#define NULL ((void*)0)
typedef unsigned long size_t;

View File

@ -1,14 +1,12 @@
#ifndef _STDLIB_H_
#define _STDLIB_H_
typedef struct lldiv_t
{
typedef struct lldiv_t {
long long quot;
long long rem;
} lldiv_t;
typedef struct ldiv_t
{
typedef struct ldiv_t {
long quot;
long rem;
} ldiv_t;

View File

@ -1,8 +1,10 @@
#ifndef _STRING_H_
#define _STRING_H_
#include <ultra64/types.h>
void* memcpy(void*, const void*, size_t);
size_t strlen(const u8 *str);
const u8 *strchr(const u8 *str, s32 ch);
size_t strlen(const u8* str);
const u8* strchr(const u8* str, s32 ch);
#endif

View File

@ -24,15 +24,13 @@ typedef double f64;
typedef long int Mtx_t[4][4];
typedef union
{
typedef union {
Mtx_t m;
long long int forc_structure_alignment;
} Mtx;
typedef float MtxF_t[4][4];
typedef union
{
typedef union {
MtxF_t mf;
struct
{

View File

@ -21,11 +21,11 @@
#define VT_ESC "\x1b"
#define VT_CSI "["
#define VT_CUP(x, y) VT_ESC VT_CSI #y ";" #x "H"
#define VT_CUP(x, y) VT_ESC VT_CSI y ";" x "H"
#define VT_ED(n) VT_ESC VT_CSI #n "J"
#define VT_SGR(n) VT_ESC VT_CSI n "m"
//Add more macros if necessary
// Add more macros if necessary
#define VT_COL(back, fore) VT_SGR(VT_COLOR(BACKGROUND, back) ";" VT_COLOR(FOREGROUND, fore))
#define VT_FGCOL(color) VT_SGR(VT_COLOR(FOREGROUND, color))
#define VT_BGCOL(color) VT_SGR(VT_COLOR(BACKGROUND, color))

View File

@ -31,25 +31,22 @@
// Game Info aka. Static Context (dbg ram start: 80210A10)
// Data normally accessed through REG macros (see regs.h)
typedef struct
{
/* 0x00 */ s32 regPage; //1 is first page
/* 0x04 */ s32 regGroup; //"register" group (R, RS, RO, RP etc.)
/* 0x08 */ s32 regCur; //selected register within page
typedef struct {
/* 0x00 */ s32 regPage; // 1 is first page
/* 0x04 */ s32 regGroup; // "register" group (R, RS, RO, RP etc.)
/* 0x08 */ s32 regCur; // selected register within page
/* 0x0C */ s32 dpadLast;
/* 0x10 */ s32 repeat;
/* 0x14 */ s16 data[REG_GROUPS * REG_PER_GROUP]; //0xAE0
/* 0x14 */ s16 data[REG_GROUPS * REG_PER_GROUP]; // 0xAE0 bytes
} GameInfo; // size = 0x15D4
typedef struct
{
typedef struct {
/* 0x00 */ u8 button_items[4];
/* 0x04 */ u8 c_button_slots[3];
/* 0x08 */ u16 equipment;
} ItemEquips; // size = 0x0A
typedef struct
{
typedef struct {
/* 0x00 */ u32 chest;
/* 0x04 */ u32 swch;
/* 0x08 */ u32 clear;
@ -59,15 +56,13 @@ typedef struct
/* 0x18 */ u32 rooms_2;
} SaveSceneFlags; // size = 0x1C
typedef struct
{
typedef struct {
/* 0x00 */ s16 scene;
/* 0x02 */ Vec3s pos;
/* 0x08 */ s16 angle;
} HorseData; // size = 0x0A
typedef struct
{
typedef struct {
/* 0x00 */ Vec3f pos;
/* 0x0C */ s16 yaw;
/* 0x0E */ s16 player_params;
@ -78,22 +73,19 @@ typedef struct
/* 0x18 */ u32 temp_collect_flags;
} RespawnData; // size = 0x1C
typedef enum
{
typedef enum {
/* 0x00 */ RESPAWN_MODE_DOWN, /* Normal Void Outs */
/* 0x01 */ RESPAWN_MODE_RETURN, /* Grotto Returnpoints */
/* 0x02 */ RESPAWN_MODE_TOP /* Farore's Wind */
} RespawnMode;
typedef enum
{
typedef enum {
/* 0x00 */ BTN_ENABLED,
/* 0xFF */ BTN_DISABLED = 0xFF
} ButtonStatus;
// Save Context (dbg ram start: 8015E660)
typedef struct
{
typedef struct {
/* 0x0000 */ s32 entrance_index;
/* 0x0004 */ s32 link_age; // 0: Adult; 1: Child
/* 0x0008 */ s32 cutscene_index;
@ -133,8 +125,7 @@ typedef struct
/* 0x00CF */ s8 defense_hearts;
/* 0x00D0 */ s16 gs_tokens;
/* 0x00D4 */ SaveSceneFlags scene_flags[124];
struct
{
struct {
/* 0x0E64 */ s32 pos_x;
/* 0x0E68 */ s32 pos_y;
/* 0x0E6C */ s32 pos_z;
@ -217,8 +208,7 @@ typedef struct
/* 0x1424 */ s16 health_accumulator;
} SaveContext; // size = 0x1428
typedef struct
{
typedef struct {
/* 0x00000 */ u16 headMagic; // 1234
/* 0x00008 */ Gfx polyOpaBuffer[0x17E0];
/* 0x0BF08 */ Gfx polyXluBuffer[0x800];
@ -228,24 +218,21 @@ typedef struct
/* 0x12408 */ u16 tailMagic; // 5678
} GfxPool; // size = 0x12410
typedef struct
{
typedef struct {
/* 0x0000 */ u32 size;
/* 0x0004 */ u8* bufp;
/* 0x0008 */ u8* head;
/* 0x000C */ u8* tail;
} TwoHeadArena; // size = 0x10
typedef struct
{
typedef struct {
/* 0x0000 */ u32 size;
/* 0x0004 */ Gfx* bufp;
/* 0x0008 */ Gfx* p;
/* 0x000C */ Gfx* d;
} TwoHeadGfxArena; // size = 0x10
typedef struct
{
typedef struct {
/* 0x0000 */ char unk_00[0x01B4];
/* 0x01B4 */ TwoHeadGfxArena work;
/* 0x01C4 */ char unk_1C4[0x00E4];
@ -254,12 +241,9 @@ typedef struct
/* 0x02C8 */ TwoHeadGfxArena polyXlu;
} GraphicsContext;
typedef struct
{
/* 0x00 */ union
{
struct
{
typedef struct {
/* 0x00 */ union {
struct {
u16 a : 1;
u16 b : 1;
u16 z : 1;
@ -282,8 +266,7 @@ typedef struct
/* 0x03 */ s8 y;
} RawInput; // size = 0x4
typedef struct
{
typedef struct {
/* 0x00 */ RawInput raw;
/* 0x04 */ u16 status;
/* 0x06 */ RawInput rawPrev;
@ -298,22 +281,21 @@ typedef struct
/* 0x16 */ char unk_16[0x02];
} Input; // size = 0x18
typedef struct
{
typedef struct {
/* 0x0000 */ char unk_00[0x28];
/* 0x0028 */ Vec3f eye;
/* 0x0034 */ char unk_34[0xF4];
/* 0x0034 */ char unk_34[0xEC];
/* 0x0120 */ u32 unk_120;
/* 0x0124 */ char unk_124[4];
} View; // size = 0x128
typedef struct
{
typedef struct {
f32 unk_00;
s16 unk_04;
s16 unk_06;
} struct_80045714; // used in z_camera.c and code_8007BF90
typedef struct
{
typedef struct {
/* 0x0000 */ s32 unk_00;
/* 0x0004 */ s16 unk_04;
/* 0x0006 */ s16 unk_06;
@ -370,49 +352,42 @@ typedef struct
/* 0x016A */ s16 unk_16A; // unknown if used
} Camera; // size = 0x16C
typedef struct
{
typedef struct {
/* 0x0000 */ Camera activeCameras[4];
/* 0x05B0 */ Camera* activeCameraPtrs[4];
/* 0x05C0 */ s16 unk_5C0;
/* 0x05C2 */ s16 unk_5C2;
} CameraContext; // size = 0x5C4
typedef struct
{
typedef struct {
/* 0x00 */ u8 musicSeq;
/* 0x01 */ u8 nighttimeSFX;
/* 0x02 */ char unk_02[0x2];
} SoundContext; // size = 0x4
typedef struct
{
typedef struct {
/* 0x00 */ char unk_00[0x50];
} StaticCollisionContext; // size = 0x50
typedef struct
{
typedef struct {
/* 0x0000 */ char unk_00[0x04];
/* 0x0004 */ ActorMesh actorMeshArr[50];
/* 0x138C */ u16 flags[50];
/* 0x13F0 */ char unk_13F0[0x24];
} DynaCollisionContext; // size = 0x1414
typedef struct
{
typedef struct {
/* 0x0000 */ StaticCollisionContext stat;
/* 0x0050 */ DynaCollisionContext dyna;
} CollisionContext; // size = 0x1464
typedef struct
{
typedef struct {
/* 0x00 */ Vec3f pos;
/* 0x0C */ f32 unk_0C; // radius?
/* 0x10 */ Color_RGB8 color;
} TargetContextEntry; // size = 0x14
typedef struct
{
typedef struct {
/* 0x00 */ Vec3f naviRefPos; // possibly wrong
/* 0x0C */ Vec3f targetCenterPos;
/* 0x18 */ Color_RGBAf naviInner;
@ -432,8 +407,7 @@ typedef struct
/* 0x94 */ Actor* unk_94;
} TargetContext; // size = 0x98
typedef struct
{
typedef struct {
/* 0x00 */ u32 texture;
/* 0x04 */ s16 unk_4;
/* 0x06 */ s16 unk_6;
@ -445,14 +419,12 @@ typedef struct
/* 0x0E */ s16 unk_E;
} TitleCardContext; // size = 0x10
typedef struct
{
typedef struct {
/* 0x00 */ u32 length; // number of actors loaded of this type
/* 0x04 */ Actor* first; // pointer to first actor of this type
} ActorListEntry; // size = 0x08
typedef struct
{
typedef struct {
/* 0x0000 */ u8 unk_00;
/* 0x0001 */ char unk_01[0x01];
/* 0x0002 */ u8 unk_02;
@ -462,8 +434,7 @@ typedef struct
/* 0x0009 */ char unk_09[0x03];
/* 0x000C */ ActorListEntry actorList[12];
/* 0x006C */ TargetContext targetCtx;
struct
{
struct {
/* 0x0104 */ u32 swch;
/* 0x0108 */ u32 tempSwch;
/* 0x010C */ u32 unk0;
@ -479,19 +450,16 @@ typedef struct
/* 0x013C */ void* absoluteSpace; // Space used to allocate actor overlays of alloc type 1
} ActorContext; // size = 0x140
typedef struct
{
typedef struct {
/* 0x00 */ char unk_00[0x4];
/* 0x04 */ void* segment;
/* 0x08 */ u8 state;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ u16 frames;
/* 0x12 */ u16 unk_12;
union
{
union {
/* 0x14 */ s32 unk_14_all;
struct
{
struct {
s16 unk_14;
s16 unk_16;
};
@ -505,8 +473,7 @@ typedef struct
/* 0x28 */ CsCmdActorAction* actorActions[10];
} CutsceneContext; // size = 0x50
typedef struct
{
typedef struct {
/* 0x0000 */ View view;
/* 0x0128 */ char unk_128[0xE188];
/* 0xE2B0 */ void* textboxSegment; // "fukidashiSegment"
@ -532,8 +499,7 @@ typedef struct
/* 0xE40E */ char unk_E40E[0x0A];
} MessageContext; // size = 0xE418
typedef struct
{
typedef struct {
/* 0x00 */ u32 vromAddr; // VROM address (source)
/* 0x04 */ void* dramAddr; // DRAM address (destination)
/* 0x08 */ u32 size; // File Transfer size
@ -544,8 +510,7 @@ typedef struct
/* 0x1C */ OSMesg notifyMsg; // Completion notification message
} DmaRequest; // size = 0x20
typedef struct
{
typedef struct {
/* 0x0000 */ View view;
/* 0x0128 */ Vtx* vtx_128;
/* 0x012C */ Vtx* vtx_12C;
@ -600,8 +565,7 @@ typedef struct
/* 0x025E */ char unk_25E[0x002];
/* 0x0260 */ u8 unk_260;
/* 0x0261 */ u8 unk_261;
struct
{
struct {
/* 0x0262 */ u8 hGauge; // "h_gage"; unknown?
/* 0x0263 */ u8 bButton; // "b_button"
/* 0x0264 */ u8 aButton; // "a_button"
@ -617,8 +581,7 @@ typedef struct
} restrictions;
} InterfaceContext; // size = 0x270
typedef struct
{
typedef struct {
/* 0x0000 */ View view;
/* 0x0128 */ void* unk_128;
/* 0x012C */ char unk_12C[0x03C];
@ -643,8 +606,7 @@ typedef struct
/* 0x025A */ char unk_25A[0x066];
} PauseContext; // size = 0x2C0
typedef struct
{
typedef struct {
/* 0x00 */ s16 id;
/* 0x04 */ void* segment;
/* 0x08 */ DmaRequest dmaRequest;
@ -652,8 +614,7 @@ typedef struct
/* 0x40 */ OSMesg loadMsg;
} ObjectStatus; // size = 0x44
typedef struct
{
typedef struct {
/* 0x0000 */ void* spaceStart;
/* 0x0004 */ void* spaceEnd; // original name: "endSegment"
/* 0x0008 */ u8 num; // number of objects in bank
@ -663,30 +624,26 @@ typedef struct
/* 0x000C */ ObjectStatus status[OBJECT_EXCHANGE_BANK_MAX];
} ObjectContext; // size = 0x514
typedef struct
{
typedef struct {
/* 0x00 */ Gfx* opa;
/* 0x04 */ Gfx* xlu;
} PolygonDlist; // size = 0x8
typedef struct
{
typedef struct {
/* 0x00 */ u8 type;
/* 0x01 */ u8 num; // number of dlist entries
/* 0x04 */ void* start;
/* 0x08 */ void* end;
} Polygon; // size = 0xC
typedef struct
{
typedef struct {
/* 0x00 */ u8 type;
/* 0x01 */ u8 num; // number of dlist entries
/* 0x04 */ void* start;
/* 0x08 */ void* end;
} PolygonType0; // size = 0xC
typedef struct
{
typedef struct {
/* 0x00 */ u16 unk_00;
/* 0x02 */ u8 id;
/* 0x04 */ u32 source;
@ -700,15 +657,12 @@ typedef struct
/* 0x18 */ u16 tlutCount;
} BgImage; // size = 0x1C
typedef struct
{
typedef struct {
/* 0x00 */ u8 type;
/* 0x01 */ u8 format; // 1 = single, 2 = multi
/* 0x04 */ void* dlist;
union
{
struct
{
union {
struct {
/* 0x08 */ u32 source;
/* 0x0C */ u32 unk_0C;
/* 0x10 */ u32 tlut;
@ -719,40 +673,35 @@ typedef struct
/* 0x1A */ u16 mode0;
/* 0x1C */ u16 tlutCount;
} single;
struct
{
struct {
/* 0x08 */ u8 count;
/* 0x0C */ BgImage* list;
} multi;
};
} PolygonType1;
typedef struct
{
typedef struct {
/* 0x00 */ Vec3s pos;
/* 0x06 */ s16 unk_06;
/* 0x08 */ Gfx* opa;
/* 0x0C */ Gfx* xlu;
} PolygonDlist2; // size = 0x8
typedef struct
{
typedef struct {
/* 0x00 */ u8 type;
/* 0x01 */ u8 num; // number of dlist entries
/* 0x04 */ void* start;
/* 0x08 */ void* end;
} PolygonType2; // size = 0xC
typedef union
{
typedef union {
Polygon polygon;
PolygonType0 polygon0;
PolygonType1 polygon1;
PolygonType2 polygon2;
} Mesh; // "Ground Shape"
typedef struct
{
typedef struct {
/* 0x00 */ s8 num;
/* 0x01 */ u8 unk_01;
/* 0x02 */ u8 unk_02;
@ -764,8 +713,7 @@ typedef struct
/* 0x10 */ char unk_10[0x4];
} Room; // size = 0x14
typedef struct
{
typedef struct {
/* 0x00 */ Room curRoom;
/* 0x14 */ Room prevRoom;
/* 0x28 */ void* bufPtrs[2];
@ -777,21 +725,18 @@ typedef struct
/* 0x70 */ OSMesg loadMsg;
} RoomContext; // size = 0x74
typedef struct
{
typedef struct {
/* 0x00 */ char unk_00[0x028C];
} SubGlobalContext11E60; // size = 0x28C
typedef struct
{
typedef struct {
/* 0x00 */ s16 id;
/* 0x02 */ Vec3s pos;
/* 0x08 */ Vec3s rot;
/* 0x0E */ s16 params;
} ActorEntry; // size = 0x10
typedef struct
{
typedef struct {
/* 0x00 */ s8 frontRoom; // Room to switch to when triggered from the front of the object
/* 0x01 */ s8 frontEffects; // How the camera reacts during the front transition
/* 0x02 */ s8 backRoom; // Room to switch to when triggered from the back of the object
@ -802,39 +747,33 @@ typedef struct
/* 0x0E */ s16 params;
} TransitionActorEntry; // size = 0x10
typedef struct
{
typedef struct {
/* 0x00 */ u8 spawn;
/* 0x01 */ u8 room;
} EntranceEntry;
typedef struct
{
typedef struct {
/* 0x00 */ u32 vromStart;
/* 0x04 */ u32 vromEnd;
} RomFile; // size = 0x8
typedef struct
{
typedef struct {
/* 0x00 */ void* read_buff;
} Sram; // size = 0x4
typedef struct GameAllocEntry
{
typedef struct GameAllocEntry {
/* 0x00 */ struct GameAllocEntry* next;
/* 0x04 */ struct GameAllocEntry* prev;
/* 0x08 */ u32 size;
/* 0x0C */ u32 unk_0C;
} GameAllocEntry; //size = 0x10
} GameAllocEntry; // size = 0x10
typedef struct
{
typedef struct {
/* 0x00 */ GameAllocEntry base;
/* 0x10 */ GameAllocEntry* head;
} GameAlloc; // size = 0x14
typedef struct GameState
{
typedef struct GameState {
/* 0x00 */ GraphicsContext* gfxCtx;
/* 0x04 */ void (*main)(struct GameState*);
/* 0x08 */ void (*destroy)(struct GameState*); // "cleanup"
@ -848,8 +787,7 @@ typedef struct GameState
/* 0xA0 */ u32 unk_A0;
} GameState; // size = 0xA4
typedef struct
{
typedef struct {
/* 0x0000 */ GameState state;
/* 0x00A4 */ void* staticSegment;
/* 0x00A8 */ View view;
@ -865,9 +803,15 @@ typedef struct
/* 0x01E2 */ char unk_1E2[6];
} TitleContext; // size = 0x1E8
// Global Context (dbg ram start: 80212020)
typedef struct GlobalContext
typedef struct
{
/* 0x0000 */ GameState state;
/* 0x00A4 */ void* staticSegment;
/* 0x00A8 */ View view;
} SampleContext;
// Global Context (dbg ram start: 80212020)
typedef struct GlobalContext {
/* 0x00000 */ GameState state;
/* 0x000A4 */ s16 sceneNum;
/* 0x000A6 */ u8 sceneConfig;
@ -988,22 +932,19 @@ typedef struct GlobalContext
/* 0x12430 */ char unk_12430[0xE8];
} GlobalContext; // size = 0x12518
typedef struct
{
typedef struct {
/* 0x0000 */ GameState state;
/* 0x00A4 */ char unk_A4[4];
/* 0x00A8 */ View view;
} OpeningContext; // size = 0x1D0
typedef enum
{
typedef enum {
DPM_UNK = 0,
DPM_PLAYER = 1,
DPM_ENEMY = 2
} DynaPolyMoveFlag;
typedef struct LoadedParticleEntry
{
typedef struct LoadedParticleEntry {
/* 0x0000 */ Vec3f position;
/* 0x000C */ Vec3f velocity;
/* 0x0018 */ Vec3f acceleration;
@ -1022,8 +963,7 @@ typedef struct LoadedParticleEntry
} LoadedParticleEntry; // size = 0x60
// Some animation related structure
typedef struct
{
typedef struct {
/* 0x00 */ u32 animation;
/* 0x04 */ f32 playbackSpeed;
/* 0x08 */ f32 unk_08;
@ -1032,8 +972,7 @@ typedef struct
/* 0x14 */ f32 transitionRate;
} struct_80034EC0_Entry; // size = 0x18
typedef struct
{
typedef struct {
/* 0x00 */ u8 limbCount;
/* 0x01 */ char unk_01[0x01];
/* 0x02 */ u8 dListCount;
@ -1058,14 +997,12 @@ typedef struct
/* 0x42 */ u16 unk_42;
} SkelAnime; // size = 0x44
typedef struct
{
typedef struct {
/* 0x00 */ u32 unk_00;
/* 0x04 */ u32(*init)(GlobalContext*, u32, LoadedParticleEntry*, void*);
} ParticleOverlayInfo;
typedef struct
{
typedef struct {
/* 0x00 */ u32 vromStart;
/* 0x04 */ u32 vromEnd;
/* 0x0C */ void* vramStart;
@ -1075,15 +1012,13 @@ typedef struct
/* 0x18 */ u32 unk_18; // Always 0x01000000?
} ParticleOverlay;
typedef struct
{
typedef struct {
/* 0x00 */ LoadedParticleEntry* data_table; // Name from debug assert
/* 0x04 */ s32 searchIndex;
/* 0x08 */ s32 size;
} EffectTableInfo;
typedef struct
{
typedef struct {
/* 0x00 */ s8 scene;
/* 0x01 */ s8 spawn;
/* 0x02 */ u16 continueBgm : 1;
@ -1092,8 +1027,7 @@ typedef struct
/* 0x02 */ u16 fadeOutTransition : 7;
} EntranceInfo; // size = 0x4
typedef struct
{
typedef struct {
/* 0x00 */ void* loadedRamAddr;
/* 0x04 */ u32 vromStart; // if applicable
/* 0x08 */ u32 vromEnd; // if applicable
@ -1108,21 +1042,18 @@ typedef struct
/* 0x2C */ u32 instanceSize;
} GameStateOverlay; // size = 0x30
typedef struct PreNMIContext
{
typedef struct PreNMIContext {
/* 0x00 */ GameState state;
/* 0xA4 */ u32 timer;
/* 0xA8 */ UNK_TYPE unk_A8;
} PreNMIContext; // size = 0xAC
typedef struct
{
typedef struct {
/* 0x00 */ s8 chestFlag; // chest icon is only displayed if this flag is not set for the current room
/* 0x01 */ u8 x, y; // coordinates to place the icon (top-left corner), relative to the minimap texture
} MapMarkPoint; // size = 0x3
typedef struct
{
typedef struct {
/* 0x00 */ s8 markType; // 0 for the chest icon, 1 for the boss skull icon, -1 for none
/* 0x01 */ u8 count; // number of icons to display
/* 0x02 */ MapMarkPoint points[12];
@ -1130,8 +1061,7 @@ typedef struct
typedef MapMarkData MapMarksData[3]; // size = 0x72
typedef struct DebugDispObject
{
typedef struct DebugDispObject {
/* 0x00 */ Vec3f pos;
/* 0x0C */ Vec3s rot;
/* 0x14 */ Vec3f scale;
@ -1140,8 +1070,7 @@ typedef struct DebugDispObject
/* 0x28 */ struct DebugDispObject* next;
} DebugDispObject; // size = 0x2C
typedef struct
{
typedef struct {
/* 0x00 */ Vec3s colAbsMin;
/* 0x06 */ Vec3s colAbsMax;
/* 0x0C */ s16 nbVertices;
@ -1154,30 +1083,26 @@ typedef struct
/* 0x28 */ void* waterBoxes;
} CollisionHeader;
typedef enum
{
typedef enum {
MTXMODE_NEW, // generates a new matrix
MTXMODE_APPLY // applies transformation to the current matrix
} MatrixMode;
typedef struct FaultClient
{
typedef struct FaultClient {
struct FaultClient* next;
u32 callback;
u32 param1;
u32 param2;
} FaultClient;
typedef struct FaultAddrConvClient
{
typedef struct FaultAddrConvClient {
struct FaultAddrConvClient* next;
u32 callback;
u32 param;
} FaultAddrConvClient;
typedef struct
{
typedef struct {
u32 (*callback)(u32, u32);
u32 param0;
u32 param1;
@ -1186,8 +1111,7 @@ typedef struct
OSMesg msg;
} FaultClientContext;
typedef struct FaultThreadStruct
{
typedef struct FaultThreadStruct {
OSThread thread;
u8 unk_1B0[0x600];
OSMesgQueue queue;
@ -1208,8 +1132,7 @@ typedef struct FaultThreadStruct
u8 unk_84C[4];
} FaultThreadStruct;
typedef struct
{
typedef struct {
u16* fb;
u16 w;
u16 h;
@ -1227,13 +1150,12 @@ typedef struct
s8 charWPad;
s8 charHPad;
u16 printColors[10];
u8 escCode; //bool
u8 escCode; // bool
u8 osSyncPrintfEnabled;
void(*inputCallback)();
} FaultDrawer;
typedef struct GfxPrint
{
typedef struct GfxPrint {
/* 0x00 */ struct GfxPrint*(*callback)(struct GfxPrint*, const char*, size_t);
/* 0x04 */ Gfx* dlist;
/* 0x08 */ u16 posX;
@ -1244,8 +1166,7 @@ typedef struct GfxPrint
/* 0x10 */ Color_RGBA8 color;
} GfxPrint;
typedef enum
{
typedef enum {
GFXPRINT_FLAG1 = 1,
GFXPRINT_USE_RGBA16 = 2,
GFXPRINT_FLAG4 = 4,
@ -1254,8 +1175,7 @@ typedef enum
GFXPRINT_OPEN = 0x80
} GfxPrintFlag;
typedef struct StackEntry
{
typedef struct StackEntry {
/* 0x00 */ struct StackEntry* next;
/* 0x04 */ struct StackEntry* prev;
/* 0x08 */ u32 head;
@ -1265,16 +1185,14 @@ typedef struct StackEntry
/* 0x18 */ const char* name;
} StackEntry;
typedef enum
{
typedef enum {
STACK_STATUS_OK = 0,
STACK_STATUS_WARNING = 1,
STACK_STATUS_OVERFLOW = 2
} StackStatus;
typedef struct
{
/* 0x00 */ u32 magic; //IS64
typedef struct {
/* 0x00 */ u32 magic; // IS64
/* 0x04 */ u32 get;
/* 0x08 */ u8 unk_08[0x14-0x08];
/* 0x14 */ u32 put;
@ -1282,22 +1200,18 @@ typedef struct
/* 0x20 */ u8 data[0x10000-0x20];
} ISVDbg;
typedef struct
{
typedef struct {
/* 0x00 */ u32 vromStart;
/* 0x04 */ u32 vromEnd;
/* 0x08 */ u32 romStart;
/* 0x0C */ u32 romEnd;
} DmaEntry;
typedef struct
{
typedef struct {
char name[0x18];
u32 mediaFormat;
union
{
struct
{
union {
struct {
u16 cartId;
u8 countryCode;
u8 version;
@ -1306,18 +1220,17 @@ typedef struct
};
} LocaleCartInfo;
typedef struct
{
char magic[4]; //Yaz0
typedef struct {
char magic[4]; // Yaz0
u32 decSize;
u32 compInfoOffset; //only used in yaz0_old.c
u32 uncompDataOffset; //only used in yaz0_old.c
u32 compInfoOffset; // only used in yaz0_old.c
u32 uncompDataOffset; // only used in yaz0_old.c
u32 data[1];
} Yaz0Header;
#define OS_SC_RETRACE_MSG 1
#define OS_SC_DONE_MSG 2
#define OS_SC_NMI_MSG 3 //name is made up, 3 is OS_SC_RDP_DONE_MSG in the original sched.c
#define OS_SC_NMI_MSG 3 // name is made up, 3 is OS_SC_RDP_DONE_MSG in the original sched.c
#define OS_SC_PRE_NMI_MSG 4
typedef struct {
@ -1325,16 +1238,14 @@ typedef struct {
char misc[30];
} OSScMsg;
typedef struct IrqMgrClient
{
typedef struct IrqMgrClient {
struct IrqMgrClient* prev;
OSMesgQueue* queue;
} IrqMgrClient;
typedef struct
{
/* 0x000 */ OSScMsg retraceMsg; //this apparently got moved from OSSched
/* 0x020 */ OSScMsg prenmiMsg; //this apparently got moved from OSSched
typedef struct {
/* 0x000 */ OSScMsg retraceMsg; // this apparently got moved from OSSched
/* 0x020 */ OSScMsg prenmiMsg; // this apparently got moved from OSSched
/* 0x040 */ OSScMsg nmiMsg;
/* 0x060 */ OSMesgQueue queue;
/* 0x078 */ OSMesg msgBuf[8];
@ -1344,22 +1255,20 @@ typedef struct
/* 0x250 */ OSTime resetTime;
/* 0x258 */ OSTimer timer;
/* 0x278 */ OSTime retraceTime;
} IrqMgr; //size = 0x280
} IrqMgr; // size = 0x280
struct ArenaNode;
typedef struct Arena
{
typedef struct Arena {
/* 0x00 */ struct ArenaNode* head;
/* 0x04 */ void* start;
/* 0x08 */ OSMesgQueue lock;
/* 0x20 */ u8 unk_20;
/* 0x21 */ u8 isInit;
/* 0x22 */ u8 flag;
} Arena; //size = 0x24
} Arena; // size = 0x24
typedef struct ArenaNode
{
typedef struct ArenaNode {
/* 0x00 */ s16 magic;
/* 0x02 */ s16 isFree;
/* 0x04 */ u32 size;
@ -1370,8 +1279,8 @@ typedef struct ArenaNode
/* 0x18 */ OSId threadId;
/* 0x1C */ Arena* arena;
/* 0x20 */ OSTime time;
/* 0x28 */ u8 unk_28[0x30-0x28]; //probably padding
} ArenaNode; //size = 0x30
/* 0x28 */ u8 unk_28[0x30-0x28]; // probably padding
} ArenaNode; // size = 0x30
typedef struct OverlayRelocationSection {
/* 0x00 */ u32 textSize;
@ -1382,33 +1291,30 @@ typedef struct OverlayRelocationSection {
/* 0x14 */ u32 relocations[1];
} OverlayRelocationSection; // size >= 0x18
typedef struct
{
typedef struct {
/* 0x00 */ void* loadedRamAddr;
/* 0x04 */ u32 vromStart;
/* 0x08 */ u32 vromEnd;
/* 0x0C */ u8* vramStart;
/* 0x10 */ u8* vramEnd;
/* 0x14 */ u32 off; //loadedRamAddr - vram
/* 0x14 */ u32 off; // loadedRamAddr - vram
/* 0x18 */ const char* name;
} KaleidoManagerOvl; //size = 0x1C
} KaleidoManagerOvl; // size = 0x1C
#define KALEIDO_OVL_KALEIDO_SCOPE 0
#define KALEIDO_OVL_PLAYER_ACTOR 1
#define KALEIDO_OVL_COUNT 2
typedef struct ListAlloc
{
typedef struct ListAlloc {
/* 0x00 */ struct ListAlloc* prev;
/* 0x04 */ struct ListAlloc* next;
} ListAlloc; //size = 0x8
} ListAlloc; // size = 0x8
typedef struct
{
typedef struct {
/* 0x00 */ u32 resetting;
/* 0x04 */ u32 resetCount;
/* 0x08 */ OSTime duration;
/* 0x10 */ OSTime resetTime;
} PreNmiBuff; //size = 0x18 (actually osAppNmiBuffer is 0x40 bytes large but the rest is unused)
} PreNmiBuff; // size = 0x18 (actually osAppNmiBuffer is 0x40 bytes large but the rest is unused)
#endif

View File

@ -13,34 +13,28 @@ struct GlobalContext;
// From z64light.h
struct LightMapper;
typedef struct
{
typedef struct {
f32 x, y;
} Vec2f;
typedef struct
{
typedef struct {
f32 x, y, z;
} Vec3f;
typedef struct
{
typedef struct {
s16 x, y, z;
} Vec3s;
typedef struct
{
typedef struct {
s32 x, y, z;
} Vec3i;
typedef struct
{
typedef struct {
Vec3f pos;
Vec3s rot;
} PosRot; // size = 0x14
typedef struct
{
typedef struct {
/* 0x00 */ char unk_00[0x8];
/* 0x08 */ Vec3s norm; // Normal vector
/* 0x0E */ s16 dist; // Plane distance from origin
@ -48,8 +42,7 @@ typedef struct
typedef void (*ActorFunc)(struct Actor*, struct GlobalContext*);
typedef struct
{
typedef struct {
/* 0x00 */ s16 id;
/* 0x02 */ u8 type; // Classifies actor and determines when actor will execute
/* 0x03 */ u8 room; // Room instance was spawned in. If value set to FF in rom, instance does not despawn when swapping rooms
@ -62,15 +55,13 @@ typedef struct
/* 0x1C */ ActorFunc draw; // Draw function
} ActorInit; // size = 0x20
typedef enum
{
typedef enum {
ALLOCTYPE_NORMAL,
ALLOCTYPE_ABSOLUTE,
ALLOCTYPE_PERMANENT
} AllocType;
typedef struct
{
typedef struct {
/* 0x00 */ u32 vromStart;
/* 0x04 */ u32 vromEnd;
/* 0x08 */ void* vramStart;
@ -82,25 +73,21 @@ typedef struct
/* 0x1E */ s8 nbLoaded; // original name: "clients"
} ActorOverlay; // size = 0x20
typedef struct
{
struct
{
typedef struct {
struct {
char damage : 4;
char effect : 4;
} attack[32];
} ActorDamageChart;
typedef struct
{
typedef struct {
/* 0x00 */ u8 health;
/* 0x02 */ s16 unk_02;
/* 0x04 */ s16 unk_04;
/* 0x06 */ u8 mass;
} SubActor98Init;
typedef struct
{
typedef struct {
/* 0x00 */ ActorDamageChart* damageChart; // For actors which contain a damage chart (example: Stalfos)...
/* 0x04 */ Vec3f displacement; // Amount to correct velocity (0x5C) by when colliding into a body
/* 0x10 */ s16 unk_10;
@ -114,8 +101,7 @@ typedef struct
/* 0x1B */ u8 unk_1B;
} SubActorStruct98; // size = 0x1C
typedef struct
{
typedef struct {
/* 0x00 */ Vec3s rot; // Current actor shape rotation
/* 0x06 */ u8 unk_06;
/* 0x08 */ f32 unk_08; // Model y axis offset. Represents model space units. collision mesh related
@ -125,8 +111,7 @@ typedef struct
/* 0x15 */ u8 unk_15;
} ActorShape; // size = 0x18
typedef struct Actor
{
typedef struct Actor {
/* 0x000 */ s16 id; // Actor Id
/* 0x002 */ u8 type; // Actor Type. Refer to the corresponding enum for values
/* 0x003 */ s8 room; // Room number the actor is part of. FF denotes that the actor won't despawn on a room change
@ -159,8 +144,7 @@ typedef struct Actor
/* 0x094 */ f32 yDistanceFromLink;
/* 0x098 */ SubActorStruct98 sub_98;
/* 0x0B4 */ ActorShape shape;
/* 0x0CC */ Vec3f unk_CC; // Used in Link, not Deku Babas
/* 0x0D8 */ Vec3f unk_D8; // Used in Link, not Deku Babas
/* 0x0CC */ Vec3f unk_CC[2];
/* 0x0E4 */ Vec3f unk_E4; // Stores result of some vector transformation involving actor xyz vector, and a matrix at Global Context + 11D60
/* 0x0F0 */ f32 unk_F0; // Related to above
/* 0x0F4 */ f32 unk_F4;
@ -198,16 +182,14 @@ typedef struct Actor
/* From here on, the structure and size varies for each actor */
} Actor; // size = 0x14C
typedef enum
{
typedef enum {
COLTYPE_CYLINDER = 1,
COLTYPE_CYLINDER_GROUP = 0,
COLTYPE_QUAD = 3,
COLTYPE_TRIANGLE_GROUP = 2
} ColliderType;
typedef struct
{
typedef struct {
/* 0x00 */ Actor* actor;
/* 0x04 */ Actor* at;
/* 0x08 */ Actor* ac;
@ -220,15 +202,13 @@ typedef struct
/* 0x15 */ u8 type; /* Cylinder Collection, Cylinder, Triangle Collection, Quad */
} Collider; // size = 0x18
typedef struct
{
typedef struct {
/* 0x00 */ s32 flags; /* Toucher Attack Identifier Flags */
/* 0x04 */ u8 unk_04;
/* 0x05 */ u8 damage; /* Damage or Stun Timer */
} ColliderTouch; // size = 0x08
typedef struct
{
typedef struct {
/* 0x00 */ s32 flags; /* Collision Exclusion Mask */
/* 0x04 */ u8 effect; /* Damage Effect (Knockback, Fire, etc.) */
/* 0x05 */ u8 unk_05;
@ -237,8 +217,7 @@ typedef struct
/* 0x0A */ s16 unk_0A;
} ColliderBump; // size = 0x0C
typedef struct ColliderBody
{
typedef struct ColliderBody {
/* 0x00 */ ColliderTouch toucher;
/* 0x08 */ ColliderBump bumper;
/* 0x14 */ u8 flags;
@ -251,14 +230,12 @@ typedef struct ColliderBody
/* 0x24 */ struct ColliderBody* colliding;
} ColliderBody; // size = 0x28
typedef struct ColliderBodyEntry
{
typedef struct ColliderBodyEntry {
/* 0x00 */ ColliderBody c;
/* 0x28 */ char unk_28[0x18];
} ColliderBodyEntry; // size = 0x40
typedef struct
{
typedef struct {
/* 0x00 */ u8 bodyFlags;
/* 0x01 */ u8 unk_09[0x3]; /* 000000 */
/* 0x04 */ s32 toucherMask; /* Attack Toucher Exclusion Mask */
@ -273,8 +250,7 @@ typedef struct
/* 0x17 */ u8 unk_1F; /* 00 */
} ColliderBodyInfoInner; // size = 0x1A
typedef struct
{
typedef struct {
/* 0x00 */ u8 unk_00;
/* 0x01 */ u8 colliderFlags; /* Collider Flags */
/* 0x02 */ u8 collideFlags; /* Collide Flags */
@ -284,30 +260,26 @@ typedef struct
/* 0x06 */ u8 unk_06[0x2]; /* 0000 */
} ColliderBodyInfo; // size = 0x08
typedef struct
{
typedef struct {
/* 0x00 */ s16 radius; /* Cylinder Radius */
/* 0x02 */ s16 height; /* Cylinder Height */
/* 0x04 */ s16 yShift; /* Shift Cylinder on Y Axis */
/* 0x06 */ Vec3s position; /* {X, Y, Z} position of Cylinder */
} ColliderDimensions; // size = 0xC
typedef struct
{
typedef struct {
/* 0x00 */ Collider base;
/* 0x18 */ ColliderBody body;
/* 0x40 */ ColliderDimensions dim;
} ColliderCylinderMain; // size = 0x4C
typedef struct
{
typedef struct {
/* 0x00 */ ColliderBodyInfo body;
/* 0x06 */ ColliderBodyInfoInner inner;
/* 0x20 */ ColliderDimensions dim;
} ColliderCylinderInit; // size = 0x2C
typedef struct
{
typedef struct {
/* 0x00 */ Actor* actor;
/* 0x04 */ char unk_04[0x10];
/* 0x14 */ Vec3f scale1;
@ -319,8 +291,7 @@ typedef struct
/* 0x54 */ char unk_54[0x10];
} ActorMesh; // size = 0x64
typedef struct
{
typedef struct {
/* 0x000 */ Actor actor;
/* 0x14C */ u32 dynaPolyId;
/* 0x150 */ f32 unk_150;
@ -332,8 +303,7 @@ typedef struct
/* 0x162 */ s16 unk_162;
} DynaPolyActor; // size = 0x164
typedef struct
{
typedef struct {
/* 0x0000 */ Actor actor;
/* 0x014C */ s8 currentTunic;
/* 0x014D */ s8 currentSword;
@ -408,10 +378,9 @@ typedef struct
/* 0x0A60 */ char unk_A60[0x18];
/* 0x0A78 */ s8 unk_A78;
/* 0x0A79 */ char unk_A79[0x1B];
} Player; //size = 0xA94
} Player; // size = 0xA94
typedef enum
{
typedef enum {
/* 0x00 */ ACTORTYPE_SWITCH,
/* 0x01 */ ACTORTYPE_BG,
/* 0x02 */ ACTORTYPE_PLAYER,
@ -426,8 +395,7 @@ typedef enum
/* 0x0B */ ACTORTYPE_CHEST
} ActorType;
typedef enum
{
typedef enum {
/* 0x0000 */ ACTOR_PLAYER,
/* 0x0001 */ ACTOR_UNSET_1,
/* 0x0002 */ ACTOR_EN_TEST,

View File

@ -1,16 +1,14 @@
#ifndef _Z64CUTSCENE_H_
#define _Z64CUTSCENE_H_
typedef struct
{
typedef struct {
/* 0x00 */ u16 entrance; // entrance index upon which the cutscene should trigger
/* 0x02 */ u8 ageRestriction; // 0 for adult only, 1 for child only, 2 for both ages
/* 0x03 */ u8 flag; // event_chk_inf flag bound to the entrance cutscene
/* 0x04 */ u32 segAddr; // segment offset location of the cutscene
} EntranceCutscene; // size = 0x8
typedef struct
{
typedef struct {
/* 0x00 */ s8 continueFlag;
/* 0x01 */ s8 cameraRoll;
/* 0x02 */ s16 nextPointFrame;
@ -18,38 +16,33 @@ typedef struct
/* 0x08 */ Vec3s pos;
} CutsceneCameraPoint; // size = 0x10
typedef struct
{
typedef struct {
/* 0x00 */ u16 base;
/* 0x02 */ u16 startFrame;
/* 0x04 */ u16 endFrame;
} CsCmdBase;
typedef struct
{
typedef struct {
/* 0x00 */ u8 unk_00;
/* 0x01 */ u8 setting;
/* 0x02 */ u16 startFrame;
/* 0x04 */ u16 endFrame;
} CsCmdEnvLighting;
typedef struct
{
typedef struct {
/* 0x00 */ u8 unk_00;
/* 0x01 */ u8 sequence;
/* 0x02 */ u16 startFrame;
/* 0x04 */ u16 endFrame;
} CsCmdMusicChange;
typedef struct
{
typedef struct {
/* 0x00 */ u16 type;
/* 0x02 */ u16 startFrame;
/* 0x04 */ u16 endFrame;
} CsCmdMusicFade;
typedef struct
{
typedef struct {
/* 0x00 */ u16 unk_00;
/* 0x02 */ u16 startFrame;
/* 0x04 */ u16 endFrame;
@ -58,8 +51,7 @@ typedef struct
/* 0x08 */ u8 unk_08;
} CsCmdUnknown9;
typedef struct
{
typedef struct {
/* 0x00 */ u16 unk_00;
/* 0x02 */ u16 startFrame;
/* 0x04 */ u16 endFrame;
@ -67,8 +59,7 @@ typedef struct
/* 0x07 */ u8 minute;
} CsCmdDayTime;
typedef struct
{
typedef struct {
/* 0x00 */ u16 base;
/* 0x02 */ u16 startFrame;
/* 0x04 */ u16 endFrame;
@ -77,8 +68,7 @@ typedef struct
/* 0x0A */ u16 textId2;
} CsCmdTextbox; // size = 0xC
typedef struct
{
typedef struct {
/* 0x00 */ u16 action;
/* 0x02 */ u16 startFrame;
/* 0x04 */ u16 endFrame;
@ -88,8 +78,7 @@ typedef struct
/* 0x24 */ Vec3i normal;
} CsCmdActorAction; // size = 0x30
typedef enum
{
typedef enum {
CS_STATE_IDLE,
CS_STATE_SKIPPABLE_INIT,
CS_STATE_SKIPPABLE_EXEC,
@ -97,8 +86,7 @@ typedef enum
CS_STATE_UNSKIPPABLE_EXEC
} CutsceneState;
typedef enum
{
typedef enum {
CS_CMD_00 = 0x0000,
CS_CMD_CAMERA_POS = 0x0001,
CS_CMD_CAMERA_FOCUS = 0x0002,

View File

@ -2,18 +2,17 @@
#define _Z64EFFECT_H_
#include <color.h>
/* gz has trail related structs but they seem to be different in dbg*/
typedef struct
{
// gz has trail related structs but they seem to be different in dbg
typedef struct {
/* 0x0000 */ char unk_00[0x184];
/* 0x0184 */ Color_RGBA8 p1Start;
/* 0x0188 */ Color_RGBA8 p2Start;
/* 0x018C */ Color_RGBA8 p1End;
/* 0x0190 */ Color_RGBA8 p2End;
/* 0x0194 */ u32 unk_194; //these are proably bytes
/* 0x0194 */ u32 unk_194; // these are proably bytes
/* 0x0198 */ u32 unk_198;
/* 0x019C */ u32 unk_19C;
/* 0x01A0 */
} TrailEffect; //size = unk
} TrailEffect; // size = unk
#endif

View File

@ -1,16 +1,14 @@
#ifndef _Z64ITEM_H_
#define _Z64ITEM_H_
typedef enum
{
typedef enum {
/* 0x00 */ EQUIP_SWORD,
/* 0x01 */ EQUIP_SHIELD,
/* 0x02 */ EQUIP_TUNIC,
/* 0x03 */ EQUIP_BOOTS
} EquipmentType;
typedef enum
{
typedef enum {
/* 0x00 */ UPG_QUIVER,
/* 0x01 */ UPG_BOMB_BAG,
/* 0x02 */ UPG_STRENGTH,
@ -21,8 +19,7 @@ typedef enum
/* 0x07 */ UPG_NUTS
} UpgradeType;
typedef enum
{
typedef enum {
/* 0x00 */ SLOT_STICK,
/* 0x01 */ SLOT_NUT,
/* 0x02 */ SLOT_BOMB,
@ -50,8 +47,7 @@ typedef enum
/* 0xFF */ SLOT_NONE = 0xFF
} InventorySlot;
typedef enum
{
typedef enum {
/* 0x00 */ ITEM_STICK,
/* 0x01 */ ITEM_NUT,
/* 0x02 */ ITEM_BOMB,
@ -212,8 +208,7 @@ typedef enum
} ItemID;
// Get Item result may vary depending on context (chest/shop/scrub/drop)
typedef enum
{
typedef enum {
/* 0x00 */ GI_INVALID, // Link picks up chest and it sends him flying upwards
/* 0x01 */ GI_BOMBS_5,
/* 0x02 */ GI_NUTS_5,
@ -258,8 +253,8 @@ typedef enum
/* 0x29 */ GI_SHIELD_DEKU, // or blue rupee if you have the shield
/* 0x2A */ GI_SHIELD_HYLIAN, // or blue rupee if you have the shield
/* 0x2B */ GI_SHIELD_MIRROR,
/* 0x2C */ GI_TUNIC_GORON, // or blue rupee if you have the tunic
/* 0x2D */ GI_TUNIC_ZORA, // or blue rupee if you have the tunic
/* 0x2C */ GI_TUNIC_GORON, // or blue rupee if you have the tunic
/* 0x2D */ GI_TUNIC_ZORA, // or blue rupee if you have the tunic
/* 0x2E */ GI_BOOTS_IRON,
/* 0x2F */ GI_BOOTS_HOVER,
/* 0x30 */ GI_QUIVER_40,

View File

@ -4,15 +4,13 @@
#include <ultra64.h>
#include <ultra64/gbi.h>
typedef struct z_Light_t
{
typedef struct z_Light_t {
/* 0x0 */ struct LightInfo* info;
/* 0x4 */ struct z_Light_t* prev;
/* 0x8 */ struct z_Light_t* next;
} z_Light;
typedef struct
{
typedef struct {
/* 0x0 */ z_Light* lightsHead;
/* 0x4 */ u8 ambientRed;
/* 0x5 */ u8 ambientGreen;
@ -24,21 +22,18 @@ typedef struct
/* 0xC */ s16 unk_0C;
} LightingContext;
typedef struct
{
typedef struct {
/* 0x000 */ int numOccupied;
/* 0x004 */ int nextFree;
/* 0x008 */ z_Light lights[32];
} LightsList;
typedef struct
{
typedef struct {
/* 0x0 */ u8 type;
/* 0x2 */ u16 params[6];
} LightInfo;
typedef struct
{
typedef struct {
/* 0x0 */ s8 dirX;
/* 0x1 */ s8 dirY;
/* 0x2 */ s8 dirZ;
@ -48,8 +43,7 @@ typedef struct
/* 0x6 */ u16 pad[3];
} LightInfoDirectionalParams;
typedef struct
{
typedef struct {
/* 0x0 */ s16 posX;
/* 0x2 */ s16 posY;
/* 0x4 */ s16 posZ;
@ -60,8 +54,7 @@ typedef struct
/* 0xA */ s16 radius;
} LightInfoPositionalParams;
typedef struct
{
typedef struct {
/* 0x00 */ u8 numLights;
/* 0x01 */ u8 enablePosLights;
/* 0x02 */ UNK_TYPE1 pad2[6];
@ -69,14 +62,12 @@ typedef struct
/* 0x10 */ Light lights[7];
} LightMapper;
typedef struct
{
typedef struct {
/* 0x0 */ u8 type;
/* 0x2 */ LightInfoDirectionalParams params;
} LightInfoDirectional;
typedef struct
{
typedef struct {
/* 0x0 */ u8 type;
/* 0x2 */ LightInfoPositionalParams params;
} LightInfoPositional;

View File

@ -3,8 +3,7 @@
#define OBJECT_EXCHANGE_BANK_MAX 19
typedef enum
{
typedef enum {
/* 0x0000 */ OBJECT_UNSET_0,
/* 0x0001 */ OBJECT_GAMEPLAY_KEEP,
/* 0x0002 */ OBJECT_GAMEPLAY_FIELD_KEEP,

View File

@ -1,8 +1,7 @@
#ifndef _Z64SCENE_H_
#define _Z64SCENE_H_
typedef struct
{
typedef struct {
/* 0x00 */ u32 sceneVromStart;
/* 0x04 */ u32 sceneVromEnd;
/* 0x08 */ u32 titleVromStart;
@ -13,50 +12,43 @@ typedef struct
/* 0x13 */ u8 unk_13;
} Scene; // size = 0x14
typedef struct
{
typedef struct {
/* 0x00 */ u8 code;
/* 0x01 */ u8 data1;
/* 0x04 */ u32 data2;
} SCmdBase;
typedef struct
{
typedef struct {
/* 0x00 */ u8 code;
/* 0x01 */ u8 data1;
/* 0x04 */ u32 segment;
} SCmdSpawnList;
typedef struct
{
typedef struct {
/* 0x00 */ u8 code;
/* 0x01 */ u8 num;
/* 0x04 */ u32 segment;
} SCmdActorList;
typedef struct
{
typedef struct {
/* 0x00 */ u8 code;
/* 0x01 */ u8 data1;
/* 0x04 */ u32 segment;
} SCmdCsCameraList;
typedef struct
{
typedef struct {
/* 0x00 */ u8 code;
/* 0x01 */ u8 data1;
/* 0x04 */ u32 segment;
} SCmdColHeader;
typedef struct
{
typedef struct {
/* 0x00 */ u8 code;
/* 0x01 */ u8 num;
/* 0x04 */ u32 segment;
} SCmdRoomList;
typedef struct
{
typedef struct {
/* 0x00 */ u8 code;
/* 0x01 */ u8 data1;
/* 0x02 */ char pad[2];
@ -66,71 +58,61 @@ typedef struct
/* 0x07 */ u8 unk_07;
} SCmdWindSettings;
typedef struct
{
typedef struct {
/* 0x00 */ u8 code;
/* 0x01 */ u8 data1;
/* 0x04 */ u32 segment;
} SCmdEntranceList;
typedef struct
{
typedef struct {
/* 0x00 */ u8 code;
/* 0x01 */ u8 naviMsgNum;
/* 0x04 */ u32 keepObjectId;
} SCmdSpecialFiles;
typedef struct
{
typedef struct {
/* 0x00 */ u8 code;
/* 0x01 */ u8 gpFlag1;
/* 0x04 */ u32 gpFlag2;
} SCmdRoomBehavior;
typedef struct
{
typedef struct {
/* 0x00 */ u8 code;
/* 0x01 */ u8 data1;
/* 0x04 */ u32 segment;
} SCmdMesh;
typedef struct
{
typedef struct {
/* 0x00 */ u8 code;
/* 0x01 */ u8 num;
/* 0x04 */ u32 segment;
} SCmdObjectList;
typedef struct
{
typedef struct {
/* 0x00 */ u8 code;
/* 0x01 */ u8 num;
/* 0x04 */ u32 segment;
} SCmdLightList;
typedef struct
{
typedef struct {
/* 0x00 */ u8 code;
/* 0x01 */ u8 data1;
/* 0x04 */ u32 segment;
} SCmdPathList;
typedef struct
{
typedef struct {
/* 0x00 */ u8 code;
/* 0x01 */ u8 num;
/* 0x04 */ u32 segment;
} SCmdTransiActorList;
typedef struct
{
typedef struct {
/* 0x00 */ u8 code;
/* 0x01 */ u8 num;
/* 0x04 */ u32 segment;
} SCmdLightSettingList;
typedef struct
{
typedef struct {
/* 0x00 */ u8 code;
/* 0x01 */ u8 data1;
/* 0x02 */ char pad[2];
@ -139,8 +121,7 @@ typedef struct
/* 0x06 */ u8 unk_06;
} SCmdTimeSettings;
typedef struct
{
typedef struct {
/* 0x00 */ u8 code;
/* 0x01 */ u8 data1;
/* 0x02 */ char pad[2];
@ -149,8 +130,7 @@ typedef struct
/* 0x06 */ u8 unk_06;
} SCmdSkyboxSettings;
typedef struct
{
typedef struct {
/* 0x00 */ u8 code;
/* 0x01 */ u8 data1;
/* 0x02 */ char pad[2];
@ -158,22 +138,19 @@ typedef struct
/* 0x05 */ u8 unk_05;
} SCmdSkyboxDisables;
typedef struct
{
typedef struct {
/* 0x00 */ u8 code;
/* 0x01 */ u8 data1;
/* 0x04 */ u32 data2;
} SCmdEndMarker;
typedef struct
{
typedef struct {
/* 0x00 */ u8 code;
/* 0x01 */ u8 data1;
/* 0x04 */ u32 segment;
} SCmdExitList;
typedef struct
{
typedef struct {
/* 0x00 */ u8 code;
/* 0x01 */ u8 bgmId;
/* 0x02 */ char pad[4];
@ -181,42 +158,36 @@ typedef struct
/* 0x07 */ u8 musicSeq;
} SCmdSoundSettings;
typedef struct
{
typedef struct {
/* 0x00 */ u8 code;
/* 0x01 */ u8 data1;
/* 0x02 */ char pad[5];
/* 0x07 */ u8 echo;
} SCmdEchoSettings;
typedef struct
{
typedef struct {
/* 0x00 */ u8 code;
/* 0x01 */ u8 data1;
/* 0x04 */ u32 segment;
} SCmdCutsceneData;
typedef struct
{
typedef struct {
/* 0x00 */ u8 code;
/* 0x01 */ u8 data1;
/* 0x04 */ u32 segment;
} SCmdAltHeaders;
typedef struct
{
typedef struct {
/* 0x00 */ u8 code;
/* 0x01 */ u8 cameraMovement;
/* 0x04 */ u32 area;
} SCmdMiscSettings;
typedef struct
{
typedef struct {
u8 headerType;
} MeshHeaderBase;
typedef struct
{
typedef struct {
MeshHeaderBase base;
u8 numEntries;
@ -224,180 +195,144 @@ typedef struct
u32 dListEnd;
} MeshHeader0;
typedef struct
{
typedef struct {
u32 opaqueDList;
u32 translucentDList;
u32 translucentDList;
} MeshEntry0;
typedef struct
{
typedef struct {
MeshHeaderBase base;
u8 format;
u32 entryRecord;
} MeshHeader1Base;
typedef struct
{
typedef struct {
MeshHeader1Base base;
u32 imagePtr; // 0x08
u32 unknown; // 0x0C
u32 unknown2; // 0x10
u16 bgWidth; // 0x14
u16 bgHeight; // 0x16
u8 imageFormat; // 0x18
u8 imageSize; // 0x19
u16 imagePal; // 0x1A
u16 imageFlip; // 0x1C
u32 unknown; // 0x0C
u32 unknown2; // 0x10
u16 bgWidth; // 0x14
u16 bgHeight; // 0x16
u8 imageFormat; // 0x18
u8 imageSize; // 0x19
u16 imagePal; // 0x1A
u16 imageFlip; // 0x1C
} MeshHeader1Single;
typedef struct
{
typedef struct {
MeshHeader1Base base;
u8 bgCnt;
u32 bgRecordPtr;
} MeshHeader1Multi;
typedef struct
{
typedef struct {
u16 unknown; // 0x00
s8 bgID; // 0x02
u32 imagePtr; // 0x04
u32 unknown2; // 0x08
u32 unknown3; // 0x0C
u16 bgWidth; // 0x10
u16 bgHeight; // 0x12
u8 imageFmt; // 0x14
u8 imageSize; // 0x15
u16 imagePal; // 0x16
u16 imageFlip; // 0x18
s8 bgID; // 0x02
u32 imagePtr; // 0x04
u32 unknown2; // 0x08
u32 unknown3; // 0x0C
u16 bgWidth; // 0x10
u16 bgHeight; // 0x12
u8 imageFmt; // 0x14
u8 imageSize; // 0x15
u16 imagePal; // 0x16
u16 imageFlip; // 0x18
} BackgroundRecord;
typedef struct
{
s16 playerXMax, playerZMax;
s16 playerXMin, playerZMin;
u32 opaqueDList;
u32 translucentDList;
typedef struct {
s16 playerXMax, playerZMax;
s16 playerXMin, playerZMin;
u32 opaqueDList;
u32 translucentDList;
} MeshEntry2;
typedef struct
{
typedef struct {
MeshHeaderBase base;
u8 numEntries;
u32 dListStart;
u32 dListEnd;
u32 dListStart;
u32 dListEnd;
} MeshHeader2;
typedef struct
{
typedef struct {
u8 ambientClrR, ambientClrG, ambientClrB;
u8 diffuseClrA_R, diffuseClrA_G, diffuseClrA_B;
u8 diffuseDirA_X, diffuseDirA_Y, diffuseDirA_Z;
u8 diffuseClrB_R, diffuseClrB_G, diffuseClrB_B;
u8 diffuseDirB_X, diffuseDirB_Y, diffuseDirB_Z;
u8 fogClrR, fogClrG, fogClrB;
u16 unk;
u16 drawDistance;
} LightSettings;
typedef struct
{
typedef struct {
s16 absMinX, absMinY, absMinZ;
s16 absMaxX, absMaxY, absMaxZ;
s16 numVerts;
s32 vtxSegmentOffset;
s16 numPolygons;
s32 polySegmentOffset;
s32 polyTypeDefSegmentOffset;
s32 camDataSegmentOffset;
s16 numWaterBoxes;
s32 waterBoxSegmentOffset;
s16 numVerts;
s32 vtxSegmentOffset;
s16 numPolygons;
s32 polySegmentOffset;
s32 polyTypeDefSegmentOffset;
s32 camDataSegmentOffset;
s16 numWaterBoxes;
s32 waterBoxSegmentOffset;
} ColHeader;
typedef struct
{
typedef struct {
s16 cameraSType; // 0x00
s16 numCameras; // 0x02
s32 camPosDataSeg; // 0x04
s16 numCameras; // 0x02
s32 camPosDataSeg; // 0x04
} CamData;
typedef struct
{
typedef struct {
u32 unknown;
u32 camPosDataSeg;
} CamPosDataEntry;
/*
typedef union
{
typedef union {
_CamData data;
long long int forceStructAlignment;
} CamData;
*/
typedef struct
{
typedef struct {
s16 posX, posY, posZ;
s16 rotX, rotY, rotZ;
s16 fov;
s16 jfifId;
s16 unk;
//s16 unk2;
//s32 unk;
s16 rotX, rotY, rotZ;
s16 fov;
s16 jfifId;
s16 unk;
} CamPosData;
/*
typedef union
{
typedef union {
_CamPosData data;
long long int forceStructAlignment;
} CamPosData;
*/
typedef struct
{
typedef struct {
s16 type;
s16 vtxA, vtxB, vtxC;
s16 a, b, c, d;
s16 vtxA, vtxB, vtxC;
s16 a, b, c, d;
} RoomPoly;
typedef struct
{
typedef struct {
s16 xMin;
s16 ySurface;
s16 zMin;
s16 xLength;
s16 zLength;
s32 properties;
s16 ySurface;
s16 zMin;
s16 xLength;
s16 zLength;
s32 properties;
} WaterBoxHeader;
typedef struct
{
typedef struct {
/* 0x00 */ u8 count; // Total number of points in the path for the actor to follow
/* 0x04 */ Vec3s* path; // Segment Address of the start of the path list
} Path; // size = 0x8
typedef union
{
typedef union {
SCmdBase base;
SCmdSpawnList spawnList;
SCmdActorList actorList;
@ -426,8 +361,7 @@ typedef union
SCmdAltHeaders altHeaders;
} SceneCmd; // size = 0x8
typedef enum
{
typedef enum {
/* 0x00 */ SCENE_YDAN,
/* 0x01 */ SCENE_DDAN,
/* 0x02 */ SCENE_BDAN,

View File

@ -1,4 +1,24 @@
#!/usr/bin/env python3
import os
import re
import argparse
parser = argparse.ArgumentParser(description="Computes current progress throughout the whole project.")
parser.add_argument("-m", "--matching", dest='matching', action='store_true',
help="Output matching progress instead of decompilation progress")
args = parser.parse_args()
NON_MATCHING_PATTERN = "#ifdef\s+NON_MATCHING.*?#pragma\s+GLOBAL_ASM\s*\(\s*\"(.*?)\"\s*\).*?#endif"
def GetNonMatchingFunctions(files):
functions = []
for file in files:
with open(file) as f:
functions += re.findall(NON_MATCHING_PATTERN, f.read(), re.DOTALL)
return functions
def ReadAllLines(fileName):
lineList = list()
@ -7,27 +27,30 @@ def ReadAllLines(fileName):
return lineList
def GetFiles(path):
def GetFiles(path, ext):
files = []
for r, d, f in os.walk(path):
for file in f:
if '.s' in file:
if file.endswith(ext):
files.append(os.path.join(r, file))
return files
nonMatchingFunctions = GetNonMatchingFunctions(GetFiles("src", ".c")) if not args.matching else []
def GetNonMatchingSize(path):
size = 0
asmFiles = GetFiles(path)
asmFiles = GetFiles(path, ".s")
for asmFilePath in asmFiles:
asmLines = ReadAllLines(asmFilePath)
if asmFilePath not in nonMatchingFunctions:
asmLines = ReadAllLines(asmFilePath)
for asmLine in asmLines:
if (asmLine.startswith("/*")):
size += 4
for asmLine in asmLines:
if (asmLine.startswith("/*")):
size += 4
return size
@ -97,12 +120,13 @@ ovlPct = 100 * ovl / ovlSize
compiled_bytes = total
bytesPerHeartPiece = compiled_bytes / 80
adjective = "decompiled" if not args.matching else "matched"
print(str(total) + " total bytes of decompilable code\n")
print(str(src) + " bytes of code in src " + str(srcPct) + "%\n")
#print(str(asm) + " bytes of code in asm " + str(asmPct) + "%\n")
print(str(boot) + "/" + str(bootSize) + " bytes of code in boot " + str(bootPct) + "%\n")
print(str(code) + "/" + str(codeSize) + " bytes of code in code " + str(codePct) + "%\n")
print(str(ovl) + "/" + str(ovlSize) + " bytes of code in overlays " + str(ovlPct) + "%\n")
print(str(src) + " bytes " + adjective + " in src " + str(srcPct) + "%\n")
print(str(boot) + "/" + str(bootSize) + " bytes " + adjective + " in boot " + str(bootPct) + "%\n")
print(str(code) + "/" + str(codeSize) + " bytes " + adjective + " in code " + str(codePct) + "%\n")
print(str(ovl) + "/" + str(ovlSize) + " bytes " + adjective + " in overlays " + str(ovlPct) + "%\n")
print("------------------------------------\n")
heartPieces = int(src / bytesPerHeartPiece)

8
spec
View File

@ -788,9 +788,7 @@ endseg
beginseg
name "ovl_Bg_Gate_Shutter"
include "build/src/overlays/actors/ovl_Bg_Gate_Shutter/z_bg_gate_shutter.o"
include "build/data/overlays/actors/z_bg_gate_shutter.data.o"
include "build/data/overlays/actors/z_bg_gate_shutter.rodata.o"
include "build/data/overlays/actors/z_bg_gate_shutter.reloc.o"
include "build/src/overlays/actors/ovl_Bg_Gate_Shutter/z_bg_gate_shutter_reloc.o"
endseg
beginseg
@ -3676,9 +3674,7 @@ endseg
beginseg
name "ovl_En_Tk"
include "build/src/overlays/actors/ovl_En_Tk/z_en_tk.o"
include "build/data/overlays/actors/z_en_tk.data.o"
include "build/data/overlays/actors/z_en_tk.rodata.o"
include "build/data/overlays/actors/z_en_tk.reloc.o"
include "build/src/overlays/actors/ovl_En_Tk/z_en_tk_reloc.o"
endseg
beginseg

View File

@ -1,7 +1,6 @@
#include <z64.h>
void __assert(const char* exp, const char* file, s32 line)
{
void __assert(const char* exp, const char* file, s32 line) {
char msg[256];
osSyncPrintf("Assertion failed: %s, file %s, line %d, thread %d\n", exp, file, line, osGetThreadId(NULL));
sprintf(msg, "ASSERT: %s:%d(%d)", file, line, osGetThreadId(NULL));

View File

@ -7,14 +7,12 @@ u8 sIdleThreadStack[0x400];
StackEntry sIdleThreadInfo;
u8 sBootThreadStack[0x400];
void cleararena(void)
{
void cleararena(void) {
bzero(_dmadataSegmentStart, (u8*)osMemSize - OS_K0_TO_PHYSICAL(_dmadataSegmentStart));
}
void bootproc(void)
{
StackCheck_Init(&sBootThreadInfo, sBootThreadStack, sBootThreadStack+sizeof(sBootThreadStack), 0, -1, "boot");
void bootproc(void) {
StackCheck_Init(&sBootThreadInfo, sBootThreadStack, sBootThreadStack + sizeof(sBootThreadStack), 0, -1, "boot");
osMemSize = osGetMemSize();
cleararena();
@ -25,8 +23,8 @@ void bootproc(void)
osDriveRomInit();
isPrintfInit();
Locale_Init();
StackCheck_Init(&sIdleThreadInfo, sIdleThreadStack, sIdleThreadStack+sizeof(sIdleThreadStack), 0, 256, "idle");
osCreateThread(&sIdleThread, 1, Idle_ThreadEntry, 0, sIdleThreadStack+sizeof(sIdleThreadStack), 10);
StackCheck_Init(&sIdleThreadInfo, sIdleThreadStack, sIdleThreadStack + sizeof(sIdleThreadStack), 0, 256, "idle");
osCreateThread(&sIdleThread, 1, Idle_ThreadEntry, 0, sIdleThreadStack + sizeof(sIdleThreadStack), 10);
osStartThread(&sIdleThread);
}

View File

@ -17,15 +17,15 @@ u32 gViConfigFeatures = OS_VI_DITHER_FILTER_ON | OS_VI_GAMMA_OFF;
f32 gViConfigXScale = 1.0;
f32 gViConfigYScale = 1.0;
void Main_ThreadEntry(void* arg0)
{
void Main_ThreadEntry(void* arg0) {
OSTime var1;
osSyncPrintf("mainx 実行開始\n");
DmaMgr_Start();
osSyncPrintf("codeセグメントロード中...");
var1 = osGetTime();
DmaMgr_SendRequest1((u32)_dmadataSegmentEnd, (u32)_codeSegmentRomStart, _codeSegmentRomEnd - _codeSegmentRomStart, "../idle.c", 238);
DmaMgr_SendRequest1((u32)_dmadataSegmentEnd, (u32)_codeSegmentRomStart, _codeSegmentRomEnd - _codeSegmentRomStart,
"../idle.c", 238);
var1 -= osGetTime();
osSyncPrintf("\rcodeセグメントロード中...完了\n");
osSyncPrintf("転送時間 %6.3f\n");
@ -35,8 +35,7 @@ void Main_ThreadEntry(void* arg0)
osSyncPrintf("mainx 実行終了\n");
}
void Idle_ThreadEntry(void* a0)
{
void Idle_ThreadEntry(void* a0) {
osSyncPrintf("アイドルスレッド(idleproc)実行開始\n");
osSyncPrintf("作製者 : %s\n", gBuildTeam);
osSyncPrintf("作成日時 : %s\n", gBuildDate);
@ -57,8 +56,7 @@ void Idle_ThreadEntry(void* a0)
gViConfigXScale = 1.0f;
gViConfigYScale = 1.0f;
switch (osTvType)
{
switch (osTvType) {
case 1:
D_80013960 = 2;
gViConfigMode = osViModeNtscLan1;
@ -82,11 +80,12 @@ void Idle_ThreadEntry(void* a0)
osViBlack(1);
osViSwapBuffer(0x803da80);
osCreatePiManager(0x96, &gPiMgrCmdQ, sPiMgrCmdBuff, 0x32);
StackCheck_Init(&sMainStackInfo, sMainStack, sMainStack+sizeof(sMainStack), 0, 0x400, "main");
osCreateThread(&sMainThread, 3, Main_ThreadEntry, a0, sMainStack+sizeof(sMainStack), 10);
StackCheck_Init(&sMainStackInfo, sMainStack, sMainStack + sizeof(sMainStack), 0, 0x400, "main");
osCreateThread(&sMainThread, 3, Main_ThreadEntry, a0, sMainStack + sizeof(sMainStack), 10);
osStartThread(&sMainThread);
osSetThreadPri(NULL, 0);
while(1)
while (1) {
;
}
}

View File

@ -1,82 +1,76 @@
#include <z64.h>
#include <global.h>
OSPiHandle* sISVHandle; //official name : is_Handle
OSPiHandle* sISVHandle; // official name : is_Handle
#define gISVDbgPrnAdrs ((ISVDbg*)0xb3ff0000)
#define ASCII_TO_U32(a, b, c, d) ((u32)((a << 24) | (b << 16) | (c << 8) | (d << 0)))
void isPrintfInit()
{
void isPrintfInit() {
sISVHandle = osCartRomInit();
osEPiWriteIo(sISVHandle, (u32)&gISVDbgPrnAdrs->put, 0);
osEPiWriteIo(sISVHandle, (u32)&gISVDbgPrnAdrs->get, 0);
osEPiWriteIo(sISVHandle, (u32)&gISVDbgPrnAdrs->magic, ASCII_TO_U32('I','S','6','4'));
osEPiWriteIo(sISVHandle, (u32)&gISVDbgPrnAdrs->magic, ASCII_TO_U32('I', 'S', '6', '4'));
}
void osSyncPrintfUnused(const char* fmt, ...)
{
void osSyncPrintfUnused(const char* fmt, ...) {
va_list args;
va_start(args, fmt);
_Printf(&is_proutSyncPrintf, NULL, fmt, args);
}
void osSyncPrintf(const char* fmt, ...)
{
void osSyncPrintf(const char* fmt, ...) {
va_list args;
va_start(args, fmt);
_Printf(&is_proutSyncPrintf, NULL, fmt, args);
}
//assumption
void rmonPrintf(const char* fmt, ...)
{
// assumption
void rmonPrintf(const char* fmt, ...) {
va_list args;
va_start(args, fmt);
_Printf(&is_proutSyncPrintf, NULL, fmt, args);
}
u32 is_proutSyncPrintf(void* arg0, const char *str, s32 count)
{
u32 is_proutSyncPrintf(void* arg0, const char* str, s32 count) {
u32 data;
s32 pos;
s32 start;
s32 end;
osEPiReadIo(sISVHandle, (u32)&gISVDbgPrnAdrs->magic, &data);
if (data != ASCII_TO_U32('I','S','6','4'))
if (data != ASCII_TO_U32('I', 'S', '6', '4')) {
return 1;
}
osEPiReadIo(sISVHandle, (u32)&gISVDbgPrnAdrs->get, &data);
pos = data;
osEPiReadIo(sISVHandle, (u32)&gISVDbgPrnAdrs->put, &data);
start = data;
end = start + count;
if (end >= 0xffe0)
{
if (end >= 0xffe0) {
end -= 0xffe0;
if (pos < end || start < pos)
if (pos < end || start < pos) {
return 1;
}
else
{
if (start < pos && pos < end)
}
} else {
if (start < pos && pos < end) {
return 1;
}
}
while (count)
{
while (count) {
u32 addr = (u32)&gISVDbgPrnAdrs->data + (start & 0xffffffc);
s32 shift = ((3 - (start & 3)) * 8);
if (*str)
{
if (*str) {
osEPiReadIo(sISVHandle, addr, &data);
osEPiWriteIo(sISVHandle, addr, (*str << shift) | (data & ~(0xff << shift)));
start++;
if (start >= 0xffe0)
if (start >= 0xffe0) {
start -= 0xffe0;
}
}
count--;
str++;
@ -85,9 +79,9 @@ u32 is_proutSyncPrintf(void* arg0, const char *str, s32 count)
return 1;
}
void func_80002384(const char* exp, const char* file, u32 line)
{
void func_80002384(const char* exp, const char* file, u32 line) {
osSyncPrintf("File:%s Line:%d %s \n", file, line, exp);
while (true)
while (true) {
;
}
}

View File

@ -2,22 +2,25 @@
#include <global.h>
#include <vt.h>
float LogUtils_CheckFloatRange(const char* exp, s32 arg1, const char* var1Name, float var1, const char* var2Name, float var2, const char* var3Name, float var3)
{
if (var1 < var2 || var3 < var1)
osSyncPrintf("%s %d: range error %s(%f) < %s(%f) < %s(%f)\n", exp, arg1, var2Name, var2, var1Name, var1, var3Name, var3);
float LogUtils_CheckFloatRange(const char* exp, s32 arg1, const char* var1Name, float var1, const char* var2Name,
float var2, const char* var3Name, float var3) {
if (var1 < var2 || var3 < var1) {
osSyncPrintf("%s %d: range error %s(%f) < %s(%f) < %s(%f)\n", exp, arg1, var2Name, var2, var1Name, var1,
var3Name, var3);
}
return var1;
}
s32 LogUtils_CheckIntRange(const char* exp, s32 arg1, const char* var1Name, s32 var1, const char* var2Name, s32 var2, const char* var3Name, s32 var3)
{
if (var1 < var2 || var3 < var1)
osSyncPrintf("%s %d: range error %s(%d) < %s(%d) < %s(%d)\n", exp, arg1, var2Name, var2, var1Name, var1, var3Name, var3);
s32 LogUtils_CheckIntRange(const char* exp, s32 arg1, const char* var1Name, s32 var1, const char* var2Name, s32 var2,
const char* var3Name, s32 var3) {
if (var1 < var2 || var3 < var1) {
osSyncPrintf("%s %d: range error %s(%d) < %s(%d) < %s(%d)\n", exp, arg1, var2Name, var2, var1Name, var1,
var3Name, var3);
}
return var1;
}
void LogUtils_LogHexDump(void* ptr, s32 size0)
{
void LogUtils_LogHexDump(void* ptr, s32 size0) {
u8* addr = (u8*)ptr;
s32 size = (s32)size0;
s32 rest;
@ -28,40 +31,39 @@ void LogUtils_LogHexDump(void* ptr, s32 size0)
osSyncPrintf("address off +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +a +b +c +d +e +f 0123456789abcdef\n");
off = 0;
while (size > 0)
{
while (size > 0) {
osSyncPrintf("%08x %04x", addr, off);
rest = (size < 0x10) ? size : 0x10;
i = 0;
while (true)
{
if(i < rest)
while (true) {
if (i < rest) {
osSyncPrintf(" %02x", *((u8*)addr + i));
else
} else {
osSyncPrintf(" ");
}
i++;
if (i > 0xf)
if (i > 0xf) {
break;
}
}
osSyncPrintf(" ");
i = 0;
while (true)
{
if(i < rest)
{
u8 a = *(addr+i);
while (true) {
if (i < rest) {
u8 a = *(addr + i);
osSyncPrintf("%c", (a >= 0x20 && a < 0x7f) ? a : '.');
}
else
} else {
osSyncPrintf(" ");
}
i++;
if (i > 0xf)
if (i > 0xf) {
break;
}
}
osSyncPrintf("\n");
size -= rest;
@ -70,46 +72,43 @@ void LogUtils_LogHexDump(void* ptr, s32 size0)
}
}
void LogUtils_LogPointer(s32 value, u32 max, void* ptr, const char *name, const char *file, s32 line)
{
void LogUtils_LogPointer(s32 value, u32 max, void* ptr, const char* name, const char* file, s32 line) {
osSyncPrintf(VT_COL(RED, WHITE) "%s %d %s[%d] max=%u ptr=%08x\n" VT_RST, file, line, name, value, max, ptr);
}
void LogUtils_CheckBoundary(const char* name, s32 value, s32 unk, const char* file, s32 line)
{
u32 mask = (unk - 1);
if (value & mask)
osSyncPrintf(VT_COL(RED, WHITE) "%s %d:%s(%08x) は バウンダリ(%d)違反です\n" VT_RST, file, line, name, value, unk);
void LogUtils_CheckBoundary(const char* name, s32 value, s32 unk, const char* file, s32 line) {
u32 mask = (unk - 1);
if (value & mask) {
osSyncPrintf(VT_COL(RED, WHITE) "%s %d:%s(%08x) は バウンダリ(%d)違反です\n" VT_RST, file, line, name, value,
unk);
}
}
void LogUtils_CheckNullPointer(const char* exp, void* ptr, const char* file, s32 line)
{
if (!ptr)
void LogUtils_CheckNullPointer(const char* exp, void* ptr, const char* file, s32 line) {
if (!ptr) {
osSyncPrintf(VT_COL(RED, WHITE) "%s %d:%s は はヌルポインタです\n" VT_RST, file, line, exp);
}
}
//check valid pointer
void LogUtils_CheckValidPointer(const char* exp, void* ptr0, const char* file, s32 line)
{
// check valid pointer
void LogUtils_CheckValidPointer(const char* exp, void* ptr0, const char* file, s32 line) {
u32 ptr = (u32)ptr0;
if (!ptr || ptr < 0x80000000U || (0x80000000U + osMemSize) <= ptr)
if (!ptr || ptr < 0x80000000U || (0x80000000U + osMemSize) <= ptr) {
osSyncPrintf(VT_COL(RED, WHITE) "%s %d:ポインタ %s(%08x) が異常です\n" VT_RST, file, line, exp, ptr);
}
}
//there's probalby a macro like this : MACRO(exp) LogUtils_LogThreadId(__FILE__, __LINE__); osSyncPrintf(exp)
void LogUtils_LogThreadId(const char* name, s32 line)
{
// there's probalby a macro like this : MACRO(exp) LogUtils_LogThreadId(__FILE__, __LINE__); osSyncPrintf(exp)
void LogUtils_LogThreadId(const char* name, s32 line) {
osSyncPrintf("<%d %s %d>", osGetThreadId(NULL), name, line);
}
void LogUtils_HungupThread(const char* name, s32 line)
{
void LogUtils_HungupThread(const char* name, s32 line) {
osSyncPrintf("*** HungUp in thread %d, [%s:%d] ***\n", osGetThreadId(NULL), name, line);
Fault_AddHungupAndCrash(name, line);
}
void LogUtils_ResetHungup()
{
void LogUtils_ResetHungup() {
osSyncPrintf("*** Reset ***\n");
Fault_AddHungupAndCrash("Reset", 0);
}
}

View File

@ -5,137 +5,130 @@
StackEntry* sStackInfoListStart = NULL;
StackEntry* sStackInfoListEnd = NULL;
void StackCheck_Init(StackEntry* entry, void* stackTop, void* stackBottom, u32 initValue, s32 minSpace, const char* name)
{
void StackCheck_Init(StackEntry* entry, void* stackTop, void* stackBottom, u32 initValue, s32 minSpace,
const char* name) {
StackEntry* iter;
u32* addr;
if (!entry)
if (!entry) {
sStackInfoListStart = NULL;
else
{
} else {
entry->head = (u32)stackTop;
entry->tail = (u32)stackBottom;
entry->initValue = initValue;
entry->minSpace = minSpace;
entry->name = name;
iter = sStackInfoListStart;
while (iter)
{
if (iter == entry)
{
while (iter) {
if (iter == entry) {
osSyncPrintf(VT_COL(RED, WHITE) "stackcheck_init: %08x は既にリスト中にある\n" VT_RST, entry);
return;
}
iter = iter->next;
}
entry->prev = sStackInfoListEnd;
entry->next = NULL;
if (sStackInfoListEnd)
if (sStackInfoListEnd) {
sStackInfoListEnd->next = entry;
}
sStackInfoListEnd = entry;
if (!sStackInfoListStart)
if (!sStackInfoListStart) {
sStackInfoListStart = entry;
}
if (entry->minSpace != -1)
{
if (entry->minSpace != -1) {
addr = (u32*)entry->head;
while ((u32)addr < entry->tail)
while ((u32)addr < entry->tail) {
*addr++ = entry->initValue;
}
}
}
}
void StackCheck_Cleanup(StackEntry* entry)
{
void StackCheck_Cleanup(StackEntry* entry) {
bool inconsistency = false;
if (!entry->prev)
{
if (entry == sStackInfoListStart)
if (!entry->prev) {
if (entry == sStackInfoListStart) {
sStackInfoListStart = entry->next;
else
} else {
inconsistency = true;
}
else
}
} else {
entry->prev->next = entry->next;
if (!entry->next)
{
if (entry == sStackInfoListEnd)
sStackInfoListEnd = entry->prev;
else
inconsistency = true;
}
if (inconsistency)
if (!entry->next) {
if (entry == sStackInfoListEnd) {
sStackInfoListEnd = entry->prev;
} else {
inconsistency = true;
}
}
if (inconsistency) {
osSyncPrintf(VT_COL(RED, WHITE) "stackcheck_cleanup: %08x リスト不整合です\n" VT_RST, entry);
}
}
StackStatus StackCheck_GetState(StackEntry* entry)
{
StackStatus StackCheck_GetState(StackEntry* entry) {
u32* last;
u32 used;
u32 free;
s32 ret;
for (last = (u32*)entry->head; (u32)last < entry->tail; last++)
{
if (entry->initValue != *last)
for (last = (u32*)entry->head; (u32)last < entry->tail; last++) {
if (entry->initValue != *last) {
break;
}
}
used = entry->tail - (u32)last;
free = (u32)last - entry->head;
if (free == 0)
{
if (free == 0) {
ret = STACK_STATUS_OVERFLOW;
osSyncPrintf(VT_FGCOL(RED));
}
else if (free < entry->minSpace && entry->minSpace != -1)
{
} else if (free < entry->minSpace && entry->minSpace != -1) {
ret = STACK_STATUS_WARNING;
osSyncPrintf(VT_FGCOL(YELLOW));
}
else
{
} else {
osSyncPrintf(VT_FGCOL(GREEN));
ret = STACK_STATUS_OK;
}
osSyncPrintf("head=%08x tail=%08x last=%08x used=%08x free=%08x [%s]\n", entry->head, entry->tail, last, used, free, entry->name ? entry->name : "(null)");
osSyncPrintf("head=%08x tail=%08x last=%08x used=%08x free=%08x [%s]\n", entry->head, entry->tail, last, used, free,
entry->name ? entry->name : "(null)");
osSyncPrintf(VT_RST);
if (ret != STACK_STATUS_OK)
if (ret != STACK_STATUS_OK) {
LogUtils_LogHexDump(entry->head, entry->tail - entry->head);
}
return ret;
}
u32 StackCheck_CheckAll()
{
u32 StackCheck_CheckAll() {
u32 ret = 0;
StackEntry* iter = sStackInfoListStart;
while(iter)
{
while (iter) {
u32 state = StackCheck_GetState(iter);
if (state != STACK_STATUS_OK)
if (state != STACK_STATUS_OK) {
ret = 1;
}
iter = iter->next;
}
return ret;
}
u32 StackCheck_Check(StackEntry* entry)
{
if (!entry)
u32 StackCheck_Check(StackEntry* entry) {
if (!entry) {
return StackCheck_CheckAll();
else
} else {
return StackCheck_GetState(entry);
}
}

View File

@ -2,35 +2,34 @@
#include <global.h>
#include <vt.h>
//this should probably go elsewhere but right now viconfig.o is the only object between idle and z_std_dma
// this should probably go elsewhere but right now viconfig.o is the only object between idle and z_std_dma
OSPiHandle* gCartHandle = 0;
void ViConfig_UpdateVi(u32 arg0)
{
if (arg0 != 0)
{
void ViConfig_UpdateVi(u32 arg0) {
if (arg0 != 0) {
osSyncPrintf(VT_COL(YELLOW, BLACK) "osViSetYScale1(%f);\n" VT_RST, 1.0f);
if (osTvType == 0)
if (osTvType == 0) {
osViSetMode(&osViModePalLan1);
}
osViSetYScale(1.0f);
}
else
{
} else {
osViSetMode(&gViConfigMode);
if (gViConfigAdditionalScanLines != 0)
if (gViConfigAdditionalScanLines != 0) {
osViExtendVStart(gViConfigAdditionalScanLines);
}
if (gViConfigFeatures != 0)
if (gViConfigFeatures != 0) {
osViSetSpecialFeatures(gViConfigFeatures);
}
if (gViConfigXScale != 1.0f)
if (gViConfigXScale != 1.0f) {
osViSetXScale(gViConfigXScale);
}
if (gViConfigYScale != 1.0f)
{
if (gViConfigYScale != 1.0f) {
osSyncPrintf(VT_COL(YELLOW, BLACK) "osViSetYScale3(%f);\n" VT_RST, gViConfigYScale);
osViSetYScale(gViConfigYScale);
}
@ -39,10 +38,10 @@ void ViConfig_UpdateVi(u32 arg0)
gViConfigUseDefault = arg0;
}
void ViConfig_UpdateBlack()
{
if (gViConfigUseDefault != 0)
void ViConfig_UpdateBlack() {
if (gViConfigUseDefault != 0) {
osViBlack(1);
else
} else {
osViBlack(0);
}
}

View File

@ -7,50 +7,45 @@ u32 sYaz0CurRomStart;
u32 sYaz0CurSize;
u32 sYaz0MaxPtr;
void* Yaz0_FirstDMA()
{
void* Yaz0_FirstDMA() {
u32 pad0;
u32 pad1;
u32 dmaSize;
u32 curSize;
sYaz0MaxPtr = sYaz0CurDataEnd - 0x19;
curSize = sYaz0CurDataEnd - (u32)sYaz0DataBuffer;
dmaSize = (curSize > sYaz0CurSize)
? sYaz0CurSize
: curSize;
dmaSize = (curSize > sYaz0CurSize) ? sYaz0CurSize : curSize;
DmaMgr_DMARomToRam(sYaz0CurRomStart, sYaz0DataBuffer, dmaSize);
sYaz0CurRomStart += dmaSize;
sYaz0CurSize -= dmaSize;
return sYaz0DataBuffer;
}
void* Yaz0_NextDMA(void* curSrcPos)
{
void* Yaz0_NextDMA(void* curSrcPos) {
u8* dst;
u32 restSize;
u32 dmaSize;
restSize = sYaz0CurDataEnd - (u32)curSrcPos;
dst = (restSize & 7)
? (sYaz0DataBuffer - (restSize & 7)) + 8
: sYaz0DataBuffer;
dst = (restSize & 7) ? (sYaz0DataBuffer - (restSize & 7)) + 8 : sYaz0DataBuffer;
bcopy(curSrcPos, dst, restSize);
dmaSize = (sYaz0CurDataEnd - (u32)dst) - restSize;
if (sYaz0CurSize < dmaSize)
if (sYaz0CurSize < dmaSize) {
dmaSize = sYaz0CurSize;
}
if (dmaSize != 0)
{
if (dmaSize != 0) {
DmaMgr_DMARomToRam(sYaz0CurRomStart, (u32)dst + restSize, dmaSize);
sYaz0CurRomStart += dmaSize;
sYaz0CurSize -= dmaSize;
if (!sYaz0CurSize)
if (!sYaz0CurSize) {
sYaz0MaxPtr = (u32)dst + restSize + dmaSize;
}
}
return dst;
@ -60,8 +55,7 @@ void* Yaz0_NextDMA(void* curSrcPos)
// has an extra check at the start of the small compressed loop
// along with an extra move instruction
// maybe some regalloc differences besides these issues
void Yaz0_DecompressImpl(Yaz0Header* hdr, u8* dst)
{
void Yaz0_DecompressImpl(Yaz0Header* hdr, u8* dst) {
u32 bitIdx;
u8* src;
u8* dstEnd;
@ -76,10 +70,8 @@ void Yaz0_DecompressImpl(Yaz0Header* hdr, u8* dst)
src = hdr->data;
dstEnd = dst + hdr->decSize;
do
{
if (bitIdx == 0)
{
do {
if (bitIdx == 0) {
if ((sYaz0MaxPtr < (u32)src) && (sYaz0CurSize != 0))
src = Yaz0_NextDMA(src);
@ -90,19 +82,16 @@ void Yaz0_DecompressImpl(Yaz0Header* hdr, u8* dst)
curDecBit = chunkHeader & (1 << 7);
chunkHeader <<= 1;
if (curDecBit) // uncompressed
{
if (curDecBit) { // uncompressed
*dst++ = *src++;
}
else // compressed
{
} else { // compressed
nibble = *src >> 4;
backPtr = dst - (*(src + 1) | (*src & 0xF) << 8);
src += 2;
chunkSize = (nibble == 0) // N = chunkSize; B = back offset
? *src++ + 0x12 // 3 bytes 0B BB NN
: nibble + 2; // 2 bytes NB BB
chunkSize = (nibble == 0) // N = chunkSize; B = back offset
? *src++ + 0x12 // 3 bytes 0B BB NN
: nibble + 2; // 2 bytes NB BB
for (off = chunkSize; off > 0; off--)
*dst++ = *(backPtr++ - 1);
@ -115,8 +104,7 @@ void Yaz0_DecompressImpl(Yaz0Header* hdr, u8* dst)
#pragma GLOBAL_ASM("asm/non_matchings/boot/yaz0/Yaz0_DecompressImpl.s")
#endif
void Yaz0_Decompress(u32 romStart, void* dst, u32 size)
{
void Yaz0_Decompress(u32 romStart, void* dst, u32 size) {
sYaz0CurRomStart = romStart;
sYaz0CurSize = size;
sYaz0CurDataEnd = sYaz0DataBuffer + sizeof(sYaz0DataBuffer);

View File

@ -6,16 +6,14 @@
u32 gCurrentRegion = 0;
LocaleCartInfo sCartInfo;
//temporary
// temporary
extern PadMgr gPadMgr;
void Locale_Init()
{
void Locale_Init() {
osEPiReadIo(gCartHandle, 0x38, &sCartInfo.mediaFormat);
osEPiReadIo(gCartHandle, 0x3C, &sCartInfo.regionInfo);
switch (sCartInfo.countryCode)
{
switch (sCartInfo.countryCode) {
case 'J': // "NTSC-U (North America)"
gCurrentRegion = REGION_US;
break;
@ -36,39 +34,39 @@ void Locale_Init()
osSyncPrintf("z_locale_init:日本用かアメリカ用か3コンで判断させる\n");
}
void Locale_ResetRegion()
{
void Locale_ResetRegion() {
gCurrentRegion = REGION_NULL;
}
u32 func_80001F48()
{
PadMgr* padMgr = (PadMgr*)(u32)&gPadMgr; //cast required to match
u32 func_80001F48() {
PadMgr* padMgr = (PadMgr*)(u32)&gPadMgr; // cast required to match
if (gCurrentRegion == REGION_NATIVE)
if (gCurrentRegion == REGION_NATIVE) {
return 0;
}
if (padMgr->unk_2A8 & 4)
if (padMgr->unk_2A8 & 4) {
return 0;
}
return 1;
}
u32 func_80001F8C()
{
PadMgr* padMgr = (PadMgr*)(u32)&gPadMgr; //cast required to match
u32 func_80001F8C() {
PadMgr* padMgr = (PadMgr*)(u32)&gPadMgr; // cast required to match
if (gCurrentRegion == REGION_NATIVE)
if (gCurrentRegion == REGION_NATIVE) {
return 0;
}
if (padMgr->unk_2A8 & 4)
if (padMgr->unk_2A8 & 4) {
return 1;
}
return 0;
}
// This function appears to be unused?
u32 Locale_IsRegionNative()
{
u32 Locale_IsRegionNative() {
return gCurrentRegion == REGION_NATIVE;
}

File diff suppressed because it is too large Load Diff

View File

@ -4,7 +4,7 @@
u64 gGfxSPTaskOutputBuffer[0x3000];
// 0xC00 bytes
u8 gGfxSPTaskYieldBuffer[OS_YIELD_DATA_SIZE];
u8 gGfxSPTaskYieldBuffer[OS_YIELD_DATA_SIZE];
// 0x400 bytes
u8 gGfxSPTaskStack[0x400];

View File

@ -1,172 +1,141 @@
#include <global.h>
void THGA_Ct(TwoHeadGfxArena* thga, Gfx* start, u32 size)
{
void THGA_Ct(TwoHeadGfxArena* thga, Gfx* start, u32 size) {
THA_Ct((TwoHeadArena*)thga, start, size);
}
void THGA_Dt(TwoHeadGfxArena* thga)
{
void THGA_Dt(TwoHeadGfxArena* thga) {
THA_Dt((TwoHeadArena*)thga);
}
u32 THGA_IsCrash(TwoHeadGfxArena* thga)
{
u32 THGA_IsCrash(TwoHeadGfxArena* thga) {
return THA_IsCrash((TwoHeadArena*)thga);
}
void THGA_Init(TwoHeadGfxArena* thga)
{
void THGA_Init(TwoHeadGfxArena* thga) {
THA_Init((TwoHeadArena*)thga);
}
s32 THGA_GetSize(TwoHeadGfxArena* thga)
{
s32 THGA_GetSize(TwoHeadGfxArena* thga) {
return THA_GetSize((TwoHeadArena*)thga);
}
Gfx* THGA_GetHead(TwoHeadGfxArena* thga)
{
Gfx* THGA_GetHead(TwoHeadGfxArena* thga) {
return THA_GetHead((TwoHeadArena*)thga);
}
void THGA_SetHead(TwoHeadGfxArena* thga, Gfx* start)
{
void THGA_SetHead(TwoHeadGfxArena* thga, Gfx* start) {
THA_SetHead((TwoHeadArena*)thga, start);
}
Gfx* THGA_GetTail(TwoHeadGfxArena* thga)
{
Gfx* THGA_GetTail(TwoHeadGfxArena* thga) {
return THA_GetTail((TwoHeadArena*)thga);
}
Gfx* THGA_AllocStartArray8(TwoHeadGfxArena* thga, u32 count)
{
Gfx* THGA_AllocStartArray8(TwoHeadGfxArena* thga, u32 count) {
return THA_AllocStart((TwoHeadArena*)thga, count * 8);
}
Gfx* THGA_AllocStart8(TwoHeadGfxArena* thga)
{
Gfx* THGA_AllocStart8(TwoHeadGfxArena* thga) {
return THGA_AllocStartArray8(thga, 1);
}
Gfx* THGA_AllocStart8Wrapper(TwoHeadGfxArena* thga)
{
Gfx* THGA_AllocStart8Wrapper(TwoHeadGfxArena* thga) {
return THGA_AllocStart8(thga);
}
Gfx* THGA_AllocEnd(TwoHeadGfxArena* thga, u32 size)
{
Gfx* THGA_AllocEnd(TwoHeadGfxArena* thga, u32 size) {
return THA_AllocEnd((TwoHeadArena*)thga, size);
}
Gfx* THGA_AllocEndArray64(TwoHeadGfxArena* thga, u32 count)
{
Gfx* THGA_AllocEndArray64(TwoHeadGfxArena* thga, u32 count) {
return THGA_AllocEnd(thga, count * 0x40);
}
Gfx* THGA_AllocEnd64(TwoHeadGfxArena* thga)
{
Gfx* THGA_AllocEnd64(TwoHeadGfxArena* thga) {
return THGA_AllocEnd(thga, 0x40);
}
Gfx* THGA_AllocEndArray16(TwoHeadGfxArena* thga, u32 count)
{
Gfx* THGA_AllocEndArray16(TwoHeadGfxArena* thga, u32 count) {
return THGA_AllocEnd(thga, count * 0x10);
}
Gfx* THGA_AllocEnd16(TwoHeadGfxArena* thga)
{
Gfx* THGA_AllocEnd16(TwoHeadGfxArena* thga) {
return THGA_AllocEnd(thga, 0x10);
}
void* THA_GetHead(TwoHeadArena* tha)
{
void* THA_GetHead(TwoHeadArena* tha) {
return tha->head;
}
void THA_SetHead(TwoHeadArena* tha, void* start)
{
void THA_SetHead(TwoHeadArena* tha, void* start) {
tha->head = start;
}
void* THA_GetTail(TwoHeadArena* tha)
{
void* THA_GetTail(TwoHeadArena* tha) {
return tha->tail;
}
void* THA_AllocStart(TwoHeadArena* tha, u32 size)
{
void* THA_AllocStart(TwoHeadArena* tha, u32 size) {
void* start = tha->head;
tha->head += size;
return start;
}
void* THA_AllocStart1(TwoHeadArena* tha)
{
void* THA_AllocStart1(TwoHeadArena* tha) {
return THA_AllocStart(tha, 1);
}
void* THA_AllocEnd(TwoHeadArena* tha, u32 size)
{
void* THA_AllocEnd(TwoHeadArena* tha, u32 size) {
u32 mask;
u32* temp;
if (size == 8)
if (size == 8) {
mask = ~7;
else if (size == 4 || size == 12)
} else if (size == 4 || size == 12) {
mask = ~3;
else if (size == 2 || size == 6 || size == 10 || size == 12 || size == 14)
} else if (size == 2 || size == 6 || size == 10 || size == 12 || size == 14) {
mask = ~1;
else
} else {
mask = (size >= 0x10) ? ~0xF : 0;
}
temp = (u32*)&tha->tail; // required to match
return tha->tail = (void*)(((*temp & mask) - size) & mask);
}
void* THA_AllocEndAlign16(TwoHeadArena *tha, u32 size)
{
void* ret = (void*)(u32)((((u32)tha->tail & ~0xF) - size) & ((~(0xF & 0xFFFFFFFFFFFFFFFF)) & 0xFFFFFFFFu)); // required to match
void* THA_AllocEndAlign16(TwoHeadArena* tha, u32 size) {
void* ret = (void*)(u32)((((u32)tha->tail & ~0xF) - size) &
((~(0xF & 0xFFFFFFFFFFFFFFFF)) & 0xFFFFFFFFu)); // required to match
tha->tail = ret;
return ret;
}
void* THA_AllocEndAlign(TwoHeadArena* tha, u32 size, u32 mask)
{
void* THA_AllocEndAlign(TwoHeadArena* tha, u32 size, u32 mask) {
void* ret = (void*)((((u32)tha->tail & mask) - size) & mask);
tha->tail = ret;
return ret;
}
s32 THA_GetSize(TwoHeadArena* tha)
{
s32 THA_GetSize(TwoHeadArena* tha) {
return tha->tail - tha->head;
}
u32 THA_IsCrash(TwoHeadArena* tha)
{
u32 THA_IsCrash(TwoHeadArena* tha) {
return THA_GetSize(tha) < 0;
}
void THA_Init(TwoHeadArena* tha)
{
void THA_Init(TwoHeadArena* tha) {
tha->head = tha->bufp;
tha->tail = tha->bufp + tha->size;
}
void THA_Ct(TwoHeadArena* tha, void* ptr, u32 size)
{
void THA_Ct(TwoHeadArena* tha, void* ptr, u32 size) {
tha->bufp = ptr;
tha->size = size;
THA_Init(tha);
}
void THA_Dt(TwoHeadArena* tha)
{
void THA_Dt(TwoHeadArena* tha) {
bzero(tha, sizeof(TwoHeadArena));
}

File diff suppressed because it is too large Load Diff

View File

@ -14,4 +14,3 @@
#pragma GLOBAL_ASM("asm/non_matchings/code/audioMgr/func_800C3FC4.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/audioMgr/func_800C3FEC.s")

View File

@ -1,15 +1,13 @@
#include <ultra64.h>
#include <global.h>
GlobalContext* func_80026B00(void)
{
GlobalContext* func_80026B00(void) {
return D_80157DA0;
}
#pragma GLOBAL_ASM("asm/non_matchings/code/code_80026B00/func_80026B0C.s")
void func_80026C1C(u8* arg0)
{
void func_80026C1C(u8* arg0) {
arg0[0] = 0;
arg0[1] = 0;
arg0[2] = 0;

View File

@ -3,59 +3,56 @@
#pragma GLOBAL_ASM("asm/non_matchings/code/code_800430A0/func_800430A0.s")
void func_800432A0(CollisionContext* colCtx, u32 floorPolySource, Actor* actor)
{
if (func_8003E934(floorPolySource) != 0)
{
void func_800432A0(CollisionContext* colCtx, u32 floorPolySource, Actor* actor) {
if (func_8003E934(floorPolySource) != 0) {
s16 v1 = colCtx->dyna.actorMeshArr[floorPolySource].rot2.y - colCtx->dyna.actorMeshArr[floorPolySource].rot1.y;
if (actor->id == 0)
if (actor->id == 0) {
((Player*)actor)->unk_83C += v1;
}
actor->shape.rot.y += v1;
actor->posRot.rot.y += v1;
}
}
void func_80043334(CollisionContext* colCtx, Actor* actor, u32 floorPolySource)
{
if (func_8003E934(floorPolySource) != 0)
{
void func_80043334(CollisionContext* colCtx, Actor* actor, u32 floorPolySource) {
if (func_8003E934(floorPolySource) != 0) {
DynaPolyActor* dynaActor = DynaPolyInfo_GetActor(colCtx, floorPolySource);
if (dynaActor != NULL)
{
if (dynaActor != NULL) {
func_800434A8(dynaActor);
if ((actor->flags & 0x4000000) == 0x4000000)
if ((actor->flags & 0x4000000) == 0x4000000) {
func_80043538(dynaActor);
}
}
}
}
s32 func_800433A4(CollisionContext* colCtx, u32 floorPolySource, Actor* actor)
{
s32 func_800433A4(CollisionContext* colCtx, u32 floorPolySource, Actor* actor) {
s32 sp24 = 0;
DynaPolyActor* dynaActor;
if (func_8003E934(floorPolySource) == 0)
if (func_8003E934(floorPolySource) == 0) {
return 0;
}
if ((colCtx->dyna.flags[floorPolySource] & 2) || !(colCtx->dyna.flags[floorPolySource] & 1))
if ((colCtx->dyna.flags[floorPolySource] & 2) || !(colCtx->dyna.flags[floorPolySource] & 1)) {
return 0;
}
dynaActor = DynaPolyInfo_GetActor(colCtx, floorPolySource);
if (dynaActor == NULL)
if (dynaActor == NULL) {
return 0;
}
if (dynaActor->unk_15C & 1)
{
if (dynaActor->unk_15C & 1) {
func_800430A0(colCtx, floorPolySource, actor);
sp24 = 1;
}
if (dynaActor->unk_15C & 2)
{
if (dynaActor->unk_15C & 2) {
func_800432A0(colCtx, floorPolySource, actor);
sp24 = 1;
}

View File

@ -1,8 +1,7 @@
#include <ultra64.h>
#include <global.h>
void DynaPolyInfo_SetActorMove(DynaPolyActor* dynaActor, DynaPolyMoveFlag flags)
{
void DynaPolyInfo_SetActorMove(DynaPolyActor* dynaActor, DynaPolyMoveFlag flags) {
dynaActor->dynaPolyId = -1;
dynaActor->unk_15C = flags;
dynaActor->unk_160 = 0;
@ -10,77 +9,72 @@ void DynaPolyInfo_SetActorMove(DynaPolyActor* dynaActor, DynaPolyMoveFlag flags)
dynaActor->unk_154 = 0.0f;
}
void func_800434A0(DynaPolyActor *dynaActor)
{
void func_800434A0(DynaPolyActor* dynaActor) {
dynaActor->unk_160 = 0;
}
void func_800434A8(DynaPolyActor *dynaActor)
{
void func_800434A8(DynaPolyActor* dynaActor) {
dynaActor->unk_160 |= 1;
}
void func_800434B8(DynaPolyActor *dynaActor)
{
void func_800434B8(DynaPolyActor* dynaActor) {
dynaActor->unk_160 |= 2;
}
void func_800434C8(CollisionContext* colCtx, u32 floorPolySource)
{
DynaPolyActor *dynaActor = DynaPolyInfo_GetActor(colCtx, floorPolySource);
void func_800434C8(CollisionContext* colCtx, u32 floorPolySource) {
DynaPolyActor* dynaActor = DynaPolyInfo_GetActor(colCtx, floorPolySource);
if (dynaActor != NULL)
if (dynaActor != NULL) {
func_800434B8(dynaActor);
}
}
void func_800434F8(DynaPolyActor* dynaActor)
{
void func_800434F8(DynaPolyActor* dynaActor) {
dynaActor->unk_160 |= 4;
}
void func_80043508(CollisionContext* colCtx, u32 floorPolySource)
{
DynaPolyActor *dynaActor = DynaPolyInfo_GetActor(colCtx, floorPolySource);
void func_80043508(CollisionContext* colCtx, u32 floorPolySource) {
DynaPolyActor* dynaActor = DynaPolyInfo_GetActor(colCtx, floorPolySource);
if (dynaActor != NULL)
if (dynaActor != NULL) {
func_800434F8(dynaActor);
}
}
void func_80043538(DynaPolyActor* dynaActor)
{
void func_80043538(DynaPolyActor* dynaActor) {
dynaActor->unk_160 |= 8;
}
s32 func_80043548(DynaPolyActor* dynaActor)
{
if (dynaActor->unk_160 & 1)
s32 func_80043548(DynaPolyActor* dynaActor) {
if (dynaActor->unk_160 & 1) {
return 1;
else
} else {
return 0;
}
}
s32 func_8004356C(DynaPolyActor* dynaActor)
{
if (dynaActor->unk_160 & 2)
s32 func_8004356C(DynaPolyActor* dynaActor) {
if (dynaActor->unk_160 & 2) {
return 1;
else
} else {
return 0;
}
}
s32 func_80043590(DynaPolyActor* dynaActor)
{
if (dynaActor->unk_160 & 4)
s32 func_80043590(DynaPolyActor* dynaActor) {
if (dynaActor->unk_160 & 4) {
return 1;
else
} else {
return 0;
}
}
s32 func_800435B4(DynaPolyActor* dynaActor)
{
if (dynaActor->unk_160 & 8)
s32 func_800435B4(DynaPolyActor* dynaActor) {
if (dynaActor->unk_160 & 8) {
return 1;
else
} else {
return 0;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/code/code_80043480/func_800435D8.s")

View File

@ -1,13 +1,11 @@
#include <ultra64.h>
#include <global.h>
void* MemCopy(void* dest, void* src, s32 size)
{
void* MemCopy(void* dest, void* src, s32 size) {
u8* destu = (u8*)dest;
u8* srcu = (u8*)src;
while (size > 0)
{
while (size > 0) {
*destu++ = *srcu++;
size--;
}
@ -15,13 +13,11 @@ void* MemCopy(void* dest, void* src, s32 size)
return dest;
}
void* MemSet(void* dest, s32 val, s32 size)
{
void* MemSet(void* dest, s32 val, s32 size) {
u8* destu = (u8*)dest;
s32 s = size;
while (s > 0)
{
while (s > 0) {
*destu++ = val;
s--;
}

View File

@ -1,8 +1,7 @@
#include <ultra64.h>
#include <global.h>
u16 D_8011F3F0[60][9] =
{
u16 D_8011F3F0[60][9] = {
{ 0x0000, 0x7124, 0x7127, 0x7126, 0x7125, 0x7127, 0x7124, 0x7125, 0x7127 },
{ 0x0000, 0x7128, 0x7129, 0x7128, 0x7128, 0x7128, 0x7128, 0x712A, 0x712B },
{ 0x0000, 0x7128, 0x712B, 0x7128, 0x7128, 0x7129, 0x7128, 0x712B, 0x7128 },
@ -65,8 +64,7 @@ u16 D_8011F3F0[60][9] =
{ 0x0000, 0x7104, 0x7105, 0x7107, 0x7105, 0x710C, 0x7105, 0x7107, 0x7107 },
};
u16 func_8006C360(GlobalContext* globalCtx, u32 idx)
{
u16 func_8006C360(GlobalContext* globalCtx, u32 idx) {
u8 mask = func_8008F080(globalCtx);
return D_8011F3F0[idx][mask];
}

View File

@ -8,4 +8,3 @@
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8006C3A0/func_8006C438.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8006C3A0/func_8006C4A4.s")

View File

@ -4,4 +4,3 @@
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8006C510/func_8006C510.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8006C510/func_8006C5A8.s")

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