mirror of
https://github.com/pret/pokeemerald.git
synced 2026-04-25 07:38:49 -05:00
Fix auto-signpost textprinter (#8833)
Co-authored-by: Hedara <hedara90@gmail.com>
This commit is contained in:
parent
7ccac14584
commit
c5921cedad
|
|
@ -181,6 +181,7 @@ extern u8 gDisableTextPrinters;
|
|||
extern struct TextGlyph gCurGlyph;
|
||||
|
||||
void DeactivateAllTextPrinters(void);
|
||||
void DeactivateSingleTextPrinter(u32 id, enum TextPrinterType type);
|
||||
u16 AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16));
|
||||
u16 AddSpriteTextPrinterParametrerized(u8 spriteId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16));
|
||||
void AddSpriteTextPrinterParameterized3(u8 spriteId, u8 fontId, u8 left, u8 top, const u8 *color, s8 speed, const u8 *str);
|
||||
|
|
|
|||
|
|
@ -4398,8 +4398,7 @@ bool32 CheckPartyHasSpecies(u32 givenSpecies)
|
|||
|
||||
void UseBlankMessageToCancelPokemonPic(void)
|
||||
{
|
||||
u8 t = EOS;
|
||||
AddTextPrinterParameterized(0, FONT_NORMAL, &t, 0, 1, 0, NULL);
|
||||
DeactivateSingleTextPrinter(0, WINDOW_TEXT_PRINTER);
|
||||
ScriptMenu_HidePokemonPic();
|
||||
}
|
||||
|
||||
|
|
|
|||
35
src/text.c
35
src/text.c
|
|
@ -2743,3 +2743,38 @@ static void FreeFinishedTextPrinters(void)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
void DeactivateSingleTextPrinter(u32 id, enum TextPrinterType type)
|
||||
{
|
||||
struct TextPrinter *currentPrinter = sFirstTextPrinter;
|
||||
while (currentPrinter != NULL)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case WINDOW_TEXT_PRINTER:
|
||||
if (currentPrinter->printerTemplate.type == WINDOW_TEXT_PRINTER && currentPrinter->printerTemplate.windowId == id)
|
||||
{
|
||||
currentPrinter->isInUse = FALSE;
|
||||
currentPrinter = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
currentPrinter = currentPrinter->nextPrinter;
|
||||
}
|
||||
break;
|
||||
case SPRITE_TEXT_PRINTER:
|
||||
if (currentPrinter->printerTemplate.type == SPRITE_TEXT_PRINTER && currentPrinter->printerTemplate.spriteId == id)
|
||||
{
|
||||
currentPrinter->isInUse = FALSE;
|
||||
currentPrinter = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
currentPrinter = currentPrinter->nextPrinter;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
FreeFinishedTextPrinters();
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user