Merge branch 'master' into doc-finalmisc
@ -1792,3 +1792,9 @@
|
||||
setfieldeffectargument 2, \priority
|
||||
dofieldeffect FLDEFF_SPARKLE
|
||||
.endm
|
||||
|
||||
.macro braillemsgbox text:req
|
||||
braillemessage \text
|
||||
waitbuttonpress
|
||||
closebraillemessage
|
||||
.endm
|
||||
|
||||
10
charmap.txt
@ -414,7 +414,7 @@ HIGHLIGHT = FC 02 @ same as fc 01
|
||||
SHADOW = FC 03 @ same as fc 01
|
||||
COLOR_HIGHLIGHT_SHADOW = FC 04 @ takes 3 bytes
|
||||
PALETTE = FC 05 @ used in credits
|
||||
FONT = FC 06 @ valid values are 0, 1, 2, 6 (braille), 7 and 8
|
||||
FONT = FC 06 @ Given a font id, or use font constants below instead
|
||||
RESET_SIZE = FC 07
|
||||
PAUSE = FC 08 @ manually print the wait byte after this, havent mapped them
|
||||
PAUSE_UNTIL_PRESS = FC 09
|
||||
@ -434,6 +434,14 @@ ENG = FC 16
|
||||
PAUSE_MUSIC = FC 17
|
||||
RESUME_MUSIC = FC 18
|
||||
|
||||
@ fonts
|
||||
|
||||
FONT_SMALL = FC 06 00
|
||||
FONT_NORMAL = FC 06 01
|
||||
FONT_SHORT = FC 06 02
|
||||
FONT_NARROW = FC 06 07
|
||||
FONT_SMALL_NARROW = FC 06 08
|
||||
|
||||
@ colors
|
||||
|
||||
TRANSPARENT = 00
|
||||
|
||||
@ -50,7 +50,7 @@ gFieldEffectScriptPointers::
|
||||
.4byte gFieldEffectScript_HotSpringsWater @ FLDEFF_HOT_SPRINGS_WATER
|
||||
.4byte gFieldEffectScript_UseWaterfall @ FLDEFF_USE_WATERFALL
|
||||
.4byte gFieldEffectScript_UseDive @ FLDEFF_USE_DIVE
|
||||
.4byte gFieldEffectScript_Pokeball @ FLDEFF_POKEBALL
|
||||
.4byte gFieldEffectScript_PokeballTrail @ FLDEFF_POKEBALL_TRAIL
|
||||
.4byte gFieldEffectScript_HeartIcon @ FLDEFF_HEART_ICON
|
||||
.4byte gFieldEffectScript_Nop47 @ FLDEFF_NOP_47
|
||||
.4byte gFieldEffectScript_Nop48 @ FLDEFF_NOP_48
|
||||
@ -254,9 +254,9 @@ gFieldEffectScript_UseDive::
|
||||
field_eff_callnative FldEff_UseDive
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_Pokeball::
|
||||
gFieldEffectScript_PokeballTrail::
|
||||
field_eff_loadpal gSpritePalette_Pokeball
|
||||
field_eff_callnative FldEff_Pokeball
|
||||
field_eff_callnative FldEff_PokeballTrail
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_HeartIcon::
|
||||
|
||||
76
data/fonts.s
@ -1,76 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
|
||||
.align 2
|
||||
gFont8LatinGlyphs::
|
||||
.incbin "graphics/fonts/font8.latfont"
|
||||
|
||||
.align 2
|
||||
gFont8LatinGlyphWidths::
|
||||
.include "graphics/fonts/font8_latin_widths.inc"
|
||||
|
||||
.align 2
|
||||
gFont0LatinGlyphs::
|
||||
.incbin "graphics/fonts/font0.latfont"
|
||||
|
||||
.align 2
|
||||
gFont0LatinGlyphWidths::
|
||||
.include "graphics/fonts/font0_latin_widths.inc"
|
||||
|
||||
.align 2
|
||||
gFont7LatinGlyphs::
|
||||
.incbin "graphics/fonts/font7.latfont"
|
||||
|
||||
.align 2
|
||||
gFont7LatinGlyphWidths::
|
||||
.include "graphics/fonts/font7_latin_widths.inc"
|
||||
|
||||
.align 2
|
||||
gFont2LatinGlyphs::
|
||||
.incbin "graphics/fonts/font2.latfont"
|
||||
|
||||
.align 2
|
||||
gFont2LatinGlyphWidths::
|
||||
.include "graphics/fonts/font2_latin_widths.inc"
|
||||
|
||||
.align 2
|
||||
gFont1LatinGlyphs::
|
||||
.incbin "graphics/fonts/font1.latfont"
|
||||
|
||||
.align 2
|
||||
gFont1LatinGlyphWidths::
|
||||
.include "graphics/fonts/font1_latin_widths.inc"
|
||||
|
||||
.align 2
|
||||
gFont0JapaneseGlyphs::
|
||||
.incbin "graphics/fonts/font0.hwjpnfont"
|
||||
|
||||
.align 2
|
||||
gFont1JapaneseGlyphs::
|
||||
.incbin "graphics/fonts/font1.hwjpnfont"
|
||||
|
||||
.align 2
|
||||
gUnusedJapaneseFireRedLeafGreenMaleFontGlyphs::
|
||||
.incbin "graphics/fonts/unused_frlg_male.fwjpnfont"
|
||||
|
||||
.align 2
|
||||
gUnusedJapaneseFireRedLeafGreenMaleFontGlyphWidths::
|
||||
.include "graphics/fonts/unused_japanese_frlg_male_font_widths.inc"
|
||||
|
||||
.align 2
|
||||
gUnusedJapaneseFireRedLeafGreenFemaleFontGlyphs::
|
||||
.incbin "graphics/fonts/unused_frlg_female.fwjpnfont"
|
||||
|
||||
.align 2
|
||||
gUnusedJapaneseFireRedLeafGreenFemaleFontGlyphWidths::
|
||||
.include "graphics/fonts/unused_japanese_frlg_female_font_widths.inc"
|
||||
|
||||
.align 2
|
||||
gFont2JapaneseGlyphs::
|
||||
.incbin "graphics/fonts/font2.fwjpnfont"
|
||||
|
||||
.align 2
|
||||
gFont2JapaneseGlyphWidths::
|
||||
.include "graphics/fonts/font2_japanese_widths.inc"
|
||||
@ -40,9 +40,7 @@ AncientTomb_EventScript_HideRegiEntrance::
|
||||
AncientTomb_EventScript_CaveEntranceMiddle::
|
||||
lockall
|
||||
goto_if_set FLAG_SYS_REGISTEEL_PUZZLE_COMPLETED, AncientTomb_EventScript_BigHoleInWall
|
||||
braillemessage AncientTomb_Braille_ShineInTheMiddle
|
||||
waitbuttonpress
|
||||
closebraillemessage
|
||||
braillemsgbox AncientTomb_Braille_ShineInTheMiddle
|
||||
releaseall
|
||||
end
|
||||
|
||||
@ -53,9 +51,7 @@ AncientTomb_EventScript_BigHoleInWall::
|
||||
|
||||
AncientTomb_EventScript_CaveEntranceSide::
|
||||
lockall
|
||||
braillemessage AncientTomb_Braille_ShineInTheMiddle
|
||||
waitbuttonpress
|
||||
closebraillemessage
|
||||
braillemsgbox AncientTomb_Braille_ShineInTheMiddle
|
||||
releaseall
|
||||
end
|
||||
|
||||
|
||||
@ -40,9 +40,7 @@ DesertRuins_EventScript_ShowRegirock::
|
||||
DesertRuins_EventScript_CaveEntranceMiddle::
|
||||
lockall
|
||||
goto_if_set FLAG_SYS_REGIROCK_PUZZLE_COMPLETED, DesertRuins_EventScript_BigHoleInWall
|
||||
braillemessage DesertRuins_Braille_UseRockSmash
|
||||
waitbuttonpress
|
||||
closebraillemessage
|
||||
braillemsgbox DesertRuins_Braille_UseRockSmash
|
||||
releaseall
|
||||
end
|
||||
|
||||
@ -53,9 +51,7 @@ DesertRuins_EventScript_BigHoleInWall::
|
||||
|
||||
DesertRuins_EventScript_CaveEntranceSide::
|
||||
lockall
|
||||
braillemessage DesertRuins_Braille_UseRockSmash
|
||||
waitbuttonpress
|
||||
closebraillemessage
|
||||
braillemsgbox DesertRuins_Braille_UseRockSmash
|
||||
releaseall
|
||||
end
|
||||
|
||||
|
||||
@ -3,27 +3,25 @@ SealedChamber_InnerRoom_MapScripts::
|
||||
|
||||
SealedChamber_InnerRoom_EventScript_BrailleBackWall::
|
||||
lockall
|
||||
braillemessage SealedChamber_InnerRoom_Braille_FirstWailordLastRelicanth
|
||||
waitbuttonpress
|
||||
closebraillemessage
|
||||
braillemsgbox SealedChamber_InnerRoom_Braille_FirstWailordLastRelicanth
|
||||
goto_if_set FLAG_REGI_DOORS_OPENED, SealedChamber_InnerRoom_EventScript_NoEffect
|
||||
specialvar VAR_RESULT, CheckRelicanthWailord
|
||||
compare VAR_RESULT, FALSE
|
||||
goto_if_eq SealedChamber_InnerRoom_EventScript_NoEffect
|
||||
fadeoutbgm 0
|
||||
playse SE_TRUCK_MOVE
|
||||
special DoSealedChamberShakingEffect1
|
||||
special DoSealedChamberShakingEffect_Long
|
||||
waitstate
|
||||
delay 40
|
||||
special DoSealedChamberShakingEffect2
|
||||
special DoSealedChamberShakingEffect_Short
|
||||
waitstate
|
||||
playse SE_DOOR
|
||||
delay 40
|
||||
special DoSealedChamberShakingEffect2
|
||||
special DoSealedChamberShakingEffect_Short
|
||||
waitstate
|
||||
playse SE_DOOR
|
||||
delay 40
|
||||
special DoSealedChamberShakingEffect2
|
||||
special DoSealedChamberShakingEffect_Short
|
||||
waitstate
|
||||
playse SE_DOOR
|
||||
delay 40
|
||||
@ -40,49 +38,37 @@ SealedChamber_InnerRoom_EventScript_NoEffect::
|
||||
|
||||
SealedChamber_InnerRoom_EventScript_BrailleStoryPart1::
|
||||
lockall
|
||||
braillemessage SealedChamber_InnerRoom_Braille_InThisCaveWeHaveLived
|
||||
waitbuttonpress
|
||||
closebraillemessage
|
||||
braillemsgbox SealedChamber_InnerRoom_Braille_InThisCaveWeHaveLived
|
||||
releaseall
|
||||
end
|
||||
|
||||
SealedChamber_InnerRoom_EventScript_BrailleStoryPart2::
|
||||
lockall
|
||||
braillemessage SealedChamber_InnerRoom_Braille_WeOweAllToThePokemon
|
||||
waitbuttonpress
|
||||
closebraillemessage
|
||||
braillemsgbox SealedChamber_InnerRoom_Braille_WeOweAllToThePokemon
|
||||
releaseall
|
||||
end
|
||||
|
||||
SealedChamber_InnerRoom_EventScript_BrailleStoryPart3::
|
||||
lockall
|
||||
braillemessage SealedChamber_InnerRoom_Braille_ButWeSealedThePokemonAway
|
||||
waitbuttonpress
|
||||
closebraillemessage
|
||||
braillemsgbox SealedChamber_InnerRoom_Braille_ButWeSealedThePokemonAway
|
||||
releaseall
|
||||
end
|
||||
|
||||
SealedChamber_InnerRoom_EventScript_BrailleStoryPart4::
|
||||
lockall
|
||||
braillemessage SealedChamber_InnerRoom_Braille_WeFearedIt
|
||||
waitbuttonpress
|
||||
closebraillemessage
|
||||
braillemsgbox SealedChamber_InnerRoom_Braille_WeFearedIt
|
||||
releaseall
|
||||
end
|
||||
|
||||
SealedChamber_InnerRoom_EventScript_BrailleStoryPart5::
|
||||
lockall
|
||||
braillemessage SealedChamber_InnerRoom_Braille_ThoseWithCourageHope
|
||||
waitbuttonpress
|
||||
closebraillemessage
|
||||
braillemsgbox SealedChamber_InnerRoom_Braille_ThoseWithCourageHope
|
||||
releaseall
|
||||
end
|
||||
|
||||
SealedChamber_InnerRoom_EventScript_BrailleStoryPart6::
|
||||
lockall
|
||||
braillemessage SealedChamber_InnerRoom_Braille_OpenDoorEternalPokemonWaits
|
||||
waitbuttonpress
|
||||
closebraillemessage
|
||||
braillemsgbox SealedChamber_InnerRoom_Braille_OpenDoorEternalPokemonWaits
|
||||
releaseall
|
||||
end
|
||||
|
||||
|
||||
@ -28,90 +28,68 @@ SealedChamber_OuterRoom_EventScript_CloseInnerRoomEntrance::
|
||||
|
||||
SealedChamber_OuterRoom_EventScript_BrailleABC::
|
||||
lockall
|
||||
braillemessage SealedChamber_OuterRoom_Braille_ABC
|
||||
waitbuttonpress
|
||||
closebraillemessage
|
||||
braillemsgbox SealedChamber_OuterRoom_Braille_ABC
|
||||
releaseall
|
||||
end
|
||||
|
||||
SealedChamber_OuterRoom_EventScript_BrailleGHI::
|
||||
lockall
|
||||
braillemessage SealedChamber_OuterRoom_Braille_GHI
|
||||
waitbuttonpress
|
||||
closebraillemessage
|
||||
braillemsgbox SealedChamber_OuterRoom_Braille_GHI
|
||||
releaseall
|
||||
end
|
||||
|
||||
SealedChamber_OuterRoom_EventScript_BrailleMNO::
|
||||
lockall
|
||||
braillemessage SealedChamber_OuterRoom_Braille_MNO
|
||||
waitbuttonpress
|
||||
closebraillemessage
|
||||
braillemsgbox SealedChamber_OuterRoom_Braille_MNO
|
||||
releaseall
|
||||
end
|
||||
|
||||
SealedChamber_OuterRoom_EventScript_BrailleTUV::
|
||||
lockall
|
||||
braillemessage SealedChamber_OuterRoom_Braille_TUV
|
||||
waitbuttonpress
|
||||
closebraillemessage
|
||||
braillemsgbox SealedChamber_OuterRoom_Braille_TUV
|
||||
releaseall
|
||||
end
|
||||
|
||||
SealedChamber_OuterRoom_EventScript_BrailleDEF::
|
||||
lockall
|
||||
braillemessage SealedChamber_OuterRoom_Braille_DEF
|
||||
waitbuttonpress
|
||||
closebraillemessage
|
||||
braillemsgbox SealedChamber_OuterRoom_Braille_DEF
|
||||
releaseall
|
||||
end
|
||||
|
||||
SealedChamber_OuterRoom_EventScript_BrailleJKL::
|
||||
lockall
|
||||
braillemessage SealedChamber_OuterRoom_Braille_JKL
|
||||
waitbuttonpress
|
||||
closebraillemessage
|
||||
braillemsgbox SealedChamber_OuterRoom_Braille_JKL
|
||||
releaseall
|
||||
end
|
||||
|
||||
SealedChamber_OuterRoom_EventScript_BraillePQRS::
|
||||
lockall
|
||||
braillemessage SealedChamber_OuterRoom_Braille_PQRS
|
||||
waitbuttonpress
|
||||
closebraillemessage
|
||||
braillemsgbox SealedChamber_OuterRoom_Braille_PQRS
|
||||
releaseall
|
||||
end
|
||||
|
||||
SealedChamber_OuterRoom_EventScript_BraillePeriod::
|
||||
lockall
|
||||
braillemessage SealedChamber_OuterRoom_Braille_Period
|
||||
waitbuttonpress
|
||||
closebraillemessage
|
||||
braillemsgbox SealedChamber_OuterRoom_Braille_Period
|
||||
releaseall
|
||||
end
|
||||
|
||||
SealedChamber_OuterRoom_EventScript_BrailleWXYZ::
|
||||
lockall
|
||||
braillemessage SealedChamber_OuterRoom_Braille_WXYZ
|
||||
waitbuttonpress
|
||||
closebraillemessage
|
||||
braillemsgbox SealedChamber_OuterRoom_Braille_WXYZ
|
||||
releaseall
|
||||
end
|
||||
|
||||
SealedChamber_OuterRoom_EventScript_BrailleComma::
|
||||
lockall
|
||||
braillemessage SealedChamber_OuterRoom_Braille_Comma
|
||||
waitbuttonpress
|
||||
closebraillemessage
|
||||
braillemsgbox SealedChamber_OuterRoom_Braille_Comma
|
||||
releaseall
|
||||
end
|
||||
|
||||
SealedChamber_OuterRoom_EventScript_InnerRoomEntranceWall::
|
||||
lockall
|
||||
goto_if_set FLAG_SYS_BRAILLE_DIG, SealedChamber_OuterRoom_EventScript_HoleInWall
|
||||
braillemessage SealedChamber_OuterRoom_Braille_DigHere
|
||||
waitbuttonpress
|
||||
closebraillemessage
|
||||
braillemsgbox SealedChamber_OuterRoom_Braille_DigHere
|
||||
releaseall
|
||||
end
|
||||
|
||||
@ -122,9 +100,7 @@ SealedChamber_OuterRoom_EventScript_HoleInWall::
|
||||
|
||||
SealedChamber_OuterRoom_EventScript_BrailleDigHere::
|
||||
lockall
|
||||
braillemessage SealedChamber_OuterRoom_Braille_DigHere
|
||||
waitbuttonpress
|
||||
closebraillemessage
|
||||
braillemsgbox SealedChamber_OuterRoom_Braille_DigHere
|
||||
releaseall
|
||||
end
|
||||
|
||||
|
||||
@ -20,9 +20,7 @@ Underwater_SealedChamber_EventScript_SurfaceSealedChamber::
|
||||
|
||||
Underwater_SealedChamber_EventScript_Braille::
|
||||
lockall
|
||||
braillemessage Underwater_SealedChamber_Braille_GoUpHere
|
||||
waitbuttonpress
|
||||
closebraillemessage
|
||||
braillemsgbox Underwater_SealedChamber_Braille_GoUpHere
|
||||
releaseall
|
||||
end
|
||||
|
||||
|
||||
@ -315,7 +315,7 @@ gSpecials::
|
||||
def_special IsStarterInParty
|
||||
def_special CopyCurSecretBaseOwnerName_StrVar1
|
||||
def_special ScriptCheckFreePokemonStorageSpace
|
||||
def_special DoSealedChamberShakingEffect1
|
||||
def_special DoSealedChamberShakingEffect_Long
|
||||
def_special ShowDeptStoreElevatorFloorSelect
|
||||
def_special InteractWithShieldOrTVDecoration
|
||||
def_special IsPokerusInParty
|
||||
@ -325,7 +325,7 @@ gSpecials::
|
||||
def_special BattleSetup_StartLegendaryBattle
|
||||
def_special StartRegiBattle
|
||||
def_special SetTrainerFacingDirection
|
||||
def_special DoSealedChamberShakingEffect2
|
||||
def_special DoSealedChamberShakingEffect_Short
|
||||
def_special FoundBlackGlasses
|
||||
def_special StartDroughtWeatherBlend
|
||||
def_special DoDiveWarp
|
||||
|
||||
@ -1,3 +1,7 @@
|
||||
@ NOTE: The brailleformat macro in this file is leftover from RS.
|
||||
@ The numbers are simply skipped over. If you'd like to omit
|
||||
@ this macro you must also stop it from skipping over this
|
||||
@ section by editing ScrCmd_braillemessage.
|
||||
Underwater_SealedChamber_Braille_GoUpHere:
|
||||
brailleformat 4, 6, 26, 13, 7, 9
|
||||
.braille "GO UP HERE.$"
|
||||
|
||||
18
gflib/bg.c
@ -950,7 +950,7 @@ void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, const void *src, u8 destX, u
|
||||
CopyRectToBgTilemapBufferRect(bg, src, 0, 0, rectWidth, rectHeight, destX, destY, rectWidth, rectHeight, palette, 0, 0);
|
||||
}
|
||||
|
||||
void CopyRectToBgTilemapBufferRect(u8 bg, const void *src, u8 srcX, u8 srcY, u8 srcWidth, u8 unused, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, s16 palette1, s16 tileOffset)
|
||||
void CopyRectToBgTilemapBufferRect(u8 bg, const void *src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, s16 tileOffset, s16 palette2)
|
||||
{
|
||||
u16 screenWidth, screenHeight, screenSize;
|
||||
u16 var;
|
||||
@ -966,28 +966,28 @@ void CopyRectToBgTilemapBufferRect(u8 bg, const void *src, u8 srcX, u8 srcY, u8
|
||||
{
|
||||
case BG_TYPE_NORMAL:
|
||||
srcPtr = src + ((srcY * srcWidth) + srcX) * 2;
|
||||
for (i = destX; i < (destX + rectWidth); i++)
|
||||
for (i = destY; i < (destY + rectHeight); i++)
|
||||
{
|
||||
for (j = srcHeight; j < (srcHeight + destY); j++)
|
||||
for (j = destX; j < (destX + rectWidth); j++)
|
||||
{
|
||||
u16 index = GetTileMapIndexFromCoords(j, i, screenSize, screenWidth, screenHeight);
|
||||
CopyTileMapEntry(srcPtr, sGpuBgConfigs2[bg].tilemap + (index * 2), rectHeight, palette1, tileOffset);
|
||||
CopyTileMapEntry(srcPtr, sGpuBgConfigs2[bg].tilemap + (index * 2), palette1, tileOffset, palette2);
|
||||
srcPtr += 2;
|
||||
}
|
||||
srcPtr += (srcWidth - destY) * 2;
|
||||
srcPtr += (srcWidth - rectWidth) * 2;
|
||||
}
|
||||
break;
|
||||
case BG_TYPE_AFFINE:
|
||||
srcPtr = src + ((srcY * srcWidth) + srcX);
|
||||
var = GetBgMetricAffineMode(bg, 0x1);
|
||||
for (i = destX; i < (destX + rectWidth); i++)
|
||||
for (i = destY; i < (destY + rectHeight); i++)
|
||||
{
|
||||
for (j = srcHeight; j < (srcHeight + destY); j++)
|
||||
for (j = destX; j < (destX + rectWidth); j++)
|
||||
{
|
||||
*(u8*)(sGpuBgConfigs2[bg].tilemap + ((var * i) + j)) = *(u8*)(srcPtr) + palette1;
|
||||
*(u8*)(sGpuBgConfigs2[bg].tilemap + ((var * i) + j)) = *(u8*)(srcPtr) + tileOffset;
|
||||
srcPtr++;
|
||||
}
|
||||
srcPtr += (srcWidth - destY);
|
||||
srcPtr += (srcWidth - rectWidth);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@ -72,7 +72,7 @@ void CopyToBgTilemapBuffer(u8 bg, const void *src, u16 mode, u16 destOffset);
|
||||
void CopyBgTilemapBufferToVram(u8 bg);
|
||||
void CopyToBgTilemapBufferRect(u8 bg, const void* src, u8 destX, u8 destY, u8 width, u8 height);
|
||||
void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, const void *src, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette);
|
||||
void CopyRectToBgTilemapBufferRect(u8 bg, const void *src, u8 srcX, u8 srcY, u8 srcWidth, u8 unused, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, s16 palette1, s16 tileOffset);
|
||||
void CopyRectToBgTilemapBufferRect(u8 bg, const void *src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, s16 tileOffset, s16 palette2);
|
||||
void FillBgTilemapBufferRect_Palette0(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height);
|
||||
void FillBgTilemapBufferRect(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height, u8 palette);
|
||||
void WriteSequenceToBgTilemapBuffer(u8 bg, u16 firstTileNum, u8 x, u8 y, u8 width, u8 height, u8 paletteSlot, s16 tileNumDelta);
|
||||
|
||||
339
gflib/characters.h
Normal file
@ -0,0 +1,339 @@
|
||||
#ifndef GUARD_CHARACTERS_H
|
||||
#define GUARD_CHARACTERS_H
|
||||
|
||||
#define CHAR_SPACE 0x00
|
||||
#define CHAR_A_GRAVE 0x01
|
||||
#define CHAR_A_ACUTE 0x02
|
||||
#define CHAR_A_CIRCUMFLEX 0x03
|
||||
#define CHAR_C_CEDILLA 0x04
|
||||
#define CHAR_E_GRAVE 0x05
|
||||
#define CHAR_E_ACUTE 0x06
|
||||
#define CHAR_E_CIRCUMFLEX 0x07
|
||||
#define CHAR_E_DIAERESIS 0x08
|
||||
#define CHAR_I_GRAVE 0x09
|
||||
//#define CHAR_I_ACUTE 0x0A // Is 0x5A instead
|
||||
#define CHAR_I_CIRCUMFLEX 0x0B
|
||||
#define CHAR_I_DIAERESIS 0x0C
|
||||
#define CHAR_O_GRAVE 0x0D
|
||||
#define CHAR_O_ACUTE 0x0E
|
||||
#define CHAR_O_CIRCUMFLEX 0x0F
|
||||
#define CHAR_OE 0x10
|
||||
#define CHAR_U_GRAVE 0x11
|
||||
#define CHAR_U_ACUTE 0x12
|
||||
#define CHAR_U_CIRCUMFLEX 0x13
|
||||
#define CHAR_N_TILDE 0x14
|
||||
#define CHAR_ESZETT 0x15
|
||||
#define CHAR_a_GRAVE 0x16
|
||||
#define CHAR_a_ACUTE 0x17
|
||||
//#define CHAR_a_CIRCUMFLEX 0x18 // Is 0x68 instead
|
||||
#define CHAR_c_CEDILLA 0x19
|
||||
#define CHAR_e_GRAVE 0x1A
|
||||
#define CHAR_e_ACUTE 0x1B
|
||||
#define CHAR_e_CIRCUMFLEX 0x1C
|
||||
#define CHAR_e_DIAERESIS 0x1D
|
||||
#define CHAR_i_GRAVE 0x1E
|
||||
//#define CHAR_i_ACUTE 0x1F // Is 0x6F instead
|
||||
#define CHAR_i_CIRCUMFLEX 0x20
|
||||
#define CHAR_i_DIAERESIS 0x21
|
||||
#define CHAR_o_GRAVE 0x22
|
||||
#define CHAR_o_ACUTE 0x23
|
||||
#define CHAR_o_CIRCUMFLEX 0x24
|
||||
#define CHAR_oe 0x25
|
||||
#define CHAR_u_GRAVE 0x26
|
||||
#define CHAR_u_ACUTE 0x27
|
||||
#define CHAR_u_CIRCUMFLEX 0x28
|
||||
#define CHAR_n_TILDE 0x29
|
||||
#define CHAR_MASCULINE_ORDINAL 0x2A
|
||||
#define CHAR_FEMININE_ORDINAL 0x2B
|
||||
#define CHAR_SUPER_ER 0x2C
|
||||
#define CHAR_AMPERSAND 0x2D
|
||||
#define CHAR_PLUS 0x2E
|
||||
//
|
||||
#define CHAR_LV 0x34
|
||||
#define CHAR_EQUALS 0x35
|
||||
#define CHAR_SEMICOLON 0x36
|
||||
#define CHAR_BARD_WORD_DELIMIT 0x37 // Empty space to separate words in Bard's song
|
||||
#define CHAR_INV_QUESTION_MARK 0x51
|
||||
#define CHAR_INV_EXCL_MARK 0x52
|
||||
#define CHAR_PK 0x53
|
||||
#define CHAR_MN 0x54
|
||||
#define CHAR_PO 0x55
|
||||
#define CHAR_KE 0x56
|
||||
#define CHAR_BLOCK_1 0x57 // Each of these 3
|
||||
#define CHAR_BLOCK_2 0x58 // chars contains 1/3
|
||||
#define CHAR_BLOCK_3 0x59 // of the word BLOCK
|
||||
#define CHAR_I_ACUTE 0x5A
|
||||
#define CHAR_PERCENT 0x5B
|
||||
#define CHAR_LEFT_PAREN 0x5C
|
||||
#define CHAR_RIGHT_PAREN 0x5D
|
||||
//
|
||||
#define CHAR_a_CIRCUMFLEX 0x68
|
||||
//
|
||||
#define CHAR_i_ACUTE 0x6F
|
||||
//
|
||||
#define CHAR_SPACER 0x77 // Empty space
|
||||
//
|
||||
#define CHAR_UP_ARROW 0x79
|
||||
#define CHAR_DOWN_ARROW 0x7A
|
||||
#define CHAR_LEFT_ARROW 0x7B
|
||||
#define CHAR_RIGHT_ARROW 0x7C
|
||||
//
|
||||
#define CHAR_SUPER_E 0x84
|
||||
#define CHAR_LESS_THAN 0x85
|
||||
#define CHAR_GREATER_THAN 0x86
|
||||
//
|
||||
#define CHAR_SUPER_RE 0xA0
|
||||
#define CHAR_0 0xA1
|
||||
#define CHAR_1 0xA2
|
||||
#define CHAR_2 0xA3
|
||||
#define CHAR_3 0xA4
|
||||
#define CHAR_4 0xA5
|
||||
#define CHAR_5 0xA6
|
||||
#define CHAR_6 0xA7
|
||||
#define CHAR_7 0xA8
|
||||
#define CHAR_8 0xA9
|
||||
#define CHAR_9 0xAA
|
||||
#define CHAR_EXCL_MARK 0xAB
|
||||
#define CHAR_QUESTION_MARK 0xAC
|
||||
#define CHAR_PERIOD 0xAD
|
||||
#define CHAR_HYPHEN 0xAE
|
||||
#define CHAR_BULLET 0xAF
|
||||
#define CHAR_ELLIPSIS 0xB0
|
||||
#define CHAR_DBL_QUOTE_LEFT 0xB1
|
||||
#define CHAR_DBL_QUOTE_RIGHT 0xB2
|
||||
#define CHAR_SGL_QUOTE_LEFT 0xB3
|
||||
#define CHAR_SGL_QUOTE_RIGHT 0xB4
|
||||
#define CHAR_MALE 0xB5
|
||||
#define CHAR_FEMALE 0xB6
|
||||
#define CHAR_CURRENCY 0xB7
|
||||
#define CHAR_COMMA 0xB8
|
||||
#define CHAR_MULT_SIGN 0xB9
|
||||
#define CHAR_SLASH 0xBA
|
||||
#define CHAR_A 0xBB
|
||||
#define CHAR_B 0xBC
|
||||
#define CHAR_C 0xBD
|
||||
#define CHAR_D 0xBE
|
||||
#define CHAR_E 0xBF
|
||||
#define CHAR_F 0xC0
|
||||
#define CHAR_G 0xC1
|
||||
#define CHAR_H 0xC2
|
||||
#define CHAR_I 0xC3
|
||||
#define CHAR_J 0xC4
|
||||
#define CHAR_K 0xC5
|
||||
#define CHAR_L 0xC6
|
||||
#define CHAR_M 0xC7
|
||||
#define CHAR_N 0xC8
|
||||
#define CHAR_O 0xC9
|
||||
#define CHAR_P 0xCA
|
||||
#define CHAR_Q 0xCB
|
||||
#define CHAR_R 0xCC
|
||||
#define CHAR_S 0xCD
|
||||
#define CHAR_T 0xCE
|
||||
#define CHAR_U 0xCF
|
||||
#define CHAR_V 0xD0
|
||||
#define CHAR_W 0xD1
|
||||
#define CHAR_X 0xD2
|
||||
#define CHAR_Y 0xD3
|
||||
#define CHAR_Z 0xD4
|
||||
#define CHAR_a 0xD5
|
||||
#define CHAR_b 0xD6
|
||||
#define CHAR_c 0xD7
|
||||
#define CHAR_d 0xD8
|
||||
#define CHAR_e 0xD9
|
||||
#define CHAR_f 0xDA
|
||||
#define CHAR_g 0xDB
|
||||
#define CHAR_h 0xDC
|
||||
#define CHAR_i 0xDD
|
||||
#define CHAR_j 0xDE
|
||||
#define CHAR_k 0xDF
|
||||
#define CHAR_l 0xE0
|
||||
#define CHAR_m 0xE1
|
||||
#define CHAR_n 0xE2
|
||||
#define CHAR_o 0xE3
|
||||
#define CHAR_p 0xE4
|
||||
#define CHAR_q 0xE5
|
||||
#define CHAR_r 0xE6
|
||||
#define CHAR_s 0xE7
|
||||
#define CHAR_t 0xE8
|
||||
#define CHAR_u 0xE9
|
||||
#define CHAR_v 0xEA
|
||||
#define CHAR_w 0xEB
|
||||
#define CHAR_x 0xEC
|
||||
#define CHAR_y 0xED
|
||||
#define CHAR_z 0xEE
|
||||
#define CHAR_BLACK_TRIANGLE 0xEF
|
||||
#define CHAR_COLON 0xF0
|
||||
#define CHAR_A_DIAERESIS 0xF1
|
||||
#define CHAR_O_DIAERESIS 0xF2
|
||||
#define CHAR_U_DIAERESIS 0xF3
|
||||
#define CHAR_a_DIAERESIS 0xF4
|
||||
#define CHAR_o_DIAERESIS 0xF5
|
||||
#define CHAR_u_DIAERESIS 0xF6
|
||||
#define CHAR_DYNAMIC 0xF7
|
||||
#define CHAR_KEYPAD_ICON 0xF8
|
||||
#define CHAR_EXTRA_SYMBOL 0xF9
|
||||
#define CHAR_PROMPT_SCROLL 0xFA // waits for button press and scrolls dialog
|
||||
#define CHAR_PROMPT_CLEAR 0xFB // waits for button press and clears dialog
|
||||
#define EXT_CTRL_CODE_BEGIN 0xFC // extended control code
|
||||
#define PLACEHOLDER_BEGIN 0xFD // string placeholder
|
||||
#define CHAR_NEWLINE 0xFE
|
||||
#define EOS 0xFF // end of string
|
||||
|
||||
// CHAR_KEYPAD_ICON chars
|
||||
#define CHAR_A_BUTTON 0x00
|
||||
#define CHAR_B_BUTTON 0x01
|
||||
#define CHAR_L_BUTTON 0x02
|
||||
#define CHAR_R_BUTTON 0x03
|
||||
#define CHAR_START_BUTTON 0x04
|
||||
#define CHAR_SELECT_BUTTON 0x05
|
||||
#define CHAR_DPAD_UP 0x06
|
||||
#define CHAR_DPAD_DOWN 0x07
|
||||
#define CHAR_DPAD_LEFT 0x08
|
||||
#define CHAR_DPAD_RIGHT 0x09
|
||||
#define CHAR_DPAD_UPDOWN 0x0A
|
||||
#define CHAR_DPAD_LEFTRIGHT 0x0B
|
||||
#define CHAR_DPAD_NONE 0x0C
|
||||
|
||||
// CHAR_EXTRA_SYMBOL chars
|
||||
#define CHAR_UP_ARROW_2 0x00
|
||||
#define CHAR_DOWN_ARROW_2 0x01
|
||||
#define CHAR_LEFT_ARROW_2 0x02
|
||||
#define CHAR_RIGHT_ARROW_2 0x03
|
||||
#define CHAR_PLUS_2 0x04
|
||||
#define CHAR_LV_2 0x05
|
||||
#define CHAR_PP 0x06
|
||||
#define CHAR_ID 0x07
|
||||
#define CHAR_NO 0x08
|
||||
#define CHAR_UNDERSCORE 0x09
|
||||
|
||||
#define EXT_CTRL_CODE_COLOR 0x01
|
||||
#define EXT_CTRL_CODE_HIGHLIGHT 0x02
|
||||
#define EXT_CTRL_CODE_SHADOW 0x03
|
||||
#define EXT_CTRL_CODE_COLOR_HIGHLIGHT_SHADOW 0x04
|
||||
#define EXT_CTRL_CODE_PALETTE 0x05
|
||||
#define EXT_CTRL_CODE_FONT 0x06
|
||||
#define EXT_CTRL_CODE_RESET_SIZE 0x07
|
||||
#define EXT_CTRL_CODE_PAUSE 0x08
|
||||
#define EXT_CTRL_CODE_PAUSE_UNTIL_PRESS 0x09
|
||||
#define EXT_CTRL_CODE_WAIT_SE 0x0A
|
||||
#define EXT_CTRL_CODE_PLAY_BGM 0x0B
|
||||
#define EXT_CTRL_CODE_ESCAPE 0x0C
|
||||
#define EXT_CTRL_CODE_SHIFT_TEXT 0x0D
|
||||
#define EXT_CTRL_CODE_SHIFT_DOWN 0x0E
|
||||
#define EXT_CTRL_CODE_FILL_WINDOW 0x0F
|
||||
#define EXT_CTRL_CODE_PLAY_SE 0x10
|
||||
#define EXT_CTRL_CODE_CLEAR 0x11
|
||||
#define EXT_CTRL_CODE_SKIP 0x12
|
||||
#define EXT_CTRL_CODE_CLEAR_TO 0x13
|
||||
#define EXT_CTRL_CODE_MIN_LETTER_SPACING 0x14
|
||||
#define EXT_CTRL_CODE_JPN 0x15
|
||||
#define EXT_CTRL_CODE_ENG 0x16
|
||||
#define EXT_CTRL_CODE_PAUSE_MUSIC 0x17
|
||||
#define EXT_CTRL_CODE_RESUME_MUSIC 0x18
|
||||
|
||||
#define TEXT_COLOR_TRANSPARENT 0x0
|
||||
#define TEXT_COLOR_WHITE 0x1
|
||||
#define TEXT_COLOR_DARK_GRAY 0x2
|
||||
#define TEXT_COLOR_LIGHT_GRAY 0x3
|
||||
#define TEXT_COLOR_RED 0x4
|
||||
#define TEXT_COLOR_LIGHT_RED 0x5
|
||||
#define TEXT_COLOR_GREEN 0x6
|
||||
#define TEXT_COLOR_LIGHT_GREEN 0x7
|
||||
#define TEXT_COLOR_BLUE 0x8
|
||||
#define TEXT_COLOR_LIGHT_BLUE 0x9
|
||||
#define TEXT_DYNAMIC_COLOR_1 0xA // Usually white
|
||||
#define TEXT_DYNAMIC_COLOR_2 0xB // Usually white w/ tinge of green
|
||||
#define TEXT_DYNAMIC_COLOR_3 0xC // Usually white
|
||||
#define TEXT_DYNAMIC_COLOR_4 0xD // Usually aquamarine
|
||||
#define TEXT_DYNAMIC_COLOR_5 0xE // Usually blue-green
|
||||
#define TEXT_DYNAMIC_COLOR_6 0xF // Usually cerulean
|
||||
|
||||
#define PLACEHOLDER_ID_UNKNOWN 0x0
|
||||
#define PLACEHOLDER_ID_PLAYER 0x1
|
||||
#define PLACEHOLDER_ID_STRING_VAR_1 0x2
|
||||
#define PLACEHOLDER_ID_STRING_VAR_2 0x3
|
||||
#define PLACEHOLDER_ID_STRING_VAR_3 0x4
|
||||
#define PLACEHOLDER_ID_KUN 0x5
|
||||
#define PLACEHOLDER_ID_RIVAL 0x6
|
||||
#define PLACEHOLDER_ID_VERSION 0x7
|
||||
#define PLACEHOLDER_ID_AQUA 0x8
|
||||
#define PLACEHOLDER_ID_MAGMA 0x9
|
||||
#define PLACEHOLDER_ID_ARCHIE 0xA
|
||||
#define PLACEHOLDER_ID_MAXIE 0xB
|
||||
#define PLACEHOLDER_ID_KYOGRE 0xC
|
||||
#define PLACEHOLDER_ID_GROUDON 0xD
|
||||
|
||||
// battle placeholders are located in battle_message.h
|
||||
|
||||
// Hiragana from 0x1-0x50, Katakana from 0x51-0xA0.
|
||||
// This excludes Japanese punctuation, which end at 0xB0
|
||||
#define JAPANESE_CHAR_END 0xA0
|
||||
|
||||
// Note that while all dot combinations are represented in
|
||||
// the Braille font, they are not all meaningful characters.
|
||||
// Only those that have direct single-character translations are listed.
|
||||
#define BRAILLE_CHAR_SPACE 0x00
|
||||
#define BRAILLE_CHAR_A 0x01
|
||||
//
|
||||
#define BRAILLE_CHAR_C 0x03
|
||||
#define BRAILLE_CHAR_COMMA 0x04
|
||||
#define BRAILLE_CHAR_B 0x05
|
||||
#define BRAILLE_CHAR_I 0x06
|
||||
#define BRAILLE_CHAR_F 0x07
|
||||
//
|
||||
#define BRAILLE_CHAR_E 0x09
|
||||
//
|
||||
#define BRAILLE_CHAR_D 0x0B
|
||||
#define BRAILLE_CHAR_COLON 0x0C
|
||||
#define BRAILLE_CHAR_H 0x0D
|
||||
#define BRAILLE_CHAR_J 0x0E
|
||||
#define BRAILLE_CHAR_G 0x0F
|
||||
#define BRAILLE_CHAR_APOSTROPHE 0x10
|
||||
#define BRAILLE_CHAR_K 0x11
|
||||
#define BRAILLE_CHAR_SLASH 0x12
|
||||
#define BRAILLE_CHAR_M 0x13
|
||||
#define BRAILLE_CHAR_SEMICOLON 0x14
|
||||
#define BRAILLE_CHAR_L 0x15
|
||||
#define BRAILLE_CHAR_S 0x16
|
||||
#define BRAILLE_CHAR_P 0x17
|
||||
//
|
||||
#define BRAILLE_CHAR_O 0x19
|
||||
//
|
||||
#define BRAILLE_CHAR_N 0x1B
|
||||
#define BRAILLE_CHAR_EXCL_MARK 0x1C
|
||||
#define BRAILLE_CHAR_R 0x1D
|
||||
#define BRAILLE_CHAR_T 0x1E
|
||||
#define BRAILLE_CHAR_Q 0x1F
|
||||
//
|
||||
#define BRAILLE_CHAR_PERIOD 0x2C
|
||||
//
|
||||
#define BRAILLE_CHAR_W 0x2E
|
||||
//
|
||||
#define BRAILLE_CHAR_HYPHEN 0x30
|
||||
#define BRAILLE_CHAR_U 0x31
|
||||
//
|
||||
#define BRAILLE_CHAR_X 0x33
|
||||
#define BRAILLE_CHAR_QUESTION_MARK 0x34 // Also double quote left
|
||||
#define BRAILLE_CHAR_V 0x35
|
||||
//
|
||||
#define BRAILLE_CHAR_DBL_QUOTE_RIGHT 0x38
|
||||
#define BRAILLE_CHAR_Z 0x39
|
||||
#define BRAILLE_CHAR_NUMBER 0x3A
|
||||
#define BRAILLE_CHAR_Y 0x3B
|
||||
#define BRAILLE_CHAR_PAREN 0x3C
|
||||
//
|
||||
#define NUM_BRAILLE_CHARS 0x40
|
||||
|
||||
// Digits must be preceded by BRAILLE_CHAR_NUMBER
|
||||
#define BRAILLE_CHAR_1 BRAILLE_CHAR_A
|
||||
#define BRAILLE_CHAR_2 BRAILLE_CHAR_B
|
||||
#define BRAILLE_CHAR_3 BRAILLE_CHAR_C
|
||||
#define BRAILLE_CHAR_4 BRAILLE_CHAR_D
|
||||
#define BRAILLE_CHAR_5 BRAILLE_CHAR_E
|
||||
#define BRAILLE_CHAR_6 BRAILLE_CHAR_F
|
||||
#define BRAILLE_CHAR_7 BRAILLE_CHAR_G
|
||||
#define BRAILLE_CHAR_8 BRAILLE_CHAR_H
|
||||
#define BRAILLE_CHAR_9 BRAILLE_CHAR_I
|
||||
#define BRAILLE_CHAR_0 BRAILLE_CHAR_J
|
||||
|
||||
#endif // GUARD_CHARACTERS_H
|
||||
@ -206,7 +206,7 @@ u8 *ConvertIntToDecimalStringN(u8 *dest, s32 value, enum StringConvertMode mode,
|
||||
}
|
||||
else if (state == WRITING_SPACES)
|
||||
{
|
||||
*dest++ = 0x77;
|
||||
*dest++ = CHAR_SPACER;
|
||||
}
|
||||
|
||||
value = temp;
|
||||
@ -262,7 +262,7 @@ u8 *ConvertUIntToDecimalStringN(u8 *dest, u32 value, enum StringConvertMode mode
|
||||
}
|
||||
else if (state == WRITING_SPACES)
|
||||
{
|
||||
*dest++ = 0x77;
|
||||
*dest++ = CHAR_SPACER;
|
||||
}
|
||||
|
||||
value = temp;
|
||||
@ -322,7 +322,7 @@ u8 *ConvertIntToHexStringN(u8 *dest, s32 value, enum StringConvertMode mode, u8
|
||||
}
|
||||
else if (state == WRITING_SPACES)
|
||||
{
|
||||
*dest++ = 0x77;
|
||||
*dest++ = CHAR_SPACER;
|
||||
}
|
||||
|
||||
value = temp;
|
||||
@ -414,7 +414,7 @@ u8 *StringBraille(u8 *dest, const u8 *src)
|
||||
break;
|
||||
default:
|
||||
*dest++ = c;
|
||||
*dest++ = c + 0x40;
|
||||
*dest++ = c + NUM_BRAILLE_CHARS;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
409
gflib/text.c
@ -11,6 +11,27 @@
|
||||
#include "blit.h"
|
||||
#include "menu.h"
|
||||
#include "dynamic_placeholder_text_util.h"
|
||||
#include "fonts.h"
|
||||
|
||||
static u16 FontFunc_Small(struct TextPrinter *);
|
||||
static u16 FontFunc_Normal(struct TextPrinter *);
|
||||
static u16 FontFunc_Short(struct TextPrinter *);
|
||||
static u16 FontFunc_ShortCopy1(struct TextPrinter *);
|
||||
static u16 FontFunc_ShortCopy2(struct TextPrinter *);
|
||||
static u16 FontFunc_ShortCopy3(struct TextPrinter *);
|
||||
static u16 FontFunc_Narrow(struct TextPrinter *);
|
||||
static u16 FontFunc_SmallNarrow(struct TextPrinter *);
|
||||
static void DecompressGlyph_Small(u16 glyphId, bool32 isJapanese);
|
||||
static void DecompressGlyph_Normal(u16 glyphId, bool32 isJapanese);
|
||||
static void DecompressGlyph_Short(u16 glyphId, bool32 isJapanese);
|
||||
static void DecompressGlyph_Narrow(u16 glyphId, bool32 isJapanese);
|
||||
static void DecompressGlyph_SmallNarrow(u16 glyphId, bool32 isJapanese);
|
||||
static void DecompressGlyph_Bold(u16 glyphId);
|
||||
static u32 GetGlyphWidth_Small(u16 glyphId, bool32 isJapanese);
|
||||
static u32 GetGlyphWidth_Normal(u16 glyphId, bool32 isJapanese);
|
||||
static u32 GetGlyphWidth_Short(u16 glyphId, bool32 isJapanese);
|
||||
static u32 GetGlyphWidth_Narrow(u16 glyphId, bool32 isJapanese);
|
||||
static u32 GetGlyphWidth_SmallNarrow(u16 glyphId, bool32 isJapanese);
|
||||
|
||||
EWRAM_DATA struct TextPrinter gTempTextPrinter = {0};
|
||||
EWRAM_DATA struct TextPrinter gTextPrinters[NUM_TEXT_PRINTERS] = {0};
|
||||
@ -49,20 +70,20 @@ const u8 gDownArrowTiles[] = INCBIN_U8("graphics/fonts/down_arrow.4bpp");
|
||||
const u8 gDarkDownArrowTiles[] = INCBIN_U8("graphics/fonts/down_arrow_RS.4bpp");
|
||||
const u8 gUnusedFRLGBlankedDownArrow[] = INCBIN_U8("graphics/fonts/unused_frlg_blanked_down_arrow.4bpp");
|
||||
const u8 gUnusedFRLGDownArrow[] = INCBIN_U8("graphics/fonts/unused_frlg_down_arrow.4bpp");
|
||||
const u8 gDownArrowYCoords[] = { 0x0, 0x1, 0x2, 0x1 };
|
||||
const u8 gWindowVerticalScrollSpeeds[] = { 0x1, 0x2, 0x4, 0x0 };
|
||||
const u8 gDownArrowYCoords[] = { 0, 1, 2, 1 };
|
||||
const u8 gWindowVerticalScrollSpeeds[] = { 1, 2, 4, 0x0 };
|
||||
|
||||
const struct GlyphWidthFunc gGlyphWidthFuncs[] =
|
||||
static const struct GlyphWidthFunc sGlyphWidthFuncs[] =
|
||||
{
|
||||
{ 0x0, GetGlyphWidthFont0 },
|
||||
{ 0x1, GetGlyphWidthFont1 },
|
||||
{ 0x2, GetGlyphWidthFont2 },
|
||||
{ 0x3, GetGlyphWidthFont2 },
|
||||
{ 0x4, GetGlyphWidthFont2 },
|
||||
{ 0x5, GetGlyphWidthFont2 },
|
||||
{ 0x6, GetGlyphWidthFont6 },
|
||||
{ 0x7, GetGlyphWidthFont7 },
|
||||
{ 0x8, GetGlyphWidthFont8 }
|
||||
{ FONT_SMALL, GetGlyphWidth_Small },
|
||||
{ FONT_NORMAL, GetGlyphWidth_Normal },
|
||||
{ FONT_SHORT, GetGlyphWidth_Short },
|
||||
{ FONT_SHORT_COPY_1, GetGlyphWidth_Short },
|
||||
{ FONT_SHORT_COPY_2, GetGlyphWidth_Short },
|
||||
{ FONT_SHORT_COPY_3, GetGlyphWidth_Short },
|
||||
{ FONT_BRAILLE, GetGlyphWidth_Braille },
|
||||
{ FONT_NARROW, GetGlyphWidth_Narrow },
|
||||
{ FONT_SMALL_NARROW, GetGlyphWidth_SmallNarrow }
|
||||
};
|
||||
|
||||
const struct KeypadIcon gKeypadIcons[] =
|
||||
@ -84,52 +105,127 @@ const struct KeypadIcon gKeypadIcons[] =
|
||||
|
||||
const u8 gKeypadIconTiles[] = INCBIN_U8("graphics/fonts/keypad_icons.4bpp");
|
||||
|
||||
const struct FontInfo gFontInfos[] =
|
||||
static const struct FontInfo sFontInfos[] =
|
||||
{
|
||||
{ Font0Func, 0x5, 0xC, 0x0, 0x0, 0x0, 0x2, 0x1, 0x3 },
|
||||
{ Font1Func, 0x6, 0x10, 0x0, 0x0, 0x0, 0x2, 0x1, 0x3 },
|
||||
{ Font2Func, 0x6, 0xE, 0x0, 0x0, 0x0, 0x2, 0x1, 0x3 },
|
||||
{ Font3Func, 0x6, 0xE, 0x0, 0x0, 0x0, 0x2, 0x1, 0x3 },
|
||||
{ Font4Func, 0x6, 0xE, 0x0, 0x0, 0x0, 0x2, 0x1, 0x3 },
|
||||
{ Font5Func, 0x6, 0xE, 0x0, 0x0, 0x0, 0x2, 0x1, 0x3 },
|
||||
{ Font6Func, 0x8, 0x10, 0x0, 0x8, 0x0, 0x2, 0x1, 0x3 },
|
||||
{ Font7Func, 0x5, 0x10, 0x0, 0x0, 0x0, 0x2, 0x1, 0x3 },
|
||||
{ Font8Func, 0x5, 0x8, 0x0, 0x0, 0x0, 0x2, 0x1, 0x3 },
|
||||
{ NULL, 0x8, 0x8, 0x0, 0x0, 0x0, 0x1, 0x2, 0xF }
|
||||
[FONT_SMALL] = {
|
||||
.fontFunction = FontFunc_Small,
|
||||
.maxLetterWidth = 5,
|
||||
.maxLetterHeight = 12,
|
||||
.letterSpacing = 0,
|
||||
.lineSpacing = 0,
|
||||
.fgColor = 2,
|
||||
.bgColor = 1,
|
||||
.shadowColor = 3,
|
||||
},
|
||||
[FONT_NORMAL] = {
|
||||
.fontFunction = FontFunc_Normal,
|
||||
.maxLetterWidth = 6,
|
||||
.maxLetterHeight = 16,
|
||||
.letterSpacing = 0,
|
||||
.lineSpacing = 0,
|
||||
.fgColor = 2,
|
||||
.bgColor = 1,
|
||||
.shadowColor = 3,
|
||||
},
|
||||
[FONT_SHORT] = {
|
||||
.fontFunction = FontFunc_Short,
|
||||
.maxLetterWidth = 6,
|
||||
.maxLetterHeight = 14,
|
||||
.letterSpacing = 0,
|
||||
.lineSpacing = 0,
|
||||
.fgColor = 2,
|
||||
.bgColor = 1,
|
||||
.shadowColor = 3,
|
||||
},
|
||||
[FONT_SHORT_COPY_1] = {
|
||||
.fontFunction = FontFunc_ShortCopy1,
|
||||
.maxLetterWidth = 6,
|
||||
.maxLetterHeight = 14,
|
||||
.letterSpacing = 0,
|
||||
.lineSpacing = 0,
|
||||
.fgColor = 2,
|
||||
.bgColor = 1,
|
||||
.shadowColor = 3,
|
||||
},
|
||||
[FONT_SHORT_COPY_2] = {
|
||||
.fontFunction = FontFunc_ShortCopy2,
|
||||
.maxLetterWidth = 6,
|
||||
.maxLetterHeight = 14,
|
||||
.letterSpacing = 0,
|
||||
.lineSpacing = 0,
|
||||
.fgColor = 2,
|
||||
.bgColor = 1,
|
||||
.shadowColor = 3,
|
||||
},
|
||||
[FONT_SHORT_COPY_3] = {
|
||||
.fontFunction = FontFunc_ShortCopy3,
|
||||
.maxLetterWidth = 6,
|
||||
.maxLetterHeight = 14,
|
||||
.letterSpacing = 0,
|
||||
.lineSpacing = 0,
|
||||
.fgColor = 2,
|
||||
.bgColor = 1,
|
||||
.shadowColor = 3,
|
||||
},
|
||||
[FONT_BRAILLE] = {
|
||||
.fontFunction = FontFunc_Braille,
|
||||
.maxLetterWidth = 8,
|
||||
.maxLetterHeight = 16,
|
||||
.letterSpacing = 0,
|
||||
.lineSpacing = 8,
|
||||
.fgColor = 2,
|
||||
.bgColor = 1,
|
||||
.shadowColor = 3,
|
||||
},
|
||||
[FONT_NARROW] = {
|
||||
.fontFunction = FontFunc_Narrow,
|
||||
.maxLetterWidth = 5,
|
||||
.maxLetterHeight = 16,
|
||||
.letterSpacing = 0,
|
||||
.lineSpacing = 0,
|
||||
.fgColor = 2,
|
||||
.bgColor = 1,
|
||||
.shadowColor = 3,
|
||||
},
|
||||
[FONT_SMALL_NARROW] = {
|
||||
.fontFunction = FontFunc_SmallNarrow,
|
||||
.maxLetterWidth = 5,
|
||||
.maxLetterHeight = 8,
|
||||
.letterSpacing = 0,
|
||||
.lineSpacing = 0,
|
||||
.fgColor = 2,
|
||||
.bgColor = 1,
|
||||
.shadowColor = 3,
|
||||
},
|
||||
[FONT_BOLD] = {
|
||||
.fontFunction = NULL,
|
||||
.maxLetterWidth = 8,
|
||||
.maxLetterHeight = 8,
|
||||
.letterSpacing = 0,
|
||||
.lineSpacing = 0,
|
||||
.fgColor = 1,
|
||||
.bgColor = 2,
|
||||
.shadowColor = 15,
|
||||
}
|
||||
};
|
||||
|
||||
const u8 gMenuCursorDimensions[][2] =
|
||||
static const u8 sMenuCursorDimensions[][2] =
|
||||
{
|
||||
{ 0x8, 0xC },
|
||||
{ 0x8, 0xF },
|
||||
{ 0x8, 0xE },
|
||||
{ 0x8, 0xE },
|
||||
{ 0x8, 0xE },
|
||||
{ 0x8, 0xE },
|
||||
{ 0x8, 0x10 },
|
||||
{ 0x8, 0xF },
|
||||
{ 0x8, 0x8 },
|
||||
{ 0x0, 0x0 }
|
||||
[FONT_SMALL] = { 8, 12 },
|
||||
[FONT_NORMAL] = { 8, 15 },
|
||||
[FONT_SHORT] = { 8, 14 },
|
||||
[FONT_SHORT_COPY_1] = { 8, 14 },
|
||||
[FONT_SHORT_COPY_2] = { 8, 14 },
|
||||
[FONT_SHORT_COPY_3] = { 8, 14 },
|
||||
[FONT_BRAILLE] = { 8, 16 },
|
||||
[FONT_NARROW] = { 8, 15 },
|
||||
[FONT_SMALL_NARROW] = { 8, 8 },
|
||||
[FONT_BOLD] = {}
|
||||
};
|
||||
|
||||
const u16 gFont9JapaneseGlyphs[] = INCBIN_U16("graphics/fonts/font9.hwjpnfont");
|
||||
const u16 gFontBoldJapaneseGlyphs[] = INCBIN_U16("graphics/fonts/bold.hwjpnfont");
|
||||
|
||||
extern const u16 gFont8LatinGlyphs[];
|
||||
extern const u8 gFont8LatinGlyphWidths[];
|
||||
extern const u16 gFont0LatinGlyphs[];
|
||||
extern const u8 gFont0LatinGlyphWidths[];
|
||||
extern const u16 gFont7LatinGlyphs[];
|
||||
extern const u8 gFont7LatinGlyphWidths[];
|
||||
extern const u16 gFont2LatinGlyphs[];
|
||||
extern const u8 gFont2LatinGlyphWidths[];
|
||||
extern const u16 gFont1LatinGlyphs[];
|
||||
extern const u8 gFont1LatinGlyphWidths[];
|
||||
extern const u16 gFont0JapaneseGlyphs[];
|
||||
extern const u16 gFont1JapaneseGlyphs[];
|
||||
extern const u16 gFont2JapaneseGlyphs[];
|
||||
extern const u8 gFont2JapaneseGlyphWidths[];
|
||||
|
||||
void SetFontsPointer(const struct FontInfo *fonts)
|
||||
static void SetFontsPointer(const struct FontInfo *fonts)
|
||||
{
|
||||
gFonts = fonts;
|
||||
}
|
||||
@ -565,98 +661,98 @@ void ClearTextSpan(struct TextPrinter *textPrinter, u32 width)
|
||||
}
|
||||
}
|
||||
|
||||
u16 Font0Func(struct TextPrinter *textPrinter)
|
||||
static u16 FontFunc_Small(struct TextPrinter *textPrinter)
|
||||
{
|
||||
struct TextPrinterSubStruct *subStruct = (struct TextPrinterSubStruct *)(&textPrinter->subStructFields);
|
||||
|
||||
if (subStruct->hasGlyphIdBeenSet == FALSE)
|
||||
if (subStruct->hasFontIdBeenSet == FALSE)
|
||||
{
|
||||
subStruct->glyphId = 0;
|
||||
subStruct->hasGlyphIdBeenSet = TRUE;
|
||||
subStruct->fontId = FONT_SMALL;
|
||||
subStruct->hasFontIdBeenSet = TRUE;
|
||||
}
|
||||
return RenderText(textPrinter);
|
||||
}
|
||||
|
||||
u16 Font1Func(struct TextPrinter *textPrinter)
|
||||
static u16 FontFunc_Normal(struct TextPrinter *textPrinter)
|
||||
{
|
||||
struct TextPrinterSubStruct *subStruct = (struct TextPrinterSubStruct *)(&textPrinter->subStructFields);
|
||||
|
||||
if (subStruct->hasGlyphIdBeenSet == FALSE)
|
||||
if (subStruct->hasFontIdBeenSet == FALSE)
|
||||
{
|
||||
subStruct->glyphId = 1;
|
||||
subStruct->hasGlyphIdBeenSet = TRUE;
|
||||
subStruct->fontId = FONT_NORMAL;
|
||||
subStruct->hasFontIdBeenSet = TRUE;
|
||||
}
|
||||
return RenderText(textPrinter);
|
||||
}
|
||||
|
||||
u16 Font2Func(struct TextPrinter *textPrinter)
|
||||
static u16 FontFunc_Short(struct TextPrinter *textPrinter)
|
||||
{
|
||||
struct TextPrinterSubStruct *subStruct = (struct TextPrinterSubStruct *)(&textPrinter->subStructFields);
|
||||
|
||||
if (subStruct->hasGlyphIdBeenSet == FALSE)
|
||||
if (subStruct->hasFontIdBeenSet == FALSE)
|
||||
{
|
||||
subStruct->glyphId = 2;
|
||||
subStruct->hasGlyphIdBeenSet = TRUE;
|
||||
subStruct->fontId = FONT_SHORT;
|
||||
subStruct->hasFontIdBeenSet = TRUE;
|
||||
}
|
||||
return RenderText(textPrinter);
|
||||
}
|
||||
|
||||
u16 Font3Func(struct TextPrinter *textPrinter)
|
||||
static u16 FontFunc_ShortCopy1(struct TextPrinter *textPrinter)
|
||||
{
|
||||
struct TextPrinterSubStruct *subStruct = (struct TextPrinterSubStruct *)(&textPrinter->subStructFields);
|
||||
|
||||
if (subStruct->hasGlyphIdBeenSet == FALSE)
|
||||
if (subStruct->hasFontIdBeenSet == FALSE)
|
||||
{
|
||||
subStruct->glyphId = 3;
|
||||
subStruct->hasGlyphIdBeenSet = TRUE;
|
||||
subStruct->fontId = FONT_SHORT_COPY_1;
|
||||
subStruct->hasFontIdBeenSet = TRUE;
|
||||
}
|
||||
return RenderText(textPrinter);
|
||||
}
|
||||
|
||||
u16 Font4Func(struct TextPrinter *textPrinter)
|
||||
static u16 FontFunc_ShortCopy2(struct TextPrinter *textPrinter)
|
||||
{
|
||||
struct TextPrinterSubStruct *subStruct = (struct TextPrinterSubStruct *)(&textPrinter->subStructFields);
|
||||
|
||||
if (subStruct->hasGlyphIdBeenSet == FALSE)
|
||||
if (subStruct->hasFontIdBeenSet == FALSE)
|
||||
{
|
||||
subStruct->glyphId = 4;
|
||||
subStruct->hasGlyphIdBeenSet = TRUE;
|
||||
subStruct->fontId = FONT_SHORT_COPY_2;
|
||||
subStruct->hasFontIdBeenSet = TRUE;
|
||||
}
|
||||
return RenderText(textPrinter);
|
||||
}
|
||||
|
||||
u16 Font5Func(struct TextPrinter *textPrinter)
|
||||
static u16 FontFunc_ShortCopy3(struct TextPrinter *textPrinter)
|
||||
{
|
||||
struct TextPrinterSubStruct *subStruct = (struct TextPrinterSubStruct *)(&textPrinter->subStructFields);
|
||||
|
||||
if (subStruct->hasGlyphIdBeenSet == FALSE)
|
||||
if (subStruct->hasFontIdBeenSet == FALSE)
|
||||
{
|
||||
subStruct->glyphId = 5;
|
||||
subStruct->hasGlyphIdBeenSet = TRUE;
|
||||
subStruct->fontId = FONT_SHORT_COPY_3;
|
||||
subStruct->hasFontIdBeenSet = TRUE;
|
||||
}
|
||||
return RenderText(textPrinter);
|
||||
}
|
||||
|
||||
u16 Font7Func(struct TextPrinter *textPrinter)
|
||||
static u16 FontFunc_Narrow(struct TextPrinter *textPrinter)
|
||||
{
|
||||
struct TextPrinterSubStruct *subStruct = (struct TextPrinterSubStruct *)(&textPrinter->subStructFields);
|
||||
|
||||
if (subStruct->hasGlyphIdBeenSet == FALSE)
|
||||
if (subStruct->hasFontIdBeenSet == FALSE)
|
||||
{
|
||||
subStruct->glyphId = 7;
|
||||
subStruct->hasGlyphIdBeenSet = TRUE;
|
||||
subStruct->fontId = FONT_NARROW;
|
||||
subStruct->hasFontIdBeenSet = TRUE;
|
||||
}
|
||||
return RenderText(textPrinter);
|
||||
}
|
||||
|
||||
u16 Font8Func(struct TextPrinter *textPrinter)
|
||||
static u16 FontFunc_SmallNarrow(struct TextPrinter *textPrinter)
|
||||
{
|
||||
struct TextPrinterSubStruct *subStruct = (struct TextPrinterSubStruct *)(&textPrinter->subStructFields);
|
||||
|
||||
if (subStruct->hasGlyphIdBeenSet == FALSE)
|
||||
if (subStruct->hasFontIdBeenSet == FALSE)
|
||||
{
|
||||
subStruct->glyphId = 8;
|
||||
subStruct->hasGlyphIdBeenSet = TRUE;
|
||||
subStruct->fontId = FONT_SMALL_NARROW;
|
||||
subStruct->hasFontIdBeenSet = TRUE;
|
||||
}
|
||||
return RenderText(textPrinter);
|
||||
}
|
||||
@ -907,7 +1003,7 @@ u16 RenderText(struct TextPrinter *textPrinter)
|
||||
textPrinter->printerTemplate.currentChar++;
|
||||
return 2;
|
||||
case EXT_CTRL_CODE_FONT:
|
||||
subStruct->glyphId = *textPrinter->printerTemplate.currentChar;
|
||||
subStruct->fontId = *textPrinter->printerTemplate.currentChar;
|
||||
textPrinter->printerTemplate.currentChar++;
|
||||
return 2;
|
||||
case EXT_CTRL_CODE_RESET_SIZE:
|
||||
@ -1022,27 +1118,27 @@ u16 RenderText(struct TextPrinter *textPrinter)
|
||||
return 1;
|
||||
}
|
||||
|
||||
switch (subStruct->glyphId)
|
||||
switch (subStruct->fontId)
|
||||
{
|
||||
case 0:
|
||||
DecompressGlyphFont0(currChar, textPrinter->japanese);
|
||||
case FONT_SMALL:
|
||||
DecompressGlyph_Small(currChar, textPrinter->japanese);
|
||||
break;
|
||||
case 1:
|
||||
DecompressGlyphFont1(currChar, textPrinter->japanese);
|
||||
case FONT_NORMAL:
|
||||
DecompressGlyph_Normal(currChar, textPrinter->japanese);
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
DecompressGlyphFont2(currChar, textPrinter->japanese);
|
||||
case FONT_SHORT:
|
||||
case FONT_SHORT_COPY_1:
|
||||
case FONT_SHORT_COPY_2:
|
||||
case FONT_SHORT_COPY_3:
|
||||
DecompressGlyph_Short(currChar, textPrinter->japanese);
|
||||
break;
|
||||
case 7:
|
||||
DecompressGlyphFont7(currChar, textPrinter->japanese);
|
||||
case FONT_NARROW:
|
||||
DecompressGlyph_Narrow(currChar, textPrinter->japanese);
|
||||
break;
|
||||
case 8:
|
||||
DecompressGlyphFont8(currChar, textPrinter->japanese);
|
||||
case FONT_SMALL_NARROW:
|
||||
DecompressGlyph_SmallNarrow(currChar, textPrinter->japanese);
|
||||
break;
|
||||
case 6:
|
||||
case FONT_BRAILLE:
|
||||
break;
|
||||
}
|
||||
|
||||
@ -1125,7 +1221,8 @@ u16 RenderText(struct TextPrinter *textPrinter)
|
||||
return 1;
|
||||
}
|
||||
|
||||
u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing)
|
||||
// Unused
|
||||
static u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing)
|
||||
{
|
||||
int i;
|
||||
u8 width;
|
||||
@ -1136,10 +1233,8 @@ u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing)
|
||||
u8 lineWidths[8];
|
||||
const u8 *strLocal;
|
||||
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
for (i = 0; i < (int)ARRAY_COUNT(lineWidths); i++)
|
||||
lineWidths[i] = 0;
|
||||
}
|
||||
|
||||
width = 0;
|
||||
line = 0;
|
||||
@ -1216,14 +1311,14 @@ u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing)
|
||||
return (u8)(GetFontAttribute(fontId, FONTATTR_MAX_LETTER_WIDTH) + letterSpacing) * width;
|
||||
}
|
||||
|
||||
u32 (*GetFontWidthFunc(u8 glyphId))(u16, bool32)
|
||||
static u32 (*GetFontWidthFunc(u8 fontId))(u16, bool32)
|
||||
{
|
||||
u32 i;
|
||||
|
||||
for (i = 0; i < 9; ++i)
|
||||
for (i = 0; i < ARRAY_COUNT(sGlyphWidthFuncs); ++i)
|
||||
{
|
||||
if (glyphId == gGlyphWidthFuncs[i].fontId)
|
||||
return gGlyphWidthFuncs[i].func;
|
||||
if (fontId == sGlyphWidthFuncs[i].fontId)
|
||||
return sGlyphWidthFuncs[i].func;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
@ -1233,7 +1328,7 @@ s32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
|
||||
{
|
||||
bool8 isJapanese;
|
||||
int minGlyphWidth;
|
||||
u32 (*func)(u16 glyphId, bool32 isJapanese);
|
||||
u32 (*func)(u16 fontId, bool32 isJapanese);
|
||||
int localLetterSpacing;
|
||||
u32 lineWidth;
|
||||
const u8 *bufferPointer;
|
||||
@ -1401,7 +1496,7 @@ s32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
|
||||
return width;
|
||||
}
|
||||
|
||||
u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str)
|
||||
u8 RenderTextHandleBold(u8 *pixels, u8 fontId, u8 *str)
|
||||
{
|
||||
u8 shadowColor;
|
||||
u8 *strLocal;
|
||||
@ -1490,12 +1585,12 @@ u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str)
|
||||
default:
|
||||
switch (fontId)
|
||||
{
|
||||
case 9:
|
||||
DecompressGlyphFont9(temp);
|
||||
case FONT_BOLD:
|
||||
DecompressGlyph_Bold(temp);
|
||||
break;
|
||||
case 1:
|
||||
case FONT_NORMAL:
|
||||
default:
|
||||
DecompressGlyphFont1(temp, 1);
|
||||
DecompressGlyph_Normal(temp, TRUE);
|
||||
break;
|
||||
}
|
||||
CpuCopy32(gCurGlyph.gfxBufferTop, pixels, 0x20);
|
||||
@ -1543,7 +1638,7 @@ u8 GetKeypadIconHeight(u8 keypadIconId)
|
||||
|
||||
void SetDefaultFontsPointer(void)
|
||||
{
|
||||
SetFontsPointer(&gFontInfos[0]);
|
||||
SetFontsPointer(sFontInfos);
|
||||
}
|
||||
|
||||
u8 GetFontAttribute(u8 fontId, u8 attributeId)
|
||||
@ -1552,28 +1647,28 @@ u8 GetFontAttribute(u8 fontId, u8 attributeId)
|
||||
switch (attributeId)
|
||||
{
|
||||
case FONTATTR_MAX_LETTER_WIDTH:
|
||||
result = gFontInfos[fontId].maxLetterWidth;
|
||||
result = sFontInfos[fontId].maxLetterWidth;
|
||||
break;
|
||||
case FONTATTR_MAX_LETTER_HEIGHT:
|
||||
result = gFontInfos[fontId].maxLetterHeight;
|
||||
result = sFontInfos[fontId].maxLetterHeight;
|
||||
break;
|
||||
case FONTATTR_LETTER_SPACING:
|
||||
result = gFontInfos[fontId].letterSpacing;
|
||||
result = sFontInfos[fontId].letterSpacing;
|
||||
break;
|
||||
case FONTATTR_LINE_SPACING:
|
||||
result = gFontInfos[fontId].lineSpacing;
|
||||
result = sFontInfos[fontId].lineSpacing;
|
||||
break;
|
||||
case FONTATTR_UNKNOWN:
|
||||
result = gFontInfos[fontId].unk;
|
||||
result = sFontInfos[fontId].unk;
|
||||
break;
|
||||
case FONTATTR_COLOR_FOREGROUND:
|
||||
result = gFontInfos[fontId].fgColor;
|
||||
result = sFontInfos[fontId].fgColor;
|
||||
break;
|
||||
case FONTATTR_COLOR_BACKGROUND:
|
||||
result = gFontInfos[fontId].bgColor;
|
||||
result = sFontInfos[fontId].bgColor;
|
||||
break;
|
||||
case FONTATTR_COLOR_SHADOW:
|
||||
result = gFontInfos[fontId].shadowColor;
|
||||
result = sFontInfos[fontId].shadowColor;
|
||||
break;
|
||||
}
|
||||
return result;
|
||||
@ -1581,16 +1676,16 @@ u8 GetFontAttribute(u8 fontId, u8 attributeId)
|
||||
|
||||
u8 GetMenuCursorDimensionByFont(u8 fontId, u8 whichDimension)
|
||||
{
|
||||
return gMenuCursorDimensions[fontId][whichDimension];
|
||||
return sMenuCursorDimensions[fontId][whichDimension];
|
||||
}
|
||||
|
||||
void DecompressGlyphFont0(u16 glyphId, bool32 isJapanese)
|
||||
static void DecompressGlyph_Small(u16 glyphId, bool32 isJapanese)
|
||||
{
|
||||
const u16* glyphs;
|
||||
|
||||
if (isJapanese == 1)
|
||||
{
|
||||
glyphs = gFont0JapaneseGlyphs + (0x100 * (glyphId >> 0x4)) + (0x8 * (glyphId & 0xF));
|
||||
glyphs = gFontSmallJapaneseGlyphs + (0x100 * (glyphId >> 0x4)) + (0x8 * (glyphId & 0xF));
|
||||
DecompressGlyphTile(glyphs, gCurGlyph.gfxBufferTop);
|
||||
DecompressGlyphTile(glyphs + 0x80, gCurGlyph.gfxBufferBottom);
|
||||
gCurGlyph.width = 8;
|
||||
@ -1598,8 +1693,8 @@ void DecompressGlyphFont0(u16 glyphId, bool32 isJapanese)
|
||||
}
|
||||
else
|
||||
{
|
||||
glyphs = gFont0LatinGlyphs + (0x20 * glyphId);
|
||||
gCurGlyph.width = gFont0LatinGlyphWidths[glyphId];
|
||||
glyphs = gFontSmallLatinGlyphs + (0x20 * glyphId);
|
||||
gCurGlyph.width = gFontSmallLatinGlyphWidths[glyphId];
|
||||
|
||||
if (gCurGlyph.width <= 8)
|
||||
{
|
||||
@ -1618,21 +1713,21 @@ void DecompressGlyphFont0(u16 glyphId, bool32 isJapanese)
|
||||
}
|
||||
}
|
||||
|
||||
u32 GetGlyphWidthFont0(u16 glyphId, bool32 isJapanese)
|
||||
static u32 GetGlyphWidth_Small(u16 glyphId, bool32 isJapanese)
|
||||
{
|
||||
if (isJapanese == TRUE)
|
||||
return 8;
|
||||
else
|
||||
return gFont0LatinGlyphWidths[glyphId];
|
||||
return gFontSmallLatinGlyphWidths[glyphId];
|
||||
}
|
||||
|
||||
void DecompressGlyphFont7(u16 glyphId, bool32 isJapanese)
|
||||
static void DecompressGlyph_Narrow(u16 glyphId, bool32 isJapanese)
|
||||
{
|
||||
const u16* glyphs;
|
||||
|
||||
if (isJapanese == TRUE)
|
||||
{
|
||||
glyphs = gFont1JapaneseGlyphs + (0x100 * (glyphId >> 0x4)) + (0x8 * (glyphId % 0x10));
|
||||
glyphs = gFontNormalJapaneseGlyphs + (0x100 * (glyphId >> 0x4)) + (0x8 * (glyphId % 0x10));
|
||||
DecompressGlyphTile(glyphs, gCurGlyph.gfxBufferTop);
|
||||
DecompressGlyphTile(glyphs + 0x80, gCurGlyph.gfxBufferBottom);
|
||||
gCurGlyph.width = 8;
|
||||
@ -1640,8 +1735,8 @@ void DecompressGlyphFont7(u16 glyphId, bool32 isJapanese)
|
||||
}
|
||||
else
|
||||
{
|
||||
glyphs = gFont7LatinGlyphs + (0x20 * glyphId);
|
||||
gCurGlyph.width = gFont7LatinGlyphWidths[glyphId];
|
||||
glyphs = gFontNarrowLatinGlyphs + (0x20 * glyphId);
|
||||
gCurGlyph.width = gFontNarrowLatinGlyphWidths[glyphId];
|
||||
|
||||
if (gCurGlyph.width <= 8)
|
||||
{
|
||||
@ -1660,21 +1755,21 @@ void DecompressGlyphFont7(u16 glyphId, bool32 isJapanese)
|
||||
}
|
||||
}
|
||||
|
||||
u32 GetGlyphWidthFont7(u16 glyphId, bool32 isJapanese)
|
||||
static u32 GetGlyphWidth_Narrow(u16 glyphId, bool32 isJapanese)
|
||||
{
|
||||
if (isJapanese == TRUE)
|
||||
return 8;
|
||||
else
|
||||
return gFont7LatinGlyphWidths[glyphId];
|
||||
return gFontNarrowLatinGlyphWidths[glyphId];
|
||||
}
|
||||
|
||||
void DecompressGlyphFont8(u16 glyphId, bool32 isJapanese)
|
||||
static void DecompressGlyph_SmallNarrow(u16 glyphId, bool32 isJapanese)
|
||||
{
|
||||
const u16* glyphs;
|
||||
|
||||
if (isJapanese == TRUE)
|
||||
{
|
||||
glyphs = gFont0JapaneseGlyphs + (0x100 * (glyphId >> 0x4)) + (0x8 * (glyphId & 0xF));
|
||||
glyphs = gFontSmallJapaneseGlyphs + (0x100 * (glyphId >> 0x4)) + (0x8 * (glyphId & 0xF));
|
||||
DecompressGlyphTile(glyphs, gCurGlyph.gfxBufferTop);
|
||||
DecompressGlyphTile(glyphs + 0x80, gCurGlyph.gfxBufferBottom);
|
||||
gCurGlyph.width = 8;
|
||||
@ -1682,8 +1777,8 @@ void DecompressGlyphFont8(u16 glyphId, bool32 isJapanese)
|
||||
}
|
||||
else
|
||||
{
|
||||
glyphs = gFont8LatinGlyphs + (0x20 * glyphId);
|
||||
gCurGlyph.width = gFont8LatinGlyphWidths[glyphId];
|
||||
glyphs = gFontSmallNarrowLatinGlyphs + (0x20 * glyphId);
|
||||
gCurGlyph.width = gFontSmallNarrowLatinGlyphWidths[glyphId];
|
||||
|
||||
if (gCurGlyph.width <= 8)
|
||||
{
|
||||
@ -1702,32 +1797,32 @@ void DecompressGlyphFont8(u16 glyphId, bool32 isJapanese)
|
||||
}
|
||||
}
|
||||
|
||||
u32 GetGlyphWidthFont8(u16 glyphId, bool32 isJapanese)
|
||||
static u32 GetGlyphWidth_SmallNarrow(u16 glyphId, bool32 isJapanese)
|
||||
{
|
||||
if (isJapanese == TRUE)
|
||||
return 8;
|
||||
else
|
||||
return gFont8LatinGlyphWidths[glyphId];
|
||||
return gFontSmallNarrowLatinGlyphWidths[glyphId];
|
||||
}
|
||||
|
||||
void DecompressGlyphFont2(u16 glyphId, bool32 isJapanese)
|
||||
static void DecompressGlyph_Short(u16 glyphId, bool32 isJapanese)
|
||||
{
|
||||
const u16* glyphs;
|
||||
|
||||
if (isJapanese == TRUE)
|
||||
{
|
||||
glyphs = gFont2JapaneseGlyphs + (0x100 * (glyphId >> 0x3)) + (0x10 * (glyphId & 0x7));
|
||||
glyphs = gFontShortJapaneseGlyphs + (0x100 * (glyphId >> 0x3)) + (0x10 * (glyphId & 0x7));
|
||||
DecompressGlyphTile(glyphs, gCurGlyph.gfxBufferTop);
|
||||
DecompressGlyphTile(glyphs + 0x8, gCurGlyph.gfxBufferTop + 8);
|
||||
DecompressGlyphTile(glyphs + 0x80, gCurGlyph.gfxBufferBottom); // gCurGlyph + 0x20
|
||||
DecompressGlyphTile(glyphs + 0x88, gCurGlyph.gfxBufferBottom + 8); // gCurGlyph + 0x60
|
||||
gCurGlyph.width = gFont2JapaneseGlyphWidths[glyphId];
|
||||
gCurGlyph.width = gFontShortJapaneseGlyphWidths[glyphId];
|
||||
gCurGlyph.height = 14;
|
||||
}
|
||||
else
|
||||
{
|
||||
glyphs = gFont2LatinGlyphs + (0x20 * glyphId);
|
||||
gCurGlyph.width = gFont2LatinGlyphWidths[glyphId];
|
||||
glyphs = gFontShortLatinGlyphs + (0x20 * glyphId);
|
||||
gCurGlyph.width = gFontShortLatinGlyphWidths[glyphId];
|
||||
|
||||
if (gCurGlyph.width <= 8)
|
||||
{
|
||||
@ -1746,21 +1841,21 @@ void DecompressGlyphFont2(u16 glyphId, bool32 isJapanese)
|
||||
}
|
||||
}
|
||||
|
||||
u32 GetGlyphWidthFont2(u16 glyphId, bool32 isJapanese)
|
||||
static u32 GetGlyphWidth_Short(u16 glyphId, bool32 isJapanese)
|
||||
{
|
||||
if (isJapanese == TRUE)
|
||||
return gFont2JapaneseGlyphWidths[glyphId];
|
||||
return gFontShortJapaneseGlyphWidths[glyphId];
|
||||
else
|
||||
return gFont2LatinGlyphWidths[glyphId];
|
||||
return gFontShortLatinGlyphWidths[glyphId];
|
||||
}
|
||||
|
||||
void DecompressGlyphFont1(u16 glyphId, bool32 isJapanese)
|
||||
static void DecompressGlyph_Normal(u16 glyphId, bool32 isJapanese)
|
||||
{
|
||||
const u16* glyphs;
|
||||
|
||||
if (isJapanese == TRUE)
|
||||
{
|
||||
glyphs = gFont1JapaneseGlyphs + (0x100 * (glyphId >> 0x4)) + (0x8 * (glyphId % 0x10));
|
||||
glyphs = gFontNormalJapaneseGlyphs + (0x100 * (glyphId >> 0x4)) + (0x8 * (glyphId % 0x10));
|
||||
DecompressGlyphTile(glyphs, gCurGlyph.gfxBufferTop);
|
||||
DecompressGlyphTile(glyphs + 0x80, gCurGlyph.gfxBufferBottom);
|
||||
gCurGlyph.width = 8;
|
||||
@ -1768,8 +1863,8 @@ void DecompressGlyphFont1(u16 glyphId, bool32 isJapanese)
|
||||
}
|
||||
else
|
||||
{
|
||||
glyphs = gFont1LatinGlyphs + (0x20 * glyphId);
|
||||
gCurGlyph.width = gFont1LatinGlyphWidths[glyphId];
|
||||
glyphs = gFontNormalLatinGlyphs + (0x20 * glyphId);
|
||||
gCurGlyph.width = gFontNormalLatinGlyphWidths[glyphId];
|
||||
|
||||
if (gCurGlyph.width <= 8)
|
||||
{
|
||||
@ -1788,19 +1883,19 @@ void DecompressGlyphFont1(u16 glyphId, bool32 isJapanese)
|
||||
}
|
||||
}
|
||||
|
||||
u32 GetGlyphWidthFont1(u16 glyphId, bool32 isJapanese)
|
||||
static u32 GetGlyphWidth_Normal(u16 glyphId, bool32 isJapanese)
|
||||
{
|
||||
if (isJapanese == TRUE)
|
||||
return 8;
|
||||
else
|
||||
return gFont1LatinGlyphWidths[glyphId];
|
||||
return gFontNormalLatinGlyphWidths[glyphId];
|
||||
}
|
||||
|
||||
void DecompressGlyphFont9(u16 glyphId)
|
||||
static void DecompressGlyph_Bold(u16 glyphId)
|
||||
{
|
||||
const u16* glyphs;
|
||||
|
||||
glyphs = gFont9JapaneseGlyphs + (0x100 * (glyphId >> 4)) + (0x8 * (glyphId & 0xF));
|
||||
glyphs = gFontBoldJapaneseGlyphs + (0x100 * (glyphId >> 4)) + (0x8 * (glyphId & 0xF));
|
||||
DecompressGlyphTile(glyphs, gCurGlyph.gfxBufferTop);
|
||||
DecompressGlyphTile(glyphs + 0x80, gCurGlyph.gfxBufferBottom);
|
||||
gCurGlyph.width = 8;
|
||||
|
||||
319
gflib/text.h
@ -1,280 +1,26 @@
|
||||
#ifndef GUARD_TEXT_H
|
||||
#define GUARD_TEXT_H
|
||||
|
||||
#define CHAR_SPACE 0x00
|
||||
#define CHAR_A_GRAVE 0x01
|
||||
#define CHAR_A_ACUTE 0x02
|
||||
#define CHAR_A_CIRCUMFLEX 0x03
|
||||
#define CHAR_C_CEDILLA 0x04
|
||||
#define CHAR_E_GRAVE 0x05
|
||||
#define CHAR_E_ACUTE 0x06
|
||||
#define CHAR_E_CIRCUMFLEX 0x07
|
||||
#define CHAR_E_DIAERESIS 0x08
|
||||
#define CHAR_I_GRAVE 0x09
|
||||
//#define CHAR_I_ACUTE 0x0A // Is 0x5A instead
|
||||
#define CHAR_I_CIRCUMFLEX 0x0B
|
||||
#define CHAR_I_DIAERESIS 0x0C
|
||||
#define CHAR_O_GRAVE 0x0D
|
||||
#define CHAR_O_ACUTE 0x0E
|
||||
#define CHAR_O_CIRCUMFLEX 0x0F
|
||||
#define CHAR_OE 0x10
|
||||
#define CHAR_U_GRAVE 0x11
|
||||
#define CHAR_U_ACUTE 0x12
|
||||
#define CHAR_U_CIRCUMFLEX 0x13
|
||||
#define CHAR_N_TILDE 0x14
|
||||
#define CHAR_ESZETT 0x15
|
||||
#define CHAR_a_GRAVE 0x16
|
||||
#define CHAR_a_ACUTE 0x17
|
||||
//#define CHAR_a_CIRCUMFLEX 0x18 // Is 0x68 instead
|
||||
#define CHAR_c_CEDILLA 0x19
|
||||
#define CHAR_e_GRAVE 0x1A
|
||||
#define CHAR_e_ACUTE 0x1B
|
||||
#define CHAR_e_CIRCUMFLEX 0x1C
|
||||
#define CHAR_e_DIAERESIS 0x1D
|
||||
#define CHAR_i_GRAVE 0x1E
|
||||
//#define CHAR_i_ACUTE 0x1F // Is 0x6F instead
|
||||
#define CHAR_i_CIRCUMFLEX 0x20
|
||||
#define CHAR_i_DIAERESIS 0x21
|
||||
#define CHAR_o_GRAVE 0x22
|
||||
#define CHAR_o_ACUTE 0x23
|
||||
#define CHAR_o_CIRCUMFLEX 0x24
|
||||
#define CHAR_oe 0x25
|
||||
#define CHAR_u_GRAVE 0x26
|
||||
#define CHAR_u_ACUTE 0x27
|
||||
#define CHAR_u_CIRCUMFLEX 0x28
|
||||
#define CHAR_n_TILDE 0x29
|
||||
#define CHAR_MASCULINE_ORDINAL 0x2A
|
||||
#define CHAR_FEMININE_ORDINAL 0x2B
|
||||
#define CHAR_SUPER_ER 0x2C
|
||||
#define CHAR_AMPERSAND 0x2D
|
||||
#define CHAR_PLUS 0x2E
|
||||
//
|
||||
#define CHAR_LV 0x34
|
||||
#define CHAR_EQUALS 0x35
|
||||
#define CHAR_SEMICOLON 0x36
|
||||
#define CHAR_BARD_WORD_DELIMIT 0x37 // Empty space to separate words in Bard's song
|
||||
#define CHAR_INV_QUESTION_MARK 0x51
|
||||
#define CHAR_INV_EXCL_MARK 0x52
|
||||
#define CHAR_PK 0x53
|
||||
#define CHAR_MN 0x54
|
||||
#define CHAR_PO 0x55
|
||||
#define CHAR_KE 0x56
|
||||
#define CHAR_BLOCK_1 0x57 // Each of these 3
|
||||
#define CHAR_BLOCK_2 0x58 // chars contains 1/3
|
||||
#define CHAR_BLOCK_3 0x59 // of the word BLOCK
|
||||
#define CHAR_I_ACUTE 0x5A
|
||||
#define CHAR_PERCENT 0x5B
|
||||
#define CHAR_LEFT_PAREN 0x5C
|
||||
#define CHAR_RIGHT_PAREN 0x5D
|
||||
//
|
||||
#define CHAR_a_CIRCUMFLEX 0x68
|
||||
//
|
||||
#define CHAR_i_ACUTE 0x6F
|
||||
//
|
||||
#define CHAR_SPACER 0x77 // Empty space
|
||||
//
|
||||
#define CHAR_UP_ARROW 0x79
|
||||
#define CHAR_DOWN_ARROW 0x7A
|
||||
#define CHAR_LEFT_ARROW 0x7B
|
||||
#define CHAR_RIGHT_ARROW 0x7C
|
||||
//
|
||||
#define CHAR_SUPER_E 0x84
|
||||
#define CHAR_LESS_THAN 0x85
|
||||
#define CHAR_GREATER_THAN 0x86
|
||||
//
|
||||
#define CHAR_SUPER_RE 0xA0
|
||||
#define CHAR_0 0xA1
|
||||
#define CHAR_1 0xA2
|
||||
#define CHAR_2 0xA3
|
||||
#define CHAR_3 0xA4
|
||||
#define CHAR_4 0xA5
|
||||
#define CHAR_5 0xA6
|
||||
#define CHAR_6 0xA7
|
||||
#define CHAR_7 0xA8
|
||||
#define CHAR_8 0xA9
|
||||
#define CHAR_9 0xAA
|
||||
#define CHAR_EXCL_MARK 0xAB
|
||||
#define CHAR_QUESTION_MARK 0xAC
|
||||
#define CHAR_PERIOD 0xAD
|
||||
#define CHAR_HYPHEN 0xAE
|
||||
#define CHAR_BULLET 0xAF
|
||||
#define CHAR_ELLIPSIS 0xB0
|
||||
#define CHAR_DBL_QUOT_LEFT 0xB1
|
||||
#define CHAR_DBL_QUOT_RIGHT 0xB2
|
||||
#define CHAR_SGL_QUOT_LEFT 0xB3
|
||||
#define CHAR_SGL_QUOT_RIGHT 0xB4
|
||||
#define CHAR_MALE 0xB5
|
||||
#define CHAR_FEMALE 0xB6
|
||||
#define CHAR_CURRENCY 0xB7
|
||||
#define CHAR_COMMA 0xB8
|
||||
#define CHAR_MULT_SIGN 0xB9
|
||||
#define CHAR_SLASH 0xBA
|
||||
#define CHAR_A 0xBB
|
||||
#define CHAR_B 0xBC
|
||||
#define CHAR_C 0xBD
|
||||
#define CHAR_D 0xBE
|
||||
#define CHAR_E 0xBF
|
||||
#define CHAR_F 0xC0
|
||||
#define CHAR_G 0xC1
|
||||
#define CHAR_H 0xC2
|
||||
#define CHAR_I 0xC3
|
||||
#define CHAR_J 0xC4
|
||||
#define CHAR_K 0xC5
|
||||
#define CHAR_L 0xC6
|
||||
#define CHAR_M 0xC7
|
||||
#define CHAR_N 0xC8
|
||||
#define CHAR_O 0xC9
|
||||
#define CHAR_P 0xCA
|
||||
#define CHAR_Q 0xCB
|
||||
#define CHAR_R 0xCC
|
||||
#define CHAR_S 0xCD
|
||||
#define CHAR_T 0xCE
|
||||
#define CHAR_U 0xCF
|
||||
#define CHAR_V 0xD0
|
||||
#define CHAR_W 0xD1
|
||||
#define CHAR_X 0xD2
|
||||
#define CHAR_Y 0xD3
|
||||
#define CHAR_Z 0xD4
|
||||
#define CHAR_a 0xD5
|
||||
#define CHAR_b 0xD6
|
||||
#define CHAR_c 0xD7
|
||||
#define CHAR_d 0xD8
|
||||
#define CHAR_e 0xD9
|
||||
#define CHAR_f 0xDA
|
||||
#define CHAR_g 0xDB
|
||||
#define CHAR_h 0xDC
|
||||
#define CHAR_i 0xDD
|
||||
#define CHAR_j 0xDE
|
||||
#define CHAR_k 0xDF
|
||||
#define CHAR_l 0xE0
|
||||
#define CHAR_m 0xE1
|
||||
#define CHAR_n 0xE2
|
||||
#define CHAR_o 0xE3
|
||||
#define CHAR_p 0xE4
|
||||
#define CHAR_q 0xE5
|
||||
#define CHAR_r 0xE6
|
||||
#define CHAR_s 0xE7
|
||||
#define CHAR_t 0xE8
|
||||
#define CHAR_u 0xE9
|
||||
#define CHAR_v 0xEA
|
||||
#define CHAR_w 0xEB
|
||||
#define CHAR_x 0xEC
|
||||
#define CHAR_y 0xED
|
||||
#define CHAR_z 0xEE
|
||||
#define CHAR_BLACK_TRIANGLE 0xEF
|
||||
#define CHAR_COLON 0xF0
|
||||
#define CHAR_A_DIAERESIS 0xF1
|
||||
#define CHAR_O_DIAERESIS 0xF2
|
||||
#define CHAR_U_DIAERESIS 0xF3
|
||||
#define CHAR_a_DIAERESIS 0xF4
|
||||
#define CHAR_o_DIAERESIS 0xF5
|
||||
#define CHAR_u_DIAERESIS 0xF6
|
||||
#define CHAR_DYNAMIC 0xF7
|
||||
#define CHAR_KEYPAD_ICON 0xF8
|
||||
#define CHAR_EXTRA_SYMBOL 0xF9
|
||||
#define CHAR_PROMPT_SCROLL 0xFA // waits for button press and scrolls dialog
|
||||
#define CHAR_PROMPT_CLEAR 0xFB // waits for button press and clears dialog
|
||||
#define EXT_CTRL_CODE_BEGIN 0xFC // extended control code
|
||||
#define PLACEHOLDER_BEGIN 0xFD // string placeholder
|
||||
#define CHAR_NEWLINE 0xFE
|
||||
#define EOS 0xFF // end of string
|
||||
|
||||
// CHAR_KEYPAD_ICON chars
|
||||
#define CHAR_A_BUTTON 0x00
|
||||
#define CHAR_B_BUTTON 0x01
|
||||
#define CHAR_L_BUTTON 0x02
|
||||
#define CHAR_R_BUTTON 0x03
|
||||
#define CHAR_START_BUTTON 0x04
|
||||
#define CHAR_SELECT_BUTTON 0x05
|
||||
#define CHAR_DPAD_UP 0x06
|
||||
#define CHAR_DPAD_DOWN 0x07
|
||||
#define CHAR_DPAD_LEFT 0x08
|
||||
#define CHAR_DPAD_RIGHT 0x09
|
||||
#define CHAR_DPAD_UPDOWN 0x0A
|
||||
#define CHAR_DPAD_LEFTRIGHT 0x0B
|
||||
#define CHAR_DPAD_NONE 0x0C
|
||||
|
||||
// CHAR_EXTRA_SYMBOL chars
|
||||
#define CHAR_UP_ARROW_2 0x00
|
||||
#define CHAR_DOWN_ARROW_2 0x01
|
||||
#define CHAR_LEFT_ARROW_2 0x02
|
||||
#define CHAR_RIGHT_ARROW_2 0x03
|
||||
#define CHAR_PLUS_2 0x04
|
||||
#define CHAR_LV_2 0x05
|
||||
#define CHAR_PP 0x06
|
||||
#define CHAR_ID 0x07
|
||||
#define CHAR_NO 0x08
|
||||
#define CHAR_UNDERSCORE 0x09
|
||||
|
||||
#define EXT_CTRL_CODE_COLOR 0x01
|
||||
#define EXT_CTRL_CODE_HIGHLIGHT 0x02
|
||||
#define EXT_CTRL_CODE_SHADOW 0x03
|
||||
#define EXT_CTRL_CODE_COLOR_HIGHLIGHT_SHADOW 0x04
|
||||
#define EXT_CTRL_CODE_PALETTE 0x05
|
||||
#define EXT_CTRL_CODE_FONT 0x06
|
||||
#define EXT_CTRL_CODE_RESET_SIZE 0x07
|
||||
#define EXT_CTRL_CODE_PAUSE 0x08
|
||||
#define EXT_CTRL_CODE_PAUSE_UNTIL_PRESS 0x09
|
||||
#define EXT_CTRL_CODE_WAIT_SE 0x0A
|
||||
#define EXT_CTRL_CODE_PLAY_BGM 0x0B
|
||||
#define EXT_CTRL_CODE_ESCAPE 0x0C
|
||||
#define EXT_CTRL_CODE_SHIFT_TEXT 0x0D
|
||||
#define EXT_CTRL_CODE_SHIFT_DOWN 0x0E
|
||||
#define EXT_CTRL_CODE_FILL_WINDOW 0x0F
|
||||
#define EXT_CTRL_CODE_PLAY_SE 0x10
|
||||
#define EXT_CTRL_CODE_CLEAR 0x11
|
||||
#define EXT_CTRL_CODE_SKIP 0x12
|
||||
#define EXT_CTRL_CODE_CLEAR_TO 0x13
|
||||
#define EXT_CTRL_CODE_MIN_LETTER_SPACING 0x14
|
||||
#define EXT_CTRL_CODE_JPN 0x15
|
||||
#define EXT_CTRL_CODE_ENG 0x16
|
||||
#define EXT_CTRL_CODE_PAUSE_MUSIC 0x17
|
||||
#define EXT_CTRL_CODE_RESUME_MUSIC 0x18
|
||||
|
||||
#define TEXT_COLOR_TRANSPARENT 0x0
|
||||
#define TEXT_COLOR_WHITE 0x1
|
||||
#define TEXT_COLOR_DARK_GRAY 0x2
|
||||
#define TEXT_COLOR_LIGHT_GRAY 0x3
|
||||
#define TEXT_COLOR_RED 0x4
|
||||
#define TEXT_COLOR_LIGHT_RED 0x5
|
||||
#define TEXT_COLOR_GREEN 0x6
|
||||
#define TEXT_COLOR_LIGHT_GREEN 0x7
|
||||
#define TEXT_COLOR_BLUE 0x8
|
||||
#define TEXT_COLOR_LIGHT_BLUE 0x9
|
||||
#define TEXT_DYNAMIC_COLOR_1 0xA // Usually white
|
||||
#define TEXT_DYNAMIC_COLOR_2 0xB // Usually white w/ tinge of green
|
||||
#define TEXT_DYNAMIC_COLOR_3 0xC // Usually white
|
||||
#define TEXT_DYNAMIC_COLOR_4 0xD // Usually aquamarine
|
||||
#define TEXT_DYNAMIC_COLOR_5 0xE // Usually blue-green
|
||||
#define TEXT_DYNAMIC_COLOR_6 0xF // Usually cerulean
|
||||
|
||||
#define PLACEHOLDER_ID_UNKNOWN 0x0
|
||||
#define PLACEHOLDER_ID_PLAYER 0x1
|
||||
#define PLACEHOLDER_ID_STRING_VAR_1 0x2
|
||||
#define PLACEHOLDER_ID_STRING_VAR_2 0x3
|
||||
#define PLACEHOLDER_ID_STRING_VAR_3 0x4
|
||||
#define PLACEHOLDER_ID_KUN 0x5
|
||||
#define PLACEHOLDER_ID_RIVAL 0x6
|
||||
#define PLACEHOLDER_ID_VERSION 0x7
|
||||
#define PLACEHOLDER_ID_AQUA 0x8
|
||||
#define PLACEHOLDER_ID_MAGMA 0x9
|
||||
#define PLACEHOLDER_ID_ARCHIE 0xA
|
||||
#define PLACEHOLDER_ID_MAXIE 0xB
|
||||
#define PLACEHOLDER_ID_KYOGRE 0xC
|
||||
#define PLACEHOLDER_ID_GROUDON 0xD
|
||||
|
||||
// battle placeholders are located in battle_message.h
|
||||
|
||||
// Hiragana from 0x1-0x50, Katakana from 0x51-0xA0.
|
||||
// This excludes Japanese punctuation, which end at 0xB0
|
||||
#define JAPANESE_CHAR_END 0xA0
|
||||
#include "characters.h"
|
||||
|
||||
#define NUM_TEXT_PRINTERS 32
|
||||
|
||||
#define TEXT_SPEED_FF 0xFF
|
||||
|
||||
enum
|
||||
{
|
||||
enum {
|
||||
FONT_SMALL,
|
||||
FONT_NORMAL,
|
||||
FONT_SHORT,
|
||||
FONT_SHORT_COPY_1,
|
||||
FONT_SHORT_COPY_2,
|
||||
FONT_SHORT_COPY_3,
|
||||
FONT_BRAILLE,
|
||||
FONT_NARROW,
|
||||
FONT_SMALL_NARROW, // Very similar to FONT_SMALL, some glyphs are narrower
|
||||
FONT_BOLD, // JP glyph set only
|
||||
};
|
||||
|
||||
enum {
|
||||
FONTATTR_MAX_LETTER_WIDTH,
|
||||
FONTATTR_MAX_LETTER_HEIGHT,
|
||||
FONTATTR_LETTER_SPACING,
|
||||
@ -287,12 +33,12 @@ enum
|
||||
|
||||
struct TextPrinterSubStruct
|
||||
{
|
||||
u8 glyphId:4; // 0x14
|
||||
u8 fontId:4; // 0x14
|
||||
bool8 hasPrintBeenSpedUp:1;
|
||||
u8 unk:3;
|
||||
u8 downArrowDelay:5;
|
||||
u8 downArrowYPosIdx:2;
|
||||
bool8 hasGlyphIdBeenSet:1;
|
||||
bool8 hasFontIdBeenSet:1;
|
||||
u8 autoScrollDelay;
|
||||
};
|
||||
|
||||
@ -377,7 +123,6 @@ extern TextFlags gTextFlags;
|
||||
extern u8 gDisableTextPrinters;
|
||||
extern struct TextGlyph gCurGlyph;
|
||||
|
||||
void SetFontsPointer(const struct FontInfo *fonts);
|
||||
void DeactivateAllTextPrinters(void);
|
||||
u16 AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16));
|
||||
bool16 AddTextPrinter(struct TextPrinterTemplate *template, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16));
|
||||
@ -393,15 +138,6 @@ void CopyGlyphToWindow(struct TextPrinter *x);
|
||||
void ClearTextSpan(struct TextPrinter *textPrinter, u32 width);
|
||||
u8 GetMenuCursorDimensionByFont(u8, u8);
|
||||
|
||||
u16 Font0Func(struct TextPrinter *textPrinter);
|
||||
u16 Font1Func(struct TextPrinter *textPrinter);
|
||||
u16 Font2Func(struct TextPrinter *textPrinter);
|
||||
u16 Font3Func(struct TextPrinter *textPrinter);
|
||||
u16 Font4Func(struct TextPrinter *textPrinter);
|
||||
u16 Font5Func(struct TextPrinter *textPrinter);
|
||||
u16 Font7Func(struct TextPrinter *textPrinter);
|
||||
u16 Font8Func(struct TextPrinter *textPrinter);
|
||||
|
||||
void TextPrinterInitDownArrowCounters(struct TextPrinter *textPrinter);
|
||||
void TextPrinterDrawDownArrow(struct TextPrinter *textPrinter);
|
||||
void TextPrinterClearDownArrow(struct TextPrinter *textPrinter);
|
||||
@ -410,10 +146,8 @@ bool16 TextPrinterWaitWithDownArrow(struct TextPrinter *textPrinter);
|
||||
bool16 TextPrinterWait(struct TextPrinter *textPrinter);
|
||||
void DrawDownArrow(u8 windowId, u16 x, u16 y, u8 bgColor, bool8 drawArrow, u8 *counter, u8 *yCoordIndex);
|
||||
u16 RenderText(struct TextPrinter *textPrinter);
|
||||
u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing);
|
||||
u32 (*GetFontWidthFunc(u8 glyphId))(u16, bool32);
|
||||
s32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing);
|
||||
u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str);
|
||||
u8 RenderTextHandleBold(u8 *pixels, u8 fontId, u8 *str);
|
||||
u8 DrawKeypadIcon(u8 windowId, u8 keypadIconId, u16 x, u16 y);
|
||||
u8 GetKeypadIconTileOffset(u8 keypadIconId);
|
||||
u8 GetKeypadIconWidth(u8 keypadIconId);
|
||||
@ -421,20 +155,9 @@ u8 GetKeypadIconHeight(u8 keypadIconId);
|
||||
void SetDefaultFontsPointer(void);
|
||||
u8 GetFontAttribute(u8 fontId, u8 attributeId);
|
||||
u8 GetMenuCursorDimensionByFont(u8 fontId, u8 whichDimension);
|
||||
void DecompressGlyphFont0(u16 glyphId, bool32 isJapanese);
|
||||
u32 GetGlyphWidthFont0(u16 glyphId, bool32 isJapanese);
|
||||
void DecompressGlyphFont7(u16 glyphId, bool32 isJapanese);
|
||||
u32 GetGlyphWidthFont7(u16 glyphId, bool32 isJapanese);
|
||||
void DecompressGlyphFont8(u16 glyphId, bool32 isJapanese);
|
||||
u32 GetGlyphWidthFont8(u16 glyphId, bool32 isJapanese);
|
||||
void DecompressGlyphFont2(u16 glyphId, bool32 isJapanese);
|
||||
u32 GetGlyphWidthFont2(u16 glyphId, bool32 isJapanese);
|
||||
void DecompressGlyphFont1(u16 glyphId, bool32 isJapanese);
|
||||
u32 GetGlyphWidthFont1(u16 glyphId, bool32 isJapanese);
|
||||
void DecompressGlyphFont9(u16 glyphId);
|
||||
|
||||
// unk_text_util_2.c
|
||||
u16 Font6Func(struct TextPrinter *textPrinter);
|
||||
u32 GetGlyphWidthFont6(u16 glyphId, bool32 isJapanese);
|
||||
// braille.c
|
||||
u16 FontFunc_Braille(struct TextPrinter *textPrinter);
|
||||
u32 GetGlyphWidth_Braille(u16 glyphId, bool32 isJapanese);
|
||||
|
||||
#endif // GUARD_TEXT_H
|
||||
|
||||
|
Before Width: | Height: | Size: 220 B After Width: | Height: | Size: 220 B |
@ -1,32 +0,0 @@
|
||||
.byte 3, 5, 5, 5, 5, 5, 5, 5, 5, 4, 3, 4, 4, 5, 5, 5
|
||||
.byte 5, 5, 5, 5, 5, 5, 5, 5, 3, 5, 5, 5, 5, 5, 4, 3
|
||||
.byte 4, 4, 5, 5, 5, 6, 5, 5, 5, 5, 5, 5, 8, 7, 8, 3
|
||||
.byte 3, 3, 3, 3, 8, 8, 7, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 5, 5, 5, 8, 8, 8, 8, 8, 8, 8, 4, 7, 5, 5, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 3, 3, 3, 3, 3, 4
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 5, 3, 8, 8, 8, 8, 1, 2, 3
|
||||
.byte 4, 5, 6, 7, 5, 7, 7, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 8, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5, 5, 5, 5
|
||||
.byte 5, 5, 5, 5, 5, 5, 5, 8, 5, 8, 5, 5, 5, 5, 5, 5
|
||||
.byte 5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5
|
||||
.byte 5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5, 5
|
||||
.byte 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8
|
||||
.byte 7, 5, 5, 5, 5, 5, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8
|
||||
.byte 8, 8, 8, 8, 8, 8, 8, 8, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8
|
||||
.byte 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8
|
||||
.byte 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 3
|
||||
@ -1,32 +0,0 @@
|
||||
.byte 3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 3, 6, 6, 6, 6, 6
|
||||
.byte 8, 6, 6, 6, 6, 6, 6, 6, 3, 6, 6, 6, 6, 6, 6, 3
|
||||
.byte 6, 6, 6, 6, 6, 8, 6, 6, 6, 6, 6, 6, 9, 7, 6, 3
|
||||
.byte 3, 3, 3, 3, 10, 8, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 6, 6, 4, 8, 8, 8, 7, 8, 8, 4, 6, 6, 4, 4, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 6, 3, 3, 3, 3, 3, 3, 6
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 6, 3, 7, 7, 7, 7, 1, 2, 3
|
||||
.byte 4, 5, 6, 7, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 8, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, 6, 3, 6, 3
|
||||
.byte 6, 6, 6, 3, 3, 6, 6, 6, 3, 7, 6, 6, 6, 6, 6, 6
|
||||
.byte 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6
|
||||
.byte 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, 5, 6
|
||||
.byte 4, 6, 6, 6, 6, 6, 5, 6, 6, 6, 6, 6, 6, 6, 6, 8
|
||||
.byte 3, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 10, 10, 10, 10, 8, 10, 10, 8, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8
|
||||
.byte 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8
|
||||
.byte 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 3
|
||||
@ -1,32 +0,0 @@
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9
|
||||
.byte 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9
|
||||
.byte 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 5, 9, 10, 10, 10
|
||||
.byte 8, 10, 10, 10, 10, 8, 8, 8, 10, 10, 8, 6, 6, 6, 6, 6
|
||||
.byte 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6
|
||||
.byte 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 6, 2, 4, 6
|
||||
.byte 3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6
|
||||
.byte 5, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
@ -1,32 +0,0 @@
|
||||
.byte 3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 3, 6, 6, 6, 6, 6
|
||||
.byte 8, 6, 6, 6, 6, 6, 6, 6, 3, 6, 6, 6, 6, 6, 6, 3
|
||||
.byte 6, 6, 6, 6, 6, 8, 6, 6, 6, 6, 6, 6, 9, 8, 8, 3
|
||||
.byte 3, 3, 3, 3, 10, 8, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 6, 6, 6, 8, 8, 8, 8, 8, 8, 4, 6, 8, 5, 5, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 6, 3, 3, 3, 3, 3, 3, 6
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 6, 3, 12, 12, 12, 12, 1, 2, 3
|
||||
.byte 4, 5, 6, 7, 8, 8, 8, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 8, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 5
|
||||
.byte 6, 6, 6, 3, 3, 6, 6, 8, 5, 9, 6, 6, 6, 6, 6, 6
|
||||
.byte 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6
|
||||
.byte 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 6, 4, 6, 5
|
||||
.byte 5, 6, 5, 6, 6, 6, 5, 5, 5, 6, 6, 6, 6, 6, 6, 8
|
||||
.byte 5, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 12, 12, 12, 12, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8
|
||||
.byte 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8
|
||||
.byte 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 3
|
||||
@ -1,32 +0,0 @@
|
||||
.byte 3, 5, 5, 5, 5, 5, 5, 5, 5, 4, 3, 4, 4, 5, 5, 5
|
||||
.byte 8, 5, 5, 5, 5, 6, 5, 5, 3, 5, 5, 5, 5, 5, 4, 3
|
||||
.byte 4, 4, 5, 5, 5, 8, 5, 5, 5, 5, 5, 6, 9, 6, 6, 3
|
||||
.byte 3, 3, 3, 3, 8, 8, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 5, 5, 4, 8, 8, 8, 7, 8, 8, 4, 4, 6, 4, 4, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 3, 3, 3, 3, 3, 4
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 5, 3, 7, 7, 7, 7, 1, 2, 3
|
||||
.byte 4, 5, 6, 7, 5, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 8, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5, 3, 5, 3
|
||||
.byte 5, 5, 5, 3, 3, 5, 5, 6, 3, 6, 6, 5, 5, 5, 5, 5
|
||||
.byte 5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5
|
||||
.byte 5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5, 5
|
||||
.byte 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8
|
||||
.byte 3, 5, 5, 5, 5, 5, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 10, 10, 10, 10, 8, 8, 10, 8, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8
|
||||
.byte 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8
|
||||
.byte 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 3
|
||||
@ -1,32 +0,0 @@
|
||||
.byte 3, 5, 5, 5, 5, 5, 5, 5, 5, 4, 3, 4, 4, 5, 5, 5
|
||||
.byte 5, 5, 5, 5, 5, 5, 5, 5, 3, 4, 5, 5, 5, 5, 4, 3
|
||||
.byte 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 5, 6, 3
|
||||
.byte 3, 3, 3, 3, 8, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 5, 5, 3, 8, 8, 8, 8, 8, 8, 8, 4, 5, 4, 4, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 3, 3, 3, 3, 3, 4
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 5, 3, 8, 8, 8, 8, 1, 2, 3
|
||||
.byte 4, 5, 6, 7, 5, 5, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 7, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5, 3, 5, 5
|
||||
.byte 5, 5, 5, 3, 3, 5, 5, 5, 3, 5, 5, 5, 5, 5, 5, 5
|
||||
.byte 5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5
|
||||
.byte 5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 5
|
||||
.byte 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 7
|
||||
.byte 3, 5, 5, 5, 5, 5, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8
|
||||
.byte 8, 8, 8, 8, 8, 8, 8, 8, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
|
||||
.byte 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8
|
||||
.byte 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8
|
||||
.byte 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 3
|
||||
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
@ -1,32 +0,0 @@
|
||||
.byte 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9
|
||||
.byte 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9
|
||||
.byte 9, 9, 9, 9, 9, 9, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 9, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 5, 9, 10, 10, 10
|
||||
.byte 8, 10, 10, 10, 10, 8, 8, 8, 10, 10, 8, 6, 6, 6, 6, 6
|
||||
.byte 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6
|
||||
.byte 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 6, 2, 4, 6
|
||||
.byte 3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6
|
||||
.byte 5, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
@ -1,32 +0,0 @@
|
||||
.byte 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9
|
||||
.byte 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 9, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 5, 9, 10, 10, 10
|
||||
.byte 8, 10, 10, 10, 10, 8, 8, 8, 10, 10, 8, 6, 6, 6, 6, 6
|
||||
.byte 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6
|
||||
.byte 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 6, 2, 4, 6
|
||||
.byte 3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6
|
||||
.byte 5, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
.byte 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
|
||||
@ -290,58 +290,42 @@ $(TILESETGFXDIR)/secondary/mystery_events_house/tiles.4bpp: %.4bpp: %.png
|
||||
|
||||
### Fonts ###
|
||||
|
||||
$(FONTGFXDIR)/font0.latfont: $(FONTGFXDIR)/font0_latin.png
|
||||
$(FONTGFXDIR)/small.latfont: $(FONTGFXDIR)/latin_small.png
|
||||
$(GFX) $< $@
|
||||
|
||||
$(FONTGFXDIR)/font1.latfont: $(FONTGFXDIR)/font1_latin.png
|
||||
$(FONTGFXDIR)/normal.latfont: $(FONTGFXDIR)/latin_normal.png
|
||||
$(GFX) $< $@
|
||||
|
||||
$(FONTGFXDIR)/font2.latfont: $(FONTGFXDIR)/font2_latin.png
|
||||
$(FONTGFXDIR)/short.latfont: $(FONTGFXDIR)/latin_short.png
|
||||
$(GFX) $< $@
|
||||
|
||||
$(FONTGFXDIR)/font7.latfont: $(FONTGFXDIR)/font7_latin.png
|
||||
$(FONTGFXDIR)/narrow.latfont: $(FONTGFXDIR)/latin_narrow.png
|
||||
$(GFX) $< $@
|
||||
|
||||
$(FONTGFXDIR)/font8.latfont: $(FONTGFXDIR)/font8_latin.png
|
||||
$(FONTGFXDIR)/small_narrow.latfont: $(FONTGFXDIR)/latin_small_narrow.png
|
||||
$(GFX) $< $@
|
||||
|
||||
$(FONTGFXDIR)/font0.hwjpnfont: $(FONTGFXDIR)/font0_japanese.png
|
||||
$(FONTGFXDIR)/small.hwjpnfont: $(FONTGFXDIR)/japanese_small.png
|
||||
$(GFX) $< $@
|
||||
|
||||
$(FONTGFXDIR)/font1.hwjpnfont: $(FONTGFXDIR)/font1_japanese.png
|
||||
$(FONTGFXDIR)/normal.hwjpnfont: $(FONTGFXDIR)/japanese_normal.png
|
||||
$(GFX) $< $@
|
||||
|
||||
$(FONTGFXDIR)/font9.hwjpnfont: $(FONTGFXDIR)/font9_japanese.png
|
||||
$(FONTGFXDIR)/bold.hwjpnfont: $(FONTGFXDIR)/japanese_bold.png
|
||||
$(GFX) $< $@
|
||||
|
||||
$(FONTGFXDIR)/font2.fwjpnfont: $(FONTGFXDIR)/font2_japanese.png
|
||||
$(FONTGFXDIR)/short.fwjpnfont: $(FONTGFXDIR)/japanese_short.png
|
||||
$(GFX) $< $@
|
||||
|
||||
$(FONTGFXDIR)/font6.fwjpnfont: $(FONTGFXDIR)/font6_braille.png
|
||||
$(FONTGFXDIR)/braille.fwjpnfont: $(FONTGFXDIR)/braille.png
|
||||
$(GFX) $< $@
|
||||
|
||||
$(FONTGFXDIR)/unused_frlg_male.fwjpnfont: $(FONTGFXDIR)/unused_japanese_frlg_male_font.png
|
||||
$(FONTGFXDIR)/frlg_male.fwjpnfont: $(FONTGFXDIR)/japanese_frlg_male_font.png
|
||||
$(GFX) $< $@
|
||||
|
||||
$(FONTGFXDIR)/unused_frlg_female.fwjpnfont: $(FONTGFXDIR)/unused_japanese_frlg_female_font.png
|
||||
$(FONTGFXDIR)/frlg_female.fwjpnfont: $(FONTGFXDIR)/japanese_frlg_female_font.png
|
||||
$(GFX) $< $@
|
||||
|
||||
$(FONTGFXDIR)/down_arrow.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@
|
||||
|
||||
$(FONTGFXDIR)/down_arrow_rs.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@
|
||||
|
||||
$(FONTGFXDIR)/unused_frlg_blanked_down_arrow.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@
|
||||
|
||||
$(FONTGFXDIR)/unused_frlg_down_arrow.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@
|
||||
|
||||
$(FONTGFXDIR)/keypad_icons.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@
|
||||
|
||||
|
||||
|
||||
### Miscellaneous ###
|
||||
graphics/title_screen/pokemon_logo.gbapal: %.gbapal: %.pal
|
||||
|
||||
@ -1,12 +1,11 @@
|
||||
#ifndef GUARD_BATTLE_TRANSITION_H
|
||||
#define GUARD_BATTLE_TRANSITION_H
|
||||
|
||||
void TestBattleTransition(u8 transitionId);
|
||||
void BattleTransition_StartOnField(u8 transitionId);
|
||||
void BattleTransition_Start(u8 transitionId);
|
||||
bool8 IsBattleTransitionDone(void);
|
||||
bool8 FldEff_Pokeball(void);
|
||||
void TransitionPhase1_Task_RunFuncs(u8 taskId);
|
||||
bool8 FldEff_PokeballTrail(void);
|
||||
void Task_BattleTransition_Intro(u8 taskId);
|
||||
void GetBg0TilesDst(u16 **tilemap, u16 **tileset);
|
||||
|
||||
extern const struct SpritePalette gSpritePalette_Pokeball;
|
||||
@ -26,13 +25,13 @@ enum {
|
||||
B_TRANSITION_SHUFFLE,
|
||||
B_TRANSITION_BIG_POKEBALL,
|
||||
B_TRANSITION_POKEBALLS_TRAIL,
|
||||
B_TRANSITION_CLOCKWISE_BLACKFADE,
|
||||
B_TRANSITION_CLOCKWISE_WIPE,
|
||||
B_TRANSITION_RIPPLE,
|
||||
B_TRANSITION_WAVE,
|
||||
B_TRANSITION_SLICE,
|
||||
B_TRANSITION_WHITEFADE,
|
||||
B_TRANSITION_WHITE_BARS_FADE,
|
||||
B_TRANSITION_GRID_SQUARES,
|
||||
B_TRANSITION_SHARDS,
|
||||
B_TRANSITION_ANGLED_WIPES,
|
||||
B_TRANSITION_SIDNEY,
|
||||
B_TRANSITION_PHOEBE,
|
||||
B_TRANSITION_GLACIA,
|
||||
@ -47,8 +46,8 @@ enum {
|
||||
B_TRANSITION_GROUDON,
|
||||
B_TRANSITION_RAYQUAZA,
|
||||
B_TRANSITION_SHRED_SPLIT,
|
||||
B_TRANSITION_BLACKHOLE1,
|
||||
B_TRANSITION_BLACKHOLE2,
|
||||
B_TRANSITION_BLACKHOLE,
|
||||
B_TRANSITION_BLACKHOLE_PULSATE,
|
||||
B_TRANSITION_RECTANGULAR_SPIRAL,
|
||||
B_TRANSITION_FRONTIER_LOGO_WIGGLE,
|
||||
B_TRANSITION_FRONTIER_LOGO_WAVE,
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
#ifndef GUARD_BATTLE_TRANSITION_FRONTIER_H
|
||||
#define GUARD_BATTLE_TRANSITION_FRONTIER_H
|
||||
|
||||
void Phase2Task_FrontierCirclesMeet(u8 taskId);
|
||||
void Phase2Task_FrontierCirclesCross(u8 taskId);
|
||||
void Phase2Task_FrontierCirclesAsymmetricSpiral(u8 taskId);
|
||||
void Phase2Task_FrontierCirclesSymmetricSpiral(u8 taskId);
|
||||
void Phase2Task_FrontierCirclesMeetInSeq(u8 taskId);
|
||||
void Phase2Task_FrontierCirclesCrossInSeq(u8 taskId);
|
||||
void Phase2Task_FrontierCirclesAsymmetricSpiralInSeq(u8 taskId);
|
||||
void Phase2Task_FrontierCirclesSymmetricSpiralInSeq(u8 taskId);
|
||||
void Task_FrontierCirclesMeet(u8 taskId);
|
||||
void Task_FrontierCirclesCross(u8 taskId);
|
||||
void Task_FrontierCirclesAsymmetricSpiral(u8 taskId);
|
||||
void Task_FrontierCirclesSymmetricSpiral(u8 taskId);
|
||||
void Task_FrontierCirclesMeetInSeq(u8 taskId);
|
||||
void Task_FrontierCirclesCrossInSeq(u8 taskId);
|
||||
void Task_FrontierCirclesAsymmetricSpiralInSeq(u8 taskId);
|
||||
void Task_FrontierCirclesSymmetricSpiralInSeq(u8 taskId);
|
||||
|
||||
#endif // GUARD_BATTLE_TRANSITION_FRONTIER_H
|
||||
|
||||
@ -46,7 +46,7 @@
|
||||
#define FLDEFF_HOT_SPRINGS_WATER 42
|
||||
#define FLDEFF_USE_WATERFALL 43
|
||||
#define FLDEFF_USE_DIVE 44
|
||||
#define FLDEFF_POKEBALL 45
|
||||
#define FLDEFF_POKEBALL_TRAIL 45
|
||||
#define FLDEFF_HEART_ICON 46
|
||||
#define FLDEFF_NOP_47 47
|
||||
#define FLDEFF_NOP_48 48
|
||||
@ -113,7 +113,7 @@
|
||||
#define FLDEFF_PAL_TAG_GENERAL_1 0x1005
|
||||
#define FLDEFF_PAL_TAG_POKEBALL_GLOW 0x1007
|
||||
#define FLDEFF_PAL_TAG_SECRET_POWER_PLANT 0x1008
|
||||
#define FLDEFF_PAL_TAG_POKEBALL 0x1009
|
||||
#define FLDEFF_PAL_TAG_POKEBALL_TRAIL 0x1009
|
||||
#define FLDEFF_PAL_TAG_ASH 0x100D
|
||||
#define FLDEFF_PAL_TAG_SAND_PILLAR 0x100E
|
||||
#define FLDEFF_PAL_TAG_SMALL_SPARKLE 0x100F
|
||||
|
||||
19
include/fonts.h
Normal file
@ -0,0 +1,19 @@
|
||||
#ifndef GUARD_FONTS_H
|
||||
#define GUARD_FONTS_H
|
||||
|
||||
extern const u16 gFontNormalLatinGlyphs[];
|
||||
extern const u8 gFontNormalLatinGlyphWidths[];
|
||||
extern const u16 gFontNormalJapaneseGlyphs[];
|
||||
extern const u16 gFontSmallLatinGlyphs[];
|
||||
extern const u8 gFontSmallLatinGlyphWidths[];
|
||||
extern const u16 gFontSmallJapaneseGlyphs[];
|
||||
extern const u16 gFontShortLatinGlyphs[];
|
||||
extern const u8 gFontShortLatinGlyphWidths[];
|
||||
extern const u16 gFontShortJapaneseGlyphs[];
|
||||
extern const u8 gFontShortJapaneseGlyphWidths[];
|
||||
extern const u16 gFontNarrowLatinGlyphs[];
|
||||
extern const u8 gFontNarrowLatinGlyphWidths[];
|
||||
extern const u16 gFontSmallNarrowLatinGlyphs[];
|
||||
extern const u8 gFontSmallNarrowLatinGlyphWidths[];
|
||||
|
||||
#endif // GUARD_FONTS_H
|
||||
@ -49,8 +49,8 @@ struct PaletteFadeControl
|
||||
extern struct PaletteFadeControl gPaletteFade;
|
||||
extern u32 gPlttBufferTransferPending;
|
||||
extern u8 gPaletteDecompressionBuffer[];
|
||||
extern u16 gPlttBufferUnfaded[];
|
||||
extern u16 gPlttBufferFaded[];
|
||||
extern u16 gPlttBufferUnfaded[PLTT_BUFFER_SIZE];
|
||||
extern u16 gPlttBufferFaded[PLTT_BUFFER_SIZE];
|
||||
|
||||
void LoadCompressedPalette(const u32 *, u16, u16);
|
||||
void LoadPalette(const void *, u16, u16);
|
||||
|
||||
@ -299,7 +299,7 @@ SECTIONS {
|
||||
src/item_icon.o(.text);
|
||||
src/party_menu.o(.text);
|
||||
src/battle_tent.o(.text);
|
||||
src/unk_text_util_2.o(.text);
|
||||
src/braille.o(.text);
|
||||
src/multiboot.o(.text);
|
||||
src/berry_fix_graphics.o(.text);
|
||||
src/battle_controller_player_partner.o(.text);
|
||||
@ -654,7 +654,7 @@ SECTIONS {
|
||||
src/item_icon.o(.rodata);
|
||||
src/party_menu.o(.rodata);
|
||||
src/battle_tent.o(.rodata);
|
||||
src/unk_text_util_2.o(.rodata);
|
||||
src/braille.o(.rodata);
|
||||
src/multiboot.o(.rodata);
|
||||
src/berry_fix_graphics.o(.rodata);
|
||||
src/battle_controller_player_partner.o(.rodata);
|
||||
@ -686,7 +686,7 @@ SECTIONS {
|
||||
src/gym_leader_rematch.o(.rodata);
|
||||
src/battle_transition_frontier.o(.rodata);
|
||||
src/text_input_strings.o(.rodata);
|
||||
data/fonts.o(.rodata);
|
||||
src/fonts.o(.rodata);
|
||||
src/mystery_event_msg.o(.rodata);
|
||||
data/mystery_gift.o(.rodata);
|
||||
src/m4a_tables.o(.rodata);
|
||||
|
||||
@ -632,7 +632,7 @@ static void CreateApprenticeMenu(u8 menu)
|
||||
pixelWidth = 0;
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
s32 width = GetStringWidth(1, strings[i], 0);
|
||||
s32 width = GetStringWidth(FONT_NORMAL, strings[i], 0);
|
||||
if (width > pixelWidth)
|
||||
pixelWidth = width;
|
||||
}
|
||||
@ -643,7 +643,7 @@ static void CreateApprenticeMenu(u8 menu)
|
||||
SetStandardWindowBorderStyle(windowId, 0);
|
||||
|
||||
for (i = 0; i < count; i++)
|
||||
AddTextPrinterParameterized(windowId, 1, strings[i], 8, (i * 16) + 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, strings[i], 8, (i * 16) + 1, TEXT_SPEED_FF, NULL);
|
||||
|
||||
InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, count, 0);
|
||||
CreateChooseAnswerTask(TRUE, count, windowId);
|
||||
|
||||
@ -4312,7 +4312,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTourneyId)
|
||||
}
|
||||
|
||||
// Initialize the text printer
|
||||
textPrinter.fontId = 2;
|
||||
textPrinter.fontId = FONT_SHORT;
|
||||
textPrinter.x = 0;
|
||||
textPrinter.y = 0;
|
||||
textPrinter.currentX = textPrinter.x;
|
||||
@ -4393,7 +4393,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTourneyId)
|
||||
else
|
||||
textPrinter.currentChar = sBattleDomePotentialTexts[trainerTourneyId];
|
||||
|
||||
textPrinter.fontId = 1;
|
||||
textPrinter.fontId = FONT_NORMAL;
|
||||
textPrinter.windowId = windowId + 4;
|
||||
textPrinter.currentX = 0;
|
||||
textPrinter.y = 4;
|
||||
@ -4859,7 +4859,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
|
||||
StringExpandPlaceholders(gStringVar4, sBattleDomeWinTexts[winStringId]);
|
||||
textPrinter.currentChar = gStringVar4;
|
||||
textPrinter.windowId = windowId + 8;
|
||||
textPrinter.fontId = 1;
|
||||
textPrinter.fontId = FONT_NORMAL;
|
||||
PutWindowTilemap(windowId + 8);
|
||||
CopyWindowToVram(windowId + 8, 3);
|
||||
textPrinter.currentX = 0;
|
||||
@ -4874,7 +4874,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
|
||||
else
|
||||
CopyDomeTrainerName(gStringVar1, trainerIds[0]);
|
||||
|
||||
textPrinter.fontId = 2;
|
||||
textPrinter.fontId = FONT_SHORT;
|
||||
textPrinter.letterSpacing = 2;
|
||||
textPrinter.currentChar = gStringVar1;
|
||||
textPrinter.windowId = windowId + 6;
|
||||
@ -5339,7 +5339,7 @@ static void Task_ShowTourneyTree(u8 taskId)
|
||||
gTasks[taskId].tState++;
|
||||
break;
|
||||
case 4:
|
||||
textPrinter.fontId = 2;
|
||||
textPrinter.fontId = FONT_SHORT;
|
||||
textPrinter.currentChar = gText_BattleTourney;
|
||||
textPrinter.windowId = 2;
|
||||
textPrinter.x = 0;
|
||||
@ -5524,7 +5524,7 @@ static void Task_HandleStaticTourneyTreeInput(u8 taskId)
|
||||
{
|
||||
gTasks[taskId].tState = STATE_DELAY;
|
||||
gTasks[taskId].data[3] = 64;
|
||||
textPrinter.fontId = 2;
|
||||
textPrinter.fontId = FONT_SHORT;
|
||||
textPrinter.x = 0;
|
||||
textPrinter.y = 0;
|
||||
textPrinter.letterSpacing = 2;
|
||||
|
||||
@ -1861,7 +1861,7 @@ static void Select_ErasePopupMenu(u8 windowId)
|
||||
static void Select_PrintRentalPkmnString(void)
|
||||
{
|
||||
FillWindowPixelBuffer(SELECT_WIN_TITLE, PIXEL_FILL(0));
|
||||
AddTextPrinterParameterized(SELECT_WIN_TITLE, 1, gText_RentalPkmn2, 2, 1, 0, NULL);
|
||||
AddTextPrinterParameterized(SELECT_WIN_TITLE, FONT_NORMAL, gText_RentalPkmn2, 2, 1, 0, NULL);
|
||||
CopyWindowToVram(SELECT_WIN_TITLE, 3);
|
||||
}
|
||||
|
||||
@ -1874,8 +1874,8 @@ static void Select_PrintMonSpecies(void)
|
||||
FillWindowPixelBuffer(SELECT_WIN_SPECIES, PIXEL_FILL(0));
|
||||
species = GetMonData(&sFactorySelectScreen->mons[monId].monData, MON_DATA_SPECIES, NULL);
|
||||
StringCopy(gStringVar4, gSpeciesNames[species]);
|
||||
x = GetStringRightAlignXOffset(1, gStringVar4, 86);
|
||||
AddTextPrinterParameterized3(SELECT_WIN_SPECIES, 1, x, 1, sSpeciesNameTextColors, 0, gStringVar4);
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, gStringVar4, 86);
|
||||
AddTextPrinterParameterized3(SELECT_WIN_SPECIES, FONT_NORMAL, x, 1, sSpeciesNameTextColors, 0, gStringVar4);
|
||||
CopyWindowToVram(SELECT_WIN_SPECIES, 2);
|
||||
}
|
||||
|
||||
@ -1893,14 +1893,14 @@ static void Select_PrintSelectMonString(void)
|
||||
else
|
||||
str = gText_TheseThreePkmnOkay;
|
||||
|
||||
AddTextPrinterParameterized(SELECT_WIN_INFO, 1, str, 2, 5, 0, NULL);
|
||||
AddTextPrinterParameterized(SELECT_WIN_INFO, FONT_NORMAL, str, 2, 5, 0, NULL);
|
||||
CopyWindowToVram(SELECT_WIN_INFO, 2);
|
||||
}
|
||||
|
||||
static void Select_PrintCantSelectSameMon(void)
|
||||
{
|
||||
FillWindowPixelBuffer(SELECT_WIN_INFO, PIXEL_FILL(0));
|
||||
AddTextPrinterParameterized(SELECT_WIN_INFO, 1, gText_CantSelectSamePkmn, 2, 5, 0, NULL);
|
||||
AddTextPrinterParameterized(SELECT_WIN_INFO, FONT_NORMAL, gText_CantSelectSamePkmn, 2, 5, 0, NULL);
|
||||
CopyWindowToVram(SELECT_WIN_INFO, 2);
|
||||
}
|
||||
|
||||
@ -1910,13 +1910,13 @@ static void Select_PrintMenuOptions(void)
|
||||
|
||||
PutWindowTilemap(SELECT_WIN_OPTIONS);
|
||||
FillWindowPixelBuffer(SELECT_WIN_OPTIONS, PIXEL_FILL(0));
|
||||
AddTextPrinterParameterized3(SELECT_WIN_OPTIONS, 1, 7, 1, sMenuOptionTextColors, 0, gText_Summary);
|
||||
AddTextPrinterParameterized3(SELECT_WIN_OPTIONS, FONT_NORMAL, 7, 1, sMenuOptionTextColors, 0, gText_Summary);
|
||||
if (selectedId != 0)
|
||||
AddTextPrinterParameterized3(SELECT_WIN_OPTIONS, 1, 7, 17, sMenuOptionTextColors, 0, gText_Deselect);
|
||||
AddTextPrinterParameterized3(SELECT_WIN_OPTIONS, FONT_NORMAL, 7, 17, sMenuOptionTextColors, 0, gText_Deselect);
|
||||
else
|
||||
AddTextPrinterParameterized3(SELECT_WIN_OPTIONS, 1, 7, 17, sMenuOptionTextColors, 0, gText_Rent);
|
||||
AddTextPrinterParameterized3(SELECT_WIN_OPTIONS, FONT_NORMAL, 7, 17, sMenuOptionTextColors, 0, gText_Rent);
|
||||
|
||||
AddTextPrinterParameterized3(SELECT_WIN_OPTIONS, 1, 7, 33, sMenuOptionTextColors, 0, gText_Others2);
|
||||
AddTextPrinterParameterized3(SELECT_WIN_OPTIONS, FONT_NORMAL, 7, 33, sMenuOptionTextColors, 0, gText_Others2);
|
||||
CopyWindowToVram(SELECT_WIN_OPTIONS, 3);
|
||||
}
|
||||
|
||||
@ -1924,8 +1924,8 @@ static void Select_PrintYesNoOptions(void)
|
||||
{
|
||||
PutWindowTilemap(SELECT_WIN_YES_NO);
|
||||
FillWindowPixelBuffer(SELECT_WIN_YES_NO, PIXEL_FILL(0));
|
||||
AddTextPrinterParameterized3(SELECT_WIN_YES_NO, 1, 7, 1, sMenuOptionTextColors, 0, gText_Yes2);
|
||||
AddTextPrinterParameterized3(SELECT_WIN_YES_NO, 1, 7, 17, sMenuOptionTextColors, 0, gText_No2);
|
||||
AddTextPrinterParameterized3(SELECT_WIN_YES_NO, FONT_NORMAL, 7, 1, sMenuOptionTextColors, 0, gText_Yes2);
|
||||
AddTextPrinterParameterized3(SELECT_WIN_YES_NO, FONT_NORMAL, 7, 17, sMenuOptionTextColors, 0, gText_No2);
|
||||
CopyWindowToVram(SELECT_WIN_YES_NO, 3);
|
||||
}
|
||||
|
||||
@ -1994,8 +1994,8 @@ static void Select_PrintMonCategory(void)
|
||||
FillWindowPixelBuffer(SELECT_WIN_MON_CATEGORY, PIXEL_FILL(0));
|
||||
species = GetMonData(&sFactorySelectScreen->mons[monId].monData, MON_DATA_SPECIES, NULL);
|
||||
CopyMonCategoryText(SpeciesToNationalPokedexNum(species), text);
|
||||
x = GetStringRightAlignXOffset(1, text, 0x76);
|
||||
AddTextPrinterParameterized(SELECT_WIN_MON_CATEGORY, 1, text, x, 1, 0, NULL);
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, text, 0x76);
|
||||
AddTextPrinterParameterized(SELECT_WIN_MON_CATEGORY, FONT_NORMAL, text, x, 1, 0, NULL);
|
||||
CopyWindowToVram(SELECT_WIN_MON_CATEGORY, 2);
|
||||
}
|
||||
}
|
||||
@ -3753,7 +3753,7 @@ static void Swap_EraseActionFadeWindow(void)
|
||||
static void Swap_PrintPkmnSwap(void)
|
||||
{
|
||||
FillWindowPixelBuffer(SWAP_WIN_TITLE, PIXEL_FILL(1));
|
||||
AddTextPrinterParameterized(SWAP_WIN_TITLE, 1, gText_PkmnSwap, 2, 1, 0, NULL);
|
||||
AddTextPrinterParameterized(SWAP_WIN_TITLE, FONT_NORMAL, gText_PkmnSwap, 2, 1, 0, NULL);
|
||||
CopyWindowToVram(SWAP_WIN_TITLE, 3);
|
||||
}
|
||||
|
||||
@ -3775,8 +3775,8 @@ static void Swap_PrintMonSpecies(void)
|
||||
else
|
||||
species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL);
|
||||
StringCopy(gStringVar4, gSpeciesNames[species]);
|
||||
x = GetStringRightAlignXOffset(1, gStringVar4, 86);
|
||||
AddTextPrinterParameterized3(SWAP_WIN_SPECIES, 1, x, 1, sSwapSpeciesNameTextColors, 0, gStringVar4);
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, gStringVar4, 86);
|
||||
AddTextPrinterParameterized3(SWAP_WIN_SPECIES, FONT_NORMAL, x, 1, sSwapSpeciesNameTextColors, 0, gStringVar4);
|
||||
CopyWindowToVram(SWAP_WIN_SPECIES, 3);
|
||||
}
|
||||
}
|
||||
@ -3784,7 +3784,7 @@ static void Swap_PrintMonSpecies(void)
|
||||
static void Swap_PrintOnInfoWindow(const u8 *str)
|
||||
{
|
||||
FillWindowPixelBuffer(SWAP_WIN_INFO, PIXEL_FILL(0));
|
||||
AddTextPrinterParameterized(SWAP_WIN_INFO, 1, str, 2, 5, 0, NULL);
|
||||
AddTextPrinterParameterized(SWAP_WIN_INFO, FONT_NORMAL, str, 2, 5, 0, NULL);
|
||||
CopyWindowToVram(SWAP_WIN_INFO, 2);
|
||||
}
|
||||
|
||||
@ -3792,9 +3792,9 @@ static void Swap_PrintMenuOptions(void)
|
||||
{
|
||||
PutWindowTilemap(SWAP_WIN_OPTIONS);
|
||||
FillWindowPixelBuffer(SWAP_WIN_OPTIONS, PIXEL_FILL(0));
|
||||
AddTextPrinterParameterized3(SWAP_WIN_OPTIONS, 1, 15, 1, sSwapMenuOptionsTextColors, 0, gText_Summary2);
|
||||
AddTextPrinterParameterized3(SWAP_WIN_OPTIONS, 1, 15, 17, sSwapMenuOptionsTextColors, 0, gText_Swap);
|
||||
AddTextPrinterParameterized3(SWAP_WIN_OPTIONS, 1, 15, 33, sSwapMenuOptionsTextColors, 0, gText_Rechoose);
|
||||
AddTextPrinterParameterized3(SWAP_WIN_OPTIONS, FONT_NORMAL, 15, 1, sSwapMenuOptionsTextColors, 0, gText_Summary2);
|
||||
AddTextPrinterParameterized3(SWAP_WIN_OPTIONS, FONT_NORMAL, 15, 17, sSwapMenuOptionsTextColors, 0, gText_Swap);
|
||||
AddTextPrinterParameterized3(SWAP_WIN_OPTIONS, FONT_NORMAL, 15, 33, sSwapMenuOptionsTextColors, 0, gText_Rechoose);
|
||||
CopyWindowToVram(SWAP_WIN_OPTIONS, 3);
|
||||
}
|
||||
|
||||
@ -3802,15 +3802,15 @@ static void Swap_PrintYesNoOptions(void)
|
||||
{
|
||||
PutWindowTilemap(SWAP_WIN_YES_NO);
|
||||
FillWindowPixelBuffer(SWAP_WIN_YES_NO, PIXEL_FILL(0));
|
||||
AddTextPrinterParameterized3(SWAP_WIN_YES_NO, 1, 7, 1, sSwapMenuOptionsTextColors, 0, gText_Yes3);
|
||||
AddTextPrinterParameterized3(SWAP_WIN_YES_NO, 1, 7, 17, sSwapMenuOptionsTextColors, 0, gText_No3);
|
||||
AddTextPrinterParameterized3(SWAP_WIN_YES_NO, FONT_NORMAL, 7, 1, sSwapMenuOptionsTextColors, 0, gText_Yes3);
|
||||
AddTextPrinterParameterized3(SWAP_WIN_YES_NO, FONT_NORMAL, 7, 17, sSwapMenuOptionsTextColors, 0, gText_No3);
|
||||
CopyWindowToVram(SWAP_WIN_YES_NO, 3);
|
||||
}
|
||||
|
||||
static void Swap_PrintActionString(const u8 *str, u32 y, u32 windowId)
|
||||
{
|
||||
s32 x = GetStringRightAlignXOffset(0, str, 0x46);
|
||||
AddTextPrinterParameterized3(windowId, 0, x, y, sSwapMenuOptionsTextColors, 0, str);
|
||||
s32 x = GetStringRightAlignXOffset(FONT_SMALL, str, 0x46);
|
||||
AddTextPrinterParameterized3(windowId, FONT_SMALL, x, y, sSwapMenuOptionsTextColors, 0, str);
|
||||
}
|
||||
|
||||
static void Swap_PrintActionStrings(void)
|
||||
@ -3884,8 +3884,8 @@ static void Swap_PrintMonSpeciesAtFade(void)
|
||||
else
|
||||
species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL);
|
||||
StringCopy(gStringVar4, gSpeciesNames[species]);
|
||||
x = GetStringRightAlignXOffset(1, gStringVar4, 86);
|
||||
AddTextPrinterParameterized3(SWAP_WIN_SPECIES_AT_FADE, 1, x, 1, sSwapSpeciesNameTextColors, 0, gStringVar4);
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, gStringVar4, 86);
|
||||
AddTextPrinterParameterized3(SWAP_WIN_SPECIES_AT_FADE, FONT_NORMAL, x, 1, sSwapSpeciesNameTextColors, 0, gStringVar4);
|
||||
CopyWindowToVram(SWAP_WIN_SPECIES_AT_FADE, 3);
|
||||
}
|
||||
}
|
||||
@ -3911,8 +3911,8 @@ static void Swap_PrintMonSpeciesForTransition(void)
|
||||
else
|
||||
species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL);
|
||||
StringCopy(gStringVar4, gSpeciesNames[species]);
|
||||
x = GetStringRightAlignXOffset(1, gStringVar4, 86);
|
||||
AddTextPrinterParameterized3(SWAP_WIN_SPECIES, 1, x, 1, sSwapSpeciesNameTextColors, 0, gStringVar4);
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, gStringVar4, 86);
|
||||
AddTextPrinterParameterized3(SWAP_WIN_SPECIES, FONT_NORMAL, x, 1, sSwapSpeciesNameTextColors, 0, gStringVar4);
|
||||
CopyWindowToVram(SWAP_WIN_SPECIES, 3);
|
||||
}
|
||||
}
|
||||
@ -3937,8 +3937,8 @@ static void Swap_PrintMonCategory(void)
|
||||
else
|
||||
species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL);
|
||||
CopyMonCategoryText(SpeciesToNationalPokedexNum(species), text);
|
||||
x = GetStringRightAlignXOffset(1, text, 0x76);
|
||||
AddTextPrinterParameterized(SWAP_WIN_MON_CATEGORY, 1, text, x, 1, 0, NULL);
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, text, 0x76);
|
||||
AddTextPrinterParameterized(SWAP_WIN_MON_CATEGORY, FONT_NORMAL, text, x, 1, 0, NULL);
|
||||
CopyWindowToVram(SWAP_WIN_MON_CATEGORY, 2);
|
||||
}
|
||||
}
|
||||
|
||||
@ -718,21 +718,8 @@ static const struct SpriteTemplate sStatusSummaryBallsSpriteTemplates[2] =
|
||||
}
|
||||
};
|
||||
|
||||
// possibly text
|
||||
static const u8 sUnknown_0832C3C4[] =
|
||||
{
|
||||
0xfc, 0x01, 0x01, 0xfc, 0x02, 0x02, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
// possibly text
|
||||
static const u8 sUnknown_0832C3D8[] =
|
||||
{
|
||||
0xfc, 0x01, 0x01, 0xfc, 0x02, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
static const u8 sEmptyWhiteText_GrayHighlight[] = __("{COLOR WHITE}{HIGHLIGHT DARK_GRAY} ");
|
||||
static const u8 sEmptyWhiteText_TransparentHighlight[] = __("{COLOR WHITE}{HIGHLIGHT TRANSPARENT} ");
|
||||
|
||||
enum
|
||||
{
|
||||
@ -1166,7 +1153,7 @@ void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent)
|
||||
{
|
||||
u8 battler;
|
||||
|
||||
memcpy(text, sUnknown_0832C3C4, sizeof(sUnknown_0832C3C4));
|
||||
memcpy(text, sEmptyWhiteText_GrayHighlight, sizeof(sEmptyWhiteText_GrayHighlight));
|
||||
battler = gSprites[healthboxSpriteId].hMain_Battler;
|
||||
if (IsDoubleBattle() == TRUE || GetBattlerSide(battler) == B_SIDE_OPPONENT)
|
||||
{
|
||||
@ -1193,7 +1180,7 @@ void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent)
|
||||
}
|
||||
|
||||
ConvertIntToDecimalStringN(text + 6, value, STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||
RenderTextFont9(gMonSpritesGfxPtr->barFontGfx, 9, text);
|
||||
RenderTextHandleBold(gMonSpritesGfxPtr->barFontGfx, FONT_BOLD, text);
|
||||
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
@ -1245,7 +1232,7 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8
|
||||
{
|
||||
u8 battlerId;
|
||||
|
||||
memcpy(text, sUnknown_0832C3D8, sizeof(sUnknown_0832C3D8));
|
||||
memcpy(text, sEmptyWhiteText_TransparentHighlight, sizeof(sEmptyWhiteText_TransparentHighlight));
|
||||
battlerId = gSprites[healthboxSpriteId].hMain_Battler;
|
||||
|
||||
if (gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars) // don't print text if only bars are visible
|
||||
@ -1262,7 +1249,7 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8
|
||||
txtPtr = ConvertIntToDecimalStringN(text + 6, value, STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||
if (!maxOrCurrent)
|
||||
StringCopy(txtPtr, gText_Slash);
|
||||
RenderTextFont9(gMonSpritesGfxPtr->barFontGfx, 9, text);
|
||||
RenderTextHandleBold(gMonSpritesGfxPtr->barFontGfx, FONT_BOLD, text);
|
||||
|
||||
for (i = var; i < var + 3; i++)
|
||||
{
|
||||
@ -1308,12 +1295,12 @@ static void PrintSafariMonInfo(u8 healthboxSpriteId, struct Pokemon *mon)
|
||||
u8 *barFontGfx;
|
||||
u8 i, var, nature, healthBarSpriteId;
|
||||
|
||||
memcpy(text, sUnknown_0832C3C4, sizeof(sUnknown_0832C3C4));
|
||||
memcpy(text, sEmptyWhiteText_GrayHighlight, sizeof(sEmptyWhiteText_GrayHighlight));
|
||||
barFontGfx = &gMonSpritesGfxPtr->barFontGfx[0x520 + (GetBattlerPosition(gSprites[healthboxSpriteId].hMain_Battler) * 384)];
|
||||
var = 5;
|
||||
nature = GetNature(mon);
|
||||
StringCopy(text + 6, gNatureNamePointers[nature]);
|
||||
RenderTextFont9(barFontGfx, 9, text);
|
||||
RenderTextHandleBold(barFontGfx, FONT_BOLD, text);
|
||||
|
||||
for (j = 6, i = 0; i < var; i++, j++)
|
||||
{
|
||||
@ -1345,7 +1332,7 @@ static void PrintSafariMonInfo(u8 healthboxSpriteId, struct Pokemon *mon)
|
||||
ConvertIntToDecimalStringN(text + 9, gBattleStruct->safariEscapeFactor, STR_CONV_MODE_RIGHT_ALIGN, 2);
|
||||
text[5] = CHAR_SPACE;
|
||||
text[8] = CHAR_SLASH;
|
||||
RenderTextFont9(gMonSpritesGfxPtr->barFontGfx, 9, text);
|
||||
RenderTextHandleBold(gMonSpritesGfxPtr->barFontGfx, FONT_BOLD, text);
|
||||
|
||||
j = healthBarSpriteId; // Needed to match for some reason.
|
||||
for (j = 0; j < 5; j++)
|
||||
@ -2130,7 +2117,7 @@ static void UpdateLeftNoOfBallsTextOnHealthbox(u8 healthboxSpriteId)
|
||||
txtPtr = StringCopy(text, gText_SafariBallLeft);
|
||||
ConvertIntToDecimalStringN(txtPtr, gNumSafariBalls, STR_CONV_MODE_LEFT_ALIGN, 2);
|
||||
|
||||
windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(text, GetStringRightAlignXOffset(0, text, 0x2F), 3, 2, &windowId);
|
||||
windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(text, GetStringRightAlignXOffset(FONT_SMALL, text, 0x2F), 3, 2, &windowId);
|
||||
spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * TILE_SIZE_4BPP;
|
||||
SafariTextIntoHealthboxObject((void*)(OBJ_VRAM0 + 0x2C0) + spriteTileNum, windowTileData, 2);
|
||||
SafariTextIntoHealthboxObject((void*)(OBJ_VRAM0 + 0xA00) + spriteTileNum, windowTileData + 0x40, 4);
|
||||
@ -2538,7 +2525,7 @@ static u8* AddTextPrinterAndCreateWindowOnHealthbox(const u8 *str, u32 x, u32 y,
|
||||
color[1] = 1;
|
||||
color[2] = 3;
|
||||
|
||||
AddTextPrinterParameterized4(winId, 0, x, y, 0, 0, color, -1, str);
|
||||
AddTextPrinterParameterized4(winId, FONT_SMALL, x, y, 0, 0, color, -1, str);
|
||||
|
||||
*windowId = winId;
|
||||
return (u8*)(GetWindowAttribute(winId, WINDOW_TILE_DATA));
|
||||
|
||||
@ -1478,7 +1478,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
|
||||
{
|
||||
[B_WIN_MSG] = {
|
||||
.fillValue = PIXEL_FILL(0xF),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = 0,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1490,7 +1490,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
|
||||
},
|
||||
[B_WIN_ACTION_PROMPT] = {
|
||||
.fillValue = PIXEL_FILL(0xF),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = 1,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1502,7 +1502,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
|
||||
},
|
||||
[B_WIN_ACTION_MENU] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = 0,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1514,7 +1514,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
|
||||
},
|
||||
[B_WIN_MOVE_NAME_1] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 7,
|
||||
.fontId = FONT_NARROW,
|
||||
.x = 0,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1526,7 +1526,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
|
||||
},
|
||||
[B_WIN_MOVE_NAME_2] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 7,
|
||||
.fontId = FONT_NARROW,
|
||||
.x = 0,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1538,7 +1538,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
|
||||
},
|
||||
[B_WIN_MOVE_NAME_3] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 7,
|
||||
.fontId = FONT_NARROW,
|
||||
.x = 0,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1550,7 +1550,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
|
||||
},
|
||||
[B_WIN_MOVE_NAME_4] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 7,
|
||||
.fontId = FONT_NARROW,
|
||||
.x = 0,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1562,7 +1562,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
|
||||
},
|
||||
[B_WIN_PP] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 7,
|
||||
.fontId = FONT_NARROW,
|
||||
.x = 0,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1574,7 +1574,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
|
||||
},
|
||||
[B_WIN_DUMMY] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = 0,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1586,7 +1586,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
|
||||
},
|
||||
[B_WIN_PP_REMAINING] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = 2,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1598,7 +1598,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
|
||||
},
|
||||
[B_WIN_MOVE_TYPE] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 7,
|
||||
.fontId = FONT_NARROW,
|
||||
.x = 0,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1610,7 +1610,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
|
||||
},
|
||||
[B_WIN_SWITCH_PROMPT] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 7,
|
||||
.fontId = FONT_NARROW,
|
||||
.x = 0,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1622,7 +1622,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
|
||||
},
|
||||
[B_WIN_YESNO] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = 0,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1634,7 +1634,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
|
||||
},
|
||||
[B_WIN_LEVEL_UP_BOX] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = 0,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1646,7 +1646,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
|
||||
},
|
||||
[B_WIN_LEVEL_UP_BANNER] = {
|
||||
.fillValue = PIXEL_FILL(0),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = 32,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1658,7 +1658,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
|
||||
},
|
||||
[B_WIN_VS_PLAYER] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = -1,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1670,7 +1670,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
|
||||
},
|
||||
[B_WIN_VS_OPPONENT] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = -1,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1682,7 +1682,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
|
||||
},
|
||||
[B_WIN_VS_MULTI_PLAYER_1] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = -1,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1694,7 +1694,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
|
||||
},
|
||||
[B_WIN_VS_MULTI_PLAYER_2] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = -1,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1706,7 +1706,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
|
||||
},
|
||||
[B_WIN_VS_MULTI_PLAYER_3] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = -1,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1718,7 +1718,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
|
||||
},
|
||||
[B_WIN_VS_MULTI_PLAYER_4] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = -1,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1730,7 +1730,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
|
||||
},
|
||||
[B_WIN_VS_OUTCOME_DRAW] = {
|
||||
.fillValue = PIXEL_FILL(0),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = -1,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1742,7 +1742,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
|
||||
},
|
||||
[B_WIN_VS_OUTCOME_LEFT] = {
|
||||
.fillValue = PIXEL_FILL(0),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = -1,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1754,7 +1754,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
|
||||
},
|
||||
[B_WIN_VS_OUTCOME_RIGHT] = {
|
||||
.fillValue = PIXEL_FILL(0x0),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = -1,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1770,7 +1770,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Arena[] =
|
||||
{
|
||||
[B_WIN_MSG] = {
|
||||
.fillValue = PIXEL_FILL(0xF),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = 0,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1782,7 +1782,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Arena[] =
|
||||
},
|
||||
[B_WIN_ACTION_PROMPT] = {
|
||||
.fillValue = PIXEL_FILL(0xF),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = 1,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1794,7 +1794,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Arena[] =
|
||||
},
|
||||
[B_WIN_ACTION_MENU] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = 0,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1806,7 +1806,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Arena[] =
|
||||
},
|
||||
[B_WIN_MOVE_NAME_1] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 7,
|
||||
.fontId = FONT_NARROW,
|
||||
.x = 0,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1818,7 +1818,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Arena[] =
|
||||
},
|
||||
[B_WIN_MOVE_NAME_2] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 7,
|
||||
.fontId = FONT_NARROW,
|
||||
.x = 0,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1830,7 +1830,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Arena[] =
|
||||
},
|
||||
[B_WIN_MOVE_NAME_3] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 7,
|
||||
.fontId = FONT_NARROW,
|
||||
.x = 0,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1842,7 +1842,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Arena[] =
|
||||
},
|
||||
[B_WIN_MOVE_NAME_4] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 7,
|
||||
.fontId = FONT_NARROW,
|
||||
.x = 0,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1854,7 +1854,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Arena[] =
|
||||
},
|
||||
[B_WIN_PP] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 7,
|
||||
.fontId = FONT_NARROW,
|
||||
.x = 0,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1866,7 +1866,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Arena[] =
|
||||
},
|
||||
[B_WIN_DUMMY] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = 0,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1878,7 +1878,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Arena[] =
|
||||
},
|
||||
[B_WIN_PP_REMAINING] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = 2,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1890,7 +1890,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Arena[] =
|
||||
},
|
||||
[B_WIN_MOVE_TYPE] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 7,
|
||||
.fontId = FONT_NARROW,
|
||||
.x = 0,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1902,7 +1902,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Arena[] =
|
||||
},
|
||||
[B_WIN_SWITCH_PROMPT] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 7,
|
||||
.fontId = FONT_NARROW,
|
||||
.x = 0,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1914,7 +1914,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Arena[] =
|
||||
},
|
||||
[B_WIN_YESNO] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = 0,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1926,7 +1926,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Arena[] =
|
||||
},
|
||||
[B_WIN_LEVEL_UP_BOX] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = 0,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1938,7 +1938,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Arena[] =
|
||||
},
|
||||
[B_WIN_LEVEL_UP_BANNER] = {
|
||||
.fillValue = PIXEL_FILL(0),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = 32,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1950,7 +1950,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Arena[] =
|
||||
},
|
||||
[ARENA_WIN_PLAYER_NAME] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = -1,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1962,7 +1962,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Arena[] =
|
||||
},
|
||||
[ARENA_WIN_VS] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = -1,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1974,7 +1974,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Arena[] =
|
||||
},
|
||||
[ARENA_WIN_OPPONENT_NAME] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = -1,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1986,7 +1986,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Arena[] =
|
||||
},
|
||||
[ARENA_WIN_MIND] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = -1,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -1998,7 +1998,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Arena[] =
|
||||
},
|
||||
[ARENA_WIN_SKILL] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = -1,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -2010,7 +2010,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Arena[] =
|
||||
},
|
||||
[ARENA_WIN_BODY] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = -1,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -2022,7 +2022,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Arena[] =
|
||||
},
|
||||
[ARENA_WIN_JUDGEMENT_TITLE] = {
|
||||
.fillValue = PIXEL_FILL(0xE),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = -1,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
@ -2034,7 +2034,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Arena[] =
|
||||
},
|
||||
[ARENA_WIN_JUDGEMENT_TEXT] = {
|
||||
.fillValue = PIXEL_FILL(0x1),
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.x = 0,
|
||||
.y = 1,
|
||||
.letterSpacing = 0,
|
||||
|
||||
@ -88,8 +88,8 @@ static void CopyBagItemName(u8 *, u16);
|
||||
static void FreeItemIconSpriteByAltId(u8);
|
||||
static void PrintItemDescription(s32);
|
||||
static void PrintSelectorArrowAtPos(u8, u8);
|
||||
static void PrintOnWindow_Font1(u8, const u8 *, u8, u8, u8, u8, u8, u8);
|
||||
static void PrintOnWindow_Font7(u8, const u8 *, u8, u8, u8, u8, u8, u8);
|
||||
static void PyramidBagPrint(u8, const u8 *, u8, u8, u8, u8, u8, u8);
|
||||
static void PyramidBagPrint_Quantity(u8, const u8 *, u8, u8, u8, u8, u8, u8);
|
||||
static u8 OpenMenuActionWindowById(u8);
|
||||
static void CloseMenuActionWindowById(u8);
|
||||
static void PrintMenuActionText_SingleRow(u8);
|
||||
@ -159,7 +159,7 @@ static const struct ListMenuTemplate sListMenuTemplate =
|
||||
.lettersSpacing = 0,
|
||||
.itemVerticalPadding = 0,
|
||||
.scrollMultiple = LIST_NO_MULTIPLE_SCROLL,
|
||||
.fontId = 7,
|
||||
.fontId = FONT_NARROW,
|
||||
.cursorKind = 0
|
||||
};
|
||||
|
||||
@ -672,8 +672,8 @@ static void PrintItemQuantity(u8 windowId, u32 itemIndex, u8 y)
|
||||
STR_CONV_MODE_RIGHT_ALIGN,
|
||||
2);
|
||||
StringExpandPlaceholders(gStringVar4, gText_xVar1);
|
||||
xAlign = GetStringRightAlignXOffset(7, gStringVar4, 119);
|
||||
PrintOnWindow_Font7(windowId, gStringVar4, xAlign, y, 0, 0, TEXT_SPEED_FF, COLORID_DARK_GRAY);
|
||||
xAlign = GetStringRightAlignXOffset(FONT_NARROW, gStringVar4, 119);
|
||||
PyramidBagPrint_Quantity(windowId, gStringVar4, xAlign, y, 0, 0, TEXT_SPEED_FF, COLORID_DARK_GRAY);
|
||||
}
|
||||
|
||||
static void PrintItemDescription(s32 listMenuId)
|
||||
@ -690,7 +690,7 @@ static void PrintItemDescription(s32 listMenuId)
|
||||
desc = gStringVar4;
|
||||
}
|
||||
FillWindowPixelBuffer(WIN_INFO, PIXEL_FILL(0));
|
||||
PrintOnWindow_Font1(WIN_INFO, desc, 3, 0, 0, 1, 0, COLORID_DARK_GRAY);
|
||||
PyramidBagPrint(WIN_INFO, desc, 3, 0, 0, 1, 0, COLORID_DARK_GRAY);
|
||||
}
|
||||
|
||||
static void AddScrollArrows(void)
|
||||
@ -849,9 +849,9 @@ static void PrintSelectorArrow(u8 listMenuTaskId, u8 colorId)
|
||||
static void PrintSelectorArrowAtPos(u8 y, u8 colorId)
|
||||
{
|
||||
if (colorId == COLORID_NONE) // If 'no color', erase arrow
|
||||
FillWindowPixelRect(WIN_LIST, PIXEL_FILL(0), 0, y, GetMenuCursorDimensionByFont(1, 0), GetMenuCursorDimensionByFont(1, 1));
|
||||
FillWindowPixelRect(WIN_LIST, PIXEL_FILL(0), 0, y, GetMenuCursorDimensionByFont(FONT_NORMAL, 0), GetMenuCursorDimensionByFont(FONT_NORMAL, 1));
|
||||
else
|
||||
PrintOnWindow_Font1(WIN_LIST, gText_SelectorArrow2, 0, y, 0, 0, 0, colorId);
|
||||
PyramidBagPrint(WIN_LIST, gText_SelectorArrow2, 0, y, 0, 0, 0, colorId);
|
||||
}
|
||||
|
||||
void CloseBattlePyramidBag(u8 taskId)
|
||||
@ -962,7 +962,7 @@ static void OpenContextMenu(u8 taskId)
|
||||
CopyItemName(gSpecialVar_ItemId, gStringVar1);
|
||||
StringExpandPlaceholders(gStringVar4, gText_Var1IsSelected);
|
||||
FillWindowPixelBuffer(WIN_INFO, PIXEL_FILL(0));
|
||||
PrintOnWindow_Font1(WIN_INFO, gStringVar4, 3, 0, 0, 1, 0, COLORID_DARK_GRAY);
|
||||
PyramidBagPrint(WIN_INFO, gStringVar4, 3, 0, 0, 1, 0, COLORID_DARK_GRAY);
|
||||
if (gPyramidBagMenu->menuActionsCount == 1)
|
||||
PrintMenuActionText_SingleRow(OpenMenuActionWindowById(MENU_WIN_1x1));
|
||||
else if (gPyramidBagMenu->menuActionsCount == 2)
|
||||
@ -978,13 +978,13 @@ static void OpenContextMenu(u8 taskId)
|
||||
|
||||
static void PrintMenuActionText_SingleRow(u8 windowId)
|
||||
{
|
||||
AddItemMenuActionTextPrinters(windowId, 7, 8, 1, 0, 0x10, gPyramidBagMenu->menuActionsCount, sMenuActions, gPyramidBagMenu->menuActionIds);
|
||||
AddItemMenuActionTextPrinters(windowId, FONT_NARROW, 8, 1, 0, 0x10, gPyramidBagMenu->menuActionsCount, sMenuActions, gPyramidBagMenu->menuActionIds);
|
||||
InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, gPyramidBagMenu->menuActionsCount, 0);
|
||||
}
|
||||
|
||||
static void PrintMenuActionText_MultiRow(u8 windowId, u8 horizontalCount, u8 verticalCount)
|
||||
{
|
||||
PrintMenuActionGrid(windowId, 7, 8, 1, 56, horizontalCount, verticalCount, sMenuActions, gPyramidBagMenu->menuActionIds);
|
||||
PrintMenuActionGrid(windowId, FONT_NARROW, 8, 1, 56, horizontalCount, verticalCount, sMenuActions, gPyramidBagMenu->menuActionIds);
|
||||
InitMenuActionGrid(windowId, 56, horizontalCount, verticalCount, 0);
|
||||
}
|
||||
|
||||
@ -1137,7 +1137,7 @@ static void BagAction_Toss(u8 taskId)
|
||||
CopyItemName(gSpecialVar_ItemId, gStringVar1);
|
||||
StringExpandPlaceholders(gStringVar4, gText_TossHowManyVar1s);
|
||||
FillWindowPixelBuffer(WIN_INFO, PIXEL_FILL(0));
|
||||
PrintOnWindow_Font1(WIN_INFO, gStringVar4, 3, 0, 0, 1, 0, COLORID_DARK_GRAY);
|
||||
PyramidBagPrint(WIN_INFO, gStringVar4, 3, 0, 0, 1, 0, COLORID_DARK_GRAY);
|
||||
ShowNumToToss();
|
||||
gTasks[taskId].func = Task_ChooseHowManyToToss;
|
||||
}
|
||||
@ -1151,7 +1151,7 @@ static void AskConfirmToss(u8 taskId)
|
||||
ConvertIntToDecimalStringN(gStringVar2, tNumToToss, STR_CONV_MODE_LEFT_ALIGN, 2);
|
||||
StringExpandPlaceholders(gStringVar4, gText_ConfirmTossItems);
|
||||
FillWindowPixelBuffer(WIN_INFO, PIXEL_FILL(0));
|
||||
PrintOnWindow_Font1(WIN_INFO, gStringVar4, 3, 0, 0, 1, 0, COLORID_DARK_GRAY);
|
||||
PyramidBagPrint(WIN_INFO, gStringVar4, 3, 0, 0, 1, 0, COLORID_DARK_GRAY);
|
||||
CreatePyramidBagYesNo(taskId, &sYesNoTossFuncions);
|
||||
}
|
||||
|
||||
@ -1170,8 +1170,8 @@ static void ShowNumToToss(void)
|
||||
ConvertIntToDecimalStringN(gStringVar1, 1, STR_CONV_MODE_LEADING_ZEROS, 2);
|
||||
StringExpandPlaceholders(gStringVar4, gText_xVar1);
|
||||
DrawTossNumberWindow(WIN_TOSS_NUM);
|
||||
x = GetStringCenterAlignXOffset(1, gStringVar4, 0x28);
|
||||
AddTextPrinterParameterized(WIN_TOSS_NUM, 1, gStringVar4, x, 2, 0, NULL);
|
||||
x = GetStringCenterAlignXOffset(FONT_NORMAL, gStringVar4, 0x28);
|
||||
AddTextPrinterParameterized(WIN_TOSS_NUM, FONT_NORMAL, gStringVar4, x, 2, 0, NULL);
|
||||
}
|
||||
|
||||
static void UpdateNumToToss(s16 num)
|
||||
@ -1179,8 +1179,8 @@ static void UpdateNumToToss(s16 num)
|
||||
s32 x;
|
||||
ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_LEADING_ZEROS, 2);
|
||||
StringExpandPlaceholders(gStringVar4, gText_xVar1);
|
||||
x = GetStringCenterAlignXOffset(1, gStringVar4, 0x28);
|
||||
AddTextPrinterParameterized(WIN_TOSS_NUM, 1, gStringVar4, x, 2, 0, NULL);
|
||||
x = GetStringCenterAlignXOffset(FONT_NORMAL, gStringVar4, 0x28);
|
||||
AddTextPrinterParameterized(WIN_TOSS_NUM, FONT_NORMAL, gStringVar4, x, 2, 0, NULL);
|
||||
}
|
||||
|
||||
static void Task_ChooseHowManyToToss(u8 taskId)
|
||||
@ -1219,7 +1219,7 @@ static void TossItem(u8 taskId)
|
||||
ConvertIntToDecimalStringN(gStringVar2, tNumToToss, STR_CONV_MODE_LEFT_ALIGN, 2);
|
||||
StringExpandPlaceholders(gStringVar4, gText_ThrewAwayVar2Var1s);
|
||||
FillWindowPixelBuffer(WIN_INFO, PIXEL_FILL(0));
|
||||
PrintOnWindow_Font1(WIN_INFO, gStringVar4, 3, 0, 0, 1, 0, COLORID_DARK_GRAY);
|
||||
PyramidBagPrint(WIN_INFO, gStringVar4, 3, 0, 0, 1, 0, COLORID_DARK_GRAY);
|
||||
gTasks[taskId].func = Task_TossItem;
|
||||
}
|
||||
|
||||
@ -1316,7 +1316,7 @@ static void Task_BeginItemSwap(u8 taskId)
|
||||
CopyItemName(gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode][tListPos], gStringVar1);
|
||||
StringExpandPlaceholders(gStringVar4, gText_MoveVar1Where);
|
||||
FillWindowPixelBuffer(WIN_INFO, PIXEL_FILL(0));
|
||||
PrintOnWindow_Font1(WIN_INFO, gStringVar4, 3, 0, 0, 1, 0, COLORID_DARK_GRAY);
|
||||
PyramidBagPrint(WIN_INFO, gStringVar4, 3, 0, 0, 1, 0, COLORID_DARK_GRAY);
|
||||
PrintSelectorArrow(tListTaskId, COLORID_LIGHT_GRAY);
|
||||
UpdateSwapLinePos(tListPos);
|
||||
gTasks[taskId].func = Task_ItemSwapHandleInput;
|
||||
@ -1454,14 +1454,14 @@ static void InitPyramidBagWindows(void)
|
||||
ScheduleBgCopyTilemapToVram(1);
|
||||
}
|
||||
|
||||
static void PrintOnWindow_Font1(u8 windowId, const u8 *src, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorTableId)
|
||||
static void PyramidBagPrint(u8 windowId, const u8 *src, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorTableId)
|
||||
{
|
||||
AddTextPrinterParameterized4(windowId, 1, x, y, letterSpacing, lineSpacing, sTextColors[colorTableId], speed, src);
|
||||
AddTextPrinterParameterized4(windowId, FONT_NORMAL, x, y, letterSpacing, lineSpacing, sTextColors[colorTableId], speed, src);
|
||||
}
|
||||
|
||||
static void PrintOnWindow_Font7(u8 windowId, const u8 *src, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorTableId)
|
||||
static void PyramidBagPrint_Quantity(u8 windowId, const u8 *src, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorTableId)
|
||||
{
|
||||
AddTextPrinterParameterized4(windowId, 7, x, y, letterSpacing, lineSpacing, sTextColors[colorTableId], speed, src);
|
||||
AddTextPrinterParameterized4(windowId, FONT_NARROW, x, y, letterSpacing, lineSpacing, sTextColors[colorTableId], speed, src);
|
||||
}
|
||||
|
||||
static void DrawTossNumberWindow(u8 windowId)
|
||||
@ -1509,7 +1509,7 @@ static void CreatePyramidBagYesNo(u8 taskId, const struct YesNoFuncTable *yesNoT
|
||||
void DisplayItemMessageInBattlePyramid(u8 taskId, const u8 *str, void (*callback)(u8 taskId))
|
||||
{
|
||||
FillWindowPixelBuffer(WIN_MSG, PIXEL_FILL(1));
|
||||
DisplayMessageAndContinueTask(taskId, WIN_MSG, 0xA, 0xD, 1, GetPlayerTextSpeedDelay(), str, callback);
|
||||
DisplayMessageAndContinueTask(taskId, WIN_MSG, 0xA, 0xD, FONT_NORMAL, GetPlayerTextSpeedDelay(), str, callback);
|
||||
ScheduleBgCopyTilemapToVram(1);
|
||||
}
|
||||
|
||||
|
||||
@ -279,8 +279,8 @@ static void PrintLinkBattleWinsLossesDraws(struct LinkBattleRecord *records)
|
||||
ConvertIntToDecimalStringN(gStringVar3, GetGameStat(GAME_STAT_LINK_BATTLE_DRAWS), STR_CONV_MODE_LEFT_ALIGN, 4);
|
||||
StringExpandPlaceholders(gStringVar4, gText_TotalRecordWLD);
|
||||
|
||||
x = GetStringCenterAlignXOffset(1, gStringVar4, 0xD0);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x, 0x11, 0, NULL);
|
||||
x = GetStringCenterAlignXOffset(FONT_NORMAL, gStringVar4, 0xD0);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, x, 0x11, 0, NULL);
|
||||
}
|
||||
|
||||
static void PrintLinkBattleRecord(struct LinkBattleRecord *record, u8 y, s32 language)
|
||||
@ -288,10 +288,10 @@ static void PrintLinkBattleRecord(struct LinkBattleRecord *record, u8 y, s32 lan
|
||||
if (record->wins == 0 && record->losses == 0 && record->draws == 0)
|
||||
{
|
||||
// empty slot
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, sText_DashesNoPlayer, 8, (y * 8) + 1, 0, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, sText_DashesNoScore, 80, (y * 8) + 1, 0, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, sText_DashesNoScore, 128, (y * 8) + 1, 0, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, sText_DashesNoScore, 176, (y * 8) + 1, 0, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, sText_DashesNoPlayer, 8, (y * 8) + 1, 0, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, sText_DashesNoScore, 80, (y * 8) + 1, 0, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, sText_DashesNoScore, 128, (y * 8) + 1, 0, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, sText_DashesNoScore, 176, (y * 8) + 1, 0, NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -299,16 +299,16 @@ static void PrintLinkBattleRecord(struct LinkBattleRecord *record, u8 y, s32 lan
|
||||
StringCopyN(gStringVar1, record->name, 7);
|
||||
ConvertInternationalString(gStringVar1, language);
|
||||
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar1, 8, (y * 8) + 1, 0, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar1, 8, (y * 8) + 1, 0, NULL);
|
||||
|
||||
ConvertIntToDecimalStringN(gStringVar1, record->wins, STR_CONV_MODE_RIGHT_ALIGN, 4);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar1, 80, (y * 8) + 1, 0, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar1, 80, (y * 8) + 1, 0, NULL);
|
||||
|
||||
ConvertIntToDecimalStringN(gStringVar1, record->losses, STR_CONV_MODE_RIGHT_ALIGN, 4);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar1, 128, (y * 8) + 1, 0, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar1, 128, (y * 8) + 1, 0, NULL);
|
||||
|
||||
ConvertIntToDecimalStringN(gStringVar1, record->draws, STR_CONV_MODE_RIGHT_ALIGN, 4);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar1, 176, (y * 8) + 1, 0, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar1, 176, (y * 8) + 1, 0, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
@ -321,12 +321,12 @@ void ShowLinkBattleRecords(void)
|
||||
FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1));
|
||||
StringExpandPlaceholders(gStringVar4, gText_PlayersBattleResults);
|
||||
|
||||
x = GetStringCenterAlignXOffset(1, gStringVar4, 208);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x, 1, 0, NULL);
|
||||
x = GetStringCenterAlignXOffset(FONT_NORMAL, gStringVar4, 208);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, x, 1, 0, NULL);
|
||||
PrintLinkBattleWinsLossesDraws(gSaveBlock1Ptr->linkBattleRecords.entries);
|
||||
|
||||
StringExpandPlaceholders(gStringVar4, gText_WinLoseDraw);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, 0, 41, 0, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, 0, 41, 0, NULL);
|
||||
|
||||
for (i = 0; i < LINK_B_RECORDS_COUNT; i++)
|
||||
{
|
||||
|
||||
@ -6041,7 +6041,7 @@ static void DrawLevelUpBannerText(void)
|
||||
|
||||
printerTemplate.currentChar = gStringVar4;
|
||||
printerTemplate.windowId = B_WIN_LEVEL_UP_BANNER;
|
||||
printerTemplate.fontId = 0;
|
||||
printerTemplate.fontId = FONT_SMALL;
|
||||
printerTemplate.x = 32;
|
||||
printerTemplate.y = 0;
|
||||
printerTemplate.currentX = 32;
|
||||
|
||||
@ -47,8 +47,14 @@
|
||||
#include "constants/trainers.h"
|
||||
#include "constants/trainer_hill.h"
|
||||
|
||||
enum
|
||||
{
|
||||
enum {
|
||||
TRANSITION_TYPE_NORMAL,
|
||||
TRANSITION_TYPE_CAVE,
|
||||
TRANSITION_TYPE_FLASH,
|
||||
TRANSITION_TYPE_WATER,
|
||||
};
|
||||
|
||||
enum {
|
||||
TRAINER_PARAM_LOAD_VAL_8BIT,
|
||||
TRAINER_PARAM_LOAD_VAL_16BIT,
|
||||
TRAINER_PARAM_LOAD_VAL_32BIT,
|
||||
@ -85,7 +91,6 @@ static void HandleRematchVarsOnBattleEnd(void);
|
||||
static const u8 *GetIntroSpeechOfApproachingTrainer(void);
|
||||
static const u8 *GetTrainerCantBattleSpeech(void);
|
||||
|
||||
// ewram vars
|
||||
EWRAM_DATA static u16 sTrainerBattleMode = 0;
|
||||
EWRAM_DATA u16 gTrainerBattleOpponent_A = 0;
|
||||
EWRAM_DATA u16 gTrainerBattleOpponent_B = 0;
|
||||
@ -103,24 +108,22 @@ EWRAM_DATA static u8 *sTrainerBBattleScriptRetAddr = NULL;
|
||||
EWRAM_DATA static bool8 sShouldCheckTrainerBScript = FALSE;
|
||||
EWRAM_DATA static u8 sNoOfPossibleTrainerRetScripts = 0;
|
||||
|
||||
// const rom data
|
||||
|
||||
// The first transition is used if the enemy pokemon are lower level than our pokemon.
|
||||
// Otherwise, the second transition is used.
|
||||
static const u8 sBattleTransitionTable_Wild[][2] =
|
||||
{
|
||||
{B_TRANSITION_SLICE, B_TRANSITION_WHITEFADE}, // Normal
|
||||
{B_TRANSITION_CLOCKWISE_BLACKFADE, B_TRANSITION_GRID_SQUARES}, // Cave
|
||||
{B_TRANSITION_BLUR, B_TRANSITION_GRID_SQUARES}, // Cave with flash used
|
||||
{B_TRANSITION_WAVE, B_TRANSITION_RIPPLE}, // Water
|
||||
[TRANSITION_TYPE_NORMAL] = {B_TRANSITION_SLICE, B_TRANSITION_WHITE_BARS_FADE},
|
||||
[TRANSITION_TYPE_CAVE] = {B_TRANSITION_CLOCKWISE_WIPE, B_TRANSITION_GRID_SQUARES},
|
||||
[TRANSITION_TYPE_FLASH] = {B_TRANSITION_BLUR, B_TRANSITION_GRID_SQUARES},
|
||||
[TRANSITION_TYPE_WATER] = {B_TRANSITION_WAVE, B_TRANSITION_RIPPLE},
|
||||
};
|
||||
|
||||
static const u8 sBattleTransitionTable_Trainer[][2] =
|
||||
{
|
||||
{B_TRANSITION_POKEBALLS_TRAIL, B_TRANSITION_SHARDS}, // Normal
|
||||
{B_TRANSITION_SHUFFLE, B_TRANSITION_BIG_POKEBALL}, // Cave
|
||||
{B_TRANSITION_BLUR, B_TRANSITION_GRID_SQUARES}, // Cave with flash used
|
||||
{B_TRANSITION_SWIRL, B_TRANSITION_RIPPLE}, // Water
|
||||
[TRANSITION_TYPE_NORMAL] = {B_TRANSITION_POKEBALLS_TRAIL, B_TRANSITION_ANGLED_WIPES},
|
||||
[TRANSITION_TYPE_CAVE] = {B_TRANSITION_SHUFFLE, B_TRANSITION_BIG_POKEBALL},
|
||||
[TRANSITION_TYPE_FLASH] = {B_TRANSITION_BLUR, B_TRANSITION_GRID_SQUARES},
|
||||
[TRANSITION_TYPE_WATER] = {B_TRANSITION_SWIRL, B_TRANSITION_RIPPLE},
|
||||
};
|
||||
|
||||
// Battle Frontier (excluding Pyramid and Dome, which have their own tables below)
|
||||
@ -552,7 +555,7 @@ void StartGroudonKyogreBattle(void)
|
||||
gBattleTypeFlags = BATTLE_TYPE_LEGENDARY | BATTLE_TYPE_KYOGRE_GROUDON;
|
||||
|
||||
if (gGameVersion == VERSION_RUBY)
|
||||
CreateBattleStartTask(B_TRANSITION_SHARDS, MUS_VS_KYOGRE_GROUDON); // GROUDON
|
||||
CreateBattleStartTask(B_TRANSITION_ANGLED_WIPES, MUS_VS_KYOGRE_GROUDON); // GROUDON
|
||||
else
|
||||
CreateBattleStartTask(B_TRANSITION_RIPPLE, MUS_VS_KYOGRE_GROUDON); // KYOGRE
|
||||
|
||||
@ -697,20 +700,20 @@ static u8 GetBattleTransitionTypeByMap(void)
|
||||
PlayerGetDestCoords(&x, &y);
|
||||
tileBehavior = MapGridGetMetatileBehaviorAt(x, y);
|
||||
if (Overworld_GetFlashLevel())
|
||||
return B_TRANSITION_SHUFFLE;
|
||||
return TRANSITION_TYPE_FLASH;
|
||||
if (!MetatileBehavior_IsSurfableWaterOrUnderwater(tileBehavior))
|
||||
{
|
||||
switch (gMapHeader.mapType)
|
||||
{
|
||||
case MAP_TYPE_UNDERGROUND:
|
||||
return B_TRANSITION_SWIRL;
|
||||
return TRANSITION_TYPE_CAVE;
|
||||
case MAP_TYPE_UNDERWATER:
|
||||
return B_TRANSITION_BIG_POKEBALL;
|
||||
return TRANSITION_TYPE_WATER;
|
||||
default:
|
||||
return B_TRANSITION_BLUR;
|
||||
return TRANSITION_TYPE_NORMAL;
|
||||
}
|
||||
}
|
||||
return B_TRANSITION_BIG_POKEBALL;
|
||||
return TRANSITION_TYPE_WATER;
|
||||
}
|
||||
|
||||
static u16 GetSumOfPlayerPartyLevel(u8 numMons)
|
||||
|
||||
@ -1909,7 +1909,7 @@ static void FillFactoryTentTrainerParty(u16 trainerId, u8 firstMonId)
|
||||
void FrontierSpeechToString(const u16 *words)
|
||||
{
|
||||
ConvertEasyChatWordsToString(gStringVar4, words, 3, 2);
|
||||
if (GetStringWidth(1, gStringVar4, -1) > 204u)
|
||||
if (GetStringWidth(FONT_NORMAL, gStringVar4, -1) > 204u)
|
||||
{
|
||||
s32 i = 0;
|
||||
|
||||
|
||||
@ -21,7 +21,6 @@
|
||||
|
||||
typedef bool8 (*TransitionStateFunc)(struct Task *task);
|
||||
|
||||
// this file's functions
|
||||
static void SpriteCB_LogoCircleSlide(struct Sprite *sprite);
|
||||
static void SpriteCB_LogoCircleSpiral(struct Sprite *sprite);
|
||||
static bool8 WaitForLogoCirclesAnim(struct Task *task);
|
||||
@ -46,7 +45,6 @@ static bool8 CirclesSymmetricSpiralInSeq_End(struct Task *task);
|
||||
|
||||
#define PALTAG_LOGO_CIRCLES 0x2E90
|
||||
|
||||
// const rom data
|
||||
static const u32 sLogoCenter_Gfx[] = INCBIN_U32("graphics/battle_transitions/frontier_logo_center.4bpp.lz");
|
||||
static const u32 sLogoCenter_Tilemap[] = INCBIN_U32("graphics/battle_transitions/frontier_logo_center.bin");
|
||||
static const u32 sLogoCircles_Gfx[] = INCBIN_U32("graphics/battle_transitions/frontier_logo_circles.4bpp.lz");
|
||||
@ -121,7 +119,7 @@ static const struct SpriteTemplate sSpriteTemplate_LogoCircles =
|
||||
.callback = SpriteCallbackDummy,
|
||||
};
|
||||
|
||||
static const TransitionStateFunc sPhase2_FrontierCirclesMeet_Funcs[] =
|
||||
static const TransitionStateFunc sFrontierCirclesMeet_Funcs[] =
|
||||
{
|
||||
Circles_Init,
|
||||
CirclesMeet_CreateSprites,
|
||||
@ -130,7 +128,7 @@ static const TransitionStateFunc sPhase2_FrontierCirclesMeet_Funcs[] =
|
||||
CirclesMeet_End
|
||||
};
|
||||
|
||||
static const TransitionStateFunc sPhase2_FrontierCirclesCross_Funcs[] =
|
||||
static const TransitionStateFunc sFrontierCirclesCross_Funcs[] =
|
||||
{
|
||||
Circles_Init,
|
||||
CirclesCross_CreateSprites,
|
||||
@ -139,7 +137,7 @@ static const TransitionStateFunc sPhase2_FrontierCirclesCross_Funcs[] =
|
||||
CirclesCross_End
|
||||
};
|
||||
|
||||
static const TransitionStateFunc sPhase2_FrontierCirclesAsymmetricSpiral_Funcs[] =
|
||||
static const TransitionStateFunc sFrontierCirclesAsymmetricSpiral_Funcs[] =
|
||||
{
|
||||
Circles_Init,
|
||||
CirclesAsymmetricSpiral_CreateSprites,
|
||||
@ -148,7 +146,7 @@ static const TransitionStateFunc sPhase2_FrontierCirclesAsymmetricSpiral_Funcs[]
|
||||
CirclesAsymmetricSpiral_End
|
||||
};
|
||||
|
||||
static const TransitionStateFunc sPhase2_FrontierCirclesSymmetricSpiral_Funcs[] =
|
||||
static const TransitionStateFunc sFrontierCirclesSymmetricSpiral_Funcs[] =
|
||||
{
|
||||
Circles_Init,
|
||||
CirclesSymmetricSpiral_CreateSprites,
|
||||
@ -157,7 +155,7 @@ static const TransitionStateFunc sPhase2_FrontierCirclesSymmetricSpiral_Funcs[]
|
||||
CirclesSymmetricSpiral_End
|
||||
};
|
||||
|
||||
static const TransitionStateFunc sPhase2_FrontierCirclesMeetInSeq_Funcs[] =
|
||||
static const TransitionStateFunc sFrontierCirclesMeetInSeq_Funcs[] =
|
||||
{
|
||||
Circles_Init,
|
||||
CirclesMeetInSeq_CreateSprites,
|
||||
@ -166,7 +164,7 @@ static const TransitionStateFunc sPhase2_FrontierCirclesMeetInSeq_Funcs[] =
|
||||
CirclesMeetInSeq_End
|
||||
};
|
||||
|
||||
static const TransitionStateFunc sPhase2_FrontierCirclesCrossInSeq_Funcs[] =
|
||||
static const TransitionStateFunc sFrontierCirclesCrossInSeq_Funcs[] =
|
||||
{
|
||||
Circles_Init,
|
||||
CirclesCrossInSeq_CreateSprites,
|
||||
@ -175,7 +173,7 @@ static const TransitionStateFunc sPhase2_FrontierCirclesCrossInSeq_Funcs[] =
|
||||
CirclesCrossInSeq_End
|
||||
};
|
||||
|
||||
static const TransitionStateFunc sPhase2_FrontierCirclesAsymmetricSpiralInSeq_Funcs[] =
|
||||
static const TransitionStateFunc sFrontierCirclesAsymmetricSpiralInSeq_Funcs[] =
|
||||
{
|
||||
Circles_Init,
|
||||
CirclesAsymmetricSpiralInSeq_CreateSprites,
|
||||
@ -184,7 +182,7 @@ static const TransitionStateFunc sPhase2_FrontierCirclesAsymmetricSpiralInSeq_Fu
|
||||
CirclesAsymmetricSpiralInSeq_End
|
||||
};
|
||||
|
||||
static const TransitionStateFunc sPhase2_FrontierCirclesSymmetricSpiralInSeq_Funcs[] =
|
||||
static const TransitionStateFunc sFrontierCirclesSymmetricSpiralInSeq_Funcs[] =
|
||||
{
|
||||
Circles_Init,
|
||||
CirclesSymmetricSpiralInSeq_CreateSprites,
|
||||
@ -193,45 +191,72 @@ static const TransitionStateFunc sPhase2_FrontierCirclesSymmetricSpiralInSeq_Fun
|
||||
CirclesSymmetricSpiralInSeq_End
|
||||
};
|
||||
|
||||
// code
|
||||
// Task data
|
||||
#define tState data[0]
|
||||
#define tTimer data[1]
|
||||
#define tBlend data[2]
|
||||
#define tFadeTimer data[3]
|
||||
#define tCircle1SpriteId data[4]
|
||||
#define tCircle2SpriteId data[5]
|
||||
#define tCircle3SpriteId data[6]
|
||||
|
||||
#define sTargetX data[0]
|
||||
#define sTargetY data[1]
|
||||
|
||||
// Sprite data for CreateSlidingLogoCircleSprite
|
||||
#define sSpeedX data[2]
|
||||
#define sSpeedY data[3]
|
||||
#define sTimerX data[4]
|
||||
#define sTimerY data[5]
|
||||
#define sDelayX data[6]
|
||||
#define sDelayY data[7]
|
||||
|
||||
// Sprite data for CreateSpiralingLogoCircleSprite
|
||||
#define sAngle data[2]
|
||||
#define sRotateSpeed data[3]
|
||||
#define sRadius data[4]
|
||||
#define sTargetRadius data[5]
|
||||
#define sRadiusDelta data[6]
|
||||
|
||||
|
||||
static void LoadLogoGfx(void)
|
||||
{
|
||||
u16 *dst1, *dst2;
|
||||
u16 *tilemap, *tileset;
|
||||
|
||||
GetBg0TilesDst(&dst1, &dst2);
|
||||
LZ77UnCompVram(sLogoCenter_Gfx, dst2);
|
||||
LZ77UnCompVram(sLogoCenter_Tilemap, dst1);
|
||||
LoadPalette(sLogo_Pal, 0xF0, 0x20);
|
||||
GetBg0TilesDst(&tilemap, &tileset);
|
||||
LZ77UnCompVram(sLogoCenter_Gfx, tileset);
|
||||
LZ77UnCompVram(sLogoCenter_Tilemap, tilemap);
|
||||
LoadPalette(sLogo_Pal, 0xF0, sizeof(sLogo_Pal));
|
||||
LoadCompressedSpriteSheet(&sSpriteSheet_LogoCircles);
|
||||
LoadSpritePalette(&sSpritePalette_LogoCircles);
|
||||
}
|
||||
|
||||
static u8 CreateSlidingLogoCircleSprite(s16 x, s16 y, u8 arg2, u8 arg3, s8 arg4, s8 arg5, u8 spriteAnimNum)
|
||||
static u8 CreateSlidingLogoCircleSprite(s16 x, s16 y, u8 delayX, u8 delayY, s8 speedX, s8 speedY, u8 spriteAnimNum)
|
||||
{
|
||||
u8 spriteId = CreateSprite(&sSpriteTemplate_LogoCircles, x, y, 0);
|
||||
|
||||
switch (spriteAnimNum)
|
||||
{
|
||||
case 0:
|
||||
gSprites[spriteId].data[0] = 120;
|
||||
gSprites[spriteId].data[1] = 45;
|
||||
gSprites[spriteId].sTargetX = 120;
|
||||
gSprites[spriteId].sTargetY = 45;
|
||||
break;
|
||||
case 1:
|
||||
gSprites[spriteId].data[0] = 89;
|
||||
gSprites[spriteId].data[1] = 97;
|
||||
gSprites[spriteId].sTargetX = 89;
|
||||
gSprites[spriteId].sTargetY = 97;
|
||||
break;
|
||||
case 2:
|
||||
gSprites[spriteId].data[0] = 151;
|
||||
gSprites[spriteId].data[1] = 97;
|
||||
gSprites[spriteId].sTargetX = 151;
|
||||
gSprites[spriteId].sTargetY = 97;
|
||||
break;
|
||||
}
|
||||
|
||||
gSprites[spriteId].data[2] = arg4;
|
||||
gSprites[spriteId].data[3] = arg5;
|
||||
gSprites[spriteId].data[6] = arg2;
|
||||
gSprites[spriteId].data[7] = arg3;
|
||||
gSprites[spriteId].data[4] = 0;
|
||||
gSprites[spriteId].data[5] = 0;
|
||||
gSprites[spriteId].sSpeedX = speedX;
|
||||
gSprites[spriteId].sSpeedY = speedY;
|
||||
gSprites[spriteId].sDelayX = delayX;
|
||||
gSprites[spriteId].sDelayY = delayY;
|
||||
gSprites[spriteId].sTimerX = 0;
|
||||
gSprites[spriteId].sTimerY = 0;
|
||||
|
||||
StartSpriteAnim(&gSprites[spriteId], spriteAnimNum);
|
||||
gSprites[spriteId].callback = SpriteCB_LogoCircleSlide;
|
||||
@ -243,59 +268,60 @@ static void SpriteCB_LogoCircleSlide(struct Sprite *sprite)
|
||||
{
|
||||
s16 *data = sprite->data;
|
||||
|
||||
if (sprite->x == data[0] && sprite->y == data[1])
|
||||
if (sprite->x == sTargetX && sprite->y == sTargetY)
|
||||
{
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (data[4] == data[6])
|
||||
if (sTimerX == sDelayX)
|
||||
{
|
||||
sprite->x += data[2];
|
||||
data[4] = 0;
|
||||
sprite->x += sSpeedX;
|
||||
sTimerX = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
data[4]++;
|
||||
sTimerX++;
|
||||
}
|
||||
|
||||
if (data[5] == data[7])
|
||||
if (sTimerY == sDelayY)
|
||||
{
|
||||
sprite->y += data[3];
|
||||
data[5] = 0;
|
||||
sprite->y += sSpeedY;
|
||||
sTimerY = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
data[5]++;
|
||||
sTimerY++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static u8 CreateSpiralingLogoCircleSprite(s16 x, s16 y, s16 arg2, s16 arg3, s16 arg4, s16 arg5, s16 arg6, u8 spriteAnimNum)
|
||||
static u8 CreateSpiralingLogoCircleSprite(s16 x, s16 y, s16 angle, s16 rotateSpeed, s16 radiusStart, s16 radiusEnd, s16 radiusDelta, u8 spriteAnimNum)
|
||||
{
|
||||
u8 spriteId = CreateSprite(&sSpriteTemplate_LogoCircles, x, y, 0);
|
||||
|
||||
// Target coords are set but irrelevant
|
||||
switch (spriteAnimNum)
|
||||
{
|
||||
case 0:
|
||||
gSprites[spriteId].data[0] = 120;
|
||||
gSprites[spriteId].data[1] = 45;
|
||||
gSprites[spriteId].sTargetX = 120;
|
||||
gSprites[spriteId].sTargetY = 45;
|
||||
break;
|
||||
case 1:
|
||||
gSprites[spriteId].data[0] = 89;
|
||||
gSprites[spriteId].data[1] = 97;
|
||||
gSprites[spriteId].sTargetX = 89;
|
||||
gSprites[spriteId].sTargetY = 97;
|
||||
break;
|
||||
case 2:
|
||||
gSprites[spriteId].data[0] = 151;
|
||||
gSprites[spriteId].data[1] = 97;
|
||||
gSprites[spriteId].sTargetX = 151;
|
||||
gSprites[spriteId].sTargetY = 97;
|
||||
break;
|
||||
}
|
||||
|
||||
gSprites[spriteId].data[2] = arg2;
|
||||
gSprites[spriteId].data[3] = arg3;
|
||||
gSprites[spriteId].data[4] = arg4;
|
||||
gSprites[spriteId].data[5] = arg5;
|
||||
gSprites[spriteId].data[6] = arg6;
|
||||
gSprites[spriteId].sAngle = angle;
|
||||
gSprites[spriteId].sRotateSpeed = rotateSpeed;
|
||||
gSprites[spriteId].sRadius = radiusStart;
|
||||
gSprites[spriteId].sTargetRadius = radiusEnd;
|
||||
gSprites[spriteId].sRadiusDelta = radiusDelta;
|
||||
|
||||
StartSpriteAnim(&gSprites[spriteId], spriteAnimNum);
|
||||
gSprites[spriteId].callback = SpriteCB_LogoCircleSpiral;
|
||||
@ -305,34 +331,32 @@ static u8 CreateSpiralingLogoCircleSprite(s16 x, s16 y, s16 arg2, s16 arg3, s16
|
||||
|
||||
static void SpriteCB_LogoCircleSpiral(struct Sprite *sprite)
|
||||
{
|
||||
sprite->x2 = (Sin2(sprite->data[2]) * sprite->data[4]) >> 12; // div by 4096
|
||||
sprite->y2 = (Cos2(sprite->data[2]) * sprite->data[4]) >> 12; // div by 4096
|
||||
sprite->x2 = (Sin2(sprite->sAngle) * sprite->sRadius) >> 12; // div by 4096
|
||||
sprite->y2 = (Cos2(sprite->sAngle) * sprite->sRadius) >> 12; // div by 4096
|
||||
|
||||
sprite->data[2] = (sprite->data[2] + sprite->data[3]) % 360;
|
||||
sprite->sAngle = (sprite->sAngle + sprite->sRotateSpeed) % 360;
|
||||
|
||||
if (sprite->data[4] != sprite->data[5])
|
||||
sprite->data[4] += sprite->data[6];
|
||||
if (sprite->sRadius != sprite->sTargetRadius)
|
||||
sprite->sRadius += sprite->sRadiusDelta;
|
||||
else
|
||||
sprite->callback = SpriteCallbackDummy;
|
||||
}
|
||||
|
||||
#define tState data[0]
|
||||
|
||||
static void DestroyLogoCirclesGfx(struct Task *task)
|
||||
{
|
||||
FreeSpriteTilesByTag(PALTAG_LOGO_CIRCLES);
|
||||
FreeSpritePaletteByTag(PALTAG_LOGO_CIRCLES);
|
||||
|
||||
DestroySprite(&gSprites[task->data[4]]);
|
||||
DestroySprite(&gSprites[task->data[5]]);
|
||||
DestroySprite(&gSprites[task->data[6]]);
|
||||
DestroySprite(&gSprites[task->tCircle1SpriteId]);
|
||||
DestroySprite(&gSprites[task->tCircle2SpriteId]);
|
||||
DestroySprite(&gSprites[task->tCircle3SpriteId]);
|
||||
}
|
||||
|
||||
static bool8 IsLogoCirclesAnimFinished(struct Task *task)
|
||||
{
|
||||
if (gSprites[task->data[4]].callback == SpriteCallbackDummy
|
||||
&& gSprites[task->data[5]].callback == SpriteCallbackDummy
|
||||
&& gSprites[task->data[6]].callback == SpriteCallbackDummy)
|
||||
if (gSprites[task->tCircle1SpriteId].callback == SpriteCallbackDummy
|
||||
&& gSprites[task->tCircle2SpriteId].callback == SpriteCallbackDummy
|
||||
&& gSprites[task->tCircle3SpriteId].callback == SpriteCallbackDummy)
|
||||
return TRUE;
|
||||
else
|
||||
return FALSE;
|
||||
@ -340,13 +364,13 @@ static bool8 IsLogoCirclesAnimFinished(struct Task *task)
|
||||
|
||||
static bool8 Circles_Init(struct Task *task)
|
||||
{
|
||||
if (task->data[1] == 0)
|
||||
if (task->tTimer == 0)
|
||||
{
|
||||
ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
|
||||
ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN1_ON);
|
||||
ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG0_ON);
|
||||
|
||||
task->data[1]++;
|
||||
task->tTimer++;
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
@ -358,7 +382,7 @@ static bool8 Circles_Init(struct Task *task)
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgY(0, 0x500, 2);
|
||||
|
||||
task->data[1] = 0;
|
||||
task->tTimer = 0;
|
||||
task->tState++;
|
||||
return TRUE;
|
||||
}
|
||||
@ -366,27 +390,27 @@ static bool8 Circles_Init(struct Task *task)
|
||||
|
||||
static bool8 FadeInCenterLogoCircle(struct Task *task)
|
||||
{
|
||||
if (task->data[2] == 0)
|
||||
if (task->tBlend == 0)
|
||||
SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG0_ON);
|
||||
|
||||
if (task->data[2] == 16)
|
||||
if (task->tBlend == 16)
|
||||
{
|
||||
if (task->data[3] == 31)
|
||||
if (task->tFadeTimer == 31)
|
||||
{
|
||||
BeginNormalPaletteFade(PALETTES_ALL, -1, 0, 0x10, RGB_BLACK);
|
||||
task->tState++;
|
||||
}
|
||||
else
|
||||
{
|
||||
task->data[3]++;
|
||||
task->tFadeTimer++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
u16 blnd;
|
||||
|
||||
task->data[2]++;
|
||||
blnd = task->data[2];
|
||||
task->tBlend++;
|
||||
blnd = task->tBlend;
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(blnd, 16 - blnd));
|
||||
}
|
||||
|
||||
@ -401,16 +425,16 @@ static bool8 WaitForLogoCirclesAnim(struct Task *task)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void Phase2Task_FrontierCirclesMeet(u8 taskId)
|
||||
void Task_FrontierCirclesMeet(u8 taskId)
|
||||
{
|
||||
while (sPhase2_FrontierCirclesMeet_Funcs[gTasks[taskId].tState](&gTasks[taskId]));
|
||||
while (sFrontierCirclesMeet_Funcs[gTasks[taskId].tState](&gTasks[taskId]));
|
||||
}
|
||||
|
||||
static bool8 CirclesMeet_CreateSprites(struct Task *task)
|
||||
{
|
||||
task->data[4] = CreateSlidingLogoCircleSprite(120, -51, 0, 0, 0, 2, 0);
|
||||
task->data[5] = CreateSlidingLogoCircleSprite(-7, 193, 0, 0, 2, -2, 1);
|
||||
task->data[6] = CreateSlidingLogoCircleSprite(247, 193, 0, 0, -2, -2, 2);
|
||||
task->tCircle1SpriteId = CreateSlidingLogoCircleSprite(120, -51, 0, 0, 0, 2, 0);
|
||||
task->tCircle2SpriteId = CreateSlidingLogoCircleSprite(-7, 193, 0, 0, 2, -2, 1);
|
||||
task->tCircle3SpriteId = CreateSlidingLogoCircleSprite(247, 193, 0, 0, -2, -2, 2);
|
||||
|
||||
task->tState++;
|
||||
return FALSE;
|
||||
@ -421,22 +445,22 @@ static bool8 CirclesMeet_End(struct Task *task)
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
DestroyLogoCirclesGfx(task);
|
||||
DestroyTask(FindTaskIdByFunc(Phase2Task_FrontierCirclesMeet));
|
||||
DestroyTask(FindTaskIdByFunc(Task_FrontierCirclesMeet));
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void Phase2Task_FrontierCirclesCross(u8 taskId)
|
||||
void Task_FrontierCirclesCross(u8 taskId)
|
||||
{
|
||||
while (sPhase2_FrontierCirclesCross_Funcs[gTasks[taskId].tState](&gTasks[taskId]));
|
||||
while (sFrontierCirclesCross_Funcs[gTasks[taskId].tState](&gTasks[taskId]));
|
||||
}
|
||||
|
||||
static bool8 CirclesCross_CreateSprites(struct Task *task)
|
||||
{
|
||||
task->data[4] = CreateSlidingLogoCircleSprite(120, 197, 0, 0, 0, -4, 0);
|
||||
task->data[5] = CreateSlidingLogoCircleSprite(241, 59, 0, 1, -4, 2, 1);
|
||||
task->data[6] = CreateSlidingLogoCircleSprite(-1, 59, 0, 1, 4, 2, 2);
|
||||
task->tCircle1SpriteId = CreateSlidingLogoCircleSprite(120, 197, 0, 0, 0, -4, 0);
|
||||
task->tCircle2SpriteId = CreateSlidingLogoCircleSprite(241, 59, 0, 1, -4, 2, 1);
|
||||
task->tCircle3SpriteId = CreateSlidingLogoCircleSprite(-1, 59, 0, 1, 4, 2, 2);
|
||||
|
||||
task->tState++;
|
||||
return FALSE;
|
||||
@ -447,22 +471,22 @@ static bool8 CirclesCross_End(struct Task *task)
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
DestroyLogoCirclesGfx(task);
|
||||
DestroyTask(FindTaskIdByFunc(Phase2Task_FrontierCirclesCross));
|
||||
DestroyTask(FindTaskIdByFunc(Task_FrontierCirclesCross));
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void Phase2Task_FrontierCirclesAsymmetricSpiral(u8 taskId)
|
||||
void Task_FrontierCirclesAsymmetricSpiral(u8 taskId)
|
||||
{
|
||||
while (sPhase2_FrontierCirclesAsymmetricSpiral_Funcs[gTasks[taskId].tState](&gTasks[taskId]));
|
||||
while (sFrontierCirclesAsymmetricSpiral_Funcs[gTasks[taskId].tState](&gTasks[taskId]));
|
||||
}
|
||||
|
||||
static bool8 CirclesAsymmetricSpiral_CreateSprites(struct Task *task)
|
||||
{
|
||||
task->data[4] = CreateSpiralingLogoCircleSprite(120, 45, 12, 4, 128, 0, -4, 0);
|
||||
task->data[5] = CreateSpiralingLogoCircleSprite(89, 97, 252, 4, 128, 0, -4, 1);
|
||||
task->data[6] = CreateSpiralingLogoCircleSprite(151, 97, 132, 4, 128, 0, -4, 2);
|
||||
task->tCircle1SpriteId = CreateSpiralingLogoCircleSprite(120, 45, 12, 4, 128, 0, -4, 0);
|
||||
task->tCircle2SpriteId = CreateSpiralingLogoCircleSprite(89, 97, 252, 4, 128, 0, -4, 1);
|
||||
task->tCircle3SpriteId = CreateSpiralingLogoCircleSprite(151, 97, 132, 4, 128, 0, -4, 2);
|
||||
|
||||
task->tState++;
|
||||
return FALSE;
|
||||
@ -473,22 +497,22 @@ static bool8 CirclesAsymmetricSpiral_End(struct Task *task)
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
DestroyLogoCirclesGfx(task);
|
||||
DestroyTask(FindTaskIdByFunc(Phase2Task_FrontierCirclesAsymmetricSpiral));
|
||||
DestroyTask(FindTaskIdByFunc(Task_FrontierCirclesAsymmetricSpiral));
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void Phase2Task_FrontierCirclesSymmetricSpiral(u8 taskId)
|
||||
void Task_FrontierCirclesSymmetricSpiral(u8 taskId)
|
||||
{
|
||||
while (sPhase2_FrontierCirclesSymmetricSpiral_Funcs[gTasks[taskId].tState](&gTasks[taskId]));
|
||||
while (sFrontierCirclesSymmetricSpiral_Funcs[gTasks[taskId].tState](&gTasks[taskId]));
|
||||
}
|
||||
|
||||
static bool8 CirclesSymmetricSpiral_CreateSprites(struct Task *task)
|
||||
{
|
||||
task->data[4] = CreateSpiralingLogoCircleSprite(120, 80, 284, 8, 131, 35, -3, 0);
|
||||
task->data[5] = CreateSpiralingLogoCircleSprite(120, 80, 44, 8, 131, 35, -3, 1);
|
||||
task->data[6] = CreateSpiralingLogoCircleSprite(121, 80, 164, 8, 131, 35, -3, 2);
|
||||
task->tCircle1SpriteId = CreateSpiralingLogoCircleSprite(120, 80, 284, 8, 131, 35, -3, 0);
|
||||
task->tCircle2SpriteId = CreateSpiralingLogoCircleSprite(120, 80, 44, 8, 131, 35, -3, 1);
|
||||
task->tCircle3SpriteId = CreateSpiralingLogoCircleSprite(121, 80, 164, 8, 131, 35, -3, 2);
|
||||
|
||||
task->tState++;
|
||||
return FALSE;
|
||||
@ -499,34 +523,34 @@ static bool8 CirclesSymmetricSpiral_End(struct Task *task)
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
DestroyLogoCirclesGfx(task);
|
||||
DestroyTask(FindTaskIdByFunc(Phase2Task_FrontierCirclesSymmetricSpiral));
|
||||
DestroyTask(FindTaskIdByFunc(Task_FrontierCirclesSymmetricSpiral));
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void Phase2Task_FrontierCirclesMeetInSeq(u8 taskId)
|
||||
void Task_FrontierCirclesMeetInSeq(u8 taskId)
|
||||
{
|
||||
while (sPhase2_FrontierCirclesMeetInSeq_Funcs[gTasks[taskId].tState](&gTasks[taskId]));
|
||||
while (sFrontierCirclesMeetInSeq_Funcs[gTasks[taskId].tState](&gTasks[taskId]));
|
||||
}
|
||||
|
||||
static bool8 CirclesMeetInSeq_CreateSprites(struct Task *task)
|
||||
{
|
||||
if (task->data[1] == 0)
|
||||
if (task->tTimer == 0)
|
||||
{
|
||||
task->data[4] = CreateSlidingLogoCircleSprite(120, -51, 0, 0, 0, 4, 0);
|
||||
task->tCircle1SpriteId = CreateSlidingLogoCircleSprite(120, -51, 0, 0, 0, 4, 0);
|
||||
}
|
||||
else if (task->data[1] == 16)
|
||||
else if (task->tTimer == 16)
|
||||
{
|
||||
task->data[5] = CreateSlidingLogoCircleSprite(-7, 193, 0, 0, 4, -4, 1);
|
||||
task->tCircle2SpriteId = CreateSlidingLogoCircleSprite(-7, 193, 0, 0, 4, -4, 1);
|
||||
}
|
||||
else if (task->data[1] == 32)
|
||||
else if (task->tTimer == 32)
|
||||
{
|
||||
task->data[6] = CreateSlidingLogoCircleSprite(247, 193, 0, 0, -4, -4, 2);
|
||||
task->tCircle3SpriteId = CreateSlidingLogoCircleSprite(247, 193, 0, 0, -4, -4, 2);
|
||||
task->tState++;
|
||||
}
|
||||
|
||||
task->data[1]++;
|
||||
task->tTimer++;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -535,34 +559,34 @@ static bool8 CirclesMeetInSeq_End(struct Task *task)
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
DestroyLogoCirclesGfx(task);
|
||||
DestroyTask(FindTaskIdByFunc(Phase2Task_FrontierCirclesMeetInSeq));
|
||||
DestroyTask(FindTaskIdByFunc(Task_FrontierCirclesMeetInSeq));
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void Phase2Task_FrontierCirclesCrossInSeq(u8 taskId)
|
||||
void Task_FrontierCirclesCrossInSeq(u8 taskId)
|
||||
{
|
||||
while (sPhase2_FrontierCirclesCrossInSeq_Funcs[gTasks[taskId].tState](&gTasks[taskId]));
|
||||
while (sFrontierCirclesCrossInSeq_Funcs[gTasks[taskId].tState](&gTasks[taskId]));
|
||||
}
|
||||
|
||||
static bool8 CirclesCrossInSeq_CreateSprites(struct Task *task)
|
||||
{
|
||||
if (task->data[1] == 0)
|
||||
if (task->tTimer == 0)
|
||||
{
|
||||
task->data[4] = CreateSlidingLogoCircleSprite(120, 197, 0, 0, 0, -8, 0);
|
||||
task->tCircle1SpriteId = CreateSlidingLogoCircleSprite(120, 197, 0, 0, 0, -8, 0);
|
||||
}
|
||||
else if (task->data[1] == 16)
|
||||
else if (task->tTimer == 16)
|
||||
{
|
||||
task->data[5] = CreateSlidingLogoCircleSprite(241, 78, 0, 0, -8, 1, 1);
|
||||
task->tCircle2SpriteId = CreateSlidingLogoCircleSprite(241, 78, 0, 0, -8, 1, 1);
|
||||
}
|
||||
else if (task->data[1] == 32)
|
||||
else if (task->tTimer == 32)
|
||||
{
|
||||
task->data[6] = CreateSlidingLogoCircleSprite(-1, 78, 0, 0, 8, 1, 2);
|
||||
task->tCircle3SpriteId = CreateSlidingLogoCircleSprite(-1, 78, 0, 0, 8, 1, 2);
|
||||
task->tState++;
|
||||
}
|
||||
|
||||
task->data[1]++;
|
||||
task->tTimer++;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -571,34 +595,34 @@ static bool8 CirclesCrossInSeq_End(struct Task *task)
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
DestroyLogoCirclesGfx(task);
|
||||
DestroyTask(FindTaskIdByFunc(Phase2Task_FrontierCirclesCrossInSeq));
|
||||
DestroyTask(FindTaskIdByFunc(Task_FrontierCirclesCrossInSeq));
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void Phase2Task_FrontierCirclesAsymmetricSpiralInSeq(u8 taskId)
|
||||
void Task_FrontierCirclesAsymmetricSpiralInSeq(u8 taskId)
|
||||
{
|
||||
while (sPhase2_FrontierCirclesAsymmetricSpiralInSeq_Funcs[gTasks[taskId].tState](&gTasks[taskId]));
|
||||
while (sFrontierCirclesAsymmetricSpiralInSeq_Funcs[gTasks[taskId].tState](&gTasks[taskId]));
|
||||
}
|
||||
|
||||
static bool8 CirclesAsymmetricSpiralInSeq_CreateSprites(struct Task *task)
|
||||
{
|
||||
if (task->data[1] == 0)
|
||||
if (task->tTimer == 0)
|
||||
{
|
||||
task->data[4] = CreateSpiralingLogoCircleSprite(120, 45, 12, 4, 128, 0, -4, 0);
|
||||
task->tCircle1SpriteId = CreateSpiralingLogoCircleSprite(120, 45, 12, 4, 128, 0, -4, 0);
|
||||
}
|
||||
else if (task->data[1] == 16)
|
||||
else if (task->tTimer == 16)
|
||||
{
|
||||
task->data[5] = CreateSpiralingLogoCircleSprite(89, 97, 252, 4, 128, 0, -4, 1);
|
||||
task->tCircle2SpriteId = CreateSpiralingLogoCircleSprite(89, 97, 252, 4, 128, 0, -4, 1);
|
||||
}
|
||||
else if (task->data[1] == 32)
|
||||
else if (task->tTimer == 32)
|
||||
{
|
||||
task->data[6] = CreateSpiralingLogoCircleSprite(151, 97, 132, 4, 128, 0, -4, 2);
|
||||
task->tCircle3SpriteId = CreateSpiralingLogoCircleSprite(151, 97, 132, 4, 128, 0, -4, 2);
|
||||
task->tState++;
|
||||
}
|
||||
|
||||
task->data[1]++;
|
||||
task->tTimer++;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -607,34 +631,34 @@ static bool8 CirclesAsymmetricSpiralInSeq_End(struct Task *task)
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
DestroyLogoCirclesGfx(task);
|
||||
DestroyTask(FindTaskIdByFunc(Phase2Task_FrontierCirclesAsymmetricSpiralInSeq));
|
||||
DestroyTask(FindTaskIdByFunc(Task_FrontierCirclesAsymmetricSpiralInSeq));
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void Phase2Task_FrontierCirclesSymmetricSpiralInSeq(u8 taskId)
|
||||
void Task_FrontierCirclesSymmetricSpiralInSeq(u8 taskId)
|
||||
{
|
||||
while (sPhase2_FrontierCirclesSymmetricSpiralInSeq_Funcs[gTasks[taskId].tState](&gTasks[taskId]));
|
||||
while (sFrontierCirclesSymmetricSpiralInSeq_Funcs[gTasks[taskId].tState](&gTasks[taskId]));
|
||||
}
|
||||
|
||||
static bool8 CirclesSymmetricSpiralInSeq_CreateSprites(struct Task *task)
|
||||
{
|
||||
if (task->data[1] == 0)
|
||||
if (task->tTimer == 0)
|
||||
{
|
||||
task->data[4] = CreateSpiralingLogoCircleSprite(120, 80, 284, 8, 131, 35, -3, 0);
|
||||
task->tCircle1SpriteId = CreateSpiralingLogoCircleSprite(120, 80, 284, 8, 131, 35, -3, 0);
|
||||
}
|
||||
else if (task->data[1] == 16)
|
||||
else if (task->tTimer == 16)
|
||||
{
|
||||
task->data[5] = CreateSpiralingLogoCircleSprite(120, 80, 44, 8, 131, 35, -3, 1);
|
||||
task->tCircle2SpriteId = CreateSpiralingLogoCircleSprite(120, 80, 44, 8, 131, 35, -3, 1);
|
||||
}
|
||||
else if (task->data[1] == 32)
|
||||
else if (task->tTimer == 32)
|
||||
{
|
||||
task->data[6] = CreateSpiralingLogoCircleSprite(121, 80, 164, 8, 131, 35, -3, 2);
|
||||
task->tCircle3SpriteId = CreateSpiralingLogoCircleSprite(121, 80, 164, 8, 131, 35, -3, 2);
|
||||
task->tState++;
|
||||
}
|
||||
|
||||
task->data[1]++;
|
||||
task->tTimer++;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -643,7 +667,7 @@ static bool8 CirclesSymmetricSpiralInSeq_End(struct Task *task)
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
DestroyLogoCirclesGfx(task);
|
||||
DestroyTask(FindTaskIdByFunc(Phase2Task_FrontierCirclesSymmetricSpiralInSeq));
|
||||
DestroyTask(FindTaskIdByFunc(Task_FrontierCirclesSymmetricSpiralInSeq));
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
|
||||
@ -1608,7 +1608,7 @@ static void PrintPlayerNames(void)
|
||||
|
||||
text[0] = EOS;
|
||||
StringCopy(text, gLinkPlayers[sBerryBlender->arrowIdToPlayerId[i]].name);
|
||||
xPos = GetStringCenterAlignXOffset(1, text, 0x38);
|
||||
xPos = GetStringCenterAlignXOffset(FONT_NORMAL, text, 0x38);
|
||||
|
||||
if (playerId == sBerryBlender->arrowIdToPlayerId[i])
|
||||
Blender_AddTextPrinter(i, text, xPos, 1, 0, 2); // Highlight player's name in red
|
||||
@ -3494,7 +3494,7 @@ static bool8 PrintBlendingResults(void)
|
||||
u16 minutes, seconds;
|
||||
u8 *txtPtr;
|
||||
|
||||
xPos = GetStringCenterAlignXOffset(1, sText_BlendingResults, 0xA8);
|
||||
xPos = GetStringCenterAlignXOffset(FONT_NORMAL, sText_BlendingResults, 0xA8);
|
||||
Blender_AddTextPrinter(5, sText_BlendingResults, xPos, 1, TEXT_SPEED_FF, 0);
|
||||
|
||||
if (sBerryBlender->numPlayers == BLENDER_MAX_PLAYERS)
|
||||
@ -3526,7 +3526,7 @@ static bool8 PrintBlendingResults(void)
|
||||
StringAppend(sBerryBlender->stringVar, text);
|
||||
StringAppend(sBerryBlender->stringVar, sText_RPM);
|
||||
|
||||
xPos = GetStringRightAlignXOffset(1, sBerryBlender->stringVar, 0xA8);
|
||||
xPos = GetStringRightAlignXOffset(FONT_NORMAL, sBerryBlender->stringVar, 0xA8);
|
||||
Blender_AddTextPrinter(5, sBerryBlender->stringVar, xPos, 0x51, TEXT_SPEED_FF, 3);
|
||||
Blender_AddTextPrinter(5, sText_Time, 0, 0x61, TEXT_SPEED_FF, 3);
|
||||
|
||||
@ -3539,7 +3539,7 @@ static bool8 PrintBlendingResults(void)
|
||||
ConvertIntToDecimalStringN(txtPtr, seconds, STR_CONV_MODE_LEADING_ZEROS, 2);
|
||||
StringAppend(sBerryBlender->stringVar, sText_Sec);
|
||||
|
||||
xPos = GetStringRightAlignXOffset(1, sBerryBlender->stringVar, 0xA8);
|
||||
xPos = GetStringRightAlignXOffset(FONT_NORMAL, sBerryBlender->stringVar, 0xA8);
|
||||
Blender_AddTextPrinter(5, sBerryBlender->stringVar, xPos, 0x61, TEXT_SPEED_FF, 3);
|
||||
|
||||
sBerryBlender->framesToWait = 0;
|
||||
@ -3693,7 +3693,7 @@ static bool8 PrintBlendingRanking(void)
|
||||
break;
|
||||
case 3:
|
||||
DrawStdFrameWithCustomTileAndPalette(5, 0, 1, 0xD);
|
||||
xPos = GetStringCenterAlignXOffset(1, sText_Ranking, 168);
|
||||
xPos = GetStringCenterAlignXOffset(FONT_NORMAL, sText_Ranking, 168);
|
||||
Blender_AddTextPrinter(5, sText_Ranking, xPos, 1, TEXT_SPEED_FF, 0);
|
||||
|
||||
sBerryBlender->scoreIconIds[SCORE_BEST] = CreateSprite(&sSpriteTemplate_ScoreSymbols, 128, 52, 0);
|
||||
@ -3767,9 +3767,9 @@ void ShowBerryBlenderRecordWindow(void)
|
||||
DrawStdWindowFrame(gRecordsWindowId, 0);
|
||||
FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1));
|
||||
|
||||
xPos = GetStringCenterAlignXOffset(1, gText_BlenderMaxSpeedRecord, 144);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gText_BlenderMaxSpeedRecord, xPos, 1, 0, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gText_234Players, 4, 41, 0, NULL);
|
||||
xPos = GetStringCenterAlignXOffset(FONT_NORMAL, gText_BlenderMaxSpeedRecord, 144);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_BlenderMaxSpeedRecord, xPos, 1, 0, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_234Players, 4, 41, 0, NULL);
|
||||
|
||||
for (i = 0, yPos = 41; i < NUM_SCORE_TYPES; i++)
|
||||
{
|
||||
@ -3783,8 +3783,8 @@ void ShowBerryBlenderRecordWindow(void)
|
||||
txtPtr = ConvertIntToDecimalStringN(txtPtr, record % 100, STR_CONV_MODE_LEADING_ZEROS, 2);
|
||||
txtPtr = StringAppend(txtPtr, sText_RPM);
|
||||
|
||||
xPos = GetStringRightAlignXOffset(1, text, 140);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, text, xPos, yPos + (i * 16), 0, NULL);
|
||||
xPos = GetStringRightAlignXOffset(FONT_NORMAL, text, 140);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, text, xPos, yPos + (i * 16), 0, NULL);
|
||||
}
|
||||
|
||||
PutWindowTilemap(gRecordsWindowId);
|
||||
@ -3879,7 +3879,7 @@ static void Blender_AddTextPrinter(u8 windowId, const u8 *string, u8 x, u8 y, s3
|
||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(txtColor[0]));
|
||||
}
|
||||
|
||||
AddTextPrinterParameterized4(windowId, 1, x, y, letterSpacing, 1, txtColor, speed, string);
|
||||
AddTextPrinterParameterized4(windowId, FONT_NORMAL, x, y, letterSpacing, 1, txtColor, speed, string);
|
||||
}
|
||||
|
||||
static bool32 Blender_PrintText(s16 *textState, const u8 *string, s32 textSpeed)
|
||||
|
||||
@ -1591,8 +1591,8 @@ static void FramesToMinSec(struct BerryCrushGame_Gfx *gfx, u16 frames)
|
||||
|
||||
static void PrintTextCentered(u8 windowId, u8 left, u8 colorId, const u8 *string)
|
||||
{
|
||||
left = (left * 4) - (GetStringWidth(2, string, -1) / 2u);
|
||||
AddTextPrinterParameterized3(windowId, 2, left, 0, sTextColorTable[colorId], 0, string);
|
||||
left = (left * 4) - (GetStringWidth(FONT_SHORT, string, -1) / 2u);
|
||||
AddTextPrinterParameterized3(windowId, FONT_SHORT, left, 0, sTextColorTable[colorId], 0, string);
|
||||
}
|
||||
|
||||
static void PrintResultsText(struct BerryCrushGame * game, u8 page, u8 sp14, u8 baseY)
|
||||
@ -1652,8 +1652,8 @@ static void PrintResultsText(struct BerryCrushGame * game, u8 page, u8 sp14, u8
|
||||
StringExpandPlaceholders(gStringVar4, sResultsTexts[page]);
|
||||
break;
|
||||
}
|
||||
x = GetStringRightAlignXOffset(2, gStringVar4, sp14 - 4);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GRAY], 0, gStringVar4);
|
||||
x = GetStringRightAlignXOffset(FONT_SHORT, gStringVar4, sp14 - 4);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, FONT_SHORT, x, y, sTextColorTable[COLORID_GRAY], 0, gStringVar4);
|
||||
if (playerId == game->localId)
|
||||
StringCopy(gStringVar3, gText_1DotBlueF700);
|
||||
else
|
||||
@ -1661,7 +1661,7 @@ static void PrintResultsText(struct BerryCrushGame * game, u8 page, u8 sp14, u8
|
||||
gStringVar3[0] = ranking + CHAR_1;
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, game->players[playerId].name);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gStringVar3);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, 4, y, sTextColorTable[COLORID_GRAY], 0, gStringVar4);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, FONT_SHORT, 4, y, sTextColorTable[COLORID_GRAY], 0, gStringVar4);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1676,34 +1676,34 @@ static void PrintCrushingResults(struct BerryCrushGame *game)
|
||||
FramesToMinSec(&game->gfx, results->time);
|
||||
|
||||
// Print time text
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GRAY], 0, gText_TimeColon);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, FONT_SHORT, x, y, sTextColorTable[COLORID_GRAY], 0, gText_TimeColon);
|
||||
|
||||
// Print seconds text
|
||||
x = 176 - (u8)GetStringWidth(2, gText_SpaceSec, -1);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GRAY], 0, gText_SpaceSec);
|
||||
x = 176 - (u8)GetStringWidth(FONT_SHORT, gText_SpaceSec, -1);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, FONT_SHORT, x, y, sTextColorTable[COLORID_GRAY], 0, gText_SpaceSec);
|
||||
|
||||
// Print seconds value
|
||||
ConvertIntToDecimalStringN(gStringVar1, game->gfx.secondsInt, STR_CONV_MODE_LEADING_ZEROS, 2);
|
||||
ConvertIntToDecimalStringN(gStringVar2, game->gfx.secondsFrac, STR_CONV_MODE_LEADING_ZEROS, 2);
|
||||
StringExpandPlaceholders(gStringVar4, gText_XDotY2);
|
||||
x -= GetStringWidth(2, gStringVar4, -1);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GRAY], 0, gStringVar4);
|
||||
x -= GetStringWidth(FONT_SHORT, gStringVar4, -1);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, FONT_SHORT, x, y, sTextColorTable[COLORID_GRAY], 0, gStringVar4);
|
||||
|
||||
// Print minutes text
|
||||
x -= GetStringWidth(2, gText_SpaceMin, -1);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GRAY], 0, gText_SpaceMin);
|
||||
x -= GetStringWidth(FONT_SHORT, gText_SpaceMin, -1);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, FONT_SHORT, x, y, sTextColorTable[COLORID_GRAY], 0, gText_SpaceMin);
|
||||
|
||||
// Print minutes value
|
||||
ConvertIntToDecimalStringN(gStringVar1, game->gfx.minutes, STR_CONV_MODE_LEADING_ZEROS, 1);
|
||||
StringExpandPlaceholders(gStringVar4, gText_StrVar1);
|
||||
x -= GetStringWidth(2, gStringVar4, -1);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GRAY], 0, gStringVar4);
|
||||
x -= GetStringWidth(FONT_SHORT, gStringVar4, -1);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, FONT_SHORT, x, y, sTextColorTable[COLORID_GRAY], 0, gStringVar4);
|
||||
|
||||
// Print pressing speed text
|
||||
y += 14;
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, 0, y, sTextColorTable[COLORID_GRAY], 0, gText_PressingSpeed);
|
||||
x = 176 - (u8)GetStringWidth(2, gText_TimesPerSec, -1);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GRAY], 0, gText_TimesPerSec);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, FONT_SHORT, 0, y, sTextColorTable[COLORID_GRAY], 0, gText_PressingSpeed);
|
||||
x = 176 - (u8)GetStringWidth(FONT_SHORT, gText_TimesPerSec, -1);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, FONT_SHORT, x, y, sTextColorTable[COLORID_GRAY], 0, gText_TimesPerSec);
|
||||
|
||||
// Print pressing speed value
|
||||
for (i = 0; i < 8; i++)
|
||||
@ -1712,21 +1712,21 @@ static void PrintCrushingResults(struct BerryCrushGame *game)
|
||||
ConvertIntToDecimalStringN(gStringVar1, game->pressingSpeed >> 8, STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||
ConvertIntToDecimalStringN(gStringVar2, pressingSpeedFrac / 1000000, STR_CONV_MODE_LEADING_ZEROS, 2);
|
||||
StringExpandPlaceholders(gStringVar4, gText_XDotY3);
|
||||
x -= GetStringWidth(2, gStringVar4, -1);
|
||||
x -= GetStringWidth(FONT_SHORT, gStringVar4, -1);
|
||||
if (game->newRecord)
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_RED], 0, gStringVar4);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, FONT_SHORT, x, y, sTextColorTable[COLORID_RED], 0, gStringVar4);
|
||||
else
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GRAY], 0, gStringVar4);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, FONT_SHORT, x, y, sTextColorTable[COLORID_GRAY], 0, gStringVar4);
|
||||
|
||||
// Print silkiness text
|
||||
y += 14;
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, 0, y, sTextColorTable[COLORID_GRAY], 0, gText_Silkiness);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, FONT_SHORT, 0, y, sTextColorTable[COLORID_GRAY], 0, gText_Silkiness);
|
||||
|
||||
// Print silkiness value
|
||||
ConvertIntToDecimalStringN(gStringVar1, results->silkiness, STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||
StringExpandPlaceholders(gStringVar4, gText_Var1Percent);
|
||||
x = 176 - (u8)GetStringWidth(2, gStringVar4, -1);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GRAY], 0, gStringVar4);
|
||||
x = 176 - (u8)GetStringWidth(FONT_SHORT, gStringVar4, -1);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, FONT_SHORT, x, y, sTextColorTable[COLORID_GRAY], 0, gStringVar4);
|
||||
}
|
||||
|
||||
static bool32 OpenResultsWindow(struct BerryCrushGame *game, struct BerryCrushGame_Gfx *gfx)
|
||||
@ -1814,10 +1814,10 @@ static void Task_ShowRankings(u8 taskId)
|
||||
break;
|
||||
case 1:
|
||||
// Print header text
|
||||
xPos = 96 - GetStringWidth(1, gText_BerryCrush2, -1) / 2u;
|
||||
AddTextPrinterParameterized3(tWindowId, 1, xPos, 1, sTextColorTable[COLORID_BLUE], 0, gText_BerryCrush2);
|
||||
xPos = 96 - GetStringWidth(1, gText_PressingSpeedRankings, -1) / 2u;
|
||||
AddTextPrinterParameterized3(tWindowId, 1, xPos, 17, sTextColorTable[COLORID_BLUE], 0, gText_PressingSpeedRankings);
|
||||
xPos = 96 - GetStringWidth(FONT_NORMAL, gText_BerryCrush2, -1) / 2u;
|
||||
AddTextPrinterParameterized3(tWindowId, FONT_NORMAL, xPos, 1, sTextColorTable[COLORID_BLUE], 0, gText_BerryCrush2);
|
||||
xPos = 96 - GetStringWidth(FONT_NORMAL, gText_PressingSpeedRankings, -1) / 2u;
|
||||
AddTextPrinterParameterized3(tWindowId, FONT_NORMAL, xPos, 17, sTextColorTable[COLORID_BLUE], 0, gText_PressingSpeedRankings);
|
||||
|
||||
// Print pressing speed record for each group size, ranked
|
||||
yPos = 41;
|
||||
@ -1825,9 +1825,9 @@ static void Task_ShowRankings(u8 taskId)
|
||||
{
|
||||
ConvertIntToDecimalStringN(gStringVar1, i + 2, STR_CONV_MODE_LEFT_ALIGN, 1);
|
||||
StringExpandPlaceholders(gStringVar4, gText_Var1Players);
|
||||
AddTextPrinterParameterized3(tWindowId, 1, 0, yPos, sTextColorTable[COLORID_GRAY], 0, gStringVar4);
|
||||
xPos = 192 - (u8)GetStringWidth(1, gText_TimesPerSec, -1);
|
||||
AddTextPrinterParameterized3(tWindowId, 1, xPos, yPos, sTextColorTable[COLORID_GRAY], 0, gText_TimesPerSec);
|
||||
AddTextPrinterParameterized3(tWindowId, FONT_NORMAL, 0, yPos, sTextColorTable[COLORID_GRAY], 0, gStringVar4);
|
||||
xPos = 192 - (u8)GetStringWidth(FONT_NORMAL, gText_TimesPerSec, -1);
|
||||
AddTextPrinterParameterized3(tWindowId, FONT_NORMAL, xPos, yPos, sTextColorTable[COLORID_GRAY], 0, gText_TimesPerSec);
|
||||
for (j = 0; j < 8; j++)
|
||||
{
|
||||
if (((tPressingSpeeds(i) & 0xFF) >> (7 - j)) & 1)
|
||||
@ -1836,8 +1836,8 @@ static void Task_ShowRankings(u8 taskId)
|
||||
ConvertIntToDecimalStringN(gStringVar1, (u16)tPressingSpeeds(i) >> 8, STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||
ConvertIntToDecimalStringN(gStringVar2, score / 1000000, STR_CONV_MODE_LEADING_ZEROS, 2);
|
||||
StringExpandPlaceholders(gStringVar4, gText_XDotY3);
|
||||
xPos -= GetStringWidth(1, gStringVar4, -1);
|
||||
AddTextPrinterParameterized3(tWindowId, 1, xPos, yPos, sTextColorTable[COLORID_GRAY], 0, gStringVar4);
|
||||
xPos -= GetStringWidth(FONT_NORMAL, gStringVar4, -1);
|
||||
AddTextPrinterParameterized3(tWindowId, FONT_NORMAL, xPos, yPos, sTextColorTable[COLORID_GRAY], 0, gStringVar4);
|
||||
yPos += 16;
|
||||
score = 0;
|
||||
}
|
||||
@ -1913,8 +1913,8 @@ static void DrawPlayerNameWindows(struct BerryCrushGame *game)
|
||||
// Print the player's name
|
||||
AddTextPrinterParameterized4(
|
||||
game->gfx.nameWindowIds[i],
|
||||
2,
|
||||
36 - GetStringWidth(2, game->players[i].name, 0) / 2u,
|
||||
FONT_SHORT,
|
||||
36 - GetStringWidth(FONT_SHORT, game->players[i].name, 0) / 2u,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
@ -1928,8 +1928,8 @@ static void DrawPlayerNameWindows(struct BerryCrushGame *game)
|
||||
// Print a partner's name
|
||||
AddTextPrinterParameterized4(
|
||||
game->gfx.nameWindowIds[i],
|
||||
2,
|
||||
36 - GetStringWidth(2, game->players[i].name, 0) / 2u,
|
||||
FONT_SHORT,
|
||||
36 - GetStringWidth(FONT_SHORT, game->players[i].name, 0) / 2u,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
@ -2258,11 +2258,11 @@ static u32 Cmd_PrintMessage(struct BerryCrushGame *game, u8 *args)
|
||||
if (args[1] & F_MSG_EXPAND)
|
||||
{
|
||||
StringExpandPlaceholders(gStringVar4, sMessages[args[0]]);
|
||||
AddTextPrinterParameterized2(0, 1, gStringVar4, game->textSpeed, 0, 2, 1, 3);
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, gStringVar4, game->textSpeed, 0, 2, 1, 3);
|
||||
}
|
||||
else
|
||||
{
|
||||
AddTextPrinterParameterized2(0, 1, sMessages[args[0]], game->textSpeed, 0, 2, 1, 3);
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, sMessages[args[0]], game->textSpeed, 0, 2, 1, 3);
|
||||
}
|
||||
CopyWindowToVram(0, 3);
|
||||
break;
|
||||
@ -3242,7 +3242,7 @@ static u32 Cmd_SaveGame(struct BerryCrushGame *game, u8 *args)
|
||||
if (!IsLinkTaskFinished())
|
||||
return 0;
|
||||
DrawDialogueFrame(0, 0);
|
||||
AddTextPrinterParameterized2(0, 1, gText_SavingDontTurnOffPower, 0, 0, 2, 1, 3);
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, gText_SavingDontTurnOffPower, 0, 0, 2, 1, 3);
|
||||
CopyWindowToVram(0, 3);
|
||||
CreateTask(Task_LinkSave, 0);
|
||||
break;
|
||||
@ -3391,9 +3391,9 @@ static u32 Cmd_StopGame(struct BerryCrushGame *game, u8 *args)
|
||||
case 0:
|
||||
DrawDialogueFrame(0, 0);
|
||||
if (game->playAgainState == PLAY_AGAIN_NO_BERRIES)
|
||||
AddTextPrinterParameterized2(0, 1, sMessages[MSG_NO_BERRIES], game->textSpeed, 0, 2, 1, 3);
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, sMessages[MSG_NO_BERRIES], game->textSpeed, 0, 2, 1, 3);
|
||||
else
|
||||
AddTextPrinterParameterized2(0, 1, sMessages[MSG_DROPPED], game->textSpeed, 0, 2, 1, 3);
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, sMessages[MSG_DROPPED], game->textSpeed, 0, 2, 1, 3);
|
||||
CopyWindowToVram(0, 3);
|
||||
break;
|
||||
case 1:
|
||||
|
||||
@ -303,21 +303,21 @@ static void BerryFix_GpuSet(void)
|
||||
FillWindowPixelBuffer(3, PIXEL_FILL(0));
|
||||
FillWindowPixelBuffer(0, PIXEL_FILL(10));
|
||||
|
||||
width = GetStringWidth(0, sText_Emerald, 0);
|
||||
width = GetStringWidth(FONT_SMALL, sText_Emerald, 0);
|
||||
left = (120 - width) / 2;
|
||||
AddTextPrinterParameterized3(2, 0, left, 3, sGameTitleTextColors, TEXT_SPEED_FF, sText_Emerald);
|
||||
AddTextPrinterParameterized3(2, FONT_SMALL, left, 3, sGameTitleTextColors, TEXT_SPEED_FF, sText_Emerald);
|
||||
|
||||
width = GetStringWidth(0, sText_RubySapphire, 0);
|
||||
width = GetStringWidth(FONT_SMALL, sText_RubySapphire, 0);
|
||||
left = (120 - width) / 2 + 120;
|
||||
AddTextPrinterParameterized3(2, 0, left, 3, sGameTitleTextColors, TEXT_SPEED_FF, sText_RubySapphire);
|
||||
AddTextPrinterParameterized3(2, FONT_SMALL, left, 3, sGameTitleTextColors, TEXT_SPEED_FF, sText_RubySapphire);
|
||||
|
||||
width = GetStringWidth(0, sText_RubySapphire, 0);
|
||||
width = GetStringWidth(FONT_SMALL, sText_RubySapphire, 0);
|
||||
left = (112 - width) / 2;
|
||||
AddTextPrinterParameterized3(3, 0, left, 0, sGameTitleTextColors, TEXT_SPEED_FF, sText_RubySapphire);
|
||||
AddTextPrinterParameterized3(3, FONT_SMALL, left, 0, sGameTitleTextColors, TEXT_SPEED_FF, sText_RubySapphire);
|
||||
|
||||
width = GetStringWidth(1, sText_BerryProgramUpdate, 0);
|
||||
width = GetStringWidth(FONT_NORMAL, sText_BerryProgramUpdate, 0);
|
||||
left = (208 - width) / 2;
|
||||
AddTextPrinterParameterized3(0, 1, left, 2, sBerryProgramTextColors, TEXT_SPEED_FF, sText_BerryProgramUpdate);
|
||||
AddTextPrinterParameterized3(0, FONT_NORMAL, left, 2, sBerryProgramTextColors, TEXT_SPEED_FF, sText_BerryProgramUpdate);
|
||||
|
||||
CopyWindowToVram(2, 2);
|
||||
CopyWindowToVram(3, 2);
|
||||
@ -346,7 +346,7 @@ static void BerryFix_SetScene(int scene)
|
||||
{
|
||||
FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32);
|
||||
FillWindowPixelBuffer(1, PIXEL_FILL(10));
|
||||
AddTextPrinterParameterized3(1, 1, 0, 0, sBerryProgramTextColors, -1, sBerryProgramTexts[scene]);
|
||||
AddTextPrinterParameterized3(1, FONT_NORMAL, 0, 0, sBerryProgramTextColors, -1, sBerryProgramTexts[scene]);
|
||||
PutWindowTilemap(1);
|
||||
CopyWindowToVram(1, 2);
|
||||
switch (scene)
|
||||
|
||||
@ -205,13 +205,13 @@ u32 GetBerryPowder(void)
|
||||
static void PrintBerryPowderAmount(u8 windowId, int amount, u8 x, u8 y, u8 speed)
|
||||
{
|
||||
ConvertIntToDecimalStringN(gStringVar1, amount, STR_CONV_MODE_RIGHT_ALIGN, 5);
|
||||
AddTextPrinterParameterized(windowId, 1, gStringVar1, x, y, speed, NULL);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gStringVar1, x, y, speed, NULL);
|
||||
}
|
||||
|
||||
static void DrawPlayerPowderAmount(u8 windowId, u16 baseTileOffset, u8 paletteNum, u32 amount)
|
||||
{
|
||||
DrawStdFrameWithCustomTileAndPalette(windowId, FALSE, baseTileOffset, paletteNum);
|
||||
AddTextPrinterParameterized(windowId, 1, gText_Powder, 0, 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_Powder, 0, 1, TEXT_SPEED_FF, NULL);
|
||||
PrintBerryPowderAmount(windowId, amount, 26, 17, 0);
|
||||
}
|
||||
|
||||
|
||||
@ -376,14 +376,14 @@ static void HandleInitWindows(void)
|
||||
|
||||
static void PrintTextInBerryTagScreen(u8 windowId, const u8 *text, u8 x, u8 y, s32 speed, u8 colorStructId)
|
||||
{
|
||||
AddTextPrinterParameterized4(windowId, 1, x, y, 0, 0, sTextColors[colorStructId], speed, text);
|
||||
AddTextPrinterParameterized4(windowId, FONT_NORMAL, x, y, 0, 0, sTextColors[colorStructId], speed, text);
|
||||
}
|
||||
|
||||
static void AddBerryTagTextToBg0(void)
|
||||
{
|
||||
memcpy(GetBgTilemapBuffer(0), sBerryTag->tilemapBuffers[2], sizeof(sBerryTag->tilemapBuffers[2]));
|
||||
FillWindowPixelBuffer(WIN_BERRY_TAG, PIXEL_FILL(15));
|
||||
PrintTextInBerryTagScreen(WIN_BERRY_TAG, gText_BerryTag, GetStringCenterAlignXOffset(1, gText_BerryTag, 0x40), 1, 0, 1);
|
||||
PrintTextInBerryTagScreen(WIN_BERRY_TAG, gText_BerryTag, GetStringCenterAlignXOffset(FONT_NORMAL, gText_BerryTag, 0x40), 1, 0, 1);
|
||||
PutWindowTilemap(WIN_BERRY_TAG);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
}
|
||||
@ -409,7 +409,7 @@ static void PrintBerryNumberAndName(void)
|
||||
static void PrintBerrySize(void)
|
||||
{
|
||||
const struct Berry *berry = GetBerryInfo(sBerryTag->berryId);
|
||||
AddTextPrinterParameterized(WIN_SIZE_FIRM, 1, gText_SizeSlash, 0, 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(WIN_SIZE_FIRM, FONT_NORMAL, gText_SizeSlash, 0, 1, TEXT_SPEED_FF, NULL);
|
||||
if (berry->size != 0)
|
||||
{
|
||||
u32 inches, fraction;
|
||||
@ -423,34 +423,34 @@ static void PrintBerrySize(void)
|
||||
ConvertIntToDecimalStringN(gStringVar1, inches, STR_CONV_MODE_LEFT_ALIGN, 2);
|
||||
ConvertIntToDecimalStringN(gStringVar2, fraction, STR_CONV_MODE_LEFT_ALIGN, 2);
|
||||
StringExpandPlaceholders(gStringVar4, gText_Var1DotVar2);
|
||||
AddTextPrinterParameterized(WIN_SIZE_FIRM, 1, gStringVar4, 0x28, 1, 0, NULL);
|
||||
AddTextPrinterParameterized(WIN_SIZE_FIRM, FONT_NORMAL, gStringVar4, 0x28, 1, 0, NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
AddTextPrinterParameterized(WIN_SIZE_FIRM, 1, gText_ThreeMarks, 0x28, 1, 0, NULL);
|
||||
AddTextPrinterParameterized(WIN_SIZE_FIRM, FONT_NORMAL, gText_ThreeMarks, 0x28, 1, 0, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
static void PrintBerryFirmness(void)
|
||||
{
|
||||
const struct Berry *berry = GetBerryInfo(sBerryTag->berryId);
|
||||
AddTextPrinterParameterized(WIN_SIZE_FIRM, 1, gText_FirmSlash, 0, 0x11, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(WIN_SIZE_FIRM, FONT_NORMAL, gText_FirmSlash, 0, 0x11, TEXT_SPEED_FF, NULL);
|
||||
if (berry->firmness != 0)
|
||||
AddTextPrinterParameterized(WIN_SIZE_FIRM, 1, sBerryFirmnessStrings[berry->firmness - 1], 0x28, 0x11, 0, NULL);
|
||||
AddTextPrinterParameterized(WIN_SIZE_FIRM, FONT_NORMAL, sBerryFirmnessStrings[berry->firmness - 1], 0x28, 0x11, 0, NULL);
|
||||
else
|
||||
AddTextPrinterParameterized(WIN_SIZE_FIRM, 1, gText_ThreeMarks, 0x28, 0x11, 0, NULL);
|
||||
AddTextPrinterParameterized(WIN_SIZE_FIRM, FONT_NORMAL, gText_ThreeMarks, 0x28, 0x11, 0, NULL);
|
||||
}
|
||||
|
||||
static void PrintBerryDescription1(void)
|
||||
{
|
||||
const struct Berry *berry = GetBerryInfo(sBerryTag->berryId);
|
||||
AddTextPrinterParameterized(WIN_DESC, 1, berry->description1, 0, 1, 0, NULL);
|
||||
AddTextPrinterParameterized(WIN_DESC, FONT_NORMAL, berry->description1, 0, 1, 0, NULL);
|
||||
}
|
||||
|
||||
static void PrintBerryDescription2(void)
|
||||
{
|
||||
const struct Berry *berry = GetBerryInfo(sBerryTag->berryId);
|
||||
AddTextPrinterParameterized(WIN_DESC, 1, berry->description2, 0, 0x11, 0, NULL);
|
||||
AddTextPrinterParameterized(WIN_DESC, FONT_NORMAL, berry->description2, 0, 0x11, 0, NULL);
|
||||
}
|
||||
|
||||
static void CreateBerrySprite(void)
|
||||
|
||||
@ -4,13 +4,16 @@
|
||||
#include "text.h"
|
||||
#include "sound.h"
|
||||
|
||||
// This file handles the braille font.
|
||||
// For printing braille messages, see ScrCmd_braillemessage
|
||||
|
||||
ALIGNED(4)
|
||||
static const u8 sScrollDistances[] = {1, 2, 4};
|
||||
static const u16 sFont6BrailleGlyphs[] = INCBIN_U16("graphics/fonts/font6.fwjpnfont");
|
||||
static const u16 sFont_Braille[] = INCBIN_U16("graphics/fonts/braille.fwjpnfont");
|
||||
|
||||
static void DecompressGlyphFont6(u16);
|
||||
static void DecompressGlyph_Braille(u16);
|
||||
|
||||
u16 Font6Func(struct TextPrinter *textPrinter)
|
||||
u16 FontFunc_Braille(struct TextPrinter *textPrinter)
|
||||
{
|
||||
u16 char_;
|
||||
struct TextPrinterSubStruct *subStruct;
|
||||
@ -81,7 +84,7 @@ u16 Font6Func(struct TextPrinter *textPrinter)
|
||||
textPrinter->printerTemplate.currentChar++;
|
||||
return 2;
|
||||
case EXT_CTRL_CODE_FONT:
|
||||
subStruct->glyphId = *textPrinter->printerTemplate.currentChar;
|
||||
subStruct->fontId = *textPrinter->printerTemplate.currentChar;
|
||||
textPrinter->printerTemplate.currentChar++;
|
||||
return 2;
|
||||
case EXT_CTRL_CODE_RESET_SIZE:
|
||||
@ -133,7 +136,7 @@ u16 Font6Func(struct TextPrinter *textPrinter)
|
||||
textPrinter->printerTemplate.currentChar++;
|
||||
return 0;
|
||||
}
|
||||
DecompressGlyphFont6(char_);
|
||||
DecompressGlyph_Braille(char_);
|
||||
CopyGlyphToWindow(textPrinter);
|
||||
textPrinter->printerTemplate.currentX += gCurGlyph.width + textPrinter->printerTemplate.letterSpacing;
|
||||
return 0;
|
||||
@ -201,20 +204,18 @@ u16 Font6Func(struct TextPrinter *textPrinter)
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void DecompressGlyphFont6(u16 glyph)
|
||||
static void DecompressGlyph_Braille(u16 glyph)
|
||||
{
|
||||
const u16 *glyphs;
|
||||
|
||||
glyphs = sFont6BrailleGlyphs + 0x100 * (glyph / 8) + 0x10 * (glyph % 8);
|
||||
const u16 *glyphs = sFont_Braille + 0x100 * (glyph / 8) + 0x10 * (glyph % 8);
|
||||
DecompressGlyphTile(glyphs, gCurGlyph.gfxBufferTop);
|
||||
DecompressGlyphTile(glyphs + 0x8, gCurGlyph.gfxBufferTop + 8);
|
||||
DecompressGlyphTile(glyphs + 0x80, gCurGlyph.gfxBufferBottom);
|
||||
DecompressGlyphTile(glyphs + 0x88, gCurGlyph.gfxBufferBottom + 8);
|
||||
gCurGlyph.width = 0x10;
|
||||
gCurGlyph.height = 0x10;
|
||||
gCurGlyph.width = 16;
|
||||
gCurGlyph.height = 16;
|
||||
}
|
||||
|
||||
u32 GetGlyphWidthFont6(u16 glyphId, bool32 isJapanese)
|
||||
u32 GetGlyphWidth_Braille(u16 glyphId, bool32 isJapanese)
|
||||
{
|
||||
return 0x10;
|
||||
return 16;
|
||||
}
|
||||
@ -13,16 +13,9 @@
|
||||
#include "party_menu.h"
|
||||
#include "fldeff.h"
|
||||
|
||||
// why do this, GF?
|
||||
enum
|
||||
{
|
||||
REGIROCK_PUZZLE,
|
||||
REGISTEEL_PUZZLE
|
||||
};
|
||||
EWRAM_DATA static bool8 sIsRegisteelPuzzle = 0;
|
||||
|
||||
EWRAM_DATA static u8 sBraillePuzzleCallbackFlag = 0;
|
||||
|
||||
static const u8 gRegicePathCoords[][2] =
|
||||
static const u8 sRegicePathCoords[][2] =
|
||||
{
|
||||
{4, 21},
|
||||
{5, 21},
|
||||
@ -62,9 +55,9 @@ static const u8 gRegicePathCoords[][2] =
|
||||
{4, 22},
|
||||
};
|
||||
|
||||
void SealedChamberShakingEffect(u8);
|
||||
void DoBrailleRegirockEffect(void);
|
||||
void DoBrailleRegisteelEffect(void);
|
||||
static void Task_SealedChamberShakingEffect(u8);
|
||||
static void DoBrailleRegirockEffect(void);
|
||||
static void DoBrailleRegisteelEffect(void);
|
||||
|
||||
bool8 ShouldDoBrailleDigEffect(void)
|
||||
{
|
||||
@ -116,43 +109,48 @@ void ShouldDoBrailleRegirockEffectOld(void)
|
||||
{
|
||||
}
|
||||
|
||||
void DoSealedChamberShakingEffect1(void)
|
||||
{
|
||||
u8 taskId = CreateTask(SealedChamberShakingEffect, 9);
|
||||
#define tDelayCounter data[1]
|
||||
#define tShakeCounter data[2]
|
||||
#define tVerticalPan data[4]
|
||||
#define tDelay data[5]
|
||||
#define tNumShakes data[6]
|
||||
|
||||
gTasks[taskId].data[1] = 0;
|
||||
gTasks[taskId].data[2] = 0;
|
||||
gTasks[taskId].data[4] = 2;
|
||||
gTasks[taskId].data[5] = 5;
|
||||
gTasks[taskId].data[6] = 50;
|
||||
void DoSealedChamberShakingEffect_Long(void)
|
||||
{
|
||||
u8 taskId = CreateTask(Task_SealedChamberShakingEffect, 9);
|
||||
|
||||
gTasks[taskId].tDelayCounter = 0;
|
||||
gTasks[taskId].tShakeCounter = 0;
|
||||
gTasks[taskId].tVerticalPan = 2;
|
||||
gTasks[taskId].tDelay = 5;
|
||||
gTasks[taskId].tNumShakes = 50;
|
||||
SetCameraPanningCallback(0);
|
||||
}
|
||||
|
||||
void DoSealedChamberShakingEffect2(void)
|
||||
void DoSealedChamberShakingEffect_Short(void)
|
||||
{
|
||||
u8 taskId = CreateTask(SealedChamberShakingEffect, 9);
|
||||
u8 taskId = CreateTask(Task_SealedChamberShakingEffect, 9);
|
||||
|
||||
gTasks[taskId].data[1] = 0;
|
||||
gTasks[taskId].data[2] = 0;
|
||||
gTasks[taskId].data[4] = 3;
|
||||
gTasks[taskId].data[5] = 5;
|
||||
gTasks[taskId].data[6] = 2;
|
||||
gTasks[taskId].tDelayCounter = 0;
|
||||
gTasks[taskId].tShakeCounter = 0;
|
||||
gTasks[taskId].tVerticalPan = 3;
|
||||
gTasks[taskId].tDelay = 5;
|
||||
gTasks[taskId].tNumShakes = 2;
|
||||
SetCameraPanningCallback(0);
|
||||
}
|
||||
|
||||
void SealedChamberShakingEffect(u8 taskId)
|
||||
static void Task_SealedChamberShakingEffect(u8 taskId)
|
||||
{
|
||||
struct Task *task = &gTasks[taskId];
|
||||
|
||||
task->data[1]++;
|
||||
|
||||
if (!(task->data[1] % task->data[5]))
|
||||
task->tDelayCounter++;
|
||||
if (task->tDelayCounter % task->tDelay == 0)
|
||||
{
|
||||
task->data[1] = 0;
|
||||
task->data[2]++;
|
||||
task->data[4] = -task->data[4];
|
||||
SetCameraPanning(0, task->data[4]);
|
||||
if (task->data[2] == task->data[6])
|
||||
task->tDelayCounter = 0;
|
||||
task->tShakeCounter++;
|
||||
task->tVerticalPan = -task->tVerticalPan;
|
||||
SetCameraPanning(0, task->tVerticalPan);
|
||||
if (task->tShakeCounter == task->tNumShakes)
|
||||
{
|
||||
DestroyTask(taskId);
|
||||
EnableBothScriptContexts();
|
||||
@ -161,7 +159,12 @@ void SealedChamberShakingEffect(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
// moved later in the function because it was rewritten.
|
||||
#undef tDelayCounter
|
||||
#undef tShakeCounter
|
||||
#undef tVerticalPan
|
||||
#undef tDelay
|
||||
#undef tNumShakes
|
||||
|
||||
bool8 ShouldDoBrailleRegirockEffect(void)
|
||||
{
|
||||
if (!FlagGet(FLAG_SYS_REGIROCK_PUZZLE_COMPLETED)
|
||||
@ -170,17 +173,17 @@ bool8 ShouldDoBrailleRegirockEffect(void)
|
||||
{
|
||||
if (gSaveBlock1Ptr->pos.x == 6 && gSaveBlock1Ptr->pos.y == 23)
|
||||
{
|
||||
sBraillePuzzleCallbackFlag = REGIROCK_PUZZLE;
|
||||
sIsRegisteelPuzzle = FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
else if (gSaveBlock1Ptr->pos.x == 5 && gSaveBlock1Ptr->pos.y == 23)
|
||||
{
|
||||
sBraillePuzzleCallbackFlag = REGIROCK_PUZZLE;
|
||||
sIsRegisteelPuzzle = FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
else if (gSaveBlock1Ptr->pos.x == 7 && gSaveBlock1Ptr->pos.y == 23)
|
||||
{
|
||||
sBraillePuzzleCallbackFlag = REGIROCK_PUZZLE;
|
||||
sIsRegisteelPuzzle = FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
@ -200,7 +203,7 @@ void UseRegirockHm_Callback(void)
|
||||
DoBrailleRegirockEffect();
|
||||
}
|
||||
|
||||
void DoBrailleRegirockEffect(void)
|
||||
static void DoBrailleRegirockEffect(void)
|
||||
{
|
||||
MapGridSetMetatileIdAt(7 + MAP_OFFSET, 19 + MAP_OFFSET, METATILE_Cave_SealedChamberEntrance_TopLeft);
|
||||
MapGridSetMetatileIdAt(8 + MAP_OFFSET, 19 + MAP_OFFSET, METATILE_Cave_SealedChamberEntrance_TopMid);
|
||||
@ -220,7 +223,7 @@ bool8 ShouldDoBrailleRegisteelEffect(void)
|
||||
{
|
||||
if (gSaveBlock1Ptr->pos.x == 8 && gSaveBlock1Ptr->pos.y == 25)
|
||||
{
|
||||
sBraillePuzzleCallbackFlag = REGISTEEL_PUZZLE;
|
||||
sIsRegisteelPuzzle = TRUE;
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
@ -239,7 +242,7 @@ void UseRegisteelHm_Callback(void)
|
||||
DoBrailleRegisteelEffect();
|
||||
}
|
||||
|
||||
void DoBrailleRegisteelEffect(void)
|
||||
static void DoBrailleRegisteelEffect(void)
|
||||
{
|
||||
MapGridSetMetatileIdAt(7 + MAP_OFFSET, 19 + MAP_OFFSET, METATILE_Cave_SealedChamberEntrance_TopLeft);
|
||||
MapGridSetMetatileIdAt(8 + MAP_OFFSET, 19 + MAP_OFFSET, METATILE_Cave_SealedChamberEntrance_TopMid);
|
||||
@ -254,7 +257,7 @@ void DoBrailleRegisteelEffect(void)
|
||||
}
|
||||
|
||||
// theory: another commented out DoBrailleWait and Task_BrailleWait.
|
||||
void DoBrailleWait(void)
|
||||
static void DoBrailleWait(void)
|
||||
{
|
||||
}
|
||||
|
||||
@ -263,7 +266,7 @@ bool8 FldEff_UsePuzzleEffect(void)
|
||||
{
|
||||
u8 taskId = CreateFieldMoveTask();
|
||||
|
||||
if (sBraillePuzzleCallbackFlag == REGISTEEL_PUZZLE)
|
||||
if (sIsRegisteelPuzzle == TRUE)
|
||||
{
|
||||
gTasks[taskId].data[8] = (u32)UseRegisteelHm_Callback >> 16;
|
||||
gTasks[taskId].data[9] = (u32)UseRegisteelHm_Callback;
|
||||
@ -290,10 +293,10 @@ bool8 ShouldDoBrailleRegicePuzzle(void)
|
||||
if (FlagGet(FLAG_TEMP_3) == TRUE)
|
||||
return FALSE;
|
||||
|
||||
for (i = 0; i < 36; i++)
|
||||
for (i = 0; i < ARRAY_COUNT(sRegicePathCoords); i++)
|
||||
{
|
||||
u8 xPos = gRegicePathCoords[i][0];
|
||||
u8 yPos = gRegicePathCoords[i][1];
|
||||
u8 xPos = sRegicePathCoords[i][0];
|
||||
u8 yPos = sRegicePathCoords[i][1];
|
||||
if (gSaveBlock1Ptr->pos.x == xPos && gSaveBlock1Ptr->pos.y == yPos)
|
||||
{
|
||||
u16 varValue;
|
||||
|
||||
@ -99,8 +99,8 @@ static void PrintNumPlayersInLink(u16 windowId, u32 numPlayers)
|
||||
ConvertIntToDecimalStringN(gStringVar1, numPlayers, STR_CONV_MODE_LEFT_ALIGN, 1);
|
||||
SetStandardWindowBorderStyle(windowId, 0);
|
||||
StringExpandPlaceholders(gStringVar4, gText_NumPlayerLink);
|
||||
xPos = GetStringCenterAlignXOffset(1, gStringVar4, 88);
|
||||
AddTextPrinterParameterized(windowId, 1, gStringVar4, xPos, 1, 0xFF, NULL);
|
||||
xPos = GetStringCenterAlignXOffset(FONT_NORMAL, gStringVar4, 88);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gStringVar4, xPos, 1, 0xFF, NULL);
|
||||
CopyWindowToVram(windowId, 3);
|
||||
}
|
||||
|
||||
|
||||
@ -80,7 +80,7 @@ void CB2_InitClearSaveDataScreen(void)
|
||||
static void Task_DoClearSaveDataScreenYesNo(u8 taskId)
|
||||
{
|
||||
DrawStdFrameWithCustomTileAndPalette(0, 0, 2, 14);
|
||||
AddTextPrinterParameterized(0, 1, gText_ClearAllSaveData, 0, 1, 0, 0);
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, gText_ClearAllSaveData, 0, 1, 0, 0);
|
||||
CreateYesNoMenu(sClearSaveYesNo, 2, 14, 1);
|
||||
gTasks[taskId].func = Task_ClearSaveDataScreenYesNoChoice;
|
||||
}
|
||||
@ -91,7 +91,7 @@ static void Task_ClearSaveDataScreenYesNoChoice(u8 taskId)
|
||||
{
|
||||
case 0:
|
||||
FillWindowPixelBuffer(0, PIXEL_FILL(1));
|
||||
AddTextPrinterParameterized(0, 1, gText_ClearingData, 0, 1, 0, 0);
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, gText_ClearingData, 0, 1, 0, 0);
|
||||
gTasks[taskId].func = Task_ClearSaveData;
|
||||
break;
|
||||
case 1:
|
||||
|
||||
@ -17,8 +17,8 @@ void PrintCoinsString(u32 coinAmount)
|
||||
ConvertIntToDecimalStringN(gStringVar1, coinAmount, STR_CONV_MODE_RIGHT_ALIGN, MAX_COIN_DIGITS);
|
||||
StringExpandPlaceholders(gStringVar4, gText_Coins);
|
||||
|
||||
xAlign = GetStringRightAlignXOffset(1, gStringVar4, 0x40);
|
||||
AddTextPrinterParameterized(sCoinsWindowId, 1, gStringVar4, xAlign, 1, 0, NULL);
|
||||
xAlign = GetStringRightAlignXOffset(FONT_NORMAL, gStringVar4, 0x40);
|
||||
AddTextPrinterParameterized(sCoinsWindowId, FONT_NORMAL, gStringVar4, xAlign, 1, 0, NULL);
|
||||
}
|
||||
|
||||
void ShowCoinsWindow(u32 coinAmount, u8 x, u8 y)
|
||||
|
||||
@ -1543,7 +1543,7 @@ static void Task_ShowMoveSelectScreen(u8 taskId)
|
||||
moveNameBuffer = StringCopy(moveNameBuffer, gMoveNames[move]);
|
||||
|
||||
FillWindowPixelBuffer(i + MOVE_WINDOWS_START, PIXEL_FILL(0));
|
||||
Contest_PrintTextToBg0WindowAt(i + MOVE_WINDOWS_START, moveName, 5, 1, 7);
|
||||
Contest_PrintTextToBg0WindowAt(i + MOVE_WINDOWS_START, moveName, 5, 1, FONT_NARROW);
|
||||
}
|
||||
|
||||
DrawMoveSelectArrow(eContest.playerMoveChoice);
|
||||
@ -3029,10 +3029,10 @@ static void PrintContestantTrainerNameWithColor(u8 contestant, u8 color)
|
||||
StringCopy(buffer, gText_Slash);
|
||||
StringAppend(buffer, gContestMons[contestant].trainerName);
|
||||
Contest_CopyStringWithColor(buffer, color);
|
||||
offset = GetStringRightAlignXOffset(7, gDisplayedStringBattle, 0x60);
|
||||
offset = GetStringRightAlignXOffset(FONT_NARROW, gDisplayedStringBattle, 0x60);
|
||||
if (offset > 55)
|
||||
offset = 55;
|
||||
Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[contestant], gDisplayedStringBattle, offset, 1, 7);
|
||||
Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[contestant], gDisplayedStringBattle, offset, 1, FONT_NARROW);
|
||||
}
|
||||
|
||||
static void PrintContestantMonName(u8 contestant)
|
||||
@ -3043,7 +3043,7 @@ static void PrintContestantMonName(u8 contestant)
|
||||
static void PrintContestantMonNameWithColor(u8 contestant, u8 color)
|
||||
{
|
||||
Contest_CopyStringWithColor(gContestMons[contestant].nickname, color);
|
||||
Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[contestant], gDisplayedStringBattle, 5, 1, 7);
|
||||
Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[contestant], gDisplayedStringBattle, 5, 1, FONT_NARROW);
|
||||
}
|
||||
|
||||
static u16 CalculateContestantRound1Points(u8 who, u8 contestCategory)
|
||||
@ -4273,7 +4273,7 @@ static void ContestDebugDoPrint(void)
|
||||
txtPtr = StringCopy(txtPtr, gText_OneDash);
|
||||
}
|
||||
ConvertIntToDecimalStringN(txtPtr, value, STR_CONV_MODE_LEFT_ALIGN, 4);
|
||||
Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text, 55, 1, 7);
|
||||
Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text, 55, 1, FONT_NARROW);
|
||||
}
|
||||
for (i = 0; i < CONTESTANT_COUNT; i++)
|
||||
{
|
||||
@ -4285,7 +4285,7 @@ static void ContestDebugDoPrint(void)
|
||||
txtPtr = StringCopy(txtPtr, gText_OneDash);
|
||||
}
|
||||
ConvertIntToDecimalStringN(txtPtr, value, STR_CONV_MODE_LEFT_ALIGN, 4);
|
||||
Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text, 5, 1, 7);
|
||||
Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text, 5, 1, FONT_NARROW);
|
||||
}
|
||||
SwapMoveDescAndContestTilemaps();
|
||||
break;
|
||||
@ -5410,7 +5410,7 @@ static void Contest_PrintTextToBg0WindowStd(u32 windowId, const u8 *b)
|
||||
|
||||
printerTemplate.currentChar = b;
|
||||
printerTemplate.windowId = windowId;
|
||||
printerTemplate.fontId = 1;
|
||||
printerTemplate.fontId = FONT_NORMAL;
|
||||
printerTemplate.x = 0;
|
||||
printerTemplate.y = 1;
|
||||
printerTemplate.currentX = 0;
|
||||
@ -5457,7 +5457,7 @@ static void Contest_StartTextPrinter(const u8 *currChar, bool32 b)
|
||||
|
||||
printerTemplate.currentChar = currChar;
|
||||
printerTemplate.windowId = 4;
|
||||
printerTemplate.fontId = 1;
|
||||
printerTemplate.fontId = FONT_NORMAL;
|
||||
printerTemplate.x = 0;
|
||||
printerTemplate.y = 1;
|
||||
printerTemplate.currentX = 0;
|
||||
@ -5968,7 +5968,7 @@ static void ContestDebugPrintBitStrings(void)
|
||||
for (i = 0; i < CONTESTANT_COUNT; i++)
|
||||
{
|
||||
txtPtr = StringCopy(text1, gText_CDot);
|
||||
Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text1, 5, 1, 7);
|
||||
Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text1, 5, 1, FONT_NARROW);
|
||||
bits = gContestResources->tv[i].winnerFlags;
|
||||
for (j = 7; j > -1; j--) // Weird loop.
|
||||
{
|
||||
@ -5981,7 +5981,7 @@ static void ContestDebugPrintBitStrings(void)
|
||||
|
||||
text2[j] = EOS;
|
||||
Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text2, 5, 1, 7);
|
||||
Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text1 + j, 55, 1, 7);
|
||||
Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text1 + j, 55, 1, FONT_NARROW);
|
||||
}
|
||||
}
|
||||
else // CONTEST_DEBUG_MODE_PRINT_LOSER_FLAGS
|
||||
@ -6001,8 +6001,8 @@ static void ContestDebugPrintBitStrings(void)
|
||||
text2[j] = text1[j];
|
||||
|
||||
text2[j] = EOS;
|
||||
Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text2, 5, 1, 7);
|
||||
Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text1 + j, 55, 1, 7);
|
||||
Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text2, 5, 1, FONT_NARROW);
|
||||
Contest_PrintTextToBg0WindowAt(gContestantTurnOrder[i], text1 + j, 55, 1, FONT_NARROW);
|
||||
}
|
||||
}
|
||||
SwapMoveDescAndContestTilemaps();
|
||||
@ -6031,10 +6031,10 @@ static u8 GetMonNicknameLanguage(u8 *nickname)
|
||||
|| *nickname == CHAR_SLASH
|
||||
|| *nickname == CHAR_HYPHEN
|
||||
|| *nickname == CHAR_ELLIPSIS
|
||||
|| *nickname == CHAR_DBL_QUOT_LEFT
|
||||
|| *nickname == CHAR_DBL_QUOT_RIGHT
|
||||
|| *nickname == CHAR_SGL_QUOT_LEFT
|
||||
|| *nickname == CHAR_DBL_QUOT_LEFT) // Most likely a typo, CHAR_SGL_QUOT_RIGHT should be here instead.
|
||||
|| *nickname == CHAR_DBL_QUOTE_LEFT
|
||||
|| *nickname == CHAR_DBL_QUOTE_RIGHT
|
||||
|| *nickname == CHAR_SGL_QUOTE_LEFT
|
||||
|| *nickname == CHAR_DBL_QUOTE_LEFT) // Most likely a typo, CHAR_SGL_QUOTE_RIGHT should be here instead.
|
||||
{
|
||||
nickname++;
|
||||
}
|
||||
|
||||
@ -306,8 +306,8 @@ static void PrintContestPaintingCaption(u8 contestType, bool8 isForArtist)
|
||||
StringExpandPlaceholders(gStringVar4, sMuseumCaptions[category]);
|
||||
}
|
||||
|
||||
x = GetStringCenterAlignXOffset(1, gStringVar4, 208);
|
||||
AddTextPrinterParameterized(sWindowId, 1, gStringVar4, x, 1, 0, 0);
|
||||
x = GetStringCenterAlignXOffset(FONT_NORMAL, gStringVar4, 208);
|
||||
AddTextPrinterParameterized(sWindowId, FONT_NORMAL, gStringVar4, x, 1, 0, 0);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
}
|
||||
|
||||
|
||||
@ -1176,12 +1176,12 @@ static s32 DrawResultsTextWindow(const u8 *text, u8 spriteId)
|
||||
windowId = AddWindow(&windowTemplate);
|
||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
||||
|
||||
origWidth = GetStringWidth(1, text, 0);
|
||||
origWidth = GetStringWidth(FONT_NORMAL, text, 0);
|
||||
strWidth = (origWidth + 9) / 8;
|
||||
if (strWidth > 30)
|
||||
strWidth = 30;
|
||||
|
||||
AddTextPrinterParameterized3(windowId, 1, (strWidth * 8 - origWidth) / 2, 1, sContestLinkTextColors, -1, text);
|
||||
AddTextPrinterParameterized3(windowId, FONT_NORMAL, (strWidth * 8 - origWidth) / 2, 1, sContestLinkTextColors, -1, text);
|
||||
{
|
||||
s32 i;
|
||||
struct Sprite *sprite;
|
||||
@ -1931,7 +1931,7 @@ static void AddContestTextPrinter(int windowId, u8 *str, int x)
|
||||
struct TextPrinterTemplate textPrinter;
|
||||
textPrinter.currentChar = str;
|
||||
textPrinter.windowId = windowId;
|
||||
textPrinter.fontId = 7;
|
||||
textPrinter.fontId = FONT_NARROW;
|
||||
textPrinter.x = x;
|
||||
textPrinter.y = 2;
|
||||
textPrinter.currentX = x;
|
||||
|
||||
@ -400,8 +400,8 @@ static void PrintCreditsText(const u8 *string, u8 y, bool8 isTitle)
|
||||
color[2] = TEXT_COLOR_DARK_GRAY;
|
||||
}
|
||||
|
||||
x = GetStringCenterAlignXOffsetWithLetterSpacing(1, string, DISPLAY_WIDTH, 1);
|
||||
AddTextPrinterParameterized4(0, 1, x, y, 1, 0, color, -1, string);
|
||||
x = GetStringCenterAlignXOffsetWithLetterSpacing(FONT_NORMAL, string, DISPLAY_WIDTH, 1);
|
||||
AddTextPrinterParameterized4(0, FONT_NORMAL, x, y, 1, 0, color, -1, string);
|
||||
}
|
||||
|
||||
#define tMainTaskId data[1]
|
||||
|
||||
@ -77,7 +77,7 @@ static const struct ListMenuTemplate sDaycareListMenuLevelTemplate =
|
||||
.lettersSpacing = 1,
|
||||
.itemVerticalPadding = 0,
|
||||
.scrollMultiple = LIST_NO_MULTIPLE_SCROLL,
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.cursorKind = 0
|
||||
};
|
||||
|
||||
@ -1186,7 +1186,7 @@ static void DaycareAddTextPrinter(u8 windowId, const u8 *text, u32 x, u32 y)
|
||||
|
||||
printer.currentChar = text;
|
||||
printer.windowId = windowId;
|
||||
printer.fontId = 1;
|
||||
printer.fontId = FONT_NORMAL;
|
||||
printer.x = x;
|
||||
printer.y = y;
|
||||
printer.currentX = x;
|
||||
@ -1222,7 +1222,7 @@ static void DaycarePrintMonLvl(struct DayCare *daycare, u8 windowId, u32 daycare
|
||||
level = GetLevelAfterDaycareSteps(&daycare->mons[daycareSlotId].mon, daycare->mons[daycareSlotId].steps);
|
||||
ConvertIntToDecimalStringN(intText, level, STR_CONV_MODE_LEFT_ALIGN, 3);
|
||||
StringAppend(lvlText, intText);
|
||||
x = GetStringRightAlignXOffset(1, lvlText, 112);
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, lvlText, 112);
|
||||
DaycareAddTextPrinter(windowId, lvlText, x, y);
|
||||
}
|
||||
|
||||
|
||||
@ -315,7 +315,7 @@ static const struct ListMenuTemplate sDecorationItemsListMenuTemplate =
|
||||
.lettersSpacing = FALSE,
|
||||
.itemVerticalPadding = 0,
|
||||
.scrollMultiple = FALSE,
|
||||
.fontId = 7
|
||||
.fontId = FONT_NARROW
|
||||
};
|
||||
|
||||
#include "data/decoration/icon.h"
|
||||
@ -615,7 +615,7 @@ static void HandleDecorationActionsMenuInput(u8 taskId)
|
||||
static void PrintCurMainMenuDescription(void)
|
||||
{
|
||||
FillWindowPixelBuffer(0, PIXEL_FILL(1));
|
||||
AddTextPrinterParameterized2(0, 1, sSecretBasePCMenuItemDescriptions[sDecorationActionsCursorPos], 0, 0, 2, 1, 3);
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, sSecretBasePCMenuItemDescriptions[sDecorationActionsCursorPos], 0, 0, 2, 1, 3);
|
||||
}
|
||||
|
||||
static void DecorationMenuAction_Decorate(u8 taskId)
|
||||
@ -728,7 +728,7 @@ static void PrintDecorationCategoryMenuItems(u8 taskId)
|
||||
PrintDecorationCategoryMenuItem(windowId, i, 8, i * 16, FALSE, TEXT_SPEED_FF);
|
||||
}
|
||||
|
||||
AddTextPrinterParameterized(windowId, 1, gTasks[taskId].tDecorationMenuCommand == DECOR_MENU_TRADE ? gText_Exit : gText_Cancel, 8, i * 16 + 1, 0, NULL);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gTasks[taskId].tDecorationMenuCommand == DECOR_MENU_TRADE ? gText_Exit : gText_Cancel, 8, i * 16 + 1, 0, NULL);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
}
|
||||
|
||||
@ -742,12 +742,12 @@ static void PrintDecorationCategoryMenuItem(u8 winid, u8 category, u8 x, u8 y, b
|
||||
ColorMenuItemString(gStringVar4, disabled);
|
||||
str = StringLength(gStringVar4) + gStringVar4;
|
||||
StringCopy(str, sDecorationCategoryNames[category]);
|
||||
AddTextPrinterParameterized(winid, 1, gStringVar4, x, y, speed, NULL);
|
||||
AddTextPrinterParameterized(winid, FONT_NORMAL, gStringVar4, x, y, speed, NULL);
|
||||
str = ConvertIntToDecimalStringN(str, GetNumOwnedDecorationsInCategory(category), STR_CONV_MODE_RIGHT_ALIGN, 2);
|
||||
*(str++) = CHAR_SLASH;
|
||||
ConvertIntToDecimalStringN(str, gDecorationInventories[category].size, STR_CONV_MODE_RIGHT_ALIGN, 2);
|
||||
x = GetStringRightAlignXOffset(1, gStringVar4, width);
|
||||
AddTextPrinterParameterized(winid, 1, gStringVar4, x, y, speed, NULL);
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, gStringVar4, width);
|
||||
AddTextPrinterParameterized(winid, FONT_NORMAL, gStringVar4, x, y, speed, NULL);
|
||||
}
|
||||
|
||||
static void ColorMenuItemString(u8 *str, bool8 disabled)
|
||||
@ -1024,7 +1024,7 @@ static void PrintDecorationItemDescription(s32 itemIndex)
|
||||
else
|
||||
str = gDecorations[gCurDecorationItems[itemIndex]].description;
|
||||
|
||||
AddTextPrinterParameterized(windowId, 1, str, 0, 1, 0, 0);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, str, 0, 1, 0, 0);
|
||||
}
|
||||
|
||||
static void RemoveDecorationItemsOtherWindows(void)
|
||||
|
||||
@ -205,5 +205,5 @@ static void PrintDiplomaText(u8 *text, u8 var1, u8 var2)
|
||||
{
|
||||
u8 color[3] = {0, 2, 3};
|
||||
|
||||
AddTextPrinterParameterized4(0, 1, var1, var2, 0, 0, color, -1, text);
|
||||
AddTextPrinterParameterized4(0, FONT_NORMAL, var1, var2, 0, 0, color, -1, text);
|
||||
}
|
||||
|
||||
@ -2954,10 +2954,10 @@ static void Task_ShowDodrioBerryPickingRecords(u8 taskId)
|
||||
{
|
||||
case 0:
|
||||
window = sWindowTemplates_Records;
|
||||
width = GetStringWidth(1, gText_BerryPickingRecords, 0);
|
||||
width = GetStringWidth(FONT_NORMAL, gText_BerryPickingRecords, 0);
|
||||
for (i = 0; i < ARRAY_COUNT(sRecordsTexts); i++)
|
||||
{
|
||||
widthCurr = GetStringWidth(1, sRecordsTexts[i], 0) + 50;
|
||||
widthCurr = GetStringWidth(FONT_NORMAL, sRecordsTexts[i], 0) + 50;
|
||||
if (widthCurr > width)
|
||||
width = widthCurr;
|
||||
}
|
||||
@ -3008,14 +3008,14 @@ static void PrintRecordsText(u8 windowId, s32 width)
|
||||
LoadUserWindowBorderGfx_(windowId, 0x21D, 0xD0);
|
||||
DrawTextBorderOuter(windowId, 0x21D, 0xD);
|
||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
||||
AddTextPrinterParameterized(windowId, 1, gText_BerryPickingRecords, GetStringCenterAlignXOffset(1, gText_BerryPickingRecords, width * 8), 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gText_BerryPickingRecords, GetStringCenterAlignXOffset(FONT_NORMAL, gText_BerryPickingRecords, width * 8), 1, TEXT_SPEED_FF, NULL);
|
||||
for (i = 0; i < NUM_RECORD_TYPES; i++)
|
||||
{
|
||||
ConvertIntToDecimalStringN(gStringVar1, recordNums[i], STR_CONV_MODE_LEFT_ALIGN, sRecordNumMaxDigits[i]);
|
||||
numWidth = GetStringWidth(1, gStringVar1, -1);
|
||||
AddTextPrinterParameterized(windowId, 1, sRecordsTexts[i], 0, sRecordTextYCoords[i][0], TEXT_SPEED_FF, NULL);
|
||||
numWidth = GetStringWidth(FONT_NORMAL, gStringVar1, -1);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, sRecordsTexts[i], 0, sRecordTextYCoords[i][0], TEXT_SPEED_FF, NULL);
|
||||
x = (width * 8) - numWidth;
|
||||
AddTextPrinterParameterized(windowId, 1, gStringVar1, x, sRecordNumYCoords[i][0], TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gStringVar1, x, sRecordNumYCoords[i][0], TEXT_SPEED_FF, NULL);
|
||||
}
|
||||
PutWindowTilemap(windowId);
|
||||
}
|
||||
@ -4640,7 +4640,7 @@ static void ShowNames(void)
|
||||
{
|
||||
colorsId = COLORID_GRAY;
|
||||
playerId = GetPlayerIdByPos(i);
|
||||
left = (56 - GetStringWidth(1, GetPlayerName(playerId), -1)) / 2u;
|
||||
left = (56 - GetStringWidth(FONT_NORMAL, GetPlayerName(playerId), -1)) / 2u;
|
||||
window.tilemapLeft = coords->left;
|
||||
window.tilemapTop = coords->top;
|
||||
sGfx->windowIds[i] = AddWindow(&window);
|
||||
@ -4649,7 +4649,7 @@ static void ShowNames(void)
|
||||
if (playerId == GetMultiplayerId())
|
||||
colorsId = COLORID_BLUE;
|
||||
name = GetPlayerName(playerId);
|
||||
AddTextPrinterParameterized3(sGfx->windowIds[i], 1, left, 1, sTextColorTable[colorsId], -1, name);
|
||||
AddTextPrinterParameterized3(sGfx->windowIds[i], FONT_NORMAL, left, 1, sTextColorTable[colorsId], -1, name);
|
||||
CopyWindowToVram(sGfx->windowIds[i], 2);
|
||||
window.baseBlock += 0xE;
|
||||
DrawMessageWindow(&window);
|
||||
@ -4726,22 +4726,22 @@ static void PrintRankedScores(u8 numPlayers_)
|
||||
}
|
||||
|
||||
// Print text
|
||||
x = 216 - GetStringWidth(1, gText_SpacePoints, 0);
|
||||
x = 216 - GetStringWidth(FONT_NORMAL, gText_SpacePoints, 0);
|
||||
for (i = 0; i < numPlayers; i++)
|
||||
{
|
||||
u8 colorsId = COLORID_GRAY;
|
||||
u8 playerId = playersByRanking[i];
|
||||
u32 points = scoreResults[playerId].score;
|
||||
|
||||
AddTextPrinterParameterized(sGfx->windowIds[1], 1, sRankingTexts[scoreResults[playerId].ranking], 8, sRankingYCoords[i], -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[1], FONT_NORMAL, sRankingTexts[scoreResults[playerId].ranking], 8, sRankingYCoords[i], -1, NULL);
|
||||
if (playerId == GetMultiplayerId())
|
||||
colorsId = COLORID_BLUE;
|
||||
name = GetPlayerName(playerId);
|
||||
AddTextPrinterParameterized3(sGfx->windowIds[1], 1, 28, sRankingYCoords[i], sTextColorTable[colorsId], -1, name);
|
||||
AddTextPrinterParameterized3(sGfx->windowIds[1], FONT_NORMAL, 28, sRankingYCoords[i], sTextColorTable[colorsId], -1, name);
|
||||
ConvertIntToDecimalStringN(numString, points, STR_CONV_MODE_LEFT_ALIGN, 7);
|
||||
numWidth = GetStringWidth(1, numString, -1);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[1], 1, numString, x - numWidth, sRankingYCoords[i], -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[1], 1, gText_SpacePoints, x, sRankingYCoords[i], -1, NULL);
|
||||
numWidth = GetStringWidth(FONT_NORMAL, numString, -1);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[1], FONT_NORMAL, numString, x - numWidth, sRankingYCoords[i], -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[1], FONT_NORMAL, gText_SpacePoints, x, sRankingYCoords[i], -1, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
@ -4770,10 +4770,10 @@ static void ShowResults(void)
|
||||
case 2:
|
||||
FillWindowPixelBuffer(sGfx->windowIds[0], PIXEL_FILL(1));
|
||||
FillWindowPixelBuffer(sGfx->windowIds[1], PIXEL_FILL(1));
|
||||
strWidth = GetStringWidth(1, gText_BerryPickingResults, -1);
|
||||
strWidth = GetStringWidth(FONT_NORMAL, gText_BerryPickingResults, -1);
|
||||
x = (224 - strWidth) / 2;
|
||||
AddTextPrinterParameterized(sGfx->windowIds[0], 1, gText_BerryPickingResults, x, 1, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[1], 1, gText_10P30P50P50P, 68, 17, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[0], FONT_NORMAL, gText_BerryPickingResults, x, 1, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[1], FONT_NORMAL, gText_10P30P50P50P, 68, 17, -1, NULL);
|
||||
for (i = 0; i < numPlayers; i++)
|
||||
{
|
||||
u8 colorsId = COLORID_GRAY;
|
||||
@ -4781,7 +4781,7 @@ static void ShowResults(void)
|
||||
colorsId = COLORID_BLUE;
|
||||
|
||||
name = GetPlayerName(i);
|
||||
AddTextPrinterParameterized3(sGfx->windowIds[1], 1, 0, sResultsYCoords[i], sTextColorTable[colorsId], -1, name);
|
||||
AddTextPrinterParameterized3(sGfx->windowIds[1], FONT_NORMAL, 0, sResultsYCoords[i], sTextColorTable[colorsId], -1, name);
|
||||
for (j = 0; j < 4; j++)
|
||||
{
|
||||
u32 width;
|
||||
@ -4789,13 +4789,13 @@ static void ShowResults(void)
|
||||
u16 maxBerriesPicked = Min(GetHighestBerryResult(j), MAX_BERRIES);
|
||||
|
||||
ConvertIntToDecimalStringN(gStringVar4, berriesPicked, STR_CONV_MODE_LEFT_ALIGN, 4);
|
||||
width = GetStringWidth(1, gStringVar4, -1);
|
||||
width = GetStringWidth(FONT_NORMAL, gStringVar4, -1);
|
||||
|
||||
// If player got the most of a berry type, highlight their number in red
|
||||
if (maxBerriesPicked == berriesPicked && maxBerriesPicked != 0)
|
||||
AddTextPrinterParameterized3(sGfx->windowIds[1], 1, sResultsXCoords[j] - width, sResultsYCoords[i], sTextColorTable[COLORID_RED], -1, gStringVar4);
|
||||
AddTextPrinterParameterized3(sGfx->windowIds[1], FONT_NORMAL, sResultsXCoords[j] - width, sResultsYCoords[i], sTextColorTable[COLORID_RED], -1, gStringVar4);
|
||||
else
|
||||
AddTextPrinterParameterized(sGfx->windowIds[1], 1, gStringVar4, sResultsXCoords[j] - width, sResultsYCoords[i], -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[1], FONT_NORMAL, gStringVar4, sResultsXCoords[j] - width, sResultsYCoords[i], -1, NULL);
|
||||
}
|
||||
}
|
||||
CopyWindowToVram(sGfx->windowIds[0], 2);
|
||||
@ -4824,9 +4824,9 @@ static void ShowResults(void)
|
||||
case 5:
|
||||
FillWindowPixelBuffer(sGfx->windowIds[0], PIXEL_FILL(1));
|
||||
FillWindowPixelBuffer(sGfx->windowIds[1], PIXEL_FILL(1));
|
||||
strWidth = GetStringWidth(1, gText_AnnouncingRankings, -1);
|
||||
strWidth = GetStringWidth(FONT_NORMAL, gText_AnnouncingRankings, -1);
|
||||
x = (224 - strWidth) / 2;
|
||||
AddTextPrinterParameterized(sGfx->windowIds[0], 1, gText_AnnouncingRankings, x, 1, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[0], FONT_NORMAL, gText_AnnouncingRankings, x, 1, -1, NULL);
|
||||
sGfx->state++;
|
||||
break;
|
||||
case 6:
|
||||
@ -4870,14 +4870,14 @@ static void ShowResults(void)
|
||||
PlayNewMapMusic(MUS_LEVEL_UP);
|
||||
FillWindowPixelBuffer(sGfx->windowIds[0], PIXEL_FILL(1));
|
||||
FillWindowPixelBuffer(sGfx->windowIds[1], PIXEL_FILL(1));
|
||||
strWidth = GetStringWidth(1, gText_AnnouncingPrizes, -1);
|
||||
strWidth = GetStringWidth(FONT_NORMAL, gText_AnnouncingPrizes, -1);
|
||||
x = (224 - strWidth) / 2;
|
||||
AddTextPrinterParameterized(sGfx->windowIds[0], 1, gText_AnnouncingPrizes, x, 1, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[0], FONT_NORMAL, gText_AnnouncingPrizes, x, 1, -1, NULL);
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
CopyItemName(GetPrizeItemId(), gStringVar1);
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_FirstPlacePrize);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[1], 1, gStringVar4, 0, 1, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[1], FONT_NORMAL, gStringVar4, 0, 1, -1, NULL);
|
||||
prizeState = TryGivePrize();
|
||||
if (prizeState != PRIZE_RECEIVED && prizeState != NO_PRIZE)
|
||||
{
|
||||
@ -4888,7 +4888,7 @@ static void ShowResults(void)
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_CantHoldAnyMore);
|
||||
else if (prizeState == PRIZE_FILLED_BAG)
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_FilledStorageSpace);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[1], 1, gStringVar4, 0, 41, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[1], FONT_NORMAL, gStringVar4, 0, 41, -1, NULL);
|
||||
}
|
||||
CopyWindowToVram(sGfx->windowIds[0], 2);
|
||||
CopyWindowToVram(sGfx->windowIds[1], 2);
|
||||
@ -4946,10 +4946,10 @@ static void Msg_WantToPlayAgain(void)
|
||||
// Print text
|
||||
FillWindowPixelBuffer(sGfx->windowIds[WIN_PLAY_AGAIN], PIXEL_FILL(1));
|
||||
FillWindowPixelBuffer(sGfx->windowIds[WIN_YES_NO], PIXEL_FILL(1));
|
||||
AddTextPrinterParameterized(sGfx->windowIds[WIN_PLAY_AGAIN], 1, gText_WantToPlayAgain, 0, 5, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[WIN_YES_NO], 1, gText_Yes, 8, 1, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[WIN_YES_NO], 1, gText_No, 8, 17, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[WIN_YES_NO], 1, gText_SelectorArrow2, 0, 1, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[WIN_PLAY_AGAIN], FONT_NORMAL, gText_WantToPlayAgain, 0, 5, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[WIN_YES_NO], FONT_NORMAL, gText_Yes, 8, 1, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[WIN_YES_NO], FONT_NORMAL, gText_No, 8, 17, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[WIN_YES_NO], FONT_NORMAL, gText_SelectorArrow2, 0, 1, -1, NULL);
|
||||
CopyWindowToVram(sGfx->windowIds[WIN_PLAY_AGAIN], 2);
|
||||
CopyWindowToVram(sGfx->windowIds[WIN_YES_NO], 2);
|
||||
sGfx->state++;
|
||||
@ -4970,9 +4970,9 @@ static void Msg_WantToPlayAgain(void)
|
||||
if (y == PLAY_AGAIN_NONE)
|
||||
y = PLAY_AGAIN_YES;
|
||||
FillWindowPixelBuffer(sGfx->windowIds[WIN_YES_NO], PIXEL_FILL(1));
|
||||
AddTextPrinterParameterized(sGfx->windowIds[WIN_YES_NO], 1, gText_Yes, 8, 1, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[WIN_YES_NO], 1, gText_No, 8, 17, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[WIN_YES_NO], 1, gText_SelectorArrow2, 0, ((y - 1) * 16) + 1, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[WIN_YES_NO], FONT_NORMAL, gText_Yes, 8, 1, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[WIN_YES_NO], FONT_NORMAL, gText_No, 8, 17, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[WIN_YES_NO], FONT_NORMAL, gText_SelectorArrow2, 0, ((y - 1) * 16) + 1, -1, NULL);
|
||||
CopyWindowToVram(sGfx->windowIds[WIN_YES_NO], 3);
|
||||
|
||||
// Increment state only if A or B button have been pressed.
|
||||
@ -5025,7 +5025,7 @@ static void Msg_SavingDontTurnOff(void)
|
||||
{
|
||||
case 0:
|
||||
DrawDialogueFrame(0, FALSE);
|
||||
AddTextPrinterParameterized2(0, 1, gText_SavingDontTurnOffPower, 0, NULL, 2, 1, 3);
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, gText_SavingDontTurnOffPower, 0, NULL, 2, 1, 3);
|
||||
sGfx->state++;
|
||||
break;
|
||||
case 1:
|
||||
@ -5063,7 +5063,7 @@ static void Msg_CommunicationStandby(void)
|
||||
break;
|
||||
case 1:
|
||||
FillWindowPixelBuffer(sGfx->windowIds[0], PIXEL_FILL(1));
|
||||
AddTextPrinterParameterized(sGfx->windowIds[0], 1, gText_CommunicationStandby3, 0, 5, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[0], FONT_NORMAL, gText_CommunicationStandby3, 0, 5, -1, NULL);
|
||||
CopyWindowToVram(sGfx->windowIds[0], 2);
|
||||
sGfx->state++;
|
||||
break;
|
||||
@ -5103,7 +5103,7 @@ static void Msg_SomeoneDroppedOut(void)
|
||||
break;
|
||||
case 1:
|
||||
FillWindowPixelBuffer(sGfx->windowIds[0], PIXEL_FILL(1));
|
||||
AddTextPrinterParameterized(sGfx->windowIds[0], 1, gText_SomeoneDroppedOut, 0, 5, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[0], FONT_NORMAL, gText_SomeoneDroppedOut, 0, 5, -1, NULL);
|
||||
CopyWindowToVram(sGfx->windowIds[0], 2);
|
||||
sGfx->state++;
|
||||
break;
|
||||
|
||||
@ -3176,7 +3176,7 @@ static bool8 UpdateMainCursor(void)
|
||||
else
|
||||
{
|
||||
CopyEasyChatWord(str, *ecWord);
|
||||
stringWidth = GetStringWidth(1, str, 0);
|
||||
stringWidth = GetStringWidth(FONT_NORMAL, str, 0);
|
||||
}
|
||||
|
||||
trueStringWidth = stringWidth + 17;
|
||||
@ -3930,9 +3930,9 @@ static void PrintTitle(void)
|
||||
if (!titleText)
|
||||
return;
|
||||
|
||||
xOffset = GetStringCenterAlignXOffset(1, titleText, 144);
|
||||
xOffset = GetStringCenterAlignXOffset(FONT_NORMAL, titleText, 144);
|
||||
FillWindowPixelBuffer(0, PIXEL_FILL(0));
|
||||
PrintEasyChatTextWithColors(0, 1, titleText, xOffset, 1, TEXT_SPEED_FF, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_LIGHT_GRAY);
|
||||
PrintEasyChatTextWithColors(0, FONT_NORMAL, titleText, xOffset, 1, TEXT_SPEED_FF, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_LIGHT_GRAY);
|
||||
PutWindowTilemap(0);
|
||||
CopyWindowToVram(0, 3);
|
||||
}
|
||||
@ -4003,10 +4003,10 @@ static void PrintEasyChatStdMessage(u8 msgId)
|
||||
|
||||
FillWindowPixelBuffer(1, PIXEL_FILL(1));
|
||||
if (text1)
|
||||
PrintEasyChatText(1, 1, text1, 0, 1, TEXT_SPEED_FF, 0);
|
||||
PrintEasyChatText(1, FONT_NORMAL, text1, 0, 1, TEXT_SPEED_FF, 0);
|
||||
|
||||
if (text2)
|
||||
PrintEasyChatText(1, 1, text2, 0, 17, TEXT_SPEED_FF, 0);
|
||||
PrintEasyChatText(1, FONT_NORMAL, text2, 0, 17, TEXT_SPEED_FF, 0);
|
||||
|
||||
CopyWindowToVram(1, 3);
|
||||
}
|
||||
@ -4099,7 +4099,7 @@ static void PrintCurrentPhrase(void)
|
||||
}
|
||||
|
||||
*str = EOS;
|
||||
PrintEasyChatText(sScreenControl->windowId, 1, sScreenControl->phrasePrintBuffer, 0, i * 16 + 1, TEXT_SPEED_FF, 0);
|
||||
PrintEasyChatText(sScreenControl->windowId, FONT_NORMAL, sScreenControl->phrasePrintBuffer, 0, i * 16 + 1, TEXT_SPEED_FF, 0);
|
||||
}
|
||||
|
||||
CopyWindowToVram(sScreenControl->windowId, 3);
|
||||
@ -4245,7 +4245,7 @@ static void PrintKeyboardGroupNames(void)
|
||||
return;
|
||||
}
|
||||
|
||||
PrintEasyChatText(2, 1, GetEasyChatWordGroupName(groupId), x * 84 + 10, y, TEXT_SPEED_FF, NULL);
|
||||
PrintEasyChatText(2, FONT_NORMAL, GetEasyChatWordGroupName(groupId), x * 84 + 10, y, TEXT_SPEED_FF, NULL);
|
||||
}
|
||||
|
||||
y += 16;
|
||||
@ -4257,7 +4257,7 @@ static void PrintKeyboardAlphabet(void)
|
||||
u32 i;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(sEasyChatKeyboardAlphabet); i++)
|
||||
PrintEasyChatText(2, 1, sEasyChatKeyboardAlphabet[i], 10, 97 + i * 16, TEXT_SPEED_FF, NULL);
|
||||
PrintEasyChatText(2, FONT_NORMAL, sEasyChatKeyboardAlphabet[i], 10, 97 + i * 16, TEXT_SPEED_FF, NULL);
|
||||
}
|
||||
|
||||
static void PrintInitialWordSelectText(void)
|
||||
@ -4328,9 +4328,9 @@ static void PrintWordSelectText(u8 scrollOffset, u8 numRows)
|
||||
{
|
||||
CopyEasyChatWordPadded(sScreenControl->wordSelectPrintBuffer, easyChatWord, 0);
|
||||
if (!DummyWordCheck(easyChatWord))
|
||||
PrintEasyChatText(2, 1, sScreenControl->wordSelectPrintBuffer, (j * 13 + 3) * 8, y, TEXT_SPEED_FF, NULL);
|
||||
PrintEasyChatText(2, FONT_NORMAL, sScreenControl->wordSelectPrintBuffer, (j * 13 + 3) * 8, y, TEXT_SPEED_FF, NULL);
|
||||
else // Never reached
|
||||
PrintEasyChatTextWithColors(2, 1, sScreenControl->wordSelectPrintBuffer, (j * 13 + 3) * 8, y, TEXT_SPEED_FF, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_RED, TEXT_COLOR_LIGHT_GRAY);
|
||||
PrintEasyChatTextWithColors(2, FONT_NORMAL, sScreenControl->wordSelectPrintBuffer, (j * 13 + 3) * 8, y, TEXT_SPEED_FF, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_RED, TEXT_COLOR_LIGHT_GRAY);
|
||||
}
|
||||
}
|
||||
|
||||
@ -5082,7 +5082,7 @@ static void AddMainScreenButtonWindow(void)
|
||||
if (str)
|
||||
{
|
||||
int x = sFooterOptionXOffsets[footerIndex][i];
|
||||
PrintEasyChatText(windowId, 1, str, x, 1, 0, NULL);
|
||||
PrintEasyChatText(windowId, FONT_NORMAL, str, x, 1, 0, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -866,7 +866,7 @@ static void EggHatchPrintMessage(u8 windowId, u8* string, u8 x, u8 y, u8 speed)
|
||||
sEggHatchData->textColor[0] = 0;
|
||||
sEggHatchData->textColor[1] = 5;
|
||||
sEggHatchData->textColor[2] = 6;
|
||||
AddTextPrinterParameterized4(windowId, 1, x, y, 0, 0, sEggHatchData->textColor, speed, string);
|
||||
AddTextPrinterParameterized4(windowId, FONT_NORMAL, x, y, 0, 0, sEggHatchData->textColor, speed, string);
|
||||
}
|
||||
|
||||
u8 GetEggCyclesToSubtract(void)
|
||||
|
||||
@ -5065,7 +5065,7 @@ static void InitMovementNormal(struct ObjectEvent *objectEvent, struct Sprite *s
|
||||
|
||||
static void StartRunningAnim(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction)
|
||||
{
|
||||
InitNpcForMovement(objectEvent, sprite, direction, 1);
|
||||
InitNpcForMovement(objectEvent, sprite, direction, MOVE_SPEED_FAST_1);
|
||||
SetStepAnimHandleAlternation(objectEvent, sprite, GetRunningDirectionAnimNum(objectEvent->facingDirection));
|
||||
}
|
||||
|
||||
@ -8223,15 +8223,19 @@ static const SpriteStepFunc sStep8Funcs[] = {
|
||||
};
|
||||
|
||||
static const SpriteStepFunc *const sNpcStepFuncTables[] = {
|
||||
sStep1Funcs,
|
||||
sStep2Funcs,
|
||||
sStep3Funcs,
|
||||
sStep4Funcs,
|
||||
sStep8Funcs,
|
||||
[MOVE_SPEED_NORMAL] = sStep1Funcs,
|
||||
[MOVE_SPEED_FAST_1] = sStep2Funcs,
|
||||
[MOVE_SPEED_FAST_2] = sStep3Funcs,
|
||||
[MOVE_SPEED_FASTER] = sStep4Funcs,
|
||||
[MOVE_SPEED_FASTEST] = sStep8Funcs,
|
||||
};
|
||||
|
||||
static const s16 sStepTimes[] = {
|
||||
16, 8, 6, 4, 2
|
||||
[MOVE_SPEED_NORMAL] = 16,
|
||||
[MOVE_SPEED_FAST_1] = 8,
|
||||
[MOVE_SPEED_FAST_2] = 6,
|
||||
[MOVE_SPEED_FASTER] = 4,
|
||||
[MOVE_SPEED_FASTEST] = 2,
|
||||
};
|
||||
|
||||
static bool8 NpcTakeStep(struct Sprite *sprite)
|
||||
|
||||
@ -1805,7 +1805,7 @@ static bool8 Fishing_ShowDots(struct Task *task)
|
||||
}
|
||||
else
|
||||
{
|
||||
AddTextPrinterParameterized(0, 1, dot, task->tNumDots * 8, 1, 0, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, dot, task->tNumDots * 8, 1, 0, NULL);
|
||||
task->tNumDots++;
|
||||
}
|
||||
}
|
||||
@ -1854,7 +1854,7 @@ static bool8 Fishing_CheckForBite(struct Task *task)
|
||||
static bool8 Fishing_GotBite(struct Task *task)
|
||||
{
|
||||
AlignFishingAnimationFrames();
|
||||
AddTextPrinterParameterized(0, 1, gText_OhABite, 0, 17, 0, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, gText_OhABite, 0, 17, 0, NULL);
|
||||
task->tStep++;
|
||||
task->tFrameCounter = 0;
|
||||
return FALSE;
|
||||
@ -1909,7 +1909,7 @@ static bool8 Fishing_MonOnHook(struct Task *task)
|
||||
{
|
||||
AlignFishingAnimationFrames();
|
||||
FillWindowPixelBuffer(0, PIXEL_FILL(1));
|
||||
AddTextPrinterParameterized2(0, 1, gText_PokemonOnHook, 1, 0, 2, 1, 3);
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, gText_PokemonOnHook, 1, 0, 2, 1, 3);
|
||||
task->tStep++;
|
||||
task->tFrameCounter = 0;
|
||||
return FALSE;
|
||||
@ -1956,7 +1956,7 @@ static bool8 Fishing_NotEvenNibble(struct Task *task)
|
||||
AlignFishingAnimationFrames();
|
||||
StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetFishingNoCatchDirectionAnimNum(GetPlayerFacingDirection()));
|
||||
FillWindowPixelBuffer(0, PIXEL_FILL(1));
|
||||
AddTextPrinterParameterized2(0, 1, gText_NotEvenANibble, 1, 0, 2, 1, 3);
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, gText_NotEvenANibble, 1, 0, 2, 1, 3);
|
||||
task->tStep = FISHING_SHOW_RESULT;
|
||||
return TRUE;
|
||||
}
|
||||
@ -1966,7 +1966,7 @@ static bool8 Fishing_GotAway(struct Task *task)
|
||||
AlignFishingAnimationFrames();
|
||||
StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetFishingNoCatchDirectionAnimNum(GetPlayerFacingDirection()));
|
||||
FillWindowPixelBuffer(0, PIXEL_FILL(1));
|
||||
AddTextPrinterParameterized2(0, 1, gText_ItGotAway, 1, 0, 2, 1, 3);
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, gText_ItGotAway, 1, 0, 2, 1, 3);
|
||||
task->tStep++;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -151,8 +151,8 @@ static void FieldUpdateRegionMap(void)
|
||||
break;
|
||||
case 1:
|
||||
DrawStdFrameWithCustomTileAndPalette(1, 0, 0x27, 0xd);
|
||||
offset = GetStringCenterAlignXOffset(1, gText_Hoenn, 0x38);
|
||||
AddTextPrinterParameterized(1, 1, gText_Hoenn, offset, 1, 0, NULL);
|
||||
offset = GetStringCenterAlignXOffset(FONT_NORMAL, gText_Hoenn, 0x38);
|
||||
AddTextPrinterParameterized(1, FONT_NORMAL, gText_Hoenn, offset, 1, 0, NULL);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
DrawStdFrameWithCustomTileAndPalette(0, 0, 0x27, 0xd);
|
||||
PrintRegionMapSecName();
|
||||
@ -207,7 +207,7 @@ static void PrintRegionMapSecName(void)
|
||||
if (sFieldRegionMapHandler->regionMap.mapSecType != MAPSECTYPE_NONE)
|
||||
{
|
||||
FillWindowPixelBuffer(0, PIXEL_FILL(1));
|
||||
AddTextPrinterParameterized(0, 1, sFieldRegionMapHandler->regionMap.mapSecName, 0, 1, 0, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, sFieldRegionMapHandler->regionMap.mapSecName, 0, 1, 0, NULL);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
}
|
||||
else
|
||||
|
||||
@ -1910,11 +1910,11 @@ void ShowDeptStoreElevatorFloorSelect(void)
|
||||
sTutorMoveAndElevatorWindowId = AddWindow(&gElevatorFloor_WindowTemplate);
|
||||
SetStandardWindowBorderStyle(sTutorMoveAndElevatorWindowId, 0);
|
||||
|
||||
xPos = GetStringCenterAlignXOffset(1, gText_ElevatorNowOn, 64);
|
||||
AddTextPrinterParameterized(sTutorMoveAndElevatorWindowId, 1, gText_ElevatorNowOn, xPos, 1, TEXT_SPEED_FF, NULL);
|
||||
xPos = GetStringCenterAlignXOffset(FONT_NORMAL, gText_ElevatorNowOn, 64);
|
||||
AddTextPrinterParameterized(sTutorMoveAndElevatorWindowId, FONT_NORMAL, gText_ElevatorNowOn, xPos, 1, TEXT_SPEED_FF, NULL);
|
||||
|
||||
xPos = GetStringCenterAlignXOffset(1, gDeptStoreFloorNames[gSpecialVar_0x8005], 64);
|
||||
AddTextPrinterParameterized(sTutorMoveAndElevatorWindowId, 1, gDeptStoreFloorNames[gSpecialVar_0x8005], xPos, 17, TEXT_SPEED_FF, NULL);
|
||||
xPos = GetStringCenterAlignXOffset(FONT_NORMAL, gDeptStoreFloorNames[gSpecialVar_0x8005], 64);
|
||||
AddTextPrinterParameterized(sTutorMoveAndElevatorWindowId, FONT_NORMAL, gDeptStoreFloorNames[gSpecialVar_0x8005], xPos, 17, TEXT_SPEED_FF, NULL);
|
||||
|
||||
PutWindowTilemap(sTutorMoveAndElevatorWindowId);
|
||||
CopyWindowToVram(sTutorMoveAndElevatorWindowId, 3);
|
||||
@ -2653,7 +2653,7 @@ static void InitScrollableMultichoice(void)
|
||||
gScrollableMultichoice_ListMenuTemplate.lettersSpacing = 0;
|
||||
gScrollableMultichoice_ListMenuTemplate.itemVerticalPadding = 0;
|
||||
gScrollableMultichoice_ListMenuTemplate.scrollMultiple = 0;
|
||||
gScrollableMultichoice_ListMenuTemplate.fontId = 1;
|
||||
gScrollableMultichoice_ListMenuTemplate.fontId = FONT_NORMAL;
|
||||
gScrollableMultichoice_ListMenuTemplate.cursorKind = 0;
|
||||
}
|
||||
|
||||
@ -2957,8 +2957,8 @@ void UpdateBattlePointsWindow(void)
|
||||
u8 string[32];
|
||||
u32 x;
|
||||
StringCopy(ConvertIntToDecimalStringN(string, gSaveBlock2Ptr->frontier.battlePoints, STR_CONV_MODE_RIGHT_ALIGN, 4), gText_BP);
|
||||
x = GetStringRightAlignXOffset(1, string, 48);
|
||||
AddTextPrinterParameterized(sBattlePointsWindowId, 1, string, x, 1, 0, NULL);
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, string, 48);
|
||||
AddTextPrinterParameterized(sBattlePointsWindowId, FONT_NORMAL, string, x, 1, 0, NULL);
|
||||
}
|
||||
|
||||
void ShowBattlePointsWindow(void)
|
||||
@ -3047,7 +3047,7 @@ static void FillFrontierExchangeCornerWindowAndItemIcon(u16 menu, u16 selection)
|
||||
switch (menu)
|
||||
{
|
||||
case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1:
|
||||
AddTextPrinterParameterized2(0, 1, sFrontierExchangeCorner_Decor1Descriptions[selection], 0, NULL, 2, 1, 3);
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, sFrontierExchangeCorner_Decor1Descriptions[selection], 0, NULL, 2, 1, 3);
|
||||
if (sFrontierExchangeCorner_Decor1[selection] == 0xFFFF)
|
||||
{
|
||||
ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_Decor1[selection]);
|
||||
@ -3060,7 +3060,7 @@ static void FillFrontierExchangeCornerWindowAndItemIcon(u16 menu, u16 selection)
|
||||
}
|
||||
break;
|
||||
case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2:
|
||||
AddTextPrinterParameterized2(0, 1, sFrontierExchangeCorner_Decor2Descriptions[selection], 0, NULL, 2, 1, 3);
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, sFrontierExchangeCorner_Decor2Descriptions[selection], 0, NULL, 2, 1, 3);
|
||||
if (sFrontierExchangeCorner_Decor2[selection] == 0xFFFF)
|
||||
{
|
||||
ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_Decor2[selection]);
|
||||
@ -3073,11 +3073,11 @@ static void FillFrontierExchangeCornerWindowAndItemIcon(u16 menu, u16 selection)
|
||||
}
|
||||
break;
|
||||
case SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR:
|
||||
AddTextPrinterParameterized2(0, 1, sFrontierExchangeCorner_VitaminsDescriptions[selection], 0, NULL, 2, 1, 3);
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, sFrontierExchangeCorner_VitaminsDescriptions[selection], 0, NULL, 2, 1, 3);
|
||||
ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_Vitamins[selection]);
|
||||
break;
|
||||
case SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR:
|
||||
AddTextPrinterParameterized2(0, 1, sFrontierExchangeCorner_HoldItemsDescriptions[selection], 0, NULL, 2, 1, 3);
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, sFrontierExchangeCorner_HoldItemsDescriptions[selection], 0, NULL, 2, 1, 3);
|
||||
ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_HoldItems[selection]);
|
||||
break;
|
||||
}
|
||||
@ -3216,11 +3216,11 @@ static void ShowBattleFrontierTutorMoveDescription(u8 menu, u16 selection)
|
||||
FillWindowPixelRect(sTutorMoveAndElevatorWindowId, PIXEL_FILL(1), 0, 0, 96, 48);
|
||||
if (menu == SCROLL_MULTI_BF_MOVE_TUTOR_2)
|
||||
{
|
||||
AddTextPrinterParameterized(sTutorMoveAndElevatorWindowId, 1, sBattleFrontier_TutorMoveDescriptions2[selection], 0, 1, 0, NULL);
|
||||
AddTextPrinterParameterized(sTutorMoveAndElevatorWindowId, FONT_NORMAL, sBattleFrontier_TutorMoveDescriptions2[selection], 0, 1, 0, NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
AddTextPrinterParameterized(sTutorMoveAndElevatorWindowId, 1, sBattleFrontier_TutorMoveDescriptions1[selection], 0, 1, 0, NULL);
|
||||
AddTextPrinterParameterized(sTutorMoveAndElevatorWindowId, FONT_NORMAL, sBattleFrontier_TutorMoveDescriptions1[selection], 0, 1, 0, NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3244,9 +3244,9 @@ void ScrollableMultichoice_RedrawPersistentMenu(void)
|
||||
SetStandardWindowBorderStyle(task->tWindowId, 0);
|
||||
|
||||
for (i = 0; i < MAX_SCROLL_MULTI_ON_SCREEN; i++)
|
||||
AddTextPrinterParameterized5(task->tWindowId, 1, sScrollableMultichoiceOptions[gSpecialVar_0x8004][scrollOffset + i], 10, i * 16, TEXT_SPEED_FF, NULL, 0, 0);
|
||||
AddTextPrinterParameterized5(task->tWindowId, FONT_NORMAL, sScrollableMultichoiceOptions[gSpecialVar_0x8004][scrollOffset + i], 10, i * 16, TEXT_SPEED_FF, NULL, 0, 0);
|
||||
|
||||
AddTextPrinterParameterized(task->tWindowId, 1, gText_SelectorArrow, 0, selectedRow * 16, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(task->tWindowId, FONT_NORMAL, gText_SelectorArrow, 0, selectedRow * 16, TEXT_SPEED_FF, NULL);
|
||||
PutWindowTilemap(task->tWindowId);
|
||||
CopyWindowToVram(task->tWindowId, 3);
|
||||
}
|
||||
|
||||
292
src/fonts.c
Normal file
@ -0,0 +1,292 @@
|
||||
#include "global.h"
|
||||
|
||||
ALIGNED(4) const u16 gFontSmallNarrowLatinGlyphs[] = INCBIN_U16("graphics/fonts/small_narrow.latfont");
|
||||
ALIGNED(4) const u8 gFontSmallNarrowLatinGlyphWidths[] = {
|
||||
3, 5, 5, 5, 5, 5, 5, 5, 5, 4, 3, 4, 4, 5, 5, 5,
|
||||
5, 5, 5, 5, 5, 5, 5, 5, 3, 4, 5, 5, 5, 5, 4, 3,
|
||||
4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 5, 6, 3,
|
||||
3, 3, 3, 3, 8, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
5, 5, 3, 8, 8, 8, 8, 8, 8, 8, 4, 5, 4, 4, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 3, 3, 3, 3, 3, 4,
|
||||
3, 3, 3, 3, 3, 3, 3, 5, 3, 8, 8, 8, 8, 1, 2, 3,
|
||||
4, 5, 6, 7, 5, 5, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
7, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5, 3, 5, 5,
|
||||
5, 5, 5, 3, 3, 5, 5, 5, 3, 5, 5, 5, 5, 5, 5, 5,
|
||||
5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5,
|
||||
5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 5,
|
||||
4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 7,
|
||||
3, 5, 5, 5, 5, 5, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 3,
|
||||
};
|
||||
|
||||
ALIGNED(4) const u16 gFontSmallLatinGlyphs[] = INCBIN_U16("graphics/fonts/small.latfont");
|
||||
ALIGNED(4) const u8 gFontSmallLatinGlyphWidths[] = {
|
||||
3, 5, 5, 5, 5, 5, 5, 5, 5, 4, 3, 4, 4, 5, 5, 5,
|
||||
5, 5, 5, 5, 5, 5, 5, 5, 3, 5, 5, 5, 5, 5, 4, 3,
|
||||
4, 4, 5, 5, 5, 6, 5, 5, 5, 5, 5, 5, 8, 7, 8, 3,
|
||||
3, 3, 3, 3, 8, 8, 7, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
5, 5, 5, 8, 8, 8, 8, 8, 8, 8, 4, 7, 5, 5, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 3, 3, 3, 3, 3, 4,
|
||||
3, 3, 3, 3, 3, 3, 3, 5, 3, 8, 8, 8, 8, 1, 2, 3,
|
||||
4, 5, 6, 7, 5, 7, 7, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
8, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5, 5, 5, 5,
|
||||
5, 5, 5, 5, 5, 5, 5, 8, 5, 8, 5, 5, 5, 5, 5, 5,
|
||||
5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5,
|
||||
5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5, 5,
|
||||
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8,
|
||||
7, 5, 5, 5, 5, 5, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 3,
|
||||
};
|
||||
|
||||
ALIGNED(4) const u16 gFontNarrowLatinGlyphs[] = INCBIN_U16("graphics/fonts/narrow.latfont");
|
||||
ALIGNED(4) const u8 gFontNarrowLatinGlyphWidths[] = {
|
||||
3, 5, 5, 5, 5, 5, 5, 5, 5, 4, 3, 4, 4, 5, 5, 5,
|
||||
8, 5, 5, 5, 5, 6, 5, 5, 3, 5, 5, 5, 5, 5, 4, 3,
|
||||
4, 4, 5, 5, 5, 8, 5, 5, 5, 5, 5, 6, 9, 6, 6, 3,
|
||||
3, 3, 3, 3, 8, 8, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
5, 5, 4, 8, 8, 8, 7, 8, 8, 4, 4, 6, 4, 4, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 3, 3, 3, 3, 3, 4,
|
||||
3, 3, 3, 3, 3, 3, 3, 5, 3, 7, 7, 7, 7, 1, 2, 3,
|
||||
4, 5, 6, 7, 5, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
8, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5, 3, 5, 3,
|
||||
5, 5, 5, 3, 3, 5, 5, 6, 3, 6, 6, 5, 5, 5, 5, 5,
|
||||
5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
|
||||
5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5, 5,
|
||||
4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8,
|
||||
3, 5, 5, 5, 5, 5, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
10, 10, 10, 10, 8, 8, 10, 8, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 3,
|
||||
};
|
||||
|
||||
ALIGNED(4) const u16 gFontShortLatinGlyphs[] = INCBIN_U16("graphics/fonts/short.latfont");
|
||||
ALIGNED(4) const u8 gFontShortLatinGlyphWidths[] = {
|
||||
3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 3, 6, 6, 6, 6, 6,
|
||||
8, 6, 6, 6, 6, 6, 6, 6, 3, 6, 6, 6, 6, 6, 6, 3,
|
||||
6, 6, 6, 6, 6, 8, 6, 6, 6, 6, 6, 6, 9, 8, 8, 3,
|
||||
3, 3, 3, 3, 10, 8, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
6, 6, 6, 8, 8, 8, 8, 8, 8, 4, 6, 8, 5, 5, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 6, 3, 3, 3, 3, 3, 3, 6,
|
||||
3, 3, 3, 3, 3, 3, 3, 6, 3, 12, 12, 12, 12, 1, 2, 3,
|
||||
4, 5, 6, 7, 8, 8, 8, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
8, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 5,
|
||||
6, 6, 6, 3, 3, 6, 6, 8, 5, 9, 6, 6, 6, 6, 6, 6,
|
||||
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
|
||||
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 6, 4, 6, 5,
|
||||
5, 6, 5, 6, 6, 6, 5, 5, 5, 6, 6, 6, 6, 6, 6, 8,
|
||||
5, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
12, 12, 12, 12, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 3,
|
||||
};
|
||||
|
||||
ALIGNED(4) const u16 gFontNormalLatinGlyphs[] = INCBIN_U16("graphics/fonts/normal.latfont");
|
||||
ALIGNED(4) const u8 gFontNormalLatinGlyphWidths[] = {
|
||||
3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 3, 6, 6, 6, 6, 6,
|
||||
8, 6, 6, 6, 6, 6, 6, 6, 3, 6, 6, 6, 6, 6, 6, 3,
|
||||
6, 6, 6, 6, 6, 8, 6, 6, 6, 6, 6, 6, 9, 7, 6, 3,
|
||||
3, 3, 3, 3, 10, 8, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
6, 6, 4, 8, 8, 8, 7, 8, 8, 4, 6, 6, 4, 4, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 6, 3, 3, 3, 3, 3, 3, 6,
|
||||
3, 3, 3, 3, 3, 3, 3, 6, 3, 7, 7, 7, 7, 1, 2, 3,
|
||||
4, 5, 6, 7, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
8, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, 6, 3, 6, 3,
|
||||
6, 6, 6, 3, 3, 6, 6, 6, 3, 7, 6, 6, 6, 6, 6, 6,
|
||||
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
|
||||
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, 5, 6,
|
||||
4, 6, 6, 6, 6, 6, 5, 6, 6, 6, 6, 6, 6, 6, 6, 8,
|
||||
3, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
10, 10, 10, 10, 8, 10, 10, 8, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 3,
|
||||
};
|
||||
|
||||
ALIGNED(4) const u16 gFontSmallJapaneseGlyphs[] = INCBIN_U16("graphics/fonts/small.hwjpnfont");
|
||||
ALIGNED(4) const u16 gFontNormalJapaneseGlyphs[] = INCBIN_U16("graphics/fonts/normal.hwjpnfont");
|
||||
|
||||
ALIGNED(4) const u16 gFontFRLGMaleJapaneseGlyphs[] = INCBIN_U16("graphics/fonts/frlg_male.fwjpnfont");
|
||||
ALIGNED(4) const u8 gFontFRLGMaleJapaneseGlyphWidths[] = {
|
||||
0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9,
|
||||
9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
9, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 5, 9, 10, 10, 10,
|
||||
8, 10, 10, 10, 10, 8, 8, 8, 10, 10, 8, 6, 6, 6, 6, 6,
|
||||
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
|
||||
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 6, 2, 4, 6,
|
||||
3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
|
||||
5, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
};
|
||||
|
||||
ALIGNED(4) const u16 gFontFRLGFemaleJapaneseGlyphs[] = INCBIN_U16("graphics/fonts/frlg_female.fwjpnfont");
|
||||
ALIGNED(4) const u8 gFontFRLGFemaleJapaneseGlyphWidths[] = {
|
||||
0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9,
|
||||
9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9,
|
||||
9, 9, 9, 9, 9, 9, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
9, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 5, 9, 10, 10, 10,
|
||||
8, 10, 10, 10, 10, 8, 8, 8, 10, 10, 8, 6, 6, 6, 6, 6,
|
||||
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
|
||||
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 6, 2, 4, 6,
|
||||
3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
|
||||
5, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
};
|
||||
|
||||
ALIGNED(4) const u16 gFontShortJapaneseGlyphs[] = INCBIN_U16("graphics/fonts/short.fwjpnfont");
|
||||
ALIGNED(4) const u8 gFontShortJapaneseGlyphWidths[] = {
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9,
|
||||
9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9,
|
||||
9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 5, 9, 10, 10, 10,
|
||||
8, 10, 10, 10, 10, 8, 8, 8, 10, 10, 8, 6, 6, 6, 6, 6,
|
||||
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
|
||||
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 6, 2, 4, 6,
|
||||
3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
|
||||
5, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
|
||||
};
|
||||
@ -1150,16 +1150,16 @@ static void ShowAndPrintWindows(void)
|
||||
FillWindowPixelBuffer(i, PIXEL_FILL(0));
|
||||
}
|
||||
|
||||
x = GetStringCenterAlignXOffset(1, gText_SymbolsEarned, 96);
|
||||
AddTextPrinterParameterized3(WINDOW_EARNED_SYMBOLS, 1, x, 5, sTextColors[0], 0, gText_SymbolsEarned);
|
||||
x = GetStringCenterAlignXOffset(FONT_NORMAL, gText_SymbolsEarned, 96);
|
||||
AddTextPrinterParameterized3(WINDOW_EARNED_SYMBOLS, FONT_NORMAL, x, 5, sTextColors[0], 0, gText_SymbolsEarned);
|
||||
|
||||
x = GetStringCenterAlignXOffset(1, gText_BattleRecord, 96);
|
||||
AddTextPrinterParameterized3(WINDOW_BATTLE_RECORD, 1, x, 5, sTextColors[0], 0, gText_BattleRecord);
|
||||
x = GetStringCenterAlignXOffset(FONT_NORMAL, gText_BattleRecord, 96);
|
||||
AddTextPrinterParameterized3(WINDOW_BATTLE_RECORD, FONT_NORMAL, x, 5, sTextColors[0], 0, gText_BattleRecord);
|
||||
|
||||
AddTextPrinterParameterized3(WINDOW_BATTLE_POINTS, 8, 5, 4, sTextColors[0], 0, gText_BattlePoints);
|
||||
AddTextPrinterParameterized3(WINDOW_BATTLE_POINTS, FONT_SMALL_NARROW, 5, 4, sTextColors[0], 0, gText_BattlePoints);
|
||||
ConvertIntToDecimalStringN(gStringVar4, sPassData->battlePoints, STR_CONV_MODE_LEFT_ALIGN, 5);
|
||||
x = GetStringRightAlignXOffset(8, gStringVar4, 91);
|
||||
AddTextPrinterParameterized3(WINDOW_BATTLE_POINTS, 8, x, 16, sTextColors[0], 0, gStringVar4);
|
||||
x = GetStringRightAlignXOffset(FONT_SMALL_NARROW, gStringVar4, 91);
|
||||
AddTextPrinterParameterized3(WINDOW_BATTLE_POINTS, FONT_SMALL_NARROW, x, 16, sTextColors[0], 0, gStringVar4);
|
||||
|
||||
sPassData->cursorArea = GetCursorAreaFromCoords(sPassData->cursorX - 5, sPassData->cursorY + 5);
|
||||
sPassData->previousCursorArea = CURSOR_AREA_NOTHING;
|
||||
@ -1176,9 +1176,9 @@ static void PrintAreaDescription(u8 cursorArea)
|
||||
FillWindowPixelBuffer(WINDOW_DESCRIPTION, PIXEL_FILL(0));
|
||||
|
||||
if (cursorArea == CURSOR_AREA_RECORD && !sPassData->hasBattleRecord)
|
||||
AddTextPrinterParameterized3(WINDOW_DESCRIPTION, 1, 2, 0, sTextColors[1], 0, sPassAreaDescriptions[CURSOR_AREA_NOTHING]);
|
||||
AddTextPrinterParameterized3(WINDOW_DESCRIPTION, FONT_NORMAL, 2, 0, sTextColors[1], 0, sPassAreaDescriptions[CURSOR_AREA_NOTHING]);
|
||||
else if (cursorArea != CURSOR_AREA_NOTHING)
|
||||
AddTextPrinterParameterized3(WINDOW_DESCRIPTION, 1, 2, 0, sTextColors[1], 0, sPassAreaDescriptions[cursorArea]);
|
||||
AddTextPrinterParameterized3(WINDOW_DESCRIPTION, FONT_NORMAL, 2, 0, sTextColors[1], 0, sPassAreaDescriptions[cursorArea]);
|
||||
|
||||
CopyWindowToVram(WINDOW_DESCRIPTION, 3);
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
@ -1715,12 +1715,12 @@ static void PrintOnFrontierMap(void)
|
||||
for (i = 0; i < NUM_FRONTIER_FACILITIES; i++)
|
||||
{
|
||||
if (i == sMapData->cursorPos)
|
||||
AddTextPrinterParameterized3(MAP_WINDOW_NAME, 7, 4, (i * 16) + 1, sTextColors[2], 0, sMapLandmarks[i].name);
|
||||
AddTextPrinterParameterized3(MAP_WINDOW_NAME, FONT_NARROW, 4, (i * 16) + 1, sTextColors[2], 0, sMapLandmarks[i].name);
|
||||
else
|
||||
AddTextPrinterParameterized3(MAP_WINDOW_NAME, 7, 4, (i * 16) + 1, sTextColors[1], 0, sMapLandmarks[i].name);
|
||||
AddTextPrinterParameterized3(MAP_WINDOW_NAME, FONT_NARROW, 4, (i * 16) + 1, sTextColors[1], 0, sMapLandmarks[i].name);
|
||||
}
|
||||
|
||||
AddTextPrinterParameterized3(MAP_WINDOW_DESCRIPTION, 1, 4, 0, sTextColors[0], 0, sMapLandmarks[sMapData->cursorPos].description);
|
||||
AddTextPrinterParameterized3(MAP_WINDOW_DESCRIPTION, FONT_NORMAL, 4, 0, sTextColors[0], 0, sMapLandmarks[sMapData->cursorPos].description);
|
||||
|
||||
for (i = 0; i < MAP_WINDOW_COUNT; i++)
|
||||
CopyWindowToVram(i, 3);
|
||||
@ -1743,8 +1743,8 @@ static void HandleFrontierMapCursorMove(u8 direction)
|
||||
sMapData->cursorPos = (oldCursorPos + 1) % NUM_FRONTIER_FACILITIES;
|
||||
}
|
||||
|
||||
AddTextPrinterParameterized3(MAP_WINDOW_NAME, 7, 4, (oldCursorPos * 16) + 1, sTextColors[1], 0, sMapLandmarks[oldCursorPos].name);
|
||||
AddTextPrinterParameterized3(MAP_WINDOW_NAME, 7, 4, (sMapData->cursorPos * 16) + 1, sTextColors[2], 0, sMapLandmarks[sMapData->cursorPos].name);
|
||||
AddTextPrinterParameterized3(MAP_WINDOW_NAME, FONT_NARROW, 4, (oldCursorPos * 16) + 1, sTextColors[1], 0, sMapLandmarks[oldCursorPos].name);
|
||||
AddTextPrinterParameterized3(MAP_WINDOW_NAME, FONT_NARROW, 4, (sMapData->cursorPos * 16) + 1, sTextColors[2], 0, sMapLandmarks[sMapData->cursorPos].name);
|
||||
|
||||
sMapData->cursorSprite->y = (sMapData->cursorPos * 16) + 8;
|
||||
|
||||
@ -1752,7 +1752,7 @@ static void HandleFrontierMapCursorMove(u8 direction)
|
||||
sMapData->mapIndicatorSprite->x = sMapLandmarks[sMapData->cursorPos].x;
|
||||
sMapData->mapIndicatorSprite->y = sMapLandmarks[sMapData->cursorPos].y;
|
||||
FillWindowPixelBuffer(MAP_WINDOW_DESCRIPTION, PIXEL_FILL(0));
|
||||
AddTextPrinterParameterized3(MAP_WINDOW_DESCRIPTION, 1, 4, 0, sTextColors[0], 0, sMapLandmarks[sMapData->cursorPos].description);
|
||||
AddTextPrinterParameterized3(MAP_WINDOW_DESCRIPTION, FONT_NORMAL, 4, 0, sTextColors[0], 0, sMapLandmarks[sMapData->cursorPos].description);
|
||||
|
||||
for (i = 0; i < MAP_WINDOW_COUNT; i++)
|
||||
CopyWindowToVram(i, 3);
|
||||
|
||||
@ -958,9 +958,9 @@ static bool8 IsWinStreakActive(u32 challenge)
|
||||
|
||||
static void PrintAligned(const u8 *str, s32 y)
|
||||
{
|
||||
s32 x = GetStringCenterAlignXOffset(1, str, 224);
|
||||
s32 x = GetStringCenterAlignXOffset(FONT_NORMAL, str, 224);
|
||||
y = (y * 8) + 1;
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, str, x, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str, x, y, TEXT_SPEED_FF, NULL);
|
||||
}
|
||||
|
||||
static void PrintHyphens(s32 y)
|
||||
@ -973,18 +973,18 @@ static void PrintHyphens(s32 y)
|
||||
text[i] = EOS;
|
||||
|
||||
y = (y * 8) + 1;
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, text, 4, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, text, 4, y, TEXT_SPEED_FF, NULL);
|
||||
}
|
||||
|
||||
// Battle Tower records.
|
||||
static void TowerPrintStreak(const u8 *str, u16 num, u8 x1, u8 x2, u8 y)
|
||||
{
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, str, x1, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str, x1, y, TEXT_SPEED_FF, NULL);
|
||||
if (num > MAX_STREAK)
|
||||
num = MAX_STREAK;
|
||||
ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_RIGHT_ALIGN, 4);
|
||||
StringExpandPlaceholders(gStringVar4, gText_WinStreak);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
|
||||
}
|
||||
|
||||
static void TowerPrintRecordStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x2, u8 y)
|
||||
@ -1056,8 +1056,8 @@ static void ShowTowerResultsWindow(u8 battleMode)
|
||||
StringExpandPlaceholders(gStringVar4, gText_LinkMultiBattleRoomResults);
|
||||
|
||||
PrintAligned(gStringVar4, 2);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gText_Lv502, 16, 49, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gText_OpenLv, 16, 97, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Lv502, 16, 49, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_OpenLv, 16, 97, TEXT_SPEED_FF, NULL);
|
||||
PrintHyphens(10);
|
||||
TowerPrintPrevOrCurrentStreak(battleMode, FRONTIER_LVL_50, 72, 132, 49);
|
||||
TowerPrintRecordStreak(battleMode, FRONTIER_LVL_50, 72, 132, 65);
|
||||
@ -1079,10 +1079,10 @@ static u16 DomeGetWinStreak(u8 battleMode, u8 lvlMode)
|
||||
|
||||
static void PrintTwoStrings(const u8 *str1, const u8 *str2, u16 num, u8 x1, u8 x2, u8 y)
|
||||
{
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, str1, x1, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str1, x1, y, TEXT_SPEED_FF, NULL);
|
||||
ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_RIGHT_ALIGN, 4);
|
||||
StringExpandPlaceholders(gStringVar4, str2);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
|
||||
}
|
||||
|
||||
static void DomePrintPrevOrCurrentStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x2, u8 y)
|
||||
@ -1123,8 +1123,8 @@ static void ShowDomeResultsWindow(u8 battleMode)
|
||||
StringExpandPlaceholders(gStringVar4, gText_DoubleBattleTourneyResults);
|
||||
|
||||
PrintAligned(gStringVar4, 0);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gText_Lv502, 8, 33, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gText_OpenLv, 8, 97, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Lv502, 8, 33, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_OpenLv, 8, 97, TEXT_SPEED_FF, NULL);
|
||||
PrintHyphens(10);
|
||||
DomePrintPrevOrCurrentStreak(battleMode, FRONTIER_LVL_50, 64, 121, 33);
|
||||
PrintTwoStrings(gText_Record, gText_ClearStreak, gSaveBlock2Ptr->frontier.domeRecordWinStreaks[battleMode][FRONTIER_LVL_50], 64, 121, 49);
|
||||
@ -1139,12 +1139,12 @@ static void ShowDomeResultsWindow(u8 battleMode)
|
||||
// Battle Palace records.
|
||||
static void PalacePrintStreak(const u8 *str, u16 num, u8 x1, u8 x2, u8 y)
|
||||
{
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, str, x1, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str, x1, y, TEXT_SPEED_FF, NULL);
|
||||
if (num > MAX_STREAK)
|
||||
num = MAX_STREAK;
|
||||
ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_RIGHT_ALIGN, 4);
|
||||
StringExpandPlaceholders(gStringVar4, gText_WinStreak);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
|
||||
}
|
||||
|
||||
static void PalacePrintRecordStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x2, u8 y)
|
||||
@ -1199,8 +1199,8 @@ static void ShowPalaceResultsWindow(u8 battleMode)
|
||||
StringExpandPlaceholders(gStringVar4, gText_DoubleBattleHallResults);
|
||||
|
||||
PrintAligned(gStringVar4, 2);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gText_Lv502, 16, 49, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gText_OpenLv, 16, 97, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Lv502, 16, 49, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_OpenLv, 16, 97, TEXT_SPEED_FF, NULL);
|
||||
PrintHyphens(10);
|
||||
PalacePrintPrevOrCurrentStreak(battleMode, FRONTIER_LVL_50, 72, 131, 49);
|
||||
PalacePrintRecordStreak(battleMode, FRONTIER_LVL_50, 72, 131, 65);
|
||||
@ -1222,10 +1222,10 @@ static u16 PikeGetWinStreak(u8 lvlMode)
|
||||
|
||||
static void PikePrintCleared(const u8 *str1, const u8 *str2, u16 num, u8 x1, u8 x2, u8 y)
|
||||
{
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, str1, x1, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str1, x1, y, TEXT_SPEED_FF, NULL);
|
||||
ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_RIGHT_ALIGN, 4);
|
||||
StringExpandPlaceholders(gStringVar4, str2);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
|
||||
}
|
||||
|
||||
static void PikePrintPrevOrCurrentStreak(u8 lvlMode, u8 x1, u8 x2, u8 y)
|
||||
@ -1251,8 +1251,8 @@ static void ShowPikeResultsWindow(void)
|
||||
FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1));
|
||||
StringExpandPlaceholders(gStringVar4, gText_BattleChoiceResults);
|
||||
PrintAligned(gStringVar4, 0);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gText_Lv502, 8, 33, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gText_OpenLv, 8, 97, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Lv502, 8, 33, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_OpenLv, 8, 97, TEXT_SPEED_FF, NULL);
|
||||
PrintHyphens(10);
|
||||
PikePrintPrevOrCurrentStreak(FRONTIER_LVL_50, 64, 114, 33);
|
||||
PikePrintCleared(gText_Record, gText_RoomsCleared, gSaveBlock2Ptr->frontier.pikeRecordStreaks[FRONTIER_LVL_50], 64, 114, 49);
|
||||
@ -1267,12 +1267,12 @@ static void ShowPikeResultsWindow(void)
|
||||
// Battle Arena records.
|
||||
static void ArenaPrintStreak(const u8 *str, u16 num, u8 x1, u8 x2, u8 y)
|
||||
{
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, str, x1, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str, x1, y, TEXT_SPEED_FF, NULL);
|
||||
if (num > MAX_STREAK)
|
||||
num = MAX_STREAK;
|
||||
ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_RIGHT_ALIGN, 4);
|
||||
StringExpandPlaceholders(gStringVar4, gText_KOsInARow);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
|
||||
}
|
||||
|
||||
static void ArenaPrintRecordStreak(u8 lvlMode, u8 x1, u8 x2, u8 y)
|
||||
@ -1314,8 +1314,8 @@ static void ShowArenaResultsWindow(void)
|
||||
PrintHyphens(10);
|
||||
StringExpandPlaceholders(gStringVar4, gText_SetKOTourneyResults);
|
||||
PrintAligned(gStringVar4, 2);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gText_Lv502, 16, 49, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gText_OpenLv, 16, 97, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Lv502, 16, 49, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_OpenLv, 16, 97, TEXT_SPEED_FF, NULL);
|
||||
ArenaPrintPrevOrCurrentStreak(FRONTIER_LVL_50, 72, 126, 49);
|
||||
ArenaPrintRecordStreak(FRONTIER_LVL_50, 72, 126, 65);
|
||||
ArenaPrintPrevOrCurrentStreak(FRONTIER_LVL_OPEN, 72, 126, 97);
|
||||
@ -1327,16 +1327,16 @@ static void ShowArenaResultsWindow(void)
|
||||
// Battle Factory records.
|
||||
static void FactoryPrintStreak(const u8 *str, u16 num1, u16 num2, u8 x1, u8 x2, u8 x3, u8 y)
|
||||
{
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, str, x1, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str, x1, y, TEXT_SPEED_FF, NULL);
|
||||
if (num1 > MAX_STREAK)
|
||||
num1 = MAX_STREAK;
|
||||
ConvertIntToDecimalStringN(gStringVar1, num1, STR_CONV_MODE_RIGHT_ALIGN, 4);
|
||||
StringExpandPlaceholders(gStringVar4, gText_WinStreak);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
|
||||
|
||||
ConvertIntToDecimalStringN(gStringVar1, num2, STR_CONV_MODE_RIGHT_ALIGN, 4);
|
||||
StringExpandPlaceholders(gStringVar4, gText_TimesVar1);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x3, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, x3, y, TEXT_SPEED_FF, NULL);
|
||||
}
|
||||
|
||||
static void FactoryPrintRecordStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x2, u8 x3, u8 y)
|
||||
@ -1403,9 +1403,9 @@ static void ShowFactoryResultsWindow(u8 battleMode)
|
||||
StringExpandPlaceholders(gStringVar4, gText_BattleSwapDoubleResults);
|
||||
|
||||
PrintAligned(gStringVar4, 0);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gText_Lv502, 8, 33, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gText_RentalSwap, 152, 33, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gText_OpenLv, 8, 97, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Lv502, 8, 33, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_RentalSwap, 152, 33, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_OpenLv, 8, 97, TEXT_SPEED_FF, NULL);
|
||||
PrintHyphens(10);
|
||||
FactoryPrintPrevOrCurrentStreak(battleMode, FRONTIER_LVL_50, 8, 64, 158, 49);
|
||||
FactoryPrintRecordStreak(battleMode, FRONTIER_LVL_50, 8, 64, 158, 65);
|
||||
@ -1418,12 +1418,12 @@ static void ShowFactoryResultsWindow(u8 battleMode)
|
||||
// Battle Pyramid records.
|
||||
static void PyramidPrintStreak(const u8 *str, u16 num, u8 x1, u8 x2, u8 y)
|
||||
{
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, str, x1, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str, x1, y, TEXT_SPEED_FF, NULL);
|
||||
if (num > MAX_STREAK)
|
||||
num = MAX_STREAK;
|
||||
ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_RIGHT_ALIGN, 4);
|
||||
StringExpandPlaceholders(gStringVar4, gText_FloorsCleared);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
|
||||
}
|
||||
|
||||
static void PyramidPrintRecordStreak(u8 lvlMode, u8 x1, u8 x2, u8 y)
|
||||
@ -1464,8 +1464,8 @@ static void ShowPyramidResultsWindow(void)
|
||||
FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1));
|
||||
StringExpandPlaceholders(gStringVar4, gText_BattleQuestResults);
|
||||
PrintAligned(gStringVar4, 2);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gText_Lv502, 8, 49, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gText_OpenLv, 8, 97, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Lv502, 8, 49, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_OpenLv, 8, 97, TEXT_SPEED_FF, NULL);
|
||||
PrintHyphens(10);
|
||||
PyramidPrintPrevOrCurrentStreak(FRONTIER_LVL_50, 64, 111, 49);
|
||||
PyramidPrintRecordStreak(FRONTIER_LVL_50, 64, 111, 65);
|
||||
@ -1487,38 +1487,38 @@ static void ShowLinkContestResultsWindow(void)
|
||||
FillWindowPixelBuffer(gRecordsWindowId, PIXEL_FILL(1));
|
||||
|
||||
StringExpandPlaceholders(gStringVar4, gText_LinkContestResults);
|
||||
x = GetStringCenterAlignXOffset(1, gStringVar4, 208);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x, 1, TEXT_SPEED_FF, NULL);
|
||||
x = GetStringCenterAlignXOffset(FONT_NORMAL, gStringVar4, 208);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, x, 1, TEXT_SPEED_FF, NULL);
|
||||
|
||||
str = gText_1st;
|
||||
x = GetStringRightAlignXOffset(1, str, 38) + 50;
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, str, x, 25, TEXT_SPEED_FF, NULL);
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, str, 38) + 50;
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str, x, 25, TEXT_SPEED_FF, NULL);
|
||||
|
||||
str = gText_2nd;
|
||||
x = GetStringRightAlignXOffset(1, str, 38) + 88;
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, str, x, 25, TEXT_SPEED_FF, NULL);
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, str, 38) + 88;
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str, x, 25, TEXT_SPEED_FF, NULL);
|
||||
|
||||
str = gText_3rd;
|
||||
x = GetStringRightAlignXOffset(1, str, 38) + 126;
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, str, x, 25, TEXT_SPEED_FF, NULL);
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, str, 38) + 126;
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str, x, 25, TEXT_SPEED_FF, NULL);
|
||||
|
||||
str = gText_4th;
|
||||
x = GetStringRightAlignXOffset(1, str, 38) + 164;
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, str, x, 25, TEXT_SPEED_FF, NULL);
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, str, 38) + 164;
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, str, x, 25, TEXT_SPEED_FF, NULL);
|
||||
|
||||
x = 6;
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gText_Cool, x, 41, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gText_Beauty, x, 57, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gText_Cute, x, 73, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gText_Smart, x, 89, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gText_Tough, x, 105, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Cool, x, 41, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Beauty, x, 57, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Cute, x, 73, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Smart, x, 89, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_Tough, x, 105, TEXT_SPEED_FF, NULL);
|
||||
|
||||
for (i = 0; i < CONTEST_CATEGORIES_COUNT; i++)
|
||||
{
|
||||
for (j = 0; j < CONTESTANT_COUNT; j++)
|
||||
{
|
||||
ConvertIntToDecimalStringN(gStringVar4, gSaveBlock2Ptr->contestLinkResults[i][j], STR_CONV_MODE_RIGHT_ALIGN, 4);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, (j * 38) + 64, (i * 16) + 41, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, (j * 38) + 64, (i * 16) + 41, TEXT_SPEED_FF, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2224,18 +2224,18 @@ static void Print1PRecord(s32 position, s32 x, s32 y, struct RankingHall1P *hall
|
||||
u8 text[32];
|
||||
u16 winStreak;
|
||||
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gText_123Dot[position], x * 8, (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_123Dot[position], x * 8, (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
|
||||
hallRecord->name[PLAYER_NAME_LENGTH] = EOS;
|
||||
if (hallRecord->winStreak)
|
||||
{
|
||||
TVShowConvertInternationalString(text, hallRecord->name, hallRecord->language);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, text, (x + 2) * 8, (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, text, (x + 2) * 8, (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
|
||||
winStreak = hallRecord->winStreak;
|
||||
if (winStreak > MAX_STREAK)
|
||||
winStreak = MAX_STREAK;
|
||||
ConvertIntToDecimalStringN(gStringVar2, winStreak, STR_CONV_MODE_RIGHT_ALIGN, 4);
|
||||
StringExpandPlaceholders(gStringVar4, sHallFacilityToRecordsText[hallFacilityId]);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, GetStringRightAlignXOffset(1, sHallFacilityToRecordsText[hallFacilityId], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, GetStringRightAlignXOffset(FONT_NORMAL, sHallFacilityToRecordsText[hallFacilityId], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2244,25 +2244,25 @@ static void Print2PRecord(s32 position, s32 x, s32 y, struct RankingHall2P *hall
|
||||
u8 text[32];
|
||||
u16 winStreak;
|
||||
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gText_123Dot[position], x * 8, (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gText_123Dot[position], x * 8, (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
|
||||
if (hallRecord->winStreak)
|
||||
{
|
||||
hallRecord->name1[PLAYER_NAME_LENGTH] = EOS;
|
||||
hallRecord->name2[PLAYER_NAME_LENGTH] = EOS;
|
||||
TVShowConvertInternationalString(text, hallRecord->name1, hallRecord->language);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, text, (x + 2) * 8, (8 * (y + 5 * position - 1)) + 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, text, (x + 2) * 8, (8 * (y + 5 * position - 1)) + 1, TEXT_SPEED_FF, NULL);
|
||||
if (IsStringJapanese(hallRecord->name2))
|
||||
TVShowConvertInternationalString(text, hallRecord->name2, LANGUAGE_JAPANESE);
|
||||
else
|
||||
StringCopy(text, hallRecord->name2);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, text, (x + 4) * 8, (8 * (y + 5 * position + 1)) + 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, text, (x + 4) * 8, (8 * (y + 5 * position + 1)) + 1, TEXT_SPEED_FF, NULL);
|
||||
|
||||
winStreak = hallRecord->winStreak;
|
||||
if (winStreak > MAX_STREAK)
|
||||
winStreak = MAX_STREAK;
|
||||
ConvertIntToDecimalStringN(gStringVar2, winStreak, STR_CONV_MODE_RIGHT_ALIGN, 4);
|
||||
StringExpandPlaceholders(gStringVar4, sHallFacilityToRecordsText[RANKING_HALL_TOWER_LINK]);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, GetStringRightAlignXOffset(1, sHallFacilityToRecordsText[RANKING_HALL_TOWER_LINK], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, GetStringRightAlignXOffset(FONT_NORMAL, sHallFacilityToRecordsText[RANKING_HALL_TOWER_LINK], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2343,9 +2343,9 @@ static void PrintHallRecords(s32 hallFacilityId, s32 lvlMode)
|
||||
|
||||
StringCopy(gStringVar1, sRecordsWindowChallengeTexts[hallFacilityId][0]);
|
||||
StringExpandPlaceholders(gStringVar4, sRecordsWindowChallengeTexts[hallFacilityId][1]);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, 0, 1, TEXT_SPEED_FF, NULL);
|
||||
x = GetStringRightAlignXOffset(1, sLevelModeText[lvlMode], 0xD0);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, 1, sLevelModeText[lvlMode], x, 1, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, gStringVar4, 0, 1, TEXT_SPEED_FF, NULL);
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, sLevelModeText[lvlMode], 0xD0);
|
||||
AddTextPrinterParameterized(gRecordsWindowId, FONT_NORMAL, sLevelModeText[lvlMode], x, 1, TEXT_SPEED_FF, NULL);
|
||||
if (hallFacilityId == RANKING_HALL_TOWER_LINK)
|
||||
{
|
||||
gSaveBlock2Ptr->frontier.opponentNames[0][PLAYER_NAME_LENGTH] = EOS;
|
||||
|
||||
@ -514,7 +514,7 @@ static void Task_Hof_InitTeamSaveData(u8 taskId)
|
||||
*lastSavedTeam = *sHofMonPtr;
|
||||
|
||||
DrawDialogueFrame(0, 0);
|
||||
AddTextPrinterParameterized2(0, 1, gText_SavingDontTurnOffPower, 0, NULL, 2, 1, 3);
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, gText_SavingDontTurnOffPower, 0, NULL, 2, 1, 3);
|
||||
CopyWindowToVram(0, 3);
|
||||
gTasks[taskId].func = Task_Hof_TrySaveData;
|
||||
}
|
||||
@ -724,7 +724,7 @@ static void Task_Hof_WaitAndPrintPlayerInfo(u8 taskId)
|
||||
FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x20, 0x20);
|
||||
HallOfFame_PrintPlayerInfo(1, 2);
|
||||
DrawDialogueFrame(0, 0);
|
||||
AddTextPrinterParameterized2(0, 1, gText_LeagueChamp, 0, NULL, 2, 1, 3);
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, gText_LeagueChamp, 0, NULL, 2, 1, 3);
|
||||
CopyWindowToVram(0, 3);
|
||||
gTasks[taskId].func = Task_Hof_ExitOnKeyPressed;
|
||||
}
|
||||
@ -1093,7 +1093,7 @@ static void Task_HofPC_PrintDataIsCorrupted(u8 taskId)
|
||||
{
|
||||
sub_8198180(gText_AButtonExit, 8, TRUE);
|
||||
DrawDialogueFrame(0, 0);
|
||||
AddTextPrinterParameterized2(0, 1, gText_HOFCorrupted, 0, NULL, 2, 1, 3);
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, gText_HOFCorrupted, 0, NULL, 2, 1, 3);
|
||||
CopyWindowToVram(0, 3);
|
||||
gTasks[taskId].func = Task_HofPC_ExitOnButtonPress;
|
||||
}
|
||||
@ -1114,7 +1114,7 @@ static void HallOfFame_PrintWelcomeText(u8 unusedPossiblyWindowId, u8 unused2)
|
||||
{
|
||||
FillWindowPixelBuffer(0, PIXEL_FILL(0));
|
||||
PutWindowTilemap(0);
|
||||
AddTextPrinterParameterized3(0, 1, GetStringCenterAlignXOffset(1, gText_WelcomeToHOF, 0xD0), 1, sMonInfoTextColors, 0, gText_WelcomeToHOF);
|
||||
AddTextPrinterParameterized3(0, FONT_NORMAL, GetStringCenterAlignXOffset(FONT_NORMAL, gText_WelcomeToHOF, 0xD0), 1, sMonInfoTextColors, 0, gText_WelcomeToHOF);
|
||||
CopyWindowToVram(0, 3);
|
||||
}
|
||||
|
||||
@ -1150,7 +1150,7 @@ static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u
|
||||
*(stringPtr)++ = CHAR_QUESTION_MARK;
|
||||
}
|
||||
stringPtr[0] = EOS;
|
||||
AddTextPrinterParameterized3(0, 1, 0x10, 1, sMonInfoTextColors, -1, text);
|
||||
AddTextPrinterParameterized3(0, FONT_NORMAL, 0x10, 1, sMonInfoTextColors, -1, text);
|
||||
}
|
||||
|
||||
// nick, species names, gender and level
|
||||
@ -1158,14 +1158,14 @@ static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u
|
||||
text[POKEMON_NAME_LENGTH] = EOS;
|
||||
if (currMon->species == SPECIES_EGG)
|
||||
{
|
||||
width = GetStringCenterAlignXOffset(1, text, 0xD0);
|
||||
AddTextPrinterParameterized3(0, 1, width, 1, sMonInfoTextColors, -1, text);
|
||||
width = GetStringCenterAlignXOffset(FONT_NORMAL, text, 0xD0);
|
||||
AddTextPrinterParameterized3(0, FONT_NORMAL, width, 1, sMonInfoTextColors, -1, text);
|
||||
CopyWindowToVram(0, 3);
|
||||
}
|
||||
else
|
||||
{
|
||||
width = GetStringRightAlignXOffset(1, text, 0x80);
|
||||
AddTextPrinterParameterized3(0, 1, width, 1, sMonInfoTextColors, -1, text);
|
||||
width = GetStringRightAlignXOffset(FONT_NORMAL, text, 0x80);
|
||||
AddTextPrinterParameterized3(0, FONT_NORMAL, width, 1, sMonInfoTextColors, -1, text);
|
||||
|
||||
text[0] = CHAR_SLASH;
|
||||
stringPtr = StringCopy(text + 1, gSpeciesNames[currMon->species]);
|
||||
@ -1186,15 +1186,15 @@ static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u
|
||||
}
|
||||
|
||||
stringPtr[0] = EOS;
|
||||
AddTextPrinterParameterized3(0, 1, 0x80, 1, sMonInfoTextColors, -1, text);
|
||||
AddTextPrinterParameterized3(0, FONT_NORMAL, 0x80, 1, sMonInfoTextColors, -1, text);
|
||||
|
||||
stringPtr = StringCopy(text, gText_Level);
|
||||
ConvertIntToDecimalStringN(stringPtr, currMon->lvl, STR_CONV_MODE_LEFT_ALIGN, 3);
|
||||
AddTextPrinterParameterized3(0, 1, 0x24, 0x11, sMonInfoTextColors, -1, text);
|
||||
AddTextPrinterParameterized3(0, FONT_NORMAL, 0x24, 0x11, sMonInfoTextColors, -1, text);
|
||||
|
||||
stringPtr = StringCopy(text, gText_IDNumber);
|
||||
ConvertIntToDecimalStringN(stringPtr, (u16)(currMon->tid), STR_CONV_MODE_LEADING_ZEROS, 5);
|
||||
AddTextPrinterParameterized3(0, 1, 0x68, 0x11, sMonInfoTextColors, -1, text);
|
||||
AddTextPrinterParameterized3(0, FONT_NORMAL, 0x68, 0x11, sMonInfoTextColors, -1, text);
|
||||
|
||||
CopyWindowToVram(0, 3);
|
||||
}
|
||||
@ -1209,23 +1209,23 @@ static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2)
|
||||
FillWindowPixelBuffer(1, PIXEL_FILL(1));
|
||||
PutWindowTilemap(1);
|
||||
DrawStdFrameWithCustomTileAndPalette(1, FALSE, 0x21D, 0xD);
|
||||
AddTextPrinterParameterized3(1, 1, 0, 1, sPlayerInfoTextColors, -1, gText_Name);
|
||||
AddTextPrinterParameterized3(1, FONT_NORMAL, 0, 1, sPlayerInfoTextColors, -1, gText_Name);
|
||||
|
||||
width = GetStringRightAlignXOffset(1, gSaveBlock2Ptr->playerName, 0x70);
|
||||
AddTextPrinterParameterized3(1, 1, width, 1, sPlayerInfoTextColors, -1, gSaveBlock2Ptr->playerName);
|
||||
width = GetStringRightAlignXOffset(FONT_NORMAL, gSaveBlock2Ptr->playerName, 0x70);
|
||||
AddTextPrinterParameterized3(1, FONT_NORMAL, width, 1, sPlayerInfoTextColors, -1, gSaveBlock2Ptr->playerName);
|
||||
|
||||
trainerId = (gSaveBlock2Ptr->playerTrainerId[0]) | (gSaveBlock2Ptr->playerTrainerId[1] << 8);
|
||||
AddTextPrinterParameterized3(1, 1, 0, 0x11, sPlayerInfoTextColors, 0, gText_IDNumber);
|
||||
AddTextPrinterParameterized3(1, FONT_NORMAL, 0, 0x11, sPlayerInfoTextColors, 0, gText_IDNumber);
|
||||
text[0] = (trainerId % 100000) / 10000 + CHAR_0;
|
||||
text[1] = (trainerId % 10000) / 1000 + CHAR_0;
|
||||
text[2] = (trainerId % 1000) / 100 + CHAR_0;
|
||||
text[3] = (trainerId % 100) / 10 + CHAR_0;
|
||||
text[4] = (trainerId % 10) / 1 + CHAR_0;
|
||||
text[5] = EOS;
|
||||
width = GetStringRightAlignXOffset(1, text, 0x70);
|
||||
AddTextPrinterParameterized3(1, 1, width, 0x11, sPlayerInfoTextColors, -1, text);
|
||||
width = GetStringRightAlignXOffset(FONT_NORMAL, text, 0x70);
|
||||
AddTextPrinterParameterized3(1, FONT_NORMAL, width, 0x11, sPlayerInfoTextColors, -1, text);
|
||||
|
||||
AddTextPrinterParameterized3(1, 1, 0, 0x21, sPlayerInfoTextColors, -1, gText_Time);
|
||||
AddTextPrinterParameterized3(1, FONT_NORMAL, 0, 0x21, sPlayerInfoTextColors, -1, gText_Time);
|
||||
text[0] = (gSaveBlock2Ptr->playTimeHours / 100) + CHAR_0;
|
||||
text[1] = (gSaveBlock2Ptr->playTimeHours % 100) / 10 + CHAR_0;
|
||||
text[2] = (gSaveBlock2Ptr->playTimeHours % 10) + CHAR_0;
|
||||
@ -1240,8 +1240,8 @@ static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2)
|
||||
text[5] = (gSaveBlock2Ptr->playTimeMinutes % 10) + CHAR_0;
|
||||
text[6] = EOS;
|
||||
|
||||
width = GetStringRightAlignXOffset(1, text, 0x70);
|
||||
AddTextPrinterParameterized3(1, 1, width, 0x21, sPlayerInfoTextColors, -1, text);
|
||||
width = GetStringRightAlignXOffset(FONT_NORMAL, text, 0x70);
|
||||
AddTextPrinterParameterized3(1, FONT_NORMAL, width, 0x21, sPlayerInfoTextColors, -1, text);
|
||||
|
||||
CopyWindowToVram(1, 3);
|
||||
}
|
||||
|
||||
@ -40,7 +40,7 @@ int GetMaxWidthInMenuTable(const struct MenuAction *actions, int numActions)
|
||||
|
||||
for (maxWidth = 0, i = 0; i < numActions; i++)
|
||||
{
|
||||
int stringWidth = GetStringWidth(1, actions[i].text, 0);
|
||||
int stringWidth = GetStringWidth(FONT_NORMAL, actions[i].text, 0);
|
||||
if (stringWidth > maxWidth)
|
||||
maxWidth = stringWidth;
|
||||
}
|
||||
@ -54,7 +54,7 @@ int GetMaxWidthInSubsetOfMenuTable(const struct MenuAction *actions, const u8* a
|
||||
|
||||
for (maxWidth = 0, i = 0; i < numActions; i++)
|
||||
{
|
||||
int stringWidth = GetStringWidth(1, actions[actionIds[i]].text, 0);
|
||||
int stringWidth = GetStringWidth(FONT_NORMAL, actions[actionIds[i]].text, 0);
|
||||
if (stringWidth > maxWidth)
|
||||
maxWidth = stringWidth;
|
||||
}
|
||||
|
||||
@ -260,7 +260,7 @@ static const struct ListMenuTemplate sItemListMenu =
|
||||
.lettersSpacing = 0,
|
||||
.itemVerticalPadding = 0,
|
||||
.scrollMultiple = 0,
|
||||
.fontId = 7,
|
||||
.fontId = FONT_NARROW,
|
||||
.cursorKind = 0
|
||||
};
|
||||
|
||||
@ -973,16 +973,16 @@ static void BagMenu_ItemPrintCallback(u8 windowId, u32 itemIndex, u8 y)
|
||||
// Print berry quantity
|
||||
ConvertIntToDecimalStringN(gStringVar1, itemQuantity, STR_CONV_MODE_RIGHT_ALIGN, BERRY_CAPACITY_DIGITS);
|
||||
StringExpandPlaceholders(gStringVar4, gText_xVar1);
|
||||
offset = GetStringRightAlignXOffset(7, gStringVar4, 119);
|
||||
BagMenu_Print(windowId, 7, gStringVar4, offset, y, 0, 0, TEXT_SPEED_FF, COLORID_NORMAL);
|
||||
offset = GetStringRightAlignXOffset(FONT_NARROW, gStringVar4, 119);
|
||||
BagMenu_Print(windowId, FONT_NARROW, gStringVar4, offset, y, 0, 0, TEXT_SPEED_FF, COLORID_NORMAL);
|
||||
}
|
||||
else if (gBagPosition.pocket != KEYITEMS_POCKET && ItemId_GetImportance(itemId) == FALSE)
|
||||
{
|
||||
// Print item quantity
|
||||
ConvertIntToDecimalStringN(gStringVar1, itemQuantity, STR_CONV_MODE_RIGHT_ALIGN, BAG_ITEM_CAPACITY_DIGITS);
|
||||
StringExpandPlaceholders(gStringVar4, gText_xVar1);
|
||||
offset = GetStringRightAlignXOffset(7, gStringVar4, 119);
|
||||
BagMenu_Print(windowId, 7, gStringVar4, offset, y, 0, 0, TEXT_SPEED_FF, COLORID_NORMAL);
|
||||
offset = GetStringRightAlignXOffset(FONT_NARROW, gStringVar4, 119);
|
||||
BagMenu_Print(windowId, FONT_NARROW, gStringVar4, offset, y, 0, 0, TEXT_SPEED_FF, COLORID_NORMAL);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1008,7 +1008,7 @@ static void PrintItemDescription(int itemIndex)
|
||||
str = gStringVar4;
|
||||
}
|
||||
FillWindowPixelBuffer(WIN_DESCRIPTION, PIXEL_FILL(0));
|
||||
BagMenu_Print(WIN_DESCRIPTION, 1, str, 3, 1, 0, 0, 0, COLORID_NORMAL);
|
||||
BagMenu_Print(WIN_DESCRIPTION, FONT_NORMAL, str, 3, 1, 0, 0, 0, COLORID_NORMAL);
|
||||
}
|
||||
|
||||
static void BagMenu_PrintCursor(u8 listTaskId, u8 colorIndex)
|
||||
@ -1019,9 +1019,9 @@ static void BagMenu_PrintCursor(u8 listTaskId, u8 colorIndex)
|
||||
static void BagMenu_PrintCursorAtPos(u8 y, u8 colorIndex)
|
||||
{
|
||||
if (colorIndex == COLORID_NONE)
|
||||
FillWindowPixelRect(WIN_ITEM_LIST, PIXEL_FILL(0), 0, y, GetMenuCursorDimensionByFont(1, 0), GetMenuCursorDimensionByFont(1, 1));
|
||||
FillWindowPixelRect(WIN_ITEM_LIST, PIXEL_FILL(0), 0, y, GetMenuCursorDimensionByFont(FONT_NORMAL, 0), GetMenuCursorDimensionByFont(FONT_NORMAL, 1));
|
||||
else
|
||||
BagMenu_Print(WIN_ITEM_LIST, 1, gText_SelectorArrow2, 0, y, 0, 0, 0, colorIndex);
|
||||
BagMenu_Print(WIN_ITEM_LIST, FONT_NORMAL, gText_SelectorArrow2, 0, y, 0, 0, 0, colorIndex);
|
||||
|
||||
}
|
||||
|
||||
@ -1195,7 +1195,7 @@ static void PrintItemQuantity(u8 windowId, s16 quantity)
|
||||
u8 numDigits = (gBagPosition.pocket == BERRIES_POCKET) ? BERRY_CAPACITY_DIGITS : BAG_ITEM_CAPACITY_DIGITS;
|
||||
ConvertIntToDecimalStringN(gStringVar1, quantity, STR_CONV_MODE_LEADING_ZEROS, numDigits);
|
||||
StringExpandPlaceholders(gStringVar4, gText_xVar1);
|
||||
AddTextPrinterParameterized(windowId, 1, gStringVar4, GetStringCenterAlignXOffset(1, gStringVar4, 0x28), 2, 0, 0);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gStringVar4, GetStringCenterAlignXOffset(FONT_NORMAL, gStringVar4, 0x28), 2, 0, 0);
|
||||
}
|
||||
|
||||
// Prints the quantity of items to be sold and the amount that would be earned
|
||||
@ -1204,7 +1204,7 @@ static void PrintItemSoldAmount(int windowId, int numSold, int moneyEarned)
|
||||
u8 numDigits = (gBagPosition.pocket == BERRIES_POCKET) ? BERRY_CAPACITY_DIGITS : BAG_ITEM_CAPACITY_DIGITS;
|
||||
ConvertIntToDecimalStringN(gStringVar1, numSold, STR_CONV_MODE_LEADING_ZEROS, numDigits);
|
||||
StringExpandPlaceholders(gStringVar4, gText_xVar1);
|
||||
AddTextPrinterParameterized(windowId, 1, gStringVar4, 0, 1, TEXT_SPEED_FF, 0);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gStringVar4, 0, 1, TEXT_SPEED_FF, 0);
|
||||
PrintMoneyAmount(windowId, 38, 1, moneyEarned, 0);
|
||||
}
|
||||
|
||||
@ -1438,7 +1438,7 @@ static void StartItemSwap(u8 taskId)
|
||||
CopyItemName(BagGetItemIdByPocketPosition(gBagPosition.pocket + 1, tListPosition), gStringVar1);
|
||||
StringExpandPlaceholders(gStringVar4, gText_MoveVar1Where);
|
||||
FillWindowPixelBuffer(WIN_DESCRIPTION, PIXEL_FILL(0));
|
||||
BagMenu_Print(WIN_DESCRIPTION, 1, gStringVar4, 3, 1, 0, 0, 0, COLORID_NORMAL);
|
||||
BagMenu_Print(WIN_DESCRIPTION, FONT_NORMAL, gStringVar4, 3, 1, 0, 0, 0, COLORID_NORMAL);
|
||||
UpdateItemMenuSwapLinePos(tListPosition);
|
||||
DestroyPocketSwitchArrowPair();
|
||||
BagMenu_PrintCursor(tListTaskId, COLORID_GRAY_CURSOR);
|
||||
@ -1653,7 +1653,7 @@ static void OpenContextMenu(u8 taskId)
|
||||
CopyItemName(gSpecialVar_ItemId, gStringVar1);
|
||||
StringExpandPlaceholders(gStringVar4, gText_Var1IsSelected);
|
||||
FillWindowPixelBuffer(WIN_DESCRIPTION, PIXEL_FILL(0));
|
||||
BagMenu_Print(WIN_DESCRIPTION, 1, gStringVar4, 3, 1, 0, 0, 0, COLORID_NORMAL);
|
||||
BagMenu_Print(WIN_DESCRIPTION, FONT_NORMAL, gStringVar4, 3, 1, 0, 0, 0, COLORID_NORMAL);
|
||||
}
|
||||
if (gBagMenu->contextMenuNumItems == 1)
|
||||
PrintContextMenuItems(BagMenu_AddWindow(ITEMWIN_1x1));
|
||||
@ -1667,13 +1667,13 @@ static void OpenContextMenu(u8 taskId)
|
||||
|
||||
static void PrintContextMenuItems(u8 windowId)
|
||||
{
|
||||
AddItemMenuActionTextPrinters(windowId, 7, 8, 1, 0, 16, gBagMenu->contextMenuNumItems, sItemMenuActions, gBagMenu->contextMenuItemsPtr);
|
||||
AddItemMenuActionTextPrinters(windowId, FONT_NARROW, 8, 1, 0, 16, gBagMenu->contextMenuNumItems, sItemMenuActions, gBagMenu->contextMenuItemsPtr);
|
||||
InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, gBagMenu->contextMenuNumItems, 0);
|
||||
}
|
||||
|
||||
static void PrintContextMenuItemGrid(u8 windowId, u8 columns, u8 rows)
|
||||
{
|
||||
PrintMenuActionGrid(windowId, 7, 8, 1, 56, columns, rows, sItemMenuActions, gBagMenu->contextMenuItemsPtr);
|
||||
PrintMenuActionGrid(windowId, FONT_NARROW, 8, 1, 56, columns, rows, sItemMenuActions, gBagMenu->contextMenuItemsPtr);
|
||||
InitMenuActionGrid(windowId, 56, columns, rows, 0);
|
||||
}
|
||||
|
||||
@ -1819,7 +1819,7 @@ static void ItemMenu_Toss(u8 taskId)
|
||||
CopyItemName(gSpecialVar_ItemId, gStringVar1);
|
||||
StringExpandPlaceholders(gStringVar4, gText_TossHowManyVar1s);
|
||||
FillWindowPixelBuffer(WIN_DESCRIPTION, PIXEL_FILL(0));
|
||||
BagMenu_Print(WIN_DESCRIPTION, 1, gStringVar4, 3, 1, 0, 0, 0, COLORID_NORMAL);
|
||||
BagMenu_Print(WIN_DESCRIPTION, FONT_NORMAL, gStringVar4, 3, 1, 0, 0, 0, COLORID_NORMAL);
|
||||
AddItemQuantityWindow(ITEMWIN_QUANTITY);
|
||||
gTasks[taskId].func = Task_ChooseHowManyToToss;
|
||||
}
|
||||
@ -1833,7 +1833,7 @@ static void AskTossItems(u8 taskId)
|
||||
ConvertIntToDecimalStringN(gStringVar2, tItemCount, STR_CONV_MODE_LEFT_ALIGN, MAX_ITEM_DIGITS);
|
||||
StringExpandPlaceholders(gStringVar4, gText_ConfirmTossItems);
|
||||
FillWindowPixelBuffer(WIN_DESCRIPTION, PIXEL_FILL(0));
|
||||
BagMenu_Print(WIN_DESCRIPTION, 1, gStringVar4, 3, 1, 0, 0, 0, COLORID_NORMAL);
|
||||
BagMenu_Print(WIN_DESCRIPTION, FONT_NORMAL, gStringVar4, 3, 1, 0, 0, 0, COLORID_NORMAL);
|
||||
BagMenu_YesNo(taskId, ITEMWIN_YESNO_LOW, &sYesNoTossFunctions);
|
||||
}
|
||||
|
||||
@ -1876,7 +1876,7 @@ static void ConfirmToss(u8 taskId)
|
||||
ConvertIntToDecimalStringN(gStringVar2, tItemCount, STR_CONV_MODE_LEFT_ALIGN, MAX_ITEM_DIGITS);
|
||||
StringExpandPlaceholders(gStringVar4, gText_ThrewAwayVar2Var1s);
|
||||
FillWindowPixelBuffer(WIN_DESCRIPTION, PIXEL_FILL(0));
|
||||
BagMenu_Print(WIN_DESCRIPTION, 1, gStringVar4, 3, 1, 0, 0, 0, COLORID_NORMAL);
|
||||
BagMenu_Print(WIN_DESCRIPTION, FONT_NORMAL, gStringVar4, 3, 1, 0, 0, 0, COLORID_NORMAL);
|
||||
gTasks[taskId].func = Task_RemoveItemFromBag;
|
||||
}
|
||||
|
||||
@ -1924,7 +1924,7 @@ static void ItemMenu_Give(u8 taskId)
|
||||
RemoveContextWindow();
|
||||
if (!IsWritingMailAllowed(gSpecialVar_ItemId))
|
||||
{
|
||||
DisplayItemMessage(taskId, 1, gText_CantWriteMail, HandleErrorMessage);
|
||||
DisplayItemMessage(taskId, FONT_NORMAL, gText_CantWriteMail, HandleErrorMessage);
|
||||
}
|
||||
else if (!ItemId_GetImportance(gSpecialVar_ItemId))
|
||||
{
|
||||
@ -1946,14 +1946,14 @@ static void ItemMenu_Give(u8 taskId)
|
||||
|
||||
static void PrintThereIsNoPokemon(u8 taskId)
|
||||
{
|
||||
DisplayItemMessage(taskId, 1, gText_NoPokemon, HandleErrorMessage);
|
||||
DisplayItemMessage(taskId, FONT_NORMAL, gText_NoPokemon, HandleErrorMessage);
|
||||
}
|
||||
|
||||
static void PrintItemCantBeHeld(u8 taskId)
|
||||
{
|
||||
CopyItemName(gSpecialVar_ItemId, gStringVar1);
|
||||
StringExpandPlaceholders(gStringVar4, gText_Var1CantBeHeld);
|
||||
DisplayItemMessage(taskId, 1, gStringVar4, HandleErrorMessage);
|
||||
DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, HandleErrorMessage);
|
||||
}
|
||||
|
||||
static void HandleErrorMessage(u8 taskId)
|
||||
@ -2001,13 +2001,13 @@ static void Task_ItemContext_GiveToParty(u8 taskId)
|
||||
{
|
||||
if (!IsWritingMailAllowed(gSpecialVar_ItemId))
|
||||
{
|
||||
DisplayItemMessage(taskId, 1, gText_CantWriteMail, HandleErrorMessage);
|
||||
DisplayItemMessage(taskId, FONT_NORMAL, gText_CantWriteMail, HandleErrorMessage);
|
||||
}
|
||||
else if (!IsHoldingItemAllowed(gSpecialVar_ItemId))
|
||||
{
|
||||
CopyItemName(gSpecialVar_ItemId, gStringVar1);
|
||||
StringExpandPlaceholders(gStringVar4, gText_Var1CantBeHeldHere);
|
||||
DisplayItemMessage(taskId, 1, gStringVar4, HandleErrorMessage);
|
||||
DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, HandleErrorMessage);
|
||||
}
|
||||
else if (gBagPosition.pocket != KEYITEMS_POCKET && !ItemId_GetImportance(gSpecialVar_ItemId))
|
||||
{
|
||||
@ -2023,7 +2023,7 @@ static void Task_ItemContext_GiveToParty(u8 taskId)
|
||||
static void Task_ItemContext_GiveToPC(u8 taskId)
|
||||
{
|
||||
if (ItemIsMail(gSpecialVar_ItemId) == TRUE)
|
||||
DisplayItemMessage(taskId, 1, gText_CantWriteMail, HandleErrorMessage);
|
||||
DisplayItemMessage(taskId, FONT_NORMAL, gText_CantWriteMail, HandleErrorMessage);
|
||||
else if (gBagPosition.pocket != KEYITEMS_POCKET && !ItemId_GetImportance(gSpecialVar_ItemId))
|
||||
gTasks[taskId].func = Task_FadeAndCloseBagMenu;
|
||||
else
|
||||
@ -2072,7 +2072,7 @@ static void Task_ItemContext_Sell(u8 taskId)
|
||||
{
|
||||
CopyItemName(gSpecialVar_ItemId, gStringVar2);
|
||||
StringExpandPlaceholders(gStringVar4, gText_CantBuyKeyItem);
|
||||
DisplayItemMessage(taskId, 1, gStringVar4, CloseItemMessage);
|
||||
DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, CloseItemMessage);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2086,7 +2086,7 @@ static void Task_ItemContext_Sell(u8 taskId)
|
||||
{
|
||||
CopyItemName(gSpecialVar_ItemId, gStringVar2);
|
||||
StringExpandPlaceholders(gStringVar4, gText_HowManyToSell);
|
||||
DisplayItemMessage(taskId, 1, gStringVar4, InitSellHowManyInput);
|
||||
DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, InitSellHowManyInput);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2097,7 +2097,7 @@ static void DisplaySellItemPriceAndConfirm(u8 taskId)
|
||||
|
||||
ConvertIntToDecimalStringN(gStringVar1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * tItemCount, STR_CONV_MODE_LEFT_ALIGN, 6);
|
||||
StringExpandPlaceholders(gStringVar4, gText_ICanPayVar1);
|
||||
DisplayItemMessage(taskId, 1, gStringVar4, AskSellItems);
|
||||
DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, AskSellItems);
|
||||
}
|
||||
|
||||
static void AskSellItems(u8 taskId)
|
||||
@ -2157,7 +2157,7 @@ static void ConfirmSell(u8 taskId)
|
||||
CopyItemName(gSpecialVar_ItemId, gStringVar2);
|
||||
ConvertIntToDecimalStringN(gStringVar1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * tItemCount, STR_CONV_MODE_LEFT_ALIGN, 6);
|
||||
StringExpandPlaceholders(gStringVar4, gText_TurnedOverVar1ForVar2);
|
||||
DisplayItemMessage(taskId, 1, gStringVar4, SellItem);
|
||||
DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, SellItem);
|
||||
}
|
||||
|
||||
static void SellItem(u8 taskId)
|
||||
@ -2203,7 +2203,7 @@ static void Task_ItemContext_Deposit(u8 taskId)
|
||||
CopyItemName(gSpecialVar_ItemId, gStringVar1);
|
||||
StringExpandPlaceholders(gStringVar4, gText_DepositHowManyVar1);
|
||||
FillWindowPixelBuffer(WIN_DESCRIPTION, PIXEL_FILL(0));
|
||||
BagMenu_Print(WIN_DESCRIPTION, 1, gStringVar4, 3, 1, 0, 0, 0, COLORID_NORMAL);
|
||||
BagMenu_Print(WIN_DESCRIPTION, FONT_NORMAL, gStringVar4, 3, 1, 0, 0, 0, COLORID_NORMAL);
|
||||
AddItemQuantityWindow(ITEMWIN_QUANTITY);
|
||||
gTasks[taskId].func = Task_ChooseHowManyToDeposit;
|
||||
}
|
||||
@ -2241,7 +2241,7 @@ static void TryDepositItem(u8 taskId)
|
||||
if (ItemId_GetImportance(gSpecialVar_ItemId))
|
||||
{
|
||||
// Can't deposit important items
|
||||
BagMenu_Print(WIN_DESCRIPTION, 1, gText_CantStoreImportantItems, 3, 1, 0, 0, 0, COLORID_NORMAL);
|
||||
BagMenu_Print(WIN_DESCRIPTION, FONT_NORMAL, gText_CantStoreImportantItems, 3, 1, 0, 0, 0, COLORID_NORMAL);
|
||||
gTasks[taskId].func = WaitDepositErrorMessage;
|
||||
}
|
||||
else if (AddPCItem(gSpecialVar_ItemId, tItemCount) == TRUE)
|
||||
@ -2250,13 +2250,13 @@ static void TryDepositItem(u8 taskId)
|
||||
CopyItemName(gSpecialVar_ItemId, gStringVar1);
|
||||
ConvertIntToDecimalStringN(gStringVar2, tItemCount, STR_CONV_MODE_LEFT_ALIGN, MAX_ITEM_DIGITS);
|
||||
StringExpandPlaceholders(gStringVar4, gText_DepositedVar2Var1s);
|
||||
BagMenu_Print(WIN_DESCRIPTION, 1, gStringVar4, 3, 1, 0, 0, 0, COLORID_NORMAL);
|
||||
BagMenu_Print(WIN_DESCRIPTION, FONT_NORMAL, gStringVar4, 3, 1, 0, 0, 0, COLORID_NORMAL);
|
||||
gTasks[taskId].func = Task_RemoveItemFromBag;
|
||||
}
|
||||
else
|
||||
{
|
||||
// No room to deposit
|
||||
BagMenu_Print(WIN_DESCRIPTION, 1, gText_NoRoomForItems, 3, 1, 0, 0, 0, COLORID_NORMAL);
|
||||
BagMenu_Print(WIN_DESCRIPTION, FONT_NORMAL, gText_NoRoomForItems, 3, 1, 0, 0, 0, COLORID_NORMAL);
|
||||
gTasks[taskId].func = WaitDepositErrorMessage;
|
||||
}
|
||||
}
|
||||
@ -2416,12 +2416,12 @@ static void PrintPocketNames(const u8 *pocketName1, const u8 *pocketName2)
|
||||
window.height = 2;
|
||||
windowId = AddWindow(&window);
|
||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(0));
|
||||
offset = GetStringCenterAlignXOffset(1, pocketName1, 0x40);
|
||||
BagMenu_Print(windowId, 1, pocketName1, offset, 1, 0, 0, TEXT_SPEED_FF, COLORID_POCKET_NAME);
|
||||
offset = GetStringCenterAlignXOffset(FONT_NORMAL, pocketName1, 0x40);
|
||||
BagMenu_Print(windowId, FONT_NORMAL, pocketName1, offset, 1, 0, 0, TEXT_SPEED_FF, COLORID_POCKET_NAME);
|
||||
if (pocketName2)
|
||||
{
|
||||
offset = GetStringCenterAlignXOffset(1, pocketName2, 0x40);
|
||||
BagMenu_Print(windowId, 1, pocketName2, offset + 0x40, 1, 0, 0, TEXT_SPEED_FF, COLORID_POCKET_NAME);
|
||||
offset = GetStringCenterAlignXOffset(FONT_NORMAL, pocketName2, 0x40);
|
||||
BagMenu_Print(windowId, FONT_NORMAL, pocketName2, offset + 0x40, 1, 0, 0, TEXT_SPEED_FF, COLORID_POCKET_NAME);
|
||||
}
|
||||
CpuCopy32((u8*)GetWindowAttribute(windowId, WINDOW_TILE_DATA), gBagMenu->pocketNameBuffer, sizeof(gBagMenu->pocketNameBuffer));
|
||||
RemoveWindow(windowId);
|
||||
@ -2557,7 +2557,7 @@ static void PrintTMHMMoveData(u16 itemId)
|
||||
if (itemId == ITEM_NONE)
|
||||
{
|
||||
for (i = 0; i < 4; i++)
|
||||
BagMenu_Print(WIN_TMHM_INFO, 1, gText_ThreeDashes, 7, i * 12, 0, 0, TEXT_SPEED_FF, COLORID_TMHM_INFO);
|
||||
BagMenu_Print(WIN_TMHM_INFO, FONT_NORMAL, gText_ThreeDashes, 7, i * 12, 0, 0, TEXT_SPEED_FF, COLORID_TMHM_INFO);
|
||||
CopyWindowToVram(WIN_TMHM_INFO, 2);
|
||||
}
|
||||
else
|
||||
@ -2575,7 +2575,7 @@ static void PrintTMHMMoveData(u16 itemId)
|
||||
ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveId].power, STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||
text = gStringVar1;
|
||||
}
|
||||
BagMenu_Print(WIN_TMHM_INFO, 1, text, 7, 12, 0, 0, TEXT_SPEED_FF, COLORID_TMHM_INFO);
|
||||
BagMenu_Print(WIN_TMHM_INFO, FONT_NORMAL, text, 7, 12, 0, 0, TEXT_SPEED_FF, COLORID_TMHM_INFO);
|
||||
|
||||
// Print TMHM accuracy
|
||||
if (gBattleMoves[moveId].accuracy == 0)
|
||||
@ -2587,11 +2587,11 @@ static void PrintTMHMMoveData(u16 itemId)
|
||||
ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveId].accuracy, STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||
text = gStringVar1;
|
||||
}
|
||||
BagMenu_Print(WIN_TMHM_INFO, 1, text, 7, 24, 0, 0, TEXT_SPEED_FF, COLORID_TMHM_INFO);
|
||||
BagMenu_Print(WIN_TMHM_INFO, FONT_NORMAL, text, 7, 24, 0, 0, TEXT_SPEED_FF, COLORID_TMHM_INFO);
|
||||
|
||||
// Print TMHM pp
|
||||
ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveId].pp, STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||
BagMenu_Print(WIN_TMHM_INFO, 1, gStringVar1, 7, 36, 0, 0, TEXT_SPEED_FF, COLORID_TMHM_INFO);
|
||||
BagMenu_Print(WIN_TMHM_INFO, FONT_NORMAL, gStringVar1, 7, 36, 0, 0, TEXT_SPEED_FF, COLORID_TMHM_INFO);
|
||||
|
||||
CopyWindowToVram(WIN_TMHM_INFO, 2);
|
||||
}
|
||||
|
||||
@ -143,7 +143,7 @@ static void DisplayCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyIte
|
||||
if (!isUsingRegisteredKeyItemOnField)
|
||||
{
|
||||
if (!InBattlePyramid())
|
||||
DisplayItemMessage(taskId, 1, gStringVar4, CloseItemMessage);
|
||||
DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, CloseItemMessage);
|
||||
else
|
||||
DisplayItemMessageInBattlePyramid(taskId, gText_DadsAdvice, Task_CloseBattlePyramidBagMessage);
|
||||
}
|
||||
@ -651,7 +651,7 @@ void ItemUseOutOfBattle_CoinCase(u8 taskId)
|
||||
|
||||
if (!gTasks[taskId].tUsingRegisteredKeyItem)
|
||||
{
|
||||
DisplayItemMessage(taskId, 1, gStringVar4, CloseItemMessage);
|
||||
DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, CloseItemMessage);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -666,7 +666,7 @@ void ItemUseOutOfBattle_PowderJar(u8 taskId)
|
||||
|
||||
if (!gTasks[taskId].tUsingRegisteredKeyItem)
|
||||
{
|
||||
DisplayItemMessage(taskId, 1, gStringVar4, CloseItemMessage);
|
||||
DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, CloseItemMessage);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -782,9 +782,9 @@ void ItemUseOutOfBattle_RareCandy(u8 taskId)
|
||||
void ItemUseOutOfBattle_TMHM(u8 taskId)
|
||||
{
|
||||
if (gSpecialVar_ItemId >= ITEM_HM01_CUT)
|
||||
DisplayItemMessage(taskId, 1, gText_BootedUpHM, BootUpSoundTMHM); // HM
|
||||
DisplayItemMessage(taskId, FONT_NORMAL, gText_BootedUpHM, BootUpSoundTMHM); // HM
|
||||
else
|
||||
DisplayItemMessage(taskId, 1, gText_BootedUpTM, BootUpSoundTMHM); // TM
|
||||
DisplayItemMessage(taskId, FONT_NORMAL, gText_BootedUpTM, BootUpSoundTMHM); // TM
|
||||
}
|
||||
|
||||
static void BootUpSoundTMHM(u8 taskId)
|
||||
@ -799,7 +799,7 @@ static void Task_ShowTMHMContainedMessage(u8 taskId)
|
||||
{
|
||||
StringCopy(gStringVar1, gMoveNames[ItemIdToBattleMoveId(gSpecialVar_ItemId)]);
|
||||
StringExpandPlaceholders(gStringVar4, gText_TMHMContainedVar1);
|
||||
DisplayItemMessage(taskId, 1, gStringVar4, UseTMHMYesNo);
|
||||
DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, UseTMHMYesNo);
|
||||
}
|
||||
}
|
||||
|
||||
@ -836,7 +836,7 @@ void ItemUseOutOfBattle_Repel(u8 taskId)
|
||||
if (VarGet(VAR_REPEL_STEP_COUNT) == 0)
|
||||
gTasks[taskId].func = Task_StartUseRepel;
|
||||
else if (!InBattlePyramid())
|
||||
DisplayItemMessage(taskId, 1, gText_RepelEffectsLingered, CloseItemMessage);
|
||||
DisplayItemMessage(taskId, FONT_NORMAL, gText_RepelEffectsLingered, CloseItemMessage);
|
||||
else
|
||||
DisplayItemMessageInBattlePyramid(taskId, gText_RepelEffectsLingered, Task_CloseBattlePyramidBagMessage);
|
||||
}
|
||||
@ -860,7 +860,7 @@ static void Task_UseRepel(u8 taskId)
|
||||
VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(gSpecialVar_ItemId));
|
||||
RemoveUsedItem();
|
||||
if (!InBattlePyramid())
|
||||
DisplayItemMessage(taskId, 1, gStringVar4, CloseItemMessage);
|
||||
DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, CloseItemMessage);
|
||||
else
|
||||
DisplayItemMessageInBattlePyramid(taskId, gStringVar4, Task_CloseBattlePyramidBagMessage);
|
||||
}
|
||||
@ -872,7 +872,7 @@ static void Task_UsedBlackWhiteFlute(u8 taskId)
|
||||
{
|
||||
PlaySE(SE_GLASS_FLUTE);
|
||||
if (!InBattlePyramid())
|
||||
DisplayItemMessage(taskId, 1, gStringVar4, CloseItemMessage);
|
||||
DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, CloseItemMessage);
|
||||
else
|
||||
DisplayItemMessageInBattlePyramid(taskId, gStringVar4, Task_CloseBattlePyramidBagMessage);
|
||||
}
|
||||
@ -951,7 +951,7 @@ void ItemUseInBattle_PokeBall(u8 taskId)
|
||||
}
|
||||
else if (!InBattlePyramid())
|
||||
{
|
||||
DisplayItemMessage(taskId, 1, gText_BoxFull, CloseItemMessage);
|
||||
DisplayItemMessage(taskId, FONT_NORMAL, gText_BoxFull, CloseItemMessage);
|
||||
}
|
||||
else
|
||||
DisplayItemMessageInBattlePyramid(taskId, gText_BoxFull, Task_CloseBattlePyramidBagMessage);
|
||||
@ -975,7 +975,7 @@ static void Task_UseStatIncreaseItem(u8 taskId)
|
||||
PlaySE(SE_USE_ITEM);
|
||||
RemoveBagItem(gSpecialVar_ItemId, 1);
|
||||
if (!InBattlePyramid())
|
||||
DisplayItemMessage(taskId, 1, UseStatIncreaseItem(gSpecialVar_ItemId), Task_CloseStatIncreaseMessage);
|
||||
DisplayItemMessage(taskId, FONT_NORMAL, UseStatIncreaseItem(gSpecialVar_ItemId), Task_CloseStatIncreaseMessage);
|
||||
else
|
||||
DisplayItemMessageInBattlePyramid(taskId, UseStatIncreaseItem(gSpecialVar_ItemId), Task_CloseStatIncreaseMessage);
|
||||
}
|
||||
@ -989,7 +989,7 @@ void ItemUseInBattle_StatIncrease(u8 taskId)
|
||||
if (ExecuteTableBasedItemEffect(&gPlayerParty[partyId], gSpecialVar_ItemId, partyId, 0) != FALSE)
|
||||
{
|
||||
if (!InBattlePyramid())
|
||||
DisplayItemMessage(taskId, 1, gText_WontHaveEffect, CloseItemMessage);
|
||||
DisplayItemMessage(taskId, FONT_NORMAL, gText_WontHaveEffect, CloseItemMessage);
|
||||
else
|
||||
DisplayItemMessageInBattlePyramid(taskId, gText_WontHaveEffect, Task_CloseBattlePyramidBagMessage);
|
||||
}
|
||||
@ -1041,7 +1041,7 @@ void ItemUseInBattle_Escape(u8 taskId)
|
||||
{
|
||||
RemoveUsedItem();
|
||||
if (!InBattlePyramid())
|
||||
DisplayItemMessage(taskId, 1, gStringVar4, Task_FadeAndCloseBagMenu);
|
||||
DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, Task_FadeAndCloseBagMenu);
|
||||
else
|
||||
DisplayItemMessageInBattlePyramid(taskId, gStringVar4, CloseBattlePyramidBag);
|
||||
}
|
||||
|
||||
10
src/link.c
@ -1644,8 +1644,8 @@ static void ErrorMsg_MoveCloserToPartner(void)
|
||||
LoadPalette(sWirelessLinkDisplayPal, 0, 0x20);
|
||||
FillWindowPixelBuffer(0, PIXEL_FILL(0));
|
||||
FillWindowPixelBuffer(2, PIXEL_FILL(0));
|
||||
AddTextPrinterParameterized3(0, 3, 2, 6, sTextColors, 0, gText_CommErrorEllipsis);
|
||||
AddTextPrinterParameterized3(2, 3, 2, 1, sTextColors, 0, gText_MoveCloserToLinkPartner);
|
||||
AddTextPrinterParameterized3(0, FONT_SHORT_COPY_1, 2, 6, sTextColors, 0, gText_CommErrorEllipsis);
|
||||
AddTextPrinterParameterized3(2, FONT_SHORT_COPY_1, 2, 1, sTextColors, 0, gText_MoveCloserToLinkPartner);
|
||||
PutWindowTilemap(0);
|
||||
PutWindowTilemap(2);
|
||||
CopyWindowToVram(0, 0);
|
||||
@ -1657,7 +1657,7 @@ static void ErrorMsg_CheckConnections(void)
|
||||
LoadBgTiles(0, sCommErrorBg_Gfx, 0x20, 0);
|
||||
FillWindowPixelBuffer(1, PIXEL_FILL(0));
|
||||
FillWindowPixelBuffer(2, PIXEL_FILL(0));
|
||||
AddTextPrinterParameterized3(1, 3, 2, 0, sTextColors, 0, gText_CommErrorCheckConnections);
|
||||
AddTextPrinterParameterized3(1, FONT_SHORT_COPY_1, 2, 0, sTextColors, 0, gText_CommErrorCheckConnections);
|
||||
PutWindowTilemap(1);
|
||||
PutWindowTilemap(2);
|
||||
CopyWindowToVram(1, 0);
|
||||
@ -1692,9 +1692,9 @@ static void CB2_PrintErrorMessage(void)
|
||||
break;
|
||||
case 130:
|
||||
if (gWirelessCommType == 2)
|
||||
AddTextPrinterParameterized3(0, 3, 2, 20, sTextColors, 0, gText_ABtnTitleScreen);
|
||||
AddTextPrinterParameterized3(0, FONT_SHORT_COPY_1, 2, 20, sTextColors, 0, gText_ABtnTitleScreen);
|
||||
else if (gWirelessCommType == 1)
|
||||
AddTextPrinterParameterized3(0, 3, 2, 20, sTextColors, 0, gText_ABtnRegistrationCounter);
|
||||
AddTextPrinterParameterized3(0, FONT_SHORT_COPY_1, 2, 20, sTextColors, 0, gText_ABtnRegistrationCounter);
|
||||
break;
|
||||
}
|
||||
if (gMain.state == 160)
|
||||
|
||||
@ -690,14 +690,14 @@ static void PrintMailText(void)
|
||||
if (sMailRead->message[i][0] == EOS || sMailRead->message[i][0] == CHAR_SPACE)
|
||||
continue;
|
||||
|
||||
AddTextPrinterParameterized3(0, 1, sMailRead->layout->lines[i].xOffset + sMailRead->layout->wordsXPos, y + sMailRead->layout->wordsYPos, sTextColors, 0, sMailRead->message[i]);
|
||||
AddTextPrinterParameterized3(0, FONT_NORMAL, sMailRead->layout->lines[i].xOffset + sMailRead->layout->wordsXPos, y + sMailRead->layout->wordsYPos, sTextColors, 0, sMailRead->message[i]);
|
||||
y += sMailRead->layout->lines[i].height;
|
||||
}
|
||||
bufptr = StringCopy(signature, gText_FromSpace);
|
||||
StringCopy(bufptr, sMailRead->playerName);
|
||||
box_x = GetStringCenterAlignXOffset(1, signature, sMailRead->signatureWidth) + 104;
|
||||
box_x = GetStringCenterAlignXOffset(FONT_NORMAL, signature, sMailRead->signatureWidth) + 104;
|
||||
box_y = sMailRead->layout->signatureYPos + 88;
|
||||
AddTextPrinterParameterized3(0, 1, box_x, box_y, sTextColors, 0, signature);
|
||||
AddTextPrinterParameterized3(0, FONT_NORMAL, box_x, box_y, sTextColors, 0, signature);
|
||||
CopyWindowToVram(0, 3);
|
||||
CopyWindowToVram(1, 3);
|
||||
}
|
||||
|
||||
@ -780,8 +780,8 @@ static void Task_DisplayMainMenu(u8 taskId)
|
||||
default:
|
||||
FillWindowPixelBuffer(0, PIXEL_FILL(0xA));
|
||||
FillWindowPixelBuffer(1, PIXEL_FILL(0xA));
|
||||
AddTextPrinterParameterized3(0, 1, 0, 1, sTextColor_Headers, -1, gText_MainMenuNewGame);
|
||||
AddTextPrinterParameterized3(1, 1, 0, 1, sTextColor_Headers, -1, gText_MainMenuOption);
|
||||
AddTextPrinterParameterized3(0, FONT_NORMAL, 0, 1, sTextColor_Headers, -1, gText_MainMenuNewGame);
|
||||
AddTextPrinterParameterized3(1, FONT_NORMAL, 0, 1, sTextColor_Headers, -1, gText_MainMenuOption);
|
||||
PutWindowTilemap(0);
|
||||
PutWindowTilemap(1);
|
||||
CopyWindowToVram(0, 2);
|
||||
@ -793,9 +793,9 @@ static void Task_DisplayMainMenu(u8 taskId)
|
||||
FillWindowPixelBuffer(2, PIXEL_FILL(0xA));
|
||||
FillWindowPixelBuffer(3, PIXEL_FILL(0xA));
|
||||
FillWindowPixelBuffer(4, PIXEL_FILL(0xA));
|
||||
AddTextPrinterParameterized3(2, 1, 0, 1, sTextColor_Headers, -1, gText_MainMenuContinue);
|
||||
AddTextPrinterParameterized3(3, 1, 0, 1, sTextColor_Headers, -1, gText_MainMenuNewGame);
|
||||
AddTextPrinterParameterized3(4, 1, 0, 1, sTextColor_Headers, -1, gText_MainMenuOption);
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, 0, 1, sTextColor_Headers, -1, gText_MainMenuContinue);
|
||||
AddTextPrinterParameterized3(3, FONT_NORMAL, 0, 1, sTextColor_Headers, -1, gText_MainMenuNewGame);
|
||||
AddTextPrinterParameterized3(4, FONT_NORMAL, 0, 1, sTextColor_Headers, -1, gText_MainMenuOption);
|
||||
MainMenu_FormatSavegameText();
|
||||
PutWindowTilemap(2);
|
||||
PutWindowTilemap(3);
|
||||
@ -812,10 +812,10 @@ static void Task_DisplayMainMenu(u8 taskId)
|
||||
FillWindowPixelBuffer(3, PIXEL_FILL(0xA));
|
||||
FillWindowPixelBuffer(4, PIXEL_FILL(0xA));
|
||||
FillWindowPixelBuffer(5, PIXEL_FILL(0xA));
|
||||
AddTextPrinterParameterized3(2, 1, 0, 1, sTextColor_Headers, -1, gText_MainMenuContinue);
|
||||
AddTextPrinterParameterized3(3, 1, 0, 1, sTextColor_Headers, -1, gText_MainMenuNewGame);
|
||||
AddTextPrinterParameterized3(4, 1, 0, 1, sTextColor_Headers, -1, gText_MainMenuMysteryGift);
|
||||
AddTextPrinterParameterized3(5, 1, 0, 1, sTextColor_Headers, -1, gText_MainMenuOption);
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, 0, 1, sTextColor_Headers, -1, gText_MainMenuContinue);
|
||||
AddTextPrinterParameterized3(3, FONT_NORMAL, 0, 1, sTextColor_Headers, -1, gText_MainMenuNewGame);
|
||||
AddTextPrinterParameterized3(4, FONT_NORMAL, 0, 1, sTextColor_Headers, -1, gText_MainMenuMysteryGift);
|
||||
AddTextPrinterParameterized3(5, FONT_NORMAL, 0, 1, sTextColor_Headers, -1, gText_MainMenuOption);
|
||||
MainMenu_FormatSavegameText();
|
||||
PutWindowTilemap(2);
|
||||
PutWindowTilemap(3);
|
||||
@ -836,11 +836,11 @@ static void Task_DisplayMainMenu(u8 taskId)
|
||||
FillWindowPixelBuffer(4, PIXEL_FILL(0xA));
|
||||
FillWindowPixelBuffer(5, PIXEL_FILL(0xA));
|
||||
FillWindowPixelBuffer(6, PIXEL_FILL(0xA));
|
||||
AddTextPrinterParameterized3(2, 1, 0, 1, sTextColor_Headers, -1, gText_MainMenuContinue);
|
||||
AddTextPrinterParameterized3(3, 1, 0, 1, sTextColor_Headers, -1, gText_MainMenuNewGame);
|
||||
AddTextPrinterParameterized3(4, 1, 0, 1, sTextColor_Headers, -1, gText_MainMenuMysteryGift2);
|
||||
AddTextPrinterParameterized3(5, 1, 0, 1, sTextColor_Headers, -1, gText_MainMenuMysteryEvents);
|
||||
AddTextPrinterParameterized3(6, 1, 0, 1, sTextColor_Headers, -1, gText_MainMenuOption);
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, 0, 1, sTextColor_Headers, -1, gText_MainMenuContinue);
|
||||
AddTextPrinterParameterized3(3, FONT_NORMAL, 0, 1, sTextColor_Headers, -1, gText_MainMenuNewGame);
|
||||
AddTextPrinterParameterized3(4, FONT_NORMAL, 0, 1, sTextColor_Headers, -1, gText_MainMenuMysteryGift2);
|
||||
AddTextPrinterParameterized3(5, FONT_NORMAL, 0, 1, sTextColor_Headers, -1, gText_MainMenuMysteryEvents);
|
||||
AddTextPrinterParameterized3(6, FONT_NORMAL, 0, 1, sTextColor_Headers, -1, gText_MainMenuOption);
|
||||
MainMenu_FormatSavegameText();
|
||||
PutWindowTilemap(2);
|
||||
PutWindowTilemap(3);
|
||||
@ -2117,7 +2117,7 @@ static void NewGameBirchSpeech_SetDefaultPlayerName(u8 nameId)
|
||||
static void CreateMainMenuErrorWindow(const u8* str)
|
||||
{
|
||||
FillWindowPixelBuffer(7, PIXEL_FILL(1));
|
||||
AddTextPrinterParameterized(7, 1, str, 0, 1, 2, 0);
|
||||
AddTextPrinterParameterized(7, FONT_NORMAL, str, 0, 1, 2, 0);
|
||||
PutWindowTilemap(7);
|
||||
CopyWindowToVram(7, 2);
|
||||
DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[7], MAIN_MENU_BORDER_TILE);
|
||||
@ -2136,8 +2136,8 @@ static void MainMenu_FormatSavegameText(void)
|
||||
static void MainMenu_FormatSavegamePlayer(void)
|
||||
{
|
||||
StringExpandPlaceholders(gStringVar4, gText_ContinueMenuPlayer);
|
||||
AddTextPrinterParameterized3(2, 1, 0, 17, sTextColor_MenuInfo, -1, gStringVar4);
|
||||
AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, gSaveBlock2Ptr->playerName, 100), 17, sTextColor_MenuInfo, -1, gSaveBlock2Ptr->playerName);
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, 0, 17, sTextColor_MenuInfo, -1, gStringVar4);
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, GetStringRightAlignXOffset(FONT_NORMAL, gSaveBlock2Ptr->playerName, 100), 17, sTextColor_MenuInfo, -1, gSaveBlock2Ptr->playerName);
|
||||
}
|
||||
|
||||
static void MainMenu_FormatSavegameTime(void)
|
||||
@ -2146,11 +2146,11 @@ static void MainMenu_FormatSavegameTime(void)
|
||||
u8* ptr;
|
||||
|
||||
StringExpandPlaceholders(gStringVar4, gText_ContinueMenuTime);
|
||||
AddTextPrinterParameterized3(2, 1, 0x6C, 17, sTextColor_MenuInfo, -1, gStringVar4);
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, 0x6C, 17, sTextColor_MenuInfo, -1, gStringVar4);
|
||||
ptr = ConvertIntToDecimalStringN(str, gSaveBlock2Ptr->playTimeHours, STR_CONV_MODE_LEFT_ALIGN, 3);
|
||||
*ptr = 0xF0;
|
||||
ConvertIntToDecimalStringN(ptr + 1, gSaveBlock2Ptr->playTimeMinutes, STR_CONV_MODE_LEADING_ZEROS, 2);
|
||||
AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, str, 0xD0), 17, sTextColor_MenuInfo, -1, str);
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, GetStringRightAlignXOffset(FONT_NORMAL, str, 0xD0), 17, sTextColor_MenuInfo, -1, str);
|
||||
}
|
||||
|
||||
static void MainMenu_FormatSavegamePokedex(void)
|
||||
@ -2165,9 +2165,9 @@ static void MainMenu_FormatSavegamePokedex(void)
|
||||
else
|
||||
dexCount = GetHoennPokedexCount(FLAG_GET_CAUGHT);
|
||||
StringExpandPlaceholders(gStringVar4, gText_ContinueMenuPokedex);
|
||||
AddTextPrinterParameterized3(2, 1, 0, 33, sTextColor_MenuInfo, -1, gStringVar4);
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, 0, 33, sTextColor_MenuInfo, -1, gStringVar4);
|
||||
ConvertIntToDecimalStringN(str, dexCount, STR_CONV_MODE_LEFT_ALIGN, 3);
|
||||
AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, str, 100), 33, sTextColor_MenuInfo, -1, str);
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, GetStringRightAlignXOffset(FONT_NORMAL, str, 100), 33, sTextColor_MenuInfo, -1, str);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2183,9 +2183,9 @@ static void MainMenu_FormatSavegameBadges(void)
|
||||
badgeCount++;
|
||||
}
|
||||
StringExpandPlaceholders(gStringVar4, gText_ContinueMenuBadges);
|
||||
AddTextPrinterParameterized3(2, 1, 0x6C, 33, sTextColor_MenuInfo, -1, gStringVar4);
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, 0x6C, 33, sTextColor_MenuInfo, -1, gStringVar4);
|
||||
ConvertIntToDecimalStringN(str, badgeCount, STR_CONV_MODE_LEADING_ZEROS, 1);
|
||||
AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, str, 0xD0), 33, sTextColor_MenuInfo, -1, str);
|
||||
AddTextPrinterParameterized3(2, FONT_NORMAL, GetStringRightAlignXOffset(FONT_NORMAL, str, 0xD0), 33, sTextColor_MenuInfo, -1, str);
|
||||
}
|
||||
|
||||
static void LoadMainMenuWindowFrameTiles(u8 bgId, u16 tileOffset)
|
||||
@ -2237,9 +2237,9 @@ static void NewGameBirchSpeech_ClearGenderWindow(u8 windowId, bool8 copyToVram)
|
||||
|
||||
static void NewGameBirchSpeech_ClearWindow(u8 windowId)
|
||||
{
|
||||
u8 bgColor = GetFontAttribute(1, FONTATTR_COLOR_BACKGROUND);
|
||||
u8 maxCharWidth = GetFontAttribute(1, FONTATTR_MAX_LETTER_WIDTH);
|
||||
u8 maxCharHeight = GetFontAttribute(1, FONTATTR_MAX_LETTER_HEIGHT);
|
||||
u8 bgColor = GetFontAttribute(FONT_NORMAL, FONTATTR_COLOR_BACKGROUND);
|
||||
u8 maxCharWidth = GetFontAttribute(FONT_NORMAL, FONTATTR_MAX_LETTER_WIDTH);
|
||||
u8 maxCharHeight = GetFontAttribute(FONT_NORMAL, FONTATTR_MAX_LETTER_HEIGHT);
|
||||
u8 winWidth = GetWindowAttribute(windowId, WINDOW_WIDTH);
|
||||
u8 winHeight = GetWindowAttribute(windowId, WINDOW_HEIGHT);
|
||||
|
||||
|
||||
@ -325,11 +325,11 @@ static void ShowMapNamePopUpWindow(void)
|
||||
}
|
||||
AddMapNamePopUpWindow();
|
||||
LoadMapNamePopUpWindowBg();
|
||||
x = GetStringCenterAlignXOffset(7, withoutPrefixPtr, 80);
|
||||
x = GetStringCenterAlignXOffset(FONT_NARROW, withoutPrefixPtr, 80);
|
||||
mapDisplayHeader[0] = EXT_CTRL_CODE_BEGIN;
|
||||
mapDisplayHeader[1] = EXT_CTRL_CODE_HIGHLIGHT;
|
||||
mapDisplayHeader[2] = TEXT_COLOR_TRANSPARENT;
|
||||
AddTextPrinterParameterized(GetMapNamePopUpWindowId(), 7, mapDisplayHeader, x, 3, 0xFF, NULL);
|
||||
AddTextPrinterParameterized(GetMapNamePopUpWindowId(), FONT_NARROW, mapDisplayHeader, x, 3, 0xFF, NULL);
|
||||
CopyWindowToVram(GetMapNamePopUpWindowId(), 3);
|
||||
}
|
||||
|
||||
|
||||
@ -1401,7 +1401,7 @@ static void InitMatchCallTextPrinter(int windowId, const u8 *str)
|
||||
struct TextPrinterTemplate printerTemplate;
|
||||
printerTemplate.currentChar = str;
|
||||
printerTemplate.windowId = windowId;
|
||||
printerTemplate.fontId = 1;
|
||||
printerTemplate.fontId = FONT_NORMAL;
|
||||
printerTemplate.x = 32;
|
||||
printerTemplate.y = 1;
|
||||
printerTemplate.currentX = 32;
|
||||
|
||||
@ -447,7 +447,7 @@ static void DisableTextPrinters(struct TextPrinterTemplate * printer, u16 a1)
|
||||
static void DrawSongTextWindow(const u8 * str)
|
||||
{
|
||||
DrawDialogueFrame(0, 0);
|
||||
AddTextPrinterParameterized(0, 1, str, 0, 1, 1, DisableTextPrinters);
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, str, 0, 1, 1, DisableTextPrinters);
|
||||
gDisableTextPrinters = TRUE;
|
||||
CopyWindowToVram(0, 3);
|
||||
}
|
||||
@ -1324,7 +1324,7 @@ static void StorytellerDisplayStory(u32 player)
|
||||
static void PrintStoryList(void)
|
||||
{
|
||||
s32 i;
|
||||
s32 width = GetStringWidth(1, gText_Exit, 0);
|
||||
s32 width = GetStringWidth(FONT_NORMAL, gText_Exit, 0);
|
||||
for (i = 0; i < NUM_STORYTELLER_TALES; i++)
|
||||
{
|
||||
s32 curWidth;
|
||||
@ -1332,7 +1332,7 @@ static void PrintStoryList(void)
|
||||
|
||||
if (gameStatID == 0)
|
||||
break;
|
||||
curWidth = GetStringWidth(1, GetStoryTitleByStat(gameStatID), 0);
|
||||
curWidth = GetStringWidth(FONT_NORMAL, GetStoryTitleByStat(gameStatID), 0);
|
||||
if (curWidth > width)
|
||||
width = curWidth;
|
||||
}
|
||||
@ -1343,9 +1343,9 @@ static void PrintStoryList(void)
|
||||
u16 gameStatID = sStorytellerPtr->gameStatIDs[i];
|
||||
if (gameStatID == 0)
|
||||
break;
|
||||
AddTextPrinterParameterized(sStorytellerWindowId, 1, GetStoryTitleByStat(gameStatID), 8, 16 * i + 1, 0xFF, NULL);
|
||||
AddTextPrinterParameterized(sStorytellerWindowId, FONT_NORMAL, GetStoryTitleByStat(gameStatID), 8, 16 * i + 1, 0xFF, NULL);
|
||||
}
|
||||
AddTextPrinterParameterized(sStorytellerWindowId, 1, gText_Exit, 8, 16 * i + 1, 0xFF, NULL);
|
||||
AddTextPrinterParameterized(sStorytellerWindowId, FONT_NORMAL, gText_Exit, 8, 16 * i + 1, 0xFF, NULL);
|
||||
InitMenuInUpperLeftCornerPlaySoundWhenAPressed(sStorytellerWindowId, GetFreeStorySlot() + 1, 0);
|
||||
CopyWindowToVram(sStorytellerWindowId, 3);
|
||||
}
|
||||
|
||||
66
src/menu.c
@ -193,19 +193,19 @@ void AddTextPrinterForMessage(bool8 allowSkippingDelayWithButtonPress)
|
||||
{
|
||||
void (*callback)(struct TextPrinterTemplate *, u16) = NULL;
|
||||
gTextFlags.canABSpeedUpPrint = allowSkippingDelayWithButtonPress;
|
||||
AddTextPrinterParameterized2(0, 1, gStringVar4, GetPlayerTextSpeedDelay(), callback, 2, 1, 3);
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, gStringVar4, GetPlayerTextSpeedDelay(), callback, 2, 1, 3);
|
||||
}
|
||||
|
||||
void AddTextPrinterForMessage_2(bool8 allowSkippingDelayWithButtonPress)
|
||||
{
|
||||
gTextFlags.canABSpeedUpPrint = allowSkippingDelayWithButtonPress;
|
||||
AddTextPrinterParameterized2(0, 1, gStringVar4, GetPlayerTextSpeedDelay(), NULL, 2, 1, 3);
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, gStringVar4, GetPlayerTextSpeedDelay(), NULL, 2, 1, 3);
|
||||
}
|
||||
|
||||
void AddTextPrinterWithCustomSpeedForMessage(bool8 allowSkippingDelayWithButtonPress, u8 speed)
|
||||
{
|
||||
gTextFlags.canABSpeedUpPrint = allowSkippingDelayWithButtonPress;
|
||||
AddTextPrinterParameterized2(0, 1, gStringVar4, speed, NULL, 2, 1, 3);
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, gStringVar4, speed, NULL, 2, 1, 3);
|
||||
}
|
||||
|
||||
void LoadMessageBoxAndBorderGfx(void)
|
||||
@ -460,7 +460,7 @@ static u16 Menu_GetStdPalColor(u8 colorNum)
|
||||
void DisplayItemMessageOnField(u8 taskId, const u8 *string, TaskFunc callback)
|
||||
{
|
||||
LoadMessageBoxAndBorderGfx();
|
||||
DisplayMessageAndContinueTask(taskId, 0, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM, 1, GetPlayerTextSpeedDelay(), string, callback);
|
||||
DisplayMessageAndContinueTask(taskId, 0, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM, FONT_NORMAL, GetPlayerTextSpeedDelay(), string, callback);
|
||||
CopyWindowToVram(0, 3);
|
||||
}
|
||||
|
||||
@ -547,7 +547,7 @@ void RemoveMapNamePopUpWindow(void)
|
||||
void AddTextPrinterWithCallbackForMessage(bool8 a1, void (*callback)(struct TextPrinterTemplate *, u16))
|
||||
{
|
||||
gTextFlags.canABSpeedUpPrint = a1;
|
||||
AddTextPrinterParameterized2(0, 1, gStringVar4, GetPlayerTextSpeedDelay(), callback, 2, 1, 3);
|
||||
AddTextPrinterParameterized2(0, FONT_NORMAL, gStringVar4, GetPlayerTextSpeedDelay(), callback, 2, 1, 3);
|
||||
}
|
||||
|
||||
void sub_8197AE8(bool8 copyToVram)
|
||||
@ -823,9 +823,9 @@ void sub_8198180(const u8 *string, u8 a2, bool8 copyToVram)
|
||||
{
|
||||
PutWindowTilemap(sWindowId);
|
||||
FillWindowPixelBuffer(sWindowId, PIXEL_FILL(15));
|
||||
width = GetStringWidth(0, string, 0);
|
||||
width = GetStringWidth(FONT_SMALL, string, 0);
|
||||
AddTextPrinterParameterized3(sWindowId,
|
||||
0,
|
||||
FONT_SMALL,
|
||||
0xEC - (GetWindowAttribute(sWindowId, WINDOW_TILEMAP_LEFT) * 8) - a2 - width,
|
||||
1,
|
||||
sTextColors,
|
||||
@ -859,16 +859,16 @@ void sub_8198204(const u8 *string, const u8 *string2, u8 a3, u8 a4, bool8 copyTo
|
||||
FillWindowPixelBuffer(sWindowId, PIXEL_FILL(15));
|
||||
if (string2 != NULL)
|
||||
{
|
||||
width = GetStringWidth(0, string2, 0);
|
||||
width = GetStringWidth(FONT_SMALL, string2, 0);
|
||||
AddTextPrinterParameterized3(sWindowId,
|
||||
0,
|
||||
FONT_SMALL,
|
||||
0xEC - (GetWindowAttribute(sWindowId, WINDOW_TILEMAP_LEFT) * 8) - a4 - width,
|
||||
1,
|
||||
color,
|
||||
0,
|
||||
string2);
|
||||
}
|
||||
AddTextPrinterParameterized4(sWindowId, 1, 4, 1, 0, 0, color, 0, string);
|
||||
AddTextPrinterParameterized4(sWindowId, FONT_NORMAL, 4, 1, 0, 0, color, 0, string);
|
||||
if (copyToVram)
|
||||
CopyWindowToVram(sWindowId, 3);
|
||||
}
|
||||
@ -1202,7 +1202,7 @@ void sub_8198AF8(const struct WindowTemplate *window, u8 fontId, u8 left, u8 top
|
||||
printer.letterSpacing = GetFontAttribute(fontId, FONTATTR_LETTER_SPACING);
|
||||
printer.lineSpacing = GetFontAttribute(fontId, FONTATTR_LINE_SPACING);
|
||||
|
||||
AddTextPrinter(&printer, 0xFF, NULL);
|
||||
AddTextPrinter(&printer, TEXT_SPEED_FF, NULL);
|
||||
|
||||
sub_81983AC(sYesNoWindowId, fontId, left, top, GetFontAttribute(fontId, FONTATTR_MAX_LETTER_HEIGHT), 2, initialCursorPos);
|
||||
}
|
||||
@ -1580,7 +1580,7 @@ u8 InitMenuInUpperLeftCorner(u8 windowId, u8 itemCount, u8 initialCursorPos, boo
|
||||
sMenu.minCursorPos = 0;
|
||||
sMenu.maxCursorPos = itemCount - 1;
|
||||
sMenu.windowId = windowId;
|
||||
sMenu.fontId = 1;
|
||||
sMenu.fontId = FONT_NORMAL;
|
||||
sMenu.optionHeight = 16;
|
||||
sMenu.APressMuted = APressMuted;
|
||||
|
||||
@ -1617,11 +1617,11 @@ void sub_81995E4(u8 windowId, u8 itemCount, const struct MenuAction *menuActions
|
||||
struct TextPrinterTemplate printer;
|
||||
|
||||
printer.windowId = windowId;
|
||||
printer.fontId = 1;
|
||||
printer.fgColor = GetFontAttribute(1, FONTATTR_COLOR_FOREGROUND);
|
||||
printer.bgColor = GetFontAttribute(1, FONTATTR_COLOR_BACKGROUND);
|
||||
printer.shadowColor = GetFontAttribute(1, FONTATTR_COLOR_SHADOW);
|
||||
printer.unk = GetFontAttribute(1, FONTATTR_UNKNOWN);
|
||||
printer.fontId = FONT_NORMAL;
|
||||
printer.fgColor = GetFontAttribute(FONT_NORMAL, FONTATTR_COLOR_FOREGROUND);
|
||||
printer.bgColor = GetFontAttribute(FONT_NORMAL, FONTATTR_COLOR_BACKGROUND);
|
||||
printer.shadowColor = GetFontAttribute(FONT_NORMAL, FONTATTR_COLOR_SHADOW);
|
||||
printer.unk = GetFontAttribute(FONT_NORMAL, FONTATTR_UNKNOWN);
|
||||
printer.letterSpacing = 0;
|
||||
printer.lineSpacing = 0;
|
||||
printer.x = 8;
|
||||
@ -1647,15 +1647,15 @@ void CreateYesNoMenu(const struct WindowTemplate *window, u16 baseTileNum, u8 pa
|
||||
|
||||
printer.currentChar = gText_YesNo;
|
||||
printer.windowId = sYesNoWindowId;
|
||||
printer.fontId = 1;
|
||||
printer.fontId = FONT_NORMAL;
|
||||
printer.x = 8;
|
||||
printer.y = 1;
|
||||
printer.currentX = printer.x;
|
||||
printer.currentY = printer.y;
|
||||
printer.fgColor = GetFontAttribute(1, FONTATTR_COLOR_FOREGROUND);
|
||||
printer.bgColor = GetFontAttribute(1, FONTATTR_COLOR_BACKGROUND);
|
||||
printer.shadowColor = GetFontAttribute(1, FONTATTR_COLOR_SHADOW);
|
||||
printer.unk = GetFontAttribute(1, FONTATTR_UNKNOWN);
|
||||
printer.fgColor = GetFontAttribute(FONT_NORMAL, FONTATTR_COLOR_FOREGROUND);
|
||||
printer.bgColor = GetFontAttribute(FONT_NORMAL, FONTATTR_COLOR_BACKGROUND);
|
||||
printer.shadowColor = GetFontAttribute(FONT_NORMAL, FONTATTR_COLOR_SHADOW);
|
||||
printer.unk = GetFontAttribute(FONT_NORMAL, FONTATTR_UNKNOWN);
|
||||
printer.letterSpacing = 0;
|
||||
printer.lineSpacing = 0;
|
||||
|
||||
@ -1682,11 +1682,11 @@ void sub_819983C(u8 windowId, u8 a4, u8 itemCount, u8 itemCount2, const struct M
|
||||
struct TextPrinterTemplate printer;
|
||||
|
||||
printer.windowId = windowId;
|
||||
printer.fontId = 1;
|
||||
printer.fgColor = GetFontAttribute(1, FONTATTR_COLOR_FOREGROUND);
|
||||
printer.bgColor = GetFontAttribute(1, FONTATTR_COLOR_BACKGROUND);
|
||||
printer.shadowColor = GetFontAttribute(1, FONTATTR_COLOR_SHADOW);
|
||||
printer.unk = GetFontAttribute(1, FONTATTR_UNKNOWN);
|
||||
printer.fontId = FONT_NORMAL;
|
||||
printer.fgColor = GetFontAttribute(FONT_NORMAL, FONTATTR_COLOR_FOREGROUND);
|
||||
printer.bgColor = GetFontAttribute(FONT_NORMAL, FONTATTR_COLOR_BACKGROUND);
|
||||
printer.shadowColor = GetFontAttribute(FONT_NORMAL, FONTATTR_COLOR_SHADOW);
|
||||
printer.unk = GetFontAttribute(FONT_NORMAL, FONTATTR_UNKNOWN);
|
||||
printer.letterSpacing = 0;
|
||||
printer.lineSpacing = 0;
|
||||
|
||||
@ -1715,7 +1715,7 @@ u8 InitMenuActionGrid(u8 windowId, u8 optionWidth, u8 columns, u8 rows, u8 initi
|
||||
sMenu.minCursorPos = 0;
|
||||
sMenu.maxCursorPos = (columns * rows) - 1;
|
||||
sMenu.windowId = windowId;
|
||||
sMenu.fontId = 1;
|
||||
sMenu.fontId = FONT_NORMAL;
|
||||
sMenu.optionWidth = optionWidth;
|
||||
sMenu.optionHeight = 16;
|
||||
sMenu.columns = columns;
|
||||
@ -1948,8 +1948,8 @@ void AddTextPrinterParameterized3(u8 windowId, u8 fontId, u8 left, u8 top, const
|
||||
printer.y = top;
|
||||
printer.currentX = printer.x;
|
||||
printer.currentY = printer.y;
|
||||
printer.letterSpacing = GetFontAttribute(fontId, 2);
|
||||
printer.lineSpacing = GetFontAttribute(fontId, 3);
|
||||
printer.letterSpacing = GetFontAttribute(fontId, FONTATTR_LETTER_SPACING);
|
||||
printer.lineSpacing = GetFontAttribute(fontId, FONTATTR_LINE_SPACING);
|
||||
printer.unk = 0;
|
||||
printer.fgColor = color[1];
|
||||
printer.bgColor = color[0];
|
||||
@ -1994,9 +1994,9 @@ void AddTextPrinterParameterized5(u8 windowId, u8 fontId, const u8 *str, u8 left
|
||||
printer.lineSpacing = lineSpacing;
|
||||
printer.unk = 0;
|
||||
|
||||
printer.fgColor = GetFontAttribute(fontId, 5);
|
||||
printer.bgColor = GetFontAttribute(fontId, 6);
|
||||
printer.shadowColor = GetFontAttribute(fontId, 7);
|
||||
printer.fgColor = GetFontAttribute(fontId, FONTATTR_COLOR_FOREGROUND);
|
||||
printer.bgColor = GetFontAttribute(fontId, FONTATTR_COLOR_BACKGROUND);
|
||||
printer.shadowColor = GetFontAttribute(fontId, FONTATTR_COLOR_SHADOW);
|
||||
|
||||
AddTextPrinter(&printer, speed, callback);
|
||||
}
|
||||
|
||||
@ -203,7 +203,7 @@ static const struct ListMenuTemplate sMoveRelearnerMovesListTemplate =
|
||||
.lettersSpacing = 0,
|
||||
.itemVerticalPadding = 0,
|
||||
.scrollMultiple = LIST_NO_MULTIPLE_SCROLL,
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.cursorKind = 0
|
||||
};
|
||||
|
||||
@ -268,7 +268,7 @@ static void MailboxMenu_ItemPrintFunc(u8 windowId, u32 itemId, u8 y)
|
||||
length = StringLength(buffer);
|
||||
if (length < PLAYER_NAME_LENGTH - 1)
|
||||
ConvertInternationalString(buffer, LANGUAGE_JAPANESE);
|
||||
AddTextPrinterParameterized4(windowId, 1, 8, y, 0, 0, sPlayerNameTextColors, -1, buffer);
|
||||
AddTextPrinterParameterized4(windowId, FONT_NORMAL, 8, y, 0, 0, sPlayerNameTextColors, -1, buffer);
|
||||
}
|
||||
|
||||
u8 MailboxMenu_CreateList(struct PlayerPCItemPageStruct *page)
|
||||
@ -296,7 +296,7 @@ u8 MailboxMenu_CreateList(struct PlayerPCItemPageStruct *page)
|
||||
gMultiuseListMenuTemplate.cursorShadowPal = 3;
|
||||
gMultiuseListMenuTemplate.moveCursorFunc = MailboxMenu_MoveCursorFunc;
|
||||
gMultiuseListMenuTemplate.itemPrintFunc = MailboxMenu_ItemPrintFunc;
|
||||
gMultiuseListMenuTemplate.fontId = 1;
|
||||
gMultiuseListMenuTemplate.fontId = FONT_NORMAL;
|
||||
gMultiuseListMenuTemplate.cursorKind = 0;
|
||||
gMultiuseListMenuTemplate.lettersSpacing = 0;
|
||||
gMultiuseListMenuTemplate.itemVerticalPadding = 0;
|
||||
@ -739,19 +739,19 @@ static void MoveRelearnerLoadBattleMoveDescription(u32 chosenMove)
|
||||
|
||||
FillWindowPixelBuffer(0, PIXEL_FILL(1));
|
||||
str = gText_MoveRelearnerBattleMoves;
|
||||
x = GetStringCenterAlignXOffset(1, str, 0x80);
|
||||
AddTextPrinterParameterized(0, 1, str, x, 1, TEXT_SPEED_FF, NULL);
|
||||
x = GetStringCenterAlignXOffset(FONT_NORMAL, str, 0x80);
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, str, x, 1, TEXT_SPEED_FF, NULL);
|
||||
|
||||
str = gText_MoveRelearnerPP;
|
||||
AddTextPrinterParameterized(0, 1, str, 4, 0x29, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, str, 4, 0x29, TEXT_SPEED_FF, NULL);
|
||||
|
||||
str = gText_MoveRelearnerPower;
|
||||
x = GetStringRightAlignXOffset(1, str, 0x6A);
|
||||
AddTextPrinterParameterized(0, 1, str, x, 0x19, TEXT_SPEED_FF, NULL);
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, str, 0x6A);
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, str, x, 0x19, TEXT_SPEED_FF, NULL);
|
||||
|
||||
str = gText_MoveRelearnerAccuracy;
|
||||
x = GetStringRightAlignXOffset(1, str, 0x6A);
|
||||
AddTextPrinterParameterized(0, 1, str, x, 0x29, TEXT_SPEED_FF, NULL);
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, str, 0x6A);
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, str, x, 0x29, TEXT_SPEED_FF, NULL);
|
||||
if (chosenMove == LIST_CANCEL)
|
||||
{
|
||||
CopyWindowToVram(0, 2);
|
||||
@ -759,11 +759,11 @@ static void MoveRelearnerLoadBattleMoveDescription(u32 chosenMove)
|
||||
}
|
||||
move = &gBattleMoves[chosenMove];
|
||||
str = gTypeNames[move->type];
|
||||
AddTextPrinterParameterized(0, 1, str, 4, 0x19, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, str, 4, 0x19, TEXT_SPEED_FF, NULL);
|
||||
|
||||
x = 4 + GetStringWidth(1, gText_MoveRelearnerPP, 0);
|
||||
x = 4 + GetStringWidth(FONT_NORMAL, gText_MoveRelearnerPP, 0);
|
||||
ConvertIntToDecimalStringN(buffer, move->pp, STR_CONV_MODE_LEFT_ALIGN, 2);
|
||||
AddTextPrinterParameterized(0, 1, buffer, x, 0x29, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, buffer, x, 0x29, TEXT_SPEED_FF, NULL);
|
||||
|
||||
if (move->power < 2)
|
||||
{
|
||||
@ -774,7 +774,7 @@ static void MoveRelearnerLoadBattleMoveDescription(u32 chosenMove)
|
||||
ConvertIntToDecimalStringN(buffer, move->power, STR_CONV_MODE_LEFT_ALIGN, 3);
|
||||
str = buffer;
|
||||
}
|
||||
AddTextPrinterParameterized(0, 1, str, 0x6A, 0x19, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, str, 0x6A, 0x19, TEXT_SPEED_FF, NULL);
|
||||
|
||||
if (move->accuracy == 0)
|
||||
{
|
||||
@ -785,10 +785,10 @@ static void MoveRelearnerLoadBattleMoveDescription(u32 chosenMove)
|
||||
ConvertIntToDecimalStringN(buffer, move->accuracy, STR_CONV_MODE_LEFT_ALIGN, 3);
|
||||
str = buffer;
|
||||
}
|
||||
AddTextPrinterParameterized(0, 1, str, 0x6A, 0x29, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, str, 0x6A, 0x29, TEXT_SPEED_FF, NULL);
|
||||
|
||||
str = gMoveDescriptionPointers[chosenMove - 1];
|
||||
AddTextPrinterParameterized(0, 7, str, 0, 0x41, 0, NULL);
|
||||
AddTextPrinterParameterized(0, FONT_NARROW, str, 0, 0x41, 0, NULL);
|
||||
}
|
||||
|
||||
static void MoveRelearnerMenuLoadContestMoveDescription(u32 chosenMove)
|
||||
@ -800,16 +800,16 @@ static void MoveRelearnerMenuLoadContestMoveDescription(u32 chosenMove)
|
||||
MoveRelearnerShowHideHearts(chosenMove);
|
||||
FillWindowPixelBuffer(1, PIXEL_FILL(1));
|
||||
str = gText_MoveRelearnerContestMovesTitle;
|
||||
x = GetStringCenterAlignXOffset(1, str, 0x80);
|
||||
AddTextPrinterParameterized(1, 1, str, x, 1, TEXT_SPEED_FF, NULL);
|
||||
x = GetStringCenterAlignXOffset(FONT_NORMAL, str, 0x80);
|
||||
AddTextPrinterParameterized(1, FONT_NORMAL, str, x, 1, TEXT_SPEED_FF, NULL);
|
||||
|
||||
str = gText_MoveRelearnerAppeal;
|
||||
x = GetStringRightAlignXOffset(1, str, 0x5C);
|
||||
AddTextPrinterParameterized(1, 1, str, x, 0x19, TEXT_SPEED_FF, NULL);
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, str, 0x5C);
|
||||
AddTextPrinterParameterized(1, FONT_NORMAL, str, x, 0x19, TEXT_SPEED_FF, NULL);
|
||||
|
||||
str = gText_MoveRelearnerJam;
|
||||
x = GetStringRightAlignXOffset(1, str, 0x5C);
|
||||
AddTextPrinterParameterized(1, 1, str, x, 0x29, TEXT_SPEED_FF, NULL);
|
||||
x = GetStringRightAlignXOffset(FONT_NORMAL, str, 0x5C);
|
||||
AddTextPrinterParameterized(1, FONT_NORMAL, str, x, 0x29, TEXT_SPEED_FF, NULL);
|
||||
|
||||
if (chosenMove == MENU_NOTHING_CHOSEN)
|
||||
{
|
||||
@ -819,10 +819,10 @@ static void MoveRelearnerMenuLoadContestMoveDescription(u32 chosenMove)
|
||||
|
||||
move = &gContestMoves[chosenMove];
|
||||
str = gContestMoveTypeTextPointers[move->contestCategory];
|
||||
AddTextPrinterParameterized(1, 1, str, 4, 0x19, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(1, FONT_NORMAL, str, 4, 0x19, TEXT_SPEED_FF, NULL);
|
||||
|
||||
str = gContestEffectDescriptionPointers[move->effect];
|
||||
AddTextPrinterParameterized(1, 7, str, 0, 0x41, TEXT_SPEED_FF, NULL);
|
||||
AddTextPrinterParameterized(1, FONT_NARROW, str, 0, 0x41, TEXT_SPEED_FF, NULL);
|
||||
|
||||
CopyWindowToVram(1, 2);
|
||||
}
|
||||
@ -842,7 +842,7 @@ void MoveRelearnerPrintText(u8 *str)
|
||||
FillWindowPixelBuffer(3, PIXEL_FILL(1));
|
||||
gTextFlags.canABSpeedUpPrint = TRUE;
|
||||
speed = GetPlayerTextSpeedDelay();
|
||||
AddTextPrinterParameterized2(3, 1, str, speed, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, 3);
|
||||
AddTextPrinterParameterized2(3, FONT_NORMAL, str, speed, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, 3);
|
||||
}
|
||||
|
||||
bool16 MoveRelearnerRunTextPrinters(void)
|
||||
@ -1512,7 +1512,7 @@ void DrawLevelUpWindowPg1(u16 windowId, u16 *statsBefore, u16 *statsAfter, u8 bg
|
||||
{
|
||||
|
||||
AddTextPrinterParameterized3(windowId,
|
||||
1,
|
||||
FONT_NORMAL,
|
||||
0,
|
||||
15 * i,
|
||||
color,
|
||||
@ -1521,7 +1521,7 @@ void DrawLevelUpWindowPg1(u16 windowId, u16 *statsBefore, u16 *statsAfter, u8 bg
|
||||
|
||||
StringCopy(text, (statsDiff[i] >= 0) ? gText_Plus : gText_Dash);
|
||||
AddTextPrinterParameterized3(windowId,
|
||||
1,
|
||||
FONT_NORMAL,
|
||||
56,
|
||||
15 * i,
|
||||
color,
|
||||
@ -1534,7 +1534,7 @@ void DrawLevelUpWindowPg1(u16 windowId, u16 *statsBefore, u16 *statsAfter, u8 bg
|
||||
|
||||
ConvertIntToDecimalStringN(text, abs(statsDiff[i]), STR_CONV_MODE_LEFT_ALIGN, 2);
|
||||
AddTextPrinterParameterized3(windowId,
|
||||
1,
|
||||
FONT_NORMAL,
|
||||
56 + x,
|
||||
15 * i,
|
||||
color,
|
||||
@ -1576,7 +1576,7 @@ void DrawLevelUpWindowPg2(u16 windowId, u16 *currStats, u8 bgClr, u8 fgClr, u8 s
|
||||
x = 6 * (4 - numDigits);
|
||||
|
||||
AddTextPrinterParameterized3(windowId,
|
||||
1,
|
||||
FONT_NORMAL,
|
||||
0,
|
||||
15 * i,
|
||||
color,
|
||||
@ -1584,7 +1584,7 @@ void DrawLevelUpWindowPg2(u16 windowId, u16 *currStats, u8 bgClr, u8 fgClr, u8 s
|
||||
sLvlUpStatStrings[i]);
|
||||
|
||||
AddTextPrinterParameterized3(windowId,
|
||||
1,
|
||||
FONT_NORMAL,
|
||||
56 + x,
|
||||
15 * i,
|
||||
color,
|
||||
|
||||
@ -149,7 +149,7 @@ void PrintMoneyAmount(u8 windowId, u8 x, u8 y, int amount, u8 speed)
|
||||
*(txtPtr++) = 0x77;
|
||||
|
||||
StringExpandPlaceholders(txtPtr, gText_PokedollarVar1);
|
||||
AddTextPrinterParameterized(windowId, 1, gStringVar4, x, y, speed, NULL);
|
||||
AddTextPrinterParameterized(windowId, FONT_NORMAL, gStringVar4, x, y, speed, NULL);
|
||||
}
|
||||
|
||||
void PrintMoneyAmountInMoneyBoxWithBorder(u8 windowId, u16 tileStart, u8 pallete, int amount)
|
||||
|
||||
@ -766,7 +766,7 @@ static void HideHeartSpritesAndShowTeachMoveText(bool8 onlyHideSprites)
|
||||
{
|
||||
StringExpandPlaceholders(gStringVar4, gText_TeachWhichMoveToPkmn);
|
||||
FillWindowPixelBuffer(3, 0x11);
|
||||
AddTextPrinterParameterized(3, 1, gStringVar4, 0, 1, 0, NULL);
|
||||
AddTextPrinterParameterized(3, FONT_NORMAL, gStringVar4, 0, 1, 0, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
@ -836,7 +836,7 @@ static void ShowTeachMoveText(bool8 shouldDoNothingInstead)
|
||||
{
|
||||
StringExpandPlaceholders(gStringVar4, gText_TeachWhichMoveToPkmn);
|
||||
FillWindowPixelBuffer(3, 0x11);
|
||||
AddTextPrinterParameterized(3, 1, gStringVar4, 0, 1, 0, NULL);
|
||||
AddTextPrinterParameterized(3, FONT_NORMAL, gStringVar4, 0, 1, 0, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -312,5 +312,5 @@ static void PrintMysteryMenuText(u8 windowId, const u8 *text, u8 x, u8 y, s32 sp
|
||||
textColor[2] = 3;
|
||||
|
||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(textColor[0]));
|
||||
AddTextPrinterParameterized4(windowId, 1, x, y, letterSpacing, lineSpacing, textColor, speed, text);
|
||||
AddTextPrinterParameterized4(windowId, FONT_NORMAL, x, y, letterSpacing, lineSpacing, textColor, speed, text);
|
||||
}
|
||||
|
||||
@ -235,7 +235,7 @@ static const struct ListMenuTemplate sListMenuTemplate_ThreeOptions = {
|
||||
.lettersSpacing = 0,
|
||||
.itemVerticalPadding = 0,
|
||||
.scrollMultiple = 0,
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.cursorKind = 0
|
||||
};
|
||||
|
||||
@ -280,7 +280,7 @@ static const struct ListMenuTemplate sListMenu_ReceiveSendToss = {
|
||||
.lettersSpacing = 0,
|
||||
.itemVerticalPadding = 0,
|
||||
.scrollMultiple = 0,
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.cursorKind = 0
|
||||
};
|
||||
|
||||
@ -301,7 +301,7 @@ static const struct ListMenuTemplate sListMenu_ReceiveToss = {
|
||||
.lettersSpacing = 0,
|
||||
.itemVerticalPadding = 0,
|
||||
.scrollMultiple = 0,
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.cursorKind = 0
|
||||
};
|
||||
|
||||
@ -322,7 +322,7 @@ static const struct ListMenuTemplate sListMenu_ReceiveSend = {
|
||||
.lettersSpacing = 0,
|
||||
.itemVerticalPadding = 0,
|
||||
.scrollMultiple = 0,
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.cursorKind = 0
|
||||
};
|
||||
|
||||
@ -343,7 +343,7 @@ static const struct ListMenuTemplate sListMenu_Receive = {
|
||||
.lettersSpacing = 0,
|
||||
.itemVerticalPadding = 0,
|
||||
.scrollMultiple = 0,
|
||||
.fontId = 1,
|
||||
.fontId = FONT_NORMAL,
|
||||
.cursorKind = 0
|
||||
};
|
||||
|
||||
@ -490,8 +490,8 @@ void PrintMysteryGiftOrEReaderTopMenu(bool8 isEReader, bool32 useCancel)
|
||||
options = gJPText_DecideStop;
|
||||
}
|
||||
|
||||
AddTextPrinterParameterized4(0, 1, 4, 1, 0, 0, sTextColors_TopMenu, TEXT_SPEED_FF, header);
|
||||
AddTextPrinterParameterized4(0, 0, GetStringRightAlignXOffset(0, options, 0xDE), 1, 0, 0, sTextColors_TopMenu, TEXT_SPEED_FF, options);
|
||||
AddTextPrinterParameterized4(0, FONT_NORMAL, 4, 1, 0, 0, sTextColors_TopMenu, TEXT_SPEED_FF, header);
|
||||
AddTextPrinterParameterized4(0, FONT_SMALL, GetStringRightAlignXOffset(FONT_SMALL, options, 0xDE), 1, 0, 0, sTextColors_TopMenu, TEXT_SPEED_FF, options);
|
||||
CopyWindowToVram(0, 2);
|
||||
PutWindowTilemap(0);
|
||||
}
|
||||
@ -537,7 +537,7 @@ void AddTextPrinterToWindow1(const u8 *str)
|
||||
{
|
||||
StringExpandPlaceholders(gStringVar4, str);
|
||||
FillWindowPixelBuffer(1, 0x11);
|
||||
AddTextPrinterParameterized4(1, 1, 0, 1, 0, 0, sMG_Ereader_TextColor_2, 0, gStringVar4);
|
||||
AddTextPrinterParameterized4(1, FONT_NORMAL, 0, 1, 0, 0, sMG_Ereader_TextColor_2, 0, gStringVar4);
|
||||
DrawTextBorderOuter(1, 0x001, 0xF);
|
||||
PutWindowTilemap(1);
|
||||
CopyWindowToVram(1, 3);
|
||||
@ -669,7 +669,7 @@ s8 DoMysteryGiftYesNo(u8 * textState, u16 * windowId, bool8 yesNoBoxPlacement, c
|
||||
else
|
||||
*windowId = AddWindow(&sWindowTemplate_YesNoMsg);
|
||||
FillWindowPixelBuffer(*windowId, 0x11);
|
||||
AddTextPrinterParameterized4(*windowId, 1, 0, 1, 0, 0, sMG_Ereader_TextColor_2, 0, gStringVar4);
|
||||
AddTextPrinterParameterized4(*windowId, FONT_NORMAL, 0, 1, 0, 0, sMG_Ereader_TextColor_2, 0, gStringVar4);
|
||||
DrawTextBorderOuter(*windowId, 0x001, 0x0F);
|
||||
CopyWindowToVram(*windowId, 2);
|
||||
PutWindowTilemap(*windowId);
|
||||
@ -726,7 +726,7 @@ static s32 HandleGiftSelectMenu(u8 * textState, u16 * windowId, bool32 cannotTos
|
||||
StringExpandPlaceholders(gStringVar4, gText_WhatToDoWithNews);
|
||||
*windowId = AddWindow(&sWindowTemplate_GiftSelect);
|
||||
FillWindowPixelBuffer(*windowId, 0x11);
|
||||
AddTextPrinterParameterized4(*windowId, 1, 0, 1, 0, 0, sMG_Ereader_TextColor_2, 0, gStringVar4);
|
||||
AddTextPrinterParameterized4(*windowId, FONT_NORMAL, 0, 1, 0, 0, sMG_Ereader_TextColor_2, 0, gStringVar4);
|
||||
DrawTextBorderOuter(*windowId, 0x001, 0x0F);
|
||||
CopyWindowToVram(*windowId, 2);
|
||||
PutWindowTilemap(*windowId);
|
||||
|
||||