Merge branch 'master' of github.com:pret/pokediamond into pikalax_work
@ -181,4 +181,40 @@ typedef union
|
||||
}
|
||||
GXBoxTestParam;
|
||||
|
||||
|
||||
|
||||
|
||||
#define GX_PACK_TEXIMAGE_PARAM(texFmt, texGen, s, t, repeat, flip, pltt0, addr) \
|
||||
((u32)(((addr) >> 3) | \
|
||||
((texFmt) << REG_G3_TEXIMAGE_PARAM_TEXFMT_SHIFT) | \
|
||||
((texGen) << REG_G3_TEXIMAGE_PARAM_TGEN_SHIFT) | \
|
||||
((s) << REG_G3_TEXIMAGE_PARAM_V_SIZE_SHIFT) | \
|
||||
((t) << REG_G3_TEXIMAGE_PARAM_T_SIZE_SHIFT) | \
|
||||
((repeat) << REG_G3_TEXIMAGE_PARAM_RS_SHIFT) | \
|
||||
((flip) << REG_G3_TEXIMAGE_PARAM_FS_SHIFT) | \
|
||||
((pltt0) << REG_G3_TEXIMAGE_PARAM_TR_SHIFT)))
|
||||
|
||||
#define GX_PACK_POLYGONATTR_PARAM(light, polyMode, cullMode, polygonID, alpha, misc) \
|
||||
((u32)(((light) << REG_G3_POLYGON_ATTR_LE_SHIFT) | \
|
||||
((polyMode) << REG_G3_POLYGON_ATTR_PM_SHIFT) | \
|
||||
((cullMode) << REG_G3_POLYGON_ATTR_BK_SHIFT) | \
|
||||
(misc) | \
|
||||
((polygonID) << REG_G3_POLYGON_ATTR_ID_SHIFT) | \
|
||||
((alpha) << REG_G3_POLYGON_ATTR_ALPHA_SHIFT)))
|
||||
|
||||
|
||||
#define GX_PACK_TEXPLTTBASE_PARAM(addr, texFmt) \
|
||||
((u32)((addr) >> (4 - ((texFmt) == GX_TEXFMT_PLTT4))))
|
||||
|
||||
|
||||
#define GX_PACK_DIFFAMB_PARAM(diffuse, ambient, IsSetVtxColor) \
|
||||
((u32)((diffuse) | \
|
||||
((ambient) << REG_G3_DIF_AMB_AMBIENT_RED_SHIFT) | \
|
||||
((IsSetVtxColor != FALSE) << REG_G3_DIF_AMB_C_SHIFT)))
|
||||
|
||||
#define GX_PACK_SPECEMI_PARAM(specular, emission, IsShininess) \
|
||||
((u32)((specular) | \
|
||||
((emission) << REG_G3_SPE_EMI_EMISSION_RED_SHIFT) | \
|
||||
((IsShininess != FALSE) << REG_G3_SPE_EMI_S_SHIFT)))
|
||||
|
||||
#endif //GUARD_GX_G3_H
|
||||
|
@ -1,10 +1,68 @@
|
||||
#ifndef GUARD_GX_G3IMM_H
|
||||
#define GUARD_GX_G3IMM_H
|
||||
|
||||
#include "GX_g3.h"
|
||||
#include "fx.h"
|
||||
|
||||
void G3_LoadMtx43(struct Mtx43 *mtx);
|
||||
void G3_MultMtx43(struct Mtx43 *mtx);
|
||||
void G3_MultMtx33(struct Mtx33 *mtx);
|
||||
|
||||
#endif //GUARD_GX_G3IMM_H
|
||||
|
||||
static inline void G3_PushMtx()
|
||||
{
|
||||
reg_G3_MTX_PUSH = 0;
|
||||
}
|
||||
|
||||
static inline void G3_PopMtx(int num)
|
||||
{
|
||||
reg_G3_MTX_POP = (u32)num;
|
||||
}
|
||||
|
||||
static inline void G3_Identity()
|
||||
{
|
||||
reg_G3_MTX_IDENTITY = 0;
|
||||
}
|
||||
|
||||
|
||||
static inline void G3_Translate(fx32 x, fx32 y, fx32 z)
|
||||
{
|
||||
reg_G3_MTX_TRANS = (u32)x;
|
||||
reg_G3_MTX_TRANS = (u32)y;
|
||||
reg_G3_MTX_TRANS = (u32)z;
|
||||
}
|
||||
|
||||
|
||||
static inline void G3_PolygonAttr(int light, GXPolygonMode polyMode, GXCull cullMode, int polygonID, int alpha, int misc) {
|
||||
reg_G3_POLYGON_ATTR = GX_PACK_POLYGONATTR_PARAM(light,
|
||||
polyMode, cullMode, polygonID, alpha, misc);
|
||||
}
|
||||
|
||||
static inline void G3_TexImageParam(GXTexFmt texFmt,
|
||||
GXTexGen texGen,
|
||||
GXTexSizeS s,
|
||||
GXTexSizeT t,
|
||||
GXTexRepeat repeat,
|
||||
GXTexFlip flip, GXTexPlttColor0 pltt0, u32 addr) {
|
||||
reg_G3_TEXIMAGE_PARAM = GX_PACK_TEXIMAGE_PARAM(texFmt, texGen, s, t, repeat, flip, pltt0, addr);
|
||||
}
|
||||
|
||||
|
||||
static inline void G3_TexPlttBase(u32 addr, GXTexFmt texfmt)
|
||||
{
|
||||
u32 param = GX_PACK_TEXPLTTBASE_PARAM(addr, texfmt);
|
||||
reg_G3_TEXPLTT_BASE = param;
|
||||
}
|
||||
|
||||
|
||||
static inline void G3_MaterialColorDiffAmb(GXRgb diffuse, GXRgb ambient, BOOL IsSetVtxColor)
|
||||
{
|
||||
reg_G3_DIF_AMB = GX_PACK_DIFFAMB_PARAM(diffuse, ambient, IsSetVtxColor);
|
||||
}
|
||||
|
||||
static inline void G3_MaterialColorSpecEmi(GXRgb specular, GXRgb emission, BOOL IsShininess)
|
||||
{
|
||||
reg_G3_SPE_EMI = GX_PACK_SPECEMI_PARAM(specular, emission, IsShininess);
|
||||
}
|
||||
|
||||
#endif //GUARD_GX_G3IMM_H
|
||||
|
@ -1066,4 +1066,154 @@
|
||||
#define REG_OS_TM3CNT_H_PS_SIZE 2
|
||||
#define REG_OS_TM3CNT_H_PS_MASK 0x0003
|
||||
|
||||
// POLYGON_ATTR
|
||||
|
||||
#define REG_G3_POLYGON_ATTR_ID_SHIFT 24
|
||||
#define REG_G3_POLYGON_ATTR_ID_SIZE 6
|
||||
#define REG_G3_POLYGON_ATTR_ID_MASK 0x3f000000
|
||||
|
||||
#define REG_G3_POLYGON_ATTR_ALPHA_SHIFT 16
|
||||
#define REG_G3_POLYGON_ATTR_ALPHA_SIZE 5
|
||||
#define REG_G3_POLYGON_ATTR_ALPHA_MASK 0x001f0000
|
||||
|
||||
#define REG_G3_POLYGON_ATTR_FE_SHIFT 15
|
||||
#define REG_G3_POLYGON_ATTR_FE_SIZE 1
|
||||
#define REG_G3_POLYGON_ATTR_FE_MASK 0x00008000
|
||||
|
||||
#define REG_G3_POLYGON_ATTR_DT_SHIFT 14
|
||||
#define REG_G3_POLYGON_ATTR_DT_SIZE 1
|
||||
#define REG_G3_POLYGON_ATTR_DT_MASK 0x00004000
|
||||
|
||||
#define REG_G3_POLYGON_ATTR_D1_SHIFT 13
|
||||
#define REG_G3_POLYGON_ATTR_D1_SIZE 1
|
||||
#define REG_G3_POLYGON_ATTR_D1_MASK 0x00002000
|
||||
|
||||
#define REG_G3_POLYGON_ATTR_FC_SHIFT 12
|
||||
#define REG_G3_POLYGON_ATTR_FC_SIZE 1
|
||||
#define REG_G3_POLYGON_ATTR_FC_MASK 0x00001000
|
||||
|
||||
#define REG_G3_POLYGON_ATTR_XL_SHIFT 11
|
||||
#define REG_G3_POLYGON_ATTR_XL_SIZE 1
|
||||
#define REG_G3_POLYGON_ATTR_XL_MASK 0x00000800
|
||||
|
||||
#define REG_G3_POLYGON_ATTR_FR_SHIFT 7
|
||||
#define REG_G3_POLYGON_ATTR_FR_SIZE 1
|
||||
#define REG_G3_POLYGON_ATTR_FR_MASK 0x00000080
|
||||
|
||||
#define REG_G3_POLYGON_ATTR_BK_SHIFT 6
|
||||
#define REG_G3_POLYGON_ATTR_BK_SIZE 1
|
||||
#define REG_G3_POLYGON_ATTR_BK_MASK 0x00000040
|
||||
|
||||
#define REG_G3_POLYGON_ATTR_PM_SHIFT 4
|
||||
#define REG_G3_POLYGON_ATTR_PM_SIZE 2
|
||||
#define REG_G3_POLYGON_ATTR_PM_MASK 0x00000030
|
||||
|
||||
#define REG_G3_POLYGON_ATTR_LE_SHIFT 0
|
||||
#define REG_G3_POLYGON_ATTR_LE_SIZE 4
|
||||
#define REG_G3_POLYGON_ATTR_LE_MASK 0x0000000f
|
||||
|
||||
// TEXIMAGE_PARAM
|
||||
|
||||
#define REG_G3_TEXIMAGE_PARAM_TGEN_SHIFT 30
|
||||
#define REG_G3_TEXIMAGE_PARAM_TGEN_SIZE 2
|
||||
#define REG_G3_TEXIMAGE_PARAM_TGEN_MASK 0xc0000000
|
||||
|
||||
#define REG_G3_TEXIMAGE_PARAM_TR_SHIFT 29
|
||||
#define REG_G3_TEXIMAGE_PARAM_TR_SIZE 1
|
||||
#define REG_G3_TEXIMAGE_PARAM_TR_MASK 0x20000000
|
||||
|
||||
#define REG_G3_TEXIMAGE_PARAM_TEXFMT_SHIFT 26
|
||||
#define REG_G3_TEXIMAGE_PARAM_TEXFMT_SIZE 3
|
||||
#define REG_G3_TEXIMAGE_PARAM_TEXFMT_MASK 0x1c000000
|
||||
|
||||
#define REG_G3_TEXIMAGE_PARAM_T_SIZE_SHIFT 23
|
||||
#define REG_G3_TEXIMAGE_PARAM_T_SIZE_SIZE 3
|
||||
#define REG_G3_TEXIMAGE_PARAM_T_SIZE_MASK 0x03800000
|
||||
|
||||
#define REG_G3_TEXIMAGE_PARAM_V_SIZE_SHIFT 20
|
||||
#define REG_G3_TEXIMAGE_PARAM_V_SIZE_SIZE 3
|
||||
#define REG_G3_TEXIMAGE_PARAM_V_SIZE_MASK 0x00700000
|
||||
|
||||
#define REG_G3_TEXIMAGE_PARAM_FT_SHIFT 19
|
||||
#define REG_G3_TEXIMAGE_PARAM_FT_SIZE 1
|
||||
#define REG_G3_TEXIMAGE_PARAM_FT_MASK 0x00080000
|
||||
|
||||
#define REG_G3_TEXIMAGE_PARAM_FS_SHIFT 18
|
||||
#define REG_G3_TEXIMAGE_PARAM_FS_SIZE 1
|
||||
#define REG_G3_TEXIMAGE_PARAM_FS_MASK 0x00040000
|
||||
|
||||
#define REG_G3_TEXIMAGE_PARAM_RT_SHIFT 17
|
||||
#define REG_G3_TEXIMAGE_PARAM_RT_SIZE 1
|
||||
#define REG_G3_TEXIMAGE_PARAM_RT_MASK 0x00020000
|
||||
|
||||
#define REG_G3_TEXIMAGE_PARAM_RS_SHIFT 16
|
||||
#define REG_G3_TEXIMAGE_PARAM_RS_SIZE 1
|
||||
#define REG_G3_TEXIMAGE_PARAM_RS_MASK 0x00010000
|
||||
|
||||
#define REG_G3_TEXIMAGE_PARAM_TEX_ADDR_SHIFT 0
|
||||
#define REG_G3_TEXIMAGE_PARAM_TEX_ADDR_SIZE 16
|
||||
#define REG_G3_TEXIMAGE_PARAM_TEX_ADDR_MASK 0x0000ffff
|
||||
|
||||
|
||||
// DIF_AMB
|
||||
|
||||
#define REG_G3_DIF_AMB_AMBIENT_BLUE_SHIFT 26
|
||||
#define REG_G3_DIF_AMB_AMBIENT_BLUE_SIZE 5
|
||||
#define REG_G3_DIF_AMB_AMBIENT_BLUE_MASK 0x7c000000
|
||||
|
||||
#define REG_G3_DIF_AMB_AMBIENT_GREEN_SHIFT 21
|
||||
#define REG_G3_DIF_AMB_AMBIENT_GREEN_SIZE 5
|
||||
#define REG_G3_DIF_AMB_AMBIENT_GREEN_MASK 0x03e00000
|
||||
|
||||
#define REG_G3_DIF_AMB_AMBIENT_RED_SHIFT 16
|
||||
#define REG_G3_DIF_AMB_AMBIENT_RED_SIZE 5
|
||||
#define REG_G3_DIF_AMB_AMBIENT_RED_MASK 0x001f0000
|
||||
|
||||
#define REG_G3_DIF_AMB_C_SHIFT 15
|
||||
#define REG_G3_DIF_AMB_C_SIZE 1
|
||||
#define REG_G3_DIF_AMB_C_MASK 0x00008000
|
||||
|
||||
#define REG_G3_DIF_AMB_DIFFUSE_BLUE_SHIFT 10
|
||||
#define REG_G3_DIF_AMB_DIFFUSE_BLUE_SIZE 5
|
||||
#define REG_G3_DIF_AMB_DIFFUSE_BLUE_MASK 0x00007c00
|
||||
|
||||
#define REG_G3_DIF_AMB_DIFFUSE_GREEN_SHIFT 5
|
||||
#define REG_G3_DIF_AMB_DIFFUSE_GREEN_SIZE 5
|
||||
#define REG_G3_DIF_AMB_DIFFUSE_GREEN_MASK 0x000003e0
|
||||
|
||||
#define REG_G3_DIF_AMB_DIFFUSE_RED_SHIFT 0
|
||||
#define REG_G3_DIF_AMB_DIFFUSE_RED_SIZE 5
|
||||
#define REG_G3_DIF_AMB_DIFFUSE_RED_MASK 0x0000001f
|
||||
|
||||
|
||||
// SPE_EMI
|
||||
|
||||
#define REG_G3_SPE_EMI_EMISSION_BLUE_SHIFT 26
|
||||
#define REG_G3_SPE_EMI_EMISSION_BLUE_SIZE 5
|
||||
#define REG_G3_SPE_EMI_EMISSION_BLUE_MASK 0x7c000000
|
||||
|
||||
#define REG_G3_SPE_EMI_EMISSION_GREEN_SHIFT 21
|
||||
#define REG_G3_SPE_EMI_EMISSION_GREEN_SIZE 5
|
||||
#define REG_G3_SPE_EMI_EMISSION_GREEN_MASK 0x03e00000
|
||||
|
||||
#define REG_G3_SPE_EMI_EMISSION_RED_SHIFT 16
|
||||
#define REG_G3_SPE_EMI_EMISSION_RED_SIZE 5
|
||||
#define REG_G3_SPE_EMI_EMISSION_RED_MASK 0x001f0000
|
||||
|
||||
#define REG_G3_SPE_EMI_S_SHIFT 15
|
||||
#define REG_G3_SPE_EMI_S_SIZE 1
|
||||
#define REG_G3_SPE_EMI_S_MASK 0x00008000
|
||||
|
||||
#define REG_G3_SPE_EMI_SPECULAR_BLUE_SHIFT 10
|
||||
#define REG_G3_SPE_EMI_SPECULAR_BLUE_SIZE 5
|
||||
#define REG_G3_SPE_EMI_SPECULAR_BLUE_MASK 0x00007c00
|
||||
|
||||
#define REG_G3_SPE_EMI_SPECULAR_GREEN_SHIFT 5
|
||||
#define REG_G3_SPE_EMI_SPECULAR_GREEN_SIZE 5
|
||||
#define REG_G3_SPE_EMI_SPECULAR_GREEN_MASK 0x000003e0
|
||||
|
||||
#define REG_G3_SPE_EMI_SPECULAR_RED_SHIFT 0
|
||||
#define REG_G3_SPE_EMI_SPECULAR_RED_SIZE 5
|
||||
#define REG_G3_SPE_EMI_SPECULAR_RED_MASK 0x0000001f
|
||||
|
||||
#endif //POKEDIAMOND_ARM9_REGISTERS_H
|
||||
|
@ -220,5 +220,7 @@ void NNS_G2dApplyAndResetOamManagerBuffer(NNSG2dOamManager *oamManager);
|
||||
u32 NNS_G2dEntryOamManagerOamWithAffineIdx(
|
||||
NNSG2dOamManager *oamManager, u32 param1, u32 param2);
|
||||
u32 NNS_G2dEntryOamManagerAffine(NNSG2dOamManager *oamManager, u32 param1);
|
||||
void NNS_G2dInitImageProxy(NNSG2dImageProxy *);
|
||||
void NNS_G2dInitImagePaletteProxy(NNSG2dImagePaletteProxy *);
|
||||
|
||||
#endif //NNSYS_NNS_G2D_H
|
||||
|
@ -2,11 +2,12 @@
|
||||
#define POKEDIAMOND_MOD63_021DB450_H
|
||||
|
||||
#include "global.h"
|
||||
#include "unk_02006D98.h"
|
||||
|
||||
typedef struct UnkStruct63_021DB450 //intro base struct type
|
||||
{
|
||||
struct UnkStruct63_021DB450 * field_00; //oddly requires this to be set to progress past copyright/pokemon screen.
|
||||
u32 field_04[3]; //mon animations?
|
||||
struct UnkStruct_02006D98 * field_00; //oddly requires this to be set to progress past copyright/pokemon screen.
|
||||
struct UnkStruct_02006D98_2 * field_04[3]; //mon animations?
|
||||
u32 field_10;
|
||||
void * field_14;
|
||||
void * field_18;
|
||||
@ -21,13 +22,7 @@ typedef struct UnkStruct63_021DB450 //intro base struct type
|
||||
u8 filler_34[0x30];
|
||||
} UnkStruct63_021DB450;
|
||||
|
||||
typedef struct UnkStruct63_021DB49C
|
||||
{
|
||||
u32 field_00;
|
||||
u32 field_04;
|
||||
u32 field_08;
|
||||
u32 field_0C;
|
||||
} UnkStruct63_021DB49C;
|
||||
|
||||
|
||||
typedef struct UnkStruct63_021DBEF0
|
||||
{
|
||||
|
@ -3,6 +3,7 @@
|
||||
#include "constants/species.h"
|
||||
#include "gx.h"
|
||||
#include "mod63_021DB450.h"
|
||||
#include "unk_02006D98.h"
|
||||
|
||||
//todo resolve to static code
|
||||
extern u32 (*NNS_GfdDefaultFuncAllocTexVram)(u32 param0, u32 param1, u32 param2);
|
||||
@ -12,38 +13,30 @@ extern void FUN_0201327C(u32 param0);
|
||||
extern void FUN_020132BC(u32 param0);
|
||||
|
||||
extern void * FUN_02012CDC(void *, void *, void *, u32, u32, u32);
|
||||
extern u32 FUN_020073A0(struct UnkStruct63_021DB450 *, struct UnkStruct63_021DB49C *, u32, u32, u32, u32, u32, u32);
|
||||
|
||||
extern struct UnkStruct63_021DB450 * FUN_02006D98(u32);
|
||||
extern void FUN_02068C00(struct UnkStruct63_021DB49C*, u16, u32, u32, u32, u32, u32);
|
||||
extern void FUN_02068C00(struct UnkStruct_02006D98_4*, u16, u32, u32, u32, u32, u32);
|
||||
extern void FUN_02012CC8(void);
|
||||
extern void FUN_02007558(u32, u32, u32);
|
||||
extern void Camera_SetPerspectiveClippingPlane(u32, u32, u32);
|
||||
extern u32 FUN_0201343C(void);
|
||||
extern void FUN_02013194(void *, u32, u32, u32);
|
||||
extern u32 FUN_0201318C(u32, u32, u32);
|
||||
|
||||
extern void FUN_02012DE4(void *);
|
||||
extern void FUN_020072E8(struct UnkStruct63_021DB450 *);
|
||||
|
||||
extern void FUN_020081C4(struct UnkStruct63_021DB450 *);
|
||||
|
||||
extern void FUN_020222AC(void);
|
||||
extern void NNS_G2dSetupSoftwareSpriteCamera(void);
|
||||
extern u32 FUN_02006ED4(struct UnkStruct63_021DB450 *);
|
||||
extern void FUN_020222B4(u32, u32);
|
||||
|
||||
extern void FUN_02013440(void *, u32);
|
||||
extern void FUN_020133AC(void *, u32, const void *, u32);
|
||||
extern void FUN_020133AC(void *, u32, const void *, struct UnkStruct_02006D98_2 *);
|
||||
extern BOOL FUN_020133C8(void *);
|
||||
|
||||
extern void FUN_020079E0(u32, u32, s32);
|
||||
|
||||
extern void FUN_02013364(void);
|
||||
extern void FUN_02013388(void);
|
||||
|
||||
void * FUN_0201341C(struct UnkStruct63_021DB450 *);
|
||||
int FUN_0200782C(void *, int);
|
||||
struct UnkStruct_02006D98_2 * FUN_0201341C(struct UnkStruct63_021DB450 *);
|
||||
|
||||
const s32 MOD63_021DBEC0[3] = {0x703, 0x7CE, 0x8A8};
|
||||
const struct UnkStruct63_021DBEF0 MOD63_021DBEF0[3];
|
||||
@ -71,7 +64,7 @@ THUMB_FUNC u32 MOD63_021DB498(void)
|
||||
|
||||
THUMB_FUNC void Title_SetupMonAnimationSprites(struct UnkStruct63_021DB450 * arg0) //TODO: this does a lot more than setup anim sprites
|
||||
{
|
||||
struct UnkStruct63_021DB49C sp1C;
|
||||
struct UnkStruct_02006D98_4 sp1C;
|
||||
int introMonArray[3] = {SPECIES_TURTWIG, SPECIES_CHIMCHAR, SPECIES_PIPLUP};
|
||||
|
||||
arg0->field_00 = FUN_02006D98(76); //this is needed to get into the world view, otherwise it is just black
|
||||
@ -115,7 +108,7 @@ THUMB_FUNC void MOD63_021DB5A8(UnkStruct63_021DB450 *param0)
|
||||
}
|
||||
FUN_020222AC();
|
||||
NNS_G2dSetupSoftwareSpriteCamera();
|
||||
(void)FUN_02006ED4(param0->field_00);
|
||||
FUN_02006ED4(param0->field_00);
|
||||
MOD63_021DB934();
|
||||
FUN_020222B4(1, 0);
|
||||
}
|
||||
@ -193,7 +186,7 @@ THUMB_FUNC BOOL MOD63_021DB5CC(UnkStruct63_021DB450 *param0, u32 param1, s32 par
|
||||
|
||||
THUMB_FUNC BOOL MOD63_021DB720(UnkStruct63_021DB450 *param0, u32 param1)
|
||||
{
|
||||
u32 field = param0->field_04[param1];
|
||||
struct UnkStruct_02006D98_2 *field = param0->field_04[param1];
|
||||
FUN_020079E0(field, 0x0, 0x6);
|
||||
FUN_020079E0(field, 0x1, -0x10);
|
||||
FUN_020079E0(field, 0xC, -0x80);
|
||||
@ -210,7 +203,7 @@ THUMB_FUNC BOOL MOD63_021DB720(UnkStruct63_021DB450 *param0, u32 param1)
|
||||
|
||||
THUMB_FUNC BOOL MOD63_021DB784(UnkStruct63_021DB450 *param0, u32 param1)
|
||||
{
|
||||
u32 field = param0->field_04[param1];
|
||||
struct UnkStruct_02006D98_2 *field = param0->field_04[param1];
|
||||
FUN_020079E0(field, 0x0, -0x3);
|
||||
FUN_020079E0(field, 0x1, -0x12);
|
||||
param0->field_1D++;
|
||||
@ -225,7 +218,7 @@ THUMB_FUNC BOOL MOD63_021DB784(UnkStruct63_021DB450 *param0, u32 param1)
|
||||
|
||||
THUMB_FUNC BOOL MOD63_021DB7D0(UnkStruct63_021DB450 *param0, u32 param1)
|
||||
{
|
||||
u32 field = param0->field_04[param1];
|
||||
struct UnkStruct_02006D98_2 *field = param0->field_04[param1];
|
||||
FUN_020079E0(field, 0x0, -0x10);
|
||||
FUN_020079E0(field, 0x1, -0x10);
|
||||
FUN_020079E0(field, 0xC, -0x80);
|
||||
@ -242,7 +235,7 @@ THUMB_FUNC BOOL MOD63_021DB7D0(UnkStruct63_021DB450 *param0, u32 param1)
|
||||
|
||||
THUMB_FUNC BOOL MOD63_021DB838(UnkStruct63_021DB450 *param0, u32 param1)
|
||||
{
|
||||
u32 field = param0->field_04[param1];
|
||||
struct UnkStruct_02006D98_2 *field = param0->field_04[param1];
|
||||
FUN_020079E0(field, 0, -0x6);
|
||||
FUN_020079E0(field, 1, -0x10);
|
||||
param0->field_1D++;
|
||||
@ -257,7 +250,7 @@ THUMB_FUNC BOOL MOD63_021DB838(UnkStruct63_021DB450 *param0, u32 param1)
|
||||
|
||||
THUMB_FUNC BOOL MOD63_021DB884(UnkStruct63_021DB450 *param0, u32 param1)
|
||||
{
|
||||
u32 field = param0->field_04[param1];
|
||||
struct UnkStruct_02006D98_2 *field = param0->field_04[param1];
|
||||
FUN_020079E0(field, 0, 0x8);
|
||||
FUN_020079E0(field, 1, -0x10);
|
||||
FUN_020079E0(field, 0xC, -0x80);
|
||||
@ -274,7 +267,7 @@ THUMB_FUNC BOOL MOD63_021DB884(UnkStruct63_021DB450 *param0, u32 param1)
|
||||
|
||||
THUMB_FUNC BOOL MOD63_021DB8E8(UnkStruct63_021DB450 *param0, u32 param1)
|
||||
{
|
||||
u32 field = param0->field_04[param1];
|
||||
struct UnkStruct_02006D98_2 *field = param0->field_04[param1];
|
||||
FUN_020079E0(field, 0, 0x6);
|
||||
FUN_020079E0(field, 1, -0x14);
|
||||
param0->field_1D++;
|
||||
@ -295,7 +288,7 @@ THUMB_FUNC void MOD63_021DB934(void)
|
||||
|
||||
THUMB_FUNC void MOD63_021DB940(struct UnkStruct63_021DB450 * a0)
|
||||
{
|
||||
void * r4 = FUN_0201341C(a0);
|
||||
struct UnkStruct_02006D98_2 * r4 = FUN_0201341C(a0);
|
||||
int sp0[3] = {0, 0, 0};
|
||||
sp0[0] = (FUN_0200782C(r4, 0) - 0x80) * 0xAC;
|
||||
sp0[1] = (FUN_0200782C(r4, 1) - 0x60) * 0xAC;
|
||||
|
@ -9,6 +9,7 @@
|
||||
#include "unk_020061E8.h"
|
||||
#include "unk_0200BB14.h"
|
||||
#include "unk_0200CA44.h"
|
||||
#include "unk_02006D98.h"
|
||||
|
||||
const struct UnkStruct_0200CABC_3 UNK_020ECE88 = {
|
||||
10,
|
||||
@ -50,8 +51,6 @@ extern void MOD05_021D971C(struct UnkStruct_0200CABC_2 *param0,
|
||||
u32 param4,
|
||||
u32 param5);
|
||||
extern u32 *MOD05_021D9820(struct UnkStruct_0200CABC_2 *param0, void *);
|
||||
extern struct UnkStruct63_021DB450 *FUN_02006D98(u32);
|
||||
extern void FUN_020072E8(struct UnkStruct63_021DB450 *param0);
|
||||
extern void FUN_02012400(u16, u16, u16, void *, void *);
|
||||
extern u32 NNS_G2dGetImageLocation(u32, u32);
|
||||
extern void *FUN_02012470(u16, u16, u16);
|
||||
@ -898,7 +897,7 @@ THUMB_FUNC void FUN_0200DE30(struct UnkStruct_0200CABC_2 *param0, u8 param1, u8
|
||||
|
||||
THUMB_FUNC void FUN_0200DE80(struct UnkStruct_0200CABC_2 *param0, u16 param1, u8 param2)
|
||||
{
|
||||
struct UnkStruct63_021DB450 *r7 = FUN_02006D98(param0->unk162);
|
||||
struct UnkStruct_02006D98 *r7 = FUN_02006D98(param0->unk162);
|
||||
struct SomeDrawPokemonStruct stc;
|
||||
FUN_02068C00(&stc, param1, param2, 2, 0, 0, 0);
|
||||
FUN_0200DEF4(param0, &stc);
|
||||
@ -907,7 +906,7 @@ THUMB_FUNC void FUN_0200DE80(struct UnkStruct_0200CABC_2 *param0, u16 param1, u8
|
||||
|
||||
THUMB_FUNC void FUN_0200DEC0(struct UnkStruct_0200CABC_2 *param0, struct Pokemon *param1)
|
||||
{
|
||||
struct UnkStruct63_021DB450 *r6 = FUN_02006D98(param0->unk162);
|
||||
struct UnkStruct_02006D98 *r6 = FUN_02006D98(param0->unk162);
|
||||
struct SomeDrawPokemonStruct st0;
|
||||
FUN_02068B68(&st0, param1, 2);
|
||||
FUN_0200DEF4(param0, &st0);
|
||||
|
1719
arm9/src/unk_02006D98.c
Normal file
@ -408,3 +408,4 @@ narc_0173.NCGR
|
||||
narc_0198.NCGR
|
||||
*.png
|
||||
*.pal
|
||||
*.txt
|
33
files/battle/graphic/batt_obj/files.txt
Normal file
@ -0,0 +1,33 @@
|
||||
all recn after 203 seem to be equal (PokéBall throw animation)
|
||||
|
||||
195:
|
||||
47.rlcn
|
||||
203.recn
|
||||
|
||||
196:
|
||||
48.rlcn
|
||||
204.recn
|
||||
|
||||
197:
|
||||
49.rlcn
|
||||
205.recn
|
||||
|
||||
198:
|
||||
50.rlcn
|
||||
206.recn
|
||||
|
||||
199:
|
||||
51.rlcn
|
||||
207.recn
|
||||
|
||||
200:
|
||||
52.rlcn
|
||||
208.recn
|
||||
|
||||
201:
|
||||
53.rlcn
|
||||
209.recn
|
||||
|
||||
202:
|
||||
54.rlcn
|
||||
210.recn
|
BIN
files/battle/graphic/batt_obj/narc_0195.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
files/battle/graphic/batt_obj/narc_0196.png
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
files/battle/graphic/batt_obj/narc_0197.png
Normal file
After Width: | Height: | Size: 3.6 KiB |
BIN
files/battle/graphic/batt_obj/narc_0198.png
Normal file
After Width: | Height: | Size: 4.1 KiB |
BIN
files/battle/graphic/batt_obj/narc_0199.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
files/battle/graphic/batt_obj/narc_0200.png
Normal file
After Width: | Height: | Size: 3.6 KiB |
BIN
files/battle/graphic/batt_obj/narc_0201.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
files/battle/graphic/batt_obj/narc_0202.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
192
include/unk_02006D98.h
Normal file
@ -0,0 +1,192 @@
|
||||
#ifndef POKEDIAMOND_UNK_02006D98_H
|
||||
#define POKEDIAMOND_UNK_02006D98_H
|
||||
|
||||
#include "global.h"
|
||||
#include "NNS_g2d.h"
|
||||
struct UnkStruct_02006D98_4
|
||||
{
|
||||
u16 field_00;
|
||||
u16 field_02;
|
||||
u16 field_04;
|
||||
u16 field_06;
|
||||
u32 field_08;
|
||||
u32 field_0C;
|
||||
};
|
||||
|
||||
struct UnkStruct_02006D98_sub
|
||||
{
|
||||
s8 unk0;
|
||||
u8 unk1;
|
||||
};
|
||||
struct UnkStruct_02006D98_sub2
|
||||
{
|
||||
u16 unk0_0 : 2;
|
||||
u16 unk0_2 : 1;
|
||||
u16 unk0_3 : 1;
|
||||
u16 unk0_4 : 1;
|
||||
u16 unk0_5 : 2;
|
||||
s8 unk2;
|
||||
u8 unk3;
|
||||
s16 unk4;
|
||||
s16 unk6;
|
||||
s16 unk8;
|
||||
s16 unka;
|
||||
};
|
||||
|
||||
struct UnkStruct_02006D98_2
|
||||
{
|
||||
u32 unk00_0 : 1;
|
||||
u32 unk00_1 : 6;
|
||||
u32 unk00_7 : 1;
|
||||
u32 unk00_8 : 1;
|
||||
struct UnkStruct_02006D98_4 unk04;
|
||||
struct UnkStruct_02006D98_4 unk14;
|
||||
s16 unk24;
|
||||
s16 unk26;
|
||||
u32 unk28;
|
||||
s16 unk2C;
|
||||
s16 unk2E;
|
||||
u32 unk30;
|
||||
s16 unk34;
|
||||
s16 unk36;
|
||||
u16 unk38;
|
||||
u16 unk3A;
|
||||
u16 unk3C;
|
||||
u16 unk3E;
|
||||
s16 unk40;
|
||||
s16 unk42;
|
||||
u8 unk44;
|
||||
u8 unk45;
|
||||
u8 unk46;
|
||||
u8 unk47;
|
||||
u8 unk48;
|
||||
u8 unk49;
|
||||
u8 unk4A;
|
||||
u8 unk4B;
|
||||
u32 unk4C;
|
||||
u32 unk50_0 : 5;
|
||||
u32 unk50_5 : 5;
|
||||
u32 unk50_a : 5;
|
||||
u32 unk50_f : 5;
|
||||
u32 unk50_14 : 5;
|
||||
u32 unk50_19 : 5;
|
||||
u32 unk50_1E : 2;
|
||||
u32 unk54_0 : 1;
|
||||
u32 unk54_1 : 1;
|
||||
u32 unk54_2 : 5;
|
||||
u32 unk54_7 : 2;
|
||||
u32 unk54_9 : 1;
|
||||
u32 unk54_A : 1;
|
||||
u32 unk54_B : 1;
|
||||
u32 unk54_C : 1;
|
||||
u32 unk54_D : 4;
|
||||
u8 unk58;
|
||||
u8 unk59;
|
||||
u8 unk5A;
|
||||
u8 unk5B;
|
||||
u8 unk5C[10];
|
||||
void (*unk68)(struct UnkStruct_02006D98_2 *, void *);
|
||||
struct UnkStruct_02006D98_sub2 unk6C;
|
||||
struct UnkStruct_02006D98_sub2 unk78;
|
||||
struct UnkStruct_02006D98_sub unk84[10];
|
||||
};
|
||||
|
||||
struct UnkStruct_02006D98
|
||||
{
|
||||
struct UnkStruct_02006D98_2 unk000[4];
|
||||
NNSG2dImageProxy unk260;
|
||||
NNSG2dImagePaletteProxy unk284;
|
||||
u32 unk298;
|
||||
u32 unk29C;
|
||||
u32 unk2A0;
|
||||
u32 unk2A4;
|
||||
u32 unk2A8;
|
||||
u8 *unk2AC;
|
||||
u16 *unk2B0;
|
||||
u16 *unk2B4;
|
||||
NNSG2dCharacterData unk2B8;
|
||||
NNSG2dPaletteData unk2D0;
|
||||
u8 unk2E0;
|
||||
u8 unk2E1;
|
||||
u8 unk2E2;
|
||||
u8 unk2E3;
|
||||
u32 unk2E4;
|
||||
};
|
||||
|
||||
struct UnkStruct_02006D98_3
|
||||
{
|
||||
u8 unk0;
|
||||
u8 unk1;
|
||||
};
|
||||
|
||||
|
||||
struct UnkStruct_02006D98_5
|
||||
{
|
||||
u8 unk00;
|
||||
u8 unk01;
|
||||
u8 unk02;
|
||||
u8 unk03;
|
||||
u8 unk04[10];
|
||||
struct UnkStruct_02006D98_sub *unk10;
|
||||
};
|
||||
|
||||
struct UnkStruct_02006D98 *FUN_02006D98(u32 heap_id);
|
||||
void FUN_02006ED4(struct UnkStruct_02006D98 *param0);
|
||||
void FUN_020072E8(struct UnkStruct_02006D98 *param0);
|
||||
void FUN_02007314(struct UnkStruct_02006D98_2 *param0);
|
||||
void FUN_0200737C(struct UnkStruct_02006D98_2 *param0, struct UnkStruct_02006D98_sub *param1);
|
||||
BOOL FUN_02007390(struct UnkStruct_02006D98_2 *param0);
|
||||
struct UnkStruct_02006D98_2 *FUN_020073A0(struct UnkStruct_02006D98 *param0,
|
||||
struct UnkStruct_02006D98_4 *param1,
|
||||
u32 param2,
|
||||
u32 param3,
|
||||
u32 param4,
|
||||
u32 param5,
|
||||
const void *param6,
|
||||
void (*param7)(struct UnkStruct_02006D98_2 *, void *));
|
||||
struct UnkStruct_02006D98_2 *FUN_020073E8(struct UnkStruct_02006D98 *param0,
|
||||
struct UnkStruct_02006D98_4 *param1,
|
||||
u32 param2,
|
||||
u32 param3,
|
||||
u32 param4,
|
||||
u32 param5,
|
||||
s32 param6,
|
||||
const void *param7,
|
||||
void (*param8)(struct UnkStruct_02006D98_2 *, void *));
|
||||
void FUN_02007534(struct UnkStruct_02006D98_2 *param0);
|
||||
void FUN_02007540(struct UnkStruct_02006D98 *param0);
|
||||
void FUN_02007558(struct UnkStruct_02006D98_2 *param0, u32 param1, u32 param2);
|
||||
u32 FUN_0200782C(struct UnkStruct_02006D98_2 *param0, u32 param1);
|
||||
void FUN_020079E0(struct UnkStruct_02006D98_2 *param0, u32 param1, u32 param2);
|
||||
void FUN_02007E40(
|
||||
struct UnkStruct_02006D98_2 *param0, u32 param1, u32 param2, u32 param3, u32 param4);
|
||||
void FUN_02007E68(
|
||||
struct UnkStruct_02006D98_2 *param0, u32 param1, u32 param2, u32 param3, u32 param4);
|
||||
void FUN_02007E98(
|
||||
struct UnkStruct_02006D98 *param0, u32 param1, u32 param2, u32 param3, u32 param4);
|
||||
void FUN_02007EEC(struct UnkStruct_02006D98_2 *param0);
|
||||
BOOL FUN_02007F20(struct UnkStruct_02006D98_2 *param0);
|
||||
void FUN_02007F34(struct UnkStruct_02006D98_2 *param0, s32 param1);
|
||||
void FUN_02007F48(struct UnkStruct_02006D98_2 *param0);
|
||||
void FUN_02008010(struct UnkStruct_02006D98_5 *param0, struct UnkStruct_02006D98_sub *param1);
|
||||
s32 FUN_02008030(struct UnkStruct_02006D98_5 *param0);
|
||||
void FUN_020080D0(struct UnkStruct_02006D98_2 *param0);
|
||||
void FUN_020080E0(struct UnkStruct_02006D98_2 *param0);
|
||||
void FUN_0200813C(struct UnkStruct_02006D98_2 *param0);
|
||||
void FUN_020081A8(struct UnkStruct_02006D98 *param0, u32 param1, u32 param2);
|
||||
void FUN_020081B4(struct UnkStruct_02006D98 *param0, u32 param1, u32 param2);
|
||||
u32 FUN_020081C0(u32 param0);
|
||||
void FUN_020081C4(struct UnkStruct_02006D98 *param0);
|
||||
void FUN_0200825C(struct UnkStruct_02006D98 *param0, u8 param1);
|
||||
BOOL FUN_02008268(struct UnkStruct_02006D98_2 *param0);
|
||||
void FUN_02008284(struct UnkStruct_02006D98 *param0, u32 param1);
|
||||
void FUN_02008290(struct UnkStruct_02006D98 *param0, u32 param1);
|
||||
void FUN_020082A8(struct UnkStruct_02006D98 *param0);
|
||||
void FUN_020086F4(struct UnkStruct_02006D98 *param0);
|
||||
u8 FUN_020088D8(u8 param0);
|
||||
void FUN_020088EC(struct UnkStruct_02006D98_2 *param0, u8 *param1);
|
||||
void FUN_02008904(u8 *param0, u32 param1, u32 param2);
|
||||
u16 FUN_02008A54(u32 *param0);
|
||||
void FUN_02008A74(u8 *param0);
|
||||
|
||||
#endif // POKEDIAMOND_UNK_02006D98_H
|
@ -8,10 +8,10 @@ endif
|
||||
DEPDIR := .deps
|
||||
DEPFLAGS = -MT $@ -MMD -MP -MF $(DEPDIR)/$*.d
|
||||
|
||||
SRCS := \
|
||||
msgenc.cpp \
|
||||
SRCS := \
|
||||
msgenc.cpp \
|
||||
MessagesConverter.cpp \
|
||||
MessagesDecoder.cpp \
|
||||
MessagesDecoder.cpp \
|
||||
MessagesEncoder.cpp
|
||||
|
||||
OBJS := $(SRCS:%.cpp=%.o)
|
||||
|