From 1505e4e24c3706d7178d0c0716d2274f51d77343 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Wed, 4 Jan 2017 23:20:09 -0600 Subject: begin decompiling more intro code --- include/asm.inc.h | 6 +++--- include/gba/syscall.h | 2 ++ include/gba/types.h | 21 +++++++++++++++++++++ 3 files changed, 26 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/asm.inc.h b/include/asm.inc.h index 5e2b49a84..5ec19b81e 100644 --- a/include/asm.inc.h +++ b/include/asm.inc.h @@ -443,9 +443,9 @@ void sub_813CAF4(u8); void intro_reset_and_hide_bgs(void); void sub_813CCE8(u8); void sub_813CE30(u16, u16, u16, u16); -u8 sub_813CE88(/*TODO: arg types*/); -u8 sub_813CFA8(/*TODO: arg types*/); -void sub_813D084(/*TODO: arg types*/); +u8 sub_813CE88(u16, s16, u16, u16, u8); +u8 sub_813CFA8(u16, u16, u16, u16); +void sub_813D084(u8); u8 sub_813D584(/*TODO: arg types*/); void sub_813D788(struct Sprite *); void sub_813D880(struct Sprite *); diff --git a/include/gba/syscall.h b/include/gba/syscall.h index 9576f7e99..e47f964d1 100644 --- a/include/gba/syscall.h +++ b/include/gba/syscall.h @@ -31,6 +31,8 @@ void CpuSet(const void *src, void *dest, u32 control); void CpuFastSet(const void *src, void *dest, u32 control); +void BgAffineSet(struct BgAffineSrcData *src, struct BgAffineDstData *dest, s32 count); + void ObjAffineSet(struct ObjAffineSrcData *src, void *dest, s32 count, s32 offset); void LZ77UnCompWram(const void *src, void *dest); diff --git a/include/gba/types.h b/include/gba/types.h index be7390d5a..fd8a20a4c 100644 --- a/include/gba/types.h +++ b/include/gba/types.h @@ -74,6 +74,27 @@ struct OamData #define ST_OAM_H_RECTANGLE 1 #define ST_OAM_V_RECTANGLE 2 +struct BgAffineSrcData +{ + s32 texX; + s32 texY; + s16 scrX; + s16 scrY; + s16 sx; + s16 sy; + u16 alpha; +}; + +struct BgAffineDstData +{ + s16 pa; + s16 pb; + s16 pc; + s16 pd; + s32 dx; + s32 dy; +}; + struct ObjAffineSrcData { s16 xScale; -- cgit v1.2.3 From e7ea49dc389fde77b9f515c4fc3bebc3fa37b1d1 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Thu, 5 Jan 2017 17:08:36 -0600 Subject: decompile up to sub_813D584 --- include/asm.inc.h | 2 +- include/sprite.h | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) (limited to 'include') diff --git a/include/asm.inc.h b/include/asm.inc.h index 5ec19b81e..0e45c3174 100644 --- a/include/asm.inc.h +++ b/include/asm.inc.h @@ -446,7 +446,7 @@ void sub_813CE30(u16, u16, u16, u16); u8 sub_813CE88(u16, s16, u16, u16, u8); u8 sub_813CFA8(u16, u16, u16, u16); void sub_813D084(u8); -u8 sub_813D584(/*TODO: arg types*/); +u8 sub_813D584(u16, s16, u16, u16, u16, u8); void sub_813D788(struct Sprite *); void sub_813D880(struct Sprite *); void sub_813D954(/*TODO: arg types*/); diff --git a/include/sprite.h b/include/sprite.h index 57926fc68..3c8da394f 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -130,13 +130,13 @@ struct SpriteTemplate struct Sprite { - struct OamData oam; - union AnimCmd **anims; - struct SpriteFrameImage *images; - union AffineAnimCmd **affineAnims; - const struct SpriteTemplate *template; - struct SubspriteTable *subspriteTables; - void (*callback)(struct Sprite *); + /*0x00*/ struct OamData oam; + /*0x08*/ union AnimCmd **anims; + /*0x0C*/ struct SpriteFrameImage *images; + /*0x10*/ union AffineAnimCmd **affineAnims; + /*0x14*/ const struct SpriteTemplate *template; + /*0x18*/ struct SubspriteTable *subspriteTables; + /*0x1C*/ void (*callback)(struct Sprite *); /*0x20*/ struct Coords16 pos1; /*0x24*/ struct Coords16 pos2; -- cgit v1.2.3