game/ui: Add ScheduleScreen header

This commit is contained in:
Léo Lam
2020-04-03 11:51:25 +02:00
parent af36e6e1a5
commit 4dc194dc0b
2 changed files with 221 additions and 0 deletions

View File

@@ -62,6 +62,7 @@ add_executable(newcode
game/ui/screens/gear_screen.h
game/ui/screens/main_screen.cpp
game/ui/screens/main_screen.h
game/ui/screens/schedule_screen.h
game/ui/screens/screen.h
rst/fixes/boss.cpp
rst/fixes/boss.h

View File

@@ -0,0 +1,220 @@
#pragma once
#include "game/ui.h"
#include "game/ui/screens/screen.h"
namespace game::ui {
struct ChrIconButtonAnims {
Anim* in;
Anim* out;
};
class ScheduleScreen : public Screen {
public:
TouchHandler& GetTouchHandler() { return touch_handler; }
TouchHandler touch_handler;
void* some_file;
u8 field_C;
u8 field_D;
u8 field_E;
u8 field_F;
u8 field_10;
u8 field_11;
u8 field_12;
u8 field_13;
u8 field_14;
u8 event_status;
u8 gap_16[2];
float delay;
u32 btn_press_flags;
u32 btn_press_flags_prev;
u32 btn_press_flags_pressed;
Layout* subMenuTitle;
Layout* subCommonUpBg;
Layout* commonBottomBg;
Layout* scheduleLayouts[3];
Layout* scheduleBaseUp[3];
u32 field_4C;
class TextureData* state;
Layout* up_event_map;
AnimPlayer* up_event_map_player;
Anim* in_even_map_anim;
Anim* out_even_map_anim;
Anim* idle_map_img_anim;
u32 field_68;
u32 some_array;
u16 field_70;
u8 field_72;
u8 field_73;
AnimPlayer* transition;
Layout* scroll_bar_l;
Layout* field_7C;
u32 field_80[8];
u8 gapA0[144];
Anim* field_130;
Anim* field_134;
u8 gap_138[156];
u32 field_1D4;
u8 gap_1D8[40];
u32 field_200;
u8 gap_204[68];
u32 field_248;
u32 field_24C;
u32 field_250;
u8 field_254;
u8 something;
u8 field_256;
u8 field_257;
u8 gap_258[4];
AnimPlayer* scheduleBaseUp0_transition;
Layout* scheduleBaseUp0;
Layout* btn_return;
Layout* btn_schedule_l;
Layout* btn_map_l;
Layout* event_item00_l;
Layout* event_item01_l;
Layout* chrIconButton[6];
Widget* disp_a_icon_n[6];
void* disp_a_icon_n_stuff[6];
AnimPlayer* chrIconButton_change_player[6];
AnimPlayer* chrIconButton_transition[6];
ChrIconButtonAnims chrIconButton_in_out_anims[6];
Anim* chrIconButton_insert_anim[6];
AnimPlayer* chrIconButton_frame[6];
Layout* cursorEventu8Seal;
u32 cursorEventu8Seal_blink_player;
AnimPlayer* scheduleBaseUp0_event_item;
AnimPlayer* scheduleBaseUp0_map_btn;
u8 field_360;
u8 field_361;
u8 field_362;
u8 field_363;
u8 field_364;
u8 field_365;
u8 field_366;
u8 field_367;
u32 field_368;
u8 gap_36C[148];
u32 field_400;
u8 gap_404[180];
Layout* null_chr_set_layouts[8];
Widget* null_chr_sets[8];
AnimPlayer* sche_base_g_player;
Anim* sche_base_up_anim;
Anim* sche_base_down_anim;
Widget* sche_base_g;
Layout* field_508;
Widget* pointer_null;
Layout* pointer_null_l;
Layout* field_514;
u32 field_518;
AnimPlayer* frame_anim00;
AnimPlayer* all_player;
Anim* cursor_up_anim;
Anim* cursor_down_anim;
Anim* cursor_left_anim;
Anim* cursor_right_anim;
Anim* cursor_up_anim_chr;
Anim* cursor_down_anim_chr;
Anim* cursor_left_anim_chr;
Anim* cursor_right_anim_chr;
Anim* cursor_blink_anim;
Anim* cursor_blink_anim01;
Widget* all_widget;
Layout* text_new_sets[8];
Widget* happy_seal_sets[8];
Widget* current_time;
AnimPlayer* current_time_player;
u32 field_598;
u32 field_59C;
float field_5A0;
Widget* day1_test_pane;
ScheduleScreen* day2_test_pane;
ScheduleScreen* day3_test_pane;
Widget* chat_seal;
Widget* direct_up;
Widget* direct_down;
int field_5BC;
Layout* scroll_bar_l_;
AnimPlayer* in_out_anim_player;
Anim* in_up_schedule_anim;
Anim* out_up_schedule_anim;
Anim* in_update_anim;
Anim* out_update_anim;
AnimPlayer* unselected_anim_players[8];
Anim* unselected_null_set_anim[8];
AnimPlayer* unselected_chat_player;
Anim* unselected_chat;
Widget* icon_day_sun_moon_g[3];
AnimPlayer* alarm_mode_anim_player;
Anim* change_alarm_mode_anim;
Anim* release_alarm_mode_anim;
Widget* blackout_alarm_mode_g;
Layout* scheChrBottom[28];
Layout* scheduleBaseUp1;
Layout* field_6B0;
u8 gap_6B4[16];
u8 field_6C4;
u32 field_6C8;
u8 gap_6CC[4];
u32 field_6D0;
u32 field_6D4;
Layout* base1_btn_return;
Layout* base1_btn_alarm;
Layout* base1_btn_set_l;
Layout* base1_btn_release_l;
Layout* base1_btn_ev_list;
Layout* base1_touch_rect_center_l;
Layout* base1_btn_map_l;
Widget* base1_under_tub_g;
u8 gap_6F8[4];
Layout* elf_seal_free;
Layout* elf_seal_fix;
u8 field_704;
u8 field_705;
u8 gap_706[2];
Anim* chat_seal_idle_anim;
Anim* chat_seal_set_anim;
Anim* chat_seal_delete_anim;
AnimPlayer* elf_seal_free_player;
AnimPlayer* elf_seal_fix_player;
AnimPlayer* base1_fade_anim;
Anim* darken_anim;
Anim* lighten_anim;
AnimPlayer* current_time_anim_player;
AnimPlayer* ev_time_anim_player;
Anim* disp_ev_time_anim;
Anim* vanish_ev_time_anim;
AnimPlayer* current_time_switch_anim;
Layout* a_mark_sun_moon;
Layout* a_hour_num_rank10_l;
Layout* a_hour_num_rank1_l;
Layout* a_min_num_rank10_l;
Layout* a_min_num_rank1_l;
Layout* b_mark_sun_moon;
Layout* b_hour_num_rank10_l;
Layout* b_hour_num_rank1_l;
Layout* b_min_num_rank10_l;
Layout* b_min_num_rank1_l;
AnimPlayer* btn_map_anim_player;
Anim* disp_btn_map_anim;
Anim* vanish_btn_map_anim;
AnimPlayer* btn_alarm_anim_player;
Anim* disp_btn_alarm_anim;
Anim* vanish_btn_alarm_anim;
AnimPlayer* base1_in_out_anim_player;
Anim* in_menu_schedule_anim;
Anim* out_menu_schedule_anim;
Anim* base1_in_update_anim;
Anim* base1_out_update_anim;
void (ScheduleScreen::*calc1)(ScreenContext&);
void (ScheduleScreen::*calc2)(ScreenContext&);
void (ScheduleScreen::*draw1)(ScreenContext&);
void (ScheduleScreen::*draw2)(ScreenContext&);
};
static_assert(sizeof(ScheduleScreen) == 0x7B0);
static_assert(sizeof(ScheduleScreen::calc1) == 8);
} // namespace game::ui