diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/GX_layers.h | 6 | ||||
-rw-r--r-- | include/bg_window.h | 424 | ||||
-rw-r--r-- | include/gf_gfx_loader.h | 6 | ||||
-rw-r--r-- | include/list_menu_cursor.h | 2 | ||||
-rw-r--r-- | include/script.h | 4 | ||||
-rw-r--r-- | include/script_buffers.h | 2 | ||||
-rw-r--r-- | include/text.h | 2 | ||||
-rw-r--r-- | include/text_02054590.h | 6 | ||||
-rw-r--r-- | include/timer3.h | 6 | ||||
-rw-r--r-- | include/unk_02016B94.h | 340 |
10 files changed, 435 insertions, 363 deletions
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 new file mode 100644 index 00000000..24ed152b --- /dev/null +++ b/include/bg_window.h @@ -0,0 +1,424 @@ +#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 x; + u32 y; + u32 bufferSize; + u32 baseTile; + + 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 colorMode : 1; + void *pixelBuffer; +}; + +enum GFBppMode +{ + GF_BG_CLR_4BPP = 0, + GF_BG_CLR_8BPP, +}; + +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), + + GF_BG_LYR_UNALLOC = 0xFF, +}; + +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 b95075dc..cb7de269 100644 --- a/include/gf_gfx_loader.h +++ b/include/gf_gfx_loader.h @@ -1,10 +1,10 @@ #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 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/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 01bba305..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;
@@ -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/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 77170e70..b2f4898b 100644 --- a/include/text_02054590.h +++ b/include/text_02054590.h @@ -3,18 +3,18 @@ #include "global.h" #include "options.h" -#include "unk_02016B94.h" +#include "bg_window.h" #include "string16.h" 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/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(); diff --git a/include/unk_02016B94.h b/include/unk_02016B94.h deleted file mode 100644 index d3648560..00000000 --- a/include/unk_02016B94.h +++ /dev/null @@ -1,340 +0,0 @@ -#ifndef POKEDIAMOND_UNK_02016B94_H -#define POKEDIAMOND_UNK_02016B94_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" - -#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 UnkStruct_02016B94_1 -{ - u32 unk00; - u32 unk04; - u32 unk08; - u32 unk0c; - - u8 unk10; - u8 unk11; - u8 unk12; - u8 unk13; - u8 unk14; - u8 unk15; - u8 unk16; - u8 unk17; // probably paddding - u32 unk18; -}; - -struct UnkStruct_02016B94_2 -{ - u32 unk00; - u16 unk04; - u16 unk06; - - struct UnkStruct_02016B94_2_sub - { - void *unk08; - u32 unk0c; - u32 unk10; - - fx32 unk14; - fx32 unk18; - - 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_3 -{ - void *unk00; - u16 unk04; - u16 unk06; -}; - -struct UnkStruct_02016B94_4 -{ - u8 unk0; - u8 unk1; - u8 unk2; - u8 unk3; - u8 unk4; - u8 unk5; - u16 unk6; -}; - -struct Window -{ - struct UnkStruct_02016B94_2 *unk00; - u8 unk04; - u8 unk05; - u8 unk06; - u8 width; - u8 height; - u8 unk09; - u16 unk0a_0 : 15; - u16 unk0b_15 : 1; - void *unk0c; -}; - -struct UnkStruct_02016B94_2 *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); -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_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, - 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, - u32 param1, - struct Mtx22 *param2, - fx32 param3, - fx32 param4); -void FUN_02017C6C(struct UnkStruct_02016B94_2 *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_02017CE8( - struct UnkStruct_02016B94_2 *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_02017E14( - struct UnkStruct_02016B94_2 *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); -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); -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, - u32 param1, - void *param2, - u8 param3, - u8 param4, - u8 param5, - u8 param6); -void FUN_02018170(struct UnkStruct_02016B94_2 *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 UnkStruct_02016B94_2 *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 UnkStruct_02016B94_2_sub *param0, - u8 param1, - u8 param2, - u8 param3, - u8 param4, - u16 *param5, - u8 param6, - u8 param7, - u8 param8, - u8 param9, - u8 param10); -void FUN_020183DC(struct UnkStruct_02016B94_2_sub *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 UnkStruct_02016B94_2 *param0, - u32 param1, - u16 param2, - u8 param3, - u8 param4, - u8 param5, - u8 param6, - u8 param7); -void FUN_02018590(struct UnkStruct_02016B94_2_sub *param0, - u16 param1, - u8 param2, - u8 param3, - u8 param4, - 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, - 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_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 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, - u16 param2, - u16 param3, - u16 param4, - u16 param5, - u16 param6, - u16 param7, - u16 param8); -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 *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_020193B4(struct Window *param0); -void FUN_02019444(struct Window *param0); -void FUN_0201949C(struct Window *window); -void FUN_020194C8(struct Window *window); -void FUN_020194E0(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 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); -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 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); - -#endif // POKEDIAMOND_UNK_02016B94_H |