mirror of
https://github.com/pret/pokeheartgold.git
synced 2024-10-06 18:13:21 +00:00
Merge pull request #335 from PikalaxALT/render_text
Port render_text.s from Diamond, decompile diffs
This commit is contained in:
commit
a1474bf95e
@ -177,11 +177,11 @@ _022386D4:
|
||||
lsr r1, r1, #0x10
|
||||
bl sub_02055198
|
||||
mov r0, #1
|
||||
bl sub_02002B50
|
||||
bl TextFlags_SetAutoScrollParam
|
||||
mov r0, #0
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
ldr r0, _02238854 ; =FrontierMap_VBlank
|
||||
add r1, r4, #0
|
||||
bl Main_SetVBlankIntrCB
|
||||
@ -315,9 +315,9 @@ FrontierMap_Free: ; 0x0223885C
|
||||
mov r0, #0
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #0
|
||||
bl sub_02002B50
|
||||
bl TextFlags_SetAutoScrollParam
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
bl sub_0203A914
|
||||
mov r1, #5
|
||||
mov r2, #2
|
||||
|
@ -1,8 +1,8 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public TextFlags_SetCanABSpeedUpPrint
|
||||
.public sub_02002B50
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetAutoScrollParam
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public FontID_String_GetWidth
|
||||
.public GetFontAttribute
|
||||
.public NewMsgDataFromNarc
|
||||
|
@ -8,8 +8,8 @@
|
||||
.public ListMenuGetScrollAndRow
|
||||
.public ListMenuGetTemplateField
|
||||
.public TextFlags_SetCanABSpeedUpPrint
|
||||
.public sub_02002B50
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetAutoScrollParam
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public FontID_String_GetWidth
|
||||
.public PlaySE
|
||||
.public GfGfxLoader_LoadCharData
|
||||
|
@ -1,12 +1,12 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public sub_020027F0
|
||||
.public TextPrinter_SetDownArrowBaseTile
|
||||
.public TextFlags_SetCanABSpeedUpPrint
|
||||
.public sub_02002B8C
|
||||
.public sub_02002BA8
|
||||
.public sub_02002C04
|
||||
.public sub_02002C20
|
||||
.public sub_02002C40
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public TextFlags_SetAlternateDownArrow
|
||||
.public TextFlags_GetIsTouchSpeedingUpPrint
|
||||
.public TextFlags_SetFastForwardTouchButtonHitbox
|
||||
.public TextFlags_UnsetFastForwardTouchButtonHitbox
|
||||
.public FontID_Alloc
|
||||
.public FontID_Release
|
||||
.public FontID_String_GetWidth
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public FontID_Alloc
|
||||
.public FontID_Release
|
||||
.public FontID_String_GetWidth
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public TextFlags_SetCanABSpeedUpPrint
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public LoadFontPal0
|
||||
.public PlaySE
|
||||
.public OverlayManager_CreateAndGetData
|
||||
|
@ -3,7 +3,7 @@
|
||||
.public RegisterMainOverlay
|
||||
.public CopyU16StringArrayN
|
||||
.public TextFlags_SetCanABSpeedUpPrint
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public FontID_Alloc
|
||||
.public FontID_Release
|
||||
.public FontID_String_GetWidth
|
||||
|
@ -1,9 +1,9 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public sub_020027F0
|
||||
.public TextPrinter_SetDownArrowBaseTile
|
||||
.public TextFlags_SetCanABSpeedUpPrint
|
||||
.public sub_02002B50
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetAutoScrollParam
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public FontID_Alloc
|
||||
.public FontID_Release
|
||||
.public PaletteData_Init
|
||||
|
@ -1,9 +1,9 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public sub_02002BC4
|
||||
.public sub_02002BD4
|
||||
.public sub_02002BE4
|
||||
.public sub_02002BF4
|
||||
.public TextFlags_GetHasSpedUpInput
|
||||
.public TextFlags_ResetHasSpedUpInput
|
||||
.public TextFlags_GetHasContinuedInput
|
||||
.public TextFlags_ResetHasContinuedInput
|
||||
.public FontID_String_GetWidth
|
||||
.public PaletteData_LoadPalette
|
||||
.public PaletteData_LoadNarc
|
||||
|
@ -1,8 +1,8 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public TextFlags_SetCanABSpeedUpPrint
|
||||
.public sub_02002B50
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetAutoScrollParam
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public FontID_String_GetWidth
|
||||
.public LoadFontPal1
|
||||
.public sub_02004B10
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public FontID_Alloc
|
||||
.public FontID_Release
|
||||
.public FontID_String_GetWidth
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public sub_02002B8C
|
||||
.public sub_02002C20
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public TextFlags_SetFastForwardTouchButtonHitbox
|
||||
.public FontID_String_GetWidth
|
||||
.public LoadFontPal0
|
||||
.public LoadFontPal1
|
||||
|
@ -1,8 +1,8 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public TextFlags_SetCanABSpeedUpPrint
|
||||
.public sub_02002B50
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetAutoScrollParam
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public FontID_String_GetWidth
|
||||
.public LoadFontPal1
|
||||
.public BlendPalette
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public FontID_String_GetWidth
|
||||
.public FontID_String_AllCharsValid
|
||||
.public FontID_String_GetWidthMultiline
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public FontID_Alloc
|
||||
.public FontID_Release
|
||||
.public FontID_String_GetWidth
|
||||
|
@ -1,9 +1,9 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public TextFlags_SetCanABSpeedUpPrint
|
||||
.public sub_02002B50
|
||||
.public sub_02002B8C
|
||||
.public sub_02002C04
|
||||
.public TextFlags_SetAutoScrollParam
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public TextFlags_GetIsTouchSpeedingUpPrint
|
||||
.public FontID_Alloc
|
||||
.public FontID_Release
|
||||
.public FontID_String_GetWidth
|
||||
|
@ -8,8 +8,8 @@
|
||||
.public Handle2dMenuInput_DeleteOnFinish
|
||||
.public Clear2dMenuWindowAndDelete
|
||||
.public TextFlags_SetCanABSpeedUpPrint
|
||||
.public sub_02002B50
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetAutoScrollParam
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public FontID_Alloc
|
||||
.public FontID_Release
|
||||
.public FontID_String_GetWidth
|
||||
|
@ -5,8 +5,8 @@
|
||||
.public DestroyListMenu
|
||||
.public ListMenuGetScrollAndRow
|
||||
.public TextFlags_SetCanABSpeedUpPrint
|
||||
.public sub_02002B50
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetAutoScrollParam
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public FontID_String_GetWidth
|
||||
.public LoadFontPal0
|
||||
.public LoadFontPal1
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public TextFlags_SetCanABSpeedUpPrint
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public FontID_Alloc
|
||||
.public FontID_Release
|
||||
.public FontID_String_GetWidth
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public TextFlags_SetCanABSpeedUpPrint
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public FontID_Alloc
|
||||
.public FontID_Release
|
||||
.public FontID_String_GetWidth
|
||||
|
@ -6,8 +6,8 @@
|
||||
.public Std_CreateYesNoMenu
|
||||
.public Handle2dMenuInput_DeleteOnFinish
|
||||
.public TextFlags_SetCanABSpeedUpPrint
|
||||
.public sub_02002B50
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetAutoScrollParam
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public FontID_Alloc
|
||||
.public FontID_Release
|
||||
.public LoadFontPal0
|
||||
|
@ -2,7 +2,7 @@
|
||||
#pragma once
|
||||
.public Handle2dMenuInput_DeleteOnFinish
|
||||
.public CopyU16StringArrayN
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public FontID_Alloc
|
||||
.public FontID_Release
|
||||
.public FontID_String_GetWidth
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public FontID_Alloc
|
||||
.public FontID_Release
|
||||
.public FontID_String_GetWidth
|
||||
|
@ -5,7 +5,7 @@
|
||||
.public ListMenuInit
|
||||
.public ListMenu_ProcessInput
|
||||
.public DestroyListMenu
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public FontID_Alloc
|
||||
.public FontID_Release
|
||||
.public FontID_String_GetWidth
|
||||
|
@ -5,8 +5,8 @@
|
||||
.public ListMenu_ProcessInput
|
||||
.public DestroyListMenu
|
||||
.public TextFlags_SetCanABSpeedUpPrint
|
||||
.public sub_02002B50
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetAutoScrollParam
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public FontID_String_GetWidth
|
||||
.public LoadFontPal1
|
||||
.public BlendPalette
|
||||
|
@ -15,8 +15,8 @@
|
||||
.public Handle2dMenuInput_DeleteOnFinish
|
||||
.public Clear2dMenuWindowAndDelete
|
||||
.public TextFlags_SetCanABSpeedUpPrint
|
||||
.public sub_02002B50
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetAutoScrollParam
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public FontID_String_GetWidth
|
||||
.public PaletteData_LoadNarc
|
||||
.public PaletteData_FillPaletteInBuffer
|
||||
|
@ -1,8 +1,8 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public TextFlags_SetCanABSpeedUpPrint
|
||||
.public sub_02002B50
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetAutoScrollParam
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public PaletteData_Init
|
||||
.public PaletteData_Free
|
||||
.public PaletteData_AllocBuffers
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public Delete2dMenu
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public FontID_Alloc
|
||||
.public FontID_Release
|
||||
.public FontID_String_GetWidth
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public LoadFontPal0
|
||||
.public LoadFontPal1
|
||||
.public PaletteData_Init
|
||||
|
@ -1,8 +1,8 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public TextFlags_SetCanABSpeedUpPrint
|
||||
.public sub_02002B50
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetAutoScrollParam
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public FontID_Alloc
|
||||
.public FontID_Release
|
||||
.public FontID_String_GetWidth
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public sub_02002C60
|
||||
.public sub_02002C90
|
||||
.public TextFlags_BeginAutoScroll
|
||||
.public TextFlags_EndAutoScroll
|
||||
.public FontID_Alloc
|
||||
.public FontID_Release
|
||||
.public FontID_String_GetWidth
|
||||
|
@ -1,8 +1,8 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public TextFlags_SetCanABSpeedUpPrint
|
||||
.public sub_02002B50
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetAutoScrollParam
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public FontID_String_GetWidth
|
||||
.public PaletteData_Init
|
||||
.public PaletteData_Free
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public FontID_Alloc
|
||||
.public FontID_Release
|
||||
.public PaletteData_Init
|
||||
|
@ -2,8 +2,8 @@
|
||||
#pragma once
|
||||
.public CopyU16StringArrayN
|
||||
.public TextFlags_SetCanABSpeedUpPrint
|
||||
.public sub_02002B50
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetAutoScrollParam
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public FontID_Alloc
|
||||
.public FontID_Release
|
||||
.public LoadFontPal0
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public TextFlags_SetCanABSpeedUpPrint
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public FontID_Alloc
|
||||
.public FontID_Release
|
||||
.public FontID_String_GetWidth
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public TextFlags_SetCanABSpeedUpPrint
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public FontID_Alloc
|
||||
.public FontID_Release
|
||||
.public FontID_String_GetWidth
|
||||
|
@ -1,42 +0,0 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public RenderText
|
||||
.public sub_020027F0
|
||||
.public TextFlags_SetCanABSpeedUpPrint
|
||||
.public sub_02002B50
|
||||
.public sub_02002B8C
|
||||
.public sub_02002BA8
|
||||
.public sub_02002BC4
|
||||
.public sub_02002BD4
|
||||
.public sub_02002BE4
|
||||
.public sub_02002BF4
|
||||
.public sub_02002C04
|
||||
.public sub_02002C20
|
||||
.public sub_02002C40
|
||||
.public sub_02002C60
|
||||
.public sub_02002C90
|
||||
.public FontID_TryLoadGlyph
|
||||
.public FontID_FlatArray_GetWidthFirstLine
|
||||
.public GetFontAttribute
|
||||
.public PlaySE
|
||||
.public sub_0200EB68
|
||||
.public BgCommitTilemapBufferToVram
|
||||
.public FillBgTilemapRect
|
||||
.public CopyWindowToVram
|
||||
.public FillWindowPixelBuffer
|
||||
.public CopyGlyphToWindow
|
||||
.public ScrollWindow
|
||||
.public GetWindowBgId
|
||||
.public GetWindowWidth
|
||||
.public GetWindowHeight
|
||||
.public GetWindowX
|
||||
.public GetWindowY
|
||||
.public MsgArray_SkipControlCode
|
||||
.public MsgArray_GetControlCode
|
||||
.public MsgArray_ControlCodeGetField
|
||||
.public GenerateFontHalfRowLookupTable
|
||||
.public RenderScreenFocusIndicatorTile
|
||||
.public TouchscreenHitbox_TouchHeldIsIn
|
||||
.public TouchscreenHitbox_TouchNewIsIn
|
||||
.public GF_AssertFail
|
||||
.public gSystem
|
@ -1,6 +1,6 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public sub_020027F0
|
||||
.public TextPrinter_SetDownArrowBaseTile
|
||||
.public CreateSysTaskAndEnvironment
|
||||
.public DestroySysTaskAndEnvironment
|
||||
.public AllocAndReadWholeNarcMemberByIdPair
|
||||
|
@ -1,8 +1,8 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public TextFlags_SetCanABSpeedUpPrint
|
||||
.public sub_02002B50
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetAutoScrollParam
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public LoadFontPal0
|
||||
.public LoadFontPal1
|
||||
.public LoadUserFrameGfx2
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public TextFlags_SetCanABSpeedUpPrint
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public FontID_Alloc
|
||||
.public FontID_Release
|
||||
.public PaletteData_Init
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public RegisterMainOverlay
|
||||
.public sub_02002B8C
|
||||
.public TextFlags_SetCanTouchSpeedUpPrint
|
||||
.public LoadFontPal0
|
||||
.public OverlayManager_CreateAndGetData
|
||||
.public OverlayManager_GetData
|
||||
|
@ -558,9 +558,9 @@ ov01_021F4360: ; 0x021F4360
|
||||
mov r0, #1
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #0
|
||||
bl sub_02002B50
|
||||
bl TextFlags_SetAutoScrollParam
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
add r0, r4, #0
|
||||
ldr r1, [r4]
|
||||
add r0, #0x1c
|
||||
|
@ -1149,9 +1149,9 @@ _0225476A:
|
||||
mov r0, #1
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #0
|
||||
bl sub_02002B50
|
||||
bl TextFlags_SetAutoScrollParam
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
ldr r0, _022547D0 ; =ov03_022598A0
|
||||
mov r3, #0
|
||||
ldr r2, [r0]
|
||||
|
@ -16950,7 +16950,7 @@ _021EFB18:
|
||||
add r0, #0x58
|
||||
bl CopyWindowToVram
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
add r0, r4, #0
|
||||
bl ov101_021F0B84
|
||||
mov r0, #1
|
||||
@ -17593,9 +17593,9 @@ _021F001A:
|
||||
bl ov101_021F1FF4
|
||||
_021F0026:
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
ldr r0, _021F0038 ; =ov101_021F8400
|
||||
bl sub_02002C20
|
||||
bl TextFlags_SetFastForwardTouchButtonHitbox
|
||||
add r0, r4, #0
|
||||
pop {r3, r4, r5, pc}
|
||||
nop
|
||||
@ -17620,8 +17620,8 @@ ov101_021F003C: ; 0x021F003C
|
||||
add r0, #0x58
|
||||
bl CopyWindowToVram
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl sub_02002C40
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
bl TextFlags_UnsetFastForwardTouchButtonHitbox
|
||||
add r0, r4, #0
|
||||
mov r1, #0
|
||||
bl ov101_021F0464
|
||||
@ -18273,7 +18273,7 @@ _021F0586:
|
||||
cmp r6, #4
|
||||
blt _021F0586
|
||||
ldr r0, _021F05C8 ; =0x000003E1
|
||||
bl sub_020027F0
|
||||
bl TextPrinter_SetDownArrowBaseTile
|
||||
add sp, #0x14
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.balign 4, 0
|
||||
@ -18344,7 +18344,7 @@ _021F0628:
|
||||
add r6, #0x44
|
||||
strb r0, [r6]
|
||||
mov r0, #1
|
||||
bl sub_02002BA8
|
||||
bl TextFlags_SetAlternateDownArrow
|
||||
mov r0, #1
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
pop {r4, r5, r6, pc}
|
||||
@ -18373,7 +18373,7 @@ _021F0660:
|
||||
ldr r0, [r6, #0x14]
|
||||
bl DestroyMsgData
|
||||
mov r0, #0
|
||||
bl sub_02002BA8
|
||||
bl TextFlags_SetAlternateDownArrow
|
||||
mov r0, #0
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
pop {r4, r5, r6, pc}
|
||||
@ -22037,7 +22037,7 @@ ov101_021F2220: ; 0x021F2220
|
||||
mov r0, #0
|
||||
pop {r4, pc}
|
||||
_021F223A:
|
||||
bl sub_02002C04
|
||||
bl TextFlags_GetIsTouchSpeedingUpPrint
|
||||
add r4, #0xaa
|
||||
strb r0, [r4]
|
||||
mov r0, #1
|
||||
|
@ -617,7 +617,7 @@ ov103_021ECE18: ; 0x021ECE18
|
||||
lsl r1, r1, #4
|
||||
str r0, [r4, r1]
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
pop {r4, pc}
|
||||
.balign 4, 0
|
||||
thumb_func_end ov103_021ECE18
|
||||
@ -627,7 +627,7 @@ ov103_021ECE54: ; 0x021ECE54
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
mov r0, #0x23
|
||||
lsl r0, r0, #4
|
||||
ldr r0, [r4, r0]
|
||||
|
@ -768,7 +768,7 @@ _021E5E46:
|
||||
mov r0, #1
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
ldr r0, _021E5F00 ; =ov111_021E5DF0
|
||||
add r1, r4, #0
|
||||
bl Main_SetVBlankIntrCB
|
||||
|
@ -3999,7 +3999,7 @@ ov112_021E7768: ; 0x021E7768
|
||||
add r0, r4, #0
|
||||
bl ov112_021EA4F4
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
add r0, r4, #0
|
||||
bl ov112_021E9C98
|
||||
ldr r0, _021E77D8 ; =ov112_021E79A8
|
||||
@ -4173,7 +4173,7 @@ ov112_021E7910: ; 0x021E7910
|
||||
mov r0, #0
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
add r0, r4, #0
|
||||
bl ov112_021E77E4
|
||||
add r0, r5, #0
|
||||
|
@ -1109,9 +1109,9 @@ _022386C0:
|
||||
mov r0, #0
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #0
|
||||
bl sub_02002B50
|
||||
bl TextFlags_SetAutoScrollParam
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
ldr r0, [r4, #8]
|
||||
mov r1, #3
|
||||
bl WindowArray_Delete
|
||||
@ -4950,19 +4950,19 @@ ov12_0223A620: ; 0x0223A620
|
||||
beq _0223A648
|
||||
_0223A634:
|
||||
mov r0, #1
|
||||
bl sub_02002B50
|
||||
bl TextFlags_SetAutoScrollParam
|
||||
mov r0, #1
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
pop {r3, pc}
|
||||
_0223A648:
|
||||
mov r0, #3
|
||||
bl sub_02002B50
|
||||
bl TextFlags_SetAutoScrollParam
|
||||
mov r0, #1
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
pop {r3, pc}
|
||||
.balign 4, 0
|
||||
_0223A65C: .word 0x00000404
|
||||
|
@ -253,8 +253,8 @@ _022662C0:
|
||||
_022662CA:
|
||||
add r0, r4, #0
|
||||
bl FreeToHeap
|
||||
bl sub_02002BD4
|
||||
bl sub_02002BF4
|
||||
bl TextFlags_ResetHasSpedUpInput
|
||||
bl TextFlags_ResetHasContinuedInput
|
||||
ldr r0, _02266314 ; =ov12_02269954
|
||||
ldr r2, _02266318 ; =0x0000D6D8
|
||||
add r1, r6, #0
|
||||
@ -7045,12 +7045,12 @@ _02269950: .word 0x00000694
|
||||
ov12_02269954: ; 0x02269954
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r5, r1, #0
|
||||
bl sub_02002BC4
|
||||
bl TextFlags_GetHasSpedUpInput
|
||||
add r6, r0, #0
|
||||
bl sub_02002BE4
|
||||
bl TextFlags_GetHasContinuedInput
|
||||
add r7, r0, #0
|
||||
bl sub_02002BD4
|
||||
bl sub_02002BF4
|
||||
bl TextFlags_ResetHasSpedUpInput
|
||||
bl TextFlags_ResetHasContinuedInput
|
||||
ldr r0, [r5]
|
||||
bl BattleSystem_GetPaletteData
|
||||
add r4, r0, #0
|
||||
|
@ -96,7 +96,7 @@ Bag_Init: ; 0x021F9380
|
||||
add r0, r4, #0
|
||||
bl ov15_021FE020
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
add r0, r4, #0
|
||||
bl ov15_021FE4C8
|
||||
add r0, r4, #0
|
||||
@ -11518,7 +11518,7 @@ _021FEF6C:
|
||||
mov r0, #1
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #0
|
||||
bl sub_02002B50
|
||||
bl TextFlags_SetAutoScrollParam
|
||||
mov r0, #9
|
||||
lsl r0, r0, #6
|
||||
ldr r0, [r5, r0]
|
||||
|
@ -4514,7 +4514,7 @@ ov27_0225C250: ; 0x0225C250
|
||||
mov r1, #1
|
||||
bl GfGfx_EngineBTogglePlanes
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
add r0, r6, #0
|
||||
add sp, #8
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
@ -4561,7 +4561,7 @@ _0225C3C4:
|
||||
ldr r0, [r7, r0]
|
||||
bl SpriteList_Delete
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
add r0, r7, #0
|
||||
bl ov27_0225C930
|
||||
mov r0, #4
|
||||
|
@ -90,9 +90,9 @@ ov31_0225D520: ; 0x0225D520
|
||||
mov r1, #1
|
||||
bl GfGfx_EngineBTogglePlanes
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
ldr r0, _0225D608 ; =_0225EE40
|
||||
bl sub_02002C20
|
||||
bl TextFlags_SetFastForwardTouchButtonHitbox
|
||||
add r0, r5, #0
|
||||
add sp, #8
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
@ -239,7 +239,7 @@ ov31_0225D710: ; 0x0225D710
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
add r0, r4, #0
|
||||
bl ov31_0225DBA0
|
||||
add r0, r4, #0
|
||||
|
@ -2501,9 +2501,9 @@ ov39_02228140: ; 0x02228140
|
||||
mov r0, #1
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #0
|
||||
bl sub_02002B50
|
||||
bl TextFlags_SetAutoScrollParam
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
ldr r0, _02228304 ; =ov39_02228418
|
||||
add r1, r5, #0
|
||||
bl Main_SetVBlankIntrCB
|
||||
@ -2659,9 +2659,9 @@ _02228394:
|
||||
mov r0, #0
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #0
|
||||
bl sub_02002B50
|
||||
bl TextFlags_SetAutoScrollParam
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
bl sub_0203A914
|
||||
add r0, r5, #0
|
||||
bl OverlayManager_FreeData
|
||||
|
@ -88,7 +88,7 @@ ov40_0222B6E0: ; 0x0222B6E0
|
||||
add r0, r4, #0
|
||||
bl ov40_0222C360
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
ldr r0, _0222B928 ; =ov40_0222BD04
|
||||
add r1, r4, #0
|
||||
bl Main_SetVBlankIntrCB
|
||||
@ -347,7 +347,7 @@ _0222B9FE:
|
||||
ldr r0, [r5, #0x2c]
|
||||
bl TouchHitboxController_Destroy
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
ldr r7, _0222BA88 ; =0x0000087C
|
||||
mov r6, #0
|
||||
add r4, r5, #0
|
||||
|
@ -2240,7 +2240,7 @@ _02246F76:
|
||||
cmp r0, #1
|
||||
bne _02246F9E
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
ldr r0, _02247138 ; =0x00000568
|
||||
mov r1, #0x1b
|
||||
add r0, r4, r0
|
||||
@ -2293,7 +2293,7 @@ _02246FD8:
|
||||
mov r3, #0x30
|
||||
bl ov41_0224AC08
|
||||
add r0, r6, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
ldr r0, [r5]
|
||||
add r0, r0, #1
|
||||
str r0, [r5]
|
||||
|
@ -494,7 +494,7 @@ _0222A2DE:
|
||||
mov r0, #1
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
pop {r4, r5, r6, pc}
|
||||
.balign 4, 0
|
||||
thumb_func_end ov43_0222A290
|
||||
@ -507,7 +507,7 @@ ov43_0222A2F0: ; 0x0222A2F0
|
||||
add r4, r1, #0
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
ldr r0, [r4, #4]
|
||||
ldr r1, [r5]
|
||||
bl sub_02018410
|
||||
@ -764,9 +764,9 @@ ov43_0222A48C: ; 0x0222A48C
|
||||
mov r0, #1
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #0
|
||||
bl sub_02002B50
|
||||
bl TextFlags_SetAutoScrollParam
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
pop {r4, r5, r6, pc}
|
||||
nop
|
||||
_0222A4FC: .word gSystem + 0x60
|
||||
@ -1402,7 +1402,7 @@ ov43_0222A9F4: ; 0x0222A9F4
|
||||
cmp r0, #1
|
||||
bne _0222AA22
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
add r0, r5, #0
|
||||
add r0, #0x84
|
||||
ldr r0, [r0]
|
||||
@ -1422,7 +1422,7 @@ _0222AA22:
|
||||
ldr r2, [r5, #0x78]
|
||||
bl StringExpandPlaceholders
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
mov r0, #4
|
||||
str r0, [sp]
|
||||
mov r0, #2
|
||||
@ -1457,7 +1457,7 @@ ov43_0222AA70: ; 0x0222AA70
|
||||
cmp r0, #1
|
||||
bne _0222AA98
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
add r0, r4, #0
|
||||
add r0, #0x84
|
||||
ldr r0, [r0]
|
||||
@ -2794,7 +2794,7 @@ ov43_0222B4BC: ; 0x0222B4BC
|
||||
add r2, r6, #0
|
||||
bl StringExpandPlaceholders
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
mov r3, #0
|
||||
str r3, [sp]
|
||||
ldr r0, [r5, #0x38]
|
||||
@ -2836,8 +2836,8 @@ ov43_0222B534: ; 0x0222B534
|
||||
cmp r0, #0
|
||||
bne _0222B556
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl sub_02002C04
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
bl TextFlags_GetIsTouchSpeedingUpPrint
|
||||
str r0, [r4]
|
||||
mov r0, #1
|
||||
pop {r4, pc}
|
||||
@ -4923,7 +4923,7 @@ ov43_0222C550: ; 0x0222C550
|
||||
add r2, r6, #0
|
||||
bl StringExpandPlaceholders
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
mov r3, #0
|
||||
add r0, r5, #0
|
||||
add r2, r5, #0
|
||||
@ -4972,8 +4972,8 @@ ov43_0222C5D8: ; 0x0222C5D8
|
||||
cmp r0, #0
|
||||
bne _0222C5FC
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl sub_02002C04
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
bl TextFlags_GetIsTouchSpeedingUpPrint
|
||||
str r0, [r4]
|
||||
mov r0, #1
|
||||
pop {r4, pc}
|
||||
|
@ -1171,7 +1171,7 @@ ov44_0222A758: ; 0x0222A758
|
||||
_0222A780:
|
||||
bl UnloadDwcOverlay
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
b _0222A792
|
||||
_0222A78C:
|
||||
bl ov00_021E6EBC
|
||||
@ -10966,9 +10966,9 @@ _0222F5F8:
|
||||
mov r0, #1
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #0
|
||||
bl sub_02002B50
|
||||
bl TextFlags_SetAutoScrollParam
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
mov r3, #0
|
||||
str r3, [sp]
|
||||
str r4, [sp, #4]
|
||||
|
@ -2628,9 +2628,9 @@ _02259B02:
|
||||
mov r0, #1
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #0
|
||||
bl sub_02002B50
|
||||
bl TextFlags_SetAutoScrollParam
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
ldr r0, [r5]
|
||||
bl Save_PlayerData_GetProfileAddr
|
||||
mov r1, #0xfd
|
||||
|
@ -1159,7 +1159,7 @@ _022385C4:
|
||||
mov r0, #1
|
||||
str r0, [r4, #0x40]
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
mov r0, #0xff
|
||||
add r4, #0x47
|
||||
strb r0, [r4]
|
||||
@ -1182,7 +1182,7 @@ _022385F4:
|
||||
ldr r0, _02238618 ; =0x000005DC
|
||||
bl PlaySE
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
mov r0, #0xff
|
||||
add r4, #0x47
|
||||
strb r0, [r4]
|
||||
@ -2063,7 +2063,7 @@ ov59_02238CFC: ; 0x02238CFC
|
||||
cmp r4, #0
|
||||
beq _02238D4E
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
mov r3, #0
|
||||
str r3, [sp]
|
||||
str r4, [sp, #4]
|
||||
@ -7443,7 +7443,7 @@ ov59_0223B68C: ; 0x0223B68C
|
||||
mov r0, #1
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
ldr r3, [r6]
|
||||
mov r0, #0
|
||||
mov r1, #0x1b
|
||||
@ -7504,7 +7504,7 @@ ov59_0223B6FC: ; 0x0223B6FC
|
||||
ldr r0, [r4, #0x5c]
|
||||
bl DestroyMsgData
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
mov r0, #0
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #4
|
||||
|
@ -197,7 +197,7 @@ ov68_021E5A58: ; 0x021E5A58
|
||||
and r0, r1
|
||||
str r0, [r2]
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
ldr r0, [r4]
|
||||
ldr r0, [r0, #0xc]
|
||||
bl sub_020183F0
|
||||
@ -277,7 +277,7 @@ ov68_021E5B14: ; 0x021E5B14
|
||||
ldr r1, [r4, r1]
|
||||
bl sub_02018410
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
bl GF_DestroyVramTransferManager
|
||||
mov r0, #0
|
||||
add r1, r0, #0
|
||||
|
@ -106,9 +106,9 @@ _021E5960:
|
||||
mov r0, #1
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #0
|
||||
bl sub_02002B50
|
||||
bl TextFlags_SetAutoScrollParam
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
add r0, r5, #0
|
||||
bl ov69_021E6138
|
||||
mov r0, #1
|
||||
|
@ -1682,7 +1682,7 @@ _02238446:
|
||||
_0223856E:
|
||||
bl sub_02034D8C
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
mov r0, #0
|
||||
str r0, [r5]
|
||||
add sp, #0x10
|
||||
@ -1888,7 +1888,7 @@ ov70_022386F4: ; 0x022386F4
|
||||
bl ov70_0223887C
|
||||
bl sub_02034DE0
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
ldr r0, [r4, #4]
|
||||
bl FreeToHeap
|
||||
ldr r0, [r4]
|
||||
|
@ -849,7 +849,7 @@ _02237E36:
|
||||
mov r2, #1
|
||||
bl sub_02004EC4
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
ldr r2, _02237F98 ; =0x04000304
|
||||
ldrh r1, [r2]
|
||||
lsr r0, r2, #0xb
|
||||
@ -1005,7 +1005,7 @@ NintendoWfc_Exit: ; 0x02238070
|
||||
pop {r3, r4, r5, pc}
|
||||
_02238086:
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
mov r0, #4
|
||||
bl FontID_Release
|
||||
ldr r0, [r4, #0x24]
|
||||
|
@ -24356,7 +24356,7 @@ ov74_022330D0: ; 0x022330D0
|
||||
beq _0223310C
|
||||
bl ov74_02232B18
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
ldr r0, _0223312C ; =ov74_0223C9B8
|
||||
lsl r1, r4, #2
|
||||
ldr r0, [r0, r1]
|
||||
@ -24384,7 +24384,7 @@ _0223310C:
|
||||
cmp r0, #0
|
||||
bne _02233126
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
mov r0, #1
|
||||
pop {r3, r4, r5, pc}
|
||||
_02233126:
|
||||
@ -24405,7 +24405,7 @@ ov74_02233134: ; 0x02233134
|
||||
beq _02233170
|
||||
bl ov74_02232B18
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
ldr r0, _02233194 ; =ov74_0223C9B8
|
||||
lsl r1, r4, #2
|
||||
ldr r0, [r0, r1]
|
||||
@ -24435,7 +24435,7 @@ _02233170:
|
||||
add r0, r5, #0
|
||||
bl ov74_02232F5C
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
mov r0, #1
|
||||
pop {r3, r4, r5, pc}
|
||||
_02233190:
|
||||
@ -24458,7 +24458,7 @@ ov74_0223319C: ; 0x0223319C
|
||||
beq _022331DE
|
||||
bl ov74_02232B18
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
mov r1, #0x46
|
||||
ldr r0, [r5, #8]
|
||||
lsl r1, r1, #4
|
||||
@ -24488,7 +24488,7 @@ _022331DE:
|
||||
cmp r0, #0
|
||||
bne _0223321C
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
mov r0, #1
|
||||
pop {r3, r4, r5, pc}
|
||||
_022331FC:
|
||||
@ -24502,7 +24502,7 @@ _022331FC:
|
||||
beq _0223321C
|
||||
_0223320C:
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
ldr r0, _02233220 ; =SEQ_SE_DP_SELECT
|
||||
bl PlaySE
|
||||
mov r0, #1
|
||||
|
@ -975,9 +975,9 @@ _0224707C:
|
||||
mov r0, #1
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #0
|
||||
bl sub_02002B50
|
||||
bl TextFlags_SetAutoScrollParam
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
ldr r0, _02247114 ; =ov75_02247234
|
||||
add r1, r5, #0
|
||||
bl Main_SetVBlankIntrCB
|
||||
@ -1106,9 +1106,9 @@ _022471A4:
|
||||
mov r0, #0
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #0
|
||||
bl sub_02002B50
|
||||
bl TextFlags_SetAutoScrollParam
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
bl sub_0203A914
|
||||
add r0, r5, #0
|
||||
bl OverlayManager_FreeData
|
||||
|
@ -533,7 +533,7 @@ ov80_0222C17C: ; 0x0222C17C
|
||||
cmp r0, #0
|
||||
bne _0222C196
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
mov r0, #1
|
||||
pop {r3, pc}
|
||||
_0222C196:
|
||||
@ -4999,18 +4999,18 @@ ov80_0222E344: ; 0x0222E344
|
||||
add r4, r2, #0
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
ldr r0, [sp, #0x20]
|
||||
bl sub_02002B50
|
||||
bl TextFlags_SetAutoScrollParam
|
||||
cmp r4, #0
|
||||
beq _0222E362
|
||||
cmp r4, #0xff
|
||||
bne _0222E36A
|
||||
_0222E362:
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
b _0222E370
|
||||
_0222E36A:
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
_0222E370:
|
||||
mov r3, #0
|
||||
str r3, [sp]
|
||||
@ -7274,7 +7274,7 @@ ov80_0222F4D0: ; 0x0222F4D0
|
||||
cmp r0, #0
|
||||
bne _0222F4EA
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
mov r0, #1
|
||||
pop {r3, pc}
|
||||
_0222F4EA:
|
||||
|
@ -130,7 +130,7 @@ _0223DE5C:
|
||||
add r0, r4, #0
|
||||
bl ov81_02240D64
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
ldrb r0, [r4, #9]
|
||||
bl ov80_02237254
|
||||
cmp r0, #1
|
||||
@ -660,7 +660,7 @@ _0223E2A8:
|
||||
strh r2, [r0, #2]
|
||||
_0223E2CE:
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
ldr r0, _0223E30C ; =0x0000046C
|
||||
ldr r0, [r4, r0]
|
||||
bl ov81_02241BC8
|
||||
|
@ -86,7 +86,7 @@ _0223DE0E:
|
||||
mov r0, #0
|
||||
str r0, [r6]
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
mov r0, #1
|
||||
pop {r4, r5, r6, pc}
|
||||
.balign 4, 0
|
||||
|
@ -276,9 +276,9 @@ _02258A4A:
|
||||
mov r0, #1
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #0
|
||||
bl sub_02002B50
|
||||
bl TextFlags_SetAutoScrollParam
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
ldr r0, _02258AF8 ; =ov89_02258FF4
|
||||
ldr r2, _02258AFC ; =0x0000EA60
|
||||
add r1, r5, #0
|
||||
@ -871,9 +871,9 @@ ov89_02258F00: ; 0x02258F00
|
||||
mov r0, #0
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #0
|
||||
bl sub_02002B50
|
||||
bl TextFlags_SetAutoScrollParam
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
bl sub_0203A914
|
||||
add r0, r5, #0
|
||||
bl OverlayManager_FreeData
|
||||
|
@ -1635,7 +1635,7 @@ ov90_0225938C: ; 0x0225938C
|
||||
bl Options_GetFrame
|
||||
add r4, r0, #0
|
||||
mov r0, #1
|
||||
bl sub_02002C60
|
||||
bl TextFlags_BeginAutoScroll
|
||||
lsl r0, r4, #0x18
|
||||
lsr r0, r0, #0x18
|
||||
str r0, [sp]
|
||||
@ -1724,7 +1724,7 @@ _0225943E:
|
||||
add r6, #0x10
|
||||
cmp r4, #2
|
||||
blt _0225943E
|
||||
bl sub_02002C90
|
||||
bl TextFlags_EndAutoScroll
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
.balign 4, 0
|
||||
thumb_func_end ov90_02259434
|
||||
|
@ -563,11 +563,11 @@ ov93_0225C768: ; 0x0225C768
|
||||
mov r1, #1
|
||||
bl GfGfx_EngineBTogglePlanes
|
||||
mov r0, #1
|
||||
bl sub_02002B50
|
||||
bl TextFlags_SetAutoScrollParam
|
||||
mov r0, #0
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
ldr r0, [r5, #0x28]
|
||||
bl sub_0200E2B0
|
||||
mov r1, #0x75
|
||||
@ -1075,9 +1075,9 @@ _0225CD72:
|
||||
mov r0, #0
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #0
|
||||
bl sub_02002B50
|
||||
bl TextFlags_SetAutoScrollParam
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
bl sub_0203A914
|
||||
mov r0, #1
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
|
@ -2681,7 +2681,7 @@ ov95_021E6D70: ; 0x021E6D70
|
||||
add r0, r4, #4
|
||||
bl ov95_021E619C
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
ldr r0, [r4, #4]
|
||||
ldr r1, [r4, #0x54]
|
||||
ldr r2, [r4, #0x50]
|
||||
@ -2805,7 +2805,7 @@ ov95_021E6F0C: ; 0x021E6F0C
|
||||
ldr r0, [r4, #8]
|
||||
bl PaletteData_Free
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
ldr r0, [r4, #4]
|
||||
mov r1, #1
|
||||
bl FreeBgTilemapBuffer
|
||||
|
@ -116,17 +116,17 @@ _021E5986:
|
||||
mov r0, #1
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #0
|
||||
bl sub_02002B50
|
||||
bl TextFlags_SetAutoScrollParam
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
b _021E5A10
|
||||
_021E59FE:
|
||||
mov r0, #0
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #1
|
||||
bl sub_02002B50
|
||||
bl TextFlags_SetAutoScrollParam
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
_021E5A10:
|
||||
add r0, r4, #0
|
||||
mov r1, #0
|
||||
@ -352,9 +352,9 @@ _021E5BBC:
|
||||
mov r0, #0
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #0
|
||||
bl sub_02002B50
|
||||
bl TextFlags_SetAutoScrollParam
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
ldr r0, _021E5C24 ; =0x00000614
|
||||
ldr r0, [r4, r0]
|
||||
bl ov96_021E9320
|
||||
|
@ -195,7 +195,7 @@ _021E5C2C:
|
||||
mov r0, #4
|
||||
bl sub_02021148
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
mov r0, #1
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r1, #0
|
||||
@ -505,7 +505,7 @@ TrainerCardMainApp_Exit: ; 0x021E5EC8
|
||||
bl ov51_021E6644
|
||||
bl sub_02021238
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
mov r0, #0
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
add r0, r4, #0
|
||||
|
@ -71,7 +71,7 @@ _021E80D6:
|
||||
bl NewMsgDataFromNarc
|
||||
str r0, [r4, #0x14]
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
mov r0, #1
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #4
|
||||
@ -271,7 +271,7 @@ _021E82FC:
|
||||
bl ov52_021E85A0
|
||||
bl sub_02021238
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
mov r0, #0
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
ldr r0, [r6, #0x14]
|
||||
|
1503
asm/render_text.s
1503
asm/render_text.s
File diff suppressed because it is too large
Load Diff
@ -799,7 +799,7 @@ DrawFrameAndWindow2: ; 0x0200E998
|
||||
bl CopyWindowToVram
|
||||
_0200E9B2:
|
||||
add r0, r6, #0
|
||||
bl sub_020027F0
|
||||
bl TextPrinter_SetDownArrowBaseTile
|
||||
pop {r4, r5, r6, pc}
|
||||
.balign 4, 0
|
||||
thumb_func_end DrawFrameAndWindow2
|
||||
@ -1668,7 +1668,7 @@ _0200F094:
|
||||
bl CopyWindowToVram
|
||||
_0200F0A0:
|
||||
add r0, r6, #0
|
||||
bl sub_020027F0
|
||||
bl TextPrinter_SetDownArrowBaseTile
|
||||
add sp, #0x28
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
.balign 4, 0
|
||||
|
@ -120,9 +120,9 @@ sub_0205B5B4: ; 0x0205B5B4
|
||||
add r6, r2, #0
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #0
|
||||
bl sub_02002B50
|
||||
bl TextFlags_SetAutoScrollParam
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
add r0, r6, #0
|
||||
bl Options_GetTextFrameDelay
|
||||
mov r3, #0
|
||||
@ -149,9 +149,9 @@ sub_0205B5EC: ; 0x0205B5EC
|
||||
add r4, r3, #0
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
ldr r0, [sp, #0x24]
|
||||
bl sub_02002B50
|
||||
bl TextFlags_SetAutoScrollParam
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
mov r3, #0
|
||||
str r3, [sp]
|
||||
str r4, [sp, #4]
|
||||
|
@ -907,7 +907,7 @@ sub_02075A7C: ; 0x02075A7C
|
||||
mov r0, #1
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
bl sub_0203A880
|
||||
add r0, r4, #0
|
||||
add sp, #0x24
|
||||
@ -1024,7 +1024,7 @@ sub_02075D4C: ; 0x02075D4C
|
||||
mov r0, #0
|
||||
bl TextFlags_SetCanABSpeedUpPrint
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
ldr r0, _02075E10 ; =gSystem + 0x60
|
||||
mov r1, #1
|
||||
strb r1, [r0, #9]
|
||||
|
@ -35,7 +35,7 @@ sub_020921A4: ; 0x020921A4
|
||||
ldr r0, [r0, #8]
|
||||
str r0, [r4, #0x34]
|
||||
mov r0, #1
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
mov r0, #1
|
||||
pop {r3, r4, r5, pc}
|
||||
thumb_func_end sub_020921A4
|
||||
@ -123,7 +123,7 @@ sub_02092288: ; 0x02092288
|
||||
bl OverlayManager_GetData
|
||||
ldr r4, [r0]
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
bl TextFlags_SetCanTouchSpeedUpPrint
|
||||
add r0, r5, #0
|
||||
bl OverlayManager_FreeData
|
||||
add r0, r4, #0
|
||||
|
@ -7,11 +7,11 @@
|
||||
typedef u8 FontID;
|
||||
struct FontData;
|
||||
|
||||
struct GlyphInfo {
|
||||
typedef struct GlyphInfo {
|
||||
u8 data[0x80];
|
||||
u8 width;
|
||||
u8 height;
|
||||
};
|
||||
} GlyphInfo;
|
||||
|
||||
struct FontInfo {
|
||||
u8 maxLetterWidth;
|
||||
@ -39,7 +39,7 @@ typedef struct TextPrinterTemplate {
|
||||
u16 letterSpacing, lineSpacing;
|
||||
u8 unk14;
|
||||
u8 fgColor, bgColor, shadowColor;
|
||||
u16 unk18;
|
||||
u16 glyphTable;
|
||||
u8 unk1A;
|
||||
u8 unk1B;
|
||||
} TextPrinterTemplate;
|
||||
|
@ -2,8 +2,22 @@
|
||||
#define POKEHEARTGOLD_RENDER_TEXT_H
|
||||
|
||||
#include "text.h"
|
||||
#include "touchscreen.h"
|
||||
|
||||
struct TextPrinterSubStruct {
|
||||
typedef struct TextFlags {
|
||||
u8 canABSpeedUpPrint : 1;
|
||||
u8 useAlternateDownArrow : 1;
|
||||
u8 autoScroll : 1;
|
||||
u8 forceMidTextSpeed : 1;
|
||||
u8 canTouchSpeedUpPrint : 1;
|
||||
u8 autoScrollCanSpeedUp : 1;
|
||||
u8 hasSpedUpInput : 1;
|
||||
u8 hasContinuedInput : 1;
|
||||
u8 touchIsSpeedingUpPrint : 1;
|
||||
u8 touchHitboxActive : 1;
|
||||
} TextFlags;
|
||||
|
||||
typedef struct TextPrinterSubStruct {
|
||||
u8 fontId : 4; // 0x14
|
||||
u8 hasPrintBeenSpedUp : 1;
|
||||
u8 unk : 3;
|
||||
@ -11,13 +25,22 @@ struct TextPrinterSubStruct {
|
||||
u8 downArrowYPosIdx : 2;
|
||||
u8 hasFontIdBeenSet : 1;
|
||||
u8 autoScrollDelay : 8;
|
||||
};
|
||||
} TextPrinterSubStruct;
|
||||
|
||||
RenderResult RenderText(TextPrinter *printer);
|
||||
void TextFlags_SetCanABSpeedUpPrint(BOOL enable);
|
||||
void sub_020027F0(int a0);
|
||||
void sub_02002B50(u32 a0);
|
||||
void sub_02002B8C(BOOL enable);
|
||||
void sub_02002C60(BOOL a0);
|
||||
void TextPrinter_SetDownArrowBaseTile(int tile);
|
||||
void TextFlags_SetAutoScrollParam(int a0);
|
||||
void TextFlags_SetCanTouchSpeedUpPrint(BOOL enable);
|
||||
void TextFlags_SetAlternateDownArrow(BOOL enable);
|
||||
u8 TextFlags_GetHasSpedUpInput();
|
||||
void TextFlags_ResetHasSpedUpInput(void);
|
||||
u8 TextFlags_GetHasContinuedInput(void);
|
||||
void TextFlags_ResetHasContinuedInput(void);
|
||||
BOOL TextFlags_GetIsTouchSpeedingUpPrint(void);
|
||||
void TextFlags_SetFastForwardTouchButtonHitbox(const TouchscreenHitbox *hitbox);
|
||||
void TextFlags_UnsetFastForwardTouchButtonHitbox(void);
|
||||
void TextFlags_BeginAutoScroll(BOOL noSpeedUp);
|
||||
void TextFlags_EndAutoScroll(void);
|
||||
|
||||
#endif // POKEHEARTGOLD_RENDER_TEXT_H
|
||||
|
@ -19,5 +19,6 @@ struct PokepicManager *DrawPokemonPicFromSpecies(BgConfig *bgConfig, GFBgLayer l
|
||||
struct PokepicManager *DrawPokemonPicFromMon(BgConfig *bgConfig, GFBgLayer layer, int x, int y, u8 paletteNum, u16 baseTile, Pokemon *mon, HeapID heapId);
|
||||
void sub_0200E398(BgConfig *bgConfig, u32 a1, u32 a2, u32 a3, HeapID heapId);
|
||||
u32 sub_0200E3D8(void);
|
||||
void sub_0200EB68(Window *window, int a1);
|
||||
|
||||
#endif // POKEHEARTGOLD_RENDER_WINDOW_H
|
||||
|
@ -4,8 +4,8 @@
|
||||
#include "global.h"
|
||||
|
||||
const u16 *MsgArray_SkipControlCode(const u16 *arr);
|
||||
u16 MsgArray_GetControlCode(const u16 *arr);
|
||||
int MsgArray_GetControlCode(const u16 *arr);
|
||||
BOOL MsgArray_ControlCodeIsStrVar(const u16 *arr);
|
||||
u16 MsgArray_ControlCodeGetField(const u16 *arr, u32 fieldno);
|
||||
int MsgArray_ControlCodeGetField(const u16 *arr, u32 fieldno);
|
||||
|
||||
#endif // HEARTGOLD_STRING_CONTROL_CODE_H
|
||||
|
2
main.lsf
2
main.lsf
@ -14,7 +14,7 @@ Static main
|
||||
Object src/list_menu.o
|
||||
Object src/list_menu_2d.o
|
||||
Object src/string_util.o
|
||||
Object asm/render_text.o
|
||||
Object src/render_text.o
|
||||
Object src/font.o
|
||||
Object src/palette.o
|
||||
Object src/sound.o
|
||||
|
@ -228,7 +228,7 @@ void ov12_02237BB8(BattleSystem *bsys) {
|
||||
NARC_Delete(unkNarcA);
|
||||
NARC_Delete(unkNarcB);
|
||||
|
||||
sub_020027F0(1);
|
||||
TextPrinter_SetDownArrowBaseTile(1);
|
||||
ov12_0223A620(bsys);
|
||||
|
||||
G2dRenderer_SetSubSurfaceCoords(SpriteRenderer_GetG2dRendererPtr(bsys->unk90), 0, FX32_CONST(272));
|
||||
|
@ -299,8 +299,8 @@ BOOL ChooseStarter_Init(OVY_MANAGER *ovy, int *state_p) {
|
||||
initBallModelPositions(work);
|
||||
createMonSprites(work);
|
||||
TextFlags_SetCanABSpeedUpPrint(FALSE);
|
||||
sub_02002B50(TRUE);
|
||||
sub_02002B8C(FALSE);
|
||||
TextFlags_SetAutoScrollParam(TRUE);
|
||||
TextFlags_SetCanTouchSpeedUpPrint(FALSE);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -540,8 +540,8 @@ BOOL ChooseStarter_Exit(OVY_MANAGER *ovy, int *state) {
|
||||
struct ChooseStarterArgs *args = OverlayManager_GetArgs(ovy);
|
||||
|
||||
TextFlags_SetCanABSpeedUpPrint(FALSE);
|
||||
sub_02002B50(FALSE);
|
||||
sub_02002B8C(FALSE);
|
||||
TextFlags_SetAutoScrollParam(FALSE);
|
||||
TextFlags_SetCanTouchSpeedUpPrint(FALSE);
|
||||
args->cursorPos = work->curSelection;
|
||||
Main_SetVBlankIntrCB(NULL, NULL);
|
||||
DeleteCameraTranslationWrapper(work->cameraTranslation);
|
||||
|
@ -558,7 +558,7 @@ BOOL OakSpeech_Init(OVY_MANAGER *ovyMan, int *pState) {
|
||||
data->namingScreenArgs_Rival = NamingScreen_CreateArgs(HEAP_ID_OAKS_SPEECH, NAME_SCREEN_RIVAL, 0, PLAYER_NAME_LENGTH, data->options, NULL);
|
||||
data->lastChosenGender = 0;
|
||||
data->frameDelayCounter = 0;
|
||||
sub_02002B8C(FALSE);
|
||||
TextFlags_SetCanTouchSpeedUpPrint(FALSE);
|
||||
FontID_Alloc(4, data->heapId);
|
||||
return TRUE;
|
||||
}
|
||||
@ -648,7 +648,7 @@ BOOL OakSpeech_Exit(OVY_MANAGER *ovyMan, int *pState) {
|
||||
OverlayManager_FreeData(ovyMan);
|
||||
DestroyHeap(heapId);
|
||||
RegisterMainOverlay(FS_OVERLAY_ID(OVY_36), &ov36_App_InitGameState_AfterOakSpeech);
|
||||
sub_02002B8C(FALSE);
|
||||
TextFlags_SetCanTouchSpeedUpPrint(FALSE);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -943,7 +943,7 @@ static BOOL OakSpeech_PrintDialogMsg(OakSpeechData *data, int msgNum, int waitBu
|
||||
DrawFrameAndWindow2(&data->dialogWindow, FALSE, 0x3E2, 4);
|
||||
|
||||
TextFlags_SetCanABSpeedUpPrint(TRUE);
|
||||
sub_02002B50(FALSE);
|
||||
TextFlags_SetAutoScrollParam(FALSE);
|
||||
|
||||
String *temp = String_New(0x400, data->heapId);
|
||||
data->string = String_New(0x400, data->heapId);
|
||||
|
@ -348,7 +348,7 @@ BOOL OptionsMenu_Init(OVY_MANAGER *manager, int *state) {
|
||||
data->frameNumText = String_New(40, data->heapId);
|
||||
|
||||
TextFlags_SetCanABSpeedUpPrint(FALSE);
|
||||
sub_02002B8C(FALSE);
|
||||
TextFlags_SetCanTouchSpeedUpPrint(FALSE);
|
||||
|
||||
sub_0200FBF4(PM_LCD_TOP, 0);
|
||||
sub_0200FBF4(PM_LCD_BOTTOM, 0);
|
||||
@ -382,7 +382,7 @@ BOOL OptionsMenu_Exit(OVY_MANAGER *manager, int *state) {
|
||||
String_Delete(data->frameNumText);
|
||||
|
||||
TextFlags_SetCanABSpeedUpPrint(TRUE);
|
||||
sub_02002B8C(TRUE);
|
||||
TextFlags_SetCanTouchSpeedUpPrint(TRUE);
|
||||
|
||||
OverlayManager_FreeData(manager);
|
||||
DestroyHeap(data->heapId);
|
||||
|
@ -773,7 +773,7 @@ void PartyMenu_PrintMessageOnWindow34(PartyMenu *partyMenu, int msgId, BOOL draw
|
||||
|
||||
void PartyMenu_PrintBufferedMessageOnWindow34(PartyMenu *partyMenu) {
|
||||
TextFlags_SetCanABSpeedUpPrint(TRUE);
|
||||
sub_02002B50(0);
|
||||
TextFlags_SetAutoScrollParam(0);
|
||||
partyMenu->textPrinterId = AddTextPrinterParameterized(&partyMenu->windows[PARTY_MENU_WINDOW_ID_34], 1, partyMenu->formattedStrBuf, 0, 0, Options_GetTextFrameDelay(partyMenu->args->options), TextPrinterCB_PartyMenuWin34Msg);
|
||||
}
|
||||
|
||||
|
@ -279,7 +279,7 @@ static BOOL PartyMenuApp_Init(OVY_MANAGER *manager, int *pState) {
|
||||
thunk_Sprite_SetPalIndex(partyMenu->sprites[PARTY_MENU_SPRITE_ID_CURSOR], 1);
|
||||
}
|
||||
sub_0207A89C(partyMenu);
|
||||
sub_02002B8C(TRUE);
|
||||
TextFlags_SetCanTouchSpeedUpPrint(TRUE);
|
||||
Main_SetVBlankIntrCB(sub_020796B8, partyMenu);
|
||||
sub_0203A994(2);
|
||||
FontID_Alloc(4, HEAP_ID_PARTY_MENU);
|
||||
@ -611,7 +611,7 @@ static int PartyMenu_Subtask_UseTMHM(PartyMenu *partyMenu) {
|
||||
static BOOL PartyMenuApp_Exit(OVY_MANAGER *manager, int *pState) {
|
||||
u32 i;
|
||||
PartyMenu *partyMenu = (PartyMenu *)OverlayManager_GetData(manager);
|
||||
sub_02002B8C(FALSE);
|
||||
TextFlags_SetCanTouchSpeedUpPrint(FALSE);
|
||||
Main_SetVBlankIntrCB(NULL, NULL);
|
||||
PartyMenu_RemoveSpriteRenderer(partyMenu);
|
||||
PartyMenu_RemoveAllWindows(partyMenu);
|
||||
|
599
src/render_text.c
Normal file
599
src/render_text.c
Normal file
@ -0,0 +1,599 @@
|
||||
#include "render_text.h"
|
||||
|
||||
#include "global.h"
|
||||
|
||||
#include "constants/sndseq.h"
|
||||
|
||||
#include "font.h"
|
||||
#include "render_window.h"
|
||||
#include "string_control_code.h"
|
||||
#include "system.h"
|
||||
#include "text.h"
|
||||
#include "touchscreen.h"
|
||||
#include "unk_02005D10.h"
|
||||
|
||||
static u16 sDownArrowBaseTile;
|
||||
static TextFlags sTextFlags;
|
||||
static TouchscreenHitbox sTouchScreenHitbox;
|
||||
|
||||
static const u8 sDownArrowTileOffsets[] = { 0, 1, 2, 1 };
|
||||
|
||||
static BOOL TextPrinter_ContinueInputHeld(TextPrinterSubStruct *subStruct);
|
||||
static BOOL TextPrinter_ContinueInputNew(void);
|
||||
static void TextPrinter_InitDownArrowCounters(TextPrinter *printer);
|
||||
static void TextPrinter_DrawDownArrow(TextPrinter *printer);
|
||||
static void TextPrinter_ClearDownArrow(TextPrinter *printer);
|
||||
static BOOL TextPrinter_Continue(TextPrinter *printer);
|
||||
static BOOL TextPrinter_WaitAutoMode(TextPrinter *printer);
|
||||
static BOOL TextPrinter_WaitWithDownArrow(TextPrinter *printer);
|
||||
static u8 TextPrinter_Wait(TextPrinter *printer);
|
||||
|
||||
static BOOL TextPrinter_ContinueInputHeld(TextPrinterSubStruct *subStruct) {
|
||||
if ((gSystem.heldKeys & (PAD_BUTTON_A | PAD_BUTTON_B)) && subStruct->hasPrintBeenSpedUp) {
|
||||
sTextFlags.touchIsSpeedingUpPrint = FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (sTextFlags.canTouchSpeedUpPrint) {
|
||||
if (!gSystem.touchHeld) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (sTextFlags.touchHitboxActive) {
|
||||
if (TouchscreenHitbox_TouchHeldIsIn(&sTouchScreenHitbox)) {
|
||||
sTextFlags.touchIsSpeedingUpPrint = TRUE;
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
} else {
|
||||
sTextFlags.touchIsSpeedingUpPrint = TRUE;
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOL TextPrinter_ContinueInputNew(void) {
|
||||
if (gSystem.newKeys & (PAD_BUTTON_A | PAD_BUTTON_B)) {
|
||||
sTextFlags.touchIsSpeedingUpPrint = FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (sTextFlags.canTouchSpeedUpPrint) {
|
||||
if (!gSystem.touchNew) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (sTextFlags.touchHitboxActive) {
|
||||
if (TouchscreenHitbox_TouchNewIsIn(&sTouchScreenHitbox)) {
|
||||
sTextFlags.touchIsSpeedingUpPrint = TRUE;
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
} else {
|
||||
sTextFlags.touchIsSpeedingUpPrint = TRUE;
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
RenderResult RenderText(TextPrinter *printer) {
|
||||
TextPrinterSubStruct *subStruct = (TextPrinterSubStruct *)(&printer->subStructFields);
|
||||
u16 currentChar;
|
||||
|
||||
switch (printer->state) {
|
||||
case 0:
|
||||
if (TextPrinter_ContinueInputHeld(subStruct)) {
|
||||
printer->delayCounter = 0;
|
||||
if (printer->textSpeedBottom != 0) {
|
||||
sTextFlags.hasSpedUpInput = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (printer->delayCounter && printer->textSpeedBottom) {
|
||||
printer->delayCounter--;
|
||||
|
||||
if (sTextFlags.canABSpeedUpPrint != 0) {
|
||||
if (TextPrinter_ContinueInputNew()) {
|
||||
subStruct->hasPrintBeenSpedUp = 1;
|
||||
printer->delayCounter = 0;
|
||||
}
|
||||
}
|
||||
|
||||
return RENDER_UPDATE;
|
||||
}
|
||||
|
||||
printer->delayCounter = printer->textSpeedBottom;
|
||||
currentChar = *printer->template.currentChar.raw;
|
||||
printer->template.currentChar.raw++;
|
||||
|
||||
GF_ASSERT(currentChar != 0xF100);
|
||||
|
||||
switch (currentChar) {
|
||||
case EOS:
|
||||
return RENDER_FINISH;
|
||||
case CHAR_LF:
|
||||
printer->template.currentX = printer->template.x;
|
||||
s32 fontAttribute = GetFontAttribute(printer->template.fontId, 1);
|
||||
|
||||
printer->template.currentY += printer->template.lineSpacing + fontAttribute;
|
||||
|
||||
return RENDER_REPEAT;
|
||||
|
||||
case 0xF0FD:
|
||||
printer->template.currentChar.raw++;
|
||||
return RENDER_REPEAT;
|
||||
case EXT_CTRL_CODE_BEGIN:
|
||||
printer->template.currentChar.raw--;
|
||||
switch ((u16)MsgArray_GetControlCode(printer->template.currentChar.raw)) {
|
||||
case 0xFF00:
|
||||
u16 field = MsgArray_ControlCodeGetField(
|
||||
printer->template.currentChar.raw, 0);
|
||||
if (field == 0xff) {
|
||||
u8 r2 = printer->template.unk1B;
|
||||
printer->template.unk1B = ((printer->template.fgColor - 1) / 2 + 100);
|
||||
|
||||
if (r2 < 100 || r2 >= 107) {
|
||||
break;
|
||||
}
|
||||
|
||||
field = (r2 - 100);
|
||||
} else {
|
||||
if (field >= 100) {
|
||||
printer->template.unk1B = field;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
printer->template.fgColor = (field * 2 + 1);
|
||||
printer->template.shadowColor = (field * 2 + 2);
|
||||
|
||||
GenerateFontHalfRowLookupTable(printer->template.fgColor,
|
||||
printer->template.bgColor,
|
||||
printer->template.shadowColor);
|
||||
|
||||
break;
|
||||
|
||||
case 0x200:
|
||||
field = MsgArray_ControlCodeGetField(
|
||||
printer->template.currentChar.raw, 0);
|
||||
|
||||
RenderScreenFocusIndicatorTile(printer,
|
||||
printer->template.currentX,
|
||||
printer->template.currentY,
|
||||
field);
|
||||
if (printer->textSpeedTop != 0) {
|
||||
CopyWindowToVram(printer->template.window);
|
||||
}
|
||||
|
||||
break;
|
||||
case 0x207:
|
||||
printer->state = 7;
|
||||
TextPrinter_InitDownArrowCounters(printer);
|
||||
printer->template.currentChar.raw = MsgArray_SkipControlCode(printer->template.currentChar.raw);
|
||||
if (*printer->template.currentChar.raw == 0xE000) {
|
||||
++printer->template.currentChar.raw;
|
||||
}
|
||||
return RENDER_UPDATE;
|
||||
case 0x208:
|
||||
printer->state = 8;
|
||||
TextPrinter_InitDownArrowCounters(printer);
|
||||
printer->template.currentChar.raw = MsgArray_SkipControlCode(printer->template.currentChar.raw);
|
||||
if (*printer->template.currentChar.raw == 0xE000) {
|
||||
++printer->template.currentChar.raw;
|
||||
}
|
||||
return RENDER_UPDATE;
|
||||
case 0x201:
|
||||
printer->delayCounter = MsgArray_ControlCodeGetField(
|
||||
printer->template.currentChar.raw, 0);
|
||||
printer->template.currentChar.raw = MsgArray_SkipControlCode(printer->template.currentChar.raw);
|
||||
printer->state = 6;
|
||||
|
||||
return RENDER_UPDATE;
|
||||
case 0x202:
|
||||
printer->unk2E = MsgArray_ControlCodeGetField(
|
||||
printer->template.currentChar.raw, 0);
|
||||
printer->template.currentChar.raw = MsgArray_SkipControlCode(printer->template.currentChar.raw);
|
||||
|
||||
return RENDER_UPDATE;
|
||||
case 0x203:
|
||||
printer->template.currentX = MsgArray_ControlCodeGetField(
|
||||
printer->template.currentChar.raw, 0);
|
||||
break;
|
||||
case 0x204:
|
||||
printer->template.currentY = MsgArray_ControlCodeGetField(
|
||||
printer->template.currentChar.raw, 0);
|
||||
break;
|
||||
case 0x205: {
|
||||
int x = GetWindowWidth(printer->template.window) * 8;
|
||||
int width = FontID_FlatArray_GetWidthFirstLine(printer->template.fontId, printer->template.currentChar.raw, printer->template.letterSpacing);
|
||||
if (width < x) {
|
||||
printer->template.currentX = printer->template.x + (x - width) / 2;
|
||||
} else {
|
||||
printer->template.currentX = printer->template.x;
|
||||
}
|
||||
} break;
|
||||
case 0x206: {
|
||||
int x = GetWindowWidth(printer->template.window) * 8;
|
||||
int width = FontID_FlatArray_GetWidthFirstLine(printer->template.fontId, printer->template.currentChar.raw, printer->template.letterSpacing);
|
||||
if (width < x) {
|
||||
printer->template.currentX = x - width;
|
||||
} else {
|
||||
printer->template.currentX = printer->template.x;
|
||||
}
|
||||
} break;
|
||||
|
||||
case 0xFF01:
|
||||
field = MsgArray_ControlCodeGetField(
|
||||
printer->template.currentChar.raw, 0);
|
||||
|
||||
switch (field) {
|
||||
case 100:
|
||||
printer->template.glyphTable = 0;
|
||||
printer->template.unk1A = 0;
|
||||
break;
|
||||
case 200:
|
||||
printer->template.glyphTable = 0xFFFC;
|
||||
printer->template.unk1A = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 0xFE06:
|
||||
field = MsgArray_ControlCodeGetField(
|
||||
printer->template.currentChar.raw, 0);
|
||||
if (field != 0xFE00) {
|
||||
if (field != 0xFE01) {
|
||||
break;
|
||||
}
|
||||
|
||||
printer->state = 2;
|
||||
TextPrinter_InitDownArrowCounters(printer);
|
||||
printer->template.currentChar.raw = MsgArray_SkipControlCode(
|
||||
printer->template.currentChar.raw);
|
||||
|
||||
return RENDER_UPDATE;
|
||||
}
|
||||
|
||||
printer->state = 3;
|
||||
TextPrinter_InitDownArrowCounters(printer);
|
||||
printer->template.currentChar.raw = MsgArray_SkipControlCode(printer->template.currentChar.raw);
|
||||
|
||||
return RENDER_UPDATE;
|
||||
}
|
||||
|
||||
printer->template.currentChar.raw = MsgArray_SkipControlCode(printer->template.currentChar.raw);
|
||||
return RENDER_REPEAT;
|
||||
|
||||
case 0x25BC:
|
||||
printer->state = 2;
|
||||
TextPrinter_InitDownArrowCounters(printer);
|
||||
return RENDER_UPDATE;
|
||||
|
||||
case 0x25BD:
|
||||
printer->state = 3;
|
||||
TextPrinter_InitDownArrowCounters(printer);
|
||||
return RENDER_UPDATE;
|
||||
}
|
||||
|
||||
GlyphInfo *glyphInfo = FontID_TryLoadGlyph(subStruct->fontId, currentChar);
|
||||
CopyGlyphToWindow(printer->template.window,
|
||||
glyphInfo->data,
|
||||
glyphInfo->width,
|
||||
glyphInfo->height,
|
||||
printer->template.currentX,
|
||||
printer->template.currentY,
|
||||
printer->template.glyphTable);
|
||||
|
||||
printer->template.currentX += glyphInfo->width + printer->template.letterSpacing;
|
||||
|
||||
return RENDER_PRINT;
|
||||
case 1:
|
||||
if (TextPrinter_Wait(printer) != 0) {
|
||||
TextPrinter_ClearDownArrow(printer);
|
||||
|
||||
printer->state = 0;
|
||||
}
|
||||
|
||||
return RENDER_UPDATE;
|
||||
case 2:
|
||||
if (TextPrinter_WaitWithDownArrow(printer) != 0) {
|
||||
TextPrinter_ClearDownArrow(printer);
|
||||
FillWindowPixelBuffer(
|
||||
printer->template.window, printer->template.bgColor);
|
||||
printer->template.currentX = printer->template.x;
|
||||
printer->template.currentY = printer->template.y;
|
||||
printer->state = 0;
|
||||
}
|
||||
|
||||
return RENDER_UPDATE;
|
||||
case 3:
|
||||
if (TextPrinter_WaitWithDownArrow(printer) != 0) {
|
||||
TextPrinter_ClearDownArrow(printer);
|
||||
printer->scrollDistance = (GetFontAttribute(printer->template.fontId, 1) + printer->template.lineSpacing);
|
||||
printer->template.currentX = printer->template.x;
|
||||
printer->state = 4;
|
||||
}
|
||||
|
||||
return RENDER_UPDATE;
|
||||
case 4:
|
||||
if (printer->scrollDistance != 0) {
|
||||
if ((int)printer->scrollDistance < 4) {
|
||||
ScrollWindow(printer->template.window,
|
||||
0,
|
||||
printer->scrollDistance,
|
||||
(printer->template.bgColor | (printer->template.bgColor << 4)));
|
||||
printer->scrollDistance = 0;
|
||||
} else {
|
||||
ScrollWindow(printer->template.window,
|
||||
0,
|
||||
4,
|
||||
(printer->template.bgColor | (printer->template.bgColor << 4)));
|
||||
|
||||
printer->scrollDistance -= 4;
|
||||
}
|
||||
|
||||
CopyWindowToVram(printer->template.window);
|
||||
} else {
|
||||
printer->state = 0;
|
||||
}
|
||||
|
||||
return RENDER_UPDATE;
|
||||
case 5:
|
||||
printer->state = 0;
|
||||
return RENDER_UPDATE;
|
||||
case 6:
|
||||
if (printer->delayCounter != 0) {
|
||||
printer->delayCounter--;
|
||||
} else {
|
||||
printer->state = 0;
|
||||
}
|
||||
|
||||
return RENDER_UPDATE;
|
||||
|
||||
case 7:
|
||||
if (TextPrinter_WaitWithDownArrow(printer)) {
|
||||
TextPrinter_ClearDownArrow(printer);
|
||||
FillWindowPixelBuffer(printer->template.window, printer->template.bgColor);
|
||||
printer->template.currentX = printer->template.x;
|
||||
printer->template.currentY = printer->template.y;
|
||||
printer->state = 0;
|
||||
}
|
||||
return RENDER_UPDATE;
|
||||
case 8:
|
||||
if (TextPrinter_WaitWithDownArrow(printer)) {
|
||||
TextPrinter_ClearDownArrow(printer);
|
||||
printer->scrollDistance = printer->template.lineSpacing + GetFontAttribute(printer->template.fontId, 1);
|
||||
printer->template.currentX = printer->template.x;
|
||||
printer->state = 4;
|
||||
}
|
||||
return RENDER_UPDATE;
|
||||
}
|
||||
|
||||
return RENDER_FINISH;
|
||||
}
|
||||
|
||||
void TextPrinter_SetDownArrowBaseTile(int tile) {
|
||||
sDownArrowBaseTile = tile;
|
||||
}
|
||||
|
||||
static void TextPrinter_InitDownArrowCounters(TextPrinter *printer) {
|
||||
TextPrinterSubStruct *subStruct = (TextPrinterSubStruct *)(&printer->subStructFields);
|
||||
|
||||
if (sTextFlags.autoScroll) {
|
||||
subStruct->autoScrollDelay = 0;
|
||||
} else {
|
||||
subStruct->downArrowYPosIdx = 0;
|
||||
subStruct->downArrowDelay = 0;
|
||||
}
|
||||
sub_0200EB68(printer->template.window, sDownArrowBaseTile);
|
||||
}
|
||||
|
||||
// Possible UB? Where does downArrowYPosIdx get reset to 0 when it reaches NELEMS(sDownArrowTileOffsets) == 4?
|
||||
static void TextPrinter_DrawDownArrow(TextPrinter *printer) {
|
||||
TextPrinterSubStruct *subStruct = (TextPrinterSubStruct *)(&printer->subStructFields);
|
||||
|
||||
if (sTextFlags.autoScroll || sTextFlags.useAlternateDownArrow) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (subStruct->downArrowDelay != 0) {
|
||||
subStruct->downArrowDelay--;
|
||||
return;
|
||||
}
|
||||
|
||||
u8 bg_id = GetWindowBgId(printer->template.window);
|
||||
u8 x = GetWindowX(printer->template.window);
|
||||
u8 y = GetWindowY(printer->template.window);
|
||||
u8 width = GetWindowWidth(printer->template.window);
|
||||
u8 height = GetWindowHeight(printer->template.window) - 2;
|
||||
u16 baseTile = sDownArrowBaseTile;
|
||||
|
||||
FillBgTilemapRect(printer->template.window->bgConfig,
|
||||
bg_id,
|
||||
(baseTile + 18 + sDownArrowTileOffsets[subStruct->downArrowYPosIdx] * 4),
|
||||
(x + width + 1),
|
||||
(y + height),
|
||||
1,
|
||||
1,
|
||||
0x10);
|
||||
|
||||
FillBgTilemapRect(printer->template.window->bgConfig,
|
||||
bg_id,
|
||||
(baseTile + 19 + sDownArrowTileOffsets[subStruct->downArrowYPosIdx] * 4),
|
||||
(x + width + 2),
|
||||
(y + height),
|
||||
1,
|
||||
1,
|
||||
0x10);
|
||||
FillBgTilemapRect(printer->template.window->bgConfig,
|
||||
bg_id,
|
||||
(baseTile + 20 + sDownArrowTileOffsets[subStruct->downArrowYPosIdx] * 4),
|
||||
(x + width + 1),
|
||||
(y + height + 1),
|
||||
1,
|
||||
1,
|
||||
0x10);
|
||||
FillBgTilemapRect(printer->template.window->bgConfig,
|
||||
bg_id,
|
||||
(baseTile + 21 + sDownArrowTileOffsets[subStruct->downArrowYPosIdx] * 4),
|
||||
(x + width + 2),
|
||||
(y + height + 1),
|
||||
1,
|
||||
1,
|
||||
0x10);
|
||||
|
||||
BgCommitTilemapBufferToVram(printer->template.window->bgConfig, bg_id);
|
||||
subStruct->downArrowDelay = 8;
|
||||
subStruct->downArrowYPosIdx++;
|
||||
}
|
||||
|
||||
static void TextPrinter_ClearDownArrow(TextPrinter *printer) {
|
||||
if (sTextFlags.useAlternateDownArrow) {
|
||||
return;
|
||||
}
|
||||
|
||||
u8 bg_id = GetWindowBgId(printer->template.window);
|
||||
u8 x = GetWindowX(printer->template.window);
|
||||
u8 y = GetWindowY(printer->template.window);
|
||||
u8 width = GetWindowWidth(printer->template.window);
|
||||
u8 height = GetWindowHeight(printer->template.window) - 2;
|
||||
u16 baseTile = sDownArrowBaseTile;
|
||||
|
||||
FillBgTilemapRect(printer->template.window->bgConfig,
|
||||
bg_id,
|
||||
(baseTile + 10),
|
||||
(x + width + 1),
|
||||
(y + height),
|
||||
1,
|
||||
2,
|
||||
0x10);
|
||||
FillBgTilemapRect(printer->template.window->bgConfig,
|
||||
bg_id,
|
||||
(baseTile + 11),
|
||||
(x + width + 2),
|
||||
(y + height),
|
||||
1,
|
||||
2,
|
||||
0x10);
|
||||
BgCommitTilemapBufferToVram(printer->template.window->bgConfig, bg_id);
|
||||
}
|
||||
|
||||
static BOOL TextPrinter_Continue(TextPrinter *printer) {
|
||||
#pragma unused(printer)
|
||||
if (TextPrinter_ContinueInputNew()) {
|
||||
PlaySE(SEQ_SE_DP_SELECT);
|
||||
|
||||
sTextFlags.hasContinuedInput = 1;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOL TextPrinter_WaitAutoMode(TextPrinter *printer) {
|
||||
TextPrinterSubStruct *subStruct = (TextPrinterSubStruct *)(&printer->subStructFields);
|
||||
|
||||
if (subStruct->autoScrollDelay == 100) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
subStruct->autoScrollDelay++;
|
||||
if (sTextFlags.autoScrollCanSpeedUp) {
|
||||
return TextPrinter_Continue(printer);
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOL TextPrinter_WaitWithDownArrow(TextPrinter *printer) {
|
||||
if (sTextFlags.autoScroll) {
|
||||
return TextPrinter_WaitAutoMode(printer);
|
||||
}
|
||||
TextPrinter_DrawDownArrow(printer);
|
||||
|
||||
return TextPrinter_Continue(printer);
|
||||
}
|
||||
|
||||
static u8 TextPrinter_Wait(TextPrinter *printer) {
|
||||
if (sTextFlags.autoScroll) {
|
||||
return TextPrinter_WaitAutoMode(printer);
|
||||
}
|
||||
|
||||
return TextPrinter_Continue(printer);
|
||||
}
|
||||
|
||||
void TextFlags_SetCanABSpeedUpPrint(BOOL param0) {
|
||||
sTextFlags.canABSpeedUpPrint = param0;
|
||||
}
|
||||
|
||||
void TextFlags_SetAutoScrollParam(int param0) {
|
||||
sTextFlags.autoScroll = param0 & 1;
|
||||
sTextFlags.autoScrollCanSpeedUp = (param0 >> 1) & 1;
|
||||
}
|
||||
|
||||
void TextFlags_SetCanTouchSpeedUpPrint(BOOL enable) {
|
||||
sTextFlags.canTouchSpeedUpPrint = enable;
|
||||
}
|
||||
|
||||
void TextFlags_SetAlternateDownArrow(BOOL enable) {
|
||||
sTextFlags.useAlternateDownArrow = enable;
|
||||
}
|
||||
|
||||
u8 TextFlags_GetHasSpedUpInput(void) {
|
||||
return sTextFlags.hasSpedUpInput;
|
||||
}
|
||||
|
||||
void TextFlags_ResetHasSpedUpInput(void) {
|
||||
sTextFlags.hasSpedUpInput = 0;
|
||||
}
|
||||
|
||||
u8 TextFlags_GetHasContinuedInput(void) {
|
||||
return sTextFlags.hasContinuedInput;
|
||||
}
|
||||
|
||||
void TextFlags_ResetHasContinuedInput(void) {
|
||||
sTextFlags.hasContinuedInput = 0;
|
||||
}
|
||||
|
||||
BOOL TextFlags_GetIsTouchSpeedingUpPrint(void) {
|
||||
if (sTextFlags.canTouchSpeedUpPrint) {
|
||||
return sTextFlags.touchIsSpeedingUpPrint;
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
void TextFlags_SetFastForwardTouchButtonHitbox(const TouchscreenHitbox *hitbox) {
|
||||
sTextFlags.touchHitboxActive = TRUE;
|
||||
sTouchScreenHitbox = *hitbox;
|
||||
}
|
||||
|
||||
void TextFlags_UnsetFastForwardTouchButtonHitbox(void) {
|
||||
sTextFlags.touchHitboxActive = FALSE;
|
||||
sTouchScreenHitbox.rect.top = 0;
|
||||
sTouchScreenHitbox.rect.bottom = 192;
|
||||
sTouchScreenHitbox.rect.left = 0;
|
||||
sTouchScreenHitbox.rect.right = 255;
|
||||
}
|
||||
|
||||
void TextFlags_BeginAutoScroll(BOOL noSpeedUp) {
|
||||
if (noSpeedUp == FALSE) {
|
||||
TextFlags_SetCanABSpeedUpPrint(TRUE);
|
||||
TextFlags_SetAutoScrollParam(3);
|
||||
TextFlags_SetCanTouchSpeedUpPrint(TRUE);
|
||||
} else {
|
||||
TextFlags_SetAutoScrollParam(1);
|
||||
TextFlags_SetCanABSpeedUpPrint(FALSE);
|
||||
TextFlags_SetCanTouchSpeedUpPrint(FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
void TextFlags_EndAutoScroll(void) {
|
||||
TextFlags_SetCanABSpeedUpPrint(FALSE);
|
||||
TextFlags_SetAutoScrollParam(0);
|
||||
TextFlags_SetCanTouchSpeedUpPrint(FALSE);
|
||||
}
|
@ -849,8 +849,8 @@ BOOL ScrCmd_TrainerTips(ScriptContext *ctx) {
|
||||
StringExpandPlaceholders(*msg_fmt, *unk, *tmp_str);
|
||||
|
||||
TextFlags_SetCanABSpeedUpPrint(TRUE);
|
||||
sub_02002B50(FALSE);
|
||||
sub_02002B8C(FALSE);
|
||||
TextFlags_SetAutoScrollParam(FALSE);
|
||||
TextFlags_SetCanTouchSpeedUpPrint(FALSE);
|
||||
|
||||
Window *window = ov01_021F3D80(fieldSystem->unk68);
|
||||
u8 text_speed = Options_GetTextFrameDelay(Save_PlayerData_GetOptionsAddr(fieldSystem->saveData));
|
||||
|
@ -14,7 +14,7 @@ const u16 *MsgArray_SkipControlCode(const u16 *arr) {
|
||||
return arr;
|
||||
}
|
||||
|
||||
u16 MsgArray_GetControlCode(const u16 *arr) {
|
||||
int MsgArray_GetControlCode(const u16 *arr) {
|
||||
GF_ASSERT(*arr == EXT_CTRL_CODE_BEGIN);
|
||||
return arr[1];
|
||||
}
|
||||
@ -24,7 +24,7 @@ BOOL MsgArray_ControlCodeIsStrVar(const u16 *arr) {
|
||||
return strcode == 0x100 || strcode == 0x300 || strcode == 0x400 || strcode == 0x3400;
|
||||
}
|
||||
|
||||
u16 MsgArray_ControlCodeGetField(const u16 *arr, u32 fieldno) {
|
||||
int MsgArray_ControlCodeGetField(const u16 *arr, u32 fieldno) {
|
||||
GF_ASSERT(*arr == EXT_CTRL_CODE_BEGIN);
|
||||
GF_ASSERT(fieldno < arr[2]);
|
||||
arr += 3;
|
||||
|
@ -93,7 +93,7 @@ u8 AddTextPrinterParameterized(Window *window, FontID fontId, String *string, u3
|
||||
template.fgColor = sFonts[fontId].fgColor;
|
||||
template.bgColor = sFonts[fontId].bgColor;
|
||||
template.shadowColor = sFonts[fontId].shadowColor;
|
||||
template.unk18 = 0;
|
||||
template.glyphTable = 0;
|
||||
template.unk1A = 0;
|
||||
template.unk1B = 0xFF;
|
||||
|
||||
@ -116,7 +116,7 @@ u8 AddTextPrinterParameterizedWithColor(Window *window, FontID fontId, String *s
|
||||
template.fgColor = (color >> 16) & 0xFF;
|
||||
template.shadowColor = (color >> 8) & 0xFF;
|
||||
template.bgColor = (color >> 0) & 0xFF;
|
||||
template.unk18 = 0;
|
||||
template.glyphTable = 0;
|
||||
template.unk1A = 0;
|
||||
template.unk1B = 0xFF;
|
||||
|
||||
@ -139,7 +139,7 @@ u8 AddTextPrinterParameterizedWithColorAndSpacing(Window *window, int fontId, St
|
||||
template.fgColor = (color >> 16) & 0xFF;
|
||||
template.shadowColor = (color >> 8) & 0xFF;
|
||||
template.bgColor = (color >> 0) & 0xFF;
|
||||
template.unk18 = 0;
|
||||
template.glyphTable = 0;
|
||||
template.unk1A = 0;
|
||||
template.unk1B = 0xFF;
|
||||
|
||||
|
@ -207,7 +207,7 @@ SysTask *ov30_0225D520(BgConfig *bgConfig, void *a1, FieldSystem *fieldSystem, v
|
||||
GfGfx_EngineBTogglePlanes(GX_PLANEMASK_BG2, GF_PLANE_TOGGLE_ON);
|
||||
GfGfx_EngineBTogglePlanes(GX_PLANEMASK_OBJ, GF_PLANE_TOGGLE_ON);
|
||||
|
||||
sub_02002B8C(TRUE);
|
||||
TextFlags_SetCanTouchSpeedUpPrint(TRUE);
|
||||
|
||||
return task;
|
||||
}
|
||||
@ -224,7 +224,7 @@ void ov30_0225D64C(BgConfig *bgConfig, SysTask *task) {
|
||||
ov01_021F434C(data->unk40);
|
||||
ov01_021F43D0(data->unk40);
|
||||
|
||||
sub_02002B8C(FALSE);
|
||||
TextFlags_SetCanTouchSpeedUpPrint(FALSE);
|
||||
|
||||
if (ov123_0225F520(ov30_0225DC08)) {
|
||||
AllocFromHeapAtEnd(HEAP_ID_3, 1000);
|
||||
|
@ -222,7 +222,7 @@ BOOL ScrCmd_236(ScriptContext *ctx) {
|
||||
|
||||
BOOL ScrCmd_237(ScriptContext *ctx) {
|
||||
void **unused = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR);
|
||||
sub_02002C60(TRUE);
|
||||
TextFlags_BeginAutoScroll(TRUE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -1998,7 +1998,7 @@ static void ov122_021E8094(OVY_MANAGER *man) {
|
||||
sub_0200FBDC(0);
|
||||
sub_0200FBDC(1);
|
||||
TextFlags_SetCanABSpeedUpPrint(TRUE);
|
||||
sub_02002B8C(TRUE);
|
||||
TextFlags_SetCanTouchSpeedUpPrint(TRUE);
|
||||
|
||||
Main_SetVBlankIntrCB((GFIntrCB)ov122_021E8004, work);
|
||||
GameStats_AddScore(Save_GameStats_Get(args->saveData), SCORE_EVENT_6);
|
||||
|
Loading…
Reference in New Issue
Block a user