Matched REL/mess + some data cleanup
This commit is contained in:
parent
d3aae72c3b
commit
6d754f108e
11 changed files with 612 additions and 227 deletions
|
|
@ -1,105 +1,105 @@
|
|||
_prolog = .text:0x00000000; // type:function size:0x54 scope:global
|
||||
_epilog = .text:0x00000054; // type:function size:0x4C scope:global
|
||||
ModuleProlog = .text:0x000000A0; // type:function size:0x21C
|
||||
fn_1_2BC = .text:0x000002BC; // type:function size:0x44
|
||||
fn_1_300 = .text:0x00000300; // type:function size:0xB88
|
||||
fn_1_E88 = .text:0x00000E88; // type:function size:0x328
|
||||
fn_1_11B0 = .text:0x000011B0; // type:function size:0x2F0
|
||||
fn_1_2BC = .text:0x000002BC; // type:function size:0x44 scope:local
|
||||
fn_1_300 = .text:0x00000300; // type:function size:0xB88 scope:local
|
||||
fn_1_E88 = .text:0x00000E88; // type:function size:0x328 scope:local
|
||||
fn_1_11B0 = .text:0x000011B0; // type:function size:0x2F0 scope:local
|
||||
_ctors = .ctors:0x00000000; // type:label scope:global data:4byte
|
||||
_dtors = .dtors:0x00000000; // type:label scope:global data:4byte
|
||||
lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float
|
||||
lbl_1_data_0 = .data:0x00000000; // type:object size:0x22 data:string
|
||||
lbl_1_data_22 = .data:0x00000022; // type:object size:0x16 data:string
|
||||
lbl_1_data_38 = .data:0x00000038; // type:object size:0x11 data:string
|
||||
lbl_1_data_49 = .data:0x00000049; // type:object size:0xD data:string
|
||||
lbl_1_data_56 = .data:0x00000056; // type:object size:0xD data:string
|
||||
lbl_1_data_63 = .data:0x00000063; // type:object size:0xB data:string
|
||||
lbl_1_data_6E = .data:0x0000006E; // type:object size:0xF data:string
|
||||
lbl_1_data_7D = .data:0x0000007D; // type:object size:0xE data:string
|
||||
lbl_1_data_8B = .data:0x0000008B; // type:object size:0xE data:string
|
||||
lbl_1_data_99 = .data:0x00000099; // type:object size:0xD data:string
|
||||
lbl_1_data_A6 = .data:0x000000A6; // type:object size:0x9 data:string
|
||||
lbl_1_data_AF = .data:0x000000AF; // type:object size:0xE data:string
|
||||
lbl_1_data_BD = .data:0x000000BD; // type:object size:0xF data:string
|
||||
lbl_1_data_CC = .data:0x000000CC; // type:object size:0xB data:string
|
||||
lbl_1_data_D7 = .data:0x000000D7; // type:object size:0x12 data:string
|
||||
lbl_1_data_E9 = .data:0x000000E9; // type:object size:0xA data:string
|
||||
lbl_1_data_F3 = .data:0x000000F3; // type:object size:0xD data:string
|
||||
lbl_1_data_100 = .data:0x00000100; // type:object size:0xB data:string
|
||||
lbl_1_data_10B = .data:0x0000010B; // type:object size:0xF data:string
|
||||
lbl_1_data_11A = .data:0x0000011A; // type:object size:0x9 data:string
|
||||
lbl_1_data_123 = .data:0x00000123; // type:object size:0xF data:string
|
||||
lbl_1_data_132 = .data:0x00000132; // type:object size:0x13 data:string
|
||||
lbl_1_data_145 = .data:0x00000145; // type:object size:0xF data:string
|
||||
lbl_1_data_154 = .data:0x00000154; // type:object size:0xF data:string
|
||||
lbl_1_data_163 = .data:0x00000163; // type:object size:0x12 data:string
|
||||
lbl_1_data_175 = .data:0x00000175; // type:object size:0xB data:string
|
||||
lbl_1_data_180 = .data:0x00000180; // type:object size:0xD data:string
|
||||
lbl_1_data_18D = .data:0x0000018D; // type:object size:0xF data:string
|
||||
lbl_1_data_19C = .data:0x0000019C; // type:object size:0xA data:string
|
||||
lbl_1_data_1A6 = .data:0x000001A6; // type:object size:0xC data:string
|
||||
lbl_1_data_1B2 = .data:0x000001B2; // type:object size:0xD data:string
|
||||
lbl_1_data_1BF = .data:0x000001BF; // type:object size:0xF data:string
|
||||
lbl_1_data_1CE = .data:0x000001CE; // type:object size:0x11 data:string
|
||||
lbl_1_data_1DF = .data:0x000001DF; // type:object size:0xF data:string
|
||||
lbl_1_data_1EE = .data:0x000001EE; // type:object size:0xC data:string
|
||||
lbl_1_data_1FA = .data:0x000001FA; // type:object size:0xC data:string
|
||||
lbl_1_data_206 = .data:0x00000206; // type:object size:0x8 data:string
|
||||
lbl_1_data_20E = .data:0x0000020E; // type:object size:0x11 data:string
|
||||
lbl_1_data_21F = .data:0x0000021F; // type:object size:0x11 data:string
|
||||
lbl_1_data_230 = .data:0x00000230; // type:object size:0x12 data:string
|
||||
lbl_1_data_242 = .data:0x00000242; // type:object size:0xF data:string
|
||||
lbl_1_data_251 = .data:0x00000251; // type:object size:0xC data:string
|
||||
lbl_1_data_25D = .data:0x0000025D; // type:object size:0xB data:string
|
||||
lbl_1_data_268 = .data:0x00000268; // type:object size:0xB data:string
|
||||
lbl_1_data_273 = .data:0x00000273; // type:object size:0xB data:string
|
||||
lbl_1_data_27E = .data:0x0000027E; // type:object size:0xB data:string
|
||||
lbl_1_data_289 = .data:0x00000289; // type:object size:0xB data:string
|
||||
lbl_1_data_294 = .data:0x00000294; // type:object size:0xD data:string
|
||||
lbl_1_data_2A1 = .data:0x000002A1; // type:object size:0x11 data:string
|
||||
lbl_1_data_2B2 = .data:0x000002B2; // type:object size:0xF data:string
|
||||
lbl_1_data_2C1 = .data:0x000002C1; // type:object size:0xC data:string
|
||||
lbl_1_data_2CD = .data:0x000002CD; // type:object size:0x11 data:string
|
||||
lbl_1_data_2DE = .data:0x000002DE; // type:object size:0xF data:string
|
||||
lbl_1_data_2ED = .data:0x000002ED; // type:object size:0xF data:string
|
||||
lbl_1_data_2FC = .data:0x000002FC; // type:object size:0xF data:string
|
||||
lbl_1_data_30B = .data:0x0000030B; // type:object size:0x11 data:string
|
||||
lbl_1_data_31C = .data:0x0000031C; // type:object size:0x10
|
||||
lbl_1_data_32C = .data:0x0000032C; // type:object size:0xE4 data:4byte
|
||||
lbl_1_data_410 = .data:0x00000410; // type:object size:0x2 data:2byte
|
||||
lbl_1_data_412 = .data:0x00000412; // type:object size:0x6
|
||||
lbl_1_data_418 = .data:0x00000418; // type:object size:0x5 data:string
|
||||
lbl_1_data_41D = .data:0x0000041D; // type:object size:0x4 data:string
|
||||
lbl_1_data_421 = .data:0x00000421; // type:object size:0x4 data:string
|
||||
lbl_1_data_425 = .data:0x00000425; // type:object size:0x4 data:string
|
||||
lbl_1_data_429 = .data:0x00000429; // type:object size:0x4 data:string
|
||||
lbl_1_data_42D = .data:0x0000042D; // type:object size:0x4 data:string
|
||||
lbl_1_data_431 = .data:0x00000431; // type:object size:0x4 data:string
|
||||
lbl_1_data_435 = .data:0x00000435; // type:object size:0x4 data:string
|
||||
lbl_1_data_439 = .data:0x00000439; // type:object size:0x7
|
||||
lbl_1_data_440 = .data:0x00000440; // type:object size:0x20
|
||||
lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x2 data:2byte
|
||||
lbl_1_bss_2 = .bss:0x00000002; // type:object size:0x6 data:2byte
|
||||
lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x24 data:4byte
|
||||
lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 data:4byte
|
||||
lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:4byte
|
||||
lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:4byte
|
||||
lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_data_0 = .data:0x00000000; // type:object size:0x22 scope:local data:string
|
||||
lbl_1_data_22 = .data:0x00000022; // type:object size:0x16 scope:local data:string
|
||||
lbl_1_data_38 = .data:0x00000038; // type:object size:0x11 scope:local data:string
|
||||
lbl_1_data_49 = .data:0x00000049; // type:object size:0xD scope:local data:string
|
||||
lbl_1_data_56 = .data:0x00000056; // type:object size:0xD scope:local data:string
|
||||
lbl_1_data_63 = .data:0x00000063; // type:object size:0xB scope:local data:string
|
||||
lbl_1_data_6E = .data:0x0000006E; // type:object size:0xF scope:local data:string
|
||||
lbl_1_data_7D = .data:0x0000007D; // type:object size:0xE scope:local data:string
|
||||
lbl_1_data_8B = .data:0x0000008B; // type:object size:0xE scope:local data:string
|
||||
lbl_1_data_99 = .data:0x00000099; // type:object size:0xD scope:local data:string
|
||||
lbl_1_data_A6 = .data:0x000000A6; // type:object size:0x9 scope:local data:string
|
||||
lbl_1_data_AF = .data:0x000000AF; // type:object size:0xE scope:local data:string
|
||||
lbl_1_data_BD = .data:0x000000BD; // type:object size:0xF scope:local data:string
|
||||
lbl_1_data_CC = .data:0x000000CC; // type:object size:0xB scope:local data:string
|
||||
lbl_1_data_D7 = .data:0x000000D7; // type:object size:0x12 scope:local data:string
|
||||
lbl_1_data_E9 = .data:0x000000E9; // type:object size:0xA scope:local data:string
|
||||
lbl_1_data_F3 = .data:0x000000F3; // type:object size:0xD scope:local data:string
|
||||
lbl_1_data_100 = .data:0x00000100; // type:object size:0xB scope:local data:string
|
||||
lbl_1_data_10B = .data:0x0000010B; // type:object size:0xF scope:local data:string
|
||||
lbl_1_data_11A = .data:0x0000011A; // type:object size:0x9 scope:local data:string
|
||||
lbl_1_data_123 = .data:0x00000123; // type:object size:0xF scope:local data:string
|
||||
lbl_1_data_132 = .data:0x00000132; // type:object size:0x13 scope:local data:string
|
||||
lbl_1_data_145 = .data:0x00000145; // type:object size:0xF scope:local data:string
|
||||
lbl_1_data_154 = .data:0x00000154; // type:object size:0xF scope:local data:string
|
||||
lbl_1_data_163 = .data:0x00000163; // type:object size:0x12 scope:local data:string
|
||||
lbl_1_data_175 = .data:0x00000175; // type:object size:0xB scope:local data:string
|
||||
lbl_1_data_180 = .data:0x00000180; // type:object size:0xD scope:local data:string
|
||||
lbl_1_data_18D = .data:0x0000018D; // type:object size:0xF scope:local data:string
|
||||
lbl_1_data_19C = .data:0x0000019C; // type:object size:0xA scope:local data:string
|
||||
lbl_1_data_1A6 = .data:0x000001A6; // type:object size:0xC scope:local data:string
|
||||
lbl_1_data_1B2 = .data:0x000001B2; // type:object size:0xD scope:local data:string
|
||||
lbl_1_data_1BF = .data:0x000001BF; // type:object size:0xF scope:local data:string
|
||||
lbl_1_data_1CE = .data:0x000001CE; // type:object size:0x11 scope:local data:string
|
||||
lbl_1_data_1DF = .data:0x000001DF; // type:object size:0xF scope:local data:string
|
||||
lbl_1_data_1EE = .data:0x000001EE; // type:object size:0xC scope:local data:string
|
||||
lbl_1_data_1FA = .data:0x000001FA; // type:object size:0xC scope:local data:string
|
||||
lbl_1_data_206 = .data:0x00000206; // type:object size:0x8 scope:local data:string
|
||||
lbl_1_data_20E = .data:0x0000020E; // type:object size:0x11 scope:local data:string
|
||||
lbl_1_data_21F = .data:0x0000021F; // type:object size:0x11 scope:local data:string
|
||||
lbl_1_data_230 = .data:0x00000230; // type:object size:0x12 scope:local data:string
|
||||
lbl_1_data_242 = .data:0x00000242; // type:object size:0xF scope:local data:string
|
||||
lbl_1_data_251 = .data:0x00000251; // type:object size:0xC scope:local data:string
|
||||
lbl_1_data_25D = .data:0x0000025D; // type:object size:0xB scope:local data:string
|
||||
lbl_1_data_268 = .data:0x00000268; // type:object size:0xB scope:local data:string
|
||||
lbl_1_data_273 = .data:0x00000273; // type:object size:0xB scope:local data:string
|
||||
lbl_1_data_27E = .data:0x0000027E; // type:object size:0xB scope:local data:string
|
||||
lbl_1_data_289 = .data:0x00000289; // type:object size:0xB scope:local data:string
|
||||
lbl_1_data_294 = .data:0x00000294; // type:object size:0xD scope:local data:string
|
||||
lbl_1_data_2A1 = .data:0x000002A1; // type:object size:0x11 scope:local data:string
|
||||
lbl_1_data_2B2 = .data:0x000002B2; // type:object size:0xF scope:local data:string
|
||||
lbl_1_data_2C1 = .data:0x000002C1; // type:object size:0xC scope:local data:string
|
||||
lbl_1_data_2CD = .data:0x000002CD; // type:object size:0x11 scope:local data:string
|
||||
lbl_1_data_2DE = .data:0x000002DE; // type:object size:0xF scope:local data:string
|
||||
lbl_1_data_2ED = .data:0x000002ED; // type:object size:0xF scope:local data:string
|
||||
lbl_1_data_2FC = .data:0x000002FC; // type:object size:0xF scope:local data:string
|
||||
lbl_1_data_30B = .data:0x0000030B; // type:object size:0x11 scope:local data:string
|
||||
lbl_1_data_31C = .data:0x0000031C; // type:object size:0x10 scope:local
|
||||
lbl_1_data_32C = .data:0x0000032C; // type:object size:0xE4 scope:local data:4byte
|
||||
lbl_1_data_410 = .data:0x00000410; // type:object size:0x2 scope:local data:2byte
|
||||
lbl_1_data_412 = .data:0x00000412; // type:object size:0x6 scope:local
|
||||
lbl_1_data_418 = .data:0x00000418; // type:object size:0x5 scope:local data:string
|
||||
lbl_1_data_41D = .data:0x0000041D; // type:object size:0x4 scope:local data:string
|
||||
lbl_1_data_421 = .data:0x00000421; // type:object size:0x4 scope:local data:string
|
||||
lbl_1_data_425 = .data:0x00000425; // type:object size:0x4 scope:local data:string
|
||||
lbl_1_data_429 = .data:0x00000429; // type:object size:0x4 scope:local data:string
|
||||
lbl_1_data_42D = .data:0x0000042D; // type:object size:0x4 scope:local data:string
|
||||
lbl_1_data_431 = .data:0x00000431; // type:object size:0x4 scope:local data:string
|
||||
lbl_1_data_435 = .data:0x00000435; // type:object size:0x4 scope:local data:string
|
||||
lbl_1_data_439 = .data:0x00000439; // type:object size:0x7 scope:local
|
||||
lbl_1_data_440 = .data:0x00000440; // type:object size:0x20 scope:local
|
||||
lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x2 scope:local data:2byte
|
||||
lbl_1_bss_2 = .bss:0x00000002; // type:object size:0x6 scope:local data:2byte
|
||||
lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x24 scope:local data:4byte
|
||||
lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 scope:local data:4byte
|
||||
lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 scope:local data:4byte
|
||||
lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 scope:local data:4byte
|
||||
|
|
|
|||
|
|
@ -950,7 +950,7 @@ config.libs = [
|
|||
Rel('messDll',
|
||||
objects = {
|
||||
Object(Matching, "REL/executor.c"),
|
||||
Object(NonMatching, "REL/messDll/main.c"),
|
||||
Object(Matching, "REL/messDll/main.c"),
|
||||
}
|
||||
),
|
||||
Rel('mgmodedll',
|
||||
|
|
|
|||
|
|
@ -76,6 +76,7 @@ typedef struct {
|
|||
} WindowData; // Size 0x180
|
||||
|
||||
extern WindowData winData[32];
|
||||
extern void *messDataPtr;
|
||||
|
||||
void HuWindowInit(void);
|
||||
void HuWinInit(s32 mess_data_no);
|
||||
|
|
@ -123,7 +124,7 @@ void _HuWinComKeySet(s32 player_1, s32 player_2, s32 player_3, s32 player_4, s16
|
|||
void HuWinComKeyGet(s16 window, u32 *data);
|
||||
void HuWinComKeyReset(void);
|
||||
void HuWinMesMaxSizeGet(s16 mess_num, float *size, ...);
|
||||
void HuWinInsertMesSizeGet(s32 mess, s16 index);
|
||||
void HuWinInsertMesSizeGet(u32 mess, s16 index);
|
||||
void HuWinMesSizeCancelCRSet(s32 cancel_cr);
|
||||
void HuWinMesMaxSizeBetGet(float *size, u32 start, u32 end);
|
||||
s16 HuWinKeyWaitNumGet(u32 mess);
|
||||
|
|
|
|||
331
src/REL/messDll/main.c
Executable file
331
src/REL/messDll/main.c
Executable file
|
|
@ -0,0 +1,331 @@
|
|||
#include "REL/executor.h"
|
||||
#include "game/gamework_data.h"
|
||||
#include "game/hsfman.h"
|
||||
#include "game/object.h"
|
||||
#include "game/pad.h"
|
||||
#include "game/process.h"
|
||||
#include "game/window.h"
|
||||
#include "game/wipe.h"
|
||||
|
||||
#include "dolphin.h"
|
||||
#include "math.h"
|
||||
#include "rel_sqrt_consts.h"
|
||||
|
||||
extern s32 sprintf(char*, const char*, s32);
|
||||
|
||||
static void fn_1_2BC(omObjData *arg0);
|
||||
static void fn_1_300(omObjData *arg0);
|
||||
static void fn_1_E88(void);
|
||||
static s32 fn_1_11B0(s16 arg0, s16 arg1);
|
||||
|
||||
static Process *lbl_1_bss_34;
|
||||
static omObjData *lbl_1_bss_30;
|
||||
static omObjData *lbl_1_bss_2C;
|
||||
static u8 lbl_1_bss_C_pad[0x20];
|
||||
static Process *lbl_1_bss_8;
|
||||
static u8 lbl_1_bss_4_pad[4];
|
||||
static s16 lbl_1_bss_2;
|
||||
static s16 lbl_1_bss_0;
|
||||
|
||||
void ModuleProlog(void) {
|
||||
OSReport("******* SAFObjectSetup *********\n");
|
||||
lbl_1_bss_34 = omInitObjMan(0x32, 0x2000);
|
||||
CRot.x = -20.0f;
|
||||
CRot.y = 0.0f;
|
||||
CRot.z = 0.0f;
|
||||
Center.x = 0.0f;
|
||||
Center.y = 120.0f;
|
||||
Center.z = 0.0f;
|
||||
CZoom = 500.0f;
|
||||
Hu3DCameraCreate(1);
|
||||
Hu3DCameraPerspectiveSet(1, 45.0f, 20.0f, 15000.0f, 1.2f);
|
||||
Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f);
|
||||
lbl_1_bss_30 = omAddObjEx(lbl_1_bss_34, 0, 0x40, 0, -1, fn_1_2BC);
|
||||
lbl_1_bss_2C = omAddObjEx(lbl_1_bss_34, 0x7FDA, 0, 0, -1, omOutView);
|
||||
HuWinInit(1);
|
||||
lbl_1_bss_8 = HuPrcChildCreate(fn_1_E88, 100, 0x3000, 0, lbl_1_bss_34);
|
||||
}
|
||||
|
||||
static void fn_1_2BC(omObjData *arg0) {
|
||||
WipeCreate(1, 0, 10);
|
||||
arg0->func = fn_1_300;
|
||||
}
|
||||
|
||||
static void fn_1_300(omObjData *arg0) {
|
||||
Vec sp2C;
|
||||
Vec sp20;
|
||||
Vec sp14;
|
||||
Vec sp8;
|
||||
float temp_f31;
|
||||
s8 temp_r31;
|
||||
|
||||
if (HuPadBtnDown[0] & 0x1000) {
|
||||
GWSystem.mg_next = 1;
|
||||
omOvlReturnEx(1, 1);
|
||||
return;
|
||||
}
|
||||
CRot.x += -HuPadSubStkY[0] / 20;
|
||||
CRot.y += HuPadSubStkX[0] / 20;
|
||||
CZoom += HuPadTrigL[0] / 2;
|
||||
CZoom -= HuPadTrigR[0] / 2;
|
||||
sp2C.x = Center.x + CZoom * (sin(CRot.y * M_PI / 180.0) * cos(CRot.x * M_PI / 180.0));
|
||||
sp2C.y = Center.y + CZoom * -sin(CRot.x * M_PI / 180.0);
|
||||
sp2C.z = Center.z + CZoom * (cos(CRot.y * M_PI / 180.0) * cos(CRot.x * M_PI / 180.0));
|
||||
sp20.x = Center.x - sp2C.x;
|
||||
sp20.y = Center.y - sp2C.y;
|
||||
sp20.z = Center.z - sp2C.z;
|
||||
sp14.x = sin(CRot.y * M_PI / 180.0) * sin(CRot.x * M_PI / 180.0);
|
||||
sp14.y = cos(CRot.x * M_PI / 180.0);
|
||||
sp14.z = cos(CRot.y * M_PI / 180.0) * sin(CRot.x * M_PI / 180.0);
|
||||
temp_f31 = CRot.z;
|
||||
sp8.x = sp14.x * (sp20.x * sp20.x + (1.0f - sp20.x * sp20.x) * cos(temp_f31 * M_PI / 180.0))
|
||||
+ sp14.y * (sp20.x * sp20.y * (1.0 - cos(temp_f31 * M_PI / 180.0)) - sp20.z * sin(temp_f31 * M_PI / 180.0))
|
||||
+ sp14.z * (sp20.x * sp20.z * (1.0 - cos(temp_f31 * M_PI / 180.0)) + sp20.y * sin(temp_f31 * M_PI / 180.0));
|
||||
sp8.y = sp14.x * (sp20.x * sp20.y * (1.0 - cos(temp_f31 * M_PI / 180.0)) + sp20.z * sin(temp_f31 * M_PI / 180.0))
|
||||
+ sp14.y * (sp20.y * sp20.y + (1.0f - sp20.y * sp20.y) * cos(temp_f31 * M_PI / 180.0))
|
||||
+ sp14.z * (sp20.y * sp20.z * (1.0 - cos(temp_f31 * M_PI / 180.0)) - sp20.x * sin(temp_f31 * M_PI / 180.0));
|
||||
sp8.z = sp14.x * (sp20.x * sp20.z * (1.0 - cos(temp_f31 * M_PI / 180.0)) - sp20.y * sin(temp_f31 * M_PI / 180.0))
|
||||
+ sp14.y * (sp20.y * sp20.z * (1.0 - cos(temp_f31 * M_PI / 180.0)) + sp20.x * sin(temp_f31 * M_PI / 180.0))
|
||||
+ sp14.z * (sp20.z * sp20.z + (1.0f - sp20.z * sp20.z) * cos(temp_f31 * M_PI / 180.0));
|
||||
PSVECCrossProduct(&sp14, &sp20, &sp20);
|
||||
PSVECNormalize(&sp20, &sp20);
|
||||
temp_r31 = HuPadSubStkX[0] & 0xF8;
|
||||
if (temp_r31 != 0) {
|
||||
Center.x += sp20.x * temp_r31 * 0.05f;
|
||||
Center.y += sp20.y * temp_r31 * 0.05f;
|
||||
Center.z += sp20.z * temp_r31 * 0.05f;
|
||||
}
|
||||
PSVECNormalize(&sp8, &sp20);
|
||||
temp_r31 = -(HuPadSubStkY[0] & 0xF8);
|
||||
if (temp_r31 != 0) {
|
||||
Center.x += sp20.x * temp_r31 * 0.05f;
|
||||
Center.y += sp20.y * temp_r31 * 0.05f;
|
||||
Center.z += sp20.z * temp_r31 * 0.05f;
|
||||
}
|
||||
}
|
||||
|
||||
static char *lbl_1_data_32C[] = {
|
||||
"001_Character_Name_ss",
|
||||
"002_Hidden_Block",
|
||||
"003_Battle_M",
|
||||
"004_Bowser_M",
|
||||
"005_Warp_M",
|
||||
"006_Mushroom_M",
|
||||
"007_Lot_house",
|
||||
"008_Boo_house",
|
||||
"009_ItemName",
|
||||
"010_Bord",
|
||||
"011_RoundItem",
|
||||
"012_Spaceamida",
|
||||
"013_Star_M",
|
||||
"014_RollerCoaster",
|
||||
"015_Last5",
|
||||
"016_ItemShop",
|
||||
"017_System",
|
||||
"018_ModeSelect",
|
||||
"019_Item",
|
||||
"020_Map2_event",
|
||||
"021_Lucky_Minigame",
|
||||
"022_Bord_Start",
|
||||
"023_Map3_event",
|
||||
"024_Minigame_Name",
|
||||
"025_mg_446",
|
||||
"026_debugmes",
|
||||
"027_Party_Mode",
|
||||
"028_SETUP",
|
||||
"029_Miracle",
|
||||
"030_mg_kuppa",
|
||||
"031_Story_Mode",
|
||||
"032_Bowser_Story",
|
||||
"033_Map4_event",
|
||||
"034_mg_inst",
|
||||
"035_E3_only",
|
||||
"036_saf",
|
||||
"037_Mg_inst_sys_",
|
||||
"038_Bord_Results",
|
||||
"039_Bord_Results2",
|
||||
"040_Map5_event",
|
||||
"041_Mg_Mode",
|
||||
"042_mg_445",
|
||||
"043_mg_447",
|
||||
"044_mg_448",
|
||||
"045_mg_449",
|
||||
"046_mg_450",
|
||||
"047_tutorial",
|
||||
"048_Option_Rooml",
|
||||
"049_Map6_event",
|
||||
"050_charley",
|
||||
"051_Present_Room",
|
||||
"052_Extra_Room",
|
||||
"053_Staff_Post",
|
||||
"054_Staff_Name",
|
||||
"055_Opening_Demo",
|
||||
"056_mgex_inst",
|
||||
NULL
|
||||
};
|
||||
|
||||
static s16 lbl_1_data_410 = -1;
|
||||
|
||||
static void fn_1_E88(void) {
|
||||
s16 sp10[256]; // unknown size
|
||||
char spC[4];
|
||||
char sp8[4];
|
||||
s16 temp_r3;
|
||||
s16 var_r25;
|
||||
s16 var_r27;
|
||||
s16 var_r28;
|
||||
s32 var_r30;
|
||||
s32 var_r31;
|
||||
s32 temp_r3_2;
|
||||
char *var_r29;
|
||||
|
||||
var_r28 = var_r27 = 0;
|
||||
while (lbl_1_data_32C[var_r28] != 0) {
|
||||
var_r29 = lbl_1_data_32C[var_r28];
|
||||
while (*var_r29 != 0) {
|
||||
if (*var_r29 == '_') {
|
||||
*var_r29 = 0x86;
|
||||
}
|
||||
var_r29++;
|
||||
}
|
||||
sp10[var_r28] = 0;
|
||||
var_r30 = (var_r28 << 16);
|
||||
var_r25 = 0;
|
||||
while (1) {
|
||||
if ((s32) MessData_MesPtrGet(messDataPtr, var_r30 + var_r25) == 0) {
|
||||
break;
|
||||
}
|
||||
sp10[var_r28]++;
|
||||
var_r25++;
|
||||
}
|
||||
var_r27++;
|
||||
var_r28++;
|
||||
}
|
||||
temp_r3 = HuWinExCreateStyled(-10000.0f, 32.0f, 316, 40, -1, 0);
|
||||
HuWinExAnimIn(temp_r3);
|
||||
HuWinAttrSet(temp_r3, 0x800);
|
||||
HuWinMesSpeedSet(temp_r3, 0);
|
||||
HuWinMesSet(temp_r3, MAKE_MESSID_PTR(lbl_1_data_32C[0]));
|
||||
lbl_1_bss_0 = HuWinCreate(460.0f, 32.0f, 100, 40, 0);
|
||||
HuWinAttrSet(lbl_1_bss_0, 0x800);
|
||||
HuWinMesSpeedSet(lbl_1_bss_0, 0);
|
||||
HuWinMesSet(lbl_1_bss_0, MAKE_MESSID_PTR("\x1F\x01_\x1F\x02"));
|
||||
var_r31 = 0;
|
||||
var_r30 = 0;
|
||||
while (1) {
|
||||
HuWinHomeClear(lbl_1_bss_0);
|
||||
sprintf(spC, "%03d", var_r30 + 1);
|
||||
HuWinInsertMesSet(lbl_1_bss_0, MAKE_MESSID_PTR(spC), 0);
|
||||
sprintf(sp8, "%03d", sp10[var_r31]);
|
||||
HuWinInsertMesSet(lbl_1_bss_0, MAKE_MESSID_PTR(sp8), 1);
|
||||
HuWinMesSet(lbl_1_bss_0, MAKE_MESSID_PTR("\x1F\x01_\x1F\x02"));
|
||||
temp_r3_2 = fn_1_11B0(var_r31, var_r30);
|
||||
if (temp_r3_2 & 0x20) {
|
||||
var_r31++;
|
||||
if (var_r31 >= var_r27) {
|
||||
var_r31 = 0;
|
||||
}
|
||||
var_r30 = 0;
|
||||
} else if (temp_r3_2 & 0x40) {
|
||||
var_r31--;
|
||||
if (var_r31 < 0) {
|
||||
var_r31 = var_r27 - 1;
|
||||
}
|
||||
var_r30 = 0;
|
||||
} else if (temp_r3_2 & 0x200) {
|
||||
var_r30--;
|
||||
if (var_r30 < 0) {
|
||||
var_r31--;
|
||||
if (var_r31 < 0) {
|
||||
var_r31 = var_r27 - 1;
|
||||
}
|
||||
var_r30 = sp10[var_r31] - 1;
|
||||
}
|
||||
} else {
|
||||
var_r30++;
|
||||
if (var_r30 >= sp10[var_r31]) {
|
||||
var_r31++;
|
||||
if (var_r31 >= var_r27) {
|
||||
var_r31 = 0;
|
||||
}
|
||||
var_r30 = 0;
|
||||
}
|
||||
}
|
||||
HuPrcVSleep();
|
||||
}
|
||||
}
|
||||
|
||||
static char *lbl_1_data_440[] = {
|
||||
"]1^",
|
||||
"]2^",
|
||||
"]3^",
|
||||
"]4^",
|
||||
"]5^",
|
||||
"]6^",
|
||||
"]7^",
|
||||
"]8^"
|
||||
};
|
||||
|
||||
static s32 fn_1_11B0(s16 arg0, s16 arg1) {
|
||||
WindowData *temp_r30;
|
||||
float sp10;
|
||||
float spC;
|
||||
s32 temp_r28;
|
||||
s32 var_r27;
|
||||
s32 var_r26;
|
||||
u8 *var_r29;
|
||||
s16 i;
|
||||
|
||||
var_r27 = 0;
|
||||
var_r26 = 0;
|
||||
HuWinHomeClear(lbl_1_bss_2);
|
||||
HuWinMesSet(lbl_1_bss_2, MAKE_MESSID_PTR(lbl_1_data_32C[arg0]));
|
||||
HuPrcVSleep();
|
||||
if (lbl_1_data_410 != -1) {
|
||||
HuWinKill(lbl_1_data_410);
|
||||
}
|
||||
temp_r28 = MAKE_MESSID(arg0, arg1);
|
||||
for (i = 0; i < 8; i++) {
|
||||
HuWinInsertMesSizeGet(MAKE_MESSID_PTR(lbl_1_data_440[i]), (s16) i);
|
||||
}
|
||||
HuWinMesMaxSizeGet(1, &spC, temp_r28);
|
||||
if (spC <= 16.0f) {
|
||||
spC = 32.0f;
|
||||
}
|
||||
lbl_1_data_410 = HuWinCreate(-10000.0f, -10000.0f, spC, sp10, 0);
|
||||
for (i = 0; i < 8; i++) {
|
||||
HuWinInsertMesSet(lbl_1_data_410, MAKE_MESSID_PTR(lbl_1_data_440[i]), (s16) i);
|
||||
}
|
||||
temp_r30 = &winData[lbl_1_data_410];
|
||||
temp_r30->push_key |= 0x360;
|
||||
temp_r30->key_auto = 0x60;
|
||||
HuWinMesSet(lbl_1_data_410, temp_r28);
|
||||
var_r29 = MessData_MesPtrGet(messDataPtr, temp_r28);
|
||||
while (*var_r29 != 0) {
|
||||
if (*var_r29 == 0xF) {
|
||||
var_r27 = 1;
|
||||
}
|
||||
if (*var_r29 == 0) {
|
||||
var_r26 = 1;
|
||||
}
|
||||
var_r29++;
|
||||
}
|
||||
if (var_r27 != 0) {
|
||||
HuWinMesWait(lbl_1_data_410);
|
||||
HuWinChoiceGet(lbl_1_data_410, 0);
|
||||
return temp_r30->key_down;
|
||||
}
|
||||
if (var_r26 == 0) {
|
||||
while (!(HuPadBtnRep[0] & 0x360)) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
return HuPadBtnRep[0];
|
||||
}
|
||||
while (temp_r30->stat != 0) {
|
||||
if (HuPadBtnRep[0] & 0x60) {
|
||||
return HuPadBtnDown[0];
|
||||
}
|
||||
HuPrcVSleep();
|
||||
}
|
||||
return temp_r30->key_down;
|
||||
}
|
||||
|
|
@ -67,7 +67,7 @@ omObjData *fn_1_21F8(void) {
|
|||
temp_r30->unk2C = 0.0f;
|
||||
temp_r30->unk34 = 0.0f;
|
||||
temp_r30->unk30 = 0.0f;
|
||||
var_r31->model[0] = Hu3DModelCreateFile(0x69000C);
|
||||
var_r31->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_OPTION, 12));
|
||||
Hu3DModelLayerSet(var_r31->model[0], 1);
|
||||
for (i = 0; i < 3; i++) {
|
||||
var_r31->motion[i] = Hu3DJointMotion(var_r31->model[0], HuDataSelHeapReadNum(lbl_1_rodata_E0[i], MEMORY_DEFAULT_NUM, HEAP_DATA));
|
||||
|
|
|
|||
|
|
@ -279,7 +279,7 @@ static omObjData *fn_1_8A88(void) {
|
|||
omObjData *temp_r31;
|
||||
|
||||
temp_r31 = omAddObjEx(lbl_1_bss_8, 1003, 1, 0, 1, NULL);
|
||||
temp_r31->model[0] = Hu3DModelCreateFile(0x690001);
|
||||
temp_r31->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_OPTION, 1));
|
||||
Hu3DModelAttrSet(temp_r31->model[0], 0x40000002);
|
||||
Hu3DModelLayerSet(temp_r31->model[0], 0);
|
||||
Hu3DMotionStartEndSet(temp_r31->model[0], 0.0f, 6.0f);
|
||||
|
|
@ -315,7 +315,7 @@ static omObjData *fn_1_8C84(void) {
|
|||
omObjData *temp_r31;
|
||||
|
||||
temp_r31 = omAddObjEx(lbl_1_bss_8, 1003, 1, 0, 1, NULL);
|
||||
temp_r31->model[0] = Hu3DModelCreateFile(0x69000E);
|
||||
temp_r31->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_OPTION, 14));
|
||||
Hu3DModelLayerSet(temp_r31->model[0], 2);
|
||||
Hu3DModelAttrSet(temp_r31->model[0], 0x40000001);
|
||||
omSetRot(temp_r31, 30.0f, 190.0f, 0.0f);
|
||||
|
|
|
|||
|
|
@ -222,7 +222,7 @@ static omObjData *fn_1_2088(void) {
|
|||
omObjData *temp_r31;
|
||||
|
||||
temp_r31 = omAddObjEx(lbl_1_bss_8, 1003, 1, 0, 1, NULL);
|
||||
temp_r31->model[0] = Hu3DModelCreateFile(0x690000);
|
||||
temp_r31->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_OPTION, 0));
|
||||
Hu3DModelLayerSet(temp_r31->model[0], 0);
|
||||
Hu3DModelShadowMapSet(temp_r31->model[0]);
|
||||
return temp_r31;
|
||||
|
|
@ -237,7 +237,7 @@ static omObjData *fn_1_2144(void) {
|
|||
|
||||
temp_r31 = omAddObjEx(lbl_1_bss_8, 1003, 1, 0, 1, NULL);
|
||||
Hu3DModelLayerSet(temp_r31->model[0], 0);
|
||||
temp_r31->model[0] = Hu3DModelCreateFile(0x690006);
|
||||
temp_r31->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_OPTION, 6));
|
||||
return temp_r31;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -180,7 +180,7 @@ static omObjData *fn_1_37AC(void) {
|
|||
omObjData *temp_r31;
|
||||
|
||||
temp_r31 = omAddObjEx(lbl_1_bss_8, 1003, 1, 0, 1, NULL);
|
||||
temp_r31->model[0] = Hu3DModelCreateFile(0x69000F);
|
||||
temp_r31->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_OPTION, 15));
|
||||
Hu3DModelLayerSet(temp_r31->model[0], 3);
|
||||
omSetRot(temp_r31, 0.0f, 180.0f, 0.0f);
|
||||
Hu3DModelAttrSet(temp_r31->model[0], 1);
|
||||
|
|
@ -199,7 +199,7 @@ static omObjData *fn_1_38BC(void) {
|
|||
omObjData *temp_r31;
|
||||
|
||||
temp_r31 = omAddObjEx(lbl_1_bss_8, 1003, 1, 0, 1, NULL);
|
||||
temp_r31->model[0] = Hu3DModelCreateFile(0x690002);
|
||||
temp_r31->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_OPTION, 2));
|
||||
Hu3DModelAttrSet(temp_r31->model[0], 0x40000002);
|
||||
if (GWGameStat.rumble != 0) {
|
||||
Hu3DMotionTimeSet(temp_r31->model[0], 60.0f);
|
||||
|
|
@ -243,7 +243,7 @@ static omObjData *fn_1_3B08(void) {
|
|||
omObjData *temp_r31;
|
||||
|
||||
temp_r31 = omAddObjEx(lbl_1_bss_8, 1003, 1, 0, 1, NULL);
|
||||
temp_r31->model[0] = Hu3DModelCreateFile(0x690009);
|
||||
temp_r31->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_OPTION, 9));
|
||||
Hu3DModelAttrSet(temp_r31->model[0], 0x40000001);
|
||||
return temp_r31;
|
||||
}
|
||||
|
|
@ -270,7 +270,7 @@ static omObjData *fn_1_3C6C(void) {
|
|||
omObjData *temp_r31;
|
||||
|
||||
temp_r31 = omAddObjEx(lbl_1_bss_8, 1003, 1, 0, 1, NULL);
|
||||
temp_r31->model[0] = Hu3DModelCreateFile(0x69000A);
|
||||
temp_r31->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_OPTION, 10));
|
||||
Hu3DModelAttrSet(temp_r31->model[0], 0x40000002);
|
||||
Hu3DModelLayerSet(temp_r31->model[0], 2);
|
||||
return temp_r31;
|
||||
|
|
@ -318,7 +318,7 @@ static omObjData *fn_1_3F28(void) {
|
|||
omObjData *temp_r31;
|
||||
|
||||
temp_r31 = omAddObjEx(lbl_1_bss_8, 1003, 1, 0, 1, NULL);
|
||||
temp_r31->model[0] = Hu3DModelCreateFile(0x69000B);
|
||||
temp_r31->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_OPTION, 11));
|
||||
if (GWGameStat.rumble != 0) {
|
||||
Hu3DModelAttrReset(temp_r31->model[0], 1);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -1156,7 +1156,7 @@ static omObjData *fn_1_61A0(void) {
|
|||
omObjData *temp_r31;
|
||||
|
||||
temp_r31 = omAddObjEx(lbl_1_bss_8, 1003, 1, 0, 1, NULL);
|
||||
temp_r31->model[0] = Hu3DModelCreateFile(0x69000D);
|
||||
temp_r31->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_OPTION, 13));
|
||||
Hu3DModelLayerSet(temp_r31->model[0], 2);
|
||||
Hu3DModelAttrSet(temp_r31->model[0], 0x40000001);
|
||||
omSetRot(temp_r31, -80.0f, 45.0f, 0.0f);
|
||||
|
|
@ -1177,7 +1177,7 @@ static omObjData *fn_1_62F0(void) {
|
|||
omObjData *temp_r31;
|
||||
|
||||
temp_r31 = omAddObjEx(lbl_1_bss_8, 1003, 1, 0, 1, NULL);
|
||||
temp_r31->model[0] = Hu3DModelCreateFile(0x69000E);
|
||||
temp_r31->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_OPTION, 14));
|
||||
Hu3DModelLayerSet(temp_r31->model[0], 2);
|
||||
Hu3DModelAttrSet(temp_r31->model[0], 0x40000001);
|
||||
omSetRot(temp_r31, 0.0f, -90.0f, 0.0f);
|
||||
|
|
@ -1198,7 +1198,7 @@ static omObjData *fn_1_6440(void) {
|
|||
omObjData *temp_r31;
|
||||
|
||||
temp_r31 = omAddObjEx(lbl_1_bss_8, 1003, 1, 0, 1, NULL);
|
||||
temp_r31->model[0] = Hu3DModelCreateFile(0x690003);
|
||||
temp_r31->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_OPTION, 3));
|
||||
Hu3DModelAttrSet(temp_r31->model[0], 0x40000001);
|
||||
Hu3DModelLayerSet(temp_r31->model[0], 0);
|
||||
return temp_r31;
|
||||
|
|
@ -1223,9 +1223,9 @@ static omObjData *fn_1_6528(s32 arg0, s32 arg1) {
|
|||
|
||||
temp_r31 = omAddObjEx(lbl_1_bss_8, 1003, 1, 0, 1, NULL);
|
||||
if (arg1 != 0) {
|
||||
temp_r31->model[0] = Hu3DModelCreateFile(0x690005);
|
||||
temp_r31->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_OPTION, 5));
|
||||
} else {
|
||||
temp_r31->model[0] = Hu3DModelCreateFile(0x690004);
|
||||
temp_r31->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_OPTION, 4));
|
||||
}
|
||||
Hu3DModelAttrSet(temp_r31->model[0], 0x40000001);
|
||||
Hu3DModelLayerSet(temp_r31->model[0], 0);
|
||||
|
|
|
|||
|
|
@ -98,7 +98,6 @@ static s8 comLotteryType;
|
|||
static s8 comLotteryWinType;
|
||||
static u8 comInputPos;
|
||||
static s32 handUpdateF;
|
||||
// ...
|
||||
static omObjData *lotteryTicketPickObj;
|
||||
static s8 (*comInputDrawP)[2];
|
||||
static Process *lotteryProc;
|
||||
|
|
@ -242,35 +241,88 @@ void BoardLotteryInit(void) {
|
|||
if (GWBoardGet() != 8) {
|
||||
BoardModelVisibilitySet(BoardLotteryHostGet(), 0);
|
||||
BoardSpaceLinkTransformGet(0x10000000, &sp14, &sp8, NULL);
|
||||
lotteryMdl[0] = BoardModelCreate(0x50000, NULL, 0);
|
||||
lotteryMdl[0] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BKUJIYA, 0), NULL, 0);
|
||||
BoardModelMotionStart(lotteryMdl[0], 0, 0);
|
||||
BoardModelMotionSpeedSet(lotteryMdl[0], 0.0f);
|
||||
BoardModelPosSetV(lotteryMdl[0], &sp14);
|
||||
BoardModelRotSetV(lotteryMdl[0], &sp8);
|
||||
HuDataDirClose(0x50000);
|
||||
HuDataDirClose(DATA_MAKE_NUM(DATADIR_BKUJIYA, 0));
|
||||
}
|
||||
}
|
||||
|
||||
static void CreateModel(void) {
|
||||
s32 i;
|
||||
s32 sp10[4] = { 0x00050005, 0x00050006, 0x00050007, 0x00050008 };
|
||||
s32 sp8[2] = { 0x00050003, 0x00050004 };
|
||||
s32 sp10[4] = {
|
||||
DATA_MAKE_NUM(DATADIR_BKUJIYA, 5),
|
||||
DATA_MAKE_NUM(DATADIR_BKUJIYA, 6),
|
||||
DATA_MAKE_NUM(DATADIR_BKUJIYA, 7),
|
||||
DATA_MAKE_NUM(DATADIR_BKUJIYA, 8)
|
||||
};
|
||||
s32 sp8[2] = {
|
||||
DATA_MAKE_NUM(DATADIR_BKUJIYA, 3),
|
||||
DATA_MAKE_NUM(DATADIR_BKUJIYA, 4)
|
||||
};
|
||||
s32 sp20[9][4] = {
|
||||
{ 0x00020001, 0x00020002, 0x00020003, 0x00020004 },
|
||||
{ 0x00020009, 0x0002000A, 0x0002000B, 0x0002000C },
|
||||
{ 0x0002000E, 0x0002000F, 0x00020010, 0x00020011 },
|
||||
{ 0x00020018, 0x00020019, 0x0002001A, 0x0002001B },
|
||||
{ 0x0002001D, 0x0002001E, 0x0002001F, 0x00020020 },
|
||||
{ 0x00020022, 0x00020023, 0x00020024, 0x00020025 },
|
||||
{ 0x0002000E, 0x0002000F, 0x00020010, 0x00020011 },
|
||||
{ 0x0002002A, 0x0002002B, 0x0002002C, 0x0002002D },
|
||||
{ 0x0002002A, 0x0002002B, 0x0002002C, 0x0002002D }
|
||||
{
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 1),
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 2),
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 3),
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 4)
|
||||
},
|
||||
{
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 9),
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 10),
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 11),
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 12)
|
||||
},
|
||||
{
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 14),
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 15),
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 16),
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 17)
|
||||
},
|
||||
{
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 24),
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 25),
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 26),
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 27)
|
||||
},
|
||||
{
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 29),
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 30),
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 31),
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 32)
|
||||
},
|
||||
{
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 34),
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 35),
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 36),
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 37)
|
||||
},
|
||||
{
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 14),
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 15),
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 16),
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 17)
|
||||
},
|
||||
{
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 42),
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 43),
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 44),
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 45)
|
||||
},
|
||||
{
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 42),
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 43),
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 44),
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 45)
|
||||
}
|
||||
};
|
||||
|
||||
lotteryMdl[1] = BoardModelCreate(0x50001, NULL, 0);
|
||||
lotteryMdl[1] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BKUJIYA, 1), NULL, 0);
|
||||
fn_8006DDE8(lotteryMdl[1], -1.0f);
|
||||
BoardModelMotionSpeedSet(lotteryMdl[1], 0.0f);
|
||||
lotteryMdl[2] = BoardModelCreate(0x50002, NULL, 0);
|
||||
lotteryMdl[2] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BKUJIYA, 2), NULL, 0);
|
||||
BoardModelVisibilitySet(lotteryMdl[2], 0);
|
||||
fn_8006DDE8(lotteryMdl[2], -1.0f);
|
||||
BoardModelMotionStart(lotteryMdl[2], 0, 0);
|
||||
|
|
@ -286,7 +338,7 @@ static void CreateModel(void) {
|
|||
fn_8006DDE8(gripMdl[i], -1.0f);
|
||||
BoardModelMotionSpeedSet(gripMdl[i], 0.0f);
|
||||
}
|
||||
lotteryMdl[3] = BoardModelCreate(0x50011, NULL, 0);
|
||||
lotteryMdl[3] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BKUJIYA, 17), NULL, 0);
|
||||
BoardModelVisibilitySet(lotteryMdl[3], 0);
|
||||
fn_8006DDE8(lotteryMdl[3], -1.0f);
|
||||
BoardModelPosSet(BoardLotteryHostGet(), 0.0f, 0.0f, 0.0f);
|
||||
|
|
@ -368,7 +420,7 @@ static void DestroyLottery(void) {
|
|||
BoardWinKill();
|
||||
KillScratch();
|
||||
KillCoin();
|
||||
HuDataDirClose(0x50000);
|
||||
HuDataDirClose(DATA_MAKE_NUM(DATADIR_BKUJIYA, 0));
|
||||
lotteryProc = NULL;
|
||||
}
|
||||
|
||||
|
|
@ -388,38 +440,38 @@ static void ExecLottery(void) {
|
|||
|
||||
switch (GWBoardGet()) {
|
||||
case 0:
|
||||
lotteryMessBase = 0x60002;
|
||||
lotteryMessBase = MAKE_MESSID(6, 2);
|
||||
break;
|
||||
case 1:
|
||||
lotteryMessBase = 0x6000F;
|
||||
lotteryMessBase = MAKE_MESSID(6, 15);
|
||||
break;
|
||||
case 2:
|
||||
lotteryMessBase = 0x6001C;
|
||||
lotteryMessBase = MAKE_MESSID(6, 28);
|
||||
break;
|
||||
case 3:
|
||||
lotteryMessBase = 0x60029;
|
||||
lotteryMessBase = MAKE_MESSID(6, 41);
|
||||
break;
|
||||
case 4:
|
||||
lotteryMessBase = 0x60036;
|
||||
lotteryMessBase = MAKE_MESSID(6, 54);
|
||||
break;
|
||||
case 5:
|
||||
lotteryMessBase = 0x60043;
|
||||
lotteryMessBase = MAKE_MESSID(6, 67);
|
||||
break;
|
||||
case 6:
|
||||
lotteryMessBase = 0x60002;
|
||||
lotteryMessBase = MAKE_MESSID(6, 2);
|
||||
break;
|
||||
case 7:
|
||||
lotteryMessBase = 0x60052;
|
||||
lotteryMessBase = MAKE_MESSID(6, 82);
|
||||
break;
|
||||
case 8:
|
||||
lotteryMessBase = 0x60052;
|
||||
lotteryMessBase = MAKE_MESSID(6, 82);
|
||||
break;
|
||||
}
|
||||
temp_r29 = BoardDataDirReadAsync(0x50000);
|
||||
temp_r29 = BoardDataDirReadAsync(DATADIR_BKUJIYA);
|
||||
temp_r31 = GWSystem.player_curr;
|
||||
temp_r28 = GWPlayer[temp_r31].space_curr;
|
||||
BoardPlayerIdleSet(temp_r31);
|
||||
BoardWinCreateChoice(0, 0x60000, -1, 0);
|
||||
BoardWinCreateChoice(0, MAKE_MESSID(6, 0), -1, 0);
|
||||
if (GWPlayer[temp_r31].com) {
|
||||
if (BoardPlayerCoinsGet(temp_r31) >= 5) {
|
||||
BoardComKeySetLeft();
|
||||
|
|
@ -435,7 +487,7 @@ static void ExecLottery(void) {
|
|||
HuPrcEnd();
|
||||
}
|
||||
if (BoardPlayerCoinsGet(temp_r31) < 5) {
|
||||
BoardWinCreate(0, 0x60001, -1);
|
||||
BoardWinCreate(0, MAKE_MESSID(6, 1), -1);
|
||||
BoardWinWait();
|
||||
BoardWinKill();
|
||||
if (temp_r29 != -1) {
|
||||
|
|
@ -477,7 +529,7 @@ static void ExecLottery(void) {
|
|||
if (BoardPlayerSizeGet(temp_r31) == 1) {
|
||||
BoardModelVisibilitySet(lotteryMdl[3], 1);
|
||||
}
|
||||
omVibrate(temp_r31, 0xC, 6, 6);
|
||||
omVibrate(temp_r31, 12, 6, 6);
|
||||
HuAudFXPlay(0x331);
|
||||
HuAudFXPlay(0x344);
|
||||
BoardModelMotionStart(lotteryMdl[0], 0, 0);
|
||||
|
|
@ -641,7 +693,7 @@ static void PayEnterFee(s32 arg0) {
|
|||
BoardStatusShowSetForce(temp_r31);
|
||||
BoardStatusShowSet(temp_r31, 1);
|
||||
if (arg0 != 0) {
|
||||
var_r29 = lotteryMessBase + 0xC;
|
||||
var_r29 = lotteryMessBase + 12;
|
||||
} else {
|
||||
var_r29 = lotteryMessBase;
|
||||
}
|
||||
|
|
@ -672,14 +724,14 @@ static void ShowTicket(void) {
|
|||
s32 i;
|
||||
u8 *var_r28;
|
||||
s32 sp14[] = {
|
||||
0x00050015,
|
||||
0x00050016,
|
||||
0x00050017,
|
||||
0x00050018,
|
||||
0x00050019,
|
||||
0x0005001A,
|
||||
0x0005001B,
|
||||
0x0005001C
|
||||
DATA_MAKE_NUM(DATADIR_BKUJIYA, 21),
|
||||
DATA_MAKE_NUM(DATADIR_BKUJIYA, 22),
|
||||
DATA_MAKE_NUM(DATADIR_BKUJIYA, 23),
|
||||
DATA_MAKE_NUM(DATADIR_BKUJIYA, 24),
|
||||
DATA_MAKE_NUM(DATADIR_BKUJIYA, 25),
|
||||
DATA_MAKE_NUM(DATADIR_BKUJIYA, 26),
|
||||
DATA_MAKE_NUM(DATADIR_BKUJIYA, 27),
|
||||
DATA_MAKE_NUM(DATADIR_BKUJIYA, 28)
|
||||
};
|
||||
|
||||
if (GWBoardGet() == 7 || GWBoardGet() == 8) {
|
||||
|
|
@ -688,25 +740,25 @@ static void ShowTicket(void) {
|
|||
sp8 = GWPlayer[GWSystem.player_curr].field00_bitA;
|
||||
var_r28 = (u8*) &sp8;
|
||||
temp_r31 = HuSprGrpCreate(4);
|
||||
BoardSpriteCreate(0x50014, 0x7531, 0, &spA);
|
||||
BoardSpriteCreate(DATA_MAKE_NUM(DATADIR_BKUJIYA, 20), 30001, 0, &spA);
|
||||
HuSprGrpMemberSet(temp_r31, 0, spA);
|
||||
HuSprAttrSet(temp_r31, 0, 9);
|
||||
HuSprPosSet(temp_r31, 0, 288.0f, 240.0f);
|
||||
HuSprTPLvlSet(temp_r31, 0, 0.0f);
|
||||
var_r29 = GWPlayer[(*var_r28 >> 4) & 3].character;
|
||||
BoardSpriteCreate(sp14[var_r29], 0x7530, 0, &spC);
|
||||
BoardSpriteCreate(sp14[var_r29], 30000, 0, &spC);
|
||||
HuSprGrpMemberSet(temp_r31, 1, spC);
|
||||
HuSprAttrSet(temp_r31, 1, 9);
|
||||
HuSprPosSet(temp_r31, 1, 200.0f, 237.0f);
|
||||
HuSprTPLvlSet(temp_r31, 1, 0.0f);
|
||||
var_r29 = GWPlayer[(*var_r28 >> 2) & 3].character;
|
||||
BoardSpriteCreate(sp14[var_r29], 0x7530, 0, &spE);
|
||||
BoardSpriteCreate(sp14[var_r29], 30000, 0, &spE);
|
||||
HuSprGrpMemberSet(temp_r31, 2, spE);
|
||||
HuSprAttrSet(temp_r31, 2, 9);
|
||||
HuSprPosSet(temp_r31, 2, 294.0f, 237.0f);
|
||||
HuSprTPLvlSet(temp_r31, 2, 0.0f);
|
||||
var_r29 = GWPlayer[*var_r28 & 3].character;
|
||||
BoardSpriteCreate(sp14[var_r29], 0x7530, 0, &sp10);
|
||||
BoardSpriteCreate(sp14[var_r29], 30000, 0, &sp10);
|
||||
HuSprGrpMemberSet(temp_r31, 3, sp10);
|
||||
HuSprAttrSet(temp_r31, 3, 9);
|
||||
HuSprPosSet(temp_r31, 3, 388.0f, 237.0f);
|
||||
|
|
@ -752,7 +804,7 @@ static void SetupTicket(s32 arg0) {
|
|||
}
|
||||
}
|
||||
for (var_r28 = 0; var_r28 < 1000; var_r28++) {
|
||||
var_r29 = BoardRandMod(0x40) & 0x3F;
|
||||
var_r29 = BoardRandMod(64) & 0x3F;
|
||||
for (var_r31 = 0; var_r30 != 0 && var_r31 < var_r30; var_r31++) {
|
||||
if (sp8[var_r31] == var_r29) {
|
||||
var_r29 = 0x80;
|
||||
|
|
@ -768,9 +820,12 @@ static void SetupTicket(s32 arg0) {
|
|||
}
|
||||
|
||||
static void LotteryInlineFunc00(s32 arg0, s32 arg1) {
|
||||
s32 sp20[2] = { 0x00050012, 0x00050013 };
|
||||
s16 sp10[2] = { 0x0098, 0x0078 };
|
||||
s16 sp14[2] = { 0x0078, 0x0078 };
|
||||
s32 sp20[2] = {
|
||||
DATA_MAKE_NUM(DATADIR_BKUJIYA, 18),
|
||||
DATA_MAKE_NUM(DATADIR_BKUJIYA, 19)
|
||||
};
|
||||
s16 sp10[2] = { 152, 120 };
|
||||
s16 sp14[2] = { 120, 120 };
|
||||
Vec sp34;
|
||||
float temp_f30;
|
||||
s16 var_r30;
|
||||
|
|
@ -780,7 +835,7 @@ static void LotteryInlineFunc00(s32 arg0, s32 arg1) {
|
|||
sp34.y = -sp10[arg0] / 2;
|
||||
temp_f30 = 4.0f;
|
||||
if (lotterySpr == -1) {
|
||||
lotterySpr = espEntry(sp20[arg0], 0x7531, 0);
|
||||
lotterySpr = espEntry(sp20[arg0], 30001, 0);
|
||||
espAttrSet(lotterySpr, 1);
|
||||
}
|
||||
} else {
|
||||
|
|
@ -820,14 +875,14 @@ static void ExecBallGame(void) {
|
|||
s8 sp9;
|
||||
s8 *temp_r23;
|
||||
s32 sp58[] = {
|
||||
0x005F001D,
|
||||
0x001A001D,
|
||||
0x006D001D,
|
||||
0x008A001D,
|
||||
0x0085001D,
|
||||
0x0011001D,
|
||||
0x000D001D,
|
||||
0x0081001D
|
||||
DATA_MAKE_NUM(DATADIR_MARIOMOT, 29),
|
||||
DATA_MAKE_NUM(DATADIR_LUIGIMOT, 29),
|
||||
DATA_MAKE_NUM(DATADIR_PEACHMOT, 29),
|
||||
DATA_MAKE_NUM(DATADIR_YOSHIMOT, 29),
|
||||
DATA_MAKE_NUM(DATADIR_WARIOMOT, 29),
|
||||
DATA_MAKE_NUM(DATADIR_DONKEYMOT, 29),
|
||||
DATA_MAKE_NUM(DATADIR_DAISYMOT, 29),
|
||||
DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 29),
|
||||
};
|
||||
|
||||
temp_r27 = GWSystem.player_curr;
|
||||
|
|
@ -858,7 +913,7 @@ static void ExecBallGame(void) {
|
|||
var_r20 = 0;
|
||||
spB = spA = sp9 = var_r17 = 0;
|
||||
var_r26 = var_f28 = var_f27 = var_f25 = var_f23 = var_r21 = 0;
|
||||
HuPrcSleep(0x18);
|
||||
HuPrcSleep(24);
|
||||
var_r24 = var_r22 = 0;
|
||||
while (1) {
|
||||
HuPrcVSleep();
|
||||
|
|
@ -1033,32 +1088,32 @@ static void ExecBallPrize(void) {
|
|||
}
|
||||
|
||||
static const s32 pickSpr[] = {
|
||||
0x0007001E,
|
||||
0x0007001F,
|
||||
0x00070020,
|
||||
0x00070021,
|
||||
0x00070022,
|
||||
0x00070023,
|
||||
0x00070024,
|
||||
0x00070025
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 30),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 31),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 32),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 33),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 34),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 35),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 36),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 37)
|
||||
};
|
||||
|
||||
static const s32 handMdl[] = {
|
||||
0x00050009,
|
||||
0x0005000A,
|
||||
0x0005000B,
|
||||
0x0005000C,
|
||||
0x0005000D,
|
||||
0x0005000E,
|
||||
0x0005000F,
|
||||
0x00050010
|
||||
DATA_MAKE_NUM(DATADIR_BKUJIYA, 9),
|
||||
DATA_MAKE_NUM(DATADIR_BKUJIYA, 10),
|
||||
DATA_MAKE_NUM(DATADIR_BKUJIYA, 11),
|
||||
DATA_MAKE_NUM(DATADIR_BKUJIYA, 12),
|
||||
DATA_MAKE_NUM(DATADIR_BKUJIYA, 13),
|
||||
DATA_MAKE_NUM(DATADIR_BKUJIYA, 14),
|
||||
DATA_MAKE_NUM(DATADIR_BKUJIYA, 15),
|
||||
DATA_MAKE_NUM(DATADIR_BKUJIYA, 16)
|
||||
};
|
||||
|
||||
static const s32 ticketSpr[] = {
|
||||
0x0005001D,
|
||||
0x0005001E,
|
||||
0x0005001F,
|
||||
0x00050020
|
||||
DATA_MAKE_NUM(DATADIR_BKUJIYA, 29),
|
||||
DATA_MAKE_NUM(DATADIR_BKUJIYA, 30),
|
||||
DATA_MAKE_NUM(DATADIR_BKUJIYA, 31),
|
||||
DATA_MAKE_NUM(DATADIR_BKUJIYA, 32)
|
||||
};
|
||||
|
||||
static omObjData *ticketObj[12] = { NULL };
|
||||
|
|
@ -1077,14 +1132,14 @@ static s32 loseSoundTbl[] = {
|
|||
};
|
||||
|
||||
static s32 loseMotTbl[] = {
|
||||
0x005F0033,
|
||||
0x001A0033,
|
||||
0x006D0033,
|
||||
0x008A0033,
|
||||
0x00850033,
|
||||
0x00110033,
|
||||
0x000D0033,
|
||||
0x00810033
|
||||
DATA_MAKE_NUM(DATADIR_MARIOMOT, 51),
|
||||
DATA_MAKE_NUM(DATADIR_LUIGIMOT, 51),
|
||||
DATA_MAKE_NUM(DATADIR_PEACHMOT, 51),
|
||||
DATA_MAKE_NUM(DATADIR_YOSHIMOT, 51),
|
||||
DATA_MAKE_NUM(DATADIR_WARIOMOT, 51),
|
||||
DATA_MAKE_NUM(DATADIR_DONKEYMOT, 51),
|
||||
DATA_MAKE_NUM(DATADIR_DAISYMOT, 51),
|
||||
DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 51)
|
||||
};
|
||||
|
||||
static void ExecScratchTicket(s32 arg0) {
|
||||
|
|
@ -1172,7 +1227,7 @@ static void ExecScratch(void) {
|
|||
s32 temp_r31;
|
||||
|
||||
currPrize = -1;
|
||||
BoardFilterFadeInit(0x1E, 0xA0);
|
||||
BoardFilterFadeInit(30, 0xA0);
|
||||
InitTicketPrizes();
|
||||
InitScratchSpr();
|
||||
temp_curr = GWSystem.player_curr;
|
||||
|
|
@ -1281,7 +1336,7 @@ static void InitScratchSpr(void) {
|
|||
BoardPlayerRotGet(temp_curr, &sp18);
|
||||
memset(ticketObj, 0, sizeof(ticketObj));
|
||||
BoardCameraRotGet(&spC);
|
||||
temp_r28 = HuSprGrpCreate(0x18);
|
||||
temp_r28 = HuSprGrpCreate(24);
|
||||
ticketSprGrp = temp_r28;
|
||||
for (i = 0; i < 12; i++) {
|
||||
temp_r31 = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, ExecScratchSpr);
|
||||
|
|
@ -1295,12 +1350,12 @@ static void InitScratchSpr(void) {
|
|||
temp_r31->trans.y = 98.0f + 110.0f * (i / 4);
|
||||
temp_r31->rot.x = -56.0f;
|
||||
temp_r31->rot.y = temp_r31->trans.y;
|
||||
BoardSpriteCreate(ticketSpr[ticketPrize[i]], 0x157C, NULL, &sp8);
|
||||
BoardSpriteCreate(ticketSpr[ticketPrize[i]], 5500, NULL, &sp8);
|
||||
HuSprGrpMemberSet(temp_r28, i, sp8);
|
||||
HuSprPosSet(temp_r28, i, temp_r31->rot.x, temp_r31->rot.y);
|
||||
HuSprAttrSet(temp_r28, i, 8);
|
||||
temp_r29->unk02 = sp8;
|
||||
BoardSpriteCreate(0x50021, 0x1388, &temp_r29->unk08, &sp8);
|
||||
BoardSpriteCreate(DATA_MAKE_NUM(DATADIR_BKUJIYA, 33), 5000, &temp_r29->unk08, &sp8);
|
||||
HuSprGrpMemberSet(temp_r28, i + 12, sp8);
|
||||
HuSprPosSet(temp_r28, i + 12, temp_r31->rot.x, temp_r31->rot.y);
|
||||
HuSprAttrSet(temp_r28, i + 12, 8);
|
||||
|
|
@ -1417,7 +1472,7 @@ static void InitScratchPick(void) {
|
|||
var_r31->unk00_field0 = 0;
|
||||
var_r31->unk01 = GWPlayer[GWSystem.player_curr].character;
|
||||
var_r31->unk08 = HuSprGrpCreate(1);
|
||||
BoardSpriteCreate(pickSpr[var_r31->unk01], 0x1388, 0, &var_r31->unk06);
|
||||
BoardSpriteCreate(pickSpr[var_r31->unk01], 5000, 0, &var_r31->unk06);
|
||||
HuSprGrpMemberSet(var_r31->unk08, 0, var_r31->unk06);
|
||||
HuSprAttrSet(var_r31->unk08, 0, 8);
|
||||
HuSprPosSet(var_r31->unk08, 0, temp_f31, temp_f30);
|
||||
|
|
@ -1457,7 +1512,7 @@ static void ExecTicketFocus(s32 arg0) {
|
|||
}
|
||||
temp_r29 = OM_GET_WORK_PTR(ticketObj[arg0], TicketWork);
|
||||
for (var_f31 = 0.0f; var_f31 < 90.0f; var_f31 += 2.0f) {
|
||||
temp_f30 = 1.0 + 1.2999999523162842 * sin(var_f31 * M_PI / 180.0);
|
||||
temp_f30 = 1.0 + 1.3f * sin(var_f31 * M_PI / 180.0);
|
||||
HuSprScaleSet(ticketSprGrp, temp_r29->unk00_field2, temp_f30, temp_f30);
|
||||
HuSprScaleSet(ticketSprGrp, temp_r29->unk00_field2 + 12, temp_f30, temp_f30);
|
||||
HuPrcVSleep();
|
||||
|
|
@ -1630,10 +1685,10 @@ static void ExecCoinPrize(void) {
|
|||
BoardPlayerPosGet(temp_r27, &sp8);
|
||||
var_f31 = 150.0f + sp8.y;
|
||||
if (BoardPlayerSizeGet(temp_r27) == 1) {
|
||||
var_f31 = 110.0f + (52.5308f + (0.3f * var_f31));
|
||||
var_f31 = 52.5308f + 0.3f * var_f31 + 110.0f;
|
||||
}
|
||||
for (i = 0; i < 10; i++) {
|
||||
coinMdl[i] = BoardModelCreate(0x7000A, NULL, 0);
|
||||
coinMdl[i] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 10), NULL, 0);
|
||||
BoardModelVisibilitySet(coinMdl[i], 0);
|
||||
}
|
||||
while (1) {
|
||||
|
|
@ -1672,7 +1727,7 @@ static void ExecCoinPrize(void) {
|
|||
coinF[i] = 0;
|
||||
BoardPlayerCoinsAdd(temp_r27, 1);
|
||||
HuAudFXPlay(7);
|
||||
omVibrate(temp_r27, 0xC, 6, 6);
|
||||
omVibrate(temp_r27, 12, 6, 6);
|
||||
} else {
|
||||
BoardModelPosSetV(coinMdl[i], &sp64[i]);
|
||||
BoardModelRotSet(coinMdl[i], 0.0f, sp3C[i], 0.0f);
|
||||
|
|
@ -1697,12 +1752,10 @@ static void ExecItemPrize(void) {
|
|||
s16 *var_r31;
|
||||
s16 i;
|
||||
s32 spC[2] = {
|
||||
0x0007006F,
|
||||
0x00070070
|
||||
};
|
||||
s8 sp8[2] = {
|
||||
0x02, 0x03
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 111),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 112)
|
||||
};
|
||||
s8 sp8[2] = { 2, 3 };
|
||||
|
||||
temp_r29 = GWSystem.player_curr;
|
||||
var_r28 = (BoardRandFloat() < 0.5f) ? 1 : 0;
|
||||
|
|
@ -1752,7 +1805,7 @@ static void ExecItemPrize(void) {
|
|||
BoardModelKill(*var_r31);
|
||||
*var_r31 = -1;
|
||||
BoardPlayerItemAdd(GWSystem.player_curr, sp8[var_r28]);
|
||||
omVibrate(GWSystem.player_curr, 0xC, 6, 6);
|
||||
omVibrate(GWSystem.player_curr, 12, 6, 6);
|
||||
}
|
||||
|
||||
static void KillCoin(void) {
|
||||
|
|
@ -1783,7 +1836,7 @@ static void ExecPrize(void) {
|
|||
sp14.x = 0.0f;
|
||||
sp14.y = 200.0f;
|
||||
sp14.z = 0.0f;
|
||||
BoardCameraMotionStartEx(lotteryMdl[0], 0, &sp14, 1300.0f, -1.0f, 0x15);
|
||||
BoardCameraMotionStartEx(lotteryMdl[0], 0, &sp14, 1300.0f, -1.0f, 21);
|
||||
temp_r30 = GWSystem.player_curr;
|
||||
BoardStatusShowSetForce(temp_r30);
|
||||
BoardStatusShowSet(temp_r30, 1);
|
||||
|
|
@ -1803,18 +1856,18 @@ static void ExecPrize(void) {
|
|||
case 0:
|
||||
var_r28 = lotteryMessBase + 2;
|
||||
var_r29 = 7;
|
||||
var_r26 = 0x64;
|
||||
var_r26 = 100;
|
||||
break;
|
||||
case 1:
|
||||
var_r28 = lotteryMessBase + 4;
|
||||
var_r29 = 7;
|
||||
var_r26 = 0x50;
|
||||
var_r26 = 80;
|
||||
break;
|
||||
case 2:
|
||||
var_r28 = lotteryMessBase + 5;
|
||||
if (var_r24 < 3) {
|
||||
var_r29 = 7;
|
||||
var_r26 = 0x50;
|
||||
var_r26 = 80;
|
||||
} else {
|
||||
var_r29 = 8;
|
||||
}
|
||||
|
|
@ -1933,14 +1986,14 @@ static void CreateLotteryWin(s32 arg0) {
|
|||
|
||||
temp_f30 = -10000.0f;
|
||||
if (arg0 == 0) {
|
||||
var_r31 = 0x60050;
|
||||
var_r31 = MAKE_MESSID(6, 80);
|
||||
var_f31 = 352.0f;
|
||||
} else if (arg0 == 1) {
|
||||
var_f31 = 352.0f;
|
||||
var_r31 = 0x60051;
|
||||
var_r31 = MAKE_MESSID(6, 81);
|
||||
} else {
|
||||
var_f31 = 364.0f;
|
||||
var_r31 = 0x200016;
|
||||
var_r31 = MAKE_MESSID(32, 22);
|
||||
}
|
||||
HuWinMesMaxSizeGet(1, sp8, var_r31);
|
||||
lotteryInstWin = HuWinCreate(temp_f30, var_f31, sp8[0], sp8[1], 0);
|
||||
|
|
@ -1967,7 +2020,7 @@ void BoardLotteryTutorialExec(void) {
|
|||
s16 temp_r31;
|
||||
s32 temp_r30;
|
||||
|
||||
temp_r30 = BoardDataDirReadAsync(0x50000);
|
||||
temp_r30 = BoardDataDirReadAsync(DATADIR_BKUJIYA);
|
||||
temp_r31 = BoardSpaceFlagSearch(0, 0x10000000);
|
||||
if (temp_r30 != -1) {
|
||||
BoardDataAsyncWait(temp_r30);
|
||||
|
|
|
|||
|
|
@ -1537,7 +1537,7 @@ void HuWinMesMaxSizeGet(s16 mess_num, float *size, ...) {
|
|||
va_end(list);
|
||||
}
|
||||
|
||||
void HuWinInsertMesSizeGet(s32 mess, s16 index) {
|
||||
void HuWinInsertMesSizeGet(u32 mess, s16 index) {
|
||||
winInsertF = 1;
|
||||
winMaxWidth = winMaxHeight = 0;
|
||||
GetMesMaxSizeSub(mess);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue