From d9562dc1675e93f565e63eeba35369688bb70742 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 3 Jun 2021 08:52:12 -0400 Subject: Document window sys, 1 --- include/unk_02016B94.h | 75 +++++++++++++++++++++++++------------------------- 1 file changed, 38 insertions(+), 37 deletions(-) (limited to 'include') diff --git a/include/unk_02016B94.h b/include/unk_02016B94.h index d3648560..788c8ddc 100644 --- a/include/unk_02016B94.h +++ b/include/unk_02016B94.h @@ -31,32 +31,33 @@ struct UnkStruct_02016B94_1 u32 unk18; }; -struct UnkStruct_02016B94_2 +struct UnkStruct_02016B94_2_sub { - u32 unk00; - u16 unk04; - u16 unk06; + void *unk08; + u32 unk0c; + u32 unk10; - struct UnkStruct_02016B94_2_sub - { - void *unk08; - u32 unk0c; - u32 unk10; + fx32 unk14; + fx32 unk18; - fx32 unk14; - fx32 unk18; + u8 mode; + u8 unk1d; + u8 unk1e; + u8 unk1f; + u16 unk20; + u16 unk22; // probably padding + fx32 unk24; + fx32 unk28; + fx32 unk2c; + fx32 unk30; +}; - u8 unk1c; - u8 unk1d; - u8 unk1e; - u8 unk1f; - u16 unk20; - u16 unk22; // probably padding - fx32 unk24; - fx32 unk28; - fx32 unk2c; - fx32 unk30; - } unk08[8]; +struct UnkStruct_02016B94_2 +{ + u32 heap_id; + u16 unk04; + u16 unk06; + struct UnkStruct_02016B94_2_sub unk08[8]; }; struct UnkStruct_02016B94_3 @@ -80,15 +81,15 @@ struct UnkStruct_02016B94_4 struct Window { struct UnkStruct_02016B94_2 *unk00; - u8 unk04; - u8 unk05; - u8 unk06; + u8 bgId; + u8 tilemapLeft; + u8 tilemapTop; u8 width; u8 height; - u8 unk09; - u16 unk0a_0 : 15; + u8 paletteNum; + u16 baseTile : 15; u16 unk0b_15 : 1; - void *unk0c; + void *pixelBuffer; }; struct UnkStruct_02016B94_2 *FUN_02016B94(u32 heap_id); @@ -265,15 +266,15 @@ void FUN_020190EC(struct UnkStruct_02016B94_2 *param0, void FUN_02019150(struct UnkStruct_02016B94_2 *param0, struct Window *param1, const struct UnkStruct_02016B94_4 *param2); -void FUN_02019178(struct Window *param0); -void FUN_020191A4(struct Window *param0, int param1); -void CopyWindowToVram(struct Window *param0); -void FUN_02019220(struct Window *param0); -void FUN_02019270(struct Window *param0); -void FUN_0201928C(struct Window *param0, u8 param1, u8 param2); -void FUN_020192B8(struct Window *param0); -void FUN_020192D4(struct Window *param0); -void FUN_02019358(struct Window *param0); +void FUN_02019178(struct Window *window); +void WindowArray_dtor(struct Window *windows, int count); +void CopyWindowToVram(struct Window *window); +void FUN_02019220(struct Window *window); +void PutWindowTilemap(struct Window *window); +void PutWindowTilemapRectAnchoredTopLeft(struct Window *window, u8 width, u8 height); +void FUN_020192B8(struct Window *window); +void PutWindowTilemap_TextMode(struct Window *param0); +void PutWindowTilemap_AffineMode(struct Window *param0); void FUN_020193B4(struct Window *param0); void FUN_02019444(struct Window *param0); void FUN_0201949C(struct Window *window); -- cgit v1.2.3 From 94eb56526428935ea1f49d2b8912b5b3022d99b7 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 3 Jun 2021 18:27:52 -0400 Subject: Rename window-related structs; port g2 reg inlines --- include/gf_gfx_loader.h | 4 +- include/script.h | 2 +- include/text_02054590.h | 4 +- include/unk_02016B94.h | 160 ++++++++++++++++++++++++------------------------ 4 files changed, 85 insertions(+), 85 deletions(-) (limited to 'include') diff --git a/include/gf_gfx_loader.h b/include/gf_gfx_loader.h index b95075dc..3f23d1ff 100644 --- a/include/gf_gfx_loader.h +++ b/include/gf_gfx_loader.h @@ -3,8 +3,8 @@ #include "unk_02016B94.h" -u32 GfGfxLoader_LoadCharData(NarcId narcId, s32 memberNo, struct UnkStruct_02016B94_2 * unkStruct02016B94_2, u32 a3, u32 a4, u32 szByte, BOOL isCompressed, u32 heap_id); -void GfGfxLoader_LoadScrnData(NarcId narcId, s32 memberNo, struct UnkStruct_02016B94_2 * unkStruct02016B94_2, u32 a3, u32 a4, u32 szByte, BOOL isCompressed, u32 heap_id); +u32 GfGfxLoader_LoadCharData(NarcId narcId, s32 memberNo, struct BgConfig * unkStruct02016B94_2, u32 a3, u32 a4, u32 szByte, BOOL isCompressed, u32 heap_id); +void GfGfxLoader_LoadScrnData(NarcId narcId, s32 memberNo, struct BgConfig * unkStruct02016B94_2, u32 a3, u32 a4, u32 szByte, BOOL isCompressed, u32 heap_id); void GfGfxLoader_GXLoadPal(NarcId narcId, s32 memberNo, u32 whichRoutine, u32 baseAddr, u32 szByte, u32 heap_id); void GfGfxLoader_GXLoadPalWithSrcOffset(NarcId narcId, s32 memberNo, u32 whichRoutine, u32 srcOffset, u32 baseAddr, u32 szByte, u32 heap_id); u32 GfGfxLoader_LoadWholePalette(NarcId narcId, s32 memberId, u32 whichRoutine, u32 baseAddr, u32 szByte, BOOL isCompressed, u32 heap_id); diff --git a/include/script.h b/include/script.h index 01bba305..2f5e6540 100644 --- a/include/script.h +++ b/include/script.h @@ -28,7 +28,7 @@ struct UnkStruct_02046444 struct UnkSavStruct80 { u8 padding[0x8]; - struct UnkStruct_02016B94_2 *unk08; + struct BgConfig *unk08; struct SaveBlock2 *saveBlock2; //0xC struct UnkStruct_0204639C *unk10; u8 padding2[0x8]; diff --git a/include/text_02054590.h b/include/text_02054590.h index 77170e70..eaffb2a0 100644 --- a/include/text_02054590.h +++ b/include/text_02054590.h @@ -8,13 +8,13 @@ void FUN_02054590(u32 param0, u32 param1); -void FUN_020545B8(struct UnkStruct_02016B94_2 *param0, struct Window *param1, u32 param2); +void FUN_020545B8(struct BgConfig *param0, struct Window *param1, u32 param2); void FUN_02054608(struct Window *param0, struct Options *options); void FUN_0205464C(struct Window *param0); u16 FUN_02054658(struct Window * window, struct String *str, struct Options *options, u8 param3); u16 DrawFieldMessage(struct Window * window, struct String *str, u8 fontId, u32 speed, u8 a4, u32 a5); u8 FUN_020546C8(u32 param0); -void FUN_020546E0(struct UnkStruct_02016B94_2 *param0, struct Window *param1, u32 param2, u32 param3); +void FUN_020546E0(struct BgConfig *param0, struct Window *param1, u32 param2, u32 param3); void FUN_02054744(struct Window *param0, u32 param1, u32 param2); #endif // POKEDIAMOND_UNK_02054590_H diff --git a/include/unk_02016B94.h b/include/unk_02016B94.h index 788c8ddc..d28a3f1e 100644 --- a/include/unk_02016B94.h +++ b/include/unk_02016B94.h @@ -31,7 +31,7 @@ struct UnkStruct_02016B94_1 u32 unk18; }; -struct UnkStruct_02016B94_2_sub +struct Bg { void *unk08; u32 unk0c; @@ -43,7 +43,7 @@ struct UnkStruct_02016B94_2_sub u8 mode; u8 unk1d; u8 unk1e; - u8 unk1f; + u8 tileSize; u16 unk20; u16 unk22; // probably padding fx32 unk24; @@ -52,12 +52,12 @@ struct UnkStruct_02016B94_2_sub fx32 unk30; }; -struct UnkStruct_02016B94_2 +struct BgConfig { u32 heap_id; u16 unk04; u16 unk06; - struct UnkStruct_02016B94_2_sub unk08[8]; + struct Bg bgs[8]; }; struct UnkStruct_02016B94_3 @@ -67,20 +67,20 @@ struct UnkStruct_02016B94_3 u16 unk06; }; -struct UnkStruct_02016B94_4 +struct WindowTemplate { - u8 unk0; - u8 unk1; - u8 unk2; - u8 unk3; - u8 unk4; - u8 unk5; - u16 unk6; + u8 bgId; + u8 tilemapLeft; + u8 tilemapTop; + u8 width; + u8 height; + u8 paletteNum; + u16 baseTile; }; struct Window { - struct UnkStruct_02016B94_2 *unk00; + struct BgConfig *bgConfig; u8 bgId; u8 tilemapLeft; u8 tilemapTop; @@ -92,61 +92,61 @@ struct Window void *pixelBuffer; }; -struct UnkStruct_02016B94_2 *FUN_02016B94(u32 heap_id); +struct BgConfig *FUN_02016B94(u32 heap_id); u32 FUN_02016BB8(u32 *param0); void FUN_02016BBC(const struct GraphicsModes *modes); void FUN_02016BF4(const struct GraphicsModes *param0, u32 param1); void FUN_02016C18( - struct UnkStruct_02016B94_2 *param0, u8 param1, const struct UnkStruct_02016B94_1 *param2, u8 param3); -void FUN_020170F4(struct UnkStruct_02016B94_2 *param0, u8 param1, u32 param2, u8 param3); + struct BgConfig *param0, u8 param1, const struct UnkStruct_02016B94_1 *param2, u8 param3); +void FUN_020170F4(struct BgConfig *param0, u8 param1, u32 param2, u8 param3); u8 FUN_020177DC(u8 param0, u32 param1); void FUN_02017850(u32 param0, u8 *param1, u8 *param2); -void FUN_020178A0(struct UnkStruct_02016B94_2 *param0, u32 param1); +void FUN_020178A0(struct BgConfig *param0, u32 param1); void FUN_020178BC(u32 param0, u16 param1); void FUN_0201797C(u32 param0, GX_LayerToggle toggle); -void FUN_020179E0(struct UnkStruct_02016B94_2 *param0, u32 param1, u32 param2, fx32 val); -fx32 FUN_02017B48(struct UnkStruct_02016B94_2 *param0, u32 param1); -fx32 FUN_02017B54(struct UnkStruct_02016B94_2 *param0, u32 param1); -void FUN_02017B60(struct UnkStruct_02016B94_2 *param0, +void FUN_020179E0(struct BgConfig *param0, u32 param1, u32 param2, fx32 val); +fx32 FUN_02017B48(struct BgConfig *param0, u32 param1); +fx32 FUN_02017B54(struct BgConfig *param0, u32 param1); +void FUN_02017B60(struct BgConfig *param0, u32 param1, u32 param2, fx32 param3, struct Mtx22 *param4, fx32 param5, fx32 param6); -void FUN_02017B8C(struct UnkStruct_02016B94_2_sub *param0, u32 param1, fx32 val); -void FUN_02017BD0(struct UnkStruct_02016B94_2 *param0, +void FUN_02017B8C(struct Bg *param0, u32 param1, fx32 val); +void FUN_02017BD0(struct BgConfig *param0, u32 param1, struct Mtx22 *param2, fx32 param3, fx32 param4); -void FUN_02017C6C(struct UnkStruct_02016B94_2 *param0, u32 param1); +void FUN_02017C6C(struct BgConfig *param0, u32 param1); void FUN_02017C98(const void *param0, void *param1, u32 param2); -void FUN_02017CD0(struct UnkStruct_02016B94_2 *param0, u32 param1); +void FUN_02017CD0(struct BgConfig *param0, u32 param1); void FUN_02017CE8( - struct UnkStruct_02016B94_2 *param0, u32 param1, u32 *param2, u32 param3, u32 param4); + struct BgConfig *param0, u32 param1, u32 *param2, u32 param3, u32 param4); void FUN_02017D68(u32 param0, void *param1, u32 offset, u32 size); -void FUN_02017DFC(struct UnkStruct_02016B94_2 *param0, u32 param1, void *param2, u32 param3); +void FUN_02017DFC(struct BgConfig *param0, u32 param1, void *param2, u32 param3); void FUN_02017E14( - struct UnkStruct_02016B94_2 *param0, u32 param1, u32 *param2, u32 param3, u32 param4); + struct BgConfig *param0, u32 param1, u32 *param2, u32 param3, u32 param4); void FUN_02017E40( - struct UnkStruct_02016B94_2 *param0, u32 param1, u32 *param2, u32 param3, u32 param4); + struct BgConfig *param0, u32 param1, u32 *param2, u32 param3, u32 param4); void FUN_02017E84(u32 param0, void *param1, u32 offset, u32 size); void FUN_02017F18(u32 param0, u32 size, u32 offset, u32 heap_id); void FUN_02017F48( - struct UnkStruct_02016B94_2 *param0, u32 param1, u32 param2, u32 param3, u32 param4); + struct BgConfig *param0, u32 param1, u32 param2, u32 param3, u32 param4); void FUN_02017FB4(u32 param0, void *param1, u32 offset, u32 size); void FUN_02017FE4(u32 param0, u32 param1); u16 FUN_02017FFC(u8 param0, u8 param1, u8 param2); u16 FUN_02018068(u8 param0, u8 param1, u8 param2, u8 param3); -void FUN_02018148(struct UnkStruct_02016B94_2 *param0, +void FUN_02018148(struct BgConfig *param0, u32 param1, void *param2, u8 param3, u8 param4, u8 param5, u8 param6); -void FUN_02018170(struct UnkStruct_02016B94_2 *param0, +void FUN_02018170(struct BgConfig *param0, u32 param1, u8 param2, u8 param3, @@ -157,7 +157,7 @@ void FUN_02018170(struct UnkStruct_02016B94_2 *param0, u8 param8, u8 param9, u8 param10); -void FUN_020181EC(struct UnkStruct_02016B94_2 *param0, +void FUN_020181EC(struct BgConfig *param0, u32 param1, u8 param2, u8 param3, @@ -168,7 +168,7 @@ void FUN_020181EC(struct UnkStruct_02016B94_2 *param0, u8 param8, u8 param9, u8 param10); -void FUN_02018268(struct UnkStruct_02016B94_2_sub *param0, +void FUN_02018268(struct Bg *param0, u8 param1, u8 param2, u8 param3, @@ -179,7 +179,7 @@ void FUN_02018268(struct UnkStruct_02016B94_2_sub *param0, u8 param8, u8 param9, u8 param10); -void FUN_020183DC(struct UnkStruct_02016B94_2_sub *param0, +void FUN_020183DC(struct Bg *param0, u8 param1, u8 param2, u8 param3, @@ -190,7 +190,7 @@ void FUN_020183DC(struct UnkStruct_02016B94_2_sub *param0, u8 param8, u8 param9, u8 param10); -void FUN_02018540(struct UnkStruct_02016B94_2 *param0, +void FUN_02018540(struct BgConfig *param0, u32 param1, u16 param2, u8 param3, @@ -198,7 +198,7 @@ void FUN_02018540(struct UnkStruct_02016B94_2 *param0, u8 param5, u8 param6, u8 param7); -void FUN_02018590(struct UnkStruct_02016B94_2_sub *param0, +void FUN_02018590(struct Bg *param0, u16 param1, u8 param2, u8 param3, @@ -206,23 +206,23 @@ void FUN_02018590(struct UnkStruct_02016B94_2_sub *param0, u8 param5, u8 param6); void FUN_02018640( - struct UnkStruct_02016B94_2_sub *param0, u8 param1, u8 param2, u8 param3, u8 param4, u8 param5); -void FUN_020186B4(struct UnkStruct_02016B94_2 *param0, + struct Bg *param0, u8 param1, u8 param2, u8 param3, u8 param4, u8 param5); +void FUN_020186B4(struct BgConfig *param0, u32 param1, u8 param2, u8 param3, u8 param4, u8 param5, u8 param6); -void FUN_02018744(struct UnkStruct_02016B94_2 *param0, u32 param1); -void FUN_02018768(struct UnkStruct_02016B94_2 *param0, u32 param1, u16 param2); -void FUN_0201878C(struct UnkStruct_02016B94_2 *param0, u32 param1, u16 param2); +void FUN_02018744(struct BgConfig *param0, u32 param1); +void FUN_02018768(struct BgConfig *param0, u32 param1, u16 param2); +void FUN_0201878C(struct BgConfig *param0, u32 param1, u16 param2); void *FUN_020187B0(u32 param0); void FUN_02018808(u8 *param0, u32 param1, u8 (*param2)[2], u8 param3); u8 (*FUN_02018848(u8 *param0, u32 param1, u8 param2, u32 heap_id))[2]; -void *FUN_0201886C(struct UnkStruct_02016B94_2 *param0, u8 param1); -u16 FUN_02018878(struct UnkStruct_02016B94_2 *param0, u32 param1); -u8 FUN_02018884(struct UnkStruct_02016B94_2 *param0, u32 param1); +void *FUN_0201886C(struct BgConfig *param0, u8 param1); +u16 FUN_02018878(struct BgConfig *param0, u32 param1); +u8 FUN_02018884(struct BgConfig *param0, u32 param1); void BlitBitmapRect4Bit(struct UnkStruct_02016B94_3 *param0, struct UnkStruct_02016B94_3 *param1, u16 param2, @@ -245,28 +245,28 @@ void FUN_02018E88( struct UnkStruct_02016B94_3 *param0, u16 param1, u16 param2, u16 param3, u16 param4, u8 param5); void FUN_02018F4C( struct UnkStruct_02016B94_3 *param0, u16 param1, u16 param2, u16 param3, u16 param4, u8 param5); -void *AllocWindows(u32 heap_id, s32 size); -void InitWindow(struct Window *param0); -BOOL FUN_02019048(struct Window *param0); -void FUN_02019064(struct UnkStruct_02016B94_2 *param0, - struct Window *param1, - u8 param2, - u8 param3, - u8 param4, - u8 param5, - u8 param6, - u8 param7, - u16 param8); -void FUN_020190EC(struct UnkStruct_02016B94_2 *param0, - struct Window *param1, - u8 param2, - u8 param3, - u16 param4, - u8 param5); -void FUN_02019150(struct UnkStruct_02016B94_2 *param0, - struct Window *param1, - const struct UnkStruct_02016B94_4 *param2); -void FUN_02019178(struct Window *window); +struct Window *AllocWindows(u32 heap_id, s32 size); +void InitWindow(struct Window *window); +BOOL WindowIsInUse(struct Window *window); +void AddWindowParameterized(struct BgConfig *param0, + struct Window *window, + u8 bgId, + u8 tilemapLeft, + u8 tilemapTop, + u8 width, + u8 height, + u8 paletteNum, + u16 baseTile); +void AddTextWindowTopLeftCorner(struct BgConfig *param0, + struct Window *window, + u8 width, + u8 height, + u16 baseTile, + u8 paletteNum); +void AddWindow(struct BgConfig *bgConfig, + struct Window *window, + const struct WindowTemplate *template); +void RemoveWindow(struct Window *window); void WindowArray_dtor(struct Window *windows, int count); void CopyWindowToVram(struct Window *window); void FUN_02019220(struct Window *window); @@ -277,9 +277,9 @@ void PutWindowTilemap_TextMode(struct Window *param0); void PutWindowTilemap_AffineMode(struct Window *param0); void FUN_020193B4(struct Window *param0); void FUN_02019444(struct Window *param0); -void FUN_0201949C(struct Window *window); +void CopyWindowToVram_TextMode(struct Window *window); void FUN_020194C8(struct Window *window); -void FUN_020194E0(struct Window *window); +void CopyWindowToVram_AffineMode(struct Window *window); void FUN_0201951C(struct Window *window); void FUN_02019548(struct Window *window); void FUN_02019570(struct Window *window); @@ -326,16 +326,16 @@ void FUN_0201AB20(struct Window *window, u8 param1); void FUN_0201AB24(struct Window *window, u8 param1); u32 FUN_0201AB28(struct Window *window, u32 heap_id, const char *path); u32 FUN_0201AB44(struct Window *window, u32 heap_id, const char *path); -void FUN_0201AB60(struct UnkStruct_02016B94_2 *param0); -void FUN_0201AB78(struct UnkStruct_02016B94_2 *param0); -void FUN_0201AC68(struct UnkStruct_02016B94_2 *param0, u32 param1); -void FUN_0201AC78(struct UnkStruct_02016B94_2 *param0); -void FUN_0201AEE4(struct UnkStruct_02016B94_2 *param0, u32 param1, u32 param2, fx32 param3); -void FUN_0201AF08(struct UnkStruct_02016B94_2 *param0, u32 param1, u32 param2, u16 param3); -void FUN_0201AF2C(struct UnkStruct_02016B94_2_sub *param0, u32 param1, u16 val); -void FUN_0201AF50(struct UnkStruct_02016B94_2 *param0, u32 param1, u32 param2, fx32 param3); -void FUN_0201AF74(struct UnkStruct_02016B94_2_sub *param0, u32 param1, fx32 val); -u32 FUN_0201AFBC(struct UnkStruct_02016B94_2 *param0, u8 param1, u8 param2, u8 param3, u16 *param4); -void FUN_0201B118(struct UnkStruct_02016B94_2 *param0, u8 param1, u8 *param2); +void FUN_0201AB60(struct BgConfig *param0); +void FUN_0201AB78(struct BgConfig *param0); +void FUN_0201AC68(struct BgConfig *param0, u32 param1); +void FUN_0201AC78(struct BgConfig *param0); +void FUN_0201AEE4(struct BgConfig *param0, u32 param1, u32 param2, fx32 param3); +void FUN_0201AF08(struct BgConfig *param0, u32 param1, u32 param2, u16 param3); +void FUN_0201AF2C(struct Bg *param0, u32 param1, u16 val); +void FUN_0201AF50(struct BgConfig *param0, u32 param1, u32 param2, fx32 param3); +void FUN_0201AF74(struct Bg *param0, u32 param1, fx32 val); +u32 FUN_0201AFBC(struct BgConfig *param0, u8 param1, u8 param2, u8 param3, u16 *param4); +void FUN_0201B118(struct BgConfig *param0, u8 param1, u8 *param2); #endif // POKEDIAMOND_UNK_02016B94_H -- cgit v1.2.3 From 662866c1e3ed69c3895c5794ef6c9ab9cf9c1f0a Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 3 Jun 2021 18:59:46 -0400 Subject: Match FUN_02016C18 --- include/unk_02016B94.h | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'include') diff --git a/include/unk_02016B94.h b/include/unk_02016B94.h index d28a3f1e..1c86fafd 100644 --- a/include/unk_02016B94.h +++ b/include/unk_02016B94.h @@ -13,7 +13,7 @@ #define reg_G2_BG3P (u32 *)0x4000030 #define reg_G2S_DB_BG2P (u32 *)0x4001020 #define reg_G2S_DB_BG3P (u32 *)0x4001030 -struct UnkStruct_02016B94_1 +struct BgTemplate { u32 unk00; u32 unk04; @@ -21,14 +21,14 @@ struct UnkStruct_02016B94_1 u32 unk0c; u8 unk10; - u8 unk11; - u8 unk12; - u8 unk13; - u8 unk14; - u8 unk15; - u8 unk16; + u8 colorMode; + u8 screenBase; + u8 charBase; + u8 bgExtPltt; + u8 priority; + u8 areaOver; u8 unk17; // probably paddding - u32 unk18; + u32 mosaic; }; struct Bg @@ -97,7 +97,7 @@ u32 FUN_02016BB8(u32 *param0); void FUN_02016BBC(const struct GraphicsModes *modes); void FUN_02016BF4(const struct GraphicsModes *param0, u32 param1); void FUN_02016C18( - struct BgConfig *param0, u8 param1, const struct UnkStruct_02016B94_1 *param2, u8 param3); + struct BgConfig *param0, u8 param1, const struct BgTemplate *param2, u8 param3); void FUN_020170F4(struct BgConfig *param0, u8 param1, u32 param2, u8 param3); u8 FUN_020177DC(u8 param0, u32 param1); void FUN_02017850(u32 param0, u8 *param1, u8 *param2); -- cgit v1.2.3 From 1302b621f1da88e4db66e301f6beade6554ca3e8 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 3 Jun 2021 20:30:32 -0400 Subject: Match FUN_02018884 --- include/unk_02016B94.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'include') diff --git a/include/unk_02016B94.h b/include/unk_02016B94.h index 1c86fafd..9b9afeb5 100644 --- a/include/unk_02016B94.h +++ b/include/unk_02016B94.h @@ -17,7 +17,7 @@ struct BgTemplate { u32 unk00; u32 unk04; - u32 unk08; + u32 bufferSize; u32 unk0c; u8 unk10; @@ -33,7 +33,7 @@ struct BgTemplate struct Bg { - void *unk08; + void *tilemapBuffer; u32 unk0c; u32 unk10; @@ -42,7 +42,7 @@ struct Bg u8 mode; u8 unk1d; - u8 unk1e; + u8 colorMode; u8 tileSize; u16 unk20; u16 unk22; // probably padding @@ -97,8 +97,8 @@ u32 FUN_02016BB8(u32 *param0); void FUN_02016BBC(const struct GraphicsModes *modes); void FUN_02016BF4(const struct GraphicsModes *param0, u32 param1); void FUN_02016C18( - struct BgConfig *param0, u8 param1, const struct BgTemplate *param2, u8 param3); -void FUN_020170F4(struct BgConfig *param0, u8 param1, u32 param2, u8 param3); + struct BgConfig *param0, u8 param1, const struct BgTemplate *template, u8 bgMode); +void FUN_020170F4(struct BgConfig *config, u8 bgId, u32 attr, u8 value); u8 FUN_020177DC(u8 param0, u32 param1); void FUN_02017850(u32 param0, u8 *param1, u8 *param2); void FUN_020178A0(struct BgConfig *param0, u32 param1); -- cgit v1.2.3 From 90a0a6057ca82df771648cf3b49bb80da587a060 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 4 Jun 2021 17:29:30 -0400 Subject: Match BlitBitmapRect4Bit --- include/unk_02016B94.h | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) (limited to 'include') diff --git a/include/unk_02016B94.h b/include/unk_02016B94.h index 9b9afeb5..80c3d18c 100644 --- a/include/unk_02016B94.h +++ b/include/unk_02016B94.h @@ -60,11 +60,11 @@ struct BgConfig struct Bg bgs[8]; }; -struct UnkStruct_02016B94_3 +struct Bitmap { - void *unk00; - u16 unk04; - u16 unk06; + const u8 *pixels; + u16 width; + u16 height; }; struct WindowTemplate @@ -223,17 +223,17 @@ u8 (*FUN_02018848(u8 *param0, u32 param1, u8 param2, u32 heap_id))[2]; void *FUN_0201886C(struct BgConfig *param0, u8 param1); u16 FUN_02018878(struct BgConfig *param0, u32 param1); u8 FUN_02018884(struct BgConfig *param0, u32 param1); -void BlitBitmapRect4Bit(struct UnkStruct_02016B94_3 *param0, - struct UnkStruct_02016B94_3 *param1, - u16 param2, - u16 param3, - u16 param4, - u16 param5, - u16 param6, - u16 param7, - u16 param8); -void BlitBitmapRect8Bit(struct UnkStruct_02016B94_3 *param0, - struct UnkStruct_02016B94_3 *param1, +void BlitBitmapRect4Bit(const struct Bitmap *src, + const struct Bitmap *dst, + u16 srcX, + u16 srcY, + u16 dstX, + u16 dstY, + u16 width, + u16 height, + u16 colorKey); +void BlitBitmapRect8Bit(struct Bitmap *param0, + struct Bitmap *param1, u16 param2, u16 param3, u16 param4, @@ -242,9 +242,9 @@ void BlitBitmapRect8Bit(struct UnkStruct_02016B94_3 *param0, u16 param7, u16 param8); void FUN_02018E88( - struct UnkStruct_02016B94_3 *param0, u16 param1, u16 param2, u16 param3, u16 param4, u8 param5); + struct Bitmap *param0, u16 param1, u16 param2, u16 param3, u16 param4, u8 param5); void FUN_02018F4C( - struct UnkStruct_02016B94_3 *param0, u16 param1, u16 param2, u16 param3, u16 param4, u8 param5); + struct Bitmap *param0, u16 param1, u16 param2, u16 param3, u16 param4, u8 param5); struct Window *AllocWindows(u32 heap_id, s32 size); void InitWindow(struct Window *window); BOOL WindowIsInUse(struct Window *window); -- cgit v1.2.3 From 1b5cf67f5f3585ea1a50dc2d487e6897dd7e6f55 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 4 Jun 2021 17:34:18 -0400 Subject: Match BlitBitmapRect8Bit --- include/unk_02016B94.h | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'include') diff --git a/include/unk_02016B94.h b/include/unk_02016B94.h index 80c3d18c..475626bf 100644 --- a/include/unk_02016B94.h +++ b/include/unk_02016B94.h @@ -232,15 +232,15 @@ void BlitBitmapRect4Bit(const struct Bitmap *src, u16 width, u16 height, u16 colorKey); -void BlitBitmapRect8Bit(struct Bitmap *param0, - struct Bitmap *param1, - u16 param2, - u16 param3, - u16 param4, - u16 param5, - u16 param6, - u16 param7, - u16 param8); +void BlitBitmapRect8Bit(const struct Bitmap *src, + const struct Bitmap *dst, + u16 srcX, + u16 srcY, + u16 dstX, + u16 dstY, + u16 width, + u16 height, + u16 colorKey); void FUN_02018E88( struct Bitmap *param0, u16 param1, u16 param2, u16 param3, u16 param4, u8 param5); void FUN_02018F4C( -- cgit v1.2.3 From e29c9e21ba9b64c86ac677b2bf4a69e92e8ac34b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 4 Jun 2021 18:37:08 -0400 Subject: Port more inlines from gx lib --- include/unk_02016B94.h | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) (limited to 'include') diff --git a/include/unk_02016B94.h b/include/unk_02016B94.h index 475626bf..1e5a4fdb 100644 --- a/include/unk_02016B94.h +++ b/include/unk_02016B94.h @@ -34,28 +34,28 @@ struct BgTemplate struct Bg { void *tilemapBuffer; - u32 unk0c; + u32 bufferSize; u32 unk10; - fx32 unk14; - fx32 unk18; + fx32 hOffset; + fx32 vOffset; u8 mode; u8 unk1d; u8 colorMode; u8 tileSize; - u16 unk20; + u16 rotation; u16 unk22; // probably padding - fx32 unk24; - fx32 unk28; - fx32 unk2c; - fx32 unk30; + fx32 xScale; + fx32 yScale; + fx32 centerX; + fx32 centerY; }; struct BgConfig { u32 heap_id; - u16 unk04; + u16 scrollScheduled; u16 unk06; struct Bg bgs[8]; }; @@ -101,10 +101,10 @@ void FUN_02016C18( void FUN_020170F4(struct BgConfig *config, u8 bgId, u32 attr, u8 value); u8 FUN_020177DC(u8 param0, u32 param1); void FUN_02017850(u32 param0, u8 *param1, u8 *param2); -void FUN_020178A0(struct BgConfig *param0, u32 param1); -void FUN_020178BC(u32 param0, u16 param1); -void FUN_0201797C(u32 param0, GX_LayerToggle toggle); -void FUN_020179E0(struct BgConfig *param0, u32 param1, u32 param2, fx32 val); +void FUN_020178A0(struct BgConfig *bgConfig, u32 bgId); +void FUN_020178BC(u32 bgId, u16 priority); +void ToggleBgLayer(u32 bgId, GX_LayerToggle toggle); +void FUN_020179E0(struct BgConfig *bgConfig, u32 bgId, u32 param2, fx32 val); fx32 FUN_02017B48(struct BgConfig *param0, u32 param1); fx32 FUN_02017B54(struct BgConfig *param0, u32 param1); void FUN_02017B60(struct BgConfig *param0, @@ -220,9 +220,9 @@ void FUN_0201878C(struct BgConfig *param0, u32 param1, u16 param2); void *FUN_020187B0(u32 param0); void FUN_02018808(u8 *param0, u32 param1, u8 (*param2)[2], u8 param3); u8 (*FUN_02018848(u8 *param0, u32 param1, u8 param2, u32 heap_id))[2]; -void *FUN_0201886C(struct BgConfig *param0, u8 param1); +void *GetBgTilemapBuffer(struct BgConfig *bgConfig, u8 bgId); u16 FUN_02018878(struct BgConfig *param0, u32 param1); -u8 FUN_02018884(struct BgConfig *param0, u32 param1); +u8 GetBgPriority(struct BgConfig *bgConfig, u32 bgId); void BlitBitmapRect4Bit(const struct Bitmap *src, const struct Bitmap *dst, u16 srcX, @@ -241,10 +241,10 @@ void BlitBitmapRect8Bit(const struct Bitmap *src, u16 width, u16 height, u16 colorKey); -void FUN_02018E88( - struct Bitmap *param0, u16 param1, u16 param2, u16 param3, u16 param4, u8 param5); -void FUN_02018F4C( - struct Bitmap *param0, u16 param1, u16 param2, u16 param3, u16 param4, u8 param5); +void FillBitmapRect4Bit( + struct Bitmap *surface, u16 x, u16 y, u16 width, u16 height, u8 fillValue); +void FillBitmapRect8Bit( + struct Bitmap *surface, u16 x, u16 y, u16 width, u16 height, u8 fillValue); struct Window *AllocWindows(u32 heap_id, s32 size); void InitWindow(struct Window *window); BOOL WindowIsInUse(struct Window *window); -- cgit v1.2.3 From ae369d76f0415f105020c6084fc1a6687c86407c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 4 Jun 2021 20:43:31 -0400 Subject: Rename more bg and window routines --- include/unk_02016B94.h | 97 ++++++++++++++++++++++++-------------------------- 1 file changed, 47 insertions(+), 50 deletions(-) (limited to 'include') diff --git a/include/unk_02016B94.h b/include/unk_02016B94.h index 1e5a4fdb..9479f889 100644 --- a/include/unk_02016B94.h +++ b/include/unk_02016B94.h @@ -1,6 +1,7 @@ #ifndef POKEDIAMOND_UNK_02016B94_H #define POKEDIAMOND_UNK_02016B94_H +#include "NNS_g2d.h" #include "global.h" #include "GX_layers.h" #include "MI_uncompress.h" @@ -9,10 +10,6 @@ #include "heap.h" #include "math_util.h" -#define reg_G2_BG2P (u32 *)0x4000020 -#define reg_G2_BG3P (u32 *)0x4000030 -#define reg_G2S_DB_BG2P (u32 *)0x4001020 -#define reg_G2S_DB_BG3P (u32 *)0x4001030 struct BgTemplate { u32 unk00; @@ -56,7 +53,7 @@ struct BgConfig { u32 heap_id; u16 scrollScheduled; - u16 unk06; + u16 bufferTransferScheduled; struct Bg bgs[8]; }; @@ -100,7 +97,7 @@ void FUN_02016C18( struct BgConfig *param0, u8 param1, const struct BgTemplate *template, u8 bgMode); void FUN_020170F4(struct BgConfig *config, u8 bgId, u32 attr, u8 value); u8 FUN_020177DC(u8 param0, u32 param1); -void FUN_02017850(u32 param0, u8 *param1, u8 *param2); +void GetBgScreenDimensions(u32 screenSize, u8 *width_p, u8 *height_p); void FUN_020178A0(struct BgConfig *bgConfig, u32 bgId); void FUN_020178BC(u32 bgId, u16 priority); void ToggleBgLayer(u32 bgId, GX_LayerToggle toggle); @@ -114,7 +111,7 @@ void FUN_02017B60(struct BgConfig *param0, struct Mtx22 *param4, fx32 param5, fx32 param6); -void FUN_02017B8C(struct Bg *param0, u32 param1, fx32 val); +void Bg_SetPosText(struct Bg *bg, u32 op, fx32 val); void FUN_02017BD0(struct BgConfig *param0, u32 param1, struct Mtx22 *param2, @@ -125,20 +122,20 @@ void FUN_02017C98(const void *param0, void *param1, u32 param2); void FUN_02017CD0(struct BgConfig *param0, u32 param1); void FUN_02017CE8( struct BgConfig *param0, u32 param1, u32 *param2, u32 param3, u32 param4); -void FUN_02017D68(u32 param0, void *param1, u32 offset, u32 size); +void LoadBgVramScr(u32 bgId, void *buffer_p, u32 offset, u32 size); void FUN_02017DFC(struct BgConfig *param0, u32 param1, void *param2, u32 param3); -void FUN_02017E14( - struct BgConfig *param0, u32 param1, u32 *param2, u32 param3, u32 param4); -void FUN_02017E40( - struct BgConfig *param0, u32 param1, u32 *param2, u32 param3, u32 param4); -void FUN_02017E84(u32 param0, void *param1, u32 offset, u32 size); -void FUN_02017F18(u32 param0, u32 size, u32 offset, u32 heap_id); -void FUN_02017F48( - struct BgConfig *param0, u32 param1, u32 param2, u32 param3, u32 param4); -void FUN_02017FB4(u32 param0, void *param1, u32 offset, u32 size); -void FUN_02017FE4(u32 param0, u32 param1); -u16 FUN_02017FFC(u8 param0, u8 param1, u8 param2); -u16 FUN_02018068(u8 param0, u8 param1, u8 param2, u8 param3); +void BG_LoadCharTilesData( + struct BgConfig *bgConfig, u32 bgId, u32 *charData, u32 offset, u32 numTiles); +void BG_LoadCharPixelData( + struct BgConfig *bgConfig, u32 bgId, u32 *charData, u32 size, u32 offset); +void LoadBgVramChar(u32 bgId, void *buffer_p, u32 offset, u32 size); +void BG_ClearCharDataRange(u32 bgId, u32 size, u32 offset, u32 heap_id); +void BG_FillCharDataRange( + struct BgConfig *param0, u32 bgId, u32 fillValue, u32 count, u32 offset); +void BG_LoadPlttData(u32 bgId, void *plttData, u32 size, u32 offset); +void BG_SetMaskColor(u32 bgId, u32 value); +u16 GetTileMapIndexFromCoords(u8 x, u8 y, u8 screenSize); +u16 GetSrcTileMapIndexFromCoords(u8 x, u8 y, u8 width, u8 height); void FUN_02018148(struct BgConfig *param0, u32 param1, void *param2, @@ -168,16 +165,16 @@ void FUN_020181EC(struct BgConfig *param0, u8 param8, u8 param9, u8 param10); -void FUN_02018268(struct Bg *param0, - u8 param1, - u8 param2, - u8 param3, - u8 param4, - u16 *param5, - u8 param6, - u8 param7, - u8 param8, - u8 param9, +void FUN_02018268(struct Bg *bg, + u8 dstX, + u8 dstY, + u8 width, + u8 height, + u16 *src, + u8 srcX, + u8 srcY, + u8 srcWidth, + u8 srcHeight, u8 param10); void FUN_020183DC(struct Bg *param0, u8 param1, @@ -314,28 +311,28 @@ void FillWindowPixelRect(struct Window *window, u8 fillValue, u16 x, u16 y, u16 void FUN_0201974C( struct Window *window, u32 *param1, u32 param2, u32 param3, u16 param4, u16 param5, u32 param6); void ScrollWindow(struct Window *window, u32 param1, u8 param2, u8 param3); -void FUN_0201A8E8(struct Window *window, u32 param1, u8 param2, u8 param3); -void FUN_0201A9D4(struct Window *window, u32 param1, u8 param2, u8 param3); -u8 FUN_0201AB08(struct Window *window); +void ScrollWindow4bpp(struct Window *window, u32 param1, u8 param2, u8 fillValue); +void ScrollWindow8bpp(struct Window *window, u32 param1, u8 param2, u8 fillValue); +u8 GetWindowBgId(struct Window *window); u8 GetWindowWidth(struct Window *window); u8 GetWindowHeight(struct Window *window); -u8 FUN_0201AB14(struct Window *window); -u8 FUN_0201AB18(struct Window *window); -void FUN_0201AB1C(struct Window *window, u8 param1); -void FUN_0201AB20(struct Window *window, u8 param1); -void FUN_0201AB24(struct Window *window, u8 param1); -u32 FUN_0201AB28(struct Window *window, u32 heap_id, const char *path); -u32 FUN_0201AB44(struct Window *window, u32 heap_id, const char *path); -void FUN_0201AB60(struct BgConfig *param0); -void FUN_0201AB78(struct BgConfig *param0); -void FUN_0201AC68(struct BgConfig *param0, u32 param1); -void FUN_0201AC78(struct BgConfig *param0); -void FUN_0201AEE4(struct BgConfig *param0, u32 param1, u32 param2, fx32 param3); -void FUN_0201AF08(struct BgConfig *param0, u32 param1, u32 param2, u16 param3); -void FUN_0201AF2C(struct Bg *param0, u32 param1, u16 val); -void FUN_0201AF50(struct BgConfig *param0, u32 param1, u32 param2, fx32 param3); -void FUN_0201AF74(struct Bg *param0, u32 param1, fx32 val); -u32 FUN_0201AFBC(struct BgConfig *param0, u8 param1, u8 param2, u8 param3, u16 *param4); +u8 GetWindowX(struct Window *window); +u8 GetWindowY(struct Window *window); +void MoveWindowX(struct Window *window, u8 x); +void MoveWindowY(struct Window *window, u8 y); +void SetWindowPaletteNum(struct Window *window, u8 paletteNum); +NNSG2dCharacterData * LoadCharacterDataFromFile(void **char_ret, u32 heap_id, const char *path); +NNSG2dPaletteData * LoadPaletteDataFromFile(void **pltt_ret, u32 heap_id, const char *path); +void DoScheduledBgGpuUpdates(struct BgConfig *bgConfig); +void DoScheduledBgTilemapBufferTransfers(struct BgConfig *bgConfig); +void ScheduleBgTilemapBufferTransfer(struct BgConfig *bgConfig, u32 bgId); +void ApplyScheduledBgPosUpdate(struct BgConfig *bgConfig); +void ScheduleSetBgPosText(struct BgConfig *bgConfig, u32 bgId, u32 op, fx32 value); +void ScheduleSetBgAffineRotation(struct BgConfig *bgConfig, u32 bgId, u32 op, u16 value); +void Bg_SetAffineRotation(struct Bg *bg, u32 op, u16 val); +void ScheduleSetBgAffinePos(struct BgConfig *bgConfig, u32 bgId, u32 op, fx32 value); +void Bg_SetAffinePos(struct Bg *bg, u32 op, fx32 val); +u32 FUN_0201AFBC(struct BgConfig *bgConfig, u8 bgId, u8 x, u8 y, u16 *src); void FUN_0201B118(struct BgConfig *param0, u8 param1, u8 *param2); #endif // POKEDIAMOND_UNK_02016B94_H -- cgit v1.2.3 From cc45732d6b7acab3dd1fc533064206dd11b32ce6 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 5 Jun 2021 10:43:46 -0400 Subject: Rename more bg routines, vars, etc --- include/unk_02016B94.h | 169 +++++++++++++++++++++++++------------------------ 1 file changed, 88 insertions(+), 81 deletions(-) (limited to 'include') diff --git a/include/unk_02016B94.h b/include/unk_02016B94.h index 9479f889..df9fa25a 100644 --- a/include/unk_02016B94.h +++ b/include/unk_02016B94.h @@ -38,7 +38,7 @@ struct Bg fx32 vOffset; u8 mode; - u8 unk1d; + u8 size; u8 colorMode; u8 tileSize; u16 rotation; @@ -136,81 +136,81 @@ void BG_LoadPlttData(u32 bgId, void *plttData, u32 size, u32 offset); void BG_SetMaskColor(u32 bgId, u32 value); u16 GetTileMapIndexFromCoords(u8 x, u8 y, u8 screenSize); u16 GetSrcTileMapIndexFromCoords(u8 x, u8 y, u8 width, u8 height); -void FUN_02018148(struct BgConfig *param0, - u32 param1, - void *param2, - u8 param3, - u8 param4, - u8 param5, - u8 param6); -void FUN_02018170(struct BgConfig *param0, - u32 param1, - u8 param2, - u8 param3, - u8 param4, - u8 param5, - void *param6, - u8 param7, - u8 param8, - u8 param9, - u8 param10); -void FUN_020181EC(struct BgConfig *param0, - u32 param1, - u8 param2, - u8 param3, - u8 param4, - u8 param5, - void *param6, - u8 param7, - u8 param8, - u8 param9, - u8 param10); -void FUN_02018268(struct Bg *bg, - u8 dstX, - u8 dstY, - u8 width, - u8 height, - u16 *src, - u8 srcX, - u8 srcY, - u8 srcWidth, - u8 srcHeight, - u8 param10); -void FUN_020183DC(struct Bg *param0, - u8 param1, - u8 param2, - u8 param3, - u8 param4, - u8 *param5, - u8 param6, - u8 param7, - u8 param8, - u8 param9, - u8 param10); -void FUN_02018540(struct BgConfig *param0, - u32 param1, - u16 param2, - u8 param3, - u8 param4, - u8 param5, - u8 param6, - u8 param7); -void FUN_02018590(struct Bg *param0, - u16 param1, - u8 param2, - u8 param3, - u8 param4, - u8 param5, - u8 param6); -void FUN_02018640( - struct Bg *param0, u8 param1, u8 param2, u8 param3, u8 param4, u8 param5); -void FUN_020186B4(struct BgConfig *param0, - u32 param1, - u8 param2, - u8 param3, - u8 param4, - u8 param5, - u8 param6); +void LoadRectToBgTilemapRect(struct BgConfig *bgConfig, + u32 bgId, + void *src, + u8 dstX, + u8 dstY, + u8 width, + u8 height); +void CopyToBgTilemapRect(struct BgConfig *bgConfig, + u32 bgId, + u8 dstX, + u8 dstY, + u8 dstWidth, + u8 dstHeight, + void *src, + u8 srcX, + u8 srcY, + u8 srcWidth, + u8 srcHeight); +void CopyRectToBgTilemapRect(struct BgConfig *bgConfig, + u32 bgId, + u8 dstX, + u8 dstY, + u8 dstWidth, + u8 dstHeight, + void *src, + u8 srcX, + u8 srcY, + u8 srcWidth, + u8 srcHeight); +void CopyBgTilemapRectText(struct Bg *bg, + u8 dstX, + u8 dstY, + u8 dstWidth, + u8 dstHeight, + u16 *src, + u8 srcX, + u8 srcY, + u8 srcWidth, + u8 srcHeight, + u8 adjustForSrcDims); +void CopyBgTilemapRectAffine(struct Bg *bg, + u8 dstX, + u8 dstY, + u8 dstWidth, + u8 dstHeight, + u8 *src, + u8 srcX, + u8 srcY, + u8 srcWidth, + u8 srcHeight, + u8 adjustForSrcDims); +void FillBgTilemapRect(struct BgConfig *bgConfig, + u32 bgId, + u16 fillValue, + u8 x, + u8 y, + u8 width, + u8 height, + u8 paletteNum); +void FillBgTilemapRectText(struct Bg *bg, + u16 fillValue, + u8 x, + u8 y, + u8 width, + u8 height, + u8 paletteNum); +void FillBgTilemapRectAffine( + struct Bg *bg, u8 fillValue, u8 x, u8 y, u8 width, u8 height); +void BgTilemapRectChangePalette(struct BgConfig *bgConfig, + u32 bgId, + u8 x, + u8 y, + u8 width, + u8 height, + u8 paletteNum); void FUN_02018744(struct BgConfig *param0, u32 param1); void FUN_02018768(struct BgConfig *param0, u32 param1, u16 param2); void FUN_0201878C(struct BgConfig *param0, u32 param1, u16 param2); @@ -271,9 +271,9 @@ void PutWindowTilemap(struct Window *window); void PutWindowTilemapRectAnchoredTopLeft(struct Window *window, u8 width, u8 height); void FUN_020192B8(struct Window *window); void PutWindowTilemap_TextMode(struct Window *param0); -void PutWindowTilemap_AffineMode(struct Window *param0); -void FUN_020193B4(struct Window *param0); -void FUN_02019444(struct Window *param0); +void PutWindowTilemap_AffineMode(struct Window *window); +void ClearWindowTilemapText(struct Window *window); +void ClearWindowTilemapAffine(struct Window *window); void CopyWindowToVram_TextMode(struct Window *window); void FUN_020194C8(struct Window *window); void CopyWindowToVram_AffineMode(struct Window *window); @@ -308,8 +308,15 @@ void BlitBitmapRect(struct Window *window, u16 param9, u16 param10); void FillWindowPixelRect(struct Window *window, u8 fillValue, u16 x, u16 y, u16 width, u16 height); -void FUN_0201974C( - struct Window *window, u32 *param1, u32 param2, u32 param3, u16 param4, u16 param5, u32 param6); +void CopyGlyphToWindow( + struct Window * window, + const char * src, + u16 srcWidth, + u16 srcHeight, + u16 width, + u16 height, + u16 glyph +); void ScrollWindow(struct Window *window, u32 param1, u8 param2, u8 param3); void ScrollWindow4bpp(struct Window *window, u32 param1, u8 param2, u8 fillValue); void ScrollWindow8bpp(struct Window *window, u32 param1, u8 param2, u8 fillValue); -- cgit v1.2.3 From 0ae4f320d929e4d8914002836055c1aad35d5ce3 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 5 Jun 2021 15:49:41 -0400 Subject: Name remaining symbols in {unk_02016B94->bg_window}.c --- include/bg_window.h | 416 +++++++++++++++++++++++++++++++++++++++++++++ include/gf_gfx_loader.h | 2 +- include/list_menu_cursor.h | 2 +- include/script.h | 2 +- include/script_buffers.h | 2 +- include/text.h | 2 +- include/text_02054590.h | 2 +- include/unk_02016B94.h | 345 ------------------------------------- 8 files changed, 422 insertions(+), 351 deletions(-) create mode 100644 include/bg_window.h delete mode 100644 include/unk_02016B94.h (limited to 'include') diff --git a/include/bg_window.h b/include/bg_window.h new file mode 100644 index 00000000..91026b4d --- /dev/null +++ b/include/bg_window.h @@ -0,0 +1,416 @@ +#ifndef POKEDIAMOND_UNK_02016B94_H +#define POKEDIAMOND_UNK_02016B94_H + +#include "NNS_g2d.h" +#include "global.h" +#include "GX_layers.h" +#include "MI_uncompress.h" +#include "OS_cache.h" +#include "gx.h" +#include "heap.h" +#include "math_util.h" + +struct BgTemplate +{ + u32 unk00; + u32 unk04; + u32 bufferSize; + u32 unk0c; + + u8 size; + u8 colorMode; + u8 screenBase; + u8 charBase; + u8 bgExtPltt; + u8 priority; + u8 areaOver; + u8 unk17; // probably paddding + u32 mosaic; +}; + +struct Bg +{ + void *tilemapBuffer; + u32 bufferSize; + u32 baseTile; + + fx32 hOffset; + fx32 vOffset; + + u8 mode; + u8 size; + u8 colorMode; + u8 tileSize; + u16 rotation; + u16 unk22; // probably padding + fx32 xScale; + fx32 yScale; + fx32 centerX; + fx32 centerY; +}; + +struct BgConfig +{ + u32 heap_id; + u16 scrollScheduled; + u16 bufferTransferScheduled; + struct Bg bgs[8]; +}; + +struct Bitmap +{ + const u8 *pixels; + u16 width; + u16 height; +}; + +struct WindowTemplate +{ + u8 bgId; + u8 tilemapLeft; + u8 tilemapTop; + u8 width; + u8 height; + u8 paletteNum; + u16 baseTile; +}; + +struct Window +{ + struct BgConfig *bgConfig; + u8 bgId; + u8 tilemapLeft; + u8 tilemapTop; + u8 width; + u8 height; + u8 paletteNum; + u16 baseTile : 15; + u16 unk0b_15 : 1; + void *pixelBuffer; +}; + +enum GFBgLayer +{ + GF_BG_LYR_MAIN_0 = 0, + GF_BG_LYR_MAIN_1, + GF_BG_LYR_MAIN_2, + GF_BG_LYR_MAIN_3, + GF_BG_LYR_SUB_0, + GF_BG_LYR_SUB_1, + GF_BG_LYR_SUB_2, + GF_BG_LYR_SUB_3, + GF_BG_LYR_MAIN_CNT = 4, + GF_BG_LYR_SUB_CNT = 4, + GF_BG_LYR_MAIN_FIRST = GF_BG_LYR_MAIN_0, + GF_BG_LYR_SUB_FIRST = GF_BG_LYR_SUB_0, + + GF_BG_LYR_MAIN_0_F = 1 << (GF_BG_LYR_MAIN_0 - GF_BG_LYR_MAIN_FIRST), + GF_BG_LYR_MAIN_1_F = 1 << (GF_BG_LYR_MAIN_1 - GF_BG_LYR_MAIN_FIRST), + GF_BG_LYR_MAIN_2_F = 1 << (GF_BG_LYR_MAIN_2 - GF_BG_LYR_MAIN_FIRST), + GF_BG_LYR_MAIN_3_F = 1 << (GF_BG_LYR_MAIN_3 - GF_BG_LYR_MAIN_FIRST), + GF_BG_LYR_SUB_0_F = 1 << (GF_BG_LYR_SUB_0 - GF_BG_LYR_SUB_FIRST), + GF_BG_LYR_SUB_1_F = 1 << (GF_BG_LYR_SUB_1 - GF_BG_LYR_SUB_FIRST), + GF_BG_LYR_SUB_2_F = 1 << (GF_BG_LYR_SUB_2 - GF_BG_LYR_SUB_FIRST), + GF_BG_LYR_SUB_3_F = 1 << (GF_BG_LYR_SUB_3 - GF_BG_LYR_SUB_FIRST), +}; + +enum GFBgType +{ + GF_BG_TYPE_TEXT = 0, + GF_BG_TYPE_AFFINE, + GF_BG_TYPE_256x16PLTT, +}; + +enum GFBgCntSet +{ + GF_BG_CNT_SET_COLOR_MODE = 0, + GF_BG_CNT_SET_SCREEN_BASE, + GF_BG_CNT_SET_CHAR_BASE, +}; + +enum GFBgScreenSize +{ + GF_BG_SCR_SIZE_128x128 = 0, + GF_BG_SCR_SIZE_256x256, + GF_BG_SCR_SIZE_256x512, + GF_BG_SCR_SIZE_512x256, + GF_BG_SCR_SIZE_512x512, + GF_BG_SCR_SIZE_1024x1024 +}; + +enum BgPosAdjustOp +{ + // Text layers + BG_POS_OP_SET_X = 0, + BG_POS_OP_ADD_X, + BG_POS_OP_SUB_X, + BG_POS_OP_SET_Y, + BG_POS_OP_ADD_Y, + BG_POS_OP_SUB_Y, + + // Affine layers + BG_POS_OP_SET_ROT = 0, + BG_POS_OP_ADD_ROT, + BG_POS_OP_SUB_ROT, + BG_POS_OP_SET_CENTERX = 9, + BG_POS_OP_ADD_CENTERX, + BG_POS_OP_SUB_CENTERX, + BG_POS_OP_SET_CENTERY, + BG_POS_OP_ADD_CENTERY, + BG_POS_OP_SUB_CENTERY, +}; + +struct BgConfig *BgConfig_Alloc(u32 heap_id); +u32 BgConfig_GetHeapId(struct BgConfig *bgConfig); +void SetBothScreensModesAndDisable(const struct GraphicsModes *modes); +void SetScreenModeAndDisable(const struct GraphicsModes *gfxModes, u32 whichScreen); +void InitBgFromTemplate( + struct BgConfig *bgConfig, u8 bgId, const struct BgTemplate *template, u8 bgMode); +void SetBgControlParam(struct BgConfig *config, u8 bgId, u32 attr, u8 value); +u8 TranslateGFBgModePairToGXScreenSize(u8 size, u32 bgMode); +void GetBgScreenDimensions(u32 screenSize, u8 *width_p, u8 *height_p); +void FreeBgTilemapBuffer(struct BgConfig *bgConfig, u32 bgId); +void SetBgPriority(u32 bgId, u16 priority); +void ToggleBgLayer(u32 bgId, GX_LayerToggle toggle); +void BgSetPosTextAndCommit(struct BgConfig *bgConfig, u32 bgId, u32 op, fx32 val); +fx32 Bg_GetXpos(struct BgConfig *bgConfig, u32 bgId); +fx32 Bg_GetYpos(struct BgConfig *bgConfig, u32 bgId); +void Bg_SetTextDimAndAffineParams(struct BgConfig *bgConfig, + u32 bgId, + u32 txOp, + fx32 txVal, + struct Mtx22 *mtx, + fx32 centerX, + fx32 centerY); +void Bg_SetPosText(struct Bg *bg, u32 op, fx32 val); +void SetBgAffine(struct BgConfig *bgConfig, + u32 bgId, + struct Mtx22 *mtx, + fx32 centerX, + fx32 centerY); +void BgAffineReset(struct BgConfig *bgConfig, u32 bgId); +void CopyOrUncompressTilemapData(const void *src, void *dest, u32 size); +void BgCommitTilemapBufferToVram(struct BgConfig *bgConfig, u32 bgId); +void BgCopyOrUncompressTilemapBufferRangeToVram( + struct BgConfig *bgConfig, u32 bgId, u32 *src, u32 size, u32 tileOffset); +void LoadBgVramScr(u32 bgId, void *buffer_p, u32 offset, u32 size); +void BG_LoadScreenTilemapData(struct BgConfig *bgConfig, u32 bgId, void *src, u32 numTiles); +void BG_LoadCharTilesData( + struct BgConfig *bgConfig, u32 bgId, u32 *charData, u32 offset, u32 numTiles); +void BG_LoadCharPixelData( + struct BgConfig *bgConfig, u32 bgId, u32 *charData, u32 size, u32 offset); +void LoadBgVramChar(u32 bgId, void *buffer_p, u32 offset, u32 size); +void BG_ClearCharDataRange(u32 bgId, u32 size, u32 offset, u32 heap_id); +void BG_FillCharDataRange( + struct BgConfig *param0, u32 bgId, u32 fillValue, u32 count, u32 offset); +void BG_LoadPlttData(u32 bgId, void *plttData, u32 size, u32 offset); +void BG_SetMaskColor(u32 bgId, u32 value); +u16 GetTileMapIndexFromCoords(u8 x, u8 y, u8 screenSize); +u16 GetSrcTileMapIndexFromCoords(u8 x, u8 y, u8 width, u8 height); +void LoadRectToBgTilemapRect(struct BgConfig *bgConfig, + u32 bgId, + void *src, + u8 dstX, + u8 dstY, + u8 width, + u8 height); +void CopyToBgTilemapRect(struct BgConfig *bgConfig, + u32 bgId, + u8 dstX, + u8 dstY, + u8 dstWidth, + u8 dstHeight, + void *src, + u8 srcX, + u8 srcY, + u8 srcWidth, + u8 srcHeight); +void CopyRectToBgTilemapRect(struct BgConfig *bgConfig, + u32 bgId, + u8 dstX, + u8 dstY, + u8 dstWidth, + u8 dstHeight, + void *src, + u8 srcX, + u8 srcY, + u8 srcWidth, + u8 srcHeight); +void CopyBgTilemapRectText(struct Bg *bg, + u8 dstX, + u8 dstY, + u8 dstWidth, + u8 dstHeight, + u16 *src, + u8 srcX, + u8 srcY, + u8 srcWidth, + u8 srcHeight, + u8 adjustForSrcDims); +void CopyBgTilemapRectAffine(struct Bg *bg, + u8 dstX, + u8 dstY, + u8 dstWidth, + u8 dstHeight, + u8 *src, + u8 srcX, + u8 srcY, + u8 srcWidth, + u8 srcHeight, + u8 adjustForSrcDims); +void FillBgTilemapRect(struct BgConfig *bgConfig, + u32 bgId, + u16 fillValue, + u8 x, + u8 y, + u8 width, + u8 height, + u8 paletteNum); +void FillBgTilemapRectText(struct Bg *bg, + u16 fillValue, + u8 x, + u8 y, + u8 width, + u8 height, + u8 paletteNum); +void FillBgTilemapRectAffine( + struct Bg *bg, u8 fillValue, u8 x, u8 y, u8 width, u8 height); +void BgTilemapRectChangePalette(struct BgConfig *bgConfig, + u32 bgId, + u8 x, + u8 y, + u8 width, + u8 height, + u8 paletteNum); +void BgClearTilemapBufferAndCommit(struct BgConfig *bgConfig, u32 bgId); +void BgFillTilemapBufferAndCommit(struct BgConfig *bgConfig, u32 bgId, u16 fillValue); +void BgFillTilemapBufferAndSchedule(struct BgConfig *bgConfig, u32 bgId, u16 fillValue); +void *BgGetCharPtr(u32 bgId); +void Convert4bppTo8bppInternal(u8 *src4bpp, u32 size, u8 (*dest8bpp), u8 paletteNum); +u8 *Convert4bppTo8bpp(u8 *src4Bpp, u32 size, u8 paletteNum, u32 heap_id); +void *GetBgTilemapBuffer(struct BgConfig *bgConfig, u8 bgId); +u16 GetBgAffineRotation(struct BgConfig *bgConfig, u32 bgId); +u8 GetBgPriority(struct BgConfig *bgConfig, u32 bgId); +void BlitBitmapRect4Bit(const struct Bitmap *src, + const struct Bitmap *dst, + u16 srcX, + u16 srcY, + u16 dstX, + u16 dstY, + u16 width, + u16 height, + u16 colorKey); +void BlitBitmapRect8Bit(const struct Bitmap *src, + const struct Bitmap *dst, + u16 srcX, + u16 srcY, + u16 dstX, + u16 dstY, + u16 width, + u16 height, + u16 colorKey); +void FillBitmapRect4Bit( + struct Bitmap *surface, u16 x, u16 y, u16 width, u16 height, u8 fillValue); +void FillBitmapRect8Bit( + struct Bitmap *surface, u16 x, u16 y, u16 width, u16 height, u8 fillValue); +struct Window *AllocWindows(u32 heap_id, s32 size); +void InitWindow(struct Window *window); +BOOL WindowIsInUse(struct Window *window); +void AddWindowParameterized(struct BgConfig *param0, + struct Window *window, + u8 bgId, + u8 tilemapLeft, + u8 tilemapTop, + u8 width, + u8 height, + u8 paletteNum, + u16 baseTile); +void AddTextWindowTopLeftCorner(struct BgConfig *param0, + struct Window *window, + u8 width, + u8 height, + u16 baseTile, + u8 paletteNum); +void AddWindow(struct BgConfig *bgConfig, + struct Window *window, + const struct WindowTemplate *template); +void RemoveWindow(struct Window *window); +void WindowArray_dtor(struct Window *windows, int count); +void CopyWindowToVram(struct Window *window); +void ScheduleWindowCopyToVram(struct Window *window); +void PutWindowTilemap(struct Window *window); +void PutWindowTilemapRectAnchoredTopLeft(struct Window *window, u8 width, u8 height); +void ClearWindowTilemap(struct Window *window); +void PutWindowTilemap_TextMode(struct Window *param0); +void PutWindowTilemap_AffineMode(struct Window *window); +void ClearWindowTilemapText(struct Window *window); +void ClearWindowTilemapAffine(struct Window *window); +void CopyWindowToVram_TextMode(struct Window *window); +void ScheduleWindowCopyToVram_TextMode(struct Window *window); +void CopyWindowToVram_AffineMode(struct Window *window); +void ScheduleWindowCopyToVram_AffineMode(struct Window *window); +void CopyWindowPixelsToVram_TextMode(struct Window *window); +void ClearWindowTilemapAndCopyToVram(struct Window *window); +void ClearWindowTilemapAndScheduleTransfer(struct Window *window); +void ClearWindowTilemapAndCopyToVram_TextMode(struct Window *window); +void ClearWindowTilemapAndScheduleTransfer_TextMode(struct Window *window); +void ClearWindowTilemapAndCopyToVram_AffineMode(struct Window *window); +void ClearWindowTilemapAndScheduleTransfer_AffineMode(struct Window *window); +void FillWindowPixelBuffer(struct Window *window, u8 param1); +void BlitBitmapRectToWindow(struct Window *window, + const void *src, + u16 srcX, + u16 srcY, + u16 srcWidth, + u16 srcHeight, + u16 dstX, + u16 dstY, + u16 dstWidth, + u16 dstHeight); +void BlitBitmapRect(struct Window *window, + void *param1, + u16 param2, + u16 param3, + u16 param4, + u16 param5, + u16 param6, + u16 param7, + u16 param8, + u16 param9, + u16 param10); +void FillWindowPixelRect(struct Window *window, u8 fillValue, u16 x, u16 y, u16 width, u16 height); +void CopyGlyphToWindow( + struct Window * window, + const char * src, + u16 srcWidth, + u16 srcHeight, + u16 width, + u16 height, + u16 glyph +); +void ScrollWindow(struct Window *window, u32 param1, u8 param2, u8 param3); +void ScrollWindow4bpp(struct Window *window, u32 param1, u8 param2, u8 fillValue); +void ScrollWindow8bpp(struct Window *window, u32 param1, u8 param2, u8 fillValue); +u8 GetWindowBgId(struct Window *window); +u8 GetWindowWidth(struct Window *window); +u8 GetWindowHeight(struct Window *window); +u8 GetWindowX(struct Window *window); +u8 GetWindowY(struct Window *window); +void MoveWindowX(struct Window *window, u8 x); +void MoveWindowY(struct Window *window, u8 y); +void SetWindowPaletteNum(struct Window *window, u8 paletteNum); +NNSG2dCharacterData * LoadCharacterDataFromFile(void **char_ret, u32 heap_id, const char *path); +NNSG2dPaletteData * LoadPaletteDataFromFile(void **pltt_ret, u32 heap_id, const char *path); +void DoScheduledBgGpuUpdates(struct BgConfig *bgConfig); +void DoScheduledBgTilemapBufferTransfers(struct BgConfig *bgConfig); +void ScheduleBgTilemapBufferTransfer(struct BgConfig *bgConfig, u32 bgId); +void ApplyScheduledBgPosUpdate(struct BgConfig *bgConfig); +void ScheduleSetBgPosText(struct BgConfig *bgConfig, u32 bgId, u32 op, fx32 value); +void ScheduleSetBgAffineRotation(struct BgConfig *bgConfig, u32 bgId, u32 op, u16 value); +void Bg_SetAffineRotation(struct Bg *bg, u32 op, u16 val); +void ScheduleSetBgAffinePos(struct BgConfig *bgConfig, u32 bgId, u32 op, fx32 value); +void Bg_SetAffinePos(struct Bg *bg, u32 op, fx32 val); +u32 DoesPixelAtScreenXYMatchPtrVal(struct BgConfig *bgConfig, u8 bgId, u8 x, u8 y, u16 *src); +void ApplyFlipFlagsToTile(struct BgConfig *bgConfig, u8 flag, u8 *src); + +#endif // POKEDIAMOND_UNK_02016B94_H diff --git a/include/gf_gfx_loader.h b/include/gf_gfx_loader.h index 3f23d1ff..cb7de269 100644 --- a/include/gf_gfx_loader.h +++ b/include/gf_gfx_loader.h @@ -1,7 +1,7 @@ #ifndef POKEDIAMOND_GF_GFX_LOADER_H #define POKEDIAMOND_GF_GFX_LOADER_H -#include "unk_02016B94.h" +#include "bg_window.h" u32 GfGfxLoader_LoadCharData(NarcId narcId, s32 memberNo, struct BgConfig * unkStruct02016B94_2, u32 a3, u32 a4, u32 szByte, BOOL isCompressed, u32 heap_id); void GfGfxLoader_LoadScrnData(NarcId narcId, s32 memberNo, struct BgConfig * unkStruct02016B94_2, u32 a3, u32 a4, u32 szByte, BOOL isCompressed, u32 heap_id); diff --git a/include/list_menu_cursor.h b/include/list_menu_cursor.h index e4a4b6b9..a2337e9a 100644 --- a/include/list_menu_cursor.h +++ b/include/list_menu_cursor.h @@ -1,7 +1,7 @@ #ifndef POKEDIAMOND_LIST_MENU_CURSOR_H #define POKEDIAMOND_LIST_MENU_CURSOR_H -#include "unk_02016B94.h" +#include "bg_window.h" // TODO: Move to its own header, and fill it out struct ListMenuCursor diff --git a/include/script.h b/include/script.h index 2f5e6540..75b65f90 100644 --- a/include/script.h +++ b/include/script.h @@ -4,7 +4,7 @@ #include "global.h" #include "msgdata.h" #include "save_block_2.h" -#include "unk_02016B94.h" +#include "bg_window.h" struct ScriptContext; diff --git a/include/script_buffers.h b/include/script_buffers.h index 9a742545..b9f0e268 100644 --- a/include/script_buffers.h +++ b/include/script_buffers.h @@ -4,7 +4,7 @@ #include "pokemon.h" #include "pokemon_storage_system.h" #include "trainer_data.h" -#include "unk_02016B94.h" +#include "bg_window.h" struct UnkStruct_0200AA80_sub_sub { diff --git a/include/text.h b/include/text.h index c9984d75..034447c7 100644 --- a/include/text.h +++ b/include/text.h @@ -3,7 +3,7 @@ #include "global.h" #include "font.h" -#include "unk_02016B94.h" +#include "bg_window.h" #define CHAR_0 0x00A2 diff --git a/include/text_02054590.h b/include/text_02054590.h index eaffb2a0..b2f4898b 100644 --- a/include/text_02054590.h +++ b/include/text_02054590.h @@ -3,7 +3,7 @@ #include "global.h" #include "options.h" -#include "unk_02016B94.h" +#include "bg_window.h" #include "string16.h" diff --git a/include/unk_02016B94.h b/include/unk_02016B94.h deleted file mode 100644 index df9fa25a..00000000 --- a/include/unk_02016B94.h +++ /dev/null @@ -1,345 +0,0 @@ -#ifndef POKEDIAMOND_UNK_02016B94_H -#define POKEDIAMOND_UNK_02016B94_H - -#include "NNS_g2d.h" -#include "global.h" -#include "GX_layers.h" -#include "MI_uncompress.h" -#include "OS_cache.h" -#include "gx.h" -#include "heap.h" -#include "math_util.h" - -struct BgTemplate -{ - u32 unk00; - u32 unk04; - u32 bufferSize; - u32 unk0c; - - u8 unk10; - u8 colorMode; - u8 screenBase; - u8 charBase; - u8 bgExtPltt; - u8 priority; - u8 areaOver; - u8 unk17; // probably paddding - u32 mosaic; -}; - -struct Bg -{ - void *tilemapBuffer; - u32 bufferSize; - u32 unk10; - - fx32 hOffset; - fx32 vOffset; - - u8 mode; - u8 size; - u8 colorMode; - u8 tileSize; - u16 rotation; - u16 unk22; // probably padding - fx32 xScale; - fx32 yScale; - fx32 centerX; - fx32 centerY; -}; - -struct BgConfig -{ - u32 heap_id; - u16 scrollScheduled; - u16 bufferTransferScheduled; - struct Bg bgs[8]; -}; - -struct Bitmap -{ - const u8 *pixels; - u16 width; - u16 height; -}; - -struct WindowTemplate -{ - u8 bgId; - u8 tilemapLeft; - u8 tilemapTop; - u8 width; - u8 height; - u8 paletteNum; - u16 baseTile; -}; - -struct Window -{ - struct BgConfig *bgConfig; - u8 bgId; - u8 tilemapLeft; - u8 tilemapTop; - u8 width; - u8 height; - u8 paletteNum; - u16 baseTile : 15; - u16 unk0b_15 : 1; - void *pixelBuffer; -}; - -struct BgConfig *FUN_02016B94(u32 heap_id); -u32 FUN_02016BB8(u32 *param0); -void FUN_02016BBC(const struct GraphicsModes *modes); -void FUN_02016BF4(const struct GraphicsModes *param0, u32 param1); -void FUN_02016C18( - struct BgConfig *param0, u8 param1, const struct BgTemplate *template, u8 bgMode); -void FUN_020170F4(struct BgConfig *config, u8 bgId, u32 attr, u8 value); -u8 FUN_020177DC(u8 param0, u32 param1); -void GetBgScreenDimensions(u32 screenSize, u8 *width_p, u8 *height_p); -void FUN_020178A0(struct BgConfig *bgConfig, u32 bgId); -void FUN_020178BC(u32 bgId, u16 priority); -void ToggleBgLayer(u32 bgId, GX_LayerToggle toggle); -void FUN_020179E0(struct BgConfig *bgConfig, u32 bgId, u32 param2, fx32 val); -fx32 FUN_02017B48(struct BgConfig *param0, u32 param1); -fx32 FUN_02017B54(struct BgConfig *param0, u32 param1); -void FUN_02017B60(struct BgConfig *param0, - u32 param1, - u32 param2, - fx32 param3, - struct Mtx22 *param4, - fx32 param5, - fx32 param6); -void Bg_SetPosText(struct Bg *bg, u32 op, fx32 val); -void FUN_02017BD0(struct BgConfig *param0, - u32 param1, - struct Mtx22 *param2, - fx32 param3, - fx32 param4); -void FUN_02017C6C(struct BgConfig *param0, u32 param1); -void FUN_02017C98(const void *param0, void *param1, u32 param2); -void FUN_02017CD0(struct BgConfig *param0, u32 param1); -void FUN_02017CE8( - struct BgConfig *param0, u32 param1, u32 *param2, u32 param3, u32 param4); -void LoadBgVramScr(u32 bgId, void *buffer_p, u32 offset, u32 size); -void FUN_02017DFC(struct BgConfig *param0, u32 param1, void *param2, u32 param3); -void BG_LoadCharTilesData( - struct BgConfig *bgConfig, u32 bgId, u32 *charData, u32 offset, u32 numTiles); -void BG_LoadCharPixelData( - struct BgConfig *bgConfig, u32 bgId, u32 *charData, u32 size, u32 offset); -void LoadBgVramChar(u32 bgId, void *buffer_p, u32 offset, u32 size); -void BG_ClearCharDataRange(u32 bgId, u32 size, u32 offset, u32 heap_id); -void BG_FillCharDataRange( - struct BgConfig *param0, u32 bgId, u32 fillValue, u32 count, u32 offset); -void BG_LoadPlttData(u32 bgId, void *plttData, u32 size, u32 offset); -void BG_SetMaskColor(u32 bgId, u32 value); -u16 GetTileMapIndexFromCoords(u8 x, u8 y, u8 screenSize); -u16 GetSrcTileMapIndexFromCoords(u8 x, u8 y, u8 width, u8 height); -void LoadRectToBgTilemapRect(struct BgConfig *bgConfig, - u32 bgId, - void *src, - u8 dstX, - u8 dstY, - u8 width, - u8 height); -void CopyToBgTilemapRect(struct BgConfig *bgConfig, - u32 bgId, - u8 dstX, - u8 dstY, - u8 dstWidth, - u8 dstHeight, - void *src, - u8 srcX, - u8 srcY, - u8 srcWidth, - u8 srcHeight); -void CopyRectToBgTilemapRect(struct BgConfig *bgConfig, - u32 bgId, - u8 dstX, - u8 dstY, - u8 dstWidth, - u8 dstHeight, - void *src, - u8 srcX, - u8 srcY, - u8 srcWidth, - u8 srcHeight); -void CopyBgTilemapRectText(struct Bg *bg, - u8 dstX, - u8 dstY, - u8 dstWidth, - u8 dstHeight, - u16 *src, - u8 srcX, - u8 srcY, - u8 srcWidth, - u8 srcHeight, - u8 adjustForSrcDims); -void CopyBgTilemapRectAffine(struct Bg *bg, - u8 dstX, - u8 dstY, - u8 dstWidth, - u8 dstHeight, - u8 *src, - u8 srcX, - u8 srcY, - u8 srcWidth, - u8 srcHeight, - u8 adjustForSrcDims); -void FillBgTilemapRect(struct BgConfig *bgConfig, - u32 bgId, - u16 fillValue, - u8 x, - u8 y, - u8 width, - u8 height, - u8 paletteNum); -void FillBgTilemapRectText(struct Bg *bg, - u16 fillValue, - u8 x, - u8 y, - u8 width, - u8 height, - u8 paletteNum); -void FillBgTilemapRectAffine( - struct Bg *bg, u8 fillValue, u8 x, u8 y, u8 width, u8 height); -void BgTilemapRectChangePalette(struct BgConfig *bgConfig, - u32 bgId, - u8 x, - u8 y, - u8 width, - u8 height, - u8 paletteNum); -void FUN_02018744(struct BgConfig *param0, u32 param1); -void FUN_02018768(struct BgConfig *param0, u32 param1, u16 param2); -void FUN_0201878C(struct BgConfig *param0, u32 param1, u16 param2); -void *FUN_020187B0(u32 param0); -void FUN_02018808(u8 *param0, u32 param1, u8 (*param2)[2], u8 param3); -u8 (*FUN_02018848(u8 *param0, u32 param1, u8 param2, u32 heap_id))[2]; -void *GetBgTilemapBuffer(struct BgConfig *bgConfig, u8 bgId); -u16 FUN_02018878(struct BgConfig *param0, u32 param1); -u8 GetBgPriority(struct BgConfig *bgConfig, u32 bgId); -void BlitBitmapRect4Bit(const struct Bitmap *src, - const struct Bitmap *dst, - u16 srcX, - u16 srcY, - u16 dstX, - u16 dstY, - u16 width, - u16 height, - u16 colorKey); -void BlitBitmapRect8Bit(const struct Bitmap *src, - const struct Bitmap *dst, - u16 srcX, - u16 srcY, - u16 dstX, - u16 dstY, - u16 width, - u16 height, - u16 colorKey); -void FillBitmapRect4Bit( - struct Bitmap *surface, u16 x, u16 y, u16 width, u16 height, u8 fillValue); -void FillBitmapRect8Bit( - struct Bitmap *surface, u16 x, u16 y, u16 width, u16 height, u8 fillValue); -struct Window *AllocWindows(u32 heap_id, s32 size); -void InitWindow(struct Window *window); -BOOL WindowIsInUse(struct Window *window); -void AddWindowParameterized(struct BgConfig *param0, - struct Window *window, - u8 bgId, - u8 tilemapLeft, - u8 tilemapTop, - u8 width, - u8 height, - u8 paletteNum, - u16 baseTile); -void AddTextWindowTopLeftCorner(struct BgConfig *param0, - struct Window *window, - u8 width, - u8 height, - u16 baseTile, - u8 paletteNum); -void AddWindow(struct BgConfig *bgConfig, - struct Window *window, - const struct WindowTemplate *template); -void RemoveWindow(struct Window *window); -void WindowArray_dtor(struct Window *windows, int count); -void CopyWindowToVram(struct Window *window); -void FUN_02019220(struct Window *window); -void PutWindowTilemap(struct Window *window); -void PutWindowTilemapRectAnchoredTopLeft(struct Window *window, u8 width, u8 height); -void FUN_020192B8(struct Window *window); -void PutWindowTilemap_TextMode(struct Window *param0); -void PutWindowTilemap_AffineMode(struct Window *window); -void ClearWindowTilemapText(struct Window *window); -void ClearWindowTilemapAffine(struct Window *window); -void CopyWindowToVram_TextMode(struct Window *window); -void FUN_020194C8(struct Window *window); -void CopyWindowToVram_AffineMode(struct Window *window); -void FUN_0201951C(struct Window *window); -void FUN_02019548(struct Window *window); -void FUN_02019570(struct Window *window); -void FUN_0201958C(struct Window *window); -void FUN_020195A8(struct Window *window); -void FUN_020195D0(struct Window *window); -void FUN_020195E4(struct Window *window); -void FUN_0201960C(struct Window *window); -void FillWindowPixelBuffer(struct Window *window, u8 param1); -void BlitBitmapRectToWindow(struct Window *window, - const void *src, - u16 srcX, - u16 srcY, - u16 srcWidth, - u16 srcHeight, - u16 dstX, - u16 dstY, - u16 dstWidth, - u16 dstHeight); -void BlitBitmapRect(struct Window *window, - void *param1, - u16 param2, - u16 param3, - u16 param4, - u16 param5, - u16 param6, - u16 param7, - u16 param8, - u16 param9, - u16 param10); -void FillWindowPixelRect(struct Window *window, u8 fillValue, u16 x, u16 y, u16 width, u16 height); -void CopyGlyphToWindow( - struct Window * window, - const char * src, - u16 srcWidth, - u16 srcHeight, - u16 width, - u16 height, - u16 glyph -); -void ScrollWindow(struct Window *window, u32 param1, u8 param2, u8 param3); -void ScrollWindow4bpp(struct Window *window, u32 param1, u8 param2, u8 fillValue); -void ScrollWindow8bpp(struct Window *window, u32 param1, u8 param2, u8 fillValue); -u8 GetWindowBgId(struct Window *window); -u8 GetWindowWidth(struct Window *window); -u8 GetWindowHeight(struct Window *window); -u8 GetWindowX(struct Window *window); -u8 GetWindowY(struct Window *window); -void MoveWindowX(struct Window *window, u8 x); -void MoveWindowY(struct Window *window, u8 y); -void SetWindowPaletteNum(struct Window *window, u8 paletteNum); -NNSG2dCharacterData * LoadCharacterDataFromFile(void **char_ret, u32 heap_id, const char *path); -NNSG2dPaletteData * LoadPaletteDataFromFile(void **pltt_ret, u32 heap_id, const char *path); -void DoScheduledBgGpuUpdates(struct BgConfig *bgConfig); -void DoScheduledBgTilemapBufferTransfers(struct BgConfig *bgConfig); -void ScheduleBgTilemapBufferTransfer(struct BgConfig *bgConfig, u32 bgId); -void ApplyScheduledBgPosUpdate(struct BgConfig *bgConfig); -void ScheduleSetBgPosText(struct BgConfig *bgConfig, u32 bgId, u32 op, fx32 value); -void ScheduleSetBgAffineRotation(struct BgConfig *bgConfig, u32 bgId, u32 op, u16 value); -void Bg_SetAffineRotation(struct Bg *bg, u32 op, u16 val); -void ScheduleSetBgAffinePos(struct BgConfig *bgConfig, u32 bgId, u32 op, fx32 value); -void Bg_SetAffinePos(struct Bg *bg, u32 op, fx32 val); -u32 FUN_0201AFBC(struct BgConfig *bgConfig, u8 bgId, u8 x, u8 y, u16 *src); -void FUN_0201B118(struct BgConfig *param0, u8 param1, u8 *param2); - -#endif // POKEDIAMOND_UNK_02016B94_H -- cgit v1.2.3 From c87b617058767519480ef2d19e233fe0e99ca01d Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 5 Jun 2021 16:55:46 -0400 Subject: Fix GX_vramcnt symbol names --- include/GX_layers.h | 6 ------ include/bg_window.h | 16 ++++++++++++---- include/timer3.h | 6 ------ 3 files changed, 12 insertions(+), 16 deletions(-) (limited to 'include') diff --git a/include/GX_layers.h b/include/GX_layers.h index aca0154b..03c20df6 100644 --- a/include/GX_layers.h +++ b/include/GX_layers.h @@ -5,12 +5,6 @@ #include "global.h" #include "gx.h" -struct GX_LayerData -{ - u32 EngineB_DISPCNT_LayerMask; - u32 EngineA_DISPCNT_LayerMask; -}; - typedef enum { GX_LAYER_TOGGLE_OFF, diff --git a/include/bg_window.h b/include/bg_window.h index 91026b4d..24ed152b 100644 --- a/include/bg_window.h +++ b/include/bg_window.h @@ -12,10 +12,10 @@ struct BgTemplate { - u32 unk00; - u32 unk04; + u32 x; + u32 y; u32 bufferSize; - u32 unk0c; + u32 baseTile; u8 size; u8 colorMode; @@ -85,10 +85,16 @@ struct Window u8 height; u8 paletteNum; u16 baseTile : 15; - u16 unk0b_15 : 1; + u16 colorMode : 1; void *pixelBuffer; }; +enum GFBppMode +{ + GF_BG_CLR_4BPP = 0, + GF_BG_CLR_8BPP, +}; + enum GFBgLayer { GF_BG_LYR_MAIN_0 = 0, @@ -112,6 +118,8 @@ enum GFBgLayer GF_BG_LYR_SUB_1_F = 1 << (GF_BG_LYR_SUB_1 - GF_BG_LYR_SUB_FIRST), GF_BG_LYR_SUB_2_F = 1 << (GF_BG_LYR_SUB_2 - GF_BG_LYR_SUB_FIRST), GF_BG_LYR_SUB_3_F = 1 << (GF_BG_LYR_SUB_3 - GF_BG_LYR_SUB_FIRST), + + GF_BG_LYR_UNALLOC = 0xFF, }; enum GFBgType diff --git a/include/timer3.h b/include/timer3.h index 3220c7a3..a49cf3e6 100644 --- a/include/timer3.h +++ b/include/timer3.h @@ -4,12 +4,6 @@ #include "global.h" -struct Timer3Data -{ - BOOL NeedReset; - vu64 Timer3Counter; -}; - void Init_Timer3(); void CountUpTimer3(); u64 internal_GetTimer3Count(); -- cgit v1.2.3