Finish union_room_chat_display
This commit is contained in:
File diff suppressed because it is too large
Load Diff
+3
-3
@@ -16374,13 +16374,13 @@ gFameCheckerBg3Tilemap:: @ 8EA0700
|
||||
gFameCheckerBg2Tilemap:: @ 8EA0F00
|
||||
.incbin "data/graphics/fame_checker_tilemap2.bin"
|
||||
|
||||
gUnknown_8EA1700:: @ 8EA1700
|
||||
gLinkMiscMenu_Pal:: @ 8EA1700
|
||||
.incbin "graphics/interface/union_room_chat.gbapal"
|
||||
|
||||
gUnknown_8EA1720:: @ 8EA1720
|
||||
gLinkMiscMenu_Gfx:: @ 8EA1720
|
||||
.incbin "graphics/interface/union_room_chat.4bpp.lz"
|
||||
|
||||
gUnknown_8EA1958:: @ 8EA1958
|
||||
gLinkMiscMenu_Tilemap:: @ 8EA1958
|
||||
.incbin "graphics/interface/union_room_chat.bin.lz"
|
||||
|
||||
gUnknown_8EA1A50:: @ 8EA1A50
|
||||
|
||||
+17
-17
@@ -3093,34 +3093,34 @@ gUnknown_841B32E:: @ 841B32E
|
||||
.string "{DYNAMIC 0x00} learned\n"
|
||||
.string "{DYNAMIC 0x01}!$"
|
||||
|
||||
gUnknown_841B33D:: @ 0x841B33D
|
||||
gText_Upper:: @ 0x841B33D
|
||||
.string "UPPER$"
|
||||
|
||||
gUnknown_841B343:: @ 0x841B343
|
||||
gText_Lower:: @ 0x841B343
|
||||
.string "lower$"
|
||||
|
||||
gUnknown_841B349:: @ 0x841B349
|
||||
gText_Others:: @ 0x841B349
|
||||
.string "OTHERS$"
|
||||
|
||||
gUnknown_841B350:: @ 0x841B350
|
||||
gText_Symbols:: @ 0x841B350
|
||||
.string "SYMBOLS$"
|
||||
|
||||
gUnknown_841B358:: @ 0x841B358
|
||||
gText_Register2:: @ 0x841B358
|
||||
.string "REGISTER$"
|
||||
|
||||
gUnknown_841B361:: @ 0x841B361
|
||||
gText_Exit:: @ 0x841B361
|
||||
.string "EXIT$"
|
||||
|
||||
gUnknown_841B366:: @ 0x841B366
|
||||
gText_QuitChatting:: @ 0x841B366
|
||||
.string "Quit chatting?$"
|
||||
|
||||
gUnknown_841B375:: @ 0x841B375
|
||||
gText_RegisterTextWhere:: @ 0x841B375
|
||||
.string "Register text where?$"
|
||||
|
||||
gUnknown_841B38A:: @ 0x841B38A
|
||||
gText_RegisterTextHere:: @ 0x841B38A
|
||||
.string "Register text here?$"
|
||||
|
||||
gUnknown_841B39E:: @ 0x841B39E
|
||||
gText_InputText:: @ 0x841B39E
|
||||
.string "Input text.$"
|
||||
|
||||
gText_F700JoinedChat:: @ 841B3AA
|
||||
@@ -3135,29 +3135,29 @@ gUnknown_841B3D0:: @ 0x841B3D0
|
||||
gUnknown_841B3DA:: @ 0x841B3DA
|
||||
.string "{DYNAMIC 0x00}の{DYNAMIC 0x01}ひきめは いません$"
|
||||
|
||||
gUnknown_841B3E9:: @ 0x841B3E9
|
||||
gText_ExitingTheChat:: @ 0x841B3E9
|
||||
.string "Exiting the chat‥$"
|
||||
|
||||
gUnknown_841B3FB:: @ 0x841B3FB
|
||||
gText_LeaderHasLeftEndingChat:: @ 0x841B3FB
|
||||
.string "The LEADER, {DYNAMIC 0x00}, has\n"
|
||||
.string "left, ending the chat.$"
|
||||
|
||||
gUnknown_841B426:: @ 0x841B426
|
||||
gText_RegisteredTextChanged_OKtoSave:: @ 0x841B426
|
||||
.string "The registered text has been changed.\n"
|
||||
.string "Is it okay to save the game?$"
|
||||
|
||||
gUnknown_841B469:: @ 0x841B469
|
||||
gText_RegisteredTextChanged_AlreadySavedFile:: @ 0x841B469
|
||||
.string "There is already a saved file.\n"
|
||||
.string "Is it okay to overwrite it?$"
|
||||
|
||||
gUnknown_841B4A4:: @ 0x841B4A4
|
||||
gText_RegisteredTextChanged_SavingDontTurnOff:: @ 0x841B4A4
|
||||
.string "SAVING‥\n"
|
||||
.string "DON'T TURN OFF THE POWER.$"
|
||||
|
||||
gUnknown_841B4C6:: @ 0x841B4C6
|
||||
gText_RegisteredTextChanged_SavedTheGame:: @ 0x841B4C6
|
||||
.string "{DYNAMIC 0x00} saved the game.$"
|
||||
|
||||
gUnknown_841B4D9:: @ 0x841B4D9
|
||||
gText_IfLeaderLeavesChatWillEnd:: @ 0x841B4D9
|
||||
.string "If the LEADER leaves, the chat\n"
|
||||
.string "will end. Is that okay?$"
|
||||
|
||||
|
||||
@@ -6,52 +6,6 @@
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnknown_845AB64:: @ 845AB64
|
||||
.4byte gUnknown_841B366
|
||||
.byte 0x01, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00
|
||||
.align 2
|
||||
.4byte gUnknown_841B375
|
||||
.byte 0x01, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00
|
||||
.align 2
|
||||
.4byte gUnknown_841B38A
|
||||
.byte 0x01, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00
|
||||
.align 2
|
||||
.4byte gUnknown_841B39E
|
||||
.byte 0x01, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00
|
||||
.align 2
|
||||
.4byte gUnknown_841B3E9
|
||||
.byte 0x02, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00
|
||||
.align 2
|
||||
.4byte gUnknown_841B3FB
|
||||
.byte 0x02, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00
|
||||
.align 2
|
||||
.4byte gUnknown_841B426
|
||||
.byte 0x02, 0x00, 0x00, 0x01, 0x02, 0x00, 0x01
|
||||
.align 2
|
||||
.4byte gUnknown_841B469
|
||||
.byte 0x02, 0x00, 0x00, 0x01, 0x02, 0x00, 0x01
|
||||
.align 2
|
||||
.4byte gUnknown_841B4A4
|
||||
.byte 0x02, 0x00, 0x00, 0x01, 0x02, 0x00, 0x01
|
||||
.align 2
|
||||
.4byte gUnknown_841B4C6
|
||||
.byte 0x02, 0x00, 0x00, 0x01, 0x02, 0x01, 0x01
|
||||
.align 2
|
||||
.4byte gUnknown_841B4D9
|
||||
.byte 0x02, 0x00, 0x00, 0x01, 0x02, 0x00, 0x01
|
||||
.align 2
|
||||
|
||||
gUnknown_845ABE8:: @ 845ABE8
|
||||
.string "…$"
|
||||
|
||||
.align 2
|
||||
gUnknown_845ABEC:: @ 845ABEC
|
||||
.4byte gUnknown_841B33D, 0
|
||||
.4byte gUnknown_841B343, 0
|
||||
.4byte gUnknown_841B350, 0
|
||||
.4byte gUnknown_841B358, 0
|
||||
.4byte gUnknown_841B361, 0
|
||||
|
||||
gUnknown_845AC14:: @ 845AC14
|
||||
.incbin "graphics/union_room_chat/unk_845AC14.gbapal"
|
||||
|
||||
|
||||
@@ -4864,4 +4864,12 @@ extern const u32 gUnknown_8E83444[];
|
||||
extern const u32 gBagBgPalette[];
|
||||
extern const u32 gBagBgPalette_FemaleOverride[];
|
||||
|
||||
// union_room_chat_display
|
||||
extern const u16 gUnknown_8EAA9F0[];
|
||||
extern const u32 gUnknown_8EAAA10[];
|
||||
extern const u32 gUnknown_8EAAA6C[];
|
||||
extern const u16 gLinkMiscMenu_Pal[];
|
||||
extern const u32 gLinkMiscMenu_Gfx[];
|
||||
extern const u32 gLinkMiscMenu_Tilemap[];
|
||||
|
||||
#endif //GUARD_GRAPHICS_H
|
||||
|
||||
+28
-7
@@ -40,7 +40,6 @@ extern const u8 gText_Second[];
|
||||
extern const u8 gText_Third[];
|
||||
extern const u8 gText_NoDecorations[];
|
||||
extern const u8 gText_NoDecorationsInUse[];
|
||||
extern const u8 gText_Exit[];
|
||||
extern const u8 gText_Cancel[];
|
||||
extern const u8 gText_Color161Shadow161[];
|
||||
extern const u8 gText_GoBackPrevMenu[];
|
||||
@@ -288,7 +287,6 @@ extern const u8 gText_ThreePkmnAreNeeded[];
|
||||
extern const u8 gText_TwoPokemonAreNeeded[];
|
||||
extern const u8 gText_PokemonCantBeSame[];
|
||||
extern const u8 gText_NoIdenticalHoldItems[];
|
||||
extern const u8 gString_Dummy[];
|
||||
extern const u8 gText_DoWhatWithPokemon[];
|
||||
extern const u8 gText_RestoreWhichMove[];
|
||||
extern const u8 gText_BoostPp[];
|
||||
@@ -327,13 +325,9 @@ extern const u8 gText_SendOut[];
|
||||
extern const u8 gText_Enter[];
|
||||
extern const u8 gText_NoEntry[];
|
||||
extern const u8 gText_Store[];
|
||||
extern const u8 gText_Register[];
|
||||
extern const u8 gText_Trade4[];
|
||||
extern const u8 gText_NotPkmnOtherTrainerWants[];
|
||||
extern const u8 gText_ThatIsntAnEgg[];
|
||||
extern const u8 gText_PkmnCantBeTradedNow[];
|
||||
extern const u8 gText_OtherTrainersPkmnCantBeTraded[];
|
||||
extern const u8 gText_EggCantBeTradedNow[];
|
||||
extern const u8 gText_OtherTrainerCantAcceptPkmn[];
|
||||
extern const u8 gText_CantTradeWithTrainer[];
|
||||
extern const u8 gUnknown_84176CF[];
|
||||
@@ -346,7 +340,6 @@ extern const u8 gText_PkmnCantParticipate[];
|
||||
extern const u8 gText_CancelParticipation[];
|
||||
extern const u8 gUnknown_8417494[];
|
||||
extern const u8 gMenuText_Confirm[];
|
||||
extern const u8 gText_Lv[];
|
||||
extern const u8 gText_MaleSymbol[];
|
||||
extern const u8 gText_FemaleSymbol[];
|
||||
extern const u8 gText_Slash[];
|
||||
@@ -984,6 +977,16 @@ extern const u8 gUnknown_8415F6C[];
|
||||
extern const u8 gUnknown_8415FFF[];
|
||||
extern const u8 gUnknown_8416002[];
|
||||
|
||||
// daycare
|
||||
extern const u8 gText_Lv[];
|
||||
extern const u8 gDaycareText_GetAlongVeryWell[];
|
||||
extern const u8 gDaycareText_GetAlong[];
|
||||
extern const u8 gDaycareText_DontLikeOther[];
|
||||
extern const u8 gDaycareText_PlayOther[];
|
||||
extern const u8 gExpandedPlaceholder_Empty[];
|
||||
extern const u8 gText_HatchedFromEgg[];
|
||||
extern const u8 gText_NickHatchPrompt[];
|
||||
|
||||
// trainer card
|
||||
extern const u8 gText_WaitingTrainerFinishReading[];
|
||||
extern const u8 gText_TrainerCardName[];
|
||||
@@ -1075,4 +1078,22 @@ extern const u8 gText_YaySmileEmoji[];
|
||||
extern const u8 gText_ThankYou[];
|
||||
extern const u8 gText_ByeBye[];
|
||||
|
||||
// union_room_chat_display
|
||||
extern const u8 gText_QuitChatting[];
|
||||
extern const u8 gText_RegisterTextWhere[];
|
||||
extern const u8 gText_RegisterTextHere[];
|
||||
extern const u8 gText_InputText[];
|
||||
extern const u8 gText_ExitingTheChat[];
|
||||
extern const u8 gText_LeaderHasLeftEndingChat[];
|
||||
extern const u8 gText_RegisteredTextChanged_OKtoSave[];
|
||||
extern const u8 gText_RegisteredTextChanged_AlreadySavedFile[];
|
||||
extern const u8 gText_RegisteredTextChanged_SavingDontTurnOff[];
|
||||
extern const u8 gText_RegisteredTextChanged_SavedTheGame[];
|
||||
extern const u8 gText_IfLeaderLeavesChatWillEnd[];
|
||||
extern const u8 gText_Upper[];
|
||||
extern const u8 gText_Lower[];
|
||||
extern const u8 gText_Symbols[];
|
||||
extern const u8 gText_Register2[];
|
||||
extern const u8 gText_Exit[];
|
||||
|
||||
#endif //GUARD_STRINGS_H
|
||||
|
||||
@@ -26,6 +26,7 @@ void TextWindow_SetUserSelectedFrame(u8 windowId, u16 tileStart, u8 palette);
|
||||
void LoadUserWindowBorderGfx(u8 windowId, u16 tileStart, u8 palette);
|
||||
void sub_814FDA0(u8 windowId, u16 tileStart, u8 palette);
|
||||
void DrawTextBorderOuter(u8 windowId, u16 tileStart, u8 palette);
|
||||
void DrawTextBorderInner(u8 windowId, u16 tileNum, u8 palNum);
|
||||
void TextWindow_LoadTilesStdFrame1(u8 windowId, u16 destOffset);
|
||||
void sub_814FE6C(u8 windowId, u16 destOffset, u8 palIdx);
|
||||
void sub_814FEEC(u8 windowId, u16 destOffset, u8 palIdx);
|
||||
|
||||
@@ -8,6 +8,10 @@
|
||||
extern struct MailStruct gLinkPartnerMail[6];
|
||||
extern u8 gSelectedTradeMonPositions[2];
|
||||
|
||||
extern const u8 gText_MaleSymbol4[];
|
||||
extern const u8 gText_FemaleSymbol4[];
|
||||
extern const u8 gText_GenderlessSymbol[];
|
||||
|
||||
extern const u16 gUnknown_826601C[];
|
||||
void CB2_ReturnFromLinkTrade(void);
|
||||
s32 sub_804FB34(void);
|
||||
|
||||
@@ -1,13 +1,27 @@
|
||||
#ifndef GUARD_UNION_ROOM_CHAT_H
|
||||
#define GUARD_UNION_ROOM_CHAT_H
|
||||
|
||||
enum
|
||||
{
|
||||
UNION_ROOM_KB_PAGE_UPPER,
|
||||
UNION_ROOM_KB_PAGE_LOWER,
|
||||
UNION_ROOM_KB_PAGE_EMOJI,
|
||||
UNION_ROOM_KB_PAGE_COUNT
|
||||
};
|
||||
|
||||
extern const u8 *const gUnionRoomKeyboardText[UNION_ROOM_KB_PAGE_COUNT][UNION_ROOM_KB_ROW_COUNT];
|
||||
|
||||
void sub_8128420(void);
|
||||
u8 *sub_81294B0(int arg0);
|
||||
u8 *sub_8129714(void);
|
||||
void sub_8129730(u32 *a0, u32 *a1);
|
||||
u8 *sub_8129758(void);
|
||||
u16 sub_8129788(void);
|
||||
u8 *sub_81297C4(void);
|
||||
u16 sub_81297D0(void);
|
||||
int sub_81297DC(void);
|
||||
u8 *sub_8129814(void);
|
||||
void copy_strings_to_sav1(void);
|
||||
u8 GetCurrentKeyboardPage(void);
|
||||
|
||||
#endif // GUARD_UNION_ROOM_CHAT_H
|
||||
|
||||
+2
-26
@@ -1,44 +1,34 @@
|
||||
#include "global.h"
|
||||
#include "pokemon.h"
|
||||
#include "gflib.h"
|
||||
#include "battle.h"
|
||||
#include "daycare.h"
|
||||
#include "string_util.h"
|
||||
#include "constants/species.h"
|
||||
#include "constants/items.h"
|
||||
#include "mail_data.h"
|
||||
#include "pokemon_storage_system.h"
|
||||
#include "event_data.h"
|
||||
#include "random.h"
|
||||
#include "main.h"
|
||||
#include "constants/moves.h"
|
||||
#include "text.h"
|
||||
#include "menu.h"
|
||||
#include "new_menu_helpers.h"
|
||||
#include "script.h"
|
||||
#include "strings.h"
|
||||
#include "task.h"
|
||||
#include "window.h"
|
||||
#include "party_menu.h"
|
||||
#include "list_menu.h"
|
||||
#include "overworld.h"
|
||||
#include "pokedex.h"
|
||||
#include "decompress.h"
|
||||
#include "palette.h"
|
||||
#include "sound.h"
|
||||
#include "constants/songs.h"
|
||||
#include "text_window.h"
|
||||
#include "trig.h"
|
||||
#include "malloc.h"
|
||||
#include "gpu_regs.h"
|
||||
#include "bg.h"
|
||||
#include "m4a.h"
|
||||
#include "graphics.h"
|
||||
#include "scanline_effect.h"
|
||||
#include "naming_screen.h"
|
||||
#include "help_system.h"
|
||||
#include "field_fadetransition.h"
|
||||
#include "trade.h"
|
||||
#include "constants/daycare.h"
|
||||
#include "constants/pokemon.h"
|
||||
#include "constants/region_map.h"
|
||||
|
||||
// Combination of RSE's Day-Care (re-used on Four Island), FRLG's Day-Care, and egg_hatch.c
|
||||
@@ -60,20 +50,6 @@ struct EggHatchData
|
||||
u8 textColor[3];
|
||||
};
|
||||
|
||||
extern const u8 gText_MaleSymbol4[];
|
||||
extern const u8 gText_FemaleSymbol4[];
|
||||
extern const u8 gText_GenderlessSymbol[];
|
||||
extern const u8 gText_Lv[];
|
||||
extern const u8 gDaycareText_GetAlongVeryWell[];
|
||||
extern const u8 gDaycareText_GetAlong[];
|
||||
extern const u8 gDaycareText_DontLikeOther[];
|
||||
extern const u8 gDaycareText_PlayOther[];
|
||||
extern const u8 gExpandedPlaceholder_Empty[];
|
||||
|
||||
extern const u32 gUnknown_826601C[]; // tilemap gameboy circle
|
||||
extern const u8 gText_HatchedFromEgg[];
|
||||
extern const u8 gText_NickHatchPrompt[];
|
||||
|
||||
// this file's functions
|
||||
static void ClearDaycareMonMail(struct DayCareMail *mail);
|
||||
static void SetInitialEggData(struct Pokemon *mon, u16 species, struct DayCare *daycare);
|
||||
|
||||
+1
-24
@@ -1,41 +1,22 @@
|
||||
#include "global.h"
|
||||
#include "palette.h"
|
||||
#include "gflib.h"
|
||||
#include "task.h"
|
||||
#include "decompress.h"
|
||||
#include "gpu_regs.h"
|
||||
#include "malloc.h"
|
||||
#include "bg.h"
|
||||
#include "text.h"
|
||||
#include "window.h"
|
||||
#include "librfu.h"
|
||||
#include "text_window.h"
|
||||
#include "evolution_scene.h"
|
||||
#include "pokemon_icon.h"
|
||||
#include "pokedex.h"
|
||||
#include "mail_data.h"
|
||||
#include "graphics.h"
|
||||
#include "link.h"
|
||||
#include "random.h"
|
||||
#include "save.h"
|
||||
#include "load_save.h"
|
||||
#include "quest_log.h"
|
||||
#include "field_fadetransition.h"
|
||||
#include "mevent.h"
|
||||
#include "help_system.h"
|
||||
#include "link_rfu.h"
|
||||
#include "cable_club.h"
|
||||
#include "data.h"
|
||||
#include "sound.h"
|
||||
#include "string_util.h"
|
||||
#include "strings.h"
|
||||
#include "menu.h"
|
||||
#include "overworld.h"
|
||||
#include "battle_anim.h"
|
||||
#include "pokeball.h"
|
||||
#include "party_menu.h"
|
||||
#include "util.h"
|
||||
#include "daycare.h"
|
||||
#include "script.h"
|
||||
#include "event_data.h"
|
||||
#include "battle_interface.h"
|
||||
#include "pokemon_summary_screen.h"
|
||||
@@ -43,11 +24,7 @@
|
||||
#include "new_menu_helpers.h"
|
||||
#include "trade.h"
|
||||
#include "trade_scene.h"
|
||||
#include "constants/species.h"
|
||||
#include "constants/items.h"
|
||||
#include "constants/easy_chat.h"
|
||||
#include "constants/songs.h"
|
||||
#include "constants/region_map.h"
|
||||
#include "constants/moves.h"
|
||||
|
||||
struct TradeMenuResources
|
||||
|
||||
+4
-11
@@ -13,18 +13,11 @@
|
||||
#include "scanline_effect.h"
|
||||
#include "strings.h"
|
||||
#include "task.h"
|
||||
#include "union_room_chat.h"
|
||||
#include "union_room_chat_display.h"
|
||||
#include "data_8479668.h"
|
||||
#include "constants/songs.h"
|
||||
|
||||
enum
|
||||
{
|
||||
UNION_ROOM_KB_PAGE_UPPER,
|
||||
UNION_ROOM_KB_PAGE_LOWER,
|
||||
UNION_ROOM_KB_PAGE_EMOJI,
|
||||
UNION_ROOM_KB_PAGE_COUNT
|
||||
};
|
||||
|
||||
struct UnionRoomChat
|
||||
{
|
||||
u8 filler0[0x4];
|
||||
@@ -147,7 +140,7 @@ const u8 gUnknown_845A8AC[] = {
|
||||
CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE
|
||||
};
|
||||
|
||||
const u8 *const sUnionRoomKeyboardText[UNION_ROOM_KB_PAGE_COUNT][UNION_ROOM_KB_ROW_COUNT] = {
|
||||
const u8 *const gUnionRoomKeyboardText[UNION_ROOM_KB_PAGE_COUNT][UNION_ROOM_KB_ROW_COUNT] = {
|
||||
[UNION_ROOM_KB_PAGE_UPPER] = {
|
||||
gText_UnionRoomChatKeyboard_ABCDE,
|
||||
gText_UnionRoomChatKeyboard_FGHIJ,
|
||||
@@ -951,7 +944,7 @@ void sub_81292D8(void)
|
||||
|
||||
if (gUnknown_203B0E0->currentPage != UNION_ROOM_KB_PAGE_COUNT)
|
||||
{
|
||||
charsStr = sUnionRoomKeyboardText[gUnknown_203B0E0->currentPage][gUnknown_203B0E0->currentRow];
|
||||
charsStr = gUnionRoomKeyboardText[gUnknown_203B0E0->currentPage][gUnknown_203B0E0->currentRow];
|
||||
for (i = 0; i < gUnknown_203B0E0->unk11; i++)
|
||||
{
|
||||
if (*charsStr == CHAR_EXTRA_EMOJI)
|
||||
@@ -1265,7 +1258,7 @@ u8 *sub_81297C4(void)
|
||||
return gUnknown_203B0E0->unk39;
|
||||
}
|
||||
|
||||
u8 sub_81297D0(void)
|
||||
u16 sub_81297D0(void)
|
||||
{
|
||||
return gUnknown_203B0E0->unk16;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
#include "global.h"
|
||||
#include "gflib.h"
|
||||
#include "dynamic_placeholder_text_util.h"
|
||||
#include "graphics.h"
|
||||
#include "menu.h"
|
||||
#include "new_menu_helpers.h"
|
||||
#include "scanline_effect.h"
|
||||
#include "strings.h"
|
||||
#include "text_window.h"
|
||||
#include "union_room_chat.h"
|
||||
#include "union_room_chat_display.h"
|
||||
#include "union_room_chat_objects.h"
|
||||
@@ -36,6 +41,18 @@ struct Unk845AABC
|
||||
bool32 (*unk4)(u8 *);
|
||||
};
|
||||
|
||||
struct Unk845AB64
|
||||
{
|
||||
const u8 *unk0;
|
||||
u8 unk4;
|
||||
u8 unk5;
|
||||
u8 unk6;
|
||||
u8 unk7;
|
||||
u8 unk8;
|
||||
u8 unk9;
|
||||
u8 unkA;
|
||||
};
|
||||
|
||||
EWRAM_DATA struct UnionRoomChat2 * gUnknown_203B0E4 = NULL;
|
||||
|
||||
void sub_8129BB8(struct UnionRoomChat2 * ptr);
|
||||
@@ -87,6 +104,8 @@ void sub_812ACEC(void);
|
||||
void sub_812AD04(void);
|
||||
void sub_812AD20(void);
|
||||
void sub_812AD50(void);
|
||||
void sub_812ADA0(s16 a0);
|
||||
void sub_812ADF8(s16 a0);
|
||||
|
||||
const u16 gUnknown_845AA24[] = INCBIN_U16("graphics/union_room_chat/unk_845AA24.gbapal");
|
||||
const u16 gUnknown_845AA44[] = INCBIN_U16("graphics/union_room_chat/unk_845AA44.gbapal");
|
||||
@@ -188,6 +207,30 @@ const struct Unk845AABC gUnknown_845AABC[] = {
|
||||
{20, sub_812A3D0}
|
||||
};
|
||||
|
||||
const struct Unk845AB64 gUnknown_845AB64[] = {
|
||||
{gText_QuitChatting, 1, 0, 0, 1, 2, 0, 0},
|
||||
{gText_RegisterTextWhere, 1, 0, 0, 1, 2, 0, 0},
|
||||
{gText_RegisterTextHere, 1, 0, 0, 1, 2, 0, 0},
|
||||
{gText_InputText, 1, 0, 0, 1, 2, 0, 0},
|
||||
{gText_ExitingTheChat, 2, 0, 0, 1, 2, 0, 0},
|
||||
{gText_LeaderHasLeftEndingChat, 2, 0, 0, 0, 2, 1, 0},
|
||||
{gText_RegisteredTextChanged_OKtoSave, 2, 0, 0, 1, 2, 0, 1},
|
||||
{gText_RegisteredTextChanged_AlreadySavedFile, 2, 0, 0, 1, 2, 0, 1},
|
||||
{gText_RegisteredTextChanged_SavingDontTurnOff, 2, 0, 0, 1, 2, 0, 1},
|
||||
{gText_RegisteredTextChanged_SavedTheGame, 2, 0, 0, 1, 2, 1, 1},
|
||||
{gText_IfLeaderLeavesChatWillEnd, 2, 0, 0, 1, 2, 0, 1}
|
||||
};
|
||||
|
||||
const u8 gText_Ellipsis[] = _("…");
|
||||
|
||||
const struct MenuAction gUnknown_845ABEC[] = {
|
||||
{gText_Upper},
|
||||
{gText_Lower},
|
||||
{gText_Symbols},
|
||||
{gText_Register2},
|
||||
{gText_Exit}
|
||||
};
|
||||
|
||||
bool8 sub_8129B14(void)
|
||||
{
|
||||
gUnknown_203B0E4 = Alloc(sizeof(*gUnknown_203B0E4));
|
||||
@@ -654,3 +697,532 @@ bool32 sub_812A1B8(u8 *state)
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool32 sub_812A1FC(u8 *state)
|
||||
{
|
||||
switch (*state)
|
||||
{
|
||||
case 0:
|
||||
sub_812A578(4, 0);
|
||||
CopyWindowToVram(gUnknown_203B0E4->unk1E, 3);
|
||||
(*state)++;
|
||||
break;
|
||||
case 1:
|
||||
return IsDma3ManagerBusyWithBgCopy();
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool32 sub_812A240(u8 *state)
|
||||
{
|
||||
u8 *str;
|
||||
|
||||
switch (*state)
|
||||
{
|
||||
case 0:
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
str = sub_8129814();
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, str);
|
||||
sub_812A578(5, 0);
|
||||
CopyWindowToVram(gUnknown_203B0E4->unk1E, 3);
|
||||
(*state)++;
|
||||
break;
|
||||
case 1:
|
||||
return IsDma3ManagerBusyWithBgCopy();
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool32 sub_812A294(u8 *state)
|
||||
{
|
||||
switch (*state)
|
||||
{
|
||||
case 0:
|
||||
sub_812A578(6, 0);
|
||||
sub_812A424(23, 10, 1);
|
||||
CopyWindowToVram(gUnknown_203B0E4->unk1E, 3);
|
||||
(*state)++;
|
||||
break;
|
||||
case 1:
|
||||
return IsDma3ManagerBusyWithBgCopy();
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool32 sub_812A2E4(u8 *state)
|
||||
{
|
||||
switch (*state)
|
||||
{
|
||||
case 0:
|
||||
sub_812A578(7, 0);
|
||||
sub_812A424(23, 10, 1);
|
||||
CopyWindowToVram(gUnknown_203B0E4->unk1E, 3);
|
||||
(*state)++;
|
||||
break;
|
||||
case 1:
|
||||
return IsDma3ManagerBusyWithBgCopy();
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool32 sub_812A334(u8 *state)
|
||||
{
|
||||
switch (*state)
|
||||
{
|
||||
case 0:
|
||||
sub_812A578(8, 0);
|
||||
CopyWindowToVram(gUnknown_203B0E4->unk1E, 3);
|
||||
(*state)++;
|
||||
break;
|
||||
case 1:
|
||||
return IsDma3ManagerBusyWithBgCopy();
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool32 sub_812A378(u8 *state)
|
||||
{
|
||||
switch (*state)
|
||||
{
|
||||
case 0:
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gSaveBlock2Ptr->playerName);
|
||||
sub_812A578(9, 0);
|
||||
CopyWindowToVram(gUnknown_203B0E4->unk1E, 3);
|
||||
(*state)++;
|
||||
break;
|
||||
case 1:
|
||||
return IsDma3ManagerBusyWithBgCopy();
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool32 sub_812A3D0(u8 *state)
|
||||
{
|
||||
switch (*state)
|
||||
{
|
||||
case 0:
|
||||
sub_812A578(10, 0);
|
||||
sub_812A424(23, 10, 1);
|
||||
CopyWindowToVram(gUnknown_203B0E4->unk1E, 3);
|
||||
(*state)++;
|
||||
break;
|
||||
case 1:
|
||||
return IsDma3ManagerBusyWithBgCopy();
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool32 sub_812A420(u8 *arg0)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void sub_812A424(u8 left, u8 top, u8 initialCursorPos)
|
||||
{
|
||||
struct WindowTemplate template;
|
||||
template.bg = 0;
|
||||
template.tilemapLeft = left;
|
||||
template.tilemapTop = top;
|
||||
template.width = 6;
|
||||
template.height = 4;
|
||||
template.paletteNum = 14;
|
||||
template.baseBlock = 0x52;
|
||||
gUnknown_203B0E4->unk18 = AddWindow(&template);
|
||||
if (gUnknown_203B0E4->unk18 != 0xFF)
|
||||
{
|
||||
FillWindowPixelBuffer(gUnknown_203B0E4->unk18, PIXEL_FILL(1));
|
||||
PutWindowTilemap(gUnknown_203B0E4->unk18);
|
||||
AddTextPrinterParameterized(gUnknown_203B0E4->unk18, 2, gText_Yes, 8, 2, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gUnknown_203B0E4->unk18, 2, gText_No, 8, 16, TEXT_SPEED_FF, NULL);
|
||||
DrawTextBorderOuter(gUnknown_203B0E4->unk18, 1, 13);
|
||||
Menu_InitCursor(gUnknown_203B0E4->unk18, 2, 0, 2, 14, 2, initialCursorPos);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_812A51C(void)
|
||||
{
|
||||
if (gUnknown_203B0E4->unk18 != 0xFF)
|
||||
{
|
||||
ClearStdWindowAndFrameToTransparent(gUnknown_203B0E4->unk18, FALSE);
|
||||
ClearWindowTilemap(gUnknown_203B0E4->unk18);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_812A544(void)
|
||||
{
|
||||
if (gUnknown_203B0E4->unk18 != 0xFF)
|
||||
{
|
||||
RemoveWindow(gUnknown_203B0E4->unk18);
|
||||
gUnknown_203B0E4->unk18 = 0xFF;
|
||||
}
|
||||
}
|
||||
|
||||
s8 sub_812A568(void)
|
||||
{
|
||||
return Menu_ProcessInput();
|
||||
}
|
||||
|
||||
void sub_812A578(int arg0, u16 arg1)
|
||||
{
|
||||
const u8 *str;
|
||||
int windowId;
|
||||
struct WindowTemplate template;
|
||||
template.bg = 0;
|
||||
template.tilemapLeft = 8;
|
||||
template.tilemapTop = 16;
|
||||
template.width = 21;
|
||||
template.height = 4;
|
||||
template.paletteNum = 14;
|
||||
template.baseBlock = 0x06A;
|
||||
if (gUnknown_845AB64[arg0].unkA)
|
||||
{
|
||||
template.tilemapLeft -= 7;
|
||||
template.width += 7;
|
||||
}
|
||||
|
||||
gUnknown_203B0E4->unk1E = AddWindow(&template);
|
||||
windowId = gUnknown_203B0E4->unk1E;
|
||||
if (gUnknown_203B0E4->unk1E == 0xFF)
|
||||
return;
|
||||
|
||||
if (gUnknown_845AB64[arg0].unk9)
|
||||
{
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gUnknown_203B0E4->unk22, gUnknown_845AB64[arg0].unk0);
|
||||
str = gUnknown_203B0E4->unk22;
|
||||
}
|
||||
else
|
||||
{
|
||||
str = gUnknown_845AB64[arg0].unk0;
|
||||
}
|
||||
|
||||
ChangeBgY(0, arg1 * 256, 0);
|
||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
||||
PutWindowTilemap(windowId);
|
||||
if (gUnknown_845AB64[arg0].unk4 == 1)
|
||||
{
|
||||
DrawTextBorderInner(windowId, 0xA, 2);
|
||||
AddTextPrinterParameterized5(
|
||||
windowId,
|
||||
2,
|
||||
str,
|
||||
gUnknown_845AB64[arg0].unk5 + 8,
|
||||
gUnknown_845AB64[arg0].unk6 + 8,
|
||||
TEXT_SPEED_FF,
|
||||
NULL,
|
||||
gUnknown_845AB64[arg0].unk7,
|
||||
gUnknown_845AB64[arg0].unk8);
|
||||
}
|
||||
else
|
||||
{
|
||||
DrawTextBorderOuter(windowId, 0xA, 2);
|
||||
AddTextPrinterParameterized5(
|
||||
windowId,
|
||||
2,
|
||||
str,
|
||||
gUnknown_845AB64[arg0].unk5,
|
||||
gUnknown_845AB64[arg0].unk6,
|
||||
TEXT_SPEED_FF,
|
||||
NULL,
|
||||
gUnknown_845AB64[arg0].unk7,
|
||||
gUnknown_845AB64[arg0].unk8);
|
||||
}
|
||||
|
||||
gUnknown_203B0E4->unk1E = windowId;
|
||||
}
|
||||
|
||||
void sub_812A6F4(void)
|
||||
{
|
||||
if (gUnknown_203B0E4->unk1E != 0xFF)
|
||||
{
|
||||
ClearStdWindowAndFrameToTransparent(gUnknown_203B0E4->unk1E, FALSE);
|
||||
ClearWindowTilemap(gUnknown_203B0E4->unk1E);
|
||||
}
|
||||
|
||||
ChangeBgY(0, 0, 0);
|
||||
}
|
||||
|
||||
void sub_812A728(void)
|
||||
{
|
||||
if (gUnknown_203B0E4->unk1E != 0xFF)
|
||||
{
|
||||
RemoveWindow(gUnknown_203B0E4->unk1E);
|
||||
gUnknown_203B0E4->unk1E = 0xFF;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_812A74C(u16 x, u16 width, u8 fillValue)
|
||||
{
|
||||
FillWindowPixelRect(1, fillValue, x * 8, 1, width * 8, 14);
|
||||
}
|
||||
|
||||
void sub_812A778(u16 x, u8 *str, u8 fillValue, u8 arg3, u8 arg4)
|
||||
{
|
||||
u8 *str2;
|
||||
u8 sp[38];
|
||||
if (fillValue)
|
||||
sub_812A74C(x, sub_81297DC() - x, fillValue);
|
||||
|
||||
sp[0] = fillValue;
|
||||
sp[1] = arg3;
|
||||
sp[2] = arg4;
|
||||
str2 = &sp[4];
|
||||
str2[0] = EXT_CTRL_CODE_BEGIN;
|
||||
str2[1] = EXT_CTRL_CODE_MIN_LETTER_SPACING;
|
||||
str2[2] = 8;
|
||||
StringCopy(&str2[3], str);
|
||||
AddTextPrinterParameterized3(1, 2, x * 8, 1, sp, TEXT_SPEED_FF, str2);
|
||||
}
|
||||
|
||||
void sub_812A804(void)
|
||||
{
|
||||
u8 page;
|
||||
int i;
|
||||
int var1;
|
||||
u16 left;
|
||||
u16 top;
|
||||
u8 sp[52];
|
||||
u8 *str;
|
||||
u8 *str2;
|
||||
|
||||
FillWindowPixelBuffer(2, PIXEL_FILL(15));
|
||||
page = GetCurrentKeyboardPage();
|
||||
sp[0] = 0;
|
||||
sp[1] = 14;
|
||||
sp[2] = 13;
|
||||
if (page != UNION_ROOM_KB_PAGE_COUNT)
|
||||
{
|
||||
str = &sp[4];
|
||||
str[0] = EXT_CTRL_CODE_BEGIN;
|
||||
str[1] = EXT_CTRL_CODE_MIN_LETTER_SPACING;
|
||||
var1 = 8;
|
||||
str[2] = var1;
|
||||
left = var1;
|
||||
if (page == UNION_ROOM_KB_PAGE_EMOJI)
|
||||
left = 6;
|
||||
|
||||
for (i = 0, top = 0; i < UNION_ROOM_KB_ROW_COUNT; i++, top += 12)
|
||||
{
|
||||
if (!gUnionRoomKeyboardText[page][i])
|
||||
return;
|
||||
|
||||
StringCopy(&sp[7], gUnionRoomKeyboardText[page][i]);
|
||||
AddTextPrinterParameterized3(2, 0, left, top, sp, TEXT_SPEED_FF, &sp[4]);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
left = 4;
|
||||
for (i = 0, top = 0; i < 10; i++, top += 12)
|
||||
{
|
||||
str2 = sub_81294B0(i);
|
||||
if (GetStringWidth(0, str2, 0) <= 40)
|
||||
{
|
||||
AddTextPrinterParameterized3(2, 0, left, top, sp, TEXT_SPEED_FF, str2);
|
||||
}
|
||||
else
|
||||
{
|
||||
int length = StringLength_Multibyte(str2);
|
||||
do
|
||||
{
|
||||
length--;
|
||||
StringCopyN_Multibyte(&sp[4], str2, length);
|
||||
} while (GetStringWidth(0, &sp[4], 0) > 35);
|
||||
|
||||
AddTextPrinterParameterized3(2, 0, left, top, sp, TEXT_SPEED_FF, &sp[4]);
|
||||
AddTextPrinterParameterized3(2, 0, left + 35, top, sp, TEXT_SPEED_FF, gText_Ellipsis);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool32 sub_812A980(void)
|
||||
{
|
||||
if (gUnknown_203B0E4->unk20 < 56)
|
||||
{
|
||||
gUnknown_203B0E4->unk20 += 12;
|
||||
if (gUnknown_203B0E4->unk20 >= 56)
|
||||
gUnknown_203B0E4->unk20 = 56;
|
||||
|
||||
if (gUnknown_203B0E4->unk20 < 56)
|
||||
{
|
||||
sub_812ADA0(gUnknown_203B0E4->unk20);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
sub_812ADF8(gUnknown_203B0E4->unk20);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool32 sub_812A9C8(void)
|
||||
{
|
||||
if (gUnknown_203B0E4->unk20 > 0)
|
||||
{
|
||||
gUnknown_203B0E4->unk20 -= 12;
|
||||
if (gUnknown_203B0E4->unk20 <= 0)
|
||||
gUnknown_203B0E4->unk20 = 0;
|
||||
|
||||
if (gUnknown_203B0E4->unk20 > 0)
|
||||
{
|
||||
sub_812ADA0(gUnknown_203B0E4->unk20);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
sub_812ADF8(gUnknown_203B0E4->unk20);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void sub_812AA10(void)
|
||||
{
|
||||
FillWindowPixelBuffer(3, PIXEL_FILL(1));
|
||||
DrawTextBorderOuter(3, 1, 13);
|
||||
UnionRoomAndTradeMenuPrintOptions(3, 2, 14, 5, gUnknown_845ABEC);
|
||||
Menu_InitCursor(3, 2, 0, 0, 14, 5, GetCurrentKeyboardPage());
|
||||
PutWindowTilemap(3);
|
||||
}
|
||||
|
||||
void sub_812AA64(void)
|
||||
{
|
||||
ClearStdWindowAndFrameToTransparent(3, FALSE);
|
||||
ClearWindowTilemap(3);
|
||||
}
|
||||
|
||||
void sub_812AA78(u16 row, u8 *str, u8 arg2)
|
||||
{
|
||||
u8 color[3];
|
||||
color[0] = 1;
|
||||
color[1] = arg2 * 2 + 2;
|
||||
color[2] = arg2 * 2 + 3;
|
||||
FillWindowPixelRect(0, PIXEL_FILL(1), 0, row * 15, 168, 15);
|
||||
AddTextPrinterParameterized3(0, 2, 0, row * 15, color, TEXT_SPEED_FF, str);
|
||||
}
|
||||
|
||||
void sub_812AAD4(void)
|
||||
{
|
||||
ChangeBgX(0, 0, 0);
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgX(2, 0, 0);
|
||||
ChangeBgY(2, 0, 0);
|
||||
ChangeBgX(3, 0, 0);
|
||||
ChangeBgY(3, 0, 0);
|
||||
ShowBg(0);
|
||||
ShowBg(1);
|
||||
ShowBg(2);
|
||||
ShowBg(3);
|
||||
SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP);
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, 0);
|
||||
ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON | DISPCNT_WIN1_ON | DISPCNT_OBJWIN_ON);
|
||||
SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
|
||||
SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(64, 240));
|
||||
SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(0, 144));
|
||||
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG0 | WININ_WIN0_BG2 | WININ_WIN0_BG3
|
||||
| WININ_WIN0_OBJ | WININ_WIN0_CLR);
|
||||
SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR);
|
||||
}
|
||||
|
||||
void sub_812AB8C(void)
|
||||
{
|
||||
SetBgTilemapBuffer(0, gUnknown_203B0E4->unk128);
|
||||
SetBgTilemapBuffer(1, gUnknown_203B0E4->unk928);
|
||||
SetBgTilemapBuffer(3, gUnknown_203B0E4->unk1128);
|
||||
SetBgTilemapBuffer(2, gUnknown_203B0E4->unk1928);
|
||||
}
|
||||
|
||||
void sub_812ABD8(void)
|
||||
{
|
||||
RequestDma3Fill(0, (void *)BG_CHAR_ADDR(0), 0x20, 1);
|
||||
FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32);
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
}
|
||||
|
||||
void sub_812AC08(void)
|
||||
{
|
||||
LoadPalette(gUnknown_8EAA9F0, 0x70, 0x20);
|
||||
LoadPalette(gUnknown_845AA24, 0xC0, 0x20);
|
||||
DecompressAndCopyTileDataToVram(1, gUnknown_8EAAA10, 0, 0, 0);
|
||||
CopyToBgTilemapBuffer(1, gUnknown_8EAAA6C, 0, 0);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
}
|
||||
|
||||
void sub_812AC58(void)
|
||||
{
|
||||
u8 *ptr;
|
||||
|
||||
LoadPalette(gLinkMiscMenu_Pal, 0, 0x20);
|
||||
ptr = DecompressAndCopyTileDataToVram(2, gLinkMiscMenu_Gfx, 0, 0, 0);
|
||||
CopyToBgTilemapBuffer(2, gLinkMiscMenu_Tilemap, 0, 0);
|
||||
CopyBgTilemapBufferToVram(2);
|
||||
}
|
||||
|
||||
void sub_812AC9C(void)
|
||||
{
|
||||
LoadPalette(gUnknown_845AA44, 0x80, 0x20);
|
||||
RequestDma3Fill(0, (void *)BG_CHAR_ADDR(1) + 0x20, 0x20, 1);
|
||||
}
|
||||
|
||||
void sub_812ACC0(void)
|
||||
{
|
||||
LoadPalette(gUnknown_845AA64, 0xF0, 0x20);
|
||||
PutWindowTilemap(0);
|
||||
FillWindowPixelBuffer(0, PIXEL_FILL(1));
|
||||
CopyWindowToVram(0, 3);
|
||||
}
|
||||
|
||||
void sub_812ACEC(void)
|
||||
{
|
||||
PutWindowTilemap(2);
|
||||
sub_812A804();
|
||||
CopyWindowToVram(2, 3);
|
||||
}
|
||||
|
||||
void sub_812AD04(void)
|
||||
{
|
||||
FillWindowPixelBuffer(1, PIXEL_FILL(0));
|
||||
PutWindowTilemap(1);
|
||||
CopyWindowToVram(1, 3);
|
||||
}
|
||||
|
||||
void sub_812AD20(void)
|
||||
{
|
||||
FillWindowPixelBuffer(3, PIXEL_FILL(1));
|
||||
TextWindow_SetUserSelectedFrame(3, 1, 0xD0);
|
||||
TextWindow_SetStdFrame0_WithPal(3, 0xA, 0x20);
|
||||
LoadPalette(gTMCaseMainWindowPalette, 0xE0, 0x20);
|
||||
}
|
||||
|
||||
void sub_812AD50(void)
|
||||
{
|
||||
struct ScanlineEffectParams params;
|
||||
params.dmaControl = SCANLINE_EFFECT_DMACNT_16BIT;
|
||||
params.dmaDest = ®_BG1HOFS;
|
||||
params.initState = 1;
|
||||
params.unused9 = 0;
|
||||
gUnknown_203B0E4->unk20 = 0;
|
||||
CpuFastFill(0, gScanlineEffectRegBuffers, sizeof(gScanlineEffectRegBuffers));
|
||||
ScanlineEffect_SetParams(params);
|
||||
}
|
||||
|
||||
void sub_812ADA0(s16 arg0)
|
||||
{
|
||||
CpuFill16(arg0, gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer], 0x120);
|
||||
CpuFill16(0, gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer] + 0x90, 0x20);
|
||||
}
|
||||
|
||||
void sub_812ADF8(s16 arg0)
|
||||
{
|
||||
CpuFill16(arg0, gScanlineEffectRegBuffers[0], 0x120);
|
||||
CpuFill16(0, gScanlineEffectRegBuffers[0] + 0x90, 0x20);
|
||||
CpuFill16(arg0, gScanlineEffectRegBuffers[0] + 0x3C0, 0x120);
|
||||
CpuFill16(0, gScanlineEffectRegBuffers[0] + 0x450, 0x20);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user