diff options
| author | Prakxo <87568477+Prakxo@users.noreply.github.com> | 2023-12-21 16:50:42 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-12-21 08:50:42 -0700 |
| commit | 72514d5aae62cc9789b2de0d3d3ba764be2c168d (patch) | |
| tree | b3e91ff0fd9320f6ee021f8cebd046683f0cd5d4 /include | |
| parent | 45e93dc1b6a859a5f27f3f2b52630598a8d11ad1 (diff) | |
m_select OK (#128)
* m_select OK
* format
Diffstat (limited to 'include')
| -rw-r--r-- | include/6BA500.h | 2 | ||||
| -rw-r--r-- | include/libu64/gfxprint.h | 8 | ||||
| -rw-r--r-- | include/m_common_data.h | 15 | ||||
| -rw-r--r-- | include/m_private.h | 19 | ||||
| -rw-r--r-- | include/m_private_internals.h | 6 | ||||
| -rw-r--r-- | include/m_rcp.h | 2 | ||||
| -rw-r--r-- | include/m_scene_table.h | 42 | ||||
| -rw-r--r-- | include/m_view.h | 33 |
8 files changed, 103 insertions, 24 deletions
diff --git a/include/6BA500.h b/include/6BA500.h index 5db7e1e..e80d8fb 100644 --- a/include/6BA500.h +++ b/include/6BA500.h @@ -4,7 +4,7 @@ #include "ultra64.h" // void func_80096860_jp(); -// void func_800968C0_jp(); +void func_800968C0_jp(void); // void func_80096B2C_jp(); // void func_80096B4C_jp(); void func_80096B64_jp(void); diff --git a/include/libu64/gfxprint.h b/include/libu64/gfxprint.h index 27d7cf6..a3aae97 100644 --- a/include/libu64/gfxprint.h +++ b/include/libu64/gfxprint.h @@ -39,6 +39,14 @@ typedef struct gfxprint { #define GFXPRINT_UNUSED_CHAR '\x8E' +#define GFXPRINT_CLEAR_GRADIENT "\x8A" +#define GFXPRINT_ENABLE_GRADIENT "\x8B" + +#define GFXPRINT_KATAKANA_MODE "\x8C" +#define GFXPRINT_HIRAGANA_MODE "\x8D" + +#define GFXPRINT_UNUSED "\x8E" + /* Macros for quickly checking state of gfxprint struct */ #define gfxprint_isFlagOn(this, flag) ((this->flags & flag) != 0) #define gfxprint_setFlag(this, flag) (this->flags |= flag) diff --git a/include/m_common_data.h b/include/m_common_data.h index b592f64..c98be21 100644 --- a/include/m_common_data.h +++ b/include/m_common_data.h @@ -179,7 +179,8 @@ typedef struct CommonData { /* 0x0F428 */ u64 melody; /* 0x0F430 */ UNK_TYPE1 unk_F430[0x8]; /* 0x0F438 */ u8 stationType; - /* 0x0F439 */ u8 unk_F439[0x3]; + /* 0x0F439 */ u8 saveWeather; + /* 0x0F440 */ u8 unk_F440[0x2]; /* 0x0F43C */ u16 deposit[FG_BLOCK_X_NUM * FG_BLOCK_Z_NUM][UT_Z_NUM]; // flags for which items are buried around town /* 0x0F7FC */ lbRTC_time_c lastGrowTime; /* 0x0F804 */ PrivateMotherMail motherMailInfo[PLAYER_NUM]; @@ -231,9 +232,15 @@ typedef struct CommonData { /* 0x104AD */ u8 unk_104AD; /* 0x104AE */ u8 sunlightFlag; /* 0x104AF */ UNK_TYPE1 unk_104AF[0x1]; - /* 0x104B0 */ UNK_TYPE1 unk_104B0[0xE8]; + /* 0x104B0 */ UNK_TYPE1 unk_104B0[0xBC]; + /* 0x1056C */ s16 weather; + /* 0x1056E */ s16 weatherIntensity; + /* 0x10570 */ lbRTC_time_c weatherTime; + /* 0x10578 */ s_xyz wind; + /* 0x10580 */ f32 windSpeed; + /* 0x10584 */ UNK_TYPE1 unk10584[0x14]; /* 0x10598 */ mQst_not_saved_c quest; - /* 0x105A0 */ u32 sceneFromTitleDemo; + /* 0x105A0 */ s32 sceneFromTitleDemo; /* 0x105A4 */ NpsSchedule npcSchedule[ANIMAL_NUM_MAX]; /* 0x10694 */ NpcWalking npcWalk; /* 0x10710 */ NpcEvent npcEvent[5]; @@ -245,7 +252,7 @@ typedef struct CommonData { /* 0x107A4 */ UNK_TYPE1 unk_107A4[0x12]; /* 0x107B6 */ s16 unk_107B6; // named "demo_profile" in AC GCN decomp (though it's an array of two s16s in that game) /* 0x107B8 */ UNK_TYPE1 unk_107B8[0x28]; - /* 0x107E0 */ s8 player_decoy_flag; + /* 0x107E0 */ s8 playerDecoyFlag; /* 0x107E1 */ UNK_TYPE1 unk_107E1[0x3]; /* 0x107E4 */ s16 unk_107E4; /* 0x107E6 */ UNK_TYPE1 unk107E6[0x252]; diff --git a/include/m_private.h b/include/m_private.h index 7448960..e566576 100644 --- a/include/m_private.h +++ b/include/m_private.h @@ -26,10 +26,23 @@ typedef enum mPr_ITEM_COND{ /* 3 */ mPr_ITEM_COND_NUM } mPr_ITEM_COND; +typedef enum mPr_FACE_TYPE { + /* 0 */ mPr_FACE_TYPE0, + /* 1 */ mPr_FACE_TYPE1, + /* 2 */ mPr_FACE_TYPE2, + /* 3 */ mPr_FACE_TYPE3, + /* 4 */ mPr_FACE_TYPE4, + /* 5 */ mPr_FACE_TYPE5, + /* 6 */ mPr_FACE_TYPE6, + /* 7 */ mPr_FACE_TYPE7, + /* 8 */ mPr_FACE_TYPE_NUM +} mPr_FACE_TYPE; + typedef struct PrivateInfo { /* 0x000 */ PersonalID_c playerId; /* 0x010 */ s8 gender; - /* 0x011 */ UNK_TYPE1 unk_011[0x3]; + /* 0x011 */ s8 face; + /* 0x012 */ UNK_TYPE1 unk_012[0x2]; /* 0x014 */ PrivateInventory inventory; /* 0x040 */ mQst_delivery_c deliveries[mPr_DELIVERY_QUEST_NUM]; /* delivery quests */ /* 0x25C */ QuestErrand errands[mPr_ERRAND_QUEST_NUM]; /* errand quests */ @@ -38,7 +51,9 @@ typedef struct PrivateInfo { /* 0x40A */ Mail_c unk_40A[10]; /* 0xA72 */ UNK_TYPE1 unk_A72[0x2]; /* 0xA74 */ u8 exists; - /* 0xA75 */ UNK_TYPE1 unk_A75[0x11]; + /* 0xA75 */ UNK_TYPE1 unkA75[1]; + /* 0xA76 */ PrivateCloth cloth; + /* 0xA7A */ UNK_TYPE1 unkA7A[0xC]; /* 0xA86 */ Private_Sub_A86 unk_A86; /* 0xA90 */ UNK_TYPE1 unk_A90[0x3C]; /* 0xACC */ Anmremail remail; diff --git a/include/m_private_internals.h b/include/m_private_internals.h index 914f857..2bdd1f2 100644 --- a/include/m_private_internals.h +++ b/include/m_private_internals.h @@ -48,4 +48,10 @@ typedef struct PrivateInventory { /* 0x28 */ u32 loan; } PrivateInventory; // size = 0x2C +typedef struct PrivateCloth { + /* 0x00 */ u16 id; + /* 0x02 */ u16 item; +} PrivateCloth; // size = 0x4 + + #endif diff --git a/include/m_rcp.h b/include/m_rcp.h index 6d6c641..f8e5298 100644 --- a/include/m_rcp.h +++ b/include/m_rcp.h @@ -25,7 +25,7 @@ void func_800BD5E8_jp(struct GraphicsContext *gfxCtx); // void func_800BD6D0_jp(); // void func_800BD6F8_jp(); Gfx* func_800BD720_jp(Gfx* gfx); -// void func_800BD748_jp(); +void rect_moji(struct GraphicsContext*); // void func_800BD770_jp(); // void func_800BD798_jp(); Gfx* func_800BD7C0_jp(Gfx* gfx); diff --git a/include/m_scene_table.h b/include/m_scene_table.h index 9adf609..d049a5f 100644 --- a/include/m_scene_table.h +++ b/include/m_scene_table.h @@ -4,10 +4,44 @@ #include "ultra64.h" #include "z64math.h" -#define SCENE_FG 7 -#define SCENE_START_DEMO 15 -#define SCENE_START_DEMO2 16 - +typedef enum SceneTable { + /* 00 */ SCENE_TEST1, + /* 01 */ SCENE_TEST2, + /* 02 */ SCENE_TEST3, + /* 03 */ SCENE_WATER_TEST, + /* 04 */ SCENE_FOOTPRINT_TEST, + /* 05 */ SCENE_NPC_TEST, + /* 06 */ SCENE_NPC_HOUSE, /* npc house interior */ + /* 07 */ SCENE_FG, /* outdoors/FG */ + /* 08 */ SCENE_RANDOM_NPC_TEST, + /* 09 */ SCENE_SHOP0, /* nook's cranny */ + /* 10 */ SCENE_BG_TEST_NO_RIVER, + /* 11 */ SCENE_BG_TEST_RIVER, + /* 12 */ SCENE_BROKER_SHOP, /* crazy redd's tent */ + /* 13 */ SCENE_FIELD_TOOL_INSIDE, + /* 14 */ SCENE_POST_OFFICE, /* post office */ + /* 15 */ SCENE_START_DEMO, /* after player select */ + /* 16 */ SCENE_START_DEMO2, /* */ + /* 17 */ SCENE_POLICE_BOX, + /* 18 */ SCENE_BUGGY, + /* 19 */ SCENE_PLAYERSELECT, + /* 20 */ SCENE_MY_ROOM_S, + /* 21 */ SCENE_MY_ROOM_M, + /* 22 */ SCENE_MY_ROOM_L, + /* 23 */ SCENE_CONVENI, /* nook 'n' go */ + /* 24 */ SCENE_SUPER, /* nookway */ + /* 25 */ SCENE_DEPART, /* nookington's 1st floor */ + /* 26 */ SCENE_TEST5, + /* 27 */ SCENE_PLAYERSELECT_2, + /* 28 */ SCENE_PLAYERSELECT_3, + /* 29 */ SCENE_DEPART_2, /* nookington's 2nd floor */ + /* 30 */ SCENE_EVENT_ANNOUNCEMENT, + /* 31 */ SCENE_KAMAKURA, + /* 32 */ SCENE_FIELD_TOOL, + /* 33 */ SCENE_TITLE_DEMO, /* title screen demo */ + /* 34 */ SCENE_PLAYERSELECT_SAVE, + /* 35 */ SCENE_NUM +} SceneTable; extern Struct_8010EAA0 scene_data_status[]; #endif diff --git a/include/m_view.h b/include/m_view.h index 346c2bc..72a0566 100644 --- a/include/m_view.h +++ b/include/m_view.h @@ -8,12 +8,16 @@ struct Game_Play; struct GraphicsContext; +typedef struct Viewport { + /* 0x00 */ s32 topY; // uly (upper left y) + /* 0x04 */ s32 bottomY; // lry (lower right y) + /* 0x08 */ s32 leftX; // ulx (upper left x) + /* 0x0C */ s32 rightX; // lrx (lower right x) +} Viewport; // size = 0x10 + typedef struct Game_Play1938 { /* 0x000 */ UNK_TYPE1 unk_000[0x8]; - /* 0x008 */ s32 unk_008; - /* 0x00C */ s32 unk_00C; - /* 0x010 */ s32 unk_010; - /* 0x018 */ s32 unk_014; + /* 0x008 */ Viewport viewport; /* 0x01C */ UNK_TYPE1 unk_018[0x10]; /* 0x028 */ xyz_t unk_028; /* 0x034 */ UNK_TYPE1 unk_034[0x1C]; @@ -25,12 +29,17 @@ typedef struct Game_Play1938 { /* 0x124 */ UNK_TYPE1 unk_124[0x4]; } Game_Play1938; // size = 0x128 -typedef struct ScissorViewArg1 { - /* 0x00 */ s32 unk_00; - /* 0x04 */ s32 unk_04; - /* 0x08 */ s32 unk_08; - /* 0x0C */ s32 unk_0C; -} ScissorViewArg1; // size = 0x10 + +#define SET_FULLSCREEN_VIEWPORT(view) \ + { \ + Viewport viewport; \ + viewport.bottomY = SCREEN_HEIGHT; \ + viewport.rightX = SCREEN_WIDTH; \ + viewport.topY = 0; \ + viewport.leftX = 0; \ + setScissorView(view, &viewport); \ + } \ + (void)0 // void set_viewport(); void initView(Game_Play1938* arg0, struct GraphicsContext* gfxCtx); @@ -40,14 +49,14 @@ void initView(Game_Play1938* arg0, struct GraphicsContext* gfxCtx); // void getScaleView(); // void setPerspectiveView(); // void getPerspectiveView(); -void setScissorView(Game_Play1938* arg0, ScissorViewArg1* arg1); +void setScissorView(Game_Play1938* arg0, Viewport* arg1); // void getScissorView(); // void setScissorX(); // void setScissorOvl(); // void setScissor(); // void stretchViewInit(); // void do_stretch_view(); -void showView(Game_Play1938* arg0, s32 arg1, struct Game_Play* game_play); +void showView(Game_Play1938* arg0, s32 arg1); // void showPerspectiveView(); // void showOrthoView(); // void showOverLayView(); |
