mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-10-02 14:31:06 -05:00
Match ov74_021D0D80.c
This commit is contained in:
@@ -1,114 +0,0 @@
|
||||
.public sub_02002100
|
||||
.public sub_02002114
|
||||
.public sub_02002AC8
|
||||
.public sub_02002D7C
|
||||
.public sub_02002E7C
|
||||
.public sub_02002E98
|
||||
.public sub_02004FB8
|
||||
.public sub_02005748
|
||||
.public sub_020057A4
|
||||
.public sub_0200681C
|
||||
.public sub_0200682C
|
||||
.public sub_02006830
|
||||
.public sub_02006840
|
||||
.public sub_02006C24
|
||||
.public sub_02006CA8
|
||||
.public sub_02006D28
|
||||
.public sub_02006D84
|
||||
.public sub_0200B144
|
||||
.public sub_0200B190
|
||||
.public sub_0200B1B8
|
||||
.public sub_0200B1EC
|
||||
.public sub_0200C800
|
||||
.public sub_0200DAA4
|
||||
.public sub_0200DC48
|
||||
.public sub_0200DC9C
|
||||
.public sub_0200DD0C
|
||||
.public sub_0200E060
|
||||
.public sub_0200E084
|
||||
.public sub_0200F174
|
||||
.public sub_0200F2AC
|
||||
.public sub_0200F32C
|
||||
.public sub_02017798
|
||||
.public sub_020177A4
|
||||
.public sub_02017FC8
|
||||
.public sub_0201807C
|
||||
.public sub_02018144
|
||||
.public sub_02018184
|
||||
.public sub_020181C4
|
||||
.public sub_02018340
|
||||
.public sub_02018368
|
||||
.public sub_020183C4
|
||||
.public sub_02019044
|
||||
.public sub_02019184
|
||||
.public sub_0201958C
|
||||
.public sub_02019690
|
||||
.public sub_0201972C
|
||||
.public sub_02019964
|
||||
.public sub_02019CB8
|
||||
.public sub_02019EBC
|
||||
.public sub_0201A7E8
|
||||
.public sub_0201A8FC
|
||||
.public sub_0201A954
|
||||
.public sub_0201A9A4
|
||||
.public sub_0201AA3C
|
||||
.public sub_0201ACF4
|
||||
.public sub_0201ADA4
|
||||
.public sub_0201AE78
|
||||
.public sub_0201C2B8
|
||||
.public sub_0201C3C0
|
||||
.public sub_0201C63C
|
||||
.public sub_0201D724
|
||||
.public sub_0201D730
|
||||
.public sub_0201D78C
|
||||
.public sub_0201DBEC
|
||||
.public sub_0201DC3C
|
||||
.public sub_0201FE94
|
||||
.public sub_0201FF00
|
||||
.public sub_0201FF0C
|
||||
.public sub_0201FF68
|
||||
.public sub_02023790
|
||||
.public sub_020237BC
|
||||
.public sub_020237E8
|
||||
.public sub_02027A68
|
||||
.public sub_02027AA4
|
||||
.public sub_02027AAC
|
||||
.public sub_02027AC0
|
||||
.public sub_02027ADC
|
||||
.public sub_02027AE4
|
||||
.public sub_02027AF8
|
||||
.public sub_02027B00
|
||||
.public sub_02027B14
|
||||
.public sub_02027B1C
|
||||
.public sub_02027B30
|
||||
.public sub_02027B38
|
||||
.public sub_02027B50
|
||||
.public sub_02027B58
|
||||
.public sub_020397E4
|
||||
.public NNS_GfdDoVramTransfer
|
||||
.public NNS_G2dGetUnpackedCharacterData
|
||||
.public NNS_G2dGetUnpackedPaletteData
|
||||
.public NNS_G2dGetUnpackedScreenData
|
||||
.public memset
|
||||
.public _s32_div_f
|
||||
.public _u32_div_f
|
||||
.public ov74_021D10F8
|
||||
.public ov74_021D1118
|
||||
.public ov74_021D1178
|
||||
.public ov74_021D122C
|
||||
.public ov74_021D12D4
|
||||
.public ov74_021D135C
|
||||
.public ov74_021D1390
|
||||
.public ov74_021D14E8
|
||||
.public ov74_021D14F4
|
||||
.public ov74_021D1624
|
||||
.public ov74_021D1668
|
||||
.public ov74_021D1720
|
||||
.public ov74_021D17CC
|
||||
.public ov74_021D1968
|
||||
.public ov74_021D1A08
|
||||
.public ov74_021D1A24
|
||||
.public ov74_021D1B44
|
||||
.public ov74_021D1BA8
|
||||
.public ov74_021D1BD0
|
||||
.public ov74_021D1BE4
|
||||
File diff suppressed because it is too large
Load Diff
2
main.lsf
2
main.lsf
@@ -1748,7 +1748,7 @@ Overlay overlay73
|
||||
Overlay overlay74
|
||||
{
|
||||
After main
|
||||
Object asm/overlay074/ov74_021D0D80.o
|
||||
Object src/overlay074/ov74_021D0D80.o
|
||||
}
|
||||
|
||||
Overlay overlay75
|
||||
|
||||
768
src/overlay074/ov74_021D0D80.c
Normal file
768
src/overlay074/ov74_021D0D80.c
Normal file
@@ -0,0 +1,768 @@
|
||||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "data_021BF67C.h"
|
||||
|
||||
#include "struct_decls/struct_02001AF4_decl.h"
|
||||
#include "struct_decls/struct_020067E8_decl.h"
|
||||
#include "struct_decls/struct_02006C24_decl.h"
|
||||
#include "struct_decls/struct_0200B144_decl.h"
|
||||
#include "struct_decls/struct_0200C6E4_decl.h"
|
||||
#include "struct_decls/struct_0200C704_decl.h"
|
||||
#include "struct_decls/struct_02018340_decl.h"
|
||||
#include "struct_decls/struct_02023790_decl.h"
|
||||
|
||||
#include "struct_defs/struct_0200D0F4.h"
|
||||
#include "struct_defs/struct_020279FC.h"
|
||||
#include "struct_defs/struct_0203D8EC.h"
|
||||
#include "struct_defs/struct_0205AA50.h"
|
||||
#include "struct_defs/struct_02099F80.h"
|
||||
#include "overlay061/struct_ov61_0222C884.h"
|
||||
#include "overlay084/struct_ov84_0223BA5C.h"
|
||||
#include "overlay097/struct_ov97_0222DB78.h"
|
||||
|
||||
#include "unk_02001AF4.h"
|
||||
#include "unk_02002328.h"
|
||||
#include "unk_02002B7C.h"
|
||||
#include "unk_020041CC.h"
|
||||
#include "unk_02005474.h"
|
||||
#include "unk_020067E8.h"
|
||||
#include "unk_020068C8.h"
|
||||
#include "unk_0200AC5C.h"
|
||||
#include "unk_0200C6E4.h"
|
||||
#include "unk_0200DA60.h"
|
||||
#include "unk_0200F174.h"
|
||||
#include "unk_02017728.h"
|
||||
#include "unk_02017E74.h"
|
||||
#include "unk_02018340.h"
|
||||
#include "unk_0201D670.h"
|
||||
#include "unk_0201DBEC.h"
|
||||
#include "unk_0201FE94.h"
|
||||
#include "unk_02023790.h"
|
||||
#include "unk_020279FC.h"
|
||||
#include "unk_020393C8.h"
|
||||
#include "overlay074/ov74_021D0D80.h"
|
||||
|
||||
#define WINCLR_COL(col) (((col) << 4) | (col))
|
||||
|
||||
typedef struct UnkStruct_ov74_021D1720_t {
|
||||
u16 unk_00;
|
||||
u16 unk_02;
|
||||
UnkStruct_02023790 * unk_04[20];
|
||||
} UnkStruct_ov74_021D1720;
|
||||
|
||||
typedef struct UnkStruct_ov74_021D0D80_t {
|
||||
int unk_00;
|
||||
int unk_04;
|
||||
int unk_08;
|
||||
int unk_0C;
|
||||
u32 unk_10_0 : 2;
|
||||
u32 unk_10_2 : 3;
|
||||
u32 unk_10_5 : 16;
|
||||
u32 unk_10_21 : 1;
|
||||
u32 unk_10_22 : 10;
|
||||
UnkStruct_02018340 * unk_14;
|
||||
UnkStruct_0203D8EC unk_18;
|
||||
UnkStruct_020279FC * unk_1C;
|
||||
UnkStruct_0200B144 * unk_20;
|
||||
void * unk_24;
|
||||
NNSG2dScreenData * unk_28;
|
||||
UnkStruct_0205AA50 unk_2C[3];
|
||||
UnkStruct_ov74_021D1720 unk_5C[7];
|
||||
UnkStruct_02001AF4 * unk_2A8;
|
||||
u32 unk_2AC;
|
||||
UnkStruct_0200C6E4 * unk_2B0;
|
||||
UnkStruct_0200C704 * unk_2B4;
|
||||
UnkStruct_0200D0F4 * unk_2B8;
|
||||
} UnkStruct_ov74_021D0D80;
|
||||
|
||||
int ov74_021D0D80(UnkStruct_020067E8 * param0, int * param1);
|
||||
int ov74_021D0F60(UnkStruct_020067E8 * param0, int * param1);
|
||||
int ov74_021D0E58(UnkStruct_020067E8 * param0, int * param1);
|
||||
static void ov74_021D1118(void * param0);
|
||||
static void ov74_021D10F8(void);
|
||||
static int ov74_021D1178(UnkStruct_ov74_021D0D80 * param0);
|
||||
static int ov74_021D122C(UnkStruct_ov74_021D0D80 * param0);
|
||||
static void ov74_021D12D4(UnkStruct_ov74_021D0D80 * param0);
|
||||
static void ov74_021D135C(UnkStruct_ov74_021D0D80 * param0);
|
||||
static void ov74_021D1390(UnkStruct_ov74_021D0D80 * param0);
|
||||
static void ov74_021D14E8(UnkStruct_ov74_021D0D80 * param0);
|
||||
static void ov74_021D14F4(UnkStruct_ov74_021D0D80 * param0);
|
||||
static void ov74_021D1624(UnkStruct_ov74_021D0D80 * param0);
|
||||
static void ov74_021D1668(UnkStruct_ov74_021D0D80 * param0);
|
||||
static void ov74_021D17CC(UnkStruct_ov74_021D0D80 * param0, u16 param1);
|
||||
static void ov74_021D1BE4(UnkStruct_ov74_021D0D80 * param0, u16 param1, BOOL param2);
|
||||
static void ov74_021D1968(UnkStruct_ov74_021D0D80 * param0, u16 param1, BOOL param2);
|
||||
static BOOL ov74_021D1A08(const UnkStruct_ov74_021D0D80 * param0);
|
||||
static void ov74_021D1720(UnkStruct_ov74_021D0D80 * param0);
|
||||
static void ov74_021D1A24(UnkStruct_ov74_021D0D80 * param0);
|
||||
static BOOL ov74_021D1B44(UnkStruct_ov74_021D0D80 * param0);
|
||||
static void ov74_021D1BA8(UnkStruct_ov74_021D0D80 * param0);
|
||||
static u32 ov74_021D1BD0(UnkStruct_ov74_021D0D80 * param0);
|
||||
|
||||
int ov74_021D0D80 (UnkStruct_020067E8 * param0, int * param1)
|
||||
{
|
||||
UnkStruct_ov74_021D0D80 * v0 = NULL;
|
||||
UnkStruct_020279FC * v1;
|
||||
|
||||
v1 = (UnkStruct_020279FC *)sub_02006840(param0);
|
||||
|
||||
sub_02017FC8(3, 38, 0x10000);
|
||||
|
||||
v0 = sub_0200681C(param0, sizeof(UnkStruct_ov74_021D0D80), 38);
|
||||
memset(v0, 0, sizeof(UnkStruct_ov74_021D0D80));
|
||||
|
||||
v0->unk_18.unk_00_0 = sub_02027AA4(v1);
|
||||
v0->unk_18.unk_00_6 = sub_02027AF8(v1);
|
||||
v0->unk_18.unk_00_7 = sub_02027B14(v1);
|
||||
v0->unk_18.unk_00_4 = sub_02027ADC(v1);
|
||||
v0->unk_18.unk_00_8 = sub_02027B30(v1);
|
||||
v0->unk_18.unk_00_10 = sub_02027B50(v1);
|
||||
v0->unk_00 = 38;
|
||||
v0->unk_1C = v1;
|
||||
|
||||
sub_02002AC8(0);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int ov74_021D0E58 (UnkStruct_020067E8 * param0, int * param1)
|
||||
{
|
||||
UnkStruct_ov74_021D0D80 * v0 = sub_0200682C(param0);
|
||||
|
||||
if (v0->unk_10_0 == 1) {
|
||||
v0->unk_18.unk_00_0 = v0->unk_5C[0].unk_02;
|
||||
v0->unk_18.unk_00_6 = v0->unk_5C[2].unk_02;
|
||||
v0->unk_18.unk_00_7 = v0->unk_5C[3].unk_02;
|
||||
v0->unk_18.unk_00_4 = v0->unk_5C[1].unk_02;
|
||||
v0->unk_18.unk_00_8 = v0->unk_5C[4].unk_02;
|
||||
v0->unk_18.unk_00_10 = v0->unk_5C[5].unk_02;
|
||||
}
|
||||
|
||||
sub_02027AAC(v0->unk_1C, v0->unk_18.unk_00_0);
|
||||
sub_02027B00(v0->unk_1C, v0->unk_18.unk_00_6);
|
||||
sub_02027B1C(v0->unk_1C, v0->unk_18.unk_00_7);
|
||||
sub_02027AE4(v0->unk_1C, v0->unk_18.unk_00_4);
|
||||
sub_02027B38(v0->unk_1C, v0->unk_18.unk_00_8);
|
||||
sub_02027B58(v0->unk_1C, v0->unk_18.unk_00_10);
|
||||
sub_02004FB8(v0->unk_18.unk_00_4);
|
||||
sub_02027A68(NULL, v0->unk_18.unk_00_8);
|
||||
sub_02002AC8(1);
|
||||
sub_02006830(param0);
|
||||
sub_0201807C(v0->unk_00);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int ov74_021D0F60 (UnkStruct_020067E8 * param0, int * param1)
|
||||
{
|
||||
UnkStruct_ov74_021D0D80 * v0 = sub_0200682C(param0);
|
||||
BOOL v1;
|
||||
u32 v2;
|
||||
|
||||
switch (v0->unk_04) {
|
||||
case 0:
|
||||
if (!ov74_021D1178(v0)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
sub_0200F174(3, 1, 1, 0x0, 6, 1, v0->unk_00);
|
||||
break;
|
||||
case 1:
|
||||
if (!sub_0200F2AC()) {
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (((Unk_021BF67C.unk_48 & PAD_BUTTON_A) && (v0->unk_10_2 == (7 - 1))) || (Unk_021BF67C.unk_48 & PAD_BUTTON_B)) {
|
||||
v1 = ov74_021D1B44(v0);
|
||||
|
||||
if (v1 == 1) {
|
||||
v0->unk_04 = 3;
|
||||
} else {
|
||||
sub_02005748(1500);
|
||||
v0->unk_10_0 = 2;
|
||||
v0->unk_04 = 6;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
ov74_021D1A24(v0);
|
||||
return 0;
|
||||
case 3:
|
||||
sub_02002AC8(1);
|
||||
ov74_021D1968(v0, 49, 0);
|
||||
break;
|
||||
case 4:
|
||||
if (ov74_021D1A08(v0)) {
|
||||
sub_02002AC8(0);
|
||||
ov74_021D1BA8(v0);
|
||||
v0->unk_04 = 5;
|
||||
}
|
||||
|
||||
return 0;
|
||||
case 5:
|
||||
v2 = ov74_021D1BD0(v0);
|
||||
|
||||
if (v2 != 0xffffffff) {
|
||||
if (v2 == 0) {
|
||||
sub_020057A4(1500, 0);
|
||||
sub_02005748(1563);
|
||||
v0->unk_10_0 = 1;
|
||||
} else {
|
||||
v0->unk_10_0 = 2;
|
||||
}
|
||||
|
||||
v0->unk_04 = 6;
|
||||
}
|
||||
|
||||
return 0;
|
||||
case 6:
|
||||
if (sub_0201D724(v0->unk_2AC)) {
|
||||
sub_0201D730(v0->unk_2AC);
|
||||
}
|
||||
|
||||
sub_0200F174(3, 0, 0, 0x0, 6, 1, v0->unk_00);
|
||||
break;
|
||||
case 7:
|
||||
if (!sub_0200F2AC()) {
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
if (!ov74_021D122C(v0)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
++v0->unk_04;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void ov74_021D10F8 (void)
|
||||
{
|
||||
UnkStruct_02099F80 v0 = {
|
||||
GX_VRAM_BG_128_A, GX_VRAM_BGEXTPLTT_NONE, GX_VRAM_SUB_BG_128_C, GX_VRAM_SUB_BGEXTPLTT_NONE, GX_VRAM_OBJ_16_G, GX_VRAM_OBJEXTPLTT_NONE, GX_VRAM_SUB_OBJ_16_I, GX_VRAM_SUB_OBJEXTPLTT_NONE, GX_VRAM_TEX_NONE, GX_VRAM_TEXPLTT_NONE
|
||||
};
|
||||
|
||||
sub_0201FE94(&v0);
|
||||
}
|
||||
|
||||
static void ov74_021D1118 (void * param0)
|
||||
{
|
||||
UnkStruct_ov74_021D0D80 * v0 = param0;
|
||||
|
||||
if (v0->unk_10_21) {
|
||||
sub_0200DD0C(v0->unk_14, 1, ((((10 + 12 * 2) + 30 * 14) + 27 * 4) + 9), 15, v0->unk_5C[5].unk_02, v0->unk_00);
|
||||
v0->unk_10_21 = 0;
|
||||
}
|
||||
|
||||
sub_0200C800();
|
||||
NNS_GfdDoVramTransfer();
|
||||
sub_0201C2B8(v0->unk_14);
|
||||
OS_SetIrqCheckFlag(OS_IE_V_BLANK);
|
||||
}
|
||||
|
||||
static int ov74_021D1178 (UnkStruct_ov74_021D0D80 * param0)
|
||||
{
|
||||
switch (param0->unk_08) {
|
||||
case 0:
|
||||
sub_02017798(NULL, NULL);
|
||||
sub_020177A4();
|
||||
sub_0201FF00();
|
||||
sub_0201FF68();
|
||||
|
||||
GX_SetVisiblePlane(0);
|
||||
GXS_SetVisiblePlane(0);
|
||||
|
||||
ov74_021D10F8();
|
||||
sub_0200F32C(0);
|
||||
sub_0200F32C(1);
|
||||
ov74_021D12D4(param0);
|
||||
break;
|
||||
case 1:
|
||||
ov74_021D1390(param0);
|
||||
param0->unk_20 = sub_0200B144(1, 26, 220, param0->unk_00);
|
||||
ov74_021D1720(param0);
|
||||
break;
|
||||
case 2:
|
||||
ov74_021D14F4(param0);
|
||||
ov74_021D1668(param0);
|
||||
sub_0201DBEC(32, param0->unk_00);
|
||||
sub_0201FF0C(GX_PLANEMASK_OBJ, 1);
|
||||
sub_020397E4();
|
||||
sub_02017798(ov74_021D1118, param0);
|
||||
param0->unk_08 = 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
++param0->unk_08;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int ov74_021D122C (UnkStruct_ov74_021D0D80 * param0)
|
||||
{
|
||||
int v0 = 0, v1 = 0;
|
||||
|
||||
switch (param0->unk_08) {
|
||||
case 0:
|
||||
sub_0201DC3C();
|
||||
ov74_021D1624(param0);
|
||||
|
||||
for (v0 = 0; v0 < 7; v0++) {
|
||||
for (v1 = 0; v1 < param0->unk_5C[v0].unk_00; v1++) {
|
||||
sub_020237BC(param0->unk_5C[v0].unk_04[v1]);
|
||||
}
|
||||
}
|
||||
|
||||
sub_0200B190(param0->unk_20);
|
||||
ov74_021D14E8(param0);
|
||||
ov74_021D135C(param0);
|
||||
break;
|
||||
case 1:
|
||||
sub_02017798(NULL, NULL);
|
||||
sub_020177A4();
|
||||
sub_0201FF00();
|
||||
sub_0201FF68();
|
||||
|
||||
GX_SetVisiblePlane(0);
|
||||
GXS_SetVisiblePlane(0);
|
||||
param0->unk_08 = 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
++param0->unk_08;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void ov74_021D12D4 (UnkStruct_ov74_021D0D80 * param0)
|
||||
{
|
||||
int v0;
|
||||
|
||||
param0->unk_14 = sub_02018340(param0->unk_00);
|
||||
|
||||
{
|
||||
UnkStruct_ov84_0223BA5C v1 = {
|
||||
GX_DISPMODE_GRAPHICS,
|
||||
GX_BGMODE_0,
|
||||
GX_BGMODE_0,
|
||||
GX_BG0_AS_2D
|
||||
};
|
||||
|
||||
sub_02018368(&v1);
|
||||
}
|
||||
|
||||
{
|
||||
UnkStruct_ov97_0222DB78 v2[] = {
|
||||
{
|
||||
0,
|
||||
0,
|
||||
0x800,
|
||||
0,
|
||||
1,
|
||||
GX_BG_COLORMODE_16,
|
||||
GX_BG_SCRBASE_0xf800,
|
||||
GX_BG_CHARBASE_0x00000,
|
||||
GX_BG_EXTPLTT_01,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
},
|
||||
{
|
||||
0,
|
||||
0,
|
||||
0x800,
|
||||
0,
|
||||
1,
|
||||
GX_BG_COLORMODE_16,
|
||||
GX_BG_SCRBASE_0xf000,
|
||||
GX_BG_CHARBASE_0x00000,
|
||||
GX_BG_EXTPLTT_01,
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
},
|
||||
{
|
||||
0,
|
||||
0,
|
||||
0x800,
|
||||
0,
|
||||
1,
|
||||
GX_BG_COLORMODE_16,
|
||||
GX_BG_SCRBASE_0xe800,
|
||||
GX_BG_CHARBASE_0x00000,
|
||||
GX_BG_EXTPLTT_01,
|
||||
3,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
},
|
||||
{
|
||||
0,
|
||||
0,
|
||||
0x800,
|
||||
0,
|
||||
1,
|
||||
GX_BG_COLORMODE_16,
|
||||
GX_BG_SCRBASE_0xe000,
|
||||
GX_BG_CHARBASE_0x00000,
|
||||
GX_BG_EXTPLTT_01,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
},
|
||||
{
|
||||
0,
|
||||
0,
|
||||
0x800,
|
||||
0,
|
||||
1,
|
||||
GX_BG_COLORMODE_16,
|
||||
GX_BG_SCRBASE_0xf800,
|
||||
GX_BG_CHARBASE_0x00000,
|
||||
GX_BG_EXTPLTT_01,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
},
|
||||
};
|
||||
|
||||
for (v0 = 0; v0 < 5; v0++) {
|
||||
static const v3[5] = {
|
||||
0, 1, 2, 3, 4
|
||||
};
|
||||
|
||||
sub_020183C4(param0->unk_14, v3[v0], &(v2[v0]), 0);
|
||||
sub_02019EBC(param0->unk_14, v3[v0]);
|
||||
}
|
||||
}
|
||||
sub_02019690(0, 32, 0, param0->unk_00);
|
||||
sub_02019690(4, 32, 0, param0->unk_00);
|
||||
}
|
||||
|
||||
static void ov74_021D135C (UnkStruct_ov74_021D0D80 * param0)
|
||||
{
|
||||
sub_02019044(param0->unk_14, 4);
|
||||
sub_02019044(param0->unk_14, 3);
|
||||
sub_02019044(param0->unk_14, 2);
|
||||
sub_02019044(param0->unk_14, 1);
|
||||
sub_02019044(param0->unk_14, 0);
|
||||
sub_020181C4(param0->unk_14);
|
||||
}
|
||||
|
||||
static void ov74_021D1390 (UnkStruct_ov74_021D0D80 * param0)
|
||||
{
|
||||
void * v0;
|
||||
u32 v1;
|
||||
UnkStruct_02006C24 * v2;
|
||||
void * v3;
|
||||
NNSG2dCharacterData * v4;
|
||||
NNSG2dPaletteData * v5;
|
||||
|
||||
v2 = sub_02006C24(73, param0->unk_00);
|
||||
v1 = sub_02006D84(v2, 1);
|
||||
v3 = sub_02018184(param0->unk_00, v1);
|
||||
|
||||
sub_02006D28(v2, 1, (void *)v3);
|
||||
NNS_G2dGetUnpackedCharacterData(v3, &v4);
|
||||
sub_0201958C(param0->unk_14, 0, v4->pRawData, v4->szByte, 0);
|
||||
sub_0201958C(param0->unk_14, 4, v4->pRawData, v4->szByte, 0);
|
||||
sub_020181C4(v3);
|
||||
|
||||
v1 = sub_02006D84(v2, 0);
|
||||
v3 = sub_02018184(param0->unk_00, v1);
|
||||
sub_02006D28(v2, 0, (void *)v3);
|
||||
|
||||
NNS_G2dGetUnpackedPaletteData(v3, &v5);
|
||||
sub_0201972C(0, v5->pRawData, 0x20 * 1, 0);
|
||||
sub_0201972C(4, v5->pRawData, 0x20 * 1, 0);
|
||||
sub_020181C4(v3);
|
||||
|
||||
v1 = sub_02006D84(v2, 2);
|
||||
param0->unk_24 = sub_02018144(param0->unk_00, v1);
|
||||
|
||||
sub_02006D28(v2, 2, (void *)param0->unk_24);
|
||||
NNS_G2dGetUnpackedScreenData(param0->unk_24, &(param0->unk_28));
|
||||
sub_02006CA8(v2);
|
||||
sub_02019CB8(param0->unk_14, 2, 0x1, 0, 0, 32, 32, 17);
|
||||
sub_02019CB8(param0->unk_14, 4, 0x1, 0, 0, 32, 32, 17);
|
||||
sub_02019964(param0->unk_14, 0, 0, 0, 32, 2, param0->unk_28->rawData, 0, 0, param0->unk_28->screenWidth / 8, param0->unk_28->screenHeight / 8);
|
||||
sub_02019184(param0->unk_14, 0, 3, -24);
|
||||
sub_0201C3C0(param0->unk_14, 2);
|
||||
sub_0201C3C0(param0->unk_14, 0);
|
||||
sub_0201C3C0(param0->unk_14, 4);
|
||||
}
|
||||
|
||||
static void ov74_021D14E8 (UnkStruct_ov74_021D0D80 * param0)
|
||||
{
|
||||
sub_020181C4(param0->unk_24);
|
||||
}
|
||||
|
||||
static void ov74_021D14F4 (UnkStruct_ov74_021D0D80 * param0)
|
||||
{
|
||||
sub_0201A7E8(param0->unk_14, ¶m0->unk_2C[0], 1, 1, 0, 12, 2, 13, 10);
|
||||
sub_0201A7E8(param0->unk_14, ¶m0->unk_2C[1], 1, 1, 3, 30, 14, 13, (10 + 12 * 2));
|
||||
sub_0201A7E8(param0->unk_14, ¶m0->unk_2C[2], 1, 2, 19, 27, 4, 12, ((10 + 12 * 2) + 30 * 14));
|
||||
sub_0200DAA4(param0->unk_14, 1, (((10 + 12 * 2) + 30 * 14) + 27 * 4), 14, 0, param0->unk_00);
|
||||
sub_0200DD0C(param0->unk_14, 1, ((((10 + 12 * 2) + 30 * 14) + 27 * 4) + 9), 15, param0->unk_18.unk_00_10, param0->unk_00);
|
||||
|
||||
sub_02002E7C(0, 13 * 32, param0->unk_00);
|
||||
sub_02002E7C(4, 13 * 32, param0->unk_00);
|
||||
sub_02002E98(0, 12 * 32, param0->unk_00);
|
||||
sub_02002E98(4, 12 * 32, param0->unk_00);
|
||||
|
||||
sub_0201ADA4(&(param0->unk_2C[0]), WINCLR_COL(0));
|
||||
sub_0201ADA4(&(param0->unk_2C[1]), WINCLR_COL(15));
|
||||
sub_0201ADA4(&(param0->unk_2C[2]), WINCLR_COL(15));
|
||||
sub_0201AA3C(&(param0->unk_2C[2]));
|
||||
sub_0201AA3C(&(param0->unk_2C[1]));
|
||||
sub_0201AA3C(&(param0->unk_2C[0]));
|
||||
|
||||
sub_0200DC48(¶m0->unk_2C[1], 1, (((10 + 12 * 2) + 30 * 14) + 27 * 4), 14);
|
||||
sub_0200E060(¶m0->unk_2C[2], 1, ((((10 + 12 * 2) + 30 * 14) + 27 * 4) + 9), 15);
|
||||
}
|
||||
|
||||
static void ov74_021D1624 (UnkStruct_ov74_021D0D80 * param0)
|
||||
{
|
||||
u16 v0;
|
||||
|
||||
sub_0200DC9C(&(param0->unk_2C[1]), 0);
|
||||
sub_0200E084(&(param0->unk_2C[2]), 0);
|
||||
|
||||
for (v0 = 0; v0 < 3; v0++) {
|
||||
sub_0201ACF4(&(param0->unk_2C[v0]));
|
||||
sub_0201ADA4(&(param0->unk_2C[v0]), 0);
|
||||
sub_0201AA3C(&(param0->unk_2C[v0]));
|
||||
sub_0201A8FC(¶m0->unk_2C[v0]);
|
||||
}
|
||||
}
|
||||
|
||||
static void ov74_021D1668 (UnkStruct_ov74_021D0D80 * param0)
|
||||
{
|
||||
u32 v0, v1;
|
||||
u16 v2;
|
||||
u32 v3, v4, v5;
|
||||
UnkStruct_02023790 * v6;
|
||||
UnkStruct_02023790 * v7;
|
||||
static const u8 v8[7] = {
|
||||
3, 6, 4, 5, 7, 8, 42,
|
||||
};
|
||||
|
||||
v5 = (u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | (((0 & 0xff) << 0)));
|
||||
v3 = (u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | (((15 & 0xff) << 0)));
|
||||
v4 = (u32)(((3 & 0xff) << 16) | ((4 & 0xff) << 8) | (((15 & 0xff) << 0)));
|
||||
v6 = sub_02023790(256, param0->unk_00);
|
||||
|
||||
sub_0200B1B8(param0->unk_20, 0, v6);
|
||||
|
||||
v1 = 2;
|
||||
sub_0201D78C(¶m0->unk_2C[0], 0, v6, v1, 2, 0, v5, NULL);
|
||||
|
||||
v1 = 4;
|
||||
|
||||
for (v2 = 0; v2 < 7; v2++) {
|
||||
sub_020237E8(v6);
|
||||
sub_0200B1B8(param0->unk_20, v8[v2], v6);
|
||||
sub_0201D78C(¶m0->unk_2C[1], 0, v6, v1, 16 * v2, 0xff, v3, NULL);
|
||||
}
|
||||
|
||||
for (v2 = 0; v2 < 7; v2++) {
|
||||
ov74_021D17CC(param0, v2);
|
||||
}
|
||||
|
||||
ov74_021D1BE4(param0, 0, 1);
|
||||
|
||||
sub_0201A954(¶m0->unk_2C[0]);
|
||||
sub_0201A954(¶m0->unk_2C[1]);
|
||||
|
||||
sub_020237BC(v6);
|
||||
}
|
||||
|
||||
static void ov74_021D1720 (UnkStruct_ov74_021D0D80 * param0)
|
||||
{
|
||||
u16 v0, v1;
|
||||
static const int v3[7] = {
|
||||
3, 2, 2, 2, 3, 20, 0
|
||||
};
|
||||
static const u8 v2[7] = {
|
||||
10, 17, 13, 15, 19, 22, 0,
|
||||
};
|
||||
|
||||
for (v0 = 0; v0 < 7; v0++) {
|
||||
param0->unk_5C[v0].unk_00 = v3[v0];
|
||||
|
||||
for (v1 = 0; v1 < v3[v0]; v1++) {
|
||||
param0->unk_5C[v0].unk_04[v1] = sub_0200B1EC(param0->unk_20, v2[v0] + v1);
|
||||
}
|
||||
}
|
||||
|
||||
param0->unk_5C[0].unk_02 = param0->unk_18.unk_00_0;
|
||||
param0->unk_5C[2].unk_02 = param0->unk_18.unk_00_6;
|
||||
param0->unk_5C[3].unk_02 = param0->unk_18.unk_00_7;
|
||||
param0->unk_5C[1].unk_02 = param0->unk_18.unk_00_4;
|
||||
param0->unk_5C[4].unk_02 = param0->unk_18.unk_00_8;
|
||||
param0->unk_5C[5].unk_02 = param0->unk_18.unk_00_10;
|
||||
}
|
||||
|
||||
static void ov74_021D17CC (UnkStruct_ov74_021D0D80 * param0, u16 param1)
|
||||
{
|
||||
u32 v0, v1, v2;
|
||||
u16 v3;
|
||||
u8 v4;
|
||||
s8 v5 = 0;
|
||||
static const s8 v6[] = {0, 0, 0, 0, 0, 0, 0};
|
||||
|
||||
v0 = (u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | (((15 & 0xff) << 0)));
|
||||
v1 = (u32)(((3 & 0xff) << 16) | ((4 & 0xff) << 8) | (((15 & 0xff) << 0)));
|
||||
|
||||
sub_0201AE78(&(param0->unk_2C[1]), WINCLR_COL(15), (12 * 8 + 4) + v6[param1], 0 + param1 * 16, (48 * 8), 16);
|
||||
|
||||
if (param1 == 5) {
|
||||
sub_0201D78C(¶m0->unk_2C[1], 0, param0->unk_5C[param1].unk_04[param0->unk_5C[param1].unk_02], 1 * 48 + (12 * 8 + 4), 16 * param1 + 0, 0xff, v1, NULL);
|
||||
sub_0201A954(¶m0->unk_2C[1]);
|
||||
param0->unk_10_21 = 1;
|
||||
return;
|
||||
}
|
||||
|
||||
if (param1 == 1) {
|
||||
sub_02004FB8(param0->unk_5C[param1].unk_02);
|
||||
} else if (param1 == 4) {
|
||||
sub_02027A68(NULL, param0->unk_5C[param1].unk_02);
|
||||
} else if (param1 == 0) {
|
||||
sub_02027AAC(param0->unk_1C, param0->unk_5C[param1].unk_02);
|
||||
ov74_021D1BE4(param0, param1, 0);
|
||||
}
|
||||
|
||||
v5 = 0;
|
||||
|
||||
for (v3 = 0; v3 < param0->unk_5C[param1].unk_00; v3++) {
|
||||
if (v3 == param0->unk_5C[param1].unk_02) {
|
||||
v2 = v1;
|
||||
} else {
|
||||
v2 = v0;
|
||||
}
|
||||
|
||||
if (v3 == param0->unk_5C[param1].unk_00 - 1) {
|
||||
v4 = 0xff;
|
||||
} else {
|
||||
v4 = 0xff;
|
||||
}
|
||||
|
||||
if (param1 == 4) {
|
||||
sub_0201D78C(¶m0->unk_2C[1], 0, param0->unk_5C[param1].unk_04[v3], (12 * 8 + 4) - 0 + v5, 16 * param1 + 0, v4, v2, NULL);
|
||||
v5 += sub_02002D7C(0, param0->unk_5C[param1].unk_04[v3], 0) + 12;
|
||||
} else {
|
||||
sub_0201D78C(¶m0->unk_2C[1], 0, param0->unk_5C[param1].unk_04[v3], v3 * 48 + (12 * 8 + 4) + v6[param1], 16 * param1 + 0, v4, v2, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
sub_0201A954(¶m0->unk_2C[1]);
|
||||
}
|
||||
|
||||
static void ov74_021D1968 (UnkStruct_ov74_021D0D80 * param0, u16 param1, BOOL param2)
|
||||
{
|
||||
u32 v0;
|
||||
UnkStruct_02023790 * v1;
|
||||
u8 v2;
|
||||
|
||||
if (ov74_021D1A08(param0) == 0) {
|
||||
sub_0201D730(param0->unk_2AC);
|
||||
}
|
||||
|
||||
v2 = sub_02027AC0(param0->unk_1C);
|
||||
|
||||
sub_0201ADA4(&(param0->unk_2C[2]), 15);
|
||||
|
||||
v0 = (u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | (((15 & 0xff) << 0)));
|
||||
v1 = sub_02023790(256, param0->unk_00);
|
||||
|
||||
sub_0200B1B8(param0->unk_20, param1, v1);
|
||||
|
||||
if (param2 == 0) {
|
||||
param0->unk_2AC = sub_0201D78C(¶m0->unk_2C[2], 1, v1, 4, 0, v2, v0, NULL);
|
||||
} else {
|
||||
sub_0201D78C(¶m0->unk_2C[2], 1, v1, 4, 0, 0xff, v0, NULL);
|
||||
sub_0201A9A4(¶m0->unk_2C[2]);
|
||||
}
|
||||
|
||||
sub_020237BC(v1);
|
||||
}
|
||||
|
||||
static BOOL ov74_021D1A08 (const UnkStruct_ov74_021D0D80 * param0)
|
||||
{
|
||||
if (sub_0201D724(param0->unk_2AC) == 0) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void ov74_021D1A24 (UnkStruct_ov74_021D0D80 * param0)
|
||||
{
|
||||
UnkStruct_ov74_021D1720 * v0;
|
||||
|
||||
v0 = &(param0->unk_5C[param0->unk_10_2]);
|
||||
|
||||
if (param0->unk_10_2 != 6) {
|
||||
if (Unk_021BF67C.unk_48 & PAD_KEY_RIGHT) {
|
||||
v0->unk_02 = (v0->unk_02 + 1) % v0->unk_00;
|
||||
ov74_021D17CC(param0, param0->unk_10_2);
|
||||
sub_02005748(1500);
|
||||
} else if (Unk_021BF67C.unk_48 & PAD_KEY_LEFT) {
|
||||
v0->unk_02 = (v0->unk_02 + v0->unk_00 - 1) % v0->unk_00;
|
||||
ov74_021D17CC(param0, param0->unk_10_2);
|
||||
sub_02005748(1500);
|
||||
}
|
||||
}
|
||||
|
||||
if (Unk_021BF67C.unk_48 & PAD_KEY_UP) {
|
||||
param0->unk_10_2 = (param0->unk_10_2 + 7 - 1) % 7;
|
||||
sub_0201C63C(param0->unk_14, 0, 3, -(param0->unk_10_2 * 16 + 24));
|
||||
ov74_021D1BE4(param0, param0->unk_10_2, 1);
|
||||
sub_02005748(1500);
|
||||
} else if (Unk_021BF67C.unk_48 & PAD_KEY_DOWN) {
|
||||
param0->unk_10_2 = (param0->unk_10_2 + 1) % 7;
|
||||
sub_0201C63C(param0->unk_14, 0, 3, -(param0->unk_10_2 * 16 + 24));
|
||||
ov74_021D1BE4(param0, param0->unk_10_2, 1);
|
||||
sub_02005748(1500);
|
||||
}
|
||||
}
|
||||
|
||||
static BOOL ov74_021D1B44 (UnkStruct_ov74_021D0D80 * param0)
|
||||
{
|
||||
if ((param0->unk_18.unk_00_0 != param0->unk_5C[0].unk_02) || (param0->unk_18.unk_00_6 != param0->unk_5C[2].unk_02) || (param0->unk_18.unk_00_7 != param0->unk_5C[3].unk_02) || (param0->unk_18.unk_00_4 != param0->unk_5C[1].unk_02) || (param0->unk_18.unk_00_8 != param0->unk_5C[4].unk_02) || (param0->unk_18.unk_00_10 != param0->unk_5C[5].unk_02)) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void ov74_021D1BA8 (UnkStruct_ov74_021D0D80 * param0)
|
||||
{
|
||||
static const UnkStruct_ov61_0222C884 v0 = {
|
||||
3, 25, 13, 6, 4, 13, (((((10 + 12 * 2) + 30 * 14) + 27 * 4) + 9) + (18 + 12))
|
||||
};
|
||||
|
||||
param0->unk_2A8 = sub_02002100(param0->unk_14, &v0, (((10 + 12 * 2) + 30 * 14) + 27 * 4), 14, param0->unk_00);
|
||||
}
|
||||
|
||||
static u32 ov74_021D1BD0 (UnkStruct_ov74_021D0D80 * param0)
|
||||
{
|
||||
return sub_02002114(param0->unk_2A8, param0->unk_00);
|
||||
}
|
||||
|
||||
static void ov74_021D1BE4 (UnkStruct_ov74_021D0D80 * param0, u16 param1, BOOL param2)
|
||||
{
|
||||
static const u8 v0[7] = {
|
||||
43, 46, 44, 45, 47, 48, 52,
|
||||
};
|
||||
|
||||
ov74_021D1968(param0, v0[param1], param2);
|
||||
}
|
||||
Reference in New Issue
Block a user