mirror of https://github.com/zeldaret/oot.git
Merge branch 'main' into commit_object_link_boy
This commit is contained in:
commit
6186acf2b8
|
@ -3022,10 +3022,10 @@ LAYER_140B:
|
|||
/* 0x1411 [0xCC 0x00 ] */ ldi 0
|
||||
/* 0x1413 [0x76 ] */ stio IO_PORT_6
|
||||
CHAN_1414:
|
||||
/* 0x1414 [0xCB 0x14 0x2D ] */ ldseq UNK_142D
|
||||
/* 0x1414 [0xCB 0x14 0x2D ] */ ldseq ARRAY_142D
|
||||
/* 0x1417 [0xC7 0x00 0x14 0x5B ] */ stseq 0, LAYER_145A + STSEQ_TRANSPOSITION
|
||||
/* 0x141B [0x66 ] */ ldio IO_PORT_6
|
||||
/* 0x141C [0xCB 0x14 0x31 ] */ ldseq UNK_1431
|
||||
/* 0x141C [0xCB 0x14 0x31 ] */ ldseq ARRAY_1431
|
||||
/* 0x141F [0xC7 0x00 0x14 0x56 ] */ stseq 0, LAYER_1455 + STSEQ_NOTEDV_DELAY_HI
|
||||
/* 0x1423 [0xCC 0x18 ] */ ldi 24
|
||||
/* 0x1425 [0x71 ] */ stio IO_PORT_1
|
||||
|
@ -3033,14 +3033,14 @@ CHAN_1414:
|
|||
/* 0x1429 [0x89 0x14 0x35 ] */ ldlayer 1, LAYER_1435
|
||||
/* 0x142C [0xFF ] */ end
|
||||
|
||||
UNK_142D:
|
||||
.byte 0x00, 0x04, 0x08, 0x00
|
||||
.array ARRAY_142D
|
||||
.byte 0, 4, 8, 0
|
||||
|
||||
UNK_1431:
|
||||
.array ARRAY_1431
|
||||
#if !OOT_PAL_N64
|
||||
.byte 0x60, 0x30, 0x18, 0x60
|
||||
.byte 96, 48, 24, 96
|
||||
#else
|
||||
.byte 0x73, 0x3A, 0x1D, 0x60
|
||||
.byte 115, 58, 29, 96
|
||||
#endif
|
||||
|
||||
.layer LAYER_1435
|
||||
|
@ -3943,15 +3943,15 @@ LAYER_1B5C:
|
|||
CHAN_1BA1:
|
||||
/* 0x1BA1 [0x66 ] */ ldio IO_PORT_6
|
||||
/* 0x1BA2 [0xC9 0x03 ] */ and 3
|
||||
/* 0x1BA4 [0xCB 0x1B 0xB6 ] */ ldseq UNK_1BB6
|
||||
/* 0x1BA4 [0xCB 0x1B 0xB6 ] */ ldseq ARRAY_1BB6
|
||||
/* 0x1BA7 [0xC7 0x00 0x1B 0xE7 ] */ stseq 0, LAYER_1BE6 + STSEQ_LDELAY
|
||||
/* 0x1BAB [0xC7 0x08 0x1B 0xB0 ] */ stseq 8, STSEQ_HERE + STSEQ_LDI_IMM
|
||||
/* 0x1BAF [0xCC 0x30 ] */ ldi 48
|
||||
/* 0x1BB1 [0xFC 0x00 0x48 ] */ call CHAN_0048
|
||||
/* 0x1BB4 [0xF4 0xEB ] */ rjump CHAN_1BA1
|
||||
|
||||
UNK_1BB6:
|
||||
.byte 0x20, 0x0E, 0x05, 0x20
|
||||
.array ARRAY_1BB6
|
||||
.byte 32, 14, 5, 32
|
||||
|
||||
.layer LAYER_1BBA
|
||||
/* 0x1BBA [0xC2 0x30 ] */ transpose 48
|
||||
|
@ -4031,16 +4031,16 @@ CHAN_1C3B:
|
|||
/* 0x1C3B [0x63 ] */ ldio IO_PORT_3
|
||||
/* 0x1C3C [0xC9 0xF0 ] */ and 240
|
||||
/* 0x1C3E [0xF3 0x0E ] */ rbeqz CHAN_1C4E
|
||||
/* 0x1C40 [0xCE 0x00 0x00 ] */ ldptr SEQ_0000
|
||||
/* 0x1C40 [0xCE 0x00 0x00 ] */ ldptri 0
|
||||
/* 0x1C43 [0xCF 0x1C 0x80 ] */ stptrtoseq ENVELOPE_1C7A + STSEQ_ENVELOPE_POINT(3)
|
||||
/* 0x1C46 [0xCE 0x7F 0xBC ] */ ldptr SEQ_0_END + 0x1538
|
||||
/* 0x1C46 [0xCE 0x7F 0xBC ] */ ldptri 32700
|
||||
/* 0x1C49 [0xCF 0x1C 0x8C ] */ stptrtoseq ENVELOPE_1C86 + STSEQ_ENVELOPE_POINT(3)
|
||||
/* 0x1C4C [0xF4 0x0C ] */ rjump CHAN_1C5A
|
||||
|
||||
CHAN_1C4E:
|
||||
/* 0x1C4E [0xCE 0x00 0x00 ] */ ldptr SEQ_0000
|
||||
/* 0x1C4E [0xCE 0x00 0x00 ] */ ldptri 0
|
||||
/* 0x1C51 [0xCF 0x1C 0x8C ] */ stptrtoseq ENVELOPE_1C86 + STSEQ_ENVELOPE_POINT(3)
|
||||
/* 0x1C54 [0xCE 0x7F 0xBC ] */ ldptr SEQ_0_END + 0x1538
|
||||
/* 0x1C54 [0xCE 0x7F 0xBC ] */ ldptri 32700
|
||||
/* 0x1C57 [0xCF 0x1C 0x80 ] */ stptrtoseq ENVELOPE_1C7A + STSEQ_ENVELOPE_POINT(3)
|
||||
CHAN_1C5A:
|
||||
/* 0x1C5A [0xCC 0x01 ] */ ldi 1
|
||||
|
@ -7056,9 +7056,9 @@ CHAN_2F7D:
|
|||
/* 0x2F85 [0xB8 0x02 ] */ rand 2
|
||||
/* 0x2F87 [0xC7 0x2F 0x2F 0xAC ] */ stseq 47, LAYER_2FAB + STSEQ_TRANSPOSITION
|
||||
/* 0x2F8B [0xBD 0x00 0x6A 0x00 0x96] */ randptr 106, 150
|
||||
/* 0x2F90 [0xCF 0x2F 0xB6 ] */ stptrtoseq UNK_2FB6
|
||||
/* 0x2F90 [0xCF 0x2F 0xB6 ] */ stptrtoseq BUF_2FB6
|
||||
/* 0x2F93 [0xCC 0x01 ] */ ldi 1
|
||||
/* 0x2F95 [0xCB 0x2F 0xB6 ] */ ldseq UNK_2FB6
|
||||
/* 0x2F95 [0xCB 0x2F 0xB6 ] */ ldseq BUF_2FB6
|
||||
/* 0x2F98 [0xC7 0x00 0x2F 0xA0 ] */ stseq 0, CHAN_2F9F + STSEQ_LDI_IMM
|
||||
/* 0x2F9C [0x88 0x2F 0xAB ] */ ldlayer 0, LAYER_2FAB
|
||||
CHAN_2F9F:
|
||||
|
@ -7077,8 +7077,8 @@ CHAN_2F9F:
|
|||
/* 0x2FB2 [0xC0 0xFD 0x00 ] */ ldelay 32000
|
||||
/* 0x2FB5 [0xFF ] */ end
|
||||
|
||||
UNK_2FB6:
|
||||
.half 0x0000
|
||||
BUF_2FB6:
|
||||
.half 0
|
||||
|
||||
.channel CHAN_2FB8
|
||||
/* 0x2FB8 [0x88 0x2F 0xBF ] */ ldlayer 0, LAYER_2FBF
|
||||
|
@ -12265,9 +12265,9 @@ LAYER_53FD:
|
|||
.channel CHAN_5403
|
||||
/* 0x5403 [0xC1 0x7E ] */ instr FONTANY_INSTR_SFX
|
||||
/* 0x5405 [0x64 ] */ ldio IO_PORT_SFX_INDEX_LOBITS
|
||||
/* 0x5406 [0xC8 0xB0 ] */ sub 176
|
||||
/* 0x5406 [0xC8 0xB0 ] */ sub NA_SE_EN_TWINROBA_LAUGH & 0xFF
|
||||
/* 0x5408 [0xC7 0x00 0x54 0x17 ] */ stseq (ASEQ_OP_LAYER_NOTEDVG | PITCH_A0), LAYER_5417 + STSEQ_NOTEDVG_OPCODE_PITCH
|
||||
/* 0x540C [0xCB 0x54 0x1C ] */ ldseq UNK_541C
|
||||
/* 0x540C [0xCB 0x54 0x1C ] */ ldseq ARRAY_541C
|
||||
/* 0x540F [0xC7 0x00 0x54 0x19 ] */ stseq 0, LAYER_5417 + STSEQ_NOTEDVG_DELAY_LO
|
||||
/* 0x5413 [0x88 0x54 0x17 ] */ ldlayer 0, LAYER_5417
|
||||
/* 0x5416 [0xFF ] */ end
|
||||
|
@ -12276,10 +12276,10 @@ LAYER_53FD:
|
|||
/* 0x5417 [0x00 0x00 0x64 0x00 ] */ notedvg PITCH_A0, 0, 100, 0
|
||||
/* 0x541B [0xFF ] */ end
|
||||
|
||||
UNK_541C:
|
||||
.byte 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
|
||||
.byte 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
|
||||
.byte 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
|
||||
.array ARRAY_541C
|
||||
.byte 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100
|
||||
.byte 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100
|
||||
.byte 100, 100, 100, 100, 100, 100, 100
|
||||
|
||||
.channel CHAN_5443
|
||||
/* 0x5443 [0x88 0x42 0x20 ] */ ldlayer 0, LAYER_4220
|
||||
|
@ -13861,11 +13861,11 @@ CHAN_5EE2:
|
|||
/* 0x5EF7 [0x71 ] */ stio IO_PORT_1
|
||||
/* 0x5EF8 [0x67 ] */ ldio IO_PORT_7
|
||||
/* 0x5EF9 [0xC9 0x07 ] */ and 7
|
||||
/* 0x5EFB [0xCB 0x5F 0x30 ] */ ldseq UNK_5F30
|
||||
/* 0x5EFB [0xCB 0x5F 0x30 ] */ ldseq ARRAY_5F30
|
||||
/* 0x5EFE [0xC7 0x00 0x5F 0x0D ] */ stseq 0, CHAN_5F0C + STSEQ_INSTR
|
||||
/* 0x5F02 [0x67 ] */ ldio IO_PORT_7
|
||||
/* 0x5F03 [0xC9 0x07 ] */ and 7
|
||||
/* 0x5F05 [0xCB 0x5F 0x38 ] */ ldseq UNK_5F38
|
||||
/* 0x5F05 [0xCB 0x5F 0x38 ] */ ldseq ARRAY_5F38
|
||||
/* 0x5F08 [0xC7 0x00 0x5F 0x2E ] */ stseq 0, LAYER_5F2B + STSEQ_NOTEDV_VELOCITY
|
||||
CHAN_5F0C:
|
||||
/* 0x5F0C [0xC1 0x34 ] */ instr SF0_INST_52
|
||||
|
@ -13894,11 +13894,18 @@ LAYER_5F2B:
|
|||
/* 0x5F2B [0x67 0x81 0xE0 0x7F ] */ notedv PITCH_C4, 480, 127
|
||||
/* 0x5F2F [0xFF ] */ end
|
||||
|
||||
UNK_5F30:
|
||||
.byte 0x34, 0x55, 0x56, 0x59, 0x53, 0x52, 0x34, 0x34
|
||||
.array ARRAY_5F30
|
||||
.byte SF0_INST_52
|
||||
.byte SF0_INST_85
|
||||
.byte SF0_INST_86
|
||||
.byte SF0_INST_89
|
||||
.byte SF0_INST_83
|
||||
.byte SF0_INST_82
|
||||
.byte SF0_INST_52
|
||||
.byte SF0_INST_52
|
||||
|
||||
UNK_5F38:
|
||||
.byte 0x73, 0x73, 0x64, 0x73, 0x64, 0x73, 0x73, 0x73
|
||||
.array ARRAY_5F38
|
||||
.byte 115, 115, 100, 115, 100, 115, 115, 115
|
||||
|
||||
.channel CHAN_5F40
|
||||
/* 0x5F40 [0xCC 0x81 ] */ ldi 129
|
||||
|
@ -14044,11 +14051,11 @@ CHAN_6116:
|
|||
/* 0x6116 [0x3E 0x06 ] */ stcio 14, IO_PORT_6
|
||||
/* 0x6118 [0x3F 0x06 ] */ stcio 15, IO_PORT_6
|
||||
CHAN_611A:
|
||||
/* 0x611A [0xCB 0x61 0x6D ] */ ldseq UNK_616D
|
||||
/* 0x611D [0xC7 0x40 0x61 0x2D ] */ stseq (ASEQ_OP_LAYER_NOTEDV | PITCH_A0), LAYER_612D + STSEQ_NOTEDV_OPCODE_PITCH
|
||||
/* 0x611A [0xCB 0x61 0x6D ] */ ldseq ARRAY_616D
|
||||
/* 0x611D [0xC7 0x40 0x61 0x2D ] */ stseq (ASEQ_OP_LAYER_NOTEDV | SF0_EFFECT_0), LAYER_612D + STSEQ_NOTEDV_OPCODE_PITCH
|
||||
/* 0x6121 [0x66 ] */ ldio IO_PORT_6
|
||||
CHAN_6122:
|
||||
/* 0x6122 [0xCB 0x61 0x71 ] */ ldseq UNK_6171
|
||||
/* 0x6122 [0xCB 0x61 0x71 ] */ ldseq ARRAY_6171
|
||||
CHAN_6125:
|
||||
/* 0x6125 [0xC7 0x00 0x61 0x2F ] */ stseq 0, LAYER_612D + STSEQ_NOTEDV_VELOCITY_2
|
||||
/* 0x6129 [0x88 0x61 0x2D ] */ ldlayer 0, LAYER_612D
|
||||
|
@ -14080,7 +14087,7 @@ CHAN_613E:
|
|||
// Reads the byte at (PTR + 0) into TR (the note)
|
||||
/* 0x6147 [0xB6 ] */ dyntblv
|
||||
// Store ASEQ_OP_LAYER_NOTEDV + TR into the pitch
|
||||
/* 0x6148 [0xC7 0x40 0x61 0x2D ] */ stseq (ASEQ_OP_LAYER_NOTEDV | PITCH_A0), LAYER_612D + STSEQ_NOTEDV_OPCODE_PITCH
|
||||
/* 0x6148 [0xC7 0x40 0x61 0x2D ] */ stseq (ASEQ_OP_LAYER_NOTEDV | SF0_EFFECT_0), LAYER_612D + STSEQ_NOTEDV_OPCODE_PITCH
|
||||
// Load 1 into TR
|
||||
/* 0x614C [0xCC 0x01 ] */ ldi 1
|
||||
// Reads the byte at (PTR + 1) into TR (the velocity)
|
||||
|
@ -14096,23 +14103,26 @@ CHAN_6151:
|
|||
/* 0x615B [0xF4 0xBD ] */ rjump CHAN_611A
|
||||
|
||||
.channel CHAN_615D
|
||||
/* 0x615D [0xCE 0x61 0x6D ] */ ldptr UNK_616D
|
||||
/* 0x615D [0xCE 0x61 0x6D ] */ ldptr ARRAY_616D
|
||||
/* 0x6160 [0xCF 0x61 0x1B ] */ stptrtoseq CHAN_611A + STSEQ_PTR_LDSEQ
|
||||
/* 0x6163 [0xCE 0x61 0x71 ] */ ldptr UNK_6171
|
||||
/* 0x6163 [0xCE 0x61 0x71 ] */ ldptr ARRAY_6171
|
||||
/* 0x6166 [0xCF 0x61 0x23 ] */ stptrtoseq CHAN_6122 + STSEQ_PTR_LDSEQ
|
||||
/* 0x6169 [0xCC 0x04 ] */ ldi 4
|
||||
/* 0x616B [0xF4 0x85 ] */ rjump CHAN_60F2
|
||||
|
||||
UNK_616D:
|
||||
.byte 0x00, 0x01, 0x02, 0x03
|
||||
.array ARRAY_616D
|
||||
.byte SF0_EFFECT_0
|
||||
.byte SF0_EFFECT_1
|
||||
.byte SF0_EFFECT_2
|
||||
.byte SF0_EFFECT_3
|
||||
|
||||
UNK_6171:
|
||||
.byte 0x69, 0x69, 0x69, 0x69
|
||||
.array ARRAY_6171
|
||||
.byte 105, 105, 105, 105
|
||||
|
||||
.channel CHAN_6175
|
||||
/* 0x6175 [0xCE 0x61 0x97 ] */ ldptr UNK_6197
|
||||
/* 0x6175 [0xCE 0x61 0x97 ] */ ldptr ARRAY_6197
|
||||
/* 0x6178 [0xCF 0x61 0x1B ] */ stptrtoseq CHAN_611A + STSEQ_PTR_LDSEQ
|
||||
/* 0x617B [0xCE 0x61 0x99 ] */ ldptr UNK_6199
|
||||
/* 0x617B [0xCE 0x61 0x99 ] */ ldptr ARRAY_6199
|
||||
/* 0x617E [0xCF 0x61 0x23 ] */ stptrtoseq CHAN_6122 + STSEQ_PTR_LDSEQ
|
||||
/* 0x6181 [0xB8 0x02 ] */ rand 2
|
||||
/* 0x6183 [0xF4 0xAF ] */ rjump CHAN_6134
|
||||
|
@ -14132,16 +14142,17 @@ CHAN_618C:
|
|||
CHAN_6196:
|
||||
/* 0x6196 [0x76 ] */ stio IO_PORT_6
|
||||
|
||||
UNK_6197:
|
||||
.byte 0x04, 0x05
|
||||
.array ARRAY_6197
|
||||
.byte SF0_EFFECT_4
|
||||
.byte SF0_EFFECT_5
|
||||
|
||||
UNK_6199:
|
||||
.byte 0x6E, 0x6E
|
||||
.array ARRAY_6199
|
||||
.byte 110, 110
|
||||
|
||||
.channel CHAN_619B
|
||||
/* 0x619B [0xCE 0x61 0xBD ] */ ldptr UNK_61BD
|
||||
/* 0x619B [0xCE 0x61 0xBD ] */ ldptr ARRAY_61BD
|
||||
/* 0x619E [0xCF 0x61 0x1B ] */ stptrtoseq CHAN_611A + STSEQ_PTR_LDSEQ
|
||||
/* 0x61A1 [0xCE 0x61 0xBF ] */ ldptr UNK_61BF
|
||||
/* 0x61A1 [0xCE 0x61 0xBF ] */ ldptr ARRAY_61BF
|
||||
/* 0x61A4 [0xCF 0x61 0x23 ] */ stptrtoseq CHAN_6122 + STSEQ_PTR_LDSEQ
|
||||
/* 0x61A7 [0xB8 0x02 ] */ rand 2
|
||||
/* 0x61A9 [0xF4 0x89 ] */ rjump CHAN_6134
|
||||
|
@ -14161,109 +14172,119 @@ CHAN_61B2:
|
|||
CHAN_61BC:
|
||||
/* 0x61BC [0x76 ] */ stio IO_PORT_6
|
||||
|
||||
UNK_61BD:
|
||||
.byte 0x15, 0x16
|
||||
.array ARRAY_61BD
|
||||
.byte SF0_EFFECT_21
|
||||
.byte SF0_EFFECT_22
|
||||
|
||||
UNK_61BF:
|
||||
.byte 0x69, 0x69
|
||||
.array ARRAY_61BF
|
||||
.byte 105, 105
|
||||
|
||||
.channel CHAN_61C1
|
||||
/* 0x61C1 [0xCE 0x61 0xD1 ] */ ldptr UNK_61D1
|
||||
/* 0x61C1 [0xCE 0x61 0xD1 ] */ ldptr ARRAY_61D1
|
||||
/* 0x61C4 [0xCF 0x61 0x1B ] */ stptrtoseq CHAN_611A + STSEQ_PTR_LDSEQ
|
||||
/* 0x61C7 [0xCE 0x61 0xD3 ] */ ldptr UNK_61D3
|
||||
/* 0x61C7 [0xCE 0x61 0xD3 ] */ ldptr ARRAY_61D3
|
||||
/* 0x61CA [0xCF 0x61 0x23 ] */ stptrtoseq CHAN_6122 + STSEQ_PTR_LDSEQ
|
||||
/* 0x61CD [0xCC 0x00 ] */ ldi 0
|
||||
/* 0x61CF [0xF4 0x80 ] */ rjump CHAN_6151
|
||||
|
||||
UNK_61D1:
|
||||
.byte 0x06, 0x19
|
||||
.array ARRAY_61D1
|
||||
.byte SF0_EFFECT_6
|
||||
.byte SF0_EFFECT_25
|
||||
|
||||
UNK_61D3:
|
||||
.byte 0x5F, 0x69
|
||||
.array ARRAY_61D3
|
||||
.byte 95, 105
|
||||
|
||||
.channel CHAN_61D5
|
||||
/* 0x61D5 [0xCE 0x61 0xE6 ] */ ldptr UNK_61E6
|
||||
/* 0x61D5 [0xCE 0x61 0xE6 ] */ ldptr ARRAY_61E6
|
||||
/* 0x61D8 [0xCF 0x61 0x1B ] */ stptrtoseq CHAN_611A + STSEQ_PTR_LDSEQ
|
||||
/* 0x61DB [0xCE 0x61 0xE8 ] */ ldptr UNK_61E8
|
||||
/* 0x61DB [0xCE 0x61 0xE8 ] */ ldptr ARRAY_61E8
|
||||
/* 0x61DE [0xCF 0x61 0x23 ] */ stptrtoseq CHAN_6122 + STSEQ_PTR_LDSEQ
|
||||
/* 0x61E1 [0xB8 0x02 ] */ rand 2
|
||||
/* 0x61E3 [0xFB 0x61 0x34 ] */ jump CHAN_6134
|
||||
|
||||
UNK_61E6:
|
||||
.byte 0x07, 0x08
|
||||
.array ARRAY_61E6
|
||||
.byte SF0_EFFECT_7
|
||||
.byte SF0_EFFECT_8
|
||||
|
||||
UNK_61E8:
|
||||
.byte 0x48, 0x50
|
||||
.array ARRAY_61E8
|
||||
.byte 72, 80
|
||||
|
||||
.channel CHAN_61EA
|
||||
/* 0x61EA [0xCE 0x61 0xFB ] */ ldptr UNK_61FB
|
||||
/* 0x61EA [0xCE 0x61 0xFB ] */ ldptr ARRAY_61FB
|
||||
/* 0x61ED [0xCF 0x61 0x1B ] */ stptrtoseq CHAN_611A + STSEQ_PTR_LDSEQ
|
||||
/* 0x61F0 [0xCE 0x61 0xFE ] */ ldptr UNK_61FE
|
||||
/* 0x61F0 [0xCE 0x61 0xFE ] */ ldptr ARRAY_61FE
|
||||
/* 0x61F3 [0xCF 0x61 0x23 ] */ stptrtoseq CHAN_6122 + STSEQ_PTR_LDSEQ
|
||||
/* 0x61F6 [0xCC 0x03 ] */ ldi 3
|
||||
/* 0x61F8 [0xFB 0x60 0xF2 ] */ jump CHAN_60F2
|
||||
|
||||
UNK_61FB:
|
||||
.byte 0x09, 0x0A, 0x0B
|
||||
.array ARRAY_61FB
|
||||
.byte SF0_EFFECT_9
|
||||
.byte SF0_EFFECT_10
|
||||
.byte SF0_EFFECT_11
|
||||
|
||||
UNK_61FE:
|
||||
.byte 0x75, 0x75, 0x75
|
||||
.array ARRAY_61FE
|
||||
.byte 117, 117, 117
|
||||
|
||||
.channel CHAN_6201
|
||||
/* 0x6201 [0xCE 0x62 0x12 ] */ ldptr UNK_6212
|
||||
/* 0x6201 [0xCE 0x62 0x12 ] */ ldptr ARRAY_6212
|
||||
/* 0x6204 [0xCF 0x61 0x1B ] */ stptrtoseq CHAN_611A + STSEQ_PTR_LDSEQ
|
||||
/* 0x6207 [0xCE 0x62 0x15 ] */ ldptr UNK_6215
|
||||
/* 0x6207 [0xCE 0x62 0x15 ] */ ldptr ARRAY_6215
|
||||
/* 0x620A [0xCF 0x61 0x23 ] */ stptrtoseq CHAN_6122 + STSEQ_PTR_LDSEQ
|
||||
/* 0x620D [0xCC 0x03 ] */ ldi 3
|
||||
/* 0x620F [0xFB 0x60 0xF2 ] */ jump CHAN_60F2
|
||||
|
||||
UNK_6212:
|
||||
.byte 0x0C, 0x0D, 0x0E
|
||||
.array ARRAY_6212
|
||||
.byte SF0_EFFECT_12
|
||||
.byte SF0_EFFECT_13
|
||||
.byte SF0_EFFECT_14
|
||||
|
||||
UNK_6215:
|
||||
.byte 0x71, 0x71, 0x71
|
||||
.array ARRAY_6215
|
||||
.byte 113, 113, 113
|
||||
|
||||
.channel CHAN_6218
|
||||
/* 0x6218 [0xCE 0x62 0x29 ] */ ldptr UNK_6229
|
||||
/* 0x6218 [0xCE 0x62 0x29 ] */ ldptr ARRAY_6229
|
||||
/* 0x621B [0xCF 0x61 0x1B ] */ stptrtoseq CHAN_611A + STSEQ_PTR_LDSEQ
|
||||
/* 0x621E [0xCE 0x62 0x2B ] */ ldptr UNK_622B
|
||||
/* 0x621E [0xCE 0x62 0x2B ] */ ldptr ARRAY_622B
|
||||
/* 0x6221 [0xCF 0x61 0x23 ] */ stptrtoseq CHAN_6122 + STSEQ_PTR_LDSEQ
|
||||
/* 0x6224 [0xB8 0x02 ] */ rand 2
|
||||
/* 0x6226 [0xFB 0x61 0x34 ] */ jump CHAN_6134
|
||||
|
||||
UNK_6229:
|
||||
.byte 0x11, 0x12
|
||||
.array ARRAY_6229
|
||||
.byte SF0_EFFECT_17
|
||||
.byte SF0_EFFECT_18
|
||||
|
||||
UNK_622B:
|
||||
.byte 0x64, 0x64
|
||||
.array ARRAY_622B
|
||||
.byte 100, 100
|
||||
|
||||
.channel CHAN_622D
|
||||
/* 0x622D [0xCE 0x62 0x3E ] */ ldptr UNK_623E
|
||||
/* 0x622D [0xCE 0x62 0x3E ] */ ldptr ARRAY_623E
|
||||
/* 0x6230 [0xCF 0x61 0x1B ] */ stptrtoseq CHAN_611A + STSEQ_PTR_LDSEQ
|
||||
/* 0x6233 [0xCE 0x62 0x40 ] */ ldptr UNK_6240
|
||||
/* 0x6233 [0xCE 0x62 0x40 ] */ ldptr ARRAY_6240
|
||||
/* 0x6236 [0xCF 0x61 0x23 ] */ stptrtoseq CHAN_6122 + STSEQ_PTR_LDSEQ
|
||||
/* 0x6239 [0xB8 0x02 ] */ rand 2
|
||||
/* 0x623B [0xFB 0x61 0x34 ] */ jump CHAN_6134
|
||||
|
||||
UNK_623E:
|
||||
.byte 0x0F, 0x10
|
||||
.array ARRAY_623E
|
||||
.byte SF0_EFFECT_15
|
||||
.byte SF0_EFFECT_16
|
||||
|
||||
UNK_6240:
|
||||
.byte 0x6E, 0x6E
|
||||
.array ARRAY_6240
|
||||
.byte 110, 110
|
||||
|
||||
.channel CHAN_6242
|
||||
/* 0x6242 [0xCE 0x62 0x53 ] */ ldptr UNK_6253
|
||||
/* 0x6242 [0xCE 0x62 0x53 ] */ ldptr ARRAY_6253
|
||||
/* 0x6245 [0xCF 0x61 0x1B ] */ stptrtoseq CHAN_611A + STSEQ_PTR_LDSEQ
|
||||
/* 0x6248 [0xCE 0x62 0x55 ] */ ldptr UNK_6255
|
||||
/* 0x6248 [0xCE 0x62 0x55 ] */ ldptr ARRAY_6255
|
||||
/* 0x624B [0xCF 0x61 0x23 ] */ stptrtoseq CHAN_6122 + STSEQ_PTR_LDSEQ
|
||||
/* 0x624E [0xB8 0x02 ] */ rand 2
|
||||
/* 0x6250 [0xFB 0x61 0x34 ] */ jump CHAN_6134
|
||||
|
||||
UNK_6253:
|
||||
.byte 0x13, 0x17
|
||||
.array ARRAY_6253
|
||||
.byte SF0_EFFECT_19
|
||||
.byte SF0_EFFECT_23
|
||||
|
||||
UNK_6255:
|
||||
.byte 0x5A, 0x5A
|
||||
.array ARRAY_6255
|
||||
.byte 90, 90
|
||||
|
||||
.channel CHAN_6257
|
||||
/* 0x6257 [0x88 0x62 0x5B ] */ ldlayer 0, LAYER_625B
|
||||
|
@ -14285,18 +14306,19 @@ UNK_6255:
|
|||
/* 0x626E [0xFF ] */ end
|
||||
|
||||
.channel CHAN_626F
|
||||
/* 0x626F [0xCE 0x62 0x80 ] */ ldptr UNK_6280
|
||||
/* 0x626F [0xCE 0x62 0x80 ] */ ldptr ARRAY_6280
|
||||
/* 0x6272 [0xCF 0x61 0x1B ] */ stptrtoseq CHAN_611A + STSEQ_PTR_LDSEQ
|
||||
/* 0x6275 [0xCE 0x62 0x82 ] */ ldptr UNK_6282
|
||||
/* 0x6275 [0xCE 0x62 0x82 ] */ ldptr ARRAY_6282
|
||||
/* 0x6278 [0xCF 0x61 0x23 ] */ stptrtoseq CHAN_6122 + STSEQ_PTR_LDSEQ
|
||||
/* 0x627B [0xB8 0x02 ] */ rand 2
|
||||
/* 0x627D [0xFB 0x61 0x34 ] */ jump CHAN_6134
|
||||
|
||||
UNK_6280:
|
||||
.byte 0x0F, 0x10
|
||||
.array ARRAY_6280
|
||||
.byte SF0_EFFECT_15
|
||||
.byte SF0_EFFECT_16
|
||||
|
||||
UNK_6282:
|
||||
.byte 0x69, 0x69
|
||||
.array ARRAY_6282
|
||||
.byte 105, 105
|
||||
|
||||
.channel CHAN_6284
|
||||
/* 0x6284 [0xFB 0x61 0xEA ] */ jump CHAN_61EA
|
||||
|
@ -14343,37 +14365,40 @@ UNK_6282:
|
|||
/* 0x62C5 [0xFF ] */ end
|
||||
|
||||
.channel CHAN_62C6
|
||||
/* 0x62C6 [0xCE 0x62 0xCC ] */ ldptr UNK_62CC
|
||||
/* 0x62C6 [0xCE 0x62 0xCC ] */ ldptr ARRAY_62CC
|
||||
/* 0x62C9 [0xFB 0x61 0x3E ] */ jump CHAN_613E
|
||||
|
||||
UNK_62CC:
|
||||
.byte 0x00, 0x64
|
||||
.array ARRAY_62CC
|
||||
.byte SF0_EFFECT_0
|
||||
.byte 100
|
||||
|
||||
.channel CHAN_62CE
|
||||
/* 0x62CE [0x66 ] */ ldio IO_PORT_6
|
||||
/* 0x62CF [0xC8 0xFF ] */ sub 255
|
||||
/* 0x62D1 [0x76 ] */ stio IO_PORT_6
|
||||
/* 0x62D2 [0xC9 0x01 ] */ and 1
|
||||
/* 0x62D4 [0xCB 0x62 0xE8 ] */ ldseq UNK_62E8
|
||||
/* 0x62D7 [0xC7 0x40 0x64 0xBF ] */ stseq (ASEQ_OP_LAYER_NOTEDV | PITCH_A0), LAYER_64BF + STSEQ_NOTEDV_OPCODE_PITCH
|
||||
/* 0x62D4 [0xCB 0x62 0xE8 ] */ ldseq ARRAY_62E8
|
||||
/* 0x62D7 [0xC7 0x40 0x64 0xBF ] */ stseq (ASEQ_OP_LAYER_NOTEDV | SF0_EFFECT_0), LAYER_64BF + STSEQ_NOTEDV_OPCODE_PITCH
|
||||
/* 0x62DB [0xB8 0x02 ] */ rand 2
|
||||
/* 0x62DD [0xCB 0x62 0xEA ] */ ldseq UNK_62EA
|
||||
/* 0x62DD [0xCB 0x62 0xEA ] */ ldseq ARRAY_62EA
|
||||
/* 0x62E0 [0xC7 0x00 0x64 0xC1 ] */ stseq 0, LAYER_64BF + STSEQ_NOTEDV_VELOCITY_2
|
||||
/* 0x62E4 [0x88 0x64 0xBF ] */ ldlayer 0, LAYER_64BF
|
||||
/* 0x62E7 [0xFF ] */ end
|
||||
|
||||
UNK_62E8:
|
||||
.byte 0x1A, 0x1B
|
||||
.array ARRAY_62E8
|
||||
.byte SF0_EFFECT_26
|
||||
.byte SF0_EFFECT_27
|
||||
|
||||
UNK_62EA:
|
||||
.byte 0x50, 0x55
|
||||
.array ARRAY_62EA
|
||||
.byte 80, 85
|
||||
|
||||
.channel CHAN_62EC
|
||||
/* 0x62EC [0xCE 0x62 0xF2 ] */ ldptr UNK_62F2
|
||||
/* 0x62EC [0xCE 0x62 0xF2 ] */ ldptr ARRAY_62F2
|
||||
/* 0x62EF [0xFB 0x61 0x3E ] */ jump CHAN_613E
|
||||
|
||||
UNK_62F2:
|
||||
.byte 0x05, 0x6E
|
||||
.array ARRAY_62F2
|
||||
.byte SF0_EFFECT_5
|
||||
.byte 110
|
||||
|
||||
.channel CHAN_62F4
|
||||
/* 0x62F4 [0x88 0x62 0xF8 ] */ ldlayer 0, LAYER_62F8
|
||||
|
@ -14385,72 +14410,82 @@ UNK_62F2:
|
|||
/* 0x62FD [0xFF ] */ end
|
||||
|
||||
.channel CHAN_62FE
|
||||
/* 0x62FE [0xCE 0x63 0x04 ] */ ldptr UNK_6304
|
||||
/* 0x62FE [0xCE 0x63 0x04 ] */ ldptr ARRAY_6304
|
||||
/* 0x6301 [0xFB 0x61 0x3E ] */ jump CHAN_613E
|
||||
|
||||
UNK_6304:
|
||||
.byte 0x04, 0x5F
|
||||
.array ARRAY_6304
|
||||
.byte SF0_EFFECT_4
|
||||
.byte 95
|
||||
|
||||
.channel CHAN_6306
|
||||
/* 0x6306 [0xCE 0x63 0x0C ] */ ldptr UNK_630C
|
||||
/* 0x6306 [0xCE 0x63 0x0C ] */ ldptr ARRAY_630C
|
||||
/* 0x6309 [0xFB 0x61 0x3E ] */ jump CHAN_613E
|
||||
|
||||
UNK_630C:
|
||||
.byte 0x07, 0x52
|
||||
.array ARRAY_630C
|
||||
.byte SF0_EFFECT_7
|
||||
.byte 82
|
||||
|
||||
.channel CHAN_630E
|
||||
/* 0x630E [0xCE 0x63 0x14 ] */ ldptr UNK_6314
|
||||
/* 0x630E [0xCE 0x63 0x14 ] */ ldptr ARRAY_6314
|
||||
/* 0x6311 [0xFB 0x61 0x3E ] */ jump CHAN_613E
|
||||
|
||||
UNK_6314:
|
||||
.byte 0x06, 0x5F
|
||||
.array ARRAY_6314
|
||||
.byte SF0_EFFECT_6
|
||||
.byte 95
|
||||
|
||||
.channel CHAN_6316
|
||||
/* 0x6316 [0xCE 0x63 0x1C ] */ ldptr UNK_631C
|
||||
/* 0x6316 [0xCE 0x63 0x1C ] */ ldptr ARRAY_631C
|
||||
/* 0x6319 [0xFB 0x61 0x3E ] */ jump CHAN_613E
|
||||
|
||||
UNK_631C:
|
||||
.byte 0x18, 0x6E
|
||||
.array ARRAY_631C
|
||||
.byte SF0_EFFECT_24
|
||||
.byte 110
|
||||
|
||||
.channel CHAN_631E
|
||||
/* 0x631E [0xCE 0x63 0x24 ] */ ldptr UNK_6324
|
||||
/* 0x631E [0xCE 0x63 0x24 ] */ ldptr ARRAY_6324
|
||||
/* 0x6321 [0xFB 0x61 0x3E ] */ jump CHAN_613E
|
||||
|
||||
UNK_6324:
|
||||
.byte 0x3C, 0x64
|
||||
.array ARRAY_6324
|
||||
.byte SF0_EFFECT_60
|
||||
.byte 100
|
||||
|
||||
.channel CHAN_6326
|
||||
/* 0x6326 [0xCE 0x63 0x2C ] */ ldptr UNK_632C
|
||||
/* 0x6326 [0xCE 0x63 0x2C ] */ ldptr ARRAY_632C
|
||||
/* 0x6329 [0xFB 0x61 0x3E ] */ jump CHAN_613E
|
||||
|
||||
UNK_632C:
|
||||
.byte 0x3D, 0x6E
|
||||
.array ARRAY_632C
|
||||
.byte SF0_EFFECT_61
|
||||
.byte 110
|
||||
|
||||
.channel CHAN_632E
|
||||
/* 0x632E [0xCE 0x63 0x34 ] */ ldptr UNK_6334
|
||||
/* 0x632E [0xCE 0x63 0x34 ] */ ldptr ARRAY_6334
|
||||
/* 0x6331 [0xFB 0x61 0x3E ] */ jump CHAN_613E
|
||||
|
||||
UNK_6334:
|
||||
.byte 0x0D, 0x71
|
||||
.array ARRAY_6334
|
||||
.byte SF0_EFFECT_13
|
||||
.byte 113
|
||||
|
||||
.channel CHAN_6336
|
||||
/* 0x6336 [0xCE 0x63 0x47 ] */ ldptr UNK_6347
|
||||
/* 0x6336 [0xCE 0x63 0x47 ] */ ldptr ARRAY_6347
|
||||
/* 0x6339 [0xCF 0x61 0x1B ] */ stptrtoseq CHAN_611A + STSEQ_PTR_LDSEQ
|
||||
/* 0x633C [0xCE 0x63 0x4B ] */ ldptr UNK_634B
|
||||
/* 0x633C [0xCE 0x63 0x4B ] */ ldptr ARRAY_634B
|
||||
/* 0x633F [0xCF 0x61 0x23 ] */ stptrtoseq CHAN_6122 + STSEQ_PTR_LDSEQ
|
||||
/* 0x6342 [0xCC 0x04 ] */ ldi 4
|
||||
/* 0x6344 [0xFB 0x60 0xF2 ] */ jump CHAN_60F2
|
||||
|
||||
UNK_6347:
|
||||
.byte 0x1C, 0x1D, 0x1E, 0x1F
|
||||
.array ARRAY_6347
|
||||
.byte SF0_EFFECT_28
|
||||
.byte SF0_EFFECT_29
|
||||
.byte SF0_EFFECT_30
|
||||
.byte SF0_EFFECT_31
|
||||
|
||||
UNK_634B:
|
||||
.byte 0x6E, 0x6E, 0x6E, 0x6E
|
||||
.array ARRAY_634B
|
||||
.byte 110, 110, 110, 110
|
||||
|
||||
.channel CHAN_634F
|
||||
/* 0x634F [0xCE 0x63 0x72 ] */ ldptr UNK_6372
|
||||
/* 0x634F [0xCE 0x63 0x72 ] */ ldptr ARRAY_6372
|
||||
/* 0x6352 [0xCF 0x61 0x1B ] */ stptrtoseq CHAN_611A + STSEQ_PTR_LDSEQ
|
||||
/* 0x6355 [0xCE 0x63 0x74 ] */ ldptr UNK_6374
|
||||
/* 0x6355 [0xCE 0x63 0x74 ] */ ldptr ARRAY_6374
|
||||
/* 0x6358 [0xCF 0x61 0x23 ] */ stptrtoseq CHAN_6122 + STSEQ_PTR_LDSEQ
|
||||
/* 0x635B [0xB8 0x02 ] */ rand 2
|
||||
/* 0x635D [0xFB 0x61 0x34 ] */ jump CHAN_6134
|
||||
|
@ -14470,21 +14505,22 @@ CHAN_6367:
|
|||
CHAN_6371:
|
||||
/* 0x6371 [0x76 ] */ stio IO_PORT_6
|
||||
|
||||
UNK_6372:
|
||||
.byte 0x20, 0x21
|
||||
.array ARRAY_6372
|
||||
.byte SF0_EFFECT_32
|
||||
.byte SF0_EFFECT_33
|
||||
|
||||
UNK_6374:
|
||||
.byte 0x6E, 0x6E
|
||||
.array ARRAY_6374
|
||||
.byte 110, 110
|
||||
|
||||
.channel CHAN_6376
|
||||
/* 0x6376 [0x66 ] */ ldio IO_PORT_6
|
||||
/* 0x6377 [0xC8 0xFF ] */ sub 255
|
||||
/* 0x6379 [0x76 ] */ stio IO_PORT_6
|
||||
/* 0x637A [0xC9 0x01 ] */ and 1
|
||||
/* 0x637C [0xCB 0x63 0x96 ] */ ldseq UNK_6396
|
||||
/* 0x637F [0xC7 0x40 0x63 0x90 ] */ stseq (ASEQ_OP_LAYER_NOTEDV | PITCH_A0), LAYER_6390 + STSEQ_NOTEDV_OPCODE_PITCH
|
||||
/* 0x637C [0xCB 0x63 0x96 ] */ ldseq ARRAY_6396
|
||||
/* 0x637F [0xC7 0x40 0x63 0x90 ] */ stseq (ASEQ_OP_LAYER_NOTEDV | SF0_EFFECT_0), LAYER_6390 + STSEQ_NOTEDV_OPCODE_PITCH
|
||||
/* 0x6383 [0xB8 0x02 ] */ rand 2
|
||||
/* 0x6385 [0xCB 0x63 0x98 ] */ ldseq UNK_6398
|
||||
/* 0x6385 [0xCB 0x63 0x98 ] */ ldseq ARRAY_6398
|
||||
/* 0x6388 [0xC7 0x00 0x63 0x92 ] */ stseq 0, LAYER_6390 + STSEQ_NOTEDV_VELOCITY_2
|
||||
/* 0x638C [0x88 0x63 0x90 ] */ ldlayer 0, LAYER_6390
|
||||
/* 0x638F [0xFF ] */ end
|
||||
|
@ -14494,95 +14530,104 @@ UNK_6374:
|
|||
/* 0x6393 [0xC0 0x30 ] */ ldelay 48
|
||||
/* 0x6395 [0xFF ] */ end
|
||||
|
||||
UNK_6396:
|
||||
.byte 0x22, 0x32
|
||||
.array ARRAY_6396
|
||||
.byte SF0_EFFECT_34
|
||||
.byte SF0_EFFECT_50
|
||||
|
||||
UNK_6398:
|
||||
.byte 0x64, 0x64
|
||||
.array ARRAY_6398
|
||||
.byte 100, 100
|
||||
|
||||
.channel CHAN_639A
|
||||
/* 0x639A [0xCE 0x63 0xAB ] */ ldptr UNK_63AB
|
||||
/* 0x639A [0xCE 0x63 0xAB ] */ ldptr ARRAY_63AB
|
||||
/* 0x639D [0xCF 0x61 0x1B ] */ stptrtoseq CHAN_611A + STSEQ_PTR_LDSEQ
|
||||
/* 0x63A0 [0xCE 0x63 0xAD ] */ ldptr UNK_63AD
|
||||
/* 0x63A0 [0xCE 0x63 0xAD ] */ ldptr ARRAY_63AD
|
||||
/* 0x63A3 [0xCF 0x61 0x23 ] */ stptrtoseq CHAN_6122 + STSEQ_PTR_LDSEQ
|
||||
/* 0x63A6 [0xB8 0x02 ] */ rand 2
|
||||
/* 0x63A8 [0xFB 0x61 0x34 ] */ jump CHAN_6134
|
||||
|
||||
UNK_63AB:
|
||||
.byte 0x23, 0x24
|
||||
.array ARRAY_63AB
|
||||
.byte SF0_EFFECT_35
|
||||
.byte SF0_EFFECT_36
|
||||
|
||||
UNK_63AD:
|
||||
.byte 0x5A, 0x46
|
||||
.array ARRAY_63AD
|
||||
.byte 90, 70
|
||||
|
||||
.channel CHAN_63AF
|
||||
/* 0x63AF [0xCE 0x63 0xC0 ] */ ldptr UNK_63C0
|
||||
/* 0x63AF [0xCE 0x63 0xC0 ] */ ldptr ARRAY_63C0
|
||||
/* 0x63B2 [0xCF 0x61 0x1B ] */ stptrtoseq CHAN_611A + STSEQ_PTR_LDSEQ
|
||||
/* 0x63B5 [0xCE 0x63 0xC3 ] */ ldptr UNK_63C3
|
||||
/* 0x63B5 [0xCE 0x63 0xC3 ] */ ldptr ARRAY_63C3
|
||||
/* 0x63B8 [0xCF 0x61 0x23 ] */ stptrtoseq CHAN_6122 + STSEQ_PTR_LDSEQ
|
||||
/* 0x63BB [0xCC 0x03 ] */ ldi 3
|
||||
/* 0x63BD [0xFB 0x60 0xF2 ] */ jump CHAN_60F2
|
||||
|
||||
UNK_63C0:
|
||||
.byte 0x25, 0x26, 0x27
|
||||
.array ARRAY_63C0
|
||||
.byte SF0_EFFECT_37
|
||||
.byte SF0_EFFECT_38
|
||||
.byte SF0_EFFECT_39
|
||||
|
||||
UNK_63C3:
|
||||
.byte 0x6E, 0x6E, 0x6E
|
||||
.array ARRAY_63C3
|
||||
.byte 110, 110, 110
|
||||
|
||||
.channel CHAN_63C6
|
||||
/* 0x63C6 [0xCE 0x63 0xD7 ] */ ldptr UNK_63D7
|
||||
/* 0x63C6 [0xCE 0x63 0xD7 ] */ ldptr ARRAY_63D7
|
||||
/* 0x63C9 [0xCF 0x61 0x1B ] */ stptrtoseq CHAN_611A + STSEQ_PTR_LDSEQ
|
||||
/* 0x63CC [0xCE 0x63 0xDA ] */ ldptr UNK_63DA
|
||||
/* 0x63CC [0xCE 0x63 0xDA ] */ ldptr ARRAY_63DA
|
||||
/* 0x63CF [0xCF 0x61 0x23 ] */ stptrtoseq CHAN_6122 + STSEQ_PTR_LDSEQ
|
||||
/* 0x63D2 [0xCC 0x03 ] */ ldi 3
|
||||
/* 0x63D4 [0xFB 0x60 0xF2 ] */ jump CHAN_60F2
|
||||
|
||||
UNK_63D7:
|
||||
.byte 0x28, 0x29, 0x2A
|
||||
.array ARRAY_63D7
|
||||
.byte SF0_EFFECT_40
|
||||
.byte SF0_EFFECT_41
|
||||
.byte SF0_EFFECT_42
|
||||
|
||||
UNK_63DA:
|
||||
.byte 0x6E, 0x6E, 0x6E
|
||||
.array ARRAY_63DA
|
||||
.byte 110, 110, 110
|
||||
|
||||
.channel CHAN_63DD
|
||||
/* 0x63DD [0xCE 0x63 0xEE ] */ ldptr UNK_63EE
|
||||
/* 0x63DD [0xCE 0x63 0xEE ] */ ldptr ARRAY_63EE
|
||||
/* 0x63E0 [0xCF 0x61 0x1B ] */ stptrtoseq CHAN_611A + STSEQ_PTR_LDSEQ
|
||||
/* 0x63E3 [0xCE 0x63 0xF0 ] */ ldptr UNK_63F0
|
||||
/* 0x63E3 [0xCE 0x63 0xF0 ] */ ldptr ARRAY_63F0
|
||||
/* 0x63E6 [0xCF 0x61 0x23 ] */ stptrtoseq CHAN_6122 + STSEQ_PTR_LDSEQ
|
||||
/* 0x63E9 [0xB8 0x02 ] */ rand 2
|
||||
/* 0x63EB [0xFB 0x61 0x34 ] */ jump CHAN_6134
|
||||
|
||||
UNK_63EE:
|
||||
.byte 0x2D, 0x2E
|
||||
.array ARRAY_63EE
|
||||
.byte SF0_EFFECT_45
|
||||
.byte SF0_EFFECT_46
|
||||
|
||||
UNK_63F0:
|
||||
.byte 0x64, 0x64
|
||||
.array ARRAY_63F0
|
||||
.byte 100, 100
|
||||
|
||||
.channel CHAN_63F2
|
||||
/* 0x63F2 [0xCE 0x64 0x03 ] */ ldptr UNK_6403
|
||||
/* 0x63F2 [0xCE 0x64 0x03 ] */ ldptr ARRAY_6403
|
||||
/* 0x63F5 [0xCF 0x61 0x1B ] */ stptrtoseq CHAN_611A + STSEQ_PTR_LDSEQ
|
||||
/* 0x63F8 [0xCE 0x64 0x05 ] */ ldptr UNK_6405
|
||||
/* 0x63F8 [0xCE 0x64 0x05 ] */ ldptr ARRAY_6405
|
||||
/* 0x63FB [0xCF 0x61 0x23 ] */ stptrtoseq CHAN_6122 + STSEQ_PTR_LDSEQ
|
||||
/* 0x63FE [0xB8 0x02 ] */ rand 2
|
||||
/* 0x6400 [0xFB 0x61 0x34 ] */ jump CHAN_6134
|
||||
|
||||
UNK_6403:
|
||||
.byte 0x2B, 0x2C
|
||||
.array ARRAY_6403
|
||||
.byte SF0_EFFECT_43
|
||||
.byte SF0_EFFECT_44
|
||||
|
||||
UNK_6405:
|
||||
.byte 0x64, 0x64
|
||||
.array ARRAY_6405
|
||||
.byte 100, 100
|
||||
|
||||
.channel CHAN_6407
|
||||
/* 0x6407 [0xCE 0x64 0x18 ] */ ldptr UNK_6418
|
||||
/* 0x6407 [0xCE 0x64 0x18 ] */ ldptr ARRAY_6418
|
||||
/* 0x640A [0xCF 0x61 0x1B ] */ stptrtoseq CHAN_611A + STSEQ_PTR_LDSEQ
|
||||
/* 0x640D [0xCE 0x64 0x1A ] */ ldptr UNK_641A
|
||||
/* 0x640D [0xCE 0x64 0x1A ] */ ldptr ARRAY_641A
|
||||
/* 0x6410 [0xCF 0x61 0x23 ] */ stptrtoseq CHAN_6122 + STSEQ_PTR_LDSEQ
|
||||
/* 0x6413 [0xB8 0x02 ] */ rand 2
|
||||
/* 0x6415 [0xFB 0x61 0x34 ] */ jump CHAN_6134
|
||||
|
||||
UNK_6418:
|
||||
.byte 0x2F, 0x30
|
||||
.array ARRAY_6418
|
||||
.byte SF0_EFFECT_47
|
||||
.byte SF0_EFFECT_48
|
||||
|
||||
UNK_641A:
|
||||
.byte 0x55, 0x55
|
||||
.array ARRAY_641A
|
||||
.byte 85, 85
|
||||
|
||||
.channel CHAN_641C
|
||||
/* 0x641C [0x88 0x64 0x20 ] */ ldlayer 0, LAYER_6420
|
||||
|
@ -14604,25 +14649,27 @@ UNK_641A:
|
|||
/* 0x6433 [0xFF ] */ end
|
||||
|
||||
.channel CHAN_6434
|
||||
/* 0x6434 [0xCE 0x64 0x45 ] */ ldptr UNK_6445
|
||||
/* 0x6434 [0xCE 0x64 0x45 ] */ ldptr ARRAY_6445
|
||||
/* 0x6437 [0xCF 0x61 0x1B ] */ stptrtoseq CHAN_611A + STSEQ_PTR_LDSEQ
|
||||
/* 0x643A [0xCE 0x64 0x47 ] */ ldptr UNK_6447
|
||||
/* 0x643A [0xCE 0x64 0x47 ] */ ldptr ARRAY_6447
|
||||
/* 0x643D [0xCF 0x61 0x23 ] */ stptrtoseq CHAN_6122 + STSEQ_PTR_LDSEQ
|
||||
/* 0x6440 [0xB8 0x02 ] */ rand 2
|
||||
/* 0x6442 [0xFB 0x61 0x34 ] */ jump CHAN_6134
|
||||
|
||||
UNK_6445:
|
||||
.byte 0x2B, 0x2C
|
||||
.array ARRAY_6445
|
||||
.byte SF0_EFFECT_43
|
||||
.byte SF0_EFFECT_44
|
||||
|
||||
UNK_6447:
|
||||
.byte 0x64, 0x64
|
||||
.array ARRAY_6447
|
||||
.byte 100, 100
|
||||
|
||||
.channel CHAN_6449
|
||||
/* 0x6449 [0xCE 0x64 0x4F ] */ ldptr UNK_644F
|
||||
/* 0x6449 [0xCE 0x64 0x4F ] */ ldptr ARRAY_644F
|
||||
/* 0x644C [0xFB 0x61 0x3E ] */ jump CHAN_613E
|
||||
|
||||
UNK_644F:
|
||||
.byte 0x14, 0x64
|
||||
.array ARRAY_644F
|
||||
.byte SF0_EFFECT_20
|
||||
.byte 100
|
||||
|
||||
.channel CHAN_6451
|
||||
/* 0x6451 [0x88 0x64 0x55 ] */ ldlayer 0, LAYER_6455
|
||||
|
@ -14667,11 +14714,12 @@ UNK_644F:
|
|||
/* 0x6492 [0xFF ] */ end
|
||||
|
||||
.channel CHAN_6493
|
||||
/* 0x6493 [0xCE 0x64 0x99 ] */ ldptr UNK_6499
|
||||
/* 0x6493 [0xCE 0x64 0x99 ] */ ldptr ARRAY_6499
|
||||
/* 0x6496 [0xFB 0x61 0x3E ] */ jump CHAN_613E
|
||||
|
||||
UNK_6499:
|
||||
.byte 0x1C, 0x64
|
||||
.array ARRAY_6499
|
||||
.byte SF0_EFFECT_28
|
||||
.byte 100
|
||||
|
||||
.channel CHAN_649B
|
||||
/* 0x649B [0x88 0x64 0x9F ] */ ldlayer 0, LAYER_649F
|
||||
|
@ -14687,10 +14735,10 @@ UNK_6499:
|
|||
/* 0x64A6 [0xC8 0xFF ] */ sub 255
|
||||
/* 0x64A8 [0x76 ] */ stio IO_PORT_6
|
||||
/* 0x64A9 [0xC9 0x01 ] */ and 1
|
||||
/* 0x64AB [0xCB 0x64 0xC5 ] */ ldseq UNK_64C5
|
||||
/* 0x64AE [0xC7 0x40 0x64 0xBF ] */ stseq (ASEQ_OP_LAYER_NOTEDV | PITCH_A0), LAYER_64BF + STSEQ_NOTEDV_OPCODE_PITCH
|
||||
/* 0x64AB [0xCB 0x64 0xC5 ] */ ldseq ARRAY_64C5
|
||||
/* 0x64AE [0xC7 0x40 0x64 0xBF ] */ stseq (ASEQ_OP_LAYER_NOTEDV | SF0_EFFECT_0), LAYER_64BF + STSEQ_NOTEDV_OPCODE_PITCH
|
||||
/* 0x64B2 [0xB8 0x02 ] */ rand 2
|
||||
/* 0x64B4 [0xCB 0x64 0xC7 ] */ ldseq UNK_64C7
|
||||
/* 0x64B4 [0xCB 0x64 0xC7 ] */ ldseq ARRAY_64C7
|
||||
/* 0x64B7 [0xC7 0x00 0x64 0xC1 ] */ stseq 0, LAYER_64BF + STSEQ_NOTEDV_VELOCITY_2
|
||||
/* 0x64BB [0x88 0x64 0xBF ] */ ldlayer 0, LAYER_64BF
|
||||
/* 0x64BE [0xFF ] */ end
|
||||
|
@ -14700,18 +14748,20 @@ UNK_6499:
|
|||
/* 0x64C2 [0xC0 0x30 ] */ ldelay 48
|
||||
/* 0x64C4 [0xFF ] */ end
|
||||
|
||||
UNK_64C5:
|
||||
.byte 0x35, 0x36
|
||||
.array ARRAY_64C5
|
||||
.byte SF0_EFFECT_53
|
||||
.byte SF0_EFFECT_54
|
||||
|
||||
UNK_64C7:
|
||||
.byte 0x50, 0x50
|
||||
.array ARRAY_64C7
|
||||
.byte 80, 80
|
||||
|
||||
.channel CHAN_64C9
|
||||
/* 0x64C9 [0xCE 0x64 0xCF ] */ ldptr UNK_64CF
|
||||
/* 0x64C9 [0xCE 0x64 0xCF ] */ ldptr ARRAY_64CF
|
||||
/* 0x64CC [0xFB 0x61 0x3E ] */ jump CHAN_613E
|
||||
|
||||
UNK_64CF:
|
||||
.byte 0x21, 0x6E
|
||||
.array ARRAY_64CF
|
||||
.byte SF0_EFFECT_33
|
||||
.byte 110
|
||||
|
||||
.channel CHAN_64D1
|
||||
/* 0x64D1 [0x88 0x64 0xD5 ] */ ldlayer 0, LAYER_64D5
|
||||
|
@ -14723,53 +14773,60 @@ UNK_64CF:
|
|||
/* 0x64DA [0xFF ] */ end
|
||||
|
||||
.channel CHAN_64DB
|
||||
/* 0x64DB [0xCE 0x64 0xE1 ] */ ldptr UNK_64E1
|
||||
/* 0x64DB [0xCE 0x64 0xE1 ] */ ldptr ARRAY_64E1
|
||||
/* 0x64DE [0xFB 0x61 0x3E ] */ jump CHAN_613E
|
||||
|
||||
UNK_64E1:
|
||||
.byte 0x20, 0x5F
|
||||
.array ARRAY_64E1
|
||||
.byte SF0_EFFECT_32
|
||||
.byte 95
|
||||
|
||||
.channel CHAN_64E3
|
||||
/* 0x64E3 [0xCE 0x64 0xE9 ] */ ldptr UNK_64E9
|
||||
/* 0x64E3 [0xCE 0x64 0xE9 ] */ ldptr ARRAY_64E9
|
||||
/* 0x64E6 [0xFB 0x61 0x3E ] */ jump CHAN_613E
|
||||
|
||||
UNK_64E9:
|
||||
.byte 0x23, 0x5A
|
||||
.array ARRAY_64E9
|
||||
.byte SF0_EFFECT_35
|
||||
.byte 90
|
||||
|
||||
.channel CHAN_64EB
|
||||
/* 0x64EB [0xCE 0x64 0xF1 ] */ ldptr UNK_64F1
|
||||
/* 0x64EB [0xCE 0x64 0xF1 ] */ ldptr ARRAY_64F1
|
||||
/* 0x64EE [0xFB 0x61 0x3E ] */ jump CHAN_613E
|
||||
|
||||
UNK_64F1:
|
||||
.byte 0x22, 0x64
|
||||
.array ARRAY_64F1
|
||||
.byte SF0_EFFECT_34
|
||||
.byte 100
|
||||
|
||||
.channel CHAN_64F3
|
||||
/* 0x64F3 [0xCE 0x64 0xF9 ] */ ldptr UNK_64F9
|
||||
/* 0x64F3 [0xCE 0x64 0xF9 ] */ ldptr ARRAY_64F9
|
||||
/* 0x64F6 [0xFB 0x61 0x3E ] */ jump CHAN_613E
|
||||
|
||||
UNK_64F9:
|
||||
.byte 0x31, 0x73
|
||||
.array ARRAY_64F9
|
||||
.byte SF0_EFFECT_49
|
||||
.byte 115
|
||||
|
||||
.channel CHAN_64FB
|
||||
/* 0x64FB [0xCE 0x65 0x01 ] */ ldptr UNK_6501
|
||||
/* 0x64FB [0xCE 0x65 0x01 ] */ ldptr ARRAY_6501
|
||||
/* 0x64FE [0xFB 0x61 0x3E ] */ jump CHAN_613E
|
||||
|
||||
UNK_6501:
|
||||
.byte 0x3E, 0x64
|
||||
.array ARRAY_6501
|
||||
.byte SF0_EFFECT_62
|
||||
.byte 100
|
||||
|
||||
.channel CHAN_6503
|
||||
/* 0x6503 [0xCE 0x65 0x09 ] */ ldptr UNK_6509
|
||||
/* 0x6503 [0xCE 0x65 0x09 ] */ ldptr ARRAY_6509
|
||||
/* 0x6506 [0xFB 0x61 0x3E ] */ jump CHAN_613E
|
||||
|
||||
UNK_6509:
|
||||
.byte 0x3F, 0x6E
|
||||
.array ARRAY_6509
|
||||
.byte SF0_EFFECT_63
|
||||
.byte 110
|
||||
|
||||
.channel CHAN_650B
|
||||
/* 0x650B [0xCE 0x65 0x11 ] */ ldptr UNK_6511
|
||||
/* 0x650B [0xCE 0x65 0x11 ] */ ldptr ARRAY_6511
|
||||
/* 0x650E [0xFB 0x61 0x3E ] */ jump CHAN_613E
|
||||
|
||||
UNK_6511:
|
||||
.byte 0x2C, 0x64
|
||||
.array ARRAY_6511
|
||||
.byte SF0_EFFECT_44
|
||||
.byte 100
|
||||
|
||||
.channel CHAN_6513
|
||||
/* 0x6513 [0xCC 0x20 ] */ ldi 32
|
||||
|
@ -14784,9 +14841,9 @@ UNK_6511:
|
|||
|
||||
.channel CHAN_6520
|
||||
/* 0x6520 [0x64 ] */ ldio IO_PORT_SFX_INDEX_LOBITS
|
||||
/* 0x6521 [0xC8 0x50 ] */ sub 80
|
||||
/* 0x6521 [0xC8 0x50 ] */ sub NA_SE_VO_TA_SLEEP & 0xFF
|
||||
/* 0x6523 [0xC7 0x19 0x65 0x36 ] */ stseq (ASEQ_OP_LAYER_NOTEDVG | PITCH_BF2), LAYER_6536 + STSEQ_NOTEDVG_OPCODE_PITCH
|
||||
/* 0x6527 [0xCB 0x65 0x3B ] */ ldseq UNK_653B
|
||||
/* 0x6527 [0xCB 0x65 0x3B ] */ ldseq ARRAY_653B
|
||||
/* 0x652A [0xC7 0x00 0x65 0x38 ] */ stseq 0, LAYER_6536 + STSEQ_NOTEDVG_DELAY_LO
|
||||
/* 0x652E [0x88 0x65 0x34 ] */ ldlayer 0, LAYER_6534
|
||||
/* 0x6531 [0xDC 0x60 ] */ panweight 96
|
||||
|
@ -14798,16 +14855,16 @@ LAYER_6536:
|
|||
/* 0x6536 [0x21 0x00 0x64 0x00 ] */ notedvg PITCH_GF3, 0, 100, 0
|
||||
/* 0x653A [0xFF ] */ end
|
||||
|
||||
UNK_653B:
|
||||
.byte 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x6E, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
|
||||
.byte 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
|
||||
.byte 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x6E
|
||||
.array ARRAY_653B
|
||||
.byte 100, 100, 100, 100, 100, 100, 100, 100, 110, 100, 100, 100, 100, 100, 100, 100
|
||||
.byte 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100
|
||||
.byte 100, 100, 100, 100, 100, 100, 110
|
||||
|
||||
.channel CHAN_6562
|
||||
/* 0x6562 [0x64 ] */ ldio IO_PORT_SFX_INDEX_LOBITS
|
||||
/* 0x6563 [0xC8 0x77 ] */ sub 119
|
||||
/* 0x6563 [0xC8 0x77 ] */ sub NA_SE_VO_Z1_OPENDOOR & 0xFF
|
||||
/* 0x6565 [0xC7 0x00 0x65 0x76 ] */ stseq (ASEQ_OP_LAYER_NOTEDVG | PITCH_A0), LAYER_6576 + STSEQ_NOTEDVG_OPCODE_PITCH
|
||||
/* 0x6569 [0xCB 0x65 0x7B ] */ ldseq UNK_657B
|
||||
/* 0x6569 [0xCB 0x65 0x7B ] */ ldseq ARRAY_657B
|
||||
/* 0x656C [0xC7 0x00 0x65 0x78 ] */ stseq 0, LAYER_6576 + STSEQ_NOTEDVG_DELAY_LO
|
||||
/* 0x6570 [0x88 0x65 0x74 ] */ ldlayer 0, LAYER_6574
|
||||
/* 0x6573 [0xFF ] */ end
|
||||
|
@ -14818,16 +14875,16 @@ LAYER_6576:
|
|||
/* 0x6576 [0x00 0x00 0x64 0x00 ] */ notedvg PITCH_A0, 0, 100, 0
|
||||
/* 0x657A [0xFF ] */ end
|
||||
|
||||
UNK_657B:
|
||||
.byte 0x64, 0x64, 0x64, 0x64, 0x64, 0x64
|
||||
.array ARRAY_657B
|
||||
.byte 100, 100, 100, 100, 100, 100
|
||||
|
||||
.channel CHAN_6581
|
||||
/* 0x6581 [0xCC 0x20 ] */ ldi 32
|
||||
/* 0x6583 [0x71 ] */ stio IO_PORT_1
|
||||
/* 0x6584 [0x89 0x65 0x98 ] */ ldlayer 1, LAYER_6598
|
||||
/* 0x6587 [0xCE 0x65 0xA7 ] */ ldptr UNK_65A7
|
||||
/* 0x6587 [0xCE 0x65 0xA7 ] */ ldptr ARRAY_65A7
|
||||
/* 0x658A [0xCF 0x61 0x1B ] */ stptrtoseq CHAN_611A + STSEQ_PTR_LDSEQ
|
||||
/* 0x658D [0xCE 0x65 0xAA ] */ ldptr UNK_65AA
|
||||
/* 0x658D [0xCE 0x65 0xAA ] */ ldptr ARRAY_65AA
|
||||
/* 0x6590 [0xCF 0x61 0x23 ] */ stptrtoseq CHAN_6122 + STSEQ_PTR_LDSEQ
|
||||
/* 0x6593 [0xCC 0x03 ] */ ldi 3
|
||||
/* 0x6595 [0xFB 0x60 0xF2 ] */ jump CHAN_60F2
|
||||
|
@ -14840,11 +14897,13 @@ UNK_657B:
|
|||
/* 0x65A3 [0x78 0x30 0x41 ] */ notedv PITCH_F5, 48, 65
|
||||
/* 0x65A6 [0xFF ] */ end
|
||||
|
||||
UNK_65A7:
|
||||
.byte 0x39, 0x3A, 0x3B
|
||||
.array ARRAY_65A7
|
||||
.byte SF0_EFFECT_57
|
||||
.byte SF0_EFFECT_58
|
||||
.byte SF0_EFFECT_59
|
||||
|
||||
UNK_65AA:
|
||||
.byte 0x64, 0x5F, 0x69
|
||||
.array ARRAY_65AA
|
||||
.byte 100, 95, 105
|
||||
|
||||
.balign 16
|
||||
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
#ifndef ATTRIBUTES_H
|
||||
#define ATTRIBUTES_H
|
||||
|
||||
#include "versions.h"
|
||||
|
||||
#if !defined(__GNUC__) && !defined(__attribute__)
|
||||
#define __attribute__(x)
|
||||
#endif
|
||||
|
|
|
@ -741,6 +741,7 @@ _RESET_SECTION
|
|||
/* Write the sequence name into a special .note.name section */
|
||||
.pushsection .note.name, "", @note
|
||||
.asciz "\name"
|
||||
.balign 4
|
||||
.popsection
|
||||
|
||||
/* Reset section and write start symbol. */
|
||||
|
@ -826,7 +827,7 @@ _RESET_SECTION
|
|||
.macro _wr_s16 value
|
||||
/* Ensure the provided arg value fits in 16 bits (signed) */
|
||||
_check_arg_bitwidth_s \value, 16
|
||||
_wr16 \value
|
||||
_wr16 \value & 0xFFFF
|
||||
.endm
|
||||
|
||||
.macro _wr_u16 value
|
||||
|
@ -1847,7 +1848,7 @@ $reladdr\@:
|
|||
.endm
|
||||
|
||||
/**
|
||||
* ptraddi <value:u16>
|
||||
* ptraddi <value:s16>
|
||||
*
|
||||
* Like ptradd but for immediates instead of labels
|
||||
*
|
||||
|
@ -1855,7 +1856,7 @@ $reladdr\@:
|
|||
*/
|
||||
.macro ptraddi value
|
||||
_wr_cmd_id ptradd, ,ASEQ_OP_CHAN_PTRADD,,,,,,, 0, 0
|
||||
_wr_u16 \value
|
||||
_wr_s16 \value
|
||||
.endm
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef SOUNDFONT_FILE_H
|
||||
#define SOUNDFONT_FILE_H
|
||||
|
||||
#include "libc/stdbool.h"
|
||||
#include "stdbool.h"
|
||||
#include "alignment.h"
|
||||
#include "attributes.h"
|
||||
#include "z64audio.h"
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef FACE_CHANGE_H
|
||||
#define FACE_CHANGE_H
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
typedef struct FaceChange {
|
||||
/* 0x00 */ s16 face;
|
||||
/* 0x02 */ s16 timer;
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
#include "ultra64.h"
|
||||
#include "ultra64/gbi.h"
|
||||
#include "alignment.h"
|
||||
#include "sched.h"
|
||||
#include "thga.h"
|
||||
#include "versions.h"
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
#ifndef INFLATE_H
|
||||
#define INFLATE_H
|
||||
|
||||
#include "libc/stddef.h"
|
||||
#include "libc/stdint.h"
|
||||
#include "stddef.h"
|
||||
#include "stdint.h"
|
||||
#include "ultra64.h"
|
||||
|
||||
void gzip_decompress(uintptr_t romStart, u8* dst, size_t size);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef IS_DEBUG_H
|
||||
#define IS_DEBUG_H
|
||||
|
||||
#include "libc/stddef.h"
|
||||
#include "stddef.h"
|
||||
#include "attributes.h"
|
||||
|
||||
#if DEBUG_FEATURES
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
#ifndef LIBC64_SPRINTF_H
|
||||
#define LIBC64_SPRINTF_H
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
#include "stdarg.h"
|
||||
|
||||
int vsprintf(char* dst, const char* fmt, va_list args);
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
#include "ultra64.h"
|
||||
#include "libu64/pad.h"
|
||||
#include "irqmgr.h"
|
||||
#include "versions.h"
|
||||
|
||||
typedef enum ControllerPakType {
|
||||
CONT_PAK_NONE,
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef ROMFILE_H
|
||||
#define ROMFILE_H
|
||||
|
||||
#include "ultra64.h"
|
||||
#include "stdint.h"
|
||||
|
||||
typedef struct RomFile {
|
||||
/* 0x00 */ uintptr_t vromStart;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#include "ultra64.h"
|
||||
#include "versions.h"
|
||||
#include "z64math.h"
|
||||
#include "libc/assert.h"
|
||||
#include "assert.h"
|
||||
|
||||
#define MAX_CHANNELS_PER_BANK 3
|
||||
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
#ifndef TEX_LEN_H
|
||||
#define TEX_LEN_H
|
||||
|
||||
/**
|
||||
* Compute a length for an array holding a texture.
|
||||
* `type` is the array's element type.
|
||||
* `width`, `height` are the texture dimensions.
|
||||
* `bpp` is the texture's pixel size, in bits per pixels.
|
||||
* The calculation computes the size of the texture in bits `width * height * bpp`,
|
||||
* then divides by 8 to get the size in bytes, then divides by the element type size.
|
||||
*/
|
||||
#define TEX_LEN(type, width, height, bpp) ((width) * (height) * (bpp) / 8 / sizeof(type))
|
||||
|
||||
#endif
|
|
@ -2,7 +2,6 @@
|
|||
#define THA_H
|
||||
|
||||
#include "ultra64.h"
|
||||
#include "alignment.h"
|
||||
|
||||
typedef struct TwoHeadArena {
|
||||
/* 0x00 */ size_t size;
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#ifndef ULTRA64_H
|
||||
#define ULTRA64_H
|
||||
|
||||
#include "libc/assert.h"
|
||||
#include "libc/math.h"
|
||||
#include "libc/stdarg.h"
|
||||
#include "libc/stdbool.h"
|
||||
#include "libc/stddef.h"
|
||||
#include "libc/stdint.h"
|
||||
#include "libc/stdlib.h"
|
||||
#include "libc/string.h"
|
||||
#include "assert.h"
|
||||
#include "math.h"
|
||||
#include "stdarg.h"
|
||||
#include "stdbool.h"
|
||||
#include "stddef.h"
|
||||
#include "stdint.h"
|
||||
#include "stdlib.h"
|
||||
#include "string.h"
|
||||
|
||||
#include "ultra64/ultratypes.h"
|
||||
#include "unk.h"
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
#ifndef YAZ0_H
|
||||
#define YAZ0_H
|
||||
|
||||
#include "libc/stddef.h"
|
||||
#include "libc/stdint.h"
|
||||
#include "stddef.h"
|
||||
#include "stdint.h"
|
||||
#include "ultra64.h"
|
||||
|
||||
void Yaz0_Decompress(uintptr_t romStart, u8* dst, size_t size);
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
#define Z64ACTOR_H
|
||||
|
||||
#include "color.h"
|
||||
#include "romfile.h"
|
||||
#include "z64actor_profile.h"
|
||||
#include "z64animation.h"
|
||||
#include "z64math.h"
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
#ifndef Z64_CURVE_H
|
||||
#define Z64_CURVE_H
|
||||
|
||||
#include "ultra64/ultratypes.h"
|
||||
#include "z64math.h"
|
||||
#include "ultra64.h"
|
||||
|
||||
struct PlayState;
|
||||
struct Actor;
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
#include "ultra64/ultratypes.h"
|
||||
#include "libu64/pad.h"
|
||||
#include "gamealloc.h"
|
||||
#include "romfile.h"
|
||||
#include "tha.h"
|
||||
|
||||
struct GraphicsContext;
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
#include "ultra64.h"
|
||||
#include "ultra64/gbi.h"
|
||||
#include "z64math.h"
|
||||
#include "color.h"
|
||||
|
||||
struct GraphicsContext;
|
||||
struct PlayState;
|
||||
|
|
|
@ -50,6 +50,8 @@ typedef enum PauseMenuPage {
|
|||
|
||||
#define PAUSE_EQUIP_PLAYER_WIDTH 64
|
||||
#define PAUSE_EQUIP_PLAYER_HEIGHT 112
|
||||
#define PAUSE_EQUIP_PLAYER_FRAG_HEIGHT (TMEM_SIZE / (PAUSE_EQUIP_PLAYER_WIDTH * G_IM_SIZ_16b_BYTES))
|
||||
#define PAUSE_EQUIP_PLAYER_FRAG_NUM (((PAUSE_EQUIP_PLAYER_HEIGHT - 1) / PAUSE_EQUIP_PLAYER_FRAG_HEIGHT) + 1)
|
||||
|
||||
#define PAUSE_EQUIP_BUFFER_SIZE sizeof(u16[PAUSE_EQUIP_PLAYER_HEIGHT][PAUSE_EQUIP_PLAYER_WIDTH])
|
||||
#define PAUSE_PLAYER_SEGMENT_GAMEPLAY_KEEP_BUFFER_SIZE 0x5000
|
||||
|
@ -92,7 +94,7 @@ typedef enum PauseMainState {
|
|||
/* 4 */ PAUSE_MAIN_STATE_SONG_PROMPT_INIT, // Start the prompt for the player to play the song.
|
||||
/* 5 */ PAUSE_MAIN_STATE_SONG_PROMPT, // Waiting for the player to play the song.
|
||||
/* 6 */ PAUSE_MAIN_STATE_SONG_PROMPT_DONE, // The song prompt is done, the player either played the song successfully or made a mistake.
|
||||
/* 7 */ PAUSE_MAIN_STATE_7,
|
||||
/* 7 */ PAUSE_MAIN_STATE_EQUIP_CHANGED,
|
||||
/* 8 */ PAUSE_MAIN_STATE_IDLE_CURSOR_ON_SONG, // Like PAUSE_MAIN_STATE_IDLE, but the quest page is active and the cursor is positioned on a song.
|
||||
/* 9 */ PAUSE_MAIN_STATE_SONG_PLAYBACK_START // Start playing the song back to the player.
|
||||
} PauseMainState;
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
#include "ultra64/ultratypes.h"
|
||||
#include "ultra64/gbi.h"
|
||||
|
||||
#include "romfile.h"
|
||||
#include "z64math.h"
|
||||
#include "z64dma.h" // for RomFile
|
||||
|
||||
struct GameState;
|
||||
struct GraphicsContext;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef Z64SS_SRAM_H
|
||||
#define Z64SS_SRAM_H
|
||||
|
||||
#include "libc/stddef.h"
|
||||
#include "stddef.h"
|
||||
#include "ultra64/ultratypes.h"
|
||||
|
||||
void SsSram_Init(s32 addr, u8 handleType, u8 handleDomain, u8 handleLatency, u8 handlePageSize, u8 handleRelDuration,
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#define Z64TRANSITION_H
|
||||
|
||||
#include "ultra64/ultratypes.h"
|
||||
#include "ultra64/gbi.h" // for Gfx
|
||||
#include "ultra64/gbi.h"
|
||||
#include "transition_circle.h"
|
||||
#include "transition_fade.h"
|
||||
#include "transition_triforce.h"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef Z_LIB_H
|
||||
#define Z_LIB_H
|
||||
|
||||
#include "libc/stddef.h"
|
||||
#include "stddef.h"
|
||||
#include "libu64/pad.h"
|
||||
#include "z64math.h"
|
||||
#include "color.h"
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
#define Z_LOCALE_H
|
||||
|
||||
#include "ultra64/ultratypes.h"
|
||||
#include "region.h"
|
||||
|
||||
extern s32 gCurrentRegion;
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
#include "alignment.h"
|
||||
#include "array_count.h"
|
||||
#include "buffers.h"
|
||||
#include "z64audio.h"
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
* Original Filename: system.c
|
||||
*/
|
||||
|
||||
#include "alignment.h"
|
||||
#include "array_count.h"
|
||||
#include "attributes.h"
|
||||
#include "buffers.h"
|
||||
|
|
|
@ -98,8 +98,8 @@
|
|||
#include "inflate.h"
|
||||
|
||||
#include "ultra64/ultratypes.h"
|
||||
#include "libc/stddef.h"
|
||||
#include "libc/stdint.h"
|
||||
#include "stddef.h"
|
||||
#include "stdint.h"
|
||||
#include "alignment.h"
|
||||
#include "attributes.h"
|
||||
#include "z64dma.h"
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include "is_debug.h"
|
||||
|
||||
#include "ultra64.h"
|
||||
#include "versions.h"
|
||||
|
||||
typedef struct ISVDbg {
|
||||
/* 0x00 */ u32 magic; // "IS64"
|
||||
|
|
|
@ -45,8 +45,8 @@
|
|||
#include "z64dma.h"
|
||||
#include "z64thread.h"
|
||||
|
||||
#pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ntsc-1.2:66" \
|
||||
"pal-1.0:64 pal-1.1:64"
|
||||
#pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ntsc-1.2:86" \
|
||||
"pal-1.0:84 pal-1.1:84"
|
||||
|
||||
StackEntry sDmaMgrStackInfo;
|
||||
OSMesgQueue sDmaMgrMsgQueue;
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
* with identical lifetime.
|
||||
*/
|
||||
#include "tha.h"
|
||||
#include "alignment.h"
|
||||
|
||||
void* THA_GetHead(TwoHeadArena* tha) {
|
||||
return tha->head;
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#include "gfx.h"
|
||||
#include "gfxalloc.h"
|
||||
#include "alignment.h"
|
||||
|
||||
Gfx* Gfx_Open(Gfx* gfx) {
|
||||
return gfx + 1;
|
||||
|
|
|
@ -44,7 +44,7 @@ extern struct IrqMgr gIrqMgr;
|
|||
#include "z64thread.h"
|
||||
|
||||
#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \
|
||||
"ique-cn:0 ntsc-1.0:34 ntsc-1.1:34 ntsc-1.2:34 pal-1.0:32 pal-1.1:32"
|
||||
"ique-cn:0 ntsc-1.0:54 ntsc-1.1:54 ntsc-1.2:54 pal-1.0:52 pal-1.1:52"
|
||||
|
||||
extern u8 _buffersSegmentEnd[];
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
#include "z64save.h"
|
||||
#include "z64transition.h"
|
||||
|
||||
#pragma increment_block_number "gc-eu:192 gc-eu-mq:192 gc-jp:192 gc-jp-ce:192 gc-jp-mq:192 gc-us:192 gc-us-mq:192" \
|
||||
#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \
|
||||
"ntsc-1.0:0 ntsc-1.1:0 ntsc-1.2:0 pal-1.0:0 pal-1.1:0"
|
||||
|
||||
ALIGNED(16) SaveContext gSaveContext;
|
||||
|
|
|
@ -160,8 +160,8 @@ void KaleidoSetup_Init(PlayState* play) {
|
|||
pauseCtx->cursorY[PAUSE_MAP] = 0;
|
||||
pauseCtx->cursorX[PAUSE_QUEST] = 0;
|
||||
pauseCtx->cursorY[PAUSE_QUEST] = 0;
|
||||
pauseCtx->cursorX[PAUSE_EQUIP] = 1;
|
||||
pauseCtx->cursorY[PAUSE_EQUIP] = 0;
|
||||
pauseCtx->cursorX[PAUSE_EQUIP] = EQUIP_VALUE_SWORD_KOKIRI;
|
||||
pauseCtx->cursorY[PAUSE_EQUIP] = EQUIP_TYPE_SWORD;
|
||||
|
||||
pauseCtx->cursorItem[PAUSE_ITEM] = PAUSE_ITEM_NONE;
|
||||
pauseCtx->cursorItem[PAUSE_MAP] = VREG(30) + 3;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#include "ultra64/leo.h"
|
||||
#include "ultra64/leoappli.h"
|
||||
#include "ultra64/leodrive.h"
|
||||
#include "libc/stdint.h"
|
||||
#include "stdint.h"
|
||||
#include "attributes.h"
|
||||
|
||||
#include "ultra64.h"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#include "ultra64/leo.h"
|
||||
#include "ultra64/leoappli.h"
|
||||
#include "ultra64/leodrive.h"
|
||||
#include "libc/stdint.h"
|
||||
#include "stdint.h"
|
||||
#include "attributes.h"
|
||||
|
||||
#include "ultra64.h"
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
#include "libaudio.h"
|
||||
#include "synthInternals.h"
|
||||
#include "stdbool.h"
|
||||
#include "stddef.h"
|
||||
|
||||
// WARNING: THE FOLLOWING CONSTANT MUST BE KEPT IN SYNC WITH SCALING IN MICROCODE!!!
|
||||
#define SCALE 16384
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include "libaudio.h"
|
||||
#include "synthInternals.h"
|
||||
#include "libc/math.h"
|
||||
#include "stdbool.h"
|
||||
#include "stddef.h"
|
||||
#include "ultra64/convert.h"
|
||||
|
||||
#define EQPOWER_LENGTH 128
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#include "libaudio.h"
|
||||
#include "synthInternals.h"
|
||||
#include "stddef.h"
|
||||
|
||||
void alFilterNew(ALFilter* f, ALCmdHandler h, ALSetParam s, s32 type) {
|
||||
f->source = NULL;
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#include "libaudio.h"
|
||||
#include "synthInternals.h"
|
||||
#include "stddef.h"
|
||||
|
||||
void* alHeapDBAlloc(u8* file, s32 line, ALHeap* hp, s32 num, s32 size) {
|
||||
s32 bytes;
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
#ifndef __LIB_AUDIO__
|
||||
#define __LIB_AUDIO__
|
||||
|
||||
#include "libc/stdbool.h"
|
||||
#include "libc/stddef.h"
|
||||
#include "libc/stdint.h"
|
||||
#include "ultra64/ultratypes.h"
|
||||
|
||||
#include "libaudio_abi.h"
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
#include "libaudio.h"
|
||||
#include "synthInternals.h"
|
||||
#include "stdbool.h"
|
||||
#include "stddef.h"
|
||||
#include "stdint.h"
|
||||
#include "ultra64/R4300.h"
|
||||
|
||||
#ifndef MIN
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
#include "libaudio.h"
|
||||
#include "synthInternals.h"
|
||||
#include "stdbool.h"
|
||||
#include "stddef.h"
|
||||
#include "ultra64/convert.h"
|
||||
|
||||
Acmd* alResamplePull(void* filter, s16* outp, s32 outCnt, s32 sampleOffset, Acmd* p) {
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
#include "libaudio.h"
|
||||
#include "synthInternals.h"
|
||||
#include "stdbool.h"
|
||||
#include "stddef.h"
|
||||
#include "stdint.h"
|
||||
#include "ultra64/convert.h"
|
||||
|
||||
#define RANGE 2.0
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#include "libaudio.h"
|
||||
#include "stddef.h"
|
||||
|
||||
ALGlobals* alGlobals = NULL;
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
#include "libaudio.h"
|
||||
#include "synthInternals.h"
|
||||
|
||||
ALFxRef* alSynAllocFX(ALSynth* s, s16 bus, ALSynConfig* c, ALHeap* hp) {
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#include "synthInternals.h"
|
||||
#include "libaudio.h"
|
||||
#include "stddef.h"
|
||||
|
||||
void alSynDelete(ALSynth* drvr) {
|
||||
drvr->head = NULL;
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
#include "libaudio.h"
|
||||
#include "synthInternals.h"
|
||||
#include "stddef.h"
|
||||
|
||||
#ifndef MIN
|
||||
#define MIN(a, b) (((a) < (b)) ? (a) : (b))
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#include "libc/stddef.h"
|
||||
#include "stddef.h"
|
||||
|
||||
int strcmp(const char* s, const char* t) {
|
||||
while (*s == *t) {
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#include "libc64/aprintf.h"
|
||||
#include "attributes.h"
|
||||
#include "array_count.h"
|
||||
#include "color.h"
|
||||
|
||||
// Draws text to framebuffer
|
||||
typedef struct struct_801CA704 {
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
#include "z64audio.h"
|
||||
#include "z64thread.h"
|
||||
|
||||
#pragma increment_block_number "ntsc-1.0:0 ntsc-1.1:0 ntsc-1.2:0 pal-1.0:0 pal-1.1:0"
|
||||
#pragma increment_block_number "ntsc-1.0:64 ntsc-1.1:64 ntsc-1.2:64 pal-1.0:64 pal-1.1:64"
|
||||
|
||||
typedef struct struct_801D9C30 {
|
||||
/* 0x000 */ s32 unk_000; // disk start
|
||||
|
|
|
@ -218,7 +218,6 @@ void BgMoriElevator_SetPosition(BgMoriElevator* this, PlayState* play) {
|
|||
this->targetY = 233.0f;
|
||||
BgMoriElevator_StopMovement(this);
|
||||
} else {
|
||||
// "Error:Forest Temple obj elevator Room setting is dangerous(%s %d)"
|
||||
PRINTF(T("Error : 森の神殿 obj elevator 部屋設定が危険(%s %d)\n",
|
||||
"Error : Forest Temple obj elevator room setting is dangerous(%s %d)\n"),
|
||||
"../z_bg_mori_elevator.c", 479);
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
#include "sfx.h"
|
||||
#include "sys_matrix.h"
|
||||
#include "terminal.h"
|
||||
#include "translation.h"
|
||||
#include "z_lib.h"
|
||||
#include "z64audio.h"
|
||||
#include "z64effect.h"
|
||||
|
@ -1785,20 +1786,17 @@ void BossMo_CoreCollisionCheck(BossMo* this, PlayState* play) {
|
|||
}
|
||||
if (this->coreCollider.base.acFlags & AC_HIT) {
|
||||
ColliderElement* acHitElem = this->coreCollider.elem.acHitElem;
|
||||
// "hit!!"
|
||||
PRINTF("Core_Damage_check 当り!!\n");
|
||||
PRINTF(T("Core_Damage_check 当り!!\n", "Core_Damage_check hit!!\n"));
|
||||
this->coreCollider.base.acFlags &= ~AC_HIT;
|
||||
if ((acHitElem->atDmgInfo.dmgFlags & DMG_MAGIC_FIRE) && (this->work[MO_TENT_ACTION_STATE] == MO_CORE_ATTACK)) {
|
||||
this->work[MO_TENT_ACTION_STATE] = MO_CORE_RETREAT;
|
||||
}
|
||||
// "hit 2 !!"
|
||||
PRINTF("Core_Damage_check 当り 2 !!\n");
|
||||
PRINTF(T("Core_Damage_check 当り 2 !!\n", "Core_Damage_check hit 2 !!\n"));
|
||||
if ((this->work[MO_TENT_ACTION_STATE] != MO_CORE_UNDERWATER) && (this->work[MO_TENT_INVINC_TIMER] == 0)) {
|
||||
u8 damage = CollisionCheck_GetSwordDamage(acHitElem->atDmgInfo.dmgFlags);
|
||||
|
||||
if ((damage != 0) && (this->work[MO_TENT_ACTION_STATE] < MO_CORE_ATTACK)) {
|
||||
// "sword hit !!"
|
||||
PRINTF("Core_Damage_check 剣 当り!!\n");
|
||||
PRINTF(T("Core_Damage_check 剣 当り!!\n", "Core_Damage_check sword hit!!\n"));
|
||||
this->work[MO_TENT_ACTION_STATE] = MO_CORE_STUNNED;
|
||||
this->timers[0] = 25;
|
||||
|
||||
|
@ -1868,8 +1866,7 @@ void BossMo_CoreCollisionCheck(BossMo* this, PlayState* play) {
|
|||
}
|
||||
}
|
||||
}
|
||||
// "end !!"
|
||||
PRINTF("Core_Damage_check 終わり !!\n");
|
||||
PRINTF(T("Core_Damage_check 終わり !!\n", "Core_Damage_check end !!\n"));
|
||||
PRINTF_RST();
|
||||
}
|
||||
|
||||
|
|
|
@ -922,8 +922,8 @@ void DemoDu_CsCredits_HandleCues(DemoDu* this, PlayState* play) {
|
|||
DemoDu_CsCredits_AdvanceTo04(this);
|
||||
break;
|
||||
default:
|
||||
// "Demo_Du_inEnding_Check_DemoMode:There is no such operation!!!!!!!!"
|
||||
PRINTF("Demo_Du_inEnding_Check_DemoMode:そんな動作は無い!!!!!!!!\n");
|
||||
PRINTF(T("Demo_Du_inEnding_Check_DemoMode:そんな動作は無い!!!!!!!!\n",
|
||||
"Demo_Du_inEnding_Check_DemoMode: There is no such action!!!!!!!!\n"));
|
||||
break;
|
||||
}
|
||||
this->cueId = nextCueId;
|
||||
|
|
|
@ -169,7 +169,8 @@ void DemoEc_Init(Actor* thisx, PlayState* play) {
|
|||
DemoEc* this = (DemoEc*)thisx;
|
||||
|
||||
if ((this->actor.params < 0) || (this->actor.params > 34)) {
|
||||
PRINTF(VT_FGCOL(RED) "Demo_Ec_Actor_ct:arg_dataがおかしい!!!!!!!!!!!!\n" VT_RST);
|
||||
PRINTF(VT_FGCOL(RED) T("Demo_Ec_Actor_ct:arg_dataがおかしい!!!!!!!!!!!!\n",
|
||||
"Demo_Ec_Actor_ct:arg_data is strange!!!!!!!!!!!!\n") VT_RST);
|
||||
Actor_Kill(&this->actor);
|
||||
} else {
|
||||
this->updateMode = EC_UPDATE_COMMON;
|
||||
|
@ -702,7 +703,7 @@ Gfx* DemoEc_GetCarpenterPostLimbDList(DemoEc* this) {
|
|||
case 13:
|
||||
return object_daiku_DL_005880;
|
||||
default:
|
||||
PRINTF(VT_FGCOL(RED) "かつらが無い!!!!!!!!!!!!!!!!\n" VT_RST);
|
||||
PRINTF(VT_FGCOL(RED) T("かつらが無い!!!!!!!!!!!!!!!!\n", "No wig!!!!!!!!!!!!!!!!\n") VT_RST);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
@ -748,7 +749,7 @@ Gfx* DemoEc_GetGerudoPostLimbDList(DemoEc* this) {
|
|||
case 18:
|
||||
return gGerudoWhiteHairstyleSpikyDL;
|
||||
default:
|
||||
PRINTF(VT_FGCOL(RED) "かつらが無い!!!!!!!!!!!!!!!!\n" VT_RST);
|
||||
PRINTF(VT_FGCOL(RED) T("かつらが無い!!!!!!!!!!!!!!!!\n", "No wig!!!!!!!!!!!!!!!!\n") VT_RST);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
@ -1259,8 +1260,9 @@ void DemoEc_InitNpc(DemoEc* this, PlayState* play) {
|
|||
s16 type = this->actor.params;
|
||||
|
||||
if (sInitFuncs[type] == NULL) {
|
||||
// "Demo_Ec_main_init: Initialization process is wrong arg_data"
|
||||
PRINTF(VT_FGCOL(RED) " Demo_Ec_main_init:初期化処理がおかしいarg_data = %d!\n" VT_RST, type);
|
||||
PRINTF(VT_FGCOL(RED) T(" Demo_Ec_main_init:初期化処理がおかしいarg_data = %d!\n",
|
||||
" Demo_Ec_main_init: Initialization process is wrong arg_data = %d!\n") VT_RST,
|
||||
type);
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
@ -1284,8 +1286,9 @@ void DemoEc_InitCommon(DemoEc* this, PlayState* play) {
|
|||
secondaryObjectSlot = Object_GetSlot(&play->objectCtx, sp28);
|
||||
|
||||
if ((secondaryObjectSlot < 0) || (primaryObjectSlot < 0)) {
|
||||
// "Demo_Ec_main_bank: Bank unreadable arg_data = %d!"
|
||||
PRINTF(VT_FGCOL(RED) "Demo_Ec_main_bank:バンクを読めない arg_data = %d!\n" VT_RST, type);
|
||||
PRINTF(VT_FGCOL(RED) T("Demo_Ec_main_bank:バンクを読めない arg_data = %d!\n",
|
||||
"Demo_Ec_main_bank: Bank unreadable arg_data = %d!\n") VT_RST,
|
||||
type);
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -122,8 +122,8 @@ void DemoExt_HandleCues(DemoExt* this, PlayState* play) {
|
|||
DemoExt_SetupDispellVortex(this);
|
||||
break;
|
||||
default:
|
||||
// "Demo_Ext_Check_DemoMode: there is no such action!"
|
||||
PRINTF("Demo_Ext_Check_DemoMode:そんな動作は無い!!!!!!!!\n");
|
||||
PRINTF(T("Demo_Ext_Check_DemoMode:そんな動作は無い!!!!!!!!\n",
|
||||
"Demo_Ext_Check_DemoMode: There is no such action!!!!!!!!\n"));
|
||||
break;
|
||||
}
|
||||
this->cueId = nextCueId;
|
||||
|
|
|
@ -72,7 +72,8 @@ void DemoGeff_Init(Actor* thisx, PlayState* play) {
|
|||
DemoGeff* this = (DemoGeff*)thisx;
|
||||
|
||||
if (this->actor.params < 0 || this->actor.params >= 9) {
|
||||
PRINTF(VT_FGCOL(RED) "Demo_Geff_Actor_ct:arg_dataがおかしい!!!!!!!!!!!!\n" VT_RST);
|
||||
PRINTF(VT_FGCOL(RED) T("Demo_Geff_Actor_ct:arg_dataがおかしい!!!!!!!!!!!!\n",
|
||||
"Demo_Geff_Actor_ct:arg_data is strange!!!!!!!!!!!!\n") VT_RST);
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
@ -190,7 +191,9 @@ void func_80978370(DemoGeff* this, PlayState* play) {
|
|||
s16 params = this->actor.params;
|
||||
DemoGeffInitFunc initFunc = sInitFuncs[params];
|
||||
if (initFunc == NULL) {
|
||||
PRINTF(VT_FGCOL(RED) " Demo_Geff_main_init:初期化処理がおかしいarg_data = %d!\n" VT_RST, params);
|
||||
PRINTF(VT_FGCOL(RED) T(" Demo_Geff_main_init:初期化処理がおかしいarg_data = %d!\n",
|
||||
" Demo_Geff_main_init: Initialization process is wrong arg_data = %d!\n") VT_RST,
|
||||
params);
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
@ -206,7 +209,9 @@ void func_809783D4(DemoGeff* this, PlayState* play) {
|
|||
s32 pad;
|
||||
|
||||
if (objectSlot < 0) {
|
||||
PRINTF(VT_FGCOL(RED) "Demo_Geff_main_bank:バンクを読めない arg_data = %d!\n" VT_RST, params);
|
||||
PRINTF(VT_FGCOL(RED) T("Demo_Geff_main_bank:バンクを読めない arg_data = %d!\n",
|
||||
"Demo_Geff_main_bank: Bank unreadable arg_data = %d!\n") VT_RST,
|
||||
params);
|
||||
Actor_Kill(thisx);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -239,15 +239,17 @@ s32 DemoGj_FindGanon(DemoGj* this, PlayState* play) {
|
|||
if (actor->id == ACTOR_BOSS_GANON2) {
|
||||
this->ganon = (BossGanon2*)actor;
|
||||
|
||||
// "Demo_Gj_Search_Boss_Ganon %d: Discover Ganon !!!!"
|
||||
PRINTF("Demo_Gj_Search_Boss_Ganon %d:ガノン発見!!!!\n", this->dyna.actor.params);
|
||||
PRINTF(T("Demo_Gj_Search_Boss_Ganon %d:ガノン発見!!!!\n",
|
||||
"Demo_Gj_Search_Boss_Ganon %d: Ganon is discovered!!!!\n"),
|
||||
this->dyna.actor.params);
|
||||
return true;
|
||||
}
|
||||
actor = actor->next;
|
||||
}
|
||||
|
||||
// "Demo_Gj_Search_Boss_Ganon %d: I couldn't find Ganon"
|
||||
PRINTF("Demo_Gj_Search_Boss_Ganon %d:ガノン発見出来ず\n", this->dyna.actor.params);
|
||||
PRINTF(T("Demo_Gj_Search_Boss_Ganon %d:ガノン発見出来ず\n",
|
||||
"Demo_Gj_Search_Boss_Ganon %d: Unable to find Ganon\n"),
|
||||
this->dyna.actor.params);
|
||||
return false;
|
||||
}
|
||||
//! @bug Missing return value when `this->ganon` is already set. No caller uses the return value
|
||||
|
@ -404,8 +406,8 @@ void DemoGj_SetupRotation(DemoGj* this, PlayState* play) {
|
|||
break;
|
||||
|
||||
default:
|
||||
// "Demo_Gj_common_Reflect : This arg_data is not supported = %d"
|
||||
PRINTF(VT_FGCOL(RED) "Demo_Gj_common_Reflect : そんなarg_dataには対応していない = %d\n" VT_RST,
|
||||
PRINTF(VT_FGCOL(RED) T("Demo_Gj_common_Reflect : そんなarg_dataには対応していない = %d\n",
|
||||
"Demo_Gj_common_Reflect : This arg_data is not supported = %d\n") VT_RST,
|
||||
this->dyna.actor.params);
|
||||
return;
|
||||
}
|
||||
|
@ -558,8 +560,8 @@ void DemoGj_SetupMovement(DemoGj* this, PlayState* play) {
|
|||
break;
|
||||
|
||||
default:
|
||||
// "Demo_Gj_Setup_Move_common : This arg_data is not supported = %d"
|
||||
PRINTF(VT_FGCOL(RED) "Demo_Gj_Setup_Move_common : そんなarg_dataには対応していない = %d\n" VT_RST,
|
||||
PRINTF(VT_FGCOL(RED) T("Demo_Gj_Setup_Move_common : そんなarg_dataには対応していない = %d\n",
|
||||
"Demo_Gj_Setup_Move_common : This arg_data is not supported = %d\n") VT_RST,
|
||||
actor->params);
|
||||
break;
|
||||
}
|
||||
|
@ -1435,8 +1437,8 @@ void DemoGj_Init(Actor* thisx, PlayState* play) {
|
|||
break;
|
||||
|
||||
default:
|
||||
// "Demo_Gj_Actor_ct There is no such argument!!!!!!!!!!!!!!!!!!!!!!"
|
||||
PRINTF(VT_FGCOL(RED) "Demo_Gj_Actor_ct そんな引数は無い!!!!!!!!!!!!!!!!!!!!!!\n" VT_RST);
|
||||
PRINTF(VT_FGCOL(RED) T("Demo_Gj_Actor_ct そんな引数は無い!!!!!!!!!!!!!!!!!!!!!!\n",
|
||||
"Demo_Gj_Actor_ct There is no such argument!!!!!!!!!!!!!!!!!!!!!!\n") VT_RST);
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1774,8 +1774,8 @@ void DemoGt_Init(Actor* thisx, PlayState* play) {
|
|||
func_80982054_Init24(this, play);
|
||||
break;
|
||||
default:
|
||||
// "Demo_Gt_Actor_ct There is no such argument !"
|
||||
PRINTF("Demo_Gt_Actor_ct そんな引数は無い!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
|
||||
PRINTF(T("Demo_Gt_Actor_ct そんな引数は無い!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n",
|
||||
"Demo_Gt_Actor_ct There is no such argument!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n"));
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -244,8 +244,8 @@ void func_809839D0(DemoIk* this, PlayState* play) {
|
|||
case 6:
|
||||
break;
|
||||
default:
|
||||
// "there is no such action"
|
||||
PRINTF("Demo_Ik_Check_DemoMode:そんな動作は無い!!!!!!!!\n");
|
||||
PRINTF(T("Demo_Ik_Check_DemoMode:そんな動作は無い!!!!!!!!\n",
|
||||
"Demo_Ik_Check_DemoMode: There is no such action!!!!!!!!\n"));
|
||||
}
|
||||
this->cueId = nextCueId;
|
||||
}
|
||||
|
@ -393,8 +393,8 @@ void func_80984048(DemoIk* this, PlayState* play) {
|
|||
Actor_Kill(&this->actor);
|
||||
break;
|
||||
default:
|
||||
// "there is no such action"
|
||||
PRINTF("Demo_Ik_inFace_Check_DemoMode:そんな動作は無い!!!!!!!!\n");
|
||||
PRINTF(T("Demo_Ik_inFace_Check_DemoMode:そんな動作は無い!!!!!!!!\n",
|
||||
"Demo_Ik_inFace_Check_DemoMode: There is no such action!!!!!!!!\n"));
|
||||
}
|
||||
this->cueId = nextCueId;
|
||||
}
|
||||
|
|
|
@ -647,7 +647,8 @@ void func_809861C4(DemoIm* this, PlayState* play) {
|
|||
this->action = 12;
|
||||
break;
|
||||
default:
|
||||
PRINTF("Demo_Im_Ocarina_Check_DemoMode:そんな動作は無い!!!!!!!!\n");
|
||||
PRINTF(T("Demo_Im_Ocarina_Check_DemoMode:そんな動作は無い!!!!!!!!\n",
|
||||
"Demo_Im_Ocarina_Check_DemoMode: There is no such action!!!!!!!!\n"));
|
||||
}
|
||||
this->cueId = nextCueId;
|
||||
}
|
||||
|
@ -687,7 +688,8 @@ void func_809862E0(DemoIm* this, PlayState* play) {
|
|||
func_80986148(this);
|
||||
break;
|
||||
default:
|
||||
PRINTF("Demo_Im_Ocarina_Check_DemoMode:そんな動作は無い!!!!!!!!\n");
|
||||
PRINTF(T("Demo_Im_Ocarina_Check_DemoMode:そんな動作は無い!!!!!!!!\n",
|
||||
"Demo_Im_Ocarina_Check_DemoMode: There is no such action!!!!!!!!\n"));
|
||||
}
|
||||
this->cueId = nextCueId;
|
||||
}
|
||||
|
@ -815,7 +817,8 @@ void func_8098680C(DemoIm* this, PlayState* play) {
|
|||
Actor_Kill(&this->actor);
|
||||
break;
|
||||
default:
|
||||
PRINTF("Demo_Im_Spot00_Check_DemoMode:そんな動作は無い!!!!!!!!\n");
|
||||
PRINTF(T("Demo_Im_Spot00_Check_DemoMode:そんな動作は無い!!!!!!!!\n",
|
||||
"Demo_Im_Spot00_Check_DemoMode: There is no such action!!!!!!!!\n"));
|
||||
}
|
||||
this->cueId = nextCueId;
|
||||
}
|
||||
|
@ -1085,7 +1088,8 @@ void func_809871E8(DemoIm* this, PlayState* play) {
|
|||
func_80987174(this);
|
||||
break;
|
||||
default:
|
||||
PRINTF("Demo_Im_inEnding_Check_DemoMode:そんな動作は無い!!!!!!!!\n");
|
||||
PRINTF(T("Demo_Im_inEnding_Check_DemoMode:そんな動作は無い!!!!!!!!\n",
|
||||
"Demo_Im_inEnding_Check_DemoMode: There is no such action!!!!!!!!\n"));
|
||||
}
|
||||
this->cueId = nextCueId;
|
||||
}
|
||||
|
|
|
@ -592,7 +592,8 @@ void func_8098F654(DemoSa* this, PlayState* play) {
|
|||
func_8098F5D0(this);
|
||||
break;
|
||||
default:
|
||||
PRINTF("Demo_Sa_inEnding_Check_DemoMode:そんな動作は無い!!!!!!!!\n");
|
||||
PRINTF(T("Demo_Sa_inEnding_Check_DemoMode:そんな動作は無い!!!!!!!!\n",
|
||||
"Demo_Sa_inEnding_Check_DemoMode: There is no such action!!!!!!!!\n"));
|
||||
}
|
||||
this->cueId = nextCueId;
|
||||
}
|
||||
|
@ -741,7 +742,8 @@ void func_8098FB68(DemoSa* this, PlayState* play) {
|
|||
func_8098FAE0(this);
|
||||
break;
|
||||
default:
|
||||
PRINTF("Demo_Sa_inPresent_Check_DemoMode:そんな動作は無い!!!!!!!!\n");
|
||||
PRINTF(T("Demo_Sa_inPresent_Check_DemoMode:そんな動作は無い!!!!!!!!\n",
|
||||
"Demo_Sa_inPresent_Check_DemoMode: There is no such action!!!!!!!!\n"));
|
||||
}
|
||||
this->cueId = nextCueId;
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
#include "gfx_setupdl.h"
|
||||
#include "printf.h"
|
||||
#include "sfx.h"
|
||||
#include "translation.h"
|
||||
#include "z64curve.h"
|
||||
#include "z64play.h"
|
||||
#include "z64save.h"
|
||||
|
@ -58,8 +59,7 @@ void DemoTreLgt_Init(Actor* thisx, PlayState* play) {
|
|||
DemoTreLgt* this = (DemoTreLgt*)thisx;
|
||||
|
||||
if (!SkelCurve_Init(play, &this->skelCurve, &gTreasureChestCurveSkel, sAnimations[0])) {
|
||||
// "Demo_Tre_Lgt_Actor_ct (); Construct failed"
|
||||
PRINTF("Demo_Tre_Lgt_Actor_ct();コンストラクト失敗\n");
|
||||
PRINTF(T("Demo_Tre_Lgt_Actor_ct();コンストラクト失敗\n", "Demo_Tre_Lgt_Actor_ct(); Construct failed\n"));
|
||||
}
|
||||
|
||||
ASSERT(true, "1", "../z_demo_tre_lgt.c", UNK_LINE);
|
||||
|
|
|
@ -1380,7 +1380,8 @@ void EnIk_HandleCsCues(EnIk* this, PlayState* play) {
|
|||
break;
|
||||
|
||||
default:
|
||||
PRINTF("En_Ik_inConfrontion_Check_DemoMode:そんな動作は無い!!!!!!!!\n");
|
||||
PRINTF(T("En_Ik_inConfrontion_Check_DemoMode:そんな動作は無い!!!!!!!!\n",
|
||||
"En_Ik_inConfrontion_Check_DemoMode: There is no such action!!!!!!!!\n"));
|
||||
}
|
||||
|
||||
this->cueId = nextCueId;
|
||||
|
|
|
@ -695,8 +695,8 @@ void EnNb_CheckKidnapCsMode(EnNb* this, PlayState* play) {
|
|||
Actor_Kill(&this->actor);
|
||||
break;
|
||||
default:
|
||||
// "Operation Doesn't Exist!!!!!!!!"
|
||||
PRINTF("En_Nb_Kidnap_Check_DemoMode:そんな動作は無い!!!!!!!!\n");
|
||||
PRINTF(T("En_Nb_Kidnap_Check_DemoMode:そんな動作は無い!!!!!!!!\n",
|
||||
"En_Nb_Kidnap_Check_DemoMode: There is no such action!!!!!!!!\n"));
|
||||
break;
|
||||
}
|
||||
this->cueId = nextCueId;
|
||||
|
@ -914,8 +914,8 @@ void EnNb_CheckConfrontationCsMode(EnNb* this, PlayState* play) {
|
|||
EnNb_SetupConfrontationDestroy(this);
|
||||
break;
|
||||
default:
|
||||
// "En_Nb_Confrontion_Check_DemoMode: Operation doesn't exist!!!!!!!!"
|
||||
PRINTF("En_Nb_Confrontion_Check_DemoMode:そんな動作は無い!!!!!!!!\n");
|
||||
PRINTF(T("En_Nb_Confrontion_Check_DemoMode:そんな動作は無い!!!!!!!!\n",
|
||||
"En_Nb_Confrontion_Check_DemoMode: There is no such action!!!!!!!!\n"));
|
||||
break;
|
||||
}
|
||||
this->cueId = nextCueId;
|
||||
|
@ -1102,8 +1102,8 @@ void EnNb_CheckCreditsCsModeImpl(EnNb* this, PlayState* play) {
|
|||
EnNb_SetupCreditsHeadTurn(this);
|
||||
break;
|
||||
default:
|
||||
// "En_Nb_inEnding_Check_DemoMode: Operation doesn't exist!!!!!!!!"
|
||||
PRINTF("En_Nb_inEnding_Check_DemoMode:そんな動作は無い!!!!!!!!\n");
|
||||
PRINTF(T("En_Nb_inEnding_Check_DemoMode:そんな動作は無い!!!!!!!!\n",
|
||||
"En_Nb_inEnding_Check_DemoMode: There is no such action!!!!!!!!\n"));
|
||||
break;
|
||||
}
|
||||
this->cueId = nextCueId;
|
||||
|
|
|
@ -703,8 +703,8 @@ void EnRu2_NextCreditsAction(EnRu2* this, PlayState* play) {
|
|||
EnRu2_SetupTurnHeadDownLeftAnimation(this);
|
||||
break;
|
||||
default:
|
||||
// "There is no such action!"
|
||||
PRINTF("En_Ru2_inEnding_Check_DemoMode:そんな動作は無い!!!!!!!!\n");
|
||||
PRINTF(T("En_Ru2_inEnding_Check_DemoMode:そんな動作は無い!!!!!!!!\n",
|
||||
"En_Ru2_inEnding_Check_DemoMode: There is no such action!!!!!!!!\n"));
|
||||
break;
|
||||
}
|
||||
this->cueId = nextCueId;
|
||||
|
|
|
@ -2043,7 +2043,8 @@ s32 EnXc_SetupNocturneState(Actor* thisx, PlayState* play) {
|
|||
Actor_Kill(thisx);
|
||||
break;
|
||||
default:
|
||||
PRINTF("En_Oa2_Stalker_Check_DemoMode:そんな動作は無い!!!!!!!!\n");
|
||||
PRINTF(T("En_Oa2_Stalker_Check_DemoMode:そんな動作は無い!!!!!!!!\n",
|
||||
"En_Oa2_Stalker_Check_DemoMode: There is no such action!!!!!!!!\n"));
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -1005,7 +1005,8 @@ void func_80B50A04(EnZl2* this, PlayState* play) {
|
|||
func_80B50644(this, play);
|
||||
break;
|
||||
default:
|
||||
PRINTF("En_Zl2_inAgain_Check_DemoMode:そんな動作は無い!!!!!!!!\n");
|
||||
PRINTF(T("En_Zl2_inAgain_Check_DemoMode:そんな動作は無い!!!!!!!!\n",
|
||||
"En_Zl2_inAgain_Check_DemoMode: There is no such action!!!!!!!!\n"));
|
||||
}
|
||||
this->cueId = nextCueId;
|
||||
}
|
||||
|
@ -1396,7 +1397,8 @@ void func_80B51948(EnZl2* this, PlayState* play) {
|
|||
func_80B513A8(this, play);
|
||||
break;
|
||||
default:
|
||||
PRINTF("En_Zl2_inEnding_Check_DemoMode:そんな動作は無い!!!!!!!!\n");
|
||||
PRINTF(T("En_Zl2_inEnding_Check_DemoMode:そんな動作は無い!!!!!!!!\n",
|
||||
"En_Zl2_inEnding_Check_DemoMode: There is no such action!!!!!!!!\n"));
|
||||
}
|
||||
this->cueId = nextCueId;
|
||||
}
|
||||
|
@ -1560,7 +1562,8 @@ void func_80B51FA8(EnZl2* this, PlayState* play) {
|
|||
Actor_Kill(&this->actor);
|
||||
break;
|
||||
default:
|
||||
PRINTF("En_Zl2_inRunning_Check_DemoMode:そんな動作は無い!!!!!!!!\n");
|
||||
PRINTF(T("En_Zl2_inRunning_Check_DemoMode:そんな動作は無い!!!!!!!!\n",
|
||||
"En_Zl2_inRunning_Check_DemoMode: There is no such action!!!!!!!!\n"));
|
||||
break;
|
||||
}
|
||||
this->cueId = nextCueId;
|
||||
|
|
|
@ -968,7 +968,8 @@ void func_80B55444(EnZl3* this, PlayState* play) {
|
|||
this->unk_328 = 1;
|
||||
FALLTHROUGH;
|
||||
default:
|
||||
PRINTF("En_Zl3_inFinal_Check_DemoMode:そんな動作は無い!!!!!!!!\n");
|
||||
PRINTF(T("En_Zl3_inFinal_Check_DemoMode:そんな動作は無い!!!!!!!!\n",
|
||||
"En_Zl3_inFinal_Check_DemoMode: There is no such action!!!!!!!!\n"));
|
||||
break;
|
||||
}
|
||||
this->unk_2F0 = temp_v0;
|
||||
|
@ -1384,7 +1385,8 @@ void func_80B564A8(EnZl3* this, PlayState* play) {
|
|||
Actor_Kill(&this->actor);
|
||||
break;
|
||||
default:
|
||||
PRINTF("En_Zl3_inFinal2_Check_DemoMode:そんな動作は無い!!!!!!!!\n");
|
||||
PRINTF(T("En_Zl3_inFinal2_Check_DemoMode:そんな動作は無い!!!!!!!!\n",
|
||||
"En_Zl3_inFinal2_Check_DemoMode: There is no such action!!!!!!!!\n"));
|
||||
}
|
||||
this->unk_2F0 = temp_v0;
|
||||
}
|
||||
|
|
|
@ -492,16 +492,17 @@ void ObjBean_Init(Actor* thisx, PlayState* play) {
|
|||
path = PARAMS_GET_U(this->dyna.actor.params, 8, 5);
|
||||
if (path == 0x1F) {
|
||||
PRINTF_COLOR_ERROR();
|
||||
// "No path data?"
|
||||
PRINTF("パスデータが無い?(%s %d)(arg_data %xH)\n", "../z_obj_bean.c", 909, this->dyna.actor.params);
|
||||
PRINTF(T("パスデータが無い?(%s %d)(arg_data %xH)\n", "No path data? (%s %d)(arg_data %xH)\n"),
|
||||
"../z_obj_bean.c", 909, this->dyna.actor.params);
|
||||
PRINTF_RST();
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
return;
|
||||
}
|
||||
if (play->pathList[path].count < 3) {
|
||||
PRINTF_COLOR_ERROR();
|
||||
// "Incorrect number of path data"
|
||||
PRINTF("パスデータ数が不正(%s %d)(arg_data %xH)\n", "../z_obj_bean.c", 921, this->dyna.actor.params);
|
||||
PRINTF(T("パスデータ数が不正(%s %d)(arg_data %xH)\n",
|
||||
"Path data count is invalid (%s %d)(arg_data %xH)\n"),
|
||||
"../z_obj_bean.c", 921, this->dyna.actor.params);
|
||||
PRINTF_RST();
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
return;
|
||||
|
@ -530,8 +531,8 @@ void ObjBean_Init(Actor* thisx, PlayState* play) {
|
|||
ObjBean_SetupWaitForBean(this);
|
||||
}
|
||||
this->dyna.actor.world.rot.z = this->dyna.actor.home.rot.z = this->dyna.actor.shape.rot.z = 0;
|
||||
// "Magic bean tree lift"
|
||||
PRINTF("(魔法の豆の木リフト)(arg_data 0x%04x)\n", this->dyna.actor.params);
|
||||
PRINTF(T("(魔法の豆の木リフト)(arg_data 0x%04x)\n", "(Magic beanstalk lift)(arg_data 0x%04x)\n"),
|
||||
this->dyna.actor.params);
|
||||
}
|
||||
|
||||
void ObjBean_Destroy(Actor* thisx, PlayState* play) {
|
||||
|
@ -908,8 +909,7 @@ void ObjBean_Update(Actor* thisx, PlayState* play) {
|
|||
|
||||
if (ObjBean_CheckForHorseTrample(this, play)) {
|
||||
PRINTF_COLOR_CYAN();
|
||||
// "Horse and bean tree lift collision"
|
||||
PRINTF("馬と豆の木リフト衝突!!!\n");
|
||||
PRINTF(T("馬と豆の木リフト衝突!!!\n", "Horse and beanstalk lift collide!!!\n"));
|
||||
PRINTF_RST();
|
||||
ObjBean_Break(this, play);
|
||||
DynaPoly_DisableCollision(play, &play->colCtx.dyna, this->dyna.bgId);
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#include "ichain.h"
|
||||
#include "printf.h"
|
||||
#include "sfx.h"
|
||||
#include "translation.h"
|
||||
#include "z_en_item00.h"
|
||||
#include "z_lib.h"
|
||||
#include "z64effect.h"
|
||||
|
@ -108,8 +109,8 @@ void ObjKibako_Init(Actor* thisx, PlayState* play) {
|
|||
ObjKibako_InitCollider(&this->actor, play);
|
||||
CollisionCheck_SetInfo(&this->actor.colChkInfo, NULL, &sCCInfoInit);
|
||||
ObjKibako_SetupIdle(this);
|
||||
// "wooden box"
|
||||
PRINTF("(dungeon keep 木箱)(arg_data 0x%04x)\n", this->actor.params);
|
||||
PRINTF(T("(dungeon keep 木箱)(arg_data 0x%04x)\n", "(dungeon keep wooden box)(arg_data 0x%04x)\n"),
|
||||
this->actor.params);
|
||||
}
|
||||
|
||||
void ObjKibako_Destroy(Actor* thisx, PlayState* play2) {
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#include "ichain.h"
|
||||
#include "printf.h"
|
||||
#include "sfx.h"
|
||||
#include "translation.h"
|
||||
#include "z_en_item00.h"
|
||||
#include "z_lib.h"
|
||||
#include "z64effect.h"
|
||||
|
@ -140,9 +141,8 @@ void ObjKibako2_Init(Actor* thisx, PlayState* play) {
|
|||
this->actionFunc = ObjKibako2_Idle;
|
||||
this->dyna.actor.home.rot.z = this->dyna.actor.world.rot.z = this->dyna.actor.shape.rot.z =
|
||||
this->dyna.actor.world.rot.x = this->dyna.actor.shape.rot.x = 0;
|
||||
// "Wooden box (stationary)"
|
||||
PRINTF("木箱(据置)(arg %04xH)(item %04xH %d)\n", this->dyna.actor.params, this->collectibleFlag,
|
||||
this->dyna.actor.home.rot.x);
|
||||
PRINTF(T("木箱(据置)(arg %04xH)(item %04xH %d)\n", "Wooden box (stationary)(arg %04xH)(item %04xH %d)\n"),
|
||||
this->dyna.actor.params, this->collectibleFlag, this->dyna.actor.home.rot.x);
|
||||
}
|
||||
|
||||
void ObjKibako2_Destroy(Actor* thisx, PlayState* play) {
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
#include "sfx.h"
|
||||
#include "sys_matrix.h"
|
||||
#include "terminal.h"
|
||||
#include "translation.h"
|
||||
#include "z_lib.h"
|
||||
#include "z64effect.h"
|
||||
#include "z64play.h"
|
||||
|
@ -203,8 +204,9 @@ void ObjLightswitch_Init(Actor* thisx, PlayState* play) {
|
|||
this->actor.home.pos.y, this->actor.home.pos.z, 0, this->actor.home.rot.y, 0,
|
||||
(0xFF << 8) | PUSHBLOCK_SMALL_START_ON) == NULL) {
|
||||
PRINTF_COLOR_ERROR();
|
||||
// "Push-pull block occurrence failure"
|
||||
PRINTF("押引ブロック発生失敗(%s %d)(arg_data 0x%04x)\n", "../z_obj_lightswitch.c", 452, this->actor.params);
|
||||
PRINTF(T("押引ブロック発生失敗(%s %d)(arg_data 0x%04x)\n",
|
||||
"Push/pull block failure(%s %d)(arg_data 0x%04x)\n"),
|
||||
"../z_obj_lightswitch.c", 452, this->actor.params);
|
||||
PRINTF_RST();
|
||||
removeSelf = true;
|
||||
}
|
||||
|
@ -214,8 +216,7 @@ void ObjLightswitch_Init(Actor* thisx, PlayState* play) {
|
|||
if (removeSelf) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
// "Light switch"
|
||||
PRINTF("(光スイッチ)(arg_data 0x%04x)\n", this->actor.params);
|
||||
PRINTF(T("(光スイッチ)(arg_data 0x%04x)\n", "(Light switch)(arg_data 0x%04x)\n"), this->actor.params);
|
||||
}
|
||||
|
||||
void ObjLightswitch_Destroy(Actor* thisx, PlayState* play2) {
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
#include "printf.h"
|
||||
#include "terminal.h"
|
||||
#include "translation.h"
|
||||
#include "z64play.h"
|
||||
#include "z64player.h"
|
||||
|
||||
|
@ -36,13 +37,12 @@ void ObjMakekinsuta_Init(Actor* thisx, PlayState* play) {
|
|||
|
||||
if (PARAMS_GET_NOSHIFT(this->actor.params, 13, 2) == 0x4000) {
|
||||
PRINTF_COLOR_BLUE();
|
||||
// "Gold Star Enemy(arg_data %x)"
|
||||
PRINTF("金スタ発生敵(arg_data %x)\n", this->actor.params);
|
||||
PRINTF(T("金スタ発生敵(arg_data %x)\n", "Gold Star Enemy(arg_data %x)\n"), this->actor.params);
|
||||
PRINTF_RST();
|
||||
} else {
|
||||
PRINTF_COLOR_WARNING();
|
||||
// "Invalid Argument (arg_data %x)(%s %d)"
|
||||
PRINTF("引数不正 (arg_data %x)(%s %d)\n", this->actor.params, "../z_obj_makekinsuta.c", 119);
|
||||
PRINTF(T("引数不正 (arg_data %x)(%s %d)\n", "Invalid Argument (arg_data %x)(%s %d)\n"), this->actor.params,
|
||||
"../z_obj_makekinsuta.c", 119);
|
||||
PRINTF_RST();
|
||||
}
|
||||
this->actionFunc = func_80B98320;
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
#include "sys_math3d.h"
|
||||
#include "sys_matrix.h"
|
||||
#include "terminal.h"
|
||||
#include "translation.h"
|
||||
#include "z_lib.h"
|
||||
#include "z64play.h"
|
||||
|
||||
|
@ -78,9 +79,9 @@ void ObjMakeoshihiki_Init(Actor* thisx, PlayState* play) {
|
|||
|
||||
if (Actor_SpawnAsChild(&play->actorCtx, thisx, play, ACTOR_OBJ_OSHIHIKI, spawnPos->x, spawnPos->y, spawnPos->z, 0,
|
||||
block->rotY, 0, ((block->color << 6) & 0xC0) | (block->type & 0xF) | 0xFF00) == NULL) {
|
||||
// "Push-pull block failure"
|
||||
PRINTF_COLOR_ERROR();
|
||||
PRINTF("Error : 押し引きブロック発生失敗(%s %d)\n", "../z_obj_makeoshihiki.c", 194);
|
||||
PRINTF(T("Error : 押し引きブロック発生失敗(%s %d)\n", "Error : Push/pull block failure (%s %d)\n"),
|
||||
"../z_obj_makeoshihiki.c", 194);
|
||||
PRINTF_RST();
|
||||
Actor_Kill(thisx);
|
||||
return;
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#include "libc64/qrand.h"
|
||||
#include "ichain.h"
|
||||
#include "printf.h"
|
||||
#include "translation.h"
|
||||
#include "z64play.h"
|
||||
|
||||
#define FLAGS 0
|
||||
|
@ -76,9 +77,9 @@ s32 ObjMure_SetCullingImpl(Actor* thisx, PlayState* play) {
|
|||
result = true;
|
||||
break;
|
||||
default:
|
||||
// "Error : Culling is not set.(%s %d)(arg_data 0x%04x)"
|
||||
PRINTF("Error : カリングの設定がされていません。(%s %d)(arg_data 0x%04x)\n", "../z_obj_mure.c", 204,
|
||||
this->actor.params);
|
||||
PRINTF(T("Error : カリングの設定がされていません。(%s %d)(arg_data 0x%04x)\n",
|
||||
"Error : Culling is not set. (%s %d)(arg_data 0x%04x)\n"),
|
||||
"../z_obj_mure.c", 204, this->actor.params);
|
||||
return false;
|
||||
}
|
||||
return result;
|
||||
|
@ -100,11 +101,13 @@ void ObjMure_Init(Actor* thisx, PlayState* play) {
|
|||
this->type = PARAMS_GET_U(thisx->params, 0, 5);
|
||||
|
||||
if (this->ptn >= 4) {
|
||||
PRINTF("Error 群れな敵 (%s %d)(arg_data 0x%04x)\n", "../z_obj_mure.c", 237, thisx->params);
|
||||
PRINTF(T("Error 群れな敵 (%s %d)(arg_data 0x%04x)\n", "Error Swarm of enemies (%s %d)(arg_data 0x%04x)\n"),
|
||||
"../z_obj_mure.c", 237, thisx->params);
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
} else if (this->type >= 5) {
|
||||
PRINTF("Error 群れな敵 (%s %d)(arg_data 0x%04x)\n", "../z_obj_mure.c", 245, thisx->params);
|
||||
PRINTF(T("Error 群れな敵 (%s %d)(arg_data 0x%04x)\n", "Error Swarm of enemies (%s %d)(arg_data 0x%04x)\n"),
|
||||
"../z_obj_mure.c", 245, thisx->params);
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
} else if (!ObjMure_SetCulling(thisx, play)) {
|
||||
|
@ -112,12 +115,15 @@ void ObjMure_Init(Actor* thisx, PlayState* play) {
|
|||
return;
|
||||
}
|
||||
this->actionFunc = ObjMure_InitialAction;
|
||||
PRINTF("群れな敵 (arg_data 0x%04x)(chNum(%d) ptn(%d) svNum(%d) type(%d))\n", thisx->params, this->chNum, this->ptn,
|
||||
this->svNum, this->type);
|
||||
PRINTF(T("群れな敵 (arg_data 0x%04x)(chNum(%d) ptn(%d) svNum(%d) type(%d))\n",
|
||||
"Swarm of enemies (arg_data 0x%04x)(chNum(%d) ptn(%d) svNum(%d) type(%d))\n"),
|
||||
thisx->params, this->chNum, this->ptn, this->svNum, this->type);
|
||||
|
||||
#if DEBUG_FEATURES
|
||||
if (ObjMure_GetMaxChildSpawns(this) <= 0) {
|
||||
PRINTF("Warning : 個体数が設定されていません(%s %d)(arg_data 0x%04x)\n", "../z_obj_mure.c", 268, thisx->params);
|
||||
PRINTF(T("Warning : 個体数が設定されていません(%s %d)(arg_data 0x%04x)\n",
|
||||
"Warning : The number of individuals is not set(%s %d)(arg_data 0x%04x)\n"),
|
||||
"../z_obj_mure.c", 268, thisx->params);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
@ -135,7 +141,7 @@ s32 ObjMure_GetMaxChildSpawns(ObjMure* this) {
|
|||
void ObjMure_GetSpawnPos(Vec3f* outPos, Vec3f* inPos, s32 ptn, s32 idx) {
|
||||
#if DEBUG_FEATURES
|
||||
if (ptn >= 4) {
|
||||
PRINTF("おかしなの (%s %d)\n", "../z_obj_mure.c", 307);
|
||||
PRINTF(T("おかしなの (%s %d)\n", "That's strange (%s %d)\n"), "../z_obj_mure.c", 307);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -152,8 +158,9 @@ void ObjMure_SpawnActors0(ObjMure* this, PlayState* play) {
|
|||
for (i = 0; i < maxChildren; i++) {
|
||||
#if DEBUG_FEATURES
|
||||
if (this->children[i] != NULL) {
|
||||
// "Error: I already have a child(%s %d)(arg_data 0x%04x)"
|
||||
PRINTF("Error : 既に子供がいる(%s %d)(arg_data 0x%04x)\n", "../z_obj_mure.c", 333, actor->params);
|
||||
PRINTF(T("Error : 既に子供がいる(%s %d)(arg_data 0x%04x)\n",
|
||||
"Error : I already have a child (%s %d)(arg_data 0x%04x)\n"),
|
||||
"../z_obj_mure.c", 333, actor->params);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -169,7 +176,8 @@ void ObjMure_SpawnActors0(ObjMure* this, PlayState* play) {
|
|||
this->children[i]->flags |= ACTOR_FLAG_GRASS_DESTROYED;
|
||||
this->children[i]->room = actor->room;
|
||||
} else {
|
||||
PRINTF("warning 発生失敗 (%s %d)\n", "../z_obj_mure.c", 359);
|
||||
PRINTF(T("warning 発生失敗 (%s %d)\n", "warning failed to occur (%s %d)\n"), "../z_obj_mure.c",
|
||||
359);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
@ -180,7 +188,8 @@ void ObjMure_SpawnActors0(ObjMure* this, PlayState* play) {
|
|||
if (this->children[i] != NULL) {
|
||||
this->children[i]->room = actor->room;
|
||||
} else {
|
||||
PRINTF("warning 発生失敗 (%s %d)\n", "../z_obj_mure.c", 382);
|
||||
PRINTF(T("warning 発生失敗 (%s %d)\n", "warning failed to occur (%s %d)\n"), "../z_obj_mure.c",
|
||||
382);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -197,7 +206,9 @@ void ObjMure_SpawnActors1(ObjMure* this, PlayState* play2) {
|
|||
for (i = 0; i < maxChildren; i++) {
|
||||
#if DEBUG_FEATURES
|
||||
if (this->children[i] != NULL) {
|
||||
PRINTF("Error : 既に子供がいる(%s %d)(arg_data 0x%04x)\n", "../z_obj_mure.c", 407, actor->params);
|
||||
PRINTF(T("Error : 既に子供がいる(%s %d)(arg_data 0x%04x)\n",
|
||||
"Error : I already have a child (%s %d)(arg_data 0x%04x)\n"),
|
||||
"../z_obj_mure.c", 407, actor->params);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -210,7 +221,7 @@ void ObjMure_SpawnActors1(ObjMure* this, PlayState* play2) {
|
|||
this->children[i]->room = actor->room;
|
||||
} else {
|
||||
this->childrenStates[i] = OBJMURE_CHILD_STATE_1;
|
||||
PRINTF("warning 発生失敗 (%s %d)\n", "../z_obj_mure.c", 438);
|
||||
PRINTF(T("warning 発生失敗 (%s %d)\n", "warning failed to occur (%s %d)\n"), "../z_obj_mure.c", 438);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
#include "ichain.h"
|
||||
#include "printf.h"
|
||||
#include "sys_math3d.h"
|
||||
#include "translation.h"
|
||||
#include "z_lib.h"
|
||||
#include "z64play.h"
|
||||
|
||||
|
@ -117,8 +118,9 @@ void ObjMure2_SpawnActors(ObjMure2* this, PlayState* play) {
|
|||
|
||||
for (i = 0; i < D_80B9A818[actorNum]; i++) {
|
||||
if (this->actorSpawnPtrList[i] != NULL) {
|
||||
// "Warning : I already have a child (%s %d)(arg_data 0x%04x)"
|
||||
PRINTF("Warning : 既に子供がいる(%s %d)(arg_data 0x%04x)\n", "../z_obj_mure2.c", 269, this->actor.params);
|
||||
PRINTF(T("Warning : 既に子供がいる(%s %d)(arg_data 0x%04x)\n",
|
||||
"Warning : I already have a child (%s %d)(arg_data 0x%04x)\n"),
|
||||
"../z_obj_mure2.c", 269, this->actor.params);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
|
@ -230,9 +230,9 @@ void ObjOshihiki_CheckType(ObjOshihiki* this, PlayState* play) {
|
|||
ObjOshihiki_InitDynapoly(this, play, &gPushBlockCol, 1);
|
||||
break;
|
||||
default:
|
||||
// "Error : type cannot be determined"
|
||||
PRINTF("Error : タイプが判別できない(%s %d)(arg_data 0x%04x)\n", "../z_obj_oshihiki.c", 444,
|
||||
this->dyna.actor.params);
|
||||
PRINTF(T("Error : タイプが判別できない(%s %d)(arg_data 0x%04x)\n",
|
||||
"Error : type cannot be determined (%s %d)(arg_data 0x%04x)\n"),
|
||||
"../z_obj_oshihiki.c", 444, this->dyna.actor.params);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -274,8 +274,9 @@ void ObjOshihiki_SetColor(ObjOshihiki* this, PlayState* play2) {
|
|||
}
|
||||
|
||||
if (i >= ARRAY_COUNT(sColors)) {
|
||||
// "Error : scene_data_ID cannot be determined"
|
||||
PRINTF("Error : scene_data_ID が判別できない。(%s %d)\n", "../z_obj_oshihiki.c", 579);
|
||||
PRINTF(T("Error : scene_data_ID が判別できない。(%s %d)\n",
|
||||
"Error : scene_data_ID cannot be determined. (%s %d)\n"),
|
||||
"../z_obj_oshihiki.c", 579);
|
||||
color->r = color->g = color->b = 255;
|
||||
} else {
|
||||
src = &sColors[i][paramsColorIdx];
|
||||
|
@ -320,8 +321,8 @@ void ObjOshihiki_Init(Actor* thisx, PlayState* play2) {
|
|||
ObjOshihiki_SetColor(this, play);
|
||||
ObjOshihiki_ResetFloors(this);
|
||||
ObjOshihiki_SetupOnActor(this, play);
|
||||
// "(dungeon keep push-pull block)"
|
||||
PRINTF("(dungeon keep 押し引きブロック)(arg_data 0x%04x)\n", this->dyna.actor.params);
|
||||
PRINTF(T("(dungeon keep 押し引きブロック)(arg_data 0x%04x)\n", "(dungeon keep push/pull block)(arg_data 0x%04x)\n"),
|
||||
this->dyna.actor.params);
|
||||
}
|
||||
|
||||
void ObjOshihiki_Destroy(Actor* thisx, PlayState* play) {
|
||||
|
@ -387,9 +388,9 @@ s32 ObjOshihiki_CheckFloor(ObjOshihiki* this, PlayState* play) {
|
|||
|
||||
s32 ObjOshihiki_CheckGround(ObjOshihiki* this, PlayState* play) {
|
||||
if (this->dyna.actor.world.pos.y <= BGCHECK_Y_MIN + 10.0f) {
|
||||
// "Warning : Push-pull block fell too much"
|
||||
PRINTF("Warning : 押し引きブロック落ちすぎた(%s %d)(arg_data 0x%04x)\n", "../z_obj_oshihiki.c", 809,
|
||||
this->dyna.actor.params);
|
||||
PRINTF(T("Warning : 押し引きブロック落ちすぎた(%s %d)(arg_data 0x%04x)\n",
|
||||
"Warning : Push/pull block fell too much (%s %d)(arg_data 0x%04x)\n"),
|
||||
"../z_obj_oshihiki.c", 809, this->dyna.actor.params);
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -339,7 +339,7 @@ void ObjSwitch_Init(Actor* thisx, PlayState* play) {
|
|||
|
||||
if (OBJSWITCH_FROZEN(&this->dyna.actor) && (ObjSwitch_SpawnIce(this, play) == NULL)) {
|
||||
PRINTF_COLOR_RED();
|
||||
PRINTF("Error : 氷発生失敗 (%s %d)\n", "../z_obj_switch.c", 732);
|
||||
PRINTF(T("Error : 氷発生失敗 (%s %d)\n", "Error : Ice generation failure (%s %d)\n"), "../z_obj_switch.c", 732);
|
||||
PRINTF_RST();
|
||||
this->dyna.actor.params &= ~OBJSWITCH_FROZEN_FLAG;
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
#include "printf.h"
|
||||
#include "sfx.h"
|
||||
#include "sys_matrix.h"
|
||||
#include "translation.h"
|
||||
#include "z_lib.h"
|
||||
#include "z64ocarina.h"
|
||||
#include "z64play.h"
|
||||
|
@ -149,10 +150,10 @@ void ObjTimeblock_Init(Actor* thisx, PlayState* play) {
|
|||
ObjTimeblock_SetupAltBehaviourNotVisible(this);
|
||||
}
|
||||
|
||||
// "Block of time"
|
||||
PRINTF("時のブロック (<arg> %04xH <type> save:%d color:%d range:%d move:%d)\n", (u16)this->dyna.actor.params,
|
||||
this->unk_177, this->dyna.actor.home.rot.z & 7, PARAMS_GET_U(this->dyna.actor.params, 11, 3),
|
||||
PARAMS_GET_U(this->dyna.actor.params, 10, 1));
|
||||
PRINTF(T("時のブロック (<arg> %04xH <type> save:%d color:%d range:%d move:%d)\n",
|
||||
"Time Block (<arg> %04xH <type> save:%d color:%d range:%d move:%d)\n"),
|
||||
(u16)this->dyna.actor.params, this->unk_177, this->dyna.actor.home.rot.z & 7,
|
||||
PARAMS_GET_U(this->dyna.actor.params, 11, 3), PARAMS_GET_U(this->dyna.actor.params, 10, 1));
|
||||
}
|
||||
|
||||
void ObjTimeblock_Destroy(Actor* thisx, PlayState* play) {
|
||||
|
@ -233,8 +234,9 @@ void ObjTimeblock_Normal(ObjTimeblock* this, PlayState* play) {
|
|||
|
||||
// Possibly points the camera to this actor
|
||||
OnePointCutscene_Attention(play, &this->dyna.actor);
|
||||
// "◯◯◯◯ Time Block Attention Camera (frame counter %d)\n"
|
||||
PRINTF("◯◯◯◯ Time Block 注目カメラ (frame counter %d)\n", play->state.frames);
|
||||
PRINTF(T("◯◯◯◯ Time Block 注目カメラ (frame counter %d)\n",
|
||||
"◯◯◯◯ Time Block Attention Camera (frame counter %d)\n"),
|
||||
play->state.frames);
|
||||
|
||||
this->demoEffectFirstPartTimer = 12;
|
||||
|
||||
|
@ -291,8 +293,9 @@ void ObjTimeblock_AltBehaviorVisible(ObjTimeblock* this, PlayState* play) {
|
|||
ObjTimeblock_SpawnDemoEffect(this, play);
|
||||
this->demoEffectTimer = 160;
|
||||
OnePointCutscene_Attention(play, &this->dyna.actor);
|
||||
// "Time Block Attention Camera (frame counter)"
|
||||
PRINTF("◯◯◯◯ Time Block 注目カメラ (frame counter %d)\n", play->state.frames);
|
||||
PRINTF(T("◯◯◯◯ Time Block 注目カメラ (frame counter %d)\n",
|
||||
"◯◯◯◯ Time Block Attention Camera (frame counter %d)\n"),
|
||||
play->state.frames);
|
||||
ObjTimeblock_ToggleSwitchFlag(play, PARAMS_GET_U(this->dyna.actor.params, 0, 6));
|
||||
}
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#include "ichain.h"
|
||||
#include "printf.h"
|
||||
#include "sfx.h"
|
||||
#include "translation.h"
|
||||
#include "z_en_item00.h"
|
||||
#include "z_lib.h"
|
||||
#include "z64effect.h"
|
||||
|
@ -124,7 +125,7 @@ s32 ObjTsubo_SnapToFloor(ObjTsubo* this, PlayState* play) {
|
|||
Math_Vec3f_Copy(&this->actor.home.pos, &this->actor.world.pos);
|
||||
return true;
|
||||
} else {
|
||||
PRINTF("地面に付着失敗\n");
|
||||
PRINTF(T("地面に付着失敗\n", "Failed to attach to ground\n"));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -149,11 +150,12 @@ void ObjTsubo_Init(Actor* thisx, PlayState* play) {
|
|||
}
|
||||
this->requiredObjectSlot = Object_GetSlot(&play->objectCtx, sObjectIds[PARAMS_GET_U(this->actor.params, 8, 1)]);
|
||||
if (this->requiredObjectSlot < 0) {
|
||||
PRINTF("Error : バンク危険! (arg_data 0x%04x)(%s %d)\n", this->actor.params, "../z_obj_tsubo.c", 410);
|
||||
PRINTF(T("Error : バンク危険! (arg_data 0x%04x)(%s %d)\n", "Error : Bank danger! (arg_data 0x%04x)(%s %d)\n"),
|
||||
this->actor.params, "../z_obj_tsubo.c", 410);
|
||||
Actor_Kill(&this->actor);
|
||||
} else {
|
||||
ObjTsubo_SetupWaitForObject(this);
|
||||
PRINTF("(dungeon keep 壷)(arg_data 0x%04x)\n", this->actor.params);
|
||||
PRINTF(T("(dungeon keep 壷)(arg_data 0x%04x)\n", "(dungeon keep pot)(arg_data 0x%04x)\n"), this->actor.params);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
#include "sys_math3d.h"
|
||||
#include "sys_matrix.h"
|
||||
#include "terminal.h"
|
||||
#include "translation.h"
|
||||
#include "z_lib.h"
|
||||
#include "z64ocarina.h"
|
||||
#include "z64play.h"
|
||||
|
@ -234,7 +235,8 @@ void ObjWarp2block_Init(Actor* thisx, PlayState* play2) {
|
|||
ObjWarp2block_SetInactive(this);
|
||||
}
|
||||
|
||||
PRINTF("時のブロック(ワープ2) (<arg> %04xH <type> color:%d range:%d)\n",
|
||||
PRINTF(T("時のブロック(ワープ2) (<arg> %04xH <type> color:%d range:%d)\n",
|
||||
"Time Block (Warp 2) (<arg> %04xH <type> color:%d range:%d)\n"),
|
||||
PARAMS_GET_U(this->dyna.actor.params, 0, 16), this->dyna.actor.home.rot.z & 7,
|
||||
PARAMS_GET_U(this->dyna.actor.params, 11, 3));
|
||||
}
|
||||
|
@ -279,7 +281,9 @@ void func_80BA24F8(ObjWarp2block* this, PlayState* play) {
|
|||
this->unk_174++;
|
||||
if (this->unk_174 > 60) {
|
||||
PRINTF_COLOR_ERROR();
|
||||
PRINTF("Error : 時のブロック(ワープ2)が対でセットされていません(%s %d)\n", "../z_obj_warp2block.c", 505);
|
||||
PRINTF(T("Error : 時のブロック(ワープ2)が対でセットされていません(%s %d)\n",
|
||||
"Error : Time Blocks (Warp 2) are not set in pairs (%s %d)\n"),
|
||||
"../z_obj_warp2block.c", 505);
|
||||
PRINTF_RST();
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef FILE_SELECT_H
|
||||
#define FILE_SELECT_H
|
||||
|
||||
#include "libc/stddef.h"
|
||||
#include "stddef.h"
|
||||
#include "ultra64.h"
|
||||
#include "gfx.h"
|
||||
#include "versions.h"
|
||||
|
|
|
@ -13,18 +13,60 @@
|
|||
#include "assets/textures/icon_item_static/icon_item_static.h"
|
||||
#include "assets/textures/parameter_static/parameter_static.h"
|
||||
|
||||
static u8 sChildUpgrades[] = { UPG_BULLET_BAG, UPG_BOMB_BAG, UPG_STRENGTH, UPG_SCALE };
|
||||
static u8 sAdultUpgrades[] = { UPG_QUIVER, UPG_BOMB_BAG, UPG_STRENGTH, UPG_SCALE };
|
||||
static u8 sChildUpgrades[] = {
|
||||
UPG_BULLET_BAG, // EQUIP_QUAD_UPG_BULLETBAG_QUIVER
|
||||
UPG_BOMB_BAG, // EQUIP_QUAD_UPG_BOMB_BAG
|
||||
UPG_STRENGTH, // EQUIP_QUAD_UPG_STRENGTH
|
||||
UPG_SCALE, // EQUIP_QUAD_UPG_SCALE
|
||||
};
|
||||
static u8 sAdultUpgrades[] = {
|
||||
UPG_QUIVER, // EQUIP_QUAD_UPG_BULLETBAG_QUIVER
|
||||
UPG_BOMB_BAG, // EQUIP_QUAD_UPG_BOMB_BAG
|
||||
UPG_STRENGTH, // EQUIP_QUAD_UPG_STRENGTH
|
||||
UPG_SCALE, // EQUIP_QUAD_UPG_SCALE
|
||||
};
|
||||
|
||||
static u8 sChildUpgradeItemBases[] = { ITEM_BULLET_BAG_30, ITEM_BOMB_BAG_20, ITEM_STRENGTH_GORONS_BRACELET,
|
||||
ITEM_SCALE_SILVER };
|
||||
static u8 sAdultUpgradeItemBases[] = { ITEM_QUIVER_30, ITEM_BOMB_BAG_20, ITEM_STRENGTH_GORONS_BRACELET,
|
||||
ITEM_SCALE_SILVER };
|
||||
static u8 sChildUpgradeItemBases[] = {
|
||||
ITEM_BULLET_BAG_30, // EQUIP_QUAD_UPG_BULLETBAG_QUIVER
|
||||
ITEM_BOMB_BAG_20, // EQUIP_QUAD_UPG_BOMB_BAG
|
||||
ITEM_STRENGTH_GORONS_BRACELET, // EQUIP_QUAD_UPG_STRENGTH
|
||||
ITEM_SCALE_SILVER, // EQUIP_QUAD_UPG_SCALE
|
||||
};
|
||||
static u8 sAdultUpgradeItemBases[] = {
|
||||
ITEM_QUIVER_30, // EQUIP_QUAD_UPG_BULLETBAG_QUIVER
|
||||
ITEM_BOMB_BAG_20, // EQUIP_QUAD_UPG_BOMB_BAG
|
||||
ITEM_STRENGTH_GORONS_BRACELET, // EQUIP_QUAD_UPG_STRENGTH
|
||||
ITEM_SCALE_SILVER, // EQUIP_QUAD_UPG_SCALE
|
||||
};
|
||||
|
||||
static u8 sUpgradeItemOffsets[] = { 0x00, 0x03, 0x06, 0x09 };
|
||||
static u8 sUpgradeItemOffsets[] = {
|
||||
0, // unused
|
||||
ITEM_BOMB_BAG_20 - ITEM_QUIVER_30, // UPG_BOMB_BAG
|
||||
ITEM_STRENGTH_GORONS_BRACELET - ITEM_QUIVER_30, // UPG_STRENGTH
|
||||
ITEM_SCALE_SILVER - ITEM_QUIVER_30, // UPG_SCALE
|
||||
};
|
||||
|
||||
static u8 sEquipmentItemOffsets[] = {
|
||||
0x00, 0x00, 0x01, 0x02, 0x00, 0x03, 0x04, 0x05, 0x00, 0x06, 0x07, 0x08, 0x00, 0x09, 0x0A, 0x0B,
|
||||
// EQUIP_TYPE_SWORD
|
||||
0, // unused
|
||||
ITEM_SWORD_KOKIRI - ITEM_SWORD_KOKIRI, // EQUIP_VALUE_SWORD_KOKIRI
|
||||
ITEM_SWORD_MASTER - ITEM_SWORD_KOKIRI, // EQUIP_VALUE_SWORD_MASTER
|
||||
ITEM_SWORD_BIGGORON - ITEM_SWORD_KOKIRI, // EQUIP_VALUE_SWORD_BIGGORON
|
||||
// EQUIP_TYPE_SHIELD
|
||||
0, // unused
|
||||
ITEM_SHIELD_DEKU - ITEM_SWORD_KOKIRI, // EQUIP_VALUE_SHIELD_DEKU
|
||||
ITEM_SHIELD_HYLIAN - ITEM_SWORD_KOKIRI, // EQUIP_VALUE_SHIELD_HYLIAN
|
||||
ITEM_SHIELD_MIRROR - ITEM_SWORD_KOKIRI, // EQUIP_VALUE_SHIELD_MIRROR
|
||||
// EQUIP_TYPE_TUNIC
|
||||
0, // unused
|
||||
ITEM_TUNIC_KOKIRI - ITEM_SWORD_KOKIRI, // EQUIP_VALUE_TUNIC_KOKIRI
|
||||
ITEM_TUNIC_GORON - ITEM_SWORD_KOKIRI, // EQUIP_VALUE_TUNIC_GORON
|
||||
ITEM_TUNIC_ZORA - ITEM_SWORD_KOKIRI, // EQUIP_VALUE_TUNIC_ZORA
|
||||
// EQUIP_TYPE_BOOTS
|
||||
0, // unused
|
||||
ITEM_BOOTS_KOKIRI - ITEM_SWORD_KOKIRI, // EQUIP_VALUE_BOOTS_KOKIRI
|
||||
ITEM_BOOTS_IRON - ITEM_SWORD_KOKIRI, // EQUIP_VALUE_BOOTS_IRON
|
||||
ITEM_BOOTS_HOVER - ITEM_SWORD_KOKIRI, // EQUIP_VALUE_BOOTS_HOVER
|
||||
};
|
||||
|
||||
void KaleidoScope_DrawEquipmentImage(PlayState* play, void* source, u32 width, u32 height) {
|
||||
|
@ -46,15 +88,15 @@ void KaleidoScope_DrawEquipmentImage(PlayState* play, void* source, u32 width, u
|
|||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, pauseCtx->alpha);
|
||||
|
||||
curTexture = source;
|
||||
remainingSize = width * height * 2;
|
||||
textureHeight = 4096 / (width * 2);
|
||||
textureSize = width * textureHeight * 2;
|
||||
remainingSize = width * height * G_IM_SIZ_16b_BYTES;
|
||||
textureHeight = TMEM_SIZE / (width * G_IM_SIZ_16b_BYTES);
|
||||
textureSize = width * textureHeight * G_IM_SIZ_16b_BYTES;
|
||||
textureCount = remainingSize / textureSize;
|
||||
if ((remainingSize % textureSize) != 0) {
|
||||
textureCount += 1;
|
||||
}
|
||||
|
||||
vtxIndex = 80;
|
||||
vtxIndex = EQUIP_QUAD_PLAYER_FIRST * 4;
|
||||
|
||||
gDPSetTileCustom(POLY_OPA_DISP++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, width - 1, textureHeight - 1, 0,
|
||||
G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD,
|
||||
|
@ -76,7 +118,7 @@ void KaleidoScope_DrawEquipmentImage(PlayState* play, void* source, u32 width, u
|
|||
|
||||
if ((remainingSize - textureSize) < 0) {
|
||||
if (remainingSize > 0) {
|
||||
textureHeight = remainingSize / (s32)(width * 2);
|
||||
textureHeight = remainingSize / (s32)(width * G_IM_SIZ_16b_BYTES);
|
||||
remainingSize -= textureSize;
|
||||
|
||||
gDPSetTileCustom(POLY_OPA_DISP++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, width - 1, textureHeight - 1, 0,
|
||||
|
@ -156,7 +198,9 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
|
|||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, ZREG(39), ZREG(40), ZREG(41), pauseCtx->alpha);
|
||||
gDPSetEnvColor(POLY_OPA_DISP++, ZREG(43), ZREG(44), ZREG(45), 0);
|
||||
|
||||
for (i = 0, j = 64; i < 4; i++, j += 4) {
|
||||
// Draw EQUIP_QUAD_SELECTED_SWORD, EQUIP_QUAD_SELECTED_SHIELD, EQUIP_QUAD_SELECTED_TUNIC, EQUIP_QUAD_SELECTED_BOOTS
|
||||
|
||||
for (i = 0, j = EQUIP_QUAD_SELECTED_SWORD * 4; i < EQUIP_TYPE_MAX; i++, j += 4) {
|
||||
if (CUR_EQUIP_VALUE(i) != 0) {
|
||||
gDPPipeSync(POLY_OPA_DISP++);
|
||||
gSPVertex(POLY_OPA_DISP++, &pauseCtx->equipVtx[j], 4, 0);
|
||||
|
@ -170,6 +214,8 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
|
|||
oldCursorPoint = pauseCtx->cursorPoint[PAUSE_EQUIP];
|
||||
pauseCtx->cursorColorSet = 0;
|
||||
|
||||
// Handle moving the cursor with stick input
|
||||
|
||||
if (pauseCtx->cursorSpecialPos == 0) {
|
||||
pauseCtx->nameColorSet = 0;
|
||||
|
||||
|
@ -185,12 +231,13 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
|
|||
cursorMoveResult = 0;
|
||||
do {
|
||||
if (pauseCtx->stickAdjX < -30) {
|
||||
if (pauseCtx->cursorX[PAUSE_EQUIP] != 0) {
|
||||
if (pauseCtx->cursorX[PAUSE_EQUIP] != EQUIP_CURSOR_X_UPG) {
|
||||
pauseCtx->cursorX[PAUSE_EQUIP]--;
|
||||
pauseCtx->cursorPoint[PAUSE_EQUIP] -= 1;
|
||||
|
||||
if (pauseCtx->cursorX[PAUSE_EQUIP] == 0) {
|
||||
if (pauseCtx->cursorY[PAUSE_EQUIP] == 0) {
|
||||
if (pauseCtx->cursorX[PAUSE_EQUIP] == EQUIP_CURSOR_X_UPG) {
|
||||
if (pauseCtx->cursorY[PAUSE_EQUIP] == EQUIP_CURSOR_Y_BULLETBAG_QUIVER) {
|
||||
//! @bug Assumes adult always has bullet bag (as adult this should rely on `UPG_QUIVER`)
|
||||
if (CUR_UPG_VALUE(UPG_BULLET_BAG) != 0) {
|
||||
cursorMoveResult = 1;
|
||||
}
|
||||
|
@ -232,7 +279,7 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
|
|||
pauseCtx->cursorX[PAUSE_EQUIP]++;
|
||||
pauseCtx->cursorPoint[PAUSE_EQUIP] += 1;
|
||||
|
||||
if (pauseCtx->cursorX[PAUSE_EQUIP] == 0) {
|
||||
if (pauseCtx->cursorX[PAUSE_EQUIP] == EQUIP_CURSOR_X_UPG) {
|
||||
if (CUR_UPG_VALUE(pauseCtx->cursorY[PAUSE_EQUIP]) != 0) {
|
||||
cursorMoveResult = 1;
|
||||
}
|
||||
|
@ -279,17 +326,21 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
|
|||
pauseCtx->cursorY[PAUSE_EQUIP]--;
|
||||
pauseCtx->cursorPoint[PAUSE_EQUIP] -= 4;
|
||||
|
||||
if (pauseCtx->cursorX[PAUSE_EQUIP] == 0) {
|
||||
if (pauseCtx->cursorY[PAUSE_EQUIP] == 0) {
|
||||
if (pauseCtx->cursorX[PAUSE_EQUIP] == EQUIP_CURSOR_X_UPG) {
|
||||
if (pauseCtx->cursorY[PAUSE_EQUIP] == EQUIP_CURSOR_Y_BULLETBAG_QUIVER) {
|
||||
if (CUR_UPG_VALUE(UPG_BULLET_BAG) != 0) {
|
||||
cursorMoveResult = 1;
|
||||
}
|
||||
} else if (CUR_UPG_VALUE(pauseCtx->cursorY[PAUSE_EQUIP]) != 0) {
|
||||
cursorMoveResult = 1;
|
||||
} else {
|
||||
if (CUR_UPG_VALUE(pauseCtx->cursorY[PAUSE_EQUIP]) != 0) {
|
||||
cursorMoveResult = 1;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (gBitFlags[pauseCtx->cursorPoint[PAUSE_EQUIP] - 1] &
|
||||
gSaveContext.save.info.inventory.equipment) {
|
||||
cursorMoveResult = 2;
|
||||
}
|
||||
} else if (gBitFlags[pauseCtx->cursorPoint[PAUSE_EQUIP] - 1] &
|
||||
gSaveContext.save.info.inventory.equipment) {
|
||||
cursorMoveResult = 2;
|
||||
}
|
||||
} else {
|
||||
pauseCtx->cursorY[PAUSE_EQUIP] = cursorY;
|
||||
|
@ -301,13 +352,15 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
|
|||
pauseCtx->cursorY[PAUSE_EQUIP]++;
|
||||
pauseCtx->cursorPoint[PAUSE_EQUIP] += 4;
|
||||
|
||||
if (pauseCtx->cursorX[PAUSE_EQUIP] == 0) {
|
||||
if (pauseCtx->cursorX[PAUSE_EQUIP] == EQUIP_CURSOR_X_UPG) {
|
||||
if (CUR_UPG_VALUE(pauseCtx->cursorY[PAUSE_EQUIP]) != 0) {
|
||||
cursorMoveResult = 1;
|
||||
}
|
||||
} else if (gBitFlags[pauseCtx->cursorPoint[PAUSE_EQUIP] - 1] &
|
||||
gSaveContext.save.info.inventory.equipment) {
|
||||
cursorMoveResult = 2;
|
||||
} else {
|
||||
if (gBitFlags[pauseCtx->cursorPoint[PAUSE_EQUIP] - 1] &
|
||||
gSaveContext.save.info.inventory.equipment) {
|
||||
cursorMoveResult = 2;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
pauseCtx->cursorY[PAUSE_EQUIP] = cursorY;
|
||||
|
@ -328,25 +381,29 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
|
|||
|
||||
cursorPoint = cursorX = cursorY = 0;
|
||||
while (true) {
|
||||
if (cursorX == 0) {
|
||||
if (cursorY == 0) {
|
||||
if (cursorX == EQUIP_CURSOR_X_UPG) {
|
||||
if (cursorY == EQUIP_CURSOR_Y_BULLETBAG_QUIVER) {
|
||||
if (CUR_UPG_VALUE(UPG_BULLET_BAG) != 0) {
|
||||
pauseCtx->cursorPoint[PAUSE_EQUIP] = cursorPoint;
|
||||
pauseCtx->cursorX[PAUSE_EQUIP] = cursorX;
|
||||
pauseCtx->cursorY[PAUSE_EQUIP] = cursorY;
|
||||
break;
|
||||
}
|
||||
} else if (CUR_UPG_VALUE(cursorY) != 0) {
|
||||
} else {
|
||||
if (CUR_UPG_VALUE(cursorY) != 0) {
|
||||
pauseCtx->cursorPoint[PAUSE_EQUIP] = cursorPoint;
|
||||
pauseCtx->cursorX[PAUSE_EQUIP] = cursorX;
|
||||
pauseCtx->cursorY[PAUSE_EQUIP] = cursorY;
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (gBitFlags[cursorPoint - 1] & gSaveContext.save.info.inventory.equipment) {
|
||||
pauseCtx->cursorPoint[PAUSE_EQUIP] = cursorPoint;
|
||||
pauseCtx->cursorX[PAUSE_EQUIP] = cursorX;
|
||||
pauseCtx->cursorY[PAUSE_EQUIP] = cursorY;
|
||||
break;
|
||||
}
|
||||
} else if (gBitFlags[cursorPoint - 1] & gSaveContext.save.info.inventory.equipment) {
|
||||
pauseCtx->cursorPoint[PAUSE_EQUIP] = cursorPoint;
|
||||
pauseCtx->cursorX[PAUSE_EQUIP] = cursorX;
|
||||
pauseCtx->cursorY[PAUSE_EQUIP] = cursorY;
|
||||
break;
|
||||
}
|
||||
|
||||
cursorY = cursorY + 1;
|
||||
|
@ -362,7 +419,7 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
|
|||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
} else { // cursorSpecialPos == PAUSE_CURSOR_PAGE_RIGHT
|
||||
if (pauseCtx->stickAdjX < -30) {
|
||||
pauseCtx->nameDisplayTimer = 0;
|
||||
pauseCtx->cursorSpecialPos = 0;
|
||||
|
@ -372,18 +429,20 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
|
|||
cursorPoint = cursorX = 3;
|
||||
cursorY = 0;
|
||||
while (true) {
|
||||
if (cursorX == 0) {
|
||||
if (cursorX == EQUIP_CURSOR_X_UPG) {
|
||||
if (CUR_UPG_VALUE(cursorY) != 0) {
|
||||
pauseCtx->cursorPoint[PAUSE_EQUIP] = cursorPoint;
|
||||
pauseCtx->cursorX[PAUSE_EQUIP] = cursorX;
|
||||
pauseCtx->cursorY[PAUSE_EQUIP] = cursorY;
|
||||
break;
|
||||
}
|
||||
} else if (gBitFlags[cursorPoint - 1] & gSaveContext.save.info.inventory.equipment) {
|
||||
pauseCtx->cursorPoint[PAUSE_EQUIP] = cursorPoint;
|
||||
pauseCtx->cursorX[PAUSE_EQUIP] = cursorX;
|
||||
pauseCtx->cursorY[PAUSE_EQUIP] = cursorY;
|
||||
break;
|
||||
} else {
|
||||
if (gBitFlags[cursorPoint - 1] & gSaveContext.save.info.inventory.equipment) {
|
||||
pauseCtx->cursorPoint[PAUSE_EQUIP] = cursorPoint;
|
||||
pauseCtx->cursorX[PAUSE_EQUIP] = cursorX;
|
||||
pauseCtx->cursorY[PAUSE_EQUIP] = cursorY;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
cursorY = cursorY + 1;
|
||||
|
@ -401,11 +460,14 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
|
|||
}
|
||||
}
|
||||
|
||||
if (pauseCtx->cursorX[PAUSE_EQUIP] == 0) {
|
||||
// set cursorItem
|
||||
|
||||
if (pauseCtx->cursorX[PAUSE_EQUIP] == EQUIP_CURSOR_X_UPG) {
|
||||
pauseCtx->cursorColorSet = 0;
|
||||
|
||||
if (LINK_AGE_IN_YEARS == YEARS_CHILD) {
|
||||
if ((pauseCtx->cursorY[PAUSE_EQUIP] == 0) && (CUR_UPG_VALUE(UPG_BULLET_BAG) != 0)) {
|
||||
if ((pauseCtx->cursorY[PAUSE_EQUIP] == EQUIP_CURSOR_Y_BULLETBAG_QUIVER) &&
|
||||
(CUR_UPG_VALUE(UPG_BULLET_BAG) != 0)) {
|
||||
cursorItem = ITEM_BULLET_BAG_30 + CUR_UPG_VALUE(UPG_BULLET_BAG) - 1;
|
||||
} else {
|
||||
cursorItem = ITEM_QUIVER_30 + sUpgradeItemOffsets[pauseCtx->cursorY[PAUSE_EQUIP]] +
|
||||
|
@ -413,7 +475,8 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
|
|||
PRINTF("H_arrowcase_1 + non_equip_item_table = %d\n", cursorItem);
|
||||
}
|
||||
} else {
|
||||
if ((pauseCtx->cursorY[PAUSE_EQUIP] == 0) && (CUR_UPG_VALUE(UPG_QUIVER) == 0)) {
|
||||
if ((pauseCtx->cursorY[PAUSE_EQUIP] == EQUIP_CURSOR_Y_BULLETBAG_QUIVER) &&
|
||||
(CUR_UPG_VALUE(UPG_QUIVER) == 0)) {
|
||||
cursorItem = ITEM_BULLET_BAG_30 + CUR_UPG_VALUE(UPG_BULLET_BAG) - 1;
|
||||
} else {
|
||||
cursorItem = ITEM_QUIVER_30 + sUpgradeItemOffsets[pauseCtx->cursorY[PAUSE_EQUIP]] +
|
||||
|
@ -430,8 +493,9 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
|
|||
}
|
||||
}
|
||||
|
||||
if ((pauseCtx->cursorY[PAUSE_EQUIP] == 0) && (pauseCtx->cursorX[PAUSE_EQUIP] == 3)) {
|
||||
if (gSaveContext.save.info.playerData.bgsFlag != 0) {
|
||||
if ((pauseCtx->cursorY[PAUSE_EQUIP] == EQUIP_TYPE_SWORD) &&
|
||||
(pauseCtx->cursorX[PAUSE_EQUIP] == EQUIP_VALUE_SWORD_BIGGORON)) {
|
||||
if (gSaveContext.save.info.playerData.bgsFlag) {
|
||||
cursorItem = ITEM_HEART_PIECE_2;
|
||||
} else if (CHECK_OWNED_EQUIP_ALT(EQUIP_TYPE_SWORD, EQUIP_INV_SWORD_BROKENGIANTKNIFE)) {
|
||||
cursorItem = ITEM_GIANTS_KNIFE;
|
||||
|
@ -445,6 +509,8 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
|
|||
|
||||
PRINTF("kscope->select_name[Display_Equipment] = %d\n", pauseCtx->cursorItem[PAUSE_EQUIP]);
|
||||
|
||||
// Handle age particularities
|
||||
|
||||
if (!CHECK_AGE_REQ_EQUIP(pauseCtx->cursorY[PAUSE_EQUIP], pauseCtx->cursorX[PAUSE_EQUIP])) {
|
||||
pauseCtx->nameColorSet = 1;
|
||||
}
|
||||
|
@ -457,7 +523,8 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
|
|||
}
|
||||
}
|
||||
|
||||
if ((pauseCtx->cursorX[PAUSE_EQUIP] == 0) && (pauseCtx->cursorY[PAUSE_EQUIP] == 0)) {
|
||||
if ((pauseCtx->cursorX[PAUSE_EQUIP] == EQUIP_CURSOR_X_UPG) &&
|
||||
(pauseCtx->cursorY[PAUSE_EQUIP] == EQUIP_CURSOR_Y_BULLETBAG_QUIVER)) {
|
||||
if (LINK_AGE_IN_YEARS != YEARS_CHILD) {
|
||||
if ((cursorItem >= ITEM_BULLET_BAG_30) && (cursorItem <= ITEM_BULLET_BAG_50)) {
|
||||
pauseCtx->nameColorSet = 1;
|
||||
|
@ -469,20 +536,25 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
|
|||
}
|
||||
}
|
||||
|
||||
// Set cursor position
|
||||
|
||||
KaleidoScope_SetCursorPos(pauseCtx, cursorSlot * 4, pauseCtx->equipVtx);
|
||||
|
||||
// Handle input for changing equipment
|
||||
|
||||
if ((pauseCtx->cursorSpecialPos == 0) && (cursorItem != PAUSE_ITEM_NONE) &&
|
||||
(pauseCtx->state == PAUSE_STATE_MAIN) && (pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE) &&
|
||||
CHECK_BTN_ALL(input->press.button, BTN_A) && (pauseCtx->cursorX[PAUSE_EQUIP] != 0)) {
|
||||
CHECK_BTN_ALL(input->press.button, BTN_A) && (pauseCtx->cursorX[PAUSE_EQUIP] != EQUIP_CURSOR_X_UPG)) {
|
||||
|
||||
if (CHECK_AGE_REQ_EQUIP(pauseCtx->cursorY[PAUSE_EQUIP], pauseCtx->cursorX[PAUSE_EQUIP])) {
|
||||
Inventory_ChangeEquipment(pauseCtx->cursorY[PAUSE_EQUIP], pauseCtx->cursorX[PAUSE_EQUIP]);
|
||||
|
||||
if (pauseCtx->cursorY[PAUSE_EQUIP] == 0) {
|
||||
if (pauseCtx->cursorY[PAUSE_EQUIP] == EQUIP_TYPE_SWORD) {
|
||||
gSaveContext.save.info.infTable[INFTABLE_INDEX_1DX] = 0;
|
||||
gSaveContext.save.info.equips.buttonItems[0] = cursorItem;
|
||||
|
||||
if ((pauseCtx->cursorX[PAUSE_EQUIP] == 3) && (gSaveContext.save.info.playerData.bgsFlag != 0)) {
|
||||
if ((pauseCtx->cursorX[PAUSE_EQUIP] == EQUIP_VALUE_SWORD_BIGGORON) &&
|
||||
gSaveContext.save.info.playerData.bgsFlag) {
|
||||
gSaveContext.save.info.equips.buttonItems[0] = ITEM_SWORD_BIGGORON;
|
||||
gSaveContext.save.info.playerData.swordHealth = 8;
|
||||
} else {
|
||||
|
@ -490,8 +562,7 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
|
|||
gSaveContext.save.info.equips.buttonItems[0] = ITEM_SWORD_BIGGORON;
|
||||
}
|
||||
if ((gSaveContext.save.info.equips.buttonItems[0] == ITEM_SWORD_BIGGORON) &&
|
||||
|
||||
(gSaveContext.save.info.playerData.bgsFlag == 0) &&
|
||||
!gSaveContext.save.info.playerData.bgsFlag &&
|
||||
CHECK_OWNED_EQUIP_ALT(EQUIP_TYPE_SWORD, EQUIP_INV_SWORD_BROKENGIANTKNIFE)) {
|
||||
gSaveContext.save.info.equips.buttonItems[0] = ITEM_GIANTS_KNIFE;
|
||||
}
|
||||
|
@ -502,7 +573,9 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
|
|||
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_DECIDE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
pauseCtx->mainState = PAUSE_MAIN_STATE_7;
|
||||
|
||||
// Wait 10 frames before accepting input again
|
||||
pauseCtx->mainState = PAUSE_MAIN_STATE_EQUIP_CHANGED;
|
||||
sEquipTimer = 10;
|
||||
} else {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_ERROR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
|
@ -514,7 +587,7 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
|
|||
Audio_PlaySfxGeneral(NA_SE_SY_CURSOR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
}
|
||||
} else if ((pauseCtx->mainState == PAUSE_MAIN_STATE_7) && (pauseCtx->pageIndex == PAUSE_EQUIP)) {
|
||||
} else if ((pauseCtx->mainState == PAUSE_MAIN_STATE_EQUIP_CHANGED) && (pauseCtx->pageIndex == PAUSE_EQUIP)) {
|
||||
KaleidoScope_SetCursorPos(pauseCtx, pauseCtx->cursorSlot[PAUSE_EQUIP] * 4, pauseCtx->equipVtx);
|
||||
pauseCtx->cursorColorSet = 8;
|
||||
|
||||
|
@ -524,13 +597,19 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
|
|||
}
|
||||
}
|
||||
|
||||
for (rowStart = 0, i = 0, point = 4; i < 4; i++, rowStart += 4, point += 16) {
|
||||
// Enlarge the equip item at the current cursor position, if it can be equipped
|
||||
|
||||
// for each row (one row per equip type)
|
||||
for (rowStart = 0, i = 0, point = EQUIP_QUAD_SWORD_KOKIRI * 4; i < EQUIP_TYPE_MAX;
|
||||
i++, rowStart += 4, point += 4 * 4) {
|
||||
|
||||
// for each equip column
|
||||
for (k = 0, temp = rowStart + 1, bit = rowStart, j = point; k < 3; k++, bit++, j += 4, temp++) {
|
||||
|
||||
if ((gBitFlags[bit] & gSaveContext.save.info.inventory.equipment) && (pauseCtx->cursorSpecialPos == 0)) {
|
||||
if (CHECK_AGE_REQ_EQUIP(i, k + 1)) {
|
||||
if (temp == cursorSlot) {
|
||||
|
||||
pauseCtx->equipVtx[j].v.ob[0] = pauseCtx->equipVtx[j + 2].v.ob[0] =
|
||||
pauseCtx->equipVtx[j].v.ob[0] - 2;
|
||||
pauseCtx->equipVtx[j + 1].v.ob[0] = pauseCtx->equipVtx[j + 3].v.ob[0] =
|
||||
|
@ -545,13 +624,19 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
|
|||
}
|
||||
}
|
||||
|
||||
// Draw upgrades and equips
|
||||
|
||||
Gfx_SetupDL_42Opa(play->state.gfxCtx);
|
||||
|
||||
gDPSetCombineMode(POLY_OPA_DISP++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
|
||||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, pauseCtx->alpha);
|
||||
|
||||
for (rowStart = 0, j = 0, temp = 0, i = 0; i < 4; i++, rowStart += 4, j += 16) {
|
||||
gSPVertex(POLY_OPA_DISP++, &pauseCtx->equipVtx[j], 16, 0);
|
||||
// for each row
|
||||
for (rowStart = 0, j = 0, temp = 0, i = 0; i < 4; i++, rowStart += 4, j += 4 * 4) {
|
||||
gSPVertex(POLY_OPA_DISP++, &pauseCtx->equipVtx[j], 4 * 4, 0);
|
||||
|
||||
// Draw upgrade `i`
|
||||
// EQUIP_QUAD_UPG_BULLETBAG_QUIVER, EQUIP_QUAD_UPG_BOMB_BAG, EQUIP_QUAD_UPG_STRENGTH, EQUIP_QUAD_UPG_SCALE
|
||||
|
||||
if (LINK_AGE_IN_YEARS == YEARS_CHILD) {
|
||||
point = CUR_UPG_VALUE(sChildUpgrades[i]);
|
||||
|
@ -562,6 +647,8 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
|
|||
}
|
||||
} else {
|
||||
if ((i == 0) && (CUR_UPG_VALUE(sAdultUpgrades[i]) == 0)) {
|
||||
// Show bullet bag instead of quiver if player has no quiver
|
||||
//! @bug This assumes adult always has bullet bag
|
||||
KaleidoScope_DrawQuadTextureRGBA32(
|
||||
play->state.gfxCtx, gItemIcons[sChildUpgradeItemBases[i] + CUR_UPG_VALUE(sChildUpgrades[i]) - 1],
|
||||
ITEM_ICON_WIDTH, ITEM_ICON_HEIGHT, 0);
|
||||
|
@ -572,12 +659,20 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
|
|||
}
|
||||
}
|
||||
|
||||
// Draw owned equips of type `i`
|
||||
// EQUIP_QUAD_SWORD_KOKIRI, EQUIP_QUAD_SWORD_MASTER, EQUIP_QUAD_SWORD_BIGGORON
|
||||
// EQUIP_QUAD_SHIELD_DEKU, EQUIP_QUAD_SHIELD_HYLIAN, EQUIP_QUAD_SHIELD_MIRROR
|
||||
// EQUIP_QUAD_TUNIC_KOKIRI, EQUIP_QUAD_TUNIC_GORON, EQUIP_QUAD_TUNIC_ZORA
|
||||
// EQUIP_QUAD_BOOTS_KOKIRI, EQUIP_QUAD_BOOTS_IRON, EQUIP_QUAD_BOOTS_HOVER
|
||||
|
||||
for (k = 0, bit = rowStart, point = 4; k < 3; k++, point += 4, temp++, bit++) {
|
||||
|
||||
if (((u32)i == 0) && (k == 2) && (gSaveContext.save.info.playerData.bgsFlag != 0)) {
|
||||
if (((u32)i == EQUIP_TYPE_SWORD) && (k == EQUIP_INV_SWORD_BIGGORON) &&
|
||||
gSaveContext.save.info.playerData.bgsFlag) {
|
||||
KaleidoScope_DrawQuadTextureRGBA32(play->state.gfxCtx, gItemIconSwordBiggoronTex, ITEM_ICON_WIDTH,
|
||||
ITEM_ICON_HEIGHT, point);
|
||||
} else if ((i == 0) && (k == 2) && (gBitFlags[bit + 1] & gSaveContext.save.info.inventory.equipment)) {
|
||||
} else if ((i == EQUIP_TYPE_SWORD) && (k == EQUIP_INV_SWORD_BIGGORON) &&
|
||||
(gBitFlags[bit + 1] & gSaveContext.save.info.inventory.equipment)) {
|
||||
KaleidoScope_DrawQuadTextureRGBA32(play->state.gfxCtx, gItemIconBrokenGiantsKnifeTex, ITEM_ICON_WIDTH,
|
||||
ITEM_ICON_HEIGHT, point);
|
||||
} else if (gBitFlags[bit] & gSaveContext.save.info.inventory.equipment) {
|
||||
|
@ -587,13 +682,15 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
|
|||
}
|
||||
}
|
||||
|
||||
// Draw player to the player prerender buffer
|
||||
|
||||
KaleidoScope_DrawPlayerWork(play);
|
||||
|
||||
if ((pauseCtx->mainState == PAUSE_MAIN_STATE_7) && (sEquipTimer == 10)) {
|
||||
if ((pauseCtx->mainState == PAUSE_MAIN_STATE_EQUIP_CHANGED) && (sEquipTimer == 10)) {
|
||||
KaleidoScope_SetupPlayerPreRender(play);
|
||||
}
|
||||
|
||||
if ((pauseCtx->mainState == PAUSE_MAIN_STATE_7) && (sEquipTimer == 9)) {
|
||||
if ((pauseCtx->mainState == PAUSE_MAIN_STATE_EQUIP_CHANGED) && (sEquipTimer == 9)) {
|
||||
#ifndef AVOID_UB
|
||||
//! @bug: This function shouldn't take any arguments
|
||||
KaleidoScope_ProcessPlayerPreRender(play);
|
||||
|
@ -609,6 +706,8 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
|
|||
gSPSegment(POLY_OPA_DISP++, 0x0B, interfaceCtx->mapSegment);
|
||||
gSPSegment(POLY_OPA_DISP++, 0x0C, pauseCtx->iconItemAltSegment);
|
||||
|
||||
// Draw player prerender onto the equip page
|
||||
|
||||
Gfx_SetupDL_42Opa(play->state.gfxCtx);
|
||||
KaleidoScope_DrawEquipmentImage(play, pauseCtx->playerSegment, PAUSE_EQUIP_PLAYER_WIDTH, PAUSE_EQUIP_PLAYER_HEIGHT);
|
||||
|
||||
|
|
|
@ -1876,13 +1876,14 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
|
|||
(pauseCtx->nameDisplayTimer < WREG(89)) &&
|
||||
(((u32)pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE) ||
|
||||
(pauseCtx->mainState == PAUSE_MAIN_STATE_SONG_PLAYBACK) ||
|
||||
((pauseCtx->mainState >= PAUSE_MAIN_STATE_SONG_PROMPT_INIT) && (pauseCtx->mainState <= PAUSE_MAIN_STATE_7)) ||
|
||||
((pauseCtx->mainState >= PAUSE_MAIN_STATE_SONG_PROMPT_INIT) &&
|
||||
(pauseCtx->mainState <= PAUSE_MAIN_STATE_EQUIP_CHANGED)) ||
|
||||
(pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE_CURSOR_ON_SONG)) &&
|
||||
(pauseCtx->cursorSpecialPos == 0)) {
|
||||
if (((u32)pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE) ||
|
||||
(pauseCtx->mainState == PAUSE_MAIN_STATE_SONG_PLAYBACK) ||
|
||||
((pauseCtx->mainState >= PAUSE_MAIN_STATE_SONG_PROMPT_INIT) &&
|
||||
(pauseCtx->mainState <= PAUSE_MAIN_STATE_7)) ||
|
||||
(pauseCtx->mainState <= PAUSE_MAIN_STATE_EQUIP_CHANGED)) ||
|
||||
(pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE_CURSOR_ON_SONG)) {
|
||||
pauseCtx->infoPanelVtx[16].v.ob[0] = pauseCtx->infoPanelVtx[18].v.ob[0] = -63;
|
||||
|
||||
|
@ -1949,7 +1950,7 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
|
|||
QUEST_ICON_HEIGHT, 0);
|
||||
}
|
||||
}
|
||||
} else if ((pauseCtx->mainState < PAUSE_MAIN_STATE_3) || (pauseCtx->mainState == PAUSE_MAIN_STATE_7) ||
|
||||
} else if ((pauseCtx->mainState < PAUSE_MAIN_STATE_3) || (pauseCtx->mainState == PAUSE_MAIN_STATE_EQUIP_CHANGED) ||
|
||||
(pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE_CURSOR_ON_SONG)) {
|
||||
pauseCtx->infoPanelVtx[20].v.ob[1] = pauseCtx->infoPanelVtx[21].v.ob[1] = temp;
|
||||
|
||||
|
@ -2156,7 +2157,7 @@ void KaleidoScope_UpdateNamePanel(PlayState* play) {
|
|||
((pauseCtx->cursorSlot[PAUSE_QUEST] >= 6) && (pauseCtx->cursorSlot[PAUSE_QUEST] <= 0x11)) &&
|
||||
(pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE_CURSOR_ON_SONG)) ||
|
||||
(pauseCtx->pageIndex == PAUSE_ITEM) ||
|
||||
((pauseCtx->pageIndex == PAUSE_EQUIP) && (pauseCtx->cursorX[PAUSE_EQUIP] != 0))) {
|
||||
((pauseCtx->pageIndex == PAUSE_EQUIP) && (pauseCtx->cursorX[PAUSE_EQUIP] != EQUIP_CURSOR_X_UPG))) {
|
||||
if (pauseCtx->namedItem != ITEM_SOLD_OUT) {
|
||||
pauseCtx->nameDisplayTimer++;
|
||||
if (pauseCtx->nameDisplayTimer > WREG(88)) {
|
||||
|
@ -2691,9 +2692,14 @@ static s16 sItemVtxQuadsWithAmmo[] = {
|
|||
SLOT_MAGIC_BEAN * 4, // ITEM_QUAD_AMMO_BEAN_
|
||||
};
|
||||
|
||||
static s16 D_8082B12C[] = { -114, 12, 44, 76 };
|
||||
static s16 sEquipColumnsX[] = { -114, 12, 44, 76 };
|
||||
|
||||
static u8 D_8082B134[] = { 1, 5, 9, 13 };
|
||||
static u8 sEquipQuadsFirstByEquipType[EQUIP_TYPE_MAX] = {
|
||||
EQUIP_QUAD_SWORD_KOKIRI, // EQUIP_TYPE_SWORD
|
||||
EQUIP_QUAD_SHIELD_DEKU, // EQUIP_TYPE_SHIELD
|
||||
EQUIP_QUAD_TUNIC_KOKIRI, // EQUIP_TYPE_TUNIC
|
||||
EQUIP_QUAD_BOOTS_KOKIRI, // EQUIP_TYPE_BOOTS
|
||||
};
|
||||
|
||||
static s16 sQuestQuadsX[] = {
|
||||
74, // QUEST_MEDALLION_FOREST
|
||||
|
@ -3109,19 +3115,29 @@ void KaleidoScope_SetVertices(PlayState* play, GraphicsContext* gfxCtx) {
|
|||
}
|
||||
}
|
||||
|
||||
pauseCtx->equipVtx = GRAPH_ALLOC(gfxCtx, 112 * sizeof(Vtx));
|
||||
pauseCtx->equipVtx = GRAPH_ALLOC(gfxCtx, (EQUIP_QUAD_MAX * 4) * sizeof(Vtx));
|
||||
|
||||
for (k = 0, i = 0, y = 58; i < 4; i++, y -= 32) {
|
||||
// EQUIP_QUAD_UPG_BULLETBAG_QUIVER, EQUIP_QUAD_SWORD_KOKIRI, EQUIP_QUAD_SWORD_MASTER, EQUIP_QUAD_SWORD_BIGGORON,
|
||||
// EQUIP_QUAD_UPG_BOMB_BAG, EQUIP_QUAD_SHIELD_DEKU, EQUIP_QUAD_SHIELD_HYLIAN, EQUIP_QUAD_SHIELD_MIRROR,
|
||||
// EQUIP_QUAD_UPG_STRENGTH, EQUIP_QUAD_TUNIC_KOKIRI, EQUIP_QUAD_TUNIC_GORON, EQUIP_QUAD_TUNIC_ZORA,
|
||||
// EQUIP_QUAD_UPG_SCALE, EQUIP_QUAD_BOOTS_KOKIRI, EQUIP_QUAD_BOOTS_IRON, EQUIP_QUAD_BOOTS_HOVER
|
||||
|
||||
// for each row
|
||||
for (k = 0, i = 0, y = (EQUIP_TYPE_MAX * EQUIP_GRID_CELL_HEIGHT) / 2 - 6; i < EQUIP_TYPE_MAX;
|
||||
i++, y -= EQUIP_GRID_CELL_HEIGHT) {
|
||||
// for each column
|
||||
for (j = 0; j < 4; j++, k += 4) {
|
||||
pauseCtx->equipVtx[k + 0].v.ob[0] = pauseCtx->equipVtx[k + 2].v.ob[0] = D_8082B12C[j] + 2;
|
||||
pauseCtx->equipVtx[k + 0].v.ob[0] = pauseCtx->equipVtx[k + 2].v.ob[0] =
|
||||
sEquipColumnsX[j] + EQUIP_GRID_QUAD_MARGIN;
|
||||
|
||||
pauseCtx->equipVtx[k + 1].v.ob[0] = pauseCtx->equipVtx[k + 3].v.ob[0] =
|
||||
pauseCtx->equipVtx[k + 0].v.ob[0] + 28;
|
||||
pauseCtx->equipVtx[k + 0].v.ob[0] + EQUIP_GRID_QUAD_WIDTH;
|
||||
|
||||
pauseCtx->equipVtx[k + 0].v.ob[1] = pauseCtx->equipVtx[k + 1].v.ob[1] = y + pauseCtx->pagesYOrigin1 - 2;
|
||||
pauseCtx->equipVtx[k + 0].v.ob[1] = pauseCtx->equipVtx[k + 1].v.ob[1] =
|
||||
y + pauseCtx->pagesYOrigin1 - EQUIP_GRID_QUAD_MARGIN;
|
||||
|
||||
pauseCtx->equipVtx[k + 2].v.ob[1] = pauseCtx->equipVtx[k + 3].v.ob[1] =
|
||||
pauseCtx->equipVtx[k + 0].v.ob[1] - 28;
|
||||
pauseCtx->equipVtx[k + 0].v.ob[1] - EQUIP_GRID_QUAD_HEIGHT;
|
||||
|
||||
pauseCtx->equipVtx[k + 0].v.ob[2] = pauseCtx->equipVtx[k + 1].v.ob[2] = pauseCtx->equipVtx[k + 2].v.ob[2] =
|
||||
pauseCtx->equipVtx[k + 3].v.ob[2] = 0;
|
||||
|
@ -3133,7 +3149,7 @@ void KaleidoScope_SetVertices(PlayState* play, GraphicsContext* gfxCtx) {
|
|||
pauseCtx->equipVtx[k + 2].v.tc[0] = 0;
|
||||
|
||||
pauseCtx->equipVtx[k + 1].v.tc[0] = pauseCtx->equipVtx[k + 2].v.tc[1] = pauseCtx->equipVtx[k + 3].v.tc[0] =
|
||||
pauseCtx->equipVtx[k + 3].v.tc[1] = 0x400;
|
||||
pauseCtx->equipVtx[k + 3].v.tc[1] = EQUIP_GRID_QUAD_TEX_SIZE * (1 << 5);
|
||||
|
||||
pauseCtx->equipVtx[k + 0].v.cn[0] = pauseCtx->equipVtx[k + 1].v.cn[0] = pauseCtx->equipVtx[k + 2].v.cn[0] =
|
||||
pauseCtx->equipVtx[k + 3].v.cn[0] = pauseCtx->equipVtx[k + 0].v.cn[1] =
|
||||
|
@ -3147,19 +3163,23 @@ void KaleidoScope_SetVertices(PlayState* play, GraphicsContext* gfxCtx) {
|
|||
}
|
||||
}
|
||||
|
||||
for (j = 0; j < 4; k += 4, j++) {
|
||||
// EQUIP_QUAD_SELECTED_SWORD, EQUIP_QUAD_SELECTED_SHIELD, EQUIP_QUAD_SELECTED_TUNIC, EQUIP_QUAD_SELECTED_BOOTS
|
||||
|
||||
for (j = 0; j < EQUIP_TYPE_MAX; k += 4, j++) {
|
||||
if (CUR_EQUIP_VALUE(j) != 0) {
|
||||
i = (CUR_EQUIP_VALUE(j) + D_8082B134[j] - 1) * 4;
|
||||
i = (CUR_EQUIP_VALUE(j) + sEquipQuadsFirstByEquipType[j] - 1) * 4;
|
||||
|
||||
pauseCtx->equipVtx[k + 0].v.ob[0] = pauseCtx->equipVtx[k + 2].v.ob[0] = pauseCtx->equipVtx[i].v.ob[0] - 2;
|
||||
pauseCtx->equipVtx[k + 0].v.ob[0] = pauseCtx->equipVtx[k + 2].v.ob[0] =
|
||||
pauseCtx->equipVtx[i].v.ob[0] + EQUIP_GRID_SELECTED_QUAD_MARGIN;
|
||||
|
||||
pauseCtx->equipVtx[k + 1].v.ob[0] = pauseCtx->equipVtx[k + 3].v.ob[0] =
|
||||
pauseCtx->equipVtx[k + 0].v.ob[0] + 32;
|
||||
pauseCtx->equipVtx[k + 0].v.ob[0] + EQUIP_GRID_SELECTED_QUAD_WIDTH;
|
||||
|
||||
pauseCtx->equipVtx[k + 0].v.ob[1] = pauseCtx->equipVtx[k + 1].v.ob[1] = pauseCtx->equipVtx[i].v.ob[1] + 2;
|
||||
pauseCtx->equipVtx[k + 0].v.ob[1] = pauseCtx->equipVtx[k + 1].v.ob[1] =
|
||||
pauseCtx->equipVtx[i].v.ob[1] - EQUIP_GRID_SELECTED_QUAD_MARGIN;
|
||||
|
||||
pauseCtx->equipVtx[k + 2].v.ob[1] = pauseCtx->equipVtx[k + 3].v.ob[1] =
|
||||
pauseCtx->equipVtx[k + 0].v.ob[1] - 32;
|
||||
pauseCtx->equipVtx[k + 0].v.ob[1] - EQUIP_GRID_SELECTED_QUAD_HEIGHT;
|
||||
|
||||
pauseCtx->equipVtx[k + 0].v.ob[2] = pauseCtx->equipVtx[k + 1].v.ob[2] = pauseCtx->equipVtx[k + 2].v.ob[2] =
|
||||
pauseCtx->equipVtx[k + 3].v.ob[2] = 0;
|
||||
|
@ -3171,7 +3191,7 @@ void KaleidoScope_SetVertices(PlayState* play, GraphicsContext* gfxCtx) {
|
|||
pauseCtx->equipVtx[k + 2].v.tc[0] = 0;
|
||||
|
||||
pauseCtx->equipVtx[k + 1].v.tc[0] = pauseCtx->equipVtx[k + 2].v.tc[1] = pauseCtx->equipVtx[k + 3].v.tc[0] =
|
||||
pauseCtx->equipVtx[k + 3].v.tc[1] = 0x400;
|
||||
pauseCtx->equipVtx[k + 3].v.tc[1] = EQUIP_GRID_SELECTED_QUAD_TEX_SIZE * (1 << 5);
|
||||
|
||||
pauseCtx->equipVtx[k + 0].v.cn[0] = pauseCtx->equipVtx[k + 1].v.cn[0] = pauseCtx->equipVtx[k + 2].v.cn[0] =
|
||||
pauseCtx->equipVtx[k + 3].v.cn[0] = pauseCtx->equipVtx[k + 0].v.cn[1] =
|
||||
|
@ -3185,16 +3205,20 @@ void KaleidoScope_SetVertices(PlayState* play, GraphicsContext* gfxCtx) {
|
|||
}
|
||||
}
|
||||
|
||||
x = 112;
|
||||
// EQUIP_QUAD_PLAYER_FIRST..EQUIP_QUAD_PLAYER_LAST
|
||||
|
||||
x = PAUSE_EQUIP_PLAYER_HEIGHT;
|
||||
y = 50;
|
||||
for (;;) {
|
||||
pauseCtx->equipVtx[k + 0].v.ob[0] = pauseCtx->equipVtx[k + 2].v.ob[0] = -64;
|
||||
|
||||
pauseCtx->equipVtx[k + 1].v.ob[0] = pauseCtx->equipVtx[k + 3].v.ob[0] = pauseCtx->equipVtx[k + 0].v.ob[0] + 64;
|
||||
pauseCtx->equipVtx[k + 1].v.ob[0] = pauseCtx->equipVtx[k + 3].v.ob[0] =
|
||||
pauseCtx->equipVtx[k + 0].v.ob[0] + PAUSE_EQUIP_PLAYER_WIDTH;
|
||||
|
||||
pauseCtx->equipVtx[k + 0].v.ob[1] = pauseCtx->equipVtx[k + 1].v.ob[1] = y + pauseCtx->pagesYOrigin1;
|
||||
|
||||
pauseCtx->equipVtx[k + 2].v.ob[1] = pauseCtx->equipVtx[k + 3].v.ob[1] = pauseCtx->equipVtx[k + 0].v.ob[1] - 32;
|
||||
pauseCtx->equipVtx[k + 2].v.ob[1] = pauseCtx->equipVtx[k + 3].v.ob[1] =
|
||||
pauseCtx->equipVtx[k + 0].v.ob[1] - PAUSE_EQUIP_PLAYER_FRAG_HEIGHT;
|
||||
|
||||
pauseCtx->equipVtx[k + 0].v.ob[2] = pauseCtx->equipVtx[k + 1].v.ob[2] = pauseCtx->equipVtx[k + 2].v.ob[2] =
|
||||
pauseCtx->equipVtx[k + 3].v.ob[2] = 0;
|
||||
|
@ -3205,9 +3229,10 @@ void KaleidoScope_SetVertices(PlayState* play, GraphicsContext* gfxCtx) {
|
|||
pauseCtx->equipVtx[k + 0].v.tc[0] = pauseCtx->equipVtx[k + 0].v.tc[1] = pauseCtx->equipVtx[k + 1].v.tc[1] =
|
||||
pauseCtx->equipVtx[k + 2].v.tc[0] = 0;
|
||||
|
||||
pauseCtx->equipVtx[k + 1].v.tc[0] = pauseCtx->equipVtx[k + 3].v.tc[0] = 0x800;
|
||||
pauseCtx->equipVtx[k + 1].v.tc[0] = pauseCtx->equipVtx[k + 3].v.tc[0] = PAUSE_EQUIP_PLAYER_WIDTH * (1 << 5);
|
||||
|
||||
pauseCtx->equipVtx[k + 2].v.tc[1] = pauseCtx->equipVtx[k + 3].v.tc[1] = 0x400;
|
||||
pauseCtx->equipVtx[k + 2].v.tc[1] = pauseCtx->equipVtx[k + 3].v.tc[1] =
|
||||
PAUSE_EQUIP_PLAYER_FRAG_HEIGHT * (1 << 5);
|
||||
|
||||
pauseCtx->equipVtx[k + 0].v.cn[0] = pauseCtx->equipVtx[k + 1].v.cn[0] = pauseCtx->equipVtx[k + 2].v.cn[0] =
|
||||
pauseCtx->equipVtx[k + 3].v.cn[0] = pauseCtx->equipVtx[k + 0].v.cn[1] = pauseCtx->equipVtx[k + 1].v.cn[1] =
|
||||
|
@ -3218,16 +3243,18 @@ void KaleidoScope_SetVertices(PlayState* play, GraphicsContext* gfxCtx) {
|
|||
pauseCtx->equipVtx[k + 0].v.cn[3] = pauseCtx->equipVtx[k + 1].v.cn[3] = pauseCtx->equipVtx[k + 2].v.cn[3] =
|
||||
pauseCtx->equipVtx[k + 3].v.cn[3] = pauseCtx->alpha;
|
||||
|
||||
x -= 32;
|
||||
x -= PAUSE_EQUIP_PLAYER_FRAG_HEIGHT;
|
||||
if (x < 0) {
|
||||
pauseCtx->equipVtx[k + 2].v.ob[1] = pauseCtx->equipVtx[k + 3].v.ob[1] =
|
||||
pauseCtx->equipVtx[k + 0].v.ob[1] - 0x10;
|
||||
pauseCtx->equipVtx[k + 0].v.ob[1] - (PAUSE_EQUIP_PLAYER_HEIGHT % PAUSE_EQUIP_PLAYER_FRAG_HEIGHT);
|
||||
|
||||
pauseCtx->equipVtx[k + 2].v.tc[1] = pauseCtx->equipVtx[k + 3].v.tc[1] =
|
||||
(PAUSE_EQUIP_PLAYER_HEIGHT % PAUSE_EQUIP_PLAYER_FRAG_HEIGHT) * (1 << 5);
|
||||
|
||||
pauseCtx->equipVtx[k + 2].v.tc[1] = pauseCtx->equipVtx[k + 3].v.tc[1] = 0x200;
|
||||
break;
|
||||
}
|
||||
|
||||
y -= 32;
|
||||
y -= PAUSE_EQUIP_PLAYER_FRAG_HEIGHT;
|
||||
k += 4;
|
||||
}
|
||||
|
||||
|
@ -4144,7 +4171,7 @@ void KaleidoScope_Update(PlayState* play) {
|
|||
}
|
||||
break;
|
||||
|
||||
case PAUSE_MAIN_STATE_7:
|
||||
case PAUSE_MAIN_STATE_EQUIP_CHANGED:
|
||||
break;
|
||||
|
||||
case PAUSE_MAIN_STATE_IDLE_CURSOR_ON_SONG:
|
||||
|
|
|
@ -69,6 +69,55 @@ typedef enum QuestQuad {
|
|||
/* 47 */ QUEST_QUAD_MAX
|
||||
} QuestQuad;
|
||||
|
||||
#define EQUIP_CURSOR_X_UPG 0
|
||||
#define EQUIP_CURSOR_Y_BULLETBAG_QUIVER 0
|
||||
|
||||
#define EQUIP_GRID_CELL_WIDTH 32
|
||||
#define EQUIP_GRID_CELL_HEIGHT 32
|
||||
#define EQUIP_GRID_QUAD_MARGIN 2
|
||||
#define EQUIP_GRID_QUAD_WIDTH (EQUIP_GRID_CELL_WIDTH - (2 * EQUIP_GRID_QUAD_MARGIN))
|
||||
#define EQUIP_GRID_QUAD_HEIGHT (EQUIP_GRID_CELL_HEIGHT - (2 * EQUIP_GRID_QUAD_MARGIN))
|
||||
#define EQUIP_GRID_QUAD_TEX_SIZE 32 // both width and height
|
||||
|
||||
#define EQUIP_GRID_SELECTED_QUAD_MARGIN (-2)
|
||||
#define EQUIP_GRID_SELECTED_QUAD_WIDTH (EQUIP_GRID_QUAD_WIDTH - (2 * EQUIP_GRID_SELECTED_QUAD_MARGIN))
|
||||
#define EQUIP_GRID_SELECTED_QUAD_HEIGHT (EQUIP_GRID_QUAD_HEIGHT - (2 * EQUIP_GRID_SELECTED_QUAD_MARGIN))
|
||||
#define EQUIP_GRID_SELECTED_QUAD_TEX_SIZE 32 // both width and height
|
||||
|
||||
typedef enum EquipQuad {
|
||||
// Grid of upgrades and equips, left column is upgrades, others are equips, with one row per equip type
|
||||
// Row 0
|
||||
/* 0 */ EQUIP_QUAD_UPG_BULLETBAG_QUIVER,
|
||||
/* 1 */ EQUIP_QUAD_SWORD_KOKIRI,
|
||||
/* 2 */ EQUIP_QUAD_SWORD_MASTER,
|
||||
/* 3 */ EQUIP_QUAD_SWORD_BIGGORON,
|
||||
// Row 1
|
||||
/* 4 */ EQUIP_QUAD_UPG_BOMB_BAG,
|
||||
/* 5 */ EQUIP_QUAD_SHIELD_DEKU,
|
||||
/* 6 */ EQUIP_QUAD_SHIELD_HYLIAN,
|
||||
/* 7 */ EQUIP_QUAD_SHIELD_MIRROR,
|
||||
// Row 2
|
||||
/* 8 */ EQUIP_QUAD_UPG_STRENGTH,
|
||||
/* 9 */ EQUIP_QUAD_TUNIC_KOKIRI,
|
||||
/* 10 */ EQUIP_QUAD_TUNIC_GORON,
|
||||
/* 11 */ EQUIP_QUAD_TUNIC_ZORA,
|
||||
// Row 3
|
||||
/* 12 */ EQUIP_QUAD_UPG_SCALE,
|
||||
/* 13 */ EQUIP_QUAD_BOOTS_KOKIRI,
|
||||
/* 14 */ EQUIP_QUAD_BOOTS_IRON,
|
||||
/* 15 */ EQUIP_QUAD_BOOTS_HOVER,
|
||||
// Markers indicating the currently selected equip
|
||||
/* 16 */ EQUIP_QUAD_SELECTED_SWORD,
|
||||
/* 17 */ EQUIP_QUAD_SELECTED_SHIELD,
|
||||
/* 18 */ EQUIP_QUAD_SELECTED_TUNIC,
|
||||
/* 19 */ EQUIP_QUAD_SELECTED_BOOTS,
|
||||
// Player prerender
|
||||
/* 20 */ EQUIP_QUAD_PLAYER_FIRST,
|
||||
/* 23 */ EQUIP_QUAD_PLAYER_LAST = EQUIP_QUAD_PLAYER_FIRST + PAUSE_EQUIP_PLAYER_FRAG_NUM - 1,
|
||||
// 24..27 are unused, probably meant for player prerender
|
||||
/* 28 */ EQUIP_QUAD_MAX = EQUIP_QUAD_PLAYER_LAST + 4 + 1
|
||||
} EquipQuad;
|
||||
|
||||
// The world map image is split into a number of quad fragments for drawing
|
||||
#define WORLD_MAP_IMAGE_WIDTH 216
|
||||
#define WORLD_MAP_IMAGE_HEIGHT 128
|
||||
|
|
|
@ -275,12 +275,19 @@ class TextureResource(Resource):
|
|||
self.width_name = f"{self.symbol_name}_WIDTH"
|
||||
self.height_name = f"{self.symbol_name}_HEIGHT"
|
||||
|
||||
def check_declare_length(self):
|
||||
return (
|
||||
hasattr(self, "HACK_IS_STATIC_ON") or EXPLICIT_DL_AND_TEX_SIZES
|
||||
) and not self.is_tlut()
|
||||
|
||||
def get_c_declaration_base(self):
|
||||
if hasattr(self, "HACK_IS_STATIC_ON") and self.is_tlut():
|
||||
raise NotImplementedError
|
||||
if hasattr(self, "HACK_IS_STATIC_ON") or EXPLICIT_DL_AND_TEX_SIZES:
|
||||
if not self.is_tlut():
|
||||
return f"{self.elem_type} {self.symbol_name}[{self.height_name} * {self.width_name} * {self.siz.bpp} / 8 / sizeof({self.elem_type})]"
|
||||
if self.check_declare_length():
|
||||
return (
|
||||
f"{self.elem_type} {self.symbol_name}"
|
||||
f"[TEX_LEN({self.elem_type}, {self.width_name}, {self.height_name}, {self.siz.bpp})]"
|
||||
)
|
||||
return f"{self.elem_type} {self.symbol_name}[]"
|
||||
|
||||
def get_c_reference(self, resource_offset: int):
|
||||
|
@ -518,7 +525,10 @@ class TextureResource(Resource):
|
|||
super().write_c_declaration(h)
|
||||
|
||||
def get_h_includes(self):
|
||||
return ("ultra64.h",)
|
||||
return (
|
||||
"ultra64.h",
|
||||
*(("tex_len.h",) if self.check_declare_length() else ()),
|
||||
)
|
||||
|
||||
@reprlib.recursive_repr()
|
||||
def __repr__(self):
|
||||
|
|
Loading…
Reference in New Issue