mirror of
https://github.com/pret/pokestadium.git
synced 2026-03-21 17:24:20 -05:00
Merge pull request #201 from Kelebek1/fragment62
Some checks failed
C/C++ CI / build (push) Has been cancelled
Some checks failed
C/C++ CI / build (push) Has been cancelled
Fragment62
This commit is contained in:
commit
d218ac9361
6
Makefile
6
Makefile
|
|
@ -60,6 +60,8 @@ N64_EMULATOR ?=
|
|||
MIPS_BINUTILS_PREFIX ?= mips-linux-gnu-
|
||||
PRINT = printf
|
||||
|
||||
PREPROCESS :=
|
||||
|
||||
# Whether to hide commands or not
|
||||
VERBOSE ?= 0
|
||||
ifeq ($(VERBOSE),0)
|
||||
|
|
@ -296,6 +298,8 @@ DECOMP_POKESTADIUM_FILTERED := $(patsubst %.c,%.o,$(addprefix build/,$(shell fin
|
|||
# only run asm processor on files that need it.
|
||||
$(DECOMP_POKESTADIUM_FILTERED): CC := $(ASM_PROC) $(ASM_PROC_FLAGS) $(CC) -- $(AS) $(ASFLAGS) --
|
||||
|
||||
$(BUILD_DIR)/src/%.o: PREPROCESS := ./tools/preprocess.sh -i $(ICONV) --
|
||||
|
||||
###################### Ugly hacksz #############################
|
||||
|
||||
# This is unsanitary to do, -but-, because this file is encrypted we cant have splat decrypt it
|
||||
|
|
@ -421,7 +425,7 @@ $(BUILD_DIR)/%.o: %.s
|
|||
$(BUILD_DIR)/%.o: %.c
|
||||
$(call print,Compiling:,$<,$@)
|
||||
$(V)$(CC_CHECK) $(CC_CHECK_FLAGS) $(IINC) -I $(dir $*) $(CHECK_WARNINGS) $(BUILD_DEFINES) $(COMMON_DEFINES) $(RELEASE_DEFINES) $(GBI_DEFINES) $(LIBULTRA_DEFINES) $(C_DEFINES) $(MIPS_BUILTIN_DEFS) -o $@ $<
|
||||
$(V)$(CC) -c $(CFLAGS) $(BUILD_DEFINES) $(IINC) $(WARNINGS) $(MIPS_VERSION) $(ENDIAN) $(COMMON_DEFINES) $(RELEASE_DEFINES) $(GBI_DEFINES) $(LIBULTRA_DEFINES) $(C_DEFINES) $(OPTFLAGS) -o $@ $<
|
||||
$(V)$(PREPROCESS) $(CC) -c $(CFLAGS) $(BUILD_DEFINES) $(IINC) $(WARNINGS) $(MIPS_VERSION) $(ENDIAN) $(COMMON_DEFINES) $(RELEASE_DEFINES) $(GBI_DEFINES) $(LIBULTRA_DEFINES) $(C_DEFINES) $(OPTFLAGS) -o $@ $<
|
||||
$(V)$(OBJDUMP_CMD)
|
||||
$(V)$(RM_MDEBUG)
|
||||
|
||||
|
|
|
|||
|
|
@ -147,17 +147,17 @@ typedef struct unk_D_86002F58_004_000 {
|
|||
/* 0x054 */ unk_D_86002F58_004_000_054 unk_054;
|
||||
/* 0x060 */ MtxF unk_060;
|
||||
/* 0x0A0 */ Color_RGBA8_u32 unk_0A0;
|
||||
/* 0x0A4 */ char pad0A4[2];
|
||||
/* 0x0A4 */ char unk0A4[2];
|
||||
/* 0x0A6 */ u8 unk_0A6;
|
||||
/* 0x0A7 */ u8 unk_0A7;
|
||||
/* 0x0A8 */ unk_D_86002F58_004_000_0A8 unk_0A8[1];
|
||||
/* 0x0B8 */ char pad0B8[0x24];
|
||||
/* 0x0B8 */ char unk0B8[0x24];
|
||||
/* 0x0DC */ Vec3f unk_0DC;
|
||||
/* 0x0E0 */ char pad0E0[0x4];
|
||||
/* 0x0E0 */ char unk0E0[0x4];
|
||||
/* 0x0EC */ Vec3f unk_0EC;
|
||||
/* 0x0F8 */ char pad0F8[0x4];
|
||||
/* 0x0F8 */ char unk0F8[0x4];
|
||||
/* 0x0FC */ Vec3f unk_0FC;
|
||||
/* 0x108 */ char pad108[0x60];
|
||||
/* 0x108 */ char unk108[0x60];
|
||||
} unk_D_86002F58_004_000; // size = 0x168
|
||||
|
||||
typedef struct unk_D_86002F34_000_014_004 {
|
||||
|
|
@ -533,6 +533,8 @@ typedef struct TrainerData {
|
|||
/* 0x03A */ char unk3A[0x1F6];
|
||||
} TrainerData; // size = 0x230
|
||||
|
||||
extern s16 D_80075E40[];
|
||||
|
||||
#include "variables.h"
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -1,35 +0,0 @@
|
|||
#ifndef MATH_H
|
||||
#define MATH_H
|
||||
|
||||
#include "PR/ultratypes.h"
|
||||
|
||||
#define M_PI 3.14159265358979323846f
|
||||
#define M_SQRT2 1.41421356237309504880f
|
||||
#define M_SQRT1_2 0.70710678118654752440f /* 1/sqrt(2) */
|
||||
#define FLT_MAX 340282346638528859811704183484516925440.0f
|
||||
#define SHT_MAX 32767.0f
|
||||
#define SHT_MINV (1.0f / SHT_MAX)
|
||||
|
||||
typedef union {
|
||||
f64 d;
|
||||
struct {
|
||||
u32 hi;
|
||||
u32 lo;
|
||||
} word;
|
||||
} du;
|
||||
|
||||
typedef union {
|
||||
u32 i;
|
||||
f32 f;
|
||||
} fu;
|
||||
|
||||
extern f32 __libm_qnan_f;
|
||||
|
||||
float fabsf(float f);
|
||||
#pragma intrinsic(fabsf)
|
||||
float sqrtf(float f);
|
||||
#pragma intrinsic(sqrtf)
|
||||
double sqrt(double d);
|
||||
#pragma intrinsic(sqrt)
|
||||
|
||||
#endif
|
||||
|
|
@ -3,12 +3,17 @@
|
|||
|
||||
#include "PR/ultratypes.h"
|
||||
|
||||
#define M_PI_F 3.14159265358979323846f
|
||||
#define M_SQRT2 1.41421356237309504880f
|
||||
#define M_SQRT1_2 0.70710678118654752440f /* 1/sqrt(2) */
|
||||
#define FLT_MAX 340282346638528859811704183484516925440.0f
|
||||
#define SHT_MAX 32767.0f
|
||||
#define SHT_MINV (1.0f / SHT_MAX)
|
||||
|
||||
#define TWO_THIRDS_PI 2.094395160675049
|
||||
#define TWO_PI 6.2831854820251469
|
||||
#define TWO_PI_F 6.283185482f
|
||||
|
||||
extern long long __d_to_ll(double d);
|
||||
extern long long __f_to_ll(float f);
|
||||
extern unsigned long long __d_to_ull(double d);
|
||||
|
|
@ -18,6 +23,10 @@ extern float __ll_to_f(long long s);
|
|||
extern double __ull_to_d(unsigned long long u);
|
||||
extern float __ull_to_f(unsigned long long u);
|
||||
|
||||
float fabsf(float f);
|
||||
float sqrtf(float f);
|
||||
double sqrt(double d);
|
||||
|
||||
#define SINS(x) gSineTable[(u16) (x) >> 4]
|
||||
#define COSS(x) gCosineTable[(u16) (x) >> 4]
|
||||
|
||||
|
|
|
|||
|
|
@ -542,6 +542,8 @@ extern u8 _70D3A0_ROM_START[];
|
|||
extern u8 _70D3A0_ROM_END[];
|
||||
extern u8 D_70110[];
|
||||
extern u8 D_70290[];
|
||||
extern u8 D_6E910[];
|
||||
extern u8 D_71E10[];
|
||||
extern u8 D_70B10[];
|
||||
extern u8 _6EB340_ROM_START[];
|
||||
extern u8 _6EB340_ROM_END[];
|
||||
|
|
@ -558,7 +560,8 @@ extern u8 trade_select_ui_ROM_END[];
|
|||
extern u8 _798CD0_TEXT_START[];
|
||||
extern u8 _798CD0_ROM_START[];
|
||||
extern u8 _798CD0_ROM_END[];
|
||||
|
||||
extern u8 _7820E0_ROM_START[];
|
||||
extern u8 _7820E0_ROM_END[];
|
||||
|
||||
|
||||
extern u8 D_124570[];
|
||||
|
|
|
|||
|
|
@ -758,6 +758,71 @@ extern u8 D_8C200090[];
|
|||
extern u8 D_8C200920[];
|
||||
extern u8 D_8C201070[];
|
||||
extern u8 D_8C2011C4[];
|
||||
extern u8 D_3008380[];
|
||||
extern u8 D_3008400[];
|
||||
extern u8 D_3008480[];
|
||||
extern u8 D_3008500[];
|
||||
extern u8 D_3008580[];
|
||||
extern u8 D_3008600[];
|
||||
extern u8 D_3008680[];
|
||||
extern u8 D_3008700[];
|
||||
extern u8 D_3000470[];
|
||||
extern u8 D_3001F70[];
|
||||
extern u8 D_30092C0[];
|
||||
extern u8 D_3009560[];
|
||||
extern u8 D_3008280[];
|
||||
extern u8 D_3006170[];
|
||||
extern u8 D_30061D0[];
|
||||
extern u8 D_3006230[];
|
||||
extern u8 D_1003DB0[];
|
||||
extern u8 D_1003E50[];
|
||||
extern u8 D_1003EA0[];
|
||||
extern u8 D_1003EC8[];
|
||||
extern u8 D_1003EF0[];
|
||||
extern u8 D_300B870[];
|
||||
extern u8 D_3008C00[];
|
||||
extern u8 D_3008D80[];
|
||||
extern u8 D_3008E40[];
|
||||
extern u8 D_3008FC0[];
|
||||
extern u8 D_3009080[];
|
||||
extern u8 D_3009200[];
|
||||
extern u8 D_3008780[];
|
||||
extern u8 D_3008900[];
|
||||
extern u8 D_30089C0[];
|
||||
extern u8 D_3008B40[];
|
||||
extern u8 D_3006290[];
|
||||
extern u8 D_3006450[];
|
||||
extern u8 D_3006530[];
|
||||
extern u8 D_30066F0[];
|
||||
extern u8 D_30067D0[];
|
||||
extern u8 D_3006990[];
|
||||
extern u8 D_3006A70[];
|
||||
extern u8 D_3006C30[];
|
||||
extern u8 D_300B630[];
|
||||
extern u8 D_300A1F0[];
|
||||
extern u8 D_30096B0[];
|
||||
extern u8 D_300AAF0[];
|
||||
extern u8 D_300A8B0[];
|
||||
extern u8 D_300B3F0[];
|
||||
extern u8 D_3009FB0[];
|
||||
extern u8 D_30098F0[];
|
||||
extern u8 D_300A430[];
|
||||
extern u8 D_300B1B0[];
|
||||
extern u8 D_300AF70[];
|
||||
extern u8 D_300A670[];
|
||||
extern u8 D_3009D70[];
|
||||
extern u8 D_300AD30[];
|
||||
extern u8 D_3009B30[];
|
||||
extern u8 D_3006D10[];
|
||||
extern u8 D_3007010[];
|
||||
extern u8 D_3007310[];
|
||||
extern u8 D_3007610[];
|
||||
extern u8 D_3007A78[];
|
||||
extern u8 D_3007EB0[];
|
||||
extern u8 D_3007910[];
|
||||
extern u8 D_3008018[];
|
||||
extern u8 D_3007BE0[];
|
||||
extern u8 D_3007D48[];
|
||||
|
||||
extern LEODiskID D_800818E0;
|
||||
|
||||
|
|
@ -872,10 +937,11 @@ typedef struct unk_D_70B10 {
|
|||
extern u32 D_8C000000; // start of some rom area
|
||||
|
||||
typedef struct unk_D_80072B00 {
|
||||
/* 0x00 */ char unk00[2];
|
||||
/* 0x00 */ u8 unk_00;
|
||||
/* 0x01 */ u8 unk_01;
|
||||
/* 0x02 */ u8 unk_02;
|
||||
/* 0x03 */ u8 unk_03;
|
||||
/* 0x04 */ char unk04[1];
|
||||
/* 0x04 */ u8 unk_04;
|
||||
/* 0x05 */ u8 unk_05;
|
||||
} unk_D_80072B00; // size = 0x6
|
||||
extern unk_D_80072B00 D_80072B00[];
|
||||
|
|
@ -883,10 +949,22 @@ extern unk_D_80072B00 D_80072B00[];
|
|||
typedef struct unk_D_80072338 {
|
||||
/* 0x00 */ char unk00[0x1];
|
||||
/* 0x01 */ u8 unk_01;
|
||||
/* 0x02 */ char unk02[0xA];
|
||||
/* 0x02 */ char unk02[0x2];
|
||||
/* 0x04 */ s32 unk_04;
|
||||
/* 0x08 */ char unk08[0x4];
|
||||
} unk_D_80072338; // size = 0xC
|
||||
extern unk_D_80072338 D_80072338[];
|
||||
|
||||
extern char D_8006FEE8[][0x1C];
|
||||
|
||||
typedef struct unk_rom_70D3A0_offset_72780 {
|
||||
/* 0x00 */ char unk00[0x20];
|
||||
} unk_rom_70D3A0_offset_72780;
|
||||
extern unk_rom_70D3A0_offset_72780 D_72780[];
|
||||
|
||||
typedef struct unk_rom_70D3A0_offset_73A60 {
|
||||
/* 0x00 */ char unk00[0x20];
|
||||
} unk_rom_70D3A0_offset_73A60;
|
||||
extern unk_rom_70D3A0_offset_73A60 D_73A60[];
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -316,7 +316,6 @@ pad_D_879060B4 = 0x879060B4; // size:0x8
|
|||
D_879060E0 = 0x879060E0; // size:0xC
|
||||
D_87906100 = 0x87906100; // size:0xC
|
||||
D_87906110 = 0x87906110; // size:0xC
|
||||
D_8140E628 = 0x8140E628; // size:0x90
|
||||
D_400C800 = 0x400C800;
|
||||
D_400CA00 = 0x400CA00;
|
||||
D_400CC00 = 0x400CC00;
|
||||
|
|
@ -1018,3 +1017,399 @@ D_8C200920 = 0x8C200920;
|
|||
D_8C201070 = 0x8C201070;
|
||||
D_8C2011C4 = 0x8C2011C4;
|
||||
D_80070F84 = 0x80070F84;
|
||||
D_84385388 = 0x84385388; // size:0x3C8
|
||||
D_84390068 = 0x84390068; // size:0x38
|
||||
D_84390010 = 0x84390010; // size:0x8
|
||||
D_84390028 = 0x84390028; // size:0x20
|
||||
D_843901F0 = 0x843901F0; // size:0xC
|
||||
D_84390048 = 0x84390048; // size:0x20
|
||||
D_3008380 = 0x3008380;
|
||||
D_3008400 = 0x3008400;
|
||||
D_3008480 = 0x3008480;
|
||||
D_3008500 = 0x3008500;
|
||||
D_3008580 = 0x3008580;
|
||||
D_3008600 = 0x3008600;
|
||||
D_3008680 = 0x3008680;
|
||||
D_3008700 = 0x3008700;
|
||||
D_3000470 = 0x3000470;
|
||||
D_3001F70 = 0x3001F70;
|
||||
D_30092C0 = 0x30092C0;
|
||||
D_3009560 = 0x3009560;
|
||||
D_3008280 = 0x3008280;
|
||||
D_3006170 = 0x3006170;
|
||||
D_30061D0 = 0x30061D0;
|
||||
D_3006230 = 0x3006230;
|
||||
D_300B870 = 0x300B870;
|
||||
D_3008C00 = 0x3008C00;
|
||||
D_3008D80 = 0x3008D80;
|
||||
D_3008E40 = 0x3008E40;
|
||||
D_3008FC0 = 0x3008FC0;
|
||||
D_3009080 = 0x3009080;
|
||||
D_3009200 = 0x3009200;
|
||||
D_3008780 = 0x3008780;
|
||||
D_3008900 = 0x3008900;
|
||||
D_30089C0 = 0x30089C0;
|
||||
D_3008B40 = 0x3008B40;
|
||||
D_3006290 = 0x3006290;
|
||||
D_3006450 = 0x3006450;
|
||||
D_3006530 = 0x3006530;
|
||||
D_30066F0 = 0x30066F0;
|
||||
D_30067D0 = 0x30067D0;
|
||||
D_3006990 = 0x3006990;
|
||||
D_3006A70 = 0x3006A70;
|
||||
D_3006C30 = 0x3006C30;
|
||||
D_300B630 = 0x300B630;
|
||||
D_300A1F0 = 0x300A1F0;
|
||||
D_30096B0 = 0x30096B0;
|
||||
D_300AAF0 = 0x300AAF0;
|
||||
D_300A8B0 = 0x300A8B0;
|
||||
D_300B3F0 = 0x300B3F0;
|
||||
D_3009FB0 = 0x3009FB0;
|
||||
D_30098F0 = 0x30098F0;
|
||||
D_300A430 = 0x300A430;
|
||||
D_300B1B0 = 0x300B1B0;
|
||||
D_300AF70 = 0x300AF70;
|
||||
D_300A670 = 0x300A670;
|
||||
D_3009D70 = 0x3009D70;
|
||||
D_300AD30 = 0x300AD30;
|
||||
D_3009B30 = 0x3009B30;
|
||||
D_3006D10 = 0x3006D10;
|
||||
D_3007010 = 0x3007010;
|
||||
D_3007310 = 0x3007310;
|
||||
D_3007610 = 0x3007610;
|
||||
D_843901B0 = 0x843901B0; // size:0x40
|
||||
D_84385B54 = 0x84385B54; // type:asciz
|
||||
D_8438682C = 0x8438682C; // type:u8
|
||||
D_84386844 = 0x84386844; // type:u8
|
||||
D_84386848 = 0x84386848; // type:u8
|
||||
D_8438684C = 0x8438684C; // type:u8
|
||||
D_84386850 = 0x84386850; // type:u8
|
||||
D_84386854 = 0x84386854; // type:u8
|
||||
D_84386858 = 0x84386858; // type:u8
|
||||
D_8438685C = 0x8438685C; // type:u8
|
||||
D_84386860 = 0x84386860; // type:u8
|
||||
D_84386868 = 0x84386868; // type:u8
|
||||
D_8438686C = 0x8438686C; // type:u8
|
||||
D_84386870 = 0x84386870; // type:u8
|
||||
D_84386874 = 0x84386874; // type:u8
|
||||
D_84386878 = 0x84386878; // type:u8
|
||||
D_8438687C = 0x8438687C; // type:u8
|
||||
D_84386880 = 0x84386880; // type:u8
|
||||
D_84386884 = 0x84386884; // type:u8
|
||||
D_8438688C = 0x8438688C; // type:u8
|
||||
D_84386894 = 0x84386894; // type:u8
|
||||
D_84386898 = 0x84386898; // type:u8
|
||||
D_8438689C = 0x8438689C; // type:u8
|
||||
D_843868A0 = 0x843868A0; // type:u8
|
||||
D_843868A4 = 0x843868A4; // type:u8
|
||||
D_843868A8 = 0x843868A8; // type:u8
|
||||
D_843868AC = 0x843868AC; // type:u8
|
||||
D_843868B0 = 0x843868B0; // type:u8
|
||||
D_843868B4 = 0x843868B4; // type:u8
|
||||
D_843868B8 = 0x843868B8; // type:u8
|
||||
D_843868BC = 0x843868BC; // type:u8
|
||||
D_843868C0 = 0x843868C0; // type:u8
|
||||
D_843868C8 = 0x843868C8; // type:u8
|
||||
D_843868CC = 0x843868CC; // type:u8
|
||||
D_843868D0 = 0x843868D0; // type:u8
|
||||
D_843868D4 = 0x843868D4; // type:u8
|
||||
D_843868D8 = 0x843868D8; // type:u8
|
||||
D_843868DC = 0x843868DC; // type:u8
|
||||
D_843868E0 = 0x843868E0; // type:u8
|
||||
D_843868E4 = 0x843868E4; // type:u8
|
||||
D_843868E8 = 0x843868E8; // type:u8
|
||||
D_843868EC = 0x843868EC; // type:u8
|
||||
D_843868F4 = 0x843868F4; // type:u8
|
||||
D_843868F8 = 0x843868F8; // type:u8
|
||||
D_843868FC = 0x843868FC; // type:u8
|
||||
D_84386900 = 0x84386900; // type:u8
|
||||
D_84386904 = 0x84386904; // type:u8
|
||||
D_84386908 = 0x84386908; // type:u8
|
||||
D_8438690C = 0x8438690C; // type:u8
|
||||
D_84386910 = 0x84386910; // type:u8
|
||||
D_84386914 = 0x84386914; // type:u8
|
||||
D_84386918 = 0x84386918; // type:u8
|
||||
D_84386920 = 0x84386920; // type:u8
|
||||
D_84386924 = 0x84386924; // type:u8
|
||||
D_84386928 = 0x84386928; // type:u8
|
||||
D_8438692C = 0x8438692C; // type:u8
|
||||
D_84386930 = 0x84386930; // type:u8
|
||||
D_84386934 = 0x84386934; // type:u8
|
||||
D_84386938 = 0x84386938; // type:u8
|
||||
D_8438693C = 0x8438693C; // type:u8
|
||||
D_84386940 = 0x84386940; // type:u8
|
||||
D_84386944 = 0x84386944; // type:u8
|
||||
D_84386948 = 0x84386948; // type:u8
|
||||
D_8438694C = 0x8438694C; // type:u8
|
||||
D_84386950 = 0x84386950; // type:u8
|
||||
D_84386954 = 0x84386954; // type:u8
|
||||
D_84386958 = 0x84386958; // type:u8
|
||||
D_8438695C = 0x8438695C; // type:u8
|
||||
D_84386960 = 0x84386960; // type:u8
|
||||
D_84386964 = 0x84386964; // type:u8
|
||||
D_84386968 = 0x84386968; // type:u8
|
||||
D_84386970 = 0x84386970; // type:u8
|
||||
D_84386974 = 0x84386974; // type:u8
|
||||
D_84386978 = 0x84386978; // type:u8
|
||||
D_8438697C = 0x8438697C; // type:u8
|
||||
D_84386980 = 0x84386980; // type:u8
|
||||
D_84386988 = 0x84386988; // type:u8
|
||||
D_8438698C = 0x8438698C; // type:u8
|
||||
D_84386990 = 0x84386990; // type:u8
|
||||
D_84386994 = 0x84386994; // type:u8
|
||||
D_8438699C = 0x8438699C; // type:u8
|
||||
D_843869A0 = 0x843869A0; // type:u8
|
||||
D_843869A8 = 0x843869A8; // type:u8
|
||||
D_843869AC = 0x843869AC; // type:u8
|
||||
D_843869B0 = 0x843869B0; // type:u8
|
||||
D_843869B4 = 0x843869B4; // type:u8
|
||||
D_843869B8 = 0x843869B8; // type:u8
|
||||
D_843869BC = 0x843869BC; // type:u8
|
||||
D_843869C0 = 0x843869C0; // type:u8
|
||||
D_843869C4 = 0x843869C4; // type:u8
|
||||
D_843869C8 = 0x843869C8; // type:u8
|
||||
D_843869D0 = 0x843869D0; // type:u8
|
||||
D_843869D4 = 0x843869D4; // type:u8
|
||||
D_843869D8 = 0x843869D8; // type:u8
|
||||
D_843869DC = 0x843869DC; // type:u8
|
||||
D_843869E0 = 0x843869E0; // type:u8
|
||||
D_843869E8 = 0x843869E8; // type:u8
|
||||
D_843869EC = 0x843869EC; // type:u8
|
||||
D_843869F0 = 0x843869F0; // type:u8
|
||||
D_843869F8 = 0x843869F8; // type:u8
|
||||
D_843869FC = 0x843869FC; // type:u8
|
||||
D_84386A00 = 0x84386A00; // type:u8
|
||||
D_84386A04 = 0x84386A04; // type:u8
|
||||
D_84386A08 = 0x84386A08; // type:u8
|
||||
D_84386A0C = 0x84386A0C; // type:u8
|
||||
D_84386A10 = 0x84386A10; // type:u8
|
||||
D_84386A14 = 0x84386A14; // type:u8
|
||||
D_84386A18 = 0x84386A18; // type:u8
|
||||
D_84386A1C = 0x84386A1C; // type:u8
|
||||
D_84386A20 = 0x84386A20; // type:u8
|
||||
D_84386A24 = 0x84386A24; // type:u8
|
||||
D_84386A28 = 0x84386A28; // type:u8
|
||||
D_84386A2C = 0x84386A2C; // type:u8
|
||||
D_84386A30 = 0x84386A30; // type:u8
|
||||
D_84386A38 = 0x84386A38; // type:u8
|
||||
D_84386A3C = 0x84386A3C; // type:u8
|
||||
D_84386A40 = 0x84386A40; // type:u8
|
||||
D_84386A44 = 0x84386A44; // type:u8
|
||||
D_84386A48 = 0x84386A48; // type:u8
|
||||
D_84386A4C = 0x84386A4C; // type:u8
|
||||
D_84386A50 = 0x84386A50; // type:u8
|
||||
D_84386A5C = 0x84386A5C; // type:u8
|
||||
D_84386A60 = 0x84386A60; // type:u8
|
||||
D_84386A64 = 0x84386A64; // type:u8
|
||||
D_84386A68 = 0x84386A68; // type:u8
|
||||
D_84386A6C = 0x84386A6C; // type:u8
|
||||
D_84386A70 = 0x84386A70; // type:u8
|
||||
D_84386A74 = 0x84386A74; // type:u8
|
||||
D_84386A78 = 0x84386A78; // type:u8
|
||||
D_84386A7C = 0x84386A7C; // type:u8
|
||||
D_84386A80 = 0x84386A80; // type:u8
|
||||
D_84386A84 = 0x84386A84; // type:u8
|
||||
D_84386A88 = 0x84386A88; // type:u8
|
||||
D_84386A8C = 0x84386A8C; // type:u8
|
||||
D_84386A90 = 0x84386A90; // type:u8
|
||||
D_84386A94 = 0x84386A94; // type:u8
|
||||
D_84386A98 = 0x84386A98; // type:u8
|
||||
D_84386A9C = 0x84386A9C; // type:u8
|
||||
D_84386AA0 = 0x84386AA0; // type:u8
|
||||
D_84386AA4 = 0x84386AA4; // type:u8
|
||||
D_84386AA8 = 0x84386AA8; // type:u8
|
||||
D_84386AAC = 0x84386AAC; // type:u8
|
||||
D_84386AB0 = 0x84386AB0; // type:u8
|
||||
D_84386AB4 = 0x84386AB4; // type:u8
|
||||
D_84386AB8 = 0x84386AB8; // type:u8
|
||||
D_84386ABC = 0x84386ABC; // type:u8
|
||||
D_84386AC0 = 0x84386AC0; // type:u8
|
||||
D_84386AC4 = 0x84386AC4; // type:u8
|
||||
D_84386AC8 = 0x84386AC8; // type:u8
|
||||
D_84386ACC = 0x84386ACC; // type:u8
|
||||
D_84386AD0 = 0x84386AD0; // type:u8
|
||||
D_84386AD4 = 0x84386AD4; // type:u8
|
||||
D_84386AD8 = 0x84386AD8; // type:u8
|
||||
D_84386ADC = 0x84386ADC; // type:u8
|
||||
D_84386AE0 = 0x84386AE0; // type:u8
|
||||
D_84386AE4 = 0x84386AE4; // type:u8
|
||||
D_84386AE8 = 0x84386AE8; // type:u8
|
||||
D_84386AEC = 0x84386AEC; // type:u8
|
||||
D_84386AF0 = 0x84386AF0; // type:u8
|
||||
D_84386AF4 = 0x84386AF4; // type:u8
|
||||
D_84386AF8 = 0x84386AF8; // type:u8
|
||||
D_84386AFC = 0x84386AFC; // type:u8
|
||||
D_84386B00 = 0x84386B00; // type:u8
|
||||
D_84386B04 = 0x84386B04; // type:u8
|
||||
D_84386B08 = 0x84386B08; // type:u8
|
||||
D_84386B0C = 0x84386B0C; // type:u8
|
||||
D_84386B10 = 0x84386B10; // type:u8
|
||||
D_84386B14 = 0x84386B14; // type:u8
|
||||
D_84386B18 = 0x84386B18; // type:u8
|
||||
D_84386B1C = 0x84386B1C; // type:u8
|
||||
D_84386B20 = 0x84386B20; // type:u8
|
||||
D_84386B24 = 0x84386B24; // type:u8
|
||||
D_84386B28 = 0x84386B28; // type:u8
|
||||
D_84386B2C = 0x84386B2C; // type:u8
|
||||
D_84386B30 = 0x84386B30; // type:u8
|
||||
D_84386B34 = 0x84386B34; // type:u8
|
||||
D_84386B38 = 0x84386B38; // type:u8
|
||||
D_84386B3C = 0x84386B3C; // type:u8
|
||||
D_84386B40 = 0x84386B40; // type:u8
|
||||
D_84386B44 = 0x84386B44; // type:u8
|
||||
D_84386B48 = 0x84386B48; // type:u8
|
||||
D_84386B4C = 0x84386B4C; // type:u8
|
||||
D_84386B50 = 0x84386B50; // type:u8
|
||||
D_84386B54 = 0x84386B54; // type:u8
|
||||
D_84386B58 = 0x84386B58; // type:u8
|
||||
D_84386B5C = 0x84386B5C; // type:u8
|
||||
D_84386B60 = 0x84386B60; // type:u8
|
||||
D_84386B64 = 0x84386B64; // type:u8
|
||||
D_84386B68 = 0x84386B68; // type:u8
|
||||
D_84386B6C = 0x84386B6C; // type:u8
|
||||
D_84386B70 = 0x84386B70; // type:u8
|
||||
D_84386B74 = 0x84386B74; // type:u8
|
||||
D_84386B78 = 0x84386B78; // type:u8
|
||||
D_84386B7C = 0x84386B7C; // type:u8
|
||||
D_84386B80 = 0x84386B80; // type:u8
|
||||
D_84386B84 = 0x84386B84; // type:u8
|
||||
D_84386B88 = 0x84386B88; // type:u8
|
||||
D_84386B8C = 0x84386B8C; // type:u8
|
||||
D_84386B90 = 0x84386B90; // type:u8
|
||||
D_84386B94 = 0x84386B94; // type:u8
|
||||
D_84386B98 = 0x84386B98; // type:u8
|
||||
D_84386B9C = 0x84386B9C; // type:u8
|
||||
D_84386BA0 = 0x84386BA0; // type:u8
|
||||
D_84386BA4 = 0x84386BA4; // type:u8
|
||||
D_84386BA8 = 0x84386BA8; // type:u8
|
||||
D_84386BAC = 0x84386BAC; // type:u8
|
||||
D_84386BB0 = 0x84386BB0; // type:u8
|
||||
D_84386BB4 = 0x84386BB4; // type:u8
|
||||
D_84386BB8 = 0x84386BB8; // type:u8
|
||||
D_84386BBC = 0x84386BBC; // type:u8
|
||||
D_84386BC4 = 0x84386BC4; // type:u8
|
||||
D_84386BC8 = 0x84386BC8; // type:u8
|
||||
D_84386BD0 = 0x84386BD0; // type:u8
|
||||
D_84386BD4 = 0x84386BD4; // type:u8
|
||||
D_84386BD8 = 0x84386BD8; // type:u8
|
||||
D_84386BE0 = 0x84386BE0; // type:u8
|
||||
D_84386BE4 = 0x84386BE4; // type:u8
|
||||
D_84386BE8 = 0x84386BE8; // type:u8
|
||||
D_84386BEC = 0x84386BEC; // type:u8
|
||||
D_84386BF0 = 0x84386BF0; // type:u8
|
||||
D_84386C00 = 0x84386C00; // type:u8
|
||||
D_84386C04 = 0x84386C04; // type:u8
|
||||
D_84386C08 = 0x84386C08; // type:u8
|
||||
D_84386C0C = 0x84386C0C; // type:u8
|
||||
D_84386C10 = 0x84386C10; // type:u8
|
||||
D_84386C14 = 0x84386C14; // type:u8
|
||||
D_84386C18 = 0x84386C18; // type:u8
|
||||
D_84386C1C = 0x84386C1C; // type:u8
|
||||
D_84386C20 = 0x84386C20; // type:u8
|
||||
D_84386C24 = 0x84386C24; // type:u8
|
||||
D_84386C28 = 0x84386C28; // type:u8
|
||||
D_84386C34 = 0x84386C34; // type:u8
|
||||
D_84386C38 = 0x84386C38; // type:u8
|
||||
D_84386C3C = 0x84386C3C; // type:u8
|
||||
D_84386C40 = 0x84386C40; // type:u8
|
||||
D_84386C44 = 0x84386C44; // type:u8
|
||||
D_84386C48 = 0x84386C48; // type:u8
|
||||
D_84386C4C = 0x84386C4C; // type:u8
|
||||
D_84386C50 = 0x84386C50; // type:u8
|
||||
D_84386C54 = 0x84386C54; // type:u8
|
||||
D_84386C58 = 0x84386C58; // type:u8
|
||||
D_84386C5C = 0x84386C5C; // type:u8
|
||||
D_84386C64 = 0x84386C64; // type:u8
|
||||
D_84386C68 = 0x84386C68; // type:u8
|
||||
D_84386C6C = 0x84386C6C; // type:u8
|
||||
D_84386C70 = 0x84386C70; // type:u8
|
||||
D_84386C78 = 0x84386C78; // type:u8
|
||||
D_84386C7C = 0x84386C7C; // type:u8
|
||||
D_84386C80 = 0x84386C80; // type:u8
|
||||
D_84386C84 = 0x84386C84; // type:u8
|
||||
D_84386C88 = 0x84386C88; // type:u8
|
||||
D_84386C8C = 0x84386C8C; // type:u8
|
||||
D_84386C90 = 0x84386C90; // type:u8
|
||||
D_84386C94 = 0x84386C94; // type:u8
|
||||
D_84386C98 = 0x84386C98; // type:u8
|
||||
D_84386C9C = 0x84386C9C; // type:u8
|
||||
D_84386CA0 = 0x84386CA0; // type:u8
|
||||
D_84386CA4 = 0x84386CA4; // type:u8
|
||||
D_84386CA8 = 0x84386CA8; // type:u8
|
||||
D_84386CAC = 0x84386CAC; // type:u8
|
||||
D_84386CB0 = 0x84386CB0; // type:u8
|
||||
D_84386CB4 = 0x84386CB4; // type:u8
|
||||
D_84386CB8 = 0x84386CB8; // type:u8
|
||||
D_84386CBC = 0x84386CBC; // type:u8
|
||||
D_84386CC0 = 0x84386CC0; // type:u8
|
||||
D_84386CC8 = 0x84386CC8; // type:u8
|
||||
D_84386CCC = 0x84386CCC; // type:u8
|
||||
D_84386CD0 = 0x84386CD0; // type:u8
|
||||
D_84386CD4 = 0x84386CD4; // type:u8
|
||||
D_84386CD8 = 0x84386CD8; // type:u8
|
||||
D_84386CDC = 0x84386CDC; // type:u8
|
||||
D_84386CE0 = 0x84386CE0; // type:u8
|
||||
D_84386CE4 = 0x84386CE4; // type:u8
|
||||
D_84386CE8 = 0x84386CE8; // type:u8
|
||||
D_84386CEC = 0x84386CEC; // type:u8
|
||||
D_84386CF0 = 0x84386CF0; // type:u8
|
||||
D_84386CF4 = 0x84386CF4; // type:u8
|
||||
D_84386CF8 = 0x84386CF8; // type:u8
|
||||
D_84386CFC = 0x84386CFC; // type:u8
|
||||
D_84386D00 = 0x84386D00; // type:u8
|
||||
D_84386D04 = 0x84386D04; // type:u8
|
||||
D_84386D08 = 0x84386D08; // type:u8
|
||||
D_84386D0C = 0x84386D0C; // type:u8
|
||||
D_84386D10 = 0x84386D10; // type:u8
|
||||
D_84386D14 = 0x84386D14; // type:u8
|
||||
D_84386D18 = 0x84386D18; // type:u8
|
||||
D_84386D1C = 0x84386D1C; // type:u8
|
||||
D_84386D24 = 0x84386D24; // type:u8
|
||||
D_84386D2C = 0x84386D2C; // type:u8
|
||||
D_84386D30 = 0x84386D30; // type:u8
|
||||
D_84386D34 = 0x84386D34; // type:u8
|
||||
D_84386D38 = 0x84386D38; // type:u8
|
||||
D_84386D3C = 0x84386D3C; // type:u8
|
||||
D_84386D40 = 0x84386D40; // type:u8
|
||||
D_8140E628 = 0x8140E628; // size:0x8C
|
||||
D_8140E720 = 0x8140E720; // size:0x4
|
||||
D_8140E724 = 0x8140E724; // size:0x4
|
||||
D_8140E728 = 0x8140E728; // size:0x4
|
||||
D_8140E72C = 0x8140E72C; // size:0x4
|
||||
D_84385E40 = 0x84385E40; // size:0x390
|
||||
D_843861D0 = 0x843861D0; // size:0x2B0
|
||||
D_8439037A = 0x8439037A; // size:0x2
|
||||
D_8439037C = 0x8439037C; // size:0x2
|
||||
D_8439037E = 0x8439037E; // size:0x2
|
||||
D_84390380 = 0x84390380; // size:0x2
|
||||
D_84390382 = 0x84390382; // size:0x2
|
||||
D_84390384 = 0x84390384; // size:0x2
|
||||
D_84390386 = 0x84390386; // size:0x2
|
||||
D_84390388 = 0x84390388; // size:0x2
|
||||
D_8439038A = 0x8439038A; // size:0x2
|
||||
D_8439038C = 0x8439038C; // size:0x2
|
||||
D_8439038E = 0x8439038E; // size:0x2
|
||||
D_84390390 = 0x84390390; // size:0x2
|
||||
D_84390392 = 0x84390392; // size:0x2
|
||||
D_84390394 = 0x84390394; // size:0x2
|
||||
D_84390396 = 0x84390396; // size:0x2
|
||||
D_84390398 = 0x84390398; // size:0x2
|
||||
D_8439039A = 0x8439039A; // size:0x2
|
||||
D_8439039C = 0x8439039C; // size:0x2
|
||||
D_8439039E = 0x8439039E; // size:0x2
|
||||
D_843903A0 = 0x843903A0; // size:0x2
|
||||
func_8432F998 = 0x8432F998; // type:func
|
||||
func_843378CC = 0x843378CC; // type:func
|
||||
func_8432F9A0 = 0x8432F9A0; // type:func
|
||||
D_843920C0 = 0x843920C0; // size:0x400
|
||||
func_8433765C = 0x8433765C; // type:func
|
||||
func_84337664 = 0x84337664; // type:func
|
||||
func_843593C8 = 0x843593C8; // type:func
|
||||
D_84397610 = 0x84397610; // size:0x38
|
||||
D_84397648 = 0x84397648; // size:0x1900
|
||||
D_843951D0 = 0x843951D0; // size:0x2410
|
||||
D_8439CA60 = 0x8439CA60; // size:0x1C14
|
||||
D_843C5568 = 0x843C5568; // size:0xB38
|
||||
D_843C60C0 = 0x843C60C0; // size:0x28
|
||||
D_843C60F0 = 0x843C60F0; // size:0x48
|
||||
D_843C5310 = 0x843C5310; // size:0x240
|
||||
|
|
@ -7080,7 +7080,7 @@ func_84359348 = 0x84359348; // type:func
|
|||
func_84359380 = 0x84359380; // type:func
|
||||
func_843593B0 = 0x843593B0; // type:func
|
||||
func_843593B8 = 0x843593B8; // type:func
|
||||
func_843593C0 = 0x843593C0; // type:func
|
||||
func_843593C0 = 0x843593C0; // type:func size:0x8
|
||||
func_843593D0 = 0x843593D0; // type:func
|
||||
func_843593F0 = 0x843593F0; // type:func
|
||||
func_84359410 = 0x84359410; // type:func
|
||||
|
|
|
|||
|
|
@ -514,3 +514,79 @@ D_8C200920 = 0x8C200920;
|
|||
D_8C201070 = 0x8C201070;
|
||||
D_8C2011C4 = 0x8C2011C4;
|
||||
D_80070F84 = 0x80070F84;
|
||||
D_3008380 = 0x3008380;
|
||||
D_3008400 = 0x3008400;
|
||||
D_3008480 = 0x3008480;
|
||||
D_3008500 = 0x3008500;
|
||||
D_3008580 = 0x3008580;
|
||||
D_3008600 = 0x3008600;
|
||||
D_3008680 = 0x3008680;
|
||||
D_3008700 = 0x3008700;
|
||||
D_3000470 = 0x3000470;
|
||||
D_3001F70 = 0x3001F70;
|
||||
D_30092C0 = 0x30092C0;
|
||||
D_3009560 = 0x3009560;
|
||||
D_3008280 = 0x3008280;
|
||||
D_3006170 = 0x3006170;
|
||||
D_30061D0 = 0x30061D0;
|
||||
D_3006230 = 0x3006230;
|
||||
D_1003DB0 = 0x1003DB0;
|
||||
D_1003E50 = 0x1003E50;
|
||||
D_1003EA0 = 0x1003EA0;
|
||||
D_1003EC8 = 0x1003EC8;
|
||||
D_1003EF0 = 0x1003EF0;
|
||||
D_1003DB0 = 0x1003DB0;
|
||||
D_1003E50 = 0x1003E50;
|
||||
D_1003EA0 = 0x1003EA0;
|
||||
D_1003EC8 = 0x1003EC8;
|
||||
D_1003EF0 = 0x1003EF0;
|
||||
D_300B870 = 0x300B870;
|
||||
D_3008C00 = 0x3008C00;
|
||||
D_3008D80 = 0x3008D80;
|
||||
D_3008E40 = 0x3008E40;
|
||||
D_3008FC0 = 0x3008FC0;
|
||||
D_3009080 = 0x3009080;
|
||||
D_3009200 = 0x3009200;
|
||||
D_3008780 = 0x3008780;
|
||||
D_3008900 = 0x3008900;
|
||||
D_30089C0 = 0x30089C0;
|
||||
D_3008B40 = 0x3008B40;
|
||||
D_3006290 = 0x3006290;
|
||||
D_3006450 = 0x3006450;
|
||||
D_3006530 = 0x3006530;
|
||||
D_30066F0 = 0x30066F0;
|
||||
D_30067D0 = 0x30067D0;
|
||||
D_3006990 = 0x3006990;
|
||||
D_3006A70 = 0x3006A70;
|
||||
D_3006C30 = 0x3006C30;
|
||||
D_300B630 = 0x300B630;
|
||||
D_300A1F0 = 0x300A1F0;
|
||||
D_30096B0 = 0x30096B0;
|
||||
D_300AAF0 = 0x300AAF0;
|
||||
D_300A8B0 = 0x300A8B0;
|
||||
D_300B3F0 = 0x300B3F0;
|
||||
D_3009FB0 = 0x3009FB0;
|
||||
D_30098F0 = 0x30098F0;
|
||||
D_300A430 = 0x300A430;
|
||||
D_300B1B0 = 0x300B1B0;
|
||||
D_300AF70 = 0x300AF70;
|
||||
D_300A670 = 0x300A670;
|
||||
D_3009D70 = 0x3009D70;
|
||||
D_300AD30 = 0x300AD30;
|
||||
D_3009B30 = 0x3009B30;
|
||||
D_3006D10 = 0x3006D10;
|
||||
D_3007010 = 0x3007010;
|
||||
D_3007310 = 0x3007310;
|
||||
D_3007610 = 0x3007610;
|
||||
D_3007A78 = 0x3007A78;
|
||||
D_3007EB0 = 0x3007EB0;
|
||||
D_3007910 = 0x3007910;
|
||||
D_3008018 = 0x3008018;
|
||||
D_3007BE0 = 0x3007BE0;
|
||||
D_3007D48 = 0x3007D48;
|
||||
D_3007A78 = 0x3007A78;
|
||||
D_3007EB0 = 0x3007EB0;
|
||||
D_3007910 = 0x3007910;
|
||||
D_3008018 = 0x3008018;
|
||||
D_3007BE0 = 0x3007BE0;
|
||||
D_3007D48 = 0x3007D48;
|
||||
|
|
|
|||
|
|
@ -13,4 +13,4 @@ splat64[mips]==0.25.0
|
|||
mapfile-parser>=2.4.0,<3.0.0
|
||||
libyaz0
|
||||
ipl3checksum>=1.2.0,<2.0.0
|
||||
spimdisasm>=1.16.3,<2.0.0
|
||||
git+https://github.com/Decompollaborate/spimdisasm.git@fe1338434c99240eb4adca0b7860edc12b847565
|
||||
|
|
|
|||
|
|
@ -58,5 +58,7 @@ void func_80011DAC(unk_D_86002F34_00C* arg0, s16 arg1, s16 arg2, s16 arg3, s16 a
|
|||
void func_80011E68(unk_D_86002F34_00C* arg0, f32 arg1, f32 arg2, f32 arg3);
|
||||
void func_80011EB4(unk_D_86002F34_00C* arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, s32 arg7);
|
||||
void func_80011FC8(unk_D_86002F34_00C* arg0, s16 arg1, s16 arg2, u8 arg3, u8 arg4, u8 arg5);
|
||||
void func_80012044(unk_D_86002F34_00C*, s32, s32, s32, u32);
|
||||
void func_80012094(GraphNode* arg0, GraphNode* arg1);
|
||||
|
||||
#endif // _11BA0_H_
|
||||
|
|
|
|||
|
|
@ -5,11 +5,7 @@
|
|||
#include "src/3FB0.h"
|
||||
#include "src/F420.h"
|
||||
#include "src/1C720.h"
|
||||
|
||||
typedef struct arg1_func_80019420 {
|
||||
/* 0x00 */ s8 unk_00;
|
||||
/* 0x04 */ void* unk_04;
|
||||
} arg1_func_80019420; // size = 0x8
|
||||
#include "src/29BA0.h"
|
||||
|
||||
typedef struct unk_func_80019600 {
|
||||
/* 0x00 */ s16 unk_00;
|
||||
|
|
|
|||
|
|
@ -254,7 +254,7 @@ u32 func_80022170(s32 arg0, s32 arg1, u16 arg2, u16 arg3, u16 arg4) {
|
|||
break;
|
||||
|
||||
case 5:
|
||||
sp24 = D_80070F84[arg1].unk_0A;
|
||||
sp24 = D_80070F84[arg1].unk_0A[0];
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -8,13 +8,16 @@
|
|||
|
||||
typedef struct unk_D_80070F84 {
|
||||
/* 0x00 */ u8 unk_00;
|
||||
/* 0x04 */ char unk01[0x4];
|
||||
/* 0x01 */ u8 unk_01;
|
||||
/* 0x02 */ u8 unk_02;
|
||||
/* 0x03 */ u8 unk_03;
|
||||
/* 0x04 */ u8 unk_04;
|
||||
/* 0x05 */ u8 unk_05;
|
||||
/* 0x06 */ u8 unk_06;
|
||||
/* 0x07 */ u8 unk_07;
|
||||
/* 0x08 */ u8 unk_08;
|
||||
/* 0x09 */ u8 unk_09;
|
||||
/* 0x0A */ u8 unk_0A;
|
||||
/* 0x0A */ u8 unk_0A[1];
|
||||
/* 0x0B */ char unk0B[0x4];
|
||||
/* 0x0F */ u8 unk_0F[1];
|
||||
/* 0x10 */ char unk10[0x3];
|
||||
|
|
|
|||
21
src/29BA0.h
21
src/29BA0.h
|
|
@ -6,6 +6,12 @@
|
|||
#include "src/controller.h"
|
||||
#include "PR/leo.h"
|
||||
|
||||
typedef struct arg1_func_80019420 {
|
||||
/* 0x00 */ s8 unk_00;
|
||||
/* 0x02 */ s16 unk_02;
|
||||
/* 0x04 */ void* unk_04;
|
||||
} arg1_func_80019420; // size = 0x8
|
||||
|
||||
typedef struct unk_D_800AE520 {
|
||||
/* 0x00 */ s16 unk_00;
|
||||
/* 0x02 */ s16 fragment_id;
|
||||
|
|
@ -74,8 +80,7 @@ typedef struct unk_D_800AE540_0004 {
|
|||
/* 0x008 */ char unk_008[4];
|
||||
/* 0x00C */ char unk00C[0xC];
|
||||
/* 0x018 */ s32 unk_018;
|
||||
/* 0x01C */ unk_func_80026268_arg0 unk_01C[1];
|
||||
/* 0x070 */ char unk070[0x1A4];
|
||||
/* 0x01C */ unk_func_80026268_arg0 unk_01C[6];
|
||||
/* 0x214 */ unk_D_800AE540_0874* unk_214;
|
||||
/* 0x218 */ char unk218[0x4];
|
||||
} unk_D_800AE540_0004; // size = 0x21C
|
||||
|
|
@ -83,17 +88,17 @@ typedef struct unk_D_800AE540_0004 {
|
|||
typedef struct unk_D_800AE540_1194 {
|
||||
/* 0x00 */ u8 unk_00;
|
||||
/* 0x01 */ u8 unk_01;
|
||||
/* 0x02 */ u16 unk_02;
|
||||
/* 0x04 */ s32 unk_04;
|
||||
/* 0x02 */ s16 unk_02;
|
||||
/* 0x04 */ unk_D_800AE540_0004* unk_04;
|
||||
/* 0x04 */ unk_D_800AE540_0004* unk_08[2];
|
||||
/* 0x04 */ char unk10[0x4];
|
||||
/* 0x04 */ s32 unk_14;
|
||||
/* 0x04 */ char unk18[0x4];
|
||||
/* 0x04 */ s32 unk_10;
|
||||
/* 0x04 */ unk_D_86002F58_004_000_004* unk_14;
|
||||
/* 0x04 */ unk_D_86002F58_004_000_004* unk_18;
|
||||
/* 0x1C */ u8 unk_1C;
|
||||
/* 0x1D */ u8 unk_1D;
|
||||
/* 0x1E */ u8 unk_1E;
|
||||
/* 0x20 */ s32 unk_20;
|
||||
/* 0x24 */ char unk24[0x4];
|
||||
/* 0x24 */ arg1_func_80019420* unk_24;
|
||||
} unk_D_800AE540_1194; // size = 0x28
|
||||
|
||||
typedef struct unk_D_800AE540 {
|
||||
|
|
|
|||
|
|
@ -433,7 +433,7 @@ s32 func_8002ECDC(unk_func_80026268_arg0* arg0) {
|
|||
}
|
||||
|
||||
ret_func_8002ED08* func_8002ED08(s32 arg0) {
|
||||
if ((arg0 <= 0) || (arg0 >= 0xA6)) {
|
||||
if ((arg0 <= 0) || (arg0 > 165)) {
|
||||
return NULL;
|
||||
}
|
||||
return &D_80072338[arg0 - 1];
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#include "30640.h"
|
||||
#include "include/libc/math.h"
|
||||
#include "include/math.h"
|
||||
#include "src/11BA0.h"
|
||||
#include "src/12D80.h"
|
||||
#include "src/17300.h"
|
||||
|
|
|
|||
|
|
@ -116,6 +116,9 @@ u16* func_800318AC(void);
|
|||
void func_800318B8(void);
|
||||
s32 func_800318C4(unk_D_83403C60*);
|
||||
f32 func_80031A6C(f32);
|
||||
void func_80031A94(f32, f32, f32, f32, f32, f32, f32*, f32*, f32*);
|
||||
void func_80031B04(f32*, f32*, f32*);
|
||||
void func_80031C6C(Mtx*, f32, f32, f32, f32, f32, f32);
|
||||
void func_80031EF4(MtxF*, MtxF*);
|
||||
void func_80032034(MtxF* arg0, Vec3f* arg1);
|
||||
|
||||
|
|
|
|||
15
src/32D10.h
15
src/32D10.h
|
|
@ -3,10 +3,15 @@
|
|||
|
||||
#include "global.h"
|
||||
|
||||
void func_80032110(u8, s16);
|
||||
void func_80032244(u8, s16);
|
||||
void func_8003260C(unk_D_86002F58_004_000*);
|
||||
void func_80032670(u32, u32);
|
||||
void func_80032738(u32, u32);
|
||||
void func_80032110(u8 arg0, s16 arg1);
|
||||
void func_80032244(u8 arg0, s16 arg1);
|
||||
void func_80032570(void);
|
||||
s32 func_800325AC(void);
|
||||
u8 func_800325B4(void);
|
||||
s16 func_800325E0(void);
|
||||
void func_8003260C(unk_D_86002F58_004_000* arg0);
|
||||
void func_80032670(u32 arg0, u32 arg1);
|
||||
void func_80032738(u32 arg0, u32 arg1);
|
||||
void func_800327CC(Gfx*, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32, s32);
|
||||
|
||||
#endif // _32D10_H_
|
||||
|
|
|
|||
|
|
@ -3,6 +3,8 @@
|
|||
|
||||
#include "global.h"
|
||||
|
||||
void func_800328D0(s32);
|
||||
s32 func_800328D8(s32);
|
||||
void func_80032A34(s32);
|
||||
|
||||
#endif // _334D0_H_
|
||||
|
|
|
|||
19
src/3D140.c
19
src/3D140.c
|
|
@ -96,6 +96,7 @@ extern u8 D_80078400;
|
|||
extern u16 D_80078410[1][9];
|
||||
extern u16 D_80078446[1][9];
|
||||
extern u16 D_800784EA[1][9];
|
||||
extern u32 D_80078544;
|
||||
extern f64 D_8007C7E0;
|
||||
extern f64 D_8007C7E8;
|
||||
extern f64 D_8007C7F0;
|
||||
|
|
@ -111,9 +112,9 @@ extern AudioInfo* lastInfo;
|
|||
extern s32 min_only_one;
|
||||
extern u8 D_800FC825;
|
||||
extern s32 D_800FC828;
|
||||
|
||||
extern s32 D_800FCB28;
|
||||
extern s32 D_800FCB2C;
|
||||
extern u32 D_800FCCF0[10];
|
||||
|
||||
typedef struct unk_D_800FCB48 {
|
||||
/* 0x00 */ u16 unk_00[16];
|
||||
|
|
@ -929,10 +930,10 @@ void func_8003DB84(s32 arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
if (D_800FCB18[0]->unk_1C != D_800FCB18[1]->unk_1C) {
|
||||
if (D_800FCB18[0]->unk_1C != D_800FCB18[1]->unk_1D) {
|
||||
if ((D_800FCB18[0]->unk_1D != D_800FCB18[1]->unk_1C) &&
|
||||
(D_800FCB18[0]->unk_1D != D_800FCB18[1]->unk_1D)) {
|
||||
if (D_800FCB18[0]->unk_16[6] != D_800FCB18[1]->unk_16[6]) {
|
||||
if (D_800FCB18[0]->unk_16[6] != D_800FCB18[1]->unk_16[7]) {
|
||||
if ((D_800FCB18[0]->unk_16[7] != D_800FCB18[1]->unk_16[6]) &&
|
||||
(D_800FCB18[0]->unk_16[7] != D_800FCB18[1]->unk_16[7])) {
|
||||
D_800FCCB0 = 0;
|
||||
func_800420C0(D_80077E18);
|
||||
return;
|
||||
|
|
@ -1120,7 +1121,13 @@ void func_8003DB84(s32 arg0) {
|
|||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/3D140/func_8003F4C0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/3D140/func_8003F624.s")
|
||||
void func_8003F624(u32 arg0) {
|
||||
D_800FCCF0[D_80078544] = arg0;
|
||||
D_80078544++;
|
||||
if (D_80078544 >= 0xA) {
|
||||
D_80078544--;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/3D140/func_8003F660.s")
|
||||
|
||||
|
|
|
|||
74
src/3D140.h
74
src/3D140.h
|
|
@ -3,18 +3,66 @@
|
|||
|
||||
#include "global.h"
|
||||
|
||||
typedef struct unk_D_800FCB18_044 {
|
||||
/* 0x00 */ u8 unk_00;
|
||||
/* 0x01 */ u8 unk_01;
|
||||
/* 0x02 */ u8 unk_02;
|
||||
/* 0x03 */ u8 unk_03;
|
||||
/* 0x04 */ u8 unk_04;
|
||||
/* 0x05 */ u8 unk_05;
|
||||
} unk_D_800FCB18_044; // size = 0x6
|
||||
|
||||
typedef struct unk_D_800FCB18 {
|
||||
/* 0x00 */ char pad00[0xC];
|
||||
/* 0x00 */ char unk00[0x1];
|
||||
/* 0x01 */ u8 unk_01;
|
||||
/* 0x02 */ char unk02[0x3];
|
||||
/* 0x05 */ u8 unk_05;
|
||||
/* 0x06 */ char unk06[0x5];
|
||||
/* 0x0B */ u8 unk_0B;
|
||||
/* 0x0C */ u16 unk_0C;
|
||||
/* 0x0E */ char pad0E[0x7];
|
||||
/* 0x0E */ u16 unk_0E;
|
||||
/* 0x10 */ u16 unk_10;
|
||||
/* 0x12 */ u16 unk_12;
|
||||
/* 0x14 */ u8 unk_14;
|
||||
/* 0x15 */ u8 unk_15;
|
||||
/* 0x16 */ char pad16[0x6];
|
||||
/* 0x1C */ u8 unk_1C;
|
||||
/* 0x1D */ u8 unk_1D;
|
||||
/* 0x1E */ char pad1E[0x8];
|
||||
/* 0x16 */ u8 unk_16[9];
|
||||
/* 0x1F */ u8 unk_1F[4];
|
||||
/* 0x23 */ char unk23[0x1];
|
||||
/* 0x24 */ u16 unk_24;
|
||||
/* 0x26 */ u8 unk_26;
|
||||
/* 0x28 */ u16 unk_28;
|
||||
} unk_D_800FCB18; // size >= 0x2C
|
||||
/* 0x2A */ u16 unk_2A;
|
||||
/* 0x2C */ u16 unk_2C;
|
||||
/* 0x2E */ u16 unk_2E;
|
||||
/* 0x30 */ u16 unk_30;
|
||||
/* 0x32 */ u8 unk_32[4];
|
||||
/* 0x36 */ u16 unk_36;
|
||||
/* 0x38 */ u16 unk_38;
|
||||
/* 0x3A */ u16 unk_3A;
|
||||
/* 0x3C */ u16 unk_3C;
|
||||
/* 0x3E */ u16 unk_3E;
|
||||
/* 0x40 */ char unk40[0x4];
|
||||
/* 0x44 */ unk_D_800FCB18_044 unk_44;
|
||||
/* 0x4A */ u8 unk_4A;
|
||||
/* 0x4B */ u8 unk_4B;
|
||||
/* 0x4C */ u8 unk_4C;
|
||||
/* 0x4D */ u8 unk_4D;
|
||||
/* 0x4E */ u8 unk_4E;
|
||||
/* 0x4F */ u8 unk_4F;
|
||||
/* 0x50 */ u8 unk_50;
|
||||
/* 0x51 */ u8 unk_51;
|
||||
/* 0x52 */ u8 unk_52;
|
||||
/* 0x53 */ u8 unk_53;
|
||||
/* 0x54 */ u16 unk_54;
|
||||
/* 0x56 */ u8 unk_56;
|
||||
/* 0x57 */ u8 unk_57;
|
||||
/* 0x58 */ u8 unk_58;
|
||||
/* 0x59 */ u8 unk_59;
|
||||
/* 0x5A */ u8 unk_5A;
|
||||
/* 0x5B */ u8 unk_5B;
|
||||
/* 0x5C */ u8 unk_5C[6];
|
||||
/* 0x62 */ char unk62[0x2];
|
||||
} unk_D_800FCB18; // size = 0x64
|
||||
|
||||
typedef struct amConfig {
|
||||
/* 0x00 */ u32 outputRate;
|
||||
|
|
@ -42,8 +90,19 @@ void func_8003D32C(void);
|
|||
s32 func_8003D494(void);
|
||||
s32 func_8003D4A0(s32);
|
||||
void func_8003D68C(s32);
|
||||
void func_8003D6B0(u8, u8, u8, u8);
|
||||
void func_8003D828(u8, u8, u8, u8);
|
||||
void func_8003D918(u32 arg0, u32 arg1);
|
||||
void func_8003DB84(s32 arg0);
|
||||
void func_8003EB40(s32, unk_D_800FCB18*);
|
||||
void func_8003F1AC(s32);
|
||||
void func_8003F4C0(s32);
|
||||
void func_8003F624(u32 arg0);
|
||||
void func_8003F660(s32);
|
||||
void func_80040A70(unk_D_800FCB18* arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||
void func_800414B8(s32);
|
||||
void func_8004153C(void);
|
||||
void func_80041688(void);
|
||||
void func_800416BC(void);
|
||||
void func_80041A98(void);
|
||||
void func_80041C70(u32 arg0);
|
||||
|
|
@ -53,5 +112,6 @@ void func_80041DF4(u16 arg0);
|
|||
void func_80041E40(u16 arg0);
|
||||
u32 func_80041EF4(u16* arg0);
|
||||
void func_800420C0(u16* arg0);
|
||||
void func_80048014(void);
|
||||
|
||||
#endif // _3D140_H_
|
||||
|
|
|
|||
|
|
@ -266,7 +266,7 @@ s32 func_80003B04(s16 arg0) {
|
|||
return func_8000CDB8(arg0 << 7);
|
||||
}
|
||||
|
||||
void func_80003B30(u8* arg0, u8* arg1, u8* arg2, s32 arg3) {
|
||||
void func_80003B30(u32 arg0, u32 arg1, u32 arg2, s32 arg3) {
|
||||
s32 var_s0;
|
||||
s32 var_s1;
|
||||
OSMesgQueue* mesq = &D_800A62C0;
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ void func_80003890(u8* in_header, u8* memory);
|
|||
void func_80003964(u8* arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||
s32 func_80003A14(u8* arg0, s16 arg1, s16 arg2, s32 arg3);
|
||||
s32 func_80003B04(s16 arg0);
|
||||
void func_80003B30(u8* arg0, u8* arg1, u8* arg2, s32 arg3);
|
||||
void func_80003B30(u32 arg0, u32 arg1, u32 arg2, s32 arg3);
|
||||
void func_80003BE0(u8* arg0, u8* arg1, u8* arg2);
|
||||
void* func_80003C80(u8* addr, PRESJPEG* arg1, s32 side);
|
||||
s32 func_80003D18(s32 arg0, PERSSZP* arg1, s32 side);
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
|
||||
void func_8004B9C4(s32);
|
||||
s32 func_8004B1CC(s32);
|
||||
void func_8004BA88(s32, s32);
|
||||
s32 func_8004BC84(s32, u32);
|
||||
u32 func_8004BFB0(void);
|
||||
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ void* func_80005F5C(s32 arg0) {
|
|||
|
||||
arg0 = ALIGN8(arg0);
|
||||
temp_v0 = (D_800A7428.unk8 - arg0);
|
||||
ret = 0;
|
||||
ret = NULL;
|
||||
if (temp_v0 >= (uintptr_t)gDisplayListHead) {
|
||||
D_800A7428.unk8 = temp_v0;
|
||||
ret = temp_v0;
|
||||
|
|
|
|||
|
|
@ -2806,12 +2806,10 @@ s32 func_88311C64(s32 arg0, s32 arg1) {
|
|||
static unk_D_80070F84 D_8831757C[] = {
|
||||
{
|
||||
0x06,
|
||||
{
|
||||
0x4E,
|
||||
0x54,
|
||||
0x4E,
|
||||
0x64,
|
||||
},
|
||||
0x4E,
|
||||
0x54,
|
||||
0x4E,
|
||||
0x64,
|
||||
0x55,
|
||||
0x14,
|
||||
0x02,
|
||||
|
|
@ -2841,12 +2839,10 @@ s32 func_88311C64(s32 arg0, s32 arg1) {
|
|||
},
|
||||
{
|
||||
0x0C,
|
||||
{
|
||||
0x3C,
|
||||
0x2D,
|
||||
0x32,
|
||||
0x46,
|
||||
},
|
||||
0x3C,
|
||||
0x2D,
|
||||
0x32,
|
||||
0x46,
|
||||
0x50,
|
||||
0x07,
|
||||
0x02,
|
||||
|
|
@ -2876,12 +2872,10 @@ s32 func_88311C64(s32 arg0, s32 arg1) {
|
|||
},
|
||||
{
|
||||
0x30,
|
||||
{
|
||||
0x3C,
|
||||
0x37,
|
||||
0x32,
|
||||
0x2D,
|
||||
},
|
||||
0x3C,
|
||||
0x37,
|
||||
0x32,
|
||||
0x2D,
|
||||
0x28,
|
||||
0x07,
|
||||
0x03,
|
||||
|
|
@ -2911,12 +2905,10 @@ s32 func_88311C64(s32 arg0, s32 arg1) {
|
|||
},
|
||||
{
|
||||
0x31,
|
||||
{
|
||||
0x46,
|
||||
0x41,
|
||||
0x3C,
|
||||
0x5A,
|
||||
},
|
||||
0x46,
|
||||
0x41,
|
||||
0x3C,
|
||||
0x5A,
|
||||
0x5A,
|
||||
0x07,
|
||||
0x03,
|
||||
|
|
@ -2946,12 +2938,10 @@ s32 func_88311C64(s32 arg0, s32 arg1) {
|
|||
},
|
||||
{
|
||||
0x32,
|
||||
{
|
||||
0x0A,
|
||||
0x37,
|
||||
0x19,
|
||||
0x5F,
|
||||
},
|
||||
0x0A,
|
||||
0x37,
|
||||
0x19,
|
||||
0x5F,
|
||||
0x2D,
|
||||
0x04,
|
||||
0x04,
|
||||
|
|
@ -2981,12 +2971,10 @@ s32 func_88311C64(s32 arg0, s32 arg1) {
|
|||
},
|
||||
{
|
||||
0x33,
|
||||
{
|
||||
0x23,
|
||||
0x50,
|
||||
0x32,
|
||||
0x78,
|
||||
},
|
||||
0x23,
|
||||
0x50,
|
||||
0x32,
|
||||
0x78,
|
||||
0x46,
|
||||
0x04,
|
||||
0x04,
|
||||
|
|
@ -3016,12 +3004,10 @@ s32 func_88311C64(s32 arg0, s32 arg1) {
|
|||
},
|
||||
{
|
||||
0x8D,
|
||||
{
|
||||
0x3C,
|
||||
0x73,
|
||||
0x69,
|
||||
0x50,
|
||||
},
|
||||
0x3C,
|
||||
0x73,
|
||||
0x69,
|
||||
0x50,
|
||||
0x46,
|
||||
0x05,
|
||||
0x15,
|
||||
|
|
@ -3051,12 +3037,10 @@ s32 func_88311C64(s32 arg0, s32 arg1) {
|
|||
},
|
||||
{
|
||||
0x96,
|
||||
{
|
||||
0x6A,
|
||||
0x6E,
|
||||
0x5A,
|
||||
0x82,
|
||||
},
|
||||
0x6A,
|
||||
0x6E,
|
||||
0x5A,
|
||||
0x82,
|
||||
0x9A,
|
||||
0x18,
|
||||
0x18,
|
||||
|
|
@ -3086,12 +3070,10 @@ s32 func_88311C64(s32 arg0, s32 arg1) {
|
|||
},
|
||||
{
|
||||
0x97,
|
||||
{
|
||||
0x64,
|
||||
0x64,
|
||||
0x64,
|
||||
0x64,
|
||||
},
|
||||
0x64,
|
||||
0x64,
|
||||
0x64,
|
||||
0x64,
|
||||
0x64,
|
||||
0x18,
|
||||
0x18,
|
||||
|
|
|
|||
|
|
@ -950,7 +950,7 @@ s32 func_88603468(unk_func_88205880_0098_008_058* arg0, s32 arg1, s32 arg2) {
|
|||
s32 sp38;
|
||||
s32 sp34;
|
||||
|
||||
sp38 = ((((sp130->unk00[4] * 0x64) / 255) + 2) / 5) * 5;
|
||||
sp38 = ((((sp130->unk_04 * 0x64) / 255) + 2) / 5) * 5;
|
||||
func_8001F324(sp12C->unk_04.r, sp12C->unk_04.g, sp12C->unk_04.b, sp12C->unk_04.a);
|
||||
func_8001EBE0(8, 0);
|
||||
func_8001F1E8(sp13C + 8, sp138 + 4, func_8002D7C0(NULL, 0, D_8861C518, sp134->unk_00[0] - 1));
|
||||
|
|
|
|||
|
|
@ -6271,16 +6271,16 @@ void func_88804370(void) {
|
|||
u32 sp2C;
|
||||
unk_D_80068BB0* sp28;
|
||||
|
||||
sp28 = main_pool_alloc(sizeof(unk_func_80007444_018), 0);
|
||||
sp28 = main_pool_alloc(sizeof(unk_D_80068BB0), 0);
|
||||
|
||||
sp34 = D_88826924->unk_18[0]->unk_08;
|
||||
D_88826930 = D_88826924->unk_18[0]->unk_08 + 0x25800;
|
||||
sp30 = D_88826924->unk_18[1]->unk_08;
|
||||
D_88826934 = D_88826924->unk_18[1]->unk_08 + 0x25800;
|
||||
sp2C = D_88826924->unk_18[1]->unk_08 + 0x70800;
|
||||
sp34 = D_88826924->unk_18[0]->img_p;
|
||||
D_88826930 = D_88826924->unk_18[0]->img_p + 0x25800;
|
||||
sp30 = D_88826924->unk_18[1]->img_p;
|
||||
D_88826934 = D_88826924->unk_18[1]->img_p + 0x25800;
|
||||
sp2C = D_88826924->unk_18[1]->img_p + 0x70800;
|
||||
|
||||
D_88826928->unk_18[0] = main_pool_alloc(sizeof(unk_func_80007444_018), 0);
|
||||
D_88826928->unk_18[1] = main_pool_alloc(sizeof(unk_func_80007444_018), 0);
|
||||
D_88826928->unk_18[0] = main_pool_alloc(sizeof(unk_D_80068BB0), 0);
|
||||
D_88826928->unk_18[1] = main_pool_alloc(sizeof(unk_D_80068BB0), 0);
|
||||
|
||||
func_800062E4(D_88826928->unk_18[0], 0, 2, 0x140, 0xF0, sp34);
|
||||
func_800062E4(D_88826928->unk_18[1], 0, 2, 0x140, 0xF0, sp30);
|
||||
|
|
|
|||
|
|
@ -217,8 +217,8 @@ void func_87901200(void);
|
|||
void func_87901620(void);
|
||||
s32 func_8790168C(void);
|
||||
void func_87901720(unk_D_8140E728* arg0);
|
||||
void func_87901804(s32 arg0, f32 arg1, Vec3f arg2, func_unk_D_8140E720_008 arg3, unk_D_8140E728_01C* arg4, s16 arg5, u8 arg6, u8 arg7);
|
||||
void func_879018B0(s32 arg0, s32 arg1, s8 arg2, f32 arg3, Vec3f arg4, func_unk_D_8140E720_008 arg7, unk_D_8140E728_01C* arg8, s16 arg9, u8 argA, u8 argB);
|
||||
void func_87901804(s32 arg0, f32 arg1, Vec3f arg2, func_unk_D_8140E724_008 arg3, unk_D_8140E728_01C* arg4, s16 arg5, u8 arg6, u8 arg7);
|
||||
void func_879018B0(s32 arg0, s32 arg1, s8 arg2, f32 arg3, Vec3f arg4, func_unk_D_8140E724_008 arg7, unk_D_8140E728_01C* arg8, s16 arg9, u8 argA, u8 argB);
|
||||
void func_87901958(unk_D_8140E720* arg0, unk_D_8140E728* arg1, s16 arg2);
|
||||
void func_87901A28(unk_D_8140E728* arg0);
|
||||
void func_87901ADC(unk_D_8140E728* arg0);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#include "fragment3.h"
|
||||
#include "include/libc/math.h"
|
||||
#include "include/math.h"
|
||||
#include "src/17300.h"
|
||||
#include "src/18140.h"
|
||||
#include "src/1C720.h"
|
||||
|
|
|
|||
|
|
@ -5,12 +5,12 @@
|
|||
#include "src/12D80.h"
|
||||
|
||||
void func_87901620(void) {
|
||||
D_8140E720 = main_pool_alloc(0xF870, 0);
|
||||
bzero(D_8140E720, 0xF870);
|
||||
D_8140E720 = main_pool_alloc(sizeof(unk_D_8140E720) * 300, 0);
|
||||
bzero(D_8140E720, sizeof(unk_D_8140E720) * 300);
|
||||
D_8140E72C = 0;
|
||||
|
||||
D_8140E728 = main_pool_alloc(0x1800, 0);
|
||||
bzero(D_8140E728, 0x1800);
|
||||
D_8140E728 = main_pool_alloc(sizeof(unk_D_8140E728) * 128, 0);
|
||||
bzero(D_8140E728, sizeof(unk_D_8140E728) * 128);
|
||||
D_8140E734 = 0;
|
||||
}
|
||||
|
||||
|
|
@ -58,7 +58,7 @@ void func_87901720(unk_D_8140E728* arg0) {
|
|||
arg0->unk_26 = arg0->unk_28;
|
||||
}
|
||||
|
||||
s32 func_87901738(s32 arg0, s32 arg1, s8 arg2, f32 arg3, Vec3f arg4, Vec3s arg7, func_unk_D_8140E720_008 arg9,
|
||||
s32 func_87901738(s32 arg0, s32 arg1, s8 arg2, f32 arg3, Vec3f arg4, Vec3s arg7, func_unk_D_8140E724_008 arg9,
|
||||
unk_D_8140E728_01C* argA, s32 argB, u8 argC, s16 argD, u8 argE, u8 argF, u8 arg10) {
|
||||
unk_D_8140E728* temp_v0 = (unk_D_8140E728*)func_8790168C();
|
||||
|
||||
|
|
@ -90,7 +90,7 @@ s32 func_87901738(s32 arg0, s32 arg1, s8 arg2, f32 arg3, Vec3f arg4, Vec3s arg7,
|
|||
return (s32)temp_v0;
|
||||
}
|
||||
|
||||
void func_87901804(s32 arg0, f32 arg1, Vec3f arg2, func_unk_D_8140E720_008 arg3, unk_D_8140E728_01C* arg4, s16 arg5,
|
||||
void func_87901804(s32 arg0, f32 arg1, Vec3f arg2, func_unk_D_8140E724_008 arg3, unk_D_8140E728_01C* arg4, s16 arg5,
|
||||
u8 arg6, u8 arg7) {
|
||||
Vec3s sp50;
|
||||
|
||||
|
|
@ -99,7 +99,7 @@ void func_87901804(s32 arg0, f32 arg1, Vec3f arg2, func_unk_D_8140E720_008 arg3,
|
|||
func_87901738(arg0, 0, 1, arg1, arg2, sp50, arg3, arg4, 0, 0, arg5, arg6, arg7, 0);
|
||||
}
|
||||
|
||||
void func_879018B0(s32 arg0, s32 arg1, s8 arg2, f32 arg3, Vec3f arg4, func_unk_D_8140E720_008 arg7,
|
||||
void func_879018B0(s32 arg0, s32 arg1, s8 arg2, f32 arg3, Vec3f arg4, func_unk_D_8140E724_008 arg7,
|
||||
unk_D_8140E728_01C* arg8, s16 arg9, u8 argA, u8 argB) {
|
||||
Vec3s sp50;
|
||||
|
||||
|
|
@ -213,7 +213,7 @@ void func_87901C98(void) {
|
|||
gSPMatrix(gDisplayListHead++, D_87906054->unk_24.mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, D_87906054->unk_60.p_mtxf, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION);
|
||||
|
||||
D_8140E620 = func_80005F5C(0x5BE0);
|
||||
D_8140E620 = func_80005F5C(sizeof(unk_D_8140E620));
|
||||
D_8140E624 = 0;
|
||||
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DB30);
|
||||
|
|
|
|||
|
|
@ -3,8 +3,13 @@
|
|||
|
||||
#include "global.h"
|
||||
|
||||
typedef void (*func_unk_D_8140E720_008)(struct unk_D_8140E720*);
|
||||
typedef void (*func_unk_D_8140E720_00C)(struct unk_D_8140E720*, unk_D_86002F34_00C*);
|
||||
struct unk_D_8140E720;
|
||||
struct unk_D_8140E728_01C_004_1;
|
||||
struct unk_D_84390010;
|
||||
struct unk_D_8140E724;
|
||||
|
||||
typedef void (*func_unk_D_8140E724_008)(struct unk_D_8140E720*);
|
||||
typedef void (*func_unk_D_8140E724_00C)(struct unk_D_8140E720*, unk_D_86002F34_00C*);
|
||||
typedef void (*unk_D_8140E728_01C_004_1_04)(struct unk_D_8140E720*, s32, struct unk_D_8140E728_01C_004_1*);
|
||||
typedef void (*unk_D_8140E728_01C_004_1_08)(struct unk_D_8140E720*, s32, struct unk_D_8140E728_01C_004_1*);
|
||||
|
||||
|
|
@ -24,23 +29,23 @@ typedef struct unk_D_8140E728_01C_004_1 {
|
|||
/* 0x04 */ unk_D_8140E728_01C_004_1_04 unk_04;
|
||||
/* 0x08 */ unk_D_8140E728_01C_004_1_08 unk_08;
|
||||
/* 0x0C */ unk_D_8140E728_01C_00C unk_0C;
|
||||
} unk_D_8140E728_01C_004_1; // size >= 0x10
|
||||
} unk_D_8140E728_01C_004_1; // size = 0x10
|
||||
|
||||
typedef union unk_D_8140E728_01C_004 {
|
||||
unk_D_8140E728_01C_004_1* a;
|
||||
func_unk_D_8140E720_00C func;
|
||||
func_unk_D_8140E724_00C func;
|
||||
} unk_D_8140E728_01C_004;
|
||||
|
||||
typedef struct unk_D_8140E728_01C {
|
||||
/* 0x00 */ s32 unk_00; /* unk_04: 1 = a, 3 = func */
|
||||
/* 0x04 */ unk_D_8140E728_01C_004 unk_04;
|
||||
} unk_D_8140E728_01C; // size = 0x10
|
||||
} unk_D_8140E728_01C; // size = 0x08
|
||||
|
||||
typedef struct unk_D_8140E728 {
|
||||
/* 0x00 */ f32 unk_00;
|
||||
/* 0x04 */ Vec3f unk_04;
|
||||
/* 0x10 */ Vec3s unk_10;
|
||||
/* 0x18 */ func_unk_D_8140E720_008 unk_18;
|
||||
/* 0x18 */ func_unk_D_8140E724_008 unk_18;
|
||||
/* 0x1C */ unk_D_8140E728_01C* unk_1C;
|
||||
/* 0x20 */ s32 unk_20;
|
||||
/* 0x24 */ u16 unk_24;
|
||||
|
|
@ -54,21 +59,13 @@ typedef struct unk_D_8140E728 {
|
|||
/* 0x2F */ u8 unk_2F;
|
||||
} unk_D_8140E728; // size = 0x30
|
||||
|
||||
typedef struct unk_D_8140E720_014 {
|
||||
/* 0x00 */ char unk00[0x1D];
|
||||
/* 0x1D */ u8 unk_1D;
|
||||
/* 0x1E */ Vec3s unk_1E;
|
||||
/* 0x24 */ Vec3f unk_24;
|
||||
/* 0x30 */ Vec3f unk_30;
|
||||
} unk_D_8140E720_014; // size >= 0x3C
|
||||
|
||||
typedef struct unk_D_8140E720 {
|
||||
/* 0x00 */ struct unk_D_8140E720* next;
|
||||
/* 0x04 */ struct unk_D_8140E720* prev;
|
||||
/* 0x08 */ func_unk_D_8140E720_008 unk_08;
|
||||
/* 0x08 */ func_unk_D_8140E724_008 unk_08;
|
||||
/* 0x0C */ unk_D_8140E728_01C* unk_0C;
|
||||
/* 0x10 */ s32 unk_10;
|
||||
/* 0x14 */ unk_D_8140E720_014* unk_14;
|
||||
/* 0x10 */ struct unk_D_84390010* unk_10;
|
||||
/* 0x14 */ unk_D_86002F58_004_000* unk_14;
|
||||
/* 0x18 */ u32 unk_18;
|
||||
/* 0x1C */ f32 unk_1C;
|
||||
/* 0x20 */ f32 unk_20;
|
||||
|
|
@ -111,7 +108,7 @@ typedef struct unk_D_8140E720 {
|
|||
/* 0xC7 */ s8 unk_C7;
|
||||
/* 0xC8 */ char unkC8[0x2];
|
||||
/* 0xCA */ u8 unk_CA;
|
||||
/* 0xCB */ char unkCB[0x1];
|
||||
/* 0xCB */ u8 unk_CB;
|
||||
/* 0xCC */ u8 unk_CC;
|
||||
/* 0xCD */ u8 unk_CD;
|
||||
/* 0xCE */ u8 unk_CE;
|
||||
|
|
@ -119,10 +116,25 @@ typedef struct unk_D_8140E720 {
|
|||
/* 0xD0 */ s8 unk_D0;
|
||||
} unk_D_8140E720; // size = 0xD4
|
||||
|
||||
typedef struct arg1_func_8140213C {
|
||||
/* 0x00 */ char unk00[0x64];
|
||||
/* 0x64 */ MtxF unk_64;
|
||||
} arg1_func_8140213C; // size >= 0xA4
|
||||
typedef void (*func_unk_D_8140E724)(struct unk_D_8140E720*);
|
||||
|
||||
typedef struct unk_D_8140E724 {
|
||||
/* 0x00 */ func_unk_D_8140E724 unk_00;
|
||||
/* 0x04 */ unk_D_8140E728_01C* unk_04;
|
||||
/* 0x08 */ struct unk_D_84390010* unk_08;
|
||||
/* 0x0C */ s16 unk_0C;
|
||||
/* 0x0E */ s16 unk_0E;
|
||||
/* 0x10 */ s16 unk_10;
|
||||
/* 0x12 */ s16 unk_12;
|
||||
/* 0x14 */ s8 unk_14;
|
||||
/* 0x15 */ s8 unk_15;
|
||||
/* 0x16 */ u8 unk_16;
|
||||
/* 0x17 */ u8 unk_17;
|
||||
/* 0x18 */ u8 unk_18;
|
||||
/* 0x19 */ u8 unk_19;
|
||||
/* 0x1A */ u8 unk_1A;
|
||||
/* 0x1B */ u8 unk_1B;
|
||||
} unk_D_8140E724; // size = 0x1C
|
||||
|
||||
typedef struct arg1_func_87903D64_014 {
|
||||
/* 0x00 */ s32 unk_00;
|
||||
|
|
@ -132,7 +144,7 @@ typedef struct arg1_func_87903D64_014 {
|
|||
/* 0x10 */ unk_D_86002F34_000_014_010* unk_10;
|
||||
/* 0x14 */ unk_D_86002F34_000_014_010* unk_14;
|
||||
/* 0x18 */ unk_D_86002F34_000_014_010* unk_18;
|
||||
} arg1_func_87903D64_014;
|
||||
} arg1_func_87903D64_014; // size = 0x1C
|
||||
|
||||
// Possibly unk_D_86002F34_alt7, unk_D_86002F34_alt8,
|
||||
// unk_D_86002F34_alt9 or unk_D_86002F34_alt2
|
||||
|
|
@ -217,10 +229,31 @@ typedef struct arg1_func_81407874 {
|
|||
/* 0x00 */ arg1_func_81407874_014* unk_14;
|
||||
} arg1_func_81407874; // size >= 0x18
|
||||
|
||||
typedef struct unk_D_8140E634_010 {
|
||||
/* 0x00 */ MtxF unk_00;
|
||||
/* 0x40 */ Vec3f unk_40;
|
||||
/* 0x4C */ Vec3f unk_4C;
|
||||
/* 0x58 */ Vec3f unk_58;
|
||||
/* 0x64 */ Vec3f unk_64;
|
||||
/* 0x70 */ s16 unk_70;
|
||||
/* 0x72 */ s16 unk_72;
|
||||
/* 0x74 */ char unk74[0x2];
|
||||
/* 0x76 */ s16 unk_76;
|
||||
/* 0x78 */ s16 unk_78;
|
||||
} unk_D_8140E634_010; // size = 0x7C
|
||||
|
||||
typedef struct unk_D_8140E634 {
|
||||
/* 0x00 */ Vec3f unk_00;
|
||||
/* 0x0C */ char unk0C[0x84];
|
||||
} unk_D_8140E634; // size = 0x90
|
||||
/* 0x0C */ unk_D_86002F34_00C* unk_0C;
|
||||
/* 0x10 */ unk_D_8140E634_010 unk_10;
|
||||
} unk_D_8140E634; // size = 0x8C
|
||||
|
||||
typedef struct unk_D_8140E620 {
|
||||
/* 0x0000 */ MtxF unk_0000[364];
|
||||
/* 0x5B00 */ char unk5B00[0x80];
|
||||
/* 0x5B80 */ Mtx unk_5B80;
|
||||
/* 0x5BC0 */ char unk5BC0[0x20];
|
||||
} unk_D_8140E620; // size = 0x5BE0
|
||||
|
||||
extern Gfx D_8140DAE0[];
|
||||
extern Gfx D_8140DB30[];
|
||||
|
|
@ -263,10 +296,11 @@ extern unk_D_8140E728_01C D_8140E460;
|
|||
|
||||
extern u8 D_8140E538[];
|
||||
|
||||
extern MtxF* D_8140E620;
|
||||
extern unk_D_8140E620* D_8140E620;
|
||||
extern s32 D_8140E624;
|
||||
extern s32 D_8140E624;
|
||||
extern unk_D_8140E634 D_8140E628;
|
||||
extern unk_D_8140E634_010* D_8140E6B4;
|
||||
extern u32 D_8140E6B8;
|
||||
extern s32 D_8140E6BC;
|
||||
extern s32 D_8140E6C0;
|
||||
|
|
@ -291,8 +325,10 @@ extern s32 D_8140E708;
|
|||
extern s32 D_8140E70C;
|
||||
extern s32 D_8140E710;
|
||||
extern unk_D_8140E720* D_8140E720;
|
||||
extern unk_D_8140E724* D_8140E724;
|
||||
extern unk_D_8140E728* D_8140E728;
|
||||
extern s32 D_8140E72C;
|
||||
extern s32 D_8140E730;
|
||||
extern s32 D_8140E734;
|
||||
|
||||
void func_81400020(s32* arg0, s32 arg1);
|
||||
|
|
@ -372,10 +408,10 @@ void func_81401E84(MtxF* arg0, Vec3f arg1, Vec3f arg2, s16 arg3, f32 arg4);
|
|||
void func_81401FC0(Vec3f arg0, Vec3s arg1, f32 arg2);
|
||||
void func_8140203C(Vec3f arg0, Vec3s arg1, f32 arg2);
|
||||
void func_814020B8(Vec3f arg0, Vec3s arg1, f32 arg2, f32 arg3);
|
||||
void func_8140213C(arg1_func_8140213C* arg0, Vec3f arg1, f32 arg4);
|
||||
void func_814021A4(arg1_func_8140213C* arg0, Vec3f arg1, f32 arg4, s16 arg5);
|
||||
void func_81402214(arg1_func_8140213C* arg0, Vec3f arg1, f32 arg4);
|
||||
void func_8140227C(arg1_func_8140213C* arg0, Vec3f arg1, f32 arg4, s16 arg5);
|
||||
void func_8140213C(unk_D_86002F34_00C* arg0, Vec3f arg1, f32 arg4);
|
||||
void func_814021A4(unk_D_86002F34_00C* arg0, Vec3f arg1, f32 arg4, s16 arg5);
|
||||
void func_81402214(unk_D_86002F34_00C* arg0, Vec3f arg1, f32 arg4);
|
||||
void func_8140227C(unk_D_86002F34_00C* arg0, Vec3f arg1, f32 arg4, s16 arg5);
|
||||
void func_814022EC(Vec3f arg0, Vec3s arg3, f32 arg5);
|
||||
void func_8140238C(Vec3f arg0, Vec3f arg3, f32 arg6);
|
||||
|
||||
|
|
@ -399,6 +435,7 @@ void func_81402E14(u8* texture, s32 fmt, s32 width, s32 height, s32 cms, s32 cmt
|
|||
void func_814030C0(u8* texture, s32 fmt, s32 width, s32 height, s32 cms, s32 cmt, s32 masks, s32 maskt, s32 shifts, s32 shiftt);
|
||||
void func_814032B4(u8* texture, s32 fmt, s32 width, s32 height, s32 cms, s32 cmt, s32 masks, s32 maskt, s32 shifts, s32 shiftt);
|
||||
void func_8140353C(u8* texture, s32 fmt, s32 width, s32 height, s32 cms, s32 cmt, s32 masks, s32 maskt, s32 shifts, s32 shiftt);
|
||||
void func_81403754(u8* texture, s32 tmem, s32 rtile, s32 fmt, s32 width, s32 height, s32 cms, s32 cmt, s32 masks, s32 maskt, s32 shifts, s32 shiftt);
|
||||
void func_81403A20(u8* texture, s32 width, s32 height);
|
||||
void func_81403A6C(u8* texture, s32 width, s32 height);
|
||||
void func_81403AB8(u8* texture, s32 width, s32 height);
|
||||
|
|
@ -439,12 +476,12 @@ void func_81404ABC(Vec3f arg0, Vec3s arg1, f32 arg2, Vtx* arg3);
|
|||
void func_81404B78(Vec3f arg0, Vec3s arg1, f32 arg3, Vtx* arg4);
|
||||
void func_81404C34(Vec3f arg0, Vec3s arg1, f32 arg2, f32 arg3, Vtx* arg4);
|
||||
void func_81404CF8(Vec3f arg0, Vec3s arg1, f32 arg2, Vtx* arg3);
|
||||
void func_81404DB4(arg1_func_8140213C* arg0, Vec3f arg1, f32 arg2, Vtx* arg3);
|
||||
void func_81404E4C(arg1_func_8140213C* arg0, Vec3f arg1, f32 arg2, Vtx* arg3, s16 arg4);
|
||||
void func_81404EEC(arg1_func_8140213C* arg0, Vec3f arg1, f32 arg2, Vtx* arg3);
|
||||
void func_81404F84(arg1_func_8140213C* arg0, Vec3f arg1, f32 arg2, Vtx* arg3, s16 arg4);
|
||||
void func_81405024(arg1_func_8140213C* arg0, Vec3f arg1, f32 arg2, Vtx* arg3);
|
||||
void func_814050BC(arg1_func_8140213C* arg0, Vec3f arg1, f32 arg2, Vtx* arg3, s16 arg4);
|
||||
void func_81404DB4(unk_D_86002F34_00C* arg0, Vec3f arg1, f32 arg2, Vtx* arg3);
|
||||
void func_81404E4C(unk_D_86002F34_00C* arg0, Vec3f arg1, f32 arg2, Vtx* arg3, s16 arg4);
|
||||
void func_81404EEC(unk_D_86002F34_00C* arg0, Vec3f arg1, f32 arg2, Vtx* arg3);
|
||||
void func_81404F84(unk_D_86002F34_00C* arg0, Vec3f arg1, f32 arg2, Vtx* arg3, s16 arg4);
|
||||
void func_81405024(unk_D_86002F34_00C* arg0, Vec3f arg1, f32 arg2, Vtx* arg3);
|
||||
void func_814050BC(unk_D_86002F34_00C* arg0, Vec3f arg1, f32 arg2, Vtx* arg3, s16 arg4);
|
||||
void func_8140515C(u8* texture, Vtx* vtx, s32 arg2, s32 arg3, s32 width, s32 height);
|
||||
void func_81405308(u8* texture, Vtx* vtx, s32 arg2, s32 arg3, s32 width, s32 height);
|
||||
void func_814054B4(u8* texture, Vtx* vtx, s32 arg2, s32 arg3, s32 width, s32 height);
|
||||
|
|
@ -485,10 +522,10 @@ unk_D_8140E720* func_81407A30(void);
|
|||
void func_81407B04(unk_D_8140E720* arg0);
|
||||
unk_D_8140E720* func_81407B3C(void);
|
||||
unk_D_8140E720* func_81407B5C(u8 arg0);
|
||||
void func_81407D48(f32 arg0, Vec3f arg1, Vec3s arg2, func_unk_D_8140E720_008 arg3, unk_D_8140E728_01C* arg4, s16 arg5);
|
||||
void func_81407E30(f32 arg0, Vec3f arg1, Vec3s arg2, func_unk_D_8140E720_008 arg3, unk_D_8140E728_01C* arg4, s16 arg5, s16 arg6);
|
||||
void func_81407F24(unk_D_86002F58_004_000* arg0, func_unk_D_8140E720_008 arg1, unk_D_8140E728_01C* arg2, s16 arg3, s16 arg4);
|
||||
void func_81407FC8(unk_D_86002F58_004_000* arg0, func_unk_D_8140E720_008 arg1, unk_D_8140E728_01C* arg2, s16 arg3, s16 arg4, s16 arg5);
|
||||
void func_81407D48(f32 arg0, Vec3f arg1, Vec3s arg2, func_unk_D_8140E724_008 arg3, unk_D_8140E728_01C* arg4, s16 arg5);
|
||||
void func_81407E30(f32 arg0, Vec3f arg1, Vec3s arg2, func_unk_D_8140E724_008 arg3, unk_D_8140E728_01C* arg4, s16 arg5, s16 arg6);
|
||||
void func_81407F24(unk_D_86002F58_004_000* arg0, func_unk_D_8140E724_008 arg1, unk_D_8140E728_01C* arg2, s16 arg3, s16 arg4);
|
||||
void func_81407FC8(unk_D_86002F58_004_000* arg0, func_unk_D_8140E724_008 arg1, unk_D_8140E728_01C* arg2, s16 arg3, s16 arg4, s16 arg5);
|
||||
s32 func_81408078(void);
|
||||
s32 func_814080EC(void);
|
||||
void func_8140810C(unk_D_8140E720* arg0);
|
||||
|
|
@ -742,7 +779,7 @@ s32 func_8140BF98(unk_D_8140E720* arg0, s16 arg1, s16 arg2);
|
|||
void func_8140BFEC(unk_D_8140E720* arg0, s16 arg1);
|
||||
s32 func_8140C000(unk_D_8140E720* arg0, s16 arg1, s16 arg2);
|
||||
s16 func_8140C038(unk_D_8140E720* arg0);
|
||||
u8 func_8140C040(unk_D_8140E720* arg0);
|
||||
s32 func_8140C040(unk_D_8140E720* arg0);
|
||||
u8 func_8140C048(unk_D_8140E720* arg0);
|
||||
s16 func_8140C050(unk_D_8140E720* arg0);
|
||||
s16 func_8140C058(unk_D_8140E720* arg0);
|
||||
|
|
@ -769,6 +806,58 @@ void func_8140C5BC(UNUSED unk_D_8140E720* arg0, UNUSED unk_D_86002F34_00C* arg1)
|
|||
void func_8140C5D0(void);
|
||||
void func_8140C734(void);
|
||||
|
||||
void func_8140D5A0(unk_D_8140E720*, u16);
|
||||
|
||||
void func_8140C760(UNUSED unk_D_8140E720* arg0, u8* texture);
|
||||
void func_8140C78C(unk_D_8140E720* arg0, u8* texture);
|
||||
void func_8140C7C0(UNUSED unk_D_8140E720* arg0, u8* texture);
|
||||
void func_8140C7EC(unk_D_8140E720* arg0, u8* texture);
|
||||
void func_8140C820(UNUSED unk_D_8140E720* arg0, u8* texture);
|
||||
void func_8140C84C(unk_D_8140E720* arg0, u8* texture);
|
||||
void func_8140C880(UNUSED unk_D_8140E720* arg0, u8* texture);
|
||||
void func_8140C8B8(UNUSED unk_D_8140E720* arg0, u8* texture);
|
||||
void func_8140C8F4(UNUSED unk_D_8140E720* arg0, u8* texture);
|
||||
void func_8140C930(UNUSED unk_D_8140E720* arg0, u8* texture);
|
||||
void func_8140C96C(UNUSED unk_D_8140E720* arg0, u8* texture);
|
||||
void func_8140C9B0(unk_D_8140E720* arg0, u8* texture);
|
||||
void func_8140C9EC(UNUSED unk_D_8140E720* arg0, u8* texture);
|
||||
void func_8140CA30(unk_D_8140E720* arg0, u8* texture);
|
||||
void func_8140CA64(UNUSED unk_D_8140E720* arg0, u8* texture);
|
||||
void func_8140CA90(UNUSED unk_D_8140E720* arg0, u8* texture);
|
||||
void func_8140CAC8(UNUSED unk_D_8140E720* arg0, u8* texture);
|
||||
void func_8140CB04(unk_D_8140E720* arg0, u8* texture);
|
||||
void func_8140CB38(UNUSED unk_D_8140E720* arg0, u8* texture);
|
||||
void func_8140CB64(UNUSED unk_D_8140E720* arg0, u8* texture);
|
||||
void func_8140CB90(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1);
|
||||
void func_8140CC04(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1);
|
||||
s32 func_8140CC90(unk_D_8140E720* arg0, UNUSED unk_D_86002F34_00C* arg1);
|
||||
void func_8140CD80(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1);
|
||||
void func_8140CDDC(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1);
|
||||
void func_8140CE68(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1);
|
||||
void func_8140CED4(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1);
|
||||
void func_8140CF30(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1);
|
||||
void func_8140CFBC(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1);
|
||||
void func_8140D050(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1);
|
||||
void func_8140D0E4(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1);
|
||||
void func_8140D170(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1);
|
||||
void func_8140D1FC(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1);
|
||||
void func_8140D288(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1);
|
||||
s32 func_8140D314(unk_D_8140E720* arg0, UNUSED unk_D_86002F34_00C* arg1);
|
||||
void func_8140D404(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1);
|
||||
void func_8140D4A8(u8* arg0, u16 arg1);
|
||||
void func_8140D4E0(u8* arg0, u8* arg1, u16 arg2);
|
||||
void func_8140D530(unk_D_8140E720* arg0, u16 arg1);
|
||||
void func_8140D568(unk_D_8140E720* arg0, u16 arg1);
|
||||
void func_8140D5A0(unk_D_8140E720* arg0, u16 arg1);
|
||||
void func_8140D5F0(unk_D_8140E720* arg0, s16 arg1);
|
||||
void func_8140D624(unk_D_8140E720* arg0, s16 arg1);
|
||||
void func_8140D658(unk_D_8140E720* arg0, s16 arg1);
|
||||
void func_8140D68C(unk_D_8140E720* arg0, s16 arg1);
|
||||
void func_8140D6C0(unk_D_8140E720* arg0, s16 arg1);
|
||||
void func_8140D708(unk_D_8140E720* arg0, s16 arg1);
|
||||
void func_8140D750(unk_D_8140E720* arg0);
|
||||
void func_8140D78C(unk_D_8140E720* arg0);
|
||||
s32 func_8140D7C8(unk_D_8140E720* arg0, u16 arg1, u8 arg2);
|
||||
s32 func_8140D868(unk_D_8140E720* arg0, u16 arg1, u8 arg2);
|
||||
s32 func_8140D908(unk_D_8140E720* arg0, u16 arg1, u8 arg2);
|
||||
|
||||
#endif // _FRAGMENT34_H_
|
||||
|
|
|
|||
|
|
@ -1,12 +1,13 @@
|
|||
#include "fragment34.h"
|
||||
#include "include/libc/math.h"
|
||||
#include "include/math.h"
|
||||
#include "src/F420.h"
|
||||
#include "src/math_util.h"
|
||||
|
||||
MtxF* D_8140E620;
|
||||
unk_D_8140E620* D_8140E620;
|
||||
s32 D_8140E624;
|
||||
s32 D_8140E624;
|
||||
unk_D_8140E634 D_8140E628;
|
||||
unk_D_8140E634_010* D_8140E6B4;
|
||||
u32 D_8140E6B8;
|
||||
s32 D_8140E6BC;
|
||||
s32 D_8140E6C0;
|
||||
|
|
@ -30,11 +31,12 @@ s32 D_8140E704;
|
|||
s32 D_8140E708;
|
||||
s32 D_8140E70C;
|
||||
s32 D_8140E710;
|
||||
s32 pad_D_8140E714[2];
|
||||
static s32 pad_D_8140E714[2];
|
||||
unk_D_8140E720* D_8140E720;
|
||||
s32 pad_D_8140E724;
|
||||
unk_D_8140E724* D_8140E724;
|
||||
unk_D_8140E728* D_8140E728;
|
||||
s32 D_8140E72C;
|
||||
s32 D_8140E730;
|
||||
s32 D_8140E734;
|
||||
|
||||
void func_81400020(s32* arg0, s32 arg1) {
|
||||
|
|
@ -725,9 +727,9 @@ void func_8140138C(void) {
|
|||
|
||||
void func_81401394(MtxF* arg0) {
|
||||
if (D_8140E624 < 0x16C) {
|
||||
func_80010090((MtxF*)((u32)D_8140E620 + (D_8140E624 * sizeof(MtxF))), arg0);
|
||||
func_80010090(&D_8140E620->unk_0000[D_8140E624], arg0);
|
||||
|
||||
gSPMatrix(gDisplayListHead++, ((u32)D_8140E620 + (D_8140E624 * sizeof(MtxF))) & 0x1FFFFFFF,
|
||||
gSPMatrix(gDisplayListHead++, (u32)&D_8140E620->unk_0000[D_8140E624] & 0x1FFFFFFF,
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
|
||||
D_8140E624++;
|
||||
|
|
@ -1060,31 +1062,31 @@ void func_814020B8(Vec3f arg0, Vec3s arg1, f32 arg2, f32 arg3) {
|
|||
func_81401394(&sp28);
|
||||
}
|
||||
|
||||
void func_8140213C(arg1_func_8140213C* arg0, Vec3f arg1, f32 arg4) {
|
||||
void func_8140213C(unk_D_86002F34_00C* arg0, Vec3f arg1, f32 arg4) {
|
||||
MtxF sp20;
|
||||
|
||||
func_81401ABC(&sp20, &arg0->unk_64, arg1, arg4);
|
||||
func_81401ABC(&sp20, &arg0->unk_60.mtxf, arg1, arg4);
|
||||
func_81401394(&sp20);
|
||||
}
|
||||
|
||||
void func_814021A4(arg1_func_8140213C* arg0, Vec3f arg1, f32 arg4, s16 arg5) {
|
||||
void func_814021A4(unk_D_86002F34_00C* arg0, Vec3f arg1, f32 arg4, s16 arg5) {
|
||||
MtxF sp28;
|
||||
|
||||
func_81401C04(&sp28, &arg0->unk_64, arg1, arg4, arg5);
|
||||
func_81401C04(&sp28, &arg0->unk_60.mtxf, arg1, arg4, arg5);
|
||||
func_81401394(&sp28);
|
||||
}
|
||||
|
||||
void func_81402214(arg1_func_8140213C* arg0, Vec3f arg1, f32 arg4) {
|
||||
void func_81402214(unk_D_86002F34_00C* arg0, Vec3f arg1, f32 arg4) {
|
||||
MtxF sp20;
|
||||
|
||||
func_81401B6C(&sp20, &arg0->unk_64, arg1, arg4);
|
||||
func_81401B6C(&sp20, &arg0->unk_60.mtxf, arg1, arg4);
|
||||
func_81401394(&sp20);
|
||||
}
|
||||
|
||||
void func_8140227C(arg1_func_8140213C* arg0, Vec3f arg1, f32 arg4, s16 arg5) {
|
||||
void func_8140227C(unk_D_86002F34_00C* arg0, Vec3f arg1, f32 arg4, s16 arg5) {
|
||||
MtxF sp28;
|
||||
|
||||
func_81401D50(&sp28, &arg0->unk_64, arg1, arg4, arg5);
|
||||
func_81401D50(&sp28, &arg0->unk_60.mtxf, arg1, arg4, arg5);
|
||||
func_81401394(&sp28);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -702,42 +702,42 @@ void func_81404CF8(Vec3f arg0, Vec3s arg1, f32 arg2, Vtx* arg3) {
|
|||
gSPDisplayList(gDisplayListHead++, D_8140E3F8);
|
||||
}
|
||||
|
||||
void func_81404DB4(arg1_func_8140213C* arg0, Vec3f arg1, f32 arg2, Vtx* arg3) {
|
||||
void func_81404DB4(unk_D_86002F34_00C* arg0, Vec3f arg1, f32 arg2, Vtx* arg3) {
|
||||
func_8140213C(arg0, arg1, arg2);
|
||||
|
||||
gSPVertex(gDisplayListHead++, arg3, 4, 0);
|
||||
gSPDisplayList(gDisplayListHead++, D_8140E408);
|
||||
}
|
||||
|
||||
void func_81404E4C(arg1_func_8140213C* arg0, Vec3f arg1, f32 arg2, Vtx* arg3, s16 arg4) {
|
||||
void func_81404E4C(unk_D_86002F34_00C* arg0, Vec3f arg1, f32 arg2, Vtx* arg3, s16 arg4) {
|
||||
func_814021A4(arg0, arg1, arg2, arg4);
|
||||
|
||||
gSPVertex(gDisplayListHead++, arg3, 4, 0);
|
||||
gSPDisplayList(gDisplayListHead++, D_8140E408);
|
||||
}
|
||||
|
||||
void func_81404EEC(arg1_func_8140213C* arg0, Vec3f arg1, f32 arg2, Vtx* arg3) {
|
||||
void func_81404EEC(unk_D_86002F34_00C* arg0, Vec3f arg1, f32 arg2, Vtx* arg3) {
|
||||
func_81402214(arg0, arg1, arg2);
|
||||
|
||||
gSPVertex(gDisplayListHead++, arg3, 4, 0);
|
||||
gSPDisplayList(gDisplayListHead++, D_8140E408);
|
||||
}
|
||||
|
||||
void func_81404F84(arg1_func_8140213C* arg0, Vec3f arg1, f32 arg2, Vtx* arg3, s16 arg4) {
|
||||
void func_81404F84(unk_D_86002F34_00C* arg0, Vec3f arg1, f32 arg2, Vtx* arg3, s16 arg4) {
|
||||
func_8140227C(arg0, arg1, arg2, arg4);
|
||||
|
||||
gSPVertex(gDisplayListHead++, arg3, 4, 0);
|
||||
gSPDisplayList(gDisplayListHead++, D_8140E408);
|
||||
}
|
||||
|
||||
void func_81405024(arg1_func_8140213C* arg0, Vec3f arg1, f32 arg2, Vtx* arg3) {
|
||||
void func_81405024(unk_D_86002F34_00C* arg0, Vec3f arg1, f32 arg2, Vtx* arg3) {
|
||||
func_8140213C(arg0, arg1, arg2);
|
||||
|
||||
gSPVertex(gDisplayListHead++, arg3, 3, 0);
|
||||
gSPDisplayList(gDisplayListHead++, D_8140E3F8);
|
||||
}
|
||||
|
||||
void func_814050BC(arg1_func_8140213C* arg0, Vec3f arg1, f32 arg2, Vtx* arg3, s16 arg4) {
|
||||
void func_814050BC(unk_D_86002F34_00C* arg0, Vec3f arg1, f32 arg2, Vtx* arg3, s16 arg4) {
|
||||
func_814021A4(arg0, arg1, arg2, arg4);
|
||||
|
||||
gSPVertex(gDisplayListHead++, arg3, 3, 0);
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@ unk_D_8140E720* func_81407B5C(u8 arg0) {
|
|||
return sp28;
|
||||
}
|
||||
|
||||
unk_D_8140E720* func_81407BE4(f32 arg0, Vec3f arg1, Vec3s arg2, func_unk_D_8140E720_008 arg3, unk_D_8140E728_01C* arg4,
|
||||
unk_D_8140E720* func_81407BE4(f32 arg0, Vec3f arg1, Vec3s arg2, func_unk_D_8140E724_008 arg3, unk_D_8140E728_01C* arg4,
|
||||
s16 arg5, s16 arg6, s16 arg7) {
|
||||
unk_D_8140E720* sp1C = func_81407B3C();
|
||||
|
||||
|
|
@ -131,7 +131,7 @@ unk_D_8140E720* func_81407BE4(f32 arg0, Vec3f arg1, Vec3s arg2, func_unk_D_8140E
|
|||
return sp1C;
|
||||
}
|
||||
|
||||
unk_D_8140E720* func_81407C7C(unk_D_86002F58_004_000* arg0, func_unk_D_8140E720_008 arg1, unk_D_8140E728_01C* arg2,
|
||||
unk_D_8140E720* func_81407C7C(unk_D_86002F58_004_000* arg0, func_unk_D_8140E724_008 arg1, unk_D_8140E728_01C* arg2,
|
||||
s16 arg3, s16 arg4, s16 arg5) {
|
||||
unk_D_8140E720* sp1C = func_81407B3C();
|
||||
|
||||
|
|
@ -161,7 +161,7 @@ unk_D_8140E720* func_81407C7C(unk_D_86002F58_004_000* arg0, func_unk_D_8140E720_
|
|||
return sp1C;
|
||||
}
|
||||
|
||||
void func_81407D48(f32 arg0, Vec3f arg1, Vec3s arg2, func_unk_D_8140E720_008 arg3, unk_D_8140E728_01C* arg4, s16 arg5) {
|
||||
void func_81407D48(f32 arg0, Vec3f arg1, Vec3s arg2, func_unk_D_8140E724_008 arg3, unk_D_8140E728_01C* arg4, s16 arg5) {
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < arg5; i++) {
|
||||
|
|
@ -171,7 +171,7 @@ void func_81407D48(f32 arg0, Vec3f arg1, Vec3s arg2, func_unk_D_8140E720_008 arg
|
|||
}
|
||||
}
|
||||
|
||||
void func_81407E30(f32 arg0, Vec3f arg1, Vec3s arg2, func_unk_D_8140E720_008 arg3, unk_D_8140E728_01C* arg4, s16 arg5,
|
||||
void func_81407E30(f32 arg0, Vec3f arg1, Vec3s arg2, func_unk_D_8140E724_008 arg3, unk_D_8140E728_01C* arg4, s16 arg5,
|
||||
s16 arg6) {
|
||||
s32 i;
|
||||
|
||||
|
|
@ -182,7 +182,7 @@ void func_81407E30(f32 arg0, Vec3f arg1, Vec3s arg2, func_unk_D_8140E720_008 arg
|
|||
}
|
||||
}
|
||||
|
||||
void func_81407F24(unk_D_86002F58_004_000* arg0, func_unk_D_8140E720_008 arg1, unk_D_8140E728_01C* arg2, s16 arg3,
|
||||
void func_81407F24(unk_D_86002F58_004_000* arg0, func_unk_D_8140E724_008 arg1, unk_D_8140E728_01C* arg2, s16 arg3,
|
||||
s16 arg4) {
|
||||
s32 i;
|
||||
|
||||
|
|
@ -193,7 +193,7 @@ void func_81407F24(unk_D_86002F58_004_000* arg0, func_unk_D_8140E720_008 arg1, u
|
|||
}
|
||||
}
|
||||
|
||||
void func_81407FC8(unk_D_86002F58_004_000* arg0, func_unk_D_8140E720_008 arg1, unk_D_8140E728_01C* arg2, s16 arg3,
|
||||
void func_81407FC8(unk_D_86002F58_004_000* arg0, func_unk_D_8140E724_008 arg1, unk_D_8140E728_01C* arg2, s16 arg3,
|
||||
s16 arg4, s16 arg5) {
|
||||
s32 i;
|
||||
|
||||
|
|
@ -573,20 +573,20 @@ void func_81408AF0(unk_D_8140E720* arg0) {
|
|||
arg0->unk_2C.z = arg0->unk_68.z + arg0->unk_38.z + arg0->unk_50.z;
|
||||
|
||||
if (arg0->unk_14 != NULL) {
|
||||
arg0->unk_14->unk_24.x = arg0->unk_2C.x;
|
||||
arg0->unk_14->unk_24.y = arg0->unk_2C.y;
|
||||
arg0->unk_14->unk_24.z = arg0->unk_2C.z;
|
||||
arg0->unk_14->unk_024.x = arg0->unk_2C.x;
|
||||
arg0->unk_14->unk_024.y = arg0->unk_2C.y;
|
||||
arg0->unk_14->unk_024.z = arg0->unk_2C.z;
|
||||
|
||||
arg0->unk_14->unk_30.x = arg0->unk_1C;
|
||||
arg0->unk_14->unk_30.y = arg0->unk_1C;
|
||||
arg0->unk_14->unk_30.z = arg0->unk_1C;
|
||||
arg0->unk_14->unk_030.x = arg0->unk_1C;
|
||||
arg0->unk_14->unk_030.y = arg0->unk_1C;
|
||||
arg0->unk_14->unk_030.z = arg0->unk_1C;
|
||||
|
||||
if (func_81408308(arg0, 0x200) != 0) {
|
||||
arg0->unk_14->unk_1E.x = arg0->unk_94.x;
|
||||
arg0->unk_14->unk_1E.y = arg0->unk_94.y;
|
||||
arg0->unk_14->unk_1E.z = arg0->unk_94.z;
|
||||
arg0->unk_14->unk_01E.x = arg0->unk_94.x;
|
||||
arg0->unk_14->unk_01E.y = arg0->unk_94.y;
|
||||
arg0->unk_14->unk_01E.z = arg0->unk_94.z;
|
||||
}
|
||||
arg0->unk_14->unk_1D = arg0->prim_a;
|
||||
arg0->unk_14->unk_01D = arg0->prim_a;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1880,7 +1880,7 @@ s16 func_8140C038(unk_D_8140E720* arg0) {
|
|||
return arg0->unk_AC;
|
||||
}
|
||||
|
||||
u8 func_8140C040(unk_D_8140E720* arg0) {
|
||||
s32 func_8140C040(unk_D_8140E720* arg0) {
|
||||
return arg0->unk_CE;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -124,17 +124,17 @@ void func_8140CB64(UNUSED unk_D_8140E720* arg0, u8* texture) {
|
|||
func_81404024(texture, 64, 64);
|
||||
}
|
||||
|
||||
void func_8140CB90(unk_D_8140E720* arg0, arg1_func_8140213C* arg1) {
|
||||
void func_8140CB90(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1) {
|
||||
func_81405B70(arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->prim_a);
|
||||
func_81404DB4(arg1, arg0->unk_2C, arg0->unk_1C, D_8140E018);
|
||||
}
|
||||
|
||||
void func_8140CC04(unk_D_8140E720* arg0, arg1_func_8140213C* arg1) {
|
||||
void func_8140CC04(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1) {
|
||||
func_81405C70(arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->env_r, arg0->env_g, arg0->env_b, arg0->prim_a);
|
||||
func_81404DB4(arg1, arg0->unk_2C, arg0->unk_1C, D_8140DFD8);
|
||||
}
|
||||
|
||||
s32 func_8140CC90(unk_D_8140E720* arg0, UNUSED arg1_func_8140213C* arg1) {
|
||||
s32 func_8140CC90(unk_D_8140E720* arg0, UNUSED unk_D_86002F34_00C* arg1) {
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
|
||||
func_81405C70(arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->env_r, arg0->env_g, arg0->env_b, arg0->prim_a);
|
||||
|
|
@ -143,60 +143,60 @@ s32 func_8140CC90(unk_D_8140E720* arg0, UNUSED arg1_func_8140213C* arg1) {
|
|||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
}
|
||||
|
||||
void func_8140CD80(unk_D_8140E720* arg0, arg1_func_8140213C* arg1) {
|
||||
void func_8140CD80(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1) {
|
||||
func_81404DB4(arg1, arg0->unk_2C, arg0->unk_1C, D_8140E018);
|
||||
}
|
||||
|
||||
void func_8140CDDC(unk_D_8140E720* arg0, arg1_func_8140213C* arg1) {
|
||||
void func_8140CDDC(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1) {
|
||||
func_81405C70(arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->env_r, arg0->env_g, arg0->env_b, arg0->prim_a);
|
||||
func_81404DB4(arg1, arg0->unk_2C, arg0->unk_1C, D_8140E018);
|
||||
}
|
||||
|
||||
void func_8140CE68(unk_D_8140E720* arg0, arg1_func_8140213C* arg1) {
|
||||
void func_8140CE68(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1) {
|
||||
func_81405C04(arg0->prim_a);
|
||||
func_81404E4C(arg1, arg0->unk_2C, arg0->unk_1C, D_8140E108, arg0->unk_94.z);
|
||||
}
|
||||
|
||||
void func_8140CED4(unk_D_8140E720* arg0, arg1_func_8140213C* arg1) {
|
||||
void func_8140CED4(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1) {
|
||||
func_81404DB4(arg1, arg0->unk_2C, arg0->unk_1C, D_8140E058);
|
||||
}
|
||||
|
||||
void func_8140CF30(unk_D_8140E720* arg0, arg1_func_8140213C* arg1) {
|
||||
void func_8140CF30(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1) {
|
||||
func_81405D38(arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->env_r, arg0->env_g, arg0->env_b, arg0->prim_a);
|
||||
func_81404DB4(arg1, arg0->unk_2C, arg0->unk_1C, D_8140E018);
|
||||
}
|
||||
|
||||
void func_8140CFBC(unk_D_8140E720* arg0, arg1_func_8140213C* arg1) {
|
||||
void func_8140CFBC(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1) {
|
||||
func_81405C70(arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->env_r, arg0->env_g, arg0->env_b, arg0->prim_a);
|
||||
func_81404E4C(arg1, arg0->unk_2C, arg0->unk_1C, D_8140E018, arg0->unk_94.z);
|
||||
}
|
||||
|
||||
void func_8140D050(unk_D_8140E720* arg0, arg1_func_8140213C* arg1) {
|
||||
void func_8140D050(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1) {
|
||||
func_81405C70(arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->env_r, arg0->env_g, arg0->env_b, arg0->prim_a);
|
||||
func_814050BC(arg1, arg0->unk_2C, arg0->unk_1C, D_8140E0D8, arg0->unk_94.z);
|
||||
}
|
||||
|
||||
void func_8140D0E4(unk_D_8140E720* arg0, arg1_func_8140213C* arg1) {
|
||||
void func_8140D0E4(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1) {
|
||||
func_81405C70(arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->env_r, arg0->env_g, arg0->env_b, arg0->prim_a);
|
||||
func_81404DB4(arg1, arg0->unk_2C, arg0->unk_1C, D_8140E178);
|
||||
}
|
||||
|
||||
void func_8140D170(unk_D_8140E720* arg0, arg1_func_8140213C* arg1) {
|
||||
void func_8140D170(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1) {
|
||||
func_81405C70(arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->env_r, arg0->env_g, arg0->env_b, arg0->prim_a);
|
||||
func_81404DB4(arg1, arg0->unk_2C, arg0->unk_1C, D_8140E1F8);
|
||||
}
|
||||
|
||||
void func_8140D1FC(unk_D_8140E720* arg0, arg1_func_8140213C* arg1) {
|
||||
void func_8140D1FC(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1) {
|
||||
func_81405C70(arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->env_r, arg0->env_g, arg0->env_b, arg0->prim_a);
|
||||
func_81404DB4(arg1, arg0->unk_2C, arg0->unk_1C, D_8140E1B8);
|
||||
}
|
||||
|
||||
void func_8140D288(unk_D_8140E720* arg0, arg1_func_8140213C* arg1) {
|
||||
void func_8140D288(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1) {
|
||||
func_81405C70(arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->env_r, arg0->env_g, arg0->env_b, arg0->prim_a);
|
||||
func_81404DB4(arg1, arg0->unk_2C, arg0->unk_1C, D_8140E2B8);
|
||||
}
|
||||
|
||||
s32 func_8140D314(unk_D_8140E720* arg0, UNUSED arg1_func_8140213C* arg1) {
|
||||
s32 func_8140D314(unk_D_8140E720* arg0, UNUSED unk_D_86002F34_00C* arg1) {
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
|
||||
func_81405C70(arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->env_r, arg0->env_g, arg0->env_b, arg0->prim_a);
|
||||
|
|
@ -205,7 +205,7 @@ s32 func_8140D314(unk_D_8140E720* arg0, UNUSED arg1_func_8140213C* arg1) {
|
|||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
}
|
||||
|
||||
void func_8140D404(unk_D_8140E720* arg0, arg1_func_8140213C* arg1) {
|
||||
void func_8140D404(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1) {
|
||||
func_81405C70(arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->env_r, arg0->env_g, arg0->env_b, arg0->prim_a);
|
||||
func_81404ABC(arg0->unk_2C, arg0->unk_94, arg0->unk_1C, D_8140E378);
|
||||
}
|
||||
|
|
|
|||
3216
src/fragments/62/fragment62.h
Normal file
3216
src/fragments/62/fragment62.h
Normal file
File diff suppressed because it is too large
Load Diff
|
|
@ -1,50 +1,634 @@
|
|||
#include "global.h"
|
||||
#include "fragment62.h"
|
||||
#include "src/11BA0.h"
|
||||
#include "src/12D80.h"
|
||||
#include "src/19840.h"
|
||||
#include "src/1C720.h"
|
||||
#include "src/1CF30.h"
|
||||
#include "src/20330.h"
|
||||
#include "src/32D10.h"
|
||||
#include "src/3D140.h"
|
||||
#include "src/3FB0.h"
|
||||
#include "src/4BDC0.h"
|
||||
#include "src/6A40.h"
|
||||
#include "src/F420.h"
|
||||
#include "src/controller.h"
|
||||
#include "src/geo_layout.h"
|
||||
#include "src/memmap.h"
|
||||
#include "src/memory.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2EA8E0/func_84300020.s")
|
||||
static unk_D_86002F34_00C D_8438E440;
|
||||
static unk_D_8690A610 D_8438E530;
|
||||
static GraphNode D_8438E550;
|
||||
static GraphNode D_8438E568;
|
||||
static GraphNode D_8438E580;
|
||||
static unk_D_86002F34_00C D_8438E598;
|
||||
static unk_D_86002F34_00C D_8438E688;
|
||||
u8* D_8438E778;
|
||||
u8* D_8438E77C;
|
||||
static void* D_8438E780;
|
||||
static GraphNode* D_8438E784;
|
||||
static GraphNode* D_8438E788;
|
||||
static GraphNode* D_8438E78C;
|
||||
static unk_D_80068BB0* D_8438E790;
|
||||
static unk_D_80068BB0* D_8438E794;
|
||||
static unk_D_800AE540_1194* D_8438E798;
|
||||
static s32 D_8438E79C;
|
||||
static s32 D_8438E7A0;
|
||||
static Color_RGBA8_u32 D_8438E7A4;
|
||||
static f32 D_8438E7A8;
|
||||
static s32 D_8438E7AC;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2EA8E0/func_84300058.s")
|
||||
static u8 D_84384350[] = {
|
||||
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x11, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,
|
||||
};
|
||||
static u32 D_84384364[] = {
|
||||
0x0C00FFFF, 0x05000000, 0x07000000, &D_8438E440, 0x05000000, 0x0D000000, 0x05000000, 0x07000000,
|
||||
&D_8438E530, 0x14000000, 0x002D0019, 0xFFFFFF28, 0x08000000, func_84300058, 0x00000000, 0x14000000,
|
||||
0x002D0019, 0x80808028, 0x08000000, func_843000C0, 0x00000000, 0x16646464, 0x0F000002, 0x05000000,
|
||||
0x1F00FFFF, 0x00000000, 0x00000000, 0x00000000, 0x00640064, 0x00640000, 0x08000000, func_8430012C,
|
||||
0x00000000, 0x05000000, 0x07000000, &D_8438E550, 0x06000000, 0x06000000, 0x0F000003, 0x05000000,
|
||||
0x1F00FFFF, 0x00000000, 0x00000000, 0x00000000, 0x00640064, 0x00640000, 0x08000000, func_8430012C,
|
||||
0x00000000, 0x05000000, 0x07000000, &D_8438E568, 0x06000000, 0x06000000, 0x0F000002, 0x05000000,
|
||||
0x1F00FFFF, 0x00000000, 0x00000000, 0x00000000, 0x00640064, 0x00640000, 0x08000000, func_8430012C,
|
||||
0x00000000, 0x05000000, 0x07000000, &D_8438E580, 0x06000000, 0x06000000, 0x0F000003, 0x05000000,
|
||||
0x0A000000, &D_800AC840, 0x06000000, 0x0F000002, 0x05000000, 0x0A000000, &D_800AC858, 0x06000000,
|
||||
0x09000000, 0x08000000, func_84300020, 0x00000000, 0x06000000, 0x06000000, 0x06000000, 0x01000000,
|
||||
};
|
||||
static u32 D_843844C4[] = {
|
||||
0x0C00FFFF, 0x05000000, 0x07000000, &D_8438E598, 0x05000000, 0x0D000001, 0x05000000,
|
||||
0x14000000, 0x002D0019, 0xFFFFFF28, 0x16FFFFFF, 0x0F000003, 0x05000000, 0x0A000000,
|
||||
&D_800AC840, 0x06000000, 0x06000000, 0x06000000, 0x06000000, 0x01000000,
|
||||
};
|
||||
static u32 D_84384514[] = {
|
||||
0x0C00FFFF, 0x05000000, 0x07000000, &D_8438E688, 0x05000000, 0x0D000002, 0x05000000,
|
||||
0x14000000, 0x002D0019, 0xFFFFFF28, 0x16FFFFFF, 0x0F000003, 0x05000000, 0x0A000000,
|
||||
&D_800AC840, 0x06000000, 0x06000000, 0x06000000, 0x06000000, 0x01000000,
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2EA8E0/func_843000C0.s")
|
||||
s32 func_84300020(s32 arg0, GraphNode* arg1) {
|
||||
if (arg0 == 2) {
|
||||
func_8432D0D8(5, &D_8438E440);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2EA8E0/func_8430012C.s")
|
||||
s32 func_84300058(s32 arg0, unk_D_86002F34_alt18* arg1) {
|
||||
UNUSED s32 pad;
|
||||
f32 sp28;
|
||||
s16 sp26;
|
||||
s16 sp24;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2EA8E0/func_84300184.s")
|
||||
if (arg0 == 2) {
|
||||
func_800102A4(&D_8006F088->unk_60.at, &D_8006F088->unk_60.eye, &sp28, &sp26, &sp24);
|
||||
arg1->unk_1C = sp26 + 0x2000;
|
||||
arg1->unk_1E = sp24 - 0x2000;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2EA8E0/func_843001FC.s")
|
||||
s32 func_843000C0(s32 arg0, unk_D_86002F34_alt18* arg1) {
|
||||
UNUSED s32 pad;
|
||||
f32 sp28;
|
||||
s16 sp26;
|
||||
s16 sp24;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2EA8E0/func_84300208.s")
|
||||
if (arg0 == 2) {
|
||||
func_800102A4(&D_8006F088->unk_60.at, &D_8006F088->unk_60.eye, &sp28, &sp26, &sp24);
|
||||
arg1->unk_1C = -0x2000 - sp26;
|
||||
arg1->unk_1E = sp24 + 0x6000;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2EA8E0/func_84300340.s")
|
||||
s32 func_8430012C(s32 arg0, unk_D_86002F58_004_000* arg1) {
|
||||
if (arg0 == 2) {
|
||||
func_8000E88C(&arg1->unk_030, D_8438E7A8, D_8438E7A8, D_8438E7A8);
|
||||
arg1->unk_03C.rgba = D_8438E7A4.rgba;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2EA8E0/func_84300750.s")
|
||||
void func_84300184(u8 arg0, u8 arg1, u8 arg2) {
|
||||
D_8438E7A4.r = arg0;
|
||||
D_8438E7A4.g = arg1;
|
||||
D_8438E7A4.b = arg2;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2EA8E0/func_84300810.s")
|
||||
if (((arg0 & arg1 & arg2) & 0xFF) == 0xFF) {
|
||||
if (D_8438E530.unk_00.unk_14 == 1) {
|
||||
D_8438E530.unk_00.unk_01 |= 1;
|
||||
}
|
||||
} else {
|
||||
D_8438E530.unk_00.unk_01 &= ~1;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2EA8E0/func_84300938.s")
|
||||
void func_843001FC(f32 arg0) {
|
||||
D_8438E7A8 = arg0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2EA8E0/func_84300B34.s")
|
||||
u16 func_84300208(u16 arg0) {
|
||||
s32 r;
|
||||
s32 g;
|
||||
s32 b;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2EA8E0/func_84300D44.s")
|
||||
r = ((((((arg0 >> 11) & 0x1F) << 3) + (((arg0 >> 11) & 0x1F) >> 2)) * D_8438E7A4.r) / 255) >> 3;
|
||||
g = ((((((arg0 >> 6) & 0x1F) << 3) + (((arg0 >> 6) & 0x1F) >> 2)) * D_8438E7A4.g) / 255) >> 3;
|
||||
b = ((((((arg0 >> 1) & 0x1F) << 3) + (((arg0 >> 1) & 0x1F) >> 2)) * D_8438E7A4.b) / 255) >> 3;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2EA8E0/func_84300DC0.s")
|
||||
return (r << 11) | (g << 6) | (b << 1) | 1;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2EA8E0/func_84300E88.s")
|
||||
void func_84300340(void) {
|
||||
s16 sp4E;
|
||||
s16 sp4C;
|
||||
s16 sp4A;
|
||||
s16 sp48;
|
||||
s16 sp46;
|
||||
s16 sp44;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2EA8E0/func_84300FBC.s")
|
||||
if ((u32)D_8438E780 == NULL) {
|
||||
func_800067E4(&gDisplayListHead, 0, 0, 0x140, 0xF0);
|
||||
return;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2EA8E0/func_84301094.s")
|
||||
if ((u32)D_8438E780 == -1) {
|
||||
func_8000699C(&gDisplayListHead, 1);
|
||||
return;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2EA8E0/func_843010EC.s")
|
||||
if ((u32)D_8438E780 < 0x10000) {
|
||||
func_8000699C(&gDisplayListHead, func_84300208(D_8438E780));
|
||||
return;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2EA8E0/func_8430123C.s")
|
||||
sp4E = D_8438E440.unk_18.x;
|
||||
sp4A = D_8438E440.unk_18.y;
|
||||
sp4C = D_8438E440.unk_18.width + sp4E;
|
||||
sp48 = (D_8438E440.unk_18.height / 2) + sp4A;
|
||||
sp46 = D_8438E440.unk_18.height + sp4A;
|
||||
sp44 = 0x10000 / (D_8438E440.unk_18.height / 2);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2EA8E0/func_8430128C.s")
|
||||
if ((D_8438E440.unk_18.width < 0x140) || (D_8438E440.unk_18.height < 0xF0)) {
|
||||
func_8000699C(&gDisplayListHead, 1);
|
||||
} else {
|
||||
func_800067E4(&gDisplayListHead, 0, 0, 0x140, 0xF0);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2EA8E0/func_843013E4.s")
|
||||
gDPSetCycleType(gDisplayListHead++, G_CYC_1CYCLE);
|
||||
gDPSetTexturePersp(gDisplayListHead++, G_TP_NONE);
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEI_PRIM, G_CC_MODULATEI_PRIM);
|
||||
gDPSetPrimColor(gDisplayListHead++, 0, 0, D_8438E7A4.r, D_8438E7A4.g, D_8438E7A4.b, 255);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_ZBUFFER | G_LIGHTING);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2EA8E0/func_84301430.s")
|
||||
gDPLoadTextureBlock(gDisplayListHead++, Memmap_GetFragmentVaddr(D_8438E780), G_IM_FMT_RGBA, G_IM_SIZ_32b, 4, 64, 0,
|
||||
G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD,
|
||||
G_TX_NOLOD);
|
||||
gSPTextureRectangle(gDisplayListHead++, sp4E << 2, sp4A << 2, sp4C << 2, sp48 << 2, G_TX_RENDERTILE, 0, 0, 0, sp44);
|
||||
gSPTextureRectangle(gDisplayListHead++, sp4E << 2, sp48 << 2, sp4C << 2, sp46 << 2, G_TX_RENDERTILE, 0, 0x07E0, 0,
|
||||
0);
|
||||
gSPDisplayList(gDisplayListHead++, D_8006F630);
|
||||
}
|
||||
|
||||
void func_84300750(GraphNode* arg0, unk_D_80068BB0* arg1) {
|
||||
unk_D_86002F34_00C* sp2C = arg0->unk_0C;
|
||||
unk_D_86002F34_00C_018 sp20;
|
||||
|
||||
if (sp2C->unk_00.unk_01 & 0x10) {
|
||||
sp20 = sp2C->unk_18;
|
||||
|
||||
sp2C->unk_18.x = 0;
|
||||
sp2C->unk_18.y = 0;
|
||||
sp2C->unk_18.width = 0x4C;
|
||||
sp2C->unk_18.height = 0x4C;
|
||||
|
||||
func_80006498(&gDisplayListHead, arg1);
|
||||
func_8000699C(&gDisplayListHead, 0x10D);
|
||||
func_80015094(arg0);
|
||||
|
||||
sp2C->unk_00.unk_01 &= ~0x10;
|
||||
|
||||
sp2C->unk_18 = sp20;
|
||||
}
|
||||
}
|
||||
|
||||
void func_84300810(s32 arg0, s32 arg1, s32 arg2, s32 arg3) {
|
||||
unk_D_800A7440 sp38;
|
||||
u16 tmp5;
|
||||
u16 tmp6;
|
||||
|
||||
func_80005FC0(&sp38, arg0, arg1, arg2, arg3);
|
||||
|
||||
if (func_80006030(&sp38) != 0) {
|
||||
if (!arg2) {}
|
||||
|
||||
tmp5 = ((sp38.x1 - arg0) << 5);
|
||||
tmp6 = ((sp38.y2 - arg1) << 5);
|
||||
|
||||
tmp5 += 0x10;
|
||||
tmp6 += 0x10;
|
||||
|
||||
gSPTextureRectangle(gDisplayListHead++, sp38.x1 << 2, sp38.y2 << 2, ((sp38.y1 + 1) ^ 0) << 2,
|
||||
((sp38.x2 + 1) ^ 0) << 2, G_TX_RENDERTILE, tmp5, tmp6, 0x0800, 0x0800);
|
||||
|
||||
if ((arg2 && arg2) ^ 0) {}
|
||||
}
|
||||
}
|
||||
|
||||
void func_84300938(s32 arg0, s32 arg1, s32 arg2, s32 arg3, u8* arg4, s32 arg5) {
|
||||
gDPLoadTextureBlock(gDisplayListHead++, arg4, G_IM_FMT_RGBA, G_IM_SIZ_16b, arg5, (arg3 * 2) + 2, 0,
|
||||
G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD,
|
||||
G_TX_NOLOD);
|
||||
|
||||
func_84300810(arg0, arg1, (arg0 + arg2) - 1, (arg1 + arg3) - 1);
|
||||
}
|
||||
|
||||
void func_84300B34(GraphNode* arg0, unk_D_80068BB0* arg1) {
|
||||
s32 temp_s2;
|
||||
s32 temp_s3;
|
||||
unk_D_86002F34_00C* temp_v1 = arg0->unk_0C;
|
||||
unk_D_86002F34_00C_018* ptr = &arg0->unk_0C->unk_18;
|
||||
s32 img;
|
||||
|
||||
temp_s2 = ptr->x;
|
||||
temp_s3 = ptr->y;
|
||||
|
||||
temp_v1++;
|
||||
|
||||
gDPPipeSync(gDisplayListHead++);
|
||||
|
||||
gDPSetCycleType(gDisplayListHead++, G_CYC_1CYCLE);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_OPA_SURF, G_RM_OPA_SURF2);
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_DECALRGBA, G_CC_DECALRGBA);
|
||||
gDPSetTexturePersp(gDisplayListHead++, G_TP_NONE);
|
||||
gDPSetTextureFilter(gDisplayListHead++, G_TF_AVERAGE);
|
||||
|
||||
img = arg1->img_p;
|
||||
func_84300938(temp_s2, temp_s3, 0x25, 0xA, img, 0x4C);
|
||||
img = arg1->img_p + 0xBE0;
|
||||
func_84300938(temp_s2, temp_s3 + 0xA, 0x25, 0xA, img, 0x4C);
|
||||
img = arg1->img_p + 0x17C0;
|
||||
func_84300938(temp_s2, temp_s3 + 0x14, 0x25, 0xA, img, 0x4C);
|
||||
img = arg1->img_p + 0x23A0;
|
||||
func_84300938(temp_s2, temp_s3 + 0x1E, 0x25, 7, img, 0x4C);
|
||||
|
||||
gDPPipeSync(gDisplayListHead++);
|
||||
|
||||
gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP);
|
||||
gDPSetTextureFilter(gDisplayListHead++, G_TF_BILERP);
|
||||
}
|
||||
|
||||
void func_84300D44(void) {
|
||||
s32 i;
|
||||
s32 j;
|
||||
s32 x;
|
||||
unk_D_800AE540_0004* temp_a2;
|
||||
unk_D_800AE540_1194* ptr = &D_8438E798[0];
|
||||
|
||||
for (i = 0; i < 2; i++, ptr++) {
|
||||
for (j = 0; j < ptr->unk_01; j++) {
|
||||
temp_a2 = ptr->unk_08[j];
|
||||
for (x = 0; x < temp_a2->unk_002; x++) {
|
||||
temp_a2->unk_01C[x].unk_25 = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_84300DC0(void) {
|
||||
s32 i;
|
||||
s32 j;
|
||||
s32 x;
|
||||
s32 var_v0 = 0;
|
||||
unk_D_800AE540_0004* temp_a3;
|
||||
unk_D_800AE540_1194* ptr = &D_8438E798[0];
|
||||
|
||||
for (i = 0; i < 2; i++, ptr++) {
|
||||
for (j = 0; j < ptr->unk_01; j++) {
|
||||
temp_a3 = ptr->unk_08[j];
|
||||
for (x = 0; x < temp_a3->unk_002; x++) {
|
||||
if ((temp_a3->unk_01C[x].unk_25 == 0) && (temp_a3->unk_01C[x].unk_02 == 0)) {
|
||||
var_v0 = 1;
|
||||
temp_a3->unk_01C[x].unk_25 = D_8438E7A0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (var_v0 != 0) {
|
||||
D_8438E7A0 += 1;
|
||||
}
|
||||
}
|
||||
|
||||
void func_84300E78(void) {
|
||||
}
|
||||
|
||||
void func_84300E80(void) {
|
||||
}
|
||||
|
||||
s32 func_84300E88(s32 arg0) {
|
||||
s32 sp1C;
|
||||
|
||||
func_80015348();
|
||||
func_80032570();
|
||||
func_84307394(2, D_8438E798);
|
||||
func_84307A50(2, &D_8438E598, &D_8438E688);
|
||||
sp1C = func_8432AEE4(2, &D_8438E440);
|
||||
func_8432D0D8(2, &D_8438E440);
|
||||
func_84300750(D_8438E788, D_8438E790);
|
||||
func_84300750(D_8438E78C, D_8438E794);
|
||||
func_800079C4();
|
||||
func_84300340();
|
||||
func_80015094(D_8438E784);
|
||||
func_84307394(5, D_8438E798);
|
||||
func_84300B34(D_8438E788, D_8438E790);
|
||||
func_84300B34(D_8438E78C, D_8438E794);
|
||||
func_84300DC0();
|
||||
|
||||
if (sp1C == 1) {
|
||||
D_8438E798[0].unk_1C = 1;
|
||||
}
|
||||
|
||||
if (sp1C == 2) {
|
||||
D_8438E798[1].unk_1C = 1;
|
||||
}
|
||||
|
||||
return sp1C;
|
||||
}
|
||||
|
||||
s32 func_84300FBC(s32 arg0) {
|
||||
s32 sp1C = 0;
|
||||
|
||||
if ((arg0 == 0) && BTN_IS_PRESSED(gPlayer1Controller, BTN_A)) {
|
||||
sp1C = func_84300E88(arg0);
|
||||
} else {
|
||||
func_80032570();
|
||||
func_800079C4();
|
||||
func_84300340();
|
||||
func_80015094(D_8438E784);
|
||||
func_84307394(5, D_8438E798);
|
||||
func_84300B34(D_8438E788, D_8438E790);
|
||||
func_84300B34(D_8438E78C, D_8438E794);
|
||||
}
|
||||
|
||||
if ((arg0 == 0) && BTN_IS_PRESSED(gPlayer1Controller, BTN_START)) {
|
||||
D_8438E79C = 0;
|
||||
}
|
||||
return sp1C;
|
||||
}
|
||||
|
||||
void func_84301094(void) {
|
||||
if (D_8438E7AC < 0) {
|
||||
D_8438E7AC++;
|
||||
} else if ((D_8438E7AC == 0) && (D_800AE540.unk_0000 == 0x10) && gPlayer1Controller->buttonPressed) {
|
||||
D_8438E7AC = 1;
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_843010EC(s32 arg0) {
|
||||
s32 sp1C = 0;
|
||||
|
||||
Cont_StartReadInputs();
|
||||
func_8001C07C(&D_8438E798[0]);
|
||||
func_8001C1E8(&D_8438E798[0]);
|
||||
func_8001C07C(&D_8438E798[1]);
|
||||
func_8001C1E8(&D_8438E798[1]);
|
||||
Cont_ReadInputs();
|
||||
func_8001F730();
|
||||
|
||||
switch (D_8438E79C) {
|
||||
case 0:
|
||||
sp1C = func_84300E88(arg0);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
sp1C = func_84300FBC(arg0);
|
||||
break;
|
||||
}
|
||||
|
||||
if ((sp1C != 0) && (D_8438E7AC <= 0)) {
|
||||
D_8438E7AC = 1;
|
||||
}
|
||||
|
||||
func_84301094();
|
||||
func_8001C248(&D_8438E798[0]);
|
||||
func_8001C248(&D_8438E798[1]);
|
||||
|
||||
if ((arg0 != 2) && (D_8438E7AC == 1)) {
|
||||
D_8438E7AC = 2;
|
||||
func_8003DB84(0);
|
||||
if (D_800AE540.unk_0000 != 0x11) {
|
||||
func_8004B9C4(0x1E);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void func_8430123C(u8* arg0, s32 arg1) {
|
||||
s32 i;
|
||||
s32 j;
|
||||
|
||||
for (i = 0; i < 6; i++) {
|
||||
for (j = 0; j < arg1; j++) {
|
||||
if (i == arg0[j]) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (j == arg1) {
|
||||
arg0[arg1++] = i;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_8430128C(void) {
|
||||
unk_D_800AE540_0004* temp_s0;
|
||||
unk_D_800AE540_0004* temp_s1;
|
||||
u8 sp48[8];
|
||||
unk_D_800AE540_0004* temp_s2;
|
||||
s32 i;
|
||||
s32 var_s1;
|
||||
|
||||
temp_s1 = D_800AE540.unk_1194[0].unk_08[0];
|
||||
temp_s2 = D_800AE540.unk_1194[0].unk_08[1];
|
||||
temp_s0 = D_800AE540.unk_1194[1].unk_08[0];
|
||||
|
||||
if (temp_s0->unk_000 & 2) {
|
||||
if (D_800AE540.unk_0000 == 0) {
|
||||
if (D_800AE540.unk_0001 == 0) {
|
||||
var_s1 = temp_s0->unk_214->unk_002;
|
||||
} else {
|
||||
var_s1 = 3;
|
||||
}
|
||||
func_843831A0(temp_s1, temp_s2, temp_s0, D_800AE540.unk_11EC, sp48, D_800AE540.unk_0001, var_s1);
|
||||
} else {
|
||||
if (D_800AE540.unk_0001 == 8) {
|
||||
var_s1 = temp_s0->unk_214->unk_002;
|
||||
} else {
|
||||
var_s1 = 3;
|
||||
}
|
||||
func_843831A0(temp_s1, NULL, temp_s0, temp_s0->unk_018 & 0xFF, sp48, D_800AE540.unk_0001, var_s1);
|
||||
}
|
||||
func_8430123C(sp48, var_s1);
|
||||
temp_s0->unk_002 = var_s1;
|
||||
|
||||
for (i = 0; i < temp_s0->unk_214->unk_002; i++) {
|
||||
temp_s0->unk_01C[i] = temp_s0->unk_214->unk_028[sp48[i]];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_843013E4(unk_D_800AE540_1194* arg0, unk_D_86002F30* arg1) {
|
||||
unk_D_800AE540_0004* temp_v0 = arg0->unk_08[0];
|
||||
|
||||
arg0->unk_18 = arg1->unk_08->unk_00[0];
|
||||
arg0->unk_00 |= 0xA0;
|
||||
arg0->unk_1C = 0;
|
||||
arg0->unk_02 = temp_v0->unk_01C[0].unk_00.unk_00;
|
||||
arg0->unk_04 = temp_v0->unk_01C;
|
||||
func_8001C07C(arg0);
|
||||
}
|
||||
|
||||
void func_84301430(unk_func_80007444* arg0) {
|
||||
MemoryBlock* sp44;
|
||||
u32* temp_v0_4;
|
||||
FragmentEntry sp3C;
|
||||
unk_D_8690A610_018* temp_v0_7;
|
||||
s32 pad;
|
||||
s16 sp32;
|
||||
unk_D_80068BB0* sp2C;
|
||||
unk_D_86002F30* sp28;
|
||||
|
||||
func_84300184(0xFF, 0xFF, 0xFF);
|
||||
func_843001FC(1.0f);
|
||||
|
||||
if (D_800AE540.unk_0000 == 0x11) {
|
||||
func_8001E94C(4, 0);
|
||||
} else if (D_800AE540.unk_0000 == 0x10) {
|
||||
func_8001E94C(7, 0);
|
||||
} else {
|
||||
func_8001E94C(3, 0);
|
||||
}
|
||||
|
||||
D_8438E798[0].unk_10 = func_80019760(3);
|
||||
D_8438E798[1].unk_10 = func_80019760(3);
|
||||
func_8001987C();
|
||||
|
||||
sp2C = main_pool_alloc(0x10, 0);
|
||||
func_800062E4(sp2C, 0, 2, 0x4C, 0x4C, arg0->unk_18[0]->depth_p->img_p);
|
||||
D_8438E790 = func_80006314(0, 2, 0x4C, 0x4C, 0);
|
||||
D_8438E794 = func_80006314(0, 2, 0x4C, 0x4C, 0);
|
||||
|
||||
func_80006414(D_8438E790, sp2C);
|
||||
func_80006414(D_8438E794, sp2C);
|
||||
|
||||
D_8438E778 = D_8438E790->img_p;
|
||||
D_8438E77C = D_8438E794->img_p;
|
||||
|
||||
FRAGMENT_LOAD(fragment31);
|
||||
ASSET_LOAD(D_1000000, common_menu1_ui, 0);
|
||||
ASSET_LOAD(D_3000000, battle_ui, 0);
|
||||
|
||||
if ((D_800AE540.unk_0000 == 0x10) || (D_800AE540.unk_0000 == 0xA)) {
|
||||
sp32 = D_84384350[D_800AE540.unk_0001];
|
||||
if (D_800AE540.unk_0001 == 7) {
|
||||
sp32 += D_800AE540.unk_0002;
|
||||
}
|
||||
} else {
|
||||
sp32 = D_84384350[D_800AE540.unk_0000];
|
||||
if (D_800AE540.unk_0000 == 7) {
|
||||
sp32 += D_800AE540.unk_0002;
|
||||
}
|
||||
}
|
||||
|
||||
sp3C = func_8000484C(ASSET_LOAD2(stadium_models, 1, 1), sp32);
|
||||
D_8438E780 = sp3C(2, 0);
|
||||
|
||||
sp28 = func_80019D18(0x9A);
|
||||
func_8430128C();
|
||||
func_843013E4(&D_8438E798[0], sp28);
|
||||
func_843013E4(&D_8438E798[1], sp28);
|
||||
|
||||
func_84300D44();
|
||||
func_800110E0(NULL, &D_8438E440, 0, 0, 0x140, 0xF0);
|
||||
func_800110E0(NULL, &D_8438E598, 0x1E, 0x50, 0x4C, 0x4C);
|
||||
func_800110E0(NULL, &D_8438E688, 0xE2, 0x50, 0x4C, 0x4C);
|
||||
func_800113F8(0, &D_8438E530, 0x3C0, 0x3E8, 0xFF, 0xFF, 0xFF, 0xFF);
|
||||
func_8001103C(NULL, &D_8438E550);
|
||||
func_8001103C(NULL, &D_8438E568);
|
||||
func_8001103C(NULL, &D_8438E580);
|
||||
func_80011E68(&D_8438E440, 30.0f, 192.0f, 24576.0f);
|
||||
func_8001BB20();
|
||||
func_84307394(0, D_8438E798);
|
||||
func_84307A50(0, &D_8438E598, &D_8438E688);
|
||||
func_8432AEE4(0, &D_8438E440);
|
||||
func_8432D0D8(0, &D_8438E440);
|
||||
|
||||
sp44 = func_80002D10(main_pool_get_available(), 0);
|
||||
D_8438E784 = process_geo_layout(sp44, D_84384364);
|
||||
D_8438E788 = process_geo_layout(sp44, D_843844C4);
|
||||
D_8438E78C = process_geo_layout(sp44, D_84384514);
|
||||
|
||||
temp_v0_4 = sp3C(0, 0);
|
||||
if (temp_v0_4 != NULL) {
|
||||
func_80012094(&D_8438E550, process_geo_layout(sp44, temp_v0_4));
|
||||
}
|
||||
|
||||
temp_v0_4 = sp3C(1, 0);
|
||||
if (temp_v0_4 != NULL) {
|
||||
func_80012094(&D_8438E568, process_geo_layout(sp44, temp_v0_4));
|
||||
}
|
||||
|
||||
temp_v0_4 = sp3C(3, 0);
|
||||
if (temp_v0_4 != NULL) {
|
||||
func_80012094(&D_8438E580, process_geo_layout(sp44, temp_v0_4));
|
||||
}
|
||||
|
||||
func_80002D60(sp44);
|
||||
|
||||
temp_v0_7 = sp3C(4, 0);
|
||||
if (temp_v0_7 == NULL) {
|
||||
D_8438E530.unk_00.unk_14 = 0;
|
||||
D_8438E530.unk_00.unk_01 &= ~1;
|
||||
} else {
|
||||
D_8438E530.unk_18.unk_00 = temp_v0_7->unk_00;
|
||||
D_8438E530.unk_18.unk_02 = temp_v0_7->unk_02;
|
||||
D_8438E530.unk_18.unk_04.rgba = temp_v0_7->unk_04.rgba;
|
||||
D_8438E530.unk_00.unk_14 = 1;
|
||||
}
|
||||
|
||||
func_84307394(3, D_8438E798);
|
||||
func_84307A50(3, &D_8438E598, &D_8438E688);
|
||||
func_8432AEE4(3, &D_8438E440);
|
||||
func_8432D0D8(3, &D_8438E440);
|
||||
|
||||
D_8438E7A0 = 1;
|
||||
D_8438E79C = 0;
|
||||
}
|
||||
|
||||
void func_84301A24(void) {
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2EA8E0/func_84301A2C.s")
|
||||
s32 func_84301A2C(s32 arg0, unk_D_800AE540* arg1) {
|
||||
unk_func_80007444* sp24;
|
||||
|
||||
D_8438E798 = D_800AE540.unk_1194;
|
||||
D_8438E7AC = -2;
|
||||
|
||||
main_pool_push_state('BATL');
|
||||
|
||||
func_80005E40(0x20000, 0);
|
||||
sp24 = func_80007444(0, 1, 3, 1, 2, 1);
|
||||
func_84301430(sp24);
|
||||
func_80007678(sp24);
|
||||
func_800077B4(1);
|
||||
func_800078D4(func_843010EC, 0x20, 0x10);
|
||||
func_800077B4(2);
|
||||
func_800076C0();
|
||||
func_80005EAC();
|
||||
|
||||
main_pool_pop_state('BATL');
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,36 +1,192 @@
|
|||
#include "global.h"
|
||||
#include "fragment62.h"
|
||||
#include "src/17300.h"
|
||||
#include "src/1C720.h"
|
||||
#include "src/334D0.h"
|
||||
#include "src/F420.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F1D60/func_843074A0.s")
|
||||
void func_843074A0(unk_D_84390010* arg0) {
|
||||
func_80017464(&arg0->unk_728.unk_000, arg0->unk_728.unk_180);
|
||||
func_8001BD04(&arg0->unk_728.unk_000, arg0->unk_728.unk_17C);
|
||||
func_8430753C(arg0->unk_728.unk_168);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F1D60/func_843074EC.s")
|
||||
void func_843074EC(unk_D_84390010* arg0) {
|
||||
arg0->unk_728.unk_170 = 0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F1D60/func_843074F4.s")
|
||||
void func_843074F4(unk_D_84390010* arg0) {
|
||||
arg0->unk_728.unk_170 = 1;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F1D60/func_84307500.s")
|
||||
void func_84307500(void) {
|
||||
D_84390010[0]->unk_728.unk_170 = 0;
|
||||
D_84390010[1]->unk_728.unk_170 = 0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F1D60/func_8430751C.s")
|
||||
void func_8430751C(void) {
|
||||
D_84390010[0]->unk_728.unk_170 = 1;
|
||||
D_84390010[1]->unk_728.unk_170 = 1;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F1D60/func_8430753C.s")
|
||||
void func_8430753C(unk_D_84390010_728_0168* arg0) {
|
||||
arg0->unk_00.unk_01 |= 0x10;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F1D60/func_8430754C.s")
|
||||
void func_8430754C(unk_D_84390010* arg0) {
|
||||
s32 var_v0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F1D60/func_843075D0.s")
|
||||
if (arg0 == D_84390010[0]) {
|
||||
var_v0 = 0;
|
||||
} else {
|
||||
var_v0 = 1;
|
||||
}
|
||||
|
||||
arg0->unk_728.unk_168->unk_20 = D_843847BC[var_v0].unk_04;
|
||||
arg0->unk_728.unk_168->unk_1C = D_843847BC[var_v0].unk_00;
|
||||
arg0->unk_728.unk_168->unk_1E = D_843847BC[var_v0].unk_02;
|
||||
|
||||
arg0->unk_728.unk_178 = D_843847BC[var_v0].unk_14;
|
||||
|
||||
arg0->unk_728.unk_168->unk_34 = D_843847BC[var_v0].unk_0C;
|
||||
arg0->unk_728.unk_168->unk_38 = D_843847BC[var_v0].unk_10;
|
||||
arg0->unk_728.unk_168->unk_2C = D_843847BC[var_v0].unk_08;
|
||||
}
|
||||
|
||||
void func_843075D0(unk_D_84390010* arg0, unk_D_84390010* arg1) {
|
||||
if (D_84390240.unk_00->unk_1C == 1) {
|
||||
func_8430751C();
|
||||
} else {
|
||||
func_84307500();
|
||||
}
|
||||
func_8430754C(arg0);
|
||||
func_8430754C(arg1);
|
||||
}
|
||||
|
||||
void func_84307630(void) {
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F1D60/func_84307638.s")
|
||||
void func_84307638(unk_D_84390010* arg0) {
|
||||
s32 temp_v0;
|
||||
unk_D_84390010_728_0168* sp30;
|
||||
f32 tmp;
|
||||
f32 tmp2;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F1D60/func_84307748.s")
|
||||
sp30 = arg0->unk_728.unk_168;
|
||||
temp_v0 = func_84307F00(arg0);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F1D60/func_84307768.s")
|
||||
arg0->unk_728.unk_184 = D_84384578[temp_v0]->unk_0C;
|
||||
if (D_84384578[temp_v0]->unk_10 == 0xFF) {
|
||||
arg0->unk_728.unk_186 = D_84384578[temp_v0]->unk_0E * arg0->unk_728.unk_178;
|
||||
tmp = D_84384578[temp_v0]->unk_00.z * arg0->unk_728.unk_178;
|
||||
} else {
|
||||
arg0->unk_728.unk_186 = D_84384578[temp_v0]->unk_0E;
|
||||
tmp = D_84384578[temp_v0]->unk_00.z;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F1D60/func_843077B0.s")
|
||||
arg0->unk_728.unk_190 = tmp;
|
||||
arg0->unk_728.unk_188 = D_84384578[temp_v0]->unk_00.x;
|
||||
arg0->unk_728.unk_180 = D_84384578[temp_v0]->unk_12;
|
||||
tmp2 = D_84384578[temp_v0]->unk_00.y;
|
||||
arg0->unk_728.unk_194 = tmp2;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F1D60/func_843078F4.s")
|
||||
func_8431AE7C(sp30, arg0->unk_728.unk_000.unk_024.x + arg0->unk_728.unk_190, arg0->unk_728.unk_000.unk_024.y + tmp2,
|
||||
arg0->unk_728.unk_000.unk_024.z, arg0->unk_728.unk_188, arg0->unk_728.unk_184, arg0->unk_728.unk_186);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F1D60/func_843079C4.s")
|
||||
void func_84307748(unk_D_84390010* arg0) {
|
||||
func_84307638(arg0);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F1D60/func_84307A14.s")
|
||||
void func_84307768(unk_D_86002F34_00C* arg0, unk_D_84390010* arg1, unk_D_86002F34_00C* arg2, unk_D_84390010* arg3) {
|
||||
arg1->unk_728.unk_168 = arg0;
|
||||
arg3->unk_728.unk_168 = arg2;
|
||||
func_843075D0(arg1, arg3);
|
||||
func_84307748(arg1);
|
||||
func_84307748(arg3);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F1D60/func_84307A50.s")
|
||||
void func_843077B0(unk_D_84390010* arg0, s32 arg1) {
|
||||
s16 var_a0;
|
||||
unk_D_84390010_728_0168* temp_v0;
|
||||
|
||||
arg0->unk_728.unk_168->unk_00.unk_01 |= 1;
|
||||
arg0->unk_728.unk_000.unk_000.unk_01 |= 1;
|
||||
|
||||
if (arg0->unk_728.unk_178 == 1) {
|
||||
if ((arg0->unk_728.unk_168->unk_1C == -0x48) && !(arg0->unk_654.unk_34 & 0x800)) {
|
||||
func_843074A0(arg0);
|
||||
}
|
||||
|
||||
if ((func_800328D8(0) != 0) && (arg0->unk_728.unk_18C == 0)) {
|
||||
arg0->unk_728.unk_18C = 2;
|
||||
func_800328D0(0);
|
||||
}
|
||||
arg0->unk_728.unk_168->unk_1C = func_8001046C(arg0->unk_728.unk_168->unk_1C, 0x17, arg1, arg1);
|
||||
} else {
|
||||
if ((arg0->unk_728.unk_168->unk_1C == 0x15F) && !(arg0->unk_654.unk_34 & 0x800)) {
|
||||
func_843074A0(arg0);
|
||||
}
|
||||
|
||||
arg0->unk_728.unk_168->unk_1C = func_8001046C(arg0->unk_728.unk_168->unk_1C, 0x103, arg1, arg1);
|
||||
|
||||
if ((func_800328D8(1) != 0) && (arg0->unk_728.unk_18C == 0)) {
|
||||
arg0->unk_728.unk_18C = 2;
|
||||
func_800328D0(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_843078F4(unk_D_84390010* arg0, s32 arg1) {
|
||||
if (arg0->unk_728.unk_178 == 1) {
|
||||
arg0->unk_728.unk_18C = 0;
|
||||
arg0->unk_728.unk_168->unk_1C = func_8001046C(arg0->unk_728.unk_168->unk_1C, -0x48, arg1, arg1);
|
||||
if (arg0->unk_728.unk_168->unk_1C == -0x48) {
|
||||
arg0->unk_728.unk_168->unk_00.unk_01 &= ~1;
|
||||
arg0->unk_728.unk_000.unk_000.unk_01 &= ~1;
|
||||
}
|
||||
} else {
|
||||
arg0->unk_728.unk_18C = 0;
|
||||
arg0->unk_728.unk_168->unk_1C = func_8001046C(arg0->unk_728.unk_168->unk_1C, 0x15F, arg1, arg1);
|
||||
if (arg0->unk_728.unk_168->unk_1C == 0x15F) {
|
||||
arg0->unk_728.unk_168->unk_00.unk_01 &= ~1;
|
||||
arg0->unk_728.unk_000.unk_000.unk_01 &= ~1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_843079C4(unk_D_84390010* arg0) {
|
||||
switch (arg0->unk_728.unk_170) {
|
||||
case 0:
|
||||
func_843078F4(arg0, 9);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
func_843077B0(arg0, 9);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void func_84307A14(unk_D_84390010* arg0, unk_D_84390010* arg1) {
|
||||
if (D_800AE540.unk_0000 != 0x10) {
|
||||
func_843079C4(arg0);
|
||||
func_843079C4(arg1);
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_84307A50(s32 arg0, unk_D_86002F34_00C* arg1, unk_D_86002F34_00C* arg2) {
|
||||
switch (arg0) {
|
||||
case 0:
|
||||
func_84307630();
|
||||
break;
|
||||
|
||||
case 1:
|
||||
case 2:
|
||||
func_84307A14(D_84390010[0], D_84390010[1]);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_84307768(arg1, D_84390010[0], arg2, D_84390010[1]);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,119 +1,614 @@
|
|||
#include "global.h"
|
||||
#include "fragment62.h"
|
||||
#include "src/17300.h"
|
||||
#include "src/18140.h"
|
||||
#include "src/1C720.h"
|
||||
#include "src/2E110.h"
|
||||
#include "src/F420.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84307AE0.s")
|
||||
s32 func_84307AE0(u8 arg0, u8* arg1, s32 arg2) {
|
||||
while (arg2--) {
|
||||
if (arg0 == *arg1) {
|
||||
return 1;
|
||||
}
|
||||
arg1++;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84307B28.s")
|
||||
return 0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84307B60.s")
|
||||
unk_func_80026268_arg0* func_84307B28(unk_D_84390010* arg0) {
|
||||
unk_func_80026268_arg0* ptr = &arg0->unk_720->unk_08[arg0->unk_654.unk_2C]->unk_01C[arg0->unk_654.unk_08];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84307BAC.s")
|
||||
return ptr;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84307BD8.s")
|
||||
s32 func_84307B60(unk_D_84390010* arg0) {
|
||||
unk_func_80026268_arg0* temp_v0 = func_84307B28(arg0);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84307C04.s")
|
||||
if ((arg0->unk_000.unk_01A == 0x19) && (temp_v0->unk_52 & 0x80)) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84307C30.s")
|
||||
f32 func_84307BAC(unk_D_84390010* arg0) {
|
||||
return D_84390028[func_84307F00(arg0)].unk_08;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84307C5C.s")
|
||||
f32 func_84307BD8(unk_D_84390010* arg0) {
|
||||
return D_84390028[func_84307F00(arg0)].unk_00;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84307DE0.s")
|
||||
f32 func_84307C04(unk_D_84390010* arg0) {
|
||||
return D_84390028[func_84307F00(arg0)].unk_04;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84307EAC.s")
|
||||
f32 func_84307C30(unk_D_84390010* arg0) {
|
||||
return D_84390028[func_84307F00(arg0)].unk_0C;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84307EC4.s")
|
||||
void func_84307C5C(unk_D_84390010* arg0) {
|
||||
if (func_84307F00(arg0) == 0) {
|
||||
if (arg0->unk_000.unk_01A == 0x82) {
|
||||
func_8000E88C(&arg0->unk_000.unk_024, -225.0f, func_84307BAC(arg0), 0.0f);
|
||||
} else if ((arg0->unk_000.unk_01A == 3) || (arg0->unk_000.unk_01A == 0x83)) {
|
||||
func_8000E88C(&arg0->unk_000.unk_024, -175.0f, func_84307BAC(arg0), 0.0f);
|
||||
} else if (arg0->unk_000.unk_01A == 0x5F) {
|
||||
func_8000E88C(&arg0->unk_000.unk_024, -225.0f, func_84307BAC(arg0), 7.5000005f);
|
||||
} else {
|
||||
func_8000E88C(&arg0->unk_000.unk_024, -150.0f, func_84307BAC(arg0), 0.0f);
|
||||
}
|
||||
} else if ((arg0->unk_000.unk_01A == 0x82) || (arg0->unk_000.unk_01A == 0x5F)) {
|
||||
func_8000E88C(&arg0->unk_000.unk_024, 225.0f, func_84307BAC(arg0), 0.0f);
|
||||
} else if ((arg0->unk_000.unk_01A == 3) || (arg0->unk_000.unk_01A == 0x83)) {
|
||||
func_8000E88C(&arg0->unk_000.unk_024, 175.0f, func_84307BAC(arg0), 0.0f);
|
||||
} else {
|
||||
func_8000E88C(&arg0->unk_000.unk_024, 150.0f, func_84307BAC(arg0), 0.0f);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84307EE0.s")
|
||||
f32 func_84307DE0(unk_D_84390010* arg0) {
|
||||
if (func_84307F00(arg0) == 0) {
|
||||
if ((arg0->unk_000.unk_01A == 0x82) || (arg0->unk_000.unk_01A == 0x5F)) {
|
||||
return -200.0f;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84307F00.s")
|
||||
if ((arg0->unk_000.unk_01A == 3) || (arg0->unk_000.unk_01A == 0x83)) {
|
||||
return -175.0f;
|
||||
}
|
||||
return -150.0f;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84307F24.s")
|
||||
if ((arg0->unk_000.unk_01A == 0x82) || (arg0->unk_000.unk_01A == 0x5F)) {
|
||||
return 200.0f;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84307F68.s")
|
||||
if ((arg0->unk_000.unk_01A == 3) || (arg0->unk_000.unk_01A == 0x83)) {
|
||||
return 175.0f;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84307FAC.s")
|
||||
return 150.0f;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84307FE0.s")
|
||||
void func_84307EAC(unk_D_84390010* arg0, f32 arg1) {
|
||||
arg0->unk_000.unk_030.x = arg1;
|
||||
arg0->unk_000.unk_030.y = arg1;
|
||||
arg0->unk_000.unk_030.z = arg1;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84308014.s")
|
||||
s32 func_84307EC4(unk_D_84390010* arg0) {
|
||||
return arg0->unk_720->unk_08[arg0->unk_654.unk_2B]->unk_002;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84308058.s")
|
||||
s32 func_84307EE0(unk_D_84390010* arg0) {
|
||||
s32 idx = arg0->unk_654.unk_2B == 0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_8430808C.s")
|
||||
return arg0->unk_720->unk_08[idx]->unk_002;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84308094.s")
|
||||
s32 func_84307F00(unk_D_84390010* arg0) {
|
||||
if (arg0 == D_84390018) {
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84308148.s")
|
||||
u8 func_84307F24(unk_D_84390010* arg0) {
|
||||
UNUSED s32 pad;
|
||||
UNUSED s16 pad2;
|
||||
s16 sp18 = arg0->unk_654.unk_38.unk_5A - 1;
|
||||
unk_D_8438E7B0_A50* ptr = &D_84384570[func_84307F00(arg0)]->unk_000[sp18];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84308164.s")
|
||||
return ptr->unk_02;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84308190.s")
|
||||
u8 func_84307F68(unk_D_84390010* arg0) {
|
||||
UNUSED s32 pad;
|
||||
UNUSED s16 pad2;
|
||||
s16 sp18 = arg0->unk_654.unk_38.unk_5A - 1;
|
||||
unk_D_8438E7B0_A50* ptr = &D_84384570[func_84307F00(arg0)]->unk_000[sp18];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_843081A4.s")
|
||||
return ptr->unk_03;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_843081BC.s")
|
||||
s16 func_84307FAC(unk_D_84390010* arg0) {
|
||||
unk_D_8438E7B0_A50* ptr = &D_84384570[func_84307F00(arg0)]->unk_A80;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_843081C4.s")
|
||||
return ptr->unk_02;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_843081D4.s")
|
||||
s32 func_84307FE0(unk_D_84390010* arg0) {
|
||||
unk_D_8438E7B0_A50* ptr = &D_84384570[func_84307F00(arg0)]->unk_A80;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_843081F0.s")
|
||||
return ptr->unk_03;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_843083A0.s")
|
||||
f32 func_84308014(unk_D_84390010* arg0) {
|
||||
return ((func_84307C04(arg0) * 2) / 50.0f) * arg0->unk_000.unk_030.y;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84308520.s")
|
||||
f32 func_84308058(unk_D_84390010* arg0) {
|
||||
return (func_84307C04(arg0) * 2) / 50.0f;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84308548.s")
|
||||
s16 func_8430808C(unk_D_84390010* arg0) {
|
||||
return arg0->unk_654.unk_38.unk_5A;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84308598.s")
|
||||
void func_84308094(unk_D_84390010* arg0, Vec3f* arg1) {
|
||||
arg1->x = ((func_84307BD8(arg0) * 2) / 50.0f) * arg0->unk_000.unk_030.x;
|
||||
arg1->y = ((func_84307C04(arg0) * 2) / 50.0f) * arg0->unk_000.unk_030.y;
|
||||
arg1->z = ((func_84307BD8(arg0) * 2) / 50.0f) * arg0->unk_000.unk_030.x;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_843085C4.s")
|
||||
void func_84308148(unk_D_84390010* arg0, Vec3s* arg1) {
|
||||
arg1->x = arg0->unk_000.unk_01E.x;
|
||||
arg1->y = arg0->unk_000.unk_01E.y;
|
||||
arg1->z = arg0->unk_000.unk_01E.z;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_843085E0.s")
|
||||
u16 func_84308164(unk_D_84390010* arg0) {
|
||||
unk_func_80026268_arg0* ptr = &arg0->unk_724->unk_01C[arg0->unk_654.unk_08];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_843085F0.s")
|
||||
return ptr->unk_02;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_8430862C.s")
|
||||
s16 func_84308190(unk_D_84390010* arg0) {
|
||||
return arg0->unk_4B0 << 0xE;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84308654.s")
|
||||
s32 func_843081A4(s32 arg0) {
|
||||
return D_84390010[arg0]->unk_000.unk_01A;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84308660.s")
|
||||
s32 func_843081BC(unk_D_84390010* arg0) {
|
||||
return arg0->unk_000.unk_01A;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_843087F8.s")
|
||||
u8 func_843081C4(unk_D_84390010* arg0) {
|
||||
s32 ret = arg0->unk_000.unk_000.unk_01 & 1;
|
||||
return ret;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_8430897C.s")
|
||||
void func_843081D4(unk_D_84390010* arg0, Vec3f* arg1) {
|
||||
arg1->x = arg0->unk_000.unk_024.x;
|
||||
arg1->y = arg0->unk_000.unk_024.y;
|
||||
arg1->z = arg0->unk_000.unk_024.z;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_843089DC.s")
|
||||
void func_843081F0(unk_D_84390010* arg0, Vec3f* arg1) {
|
||||
f32 var_fs0 = 0.0f;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_843089F4.s")
|
||||
if (func_84307AE0(arg0->unk_000.unk_01A, &D_843845F0, 1) != 0) {
|
||||
var_fs0 = func_84308548(arg0) / 1.5f;
|
||||
} else if (func_84307AE0(arg0->unk_000.unk_01A, &D_843845F4, 1) != 0) {
|
||||
var_fs0 = func_84308548(arg0) * 0.5f;
|
||||
} else if ((func_84307AE0(arg0->unk_000.unk_01A, &D_843845F8, 1) != 0) && (arg0->unk_654.unk_34 & 0x200)) {
|
||||
var_fs0 = 2.0f * func_84308548(arg0);
|
||||
} else if ((func_84307AE0(arg0->unk_000.unk_01A, D_843845FC, 2) != 0) && (arg0->unk_654.unk_34 & 0x200)) {
|
||||
var_fs0 = func_84308548(arg0) * 1.5f;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_843089FC.s")
|
||||
if (func_84307BAC(arg0) != 0.0f) {
|
||||
arg1->x = arg0->unk_000.unk_024.x;
|
||||
arg1->y = arg0->unk_000.unk_024.y + var_fs0;
|
||||
arg1->z = arg0->unk_000.unk_024.z;
|
||||
} else {
|
||||
arg1->x = arg0->unk_000.unk_024.x;
|
||||
arg1->y = func_84308548(arg0) + arg0->unk_000.unk_024.y + var_fs0;
|
||||
arg1->z = arg0->unk_000.unk_024.z;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84308A04.s")
|
||||
if (arg1->y < 0.0f) {
|
||||
arg1->y = func_84308548(arg0);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84308A4C.s")
|
||||
void func_843083A0(unk_D_84390010* arg0, Vec3f* arg1) {
|
||||
if (func_84307F00(arg0) == 0) {
|
||||
if (arg0->unk_000.unk_01A == 0x82) {
|
||||
func_8000E88C(arg1, -225.0f, func_84307BAC(arg0), 0.0f);
|
||||
} else if ((arg0->unk_000.unk_01A == 3) || (arg0->unk_000.unk_01A == 0x83)) {
|
||||
func_8000E88C(arg1, -175.0f, func_84307BAC(arg0), 0.0f);
|
||||
} else if (arg0->unk_000.unk_01A == 0x5F) {
|
||||
func_8000E88C(arg1, -225.0f, func_84307BAC(arg0), 7.5000005f);
|
||||
} else {
|
||||
func_8000E88C(arg1, -150.0f, func_84307BAC(arg0), 0.0f);
|
||||
}
|
||||
} else if ((arg0->unk_000.unk_01A == 0x82) || (arg0->unk_000.unk_01A == 0x5F)) {
|
||||
func_8000E88C(arg1, 225.0f, func_84307BAC(arg0), 0.0f);
|
||||
} else if ((arg0->unk_000.unk_01A == 3) || (arg0->unk_000.unk_01A == 0x83)) {
|
||||
func_8000E88C(arg1, 175.0f, func_84307BAC(arg0), 0.0f);
|
||||
} else {
|
||||
func_8000E88C(arg1, 150.0f, func_84307BAC(arg0), 0.0f);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84308BD0.s")
|
||||
void func_84308520(unk_D_84390010* arg0, Vec3f* arg1) {
|
||||
arg1->x = arg0->unk_4EC.unk_024.x;
|
||||
arg1->y = arg0->unk_4EC.unk_024.y + 2.5f;
|
||||
arg1->z = arg0->unk_4EC.unk_024.z;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84308D54.s")
|
||||
f32 func_84308548(unk_D_84390010* arg0) {
|
||||
if (arg0->unk_4B4 == 0x10) {
|
||||
return func_84307C04(arg0);
|
||||
}
|
||||
return func_84307C04(arg0) * arg0->unk_000.unk_030.y;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84308D90.s")
|
||||
f32 func_84308598(unk_D_84390010* arg0) {
|
||||
return func_84307BD8(arg0) * arg0->unk_000.unk_030.y;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84308D98.s")
|
||||
unk_D_86002F58_004_000_004* func_843085C4(unk_D_84390010* arg0, s32 arg1) {
|
||||
return arg0->unk_720->unk_14->unk_00[2]->unk_00[arg1];
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84308DB8.s")
|
||||
s32 func_843085E0(unk_D_84390010* arg0, UNUSED s32 arg1) {
|
||||
return arg0->unk_720->unk_02;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84308ED4.s")
|
||||
char* func_843085F0(unk_D_84390010* arg0) {
|
||||
return func_8002D7C0(NULL, 0, D_843900B8, arg0->unk_654.unk_38.unk_5A - 1);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84308F94.s")
|
||||
u8* func_8430862C(unk_D_84390010* arg0) {
|
||||
return arg0->unk_724->unk_01C[arg0->unk_654.unk_08].unk_30;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84309110.s")
|
||||
void func_84308654(unk_D_84390010* arg0, s32 arg1, s32 arg2) {
|
||||
arg0->unk_4B4 = arg1;
|
||||
arg0->unk_4B8 = arg2;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84309168.s")
|
||||
void func_84308660(unk_D_84390010* arg0, unk_D_84390010* arg1) {
|
||||
s32 idx;
|
||||
unk_D_8438E7B0_A50* sp30;
|
||||
unk_D_8438E7B0_A50* sp2C;
|
||||
unk_D_8438E7B0_A50* sp28;
|
||||
unk_D_84390010_654* sp20 = &arg0->unk_654;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_8430920C.s")
|
||||
idx = func_84307F00(arg0);
|
||||
sp30 = &D_84384570[idx]->unk_A50;
|
||||
idx = func_84307F00(arg0);
|
||||
sp2C = &D_84384570[idx]->unk_B00;
|
||||
idx = func_84307F00(arg0);
|
||||
sp28 = &D_84384570[idx]->unk_AF0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_843092B4.s")
|
||||
if (!(sp20->unk_34 & 0x4002)) {
|
||||
if ((func_84301FF0(arg0) == 0) && (arg1->unk_000.unk_040.unk_00 != -1) &&
|
||||
(func_80017514(&arg1->unk_000) == 1)) {
|
||||
if (sp20->unk_34 & 0x200) {
|
||||
func_8001BD04(&arg1->unk_000, sp2C->unk_00);
|
||||
} else if ((sp20->unk_34 & 1) && (func_84307AE0(arg1->unk_000.unk_01A, D_84384590, 8) != 0)) {
|
||||
func_8001BD04(&arg1->unk_000, sp28->unk_00);
|
||||
} else {
|
||||
if (arg1->unk_000.unk_01A == 0x84) {
|
||||
idx = func_8430C414(5);
|
||||
func_8001BD04(&arg1->unk_000, idx + 0xE);
|
||||
} else {
|
||||
func_8001BD04(&arg1->unk_000, sp30->unk_00);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84309328.s")
|
||||
if (!(sp20->unk_34 & 1)) {
|
||||
func_84305A74(arg0, 0xA5, 1);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F23A0/func_84309368.s")
|
||||
func_80017464(&arg1->unk_000, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_843087F8(unk_D_84390010* arg0) {
|
||||
s32 idx;
|
||||
unk_D_84390010_654* sp24;
|
||||
unk_D_8438E7B0_A50* sp34;
|
||||
unk_D_8438E7B0_A50* sp30;
|
||||
unk_D_8438E7B0_A50* sp2C;
|
||||
|
||||
sp24 = &arg0->unk_654;
|
||||
idx = func_84307F00(arg0);
|
||||
sp34 = &D_84384570[idx]->unk_A50;
|
||||
idx = func_84307F00(arg0);
|
||||
sp30 = &D_84384570[idx]->unk_B00;
|
||||
idx = func_84307F00(arg0);
|
||||
sp2C = &D_84384570[idx]->unk_AF0;
|
||||
|
||||
if (!(sp24->unk_34 & 0x4002) && (func_84301FF0(arg0) == 0) && (arg0->unk_000.unk_040.unk_00 != -1)) {
|
||||
func_80017464(&arg0->unk_000, 0);
|
||||
if (sp24->unk_34 & 0x200) {
|
||||
func_8001BD04(&arg0->unk_000, sp30->unk_00);
|
||||
} else if ((sp24->unk_34 & 1) && (func_84307AE0(arg0->unk_000.unk_01A, D_84384590, 8) != 0)) {
|
||||
func_8001BD04(&arg0->unk_000, sp2C->unk_00);
|
||||
} else {
|
||||
if (arg0->unk_000.unk_01A == 0x84) {
|
||||
func_8001BD04(&arg0->unk_000, func_8430C414(5) + 0xE);
|
||||
} else {
|
||||
func_8001BD04(&arg0->unk_000, sp34->unk_00);
|
||||
}
|
||||
|
||||
if (!(sp24->unk_34 & 1)) {
|
||||
func_84305A74(arg0, 0xA5, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_8430897C(unk_D_84390010* arg0) {
|
||||
unk_D_8438E7B0_A50* sp1C = &D_84384570[func_84307F00(arg0)]->unk_A80;
|
||||
|
||||
if (arg0->unk_000.unk_040.unk_00 != -1) {
|
||||
func_80017464(&arg0->unk_000, 0);
|
||||
func_8001BD04(&arg0->unk_000, sp1C->unk_00);
|
||||
}
|
||||
}
|
||||
|
||||
void func_843089DC(unk_D_84390010* arg0, s32 arg1) {
|
||||
arg0->unk_724 = arg0->unk_720->unk_08[arg1];
|
||||
}
|
||||
|
||||
void func_843089F4(unk_D_84390010* arg0, s32 arg1) {
|
||||
arg0->unk_654.unk_2B = arg1;
|
||||
}
|
||||
|
||||
void func_843089FC(unk_D_84390010* arg0, Controller* arg1) {
|
||||
arg0->unk_654.unk_C8 = arg1;
|
||||
}
|
||||
|
||||
void func_84308A04(unk_D_84390010* arg0, s32 arg1) {
|
||||
unk_D_84390010_654* temp_v0 = &arg0->unk_654;
|
||||
|
||||
func_843089DC(arg0, arg1);
|
||||
func_843089F4(arg0, arg1);
|
||||
temp_v0->unk_08 = temp_v0->unk_18;
|
||||
arg0->unk_728.unk_16C = temp_v0->unk_2B;
|
||||
}
|
||||
|
||||
s32 func_84308A4C(unk_D_84390010* arg0) {
|
||||
s32 i;
|
||||
unk_D_84390010_654* temp_s0;
|
||||
unk_func_80026268_arg0* ptr;
|
||||
|
||||
temp_s0 = &arg0->unk_654;
|
||||
|
||||
for (i = 0; i < func_84307EC4(arg0); i++) {
|
||||
ptr = &arg0->unk_724->unk_01C[i];
|
||||
if ((ptr->unk_05 & 0x20) && (arg0->unk_654.unk_38.unk_16[temp_s0->unk_08 + temp_s0->unk_2B * 3] == 0)) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (arg0->unk_720->unk_01 == 2) {
|
||||
for (i = 0; i < func_84307EE0(arg0); i++) {
|
||||
ptr = &arg0->unk_720->unk_08[temp_s0->unk_2B == 0]->unk_01C[i];
|
||||
if ((ptr->unk_05 & 0x20) &&
|
||||
(arg0->unk_654.unk_38.unk_16[temp_s0->unk_08 + (temp_s0->unk_2B == 0) * 3] == 0)) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
s32 func_84308BD0(unk_D_84390010* arg0) {
|
||||
s32 i;
|
||||
unk_D_84390010_654* temp_s0;
|
||||
unk_func_80026268_arg0* ptr;
|
||||
|
||||
temp_s0 = &arg0->unk_654;
|
||||
|
||||
for (i = 0; i < func_84307EC4(arg0); i++) {
|
||||
ptr = &arg0->unk_724->unk_01C[i];
|
||||
if ((ptr->unk_05 & 7) && (arg0->unk_654.unk_38.unk_16[temp_s0->unk_08 + temp_s0->unk_2B * 3] == 0)) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (arg0->unk_720->unk_01 == 2) {
|
||||
for (i = 0; i < func_84307EE0(arg0); i++) {
|
||||
ptr = &arg0->unk_720->unk_08[temp_s0->unk_2B == 0]->unk_01C[i];
|
||||
if ((ptr->unk_05 & 7) && (arg0->unk_654.unk_38.unk_16[temp_s0->unk_08 + (temp_s0->unk_2B == 0) * 3] == 0)) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
s32 func_84308D54(unk_D_84390010* arg0) {
|
||||
if (arg0->unk_720->unk_01 != 2) {
|
||||
return arg0->unk_720->unk_08[0]->unk_002;
|
||||
}
|
||||
return arg0->unk_720->unk_08[1]->unk_002 + arg0->unk_720->unk_08[0]->unk_002;
|
||||
}
|
||||
|
||||
u8 func_84308D90(unk_D_800AE540_0004* arg0) {
|
||||
return arg0->unk_002;
|
||||
}
|
||||
|
||||
s32 func_84308D98(unk_D_84390010* arg0) {
|
||||
return arg0->unk_720->unk_08[arg0->unk_728.unk_16C]->unk_001 + 1;
|
||||
}
|
||||
|
||||
void func_84308DB8(unk_D_84390010* arg0, unk_D_84390010* arg1, s32 arg2, s32 arg3) {
|
||||
UNUSED s32 pad;
|
||||
unk_D_86002F58_004_000_004* sp20 = func_843085C4(arg0, 0);
|
||||
|
||||
func_84307F00(arg0);
|
||||
func_8001BCF0(&arg1->unk_000);
|
||||
|
||||
if (arg0 == D_84390010[0]) {
|
||||
arg1->unk_000.unk_0A6 = 0;
|
||||
} else {
|
||||
arg1->unk_000.unk_0A6 = 1;
|
||||
}
|
||||
|
||||
func_8001BC34(&arg1->unk_000, 0, arg2, sp20);
|
||||
func_84302658(arg0, arg3);
|
||||
func_80017464(&arg1->unk_000, 0);
|
||||
func_8001BD04(&arg1->unk_000, 0);
|
||||
|
||||
if ((arg1->unk_000.unk_01A == 0x32) || (arg1->unk_000.unk_01A == 0x33)) {
|
||||
arg1->unk_000.unk_000.unk_02 &= 0xFFBF;
|
||||
} else {
|
||||
arg1->unk_000.unk_000.unk_02 |= 0x40;
|
||||
}
|
||||
|
||||
if (!(arg0->unk_654.unk_34 & 0x200)) {
|
||||
if (arg0 == D_84390010[0]) {
|
||||
func_84307C5C(arg0);
|
||||
arg1->unk_000.unk_01E.y = 0x4000;
|
||||
} else {
|
||||
func_84307C5C(arg0);
|
||||
arg1->unk_000.unk_01E.y = -0x4000;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_84308ED4(unk_D_84390010* arg0, unk_D_84390010_728* arg1, s16 arg2) {
|
||||
unk_D_86002F58_004_000_004* sp24;
|
||||
|
||||
sp24 = func_843085C4(arg0, 0);
|
||||
func_8001BCF0(&arg1->unk_000);
|
||||
|
||||
if (arg0 == D_84390010[0]) {
|
||||
arg1->unk_000.unk_0A6 = 0xFF;
|
||||
} else {
|
||||
arg1->unk_000.unk_0A6 = 0xFF;
|
||||
}
|
||||
|
||||
if (arg0 == D_84390010[0]) {
|
||||
func_8001BC34(&arg1->unk_000, 1, arg2, sp24);
|
||||
} else {
|
||||
func_8001BC34(&arg1->unk_000, 2, arg2, sp24);
|
||||
}
|
||||
|
||||
func_80017464(&arg1->unk_000, 0);
|
||||
func_8001BD04(&arg1->unk_000, 0);
|
||||
arg1->unk_000.unk_000.unk_02 &= ~0x40;
|
||||
}
|
||||
|
||||
void func_84308F94(unk_D_84390010* arg0, s16 arg1) {
|
||||
s32 i;
|
||||
unk_D_86002F58_004_000_004* sp58;
|
||||
unk_D_84390010_168* var_s0;
|
||||
|
||||
sp58 = func_843085C4(arg0, 0);
|
||||
|
||||
for (i = 0; i < 2; i++) {
|
||||
var_s0 = &arg0->unk_168[i];
|
||||
|
||||
func_8001BCF0(&var_s0->unk_000);
|
||||
if (arg0 == D_84390010[0]) {
|
||||
var_s0->unk_000.unk_0A6 = 0xFF;
|
||||
} else {
|
||||
var_s0->unk_000.unk_0A6 = 0xFF;
|
||||
}
|
||||
|
||||
func_8001BC34(&var_s0->unk_000, 0, arg1, sp58);
|
||||
func_80017464(&var_s0->unk_000, 0);
|
||||
func_8001BD04(&var_s0->unk_000, 0);
|
||||
|
||||
var_s0->unk_000.unk_000.unk_02 &= ~0x40;
|
||||
|
||||
if (arg0 == D_84390010[0]) {
|
||||
func_8000E88C(&var_s0->unk_000.unk_024, -150.0f, 0.0f, 0.0f);
|
||||
var_s0->unk_000.unk_01E.y = 0x4000;
|
||||
} else {
|
||||
func_8000E88C(&var_s0->unk_000.unk_024, 150.0f, 0.0f, 0.0f);
|
||||
var_s0->unk_000.unk_01E.y = -0x4000;
|
||||
}
|
||||
|
||||
var_s0->unk_000.unk_000.unk_01 &= ~1;
|
||||
}
|
||||
}
|
||||
|
||||
void func_84309110(unk_D_84390010* arg0) {
|
||||
if (arg0->unk_654.unk_34 & 1) {
|
||||
func_843059C0(arg0, 0xAF, 2);
|
||||
} else {
|
||||
arg0->unk_654.unk_36 = 0;
|
||||
func_80017804(&arg0->unk_000, 0);
|
||||
func_8001BD9C(&arg0->unk_000, -1);
|
||||
}
|
||||
}
|
||||
|
||||
void func_84309168(unk_D_84390010* arg0) {
|
||||
unk_D_84390010_654* ptr = &arg0->unk_654;
|
||||
UNUSED s32 pad[3];
|
||||
s16 sp26;
|
||||
|
||||
func_843085C4(arg0, 0);
|
||||
sp26 = func_843085E0(arg0, 0);
|
||||
func_84308DB8(arg0, arg0, sp26, 0);
|
||||
func_84308ED4(arg0, &arg0->unk_728, sp26);
|
||||
func_84308F94(arg0, sp26);
|
||||
func_84309110(arg0);
|
||||
ptr->unk_34 &= 0x1800;
|
||||
func_8000E88C(&arg0->unk_000.unk_030, 1.0f, 1.0f, 1.0f);
|
||||
}
|
||||
|
||||
void func_8430920C(unk_D_84390010* arg0) {
|
||||
unk_D_84390010_654* ptr = &arg0->unk_654;
|
||||
UNUSED s32 pad[3];
|
||||
s16 sp26;
|
||||
|
||||
func_843085C4(arg0, 0);
|
||||
sp26 = func_843085E0(arg0, 0);
|
||||
func_84308DB8(arg0, arg0, sp26, 1);
|
||||
func_84308ED4(arg0, &arg0->unk_728, sp26);
|
||||
func_84308F94(arg0, sp26);
|
||||
func_84309110(arg0);
|
||||
ptr->unk_2D = 0;
|
||||
ptr->unk_34 &= 0x1800;
|
||||
func_8000E88C(&arg0->unk_000.unk_030, 1.0f, 1.0f, 1.0f);
|
||||
}
|
||||
|
||||
void func_843092B4(unk_D_84390010* arg0) {
|
||||
func_8001BE34(&arg0->unk_000, 0xFF, 0xFF, 0xFF, arg0->unk_654.unk_2E = 0xFF);
|
||||
arg0->unk_654.unk_BC = arg0->unk_000.unk_01A;
|
||||
func_84308DB8(arg0, arg0, 0x98, 0);
|
||||
func_84308F94(arg0, 0x98);
|
||||
func_84309110(arg0);
|
||||
}
|
||||
|
||||
void func_84309328(unk_D_84390010* arg0) {
|
||||
func_84308DB8(arg0, arg0, 0x98, 0);
|
||||
func_84308F94(arg0, 0x98);
|
||||
func_84309110(arg0);
|
||||
}
|
||||
|
||||
void func_84309368(unk_D_84390010* arg0) {
|
||||
UNUSED s32 pad[3];
|
||||
unk_D_84390010_654* ptr = &arg0->unk_654;
|
||||
s16 sp2E = func_843085E0(arg0, 0);
|
||||
|
||||
ptr->unk_2E = 0xFF;
|
||||
func_8001BE34(&arg0->unk_000, 0xFF, 0xFF, 0xFF, ptr->unk_2E);
|
||||
func_84308DB8(arg0, arg0, sp2E, 0);
|
||||
func_84308F94(arg0, sp2E);
|
||||
func_84309110(arg0);
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,45 +1,269 @@
|
|||
#include "global.h"
|
||||
#include "fragment62.h"
|
||||
#include "src/math_util.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F6930/func_8430C070.s")
|
||||
void func_8430C070(Vec3f* arg0, Vec3f* arg1, f32* arg2, s16* arg3, s16* arg4) {
|
||||
f32 sp2C = arg1->x - arg0->x;
|
||||
f32 sp28 = arg1->y - arg0->y;
|
||||
f32 sp24 = arg1->z - arg0->z;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F6930/func_8430C120.s")
|
||||
*arg2 = sqrtf(SQ(sp2C) + SQ(sp28) + SQ(sp24));
|
||||
*arg3 = MathUtil_Atan2s(sqrtf(SQ(sp2C) + SQ(sp24)), sp28);
|
||||
*arg4 = MathUtil_Atan2s(sp24, sp2C);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F6930/func_8430C138.s")
|
||||
Vec3f* func_8430C120(Vec3f* arg0) {
|
||||
arg0->x = 0.0f;
|
||||
arg0->y = 0.0f;
|
||||
arg0->z = 0.0f;
|
||||
return arg0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F6930/func_8430C19C.s")
|
||||
Vec3f* func_8430C138(Vec3f* arg0, Vec3f* arg1, f32 arg2, s16 arg3) {
|
||||
arg0->x = (SINS(arg3) * arg2) + arg1->x;
|
||||
arg0->y = arg1->y;
|
||||
arg0->z = (COSS(arg3) * arg2) + arg1->z;
|
||||
return arg0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F6930/func_8430C1E4.s")
|
||||
void func_8430C19C(Vec3f* arg0, f32 arg1, s16 arg2) {
|
||||
arg0->x = COSS(arg2) * arg1;
|
||||
arg0->z = SINS(arg2) * arg1;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F6930/func_8430C204.s")
|
||||
Vec3f* func_8430C1E4(Vec3f* arg0, Vec3f* arg1) {
|
||||
arg0->x = arg1->x;
|
||||
arg0->y = arg1->y;
|
||||
arg0->z = arg1->z;
|
||||
return arg0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F6930/func_8430C224.s")
|
||||
Vec3s* func_8430C204(Vec3s* arg0, Vec3s* arg1) {
|
||||
arg0->x = arg1->x;
|
||||
arg0->y = arg1->y;
|
||||
arg0->z = arg1->z;
|
||||
return arg0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F6930/func_8430C260.s")
|
||||
Vec3f* func_8430C224(Vec3f* arg0, f32 arg1, f32 arg2, f32 arg3) {
|
||||
arg0->x = arg0->x * arg1;
|
||||
arg0->y = arg0->y * arg2;
|
||||
arg0->z = arg0->z * arg3;
|
||||
return arg0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F6930/func_8430C2A4.s")
|
||||
s16 func_8430C260(f32 arg0, f32 arg1, f32 arg2, f32 arg3) {
|
||||
return MathUtil_Atan2s(arg2 - arg0, arg3 - arg1);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F6930/func_8430C308.s")
|
||||
f32 func_8430C2A4(Vec3f arg0, Vec3f arg1) {
|
||||
return sqrtf(SQ(arg1.x - arg0.x) + SQ(arg1.y - arg0.y) + SQ(arg1.z - arg0.z));
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F6930/func_8430C384.s")
|
||||
f32 func_8430C308(f32 arg0, f32 arg1, f32 arg2, f32 arg3) {
|
||||
static f32 D_843900D0;
|
||||
static f32 D_843900D4;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F6930/func_8430C414.s")
|
||||
D_843900D0 = SQ(arg0 - arg2);
|
||||
D_843900D4 = SQ(arg1 - arg3);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F6930/func_8430C4F8.s")
|
||||
if (D_843900D0 + D_843900D4 == 0.0f) {
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F6930/func_8430C59C.s")
|
||||
return sqrtf(D_843900D0 + D_843900D4);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F6930/func_8430C718.s")
|
||||
s32 func_8430C384(f32 arg0) {
|
||||
s32 temp_v1;
|
||||
s32 var_v1;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F6930/func_8430C780.s")
|
||||
temp_v1 = osGetCount() & 0xFF;
|
||||
while (temp_v1-- > 0) {
|
||||
MathUtil_Random_ZeroOne();
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F6930/func_8430C7B4.s")
|
||||
var_v1 = MathUtil_Random_ZeroOne() * arg0;
|
||||
if (arg0 <= var_v1) {
|
||||
var_v1 = (s32)arg0 - 1;
|
||||
}
|
||||
return var_v1;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F6930/func_8430C7E4.s")
|
||||
u16 func_8430C414(s32 arg0) {
|
||||
f32 tmp = (u32)MathUtil_Random16();
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F6930/func_8430C8A0.s")
|
||||
return (tmp / 65535.0) * arg0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F6930/func_8430C97C.s")
|
||||
s32 func_8430C4F8(s16* arg0, s16 arg1, s16 arg2) {
|
||||
s16 temp_v0 = arg1 - *arg0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F6930/func_8430CA4C.s")
|
||||
if (arg2 < 0) {
|
||||
arg2 *= -1;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F6930/func_8430CB3C.s")
|
||||
if (temp_v0 > 0) {
|
||||
temp_v0 -= arg2;
|
||||
if (temp_v0 >= 0) {
|
||||
*arg0 = arg1 - temp_v0;
|
||||
} else {
|
||||
*arg0 = arg1;
|
||||
}
|
||||
} else {
|
||||
temp_v0 += arg2;
|
||||
if (temp_v0 <= 0) {
|
||||
*arg0 = arg1 - temp_v0;
|
||||
} else {
|
||||
*arg0 = arg1;
|
||||
}
|
||||
}
|
||||
|
||||
if (arg1 == *arg0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
s32 func_8430C59C(s16* arg0, s16 arg1, f32 arg2) {
|
||||
f32 var_fv0;
|
||||
s16 temp_v0;
|
||||
|
||||
temp_v0 = arg1 - *arg0;
|
||||
if (arg2 < 0.0f) {
|
||||
arg2 = -1.0f * arg2;
|
||||
}
|
||||
|
||||
var_fv0 = temp_v0 * arg2;
|
||||
|
||||
if (temp_v0 > 0) {
|
||||
if ((s16)var_fv0 >= 0x444) {
|
||||
var_fv0 = 1092.0f;
|
||||
}
|
||||
|
||||
if ((s16)var_fv0 < 0x29) {
|
||||
var_fv0 = 40.0f;
|
||||
}
|
||||
|
||||
temp_v0 -= (s16)var_fv0;
|
||||
if (temp_v0 >= 0) {
|
||||
*arg0 = arg1 - temp_v0;
|
||||
} else {
|
||||
*arg0 = arg1;
|
||||
}
|
||||
} else {
|
||||
if ((s16)var_fv0 < -0x443) {
|
||||
var_fv0 = -1092.0f;
|
||||
}
|
||||
|
||||
if ((s16)var_fv0 >= -0x28) {
|
||||
var_fv0 = -40.0f;
|
||||
}
|
||||
|
||||
temp_v0 -= (s16)var_fv0;
|
||||
if (temp_v0 <= 0) {
|
||||
*arg0 = arg1 - temp_v0;
|
||||
} else {
|
||||
*arg0 = arg1;
|
||||
}
|
||||
}
|
||||
|
||||
if (arg1 == *arg0) {
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
void func_8430C718(f32* arg0, f32 arg1, f32 arg2) {
|
||||
*arg0 = *arg0 + ((arg1 - *arg0) * arg2);
|
||||
if ((*arg0 < 0.001) && (*arg0 > -0.001)) {
|
||||
*arg0 = 0.0f;
|
||||
}
|
||||
}
|
||||
|
||||
void func_8430C780(s16* arg0, s16 arg1, s16 arg2) {
|
||||
*arg0 = *arg0 + ((arg1 - *arg0) * arg2);
|
||||
}
|
||||
|
||||
void func_8430C7B4(u16* arg0, u16 arg1, s16 arg2) {
|
||||
*arg0 = *arg0 + ((arg1 - *arg0) * arg2);
|
||||
}
|
||||
|
||||
void func_8430C7E4(f32* arg0, f32 arg1) {
|
||||
static f32 D_843900D8;
|
||||
static f32 D_843900DC;
|
||||
static f32 D_843900E0;
|
||||
|
||||
D_843900E0 = 1.0f - arg1;
|
||||
D_843900DC = SQ(arg1);
|
||||
D_843900D8 = D_843900DC * arg1;
|
||||
|
||||
arg0[0] = (SQ(D_843900E0) * D_843900E0) / 6.0f;
|
||||
arg0[1] = ((0.5f * D_843900D8) - D_843900DC) + 0.6666667f;
|
||||
arg0[2] = (-0.5f * D_843900D8) + (0.5f * D_843900DC) + (0.5f * arg1) + 0.16666667f;
|
||||
arg0[3] = D_843900D8 / 6.0;
|
||||
}
|
||||
|
||||
void func_8430C8A0(f32* arg0, f32 arg1) {
|
||||
static f32 D_843900E4;
|
||||
static f32 D_843900E8;
|
||||
static f32 D_843900EC;
|
||||
|
||||
D_843900EC = 1.0 - arg1;
|
||||
D_843900E8 = SQ(arg1);
|
||||
D_843900E4 = D_843900E8 * arg1;
|
||||
|
||||
arg0[0] = SQ(D_843900EC) * D_843900EC;
|
||||
arg0[1] = (((21.0f * D_843900E4) / 12.0f) - (9.0f * D_843900E8 * 0.5f)) + (3.0f * arg1);
|
||||
arg0[2] = ((-11.0f * D_843900E4) / 12.0f) + (3.0f * D_843900E8 * 0.5f);
|
||||
arg0[3] = D_843900E4 / 6.0f;
|
||||
}
|
||||
|
||||
void func_8430C97C(f32* arg0, f32 arg1) {
|
||||
static f32 D_843900F0;
|
||||
static f32 D_843900F4;
|
||||
static f32 D_843900F8;
|
||||
|
||||
D_843900F8 = 1.0f - arg1;
|
||||
D_843900F4 = SQ(arg1);
|
||||
D_843900F0 = D_843900F4 * arg1;
|
||||
|
||||
arg0[0] = SQ(D_843900F8) * D_843900F8 * 0.25f;
|
||||
arg0[1] = ((0.5833333f * D_843900F0) - (1.25f * D_843900F4)) + (arg1 * 0.25f) + 0.5833333f;
|
||||
arg0[2] = (-0.5f * D_843900F0) + (0.5f * D_843900F4) + (0.5f * arg1) + 0.16666667f;
|
||||
arg0[3] = D_843900F0 / 6.0f;
|
||||
}
|
||||
|
||||
void func_8430CA4C(f32* arg0, f32 arg1) {
|
||||
static f32 D_843900FC;
|
||||
static f32 D_84390100;
|
||||
static f32 D_84390104;
|
||||
static f32 D_84390108;
|
||||
|
||||
D_84390100 = 1.0f - arg1;
|
||||
D_84390104 = SQ(D_84390100);
|
||||
D_84390108 = D_84390104 * D_84390100;
|
||||
D_843900FC = CB(arg1);
|
||||
|
||||
arg0[0] = D_84390108 / 6.0f;
|
||||
arg0[1] = (-0.5f * D_84390108) + (0.5f * D_84390104) + (0.5f * D_84390100) + 0.16666667f;
|
||||
arg0[2] = (((7.0f * D_84390108) / 12.0f) - (5.0f * D_84390104 * 0.25f)) + (D_84390100 * 0.25f) + 0.5833333f;
|
||||
arg0[3] = D_843900FC * 0.25f;
|
||||
}
|
||||
|
||||
void func_8430CB3C(f32* arg0, f32 arg1) {
|
||||
static f32 D_8439010C;
|
||||
static f32 D_84390110;
|
||||
static f32 D_84390114;
|
||||
static f32 D_84390118;
|
||||
|
||||
D_84390110 = 1.0f - arg1;
|
||||
D_84390114 = SQ(D_84390110);
|
||||
D_84390118 = D_84390114 * D_84390110;
|
||||
D_8439010C = CB(arg1);
|
||||
|
||||
arg0[0] = D_84390118 / 6.0f;
|
||||
arg0[1] = ((-11.0f * D_84390118) / 12.0f) + (3.0f * D_84390114 * 0.5f);
|
||||
arg0[2] = (((21.0f * D_84390118) / 12.0f) - (9.0f * D_84390114 * 0.5f)) + (3.0f * D_84390110);
|
||||
arg0[3] = D_8439010C;
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
793
src/fragments/62/fragment62_3020D0.c
Normal file
793
src/fragments/62/fragment62_3020D0.c
Normal file
|
|
@ -0,0 +1,793 @@
|
|||
#include "fragment62.h"
|
||||
#include "src/1CF30.h"
|
||||
#include "src/20470.h"
|
||||
#include "src/225A0.h"
|
||||
#include "src/29BA0.h"
|
||||
#include "src/2E110.h"
|
||||
#include "src/3D140.h"
|
||||
#include "src/6A40.h"
|
||||
#include "src/6BC0.h"
|
||||
#include "src/F420.h"
|
||||
#include "src/controller.h"
|
||||
#include "src/memmap.h"
|
||||
#include "src/memory.h"
|
||||
#include "stdarg.h"
|
||||
|
||||
unk_D_843901A0* D_843901A0;
|
||||
|
||||
static u8 D_84385990[] = { 0xE, 0x4A };
|
||||
static u8 D_84385994[] = { 0x60, 0x69, 0x75, 0x78, 0x85 };
|
||||
static u8 D_8438599C[] = { 0x61, 0x64, 0x66, 0x68, 0x8C };
|
||||
static u8 D_843859A4[] = {
|
||||
1, 0xA, 0xB, 0x11, 0x13, 0x14, 0x15, 0x1E, 0x22, 0x23, 0x25, 0x27, 0x2B, 0x2C, 0x2D, 0x2E,
|
||||
0x2F, 0x40, 0x44, 0x46, 0x47, 0x51, 0x59, 0x5A, 0x5B, 0x5C, 0x67, 0x6A, 0x6B, 0x6E, 0x6F, 0x76,
|
||||
0x7A, 0x80, 0x84, 0x8B, 0x8D, 0x91, 0x94, 0x96, 0x97, 0x9A, 0x9C, 0x9F, 0xA3, 0xA4,
|
||||
};
|
||||
|
||||
void func_84317810(void) {
|
||||
D_843901A0->unk_088[0] = 0;
|
||||
D_843901A0->unk_088[1] = 0;
|
||||
D_843901A0->unk_0C8[0] = 0;
|
||||
D_843901A0->unk_0C8[1] = 0;
|
||||
D_843901A0->unk_108[0] = 0;
|
||||
D_843901A0->unk_108[1] = 0;
|
||||
D_843901A0->unk_148[0] = 0;
|
||||
D_843901A0->unk_148[1] = 0;
|
||||
D_843901A0->unk_188[0] = 0;
|
||||
D_843901A0->unk_188[1] = 0;
|
||||
D_843901A0->unk_1C8[0] = 0;
|
||||
D_843901A0->unk_1C8[1] = 0;
|
||||
D_843901A0->unk_448[0][0] = 0;
|
||||
D_843901A0->unk_448[0][1] = 0;
|
||||
D_843901A0->unk_448[1][0] = 0;
|
||||
D_843901A0->unk_448[1][1] = 0;
|
||||
D_843901A0->unk_208[0] = 0;
|
||||
D_843901A0->unk_208[1] = 0;
|
||||
D_843901A0->unk_308[0] = 0;
|
||||
D_843901A0->unk_308[1] = 0;
|
||||
D_843901A0->unk_2C8[0] = 0;
|
||||
D_843901A0->unk_2C8[1] = 0;
|
||||
D_843901A0->unk_348[0] = 0;
|
||||
D_843901A0->unk_348[1] = 0;
|
||||
D_843901A0->unk_388[0] = 0;
|
||||
D_843901A0->unk_388[1] = 0;
|
||||
D_843901A0->unk_3C8[0] = 0;
|
||||
D_843901A0->unk_3C8[1] = 0;
|
||||
D_843901A0->unk_408[0] = 0;
|
||||
D_843901A0->unk_408[1] = 0;
|
||||
}
|
||||
|
||||
void func_8431790C(void) {
|
||||
D_843901A0->unk_004 = 0;
|
||||
D_843901A0->unk_048[0] = 0;
|
||||
D_843901A0->unk_048[1] = 0;
|
||||
D_843901A0->unk_008[0] = 0;
|
||||
D_843901A0->unk_008[1] = 0;
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
void func_84317940(s8* arg0, s8* arg1, ...) {
|
||||
va_list args;
|
||||
s8** temp_v1;
|
||||
s32 var_v0;
|
||||
s8* var_a3;
|
||||
|
||||
var_v0 = 0;
|
||||
temp_v1 = &args;
|
||||
|
||||
while (*arg1 != '\x00') {
|
||||
if (*arg1 != 0x25) {
|
||||
arg0[var_v0++] = *arg1;
|
||||
} else {
|
||||
arg1++;
|
||||
if (*arg1 == 0x73) {
|
||||
temp_v1 = ALIGN4((s32)temp_v1);
|
||||
var_a3 = *(s8**)temp_v1;
|
||||
temp_v1++;
|
||||
|
||||
while (*var_a3 != 0) {
|
||||
arg0[var_v0] = *var_a3;
|
||||
var_a3++;
|
||||
var_v0++;
|
||||
}
|
||||
}
|
||||
}
|
||||
arg1++;
|
||||
}
|
||||
arg0[var_v0] = '\x00';
|
||||
}
|
||||
#else
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3020D0/func_84317940.s")
|
||||
#endif
|
||||
|
||||
void func_843179F4(s8* arg0, s8 arg1) {
|
||||
u8 tmp = arg1;
|
||||
*arg0 = arg1;
|
||||
|
||||
if (tmp >= 0x80) {
|
||||
if ((tmp - 0x80) >= 0xB) {
|
||||
func_8002D7C0(arg0 + 1, 0x40, D_843900B0, tmp - 0x48);
|
||||
} else {
|
||||
func_8002D7C0(arg0 + 1, 0x40, D_843900B0, tmp - 0x49);
|
||||
}
|
||||
} else {
|
||||
func_8002D7C0(arg0 + 1, 0x40, D_843900B0, D_84385BC0[arg1]);
|
||||
}
|
||||
}
|
||||
|
||||
void func_84317AA8(char* arg0, s32 arg1) {
|
||||
UNUSED s32 pad[3];
|
||||
unk_D_84390010_654* sp28 = &D_84390010[arg1]->unk_654;
|
||||
UNUSED s32 pad2[2];
|
||||
|
||||
func_8431790C();
|
||||
D_843901A0->unk_000 = D_84390010[arg1]->unk_720->unk_08[sp28->unk_2B]->unk_001;
|
||||
func_84317940(D_843901A0->unk_048, arg0 + 1);
|
||||
*arg0 = 0;
|
||||
}
|
||||
|
||||
void func_84317B38(void) {
|
||||
}
|
||||
|
||||
void func_84317B40(void) {
|
||||
unk_D_84390010* ptr1 = D_84390010[0];
|
||||
unk_D_84390010* ptr2 = D_84390010[1];
|
||||
|
||||
if ((D_800AE540.unk_0000 != 0x10) && (D_84390240.unk_00->unk_30 == 0)) {
|
||||
func_8431595C(ptr1, 0x15, 0xF, ptr1->unk_720->unk_08[ptr1->unk_728.unk_16C]->unk_001);
|
||||
func_8431595C(ptr2, 0xE1, 0xF, ptr2->unk_720->unk_08[ptr2->unk_728.unk_16C]->unk_001);
|
||||
}
|
||||
}
|
||||
|
||||
void func_84317BDC(void) {
|
||||
u32 sp1C;
|
||||
unk_D_800FCB18* sp18 = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654.unk_38;
|
||||
|
||||
sp18->unk_58 = sp18->unk_44.unk_00;
|
||||
|
||||
if (func_84307AE0(sp18->unk_44.unk_00, D_84385990, 2) != 0) {
|
||||
sp1C = 0;
|
||||
} else if (func_84307AE0(sp18->unk_44.unk_00, D_84385994, 5) != 0) {
|
||||
sp1C = 1;
|
||||
} else if (func_84307AE0(sp18->unk_44.unk_00, D_8438599C, 5) != 0) {
|
||||
sp1C = 2;
|
||||
} else if (func_84307AE0(sp18->unk_44.unk_00, D_843859A4, 0x2E) != 0) {
|
||||
sp1C = 3;
|
||||
} else {
|
||||
sp1C = 4;
|
||||
}
|
||||
|
||||
if ((sp18->unk_44.unk_00 == 0x76) || (sp18->unk_44.unk_00 == 0x77)) {
|
||||
func_8002D5D4(0x19, func_8430862C(D_84390010[D_84390240.unk_00->unk_2C]));
|
||||
func_8002D5D4(0x1D, func_843085F0(D_84390010[D_84390240.unk_00->unk_2C]));
|
||||
|
||||
switch (sp1C) {
|
||||
case 0:
|
||||
func_843179F4(D_843901A0->unk_388, 0x14);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
func_843179F4(D_843901A0->unk_388, 0x15);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_843179F4(D_843901A0->unk_388, 0x16);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_843179F4(D_843901A0->unk_388, 0x17);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
func_843179F4(D_843901A0->unk_388, 0x18);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
func_8002D5D4(0x19, func_8430862C(D_84390010[D_84390240.unk_00->unk_2C]));
|
||||
func_8002D5D4(0x1D, func_843085F0(D_84390010[D_84390240.unk_00->unk_2C]));
|
||||
|
||||
switch (sp1C) {
|
||||
case 0:
|
||||
func_843179F4(D_843901A0->unk_0C8, 0x14);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
func_843179F4(D_843901A0->unk_0C8, 0x15);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_843179F4(D_843901A0->unk_0C8, 0x16);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_843179F4(D_843901A0->unk_0C8, 0x17);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
func_843179F4(D_843901A0->unk_0C8, 0x18);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_84317EDC(void) {
|
||||
u32 sp24;
|
||||
UNUSED s32 pad;
|
||||
unk_D_800FCB18* sp1C = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654.unk_38;
|
||||
|
||||
if (func_84307AE0(sp1C->unk_5A, D_84385990, 2) != 0) {
|
||||
sp24 = 0;
|
||||
} else if (func_84307AE0(sp1C->unk_5A, D_84385994, 5) != 0) {
|
||||
sp24 = 1;
|
||||
} else if (func_84307AE0(sp1C->unk_5A, D_8438599C, 5) != 0) {
|
||||
sp24 = 2;
|
||||
} else if (func_84307AE0(sp1C->unk_5A, D_843859A4, 0x2E) != 0) {
|
||||
sp24 = 3;
|
||||
} else {
|
||||
sp24 = 4;
|
||||
}
|
||||
|
||||
func_8002D5D4(0x19, func_8430862C(D_84390010[D_84390240.unk_00->unk_2C]));
|
||||
func_8002D5D4(0x1D, func_843085F0(D_84390010[D_84390240.unk_00->unk_2C]));
|
||||
|
||||
switch (sp24) {
|
||||
case 0:
|
||||
func_843179F4(D_843901A0->unk_0C8, 0x14);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
func_843179F4(D_843901A0->unk_0C8, 0x15);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_843179F4(D_843901A0->unk_0C8, 0x16);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_843179F4(D_843901A0->unk_0C8, 0x17);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
func_843179F4(D_843901A0->unk_0C8, 0x18);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void func_843180AC(void) {
|
||||
s32 sp2C;
|
||||
s32 tmp;
|
||||
unk_D_800FCB18* sp24;
|
||||
|
||||
sp24 = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654.unk_38;
|
||||
|
||||
if (func_84307AE0(sp24->unk_5A, D_84385990, 2) != 0) {
|
||||
sp2C = 0;
|
||||
} else if (func_84307AE0(sp24->unk_5A, D_84385994, 5) != 0) {
|
||||
sp2C = 1;
|
||||
} else if (func_84307AE0(sp24->unk_5A, D_8438599C, 5) != 0) {
|
||||
sp2C = 2;
|
||||
} else if (func_84307AE0(sp24->unk_5A, D_843859A4, 0x2E) != 0) {
|
||||
sp2C = 3;
|
||||
} else {
|
||||
sp2C = 4;
|
||||
}
|
||||
|
||||
if (sp24->unk_5A == 0x76) {
|
||||
do {
|
||||
tmp = func_8436F6D8();
|
||||
} while ((tmp == 0) || (tmp >= 0xA5) || tmp == 0x76);
|
||||
|
||||
sp24->unk_5A = tmp;
|
||||
|
||||
func_8002D5D4(0x19, func_8430862C(D_84390010[D_84390240.unk_00->unk_2C]));
|
||||
func_8002D5D4(0x1D, func_843085F0(D_84390010[D_84390240.unk_00->unk_2C]));
|
||||
|
||||
switch (sp2C) {
|
||||
case 0:
|
||||
func_843179F4(D_843901A0->unk_0C8, 0x14);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
func_843179F4(D_843901A0->unk_0C8, 0x15);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_843179F4(D_843901A0->unk_0C8, 0x16);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_843179F4(D_843901A0->unk_0C8, 0x17);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
func_843179F4(D_843901A0->unk_0C8, 0x18);
|
||||
break;
|
||||
}
|
||||
|
||||
sp24->unk_5A = 0x76;
|
||||
|
||||
func_8002D5D4(0x19, func_8430862C(D_84390010[D_84390240.unk_00->unk_2C]));
|
||||
func_8002D5D4(0x1D, func_843085F0(D_84390010[D_84390240.unk_00->unk_2C]));
|
||||
|
||||
switch (sp2C) {
|
||||
case 0:
|
||||
func_843179F4(D_843901A0->unk_388, 0x14);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
func_843179F4(D_843901A0->unk_388, 0x15);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_843179F4(D_843901A0->unk_388, 0x16);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_843179F4(D_843901A0->unk_388, 0x17);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
func_843179F4(D_843901A0->unk_388, 0x18);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
func_8002D5D4(0x19, func_8430862C(D_84390010[D_84390240.unk_00->unk_2C]));
|
||||
func_8002D5D4(0x1D, func_843085F0(D_84390010[D_84390240.unk_00->unk_2C]));
|
||||
|
||||
switch (sp2C) {
|
||||
case 0:
|
||||
func_843179F4(D_843901A0->unk_0C8, 0x14);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
func_843179F4(D_843901A0->unk_0C8, 0x15);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_843179F4(D_843901A0->unk_0C8, 0x16);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_843179F4(D_843901A0->unk_0C8, 0x17);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
func_843179F4(D_843901A0->unk_0C8, 0x18);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_843184E4(s32 arg0) {
|
||||
unk_D_843901A0_4C8* ptr = &D_843901A0->unk_4C8;
|
||||
|
||||
ptr->unk_00 = 0;
|
||||
ptr->unk_04 = arg0;
|
||||
}
|
||||
|
||||
void func_843184FC(void) {
|
||||
unk_D_843901A0_4C8* ptr = &D_843901A0->unk_4C8;
|
||||
|
||||
ptr->unk_00 = 0xFF;
|
||||
}
|
||||
|
||||
void func_84318514(s8* arg0) {
|
||||
s32 temp_v0;
|
||||
|
||||
if (arg0[1] == '\x00') {
|
||||
return;
|
||||
}
|
||||
|
||||
temp_v0 = arg0[0] & 0x7F;
|
||||
|
||||
if ((arg0[0] & 0x80) == '\x00') {
|
||||
func_8003F624(arg0[0]);
|
||||
} else if (temp_v0 == 'Q') {
|
||||
func_8003F624(0xBC);
|
||||
} else if (temp_v0 == 'R') {
|
||||
func_8003F624(0xB5);
|
||||
} else if (temp_v0 == 'S') {
|
||||
func_8003F624(0xB6);
|
||||
} else if (temp_v0 == 'T') {
|
||||
func_8003F624(0xB7);
|
||||
} else if (temp_v0 == 'U') {
|
||||
func_8003F624(0xB8);
|
||||
} else if (temp_v0 == 'V') {
|
||||
func_8003F624(0xB9);
|
||||
} else if (temp_v0 == 'W') {
|
||||
func_8003F624(0xBA);
|
||||
} else if (temp_v0 == 'X') {
|
||||
func_8003F624(0xBB);
|
||||
} else {
|
||||
func_8003F624(temp_v0 + 0x64);
|
||||
}
|
||||
}
|
||||
|
||||
void func_84318640(unk_D_843901A0_4C8* arg0, s16 arg1, s16 arg2) {
|
||||
UNUSED s32 pad;
|
||||
s32 temp_s1;
|
||||
|
||||
if (1) {}
|
||||
|
||||
switch (arg0->unk_04) {
|
||||
case 0:
|
||||
if (func_84315BC0(&D_843901A0->unk_388[1], arg1 + 4, arg2 + (arg0->unk_10 * 0xC) + 3) != 0) {
|
||||
arg0->unk_10 += 1;
|
||||
}
|
||||
|
||||
if (func_84315BC0(&D_843901A0->unk_0C8[1], arg1 + 4, arg2 + (arg0->unk_10 * 0xC) + 3) != 0) {
|
||||
arg0->unk_10 += 1;
|
||||
}
|
||||
|
||||
if (func_84315BC0(&D_843901A0->unk_188[1], arg1 + 4, arg2 + (arg0->unk_10 * 0xC) + 3) != 0) {
|
||||
arg0->unk_10 += 1;
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
if (func_84315BC0(&D_843901A0->unk_088[1], arg1 + 4, arg2 + (arg0->unk_10 * 0xC) + 3) != 0) {
|
||||
arg0->unk_10 += 1;
|
||||
}
|
||||
|
||||
if (func_84315BC0(&D_843901A0->unk_148[1], arg1 + 4, arg2 + (arg0->unk_10 * 0xC) + 3) != 0) {
|
||||
arg0->unk_10 += 1;
|
||||
}
|
||||
|
||||
if (func_84315BC0(&D_843901A0->unk_208[1], arg1 + 4, arg2 + (arg0->unk_10 * 0xC) + 3) != 0) {
|
||||
arg0->unk_10 += 1;
|
||||
}
|
||||
break;
|
||||
|
||||
case 1:
|
||||
if (func_84315BC0(&D_843901A0->unk_3C8[1], arg1 + 4, arg2 + (arg0->unk_10 * 0xC) + 3) != 0) {
|
||||
arg0->unk_10 += 1;
|
||||
}
|
||||
|
||||
if (func_84315BC0(&D_843901A0->unk_088[1], arg1 + 4, arg2 + (arg0->unk_10 * 0xC) + 3) != 0) {
|
||||
arg0->unk_10 += 1;
|
||||
}
|
||||
|
||||
if (func_84315BC0(&D_843901A0->unk_148[1], arg1 + 4, arg2 + (arg0->unk_10 * 0xC) + 3) != 0) {
|
||||
arg0->unk_10 += 1;
|
||||
}
|
||||
|
||||
if ((arg0->unk_10 < 3) &&
|
||||
(func_84315BC0(&D_843901A0->unk_208[1], arg1 + 4, arg2 + (arg0->unk_10 * 0xC) + 3) != 0)) {
|
||||
arg0->unk_10 += 1;
|
||||
}
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if (func_84315BC0(&D_843901A0->unk_088[1], arg1 + 4, arg2 + (arg0->unk_10 * 0xC) + 3) != 0) {
|
||||
arg0->unk_10 += 1;
|
||||
}
|
||||
|
||||
if (func_84315BC0(&D_843901A0->unk_148[1], arg1 + 4, arg2 + (arg0->unk_10 * 0xC) + 3) != 0) {
|
||||
arg0->unk_10 += 1;
|
||||
}
|
||||
|
||||
if (func_84315BC0(&D_843901A0->unk_208[1], arg1 + 4, arg2 + (arg0->unk_10 * 0xC) + 3) != 0) {
|
||||
arg0->unk_10 += 1;
|
||||
}
|
||||
break;
|
||||
|
||||
case 4:
|
||||
func_84315BC0(&D_843901A0->unk_248[1], arg1 + 4, arg2 + 3);
|
||||
break;
|
||||
|
||||
case 5:
|
||||
func_84315BC0(&D_843901A0->unk_288[1], arg1 + 4, arg2 + 3);
|
||||
break;
|
||||
|
||||
case 6:
|
||||
func_84315BC0(&D_843901A0->unk_408[1], arg1 + 4, arg2 + 3);
|
||||
break;
|
||||
|
||||
case 7:
|
||||
func_84315BC0(&D_843901A0->unk_348[1], arg1 + 4, arg2 + 3);
|
||||
func_84315BC0(&D_843901A0->unk_2C8[1], arg1 + 4, arg2 + 0x10);
|
||||
break;
|
||||
|
||||
case 8:
|
||||
func_84315BC0(&D_843901A0->unk_448[arg0->unk_0C][1], arg1 + 4, arg2 + 3);
|
||||
break;
|
||||
|
||||
case 9:
|
||||
case 10:
|
||||
func_84315BC0(&D_843901A0->unk_1C8[1], arg1 + 4, arg2 + 3);
|
||||
break;
|
||||
|
||||
case 11:
|
||||
func_84315BC0(&D_843901A0->unk_088[1], arg1 + 4, arg2 + 3);
|
||||
break;
|
||||
|
||||
case 12:
|
||||
func_84315BC0(&D_843901A0->unk_088[1], arg1 + 4, arg2 + 3);
|
||||
break;
|
||||
|
||||
case 13:
|
||||
temp_s1 = func_8001F5B0(1, 0, func_8002D7C0(NULL, 0, D_843900B0, 0xA4)) / 2;
|
||||
func_84315BC0(func_8002D7C0(NULL, 0, D_843900B0, 0xA4), 0xA1 - temp_s1, 0x71);
|
||||
break;
|
||||
|
||||
case 14:
|
||||
func_84317004();
|
||||
break;
|
||||
|
||||
case 15:
|
||||
func_84315BC0(&D_843901A0->unk_088[1], arg1 + 4, arg2 + (arg0->unk_10 * 0xC) + 3);
|
||||
break;
|
||||
}
|
||||
|
||||
arg0->unk_10 = 0;
|
||||
}
|
||||
|
||||
s32 func_84318CE4(unk_D_843901A0_4C8* arg0) {
|
||||
unk_D_843901A0* temp_v0;
|
||||
s32 tmp;
|
||||
|
||||
arg0->unk_10 = 0;
|
||||
|
||||
switch (arg0->unk_04) {
|
||||
case 0:
|
||||
if ((D_843901A0->unk_0C8[1] == 0) && (D_843901A0->unk_388[1] == 0) && (D_843901A0->unk_188[1] == 0)) {
|
||||
arg0->unk_00 = 0xFF;
|
||||
return 1;
|
||||
}
|
||||
|
||||
arg0->unk_0C = D_84390240.unk_00->unk_2C;
|
||||
if (D_843901A0->unk_0C8[1] != 0) {
|
||||
func_84318514(D_843901A0->unk_0C8);
|
||||
}
|
||||
|
||||
if (D_843901A0->unk_388[1] != 0) {
|
||||
func_84318514(D_843901A0->unk_388);
|
||||
}
|
||||
|
||||
if (D_843901A0->unk_188[1] != 0) {
|
||||
func_84318514(D_843901A0->unk_188);
|
||||
}
|
||||
arg0->unk_00 += 1;
|
||||
break;
|
||||
|
||||
case 1:
|
||||
case 3:
|
||||
arg0->unk_0C = D_84390240.unk_00->unk_2C;
|
||||
func_84318514(D_843901A0->unk_088);
|
||||
func_84318514(D_843901A0->unk_148);
|
||||
func_84318514(D_843901A0->unk_208);
|
||||
func_84318514(D_843901A0->unk_3C8);
|
||||
func_84318514(D_843901A0->unk_308);
|
||||
if ((D_843901A0->unk_088[1] == 0) && (D_843901A0->unk_148[1] == 0) && (D_843901A0->unk_208[1] == 0) &&
|
||||
(D_843901A0->unk_3C8[1] == 0) && (D_843901A0->unk_308[1] == 0)) {
|
||||
arg0->unk_00 = 0xFF;
|
||||
return 1;
|
||||
}
|
||||
arg0->unk_00 += 1;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
arg0->unk_0C = D_84390240.unk_00->unk_2C;
|
||||
func_84318514(D_843901A0->unk_088);
|
||||
func_84318514(D_843901A0->unk_148);
|
||||
func_84318514(D_843901A0->unk_208);
|
||||
if ((D_843901A0->unk_088[1] == 0) && (D_843901A0->unk_148[1] == 0) && (D_843901A0->unk_208[1] == 0)) {
|
||||
arg0->unk_00 = 0xFF;
|
||||
return 1;
|
||||
}
|
||||
arg0->unk_00 += 1;
|
||||
break;
|
||||
|
||||
case 15:
|
||||
arg0->unk_0C = D_84390240.unk_00->unk_2C;
|
||||
func_84318514(D_843901A0->unk_088);
|
||||
if (D_843901A0->unk_088[1] == 0) {
|
||||
arg0->unk_00 = 0xFF;
|
||||
return 1;
|
||||
}
|
||||
arg0->unk_00 += 1;
|
||||
break;
|
||||
|
||||
case 8:
|
||||
if (D_843901A0->unk_448[arg0->unk_0C][1] == 0) {
|
||||
arg0->unk_00 = 0xFF;
|
||||
return 1;
|
||||
}
|
||||
tmp = D_84390240.unk_00->unk_2C == 0;
|
||||
arg0->unk_00 += 1;
|
||||
arg0->unk_0C = tmp;
|
||||
break;
|
||||
|
||||
case 9:
|
||||
tmp = D_84390240.unk_00->unk_2C == 0;
|
||||
arg0->unk_00 += 1;
|
||||
arg0->unk_0C = tmp;
|
||||
break;
|
||||
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
func_84318514(D_843901A0->unk_248);
|
||||
func_84318514(D_843901A0->unk_288);
|
||||
func_84318514(D_843901A0->unk_408);
|
||||
arg0->unk_00 += 1;
|
||||
break;
|
||||
|
||||
case 14:
|
||||
D_84390190.z = 0.0f;
|
||||
D_84390190.x = 321.0f;
|
||||
D_84390190.y = 160.0f;
|
||||
arg0->unk_0C = D_84390240.unk_00->unk_2C;
|
||||
arg0->unk_00 += 1;
|
||||
break;
|
||||
|
||||
default:
|
||||
arg0->unk_0C = D_84390240.unk_00->unk_2C;
|
||||
arg0->unk_00 += 1;
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void func_843190A8(s16 arg0, s16 arg1) {
|
||||
unk_D_843901A0_4C8* temp_s0 = &D_843901A0->unk_4C8;
|
||||
|
||||
if (D_800AE540.unk_0000 == 0x10) {
|
||||
return;
|
||||
}
|
||||
|
||||
switch (temp_s0->unk_00) {
|
||||
case 0:
|
||||
temp_s0->unk_08 = 0;
|
||||
if (temp_s0->unk_04 == 0xD) {
|
||||
func_843160C0(temp_s0, 0xA0, 0x78);
|
||||
temp_s0->unk_00++;
|
||||
} else if (temp_s0->unk_04 == 0xE) {
|
||||
func_84318CE4(temp_s0);
|
||||
} else if (func_84318CE4(temp_s0) == 0) {
|
||||
func_84315D88(temp_s0, arg0, arg1);
|
||||
}
|
||||
break;
|
||||
|
||||
case 1:
|
||||
if (temp_s0->unk_04 == 0xD) {
|
||||
if (func_843161F8(temp_s0, 0xA0, 0x78) != 0) {
|
||||
func_84318640(temp_s0, temp_s0->unk_14.x, temp_s0->unk_14.y);
|
||||
temp_s0->unk_00++;
|
||||
}
|
||||
} else {
|
||||
if (temp_s0->unk_04 == 0xE) {
|
||||
func_8003F660(func_84308D98(D_84390010[temp_s0->unk_0C]));
|
||||
func_84318640(temp_s0, temp_s0->unk_14.x, temp_s0->unk_14.y);
|
||||
temp_s0->unk_00++;
|
||||
} else if (func_84315EC0(temp_s0, arg0, arg1) != 0) {
|
||||
func_8003F660(func_84308D98(D_84390010[temp_s0->unk_0C]));
|
||||
func_84318640(temp_s0, temp_s0->unk_14.x, temp_s0->unk_14.y);
|
||||
temp_s0->unk_00++;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if (temp_s0->unk_04 == 0xD) {
|
||||
func_843161F8(temp_s0, 0xA0, 0x78);
|
||||
func_84318640(temp_s0, temp_s0->unk_14.x, temp_s0->unk_14.y);
|
||||
|
||||
temp_s0->unk_08++;
|
||||
if (temp_s0->unk_08 == 0x46) {
|
||||
temp_s0->unk_00++;
|
||||
}
|
||||
} else {
|
||||
if (temp_s0->unk_04 == 0xE) {
|
||||
func_84318640(temp_s0, temp_s0->unk_14.x, temp_s0->unk_14.y);
|
||||
} else {
|
||||
func_84315EC0(temp_s0, arg0, arg1);
|
||||
func_84318640(temp_s0, temp_s0->unk_14.x, temp_s0->unk_14.y);
|
||||
|
||||
temp_s0->unk_08++;
|
||||
if (temp_s0->unk_08 == 0x2D) {
|
||||
temp_s0->unk_00++;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void func_843193F4(unk_D_84390010* arg0) {
|
||||
arg0->unk_8C4.unk_00 = 0;
|
||||
arg0->unk_8C4.unk_04 = 0;
|
||||
arg0->unk_8C4.unk_48[0] = 0;
|
||||
arg0->unk_8C4.unk_08[0] = 0;
|
||||
}
|
||||
|
||||
void func_84319408(unk_D_84390010* arg0, s32 arg1) {
|
||||
D_843901A0->unk_000 = arg0->unk_720->unk_08[arg0->unk_654.unk_2C]->unk_001;
|
||||
arg0->unk_8C4.unk_00 = 1;
|
||||
func_8002D5D4(0x19, arg0->unk_724->unk_01C[arg0->unk_654.unk_08].unk_30);
|
||||
func_8002D7C0(arg0->unk_8C4.unk_48, 0x40, D_843900B0, arg1);
|
||||
}
|
||||
|
||||
void func_843194A0(unk_D_84390010* arg0) {
|
||||
unk_D_800AE540_0004* temp_t0 = arg0->unk_720->unk_08[arg0->unk_654.unk_2C];
|
||||
|
||||
if (arg0->unk_8C4.unk_48[arg0->unk_8C4.unk_04] != '\x00') {
|
||||
arg0->unk_8C4.unk_08[arg0->unk_8C4.unk_04] = arg0->unk_8C4.unk_48[arg0->unk_8C4.unk_04];
|
||||
arg0->unk_8C4.unk_04++;
|
||||
}
|
||||
|
||||
if (arg0->unk_8C4.unk_48[arg0->unk_8C4.unk_04] != '\x00') {
|
||||
arg0->unk_8C4.unk_08[arg0->unk_8C4.unk_04] = arg0->unk_8C4.unk_48[arg0->unk_8C4.unk_04];
|
||||
arg0->unk_8C4.unk_04++;
|
||||
}
|
||||
|
||||
arg0->unk_8C4.unk_08[arg0->unk_8C4.unk_04] = '\x00';
|
||||
|
||||
if (arg0->unk_8C4.unk_48[0] != 0) {
|
||||
if (arg0 == D_84390018) {
|
||||
func_843162E4(temp_t0->unk_001, 0x5F, 0xE, &arg0->unk_8C4.unk_08);
|
||||
} else {
|
||||
func_843162E4(temp_t0->unk_001, 0x17, 0xBB, &arg0->unk_8C4.unk_08);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_84319564(void) {
|
||||
unk_D_84390010_654* sp1C = &D_84390010[0]->unk_654;
|
||||
unk_D_84390010_654* sp18 = &D_84390010[1]->unk_654;
|
||||
|
||||
if ((D_800AE540.unk_11ED != 0) && (D_84390010[1]->unk_728.unk_168->unk_1C == 0x103) &&
|
||||
(D_84390010[0]->unk_728.unk_168->unk_1C == 0x17)) {
|
||||
func_843118A8(0x101, 0x64);
|
||||
if (D_84390134 == 0) {
|
||||
if (sp1C->unk_10 != 3) {
|
||||
func_843116D8(0x46, 0x4D);
|
||||
}
|
||||
|
||||
if (sp18->unk_10 != 3) {
|
||||
func_843116D8(0xE8, 0x96);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_8431962C(void) {
|
||||
D_843901A0 = main_pool_alloc(sizeof(unk_D_843901A0), 0);
|
||||
bzero(D_843901A0, sizeof(unk_D_843901A0));
|
||||
}
|
||||
|
||||
void func_84319668(void) {
|
||||
D_843901A0->unk_004 = 0;
|
||||
D_843901A0->unk_008[D_843901A0->unk_004] = 0;
|
||||
func_8431790C();
|
||||
}
|
||||
|
||||
void func_843196A4(void) {
|
||||
unk_D_84390010_654* sp1C = &D_84390010[0]->unk_654;
|
||||
unk_D_84390010_654* sp18 = &D_84390010[1]->unk_654;
|
||||
|
||||
if (1) {}
|
||||
|
||||
func_843190A8(0xA0, 0xC8);
|
||||
|
||||
if (D_800AE540.unk_0000 == 0x10) {
|
||||
func_8431712C();
|
||||
func_8431694C();
|
||||
}
|
||||
|
||||
switch (D_84390240.unk_00->unk_1C) {
|
||||
case 1:
|
||||
func_843172A0(D_84390010[0], sp1C);
|
||||
func_84317558(D_84390010[1], sp18);
|
||||
func_843194A0(D_84390010[0]);
|
||||
func_843194A0(D_84390010[1]);
|
||||
func_84319564();
|
||||
func_84316610();
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_84317B40();
|
||||
func_84316610();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,47 +1,626 @@
|
|||
#include "global.h"
|
||||
#include "fragment62.h"
|
||||
#include "src/17300.h"
|
||||
#include "src/F420.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_304060/func_843197A0.s")
|
||||
typedef struct unk_D_843859E0 {
|
||||
/* 0x00 */ u8 unk_00;
|
||||
/* 0x04 */ f32 unk_04;
|
||||
/* 0x08 */ s16 unk_08;
|
||||
/* 0x0A */ s16 unk_0A;
|
||||
/* 0x0C */ f32 unk_0C;
|
||||
} unk_D_843859E0; // size = 0x10
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_304060/func_84319878.s")
|
||||
static unk_D_843859E0 D_843859E0[] = {
|
||||
{
|
||||
0x00,
|
||||
2002.1199951171875f,
|
||||
1367,
|
||||
-20914,
|
||||
50.0f,
|
||||
},
|
||||
{
|
||||
0x01,
|
||||
1693.1199951171875f,
|
||||
183,
|
||||
-11871,
|
||||
50.0f,
|
||||
},
|
||||
{
|
||||
0x02,
|
||||
1934.97998046875f,
|
||||
1217,
|
||||
8182,
|
||||
50.0f,
|
||||
},
|
||||
{
|
||||
0x03,
|
||||
1733.780029296875f,
|
||||
397,
|
||||
6520,
|
||||
50.0f,
|
||||
},
|
||||
{
|
||||
0x04,
|
||||
1102.3900146484375f,
|
||||
1577,
|
||||
-3562,
|
||||
50.0f,
|
||||
},
|
||||
{
|
||||
0x05,
|
||||
1425.7900390625f,
|
||||
2285,
|
||||
-5775,
|
||||
50.0f,
|
||||
},
|
||||
{
|
||||
0x06,
|
||||
871.3599853515625f,
|
||||
1825,
|
||||
-8898,
|
||||
50.0f,
|
||||
},
|
||||
{
|
||||
0x07,
|
||||
1170.8199462890625f,
|
||||
4982,
|
||||
-6725,
|
||||
50.0f,
|
||||
},
|
||||
{
|
||||
0x11,
|
||||
1645.5699462890625f,
|
||||
7861,
|
||||
-122,
|
||||
50.0f,
|
||||
},
|
||||
{
|
||||
0x01,
|
||||
1741.530029296875f,
|
||||
6993,
|
||||
-6029,
|
||||
50.0f,
|
||||
},
|
||||
{
|
||||
0x06,
|
||||
1608.3199462890625f,
|
||||
6419,
|
||||
-16201,
|
||||
50.0f,
|
||||
},
|
||||
{
|
||||
0x00,
|
||||
1122.8599853515625f,
|
||||
2584,
|
||||
-14668,
|
||||
50.0f,
|
||||
},
|
||||
{
|
||||
0x00,
|
||||
1667.239990234375f,
|
||||
5360,
|
||||
4438,
|
||||
50.0f,
|
||||
},
|
||||
{
|
||||
0x00,
|
||||
1315.9599609375f,
|
||||
3001,
|
||||
-7883,
|
||||
50.0f,
|
||||
},
|
||||
{
|
||||
0x00,
|
||||
1575.4300537109375f,
|
||||
5834,
|
||||
10901,
|
||||
50.0f,
|
||||
},
|
||||
{
|
||||
0x00,
|
||||
719.8599853515625f,
|
||||
3047,
|
||||
-16384,
|
||||
50.0f,
|
||||
},
|
||||
{
|
||||
0x00,
|
||||
939.3900146484375f,
|
||||
2300,
|
||||
0,
|
||||
50.0f,
|
||||
},
|
||||
{
|
||||
0x01,
|
||||
560.239990234375f,
|
||||
773,
|
||||
-8863,
|
||||
50.0f,
|
||||
},
|
||||
{
|
||||
0x01,
|
||||
2002.1199951171875f,
|
||||
1367,
|
||||
-20914,
|
||||
30.0f,
|
||||
},
|
||||
{
|
||||
0x01,
|
||||
2002.1199951171875f,
|
||||
1367,
|
||||
-20914,
|
||||
30.0f,
|
||||
},
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_304060/func_843198EC.s")
|
||||
s32 func_843197A0(void) {
|
||||
if (((func_84307C04(D_84390010[0]) + func_84307C04(D_84390010[1])) <= 85.0f) &&
|
||||
(func_84307BAC(D_84390010[0]) == 0.0f) && (func_84307BAC(D_84390010[1]) == 0.0f) &&
|
||||
(D_84390010[0]->unk_000.unk_024.y == 0.0f) && (D_84390010[1]->unk_000.unk_024.y == 0.0f)) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_304060/func_8431995C.s")
|
||||
s32 func_84319878(UNUSED unk_D_84390010* arg0, unk_D_86002F34_00C* arg1) {
|
||||
unk_D_84390010_654* ptr = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_304060/func_84319AE8.s")
|
||||
if ((ptr->unk_2D == 0x10) || ((ptr->unk_34 & 0x4000) != 0)) {
|
||||
func_8431A4C4(arg1);
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_304060/func_84319C58.s")
|
||||
s32 func_843198EC(UNUSED unk_D_84390010* arg0, UNUSED unk_D_86002F34_00C* arg1) {
|
||||
unk_D_84390010_654* ptr = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654;
|
||||
s32 idx = D_84390240.unk_00->unk_2C == 0;
|
||||
unk_D_84390010_654* ptr2 = &D_84390010[idx]->unk_654;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_304060/func_84319F10.s")
|
||||
if ((ptr->unk_34 & 0x4000) || (ptr2->unk_34 & 0x4000)) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_304060/func_8431A024.s")
|
||||
void func_8431995C(unk_D_86002F34_00C* arg0) {
|
||||
func_8431AE5C();
|
||||
arg0->unk_24.fovy = 50.0f;
|
||||
if (func_843197A0() != 0) {
|
||||
func_8431BB24(arg0, D_84385B9C, 0, 0, 0.0f, 0.0f);
|
||||
func_8431BC38(arg0, D_84385B9C, 0x5B0, 0, 550.0f, 0.0f);
|
||||
} else {
|
||||
func_8431BB24(arg0, D_84385B90, 0, 0, 0.0f, 0.0f);
|
||||
func_8431BC38(arg0, D_84385B90, 0x5B0, 0, 550.0f, 0.0f);
|
||||
}
|
||||
arg0->unk_60.eye.z *= 0.6;
|
||||
D_84390240.unk_00->unk_20++;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_304060/func_8431A098.s")
|
||||
void func_84319AE8(unk_D_86002F34_00C* arg0) {
|
||||
func_8431AE5C();
|
||||
arg0->unk_24.fovy = 30.0f;
|
||||
if (func_843197A0() != 0) {
|
||||
func_8431BB24(arg0, D_84385B9C, 0, 0, 0.0f, 0.0f);
|
||||
func_8431BC38(arg0, D_84385B9C, 0x1A4E, 0, 1000.0f, 0.0f);
|
||||
} else {
|
||||
func_8431BB24(arg0, D_84385B90, 0, 0, 0.0f, 0.0f);
|
||||
func_8431BC38(arg0, D_84385B90, 0x1A4E, 0, 1000.0f, 0.0f);
|
||||
}
|
||||
D_84390240.unk_00->unk_20++;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_304060/func_8431A130.s")
|
||||
void func_84319C58(unk_D_86002F34_00C* arg0, s32 arg1) {
|
||||
UNUSED s32 pad;
|
||||
f32 sp50;
|
||||
f32 sp4C;
|
||||
s16 sp4A;
|
||||
unk_D_84390010_654* sp44;
|
||||
UNUSED s32 pad2;
|
||||
u16 sp3E;
|
||||
unk_D_84390010* temp_s0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_304060/func_8431A1C8.s")
|
||||
sp44 = &D_84390010[arg1]->unk_654;
|
||||
func_8431BA5C();
|
||||
func_8431AE4C(arg1);
|
||||
temp_s0 = D_84390010[D_84390240.unk_00->unk_2C];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_304060/func_8431A2C8.s")
|
||||
if (func_84319878(temp_s0, arg0) == 0) {
|
||||
func_843081F0(temp_s0, &D_84390240.unk_00->unk_D0);
|
||||
if (!(sp44->unk_34 & 2)) {
|
||||
func_84305760(temp_s0, 1);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_304060/func_8431A4C4.s")
|
||||
sp50 = func_84308598(temp_s0) * 3.5f;
|
||||
sp3E = func_8430C414(3);
|
||||
sp50 *= ((func_84308014(temp_s0) * 0.5f * sp3E) + 1.0f);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_304060/func_8431A718.s")
|
||||
if (sp50 > 325.0f) {
|
||||
sp50 = 325.0f;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_304060/func_8431A780.s")
|
||||
sp3E = func_8430C414(4);
|
||||
sp4C = func_84308548(temp_s0) * sp3E;
|
||||
sp4A = func_8430C414(0xB4);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_304060/func_8431A7B8.s")
|
||||
if (sp44->unk_34 & 0x200) {
|
||||
sp4C = 0.0f;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_304060/func_8431A8B0.s")
|
||||
func_8431BAB4(temp_s0, arg0, D_84390240.unk_00->unk_D0, 0, 0, 0, 0.0f);
|
||||
func_8431BB80(arg0, D_84390240.unk_00->unk_D0, 0, 0x4000 - (sp4A * 0xB6), sp50, sp4C);
|
||||
func_8431D5C8(arg0);
|
||||
func_8431B858(temp_s0, arg0);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_304060/func_8431A94C.s")
|
||||
if (temp_s0->unk_000.unk_01A == 0x5F) {
|
||||
arg0->unk_24.fovy = 50.0f;
|
||||
} else {
|
||||
arg0->unk_24.fovy = 30.0f;
|
||||
}
|
||||
D_84390240.unk_00->unk_20++;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_304060/func_8431A9E0.s")
|
||||
void func_84319F10(unk_D_86002F34_00C* arg0, s32 arg1) {
|
||||
UNUSED s32 pad[2];
|
||||
unk_D_86B0C160* sp24;
|
||||
s32 var_a0;
|
||||
unk_D_84390010* temp_s0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_304060/func_8431AA3C.s")
|
||||
func_8431BA5C();
|
||||
func_8431AE4C(arg1);
|
||||
temp_s0 = D_84390010[D_84390240.unk_00->unk_2C];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_304060/func_8431AA78.s")
|
||||
if (func_84319878(temp_s0, arg0) == 0) {
|
||||
if (temp_s0->unk_654.unk_34 & 0x200) {
|
||||
sp24 = &D_84384888[0];
|
||||
} else {
|
||||
var_a0 = func_8430C414(5);
|
||||
if (var_a0 >= 5) {
|
||||
var_a0 = 0;
|
||||
}
|
||||
sp24 = &D_843847EC[var_a0];
|
||||
}
|
||||
arg0->unk_24.fovy = sp24->unk_30;
|
||||
func_843081F0(temp_s0, &D_843901B0.unk_00);
|
||||
func_8431D7D8(sp24, arg0, temp_s0);
|
||||
func_8431D5D0(arg0, temp_s0, 1);
|
||||
func_8431D5C8(arg0);
|
||||
D_84390240.unk_00->unk_20++;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_304060/func_8431AAAC.s")
|
||||
void func_8431A024(unk_D_86002F34_00C* arg0, s32 arg1) {
|
||||
arg0->unk_24.fovy = 30.0f;
|
||||
func_8431AE4C(arg1);
|
||||
if (func_84319878(D_84390010[arg1], arg0) == 0) {
|
||||
func_8431B500(arg0, arg1);
|
||||
D_84390240.unk_00->unk_20++;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_304060/func_8431AAFC.s")
|
||||
void func_8431A098(unk_D_86002F34_00C* arg0) {
|
||||
func_8431AE4C(D_84390240.unk_00->unk_54 - 1);
|
||||
if (func_843198EC(D_84390010[D_84390240.unk_00->unk_2C], arg0) != 0) {
|
||||
D_84390240.unk_00->unk_54 = 0;
|
||||
func_8431A4C4(arg0);
|
||||
} else {
|
||||
func_8431DC78(arg0, D_84390240.unk_00->unk_2C);
|
||||
D_84390240.unk_00->unk_20++;
|
||||
}
|
||||
}
|
||||
|
||||
void func_8431A130(unk_D_86002F34_00C* arg0) {
|
||||
func_8431AE4C(D_84390240.unk_00->unk_2C);
|
||||
D_84390240.unk_00->unk_54 = 0;
|
||||
if (func_843198EC(D_84390010[D_84390240.unk_00->unk_2C], arg0) != 0) {
|
||||
func_8431A4C4(arg0);
|
||||
} else {
|
||||
func_8431DC78(arg0, D_84390240.unk_00->unk_2C);
|
||||
D_84390240.unk_00->unk_20++;
|
||||
}
|
||||
}
|
||||
|
||||
void func_8431A1C8(unk_D_86002F34_00C* arg0) {
|
||||
s16 var_v1;
|
||||
|
||||
func_8431AE5C();
|
||||
if (D_800AE540.unk_0000 == 0x10) {
|
||||
var_v1 = D_843859E0[D_800AE540.unk_0001].unk_00;
|
||||
if (D_800AE540.unk_0001 == 7) {
|
||||
var_v1 += D_800AE540.unk_0002;
|
||||
}
|
||||
} else {
|
||||
var_v1 = D_843859E0[D_800AE540.unk_0000].unk_00;
|
||||
if (D_800AE540.unk_0000 == 7) {
|
||||
var_v1 += D_800AE540.unk_0002;
|
||||
}
|
||||
}
|
||||
arg0->unk_24.fovy = D_843859E0[var_v1].unk_0C;
|
||||
func_8000E88C(&arg0->unk_60.at, 0.0f, 10.0f, 0.0f);
|
||||
func_80010354(&arg0->unk_60.at, &arg0->unk_60.eye, D_843859E0[var_v1].unk_04, D_843859E0[var_v1].unk_08,
|
||||
D_843859E0[var_v1].unk_0A);
|
||||
D_84390240.unk_00->unk_20++;
|
||||
}
|
||||
|
||||
void func_8431A2C8(unk_D_86002F34_00C* arg0, s32 arg1) {
|
||||
UNUSED s32 pad[5];
|
||||
s32 var_v1;
|
||||
unk_D_84390010* temp_s0;
|
||||
f32 tmp1;
|
||||
s16 tmp4;
|
||||
s16 tmp3;
|
||||
f32 tmp2;
|
||||
|
||||
func_8431AFD0(arg0, 10.0f, 12800.0f);
|
||||
arg0->unk_24.fovy = 60.0f;
|
||||
func_8431AE4C(arg1);
|
||||
temp_s0 = D_84390010[arg1];
|
||||
|
||||
if (func_84319878(temp_s0, arg0) == 0) {
|
||||
if ((temp_s0->unk_000.unk_01A == 0x98) || (temp_s0->unk_654.unk_34 & 2)) {
|
||||
func_8431A4C4(arg0);
|
||||
return;
|
||||
}
|
||||
|
||||
if ((temp_s0->unk_000.unk_01A == 0x5F) && (arg1 == 1)) {
|
||||
var_v1 = 0x97;
|
||||
} else {
|
||||
var_v1 = (temp_s0->unk_000.unk_01A - 1) & 0xFF;
|
||||
}
|
||||
|
||||
tmp2 = (D_84384580[arg1]->unk_00.y + temp_s0->unk_000.unk_024.y) + D_84384C30[var_v1].z;
|
||||
tmp1 = ((D_84384580[arg1]->unk_00.z + D_84384C30[var_v1].y) * temp_s0->unk_4B0) + temp_s0->unk_000.unk_024.x;
|
||||
|
||||
func_8000E88C(&arg0->unk_60.at, tmp1, tmp2, temp_s0->unk_000.unk_024.z);
|
||||
|
||||
tmp1 = D_84384580[D_84390240.unk_00->unk_2C]->unk_00.x * D_84384C30[var_v1].x;
|
||||
tmp4 = D_84384580[D_84390240.unk_00->unk_2C]->unk_0C;
|
||||
tmp3 = (temp_s0->unk_4B0 * D_84384580[D_84390240.unk_00->unk_2C]->unk_0E) + func_84308190(temp_s0);
|
||||
|
||||
func_80010354(&arg0->unk_60.at, &arg0->unk_60.eye, tmp1, tmp4, tmp3);
|
||||
D_84390240.unk_00->unk_20++;
|
||||
}
|
||||
}
|
||||
|
||||
void func_8431A4C4(unk_D_86002F34_00C* arg0) {
|
||||
UNUSED s32 pad[2];
|
||||
s32 sp20[] = {
|
||||
// D_84385B20
|
||||
0x00000000, 0x00000008, 0x00000004, 0x00000014, 0x0000000A,
|
||||
0x00000006, 0x00000002, 0x00000016, 0x00000018, 0x000000FF,
|
||||
};
|
||||
|
||||
func_8431AFD0(arg0, 20.0f, 12800.0f);
|
||||
arg0->unk_24.fovy = 30.0f;
|
||||
if ((D_84390240.unk_00->unk_54 != 0) && (func_8431DBEC(arg0) != 0)) {
|
||||
D_84390240.unk_00->unk_20 = 0x10;
|
||||
} else {
|
||||
D_84390240.unk_00->unk_54 = 0;
|
||||
if (sp20[D_84390240.unk_00->unk_0C] == 0xFF) {
|
||||
D_84390240.unk_00->unk_0C = 0;
|
||||
}
|
||||
D_84390240.unk_00->unk_20 = sp20[D_84390240.unk_00->unk_0C];
|
||||
D_84390240.unk_00->unk_0C++;
|
||||
}
|
||||
|
||||
func_843087F8(*D_84390010);
|
||||
func_843087F8(D_84390010[1]);
|
||||
func_8431AE5C();
|
||||
|
||||
switch (D_84390240.unk_00->unk_20) {
|
||||
case 0:
|
||||
func_8431995C(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_84319AE8(arg0);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
func_84319C58(arg0, 0);
|
||||
break;
|
||||
|
||||
case 6:
|
||||
func_84319C58(arg0, 1);
|
||||
break;
|
||||
|
||||
case 8:
|
||||
func_84319F10(arg0, 0);
|
||||
break;
|
||||
|
||||
case 10:
|
||||
func_84319F10(arg0, 1);
|
||||
break;
|
||||
|
||||
case 12:
|
||||
func_8431A024(arg0, 0);
|
||||
break;
|
||||
|
||||
case 14:
|
||||
func_8431A024(arg0, 1);
|
||||
break;
|
||||
|
||||
case 16:
|
||||
func_8431A098(arg0);
|
||||
break;
|
||||
|
||||
case 18:
|
||||
func_8431A130(arg0);
|
||||
break;
|
||||
|
||||
case 20:
|
||||
func_8431A1C8(arg0);
|
||||
break;
|
||||
|
||||
case 22:
|
||||
func_8431A2C8(arg0, 0);
|
||||
break;
|
||||
|
||||
case 24:
|
||||
func_8431A2C8(arg0, 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void func_8431A718(unk_D_86002F34_00C* arg0) {
|
||||
arg0->unk_24.fovy = 50.0f;
|
||||
if (func_8431B34C(arg0, 0xB6, 0x78DC) != 0) {
|
||||
func_8431A4C4(arg0);
|
||||
} else {
|
||||
arg0->unk_60.eye.z *= 0.6;
|
||||
}
|
||||
}
|
||||
|
||||
void func_8431A780(unk_D_86002F34_00C* arg0) {
|
||||
if (func_8431B34C(arg0, 0xB6, 0x78DC) != 0) {
|
||||
func_8431A4C4(arg0);
|
||||
}
|
||||
}
|
||||
|
||||
void func_8431A7B8(unk_D_86002F34_00C* arg0) {
|
||||
UNUSED s32 pad;
|
||||
unk_D_84390010_654* sp18 = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654;
|
||||
|
||||
if ((sp18->unk_2D == 0x10) || ((sp18->unk_34 & 0x4000) != 0)) {
|
||||
func_8431A4C4(arg0);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(sp18->unk_34 & 0x200)) {
|
||||
func_8431C784(arg0, D_84390010[D_84390240.unk_00->unk_2C]);
|
||||
}
|
||||
|
||||
if ((sp18->unk_34 & 1) || (sp18->unk_34 & 2) || (D_84390010[D_84390240.unk_00->unk_2C]->unk_000.unk_01A == 0x98)) {
|
||||
if (func_8431ADAC(0x5A) != 0) {
|
||||
func_8431A4C4(arg0);
|
||||
}
|
||||
} else if (func_800174E4(&D_84390010[D_84390240.unk_00->unk_2C]->unk_000) != 0) {
|
||||
func_8431A4C4(arg0);
|
||||
}
|
||||
}
|
||||
|
||||
void func_8431A8B0(unk_D_86002F34_00C* arg0) {
|
||||
unk_D_84390010* sp1C = D_84390010[D_84390240.unk_00->unk_2C];
|
||||
|
||||
if ((sp1C->unk_654.unk_2D == 0x10) || (sp1C->unk_654.unk_34 & 0x4000)) {
|
||||
func_8431A4C4(arg0);
|
||||
} else if ((func_8431ADAC(0x5A) != 0) || (func_8431D118(arg0, sp1C, 1, 0) != 0)) {
|
||||
func_8431A4C4(arg0);
|
||||
}
|
||||
}
|
||||
|
||||
void func_8431A94C(unk_D_86002F34_00C* arg0) {
|
||||
unk_D_84390010_654* ptr = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654;
|
||||
|
||||
if ((ptr->unk_2D == 0x10) || (ptr->unk_34 & 0x4000)) {
|
||||
func_8431A4C4(arg0);
|
||||
} else {
|
||||
arg0->unk_24.fovy = 60.0f;
|
||||
if (func_8431ADAC(0x3C) != 0) {
|
||||
func_8431A4C4(arg0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_8431A9E0(unk_D_86002F34_00C* arg0) {
|
||||
if (func_8431DE30(arg0, D_84390240.unk_00->unk_2C) != 0) {
|
||||
s32 idx = D_84390240.unk_00->unk_2C == 0;
|
||||
|
||||
D_84390240.unk_00->unk_2C = idx;
|
||||
D_84390240.unk_00->unk_20 = 0x12;
|
||||
func_8431A130(arg0);
|
||||
}
|
||||
}
|
||||
|
||||
void func_8431AA3C(unk_D_86002F34_00C* arg0) {
|
||||
if (func_8431DE30(arg0, D_84390240.unk_00->unk_2C) != 0) {
|
||||
func_8431A4C4(arg0);
|
||||
}
|
||||
}
|
||||
|
||||
void func_8431AA78(unk_D_86002F34_00C* arg0) {
|
||||
if (func_8431ADAC(0x78) != 0) {
|
||||
func_8431A4C4(arg0);
|
||||
}
|
||||
}
|
||||
|
||||
void func_8431AAAC(unk_D_86002F34_00C* arg0) {
|
||||
func_8431AFD0(arg0, 10.0f, 12800.0f);
|
||||
arg0->unk_24.fovy = 60.0f;
|
||||
if (func_8431ADAC(0x3C) != 0) {
|
||||
func_8431A4C4(arg0);
|
||||
}
|
||||
}
|
||||
|
||||
void func_8431AAFC(unk_D_86002F34_00C* arg0) {
|
||||
if ((D_800AE540.unk_0000 == 0x10) && (D_84390240.unk_00->unk_1C == 1)) {
|
||||
func_8430FB68();
|
||||
} else if (D_84390240.unk_00->unk_1C == 1) {
|
||||
if ((D_84390240.unk_00->unk_30 == 0) && (D_84390010[0]->unk_728.unk_168->unk_1C == 0x17) &&
|
||||
(D_84390010[1]->unk_728.unk_168->unk_1C == 0x103)) {
|
||||
func_8430FB68();
|
||||
} else if ((D_84390240.unk_00->unk_30 == 0) && (D_84390010[0]->unk_728.unk_168->unk_1C < 0xE) &&
|
||||
(D_84390010[1]->unk_728.unk_168->unk_1C >= 0x10D)) {
|
||||
func_8430D30C();
|
||||
}
|
||||
}
|
||||
|
||||
switch (D_84390240.unk_00->unk_20) {
|
||||
case 1:
|
||||
func_8431A718(arg0);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_8431A780(arg0);
|
||||
break;
|
||||
|
||||
case 5:
|
||||
func_8431A7B8(arg0);
|
||||
break;
|
||||
|
||||
case 7:
|
||||
func_8431A7B8(arg0);
|
||||
break;
|
||||
|
||||
case 9:
|
||||
func_8431A8B0(arg0);
|
||||
break;
|
||||
|
||||
case 11:
|
||||
func_8431A8B0(arg0);
|
||||
break;
|
||||
|
||||
case 13:
|
||||
func_8431A94C(arg0);
|
||||
break;
|
||||
|
||||
case 15:
|
||||
func_8431A94C(arg0);
|
||||
break;
|
||||
|
||||
case 17:
|
||||
func_8431A9E0(arg0);
|
||||
break;
|
||||
|
||||
case 19:
|
||||
func_8431AA3C(arg0);
|
||||
break;
|
||||
|
||||
case 21:
|
||||
func_8431AA78(arg0);
|
||||
break;
|
||||
|
||||
case 23:
|
||||
func_8431AAAC(arg0);
|
||||
break;
|
||||
|
||||
case 25:
|
||||
func_8431AAAC(arg0);
|
||||
break;
|
||||
|
||||
case 50:
|
||||
func_8431A4C4(arg0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -1,72 +1,216 @@
|
|||
#include "global.h"
|
||||
#include "fragment62.h"
|
||||
#include "src/11BA0.h"
|
||||
#include "src/17300.h"
|
||||
#include "src/2E110.h"
|
||||
#include "src/373A0.h"
|
||||
#include "src/F420.h"
|
||||
#include "src/memory.h"
|
||||
#include "src/util.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_84328990.s")
|
||||
void func_84328990(unk_D_86002F34_00C* arg0) {
|
||||
func_8431AE5C();
|
||||
func_8431AFD0(arg0, 20.0f, 12800.0f);
|
||||
func_8432C9C0(D_84390010[0]->unk_720, 3);
|
||||
arg0->unk_24.fovy = 40.0f;
|
||||
D_84390010[0]->unk_000.unk_000.unk_01 &= ~1;
|
||||
D_84390010[1]->unk_000.unk_000.unk_01 &= ~1;
|
||||
func_8000E88C(&arg0->unk_60.at, 0.0f, 75.0f, 0.0f);
|
||||
func_8000E88C(&arg0->unk_60.eye, -1.79f, 0.075f, 155.2f);
|
||||
D_84390240.unk_00->unk_54 = 1;
|
||||
func_8432BBC0();
|
||||
D_84390240.unk_00->unk_20 += 1;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_84328A70.s")
|
||||
void func_84328A70(UNUSED unk_D_86002F34_00C* arg0) {
|
||||
if ((func_8431ADF0(0xA) != 0) && (func_84302000(D_84390010[0]) != 0)) {
|
||||
D_84390010[0]->unk_000.unk_000.unk_01 &= ~1;
|
||||
D_84390010[1]->unk_000.unk_000.unk_01 &= ~1;
|
||||
func_84308654(D_84390010[0], 1, 0);
|
||||
func_800367A0(1, 0xFE, 0);
|
||||
func_8432C68C(8, D_84390010[0], D_84390010[0], 0xFF, 0xFF);
|
||||
D_84390240.unk_00->unk_20 += 1;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_84328B30.s")
|
||||
void func_84328B30(UNUSED unk_D_86002F34_00C* arg0) {
|
||||
D_84390010[0]->unk_000.unk_000.unk_01 &= ~1;
|
||||
D_84390010[1]->unk_000.unk_000.unk_01 &= ~1;
|
||||
if (D_84390010[0]->unk_4EC.unk_024.y == 0.0f) {
|
||||
func_8432B808();
|
||||
func_800367A0(1, 1, 0);
|
||||
func_84308654(D_84390010[1], 1, 0);
|
||||
func_8432C68C(0xA, D_84390010[1], D_84390010[1], 0xFF, 0xFF);
|
||||
D_84390240.unk_00->unk_20 += 1;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_84328BF0.s")
|
||||
void func_84328BF0(unk_D_86002F34_00C* arg0) {
|
||||
Vec3f sp3C;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_84328D70.s")
|
||||
D_84390010[0]->unk_000.unk_000.unk_01 &= ~1;
|
||||
D_84390010[1]->unk_000.unk_000.unk_01 &= ~1;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_84328EC0.s")
|
||||
if (D_84390010[1]->unk_4EC.unk_024.y == 0.0f) {
|
||||
arg0->unk_24.fovy = 30.0f;
|
||||
func_84308654(D_84390010[0], 2, 0);
|
||||
func_8432C68C(0xB, D_84390010[0], D_84390010[0], 0xFF, 0xFF);
|
||||
func_8000E88C(&sp3C, -150.0f, 5.0f, 0.0f);
|
||||
func_8431BAB4(D_84390010[0], arg0, sp3C, 0, 0, 0.0f, 0.0f);
|
||||
func_8431BB80(arg0, sp3C, D_84390240.unk_00->unk_56 = 0x71C, 0x4000, D_84390240.unk_00->unk_84 = 300.0f, 0.0f);
|
||||
D_84390240.unk_00->unk_20 += 1;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_84328F2C.s")
|
||||
void func_84328D70(unk_D_86002F34_00C* arg0) {
|
||||
Vec3f sp2C;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_843290A0.s")
|
||||
func_8000E88C(&sp2C, -150.0f, 5.0f, 0.0f);
|
||||
D_84390010[0]->unk_000.unk_000.unk_01 &= ~1;
|
||||
D_84390010[1]->unk_000.unk_000.unk_01 &= ~1;
|
||||
func_8430C718(&D_84390240.unk_00->unk_84, 40.0f, 0.1f);
|
||||
func_8430C4F8(&D_84390240.unk_00->unk_56, 0xB6, 0x1E);
|
||||
func_8431BB80(arg0, sp2C, D_84390240.unk_00->unk_56, 0x4000, D_84390240.unk_00->unk_84, 0.0f);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_84329164.s")
|
||||
if ((D_84390240.unk_00->unk_56 >= 0x2E) && (D_84390010[0]->unk_4EC.unk_024.y == 2.5f)) {
|
||||
func_800367A0(2, 0, 0);
|
||||
D_84390010[0]->unk_4EC.unk_000.unk_02 |= 0x20;
|
||||
D_84390240.unk_00->unk_20 += 1;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_843292D8.s")
|
||||
void func_84328EC0(UNUSED unk_D_86002F34_00C* arg0) {
|
||||
D_84390010[0]->unk_000.unk_000.unk_01 &= ~1;
|
||||
D_84390010[1]->unk_000.unk_000.unk_01 &= ~1;
|
||||
if (func_800174E4(&D_84390010[0]->unk_4EC) == 1) {
|
||||
D_84390240.unk_00->unk_20 += 1;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_843293A8.s")
|
||||
void func_84328F2C(unk_D_86002F34_00C* arg0) {
|
||||
unk_D_84390010_654* sp2C = &D_84390010[0]->unk_654;
|
||||
unk_D_800AE540_0004* sp28 = D_84390010[0]->unk_720->unk_08[sp2C->unk_2C];
|
||||
|
||||
D_84390010[0]->unk_728.unk_168->unk_00.unk_01 |= 1;
|
||||
D_84390010[0]->unk_728.unk_000.unk_000.unk_01 |= 1;
|
||||
func_843074A0(D_84390010[0]);
|
||||
D_84390010[0]->unk_000.unk_000.unk_01 &= ~1;
|
||||
D_84390010[1]->unk_000.unk_000.unk_01 &= ~1;
|
||||
func_8432C68C(3, D_84390010[0], D_84390010[0], 0xFF, 0xFF);
|
||||
D_84390010[0]->unk_000.unk_000.unk_01 |= 1;
|
||||
D_84390010[0]->unk_4EC.unk_000.unk_01 &= ~1;
|
||||
func_8431F420(D_84390010[0], arg0, 3);
|
||||
func_84305760(D_84390010[0], 0x10);
|
||||
D_84390240.unk_00->unk_2C = 0;
|
||||
func_8002D5D4(0x19, (u32)sp28->unk_01C[sp2C->unk_18].unk_30);
|
||||
func_843179F4(D_843901A0->unk_088, 0x21);
|
||||
func_843184E4(0xC);
|
||||
func_8432B588(D_84390010[0]);
|
||||
D_84390240.unk_00->unk_10 = 0;
|
||||
D_84390240.unk_00->unk_20 += 1;
|
||||
}
|
||||
|
||||
void func_843290A0(unk_D_86002F34_00C* arg0) {
|
||||
if (D_84390240.unk_00->unk_10++ == 1) {
|
||||
func_8431F420(D_84390010[0], arg0, 3);
|
||||
}
|
||||
|
||||
D_84390010[0]->unk_728.unk_168->unk_00.unk_01 &= ~1;
|
||||
D_84390010[0]->unk_728.unk_000.unk_000.unk_01 &= ~1;
|
||||
D_84390010[1]->unk_000.unk_000.unk_01 &= ~1;
|
||||
func_8431C750(arg0, D_84390010[0]);
|
||||
|
||||
if (func_84305BD8(D_84390010[0], 0x3C) != 0) {
|
||||
D_84390240.unk_00->unk_20 += 1;
|
||||
}
|
||||
}
|
||||
|
||||
void func_84329164(unk_D_86002F34_00C* arg0) {
|
||||
unk_D_84390010_654* sp2C = &D_84390010[1]->unk_654;
|
||||
unk_D_800AE540_0004* sp28 = D_84390010[1]->unk_720->unk_08[sp2C->unk_2C];
|
||||
|
||||
D_84390010[1]->unk_728.unk_168->unk_00.unk_01 |= 1;
|
||||
D_84390010[1]->unk_728.unk_000.unk_000.unk_01 |= 1;
|
||||
func_843074A0(D_84390010[1]);
|
||||
func_800367A0(2, 0, 0);
|
||||
func_8432C68C(3, D_84390010[1], D_84390010[1], 0xFF, 0xFF);
|
||||
func_8431AE5C();
|
||||
D_84390010[1]->unk_000.unk_000.unk_01 |= 1;
|
||||
func_8431F420(D_84390010[1], arg0, 3);
|
||||
func_84305760(D_84390010[1], 0x10);
|
||||
D_84390240.unk_00->unk_10 = 0;
|
||||
D_84390240.unk_00->unk_2C = 1;
|
||||
func_8002D5D4(0x19, (u32)sp28->unk_01C[sp2C->unk_18].unk_30);
|
||||
func_843179F4(D_843901A0->unk_088, 0x21);
|
||||
if (D_800AE540.unk_0000 != 8) {
|
||||
func_843184E4(0xC);
|
||||
}
|
||||
func_8432B588(D_84390010[1]);
|
||||
D_84390240.unk_00->unk_20 += 1;
|
||||
}
|
||||
|
||||
void func_843292D8(unk_D_86002F34_00C* arg0) {
|
||||
if (D_84390240.unk_00->unk_10++ == 1) {
|
||||
func_8431F420(D_84390010[1], arg0, 3);
|
||||
}
|
||||
D_84390010[1]->unk_728.unk_168->unk_00.unk_01 &= ~1;
|
||||
D_84390010[1]->unk_728.unk_000.unk_000.unk_01 &= ~1;
|
||||
D_84390010[0]->unk_000.unk_000.unk_01 &= ~1;
|
||||
func_8431C750(arg0, D_84390010[1]);
|
||||
if (func_84305BD8(D_84390010[1], 0x3C) != 0) {
|
||||
func_8432056C();
|
||||
D_84390240.unk_00->unk_20 += 1;
|
||||
}
|
||||
}
|
||||
|
||||
void func_843293A8(UNUSED unk_D_86002F34_00C* arg0) {
|
||||
}
|
||||
|
||||
void func_843293B0(void) {
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_843293B8.s")
|
||||
void func_843293B8(unk_D_86002F34_00C* arg0) {
|
||||
switch (D_84390240.unk_00->unk_20) {
|
||||
case 0:
|
||||
func_84328990(arg0);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_843294A0.s")
|
||||
case 1:
|
||||
func_84328A70(arg0);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_843295D0.s")
|
||||
case 2:
|
||||
func_84328B30(arg0);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_843296B8.s")
|
||||
case 3:
|
||||
func_84328BF0(arg0);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_843297AC.s")
|
||||
case 4:
|
||||
func_84328D70(arg0);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_843297E8.s")
|
||||
case 5:
|
||||
func_84328EC0(arg0);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_843297F0.s")
|
||||
case 6:
|
||||
func_84328F2C(arg0);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_843297F8.s")
|
||||
case 7:
|
||||
func_843290A0(arg0);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_84329858.s")
|
||||
case 8:
|
||||
func_84329164(arg0);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_84329B04.s")
|
||||
case 9:
|
||||
func_843292D8(arg0);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_84329DB8.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_84329DFC.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_8432A024.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_8432A2D4.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_8432A398.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_8432A41C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_8432A448.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_8432A4B0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_8432A510.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_8432A578.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_8432ABBC.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_8432ADD8.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_313250/func_8432AEE4.s")
|
||||
case 10:
|
||||
func_843293A8(arg0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
746
src/fragments/62/fragment62_313D60.c
Normal file
746
src/fragments/62/fragment62_313D60.c
Normal file
|
|
@ -0,0 +1,746 @@
|
|||
#include "fragment62.h"
|
||||
#include "src/11BA0.h"
|
||||
#include "src/17300.h"
|
||||
#include "src/2E110.h"
|
||||
#include "src/373A0.h"
|
||||
#include "src/F420.h"
|
||||
#include "src/memory.h"
|
||||
#include "src/util.h"
|
||||
|
||||
unk_D_84390240 D_84390240;
|
||||
static s32 pad_D_84390280;
|
||||
static s32 D_84390284;
|
||||
s32 D_84390288;
|
||||
static s32 pad_D_84390290[4];
|
||||
|
||||
void func_843294A0(unk_D_86002F34_00C* arg0) {
|
||||
f32 sp3C;
|
||||
|
||||
func_8431AFD0(arg0, 20.0f, 12800.0f);
|
||||
func_843081F0(D_84390010[D_84390284], &D_84390240.unk_00->unk_D0);
|
||||
sp3C = func_8431AD20(D_84390010[D_84390284], 3.5f, 300.0f);
|
||||
func_8431BAB4(D_84390010[D_84390284], arg0, D_84390240.unk_00->unk_D0, 0, func_84308190(D_84390010[D_84390284]),
|
||||
0.0f, 0.0f);
|
||||
func_8431BBDC(arg0, 0, func_84308190(D_84390010[D_84390284]), sp3C, 0.0f);
|
||||
|
||||
if (D_84390010[0]) {}
|
||||
D_84390240.unk_00->unk_20 += 1;
|
||||
if (D_84390284) {}
|
||||
}
|
||||
|
||||
void func_843295D0(unk_D_86002F34_00C* arg0) {
|
||||
f32 sp3C;
|
||||
|
||||
func_8431AFD0(arg0, 20.0f, 12800.0f);
|
||||
func_843081F0(D_84390010[0], &D_84390240.unk_00->unk_D0);
|
||||
sp3C = func_8431AD20(D_84390010[0], 3.5f, 300.0f);
|
||||
func_8431BAB4(D_84390010[0], arg0, D_84390240.unk_00->unk_D0, 0, func_84308190(*D_84390010), 0.0f, 0.0f);
|
||||
func_8431BBDC(arg0, 0, func_84308190(*D_84390010), sp3C, 0.0f);
|
||||
|
||||
if (D_84390010[0]) {}
|
||||
D_84390240.unk_00->unk_20 += 1;
|
||||
}
|
||||
|
||||
void func_843296B8(unk_D_86002F34_00C* arg0, UNUSED unk_D_84390010* arg1, UNUSED unk_D_84390010* arg2) {
|
||||
D_84390240.unk_00->unk_40 = 0;
|
||||
D_84390240.unk_00->unk_60 = 30.0f;
|
||||
D_84390240.unk_00->unk_6C = 10.0f;
|
||||
|
||||
switch (D_84390240.unk_00->unk_1C) {
|
||||
case 0:
|
||||
func_843294A0(arg0);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
func_8431A4C4(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_84321184(arg0);
|
||||
func_8431FF3C(arg0, 1);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_843295D0(arg0);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
func_84328990(arg0);
|
||||
break;
|
||||
}
|
||||
D_84390240.unk_00->unk_DC = arg0;
|
||||
}
|
||||
|
||||
void func_843297AC(void) {
|
||||
D_84390240.unk_00 = main_pool_alloc(sizeof(unk_D_84390240_000), 0);
|
||||
bzero(D_84390240.unk_00, sizeof(unk_D_84390240_000));
|
||||
}
|
||||
|
||||
void func_843297E8(UNUSED unk_D_86002F34_00C* arg0) {
|
||||
}
|
||||
|
||||
void func_843297F0(UNUSED unk_D_86002F34_00C* arg0) {
|
||||
}
|
||||
|
||||
void func_843297F8(unk_D_86002F34_00C* arg0) {
|
||||
if (func_8430C308(arg0->unk_60.at.x, arg0->unk_60.at.z, arg0->unk_60.eye.x, arg0->unk_60.eye.z) < 0.0001f) {
|
||||
arg0->unk_60.at.z += 0.001f;
|
||||
}
|
||||
}
|
||||
|
||||
void func_84329858(unk_D_86002F34_00C* arg0) {
|
||||
switch (D_84390240.unk_00->unk_30) {
|
||||
case 0:
|
||||
D_84390240.unk_00->unk_18 = 0;
|
||||
break;
|
||||
|
||||
case 1:
|
||||
if (D_84390240.unk_00->unk_44 == 2) {
|
||||
func_84307500();
|
||||
}
|
||||
D_84390240.unk_00->unk_30++;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if (D_84390010[0]->unk_728.unk_168->unk_1C == -0x48) {
|
||||
D_84390240.unk_00->unk_30++;
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_80012044(arg0, 0x12C, 0xA, 2, Util_ConvertAddrToVirtAddr((u32)D_1000000));
|
||||
func_80011FC8(arg0, 5, 0xA, 0, 0, 0);
|
||||
D_84390240.unk_00->unk_18 = 0;
|
||||
D_84390240.unk_00->unk_30 += 1;
|
||||
|
||||
case 4:
|
||||
if (arg0->unk_CC.unk_0A == 0xA) {
|
||||
func_8431F680();
|
||||
func_843062F0();
|
||||
func_843066E0(D_84390010[0]);
|
||||
func_843066E0(D_84390010[1]);
|
||||
D_84390240.unk_00->unk_30 += 1;
|
||||
D_84390240.unk_00->unk_18 = 1;
|
||||
}
|
||||
break;
|
||||
|
||||
case 5:
|
||||
if ((func_8431FAB4() == 0) && (func_8431F998(D_84390010[D_84390240.unk_00->unk_2A]) == 0)) {
|
||||
if (D_84390240.unk_00->unk_44 == 1) {
|
||||
func_8432E9D8(2);
|
||||
func_8430CC84();
|
||||
}
|
||||
func_843058A8(D_84390010[0]);
|
||||
func_843058A8(D_84390010[1]);
|
||||
D_84390240.unk_00->unk_18 = 2;
|
||||
func_80012044(arg0, 0xA, 0x12C, 2, Util_ConvertAddrToVirtAddr((u32)D_1000000));
|
||||
func_80011FC8(arg0, 4, 0xA, 0, 0, 0);
|
||||
arg0->unk_24.fovy = 30.0f;
|
||||
D_84390240.unk_00->unk_60 = 30.0f;
|
||||
D_84390240.unk_00->unk_30 += 1;
|
||||
}
|
||||
break;
|
||||
|
||||
case 6:
|
||||
func_8431F680();
|
||||
arg0->unk_24.fovy = 30.0f;
|
||||
D_84390240.unk_00->unk_60 = 30.0f;
|
||||
D_84390240.unk_00->unk_18 = 0;
|
||||
if (arg0->unk_CC.unk_0A == 0xA) {
|
||||
D_84390240.unk_00->unk_30 = 0;
|
||||
if (D_84390240.unk_00->unk_44 == 1) {
|
||||
func_8430751C();
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void func_84329B04(unk_D_86002F34_00C* arg0) {
|
||||
switch (D_84390240.unk_00->unk_30) {
|
||||
case 0:
|
||||
D_84390240.unk_00->unk_18 = 0;
|
||||
break;
|
||||
|
||||
case 1:
|
||||
if (D_84390240.unk_00->unk_44 == 2) {
|
||||
func_84307500();
|
||||
}
|
||||
D_84390240.unk_00->unk_30++;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if (D_84390010[0]->unk_728.unk_168->unk_1C == -0x48) {
|
||||
D_84390240.unk_00->unk_30++;
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_8436EEF0(3, 0x1E);
|
||||
func_8436EF54();
|
||||
D_84390240.unk_00->unk_18 = 0;
|
||||
D_84390240.unk_00->unk_30 += 1;
|
||||
|
||||
case 4:
|
||||
func_8436EF54();
|
||||
if (func_8436EF48() == 1) {
|
||||
func_8431F680();
|
||||
func_843062F0();
|
||||
func_843066E0(D_84390010[0]);
|
||||
func_843066E0(D_84390010[1]);
|
||||
D_84390240.unk_00->unk_30 += 1;
|
||||
D_84390240.unk_00->unk_18 = 1;
|
||||
}
|
||||
break;
|
||||
|
||||
case 5:
|
||||
D_84390240.unk_00->unk_18 = 1;
|
||||
D_84390240.unk_00->unk_30 += 1;
|
||||
break;
|
||||
|
||||
case 6:
|
||||
D_84390240.unk_00->unk_18 = 1;
|
||||
D_84390240.unk_00->unk_30 += 1;
|
||||
break;
|
||||
|
||||
case 7:
|
||||
D_84390240.unk_00->unk_18 = 1;
|
||||
D_84390240.unk_00->unk_30 += 1;
|
||||
break;
|
||||
|
||||
case 8:
|
||||
if ((func_8431FAB4() == 0) && (func_8431F998(D_84390010[D_84390240.unk_00->unk_2A]) == 0)) {
|
||||
if (D_84390240.unk_00->unk_44 == 1) {
|
||||
func_8432E9D8(2);
|
||||
func_8430CC84();
|
||||
}
|
||||
func_843058A8(D_84390010[0]);
|
||||
func_843058A8(D_84390010[1]);
|
||||
D_84390240.unk_00->unk_18 = 2;
|
||||
func_8436EEF0(2, 0x1E);
|
||||
func_8436EF54();
|
||||
arg0->unk_24.fovy = 30.0f;
|
||||
D_84390240.unk_00->unk_60 = 30.0f;
|
||||
D_84390240.unk_00->unk_30 += 1;
|
||||
}
|
||||
break;
|
||||
|
||||
case 9:
|
||||
func_8431F680();
|
||||
arg0->unk_24.fovy = 30.0f;
|
||||
D_84390240.unk_00->unk_60 = 30.0f;
|
||||
D_84390240.unk_00->unk_18 = 0;
|
||||
func_8436EF54();
|
||||
if (func_8436EF48() == 0) {
|
||||
D_84390240.unk_00->unk_30 = 0;
|
||||
if (D_84390240.unk_00->unk_44 == 1) {
|
||||
func_8430751C();
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void func_84329DB8(unk_D_86002F34_00C* arg0) {
|
||||
if (D_84390240.unk_00->unk_2E == 0) {
|
||||
func_84329858(arg0);
|
||||
} else {
|
||||
func_84329B04(arg0);
|
||||
}
|
||||
}
|
||||
|
||||
u16 func_84329DFC(unk_D_84390010* arg0, unk_D_86002F34_00C* arg1, unk_D_84390010* a2, s16 arg3, f32 arg4) {
|
||||
UNUSED s32 pad[6];
|
||||
f32 sp6C;
|
||||
f32 sp68;
|
||||
f32 sp64;
|
||||
f32 sp60;
|
||||
f32 sp5C;
|
||||
UNUSED s32 pad2;
|
||||
f32 sp54;
|
||||
f32 sp50;
|
||||
UNUSED s32 pad3;
|
||||
f32 sp48;
|
||||
s16 sp46;
|
||||
s16 sp44;
|
||||
f32 sp40;
|
||||
unk_D_84390010* arg2;
|
||||
f32 sp38;
|
||||
s32 sp34 = 0;
|
||||
|
||||
func_8430C070(&arg1->unk_60.at, &arg1->unk_60.eye, &sp48, &sp46, &sp44);
|
||||
sp40 = (COSS((sp44 - 0x8000)) * 50.0f) + arg1->unk_60.eye.z;
|
||||
sp38 = (SINS((sp44 - 0x8000)) * 30.0f) + arg1->unk_60.eye.x;
|
||||
sp54 = (COSS(((sp44 - arg3) + 0x8000)) * arg4) + sp40;
|
||||
sp60 = (SINS(((sp44 - arg3) + 0x8000)) * arg4) + sp38;
|
||||
sp50 = (COSS((sp44 + arg3 + 0x8000)) * arg4) + sp40;
|
||||
sp5C = (SINS((sp44 + arg3 + 0x8000)) * arg4) + sp38;
|
||||
|
||||
arg2 = a2;
|
||||
|
||||
sp6C = ((sp54 - arg2->unk_000.unk_024.z) * (sp5C - arg2->unk_000.unk_024.x)) -
|
||||
((sp50 - arg2->unk_000.unk_024.z) * (sp60 - arg2->unk_000.unk_024.x));
|
||||
sp68 = ((sp50 - arg2->unk_000.unk_024.z) * (sp38 - arg2->unk_000.unk_024.x)) -
|
||||
((sp40 - arg2->unk_000.unk_024.z) * (sp5C - arg2->unk_000.unk_024.x));
|
||||
sp64 = ((sp40 - arg2->unk_000.unk_024.z) * (sp60 - arg2->unk_000.unk_024.x)) -
|
||||
((sp54 - arg2->unk_000.unk_024.z) * (sp38 - arg2->unk_000.unk_024.x));
|
||||
|
||||
if (((sp6C >= 0.0f) && (sp68 >= 0.0f) && (sp64 >= 0.0f)) || ((sp6C <= 0.0f) && (sp68 <= 0.0f) && (sp64 <= 0.0f))) {
|
||||
sp34 = 1;
|
||||
}
|
||||
return sp34;
|
||||
}
|
||||
|
||||
u16 func_8432A024(unk_D_84390010* arg0, unk_D_86002F34_00C* arg1, unk_D_84390010* a2, s16 arg3, f32 arg4) {
|
||||
UNUSED s32 pad[6];
|
||||
f32 sp94;
|
||||
f32 sp90;
|
||||
f32 sp8C;
|
||||
f32 sp88;
|
||||
f32 sp84;
|
||||
UNUSED s32 pad2;
|
||||
f32 sp7C;
|
||||
f32 sp78;
|
||||
unk_D_84390010* arg2;
|
||||
f32 sp70;
|
||||
s16 sp6E;
|
||||
s16 sp6C;
|
||||
Vec3f sp60;
|
||||
s32 sp5C;
|
||||
|
||||
sp5C = 0;
|
||||
func_8430C070(&arg1->unk_60.at, &arg1->unk_60.eye, &sp70, &sp6E, &sp6C);
|
||||
sp60.z = (COSS((sp6C - 0x8000)) * 30.0f) + arg1->unk_60.eye.z;
|
||||
sp60.x = (SINS((sp6C - 0x8000)) * 30.0f) + arg1->unk_60.eye.x;
|
||||
sp7C = (COSS(((sp6C - arg3) + 0x8000)) * arg4) + sp60.z;
|
||||
sp88 = (SINS(((sp6C - arg3) + 0x8000)) * arg4) + sp60.x;
|
||||
sp78 = (COSS((sp6C + arg3 + 0x8000)) * arg4) + sp60.z;
|
||||
sp84 = (SINS((sp6C + arg3 + 0x8000)) * arg4) + sp60.x;
|
||||
|
||||
arg2 = a2;
|
||||
|
||||
sp94 = ((sp7C - arg2->unk_000.unk_024.z) * (sp84 - arg2->unk_000.unk_024.x)) -
|
||||
((sp78 - arg2->unk_000.unk_024.z) * (sp88 - arg2->unk_000.unk_024.x));
|
||||
sp90 = ((sp78 - arg2->unk_000.unk_024.z) * (sp60.x - arg2->unk_000.unk_024.x)) -
|
||||
((sp60.z - arg2->unk_000.unk_024.z) * (sp84 - arg2->unk_000.unk_024.x));
|
||||
sp8C = ((sp60.z - arg2->unk_000.unk_024.z) * (sp88 - arg2->unk_000.unk_024.x)) -
|
||||
((sp7C - arg2->unk_000.unk_024.z) * (sp60.x - arg2->unk_000.unk_024.x));
|
||||
|
||||
if (((sp94 >= 0.0f) && (sp90 >= 0.0f) && (sp8C >= 0.0f)) || ((sp94 <= 0.0f) && (sp90 <= 0.0f) && (sp8C <= 0.0f))) {
|
||||
sp5C = 1;
|
||||
}
|
||||
|
||||
sp60.x = a2->unk_000.unk_024.x;
|
||||
sp60.y = a2->unk_000.unk_024.y;
|
||||
sp60.z = a2->unk_000.unk_024.z;
|
||||
|
||||
if ((func_84308598(arg0) * 2.5f) >= func_8430C2A4(arg1->unk_60.eye, sp60)) {
|
||||
sp5C = 0;
|
||||
}
|
||||
return sp5C;
|
||||
}
|
||||
|
||||
void func_8432A2D4(unk_D_86002F34_00C* arg0) {
|
||||
if (func_84329DFC(D_84390010[0], arg0, D_84390010[0], 0x2AA8, 2500.0f) != 0) {
|
||||
D_84390010[0]->unk_000.unk_000.unk_01 |= 1;
|
||||
} else {
|
||||
D_84390010[0]->unk_000.unk_000.unk_01 &= ~1;
|
||||
}
|
||||
|
||||
if (func_84329DFC(D_84390010[1], arg0, D_84390010[1], 0x2AA8, 2500.0f) != 0) {
|
||||
D_84390010[1]->unk_000.unk_000.unk_01 |= 1;
|
||||
} else {
|
||||
D_84390010[1]->unk_000.unk_000.unk_01 &= ~1;
|
||||
}
|
||||
}
|
||||
|
||||
void func_8432A398(unk_D_86002F34_00C* arg0) {
|
||||
unk_D_84390010* sp24 = D_84390010[!D_84390240.unk_00->unk_2C];
|
||||
|
||||
if (func_8432A024(sp24, arg0, sp24, 0x2AA8, 2500.0f) != 0) {
|
||||
sp24->unk_000.unk_000.unk_01 |= 1;
|
||||
} else {
|
||||
sp24->unk_000.unk_000.unk_01 &= 0xFFFE;
|
||||
}
|
||||
}
|
||||
|
||||
void func_8432A414(void) {
|
||||
}
|
||||
|
||||
void func_8432A41C(void) {
|
||||
D_84390010[0]->unk_000.unk_000.unk_01 |= 1;
|
||||
D_84390010[1]->unk_000.unk_000.unk_01 |= 1;
|
||||
}
|
||||
|
||||
void func_8432A448(void) {
|
||||
func_843087F8(D_84390010[!D_84390240.unk_00->unk_2C]);
|
||||
D_84390010[!D_84390240.unk_00->unk_2C]->unk_000.unk_000.unk_01 &= ~1;
|
||||
}
|
||||
|
||||
void func_8432A4B0(void) {
|
||||
D_84390010[D_84390240.unk_00->unk_2C]->unk_000.unk_000.unk_01 &= ~1;
|
||||
func_843087F8(D_84390010[D_84390240.unk_00->unk_2C]);
|
||||
}
|
||||
|
||||
void func_8432A510(void) {
|
||||
unk_D_84390010* ptr1 = D_84390010[0];
|
||||
unk_D_84390010* ptr2 = D_84390010[1];
|
||||
|
||||
if ((ptr1->unk_654.unk_2D == 0x10) || ((ptr1 = D_84390010[0])->unk_654.unk_2D == 0x13)) {
|
||||
ptr1->unk_000.unk_000.unk_01 &= ~1;
|
||||
}
|
||||
|
||||
if ((ptr2->unk_654.unk_2D == 0x10) || (ptr2->unk_654.unk_2D == 0x13)) {
|
||||
ptr2->unk_000.unk_000.unk_01 &= ~1;
|
||||
}
|
||||
}
|
||||
|
||||
void func_8432A578(unk_D_86002F34_00C* arg0) {
|
||||
UNUSED s32 pad;
|
||||
unk_D_84390010_654* sp40 = &D_84390204->unk_654;
|
||||
s32 temp_lo;
|
||||
unk_D_84390010_654* sp38 = &D_84390200->unk_654;
|
||||
f32 sp34;
|
||||
s16 sp32;
|
||||
s16 sp30;
|
||||
|
||||
switch (D_84390240.unk_00->unk_1C) {
|
||||
case 0:
|
||||
case 3:
|
||||
break;
|
||||
|
||||
case 1:
|
||||
func_8432A41C();
|
||||
|
||||
switch (D_84390240.unk_00->unk_20) {
|
||||
case 12:
|
||||
case 13:
|
||||
case 14:
|
||||
case 15:
|
||||
case 21:
|
||||
func_8432A41C();
|
||||
break;
|
||||
|
||||
case 16:
|
||||
case 17:
|
||||
case 18:
|
||||
case 19:
|
||||
D_84390010[D_84390240.unk_00->unk_2C]->unk_000.unk_000.unk_01 &= ~1;
|
||||
break;
|
||||
|
||||
default:
|
||||
func_8432A398(arg0);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_8432A41C();
|
||||
|
||||
switch (D_84390240.unk_00->unk_38) {
|
||||
case 2:
|
||||
case 3:
|
||||
switch (D_84390240.unk_00->unk_20) {
|
||||
case 0:
|
||||
if ((sp40->unk_2D == 0xF) && (D_84390240.unk_00->unk_34 == 1)) {
|
||||
func_8432A4B0();
|
||||
} else {
|
||||
func_800102A4(&D_84390240.unk_00->unk_B8, &D_84390240.unk_00->unk_C4, &sp34, &sp32,
|
||||
&sp30);
|
||||
temp_lo = sp30 / 182;
|
||||
if (((temp_lo == 0x5A) || (temp_lo == -0x5A)) && (D_84390240.unk_00->unk_34 == 1)) {
|
||||
func_8432A448();
|
||||
} else {
|
||||
func_8432A398(arg0);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 1:
|
||||
D_84390240.unk_00->unk_08 = 0;
|
||||
if (!(sp40->unk_34 & 0x4400)) {
|
||||
func_8432A448();
|
||||
}
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if ((D_84390240.unk_00->unk_3C == 0) && (D_84390240.unk_00->unk_24 >= 0) &&
|
||||
(D_84390240.unk_00->unk_24 < 2) && (sp38->unk_34 & 0x800)) {
|
||||
func_8432A448();
|
||||
} else if (((D_84390240.unk_00->unk_3C == 0) || (D_84390240.unk_00->unk_3C == 1)) &&
|
||||
(D_84390240.unk_00->unk_48 == 0) && (D_84390240.unk_00->unk_1A != 1)) {
|
||||
func_843087F8(D_84390204);
|
||||
D_84390204->unk_000.unk_01D = 0;
|
||||
} else {
|
||||
if (sp40->unk_34 & 0x4000) {
|
||||
if ((D_84390204->unk_000.unk_01A != 0x32) &&
|
||||
(D_84390204->unk_000.unk_01A != 0x33)) {
|
||||
D_84390204->unk_000.unk_01D = 0;
|
||||
} else {
|
||||
D_84390204->unk_000.unk_01D = 0xFF;
|
||||
}
|
||||
} else {
|
||||
D_84390204->unk_000.unk_01D = 0xFF;
|
||||
}
|
||||
func_8432A4B0();
|
||||
}
|
||||
D_84390240.unk_00->unk_08 = 1;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case 36:
|
||||
if (D_84390240.unk_00->unk_08 == 1) {
|
||||
func_8432A448();
|
||||
} else if (D_84390240.unk_00->unk_08 == 2) {
|
||||
D_84390010[!D_84390240.unk_00->unk_2C]->unk_000.unk_000.unk_01 &= ~1;
|
||||
} else if (D_84390240.unk_00->unk_08 == 3) {
|
||||
D_84390010[D_84390240.unk_00->unk_2C]->unk_000.unk_000.unk_01 &= ~1;
|
||||
} else if (D_84390240.unk_00->unk_08 == 4) {
|
||||
D_84390010[D_84390240.unk_00->unk_2C]->unk_000.unk_000.unk_01 &= ~1;
|
||||
}
|
||||
break;
|
||||
|
||||
case 4:
|
||||
if (D_84390240.unk_00->unk_08 == 1) {
|
||||
func_8432A4B0();
|
||||
} else if (D_84390240.unk_00->unk_08 == 2) {
|
||||
D_84390010[!D_84390240.unk_00->unk_2C]->unk_000.unk_000.unk_01 &= ~1;
|
||||
} else if (D_84390240.unk_00->unk_08 == 3) {
|
||||
D_84390010[!D_84390240.unk_00->unk_2C]->unk_000.unk_000.unk_01 &= ~1;
|
||||
} else if (D_84390240.unk_00->unk_08 == 4) {
|
||||
D_84390010[!D_84390240.unk_00->unk_2C]->unk_000.unk_000.unk_01 &= ~1;
|
||||
}
|
||||
break;
|
||||
|
||||
case 11:
|
||||
D_84390240.unk_00->unk_08 = 4;
|
||||
if (D_84390240.unk_00->unk_34 == 1) {
|
||||
func_8432A448();
|
||||
} else if (D_84390240.unk_00->unk_20 == 0) {
|
||||
func_8432A2D4(arg0);
|
||||
} else {
|
||||
func_8432A448();
|
||||
}
|
||||
break;
|
||||
|
||||
case 18:
|
||||
D_84390240.unk_00->unk_08 = 3;
|
||||
switch (D_84390240.unk_00->unk_20) {
|
||||
case 0:
|
||||
func_8432A2D4(arg0);
|
||||
break;
|
||||
|
||||
default:
|
||||
func_8432A448();
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case 12:
|
||||
D_84390240.unk_00->unk_08 = 0;
|
||||
switch (D_84390240.unk_00->unk_20) {
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
func_8432A41C();
|
||||
break;
|
||||
|
||||
default:
|
||||
func_8432A448();
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case 37:
|
||||
D_84390240.unk_00->unk_08 = 0;
|
||||
func_8432A448();
|
||||
break;
|
||||
|
||||
case 7:
|
||||
case 13:
|
||||
case 14:
|
||||
case 15:
|
||||
case 16:
|
||||
case 17:
|
||||
case 20:
|
||||
case 21:
|
||||
case 25:
|
||||
case 27:
|
||||
case 28:
|
||||
case 29:
|
||||
case 31:
|
||||
case 38:
|
||||
D_84390240.unk_00->unk_08 = 3;
|
||||
func_8432A448();
|
||||
break;
|
||||
|
||||
case 9:
|
||||
case 35:
|
||||
D_84390240.unk_00->unk_08 = 3;
|
||||
func_8432A448();
|
||||
break;
|
||||
|
||||
case 6:
|
||||
D_84390240.unk_00->unk_08 = 0;
|
||||
func_8432A448();
|
||||
break;
|
||||
|
||||
case 8:
|
||||
case 10:
|
||||
D_84390240.unk_00->unk_08 = 0;
|
||||
func_8432A4B0();
|
||||
break;
|
||||
|
||||
case 30:
|
||||
D_84390240.unk_00->unk_08 = 0;
|
||||
|
||||
switch (D_84390240.unk_00->unk_20) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
func_8432A448();
|
||||
break;
|
||||
|
||||
default:
|
||||
func_8432A4B0();
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case 5:
|
||||
case 34:
|
||||
D_84390240.unk_00->unk_08 = 0;
|
||||
switch (D_84390240.unk_00->unk_20) {
|
||||
case 0:
|
||||
case 1:
|
||||
D_84390010[D_84390240.unk_00->unk_2C]->unk_000.unk_000.unk_01 &= ~1;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
func_8432A510();
|
||||
}
|
||||
|
||||
void func_8432ABBC(unk_D_86002F34_00C* arg0) {
|
||||
switch (D_84390240.unk_00->unk_1C) {
|
||||
case 1:
|
||||
func_8432A41C();
|
||||
|
||||
switch (D_84390240.unk_00->unk_20) {
|
||||
case 12:
|
||||
case 13:
|
||||
case 14:
|
||||
case 15:
|
||||
case 21:
|
||||
func_8432A41C();
|
||||
break;
|
||||
|
||||
case 16:
|
||||
case 17:
|
||||
case 18:
|
||||
case 19:
|
||||
D_84390010[D_84390240.unk_00->unk_2C]->unk_000.unk_000.unk_01 &= ~1;
|
||||
break;
|
||||
|
||||
default:
|
||||
func_8432A398(arg0);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case 2:
|
||||
switch (D_84390240.unk_00->unk_38) {
|
||||
case 30:
|
||||
switch (D_84390240.unk_00->unk_20) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
case 5:
|
||||
D_84390010[!D_84390240.unk_00->unk_2C]->unk_000.unk_000.unk_01 &= ~1;
|
||||
D_84390010[D_84390240.unk_00->unk_2C]->unk_000.unk_000.unk_01 |= 1;
|
||||
break;
|
||||
|
||||
default:
|
||||
D_84390010[D_84390240.unk_00->unk_2C]->unk_000.unk_000.unk_01 &= ~1;
|
||||
D_84390010[!D_84390240.unk_00->unk_2C]->unk_000.unk_000.unk_01 |= 1;
|
||||
}
|
||||
break;
|
||||
|
||||
case 5:
|
||||
case 34:
|
||||
switch (D_84390240.unk_00->unk_20) {
|
||||
case 0:
|
||||
case 1:
|
||||
D_84390010[D_84390240.unk_00->unk_2C]->unk_000.unk_000.unk_01 &= ~1;
|
||||
D_84390010[!D_84390240.unk_00->unk_2C]->unk_000.unk_000.unk_01 |= 1;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
func_8432A510();
|
||||
}
|
||||
|
||||
void func_8432ADD8(unk_D_86002F34_00C* arg0) {
|
||||
func_84329DB8(arg0);
|
||||
func_8431B004();
|
||||
func_8432A578(arg0);
|
||||
|
||||
switch (D_84390240.unk_00->unk_1C) {
|
||||
case 0:
|
||||
func_843297E8(arg0);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
func_8431AAFC(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_8430CCC8();
|
||||
func_84328734(arg0);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_843297F0(arg0);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
func_843293B8(arg0);
|
||||
break;
|
||||
|
||||
default:
|
||||
D_84390240.unk_00->unk_40 = 3;
|
||||
break;
|
||||
}
|
||||
|
||||
func_8432ABBC(arg0);
|
||||
func_84305808();
|
||||
func_84306914(D_84390018);
|
||||
func_84306914(D_8439001C);
|
||||
func_8431B174(arg0);
|
||||
func_8431B830(arg0);
|
||||
func_8431BD10(arg0);
|
||||
func_843297F8(arg0);
|
||||
}
|
||||
|
||||
s32 func_8432AEE4(s32 arg0, unk_D_86002F34_00C* arg1) {
|
||||
switch (arg0) {
|
||||
case 0:
|
||||
func_843297AC();
|
||||
break;
|
||||
|
||||
case 1:
|
||||
case 2:
|
||||
func_8432ADD8(arg1);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_843296B8(arg1, D_84390010[0], D_84390010[1]);
|
||||
break;
|
||||
}
|
||||
return D_84390240.unk_00->unk_40;
|
||||
}
|
||||
|
|
@ -1,17 +1,119 @@
|
|||
#include "global.h"
|
||||
#include "fragment62.h"
|
||||
#include "src/17300.h"
|
||||
#include "src/18140.h"
|
||||
#include "src/1C720.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_315830/func_8432AF70.s")
|
||||
void func_8432AF70(unk_D_84390010* arg0) {
|
||||
UNUSED s32 pad[2];
|
||||
unk_func_80026268_arg0* ptr;
|
||||
unk_D_84390010_654* sp2C;
|
||||
unk_D_800FCB18* sp28;
|
||||
unk_D_8438E7B0_A50* sp20;
|
||||
s32 idx = func_84307F00(arg0);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_315830/func_8432B0A4.s")
|
||||
sp28 = &arg0->unk_654.unk_38;
|
||||
sp2C = &arg0->unk_654;
|
||||
ptr = &arg0->unk_724->unk_01C[sp2C->unk_08];
|
||||
sp20 = &D_84384570[idx]->unk_A80;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_315830/func_8432B0E4.s")
|
||||
if ((ptr->unk_05 & 0x20) && (sp2C->unk_34 & 2)) {
|
||||
arg0->unk_000.unk_000.unk_02 &= ~0x20;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_315830/func_8432B13C.s")
|
||||
if ((sp28->unk_15 & 0x20) && (ptr->unk_05 & 0x20) && !(sp2C->unk_34 & 2) &&
|
||||
((arg0->unk_000.unk_040.unk_08 >> 0x10) >= 3)) {
|
||||
func_8001BD04(&arg0->unk_000, sp20->unk_00);
|
||||
func_80017464(&arg0->unk_000, 4);
|
||||
func_8001BD9C(&arg0->unk_000, sp20->unk_01);
|
||||
func_80017804(&arg0->unk_000, 3);
|
||||
arg0->unk_000.unk_000.unk_02 &= ~0x20;
|
||||
func_843061EC(arg0, 2);
|
||||
func_8432C7A0(1, arg0);
|
||||
func_8432BF88(arg0, 0x13);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_315830/func_8432B1BC.s")
|
||||
void func_8432B0A4(unk_D_84390010* arg0) {
|
||||
unk_D_8438E7B0_A50* ptr = &D_84384570[func_84307F00(arg0)]->unk_A50;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_315830/func_8432B228.s")
|
||||
func_8001BD04(&arg0->unk_000, ptr->unk_00);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_315830/func_8432B38C.s")
|
||||
void func_8432B0E4(unk_D_84390010* arg0) {
|
||||
if (arg0->unk_654.unk_34 & 2) {
|
||||
func_8432C80C(1, arg0);
|
||||
arg0->unk_000.unk_000.unk_02 |= 0x20;
|
||||
func_84306200(arg0, 2);
|
||||
func_8432B0A4(arg0);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_315830/func_8432B448.s")
|
||||
void func_8432B13C(unk_D_84390010* arg0) {
|
||||
unk_func_80026268_arg0* ptr = &arg0->unk_724->unk_01C[arg0->unk_654.unk_08];
|
||||
|
||||
if (arg0->unk_654.unk_34 & 2) {
|
||||
ptr->unk_05 = 0;
|
||||
func_8432C80C(1, arg0);
|
||||
arg0->unk_000.unk_000.unk_02 |= 0x20;
|
||||
func_84306200(arg0, 2);
|
||||
func_8432B0A4(arg0);
|
||||
}
|
||||
}
|
||||
|
||||
void func_8432B1BC(unk_D_84390010* arg0) {
|
||||
if ((arg0->unk_654.unk_34 & 2) && !(arg0->unk_654.unk_38.unk_15 & 0x20)) {
|
||||
func_8432C80C(1, arg0);
|
||||
arg0->unk_000.unk_000.unk_02 |= 0x20;
|
||||
func_84306200(arg0, 2);
|
||||
func_8432B0A4(arg0);
|
||||
}
|
||||
}
|
||||
|
||||
void func_8432B228(unk_D_84390010* arg0) {
|
||||
unk_D_84390010_654* sp24 = &arg0->unk_654;
|
||||
unk_D_800FCB18* sp28 = &sp24->unk_38;
|
||||
unk_func_80026268_arg0* sp2C = &arg0->unk_724->unk_01C[arg0->unk_654.unk_08];
|
||||
|
||||
if ((D_84390240.unk_00->unk_38 != 0xB) || (D_84390240.unk_00->unk_20 >= 6)) {
|
||||
if ((sp2C->unk_05 & 7) && (sp28->unk_15 & 7) && !(arg0->unk_654.unk_34 & 1)) {
|
||||
func_84305A74(arg0, 0xAF, 2);
|
||||
func_8432C7A0(3, arg0);
|
||||
func_8432BF88(arg0, 0x32);
|
||||
func_843061EC(arg0, 1);
|
||||
}
|
||||
|
||||
if (!(sp2C->unk_05 & 7) && (sp24->unk_34 & 1)) {
|
||||
if (D_84384570[func_84307F00(arg0)]->unk_B81 == 0xFF) {
|
||||
sp24->unk_36 = 0;
|
||||
func_843058C4(arg0, 0xA5);
|
||||
} else {
|
||||
func_84305A74(arg0, 0xB8, 1);
|
||||
}
|
||||
func_8432C80C(3, arg0);
|
||||
func_84306200(arg0, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_8432B38C(unk_D_84390010* arg0) {
|
||||
unk_func_80026268_arg0* ptr = &arg0->unk_724->unk_01C[arg0->unk_654.unk_08];
|
||||
|
||||
if (arg0->unk_654.unk_34 & 1) {
|
||||
ptr->unk_05 = 0;
|
||||
if (D_84384570[func_84307F00(arg0)]->unk_B81 == 0xFF) {
|
||||
arg0->unk_654.unk_36 = 0;
|
||||
func_843058C4(arg0, 0xA5);
|
||||
} else {
|
||||
func_84305A74(arg0, 0xB8, 1);
|
||||
}
|
||||
func_8432C80C(3, arg0);
|
||||
func_84306200(arg0, 1);
|
||||
}
|
||||
}
|
||||
|
||||
void func_8432B448(unk_D_84390010* arg0) {
|
||||
if (arg0->unk_654.unk_34 & 1) {
|
||||
func_8432C80C(3, arg0);
|
||||
func_84306200(arg0, 1);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -1,11 +1,62 @@
|
|||
#include "global.h"
|
||||
#include "fragment62.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31A7E0/func_8432FF20.s")
|
||||
void func_8432FF20(unk_D_8140E720* arg0) {
|
||||
func_8140B938(arg0, 0.1f);
|
||||
func_8140BAC8(arg0, 0xFF, 0xFF, 0xFF);
|
||||
func_8140BB74(arg0, 0x64, 0xC8, 0xFF);
|
||||
func_8140BC20(arg0, 0xFF);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31A7E0/func_8432FF8C.s")
|
||||
void func_8432FF8C(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_8432FF20(arg0);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31A7E0/func_84330048.s")
|
||||
case 2:
|
||||
func_814084D8(arg0, 0, 7, 1, 2, 0);
|
||||
func_8140BC2C(arg0, 0x20, 8);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31A7E0/func_843300B4.s")
|
||||
case 3:
|
||||
func_81408150(arg0);
|
||||
break;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31A7E0/func_8433010C.s")
|
||||
if (func_8140819C(arg0) != 0) {
|
||||
func_8140B98C(arg0, 0.5f, 0.05f);
|
||||
}
|
||||
}
|
||||
|
||||
void func_84330048(unk_D_8140E720* arg0) {
|
||||
func_8140B938(arg0, 0.1f);
|
||||
func_8140BAC8(arg0, 0xFF, 0xFF, 0xFF);
|
||||
func_8140BB74(arg0, 0x64, 0xC8, 0xFF);
|
||||
func_8140BC20(arg0, 0xFF);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_843300B4(unk_D_8140E720* arg0) {
|
||||
if (arg0->unk_B2 == 1) {
|
||||
func_84330048(arg0);
|
||||
}
|
||||
|
||||
if (func_8140819C(arg0) != 0) {
|
||||
func_8140B98C(arg0, 0.8f, 0.08f);
|
||||
}
|
||||
}
|
||||
|
||||
void func_8433010C(unk_D_8140E720* arg0, u8 arg1) {
|
||||
switch (arg1) {
|
||||
case 1:
|
||||
arg0->unk_08 = func_8432FF8C;
|
||||
arg0->unk_0C = &D_843861D0[25];
|
||||
break;
|
||||
|
||||
case 2:
|
||||
arg0->unk_08 = func_843300B4;
|
||||
arg0->unk_0C = &D_843861D0[22];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,63 +1,302 @@
|
|||
#include "global.h"
|
||||
#include "fragment62.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_84330170.s")
|
||||
s32 func_84330170(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1) {
|
||||
func_81405C70(arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->env_r, arg0->env_g, arg0->env_b, arg0->prim_a);
|
||||
func_8140213C(arg1, arg0->unk_2C, arg0->unk_1C);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_84330218.s")
|
||||
gSPDisplayList(gDisplayListHead++, D_8140E418);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_84330300.s")
|
||||
void func_84330218(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1) {
|
||||
func_81403F8C(D_843920C0[0x76] + (arg0->unk_C7 << 0xB), 0x20, 0x40);
|
||||
func_814044FC(D_843920C0[0x77], 0x40, 0x40, 2, 1);
|
||||
func_81406168(0, 0xA, 0x40, 0x40);
|
||||
func_81405FAC(0x80, arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->prim_a, arg0->env_r, arg0->env_g, arg0->env_b);
|
||||
func_81404DB4(arg1, arg0->unk_2C, arg0->unk_1C, D_8140E1F8);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_84330344.s")
|
||||
void func_84330300(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1) {
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DCD8);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_84330388.s")
|
||||
func_84330218(arg0, arg1);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_843304AC.s")
|
||||
void func_84330344(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1) {
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DD58);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_84330574.s")
|
||||
func_84330218(arg0, arg1);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_84330688.s")
|
||||
void func_84330388(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1) {
|
||||
func_8140213C(arg1, arg0->unk_2C, arg0->unk_1C);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_8433079C.s")
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DD58);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_84330934.s")
|
||||
func_8140441C(D_843920C0[0x1F], 0x20, 0x40);
|
||||
func_814060D4(0, 8, 0x20, 0x40);
|
||||
func_81405E04(0xFF, 0xFF, 0xFF, arg0->prim_a, 0xFF, 0xFF, 0xFF, 0xFF);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_84330A18.s")
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_PASS, G_RM_AA_ZB_XLU_SURF2);
|
||||
gSPDisplayList(gDisplayListHead++, D_843920C0[0x20]);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_84330AF0.s")
|
||||
s32 func_843304AC(unk_D_8140E720* arg0, UNUSED unk_D_86002F34_00C* arg1) {
|
||||
func_81401FC0(arg0->unk_2C, arg0->unk_94, arg0->unk_1C);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_84330B18.s")
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DBA8);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_84330B40.s")
|
||||
func_81403AB8(D_843920C0[0xBC], 0x20, 0x20);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_84330C70.s")
|
||||
gSPDisplayList(gDisplayListHead++, D_843920C0[0xBD]);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_84330D64.s")
|
||||
void func_84330574(unk_D_8140E720* arg0, UNUSED unk_D_86002F34_00C* arg1) {
|
||||
func_814015A0(arg0->unk_2C.x, arg0->unk_2C.y, arg0->unk_94.z, arg0->unk_1C);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_84330E58.s")
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DCD8);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_84330F4C.s")
|
||||
func_81405ED8(0x80, arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->prim_a, arg0->env_r, arg0->env_g, arg0->env_b);
|
||||
func_8140441C(D_843920C0[0x27], 0x40, 0x40);
|
||||
func_814060D4(2, -2, 0x40, 0x40);
|
||||
func_81404484(D_843920C0[0x28], 0x40, 0x40);
|
||||
func_81406168(0, -1, 0x40, 0x40);
|
||||
func_81404A6C(D_84385DC0);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_84331094.s")
|
||||
void func_84330688(unk_D_8140E720* arg0, UNUSED unk_D_86002F34_00C* arg1) {
|
||||
func_814015A0(arg0->unk_2C.x, arg0->unk_2C.y, arg0->unk_94.z, arg0->unk_1C);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_843310A0.s")
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DCD8);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_843311D8.s")
|
||||
func_81405ED8(0x80, arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->prim_a, arg0->env_r, arg0->env_g, arg0->env_b);
|
||||
func_8140441C(D_843920C0[0x27], 0x40, 0x40);
|
||||
func_814060D4(1, -3, 0x40, 0x40);
|
||||
func_81404484(D_843920C0[0x28], 0x40, 0x40);
|
||||
func_81406168(-2, -2, 0x40, 0x40);
|
||||
func_81404A6C(D_84385E00);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_84331314.s")
|
||||
void func_8433079C(unk_D_8140E720* arg0, UNUSED unk_D_86002F34_00C* arg1) {
|
||||
func_814015A0(arg0->unk_2C.x, arg0->unk_2C.y, arg0->unk_94.z, arg0->unk_1C);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_84331450.s")
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DCD8);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_8433157C.s")
|
||||
func_81405ED8(0x80, arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->prim_a, arg0->env_r, arg0->env_g, arg0->env_b);
|
||||
func_81403754(D_843920C0[0x29], 0, 0, 4, 0x20, 0x20, 1, 1, 5, 5, 2, 0);
|
||||
func_814060D4(1, 1, 0x20, 0x20);
|
||||
func_81403754(D_843920C0[0x29], 0x100, 1, 4, 0x20, 0x20, 1, 1, 5, 5, 1, 0xF);
|
||||
func_81406168(-1, 1, 0x20, 0x20);
|
||||
func_81404A6C(D_8140E3B8);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_843316A8.s")
|
||||
void func_84330934(unk_D_8140E720* arg0, UNUSED unk_D_86002F34_00C* arg1) {
|
||||
func_814015A0(arg0->unk_2C.x, arg0->unk_2C.y, arg0->unk_94.z, arg0->unk_1C);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_843317D4.s")
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DCD8);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_843318F8.s")
|
||||
func_81405C70(arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->env_r, arg0->env_g, arg0->env_b, arg0->prim_a);
|
||||
func_8140441C(D_843920C0[0x87], 0x20, 0x20);
|
||||
func_814060D4(0, 2, 0x20, 0x20);
|
||||
func_81404A6C(D_8140E3B8);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_84331A1C.s")
|
||||
void func_84330A18(unk_D_8140E720* arg0, u8* arg1) {
|
||||
func_814015F8(arg0->unk_2C.x, arg0->unk_2C.y, arg0->unk_94.z, arg0->unk_1C);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_84331B58.s")
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DCD8);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_84331C34.s")
|
||||
func_81405C70(arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->env_r, arg0->env_g, arg0->env_b, arg0->prim_a);
|
||||
func_81405660(arg1, D_84385C80, 0x40, 0x40, 0x40, 0x40);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31AA30/func_84331D60.s")
|
||||
void func_84330AF0(unk_D_8140E720* arg0, UNUSED unk_D_86002F34_00C* arg1) {
|
||||
func_84330A18(arg0, D_843920C0[0x19]);
|
||||
}
|
||||
|
||||
void func_84330B18(unk_D_8140E720* arg0, UNUSED unk_D_86002F34_00C* arg1) {
|
||||
func_84330A18(arg0, D_843920C0[0x5E]);
|
||||
}
|
||||
|
||||
void func_84330B40(unk_D_8140E720* arg0, UNUSED unk_D_86002F34_00C* arg1) {
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DD58);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
|
||||
func_8140437C(D_843920C0[0x1A] + (arg0->unk_C7 << 9), 0x20, 0x20);
|
||||
func_81405C70(arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->env_r, arg0->env_g, arg0->env_b, arg0->prim_a);
|
||||
func_81404ABC(arg0->unk_2C, arg0->unk_94, arg0->unk_1C, D_8140E018);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
}
|
||||
|
||||
void func_84330C70(unk_D_8140E720* arg0, UNUSED unk_D_86002F34_00C* arg1) {
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DC00);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
|
||||
func_81403AB8(D_843920C0[0x1C], 0x20, 0x20);
|
||||
func_81404ABC(arg0->unk_2C, arg0->unk_94, arg0->unk_1C, D_8140E018);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
}
|
||||
|
||||
void func_84330D64(unk_D_8140E720* arg0, UNUSED unk_D_86002F34_00C* arg1) {
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DC00);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
|
||||
func_81403AB8(D_843920C0[0x1E], 0x20, 0x20);
|
||||
func_81404ABC(arg0->unk_2C, arg0->unk_94, arg0->unk_1C, D_8140E018);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
}
|
||||
|
||||
void func_84330E58(unk_D_8140E720* arg0, UNUSED unk_D_86002F34_00C* arg1) {
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DC00);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
|
||||
func_81403AB8(D_843920C0[0xC3], 0x20, 0x20);
|
||||
func_81404ABC(arg0->unk_2C, arg0->unk_94, arg0->unk_1C, D_8140E018);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
}
|
||||
|
||||
void func_84330F4C(unk_D_8140E720* arg0, UNUSED unk_D_86002F34_00C* arg1) {
|
||||
Vec3s sp40;
|
||||
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DCD8);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
|
||||
func_8140437C(D_843920C0[0x1D], 0x20, 0x20);
|
||||
func_81405C70(arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->env_r, arg0->env_g, arg0->env_b, arg0->prim_a);
|
||||
sp40.x = arg0->unk_94.x + 0x4000;
|
||||
sp40.y = arg0->unk_94.y + 0x4000;
|
||||
sp40.z = arg0->unk_94.z;
|
||||
func_81404ABC(arg0->unk_2C, sp40, arg0->unk_1C, D_8140E018);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
}
|
||||
|
||||
void func_84331094(UNUSED unk_D_8140E720* arg0, UNUSED unk_D_86002F34_00C* arg1) {
|
||||
}
|
||||
|
||||
void func_843310A0(unk_D_8140E720* arg0, UNUSED unk_D_86002F34_00C* arg1) {
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DD58);
|
||||
|
||||
func_8140437C(D_843920C0[0x13] + (D_8140E6C8 * 0x600), 0x20, 0x60);
|
||||
func_81405C70(arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->env_r, arg0->env_g, arg0->env_b, arg0->prim_a);
|
||||
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
|
||||
func_81404B78(arg0->unk_2C, arg0->unk_94, arg0->unk_1C, D_84385CC0);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
}
|
||||
|
||||
void func_843311D8(unk_D_8140E720* arg0, UNUSED unk_D_86002F34_00C* arg1) {
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DD58);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
|
||||
func_8140437C(D_843920C0[0x13] + (D_8140E6C8 * 0x600), 0x20, 0x60);
|
||||
func_81405C70(arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->env_r, arg0->env_g, arg0->env_b, arg0->prim_a);
|
||||
func_81404B78(arg0->unk_2C, arg0->unk_94, arg0->unk_1C, D_84385D00);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
}
|
||||
|
||||
void func_84331314(unk_D_8140E720* arg0, UNUSED unk_D_86002F34_00C* arg1) {
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DD58);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
|
||||
func_8140437C(D_843920C0[0x13] + (D_8140E6C8 * 0x600), 0x20, 0x60);
|
||||
func_81405C70(arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->env_r, arg0->env_g, arg0->env_b, arg0->prim_a);
|
||||
func_81404B78(arg0->unk_2C, arg0->unk_94, arg0->unk_1C, D_84385D40);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
}
|
||||
|
||||
void func_84331450(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1) {
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DD58);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
|
||||
func_8140437C(D_843920C0[0x13] + (D_8140E6C8 * 0x600), 0x20, 0x60);
|
||||
func_81405C70(arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->env_r, arg0->env_g, arg0->env_b, arg0->prim_a);
|
||||
func_81404F84(arg1, arg0->unk_2C, arg0->unk_1C, D_84385CC0, arg0->unk_94.z);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
}
|
||||
|
||||
void func_8433157C(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1) {
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DD58);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
|
||||
func_8140437C(D_843920C0[0x13] + (D_8140E6C8 * 0x600), 0x20, 0x60);
|
||||
func_81405C70(arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->env_r, arg0->env_g, arg0->env_b, arg0->prim_a);
|
||||
func_81404F84(arg1, arg0->unk_2C, arg0->unk_1C, D_84385D00, arg0->unk_94.z);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
}
|
||||
|
||||
void func_843316A8(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1) {
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DD58);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
|
||||
func_8140437C(D_843920C0[0x13] + (D_8140E6C8 * 0x600), 0x20, 0x60);
|
||||
func_81405C70(arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->env_r, arg0->env_g, arg0->env_b, arg0->prim_a);
|
||||
func_81404F84(arg1, arg0->unk_2C, arg0->unk_1C, D_84385D40, arg0->unk_94.z);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
}
|
||||
|
||||
void func_843317D4(unk_D_8140E720* arg0, UNUSED unk_D_86002F34_00C* arg1) {
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DCD8);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
|
||||
func_8140437C(D_843920C0[0x1B], 0x10, 0x100);
|
||||
func_81405C70(0xFF, 0xFF, 0xFF, arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->prim_a);
|
||||
func_81404CF8(arg0->unk_2C, arg0->unk_94, arg0->unk_1C, D_8140DF78);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
}
|
||||
|
||||
void func_843318F8(unk_D_8140E720* arg0, UNUSED unk_D_86002F34_00C* arg1) {
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DCD8);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
|
||||
func_8140437C(D_843920C0[0x1B], 0x10, 0x100);
|
||||
func_81405C70(0xFF, 0xFF, 0xFF, arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->prim_a);
|
||||
func_81404CF8(arg0->unk_2C, arg0->unk_94, arg0->unk_1C, D_8140DFA8);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
}
|
||||
|
||||
void func_84331A1C(unk_D_8140E720* arg0, UNUSED unk_D_86002F34_00C* arg1) {
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DCD8);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
|
||||
func_8140437C(D_843920C0[0x13] + ((D_8140E6F0 & 7) * 0x600), 0x20, 0x60);
|
||||
func_81405C70(0xFF, 0xFF, 0xFF, 0, 0x64, 0xC8, 0xFF);
|
||||
func_81404ABC(arg0->unk_2C, arg0->unk_94, arg0->unk_1C, D_8140E238);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
}
|
||||
|
||||
void func_84331B58(unk_D_8140E720* arg0, unk_D_86002F34_00C* arg1) {
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DD58);
|
||||
|
||||
func_8140437C(D_843920C0[0x18] + (arg0->unk_C7 << 9), 0x20, 0x20);
|
||||
func_81405C70(arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->env_r, arg0->env_g, arg0->env_b, arg0->prim_a);
|
||||
func_81404E4C(arg1, arg0->unk_2C, arg0->unk_1C, D_8140E018, arg0->unk_94.z);
|
||||
}
|
||||
|
||||
void func_84331C34(unk_D_8140E720* arg0, UNUSED unk_D_86002F34_00C* arg1) {
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DD58);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
|
||||
func_8140437C(D_843920C0[0xA9], 0x20, 0x20);
|
||||
func_81405C70(arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->env_r, arg0->env_g, arg0->env_b, arg0->prim_a);
|
||||
func_81404C34(arg0->unk_2C, arg0->unk_94, arg0->unk_1C, arg0->unk_20, D_8140E098);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK);
|
||||
}
|
||||
|
||||
void func_84331D60(unk_D_8140E720* arg0, UNUSED unk_D_86002F34_00C* arg1) {
|
||||
func_84359000(arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->prim_a);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,221 +1,554 @@
|
|||
#include "global.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84331DA0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84331DC8.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84331E64.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84331EAC.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84331F64.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84331FAC.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_843320A4.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84332174.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_843321BC.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_8433227C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_843322C4.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_8433237C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_843323BC.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_843324A4.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_843324EC.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_843325C4.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84332604.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_843326EC.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_843327B8.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_843328A8.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84332964.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84332AD8.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84332AFC.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84332BA4.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84332BE4.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84332C90.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84332CD0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84332D68.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84332DB0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84332E2C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84332E6C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84332EE8.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84332F30.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84332F90.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84332FD0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84333060.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_843330A0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84333130.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84333210.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_843332B4.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_843334DC.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84333570.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84333600.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_8433378C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84333884.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84333928.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84333A20.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84333B04.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84333BA8.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84333DC4.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84333E28.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84333EE8.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84333FBC.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_843340B8.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84334154.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84334294.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84334350.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_843343F8.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_843344A0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84334558.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_843345A0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84334654.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_843346BC.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_843347A4.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84334808.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_843348DC.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84334994.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84334A78.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84334B0C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84334BAC.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84334D7C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84334E4C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84334F84.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_8433507C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_843351C8.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_843352AC.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_843353C4.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_843354E0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84335668.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_8433574C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84335848.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_8433595C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84335A84.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84335BA0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84335D10.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84335DEC.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84335EF8.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84336014.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_8433617C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84336320.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84336340.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84336360.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84336480.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84336520.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_8433661C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_8433679C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84336830.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_843369AC.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84336A58.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84336B8C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84336C80.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84336DD8.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84336EE8.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_84337000.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_843371C0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_843372D8.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_843374A4.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_843375B0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_8433766C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_31C660/func_843378D4.s")
|
||||
#include "fragment62.h"
|
||||
#include "src/1C720.h"
|
||||
|
||||
void func_84331DA0(unk_D_8140E720* arg0) {
|
||||
func_8432FEEC(arg0);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_84331DC8(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_84331DA0(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if (func_8140D7C8(arg0, arg0->unk_CF, func_8140C068(arg0)) != 0) {
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_81408158(arg0);
|
||||
break;
|
||||
}
|
||||
|
||||
func_8432FEC4(arg0);
|
||||
}
|
||||
|
||||
void func_84331E64(unk_D_8140E720* arg0) {
|
||||
func_8140D530(arg0, func_8140C058(arg0));
|
||||
func_8140BF4C(arg0, arg0->unk_A6);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_84331EAC(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_84331E64(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if (func_8140BF60(arg0, arg0->unk_CD, arg0->unk_AA) != 0) {
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_81408158(arg0);
|
||||
break;
|
||||
}
|
||||
|
||||
if (func_8140819C(arg0) != 0) {
|
||||
func_8001BE34(&arg0->unk_10->unk_000, arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->unk_AE);
|
||||
}
|
||||
}
|
||||
|
||||
void func_84331F64(unk_D_8140E720* arg0) {
|
||||
func_8140D530(arg0, func_8140C058(arg0));
|
||||
func_8140BF4C(arg0, arg0->unk_CE);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_84331FAC(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_84331F64(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if (func_8140BF60(arg0, arg0->unk_CD, arg0->unk_AA) != 0) {
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_8140BDD0(arg0);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
if (func_8140BF60(arg0, 0, arg0->unk_AA) != 0) {
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
break;
|
||||
|
||||
case 5:
|
||||
func_81408158(arg0);
|
||||
break;
|
||||
}
|
||||
|
||||
if (func_8140819C(arg0) != 0) {
|
||||
func_8001BE34(&arg0->unk_10->unk_000, arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->unk_AE);
|
||||
}
|
||||
}
|
||||
|
||||
void func_8433209C(void) {
|
||||
}
|
||||
|
||||
void func_843320A4(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_84331F64(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_8140BDD0(arg0);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
if (func_8140BF60(arg0, 0, arg0->unk_AA) != 0) {
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
break;
|
||||
|
||||
case 4:
|
||||
func_81408158(arg0);
|
||||
break;
|
||||
}
|
||||
|
||||
if (func_8140819C(arg0) != 0) {
|
||||
func_8001BE34(&arg0->unk_10->unk_000, arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->unk_AE);
|
||||
}
|
||||
}
|
||||
|
||||
void func_84332174(unk_D_8140E720* arg0) {
|
||||
func_8140D530(arg0, func_8140C058(arg0));
|
||||
func_8140BF4C(arg0, arg0->unk_A6);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_843321BC(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_84332174(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if (func_8140D7C8(arg0, arg0->unk_CD, arg0->unk_AA) != 0) {
|
||||
func_8140BF4C(arg0, 0);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_81408150(arg0);
|
||||
break;
|
||||
}
|
||||
|
||||
if (func_8140819C(arg0) != 0) {
|
||||
func_8001BE34(&arg0->unk_10->unk_000, arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->unk_AE);
|
||||
}
|
||||
}
|
||||
|
||||
void func_8433227C(unk_D_8140E720* arg0) {
|
||||
func_8140D530(arg0, func_8140C058(arg0));
|
||||
func_8140BF4C(arg0, arg0->unk_A6);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_843322C4(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_8433227C(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if (func_8140D7C8(arg0, arg0->unk_CD, arg0->unk_AA) != 0) {
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_81408150(arg0);
|
||||
break;
|
||||
}
|
||||
|
||||
if (func_8140819C(arg0) != 0) {
|
||||
func_8001BE34(&arg0->unk_10->unk_000, arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->unk_AE);
|
||||
}
|
||||
}
|
||||
|
||||
void func_8433237C(unk_D_8140E720* arg0) {
|
||||
func_8140D530(arg0, func_8140C058(arg0));
|
||||
func_8140BF4C(arg0, 0);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_843323BC(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_8433237C(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_8140BF98(arg0, arg0->unk_A6, arg0->unk_CE);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
if (func_8140D7C8(arg0, arg0->unk_CD, arg0->unk_AA) != 0) {
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
break;
|
||||
|
||||
case 4:
|
||||
func_8140BF98(arg0, 0, arg0->unk_CE);
|
||||
break;
|
||||
|
||||
case 5:
|
||||
func_81408150(arg0);
|
||||
break;
|
||||
}
|
||||
|
||||
if (func_8140819C(arg0) != 0) {
|
||||
func_8001BE34(&arg0->unk_10->unk_000, arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->unk_AE);
|
||||
}
|
||||
}
|
||||
|
||||
void func_843324A4(unk_D_8140E720* arg0) {
|
||||
func_8140D530(arg0, func_8140C058(arg0));
|
||||
func_8140BF4C(arg0, arg0->unk_A6);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_843324EC(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_843324A4(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if (func_8140D7C8(arg0, arg0->unk_CD, arg0->unk_AA) != 0) {
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_8140BF98(arg0, 0, arg0->unk_CE);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
func_81408150(arg0);
|
||||
break;
|
||||
}
|
||||
|
||||
if (func_8140819C(arg0) != 0) {
|
||||
func_8001BE34(&arg0->unk_10->unk_000, arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->unk_AE);
|
||||
}
|
||||
}
|
||||
|
||||
void func_843325C4(unk_D_8140E720* arg0) {
|
||||
func_8140D530(arg0, func_8140C058(arg0));
|
||||
func_8140BF4C(arg0, 0);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_84332604(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_843325C4(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if (func_8140BF60(arg0, arg0->unk_A6, arg0->unk_CE) != 0) {
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
if (func_8140D7C8(arg0, arg0->unk_CD, arg0->unk_AA) != 0) {
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
break;
|
||||
|
||||
case 4:
|
||||
func_81408150(arg0);
|
||||
break;
|
||||
}
|
||||
|
||||
if (func_8140819C(arg0) != 0) {
|
||||
func_8001BE34(&arg0->unk_10->unk_000, arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->unk_AE);
|
||||
}
|
||||
}
|
||||
|
||||
void func_843326EC(unk_D_8140E720* arg0) {
|
||||
func_8140D530(arg0, D_8140E538[func_81400A78(6)]);
|
||||
func_8140BEEC(arg0, D_8140E538[func_81400A78(6)]);
|
||||
func_8140BC20(arg0, arg0->unk_CD);
|
||||
|
||||
if (arg0->unk_AA == 0) {
|
||||
arg0->unk_AA = 1;
|
||||
}
|
||||
|
||||
func_8140BCA8(arg0, 0xFF / arg0->unk_AA);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_843327B8(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_843326EC(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_8140D7C8(arg0, arg0->unk_CF, arg0->unk_AA);
|
||||
if (func_8140BDAC(arg0) != 0) {
|
||||
func_8140BCA8(arg0, 0xFF / arg0->unk_AA);
|
||||
func_8140BEEC(arg0, D_8140E538[func_81400A78(6)]);
|
||||
}
|
||||
func_8001BE34(&arg0->unk_10->unk_000, arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->prim_a);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void func_843328A8(unk_D_8140E720* arg0) {
|
||||
func_8140D530(arg0, D_8140E538[0]);
|
||||
func_8140BF4C(arg0, 1);
|
||||
func_8140BEEC(arg0, D_8140E538[1]);
|
||||
func_8140BC20(arg0, arg0->unk_CD);
|
||||
|
||||
if (arg0->unk_AA == 0) {
|
||||
arg0->unk_AA = 1;
|
||||
}
|
||||
|
||||
func_8140BE14(arg0, 0xFF / arg0->unk_AA);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_84332964(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_843328A8(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_8140BDD0(arg0);
|
||||
if (func_8140BE6C(arg0) != 0) {
|
||||
func_8140BE14(arg0, 0xFF / arg0->unk_AA);
|
||||
arg0->unk_AE = (arg0->unk_AE + 1) % 6;
|
||||
func_8140BEEC(arg0, D_8140E538[arg0->unk_AE]);
|
||||
}
|
||||
func_8140D7C8(arg0, arg0->unk_CF, arg0->unk_AA);
|
||||
func_8001BE34(&arg0->unk_10->unk_000, arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->prim_a);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
if (func_8140BC2C(arg0, 0, 8) != 0) {
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
func_8001BE34(&arg0->unk_10->unk_000, arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->prim_a);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
func_81408158(arg0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void func_84332AD8(unk_D_8140E720* arg0) {
|
||||
arg0->prim_a = arg0->unk_A6;
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_84332AFC(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_84332AD8(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if (func_8140BC2C(arg0, arg0->unk_CD, arg0->unk_AA) != 0) {
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_81408150(arg0);
|
||||
break;
|
||||
}
|
||||
|
||||
if (func_8140819C(arg0) != 0) {
|
||||
func_8001BE78(&arg0->unk_10->unk_000, arg0->prim_a);
|
||||
}
|
||||
}
|
||||
|
||||
void func_84332BA4(unk_D_8140E720* arg0) {
|
||||
func_8140D530(arg0, func_8140C058(arg0));
|
||||
func_8140BC20(arg0, 0);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_84332BE4(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_84332BA4(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_8140BC2C(arg0, 0x80, 4);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
if (func_8140BC2C(arg0, 0, 8) != 0) {
|
||||
func_81408158(arg0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
func_8001BE34(&arg0->unk_10->unk_000, arg0->prim_r, arg0->prim_g, arg0->prim_b, arg0->prim_a);
|
||||
}
|
||||
|
||||
void func_84332C90(unk_D_8140E720* arg0) {
|
||||
func_8140D530(arg0, func_8140C058(arg0));
|
||||
func_8140BC20(arg0, 0);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_84332CD0(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_84332C90(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_8140BC5C(arg0, arg0->unk_CD, arg0->unk_AA);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_8140BDD0(arg0);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
if (func_8140BC2C(arg0, 0, arg0->unk_AA) != 0) {
|
||||
func_81408150(arg0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void func_84332D68(unk_D_8140E720* arg0) {
|
||||
func_8140D530(arg0, func_8140C058(arg0));
|
||||
func_8140BC20(arg0, arg0->unk_CD);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_84332DB0(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_84332D68(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_8140BDD0(arg0);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
if (func_8140BC2C(arg0, 0, arg0->unk_AA) != 0) {
|
||||
func_81408150(arg0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void func_84332E2C(unk_D_8140E720* arg0) {
|
||||
func_8140D530(arg0, func_8140C058(arg0));
|
||||
func_8140BC20(arg0, 0);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_84332E6C(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_84332E2C(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_8140BC5C(arg0, arg0->unk_CD, arg0->unk_AA);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
if (func_8140BDAC(arg0) != 0) {
|
||||
func_81408150(arg0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void func_84332EE8(unk_D_8140E720* arg0) {
|
||||
func_8140D530(arg0, func_8140C058(arg0));
|
||||
func_8140BC20(arg0, arg0->unk_CD);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_84332F30(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_84332EE8(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if (func_8140BDAC(arg0) != 0) {
|
||||
func_81408158(arg0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void func_84332F90(unk_D_8140E720* arg0) {
|
||||
func_8140D530(arg0, func_8140C058(arg0));
|
||||
func_8140BC20(arg0, 0xFF);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_84332FD0(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_84332F90(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_8140BDD0(arg0);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_8140D7C8(arg0, arg0->unk_CD, arg0->unk_AA);
|
||||
if (func_8140BC2C(arg0, 0, arg0->unk_AA) != 0) {
|
||||
func_81408150(arg0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void func_84333060(unk_D_8140E720* arg0) {
|
||||
func_8140D530(arg0, func_8140C058(arg0));
|
||||
func_8140BC20(arg0, 0);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_843330A0(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_84333060(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_8140D7C8(arg0, arg0->unk_CD, arg0->unk_AA);
|
||||
func_8140BC5C(arg0, 0xFF, arg0->unk_AA);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
if (func_8140BDAC(arg0) != 0) {
|
||||
func_81408150(arg0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
1710
src/fragments/62/fragment62_31D9F0.c
Normal file
1710
src/fragments/62/fragment62_31D9F0.c
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -1,57 +1,514 @@
|
|||
#include "global.h"
|
||||
#include "fragment62.h"
|
||||
#include "src/math_util.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3274D0/func_8433CC10.s")
|
||||
void func_8433CC10(unk_D_8140E720* arg0) {
|
||||
UNUSED s32 pad;
|
||||
Vec3s sp2C;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3274D0/func_8433CCFC.s")
|
||||
func_8140C038(arg0);
|
||||
func_8140B938(arg0, 0.05f);
|
||||
sp2C.x = func_81400A78(0x8000) - 0x4000;
|
||||
sp2C.y = func_81400A78(0x10000);
|
||||
sp2C.z = func_81400A78(0x800) - 0x400;
|
||||
func_8140A4F0(arg0, sp2C);
|
||||
func_8140910C(arg0, func_81400A78(0xA));
|
||||
func_8140A578(arg0, 0x4000);
|
||||
func_8140D5A0(arg0, func_8140C058(arg0));
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3274D0/func_8433CDAC.s")
|
||||
void func_8433CCFC(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_8433CC10(arg0);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3274D0/func_8433CEA4.s")
|
||||
case 2:
|
||||
func_8140BDD0(arg0);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3274D0/func_8433CEFC.s")
|
||||
case 3:
|
||||
func_8140BC5C(arg0, 0, 0x40);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3274D0/func_8433CFA8.s")
|
||||
case 4:
|
||||
func_81408158(arg0);
|
||||
break;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3274D0/func_8433D070.s")
|
||||
func_8140B98C(arg0, 1.0f, 0.05f);
|
||||
func_81409DAC(arg0);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3274D0/func_8433D154.s")
|
||||
void func_8433CDAC(unk_D_8140E720* arg0) {
|
||||
f32 sp1C = 0.0f;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3274D0/func_8433D224.s")
|
||||
switch (func_843081BC(arg0->unk_10)) {
|
||||
case 0x6:
|
||||
sp1C = 15.0f;
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3274D0/func_8433D308.s")
|
||||
case 0x73:
|
||||
sp1C = 15.0f;
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3274D0/func_8433D3B0.s")
|
||||
case 0x87:
|
||||
sp1C = 10.0f;
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3274D0/func_8433D460.s")
|
||||
case 0x95:
|
||||
sp1C = 10.0f;
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3274D0/func_8433D560.s")
|
||||
case 0x1F:
|
||||
sp1C = 10.0f;
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3274D0/func_8433D604.s")
|
||||
case 0x22:
|
||||
sp1C = 10.0f;
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3274D0/func_8433D6EC.s")
|
||||
case 0x71:
|
||||
sp1C = 10.0f;
|
||||
break;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3274D0/func_8433D790.s")
|
||||
func_81408F38(arg0, sp1C);
|
||||
func_81408FAC(arg0, 5.0f);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3274D0/func_8433D868.s")
|
||||
void func_8433CEA4(unk_D_8140E720* arg0) {
|
||||
func_8140B938(arg0, 0.1f);
|
||||
func_8140AD8C(arg0, 0.0f);
|
||||
func_8433CDAC(arg0);
|
||||
func_8140D5A0(arg0, 0x17);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3274D0/func_8433D90C.s")
|
||||
void func_8433CEFC(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_8433CEA4(arg0);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3274D0/func_8433DA54.s")
|
||||
case 2:
|
||||
func_8140B98C(arg0, 4.0f, 0.5f);
|
||||
func_8140BDD0(arg0);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3274D0/func_8433DAF8.s")
|
||||
case 3:
|
||||
func_8140B98C(arg0, 0.1f, 0.5f);
|
||||
func_8140BC5C(arg0, 0, 0x20);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3274D0/func_8433DBDC.s")
|
||||
case 4:
|
||||
func_81408158(arg0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3274D0/func_8433DC80.s")
|
||||
void func_8433CFA8(unk_D_8140E720* arg0) {
|
||||
s16 sp2E = func_8140C038(arg0);
|
||||
Vec3s sp28;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3274D0/func_8433DECC.s")
|
||||
func_81408CA0(arg0, 15.0f);
|
||||
func_8140B938(arg0, 0.1f);
|
||||
func_8140AD8C(arg0, 0.0f);
|
||||
sp28.x = 0x4000 - func_81400A78(0x8000);
|
||||
sp28.y = sp2E << 0xD;
|
||||
sp28.z = 0;
|
||||
func_8140A4F0(arg0, sp28);
|
||||
func_8140D5A0(arg0, func_8140C058(arg0));
|
||||
func_81408348(arg0);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3274D0/func_8433DFF4.s")
|
||||
void func_8433D070(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_8433CFA8(arg0);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3274D0/func_8433E124.s")
|
||||
case 2:
|
||||
if (func_8140826C(arg0, func_8140C038(arg0)) != 0) {
|
||||
func_81408328(arg0);
|
||||
}
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3274D0/func_8433E33C.s")
|
||||
case 3:
|
||||
func_8140B98C(arg0, 3.0f, 0.1f);
|
||||
func_8140BDD0(arg0);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3274D0/func_8433E46C.s")
|
||||
case 4:
|
||||
func_8140BC5C(arg0, 0, 0x40);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3274D0/func_8433E524.s")
|
||||
case 5:
|
||||
func_81408158(arg0);
|
||||
break;
|
||||
}
|
||||
|
||||
func_8140A594(arg0, 0x400);
|
||||
func_81409D0C(arg0);
|
||||
}
|
||||
|
||||
void func_8433D154(unk_D_8140E720* arg0) {
|
||||
s16 sp2E = func_8140C038(arg0);
|
||||
Vec3s sp28;
|
||||
|
||||
func_81408CA0(arg0, 15.0f);
|
||||
func_8140B938(arg0, 0.1f);
|
||||
func_8140AD8C(arg0, MathUtil_Random_ZeroOne());
|
||||
sp28.x = 0x3000 - func_81400A78(0x6000);
|
||||
sp28.y = sp2E << 0xD;
|
||||
sp28.z = 0;
|
||||
func_8140A4F0(arg0, sp28);
|
||||
func_8140D5A0(arg0, func_8140C058(arg0));
|
||||
func_81408348(arg0);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_8433D224(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_8433D154(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if (func_8140826C(arg0, func_8140C038(arg0)) != 0) {
|
||||
func_81408328(arg0);
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_8140B98C(arg0, 3.5f, 0.1f);
|
||||
func_8140BDD0(arg0);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
func_8140BC5C(arg0, 0, 0x40);
|
||||
break;
|
||||
|
||||
case 5:
|
||||
func_81408158(arg0);
|
||||
break;
|
||||
}
|
||||
|
||||
func_8140A594(arg0, 0x400);
|
||||
func_81409D0C(arg0);
|
||||
}
|
||||
|
||||
void func_8433D308(unk_D_8140E720* arg0) {
|
||||
Vec3s sp28;
|
||||
|
||||
func_8140C038(arg0);
|
||||
func_8140B938(arg0, 0.5f);
|
||||
func_8140AD8C(arg0, 0.0f);
|
||||
sp28.x = -0x4000;
|
||||
sp28.y = 0;
|
||||
sp28.z = (func_81400A78(0x10) << 0xB) - 0x4000;
|
||||
func_8140A4F0(arg0, sp28);
|
||||
func_8140D5A0(arg0, func_8140C058(arg0));
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_8433D3B0(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_8433D308(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_8140B98C(arg0, 2.0f, 0.2f);
|
||||
func_8140BDD0(arg0);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_8140BC5C(arg0, 0, 0x40);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
func_81408158(arg0);
|
||||
break;
|
||||
}
|
||||
func_81409DAC(arg0);
|
||||
}
|
||||
|
||||
void func_8433D460(unk_D_8140E720* arg0) {
|
||||
UNUSED s32 pad;
|
||||
Vec3s sp2C;
|
||||
|
||||
func_8140C038(arg0);
|
||||
func_8140B938(arg0, 0.5f);
|
||||
func_8140B95C(arg0, (MathUtil_Random_ZeroOne() * 5.0f) + 1.0f);
|
||||
func_8140B974(arg0, 0.2f);
|
||||
func_8140AD8C(arg0, MathUtil_Random_ZeroOne() * 4.0f);
|
||||
sp2C.x = -0x4000;
|
||||
sp2C.y = 0;
|
||||
sp2C.z = (func_81400A78(0x10) << 0xB) - 0x4000;
|
||||
func_8140A4F0(arg0, sp2C);
|
||||
func_8140D5A0(arg0, func_8140C058(arg0));
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_8433D560(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_8433D460(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_8140BA1C(arg0);
|
||||
func_8140BDD0(arg0);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_8140BC5C(arg0, 0, 0x40);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
func_81408158(arg0);
|
||||
break;
|
||||
}
|
||||
|
||||
func_81409DAC(arg0);
|
||||
}
|
||||
|
||||
void func_8433D604(unk_D_8140E720* arg0) {
|
||||
UNUSED s32 pad;
|
||||
Vec3s sp2C;
|
||||
UNUSED s32 pad2[2];
|
||||
|
||||
func_8140C038(arg0);
|
||||
func_8140B938(arg0, 0.1f);
|
||||
func_8140B95C(arg0, 1.4f);
|
||||
func_8140B974(arg0, 0.1f);
|
||||
MathUtil_Random_ZeroOne();
|
||||
func_8140AD8C(arg0, 0.0f);
|
||||
sp2C.x = -0x4000;
|
||||
sp2C.y = 0;
|
||||
sp2C.z = (func_81400A78(0x10) << 0xB) - 0x4000;
|
||||
func_8140A4F0(arg0, sp2C);
|
||||
func_8140910C(arg0, 150.0f);
|
||||
func_8140A334(arg0);
|
||||
func_8140D5A0(arg0, func_8140C058(arg0));
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_8433D6EC(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_8433D604(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_8140BDD0(arg0);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_8140BC5C(arg0, 0, 0x10);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
func_81408158(arg0);
|
||||
break;
|
||||
}
|
||||
|
||||
func_8140BA1C(arg0);
|
||||
func_81409DAC(arg0);
|
||||
}
|
||||
|
||||
void func_8433D790(unk_D_8140E720* arg0) {
|
||||
UNUSED s32 pad;
|
||||
Vec3s sp2C;
|
||||
UNUSED s32 pad2[2];
|
||||
|
||||
func_8140C038(arg0);
|
||||
func_8140B938(arg0, 0.1f);
|
||||
func_8140B95C(arg0, 1.4f);
|
||||
func_8140B974(arg0, 0.1f);
|
||||
MathUtil_Random_ZeroOne();
|
||||
func_8140AD8C(arg0, 0.0f);
|
||||
sp2C.x = -0x4000;
|
||||
sp2C.y = 0;
|
||||
sp2C.z = 0;
|
||||
func_8140A4F0(arg0, sp2C);
|
||||
func_8140910C(arg0, 150.0f);
|
||||
func_8140A334(arg0);
|
||||
func_8140D5A0(arg0, func_8140C058(arg0));
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_8433D868(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_8433D790(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_8140BDD0(arg0);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_8140BC5C(arg0, 0, 0x10);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
func_81408158(arg0);
|
||||
break;
|
||||
}
|
||||
|
||||
func_8140BA1C(arg0);
|
||||
func_81409DAC(arg0);
|
||||
}
|
||||
|
||||
void func_8433D90C(unk_D_8140E720* arg0) {
|
||||
UNUSED s32 pad;
|
||||
Vec3f sp30;
|
||||
Vec3s sp28;
|
||||
|
||||
func_8140C038(arg0);
|
||||
func_8140B938(arg0, 0.1f);
|
||||
func_8140B95C(arg0, 2.0f);
|
||||
func_8140B974(arg0, 0.1f);
|
||||
sp28.x = 0;
|
||||
sp28.y = 0;
|
||||
sp28.z = -0x8000;
|
||||
func_8140A4F0(arg0, sp28);
|
||||
sp30.x = func_81400A78(0x64) + -50.0f;
|
||||
sp30.y = 200.0f;
|
||||
sp30.z = func_81400A78(0x64) + -50.0f;
|
||||
func_81408D78(arg0, sp30);
|
||||
func_8140D5A0(arg0, func_8140C058(arg0));
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_8433DA54(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_8433D90C(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_8140BDD0(arg0);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_8140BC5C(arg0, 0, 0x40);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
func_81408158(arg0);
|
||||
break;
|
||||
}
|
||||
|
||||
func_8140BA1C(arg0);
|
||||
func_81409DAC(arg0);
|
||||
}
|
||||
|
||||
void func_8433DAF8(unk_D_8140E720* arg0) {
|
||||
UNUSED s32 pad[4];
|
||||
Vec3s sp28;
|
||||
|
||||
func_8140C038(arg0);
|
||||
func_8140B938(arg0, 0.1f);
|
||||
func_8140B95C(arg0, 2.0f);
|
||||
func_8140B974(arg0, 0.1f);
|
||||
sp28.x = -0x1000 - func_81400A78(0x6000);
|
||||
sp28.y = func_81400A78(0x10000);
|
||||
sp28.z = func_81400A78(0x800) - 0x400;
|
||||
func_8140A4F0(arg0, sp28);
|
||||
func_8140910C(arg0, 200.0f);
|
||||
func_8140A578(arg0, -0x4000);
|
||||
func_8140D5A0(arg0, func_8140C058(arg0));
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_8433DBDC(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_8433DAF8(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_8140BDD0(arg0);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_8140BC5C(arg0, 0, 0x40);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
func_81408158(arg0);
|
||||
break;
|
||||
}
|
||||
|
||||
func_8140BA1C(arg0);
|
||||
func_81409DAC(arg0);
|
||||
}
|
||||
|
||||
void func_8433DC80(void) {
|
||||
func_8432F8E8(0x64, 1);
|
||||
func_8432ED0C(0, 0x20, 3);
|
||||
func_8432ECA0(0, 3, 8, func_8433CCFC, &D_843861D0[0x11], 8, 4, 2, 0, 0x25, 0);
|
||||
func_8432EB2C(0x19);
|
||||
func_8432EC28(0, func_8433CEFC, &D_843861D0[0x15], 0xE, 1, 2, 0, 0x25, 0);
|
||||
func_8432EC28(0, func_8433CEFC, &D_843861D0[0x16], 0xE, 1, 2, 0, 0x25, 0);
|
||||
func_8432EE5C(8, 2, 8, 0xA, 0xFF);
|
||||
func_8432ECA0(8, 4, 2, func_8433D070, &D_843861D0[0xF], 0x14, 4, 7, 0, 0x25, 0);
|
||||
func_8432ECA0(8, 4, 2, func_8433D224, &D_843861D0[0xF], 0x14, 4, 7, 0, 0x25, 0);
|
||||
func_8432ECA0(8, 4, 2, func_8433D560, &D_843861D0[0x13], 0x14, 4, 7, 0, 0x25, 0);
|
||||
func_8432ECA0(8, 4, 2, func_8433D3B0, &D_843861D0[0x13], 0x14, 4, 7, 0, 0x25, 0);
|
||||
}
|
||||
|
||||
void func_8433DECC(void) {
|
||||
func_8432EE5C(0x2C, 4, 0x10, 0xA, 0xFF);
|
||||
func_8432ED0C(0x30, 0x20, 0xA);
|
||||
func_8432ECA0(0, 8, 5, func_8433D3B0, &D_843861D0[0x12], 8, 3, 3, 0, 0x25, 0);
|
||||
func_8432ECA0(0, 4, 2, func_8433D070, &D_843861D0[0xF], 0x14, 4, 3, 0, 0x25, 0);
|
||||
func_8432ECA0(0, 4, 2, func_8433D224, &D_843861D0[0xF], 0x14, 4, 3, 0, 0x25, 0);
|
||||
}
|
||||
|
||||
void func_8433DFF4(void) {
|
||||
func_8432EE5C(0, 4, 8, 0xA, 0xC8);
|
||||
func_8432ED0C(0x30, 0x20, 0xA);
|
||||
func_8432ECA0(0, 8, 5, func_8433D3B0, &D_843861D0[0x12], 8, 3, 3, 0, 0x25, 0);
|
||||
func_8432ECA0(0, 4, 2, func_8433D070, &D_843861D0[0xF], 0x14, 4, 3, 0, 0x25, 0);
|
||||
func_8432ECA0(0, 4, 2, func_8433D224, &D_843861D0[0xF], 0x14, 4, 3, 0, 0x25, 0);
|
||||
func_8434E6F4();
|
||||
}
|
||||
|
||||
void func_8433E124(void) {
|
||||
func_8432F8E8(0x64, 1);
|
||||
func_8432ED0C(0, 0x10, 3);
|
||||
func_8432ECA0(0, 8, 3, func_8433D6EC, &D_843861D0[0x14], 2, 1, 2, 0, 0x25, 0);
|
||||
func_8432ECA0(0, 5, 5, func_8433D6EC, &D_843861D0[0x13], 2, 1, 2, 0, 0x25, 0);
|
||||
func_8432EB2C(0x23);
|
||||
func_8432EDE8(8, 4, 8, 0xA);
|
||||
func_8432ECA0(0, 4, 2, func_8433D560, &D_843861D0[0x13], 0x14, 4, 2, 0, 0x25, 0);
|
||||
func_8432ECA0(0, 5, 2, func_8433D3B0, &D_843861D0[0x13], 0x14, 4, 2, 0, 0x25, 0);
|
||||
func_8432ECA0(0, 6, 2, func_8433D070, &D_843861D0[0xF], 0x14, 2, 1, 0, 0x25, 0);
|
||||
func_8432ECA0(0, 4, 2, func_8433D224, &D_843861D0[0xF], 0x14, 2, 1, 0, 0x25, 0);
|
||||
}
|
||||
|
||||
void func_8433E33C(void) {
|
||||
func_8432EDE8(0x22, 4, 0x10, 0xA);
|
||||
func_8432ED0C(0, 0x20, 3);
|
||||
func_8432ED0C(0x30, 0x20, 0xA);
|
||||
func_8432ECA0(0, 0xA, 2, func_8433DA54, &D_843861D0[0x10], 0xC, 1, 3, 0, 0x25, 0);
|
||||
func_8432ECA0(0, 5, 3, func_8433DBDC, &D_843861D0[0x10], 0xC, 2, 3, 0, 0x25, 0);
|
||||
func_8432ECA0(0, 8, 2, func_8433D6EC, &D_843861D0[0x13], 0xC, 3, 3, 0, 0x25, 0);
|
||||
}
|
||||
|
||||
void func_8433E46C(void) {
|
||||
func_8432ECA0(0, 4, 5, func_8433CCFC, &D_843861D0[0x11], 8, 4, 0x10, D_843902E2, 0x25, 0);
|
||||
func_8432ECA0(0, 1, 0x24, func_8435375C, &D_843861D0[0x15], 0, 1, 0x11, D_843902E2, 0, 0);
|
||||
}
|
||||
|
||||
void func_8433E524(void) {
|
||||
func_8432ECA0(8, 4, 2, func_8433D560, &D_843861D0[0x13], 0x14, 4, 7, 0, 0x2C, 0);
|
||||
func_8432ECA0(8, 4, 2, func_8433D3B0, &D_843861D0[0x13], 0x14, 3, 7, 0, 0xF, 0);
|
||||
func_8432EC28(8, func_8433D070, &D_843861D0[0xF], 0x14, 1, 7, 0, 0x2C, 0);
|
||||
func_8432EC28(8, func_8433D224, &D_843861D0[0xF], 0x14, 1, 7, 0, 0xF, 0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,49 +1,473 @@
|
|||
#include "global.h"
|
||||
#include "fragment62.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_328F10/func_8433E650.s")
|
||||
void func_8433E650(unk_D_8140E720* arg0) {
|
||||
Vec3s sp28;
|
||||
s16 sp26 = func_8140C058(arg0);
|
||||
s16 sp24 = func_8140C038(arg0);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_328F10/func_8433E758.s")
|
||||
func_81408CA0(arg0, 2.5f);
|
||||
func_8140B938(arg0, 0.065789476f);
|
||||
func_8140AD8C(arg0, 0.0f);
|
||||
sp28.x = func_81400B00(0x5000);
|
||||
sp28.y = sp24 * (0x10000 / arg0->unk_AA);
|
||||
sp28.z = 0;
|
||||
func_8140A4F0(arg0, sp28);
|
||||
func_8140D530(arg0, sp26);
|
||||
func_8140BC20(arg0, 0x80);
|
||||
func_81408348(arg0);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_328F10/func_8433E840.s")
|
||||
void func_8433E758(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_8433E650(arg0);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_328F10/func_8433E8A8.s")
|
||||
case 2:
|
||||
if (func_8140826C(arg0, func_8140C038(arg0)) != 0) {
|
||||
func_81408328(arg0);
|
||||
}
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_328F10/func_8433E950.s")
|
||||
case 3:
|
||||
func_8140B98C(arg0, 1.3157895f, 0.16447368f);
|
||||
func_8140BDD0(arg0);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_328F10/func_8433EA04.s")
|
||||
case 4:
|
||||
func_8140BC5C(arg0, 0, 0x10);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_328F10/func_8433EB0C.s")
|
||||
case 5:
|
||||
func_81408158(arg0);
|
||||
break;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_328F10/func_8433EB9C.s")
|
||||
func_8140A594(arg0, 0x400);
|
||||
func_81409D0C(arg0);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_328F10/func_8433EC40.s")
|
||||
void func_8433E840(unk_D_8140E720* arg0) {
|
||||
s16 sp26 = func_8140C058(arg0);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_328F10/func_8433ED3C.s")
|
||||
func_8140B938(arg0, 0.65789473f);
|
||||
func_8140D5A0(arg0, sp26);
|
||||
func_814083E8(arg0, 2);
|
||||
func_8140BC20(arg0, 0xC8);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_328F10/func_8433EE10.s")
|
||||
void func_8433E8A8(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_8433E840(arg0);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_328F10/func_8433F06C.s")
|
||||
case 2:
|
||||
func_8140B98C(arg0, 6.5789475f, 0.32894737f);
|
||||
func_8140826C(arg0, 0xF);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_328F10/func_8433F208.s")
|
||||
case 3:
|
||||
func_8140BDD0(arg0);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_328F10/func_8433F270.s")
|
||||
case 4:
|
||||
func_8140BC5C(arg0, 0, 0x20);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_328F10/func_8433F3B4.s")
|
||||
case 5:
|
||||
func_81408158(arg0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_328F10/func_8433F414.s")
|
||||
void func_8433E950(unk_D_8140E720* arg0) {
|
||||
s16 sp2E = func_8140C058(arg0);
|
||||
s16 sp2C = func_8140C038(arg0);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_328F10/func_8433F4CC.s")
|
||||
func_8140B938(arg0, 0.05f);
|
||||
func_8140A270(arg0, func_81400A78(0x10000), func_81400A78(0x10000), 0);
|
||||
func_8140AD8C(arg0, 1.2f);
|
||||
func_8140D5A0(arg0, sp2E);
|
||||
func_8140BCA8(arg0, sp2C * 1);
|
||||
func_81408348(arg0);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_328F10/func_8433F4EC.s")
|
||||
void func_8433EA04(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_8433E950(arg0);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_328F10/func_8433F5B4.s")
|
||||
case 2:
|
||||
if (func_8140BDD0(arg0) != 0) {
|
||||
func_81408328(arg0);
|
||||
}
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_328F10/func_8433F5D4.s")
|
||||
case 3:
|
||||
if (func_8140B98C(arg0, 0.15f, 0.025f) != 0) {
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_328F10/func_8433F758.s")
|
||||
case 4:
|
||||
if (func_8140B98C(arg0, 0.0f, 0.04f) != 0) {
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_328F10/func_8433F974.s")
|
||||
case 5:
|
||||
func_81408158(arg0);
|
||||
break;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_328F10/func_8433FAF8.s")
|
||||
func_8140ADBC(arg0, 0.2, 0.2f);
|
||||
func_81409D0C(arg0);
|
||||
func_81408E90(arg0, -1.0f);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_328F10/func_8433FD30.s")
|
||||
void func_8433EB0C(unk_D_8140E720* arg0) {
|
||||
UNUSED s16 pad;
|
||||
s16 sp2C;
|
||||
|
||||
func_8140C038(arg0);
|
||||
sp2C = func_8140C058(arg0);
|
||||
func_8140B938(arg0, 0.175f);
|
||||
func_8140A270(arg0, func_81400A78(0x10000), func_81400A78(0x10000), 0);
|
||||
func_8140D5A0(arg0, sp2C);
|
||||
func_8140BC20(arg0, 0x80);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_8433EB9C(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_8433EB0C(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_8140B98C(arg0, 0.1f, 0.01f);
|
||||
func_8140BC2C(arg0, 0, 8);
|
||||
func_81409D0C(arg0);
|
||||
func_8140BDD0(arg0);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_81408158(arg0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void func_8433EC40(unk_D_8140E720* arg0) {
|
||||
s16 sp2E;
|
||||
s16 sp2C;
|
||||
s16 temp_v0;
|
||||
Vec3s sp24;
|
||||
|
||||
temp_v0 = func_8140C038(arg0);
|
||||
sp2E = temp_v0 / 8;
|
||||
sp2C = temp_v0 % 8;
|
||||
|
||||
func_8140B938(arg0, 0.5f);
|
||||
sp24.x = 0x6000 - (sp2E * 0xC00);
|
||||
sp24.y = (sp2C << 0xC) + 0xB000;
|
||||
sp24.z = 0;
|
||||
func_8140A4F0(arg0, sp24);
|
||||
func_8140BAC8(arg0, 0xC8, 0xFF, 0xFF);
|
||||
func_8140BC20(arg0, 0x60);
|
||||
func_8140BCA8(arg0, sp2E);
|
||||
func_81408348(arg0);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_8433ED3C(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_8433EC40(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if (func_8140BDD0(arg0) != 0) {
|
||||
func_8140BCA8(arg0, 0xA);
|
||||
func_81408328(arg0);
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_8140A594(arg0, 0x200);
|
||||
func_8140B98C(arg0, 2.0f, 0.01f);
|
||||
func_8140BDD0(arg0);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
func_8140BC5C(arg0, 0, 0x10);
|
||||
break;
|
||||
|
||||
case 5:
|
||||
func_81408150(arg0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void func_8433EE10(unk_D_8140E720* arg0) {
|
||||
s16 sp36;
|
||||
s16 sp34;
|
||||
s16 sp32 = func_8140C038(arg0);
|
||||
s16 sp30 = func_8140C058(arg0);
|
||||
s16 sp2E = func_8140C040(arg0);
|
||||
|
||||
func_8140A270(arg0, func_81400A78(0x10000), func_81400A78(0x10000), 0);
|
||||
func_8140B938(arg0, 0.01f);
|
||||
func_8140D5A0(arg0, sp30);
|
||||
|
||||
switch (sp2E) {
|
||||
case 0:
|
||||
func_8140BF4C(arg0, func_81400ADC(0x14, 0x14));
|
||||
func_8140BFEC(arg0, 0);
|
||||
sp36 = func_81400B4C(0x200, 0x200);
|
||||
sp34 = func_81400B4C(0x200, 0x200);
|
||||
func_8140BE14(arg0, 8);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
func_8140BF4C(arg0, func_81400ADC(0x28, 0x14));
|
||||
func_8140BFEC(arg0, 1);
|
||||
sp36 = func_81400B4C(0x200, 0x200);
|
||||
sp34 = func_81400B4C(0x200, 0x200);
|
||||
func_8140BE14(arg0, 0x10);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_8140BF4C(arg0, func_81400ADC(0x1E, 0x14));
|
||||
func_8140BFEC(arg0, 2);
|
||||
sp36 = func_81400B4C(0x200, 0x200);
|
||||
sp34 = func_81400B4C(0x200, 0x200);
|
||||
func_8140BE14(arg0, 0xA);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_8140BF4C(arg0, 0x1E - sp32);
|
||||
func_8140BFEC(arg0, 2);
|
||||
sp36 = func_81400B4C(0x200, 0x200);
|
||||
sp34 = func_81400B4C(0x200, 0x200);
|
||||
func_8140BE14(arg0, 0xA);
|
||||
break;
|
||||
}
|
||||
|
||||
func_8140A3C4(arg0, sp36);
|
||||
func_8140A3D8(arg0, sp34);
|
||||
func_8140BCA8(arg0, sp32 * 2);
|
||||
func_81408348(arg0);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_8433F06C(unk_D_8140E720* arg0) {
|
||||
func_8140C040(arg0);
|
||||
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_8433EE10(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if (func_8140BDD0(arg0) != 0) {
|
||||
func_81408328(arg0);
|
||||
func_81408A68(arg0);
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
if (func_8140B9D0(arg0, 0.3f, 0.05f) != 0) {}
|
||||
break;
|
||||
|
||||
case 4:
|
||||
if (func_8140826C(arg0, arg0->unk_A8) != 0) {
|
||||
func_81408A68(arg0);
|
||||
}
|
||||
break;
|
||||
|
||||
case 5:
|
||||
func_8140B9D0(arg0, 0.0f, 0.05f);
|
||||
break;
|
||||
|
||||
case 6:
|
||||
func_81408150(arg0);
|
||||
break;
|
||||
}
|
||||
|
||||
if (func_81408368(arg0) != 0) {
|
||||
switch (arg0->unk_B8) {
|
||||
case 1:
|
||||
func_8140A4B4(arg0);
|
||||
func_81408CD0(arg0, arg0->unk_AE);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_8140A4B4(arg0);
|
||||
func_8140BF60(arg0, 0, arg0->unk_B0);
|
||||
func_81408CD0(arg0, arg0->unk_AE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
func_81408E90(arg0, 10.0f);
|
||||
}
|
||||
|
||||
void func_8433F208(unk_D_8140E720* arg0) {
|
||||
s16 sp26 = func_8140C058(arg0);
|
||||
|
||||
func_8140B938(arg0, 0.2f);
|
||||
func_81408E90(arg0, 5.0f);
|
||||
func_8140D5A0(arg0, sp26);
|
||||
func_8140BC20(arg0, 0x40);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_8433F270(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_8433F208(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_8140B98C(arg0, 4.0f, 0.1f);
|
||||
func_8140BC2C(arg0, 0xC8, 8);
|
||||
func_8140BDD0(arg0);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_8140B98C(arg0, 0.25f, 0.5f);
|
||||
func_8432D8E8(arg0, func_8435226C, &D_843861D0[0x42], 6, 0x18, 7);
|
||||
if (func_8140826C(arg0, 6) != 0) {
|
||||
func_8140BF04(arg0, 9);
|
||||
}
|
||||
break;
|
||||
|
||||
case 4:
|
||||
func_814099E0(arg0, 15.0f);
|
||||
func_8140826C(arg0, 0xA);
|
||||
func_8432D8E8(arg0, func_8435226C, &D_843861D0[0x42], 6, 0x18, 7);
|
||||
break;
|
||||
|
||||
case 5:
|
||||
func_81408158(arg0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
s16 func_8433F3B4(void) {
|
||||
s16 var_v1 = 0x3B;
|
||||
|
||||
switch (D_800AE540.unk_0000) {
|
||||
case 0:
|
||||
var_v1 = 0xD;
|
||||
break;
|
||||
|
||||
case 1:
|
||||
var_v1 = 0x3C;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
var_v1 = 0x3C;
|
||||
break;
|
||||
|
||||
case 3:
|
||||
var_v1 = 3;
|
||||
break;
|
||||
|
||||
case 4:
|
||||
var_v1 = 3;
|
||||
break;
|
||||
|
||||
case 5:
|
||||
var_v1 = 3;
|
||||
break;
|
||||
}
|
||||
return var_v1;
|
||||
}
|
||||
|
||||
void func_8433F414(void) {
|
||||
s16 sp3E = func_8433F3B4();
|
||||
|
||||
func_8432ECA0(0, 1, 0x1E, func_8433EB9C, &D_843861D0[0x22], 0x10, 1, 0x1E, 0, sp3E, 0);
|
||||
func_8432ECA0(0, 1, 0x1E, func_8433EA04, &D_843861D0[0x42], 0x10, 2, 0x1E, 0, sp3E, 0);
|
||||
}
|
||||
|
||||
void func_8433F4CC(void) {
|
||||
func_8433F414();
|
||||
}
|
||||
|
||||
void func_8433F4EC(void) {
|
||||
func_8432ECA0(0xB, 1, 5, func_8435226C, &D_843861D0[0x42], 0, 5, 0x1E, 0, func_8433F3B4(), 8);
|
||||
func_8432EFB4(0xA, 2, 0x16, 7, 0xFF);
|
||||
func_8432EB20(0x10);
|
||||
func_8432EC28(0, func_8433ED3C, &D_843861D0[0x1C], 0, 0x40, 0x1E, 0, 0xA, 0);
|
||||
}
|
||||
|
||||
void func_8433F5B4(void) {
|
||||
func_8433F4EC();
|
||||
}
|
||||
|
||||
void func_8433F5D4(void) {
|
||||
UNUSED s32 pad;
|
||||
|
||||
func_8432EDE8(0, 0, 0x10, 7);
|
||||
func_8432F2C8(0, 0xA, 0xFF, 0xFF, 0xFF);
|
||||
func_8432F7A0(0, 0xFF, 0xFF, 0xFF);
|
||||
func_8432F2C8(0x14, 0xA, 0xFF, 0, 8);
|
||||
func_8432EC28(0, func_8433E8A8, &D_843861D0[0x21], 4, 1, 2, 0, 0x50, 0);
|
||||
func_8432EC28(0, func_8433E8A8, &D_843861D0[0x23], 4, 1, 2, 0, 0x50, 0);
|
||||
func_8432EC28(0, func_8433E8A8, &D_843861D0[0x17], 4, 1, 2, 0, 0x50, 0);
|
||||
func_8432ECA0(0, 1, 4, func_8433E758, &D_843861D0[0x1C], 5, 0x10, 7, 0, 0x39, 0);
|
||||
func_8432ED0C(0x32, 0x10, 0xA);
|
||||
}
|
||||
|
||||
void func_8433F758(void) {
|
||||
func_8432ED0C(0, 8, 6);
|
||||
func_8432ECA0(0, 4, 5, func_8433F06C, &D_843861D0[0x44], 0, 4, 9, 0, 0x3C, 1);
|
||||
func_8432ECA0(0, 4, 5, func_8433F06C, &D_843861D0[0x44], 0, 4, 9, 0, 0x3C, 1);
|
||||
func_8432ECA0(0x18, 1, 4, func_8433F06C, &D_843861D0[0x44], 0, 8, 9, 0, 0x3C, 2);
|
||||
func_8432ECA0(0x1E, 1, 8, func_8433F06C, &D_843861D0[0x44], 0, 8, 9, 0, 0x3C, 3);
|
||||
func_8432ECA0(0x1E, 1, 8, func_8433F06C, &D_843861D0[0x44], 0, 8, 9, 0, 0x3C, 3);
|
||||
func_8432F2C8(0x26, 0xA, 0, 0xFF, 4);
|
||||
func_8432EC28(0x2D, func_8433F270, &D_843861D0[0x38], 0x1A, 1, 2, 0, 0x3C, 0);
|
||||
func_8432F7A0(0x48, 0x40, 0, 0xFF);
|
||||
func_8432ED0C(0x55, 6, 0xA);
|
||||
}
|
||||
|
||||
void func_8433F974(void) {
|
||||
UNUSED s32 pad;
|
||||
|
||||
func_8432ED0C(0, 8, 6);
|
||||
func_8432ECA0(0, 1, 4, func_8433F06C, &D_843861D0[0x44], 0, 8, 9, 0, 0x3C, 2);
|
||||
func_8432ECA0(6, 1, 8, func_8433F06C, &D_843861D0[0x44], 0, 8, 9, 0, 0x3C, 3);
|
||||
func_8432ECA0(6, 1, 8, func_8433F06C, &D_843861D0[0x44], 0, 8, 9, 0, 0x3C, 3);
|
||||
func_8432F2C8(0xE, 0xA, 0, 0xFF, 4);
|
||||
func_8432EC28(0x14, func_8433F270, &D_843861D0[0x38], 0x1A, 1, 2, 0, 0x3C, 0);
|
||||
func_8432F7A0(0x2D, 0x40, 0, 0xFF);
|
||||
func_8432ED0C(0x32, 6, 0xA);
|
||||
}
|
||||
|
||||
void func_8433FAF8(void) {
|
||||
func_8432ED0C(0, 8, 6);
|
||||
func_8432ECA0(0, 4, 5, func_8433F06C, &D_843861D0[0x44], 0, 4, 9, 0, 0x3C, 1);
|
||||
func_8432ECA0(0, 4, 5, func_8433F06C, &D_843861D0[0x44], 0, 4, 9, 0, 0x3C, 1);
|
||||
func_8432ECA0(0x18, 1, 4, func_8433F06C, &D_843861D0[0x44], 0, 8, 9, 0, 0x3C, 2);
|
||||
func_8432ECA0(0x1E, 1, 8, func_8433F06C, &D_843861D0[0x44], 0, 8, 9, 0, 0x3C, 3);
|
||||
func_8432ECA0(0x1E, 1, 8, func_8433F06C, &D_843861D0[0x44], 0, 8, 9, 0, 0x3C, 3);
|
||||
func_8432F2C8(0x26, 0xA, 0, 0xFF, 8);
|
||||
func_8432EC28(0x28, func_8433F270, &D_843861D0[0x38], 0x18, 1, 2, 0, 0x3C, 0);
|
||||
func_8432ED74(0x3C, 0, 0x40, 0xA, 0xFF);
|
||||
func_8432F7A0(0x40, 0xFF, 0, 0xFF);
|
||||
func_8432EB20(0x50);
|
||||
func_8433F5D4();
|
||||
}
|
||||
|
||||
void func_8433FD30(void) {
|
||||
func_8432ED0C(0, 0xFF, 0);
|
||||
func_8432F2C8(0x14, 0, 0, 0xFF, 0x10);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,27 +1,338 @@
|
|||
#include "global.h"
|
||||
#include "fragment62.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_32A640/func_8433FD80.s")
|
||||
void func_8433FD80(unk_D_8140E720* arg0) {
|
||||
func_8140BAC8(arg0, 0xFF, 0xFF, 0xFF);
|
||||
func_8140BC20(arg0, 0xFF);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_32A640/func_8433FDC0.s")
|
||||
void func_8433FDC0(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 0:
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_32A640/func_8433FE80.s")
|
||||
case 1:
|
||||
func_8433FD80(arg0);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_32A640/func_8433FF44.s")
|
||||
case 2:
|
||||
func_8140B98C(arg0, 3.0f, 0.025f);
|
||||
func_8140826C(arg0, 0x12C);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_32A640/func_843400BC.s")
|
||||
case 3:
|
||||
if (func_8140BC2C(arg0, 0x20, 0x20) != 0) {
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_32A640/func_8434016C.s")
|
||||
case 4:
|
||||
func_81408158(arg0);
|
||||
break;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_32A640/func_84340230.s")
|
||||
func_8140B7C8(arg0, 32.0f, 0x400);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_32A640/func_843403D8.s")
|
||||
void func_8433FE80(unk_D_8140E720* arg0) {
|
||||
s16 sp26 = func_8140C038(arg0);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_32A640/func_84340690.s")
|
||||
func_8140B938(arg0, 0.2f);
|
||||
func_8140AF24(arg0, 1.0f);
|
||||
func_8140A2A4(arg0, func_81400A78(0x10000));
|
||||
func_8140A2CC(arg0, func_81400A78(0x10000));
|
||||
func_8140A3D8(arg0, func_81400A78(0x10000));
|
||||
func_8140AD8C(arg0, 5.0f);
|
||||
func_8140BCA8(arg0, sp26 * 4);
|
||||
func_81408348(arg0);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_32A640/func_84340940.s")
|
||||
void func_8433FF44(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_8433FE80(arg0);
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_32A640/func_84340ACC.s")
|
||||
case 2:
|
||||
if (func_8140BDD0(arg0) != 0) {
|
||||
func_81408328(arg0);
|
||||
func_81408A1C(arg0);
|
||||
}
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_32A640/func_84340CB0.s")
|
||||
case 3:
|
||||
if (func_8140826C(arg0, 0x32) != 0) {
|
||||
func_81408A68(arg0);
|
||||
}
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_32A640/func_84340D14.s")
|
||||
case 4:
|
||||
if (func_8140826C(arg0, 0x14) != 0) {}
|
||||
break;
|
||||
|
||||
case 5:
|
||||
func_81408158(arg0);
|
||||
break;
|
||||
}
|
||||
|
||||
switch (arg0->unk_B8) {
|
||||
case 1:
|
||||
func_8140ADBC(arg0, 50.0f, 0.5f);
|
||||
func_814099E0(arg0, 1.0f);
|
||||
func_8140B7C8(arg0, arg0->unk_74, 0x1000);
|
||||
func_8140A578(arg0, 0x2000);
|
||||
func_8140A5B0(arg0, 0x3000);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_8140ADBC(arg0, 0.0f, 1.0f);
|
||||
func_814099E0(arg0, -2.0f);
|
||||
func_8140B7C8(arg0, arg0->unk_74, 0x1000);
|
||||
func_8140A578(arg0, 0x2000);
|
||||
func_8140A5B0(arg0, 0x3000);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void func_843400BC(unk_D_8140E720* arg0) {
|
||||
s16 sp2E = func_8140C038(arg0);
|
||||
|
||||
func_8140B938(arg0, 0.5f);
|
||||
func_8140AD8C(arg0, 10.0f);
|
||||
func_8140A52C(arg0, func_81400B00(0x1000), func_81400B00(0x1000), 0);
|
||||
func_8140BCA8(arg0, sp2E * 4);
|
||||
func_8140D530(arg0, 0x24);
|
||||
func_8140D568(arg0, 0x24);
|
||||
func_81408348(arg0);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_8434016C(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_843400BC(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if (func_8140BDD0(arg0) != 0) {
|
||||
func_81408328(arg0);
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_8140826C(arg0, 0x46);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
func_81408158(arg0);
|
||||
break;
|
||||
}
|
||||
|
||||
if (func_81408368(arg0) != 0) {
|
||||
func_81409D0C(arg0);
|
||||
func_8140A5B0(arg0, 0x2000);
|
||||
}
|
||||
}
|
||||
|
||||
void func_84340230(unk_D_8140E720* arg0) {
|
||||
s16 sp26 = func_8140C038(arg0);
|
||||
|
||||
func_8140B938(arg0, 0.12f);
|
||||
func_8140AF24(arg0, (func_81400A78(0x14) * 0.02f) + 0.25f);
|
||||
func_8140A2A4(arg0, func_81400A78(0x10000));
|
||||
func_8140A2CC(arg0, func_81400A78(0x10000));
|
||||
func_8140AD8C(arg0, 5.0f);
|
||||
func_8140BF4C(arg0, func_81400A78(0x800) + 0xC00);
|
||||
func_8140A3C4(arg0, func_81400B4C(0x800, 0x300));
|
||||
func_8140BFEC(arg0, func_81400B4C(0x800, 0x300));
|
||||
func_8140A3D8(arg0, func_81400A78(0x10000));
|
||||
func_8140A3EC(arg0, func_81400B4C(0x800, 0x300));
|
||||
func_81408E90(arg0, func_81400A78(0x1E));
|
||||
func_8140BCA8(arg0, sp26 * 2);
|
||||
func_81408348(arg0);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_843403D8(unk_D_8140E720* arg0) {
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_84340230(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if (func_8140BDD0(arg0) != 0) {
|
||||
func_81408328(arg0);
|
||||
func_81408A1C(arg0);
|
||||
func_8140BCA8(arg0, func_81400A78(0xA) + 0x1E);
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
if (func_8140BDD0(arg0) != 0) {
|
||||
func_8140BCA8(arg0, 8);
|
||||
func_81408A68(arg0);
|
||||
}
|
||||
break;
|
||||
|
||||
case 4:
|
||||
if (func_8140BDD0(arg0) != 0) {
|
||||
func_8140A3C4(arg0, func_81400B4C(0x1000, 0x600));
|
||||
func_8140BFEC(arg0, func_81400B4C(0x400, 0x400));
|
||||
func_8140A3EC(arg0, func_81400B4C(0x1000, 0x600));
|
||||
arg0->unk_38.x += arg0->unk_50.x;
|
||||
arg0->unk_50.x = 0;
|
||||
arg0->unk_38.z += arg0->unk_50.z;
|
||||
arg0->unk_50.z = 0;
|
||||
func_81408A68(arg0);
|
||||
arg0->unk_7C.y = -((func_81400A78(8) * 0.1f) + 0.5f);
|
||||
}
|
||||
break;
|
||||
|
||||
case 5:
|
||||
func_8140826C(arg0, 0x46);
|
||||
break;
|
||||
|
||||
case 6:
|
||||
func_81408150(arg0);
|
||||
break;
|
||||
}
|
||||
|
||||
switch (arg0->unk_B8) {
|
||||
case 1:
|
||||
func_8140ADBC(arg0, 20.0f, 0.5f);
|
||||
func_814099E0(arg0, arg0->unk_7C.y);
|
||||
func_8140B7C8(arg0, arg0->unk_74, arg0->unk_AE);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
func_8140BF60(arg0, 0, 0x200);
|
||||
func_814099E0(arg0, arg0->unk_7C.y);
|
||||
func_8140B7C8(arg0, arg0->unk_74, arg0->unk_AE);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_814099E0(arg0, arg0->unk_7C.y);
|
||||
func_8140B7C8(arg0, 5.0f, 0x400);
|
||||
break;
|
||||
}
|
||||
|
||||
if (func_81408368(arg0) != 0) {
|
||||
func_8140A4B4(arg0);
|
||||
func_8140A594(arg0, arg0->unk_B0);
|
||||
func_8140A4DC(arg0);
|
||||
if (arg0->unk_2C.y < 0.0f) {
|
||||
func_81408150(arg0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_84340690(unk_D_8140E720* arg0) {
|
||||
s16 sp26 = func_8140C038(arg0);
|
||||
s16 sp24 = func_8140C040(arg0);
|
||||
|
||||
func_8140AF24(arg0, 0.5f);
|
||||
|
||||
switch (sp24) {
|
||||
case 0:
|
||||
func_8140B938(arg0, 0.12f);
|
||||
arg0->unk_5C.y = -((func_81400A78(0xA) * 0.1f) + 0.5f);
|
||||
func_81408E90(arg0, func_81400A78(0x28) + 0x1E);
|
||||
func_81409404(arg0, 0x1E, 0);
|
||||
func_81409514(arg0, 0x1E, 0);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
func_8140B938(arg0, 0.2f);
|
||||
arg0->unk_5C.y = -((func_81400A78(4) * 0.1f) + 0.2f);
|
||||
func_81408E90(arg0, func_81400B00(0x14) + 0x1E);
|
||||
func_81409404(arg0, 0xF, 5);
|
||||
func_81409514(arg0, 0x14, 5);
|
||||
break;
|
||||
}
|
||||
|
||||
func_8140A2A4(arg0, func_81400A78(0x10000));
|
||||
func_8140A2CC(arg0, func_81400A78(0x10000));
|
||||
func_8140AD8C(arg0, func_81400A78(0x14) + 15.0f);
|
||||
func_8140BF4C(arg0, func_81400A78(0x300) + 0x400);
|
||||
func_8140A3D8(arg0, func_81400A78(0x10000));
|
||||
func_8140A3C4(arg0, func_81400B4C(0x800, 0x400));
|
||||
func_8140A3EC(arg0, func_81400B4C(0x800, 0x400));
|
||||
func_8140BCA8(arg0, sp26 * 2);
|
||||
func_81408348(arg0);
|
||||
func_814081BC(arg0);
|
||||
}
|
||||
|
||||
void func_84340940(unk_D_8140E720* arg0) {
|
||||
s16 sp26 = func_8140C040(arg0);
|
||||
|
||||
switch (arg0->unk_B2) {
|
||||
case 1:
|
||||
func_84340690(arg0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if (func_8140BDD0(arg0) != 0) {
|
||||
func_81408328(arg0);
|
||||
func_81408A1C(arg0);
|
||||
switch (sp26) {
|
||||
case 0:
|
||||
func_8140BCA8(arg0, func_81400A78(0x1E) + 0x32);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
func_8140BCA8(arg0, func_81400A78(0x1E) + 0x64);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
func_8140BDD0(arg0);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
func_81408150(arg0);
|
||||
break;
|
||||
}
|
||||
|
||||
if (arg0->unk_B8 == 1) {
|
||||
func_814099E0(arg0, arg0->unk_5C.y);
|
||||
func_8140B7C8(arg0, 5.0f, 0x400);
|
||||
}
|
||||
|
||||
if (func_81408368(arg0) != 0) {
|
||||
func_8140A4B4(arg0);
|
||||
func_8140A4C8(arg0);
|
||||
func_8140A4DC(arg0);
|
||||
if (arg0->unk_2C.y < 0.0f) {
|
||||
func_81408150(arg0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_84340AC4(void) {
|
||||
}
|
||||
|
||||
void func_84340ACC(void) {
|
||||
func_8432F8E8(0x80, 1);
|
||||
func_8432EC28(0, func_8433FF44, &D_843861D0[0x2B], 0, 0x10, 0xA, 0, 0, 0);
|
||||
func_8432EC28(2, func_8433FF44, &D_843861D0[0x2B], 0, 0x10, 0xA, 0, 0, 0);
|
||||
func_8432EC28(4, func_8433FF44, &D_843861D0[0x2B], 0, 0x10, 0xA, 0, 0, 0);
|
||||
func_8432EC28(8, func_8433FF44, &D_843861D0[0x2B], 0, 8, 0xA, 0, 0, 0);
|
||||
func_8432EB2C(0x3A);
|
||||
func_8432EC28(0, func_8434016C, &D_843861D0[0x2E], 0, 0x10, 2, 0, 0, 0);
|
||||
func_8432EC28(0, func_8434016C, &D_843861D0[0x2E], 0, 0x10, 2, 0, 0, 0);
|
||||
func_8432EC28(0, func_8434016C, &D_843861D0[0x2E], 0, 0x10, 2, 0, 0, 0);
|
||||
func_8432EC28(0, func_8434016C, &D_843861D0[0x2E], 0, 0x10, 2, 0, 0, 0);
|
||||
}
|
||||
|
||||
void func_84340CB0(void) {
|
||||
func_8432ECA0(0, 2, 0x14, func_843403D8, &D_843861D0[0x2C], 0, 4, 0xE, 0, 0, 0);
|
||||
func_84357BA8();
|
||||
}
|
||||
|
||||
void func_84340D14(void) {
|
||||
func_8432ECA0(0, 2, 5, func_84340940, &D_843861D0[0x2D], 0, 1, 0xE, 0, 0, 1);
|
||||
func_8432ECA0(0, 4, 5, func_84340940, &D_843861D0[0x2D], 0, 1, 0xE, 0, 0, 1);
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
3143
src/fragments/62/fragment62_339CA0.c
Normal file
3143
src/fragments/62/fragment62_339CA0.c
Normal file
File diff suppressed because it is too large
Load Diff
|
|
@ -1,7 +1,43 @@
|
|||
#include "global.h"
|
||||
#include "fragment62.h"
|
||||
#include "src/6A40.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3438B0/func_84358FF0.s")
|
||||
void func_84358FF0(void) {
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3438B0/func_84359000.s")
|
||||
void func_84358FF8(void) {
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3438B0/func_843590E0.s")
|
||||
void func_84359000(u8 arg0, u8 arg1, u8 arg2, u8 arg3) {
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DDF8);
|
||||
|
||||
func_814059C8(arg0, arg1, arg2, arg3);
|
||||
|
||||
gSPTextureRectangle(gDisplayListHead++, 0, 0, 0x04FC, 0x03BC, G_TX_RENDERTILE, 0, 0, 0x1000, 0x0400);
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DDD8);
|
||||
}
|
||||
|
||||
void func_843590E0(unk_D_86002F34_00C* arg0) {
|
||||
func_8432CF74(arg0);
|
||||
D_8140E620 = func_80005F5C(sizeof(unk_D_8140E620));
|
||||
D_8140E624 = 0;
|
||||
D_843902A4 += 1;
|
||||
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DB30);
|
||||
|
||||
func_814059C8(D_84390382, D_84390384, D_84390386, D_84390388);
|
||||
func_81405A90(D_84390392, D_84390394, D_84390396, D_84390398);
|
||||
func_81405A20(D_8439038A, D_8439038C, D_8439038E, D_84390390);
|
||||
func_81405B00(D_8439039A, D_8439039C, D_8439039E, D_843903A0);
|
||||
func_84300184(D_8439037A, D_8439037C, D_8439037E);
|
||||
func_8140C204(arg0);
|
||||
guOrtho(&D_8140E620->unk_5B80, 0.0f, 320.0f, 240.0f, 0.0f, -2.0f, 2.0f, 1.0f);
|
||||
|
||||
gSPMatrix(gDisplayListHead++, (u32)&D_8140E620->unk_5B80 & 0x1FFFFFFF,
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DD78);
|
||||
|
||||
func_81402410();
|
||||
func_8140C2D8(arg0);
|
||||
|
||||
gSPDisplayList(gDisplayListHead++, D_8140DAE0);
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
1145
src/fragments/62/fragment62_347330.c
Normal file
1145
src/fragments/62/fragment62_347330.c
Normal file
File diff suppressed because it is too large
Load Diff
1266
src/fragments/62/fragment62_34A420.c
Normal file
1266
src/fragments/62/fragment62_34A420.c
Normal file
File diff suppressed because it is too large
Load Diff
|
|
@ -1,13 +1,354 @@
|
|||
#include "global.h"
|
||||
#include "fragment62.h"
|
||||
#include "include/math.h"
|
||||
#include "src/30640.h"
|
||||
#include "src/6A40.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_34E1A0/func_843638E0.s")
|
||||
static unk_D_8439CA60 D_8439CA60;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_34E1A0/func_84363A5C.s")
|
||||
static Lights2 D_84389300 = gdSPDefLights2(255, 255, 255, 255, 255, 255, 30, 30, 10, 255, 255, 255, 226, 30, 10);
|
||||
static Gfx D_84389328[] = {
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCycleType(G_CYC_2CYCLE),
|
||||
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
|
||||
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH | G_CLIPPING | 0x0040F9FA),
|
||||
gsSPSetGeometryMode(G_SHADE | G_LIGHTING | G_TEXTURE_GEN | G_SHADING_SMOOTH),
|
||||
gsSPSetLights2(D_84389300),
|
||||
gsSPTexture(0x8000, 0x8000, 0, G_TX_RENDERTILE, G_ON),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA2),
|
||||
gsDPSetTexturePersp(G_TP_PERSP),
|
||||
gsDPSetTextureLUT(G_TT_NONE),
|
||||
gsDPSetTextureFilter(G_TF_BILERP),
|
||||
gsDPSetRenderMode(G_RM_PASS, G_RM_XLU_SURF2),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
static Gfx D_843893A8[] = {
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCycleType(G_CYC_1CYCLE),
|
||||
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
|
||||
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH | G_CLIPPING | 0x0040F9FA),
|
||||
gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BACK | G_LIGHTING | G_SHADING_SMOOTH),
|
||||
gsSPTexture(0x8000, 0x8000, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsDPSetTexturePersp(G_TP_PERSP),
|
||||
gsDPSetTextureDetail(G_TD_CLAMP),
|
||||
gsDPSetTextureLOD(G_TL_TILE),
|
||||
gsDPSetTextureLUT(G_TT_NONE),
|
||||
gsDPSetTextureConvert(G_TC_FILT),
|
||||
gsDPSetTextureFilter(G_TF_BILERP),
|
||||
gsDPSetColorDither(G_CD_NOISE),
|
||||
gsDPSetRenderMode(G_RM_ZB_XLU_SURF, G_RM_ZB_XLU_SURF2),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_34E1A0/func_84363FF0.s")
|
||||
void func_843638E0(s16 arg0) {
|
||||
s32 i;
|
||||
s32 j;
|
||||
s16 tmp1;
|
||||
s16 tmp2;
|
||||
s16 tmp3;
|
||||
unk_D_8439CA60_0014* var_v0 = &D_8439CA60.unk_0014[0][0];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_34E1A0/func_843640A4.s")
|
||||
D_8439CA60.unk_0000 = 0;
|
||||
D_8439CA60.unk_0002 = arg0;
|
||||
D_8439CA60.unk_0004 = 0;
|
||||
D_8439CA60.unk_0008 = 0.01f;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_34E1A0/func_84364304.s")
|
||||
for (i = 0; i < 16; i++) {
|
||||
for (j = 0; j < 16; j++) {
|
||||
tmp1 = i * 0x20;
|
||||
tmp3 = tmp1 * 0x10;
|
||||
tmp2 = j * 0x20;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_34E1A0/func_84364428.s")
|
||||
var_v0->unk_00 = (i * 9.0f) - 72.0f;
|
||||
var_v0->unk_04 = 1.0f;
|
||||
var_v0->unk_08 = (j * 7.0f) - 56.0f;
|
||||
|
||||
var_v0->unk_18 = tmp1 * 0x10;
|
||||
var_v0->unk_1A = tmp2 * 0x10;
|
||||
|
||||
var_v0++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_84363A5C(s32 arg0, s32 arg1) {
|
||||
f32 sp84;
|
||||
f32 sp80;
|
||||
f32 sp7C;
|
||||
f32 sp78;
|
||||
f32 sp74;
|
||||
f32 sp70;
|
||||
f32 sp6C;
|
||||
f32 sp68;
|
||||
f32 sp64;
|
||||
f32 sp60;
|
||||
f32 sp5C;
|
||||
f32 sp58;
|
||||
f32 sp54;
|
||||
f32 sp50;
|
||||
f32 sp4C;
|
||||
UNUSED s32 pad;
|
||||
s16 sp46;
|
||||
|
||||
sp6C = D_8439CA60.unk_0014[arg0][arg1].unk_00;
|
||||
sp68 = D_8439CA60.unk_0014[arg0][arg1].unk_04;
|
||||
sp64 = D_8439CA60.unk_0014[arg0][arg1].unk_08;
|
||||
sp84 = 0.0f;
|
||||
sp80 = 0.0f;
|
||||
sp7C = 0.0f;
|
||||
sp46 = 0;
|
||||
|
||||
if ((arg0 > 0) && (arg1 >= 1)) {
|
||||
sp60 = D_8439CA60.unk_0014[arg0 - 1][arg1].unk_00 - sp6C;
|
||||
sp5C = D_8439CA60.unk_0014[arg0 - 1][arg1].unk_04 - sp68;
|
||||
sp58 = D_8439CA60.unk_0014[arg0 - 1][arg1].unk_08 - sp64;
|
||||
func_80031B04(&sp60, &sp5C, &sp58);
|
||||
sp54 = D_8439CA60.unk_0014[arg0][arg1 - 1].unk_00 - sp6C;
|
||||
sp50 = D_8439CA60.unk_0014[arg0][arg1 - 1].unk_04 - sp68;
|
||||
sp4C = D_8439CA60.unk_0014[arg0][arg1 - 1].unk_08 - sp64;
|
||||
func_80031B04(&sp54, &sp50, &sp4C);
|
||||
func_80031A94(sp60, sp5C, sp58, sp54, sp50, sp4C, &sp78, &sp74, &sp70);
|
||||
func_80031B04(&sp78, &sp74, &sp70);
|
||||
sp84 += sp78;
|
||||
sp80 += sp74;
|
||||
sp7C += sp70;
|
||||
sp46 = 1;
|
||||
}
|
||||
|
||||
if ((0 < arg0) && (arg1 < 15)) {
|
||||
sp60 = D_8439CA60.unk_0014[arg0 - 1][arg1].unk_00 - sp6C;
|
||||
sp5C = D_8439CA60.unk_0014[arg0 - 1][arg1].unk_04 - sp68;
|
||||
sp58 = D_8439CA60.unk_0014[arg0 - 1][arg1].unk_08 - sp64;
|
||||
func_80031B04(&sp60, &sp5C, &sp58);
|
||||
sp54 = D_8439CA60.unk_0014[arg0][arg1 + 1].unk_00 - sp6C;
|
||||
sp50 = D_8439CA60.unk_0014[arg0][arg1 + 1].unk_04 - sp68;
|
||||
sp4C = D_8439CA60.unk_0014[arg0][arg1 + 1].unk_08 - sp64;
|
||||
func_80031B04(&sp54, &sp50, &sp4C);
|
||||
func_80031A94(sp60, sp5C, sp58, sp54, sp50, sp4C, &sp78, &sp74, &sp70);
|
||||
func_80031B04(&sp78, &sp74, &sp70);
|
||||
sp84 += sp78;
|
||||
sp80 += sp74;
|
||||
sp7C += sp70;
|
||||
sp46 += 1;
|
||||
}
|
||||
|
||||
if ((arg0 < 15) && (arg1 >= 1)) {
|
||||
sp60 = D_8439CA60.unk_0014[arg0 + 1][arg1].unk_00 - sp6C;
|
||||
sp5C = D_8439CA60.unk_0014[arg0 + 1][arg1].unk_04 - sp68;
|
||||
sp58 = D_8439CA60.unk_0014[arg0 + 1][arg1].unk_08 - sp64;
|
||||
func_80031B04(&sp60, &sp5C, &sp58);
|
||||
sp54 = D_8439CA60.unk_0014[arg0][arg1 - 1].unk_00 - sp6C;
|
||||
sp50 = D_8439CA60.unk_0014[arg0][arg1 - 1].unk_04 - sp68;
|
||||
sp4C = D_8439CA60.unk_0014[arg0][arg1 - 1].unk_08 - sp64;
|
||||
func_80031B04(&sp54, &sp50, &sp4C);
|
||||
func_80031A94(sp60, sp5C, sp58, sp54, sp50, sp4C, &sp78, &sp74, &sp70);
|
||||
func_80031B04(&sp78, &sp74, &sp70);
|
||||
sp84 += sp78;
|
||||
sp80 += sp74;
|
||||
sp7C += sp70;
|
||||
sp46 += 1;
|
||||
}
|
||||
|
||||
if ((arg0 < 15) && (arg1 < 15)) {
|
||||
sp60 = D_8439CA60.unk_0014[arg0 + 1][arg1].unk_00 - sp6C;
|
||||
sp5C = D_8439CA60.unk_0014[arg0 + 1][arg1].unk_04 - sp68;
|
||||
sp58 = D_8439CA60.unk_0014[arg0 + 1][arg1].unk_08 - sp64;
|
||||
func_80031B04(&sp60, &sp5C, &sp58);
|
||||
sp54 = D_8439CA60.unk_0014[arg0][arg1 + 1].unk_00 - sp6C;
|
||||
sp50 = D_8439CA60.unk_0014[arg0][arg1 + 1].unk_04 - sp68;
|
||||
sp4C = D_8439CA60.unk_0014[arg0][arg1 + 1].unk_08 - sp64;
|
||||
func_80031B04(&sp54, &sp50, &sp4C);
|
||||
func_80031A94(sp60, sp5C, sp58, sp54, sp50, sp4C, &sp78, &sp74, &sp70);
|
||||
func_80031B04(&sp78, &sp74, &sp70);
|
||||
sp84 -= sp78;
|
||||
sp80 -= sp74;
|
||||
sp7C -= sp70;
|
||||
sp46 += 1;
|
||||
}
|
||||
|
||||
if (sp46 != 0) {
|
||||
if ((sp84 == 0.0) && (sp80 == 0.0) && (sp7C == 0.0)) {
|
||||
sp80 = 1.0f;
|
||||
} else {
|
||||
func_80031B04(&sp84, &sp80, &sp7C);
|
||||
}
|
||||
D_8439CA60.unk_0014[arg0][arg1].unk_0C = sp84;
|
||||
D_8439CA60.unk_0014[arg0][arg1].unk_10 = sp80;
|
||||
D_8439CA60.unk_0014[arg0][arg1].unk_14 = sp7C;
|
||||
}
|
||||
}
|
||||
|
||||
void func_84363FF0(unk_D_8439CA60_0014* arg0, Vtx* arg1) {
|
||||
f32 r;
|
||||
f32 g;
|
||||
f32 b;
|
||||
|
||||
arg1->v.ob[0] = arg0->unk_00;
|
||||
arg1->v.ob[1] = arg0->unk_04;
|
||||
arg1->v.ob[2] = arg0->unk_08;
|
||||
|
||||
arg1->v.tc[0] = arg0->unk_18;
|
||||
arg1->v.tc[1] = arg0->unk_1A;
|
||||
|
||||
r = arg0->unk_0C;
|
||||
g = arg0->unk_10;
|
||||
b = arg0->unk_14;
|
||||
|
||||
arg1->v.cn[0] = (s32)(r * 120.0);
|
||||
arg1->v.cn[1] = (s32)(g * 120.0);
|
||||
arg1->v.cn[2] = (s32)(b * 120.0);
|
||||
arg1->v.cn[3] = D_8439CA60.unk_0004;
|
||||
}
|
||||
|
||||
s32 func_843640A4(void) {
|
||||
unk_D_8439CA60_0014* var_s1;
|
||||
s32 i;
|
||||
s32 j;
|
||||
f32 temp_fv1_2;
|
||||
f32 tmp;
|
||||
|
||||
D_8439CA60.unk_0000 = D_8439CA60.unk_0000 + 1;
|
||||
if (D_8439CA60.unk_0002 < D_8439CA60.unk_0000) {
|
||||
return -1;
|
||||
}
|
||||
if (D_8439CA60.unk_0000 < 0x1E) {
|
||||
D_8439CA60.unk_0004 += 0xA;
|
||||
if (D_8439CA60.unk_0004 >= 0x81) {
|
||||
D_8439CA60.unk_0004 = 0x80;
|
||||
}
|
||||
} else if ((D_8439CA60.unk_0002 - 0x1E) < D_8439CA60.unk_0000) {
|
||||
D_8439CA60.unk_0004 -= 0xA;
|
||||
if (D_8439CA60.unk_0004 < 0) {
|
||||
D_8439CA60.unk_0004 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (D_8439CA60.unk_0008 < 1.0) {
|
||||
D_8439CA60.unk_0008 += 0.05;
|
||||
}
|
||||
|
||||
var_s1 = &D_8439CA60.unk_0014[0][0];
|
||||
for (i = 0; i < 16; i++) {
|
||||
for (j = 0; j < 16; j++) {
|
||||
temp_fv1_2 = 1.0 - (sqrtf(SQ(var_s1->unk_00) + SQ(var_s1->unk_08)) / 101.8224f);
|
||||
tmp = __sinf((((f32)(D_8439CA60.unk_0000 % 20) / 20.0) + (3.0 * temp_fv1_2)) * 6.2831854820251465) *
|
||||
((f64)D_8439CA60.unk_0008 * temp_fv1_2);
|
||||
var_s1->unk_04 = tmp;
|
||||
var_s1++;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < 16; i++) {
|
||||
for (j = 0; j < 16; j++) {
|
||||
func_84363A5C(i, j);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void func_84364304(void) {
|
||||
unk_D_86002F34_00C* temp_v0;
|
||||
f32 tmp1;
|
||||
f32 tmp2;
|
||||
f32 tmp3;
|
||||
f32 tmp4;
|
||||
f32 tmp5;
|
||||
f32 tmp6;
|
||||
f32 sp68;
|
||||
f32 sp64;
|
||||
f32 sp60;
|
||||
f32 sp5C;
|
||||
f32 temp_fa0;
|
||||
f32 temp_fa1;
|
||||
f32 temp_fv0;
|
||||
f32 temp_fv1;
|
||||
|
||||
D_8439CA60.unk_0010 = func_80005F5C(sizeof(Mtx) * 1);
|
||||
temp_v0 = func_8432FD64();
|
||||
|
||||
tmp4 = temp_v0->unk_60.at.x;
|
||||
tmp5 = temp_v0->unk_60.at.y;
|
||||
tmp6 = temp_v0->unk_60.at.z;
|
||||
|
||||
tmp1 = temp_v0->unk_60.eye.x;
|
||||
tmp2 = temp_v0->unk_60.eye.y;
|
||||
tmp3 = temp_v0->unk_60.eye.z;
|
||||
|
||||
sp5C = temp_v0->unk_24.fovy;
|
||||
sp68 = tmp4 - tmp1;
|
||||
sp64 = tmp5 - tmp2;
|
||||
sp60 = tmp6 - tmp3;
|
||||
|
||||
func_80031B04(&sp68, &sp64, &sp60);
|
||||
|
||||
temp_fv0 = sp5C / 30.0f;
|
||||
temp_fv1 = (140.0f * sp68) / temp_fv0;
|
||||
temp_fa0 = (140.0f * sp64) / temp_fv0;
|
||||
temp_fa1 = (140.0f * sp60) / temp_fv0;
|
||||
|
||||
tmp4 += temp_fv1;
|
||||
tmp5 += temp_fa0;
|
||||
tmp6 += temp_fa1;
|
||||
|
||||
tmp1 += temp_fv1;
|
||||
tmp2 += temp_fa0;
|
||||
tmp3 += temp_fa1;
|
||||
|
||||
func_80031C6C(D_8439CA60.unk_0010, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6);
|
||||
}
|
||||
|
||||
Gfx* func_84364428(Gfx* arg0) {
|
||||
s32 i;
|
||||
s32 j;
|
||||
unk_D_8439CA60_0014* var_s2;
|
||||
s32 var_s4;
|
||||
Vtx* vtx;
|
||||
s32 idx;
|
||||
|
||||
var_s4 = 0;
|
||||
D_8439CA60.unk_000C = func_80005F5C(sizeof(Vtx) * 16 * 16);
|
||||
|
||||
vtx = D_8439CA60.unk_000C;
|
||||
var_s2 = &D_8439CA60.unk_0014[0][0];
|
||||
for (i = 0; i < 16; i++) {
|
||||
for (j = 0; j < 16; j++) {
|
||||
func_84363FF0(var_s2, vtx);
|
||||
var_s2++;
|
||||
vtx++;
|
||||
}
|
||||
}
|
||||
|
||||
func_84364304();
|
||||
|
||||
gDPLoadTextureBlock(arg0++, D_843920C0[0xA8], G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD);
|
||||
gSPDisplayList(arg0++, D_84389328);
|
||||
gDPSetPrimColor(arg0++, 0, 0, 255, 255, 255, D_8439CA60.unk_0004);
|
||||
gSPMatrix(arg0++, D_8439CA60.unk_0010, G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
|
||||
|
||||
vtx = D_8439CA60.unk_000C;
|
||||
for (i = 0; i < 15; i++) {
|
||||
for (j = 0; j < 15; j++) {
|
||||
idx = (i + 0) * 16 + j;
|
||||
|
||||
gSPVertex(arg0++, &vtx[idx + 0], 1, 0);
|
||||
gSPVertex(arg0++, &vtx[idx + 1], 1, 1);
|
||||
gSPVertex(arg0++, &vtx[((i + 1) * 16 + j) + (0 * 16) + 0], 1, 2);
|
||||
gSPVertex(arg0++, &vtx[idx + (1 * 16) + 1], 1, 3);
|
||||
|
||||
if (!(var_s4 & 1)) {
|
||||
gSP2Triangles(arg0++, 1, 2, 0, 0, 1, 3, 2, 0);
|
||||
} else {
|
||||
gSP2Triangles(arg0++, 3, 2, 0, 0, 1, 3, 0, 0);
|
||||
}
|
||||
|
||||
var_s4++;
|
||||
}
|
||||
}
|
||||
|
||||
gSPPopMatrix(arg0++, G_MTX_MODELVIEW);
|
||||
return arg0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,392 @@
|
|||
#include "global.h"
|
||||
#include "fragment62.h"
|
||||
#include "include/math.h"
|
||||
#include "src/30640.h"
|
||||
#include "src/6A40.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_34F1A0/func_843648E0.s")
|
||||
static unk_D_8439E680 D_8439E680;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_34F1A0/func_84364A18.s")
|
||||
static Lights2 D_84389430 = gdSPDefLights2(255, 255, 255, 255, 255, 255, 30, 30, 10, 255, 255, 255, 226, 30, 10);
|
||||
static Gfx D_84389458[] = {
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCycleType(G_CYC_2CYCLE),
|
||||
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
|
||||
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH | G_CLIPPING | 0x0040F9FA),
|
||||
gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_LIGHTING | G_TEXTURE_GEN | G_SHADING_SMOOTH),
|
||||
gsSPSetLights2(D_84389430),
|
||||
gsSPTexture(0x8000, 0x8000, 0, G_TX_RENDERTILE, G_ON),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA2),
|
||||
gsDPSetTexturePersp(G_TP_PERSP),
|
||||
gsDPSetTextureLUT(G_TT_NONE),
|
||||
gsDPSetTextureFilter(G_TF_BILERP),
|
||||
gsDPSetRenderMode(G_RM_PASS, G_RM_XLU_SURF2),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_34F1A0/func_84364C50.s")
|
||||
static Gfx D_843894D8[] = {
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCycleType(G_CYC_1CYCLE),
|
||||
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
|
||||
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH | G_CLIPPING | 0x0040F9FA),
|
||||
gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BACK | G_LIGHTING | G_SHADING_SMOOTH),
|
||||
gsSPTexture(0x8000, 0x8000, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsDPSetTexturePersp(G_TP_PERSP),
|
||||
gsDPSetTextureDetail(G_TD_CLAMP),
|
||||
gsDPSetTextureLOD(G_TL_TILE),
|
||||
gsDPSetTextureLUT(G_TT_NONE),
|
||||
gsDPSetTextureConvert(G_TC_FILT),
|
||||
gsDPSetTextureFilter(G_TF_BILERP),
|
||||
gsDPSetColorDither(G_CD_NOISE),
|
||||
gsDPSetRenderMode(G_RM_ZB_XLU_SURF, G_RM_ZB_XLU_SURF2),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_34F1A0/func_843651D4.s")
|
||||
void func_843648E0(s16 arg0, s16 arg1) {
|
||||
unk_D_8439E680_0014* var_s0 = &D_8439E680.unk_0014[0][0];
|
||||
s32 i;
|
||||
s32 j;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_34F1A0/func_84365288.s")
|
||||
for (i = 0; i < 16; i++) {
|
||||
s32 tmp1 = arg1 - i;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_34F1A0/func_84365434.s")
|
||||
for (j = 0; j < 16; j++) {
|
||||
s32 tmp2 = arg0 - j;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_34F1A0/func_84365558.s")
|
||||
if ((tmp2 == 0.0f) && (tmp1 == (0, 0.0f))) {
|
||||
var_s0->unk_1C += 1.5707963705062866;
|
||||
} else {
|
||||
var_s0->unk_1C += 1.5707963705062866 / sqrtf(SQ((f32)tmp2) + SQ((f32)tmp1));
|
||||
}
|
||||
var_s0++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_84364A18(s16 arg0) {
|
||||
s32 i;
|
||||
s32 j;
|
||||
s32 k;
|
||||
s16 tmp1;
|
||||
s16 tmp2;
|
||||
unk_D_8439E680_0014* var_v0 = &D_8439E680.unk_0014[0][0];
|
||||
|
||||
D_8439E680.unk_0000 = 0;
|
||||
D_8439E680.unk_0002 = arg0;
|
||||
D_8439E680.unk_0004 = 0;
|
||||
D_8439E680.unk_0008 = 0.01f;
|
||||
|
||||
for (i = 0; i < 16; i++) {
|
||||
for (j = 0; j < 16; j++) {
|
||||
tmp1 = i * 0x20;
|
||||
|
||||
var_v0->unk_00 = (i * 9.0f) - 72.0f;
|
||||
|
||||
var_v0->unk_1C = 0.0f;
|
||||
var_v0->unk_04 = (__sinf(var_v0->unk_1C) * 0.5) + 1.0;
|
||||
|
||||
tmp2 = j * 0x20;
|
||||
|
||||
var_v0->unk_08 = (j * 7.0f) - 56.0f;
|
||||
|
||||
var_v0->unk_18 = tmp1 * 0x10;
|
||||
var_v0->unk_1A = tmp2 * 0x10;
|
||||
|
||||
var_v0++;
|
||||
}
|
||||
}
|
||||
|
||||
func_843648E0(8, 8);
|
||||
|
||||
for (k = 0; k < 10; k++) {
|
||||
s16 rand1 = RAND(16);
|
||||
s16 rand2 = RAND(16);
|
||||
func_843648E0(rand1, rand2);
|
||||
}
|
||||
|
||||
var_v0 = &D_8439E680.unk_0014[0][0];
|
||||
for (i = 0; i < 16; i++) {
|
||||
for (j = 0; j < 16; j++) {
|
||||
var_v0->unk_04 = (__sinf(var_v0->unk_1C) * 0.5) + 1.0;
|
||||
var_v0++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_84364C50(s32 arg0, s32 arg1) {
|
||||
f32 sp84;
|
||||
f32 sp80;
|
||||
f32 sp7C;
|
||||
f32 sp78;
|
||||
f32 sp74;
|
||||
f32 sp70;
|
||||
f32 sp6C;
|
||||
f32 sp68;
|
||||
f32 sp64;
|
||||
f32 sp60;
|
||||
f32 sp5C;
|
||||
f32 sp58;
|
||||
f32 sp54;
|
||||
f32 sp50;
|
||||
f32 sp4C;
|
||||
UNUSED s32 pad;
|
||||
s16 sp46;
|
||||
|
||||
sp6C = D_8439E680.unk_0014[arg0][arg1].unk_00;
|
||||
sp68 = D_8439E680.unk_0014[arg0][arg1].unk_04;
|
||||
sp64 = D_8439E680.unk_0014[arg0][arg1].unk_08;
|
||||
sp84 = 0.0f;
|
||||
sp80 = 0.0f;
|
||||
sp7C = 0.0f;
|
||||
sp46 = 0;
|
||||
|
||||
if ((arg0 > 0) && (arg1 >= 1)) {
|
||||
sp60 = D_8439E680.unk_0014[arg0 - 1][arg1].unk_00 - sp6C;
|
||||
sp5C = D_8439E680.unk_0014[arg0 - 1][arg1].unk_04 - sp68;
|
||||
sp58 = D_8439E680.unk_0014[arg0 - 1][arg1].unk_08 - sp64;
|
||||
func_80031B04(&sp60, &sp5C, &sp58);
|
||||
sp54 = D_8439E680.unk_0014[arg0][arg1 - 1].unk_00 - sp6C;
|
||||
sp50 = D_8439E680.unk_0014[arg0][arg1 - 1].unk_04 - sp68;
|
||||
sp4C = D_8439E680.unk_0014[arg0][arg1 - 1].unk_08 - sp64;
|
||||
func_80031B04(&sp54, &sp50, &sp4C);
|
||||
func_80031A94(sp60, sp5C, sp58, sp54, sp50, sp4C, &sp78, &sp74, &sp70);
|
||||
func_80031B04(&sp78, &sp74, &sp70);
|
||||
sp84 += sp78;
|
||||
sp80 += sp74;
|
||||
sp7C += sp70;
|
||||
sp46 = 1;
|
||||
}
|
||||
|
||||
if ((0 < arg0) && (arg1 < 15)) {
|
||||
sp60 = D_8439E680.unk_0014[arg0 - 1][arg1].unk_00 - sp6C;
|
||||
sp5C = D_8439E680.unk_0014[arg0 - 1][arg1].unk_04 - sp68;
|
||||
sp58 = D_8439E680.unk_0014[arg0 - 1][arg1].unk_08 - sp64;
|
||||
func_80031B04(&sp60, &sp5C, &sp58);
|
||||
sp54 = D_8439E680.unk_0014[arg0][arg1 + 1].unk_00 - sp6C;
|
||||
sp50 = D_8439E680.unk_0014[arg0][arg1 + 1].unk_04 - sp68;
|
||||
sp4C = D_8439E680.unk_0014[arg0][arg1 + 1].unk_08 - sp64;
|
||||
func_80031B04(&sp54, &sp50, &sp4C);
|
||||
func_80031A94(sp60, sp5C, sp58, sp54, sp50, sp4C, &sp78, &sp74, &sp70);
|
||||
func_80031B04(&sp78, &sp74, &sp70);
|
||||
sp84 += sp78;
|
||||
sp80 += sp74;
|
||||
sp7C += sp70;
|
||||
sp46 += 1;
|
||||
}
|
||||
|
||||
if ((arg0 < 15) && (arg1 >= 1)) {
|
||||
sp60 = D_8439E680.unk_0014[arg0 + 1][arg1].unk_00 - sp6C;
|
||||
sp5C = D_8439E680.unk_0014[arg0 + 1][arg1].unk_04 - sp68;
|
||||
sp58 = D_8439E680.unk_0014[arg0 + 1][arg1].unk_08 - sp64;
|
||||
func_80031B04(&sp60, &sp5C, &sp58);
|
||||
sp54 = D_8439E680.unk_0014[arg0][arg1 - 1].unk_00 - sp6C;
|
||||
sp50 = D_8439E680.unk_0014[arg0][arg1 - 1].unk_04 - sp68;
|
||||
sp4C = D_8439E680.unk_0014[arg0][arg1 - 1].unk_08 - sp64;
|
||||
func_80031B04(&sp54, &sp50, &sp4C);
|
||||
func_80031A94(sp60, sp5C, sp58, sp54, sp50, sp4C, &sp78, &sp74, &sp70);
|
||||
func_80031B04(&sp78, &sp74, &sp70);
|
||||
sp84 += sp78;
|
||||
sp80 += sp74;
|
||||
sp7C += sp70;
|
||||
sp46 += 1;
|
||||
}
|
||||
|
||||
if ((arg0 < 15) && (arg1 < 15)) {
|
||||
sp60 = D_8439E680.unk_0014[arg0 + 1][arg1].unk_00 - sp6C;
|
||||
sp5C = D_8439E680.unk_0014[arg0 + 1][arg1].unk_04 - sp68;
|
||||
sp58 = D_8439E680.unk_0014[arg0 + 1][arg1].unk_08 - sp64;
|
||||
func_80031B04(&sp60, &sp5C, &sp58);
|
||||
sp54 = D_8439E680.unk_0014[arg0][arg1 + 1].unk_00 - sp6C;
|
||||
sp50 = D_8439E680.unk_0014[arg0][arg1 + 1].unk_04 - sp68;
|
||||
sp4C = D_8439E680.unk_0014[arg0][arg1 + 1].unk_08 - sp64;
|
||||
func_80031B04(&sp54, &sp50, &sp4C);
|
||||
func_80031A94(sp60, sp5C, sp58, sp54, sp50, sp4C, &sp78, &sp74, &sp70);
|
||||
func_80031B04(&sp78, &sp74, &sp70);
|
||||
sp84 -= sp78;
|
||||
sp80 -= sp74;
|
||||
sp7C -= sp70;
|
||||
sp46 += 1;
|
||||
}
|
||||
|
||||
if (sp46 != 0) {
|
||||
if ((sp84 == 0.0) && (sp80 == 0.0) && (sp7C == 0.0)) {
|
||||
sp80 = 1.0f;
|
||||
} else {
|
||||
func_80031B04(&sp84, &sp80, &sp7C);
|
||||
}
|
||||
D_8439E680.unk_0014[arg0][arg1].unk_0C = sp84;
|
||||
D_8439E680.unk_0014[arg0][arg1].unk_10 = sp80;
|
||||
D_8439E680.unk_0014[arg0][arg1].unk_14 = sp7C;
|
||||
}
|
||||
}
|
||||
|
||||
void func_843651D4(unk_D_8439E680_0014* arg0, Vtx* arg1) {
|
||||
f32 r;
|
||||
f32 g;
|
||||
f32 b;
|
||||
|
||||
arg1->v.ob[0] = arg0->unk_00;
|
||||
arg1->v.ob[1] = arg0->unk_04;
|
||||
arg1->v.ob[2] = arg0->unk_08;
|
||||
|
||||
arg1->v.tc[0] = arg0->unk_18;
|
||||
arg1->v.tc[1] = arg0->unk_1A;
|
||||
|
||||
r = arg0->unk_0C;
|
||||
g = arg0->unk_10;
|
||||
b = arg0->unk_14;
|
||||
|
||||
arg1->v.cn[0] = (s32)(r * 120.0);
|
||||
arg1->v.cn[1] = (s32)(g * 120.0);
|
||||
arg1->v.cn[2] = (s32)(b * 120.0);
|
||||
arg1->v.cn[3] = D_8439E680.unk_0004;
|
||||
}
|
||||
|
||||
s32 func_84365288(void) {
|
||||
unk_D_8439E680_0014* var_s1;
|
||||
s32 i;
|
||||
s32 j;
|
||||
|
||||
D_8439E680.unk_0000 = D_8439E680.unk_0000 + 1;
|
||||
if (D_8439E680.unk_0002 < D_8439E680.unk_0000) {
|
||||
return -1;
|
||||
}
|
||||
if (D_8439E680.unk_0000 < 0x1E) {
|
||||
D_8439E680.unk_0004 += 0xA;
|
||||
if (D_8439E680.unk_0004 >= 0x81) {
|
||||
D_8439E680.unk_0004 = 0x80;
|
||||
}
|
||||
} else if ((D_8439E680.unk_0002 - 0x1E) < D_8439E680.unk_0000) {
|
||||
D_8439E680.unk_0004 -= 0xA;
|
||||
if (D_8439E680.unk_0004 < 0) {
|
||||
D_8439E680.unk_0004 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (D_8439E680.unk_0008 < 0.5) {
|
||||
D_8439E680.unk_0008 += 0.05;
|
||||
}
|
||||
|
||||
var_s1 = &D_8439E680.unk_0014[0][0];
|
||||
for (i = 0; i < 16; i++) {
|
||||
for (j = 0; j < 16; j++) {
|
||||
var_s1->unk_04 = (__sinf(var_s1->unk_1C) * 0.5) + 1.0;
|
||||
var_s1->unk_1C += 0.1;
|
||||
|
||||
var_s1++;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < 16; i++) {
|
||||
for (j = 0; j < 16; j++) {
|
||||
func_84364C50(i, j);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void func_84365434(void) {
|
||||
unk_D_86002F34_00C* temp_v0;
|
||||
f32 tmp1;
|
||||
f32 tmp2;
|
||||
f32 tmp3;
|
||||
f32 tmp4;
|
||||
f32 tmp5;
|
||||
f32 tmp6;
|
||||
f32 sp68;
|
||||
f32 sp64;
|
||||
f32 sp60;
|
||||
f32 sp5C;
|
||||
f32 temp_fa0;
|
||||
f32 temp_fa1;
|
||||
f32 temp_fv0;
|
||||
f32 temp_fv1;
|
||||
|
||||
D_8439E680.unk_0010 = func_80005F5C(sizeof(Mtx) * 1);
|
||||
temp_v0 = func_8432FD64();
|
||||
|
||||
tmp4 = temp_v0->unk_60.at.x;
|
||||
tmp5 = temp_v0->unk_60.at.y;
|
||||
tmp6 = temp_v0->unk_60.at.z;
|
||||
|
||||
tmp1 = temp_v0->unk_60.eye.x;
|
||||
tmp2 = temp_v0->unk_60.eye.y;
|
||||
tmp3 = temp_v0->unk_60.eye.z;
|
||||
|
||||
sp5C = temp_v0->unk_24.fovy;
|
||||
sp68 = tmp4 - tmp1;
|
||||
sp64 = tmp5 - tmp2;
|
||||
sp60 = tmp6 - tmp3;
|
||||
|
||||
func_80031B04(&sp68, &sp64, &sp60);
|
||||
|
||||
temp_fv0 = sp5C / 30.0f;
|
||||
temp_fv1 = (140.0f * sp68) / temp_fv0;
|
||||
temp_fa0 = (140.0f * sp64) / temp_fv0;
|
||||
temp_fa1 = (140.0f * sp60) / temp_fv0;
|
||||
|
||||
tmp4 += temp_fv1;
|
||||
tmp5 += temp_fa0;
|
||||
tmp6 += temp_fa1;
|
||||
|
||||
tmp1 += temp_fv1;
|
||||
tmp2 += temp_fa0;
|
||||
tmp3 += temp_fa1;
|
||||
|
||||
func_80031C6C(D_8439E680.unk_0010, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6);
|
||||
}
|
||||
|
||||
Gfx* func_84365558(Gfx* arg0) {
|
||||
s32 i;
|
||||
s32 j;
|
||||
unk_D_8439E680_0014* var_s2;
|
||||
s32 var_s4;
|
||||
Vtx* vtx;
|
||||
s32 idx;
|
||||
|
||||
var_s4 = 0;
|
||||
D_8439E680.unk_000C = func_80005F5C(sizeof(Vtx) * 16 * 16);
|
||||
|
||||
vtx = D_8439E680.unk_000C;
|
||||
var_s2 = &D_8439E680.unk_0014[0][0];
|
||||
for (i = 0; i < 16; i++) {
|
||||
for (j = 0; j < 16; j++) {
|
||||
func_843651D4(var_s2, vtx);
|
||||
var_s2++;
|
||||
vtx++;
|
||||
}
|
||||
}
|
||||
|
||||
func_84365434();
|
||||
|
||||
gDPLoadTextureBlock(arg0++, D_843920C0[0x48], G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD);
|
||||
gSPDisplayList(arg0++, D_84389458);
|
||||
gDPSetPrimColor(arg0++, 0, 0, 255, 255, 255, D_8439E680.unk_0004);
|
||||
gSPMatrix(arg0++, D_8439E680.unk_0010, G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
|
||||
|
||||
vtx = D_8439E680.unk_000C;
|
||||
for (i = 0; i < 15; i++) {
|
||||
for (j = 0; j < 15; j++) {
|
||||
idx = (i + 0) * 16 + j;
|
||||
|
||||
gSPVertex(arg0++, &vtx[idx + 0], 1, 0);
|
||||
gSPVertex(arg0++, &vtx[idx + 1], 1, 1);
|
||||
gSPVertex(arg0++, &vtx[((i + 1) * 16 + j) + (0 * 16) + 0], 1, 2);
|
||||
gSPVertex(arg0++, &vtx[idx + (1 * 16) + 1], 1, 3);
|
||||
|
||||
if (!(var_s4 & 1)) {
|
||||
gSP2Triangles(arg0++, 1, 2, 0, 0, 1, 3, 2, 0);
|
||||
} else {
|
||||
gSP2Triangles(arg0++, 3, 2, 0, 0, 1, 3, 0, 0);
|
||||
}
|
||||
|
||||
var_s4++;
|
||||
}
|
||||
}
|
||||
|
||||
gSPPopMatrix(arg0++, G_MTX_MODELVIEW);
|
||||
return arg0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,13 +1,356 @@
|
|||
#include "global.h"
|
||||
#include "fragment62.h"
|
||||
#include "include/math.h"
|
||||
#include "src/30640.h"
|
||||
#include "src/6A40.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3502D0/func_84365A10.s")
|
||||
static unk_D_8439CA60 D_843A06A0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3502D0/func_84365B88.s")
|
||||
static Lights2 D_84389560 = gdSPDefLights2(255, 255, 255, 255, 255, 255, 30, 30, 10, 255, 255, 255, 226, 30, 10);
|
||||
static Gfx D_84389588[] = {
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCycleType(G_CYC_2CYCLE),
|
||||
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
|
||||
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH | G_CLIPPING | 0x0040F9FA),
|
||||
gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_LIGHTING | G_TEXTURE_GEN | G_SHADING_SMOOTH),
|
||||
gsSPSetLights2(D_84389560),
|
||||
gsSPTexture(0x8000, 0x8000, 0, G_TX_RENDERTILE, G_ON),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA2),
|
||||
gsDPSetTexturePersp(G_TP_PERSP),
|
||||
gsDPSetTextureLUT(G_TT_NONE),
|
||||
gsDPSetTextureFilter(G_TF_BILERP),
|
||||
gsDPSetRenderMode(G_RM_PASS, G_RM_XLU_SURF2),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
static Gfx D_84389608[] = {
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCycleType(G_CYC_1CYCLE),
|
||||
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
|
||||
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH | G_CLIPPING | 0x0040F9FA),
|
||||
gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BACK | G_LIGHTING | G_SHADING_SMOOTH),
|
||||
gsSPTexture(0x8000, 0x8000, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsDPSetTexturePersp(G_TP_PERSP),
|
||||
gsDPSetTextureDetail(G_TD_CLAMP),
|
||||
gsDPSetTextureLOD(G_TL_TILE),
|
||||
gsDPSetTextureLUT(G_TT_NONE),
|
||||
gsDPSetTextureConvert(G_TC_FILT),
|
||||
gsDPSetTextureFilter(G_TF_BILERP),
|
||||
gsDPSetColorDither(G_CD_NOISE),
|
||||
gsDPSetRenderMode(G_RM_ZB_XLU_SURF, G_RM_ZB_XLU_SURF2),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3502D0/func_8436611C.s")
|
||||
void func_84365A10(s16 arg0) {
|
||||
unk_D_8439CA60_0014* var_v0;
|
||||
s32 i;
|
||||
s32 j;
|
||||
s16 tmp1;
|
||||
s16 tmp2;
|
||||
s16 tmp3;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3502D0/func_843661D0.s")
|
||||
D_843A06A0.unk_0000 = 0;
|
||||
D_843A06A0.unk_0002 = arg0;
|
||||
D_843A06A0.unk_0004 = 0;
|
||||
D_843A06A0.unk_0008 = 0.0f;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3502D0/func_8436643C.s")
|
||||
var_v0 = &D_843A06A0.unk_0014[0][0];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3502D0/func_84366560.s")
|
||||
for (i = 0; i < 16; i++) {
|
||||
for (j = 0; j < 16; j++) {
|
||||
tmp1 = i * 0x20;
|
||||
tmp3 = tmp1 * 0x10;
|
||||
tmp2 = j * 0x20;
|
||||
|
||||
var_v0->unk_00 = (i * 9.0f) - 72.0f;
|
||||
var_v0->unk_04 = 1.0f;
|
||||
var_v0->unk_08 = (j * 7.0f) - 56.0f;
|
||||
|
||||
var_v0->unk_18 = tmp1 * 0x10;
|
||||
var_v0->unk_1A = tmp2 * 0x10;
|
||||
|
||||
var_v0++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_84365B88(s32 arg0, s32 arg1) {
|
||||
f32 sp84;
|
||||
f32 sp80;
|
||||
f32 sp7C;
|
||||
f32 sp78;
|
||||
f32 sp74;
|
||||
f32 sp70;
|
||||
f32 sp6C;
|
||||
f32 sp68;
|
||||
f32 sp64;
|
||||
f32 sp60;
|
||||
f32 sp5C;
|
||||
f32 sp58;
|
||||
f32 sp54;
|
||||
f32 sp50;
|
||||
f32 sp4C;
|
||||
UNUSED s32 pad;
|
||||
s16 sp46;
|
||||
|
||||
sp6C = D_843A06A0.unk_0014[arg0][arg1].unk_00;
|
||||
sp68 = D_843A06A0.unk_0014[arg0][arg1].unk_04;
|
||||
sp64 = D_843A06A0.unk_0014[arg0][arg1].unk_08;
|
||||
sp84 = 0.0f;
|
||||
sp80 = 0.0f;
|
||||
sp7C = 0.0f;
|
||||
sp46 = 0;
|
||||
|
||||
if ((arg0 > 0) && (arg1 >= 1)) {
|
||||
sp60 = D_843A06A0.unk_0014[arg0 - 1][arg1].unk_00 - sp6C;
|
||||
sp5C = D_843A06A0.unk_0014[arg0 - 1][arg1].unk_04 - sp68;
|
||||
sp58 = D_843A06A0.unk_0014[arg0 - 1][arg1].unk_08 - sp64;
|
||||
func_80031B04(&sp60, &sp5C, &sp58);
|
||||
sp54 = D_843A06A0.unk_0014[arg0][arg1 - 1].unk_00 - sp6C;
|
||||
sp50 = D_843A06A0.unk_0014[arg0][arg1 - 1].unk_04 - sp68;
|
||||
sp4C = D_843A06A0.unk_0014[arg0][arg1 - 1].unk_08 - sp64;
|
||||
func_80031B04(&sp54, &sp50, &sp4C);
|
||||
func_80031A94(sp60, sp5C, sp58, sp54, sp50, sp4C, &sp78, &sp74, &sp70);
|
||||
func_80031B04(&sp78, &sp74, &sp70);
|
||||
sp84 += sp78;
|
||||
sp80 += sp74;
|
||||
sp7C += sp70;
|
||||
sp46 = 1;
|
||||
}
|
||||
|
||||
if ((0 < arg0) && (arg1 < 15)) {
|
||||
sp60 = D_843A06A0.unk_0014[arg0 - 1][arg1].unk_00 - sp6C;
|
||||
sp5C = D_843A06A0.unk_0014[arg0 - 1][arg1].unk_04 - sp68;
|
||||
sp58 = D_843A06A0.unk_0014[arg0 - 1][arg1].unk_08 - sp64;
|
||||
func_80031B04(&sp60, &sp5C, &sp58);
|
||||
sp54 = D_843A06A0.unk_0014[arg0][arg1 + 1].unk_00 - sp6C;
|
||||
sp50 = D_843A06A0.unk_0014[arg0][arg1 + 1].unk_04 - sp68;
|
||||
sp4C = D_843A06A0.unk_0014[arg0][arg1 + 1].unk_08 - sp64;
|
||||
func_80031B04(&sp54, &sp50, &sp4C);
|
||||
func_80031A94(sp60, sp5C, sp58, sp54, sp50, sp4C, &sp78, &sp74, &sp70);
|
||||
func_80031B04(&sp78, &sp74, &sp70);
|
||||
sp84 += sp78;
|
||||
sp80 += sp74;
|
||||
sp7C += sp70;
|
||||
sp46 += 1;
|
||||
}
|
||||
|
||||
if ((arg0 < 15) && (arg1 >= 1)) {
|
||||
sp60 = D_843A06A0.unk_0014[arg0 + 1][arg1].unk_00 - sp6C;
|
||||
sp5C = D_843A06A0.unk_0014[arg0 + 1][arg1].unk_04 - sp68;
|
||||
sp58 = D_843A06A0.unk_0014[arg0 + 1][arg1].unk_08 - sp64;
|
||||
func_80031B04(&sp60, &sp5C, &sp58);
|
||||
sp54 = D_843A06A0.unk_0014[arg0][arg1 - 1].unk_00 - sp6C;
|
||||
sp50 = D_843A06A0.unk_0014[arg0][arg1 - 1].unk_04 - sp68;
|
||||
sp4C = D_843A06A0.unk_0014[arg0][arg1 - 1].unk_08 - sp64;
|
||||
func_80031B04(&sp54, &sp50, &sp4C);
|
||||
func_80031A94(sp60, sp5C, sp58, sp54, sp50, sp4C, &sp78, &sp74, &sp70);
|
||||
func_80031B04(&sp78, &sp74, &sp70);
|
||||
sp84 += sp78;
|
||||
sp80 += sp74;
|
||||
sp7C += sp70;
|
||||
sp46 += 1;
|
||||
}
|
||||
|
||||
if ((arg0 < 15) && (arg1 < 15)) {
|
||||
sp60 = D_843A06A0.unk_0014[arg0 + 1][arg1].unk_00 - sp6C;
|
||||
sp5C = D_843A06A0.unk_0014[arg0 + 1][arg1].unk_04 - sp68;
|
||||
sp58 = D_843A06A0.unk_0014[arg0 + 1][arg1].unk_08 - sp64;
|
||||
func_80031B04(&sp60, &sp5C, &sp58);
|
||||
sp54 = D_843A06A0.unk_0014[arg0][arg1 + 1].unk_00 - sp6C;
|
||||
sp50 = D_843A06A0.unk_0014[arg0][arg1 + 1].unk_04 - sp68;
|
||||
sp4C = D_843A06A0.unk_0014[arg0][arg1 + 1].unk_08 - sp64;
|
||||
func_80031B04(&sp54, &sp50, &sp4C);
|
||||
func_80031A94(sp60, sp5C, sp58, sp54, sp50, sp4C, &sp78, &sp74, &sp70);
|
||||
func_80031B04(&sp78, &sp74, &sp70);
|
||||
sp84 -= sp78;
|
||||
sp80 -= sp74;
|
||||
sp7C -= sp70;
|
||||
sp46 += 1;
|
||||
}
|
||||
|
||||
if (sp46 != 0) {
|
||||
if ((sp84 == 0.0) && (sp80 == 0.0) && (sp7C == 0.0)) {
|
||||
sp80 = 1.0f;
|
||||
} else {
|
||||
func_80031B04(&sp84, &sp80, &sp7C);
|
||||
}
|
||||
D_843A06A0.unk_0014[arg0][arg1].unk_0C = sp84;
|
||||
D_843A06A0.unk_0014[arg0][arg1].unk_10 = sp80;
|
||||
D_843A06A0.unk_0014[arg0][arg1].unk_14 = sp7C;
|
||||
}
|
||||
}
|
||||
|
||||
void func_8436611C(unk_D_8439CA60_0014* arg0, Vtx* arg1) {
|
||||
f32 r;
|
||||
f32 g;
|
||||
f32 b;
|
||||
|
||||
arg1->v.ob[0] = arg0->unk_00;
|
||||
arg1->v.ob[1] = arg0->unk_04;
|
||||
arg1->v.ob[2] = arg0->unk_08;
|
||||
|
||||
arg1->v.tc[0] = arg0->unk_18;
|
||||
arg1->v.tc[1] = arg0->unk_1A;
|
||||
|
||||
r = arg0->unk_0C;
|
||||
g = arg0->unk_10;
|
||||
b = arg0->unk_14;
|
||||
|
||||
arg1->v.cn[0] = (s32)(r * 120.0);
|
||||
arg1->v.cn[1] = (s32)(g * 120.0);
|
||||
arg1->v.cn[2] = (s32)(b * 120.0);
|
||||
arg1->v.cn[3] = D_843A06A0.unk_0004;
|
||||
}
|
||||
|
||||
s32 func_843661D0(void) {
|
||||
unk_D_8439CA60_0014* var_s1;
|
||||
s32 i;
|
||||
s32 j;
|
||||
f32 temp_fv1_2;
|
||||
f32 tmp;
|
||||
|
||||
D_843A06A0.unk_0000 = D_843A06A0.unk_0000 + 1;
|
||||
if (D_843A06A0.unk_0002 < D_843A06A0.unk_0000) {
|
||||
return -1;
|
||||
}
|
||||
if (D_843A06A0.unk_0000 < 0x1E) {
|
||||
D_843A06A0.unk_0004 += 0xA;
|
||||
if (D_843A06A0.unk_0004 > 0x50) {
|
||||
D_843A06A0.unk_0004 = 0x50;
|
||||
}
|
||||
} else if ((D_843A06A0.unk_0002 - 0x1E) < D_843A06A0.unk_0000) {
|
||||
D_843A06A0.unk_0004 -= 0xA;
|
||||
if (D_843A06A0.unk_0004 < 0) {
|
||||
D_843A06A0.unk_0004 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (D_843A06A0.unk_0008 < 0.25) {
|
||||
D_843A06A0.unk_0008 += 0.05;
|
||||
}
|
||||
|
||||
var_s1 = &D_843A06A0.unk_0014[0][0];
|
||||
for (i = 0; i < 16; i++) {
|
||||
for (j = 0; j < 16; j++) {
|
||||
temp_fv1_2 = 1.0 - (sqrtf(SQ(var_s1->unk_00) + SQ(var_s1->unk_08)) / 101.8224f);
|
||||
tmp = __sinf((((f32)(D_843A06A0.unk_0000 % 20) / 20.0) + (3.0 * temp_fv1_2)) * 6.2831854820251465) *
|
||||
((f64)D_843A06A0.unk_0008 * temp_fv1_2);
|
||||
var_s1->unk_04 = tmp;
|
||||
var_s1++;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < 16; i++) {
|
||||
for (j = 0; j < 16; j++) {
|
||||
func_84365B88(i, j);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void func_8436643C(void) {
|
||||
unk_D_86002F34_00C* temp_v0;
|
||||
f32 tmp1;
|
||||
f32 tmp2;
|
||||
f32 tmp3;
|
||||
f32 tmp4;
|
||||
f32 tmp5;
|
||||
f32 tmp6;
|
||||
f32 sp68;
|
||||
f32 sp64;
|
||||
f32 sp60;
|
||||
f32 sp5C;
|
||||
f32 temp_fa0;
|
||||
f32 temp_fa1;
|
||||
f32 temp_fv0;
|
||||
f32 temp_fv1;
|
||||
|
||||
D_843A06A0.unk_0010 = func_80005F5C(sizeof(Mtx) * 1);
|
||||
temp_v0 = func_8432FD64();
|
||||
|
||||
tmp4 = temp_v0->unk_60.at.x;
|
||||
tmp5 = temp_v0->unk_60.at.y;
|
||||
tmp6 = temp_v0->unk_60.at.z;
|
||||
|
||||
tmp1 = temp_v0->unk_60.eye.x;
|
||||
tmp2 = temp_v0->unk_60.eye.y;
|
||||
tmp3 = temp_v0->unk_60.eye.z;
|
||||
|
||||
sp5C = temp_v0->unk_24.fovy;
|
||||
sp68 = tmp4 - tmp1;
|
||||
sp64 = tmp5 - tmp2;
|
||||
sp60 = tmp6 - tmp3;
|
||||
|
||||
func_80031B04(&sp68, &sp64, &sp60);
|
||||
|
||||
temp_fv0 = sp5C / 30.0f;
|
||||
temp_fv1 = (140.0f * sp68) / temp_fv0;
|
||||
temp_fa0 = (140.0f * sp64) / temp_fv0;
|
||||
temp_fa1 = (140.0f * sp60) / temp_fv0;
|
||||
|
||||
tmp4 += temp_fv1;
|
||||
tmp5 += temp_fa0;
|
||||
tmp6 += temp_fa1;
|
||||
|
||||
tmp1 += temp_fv1;
|
||||
tmp2 += temp_fa0;
|
||||
tmp3 += temp_fa1;
|
||||
|
||||
func_80031C6C(D_843A06A0.unk_0010, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6);
|
||||
}
|
||||
|
||||
Gfx* func_84366560(Gfx* arg0) {
|
||||
s32 i;
|
||||
s32 j;
|
||||
unk_D_8439CA60_0014* var_s2;
|
||||
s32 var_s4;
|
||||
Vtx* vtx;
|
||||
s32 idx;
|
||||
|
||||
var_s4 = 0;
|
||||
D_843A06A0.unk_000C = func_80005F5C(sizeof(Vtx) * 16 * 16);
|
||||
|
||||
vtx = D_843A06A0.unk_000C;
|
||||
var_s2 = &D_843A06A0.unk_0014[0][0];
|
||||
for (i = 0; i < 16; i++) {
|
||||
for (j = 0; j < 16; j++) {
|
||||
func_8436611C(var_s2, vtx);
|
||||
var_s2++;
|
||||
vtx++;
|
||||
}
|
||||
}
|
||||
|
||||
func_8436643C();
|
||||
|
||||
gDPLoadTextureBlock(arg0++, D_843920C0[0x48], G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD);
|
||||
gSPDisplayList(arg0++, D_84389588);
|
||||
gDPSetPrimColor(arg0++, 0, 0, 255, 255, 255, D_843A06A0.unk_0004);
|
||||
gSPMatrix(arg0++, D_843A06A0.unk_0010, G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
|
||||
|
||||
vtx = D_843A06A0.unk_000C;
|
||||
for (i = 0; i < 15; i++) {
|
||||
for (j = 0; j < 15; j++) {
|
||||
idx = (i + 0) * 16 + j;
|
||||
|
||||
gSPVertex(arg0++, &vtx[idx + 0], 1, 0);
|
||||
gSPVertex(arg0++, &vtx[idx + 1], 1, 1);
|
||||
gSPVertex(arg0++, &vtx[((i + 1) * 16 + j) + (0 * 16) + 0], 1, 2);
|
||||
gSPVertex(arg0++, &vtx[idx + (1 * 16) + 1], 1, 3);
|
||||
|
||||
if (!(var_s4 & 1)) {
|
||||
gSP2Triangles(arg0++, 1, 2, 0, 0, 1, 3, 2, 0);
|
||||
} else {
|
||||
gSP2Triangles(arg0++, 3, 2, 0, 0, 1, 3, 0, 0);
|
||||
}
|
||||
|
||||
var_s4++;
|
||||
}
|
||||
}
|
||||
|
||||
gSPPopMatrix(arg0++, G_MTX_MODELVIEW);
|
||||
return arg0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,13 +1,291 @@
|
|||
#include "global.h"
|
||||
#include "fragment62.h"
|
||||
#include "src/6A40.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3512D0/func_84366A10.s")
|
||||
static unk_D_843A22C0 D_843A22C0[40];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3512D0/func_84366B38.s")
|
||||
static Vtx D_84389690[] = {
|
||||
VTX(-10, 0, -10, 2048, 0, 0xFF, 0xFF, 0xFF, 0xC8),
|
||||
VTX(10, 0, -10, 0, 0, 0xFF, 0xFF, 0xFF, 0xC8),
|
||||
VTX(-10, 0, 10, 2048, 2048, 0xFF, 0xFF, 0xFF, 0xC8),
|
||||
VTX(10, 0, 10, 0, 2048, 0xFF, 0xFF, 0xFF, 0xC8),
|
||||
};
|
||||
static Gfx D_843896D0[] = {
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCycleType(G_CYC_1CYCLE),
|
||||
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
|
||||
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH | G_CLIPPING | 0x0040F9FA),
|
||||
gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH),
|
||||
gsSPTexture(0x8000, 0x8000, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetRenderMode(G_RM_ZB_XLU_SURF, G_RM_ZB_XLU_SURF2),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsDPSetColorDither(G_CD_NOISE),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
static Gfx D_84389720[] = {
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCycleType(G_CYC_1CYCLE),
|
||||
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
|
||||
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH | G_CLIPPING | 0x0040F9FA),
|
||||
gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH),
|
||||
gsSPTexture(0x8000, 0x8000, 0, G_TX_RENDERTILE, G_ON),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetRenderMode(G_RM_ZB_XLU_SURF, G_RM_ZB_XLU_SURF2),
|
||||
gsDPSetCombineMode(G_CC_BLENDIA, G_CC_BLENDIA),
|
||||
gsDPSetEnvColor(255, 255, 64, 255),
|
||||
gsSPVertex(D_84389690, 4, 0),
|
||||
gsSP2Triangles(0, 2, 1, 0, 2, 3, 1, 0),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3512D0/func_84366DCC.s")
|
||||
void func_84366A10(void) {
|
||||
unk_D_843A22C0* var_v0;
|
||||
unk_D_843A22C0_038* var_a0;
|
||||
s32 i;
|
||||
s32 j;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3512D0/func_84366E54.s")
|
||||
var_v0 = &D_843A22C0[0];
|
||||
for (i = 0; i < 40; i++, var_v0++) {
|
||||
var_v0->unk_000 = 0;
|
||||
var_v0->unk_004 = 0;
|
||||
var_v0->unk_006 = 0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3512D0/func_84367014.s")
|
||||
var_a0 = &var_v0->unk_038[0];
|
||||
for (j = 0; j < 10; j++, var_a0++) {
|
||||
var_a0->unk_00 = 0.0f;
|
||||
var_a0->unk_04 = 0;
|
||||
var_a0->unk_08 = 0.0f;
|
||||
var_a0->unk_0C.z = var_a0->unk_0C.y = var_a0->unk_0C.x = 0.0f;
|
||||
var_a0->unk_18.z = var_a0->unk_18.y = var_a0->unk_18.x = 0.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3512D0/func_843670C8.s")
|
||||
void func_84366B38(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, u8 arg6, u8 arg7, u8 arg8, u8 arg9,
|
||||
f32 argA, s16 argB) {
|
||||
unk_D_843A22C0* var_v1;
|
||||
unk_D_843A22C0_038* var_s0;
|
||||
s32 i;
|
||||
s32 j;
|
||||
Vec3f sp74;
|
||||
Vec3f sp68;
|
||||
Vec3f sp5C;
|
||||
f32 temp_fv0;
|
||||
|
||||
temp_fv0 = func_8432FCD4();
|
||||
|
||||
sp74.x = arg0;
|
||||
sp74.y = arg1 + 10.0f + 25.0f;
|
||||
sp74.z = arg2;
|
||||
|
||||
sp68.x = arg3;
|
||||
sp68.y = arg4;
|
||||
sp68.z = arg5;
|
||||
|
||||
sp5C.x = 0.0f;
|
||||
sp5C.y = -1.0f;
|
||||
sp5C.z = 0.0f;
|
||||
|
||||
var_v1 = &D_843A22C0[0];
|
||||
|
||||
for (i = 0; i < 40; i++, var_v1++) {
|
||||
if (var_v1->unk_000 == 0) {
|
||||
var_v1->unk_000 = 1;
|
||||
var_v1->unk_002 = 0;
|
||||
var_v1->unk_004 = 0;
|
||||
var_v1->unk_006 = argB;
|
||||
var_v1->unk_00A.r = arg6;
|
||||
var_v1->unk_00A.g = arg7;
|
||||
var_v1->unk_00A.b = arg8;
|
||||
var_v1->unk_010 = temp_fv0 * 0.5f;
|
||||
var_v1->unk_014 = argA;
|
||||
|
||||
if (arg0 > 0) {
|
||||
var_v1->unk_008 = -1;
|
||||
} else {
|
||||
var_v1->unk_008 = 1;
|
||||
}
|
||||
|
||||
var_s0 = &var_v1->unk_038[0];
|
||||
for (j = 0; j < 10; j++, var_s0++) {
|
||||
var_s0->unk_00 = j;
|
||||
var_s0->unk_04 = (arg9 * (9 - j)) / 10;
|
||||
var_s0->unk_08 = (RAND(100) * 6.2831854820251465) / 100.0;
|
||||
var_s0->unk_0C = sp74;
|
||||
var_s0->unk_18 = sp68;
|
||||
var_s0->unk_24 = sp5C;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_84366DCC(f32 arg0, Vec3f* arg1, f32 arg2) {
|
||||
MtxF sp30;
|
||||
|
||||
guRotateRPYF(sp30.mf, 90.0f, (arg0 * 360.0) / 6.2831854820251465, (arg0 * 360.0) / 6.2831854820251465);
|
||||
guMtxXFMF(sp30.mf, 0.0f, 0.0f, arg2, &arg1->x, &arg1->y, &arg1->z);
|
||||
}
|
||||
|
||||
void func_84366E54(unk_D_843A22C0* arg0) {
|
||||
s32 i;
|
||||
s32 j;
|
||||
Vtx* var_a1;
|
||||
Vtx* var_a2;
|
||||
unk_D_843A22C0_038* var_v0;
|
||||
unk_D_843A22C0_038* var_v1;
|
||||
|
||||
var_v0 = &arg0->unk_038[9];
|
||||
for (i = 0; i < 9; i++, var_v0--) {
|
||||
var_a1 = &var_v0[0].unk_30[0];
|
||||
var_a2 = &var_v0[-1].unk_30[0];
|
||||
for (j = 0; j < 2; j++) {
|
||||
*var_a1++ = *var_a2++;
|
||||
}
|
||||
}
|
||||
|
||||
var_v1 = &arg0->unk_038[0];
|
||||
switch (arg0->unk_002) {
|
||||
case 0:
|
||||
var_v1->unk_0C.y += var_v1->unk_24.y;
|
||||
if (arg0->unk_004 >= 0xB) {
|
||||
arg0->unk_002 = 1;
|
||||
}
|
||||
var_v1->unk_08 += 2.0 * arg0->unk_014;
|
||||
break;
|
||||
|
||||
case 1:
|
||||
var_v1->unk_0C.x += var_v1->unk_18.x;
|
||||
var_v1->unk_0C.y += var_v1->unk_18.y;
|
||||
var_v1->unk_0C.z += var_v1->unk_18.z;
|
||||
|
||||
if (arg0->unk_008 > 0) {
|
||||
var_v1->unk_18.x += 2.0;
|
||||
if (var_v1->unk_18.x > 20.0) {
|
||||
var_v1->unk_18.x = 20.0f;
|
||||
}
|
||||
} else {
|
||||
var_v1->unk_18.x -= 2.0;
|
||||
if (var_v1->unk_18.x < -20.0) {
|
||||
var_v1->unk_18.x = -20.0f;
|
||||
}
|
||||
}
|
||||
var_v1->unk_08 += arg0->unk_014;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_84367014(void) {
|
||||
s32 i;
|
||||
s32 var_s2 = 0;
|
||||
unk_D_843A22C0* var_s0 = &D_843A22C0[0];
|
||||
|
||||
for (i = 0; i < 40; i++, var_s0++) {
|
||||
if (var_s0->unk_000 == 1) {
|
||||
var_s0->unk_004 += 1;
|
||||
if ((var_s0->unk_006 + 0xA) < var_s0->unk_004) {
|
||||
var_s0->unk_000 = 0;
|
||||
} else {
|
||||
func_84366E54(var_s0);
|
||||
var_s2++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (var_s2 > 0) {
|
||||
return 0;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
Gfx* func_843670C8(Gfx* arg0) {
|
||||
s32 i;
|
||||
unk_D_843A22C0* var_s5;
|
||||
unk_D_843A22C0_038* temp_s0;
|
||||
s32 k;
|
||||
s32 j;
|
||||
Mtx* temp_s1;
|
||||
Vec3f sp13C;
|
||||
Vtx* vtx;
|
||||
Mtx spF8;
|
||||
Mtx spB8;
|
||||
f32 spB4;
|
||||
Vtx* vtx2;
|
||||
f32 tmp;
|
||||
|
||||
gDPLoadTextureBlock_4b(arg0++, D_843920C0[0x10], G_IM_FMT_I, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD);
|
||||
|
||||
var_s5 = &D_843A22C0[0];
|
||||
for (i = 0; i < 40; i++, var_s5++) {
|
||||
if (var_s5->unk_000 == 1) {
|
||||
temp_s0 = &var_s5->unk_038[0];
|
||||
tmp = var_s5->unk_010;
|
||||
|
||||
temp_s1 = func_80005F5C(sizeof(Mtx) * 1);
|
||||
|
||||
spB4 = (temp_s0->unk_08 * 360.0) / 6.2831854820251465;
|
||||
guTranslate(temp_s1, temp_s0->unk_0C.x, temp_s0->unk_0C.y, temp_s0->unk_0C.z);
|
||||
|
||||
if (var_s5->unk_002 == 0) {
|
||||
guRotateRPY(&spF8, 90.0f, spB4, 0.0f);
|
||||
} else {
|
||||
guRotateRPY(&spF8, 90.0f, spB4, spB4);
|
||||
}
|
||||
|
||||
guMtxCatL(&spF8, temp_s1, temp_s1);
|
||||
guScale(&spB8, tmp, tmp, tmp);
|
||||
guMtxCatL(&spB8, temp_s1, temp_s1);
|
||||
|
||||
gSPMatrix(arg0++, temp_s1, G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(arg0++, D_84389720);
|
||||
gSPPopMatrix(arg0++, G_MTX_MODELVIEW);
|
||||
|
||||
var_s5->unk_018 = func_80005F5C(sizeof(Vtx) * 20);
|
||||
vtx = var_s5->unk_018;
|
||||
|
||||
for (j = 0; j < 10; j++, temp_s0++) {
|
||||
if ((j == 0) || (var_s5->unk_004 < 2)) {
|
||||
for (k = 0, vtx2 = &temp_s0->unk_30[0]; k < 2; k++) {
|
||||
if (temp_s0->unk_00 <= 0.0) {
|
||||
func_84366DCC(temp_s0->unk_08 + ((2.0 * k * 3.1415927410125732) / 2), &sp13C,
|
||||
(10.0f * tmp) * 0.8f);
|
||||
}
|
||||
|
||||
vtx->v.ob[0] = temp_s0->unk_0C.x + sp13C.x;
|
||||
vtx->v.ob[1] = temp_s0->unk_0C.y + sp13C.y;
|
||||
vtx->v.ob[2] = temp_s0->unk_0C.z + sp13C.z;
|
||||
|
||||
vtx->v.cn[0] = var_s5->unk_00A.r;
|
||||
vtx->v.cn[1] = var_s5->unk_00A.g;
|
||||
vtx->v.cn[2] = var_s5->unk_00A.b;
|
||||
vtx->v.cn[3] = temp_s0->unk_04;
|
||||
|
||||
*vtx2++ = *vtx++;
|
||||
}
|
||||
} else {
|
||||
for (k = 0, vtx2 = &temp_s0->unk_30[0]; k < 2; k++) {
|
||||
*vtx = *vtx2++;
|
||||
vtx->v.cn[3] = temp_s0->unk_04;
|
||||
|
||||
vtx++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (var_s5->unk_002 == 1) {
|
||||
vtx = var_s5->unk_018;
|
||||
|
||||
for (k = 0; k < 9; k++) {
|
||||
gSPDisplayList(arg0++, D_843896D0);
|
||||
gSPVertex(arg0++, vtx, 4, 0);
|
||||
gSP2Triangles(arg0++, 0, 1, 2, 0, 1, 3, 2, 0);
|
||||
|
||||
vtx += 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return arg0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,179 @@
|
|||
#include "global.h"
|
||||
#include "fragment62.h"
|
||||
#include "src/30640.h"
|
||||
#include "src/6A40.h"
|
||||
|
||||
static Gfx D_84389780[] = {
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCycleType(G_CYC_1CYCLE),
|
||||
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
|
||||
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH | G_CLIPPING | 0x0040F9FA),
|
||||
gsSPSetGeometryMode(G_SHADE | G_SHADING_SMOOTH),
|
||||
gsSPTexture(0x8000, 0x8000, 0, G_TX_RENDERTILE, G_ON),
|
||||
gsDPPipeSync(),
|
||||
gsDPLoadTextureBlock_4b(D_8438A648, G_IM_FMT_I, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 5,
|
||||
5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsDPSetRenderMode(G_RM_XLU_SURF, G_RM_XLU_SURF2),
|
||||
gsDPSetCombineMode(G_CC_BLENDIA, G_CC_BLENDIA),
|
||||
gsDPSetAlphaDither(G_AD_NOISE),
|
||||
gsDPSetAlphaCompare(G_AC_NONE),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
static Vtx D_84389810[] = {
|
||||
VTX(0, 20, 0, 1024, 2048, 0xFF, 0xFF, 0xFF, 0x00), VTX(30, 20, 0, 1024, 2048, 0xFF, 0xFF, 0xFF, 0x00),
|
||||
VTX(-20, 10, 0, 0, 1024, 0xFF, 0xFF, 0xFF, 0x00), VTX(50, 10, 0, 2048, 1024, 0xFF, 0xFF, 0xFF, 0x00),
|
||||
VTX(0, 0, 0, 1024, 1024, 0xFF, 0xFF, 0xFF, 0xFF), VTX(30, 0, 0, 1024, 1024, 0xFF, 0xFF, 0xFF, 0xFF),
|
||||
VTX(-20, -10, 0, 0, 1024, 0xFF, 0xFF, 0xFF, 0x00), VTX(50, -10, 0, 2048, 1024, 0xFF, 0xFF, 0xFF, 0x00),
|
||||
VTX(0, -20, 0, 1024, 0, 0xFF, 0xFF, 0xFF, 0x00), VTX(30, -20, 0, 1024, 0, 0xFF, 0xFF, 0xFF, 0x00),
|
||||
};
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
Gfx* func_84367660(Gfx* arg0, Vec3f* arg1, Vec3f* arg2, Vec3f* arg3, f32 arg4, u8 arg5, u8 arg6, u8 arg7, u8 arg8) {
|
||||
s32 i;
|
||||
Vtx* sp1E8;
|
||||
s32 pad[2];
|
||||
Mtx* sp1DC;
|
||||
s32 pad2[42];
|
||||
f32 sp130;
|
||||
f32 sp12C;
|
||||
f32 sp128;
|
||||
f32 sp8C;
|
||||
f32 sp88;
|
||||
f32 sp84;
|
||||
f32 sp80;
|
||||
f32 sp7C;
|
||||
f32 sp78;
|
||||
s32 pad4[7];
|
||||
Vtx* var_a1;
|
||||
Vtx* temp_v1;
|
||||
f32 a1_x;
|
||||
f32 a1_y;
|
||||
f32 a1_z;
|
||||
f32 a2_x;
|
||||
f32 a2_y;
|
||||
f32 a2_z;
|
||||
f32 a3_x;
|
||||
f32 a3_y;
|
||||
f32 a3_z;
|
||||
f32 tmp1;
|
||||
f32 tmp2;
|
||||
f32 tmp3;
|
||||
|
||||
sp1DC = func_80005F5C(sizeof(Mtx) * 1);
|
||||
sp1E8 = func_80005F5C(sizeof(Vtx) * 10);
|
||||
|
||||
temp_v1 = sp1E8;
|
||||
var_a1 = &D_84389810[0];
|
||||
for (i = 0; i < 10; i++) {
|
||||
*temp_v1 = *var_a1++;
|
||||
if ((i == 4) || (i == 5)) {
|
||||
temp_v1->v.cn[0] = arg5;
|
||||
temp_v1->v.cn[1] = arg6;
|
||||
temp_v1->v.cn[2] = arg7;
|
||||
temp_v1->v.cn[3] = arg8;
|
||||
}
|
||||
temp_v1++;
|
||||
}
|
||||
|
||||
a1_x = arg1->x;
|
||||
a1_y = arg1->y;
|
||||
a1_z = arg1->z;
|
||||
a2_x = arg2->x;
|
||||
a2_y = arg2->y;
|
||||
a2_z = arg2->z;
|
||||
a3_x = arg3->x;
|
||||
a3_y = arg3->y;
|
||||
a3_z = arg3->z;
|
||||
|
||||
func_80031A94(a2_x - a1_x, a2_y - a1_y, a2_z - a1_z, a1_x - a3_x, a1_y - a3_y, a1_z - a3_z, &sp130, &sp12C, &sp128);
|
||||
if ((SQ(sp130) + SQ(sp12C) + SQ(sp128)) > 0.0f) {
|
||||
func_80031B04(&sp130, &sp12C, &sp128);
|
||||
}
|
||||
|
||||
gSPDisplayList(arg0++, D_84389780);
|
||||
gDPPipeSync(arg0++);
|
||||
gDPSetEnvColor(arg0++, arg5, arg6, arg7, arg8);
|
||||
|
||||
a3_x = arg4 * sp130;
|
||||
a3_y = arg4 * sp12C;
|
||||
a3_z = arg4 * sp128;
|
||||
|
||||
temp_v1 = sp1E8;
|
||||
|
||||
if (a3_z) {}
|
||||
|
||||
tmp1 = a2_y - a3_y * 2.0f;
|
||||
|
||||
temp_v1->v.ob[0] = a3_x * 2.0f + a1_x;
|
||||
temp_v1->v.ob[1] = a3_y * 2.0f + a1_y;
|
||||
temp_v1->v.ob[2] = a3_z * 2.0f + a1_z;
|
||||
temp_v1++;
|
||||
|
||||
temp_v1->v.ob[0] = a3_x * 2.0f + a2_x;
|
||||
temp_v1->v.ob[1] = a3_y * 2.0f + a2_y;
|
||||
temp_v1->v.ob[2] = a3_z * 2.0f + a2_z;
|
||||
temp_v1++;
|
||||
|
||||
sp8C = (-a2_x * 0.2f) + (a1_x * 1.2f);
|
||||
sp88 = (-a2_y * 0.2f) + (a1_y * 1.2f);
|
||||
sp84 = (-a2_z * 0.2f) + (a1_z * 1.2f);
|
||||
|
||||
sp80 = (a2_x * 1.2f) - (a1_x * 0.2f);
|
||||
sp7C = (a2_y * 1.2f) - (a1_y * 0.2f);
|
||||
sp78 = (a2_z * 1.2f) - (a1_z * 0.2f);
|
||||
|
||||
temp_v1->v.ob[0] = a3_x + sp8C;
|
||||
temp_v1->v.ob[1] = a3_y + sp88;
|
||||
temp_v1->v.ob[2] = a3_z + sp84;
|
||||
temp_v1++;
|
||||
|
||||
temp_v1->v.ob[0] = a3_x + sp80;
|
||||
temp_v1->v.ob[1] = a3_y + sp7C;
|
||||
temp_v1->v.ob[2] = a3_z + sp78;
|
||||
temp_v1++;
|
||||
|
||||
temp_v1->v.ob[0] = a1_x;
|
||||
temp_v1->v.ob[1] = a1_y;
|
||||
temp_v1->v.ob[2] = a1_z;
|
||||
temp_v1++;
|
||||
|
||||
temp_v1->v.ob[0] = a2_x;
|
||||
temp_v1->v.ob[1] = a2_y;
|
||||
temp_v1->v.ob[2] = a2_z;
|
||||
temp_v1++;
|
||||
|
||||
temp_v1->v.ob[0] = sp8C - a3_x;
|
||||
temp_v1->v.ob[1] = sp88 - a3_y;
|
||||
temp_v1->v.ob[2] = sp84 - a3_z;
|
||||
temp_v1++;
|
||||
|
||||
temp_v1->v.ob[0] = sp80 - a3_x;
|
||||
temp_v1->v.ob[1] = sp7C - a3_y;
|
||||
temp_v1->v.ob[2] = sp78 - a3_z;
|
||||
temp_v1++;
|
||||
|
||||
temp_v1->v.ob[0] = a1_x - a3_x * 2.0f;
|
||||
temp_v1->v.ob[1] = a1_y - a3_y * 2.0f;
|
||||
temp_v1->v.ob[2] = a1_z - a3_z * 2.0f;
|
||||
temp_v1++;
|
||||
|
||||
temp_v1->v.ob[0] = a2_x - a3_x * 2.0f;
|
||||
temp_v1->v.ob[1] = tmp1;
|
||||
temp_v1->v.ob[2] = a2_z - a3_z * 2.0f;
|
||||
temp_v1++;
|
||||
|
||||
guTranslate(sp1DC, 0.0f, 0.0f, 0.0f);
|
||||
|
||||
gSPMatrix(arg0++, sp1DC, G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
|
||||
gSPVertex(arg0++, sp1E8, 10, 0);
|
||||
gSP2Triangles(arg0++, 0, 4, 2, 0, 2, 4, 6, 0);
|
||||
gSP2Triangles(arg0++, 0, 1, 4, 0, 1, 5, 4, 0);
|
||||
gSP2Triangles(arg0++, 1, 3, 5, 0, 3, 7, 5, 0);
|
||||
gSP2Triangles(arg0++, 6, 4, 8, 0, 4, 5, 8, 0);
|
||||
gSP2Triangles(arg0++, 8, 5, 9, 0, 5, 7, 9, 0);
|
||||
gSPPopMatrix(arg0++, G_MTX_MODELVIEW);
|
||||
|
||||
return arg0;
|
||||
}
|
||||
#else
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_351F20/func_84367660.s")
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -1,13 +1,301 @@
|
|||
#include "global.h"
|
||||
#include "fragment62.h"
|
||||
#include "src/6A40.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_352570/func_84367CB0.s")
|
||||
static unk_D_843AA880 D_843AA880[4];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_352570/func_84367E2C.s")
|
||||
static Vtx D_843898B0[] = {
|
||||
VTX(-30, 0, -20, 2048, 0, 0xFF, 0xFF, 0xFF, 0xC8),
|
||||
VTX(10, 0, -20, 0, 0, 0xFF, 0xFF, 0xFF, 0xC8),
|
||||
VTX(-30, 0, 20, 2048, 2048, 0xFF, 0xFF, 0xFF, 0xC8),
|
||||
VTX(10, 0, 20, 0, 2048, 0xFF, 0xFF, 0xFF, 0xC8),
|
||||
};
|
||||
static Gfx D_843898F0[] = {
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCycleType(G_CYC_1CYCLE),
|
||||
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
|
||||
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH | G_CLIPPING | 0x0040F9FA),
|
||||
gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH),
|
||||
gsSPTexture(0x8000, 0x8000, 0, G_TX_RENDERTILE, G_ON),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetRenderMode(G_RM_ZB_XLU_SURF, G_RM_ZB_XLU_SURF2),
|
||||
gsDPSetCombineMode(G_CC_BLENDIA, G_CC_BLENDIA),
|
||||
gsDPSetPrimColor(0, 0, 255, 255, 255, 255),
|
||||
gsDPSetEnvColor(255, 255, 255, 255),
|
||||
gsSPVertex(0x843898B0, 4, 0),
|
||||
gsSP2Triangles(0, 2, 1, 0, 2, 3, 1, 0),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
static Gfx D_84389958[] = {
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCycleType(G_CYC_1CYCLE),
|
||||
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
|
||||
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH | G_CLIPPING | 0x0040F9FA),
|
||||
gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH),
|
||||
gsSPTexture(0x8000, 0x8000, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetRenderMode(G_RM_ZB_XLU_SURF, G_RM_ZB_XLU_SURF2),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsDPSetColorDither(G_CD_NOISE),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_352570/func_84368080.s")
|
||||
void func_84367CB0(void) {
|
||||
s32 i;
|
||||
s32 j;
|
||||
f32 temp_fa0;
|
||||
unk_D_843AA880* var_a2;
|
||||
unk_D_843AA880_034* var_v0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_352570/func_84368140.s")
|
||||
temp_fa0 = func_8432FCD4() * 0.75f;
|
||||
var_a2 = &D_843AA880[0];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_352570/func_843684CC.s")
|
||||
for (i = 0; i < 4; i++, var_a2++) {
|
||||
var_a2->unk_000 = 0;
|
||||
var_a2->unk_002 = 0;
|
||||
var_a2->unk_004 = 0;
|
||||
var_a2->unk_00C = temp_fa0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_352570/func_84368560.s")
|
||||
var_v0 = &var_a2->unk_034[0];
|
||||
for (j = 0; j < 15; j++, var_v0++) {
|
||||
var_v0->unk_00 = 0;
|
||||
var_v0->unk_04 = 1.0f;
|
||||
var_v0->unk_08 = 0.0f;
|
||||
var_v0->unk_0C.z = var_v0->unk_0C.y = var_v0->unk_0C.x = 0.0f;
|
||||
var_v0->unk_18.z = var_v0->unk_18.y = var_v0->unk_18.x = 0.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_84367E2C(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, u8 arg6, u8 arg7, u8 arg8, u8 arg9,
|
||||
f32 argA, f32 argB, f32 argC, s16 argD) {
|
||||
unk_D_843AA880* var_v1;
|
||||
unk_D_843AA880_034* var_s0;
|
||||
s32 i;
|
||||
s32 j;
|
||||
Vec3f sp64;
|
||||
Vec3f sp58;
|
||||
|
||||
sp64.x = arg0;
|
||||
sp64.y = arg1;
|
||||
sp64.z = arg2;
|
||||
var_v1 = &D_843AA880[0];
|
||||
|
||||
for (i = 0; i < 4; i++, var_v1++) {
|
||||
if (var_v1->unk_000 == 0) {
|
||||
f32 tmp = var_v1->unk_00C;
|
||||
|
||||
var_v1->unk_000 = 1;
|
||||
var_v1->unk_002 = 0;
|
||||
|
||||
var_v1->unk_004 = argD;
|
||||
var_v1->unk_008.r = arg6;
|
||||
var_v1->unk_008.g = arg7;
|
||||
var_v1->unk_008.b = arg8;
|
||||
var_v1->unk_01C = sp64;
|
||||
var_v1->unk_010 = argC;
|
||||
var_v1->unk_014 = argA;
|
||||
|
||||
sp58.x = arg3;
|
||||
sp58.y = arg4 * tmp;
|
||||
sp58.z = arg5 * tmp;
|
||||
|
||||
if (arg3 < 0.0) {
|
||||
var_v1->unk_006 = -1;
|
||||
} else {
|
||||
var_v1->unk_006 = 1;
|
||||
}
|
||||
|
||||
var_s0 = &var_v1->unk_034[0];
|
||||
for (j = 0; j < 15; j++, var_s0++) {
|
||||
var_s0->unk_00 = (arg9 * (0xE - j)) / 15;
|
||||
var_s0->unk_04 = argB;
|
||||
var_s0->unk_08 = (RAND(120) * 6.2831855f) / 120.0;
|
||||
var_s0->unk_0C = sp64;
|
||||
var_s0->unk_18 = sp58;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_84368080(f32 arg0, Vec3f* arg1, f32 arg2, f32 arg3) {
|
||||
MtxF spB0;
|
||||
MtxF sp70;
|
||||
MtxF sp30;
|
||||
UNUSED s32 pad;
|
||||
|
||||
guScaleF(sp30.mf, arg3, arg3, arg3);
|
||||
guRotateF(sp70.mf, (arg0 * 360.0) / 6.2831854820251465, 1.0f, 0.0f, 0.0f);
|
||||
guMtxCatF(sp30.mf, sp70.mf, spB0.mf);
|
||||
guMtxXFMF(spB0.mf, 0.0f, 0.0f, arg2, &arg1->x, &arg1->y, &arg1->z);
|
||||
}
|
||||
|
||||
void func_84368140(unk_D_843AA880* arg0) {
|
||||
unk_D_843AA880_034* var_v0 = &arg0->unk_034[0];
|
||||
s32 i;
|
||||
f32 temp_fa0;
|
||||
f32 temp_fa1;
|
||||
|
||||
for (i = 0; i < 15; i++, var_v0++) {
|
||||
if (i == 0) {
|
||||
var_v0->unk_24 = var_v0->unk_04;
|
||||
var_v0->unk_28 = var_v0->unk_08;
|
||||
var_v0->unk_2C = var_v0->unk_0C;
|
||||
var_v0->unk_38 = var_v0->unk_18;
|
||||
|
||||
var_v0->unk_0C.x += var_v0->unk_18.x;
|
||||
var_v0->unk_0C.y += var_v0->unk_18.y;
|
||||
var_v0->unk_0C.z += var_v0->unk_18.z;
|
||||
|
||||
var_v0->unk_08 += arg0->unk_014;
|
||||
if (arg0->unk_006 < 0) {
|
||||
var_v0->unk_18.x += 1.5;
|
||||
if (var_v0->unk_18.x > 20.0) {
|
||||
var_v0->unk_18.x = 20.0f;
|
||||
}
|
||||
} else {
|
||||
var_v0->unk_18.x -= 1.5;
|
||||
if (var_v0->unk_18.x < -20.0) {
|
||||
var_v0->unk_18.x = -20.0f;
|
||||
}
|
||||
}
|
||||
|
||||
if (arg0->unk_002 < 0xF) {
|
||||
temp_fa0 = ((0xF - arg0->unk_002) * 0.03) / 15.0;
|
||||
temp_fa1 = (arg0->unk_002 * 0.15) / 15.0;
|
||||
var_v0->unk_18.y += (arg0->unk_01C.y - var_v0->unk_0C.y) * temp_fa0;
|
||||
var_v0->unk_18.z += (arg0->unk_01C.z - var_v0->unk_0C.z) * temp_fa0;
|
||||
var_v0->unk_0C.y += (arg0->unk_01C.y - var_v0->unk_0C.y) * temp_fa1;
|
||||
var_v0->unk_0C.z += (arg0->unk_01C.z - var_v0->unk_0C.z) * temp_fa1;
|
||||
} else {
|
||||
var_v0->unk_18.y += (arg0->unk_01C.y - var_v0->unk_0C.y) * 0.03;
|
||||
var_v0->unk_18.z += (arg0->unk_01C.z - var_v0->unk_0C.z) * 0.03;
|
||||
var_v0->unk_0C.y += (arg0->unk_01C.y - var_v0->unk_0C.y) * 0.15;
|
||||
var_v0->unk_0C.z += (arg0->unk_01C.z - var_v0->unk_0C.z) * 0.15;
|
||||
}
|
||||
|
||||
var_v0->unk_04 += 2.0;
|
||||
if (arg0->unk_010 < var_v0->unk_04) {
|
||||
var_v0->unk_04 = arg0->unk_010;
|
||||
}
|
||||
} else {
|
||||
var_v0->unk_24 = var_v0->unk_04;
|
||||
var_v0->unk_28 = var_v0->unk_08;
|
||||
|
||||
var_v0->unk_2C = var_v0->unk_0C;
|
||||
var_v0->unk_38 = var_v0->unk_18;
|
||||
|
||||
var_v0->unk_0C = var_v0[-1].unk_2C;
|
||||
var_v0->unk_08 = var_v0[-1].unk_28;
|
||||
var_v0->unk_18 = var_v0[-1].unk_38;
|
||||
var_v0->unk_04 = var_v0[-1].unk_24;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_843684CC(void) {
|
||||
s32 i;
|
||||
unk_D_843AA880* var_s0 = &D_843AA880[0];
|
||||
|
||||
for (i = 0; i < 4; i++, var_s0++) {
|
||||
if (var_s0->unk_000 == 1) {
|
||||
var_s0->unk_002 += 1;
|
||||
if (var_s0->unk_004 < var_s0->unk_002) {
|
||||
var_s0->unk_000 = 0;
|
||||
} else {
|
||||
func_84368140(var_s0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Gfx* func_84368560(Gfx* arg0) {
|
||||
s32 i;
|
||||
s32 j;
|
||||
s32 k;
|
||||
unk_D_843AA880* var_s4;
|
||||
unk_D_843AA880_034* temp_s0;
|
||||
Mtx* temp_v0;
|
||||
Vec3f sp134;
|
||||
Vtx* var_s0;
|
||||
Mtx spF0;
|
||||
Mtx spB0;
|
||||
s16 var_s3;
|
||||
UNUSED s32 pad;
|
||||
|
||||
gDPPipeSync(arg0++);
|
||||
gDPLoadTextureBlock_4b(arg0++, D_843920C0[0x49], G_IM_FMT_I, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD);
|
||||
|
||||
var_s4 = &D_843AA880[0];
|
||||
for (i = 0; i < 4; i++, var_s4++) {
|
||||
if (var_s4->unk_000 == 1) {
|
||||
guScale(&spB0, var_s4->unk_00C, var_s4->unk_00C, var_s4->unk_00C);
|
||||
temp_s0 = &var_s4->unk_034[0];
|
||||
|
||||
if (temp_s0->unk_0C.y > 0.0f) {
|
||||
temp_v0 = func_80005F5C(sizeof(Mtx) * 1);
|
||||
guTranslate(temp_v0, temp_s0->unk_0C.x, temp_s0->unk_0C.y, temp_s0->unk_0C.z);
|
||||
guRotateRPY(&spF0, (temp_s0->unk_08 * -360.0f * var_s4->unk_006) / 6.2831854820251465,
|
||||
(var_s4->unk_006 * 0x5A) + 0x5A, 0.0f);
|
||||
guMtxCatL(&spF0, temp_v0, temp_v0);
|
||||
guMtxCatL(&spB0, temp_v0, temp_v0);
|
||||
|
||||
gSPMatrix(arg0++, temp_v0, G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(arg0++, D_843898F0);
|
||||
gSPPopMatrix(arg0++, G_MTX_MODELVIEW);
|
||||
}
|
||||
|
||||
var_s4->unk_018 = func_80005F5C(sizeof(Vtx) * 30);
|
||||
var_s0 = var_s4->unk_018;
|
||||
|
||||
for (j = 0; j < 15; j++) {
|
||||
func_84368080(temp_s0->unk_08, &sp134, temp_s0->unk_04, var_s4->unk_00C);
|
||||
var_s3 = temp_s0->unk_0C.y + sp134.y;
|
||||
if (var_s3 < 0) {
|
||||
var_s3 = 0;
|
||||
}
|
||||
|
||||
var_s0->v.ob[0] = temp_s0->unk_0C.x + sp134.x;
|
||||
var_s0->v.ob[1] = var_s3;
|
||||
var_s0->v.ob[2] = temp_s0->unk_0C.z + sp134.z;
|
||||
var_s0->v.cn[0] = var_s4->unk_008.r;
|
||||
var_s0->v.cn[1] = var_s4->unk_008.g;
|
||||
var_s0->v.cn[2] = var_s4->unk_008.b;
|
||||
var_s0->v.cn[3] = temp_s0->unk_00;
|
||||
var_s0++;
|
||||
|
||||
func_84368080(temp_s0->unk_08 + M_PI_F, &sp134, temp_s0->unk_04, var_s4->unk_00C);
|
||||
|
||||
var_s3 = temp_s0->unk_0C.y + sp134.y;
|
||||
if (var_s3 < 0) {
|
||||
var_s3 = 0;
|
||||
}
|
||||
var_s0->v.ob[0] = temp_s0->unk_0C.x + sp134.x;
|
||||
var_s0->v.ob[1] = var_s3;
|
||||
var_s0->v.ob[2] = temp_s0->unk_0C.z + sp134.z;
|
||||
var_s0->v.cn[0] = var_s4->unk_008.r;
|
||||
var_s0->v.cn[1] = var_s4->unk_008.g;
|
||||
var_s0->v.cn[2] = var_s4->unk_008.b;
|
||||
var_s0->v.cn[3] = temp_s0->unk_00;
|
||||
var_s0++;
|
||||
|
||||
temp_s0++;
|
||||
}
|
||||
|
||||
var_s0 = var_s4->unk_018;
|
||||
|
||||
gSPDisplayList(arg0++, D_84389958);
|
||||
|
||||
for (k = 0; k < 14; k++) {
|
||||
gSPVertex(arg0++, var_s0, 4, 0);
|
||||
gSP2Triangles(arg0++, 0, 2, 1, 0, 2, 3, 1, 0);
|
||||
var_s0 += 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return arg0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,13 +1,272 @@
|
|||
#include "global.h"
|
||||
#include "fragment62.h"
|
||||
#include "src/6A40.h"
|
||||
#include "src/math_util.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_353370/func_84368AB0.s")
|
||||
static unk_D_843AB940 D_843AB940[4];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_353370/func_84368C04.s")
|
||||
static Gfx D_843899B0[] = {
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCycleType(G_CYC_1CYCLE),
|
||||
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
|
||||
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH | G_CLIPPING | 0x0040F9FA),
|
||||
gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH),
|
||||
gsSPTexture(0x8000, 0x8000, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetRenderMode(G_RM_ZB_XLU_SURF, G_RM_ZB_XLU_SURF2),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsDPSetColorDither(G_CD_NOISE),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_353370/func_84368E78.s")
|
||||
void func_84368AB0(void) {
|
||||
s32 i;
|
||||
s32 j;
|
||||
unk_D_843AB940* var_a2 = &D_843AB940[0];
|
||||
unk_D_843AB940_038* var_v0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_353370/func_84368F08.s")
|
||||
for (i = 0; i < 4; i++, var_a2++) {
|
||||
var_a2->unk_000 = 0;
|
||||
var_a2->unk_002 = 0;
|
||||
var_a2->unk_004 = 0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_353370/func_843692E8.s")
|
||||
var_v0 = &var_a2->unk_038[0];
|
||||
for (j = 0; j < 15; j++, var_v0++) {
|
||||
var_v0->unk_00 = 0;
|
||||
var_v0->unk_04 = 1.0f;
|
||||
var_v0->unk_08 = 0.0f;
|
||||
var_v0->unk_0C.z = var_v0->unk_0C.y = var_v0->unk_0C.x = 0.0f;
|
||||
var_v0->unk_18.z = var_v0->unk_18.y = var_v0->unk_18.x = 0.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_353370/func_84369388.s")
|
||||
void func_84368C04(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, u8 arg6, u8 arg7, u8 arg8, u8 arg9,
|
||||
f32 argA, f32 argB, f32 argC, s16 argD) {
|
||||
s32 i;
|
||||
s32 j;
|
||||
unk_D_843AB940* var_v1;
|
||||
unk_D_843AB940_038* var_s0;
|
||||
Vec3f sp64;
|
||||
Vec3f sp58;
|
||||
|
||||
sp64.x = arg0;
|
||||
sp64.y = arg1;
|
||||
sp64.z = arg2;
|
||||
|
||||
sp58.x = arg3;
|
||||
sp58.y = arg4;
|
||||
sp58.z = arg5;
|
||||
|
||||
var_v1 = &D_843AB940[0];
|
||||
for (i = 0; i < 4; i++, var_v1++) {
|
||||
if (var_v1->unk_000 == 0) {
|
||||
var_v1->unk_000 = 1;
|
||||
var_v1->unk_002 = 0;
|
||||
var_v1->unk_004 = argD;
|
||||
var_v1->unk_008.r = arg6;
|
||||
var_v1->unk_008.g = arg7;
|
||||
var_v1->unk_008.b = arg8;
|
||||
var_v1->unk_01C = sp64;
|
||||
var_v1->unk_00C = argC;
|
||||
var_v1->unk_010 = argA;
|
||||
var_v1->unk_034 = func_8432FD70(sp64, 2);
|
||||
|
||||
if (arg3 < 0.0) {
|
||||
var_v1->unk_006 = -1;
|
||||
} else {
|
||||
var_v1->unk_006 = 1;
|
||||
}
|
||||
|
||||
var_s0 = &var_v1->unk_038[0];
|
||||
for (j = 0; j < 15; j++, var_s0++) {
|
||||
var_s0->unk_00 = (arg9 * (0xE - j)) / 15;
|
||||
var_s0->unk_04 = argB;
|
||||
var_s0->unk_08 = (RAND(120) * 6.2831855f) / 120.0;
|
||||
var_s0->unk_0C = sp64;
|
||||
var_s0->unk_18 = sp58;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_84368E78(f32 arg0, Vec3f* arg1, f32 arg2) {
|
||||
UNUSED MtxF sp70;
|
||||
MtxF sp30;
|
||||
UNUSED s32 pad;
|
||||
|
||||
guRotateF(sp30.mf, (arg0 * 360.0) / 6.2831854820251465, 1.0f, 0.0f, 0.0f);
|
||||
guMtxXFMF(sp30.mf, 0.0f, 0.0f, arg2, &arg1->x, &arg1->y, &arg1->z);
|
||||
}
|
||||
|
||||
void func_84368F08(unk_D_843AB940* arg0) {
|
||||
unk_D_843AB940_038* var_s0 = &arg0->unk_038[0];
|
||||
s32 i;
|
||||
f32 var_ft4;
|
||||
|
||||
for (i = 0; i < 15; i++, var_s0++) {
|
||||
if (i == 0) {
|
||||
var_s0->unk_24 = var_s0->unk_04;
|
||||
var_s0->unk_28 = var_s0->unk_08;
|
||||
var_s0->unk_2C = var_s0->unk_0C;
|
||||
var_s0->unk_38 = var_s0->unk_18;
|
||||
|
||||
var_s0->unk_0C.x += var_s0->unk_18.x;
|
||||
var_s0->unk_0C.y += var_s0->unk_18.y;
|
||||
var_s0->unk_0C.z += var_s0->unk_18.z;
|
||||
|
||||
var_s0->unk_08 += arg0->unk_010;
|
||||
if (arg0->unk_006 > 0) {
|
||||
var_s0->unk_18.x += 0.4;
|
||||
if (var_s0->unk_18.x > 20.0) {
|
||||
var_s0->unk_18.x = 20.0f;
|
||||
}
|
||||
} else {
|
||||
var_s0->unk_18.x -= 0.4;
|
||||
if (var_s0->unk_18.x < -20.0) {
|
||||
var_s0->unk_18.x = -20.0f;
|
||||
}
|
||||
}
|
||||
|
||||
if (arg0->unk_002 < 0xA) {
|
||||
f32 tmp1 = (((0xA - arg0->unk_002) * 0.01) / 10.0);
|
||||
f32 tmp2 = ((arg0->unk_002 * 0.07) / 10.0);
|
||||
|
||||
var_s0->unk_18.y += (arg0->unk_01C.y - var_s0->unk_0C.y) * tmp1;
|
||||
var_ft4 = (arg0->unk_01C.y - var_s0->unk_0C.y) * tmp2;
|
||||
} else {
|
||||
var_s0->unk_18.y += ((arg0->unk_01C.y - var_s0->unk_0C.y) * 0.01);
|
||||
var_ft4 = (arg0->unk_01C.y - var_s0->unk_0C.y) * 0.07;
|
||||
}
|
||||
var_s0->unk_0C.y += var_ft4;
|
||||
arg0->unk_014 = (MathUtil_Atan2s(var_s0->unk_18.x, var_s0->unk_18.y + var_ft4) * 360.0) / 65535.0;
|
||||
|
||||
func_8432FDF0(arg0->unk_034, var_s0->unk_0C);
|
||||
|
||||
if (arg0->unk_002 == 1) {
|
||||
func_8432FD70(var_s0->unk_0C, 1);
|
||||
}
|
||||
|
||||
var_s0->unk_04 += 2.0;
|
||||
if (arg0->unk_00C < var_s0->unk_04) {
|
||||
var_s0->unk_04 = arg0->unk_00C;
|
||||
}
|
||||
} else {
|
||||
var_s0->unk_24 = var_s0->unk_04;
|
||||
var_s0->unk_28 = var_s0->unk_08;
|
||||
|
||||
var_s0->unk_2C = var_s0->unk_0C;
|
||||
var_s0->unk_38 = var_s0->unk_18;
|
||||
|
||||
var_s0->unk_0C = var_s0[-1].unk_2C;
|
||||
var_s0->unk_08 = var_s0[-1].unk_28;
|
||||
var_s0->unk_18 = var_s0[-1].unk_38;
|
||||
var_s0->unk_04 = var_s0[-1].unk_24;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_843692E8(void) {
|
||||
s32 i;
|
||||
unk_D_843AB940* var_s0 = &D_843AB940[0];
|
||||
|
||||
for (i = 0; i < 4; i++, var_s0++) {
|
||||
if (var_s0->unk_000 == 1) {
|
||||
var_s0->unk_002 += 1;
|
||||
if (var_s0->unk_004 < var_s0->unk_002) {
|
||||
var_s0->unk_000 = 0;
|
||||
func_8432FE24(var_s0->unk_034);
|
||||
} else {
|
||||
func_84368F08(var_s0);
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
Gfx* func_84369388(Gfx* arg0) {
|
||||
s32 i;
|
||||
s32 j;
|
||||
s32 k;
|
||||
unk_D_843AB940* var_s5;
|
||||
unk_D_843AB940_038* temp_s0;
|
||||
Mtx* temp_v0;
|
||||
Vec3f sp154;
|
||||
UNUSED s32 pad[14];
|
||||
s16 var_s3;
|
||||
Vtx* var_s0;
|
||||
Mtx spD0;
|
||||
Mtx sp90;
|
||||
UNUSED s32 pad2;
|
||||
|
||||
var_s5 = &D_843AB940[0];
|
||||
for (i = 0; i < 4; i++, var_s5++) {
|
||||
if (var_s5->unk_000 == 1) {
|
||||
temp_s0 = &var_s5->unk_038[0];
|
||||
if (temp_s0->unk_0C.y > 0.0f) {
|
||||
temp_v0 = func_80005F5C(sizeof(Mtx) * 1);
|
||||
guTranslate(temp_v0, temp_s0->unk_0C.x, temp_s0->unk_0C.y, temp_s0->unk_0C.z);
|
||||
guRotateRPY(&spD0, (temp_s0->unk_08 * -360.0f * var_s5->unk_006) / 6.2831854820251465, 0.0f,
|
||||
var_s5->unk_014);
|
||||
guMtxCatL(&spD0, temp_v0, temp_v0);
|
||||
guScale(&sp90, 0.09f, 0.09f, 0.09f);
|
||||
guMtxCatL(&sp90, temp_v0, temp_v0);
|
||||
|
||||
gSPMatrix(arg0++, temp_v0, G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(arg0++, D_8438A980);
|
||||
gSPPopMatrix(arg0++, G_MTX_MODELVIEW);
|
||||
}
|
||||
|
||||
var_s5->unk_018 = func_80005F5C(sizeof(Vtx) * 30);
|
||||
var_s0 = var_s5->unk_018;
|
||||
|
||||
for (j = 0; j < 15; j++) {
|
||||
func_84368E78(temp_s0->unk_08, &sp154, temp_s0->unk_04);
|
||||
|
||||
var_s3 = temp_s0->unk_0C.y + sp154.y;
|
||||
if (var_s3 < 0) {
|
||||
var_s3 = 0;
|
||||
}
|
||||
|
||||
var_s0->v.ob[0] = temp_s0->unk_0C.x + sp154.x;
|
||||
var_s0->v.ob[1] = var_s3;
|
||||
var_s0->v.ob[2] = temp_s0->unk_0C.z + sp154.z;
|
||||
var_s0->v.cn[0] = var_s5->unk_008.r;
|
||||
var_s0->v.cn[1] = var_s5->unk_008.g;
|
||||
var_s0->v.cn[2] = var_s5->unk_008.b;
|
||||
var_s0->v.cn[3] = temp_s0->unk_00;
|
||||
var_s0++;
|
||||
|
||||
func_84368E78(temp_s0->unk_08 + 3.1415927f, &sp154, temp_s0->unk_04);
|
||||
|
||||
var_s3 = temp_s0->unk_0C.y + sp154.y;
|
||||
if (var_s3 < 0) {
|
||||
var_s3 = 0;
|
||||
}
|
||||
|
||||
var_s0->v.ob[0] = temp_s0->unk_0C.x + sp154.x;
|
||||
var_s0->v.ob[1] = var_s3;
|
||||
var_s0->v.ob[2] = temp_s0->unk_0C.z + sp154.z;
|
||||
var_s0->v.cn[0] = var_s5->unk_008.r;
|
||||
var_s0->v.cn[1] = var_s5->unk_008.g;
|
||||
var_s0->v.cn[2] = var_s5->unk_008.b;
|
||||
var_s0->v.cn[3] = temp_s0->unk_00;
|
||||
var_s0++;
|
||||
|
||||
temp_s0++;
|
||||
}
|
||||
|
||||
var_s0 = var_s5->unk_018;
|
||||
|
||||
gSPDisplayList(arg0++, D_843899B0);
|
||||
|
||||
for (k = 0; k < 14; k++) {
|
||||
gSPVertex(arg0++, var_s0, 4, 0);
|
||||
gSP2Triangles(arg0++, 0, 2, 1, 0, 2, 3, 1, 0);
|
||||
var_s0 += 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return arg0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,25 +1,263 @@
|
|||
#include "global.h"
|
||||
#include "fragment62.h"
|
||||
#include "src/6A40.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3540B0/func_843697F0.s")
|
||||
static unk_D_843ACA10 D_843ACA10[4];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3540B0/func_84369950.s")
|
||||
static Gfx D_84389A00[] = {
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCycleType(G_CYC_1CYCLE),
|
||||
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
|
||||
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH | G_CLIPPING | 0x0040F9FA),
|
||||
gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH),
|
||||
gsSPTexture(0x8000, 0x8000, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetRenderMode(G_RM_ZB_XLU_SURF, G_RM_ZB_XLU_SURF2),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsDPSetColorDither(G_CD_NOISE),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3540B0/func_84369BF0.s")
|
||||
void func_843697F0(void) {
|
||||
s32 i;
|
||||
s32 j;
|
||||
unk_D_843ACA10* var_v0 = &D_843ACA10[0];
|
||||
unk_D_843ACA10_01C* var_a0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3540B0/func_84369C80.s")
|
||||
for (i = 0; i < 4; i++, var_v0++) {
|
||||
var_v0->unk_000 = 0;
|
||||
var_v0->unk_002 = 0;
|
||||
var_v0->unk_004 = 0;
|
||||
var_v0->unk_418 = 0.16f;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3540B0/func_84369F0C.s")
|
||||
var_a0 = &var_v0->unk_01C[0];
|
||||
for (j = 0; j < 15; j++, var_a0++) {
|
||||
var_a0->unk_00 = 0;
|
||||
var_a0->unk_04 = 1.0f;
|
||||
var_a0->unk_08 = 0.0f;
|
||||
var_a0->unk_0C.x = 0.0f;
|
||||
var_a0->unk_0C.y = 0.0f;
|
||||
var_a0->unk_0C.z = 0.0f;
|
||||
var_a0->unk_18.x = 0.0f;
|
||||
var_a0->unk_18.y = 0.0f;
|
||||
var_a0->unk_18.z = 0.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3540B0/func_84369FA0.s")
|
||||
void func_84369950(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, u8 arg6, u8 arg7, u8 arg8, u8 arg9,
|
||||
f32 argA, f32 argB, f32 argC, s16 argD) {
|
||||
s32 i;
|
||||
s32 j;
|
||||
unk_D_843ACA10* var_v1;
|
||||
unk_D_843ACA10_01C* var_s0;
|
||||
Vec3f sp64;
|
||||
Vec3f sp58;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3540B0/func_8436A410.s")
|
||||
sp64.x = arg0;
|
||||
sp64.y = arg1;
|
||||
sp64.z = arg2;
|
||||
sp58.x = arg3;
|
||||
sp58.y = arg4;
|
||||
sp58.z = arg5;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3540B0/func_8436A540.s")
|
||||
var_v1 = &D_843ACA10[0];
|
||||
for (i = 0; i < 4; i++, var_v1++) {
|
||||
if (var_v1->unk_000 == 0) {
|
||||
var_v1->unk_000 = 1;
|
||||
var_v1->unk_002 = 0;
|
||||
var_v1->unk_004 = argD;
|
||||
var_v1->unk_008.r = arg6;
|
||||
var_v1->unk_008.g = arg7;
|
||||
var_v1->unk_008.b = arg8;
|
||||
var_v1->unk_010 = argA;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3540B0/func_8436A808.s")
|
||||
if (func_8432FA0C() == 0xD) {
|
||||
var_v1->unk_418 = 0.08f;
|
||||
var_v1->unk_00C = argC * 0.5f;
|
||||
} else {
|
||||
var_v1->unk_418 = 0.16f;
|
||||
var_v1->unk_00C = argC;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3540B0/func_8436A890.s")
|
||||
var_v1->unk_018 = func_8432FD70(sp64, 2);
|
||||
if (arg3 < 0.0) {
|
||||
var_v1->unk_006 = -1;
|
||||
} else {
|
||||
var_v1->unk_006 = 1;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3540B0/func_8436ABA8.s")
|
||||
var_s0 = &var_v1->unk_01C[0];
|
||||
for (j = 0; j < 15; j++, var_s0++) {
|
||||
var_s0->unk_00 = (arg9 * (0xE - j)) / 15;
|
||||
var_s0->unk_04 = argB;
|
||||
var_s0->unk_08 = (RAND(120) * 6.2831855f) / 120.0;
|
||||
var_s0->unk_0C = sp64;
|
||||
var_s0->unk_18 = sp58;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3540B0/func_8436AC44.s")
|
||||
void func_84369BF0(f32 arg0, Vec3f* arg1, f32 arg2) {
|
||||
UNUSED MtxF sp70;
|
||||
MtxF sp30;
|
||||
UNUSED s32 pad;
|
||||
|
||||
guRotateF(sp30.mf, (arg0 * 360.0) / 6.2831854820251465, 1.0f, 0.0f, 0.0f);
|
||||
guMtxXFMF(sp30.mf, 0.0f, 0.0f, arg2, &arg1->x, &arg1->y, &arg1->z);
|
||||
}
|
||||
|
||||
void func_84369C80(unk_D_843ACA10* arg0) {
|
||||
s32 i;
|
||||
unk_D_843ACA10_01C* var_s0 = &arg0->unk_01C[0];
|
||||
|
||||
for (i = 0; i < 15; i++, var_s0++) {
|
||||
if (i == 0) {
|
||||
var_s0->unk_24 = var_s0->unk_04;
|
||||
var_s0->unk_28 = var_s0->unk_08;
|
||||
|
||||
var_s0->unk_2C = var_s0->unk_0C;
|
||||
var_s0->unk_38 = var_s0->unk_18;
|
||||
|
||||
var_s0->unk_0C.x += var_s0->unk_18.x;
|
||||
var_s0->unk_0C.y += var_s0->unk_18.y;
|
||||
var_s0->unk_0C.z += var_s0->unk_18.z;
|
||||
|
||||
var_s0->unk_08 += arg0->unk_010;
|
||||
if (arg0->unk_006 > 0) {
|
||||
var_s0->unk_18.x += 0.4;
|
||||
if (var_s0->unk_18.x > 20.0) {
|
||||
var_s0->unk_18.x = 20.0f;
|
||||
}
|
||||
} else {
|
||||
var_s0->unk_18.x -= 0.4;
|
||||
if (var_s0->unk_18.x < -20.0) {
|
||||
var_s0->unk_18.x = -20.0f;
|
||||
}
|
||||
}
|
||||
|
||||
func_8432FDF0(arg0->unk_018, var_s0->unk_0C);
|
||||
|
||||
var_s0->unk_04 += 2.0;
|
||||
if (arg0->unk_00C < var_s0->unk_04) {
|
||||
var_s0->unk_04 = arg0->unk_00C;
|
||||
}
|
||||
} else {
|
||||
var_s0->unk_24 = var_s0->unk_04;
|
||||
var_s0->unk_28 = var_s0->unk_08;
|
||||
|
||||
var_s0->unk_2C = var_s0->unk_0C;
|
||||
var_s0->unk_38 = var_s0->unk_18;
|
||||
|
||||
var_s0->unk_0C = var_s0[-1].unk_2C;
|
||||
var_s0->unk_08 = var_s0[-1].unk_28;
|
||||
var_s0->unk_18 = var_s0[-1].unk_38;
|
||||
var_s0->unk_04 = var_s0[-1].unk_24;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_84369F0C(void) {
|
||||
s32 i;
|
||||
unk_D_843ACA10* var_s0 = &D_843ACA10[0];
|
||||
|
||||
for (i = 0; i < 4; i++, var_s0++) {
|
||||
if (var_s0->unk_000 == 1) {
|
||||
var_s0->unk_002 += 1;
|
||||
if (var_s0->unk_004 < var_s0->unk_002) {
|
||||
var_s0->unk_000 = 0;
|
||||
} else {
|
||||
func_84369C80(var_s0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Gfx* func_84369FA0(Gfx* arg0) {
|
||||
s32 i;
|
||||
s32 j;
|
||||
s32 k;
|
||||
unk_D_843ACA10_01C* temp_s0;
|
||||
unk_D_843ACA10* var_s5;
|
||||
Vtx* var_s0;
|
||||
Vec3f sp154;
|
||||
UNUSED s32 pad[15];
|
||||
Mtx* temp_v0;
|
||||
Mtx sp100;
|
||||
Mtx spC0;
|
||||
s16 var_s3;
|
||||
|
||||
var_s5 = &D_843ACA10[0];
|
||||
for (i = 0; i < 4; i++, var_s5++) {
|
||||
if (var_s5->unk_000 == 1) {
|
||||
temp_s0 = &var_s5->unk_01C[0];
|
||||
if (temp_s0->unk_0C.y > 0.0f) {
|
||||
temp_v0 = func_80005F5C(sizeof(Mtx) * 1);
|
||||
guTranslate(temp_v0, temp_s0->unk_0C.x, temp_s0->unk_0C.y, temp_s0->unk_0C.z);
|
||||
guRotateRPY(&sp100, (temp_s0->unk_08 * -360.0f * var_s5->unk_006) / 6.2831854820251465,
|
||||
0x5A - (var_s5->unk_006 * 0x5A), 0.0f);
|
||||
guMtxCatL(&sp100, temp_v0, temp_v0);
|
||||
guScale(&spC0, var_s5->unk_418, var_s5->unk_418, var_s5->unk_418);
|
||||
guMtxCatL(&spC0, temp_v0, temp_v0);
|
||||
|
||||
gSPMatrix(arg0++, temp_v0, G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(arg0++, D_8438A980);
|
||||
gSPPopMatrix(arg0++, G_MTX_MODELVIEW);
|
||||
}
|
||||
|
||||
var_s5->unk_014 = func_80005F5C(sizeof(Vtx) * 30);
|
||||
|
||||
var_s0 = var_s5->unk_014;
|
||||
for (j = 0; j < 15; j++) {
|
||||
func_84369BF0(temp_s0->unk_08, &sp154, temp_s0->unk_04);
|
||||
|
||||
var_s3 = temp_s0->unk_0C.y + sp154.y;
|
||||
if (var_s3 < 0) {
|
||||
var_s3 = 0;
|
||||
}
|
||||
|
||||
var_s0->v.ob[0] = temp_s0->unk_0C.x + sp154.x;
|
||||
var_s0->v.ob[1] = var_s3;
|
||||
var_s0->v.ob[2] = temp_s0->unk_0C.z + sp154.z;
|
||||
var_s0->v.cn[0] = var_s5->unk_008.r;
|
||||
var_s0->v.cn[1] = var_s5->unk_008.g;
|
||||
var_s0->v.cn[2] = var_s5->unk_008.b;
|
||||
var_s0->v.cn[3] = temp_s0->unk_00;
|
||||
var_s0++;
|
||||
|
||||
func_84369BF0(temp_s0->unk_08 + 3.1415927f, &sp154, temp_s0->unk_04);
|
||||
|
||||
var_s3 = temp_s0->unk_0C.y + sp154.y;
|
||||
if (var_s3 < 0) {
|
||||
var_s3 = 0;
|
||||
}
|
||||
|
||||
var_s0->v.ob[0] = temp_s0->unk_0C.x + sp154.x;
|
||||
var_s0->v.ob[1] = var_s3;
|
||||
var_s0->v.ob[2] = temp_s0->unk_0C.z + sp154.z;
|
||||
var_s0->v.cn[0] = var_s5->unk_008.r;
|
||||
var_s0->v.cn[1] = var_s5->unk_008.g;
|
||||
var_s0->v.cn[2] = var_s5->unk_008.b;
|
||||
var_s0->v.cn[3] = temp_s0->unk_00;
|
||||
var_s0++;
|
||||
|
||||
temp_s0++;
|
||||
}
|
||||
|
||||
var_s0 = var_s5->unk_014;
|
||||
|
||||
gSPDisplayList(arg0++, D_84389A00);
|
||||
|
||||
for (k = 0; k < 14; k++) {
|
||||
gSPVertex(arg0++, var_s0, 4, 0);
|
||||
gSP2Triangles(arg0++, 0, 2, 1, 0, 2, 3, 1, 0);
|
||||
var_s0 += 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return arg0;
|
||||
}
|
||||
|
|
|
|||
312
src/fragments/62/fragment62_354CD0.c
Normal file
312
src/fragments/62/fragment62_354CD0.c
Normal file
|
|
@ -0,0 +1,312 @@
|
|||
#include "fragment62.h"
|
||||
#include "src/6A40.h"
|
||||
|
||||
static unk_D_843ADA80 D_843ADA80[50];
|
||||
|
||||
static Gfx D_84389A50[] = {
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCycleType(G_CYC_1CYCLE),
|
||||
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
|
||||
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH | G_CLIPPING | 0x0040F9FA),
|
||||
gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH),
|
||||
gsSPTexture(0x8000, 0x8000, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetRenderMode(G_RM_ZB_XLU_SURF, G_RM_ZB_XLU_SURF2),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsDPSetColorDither(G_CD_NOISE),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
static Vtx D_84389AA0[] = {
|
||||
VTX(-6, 0, -6, 2048, 0, 0xFF, 0xFF, 0xFF, 0x14),
|
||||
VTX(6, 0, -6, 0, 0, 0xFF, 0xFF, 0xFF, 0x14),
|
||||
VTX(-6, 0, 6, 2048, 2048, 0xFF, 0xFF, 0xFF, 0x14),
|
||||
VTX(6, 0, 6, 0, 2048, 0xFF, 0xFF, 0xFF, 0x14),
|
||||
};
|
||||
Gfx D_84389AE0[] = {
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCycleType(G_CYC_1CYCLE),
|
||||
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
|
||||
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH | G_CLIPPING | 0x0040F9FA),
|
||||
gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH),
|
||||
gsSPTexture(0x8000, 0x8000, 0, G_TX_RENDERTILE, G_ON),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetRenderMode(G_RM_AA_ZB_TEX_EDGE, G_RM_AA_ZB_TEX_EDGE2),
|
||||
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
|
||||
gsDPSetTexturePersp(G_TP_PERSP),
|
||||
gsDPSetTextureLUT(G_TT_NONE),
|
||||
gsDPSetTextureFilter(G_TF_BILERP),
|
||||
gsDPPipeSync(),
|
||||
gsSPVertex(D_84389AA0, 4, 0),
|
||||
gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
void func_8436A410(void) {
|
||||
unk_D_843ADA80* var_v0 = &D_843ADA80[0];
|
||||
unk_D_843ADA80_040* var_a0;
|
||||
s32 i;
|
||||
s32 j;
|
||||
|
||||
for (i = 0; i < 50; i++, var_v0++) {
|
||||
var_v0->unk_000 = 0;
|
||||
var_v0->unk_004 = 0;
|
||||
var_v0->unk_006 = 0;
|
||||
|
||||
var_a0 = &var_v0->unk_040[0];
|
||||
|
||||
for (j = 0; j < 10; j++, var_a0++) {
|
||||
var_a0->unk_00 = 0;
|
||||
var_a0->unk_04 = 1.0f;
|
||||
var_a0->unk_08 = 0.0f;
|
||||
|
||||
var_a0->unk_0C.x = 0.0f;
|
||||
var_a0->unk_0C.y = 0.0f;
|
||||
var_a0->unk_0C.z = 0.0f;
|
||||
var_a0->unk_18.x = 0.0f;
|
||||
var_a0->unk_18.y = 0.0f;
|
||||
var_a0->unk_18.z = 0.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_8436A540(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, u8 arg6, u8 arg7, u8 arg8, u8 arg9,
|
||||
f32 argA, f32 argB, f32 argC, s16 argD) {
|
||||
unk_D_843ADA80* var_v1;
|
||||
unk_D_843ADA80_040* var_s0;
|
||||
s32 i;
|
||||
s32 j;
|
||||
Vec3f sp7C;
|
||||
Vec3f sp70;
|
||||
Vec3f sp64;
|
||||
f32 temp_fv1;
|
||||
|
||||
temp_fv1 = func_8432FCD4() * 0.5f;
|
||||
|
||||
sp7C.x = arg0;
|
||||
sp7C.y = (80.0f * temp_fv1) + arg1;
|
||||
sp7C.z = arg2;
|
||||
|
||||
sp70.x = arg3;
|
||||
sp70.y = arg4;
|
||||
sp70.z = arg5;
|
||||
|
||||
sp64.x = 0.0f;
|
||||
sp64.y = temp_fv1 * -2.0;
|
||||
sp64.z = 0.0f;
|
||||
|
||||
var_v1 = &D_843ADA80[0];
|
||||
|
||||
for (i = 0; i < 50; i++, var_v1++) {
|
||||
if (var_v1->unk_000 == 0) {
|
||||
var_v1->unk_000 = 1;
|
||||
var_v1->unk_002 = 0;
|
||||
var_v1->unk_004 = 0;
|
||||
var_v1->unk_006 = argD;
|
||||
var_v1->unk_00A.r = arg6;
|
||||
var_v1->unk_00A.g = arg7;
|
||||
var_v1->unk_00A.b = arg8;
|
||||
var_v1->unk_024 = sp7C;
|
||||
var_v1->unk_014 = argC;
|
||||
var_v1->unk_018 = argA;
|
||||
var_v1->unk_010 = temp_fv1;
|
||||
|
||||
if (arg0 > 0.0) {
|
||||
var_v1->unk_008 = -1;
|
||||
} else {
|
||||
var_v1->unk_008 = 1;
|
||||
}
|
||||
|
||||
var_s0 = var_v1->unk_040;
|
||||
for (j = 0; j < 10; j++, var_s0++) {
|
||||
var_s0->unk_00 = (arg9 * (9 - j)) / 10;
|
||||
var_s0->unk_04 = argB;
|
||||
var_s0->unk_08 = (RAND(120) * 6.2831855f) / 120.0;
|
||||
var_s0->unk_0C = sp7C;
|
||||
var_s0->unk_18 = sp70;
|
||||
var_s0->unk_24 = sp64;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_8436A808(f32 arg0, Vec3f* arg1, f32 arg2) {
|
||||
MtxF sp30;
|
||||
f32 temp_fv0 = (arg0 * 360.0) / 6.2831854820251465;
|
||||
|
||||
guRotateRPYF(sp30.mf, 90.0f, temp_fv0, temp_fv0);
|
||||
guMtxXFMF(sp30.mf, 0.0f, 0.0f, arg2, &arg1->x, &arg1->y, &arg1->z);
|
||||
}
|
||||
|
||||
void func_8436A890(unk_D_843ADA80* arg0) {
|
||||
s32 i;
|
||||
f32 temp_fs3 = arg0->unk_010;
|
||||
unk_D_843ADA80_040* var_s0 = &arg0->unk_040[0];
|
||||
|
||||
for (i = 0; i < 10; i++, var_s0++) {
|
||||
if (i == 0) {
|
||||
var_s0->unk_30 = var_s0->unk_04;
|
||||
var_s0->unk_34 = var_s0->unk_08;
|
||||
var_s0->unk_38 = var_s0->unk_0C;
|
||||
var_s0->unk_44 = var_s0->unk_18;
|
||||
|
||||
switch (arg0->unk_002) {
|
||||
case 0:
|
||||
var_s0->unk_0C.x += var_s0->unk_24.x;
|
||||
var_s0->unk_0C.y += var_s0->unk_24.y;
|
||||
var_s0->unk_0C.z += var_s0->unk_24.z;
|
||||
var_s0->unk_08 += arg0->unk_018;
|
||||
var_s0->unk_24.x += __sinf(var_s0->unk_08) * temp_fs3;
|
||||
var_s0->unk_24.z += __cosf(var_s0->unk_08) * temp_fs3;
|
||||
if (arg0->unk_004 >= 0x15) {
|
||||
arg0->unk_002 = 1;
|
||||
arg0->unk_004 = 0;
|
||||
}
|
||||
break;
|
||||
|
||||
case 1:
|
||||
var_s0->unk_0C.x += var_s0->unk_18.x;
|
||||
var_s0->unk_0C.y += var_s0->unk_18.y;
|
||||
var_s0->unk_0C.z += var_s0->unk_18.z;
|
||||
var_s0->unk_08 += arg0->unk_018;
|
||||
if (arg0->unk_008 > 0) {
|
||||
var_s0->unk_18.x += 2.0;
|
||||
if (var_s0->unk_18.x > 20.0) {
|
||||
var_s0->unk_18.x = 20.0f;
|
||||
}
|
||||
} else {
|
||||
var_s0->unk_18.x -= 2.0;
|
||||
if (var_s0->unk_18.x < -20.0) {
|
||||
var_s0->unk_18.x = -20.0f;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
var_s0->unk_04 += 2.0;
|
||||
if (arg0->unk_014 < var_s0->unk_04) {
|
||||
var_s0->unk_04 = arg0->unk_014;
|
||||
}
|
||||
} else {
|
||||
var_s0->unk_30 = var_s0->unk_04;
|
||||
var_s0->unk_34 = var_s0->unk_08;
|
||||
|
||||
var_s0->unk_38 = var_s0->unk_0C;
|
||||
var_s0->unk_44 = var_s0->unk_18;
|
||||
|
||||
var_s0->unk_0C = var_s0[-1].unk_38;
|
||||
var_s0->unk_08 = var_s0[-1].unk_34;
|
||||
var_s0->unk_18 = var_s0[-1].unk_44;
|
||||
var_s0->unk_04 = var_s0[-1].unk_30;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_8436ABA8(void) {
|
||||
s32 i;
|
||||
unk_D_843ADA80* var_s0 = &D_843ADA80[0];
|
||||
|
||||
for (i = 0; i < 50; i++, var_s0++) {
|
||||
if (var_s0->unk_000 == 1) {
|
||||
var_s0->unk_004++;
|
||||
if ((var_s0->unk_002 == 1) && (var_s0->unk_006 < var_s0->unk_004)) {
|
||||
var_s0->unk_000 = 0;
|
||||
} else {
|
||||
func_8436A890(var_s0);
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
Gfx* func_8436AC44(Gfx* arg0) {
|
||||
s32 i;
|
||||
s32 j;
|
||||
s32 k;
|
||||
unk_D_843ADA80_040* temp_s0;
|
||||
unk_D_843ADA80* var_s5;
|
||||
Vtx* var_s0;
|
||||
Vec3f sp184;
|
||||
UNUSED s32 pad[15];
|
||||
Mtx* temp_v0;
|
||||
Mtx sp100;
|
||||
Mtx spC0;
|
||||
f32 temp_fs1;
|
||||
s16 var_s3;
|
||||
f32 tmp;
|
||||
|
||||
gDPLoadTextureBlock(arg0++, D_843920C0[0x1E], G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD);
|
||||
|
||||
var_s5 = &D_843ADA80[0];
|
||||
for (i = 0; i < 50; i++, var_s5++) {
|
||||
if (var_s5->unk_000 == 1) {
|
||||
temp_s0 = &var_s5->unk_040[0];
|
||||
tmp = var_s5->unk_010;
|
||||
if (temp_s0->unk_0C.y > 0.0f) {
|
||||
temp_fs1 = (temp_s0->unk_08 * 360.0f) / 6.2831854820251465;
|
||||
temp_v0 = func_80005F5C(sizeof(Mtx) * 1);
|
||||
guTranslate(temp_v0, temp_s0->unk_0C.x, temp_s0->unk_0C.y, temp_s0->unk_0C.z);
|
||||
guRotateRPY(&sp100, 90.0f, temp_fs1, temp_fs1);
|
||||
guMtxCatL(&sp100, temp_v0, temp_v0);
|
||||
guScale(&spC0, tmp, tmp, tmp);
|
||||
guMtxCatL(&spC0, temp_v0, temp_v0);
|
||||
|
||||
gSPMatrix(arg0++, temp_v0, G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(arg0++, D_84389AE0);
|
||||
gSPPopMatrix(arg0++, G_MTX_MODELVIEW);
|
||||
}
|
||||
|
||||
var_s5->unk_020 = func_80005F5C(0x140);
|
||||
|
||||
var_s0 = var_s5->unk_020;
|
||||
for (j = 0; j < 10; j++) {
|
||||
func_8436A808(temp_s0->unk_08, &sp184, temp_s0->unk_04 * tmp);
|
||||
|
||||
var_s3 = temp_s0->unk_0C.y + sp184.y;
|
||||
if (var_s3 < 0) {
|
||||
var_s3 = 0;
|
||||
}
|
||||
|
||||
var_s0->v.ob[0] = temp_s0->unk_0C.x + sp184.x;
|
||||
var_s0->v.ob[1] = var_s3;
|
||||
var_s0->v.ob[2] = temp_s0->unk_0C.z + sp184.z;
|
||||
var_s0->v.cn[0] = var_s5->unk_00A.r;
|
||||
var_s0->v.cn[1] = var_s5->unk_00A.g;
|
||||
var_s0->v.cn[2] = var_s5->unk_00A.b;
|
||||
var_s0->v.cn[3] = temp_s0->unk_00;
|
||||
var_s0++;
|
||||
|
||||
func_8436A808(temp_s0->unk_08 + 3.1415927f, &sp184, temp_s0->unk_04 * tmp);
|
||||
|
||||
var_s3 = temp_s0->unk_0C.y + sp184.y;
|
||||
if (var_s3 < 0) {
|
||||
var_s3 = 0;
|
||||
}
|
||||
|
||||
var_s0->v.ob[0] = temp_s0->unk_0C.x + sp184.x;
|
||||
var_s0->v.ob[1] = var_s3;
|
||||
var_s0->v.ob[2] = temp_s0->unk_0C.z + sp184.z;
|
||||
var_s0->v.cn[0] = var_s5->unk_00A.r;
|
||||
var_s0->v.cn[1] = var_s5->unk_00A.g;
|
||||
var_s0->v.cn[2] = var_s5->unk_00A.b;
|
||||
var_s0->v.cn[3] = temp_s0->unk_00;
|
||||
var_s0++;
|
||||
|
||||
temp_s0++;
|
||||
}
|
||||
|
||||
var_s0 = var_s5->unk_020;
|
||||
|
||||
gSPDisplayList(arg0++, D_84389A50);
|
||||
|
||||
for (k = 0; k < 9; k++) {
|
||||
gSPVertex(arg0++, var_s0, 4, 0);
|
||||
gSP2Triangles(arg0++, 0, 2, 1, 0, 2, 3, 1, 0);
|
||||
var_s0 += 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return arg0;
|
||||
}
|
||||
|
|
@ -1,13 +1,312 @@
|
|||
#include "global.h"
|
||||
#include "fragment62.h"
|
||||
#include "src/6A40.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_355A00/func_8436B140.s")
|
||||
static unk_D_843ADA80 D_843B8340[50];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_355A00/func_8436B270.s")
|
||||
static Gfx D_84389B60[] = {
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCycleType(G_CYC_1CYCLE),
|
||||
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
|
||||
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH | G_CLIPPING | 0x0040F9FA),
|
||||
gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH),
|
||||
gsSPTexture(0x8000, 0x8000, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetRenderMode(G_RM_ZB_XLU_SURF, G_RM_ZB_XLU_SURF2),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsDPSetColorDither(G_CD_NOISE),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
static Vtx D_84389BB0[] = {
|
||||
VTX(-6, 0, -6, 2048, 0, 0xFF, 0xFF, 0xFF, 0x14),
|
||||
VTX(6, 0, -6, 0, 0, 0xFF, 0xFF, 0xFF, 0x14),
|
||||
VTX(-6, 0, 6, 2048, 2048, 0xFF, 0xFF, 0xFF, 0x14),
|
||||
VTX(6, 0, 6, 0, 2048, 0xFF, 0xFF, 0xFF, 0x14),
|
||||
};
|
||||
static Gfx D_84389BF0[] = {
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCycleType(G_CYC_1CYCLE),
|
||||
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
|
||||
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH | G_CLIPPING | 0x0040F9FA),
|
||||
gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH),
|
||||
gsSPTexture(0x8000, 0x8000, 0, G_TX_RENDERTILE, G_ON),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetRenderMode(G_RM_AA_ZB_TEX_EDGE, G_RM_AA_ZB_TEX_EDGE2),
|
||||
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
|
||||
gsDPSetTexturePersp(G_TP_PERSP),
|
||||
gsDPSetTextureLUT(G_TT_NONE),
|
||||
gsDPSetTextureFilter(G_TF_BILERP),
|
||||
gsDPPipeSync(),
|
||||
gsSPVertex(D_84389BB0, 4, 0),
|
||||
gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_355A00/func_8436B538.s")
|
||||
void func_8436B140(void) {
|
||||
unk_D_843ADA80* var_v0 = &D_843B8340[0];
|
||||
unk_D_843ADA80_040* var_a0;
|
||||
s32 i;
|
||||
s32 j;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_355A00/func_8436B5C0.s")
|
||||
for (i = 0; i < 50; i++, var_v0++) {
|
||||
var_v0->unk_000 = 0;
|
||||
var_v0->unk_004 = 0;
|
||||
var_v0->unk_006 = 0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_355A00/func_8436B8D8.s")
|
||||
var_a0 = &var_v0->unk_040[0];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_355A00/func_8436B974.s")
|
||||
for (j = 0; j < 10; j++, var_a0++) {
|
||||
var_a0->unk_00 = 0;
|
||||
var_a0->unk_04 = 1.0f;
|
||||
var_a0->unk_08 = 0.0f;
|
||||
|
||||
var_a0->unk_0C.x = 0.0f;
|
||||
var_a0->unk_0C.y = 0.0f;
|
||||
var_a0->unk_0C.z = 0.0f;
|
||||
var_a0->unk_18.x = 0.0f;
|
||||
var_a0->unk_18.y = 0.0f;
|
||||
var_a0->unk_18.z = 0.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_8436B270(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, u8 arg6, u8 arg7, u8 arg8, u8 arg9,
|
||||
f32 argA, f32 argB, f32 argC, s16 argD) {
|
||||
unk_D_843ADA80* var_v1;
|
||||
unk_D_843ADA80_040* var_s0;
|
||||
s32 i;
|
||||
s32 j;
|
||||
Vec3f sp7C;
|
||||
Vec3f sp70;
|
||||
Vec3f sp64;
|
||||
f32 temp_fv1;
|
||||
|
||||
temp_fv1 = func_8432FCD4() * 0.5f;
|
||||
|
||||
sp7C.x = arg0;
|
||||
sp7C.y = (80.0f * temp_fv1) + arg1;
|
||||
sp7C.z = arg2;
|
||||
|
||||
sp70.x = arg3;
|
||||
sp70.y = arg4;
|
||||
sp70.z = arg5;
|
||||
|
||||
sp64.x = 0.0f;
|
||||
sp64.y = temp_fv1 * -2.0;
|
||||
sp64.z = 0.0f;
|
||||
|
||||
var_v1 = &D_843B8340[0];
|
||||
|
||||
for (i = 0; i < 50; i++, var_v1++) {
|
||||
if (var_v1->unk_000 == 0) {
|
||||
var_v1->unk_000 = 1;
|
||||
var_v1->unk_002 = 0;
|
||||
var_v1->unk_004 = 0;
|
||||
var_v1->unk_006 = argD;
|
||||
var_v1->unk_00A.r = arg6;
|
||||
var_v1->unk_00A.g = arg7;
|
||||
var_v1->unk_00A.b = arg8;
|
||||
var_v1->unk_024 = sp7C;
|
||||
var_v1->unk_014 = argC;
|
||||
var_v1->unk_018 = argA;
|
||||
var_v1->unk_010 = temp_fv1;
|
||||
|
||||
if (arg0 > 0.0) {
|
||||
var_v1->unk_008 = -1;
|
||||
} else {
|
||||
var_v1->unk_008 = 1;
|
||||
}
|
||||
|
||||
var_s0 = var_v1->unk_040;
|
||||
for (j = 0; j < 10; j++, var_s0++) {
|
||||
var_s0->unk_00 = (arg9 * (9 - j)) / 10;
|
||||
var_s0->unk_04 = argB;
|
||||
var_s0->unk_08 = (RAND(120) * 6.2831855f) / 120.0;
|
||||
var_s0->unk_0C = sp7C;
|
||||
var_s0->unk_18 = sp70;
|
||||
var_s0->unk_24 = sp64;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_8436B538(f32 arg0, Vec3f* arg1, f32 arg2) {
|
||||
MtxF sp30;
|
||||
f32 temp_fv0 = (arg0 * 360.0) / 6.2831854820251465;
|
||||
|
||||
guRotateRPYF(sp30.mf, 90.0f, temp_fv0, temp_fv0);
|
||||
guMtxXFMF(sp30.mf, 0.0f, 0.0f, arg2, &arg1->x, &arg1->y, &arg1->z);
|
||||
}
|
||||
|
||||
void func_8436B5C0(unk_D_843ADA80* arg0) {
|
||||
s32 i;
|
||||
f32 temp_fs3 = arg0->unk_010;
|
||||
unk_D_843ADA80_040* var_s0 = &arg0->unk_040[0];
|
||||
|
||||
for (i = 0; i < 10; i++, var_s0++) {
|
||||
if (i == 0) {
|
||||
var_s0->unk_30 = var_s0->unk_04;
|
||||
var_s0->unk_34 = var_s0->unk_08;
|
||||
var_s0->unk_38 = var_s0->unk_0C;
|
||||
var_s0->unk_44 = var_s0->unk_18;
|
||||
|
||||
switch (arg0->unk_002) {
|
||||
case 0:
|
||||
var_s0->unk_0C.x += var_s0->unk_24.x;
|
||||
var_s0->unk_0C.y += var_s0->unk_24.y;
|
||||
var_s0->unk_0C.z += var_s0->unk_24.z;
|
||||
var_s0->unk_08 += arg0->unk_018;
|
||||
var_s0->unk_24.x += __sinf(var_s0->unk_08) * temp_fs3;
|
||||
var_s0->unk_24.z += __cosf(var_s0->unk_08) * temp_fs3;
|
||||
if (arg0->unk_004 >= 0x15) {
|
||||
arg0->unk_002 = 1;
|
||||
arg0->unk_004 = 0;
|
||||
}
|
||||
break;
|
||||
|
||||
case 1:
|
||||
var_s0->unk_0C.x += var_s0->unk_18.x;
|
||||
var_s0->unk_0C.y += var_s0->unk_18.y;
|
||||
var_s0->unk_0C.z += var_s0->unk_18.z;
|
||||
var_s0->unk_08 += arg0->unk_018;
|
||||
if (arg0->unk_008 > 0) {
|
||||
var_s0->unk_18.x += 2.0;
|
||||
if (var_s0->unk_18.x > 20.0) {
|
||||
var_s0->unk_18.x = 20.0f;
|
||||
}
|
||||
} else {
|
||||
var_s0->unk_18.x -= 2.0;
|
||||
if (var_s0->unk_18.x < -20.0) {
|
||||
var_s0->unk_18.x = -20.0f;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
var_s0->unk_04 += 2.0;
|
||||
if (arg0->unk_014 < var_s0->unk_04) {
|
||||
var_s0->unk_04 = arg0->unk_014;
|
||||
}
|
||||
} else {
|
||||
var_s0->unk_30 = var_s0->unk_04;
|
||||
var_s0->unk_34 = var_s0->unk_08;
|
||||
|
||||
var_s0->unk_38 = var_s0->unk_0C;
|
||||
var_s0->unk_44 = var_s0->unk_18;
|
||||
|
||||
var_s0->unk_0C = var_s0[-1].unk_38;
|
||||
var_s0->unk_08 = var_s0[-1].unk_34;
|
||||
var_s0->unk_18 = var_s0[-1].unk_44;
|
||||
var_s0->unk_04 = var_s0[-1].unk_30;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_8436B8D8(void) {
|
||||
s32 i;
|
||||
unk_D_843ADA80* var_s0 = &D_843B8340[0];
|
||||
|
||||
for (i = 0; i < 50; i++, var_s0++) {
|
||||
if (var_s0->unk_000 == 1) {
|
||||
var_s0->unk_004++;
|
||||
if ((var_s0->unk_002 == 1) && (var_s0->unk_006 < var_s0->unk_004)) {
|
||||
var_s0->unk_000 = 0;
|
||||
} else {
|
||||
func_8436B5C0(var_s0);
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
Gfx* func_8436B974(Gfx* arg0) {
|
||||
s32 i;
|
||||
s32 j;
|
||||
s32 k;
|
||||
unk_D_843ADA80_040* temp_s0;
|
||||
unk_D_843ADA80* var_s5;
|
||||
Vtx* var_s0;
|
||||
Vec3f sp184;
|
||||
UNUSED s32 pad[15];
|
||||
Mtx* temp_v0;
|
||||
Mtx sp100;
|
||||
Mtx spC0;
|
||||
f32 temp_fs1;
|
||||
s16 var_s3;
|
||||
f32 tmp;
|
||||
|
||||
gDPLoadTextureBlock(arg0++, D_843920C0[0x1C], G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD);
|
||||
|
||||
var_s5 = &D_843B8340[0];
|
||||
for (i = 0; i < 50; i++, var_s5++) {
|
||||
if (var_s5->unk_000 == 1) {
|
||||
temp_s0 = &var_s5->unk_040[0];
|
||||
tmp = var_s5->unk_010;
|
||||
if (temp_s0->unk_0C.y > 0.0f) {
|
||||
temp_fs1 = (temp_s0->unk_08 * 360.0f) / 6.2831854820251465;
|
||||
temp_v0 = func_80005F5C(sizeof(Mtx) * 1);
|
||||
guTranslate(temp_v0, temp_s0->unk_0C.x, temp_s0->unk_0C.y, temp_s0->unk_0C.z);
|
||||
guRotateRPY(&sp100, 90.0f, temp_fs1, temp_fs1);
|
||||
guMtxCatL(&sp100, temp_v0, temp_v0);
|
||||
guScale(&spC0, tmp, tmp, tmp);
|
||||
guMtxCatL(&spC0, temp_v0, temp_v0);
|
||||
|
||||
gSPMatrix(arg0++, temp_v0, G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(arg0++, D_84389BF0);
|
||||
gSPPopMatrix(arg0++, G_MTX_MODELVIEW);
|
||||
}
|
||||
|
||||
var_s5->unk_020 = func_80005F5C(0x140);
|
||||
|
||||
var_s0 = var_s5->unk_020;
|
||||
for (j = 0; j < 10; j++) {
|
||||
func_8436B538(temp_s0->unk_08, &sp184, temp_s0->unk_04 * tmp);
|
||||
|
||||
var_s3 = temp_s0->unk_0C.y + sp184.y;
|
||||
if (var_s3 < 0) {
|
||||
var_s3 = 0;
|
||||
}
|
||||
|
||||
var_s0->v.ob[0] = temp_s0->unk_0C.x + sp184.x;
|
||||
var_s0->v.ob[1] = var_s3;
|
||||
var_s0->v.ob[2] = temp_s0->unk_0C.z + sp184.z;
|
||||
var_s0->v.cn[0] = var_s5->unk_00A.r;
|
||||
var_s0->v.cn[1] = var_s5->unk_00A.g;
|
||||
var_s0->v.cn[2] = var_s5->unk_00A.b;
|
||||
var_s0->v.cn[3] = temp_s0->unk_00;
|
||||
var_s0++;
|
||||
|
||||
func_8436B538(temp_s0->unk_08 + 3.1415927f, &sp184, temp_s0->unk_04 * tmp);
|
||||
|
||||
var_s3 = temp_s0->unk_0C.y + sp184.y;
|
||||
if (var_s3 < 0) {
|
||||
var_s3 = 0;
|
||||
}
|
||||
|
||||
var_s0->v.ob[0] = temp_s0->unk_0C.x + sp184.x;
|
||||
var_s0->v.ob[1] = var_s3;
|
||||
var_s0->v.ob[2] = temp_s0->unk_0C.z + sp184.z;
|
||||
var_s0->v.cn[0] = var_s5->unk_00A.r;
|
||||
var_s0->v.cn[1] = var_s5->unk_00A.g;
|
||||
var_s0->v.cn[2] = var_s5->unk_00A.b;
|
||||
var_s0->v.cn[3] = temp_s0->unk_00;
|
||||
var_s0++;
|
||||
|
||||
temp_s0++;
|
||||
}
|
||||
|
||||
var_s0 = var_s5->unk_020;
|
||||
|
||||
gSPDisplayList(arg0++, D_84389B60);
|
||||
|
||||
for (k = 0; k < 9; k++) {
|
||||
gSPVertex(arg0++, var_s0, 4, 0);
|
||||
gSP2Triangles(arg0++, 0, 2, 1, 0, 2, 3, 1, 0);
|
||||
var_s0 += 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return arg0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,17 +1,401 @@
|
|||
#include "global.h"
|
||||
#include "fragment62.h"
|
||||
#include "src/32D10.h"
|
||||
#include "src/6A40.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_356730/func_8436BE70.s")
|
||||
static unk_D_843C2C00 D_843C2C00[4];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_356730/func_8436BFB8.s")
|
||||
static Gfx D_84389C70[] = {
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCycleType(G_CYC_2CYCLE),
|
||||
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
|
||||
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH | G_CLIPPING | 0x0040F9FA),
|
||||
gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_XLU_SURF2),
|
||||
gsDPSetTexturePersp(G_TP_PERSP),
|
||||
gsDPSetTextureDetail(G_TD_CLAMP),
|
||||
gsDPSetTextureLOD(G_TL_TILE),
|
||||
gsDPSetTextureLUT(G_TT_NONE),
|
||||
gsDPSetTextureConvert(G_TC_FILT),
|
||||
gsDPSetTextureFilter(G_TF_BILERP),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_356730/func_8436C344.s")
|
||||
void func_8436BE70(void) {
|
||||
s32 i;
|
||||
s32 j;
|
||||
unk_D_843C2C00* var_v0 = &D_843C2C00[0];
|
||||
unk_D_843C2C00_0B0* var_a0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_356730/func_8436C3CC.s")
|
||||
for (i = 0; i < 4; i++, var_v0++) {
|
||||
var_v0->unk_000 = 0;
|
||||
var_v0->unk_002 = 0;
|
||||
var_v0->unk_004 = 0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_356730/func_8436C62C.s")
|
||||
var_a0 = &var_v0->unk_0B0[0];
|
||||
for (j = 0; j < 10; j++, var_a0++) {
|
||||
var_a0->unk_00 = 0;
|
||||
var_a0->unk_04 = 0;
|
||||
var_a0->unk_08 = 1.0f;
|
||||
var_a0->unk_0C = 0.0f;
|
||||
var_a0->unk_10.x = 0.0f;
|
||||
var_a0->unk_10.y = 0.0f;
|
||||
var_a0->unk_10.z = 0.0f;
|
||||
var_a0->unk_1C = 0.0f;
|
||||
var_a0->unk_20 = 0.0f;
|
||||
var_a0->unk_24 = 0.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_8436BFB8(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, f32 arg8, f32 arg9,
|
||||
f32 argA, s16 argB, s32 argC, s32 argD, s16 argE, s16 argF, s16 arg10, s16 arg11, s16 arg12,
|
||||
s16 arg13, s16 arg14, s16 arg15, unk_D_843C2C00_024* arg16, unk_D_843C2C00_024* arg17, u8 arg18,
|
||||
u8 arg19, u8 arg1A, u8 arg1B, u8 arg1C, u8 arg1D, u8 arg1E, u8 arg1F, u8 arg20, u8 arg21, u8 arg22,
|
||||
u8 arg23, u8 arg24) {
|
||||
unk_D_843C2C00* var_v0;
|
||||
unk_D_843C2C00_0B0* var_a0;
|
||||
s32 i;
|
||||
s32 j;
|
||||
Vec3f sp3C;
|
||||
Vec3f sp30;
|
||||
|
||||
sp3C.x = arg0;
|
||||
sp3C.y = arg1;
|
||||
sp3C.z = arg2;
|
||||
|
||||
sp30.x = arg3;
|
||||
sp30.y = arg4;
|
||||
sp30.z = arg5;
|
||||
|
||||
var_v0 = &D_843C2C00[0];
|
||||
for (i = 0; i < 4; i++, var_v0++) {
|
||||
if (var_v0->unk_000 == 0) {
|
||||
var_v0->unk_000 = 1;
|
||||
var_v0->unk_002 = 0;
|
||||
var_v0->unk_004 = argB;
|
||||
var_v0->unk_008 = argA;
|
||||
var_v0->unk_010 = arg7;
|
||||
var_v0->unk_014 = arg8;
|
||||
var_v0->unk_00C = arg6;
|
||||
var_v0->unk_01C = argC;
|
||||
var_v0->unk_020 = argD;
|
||||
|
||||
var_v0->unk_064.unk_00 = 0;
|
||||
var_v0->unk_064.unk_02 = 0;
|
||||
var_v0->unk_070.unk_00 = 0;
|
||||
var_v0->unk_070.unk_02 = 0;
|
||||
|
||||
var_v0->unk_064.unk_04 = argE;
|
||||
var_v0->unk_064.unk_06 = argF;
|
||||
var_v0->unk_070.unk_04 = arg12;
|
||||
var_v0->unk_070.unk_06 = arg13;
|
||||
|
||||
var_v0->unk_064.unk_08 = arg10;
|
||||
var_v0->unk_064.unk_0A = arg11;
|
||||
var_v0->unk_070.unk_08 = arg14;
|
||||
var_v0->unk_070.unk_0A = arg15;
|
||||
|
||||
var_v0->unk_024 = *arg16;
|
||||
var_v0->unk_044 = *arg17;
|
||||
|
||||
var_v0->unk_07C.unk_00.r = arg18;
|
||||
var_v0->unk_07C.unk_00.g = arg19;
|
||||
var_v0->unk_07C.unk_00.b = arg1A;
|
||||
var_v0->unk_07C.unk_00.a = arg1B;
|
||||
|
||||
var_v0->unk_07C.unk_04 = arg1C;
|
||||
|
||||
var_v0->unk_081.unk_00.r = arg1D;
|
||||
var_v0->unk_081.unk_00.g = arg1E;
|
||||
var_v0->unk_081.unk_00.b = arg1F;
|
||||
var_v0->unk_081.unk_00.a = arg20;
|
||||
|
||||
var_v0->unk_086.r = arg21;
|
||||
var_v0->unk_086.g = arg22;
|
||||
var_v0->unk_086.b = arg23;
|
||||
var_v0->unk_086.a = arg24;
|
||||
|
||||
var_v0->unk_08C = 1.0f;
|
||||
var_v0->unk_090 = 1.0f;
|
||||
var_v0->unk_094 = 0x41;
|
||||
|
||||
var_a0 = &var_v0->unk_0B0[0];
|
||||
for (j = 0; j < 10; j++, var_a0++) {
|
||||
var_a0->unk_00 = j;
|
||||
var_a0->unk_04 = 0xFF;
|
||||
var_a0->unk_08 = arg9;
|
||||
var_a0->unk_0C = 0.0f;
|
||||
var_a0->unk_10 = sp3C;
|
||||
var_a0->unk_1C = sp30.x * arg8;
|
||||
var_a0->unk_20 = sp30.y * arg8;
|
||||
var_a0->unk_24 = sp30.z * arg8;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_8436C344(f32 arg0, Vec3f* arg1, f32 arg2) {
|
||||
UNUSED MtxF sp70;
|
||||
MtxF sp30;
|
||||
UNUSED s32 pad;
|
||||
|
||||
guRotateF(sp30.mf, (360.0f * arg0) / 6.2831855f, 1.0f, 0.0f, 0.0f);
|
||||
guMtxXFMF(sp30.mf, 0.0f, 0.0f, arg2, &arg1->x, &arg1->y, &arg1->z);
|
||||
}
|
||||
|
||||
void func_8436C3CC(unk_D_843C2C00* arg0) {
|
||||
unk_D_843C2C00_0B0* var_v0;
|
||||
UNUSED s32 pad;
|
||||
s32 i;
|
||||
Vec3f sp58;
|
||||
Vec3f sp4C;
|
||||
f32 temp_fa0;
|
||||
f32 temp_fa1;
|
||||
f32 var_fv0;
|
||||
f32 var_fv1;
|
||||
|
||||
func_8432FBBC(&sp58);
|
||||
func_8432FC14(&sp4C);
|
||||
if (sp4C.y > 200.0f) {
|
||||
sp4C.y = 200.0f;
|
||||
}
|
||||
|
||||
var_v0 = &arg0->unk_0B0[0];
|
||||
for (i = 0; i < 10; i++, var_v0++) {
|
||||
if (arg0->unk_002 < arg0->unk_004) {
|
||||
temp_fa1 = ((f32)arg0->unk_002 * i) / 9.0f;
|
||||
var_fv0 = arg0->unk_004 - 1;
|
||||
var_fv1 = temp_fa1 / var_fv0;
|
||||
temp_fa0 = 1.0f - var_fv1;
|
||||
} else {
|
||||
temp_fa1 = i;
|
||||
|
||||
var_fv1 = temp_fa1 / 9.0f;
|
||||
temp_fa0 = 1.0f - var_fv1;
|
||||
}
|
||||
|
||||
var_v0->unk_10.x = (sp58.x * temp_fa0) + (sp4C.x * var_fv1);
|
||||
var_v0->unk_10.y = (sp58.y * temp_fa0) + (sp4C.y * var_fv1);
|
||||
var_v0->unk_10.z = (sp58.z * temp_fa0) + (sp4C.z * var_fv1);
|
||||
|
||||
var_v0->unk_0C += arg0->unk_00C;
|
||||
|
||||
if (i == 0) {
|
||||
var_v0->unk_08 = 1.0f;
|
||||
} else if (i == 9) {
|
||||
if (arg0->unk_002 < 5) {
|
||||
var_v0->unk_08 = 1.0f;
|
||||
} else {
|
||||
var_v0->unk_08 += 0.5f;
|
||||
if (arg0->unk_008 * 1.0f < var_v0->unk_08) {
|
||||
var_v0->unk_08 = arg0->unk_008 * 1.0f;
|
||||
}
|
||||
}
|
||||
} else if (i == 1) {
|
||||
var_v0->unk_08 += arg0->unk_010;
|
||||
if (arg0->unk_008 * 0.5f < var_v0->unk_08) {
|
||||
var_v0->unk_08 = arg0->unk_008 * 0.5f;
|
||||
}
|
||||
} else if (i == 2) {
|
||||
var_v0->unk_08 += arg0->unk_010;
|
||||
if (arg0->unk_008 * 0.75f < var_v0->unk_08) {
|
||||
var_v0->unk_08 = arg0->unk_008 * 0.75f;
|
||||
}
|
||||
} else {
|
||||
var_v0->unk_08 += arg0->unk_010;
|
||||
if (arg0->unk_008 * 1.0f < var_v0->unk_08) {
|
||||
var_v0->unk_08 = arg0->unk_008 * 1.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_8436C62C(void) {
|
||||
s32 i;
|
||||
unk_D_843C2C00* var_s0 = &D_843C2C00[0];
|
||||
|
||||
for (i = 0; i < 4; i++, var_s0++) {
|
||||
if (var_s0->unk_000 == 1) {
|
||||
var_s0->unk_002 += 1;
|
||||
func_8436C3CC(var_s0);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define TRIANGLES(gfx) \
|
||||
{ \
|
||||
s32 j, k; \
|
||||
for (j = 0; j < 2; j++) \
|
||||
for (k = 0; k < 4; k++) \
|
||||
gSP2Triangles(gfx++, (j * 4) + k, (j * 4) + (k + 9), (j * 4) + (k + 1), 0, (j * 4) + (k + 9), \
|
||||
(j * 4) + (k + 10), (j * 4) + (k + 1), 0); \
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
Gfx* func_8436C6A4(Gfx* arg0, unk_D_843C2C00* arg1, s16 arg2, s16 arg3) {
|
||||
s32 i;
|
||||
s32 j;
|
||||
Vtx* sp44;
|
||||
s32 k;
|
||||
unk_D_84389CE0* temp_v0;
|
||||
unk_D_84389CE0* temp_v1;
|
||||
u8 a1;
|
||||
u8 a2;
|
||||
s16 tmp;
|
||||
|
||||
temp_v1 = &arg1->unk_07C;
|
||||
temp_v0 = &arg1->unk_081;
|
||||
|
||||
if (func_8432E8B0() == 1) {
|
||||
if (arg1->unk_094 >= arg1->unk_002) {
|
||||
arg1->unk_002 = arg1->unk_094 + 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (arg3 == 0) {
|
||||
if (arg1->unk_094 < arg1->unk_002) {
|
||||
tmp = arg1->unk_002 - arg1->unk_094;
|
||||
|
||||
arg1->unk_08C = 1.0f - tmp * 0.1f;
|
||||
arg1->unk_090 = 1.0f - tmp * 0.1f;
|
||||
|
||||
if (tmp * 0.1f > 1.0f) {
|
||||
arg1->unk_08C = 0.0f;
|
||||
}
|
||||
|
||||
if (arg1->unk_090 < 0.0f) {
|
||||
arg1->unk_090 = 0.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
a1 = temp_v1->unk_00.a * arg1->unk_08C;
|
||||
a2 = temp_v0->unk_00.a * arg1->unk_090;
|
||||
|
||||
gDPSetPrimColor(arg0++, 0, temp_v1->unk_04, temp_v1->unk_00.r, temp_v1->unk_00.g, temp_v1->unk_00.b, a1);
|
||||
gDPSetEnvColor(arg0++, temp_v0->unk_00.r, temp_v0->unk_00.g, temp_v0->unk_00.b, a2);
|
||||
|
||||
sp44 = arg1->unk_018;
|
||||
for (i = 0; i < 9; i++) {
|
||||
gSPVertex(arg0++, sp44, 18, 0);
|
||||
TRIANGLES(arg0);
|
||||
sp44 += 9;
|
||||
}
|
||||
|
||||
return arg0;
|
||||
}
|
||||
#else
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_356730/func_8436C6A4.s")
|
||||
#endif
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_356730/func_8436CB60.s")
|
||||
Gfx* func_8436CB60(Gfx* arg0, unk_D_843C2C00* arg1) {
|
||||
unk_D_843C2C00_064* ptr;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_356730/func_8436CE34.s")
|
||||
ptr = &arg1->unk_064;
|
||||
gDPLoadTextureTile_4b(arg0++, D_843920C0[arg1->unk_01C], G_IM_FMT_I, 32, 0, 0, 0, 31, 31, 0,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 5, 5, ptr->unk_08, ptr->unk_0A);
|
||||
gDPSetTileSize(arg0++, G_TX_RENDERTILE, ptr->unk_00, ptr->unk_02, (ptr->unk_00 + 31) << 2, (ptr->unk_02 + 31) << 2);
|
||||
|
||||
ptr = &arg1->unk_070;
|
||||
gDPLoadMultiTile_4b(arg0++, D_843920C0[arg1->unk_020], 0x0100, 1, G_IM_FMT_I, 32, 0, 0, 0, 31, 31, 0,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 5, 5, ptr->unk_08, ptr->unk_0A);
|
||||
gDPSetTileSize(arg0++, 1, ptr->unk_00, ptr->unk_02, (ptr->unk_00 + 31) << 2, (ptr->unk_02 + 31) << 2);
|
||||
|
||||
return arg0;
|
||||
}
|
||||
|
||||
Gfx* func_8436CE34(Gfx* arg0) {
|
||||
s32 i;
|
||||
s32 j;
|
||||
s32 k;
|
||||
unk_D_843C2C00* var_fp;
|
||||
unk_D_843C2C00_0B0* var_s2;
|
||||
Vec3f sp100;
|
||||
Vec3f spF4;
|
||||
Vec3f spE8;
|
||||
Vec3f spDC;
|
||||
unk_D_86002F34_00C* spD8;
|
||||
UNUSED s32 pad[3];
|
||||
Vtx* var_s0;
|
||||
|
||||
spD8 = func_8432FD64();
|
||||
var_fp = &D_843C2C00[0];
|
||||
|
||||
for (i = 0; i < 4; i++, var_fp++) {
|
||||
if (var_fp->unk_000 == 1) {
|
||||
if (func_800325AC() == 0) {
|
||||
var_fp->unk_064.unk_00 += var_fp->unk_064.unk_04;
|
||||
var_fp->unk_064.unk_02 += var_fp->unk_064.unk_06;
|
||||
var_fp->unk_070.unk_00 += var_fp->unk_070.unk_04;
|
||||
var_fp->unk_070.unk_02 += var_fp->unk_070.unk_06;
|
||||
}
|
||||
|
||||
var_s2 = &var_fp->unk_0B0[0];
|
||||
|
||||
var_fp->unk_018 = func_80005F5C(sizeof(Vtx) * 90);
|
||||
|
||||
var_s0 = var_fp->unk_018;
|
||||
for (j = 0; j < 10; j++, var_s2++) {
|
||||
for (k = 0; k < 9; k++) {
|
||||
func_8436C344(var_s2->unk_0C + ((2.0f * (k % 8) * 3.1415927f) / 8), &sp100, var_s2->unk_08);
|
||||
var_s0->v.ob[0] = var_s2->unk_10.x + sp100.x;
|
||||
var_s0->v.ob[1] = var_s2->unk_10.y + sp100.y;
|
||||
var_s0->v.ob[2] = var_s2->unk_10.z + sp100.z;
|
||||
|
||||
var_s0->v.tc[0] = (k * 0x400) / 8;
|
||||
var_s0->v.tc[1] = (j * 0x400) / 10;
|
||||
|
||||
var_s0->v.cn[0] = 0;
|
||||
var_s0->v.cn[1] = 0;
|
||||
var_s0->v.cn[2] = 0;
|
||||
var_s0->v.cn[3] = 0;
|
||||
|
||||
var_s0++;
|
||||
}
|
||||
}
|
||||
|
||||
if ((var_fp->unk_086.r | var_fp->unk_086.g | var_fp->unk_086.b | var_fp->unk_086.a) != 0) {
|
||||
spE8 = var_fp->unk_0B0[9].unk_10;
|
||||
spF4 = var_fp->unk_0B0[0].unk_10;
|
||||
spDC.x = spD8->unk_60.eye.x;
|
||||
spDC.y = spD8->unk_60.eye.y;
|
||||
spDC.z = spD8->unk_60.eye.z;
|
||||
arg0 = func_84367660(arg0, &spF4, &spE8, &spDC, 20.0f, var_fp->unk_086.r, var_fp->unk_086.g,
|
||||
var_fp->unk_086.b, var_fp->unk_086.a * var_fp->unk_08C);
|
||||
}
|
||||
|
||||
gSPDisplayList(arg0++, D_84389C70);
|
||||
|
||||
func_800327CC(
|
||||
arg0++, var_fp->unk_024.unk_00, var_fp->unk_024.unk_04, var_fp->unk_024.unk_08, var_fp->unk_024.unk_0C,
|
||||
var_fp->unk_024.unk_10, var_fp->unk_024.unk_14, var_fp->unk_024.unk_18, var_fp->unk_024.unk_1C,
|
||||
var_fp->unk_044.unk_00, var_fp->unk_044.unk_04, var_fp->unk_044.unk_08, var_fp->unk_044.unk_0C,
|
||||
var_fp->unk_044.unk_10, var_fp->unk_044.unk_14, var_fp->unk_044.unk_18, var_fp->unk_044.unk_1C);
|
||||
|
||||
arg0 = func_8436CB60(arg0, var_fp);
|
||||
|
||||
gDPSetPrimColor(arg0++, 0, var_fp->unk_07C.unk_04, var_fp->unk_07C.unk_00.r, var_fp->unk_07C.unk_00.g,
|
||||
var_fp->unk_07C.unk_00.b, var_fp->unk_07C.unk_00.a);
|
||||
gDPSetEnvColor(arg0++, var_fp->unk_081.unk_00.r, var_fp->unk_081.unk_00.g, var_fp->unk_081.unk_00.b,
|
||||
var_fp->unk_081.unk_00.a);
|
||||
gSPClearGeometryMode(arg0++, G_CULL_BOTH);
|
||||
gSPSetGeometryMode(arg0++, G_CULL_FRONT);
|
||||
gDPPipeSync(arg0++);
|
||||
|
||||
arg0 = func_8436C6A4(arg0, var_fp, i, 0);
|
||||
|
||||
gSPClearGeometryMode(arg0++, G_CULL_BOTH);
|
||||
gSPSetGeometryMode(arg0++, G_CULL_BACK);
|
||||
gDPPipeSync(arg0++);
|
||||
|
||||
arg0 = func_8436C6A4(arg0, var_fp, i, 1);
|
||||
}
|
||||
}
|
||||
|
||||
return arg0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,35 +1,375 @@
|
|||
#include "global.h"
|
||||
#include "fragment62.h"
|
||||
#include "6A40.h"
|
||||
#include "12D80.h"
|
||||
#include "30640.h"
|
||||
#include "32D10.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_357C30/func_8436D370.s")
|
||||
static s16 D_843C3500;
|
||||
static unk_D_843C3508 D_843C3508[6];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_357C30/func_8436D4A4.s")
|
||||
void func_8436D370(void) {
|
||||
s32 i;
|
||||
s32 j;
|
||||
unk_D_843C3508* var_v0;
|
||||
unk_D_843C3508_0A4* var_a0;
|
||||
unk_D_84389CE0 sp0 = {
|
||||
{ 0, 0, 0, 0 },
|
||||
0,
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_357C30/func_8436D920.s")
|
||||
D_843C3500 = 0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_357C30/func_8436DA38.s")
|
||||
var_v0 = &D_843C3508[0];
|
||||
for (i = 0; i < 6; i++, var_v0++) {
|
||||
var_v0->unk_000 = 0;
|
||||
var_v0->unk_004 = 0;
|
||||
var_v0->unk_006 = 0;
|
||||
var_v0->unk_008 = sp0;
|
||||
var_v0->unk_00D = sp0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_357C30/func_8436DAC4.s")
|
||||
var_a0 = &var_v0->unk_0A4[0];
|
||||
for (j = 0; j < 20; j++, var_a0++) {
|
||||
var_a0->unk_00 = 0.0f;
|
||||
var_a0->unk_04 = 1.0f;
|
||||
var_a0->unk_08 = 0.0f;
|
||||
var_a0->unk_0C.x = 0.0f;
|
||||
var_a0->unk_0C.y = 0.0f;
|
||||
var_a0->unk_0C.z = 0.0f;
|
||||
var_a0->unk_18.x = 0.0f;
|
||||
var_a0->unk_18.y = 0.0f;
|
||||
var_a0->unk_18.z = 0.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_357C30/func_8436DE60.s")
|
||||
void func_8436D4A4(s16 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, u8 arg7, u8 arg8, u8 arg9,
|
||||
u8 argA, u8 argB, u8 argC, u8 argD, u8 argE, u8 argF, f32 arg10, f32 arg11, f32 arg12, s16 arg13,
|
||||
s32 arg14, s32 arg15, s16 arg16, s16 arg17, s16 arg18, s16 arg19, s16 arg1A, s16 arg1B, s16 arg1C,
|
||||
s16 arg1D, unk_D_843C2C00_024* arg1E, unk_D_843C2C00_024* arg1F) {
|
||||
unk_D_843C3508* var_v0;
|
||||
unk_D_843C3508_0A4* var_v1_2;
|
||||
s32 i;
|
||||
s32 j;
|
||||
Vec3f spC;
|
||||
Vec3f sp0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_357C30/func_8436DFB8.s")
|
||||
var_v0 = &D_843C3508[0];
|
||||
spC.x = arg1;
|
||||
spC.y = arg2;
|
||||
spC.z = arg3;
|
||||
sp0.x = arg4;
|
||||
sp0.y = arg5;
|
||||
sp0.z = arg6;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_357C30/func_8436E0E8.s")
|
||||
for (i = 0; i < 6; i++, var_v0++) {
|
||||
if (var_v0->unk_000 == 0) {
|
||||
var_v0->unk_000 = 1;
|
||||
var_v0->unk_002 = arg0;
|
||||
var_v0->unk_004 = 0;
|
||||
var_v0->unk_006 = arg13;
|
||||
var_v0->unk_080 = arg12;
|
||||
var_v0->unk_084 = arg10;
|
||||
var_v0->unk_020 = arg14;
|
||||
var_v0->unk_024 = arg15;
|
||||
var_v0->unk_068.unk_00 = 0;
|
||||
var_v0->unk_068.unk_02 = 0;
|
||||
var_v0->unk_074.unk_00 = 0;
|
||||
var_v0->unk_074.unk_02 = 0;
|
||||
var_v0->unk_068.unk_04 = arg16;
|
||||
var_v0->unk_068.unk_06 = arg17;
|
||||
var_v0->unk_074.unk_04 = arg1A;
|
||||
var_v0->unk_074.unk_06 = arg1B;
|
||||
var_v0->unk_068.unk_08 = arg18;
|
||||
var_v0->unk_068.unk_0A = arg19;
|
||||
var_v0->unk_074.unk_08 = arg1C;
|
||||
var_v0->unk_074.unk_0A = arg1D;
|
||||
var_v0->unk_028 = *arg1E;
|
||||
var_v0->unk_048 = *arg1F;
|
||||
var_v0->unk_01C = 0x46;
|
||||
var_v0->unk_014 = 1.0f;
|
||||
var_v0->unk_018 = 1.0f;
|
||||
var_v0->unk_008.unk_00.r = arg7;
|
||||
var_v0->unk_008.unk_00.g = arg8;
|
||||
var_v0->unk_008.unk_00.b = arg9;
|
||||
var_v0->unk_008.unk_00.a = argA;
|
||||
var_v0->unk_008.unk_04 = argB;
|
||||
var_v0->unk_00D.unk_00.r = argC;
|
||||
var_v0->unk_00D.unk_00.g = argD;
|
||||
var_v0->unk_00D.unk_00.b = argE;
|
||||
var_v0->unk_00D.unk_00.a = argF;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_357C30/func_8436E3BC.s")
|
||||
var_v1_2 = &var_v0->unk_0A4[0];
|
||||
for (j = 0; j < 20; j++, var_v1_2++) {
|
||||
var_v1_2->unk_00 = 2.0f * j;
|
||||
var_v1_2->unk_04 = arg11;
|
||||
var_v1_2->unk_08 = 0.0f;
|
||||
var_v1_2->unk_0C = spC;
|
||||
var_v1_2->unk_18 = sp0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_357C30/func_8436E920.s")
|
||||
void func_8436D920(s32 arg0, Vec3f* arg1, Vec3f* arg2, Vec3f* arg3, f32 arg4, UNUSED f32 arg5, UNUSED f32 arg6,
|
||||
UNUSED f32 arg7) {
|
||||
UNUSED s32 pad[36];
|
||||
unk_D_86002F34_00C* temp_v0 = func_8432FD64();
|
||||
f32 sp6C;
|
||||
f32 sp68;
|
||||
f32 sp64;
|
||||
f32 sp54;
|
||||
f32 sp50;
|
||||
f32 sp4C;
|
||||
f32 sp60;
|
||||
f32 sp5C;
|
||||
f32 sp58;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_357C30/func_8436E944.s")
|
||||
sp60 = arg2->x - temp_v0->unk_60.eye.x;
|
||||
sp5C = arg2->y - temp_v0->unk_60.eye.y;
|
||||
sp58 = arg2->z - temp_v0->unk_60.eye.z;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_357C30/func_8436EA0C.s")
|
||||
sp6C = arg1->x;
|
||||
sp68 = arg1->y;
|
||||
sp64 = arg1->z;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_357C30/func_8436EB54.s")
|
||||
func_80031A94(sp6C, sp68, sp64, sp60, sp5C, sp58, &sp54, &sp50, &sp4C);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_357C30/func_8436ECB0.s")
|
||||
func_80031B04(&sp54, &sp50, &sp4C);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_357C30/func_8436EDE8.s")
|
||||
switch (arg0) {
|
||||
case 0:
|
||||
arg3->x = arg4 * sp54;
|
||||
arg3->y = arg4 * sp50;
|
||||
arg3->z = arg4 * sp4C;
|
||||
break;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_357C30/func_8436EED4.s")
|
||||
case 1:
|
||||
arg3->x = -arg4 * sp54;
|
||||
arg3->y = -arg4 * sp50;
|
||||
arg3->z = -arg4 * sp4C;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_357C30/func_8436EEE4.s")
|
||||
void func_8436DA38(f32 arg0, Vec3f* arg1, Vec3f* arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6) {
|
||||
UNUSED Mtx sp70;
|
||||
Mtx sp30;
|
||||
UNUSED s32 pad;
|
||||
|
||||
guRotateF(&sp30, (360.0f * arg0) / 6.2831855f, 1.0f, 0.0f, 0.0f);
|
||||
guMtxXFMF(&sp30, 0.0f, 0.0f, arg3, &arg2->x, &arg2->y, &arg2->z);
|
||||
}
|
||||
|
||||
void func_8436DAC4(unk_D_843C3508* arg0) {
|
||||
unk_D_843C3508_0A4* var_s0;
|
||||
s32 spA8;
|
||||
s32 i;
|
||||
Vec3f sp98;
|
||||
UNUSED s32 pad;
|
||||
f32 temp_fs1;
|
||||
f32 temp_fs1_2;
|
||||
f32 temp_fs2;
|
||||
s32 temp_s1;
|
||||
s32 temp_s2;
|
||||
s32 temp_s3;
|
||||
s32 temp_s4;
|
||||
|
||||
var_s0 = &arg0->unk_0A4[0];
|
||||
for (i = 0; i < 20; i++, var_s0++) {
|
||||
if (var_s0->unk_00 > 0.0) {
|
||||
temp_s3 = RAND(20) + 2;
|
||||
temp_s2 = RAND(10) + 4;
|
||||
temp_s4 = RAND(20) + 2;
|
||||
temp_s1 = RAND(10) + 4;
|
||||
|
||||
temp_fs1 = __sinf((((spA8 + temp_s3) % temp_s2) * 6.2831854820251465) / temp_s2);
|
||||
temp_fs2 =
|
||||
__sinf((((spA8 + temp_s4) % (temp_s1 + 20)) * 6.2831854820251465) / (temp_s1 + 20)) * (10.0 * temp_fs1);
|
||||
temp_fs1_2 = __sinf((((spA8 + temp_s4) % temp_s1) * 6.2831854820251465) / temp_s1) * 10.0;
|
||||
func_8432FBBC(&sp98);
|
||||
var_s0->unk_0C.x = sp98.x;
|
||||
var_s0->unk_0C.y = sp98.y + temp_fs2;
|
||||
var_s0->unk_0C.z = sp98.z + temp_fs1_2;
|
||||
var_s0->unk_00 -= 1.0;
|
||||
} else {
|
||||
var_s0->unk_0C.x += var_s0->unk_18.x;
|
||||
var_s0->unk_0C.y += var_s0->unk_18.y;
|
||||
var_s0->unk_0C.z += var_s0->unk_18.z;
|
||||
var_s0->unk_08 += arg0->unk_084;
|
||||
var_s0->unk_04 += 3.0f;
|
||||
if (arg0->unk_080 < var_s0->unk_04) {
|
||||
var_s0->unk_04 = arg0->unk_080;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_8436DE60(void) {
|
||||
f32 temp_fv0;
|
||||
s32 i;
|
||||
s32 var_s2;
|
||||
unk_D_843C3508* var_s0;
|
||||
|
||||
D_843C3500++;
|
||||
var_s2 = 0;
|
||||
var_s0 = &D_843C3508[0];
|
||||
|
||||
for (i = 0; i < 6; i++, var_s0++) {
|
||||
if (var_s0->unk_000 == 1) {
|
||||
var_s0->unk_004++;
|
||||
if (var_s0->unk_006 < var_s0->unk_004) {
|
||||
var_s0->unk_000 = 0;
|
||||
} else {
|
||||
func_8436DAC4(var_s0);
|
||||
var_s2++;
|
||||
}
|
||||
|
||||
if (var_s0->unk_01C < D_843C3500) {
|
||||
s16 tmp = D_843C3500 - var_s0->unk_01C;
|
||||
|
||||
temp_fv0 = tmp * 0.02f;
|
||||
var_s0->unk_014 = 1.0f - temp_fv0;
|
||||
var_s0->unk_018 = 1.0f - temp_fv0;
|
||||
|
||||
if (temp_fv0 > 1.0f) {
|
||||
var_s0->unk_014 = 0.0f;
|
||||
}
|
||||
|
||||
if (var_s0->unk_018 < 0.0f) {
|
||||
var_s0->unk_018 = 0.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (var_s2 > 0) {
|
||||
return 0;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
Gfx* func_8436DFB8(Gfx* arg0, unk_D_843C3508* arg1) {
|
||||
s32 i;
|
||||
Vtx* temp_v0 = arg1->unk_088;
|
||||
|
||||
for (i = 0; i < 19; i++) {
|
||||
gSPVertex(arg0++, temp_v0, 4, 0);
|
||||
gSP2Triangles(arg0++, 0, 2, 1, 0, 1, 2, 3, 0);
|
||||
temp_v0 += 2;
|
||||
}
|
||||
|
||||
return arg0;
|
||||
}
|
||||
|
||||
Gfx* func_8436E0E8(Gfx* arg0, unk_D_843C3508* arg1) {
|
||||
unk_D_843C2C00_064* ptr;
|
||||
UNUSED s32 pad[2];
|
||||
|
||||
ptr = &arg1->unk_068;
|
||||
gDPLoadTextureTile_4b(arg0++, D_843920C0[arg1->unk_020], G_IM_FMT_I, 32, 0, 0, 0, 31, 31, 0,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 5, 5, ptr->unk_08, ptr->unk_0A);
|
||||
gDPSetTileSize(arg0++, G_TX_RENDERTILE, ptr->unk_00, ptr->unk_02, (ptr->unk_00 + 31) << 2, (ptr->unk_02 + 31) << 2);
|
||||
|
||||
ptr = &arg1->unk_074;
|
||||
gDPLoadMultiTile_4b(arg0++, D_843920C0[arg1->unk_024], 0x0100, 1, G_IM_FMT_I, 32, 0, 0, 0, 31, 31, 0,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 5, 5, ptr->unk_08, ptr->unk_0A);
|
||||
gDPSetTileSize(arg0++, 1, ptr->unk_00, ptr->unk_02, (ptr->unk_00 + 31) << 2, (ptr->unk_02 + 31) << 2);
|
||||
|
||||
return arg0;
|
||||
}
|
||||
|
||||
Gfx* func_8436E3BC(Gfx* arg0) {
|
||||
static Gfx D_84389CE8[] = {
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCycleType(G_CYC_2CYCLE),
|
||||
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
|
||||
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH | G_CLIPPING | 0x0040F9FA),
|
||||
gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
|
||||
gsDPPipeSync(),
|
||||
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_XLU_SURF2),
|
||||
gsDPSetTexturePersp(G_TP_PERSP),
|
||||
gsDPSetTextureDetail(G_TD_CLAMP),
|
||||
gsDPSetTextureLOD(G_TL_TILE),
|
||||
gsDPSetTextureLUT(G_TT_NONE),
|
||||
gsDPSetTextureConvert(G_TC_FILT),
|
||||
gsDPSetTextureFilter(G_TF_BILERP),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
s32 i;
|
||||
unk_D_843C3508* var_s6;
|
||||
unk_D_843C3508_0A4* var_s0;
|
||||
s32 j;
|
||||
s32 k;
|
||||
Vec3f spF0;
|
||||
Vtx* var_s1;
|
||||
s32 pad[12];
|
||||
|
||||
func_8432FD64();
|
||||
|
||||
var_s6 = &D_843C3508[0];
|
||||
for (i = 0; i < 6; i++, var_s6++) {
|
||||
if (var_s6->unk_000 == 1) {
|
||||
var_s0 = &var_s6->unk_0A4[0];
|
||||
|
||||
var_s6->unk_088 = func_80005F5C(sizeof(Vtx) * 40);
|
||||
var_s1 = var_s6->unk_088;
|
||||
|
||||
for (j = 0; j < 20; j++, var_s0++) {
|
||||
for (k = 0; k < 2; k++) {
|
||||
switch (var_s6->unk_002) {
|
||||
case 0:
|
||||
if (var_s0->unk_00 <= 0.0) {
|
||||
func_8436DA38(var_s0->unk_08 + ((k % 2) * 3.1415927f), &var_s0->unk_18, &spF0,
|
||||
var_s0->unk_04, 1.0f, 0.0f, 0.0f);
|
||||
}
|
||||
break;
|
||||
|
||||
case 1:
|
||||
if (var_s0->unk_00 <= 0.0) {
|
||||
func_8436D920(k % 2, &var_s0->unk_18, &var_s0->unk_0C, &spF0, var_s0->unk_04, 1.0f,
|
||||
0.0f, 0.0f);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
var_s1->v.ob[0] = var_s0->unk_0C.x + spF0.x;
|
||||
var_s1->v.ob[1] = var_s0->unk_0C.y + spF0.y;
|
||||
var_s1->v.ob[2] = var_s0->unk_0C.z + spF0.z;
|
||||
|
||||
var_s1->v.tc[0] = (k % 2) << 0xA;
|
||||
var_s1->v.tc[1] = (j * 0x400) / 20;
|
||||
|
||||
var_s1->v.cn[0] = 0xFF;
|
||||
var_s1->v.cn[1] = 0xFF;
|
||||
var_s1->v.cn[2] = 0xFF;
|
||||
var_s1->v.cn[3] = 0x40;
|
||||
var_s1++;
|
||||
}
|
||||
}
|
||||
|
||||
gSPDisplayList(arg0++, D_84389CE8);
|
||||
|
||||
func_800327CC(
|
||||
arg0++, var_s6->unk_028.unk_00, var_s6->unk_028.unk_04, var_s6->unk_028.unk_08, var_s6->unk_028.unk_0C,
|
||||
var_s6->unk_028.unk_10, var_s6->unk_028.unk_14, var_s6->unk_028.unk_18, var_s6->unk_028.unk_1C,
|
||||
var_s6->unk_048.unk_00, var_s6->unk_048.unk_04, var_s6->unk_048.unk_08, var_s6->unk_048.unk_0C,
|
||||
var_s6->unk_048.unk_10, var_s6->unk_048.unk_14, var_s6->unk_048.unk_18, var_s6->unk_048.unk_1C);
|
||||
|
||||
gDPSetPrimColor(arg0++, 0, var_s6->unk_008.unk_04, var_s6->unk_008.unk_00.r, var_s6->unk_008.unk_00.g,
|
||||
var_s6->unk_008.unk_00.b, (u8)(var_s6->unk_008.unk_00.a * var_s6->unk_014));
|
||||
gDPSetEnvColor(arg0++, var_s6->unk_00D.unk_00.r, var_s6->unk_00D.unk_00.g, var_s6->unk_00D.unk_00.b,
|
||||
(u8)(var_s6->unk_00D.unk_00.a * var_s6->unk_018));
|
||||
|
||||
arg0 = func_8436E0E8(arg0, var_s6);
|
||||
|
||||
gDPPipeSync(arg0++);
|
||||
|
||||
arg0 = func_8436DFB8(arg0, var_s6);
|
||||
}
|
||||
}
|
||||
|
||||
return arg0;
|
||||
}
|
||||
|
|
|
|||
253
src/fragments/62/fragment62_3591E0.c
Normal file
253
src/fragments/62/fragment62_3591E0.c
Normal file
|
|
@ -0,0 +1,253 @@
|
|||
#include "fragment62.h"
|
||||
#include "6A40.h"
|
||||
#include "12D80.h"
|
||||
#include "30640.h"
|
||||
#include "32D10.h"
|
||||
|
||||
static unk_D_843C49C0 D_843C49C0[2];
|
||||
|
||||
static Vtx D_84389D60[] = {
|
||||
VTX(-10, -10, 0, 0, 0, 0x88, 0x00, 0x00, 0x80),
|
||||
VTX(-10, 10, 0, 1984, 0, 0x88, 0x00, 0x00, 0x80),
|
||||
VTX(10, -10, 0, 0, 1984, 0x88, 0x00, 0x00, 0x80),
|
||||
VTX(10, 10, 0, 1984, 1984, 0x88, 0x00, 0x00, 0x80),
|
||||
};
|
||||
static Gfx D_84389DA0[] = {
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
static u32 D_84389DA8[] = {
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000B0019, 0x000B0000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000F0620, 0x000F0000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00130F28, 0x00130000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00191A32, 0x00190000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0620253C,
|
||||
0x06200000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0F28374C, 0x0F280000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00070007, 0x00030000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x1A324A5D, 0x1A320000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00030007, 0x00070007, 0x00070013, 0x0013000F, 0x00070000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x233A6273, 0x233A0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0007000F,
|
||||
0x00130013, 0x00070000, 0x00000007, 0x00130620, 0x011C0017, 0x000B0000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x2F458390, 0x2F450000, 0x00000000, 0x00000000, 0x00000000, 0x000B0017, 0x011C0620, 0x00170007, 0x00000000,
|
||||
0x00000000, 0x00070017, 0x0C261A32, 0x142D0620, 0x000F0000, 0x00000000, 0x0003000F, 0x3C51A9B2, 0x3C51000F,
|
||||
0x00030000, 0x00000000, 0x000F0620, 0x142D1A32, 0x0C260017, 0x00070000, 0x00000000, 0x00000000, 0x00000003,
|
||||
0x00170F28, 0x2D433248, 0x253C0C26, 0x0000000B, 0x011C142D, 0x4F62E2E5, 0x4F62142D, 0x011C000B, 0x00000F28,
|
||||
0x253C3248, 0x2D430F28, 0x00170003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000F, 0x0C262F45,
|
||||
0x5E6F586A, 0x3C510822, 0x233A4357, 0x818EFFFF, 0x818E4357, 0x233A0822, 0x3C51586A, 0x60713248, 0x0F28000F,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00030620, 0x2F456979, 0xA6AF8C98,
|
||||
0x6273B0B8, 0xFFFFFFFF, 0xFFFFB0B8, 0x62738E9A, 0xA8B16979, 0x2F450620, 0x00030000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00071D35, 0x6979E5E8, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||
0xFFFFFFFF, 0xFFFFE8EA, 0x69791D35, 0x00070000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000017, 0x20386C7C, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF6C7C,
|
||||
0x20380017, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000017, 0x233A707F, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF707F, 0x233A0017, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000017,
|
||||
0x20386C7C, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF6C7C, 0x20380017, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00071D35, 0x6777E5E8, 0xFFFFFFFF,
|
||||
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFE8EA, 0x69791D35, 0x00070000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00030620, 0x2F456979, 0xA6AF8E9A, 0x6273B0B8, 0xFFFFFFFF, 0xFFFFB0B8,
|
||||
0x62738E9A, 0xA8B16979, 0x2F450620, 0x00030000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x0000000F, 0x0C262F45, 0x5E6F586A, 0x3C510822, 0x233A4357, 0x818EFFFF, 0x818E4357, 0x233A0822, 0x3C51586A,
|
||||
0x5E6F3248, 0x0F28000F, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x00170F28, 0x2D433248,
|
||||
0x253C0F28, 0x0000000B, 0x011C142D, 0x4F62E0E3, 0x4F62142D, 0x011C000B, 0x00000C26, 0x253C3248, 0x2D430F28,
|
||||
0x00170003, 0x00000000, 0x00000000, 0x00000000, 0x00070017, 0x0C261A32, 0x142D0620, 0x000F0000, 0x00000000,
|
||||
0x0003000F, 0x3C51A8B1, 0x3C51000F, 0x00030000, 0x00000000, 0x000F0620, 0x142D1A32, 0x0C260017, 0x00070000,
|
||||
0x00000000, 0x00000007, 0x00130620, 0x011C0017, 0x000B0000, 0x00000000, 0x00000000, 0x00000000, 0x2F45818E,
|
||||
0x2F450000, 0x00000000, 0x00000000, 0x00000000, 0x000B0017, 0x011C0620, 0x00130007, 0x00000000, 0x00070013,
|
||||
0x0013000F, 0x00070000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x233A6273, 0x233A0000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x0007000F, 0x00130013, 0x00070000, 0x00070007, 0x00030000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x1730485B, 0x17300000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00030007, 0x00070007, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x0C26354A, 0x0C260000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x0620253C, 0x06200000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00191A32, 0x00190000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00130F28, 0x00130000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x000F0620, 0x000F0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x000B0019, 0x000B0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00030013,
|
||||
0x00030000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
};
|
||||
static Gfx D_8438A5A8[] = {
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCycleType(G_CYC_1CYCLE),
|
||||
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
|
||||
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH | G_CLIPPING | 0x0040F9FA),
|
||||
gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_LIGHTING | G_SHADING_SMOOTH),
|
||||
gsSPTexture(0x8000, 0x8000, 0, G_TX_RENDERTILE, G_ON),
|
||||
gsDPPipeSync(),
|
||||
gsDPLoadTextureBlock(D_84389DA8, G_IM_FMT_IA, G_IM_SIZ_16b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsDPSetCombineLERP(PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0, PRIMITIVE, ENVIRONMENT,
|
||||
TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0),
|
||||
gsDPSetEnvColor(0, 64, 255, 0),
|
||||
gsDPSetRenderMode(G_RM_ZB_XLU_SURF, G_RM_ZB_XLU_SURF2),
|
||||
gsSPVertex(D_84389D60, 4, 0),
|
||||
gsSP2Triangles(0, 1, 2, 0, 2, 1, 3, 0),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
Gfx D_8438A640[] = {
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
u32 D_8438A648[] = {
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001112, 0x22111000, 0x00000000, 0x00000000,
|
||||
0x00123344, 0x44433210, 0x00000000, 0x00000000, 0x12345566, 0x66655432, 0x10000000, 0x00000001, 0x34566777,
|
||||
0x88776654, 0x31000000, 0x00000013, 0x45678899, 0x99988765, 0x43100000, 0x00000134, 0x67899AAA, 0xAAAA9987,
|
||||
0x64310000, 0x00001346, 0x789ABBBC, 0xCCBBBA98, 0x76431000, 0x00002457, 0x89ABCCDD, 0xDDDCCBA9, 0x87542000,
|
||||
0x00013568, 0x9ABCDDEE, 0xEEEDDCBA, 0x98653100, 0x00024679, 0xABCDEFFF, 0xFFFFEDCB, 0xA9764200, 0x00035689,
|
||||
0xBCDEFFFF, 0xFFFFFEDC, 0xA9865300, 0x0013578A, 0xBCDFFFFF, 0xFFFFFFDC, 0xBA875310, 0x0014679A, 0xBDEFFFFF,
|
||||
0xFFFFFFED, 0xBA976410, 0x0024679A, 0xCDEFFFFF, 0xFFFFFFED, 0xCA986420, 0x0024689A, 0xCDEFFFFF, 0xFFFFFFED,
|
||||
0xCA986420, 0x0024689A, 0xCDEFFFFF, 0xFFFFFFED, 0xCA976420, 0x0014679A, 0xBDEFFFFF, 0xFFFFFFED, 0xBA976410,
|
||||
0x0013578A, 0xBCDFFFFF, 0xFFFFFFDC, 0xBA875310, 0x00035689, 0xBCDEFFFF, 0xFFFFFEDC, 0xB9865300, 0x00024679,
|
||||
0xABCDEFFF, 0xFFFFEDCB, 0xA9764200, 0x00013568, 0x9ABCDDEE, 0xEEEDDCBA, 0x98653100, 0x00002457, 0x89ABCCDD,
|
||||
0xDDDCCBA9, 0x87542000, 0x00001346, 0x789ABBBC, 0xCCBBBA98, 0x76431000, 0x00000134, 0x67899AAA, 0xAAAA9987,
|
||||
0x64310000, 0x00000013, 0x45678899, 0x99988765, 0x43100000, 0x00000001, 0x34566778, 0x87776654, 0x31000000,
|
||||
0x00000000, 0x12345566, 0x66655432, 0x10000000, 0x00000000, 0x00123344, 0x44433210, 0x00000000, 0x00000000,
|
||||
0x00001112, 0x22111000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000,
|
||||
};
|
||||
|
||||
void func_8436E920(void) {
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 2; i++) {
|
||||
D_843C49C0[i].unk_000 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
s16 func_8436E944(void) {
|
||||
unk_D_843C49C0* var_a0;
|
||||
unk_D_843C49C0_004* var_v1;
|
||||
s32 i;
|
||||
s32 j;
|
||||
|
||||
for (i = 0, var_a0 = &D_843C49C0[0]; i < 2; i++, var_a0++) {
|
||||
if (var_a0->unk_000 == 0) {
|
||||
var_v1 = &var_a0->unk_004[0];
|
||||
for (j = 0; j < 20; j++, var_v1++) {
|
||||
var_v1->unk_00 = 0;
|
||||
var_v1->unk_04 = 0;
|
||||
var_v1->unk_08 = 1.0f;
|
||||
var_v1->unk_0C.x = 0.0f;
|
||||
var_v1->unk_0C.y = 0.0f;
|
||||
var_v1->unk_0C.z = 0.0f;
|
||||
}
|
||||
var_a0->unk_000 = 1;
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
void func_8436EA0C(s16 arg0, f32 arg1, f32 arg2, f32 arg3, s16 arg4, f32 arg5) {
|
||||
s32 i;
|
||||
unk_D_843C49C0* temp_v0 = &D_843C49C0[arg0];
|
||||
unk_D_843C49C0_004* var_v1;
|
||||
|
||||
if (temp_v0->unk_000 != 0) {
|
||||
var_v1 = &temp_v0->unk_004[0];
|
||||
for (i = 0; i < 20; i++, var_v1++) {
|
||||
if (var_v1->unk_00 == 0) {
|
||||
var_v1->unk_00 = 1;
|
||||
var_v1->unk_04 = 0;
|
||||
var_v1->unk_06 = arg4;
|
||||
var_v1->unk_08 = arg5;
|
||||
var_v1->unk_0C.x = arg1;
|
||||
var_v1->unk_0C.y = arg2;
|
||||
var_v1->unk_0C.z = arg3;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_8436EB54(s16 arg0) {
|
||||
unk_D_843C49C0* temp_v0 = &D_843C49C0[arg0];
|
||||
unk_D_843C49C0_004* var_v1;
|
||||
s32 i;
|
||||
|
||||
if (temp_v0->unk_000 != 0) {
|
||||
var_v1 = &temp_v0->unk_004[0];
|
||||
for (i = 0; i < 20; i++, var_v1++) {
|
||||
if (var_v1->unk_00 == 1) {
|
||||
var_v1->unk_04++;
|
||||
if (var_v1->unk_06 < var_v1->unk_04) {
|
||||
var_v1->unk_00 = 0;
|
||||
}
|
||||
var_v1->unk_0C.y -= 0.75f;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Gfx* func_8436ECB0(Gfx* arg0, unk_D_843C49C0_004* arg1, MtxF* arg2) {
|
||||
f32 spCC;
|
||||
f32 spC8;
|
||||
f32 spC4;
|
||||
f32 spC0;
|
||||
Mtx* spBC;
|
||||
Mtx sp78;
|
||||
Mtx sp38;
|
||||
|
||||
spCC = arg1->unk_0C.x;
|
||||
spC8 = arg1->unk_0C.y;
|
||||
spC4 = arg1->unk_0C.z;
|
||||
spC0 = arg1->unk_08;
|
||||
spC0 *= __sinf((arg1->unk_04 * 3.1415927f) / 10.0f);
|
||||
|
||||
guScale(&sp38, spC0, spC0, spC0);
|
||||
guTranslate(&sp78, spCC, spC8, spC4);
|
||||
spBC = func_80005F5C(sizeof(Mtx) * 1);
|
||||
guMtxCatL(&sp38, &sp78, spBC);
|
||||
guMtxCatL(arg2, spBC, spBC);
|
||||
|
||||
gSPMatrix(arg0++, spBC, G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gDPSetPrimColor(arg0++, 0, 0, 255, 255, 255, 200);
|
||||
gSPDisplayList(arg0++, D_8438A5A8);
|
||||
gSPPopMatrix(arg0++, G_MTX_MODELVIEW);
|
||||
|
||||
return arg0;
|
||||
}
|
||||
|
||||
Gfx* func_8436EDE8(s16 arg0, Gfx* arg1) {
|
||||
UNUSED s32 pad;
|
||||
unk_D_843C49C0* temp_s3 = &D_843C49C0[arg0];
|
||||
unk_D_843C49C0_004* var_s0;
|
||||
s32 i;
|
||||
MtxF sp78;
|
||||
MtxF sp38;
|
||||
|
||||
if (temp_s3->unk_000 == 0) {
|
||||
return arg1;
|
||||
}
|
||||
|
||||
func_80031EF4(sp78.mf, &D_8006F088->unk_60.mtxf);
|
||||
guMtxF2L(sp78.mf, sp38.mf);
|
||||
|
||||
var_s0 = &temp_s3->unk_004;
|
||||
for (i = 0; i < 20; i++, var_s0++) {
|
||||
if (var_s0->unk_00 == 1) {
|
||||
arg1 = func_8436ECB0(arg1, var_s0, &sp38);
|
||||
}
|
||||
}
|
||||
|
||||
return arg1;
|
||||
}
|
||||
|
||||
void func_8436EED4(void) {
|
||||
}
|
||||
|
||||
void func_8436EEDC(void) {
|
||||
}
|
||||
|
||||
s32 func_8436EEE4(s32 arg0) {
|
||||
return arg0;
|
||||
}
|
||||
|
|
@ -1,11 +1,179 @@
|
|||
#include "global.h"
|
||||
#include "fragment62.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3597B0/func_8436EEF0.s")
|
||||
static s16 D_843C4D90;
|
||||
static s16 D_843C4D92;
|
||||
static s16 D_843C4D94;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3597B0/func_8436EF48.s")
|
||||
static f32 D_8438A850 = 30.0f;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3597B0/func_8436EF54.s")
|
||||
static Vtx D_8438A858[] = {
|
||||
VTX(1, -35, -35, 0, 0, 0x88, 0x00, 0x00, 0xFF), VTX(1, -50, 0, 0, 0, 0x88, 0x00, 0x00, 0xFF),
|
||||
VTX(1, 0, 0, 0, 0, 0x88, 0x00, 0x00, 0xFF), VTX(1, -50, 0, 0, 0, 0x1D, 0x8C, 0x00, 0xFF),
|
||||
VTX(1, -35, -35, 0, 0, 0x1D, 0xAE, 0xAE, 0xFF), VTX(200, 0, 0, 0, 0, 0x78, 0x00, 0x00, 0xFF),
|
||||
VTX(1, 0, -49, 0, 0, 0x88, 0x00, 0x00, 0xFF), VTX(1, 0, -49, 0, 0, 0x1D, 0x00, 0x8C, 0xFF),
|
||||
VTX(1, 35, -35, 0, 0, 0x88, 0x00, 0x00, 0xFF), VTX(1, 35, -35, 0, 0, 0x1D, 0x52, 0xAE, 0xFF),
|
||||
VTX(1, 50, 0, 0, 0, 0x88, 0x00, 0x00, 0xFF), VTX(1, 50, 0, 0, 0, 0x1D, 0x74, 0x00, 0xFF),
|
||||
VTX(1, 35, 35, 0, 0, 0x88, 0x00, 0x00, 0xFF), VTX(1, 35, 35, 0, 0, 0x1D, 0x52, 0x52, 0xFF),
|
||||
VTX(1, 0, 49, 0, 0, 0x88, 0x00, 0x00, 0xFF), VTX(1, 0, 49, 0, 0, 0x1D, 0x00, 0x74, 0xFF),
|
||||
VTX(1, -35, 35, 0, 0, 0x88, 0x00, 0x00, 0xFF), VTX(1, -35, 35, 0, 0, 0x1D, 0xAE, 0x52, 0xFF),
|
||||
};
|
||||
static u32 D_8438A978[] = {
|
||||
0x77777777,
|
||||
0x77777777,
|
||||
};
|
||||
Gfx D_8438A980[] = {
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCycleType(G_CYC_1CYCLE),
|
||||
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
|
||||
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH | G_CLIPPING | 0x0040F9FA),
|
||||
gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BACK | G_LIGHTING | G_SHADING_SMOOTH),
|
||||
gsSPTexture(0x8000, 0x8000, 0, G_TX_RENDERTILE, G_ON),
|
||||
gsDPPipeSync(),
|
||||
gsDPLoadTextureBlock_4b(D_8438A978, G_IM_FMT_I, 4, 4, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 2, 2,
|
||||
G_TX_NOLOD, G_TX_NOLOD),
|
||||
gsDPSetCombineMode(G_CC_BLENDIA, G_CC_BLENDIA),
|
||||
gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2),
|
||||
gsDPSetPrimColor(0xFF, 0xFF, 197, 184, 122, 255),
|
||||
gsDPSetEnvColor(197, 184, 122, 255),
|
||||
gsSPVertex(D_8438A858, 18, 0),
|
||||
gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0),
|
||||
gsSP2Triangles(6, 0, 2, 0, 4, 7, 5, 0),
|
||||
gsSP2Triangles(8, 6, 2, 0, 7, 9, 5, 0),
|
||||
gsSP2Triangles(10, 8, 2, 0, 9, 11, 5, 0),
|
||||
gsSP2Triangles(12, 10, 2, 0, 11, 13, 5, 0),
|
||||
gsSP2Triangles(14, 12, 2, 0, 13, 15, 5, 0),
|
||||
gsSP2Triangles(16, 14, 2, 0, 15, 17, 5, 0),
|
||||
gsSP2Triangles(1, 16, 2, 0, 17, 3, 5, 0),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3597B0/func_8436EFE8.s")
|
||||
static s32 pad_D_8438AA58[] = { 0, 0 };
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_3597B0/func_8436F664.s")
|
||||
static Gfx D_8438AA60[] = {
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
static u32 D_8438AA68[] = {
|
||||
0x9FFFFFFF, 0xFFFFFFFF, 0x09FFFFFF, 0xFFFFFFFF, 0x009FFFFF, 0xFFFFFFFF, 0x0009FFFF, 0xFFFFFFFF, 0x00009FFF,
|
||||
0xFFFFFFFF, 0x000009FF, 0xFFFFFFFF, 0x0000009F, 0xFFFFFFFF, 0x00000009, 0xFFFFFFFF, 0x00000000, 0x9FFFFFFF,
|
||||
0x00000000, 0x09FFFFFF, 0x00000000, 0x009FFFFF, 0x00000000, 0x000FFFFF, 0x00000000, 0x000FFFFF, 0x00000000,
|
||||
0x009FFFFF, 0x00000000, 0x09FFFFFF, 0x00000000, 0x9FFFFFFF, 0x00000009, 0xFFFFFFFF, 0x0000009F, 0xFFFFFFFF,
|
||||
0x000009FF, 0xFFFFFFFF, 0x00009FFF, 0xFFFFFFFF, 0x0009FFFF, 0xFFFFFFFF, 0x009FFFFF, 0xFFFFFFFF, 0x09FFFFFF,
|
||||
0xFFFFFFFF, 0x9FFFFFFF, 0xFFFFFFFF, 0x9FFFFFFF, 0xFFFFFFFF, 0x09FFFFFF, 0xFFFFFFFF, 0x009FFFFF, 0xFFFFFFFF,
|
||||
0x0009FFFF, 0xFFFFFFFF, 0x00009FFF, 0xFFFFFFFF, 0x000009FF, 0xFFFFFFFF, 0x0000009F, 0xFFFFFFFF, 0x00000009,
|
||||
0xFFFFFFFF, 0x00000000, 0x9FFFFFFF, 0x00000000, 0x09FFFFFF, 0x00000000, 0x009FFFFF, 0x00000000, 0x000FFFFF,
|
||||
0x00000000, 0x000FFFFF, 0x00000000, 0x009FFFFF, 0x00000000, 0x09FFFFFF, 0x00000000, 0x9FFFFFFF, 0x00000009,
|
||||
0xFFFFFFFF, 0x0000009F, 0xFFFFFFFF, 0x000009FF, 0xFFFFFFFF, 0x00009FFF, 0xFFFFFFFF, 0x0009FFFF, 0xFFFFFFFF,
|
||||
0x009FFFFF, 0xFFFFFFFF, 0x09FFFFFF, 0xFFFFFFFF, 0x9FFFFFFF, 0xFFFFFFFF,
|
||||
};
|
||||
static Gfx D_8438ABE8[] = {
|
||||
gsDPPipeSync(),
|
||||
gsDPSetCycleType(G_CYC_1CYCLE),
|
||||
gsSPClearGeometryMode(G_ZBUFFER | G_CULL_BACK | G_LIGHTING),
|
||||
gsDPSetRenderMode(G_RM_XLU_SURF, G_RM_NOOP2),
|
||||
gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM),
|
||||
gsDPSetPrimColor(0, 0, 5, 5, 5, 255),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
|
||||
gsDPSetTexturePersp(G_TP_NONE),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
static Gfx D_8438AC30[] = {
|
||||
gsDPSetCycleType(G_CYC_2CYCLE),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
|
||||
gsDPSetTexturePersp(G_TP_PERSP),
|
||||
gsSPSetGeometryMode(G_ZBUFFER | G_CULL_BACK | G_LIGHTING),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
void func_8436EEF0(s32 arg0, s32 arg1) {
|
||||
D_843C4D90 = arg0;
|
||||
D_843C4D94 = arg1;
|
||||
|
||||
if ((D_843C4D90 == 0) || ((D_843C4D90 != 1) && (D_843C4D90 != 2) && (D_843C4D90 == 3))) {
|
||||
D_843C4D92 = 0x140;
|
||||
} else {
|
||||
D_843C4D92 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_8436EF48(void) {
|
||||
return D_843C4D90;
|
||||
}
|
||||
|
||||
void func_8436EF54(void) {
|
||||
s16 var_v0 = D_843C4D92;
|
||||
|
||||
switch (D_843C4D90) {
|
||||
case 2:
|
||||
if (var_v0 < 0x140) {
|
||||
var_v0 += D_843C4D94;
|
||||
} else {
|
||||
D_843C4D90 = 0;
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
if (var_v0 > 0) {
|
||||
var_v0 -= D_843C4D94;
|
||||
} else {
|
||||
D_843C4D90 = 1;
|
||||
}
|
||||
if (var_v0 < 0) {
|
||||
var_v0 = 0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
D_843C4D92 = var_v0;
|
||||
}
|
||||
|
||||
Gfx* func_8436EFE8(Gfx* arg0, s32 arg1) {
|
||||
s32 i;
|
||||
s16 left;
|
||||
s16 top;
|
||||
s32 temp_a1;
|
||||
s32 temp_v1;
|
||||
|
||||
temp_a1 = arg1 & 1;
|
||||
temp_v1 = (arg1 + 1) & 1;
|
||||
|
||||
gSPDisplayList(arg0++, D_8438ABE8);
|
||||
gDPLoadTextureBlock_4b(arg0++, D_8438AA68, G_IM_FMT_I, 12, 48, 0, G_TX_NOMIRROR | G_TX_CLAMP,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
gDPPipeSync(arg0++);
|
||||
|
||||
for (i = temp_a1; i < 5; i += 2) {
|
||||
left = D_843C4D92 * 2 - 320;
|
||||
top = i * 48;
|
||||
gSPScisTextureRectangle(arg0++, left << 2, top << 2, (left + 640) << 2, (top + 24) << 2, 0, 0, 0, 1 << 6,
|
||||
1 << 10);
|
||||
|
||||
gSPScisTextureRectangle(arg0++, left << 2, (top + 24) << 2, (left + 640) << 2, (top + 48) << 2, 0, 0, 0, 1 << 6,
|
||||
1 << 10);
|
||||
}
|
||||
|
||||
for (i = temp_v1; i < 5; i += 2) {
|
||||
left = -D_843C4D92 * 2;
|
||||
top = i * 48;
|
||||
gSPScisTextureRectangle(arg0++, left << 2, top << 2, (left + 640) << 2, (top + 24) << 2, 0, 0x500, 0, -(1 << 6),
|
||||
1 << 10);
|
||||
|
||||
gSPScisTextureRectangle(arg0++, left << 2, (top + 24) << 2, (left + 640) << 2, (top + 48) << 2, 0, 0x500, 0,
|
||||
-(1 << 6), 1 << 10);
|
||||
}
|
||||
|
||||
gSPDisplayList(arg0++, D_8438AC30);
|
||||
|
||||
return arg0;
|
||||
}
|
||||
|
||||
void func_8436F664(void) {
|
||||
Gfx* gfx = gDisplayListHead;
|
||||
|
||||
if (D_843C4D90 != 0) {
|
||||
if (D_843C4D90 == 2) {
|
||||
gfx = func_8436EFE8(gfx, 0);
|
||||
} else {
|
||||
gfx = func_8436EFE8(gfx, 1);
|
||||
}
|
||||
}
|
||||
gDisplayListHead = gfx;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
#include "global.h"
|
||||
#include "fragment62.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_359F80/func_8436F6C0.s")
|
||||
void func_8436F6C0(void) {
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -128,7 +128,7 @@ void func_84800184(void) {
|
|||
s32 var_s4;
|
||||
s8 temp_v0;
|
||||
s8* var_v0;
|
||||
unk_func_80007444_018* sp58;
|
||||
unk_D_80068BB0* sp58;
|
||||
Color_RGB8 sp54;
|
||||
Color_RGB8 sp50;
|
||||
|
||||
|
|
@ -161,7 +161,7 @@ void func_84800184(void) {
|
|||
}
|
||||
func_8001F444();
|
||||
|
||||
gDPSetScissorFrac(gDisplayListHead++, G_SC_NON_INTERLACE, 0, 0, sp58->unk_04 * 4.0f, sp58->unk_06 * 4.0f);
|
||||
gDPSetScissorFrac(gDisplayListHead++, G_SC_NON_INTERLACE, 0, 0, sp58->width * 4.0f, sp58->height * 4.0f);
|
||||
|
||||
D_8480379A += 2;
|
||||
if (D_8480379A >= ((strlen(var_v0) * 0x18) + 0x18)) {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#include "fragment9.h"
|
||||
#include "include/libc/math.h"
|
||||
#include "include/math.h"
|
||||
#include "src/12D80.h"
|
||||
#include "src/18140.h"
|
||||
#include "src/geo_layout.h"
|
||||
|
|
|
|||
|
|
@ -28,8 +28,6 @@ struct RelocTable {
|
|||
/* 0x04 */ u32 relocations[RELOCATIONS_SIZE]; // variable size
|
||||
};
|
||||
|
||||
typedef s32 (*FragmentEntry)(s32, s32);
|
||||
|
||||
typedef struct Fragment {
|
||||
/* 0x00 */ u32 inst[2]; // MIPS instructions to jump to the main function, typically something like "j 0x8xx00020; nop"
|
||||
/* 0x08 */ char magic[8]; // "FRAGMENT"
|
||||
|
|
@ -38,7 +36,9 @@ typedef struct Fragment {
|
|||
/* 0x18 */ u32 sizeInRom;
|
||||
/* 0x1C */ u32 sizeInRam;
|
||||
/* 0x20 */ char data[RELOCATIONS_SIZE]; // variable size
|
||||
} Fragment;
|
||||
} Fragment; // size = 0x20
|
||||
|
||||
typedef s32 (*FragmentEntry)(s32, s32);
|
||||
|
||||
void Memmap_SetSegmentMap(u32 id, uintptr_t vaddr, size_t size);
|
||||
uintptr_t Memmap_GetSegmentBaseVaddr(u32 id);
|
||||
|
|
|
|||
|
|
@ -577,8 +577,8 @@ void func_800079C4(void) {
|
|||
}
|
||||
}
|
||||
|
||||
unk_func_80007444_018* func_80007A2C(void) {
|
||||
unk_func_80007444_018* ret = NULL;
|
||||
unk_D_80068BB0* func_80007A2C(void) {
|
||||
unk_D_80068BB0* ret = NULL;
|
||||
|
||||
if (D_800A7464 != NULL) {
|
||||
ret = D_800A7464->unk_18[D_800A7464->unk_16];
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
#define _STAGE_LOADER_H_
|
||||
|
||||
#include "global.h"
|
||||
#include "src/6BC0.h"
|
||||
|
||||
typedef struct unk_D_800A7450 {
|
||||
/* 0x00 */ u8 unk_00;
|
||||
|
|
@ -14,14 +15,6 @@ typedef struct unk_D_800A7450 {
|
|||
/* 0x10 */ char unk10[0x4];
|
||||
} unk_D_800A7450; // size >= 0x14
|
||||
|
||||
typedef struct unk_func_80007444_018 {
|
||||
/* 0x00 */ char unk00[0x4];
|
||||
/* 0x04 */ u16 unk_04;
|
||||
/* 0x06 */ u16 unk_06;
|
||||
/* 0x08 */ s32 unk_08;
|
||||
/* 0x0C */ char unk0C[0x4];
|
||||
} unk_func_80007444_018; // size = 0x10
|
||||
|
||||
typedef struct unk_func_80007444 {
|
||||
/* 0x00 */ s16 unk_00;
|
||||
/* 0x02 */ s16 unk_02;
|
||||
|
|
@ -39,7 +32,7 @@ typedef struct unk_func_80007444 {
|
|||
/* 0x13 */ u8 unk_13;
|
||||
/* 0x14 */ u16 unk_14;
|
||||
/* 0x16 */ s8 unk_16;
|
||||
/* 0x18 */ unk_func_80007444_018* unk_18[3];
|
||||
/* 0x18 */ unk_D_80068BB0* unk_18[3];
|
||||
} unk_func_80007444; // size = 0x24
|
||||
|
||||
void func_800069F0(void);
|
||||
|
|
@ -69,7 +62,7 @@ s32 func_80007820(u32 arg0, s32 (*arg1)(u8));
|
|||
s32 func_800078D4(s32 (*arg0)(u8), s32 arg1, s32 arg2);
|
||||
void func_80007990(u16 arg0);
|
||||
void func_800079C4(void);
|
||||
unk_func_80007444_018* func_80007A2C(void);
|
||||
unk_D_80068BB0* func_80007A2C(void);
|
||||
s32 func_80007A58(void);
|
||||
void func_80007A80(void);
|
||||
void func_80007C3C(void);
|
||||
|
|
|
|||
|
|
@ -223,12 +223,12 @@ class Section:
|
|||
assert self.sh_type == SHT_STRTAB
|
||||
to = self.data.find(b'\0', index)
|
||||
assert to != -1
|
||||
return self.data[index:to].decode('latin1')
|
||||
return self.data[index:to].decode('utf8')
|
||||
|
||||
def add_str(self, string):
|
||||
assert self.sh_type == SHT_STRTAB
|
||||
ret = len(self.data)
|
||||
self.data += string.encode('latin1') + b'\0'
|
||||
self.data += string.encode('utf8') + b'\0'
|
||||
return ret
|
||||
|
||||
def is_rel(self):
|
||||
|
|
@ -523,7 +523,7 @@ class GlobalAsmBlock:
|
|||
raise Failure(message + "\nwithin " + context)
|
||||
|
||||
def count_quoted_size(self, line, z, real_line, output_enc):
|
||||
line = line.encode(output_enc).decode('latin1')
|
||||
line = line.encode(output_enc).decode('utf8')
|
||||
in_quote = False
|
||||
has_comma = True
|
||||
num_parts = 0
|
||||
|
|
@ -1309,7 +1309,7 @@ def fixup_objfile(objfile_name, functions, asm_prelude, assembler, output_enc, d
|
|||
st_other=STV_DEFAULT,
|
||||
st_shndx=section.index,
|
||||
strtab=objfile.symtab.strtab,
|
||||
name=symbol_name[:-1].decode('latin1'))
|
||||
name=symbol_name[:-1].decode('utf8'))
|
||||
strtab_index += len(emitted_symbol_name)
|
||||
new_strtab_data.append(emitted_symbol_name)
|
||||
new_syms.append(sym)
|
||||
|
|
@ -1420,8 +1420,8 @@ def run_wrapped(argv, outfile, functions):
|
|||
parser.add_argument('--post-process', dest='objfile', help="path to .o file to post-process")
|
||||
parser.add_argument('--assembler', dest='assembler', help="assembler command (e.g. \"mips-linux-gnu-as -march=vr4300 -mabi=32\")")
|
||||
parser.add_argument('--asm-prelude', dest='asm_prelude', help="path to a file containing a prelude to the assembly file (with .set and .macro directives, e.g.)")
|
||||
parser.add_argument('--input-enc', default='latin1', help="input encoding (default: %(default)s)")
|
||||
parser.add_argument('--output-enc', default='latin1', help="output encoding (default: %(default)s)")
|
||||
parser.add_argument('--input-enc', default='utf8', help="input encoding (default: %(default)s)")
|
||||
parser.add_argument('--output-enc', default='utf8', help="output encoding (default: %(default)s)")
|
||||
parser.add_argument('--drop-mdebug-gptab', dest='drop_mdebug_gptab', action='store_true', help="drop mdebug and gptab sections")
|
||||
parser.add_argument('--convert-statics', dest='convert_statics', choices=["no", "local", "global", "global-with-filename"], default="local", help="change static symbol visibility (default: %(default)s)")
|
||||
parser.add_argument('--force', dest='force', action='store_true', help="force processing of files without GLOBAL_ASM blocks")
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ asmproc_flags += opt_flags + [str(in_file)]
|
|||
# asmproc_flags += ["--drop-mdebug-gptab"]
|
||||
|
||||
# Convert encoding before compiling.
|
||||
# asmproc_flags += ["--input-enc", "utf-8", "--output-enc", "euc-jp"]
|
||||
asmproc_flags += ["--input-enc", "euc-jp", "--output-enc", "euc-jp"]
|
||||
|
||||
with tempfile.TemporaryDirectory(prefix="asm_processor") as tmpdirname:
|
||||
tmpdir_path = Path(tmpdirname)
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 4aa96babe54fa17bb75f674a9e6be6f8e8e4f0e5
|
||||
Subproject commit 433edd205953812ebd29f96602daa1a729947514
|
||||
|
|
@ -31,3 +31,4 @@ SINS = "float"
|
|||
"tools/ido/linux/5.3/cc" = "ido5.3"
|
||||
"tools/ido/macos/5.3/cc" = "ido5.3"
|
||||
"tools/ido/windows/5.3/cc" = "ido5.3"
|
||||
"./tools/preprocess.sh" = "ido7.1"
|
||||
|
|
|
|||
78
tools/preprocess.sh
Executable file
78
tools/preprocess.sh
Executable file
|
|
@ -0,0 +1,78 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# SPDX-FileCopyrightText: © 2024 ZeldaRET
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
# Usage: preprocess [flags] -- [compile command minus input file...] [single input file]
|
||||
# Flags:
|
||||
# -v OOT_VERSION (required)
|
||||
# -i ICONV_PATH (optional, default: iconv)
|
||||
# Preprocess a C file to:
|
||||
# * Re-encode from UTF-8 to EUC-JP
|
||||
# (the repo uses UTF-8 for text encoding, but the strings in the ROM are encoded in EUC-JP)
|
||||
# * Replace `#pragma increment_block_number` (see preprocess_pragma)
|
||||
|
||||
set -e
|
||||
set -o pipefail
|
||||
|
||||
if [ "${VERBOSE-}" ]
|
||||
then
|
||||
set -x
|
||||
fi
|
||||
|
||||
for i in `seq ${#@}`
|
||||
do
|
||||
if [[ "${!i}" = '--' ]]
|
||||
then
|
||||
# flags before --
|
||||
flags=("${@:1:$(($i - 1))}")
|
||||
# compile command, between -- and the input source file
|
||||
compilecmd="${@:$(($i + 1)):$((${#@} - $i - 1))}"
|
||||
# The last argument, the input source file to be compiled
|
||||
srcfile="${@: -1}"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "${VERBOSE-}" ]
|
||||
then
|
||||
echo flags="${flags[@]}"
|
||||
echo compilecmd="$compilecmd"
|
||||
echo srcfile="$srcfile"
|
||||
fi
|
||||
|
||||
ICONV=iconv
|
||||
|
||||
while getopts "i:" opt "${flags[@]}"
|
||||
do
|
||||
case $opt in
|
||||
i)
|
||||
ICONV=$OPTARG
|
||||
;;
|
||||
?)
|
||||
echo "Error: Bad flags"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [[ "${!OPTIND}" != '--' ]]
|
||||
then
|
||||
echo "Error: Positional arguments in flags not allowed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Create a temporary directory, and remove it on script exit
|
||||
# We use a temp dir instead of a temp file because ido_block_numbers.py and fix_bss.py
|
||||
# need the symbol table .T file from IDO, which is always named like the input file.
|
||||
# So we use a file named like the original input file, inside a temp dir.
|
||||
tempdir=`mktemp -d`
|
||||
tempfile=$tempdir/`basename $srcfile`
|
||||
trap "rm -rf $tempdir" EXIT
|
||||
|
||||
# Preprocess pragmas and re-encode from UTF-8 to EUC-JP
|
||||
"${ICONV}" -f UTF-8 -t EUC-JP "$srcfile" > "$tempfile"
|
||||
|
||||
# Also include the source file's directory to have the include path as if we compiled the original source.
|
||||
# Pass the processed temporary file for compilation.
|
||||
$compilecmd -I `dirname $srcfile` $tempfile
|
||||
|
|
@ -5,7 +5,29 @@ import re
|
|||
|
||||
with open(sys.argv[1], "r") as f:
|
||||
fd = f.read()
|
||||
|
||||
funcs = re.findall("(^[a-zA-Z0-9*_]+ .*\(.*\)) {$", fd, re.MULTILINE)
|
||||
"""
|
||||
funcs = re.findall("(^[a-zA-Z0-9*_]+ .*\(.*?\)) {", fd, re.MULTILINE | re.DOTALL)
|
||||
for func in funcs:
|
||||
print(func + ";")
|
||||
"""
|
||||
|
||||
func_re = re.compile(
|
||||
r'''
|
||||
^\s* # line start
|
||||
(?!if\b|for\b|while\b|switch\b|case\b|return\b) # skip control statements
|
||||
(?:(?:static|inline|extern|const|volatile)\s+)* # qualifiers (optional)
|
||||
[A-Za-z_][\w\s\*\d]*? # return type (rough)
|
||||
\s+ # space
|
||||
(?P<name>[A-Za-z_]\w*) # function name
|
||||
\s* # optional space
|
||||
\( # '('
|
||||
(?:[^(){}]|\([^()]*\))*? # arguments (allows nested ())
|
||||
\) # ')'
|
||||
\s* # optional space/newlines
|
||||
(?=\{) # next non-space char is '{'
|
||||
''',
|
||||
re.MULTILINE | re.DOTALL | re.VERBOSE)
|
||||
|
||||
for m in func_re.finditer(fd):
|
||||
print(" ".join(m.group(0).split()) + ";") # collapse whitespace, add semicolon
|
||||
|
||||
|
|
|
|||
|
|
@ -2148,23 +2148,29 @@
|
|||
- [0x2F6930, c, fragments/62/fragment62_2F6930]
|
||||
- [0x2F74E0, c, fragments/62/fragment62_2F74E0]
|
||||
- [0x2FA4D0, c, fragments/62/fragment62_2FA4D0]
|
||||
- [0x3020D0, c, fragments/62/fragment62_3020D0]
|
||||
- [0x304060, c, fragments/62/fragment62_304060]
|
||||
- [0x3055E0, c, fragments/62/fragment62_3055E0]
|
||||
- [0x309ED0, c, fragments/62/fragment62_309ED0]
|
||||
- [0x313250, c, fragments/62/fragment62_313250]
|
||||
- [0x313D60, c, fragments/62/fragment62_313D60]
|
||||
- [0x315830, c, fragments/62/fragment62_315830]
|
||||
- [0x315D50, c, fragments/62/fragment62_315D50]
|
||||
- [0x317E70, c, fragments/62/fragment62_317E70]
|
||||
- [0x31A7E0, c, fragments/62/fragment62_31A7E0]
|
||||
- [0x31AA30, c, fragments/62/fragment62_31AA30]
|
||||
- [0x31C660, c, fragments/62/fragment62_31C660]
|
||||
- [0x31D9F0, c, fragments/62/fragment62_31D9F0]
|
||||
- [0x3223B0, c, fragments/62/fragment62_3223B0]
|
||||
- [0x3274D0, c, fragments/62/fragment62_3274D0]
|
||||
- [0x328F10, c, fragments/62/fragment62_328F10]
|
||||
- [0x32A640, c, fragments/62/fragment62_32A640]
|
||||
- [0x32B680, c, fragments/62/fragment62_32B680]
|
||||
- [0x339CA0, c, fragments/62/fragment62_339CA0]
|
||||
- [0x3438B0, c, fragments/62/fragment62_3438B0]
|
||||
- [0x343BA0, c, fragments/62/fragment62_343BA0]
|
||||
- [0x347330, c, fragments/62/fragment62_347330]
|
||||
- [0x34A420, c, fragments/62/fragment62_34A420]
|
||||
- [0x34E1A0, c, fragments/62/fragment62_34E1A0]
|
||||
- [0x34F1A0, c, fragments/62/fragment62_34F1A0]
|
||||
- [0x3502D0, c, fragments/62/fragment62_3502D0]
|
||||
|
|
@ -2173,49 +2179,120 @@
|
|||
- [0x352570, c, fragments/62/fragment62_352570]
|
||||
- [0x353370, c, fragments/62/fragment62_353370]
|
||||
- [0x3540B0, c, fragments/62/fragment62_3540B0]
|
||||
- [0x354CD0, c, fragments/62/fragment62_354CD0]
|
||||
- [0x355A00, c, fragments/62/fragment62_355A00]
|
||||
- [0x356730, c, fragments/62/fragment62_356730]
|
||||
- [0x357C30, c, fragments/62/fragment62_357C30]
|
||||
- [0x3591E0, c, fragments/62/fragment62_3591E0]
|
||||
- [0x3597B0, c, fragments/62/fragment62_3597B0]
|
||||
- [0x359F80, c, fragments/62/fragment62_359F80]
|
||||
- [0x359F90, c, fragments/62/fragment62_359F90]
|
||||
- [0x35DF70, c, fragments/62/fragment62_35DF70]
|
||||
- [0x361050, c, fragments/62/fragment62_361050]
|
||||
- [0x36EC10, data, fragments/62/fragment62_data]
|
||||
- [0x3759C0, rodata, fragments/62/fragment62_rodata_3759C0]
|
||||
- [0x375A60, rodata, fragments/62/fragment62_rodata_375A60]
|
||||
- [0x375BA0, rodata, fragments/62/fragment62_rodata_375BA0]
|
||||
- [0x375BB0, rodata, fragments/62/fragment62_rodata_375BB0]
|
||||
- [0x375C50, rodata, fragments/62/fragment62_rodata_375C50]
|
||||
- [0x375D50, rodata, fragments/62/fragment62_rodata_375D50]
|
||||
- [0x375EA0, rodata, fragments/62/fragment62_rodata_375EA0]
|
||||
- [0x3764E0, rodata, fragments/62/fragment62_rodata_3764E0]
|
||||
- [0x376650, rodata, fragments/62/fragment62_rodata_376650]
|
||||
- [0x3768B0, rodata, fragments/62/fragment62_rodata_3768B0]
|
||||
- [0x3768E0, rodata, fragments/62/fragment62_rodata_3768E0]
|
||||
- [0x3769B0, rodata, fragments/62/fragment62_rodata_3769B0]
|
||||
- [0x376A10, rodata, fragments/62/fragment62_rodata_376A10]
|
||||
- [0x376A40, rodata, fragments/62/fragment62_rodata_376A40]
|
||||
- [0x376AE0, rodata, fragments/62/fragment62_rodata_376AE0]
|
||||
- [0x376B40, rodata, fragments/62/fragment62_rodata_376B40]
|
||||
- [0x3778A0, rodata, fragments/62/fragment62_rodata_3778A0]
|
||||
- [0x377C90, rodata, fragments/62/fragment62_rodata_377C90]
|
||||
- [0x377DA0, rodata, fragments/62/fragment62_rodata_377DA0]
|
||||
- [0x377E40, rodata, fragments/62/fragment62_rodata_377E40]
|
||||
- [0x377FA0, rodata, fragments/62/fragment62_rodata_377FA0]
|
||||
- [0x378000, rodata, fragments/62/fragment62_rodata_378000]
|
||||
- [0x378040, rodata, fragments/62/fragment62_rodata_378040]
|
||||
- [0x3780B0, rodata, fragments/62/fragment62_rodata_3780B0]
|
||||
- [0x378140, rodata, fragments/62/fragment62_rodata_378140]
|
||||
- [0x378170, rodata, fragments/62/fragment62_rodata_378170]
|
||||
- [0x3781A0, rodata, fragments/62/fragment62_rodata_3781A0]
|
||||
- [0x3781B0, rodata, fragments/62/fragment62_rodata_3781B0]
|
||||
- [0x3781D0, rodata, fragments/62/fragment62_rodata_3781D0]
|
||||
- [0x3784C0, rodata, fragments/62/fragment62_rodata_3784C0]
|
||||
- [0x378540, rodata, fragments/62/fragment62_rodata_378540]
|
||||
- [0x3786B0, rodata, fragments/62/fragment62_rodata_3786B0]
|
||||
|
||||
- {vram: 0x8438E440, type: bss, name: fragments/62/fragment62_bss}
|
||||
- [0x36EC10, .data, fragments/62/fragment62_2EA8E0]
|
||||
- [0x36EE30, .data, fragments/62/fragment62_2EC3C0]
|
||||
- [0x36EEC0, .data, fragments/62/fragment62_2F3CB0]
|
||||
- [0x370010, .data, fragments/62/fragment62_2F74E0]
|
||||
- [0x370050, .data, fragments/62/fragment62_2FA4D0]
|
||||
- [0x370250, .data, fragments/62/fragment62_3020D0]
|
||||
- [0x3702A0, .data, fragments/62/fragment62_304060]
|
||||
- [0x370410, .data, fragments/62/fragment62_3055E0]
|
||||
- [0x370430, .data, fragments/62/fragment62_309ED0]
|
||||
- [0x370470, .data, fragments/62/fragment62_315D50]
|
||||
- [0x3723C0, .data, fragments/62/fragment62_32B680]
|
||||
- [0x372880, .data, fragments/62/fragment62_343BA0]
|
||||
- [0x372B40, .data, fragments/62/fragment62_347330]
|
||||
- [0x373920, .data, fragments/62/fragment62_34A420]
|
||||
- [0x373BC0, .data, fragments/62/fragment62_34E1A0]
|
||||
- [0x373CF0, .data, fragments/62/fragment62_34F1A0]
|
||||
- [0x373E20, .data, fragments/62/fragment62_3502D0]
|
||||
- [0x373F50, .data, fragments/62/fragment62_3512D0]
|
||||
- [0x374040, .data, fragments/62/fragment62_351F20]
|
||||
- [0x374170, .data, fragments/62/fragment62_352570]
|
||||
- [0x374270, .data, fragments/62/fragment62_353370]
|
||||
- [0x3742C0, .data, fragments/62/fragment62_3540B0]
|
||||
- [0x374310, .data, fragments/62/fragment62_354CD0]
|
||||
- [0x374420, .data, fragments/62/fragment62_355A00]
|
||||
- [0x374530, .data, fragments/62/fragment62_356730]
|
||||
- [0x3745A0, .data, fragments/62/fragment62_357C30]
|
||||
- [0x374620, .data, fragments/62/fragment62_3591E0]
|
||||
- [0x375110, .data, fragments/62/fragment62_3597B0]
|
||||
- [0x375520, .data, fragments/62/fragment62_359F90]
|
||||
- [0x375710, .data, fragments/62/fragment62_35DF70]
|
||||
- [0x375870, .data, fragments/62/fragment62_361050]
|
||||
|
||||
- [0x3759C0, .rodata, fragments/62/fragment62_2EC3C0]
|
||||
- [0x375A60, .rodata, fragments/62/fragment62_2F3CB0]
|
||||
- [0x375B60, .rodata, fragments/62/fragment62_2F6930]
|
||||
- [0x375BA0, .rodata, fragments/62/fragment62_2F74E0]
|
||||
- [0x375BB0, .rodata, fragments/62/fragment62_2FA4D0]
|
||||
- [0x375C50, .rodata, fragments/62/fragment62_3020D0]
|
||||
- [0x375D50, .rodata, fragments/62/fragment62_304060]
|
||||
- [0x375EA0, .rodata, fragments/62/fragment62_3055E0]
|
||||
- [0x376100, .rodata, fragments/62/fragment62_309ED0]
|
||||
- [0x3764B0, .rodata, fragments/62/fragment62_313250]
|
||||
- [0x3764E0, .rodata, fragments/62/fragment62_313D60]
|
||||
- [0x376650, .rodata, fragments/62/fragment62_315D50]
|
||||
- [0x376790, .rodata, fragments/62/fragment62_317E70]
|
||||
- [0x3768B0, .rodata, fragments/62/fragment62_31C660]
|
||||
- [0x3768E0, .rodata, fragments/62/fragment62_31D9F0]
|
||||
- [0x3769B0, .rodata, fragments/62/fragment62_3223B0]
|
||||
- [0x376A10, .rodata, fragments/62/fragment62_3274D0]
|
||||
- [0x376A40, .rodata, fragments/62/fragment62_328F10]
|
||||
- [0x376AE0, .rodata, fragments/62/fragment62_32A640]
|
||||
- [0x376B40, .rodata, fragments/62/fragment62_32B680]
|
||||
- [0x3778A0, .rodata, fragments/62/fragment62_339CA0]
|
||||
- [0x377C90, .rodata, fragments/62/fragment62_343BA0]
|
||||
- [0x377DA0, .rodata, fragments/62/fragment62_347330]
|
||||
- [0x377E40, .rodata, fragments/62/fragment62_34A420]
|
||||
- [0x377FA0, .rodata, fragments/62/fragment62_34E1A0]
|
||||
- [0x377FC0, .rodata, fragments/62/fragment62_34F1A0]
|
||||
- [0x377FE0, .rodata, fragments/62/fragment62_3502D0]
|
||||
- [0x378000, .rodata, fragments/62/fragment62_3512D0]
|
||||
- [0x378040, .rodata, fragments/62/fragment62_351F20]
|
||||
- [0x378070, .rodata, fragments/62/fragment62_352570]
|
||||
- [0x3780B0, .rodata, fragments/62/fragment62_353370]
|
||||
- [0x378100, .rodata, fragments/62/fragment62_3540B0]
|
||||
- [0x378140, .rodata, fragments/62/fragment62_354CD0]
|
||||
- [0x378170, .rodata, fragments/62/fragment62_355A00]
|
||||
- [0x3781A0, .rodata, fragments/62/fragment62_356730]
|
||||
- [0x3781B0, .rodata, fragments/62/fragment62_357C30]
|
||||
- [0x3781D0, .rodata, fragments/62/fragment62_3591E0]
|
||||
- [0x3781E0, rodata, fragments/62/fragment62_rodata_3781E0]
|
||||
- [0x3784C0, .rodata, fragments/62/fragment62_359F90]
|
||||
- [0x378540, .rodata, fragments/62/fragment62_35DF70]
|
||||
- [0x3786B0, .rodata, fragments/62/fragment62_361050]
|
||||
|
||||
- {vram: 0x8438E440, type: .bss, name: fragments/62/fragment62_2EA8E0}
|
||||
- {vram: 0x8438E7B0, type: .bss, name: fragments/62/fragment62_2EC3C0}
|
||||
- {vram: 0x843900B0, type: bss, name: fragments/62/fragment62_bss1}
|
||||
- {vram: 0x843900D0, type: .bss, name: fragments/62/fragment62_2F6930}
|
||||
- {vram: 0x84390120, type: .bss, name: fragments/62/fragment62_2F74E0}
|
||||
- {vram: 0x84390190, type: .bss, name: fragments/62/fragment62_2FA4D0}
|
||||
- {vram: 0x843901A0, type: .bss, name: fragments/62/fragment62_3020D0}
|
||||
- {vram: 0x843901B0, type: .bss, name: fragments/62/fragment62_3055E0}
|
||||
- {vram: 0x84390200, type: .bss, name: fragments/62/fragment62_309ED0}
|
||||
- {vram: 0x84390240, type: .bss, name: fragments/62/fragment62_313D60}
|
||||
- {vram: 0x843902A0, type: .bss, name: fragments/62/fragment62_315D50}
|
||||
- {vram: 0x843920C0, type: .bss, name: fragments/62/fragment62_343BA0}
|
||||
- {vram: 0x843925E0, type: .bss, name: fragments/62/fragment62_347330}
|
||||
- {vram: 0x84397610, type: .bss, name: fragments/62/fragment62_34A420}
|
||||
- {vram: 0x8439CA60, type: .bss, name: fragments/62/fragment62_34E1A0}
|
||||
- {vram: 0x8439E680, type: .bss, name: fragments/62/fragment62_34F1A0}
|
||||
- {vram: 0x843A06A0, type: .bss, name: fragments/62/fragment62_3502D0}
|
||||
- {vram: 0x843A22C0, type: .bss, name: fragments/62/fragment62_3512D0}
|
||||
- {vram: 0x843AA880, type: .bss, name: fragments/62/fragment62_352570}
|
||||
- {vram: 0x843AB940, type: .bss, name: fragments/62/fragment62_353370}
|
||||
- {vram: 0x843ACA10, type: .bss, name: fragments/62/fragment62_3540B0}
|
||||
- {vram: 0x843ADA80, type: .bss, name: fragments/62/fragment62_354CD0}
|
||||
- {vram: 0x843B8340, type: .bss, name: fragments/62/fragment62_355A00}
|
||||
- {vram: 0x843C2C00, type: .bss, name: fragments/62/fragment62_356730}
|
||||
- {vram: 0x843C3500, type: .bss, name: fragments/62/fragment62_357C30}
|
||||
- {vram: 0x843C49C0, type: .bss, name: fragments/62/fragment62_3591E0}
|
||||
- {vram: 0x843C4D90, type: .bss, name: fragments/62/fragment62_3597B0}
|
||||
- {vram: 0x843C4DA0, type: .bss, name: fragments/62/fragment62_359F90}
|
||||
- {vram: 0x843C5310, type: .bss, name: fragments/62/fragment62_361050}
|
||||
|
||||
- name: fragment62_relocs
|
||||
type: code
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user