Files
balatro-gba-chinese-jocker-…/source/splash_screen.c
T
Geralt e26558e1a5 [Feature] Implement Joker descriptions in the Shop when holding B (#530)
* WIP

* WIP

* WIP

* WIP

* Tags are bugged but it's looking good

* Centering is bugged, almost there

* WIP

* Fixed centeriiiing, yaaaay

* good progress

* add proper '\n' support

* WIP descriptions

* All descriptions are there ^^

* missing 9-patch for pretty display

* WIP

* fix rebase issues

* Fix minor Run Setup screen issues

* Almost done, only one fix to go

* Aaaalmooost doooneeeee

* make desc frame size adaptative

* add rarity color and text

* final cleanup

* clang format

* clang format

* clang format

* clang format

* clang format

* Fix Joker update loop index

* Fix const and Bull description

* Fix unwanted button SFX

* fix tte colors

* Add misprint description

* Fix justified line length computation

* Add safeguards to tag parsing loop

* clang format

* Fix Ante bugged display at boss blind end

* Tweak suit colors

* Final fixes

* Simplified the way we print descriptions

* simplify further

* get rid of weird macro

* Fix Onwed joker price when holding A after showing its description

---------

Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com>
2026-06-08 18:16:37 -07:00

59 lines
1.4 KiB
C

#include "splash_screen.h"
#include "font.h"
#include "game.h"
#include "graphic_utils.h"
#include "maxmod.h"
#include "soundbank.h"
#include <tonc.h>
static const Rect COUNTDOWN_TIMER_RECT = {208, 144, 240, 152};
static uint timer = 0;
void splash_screen_on_init(void)
{
timer = 0;
tte_printf("#{P:72,8; cx:0x%X000}DISCLAIMER", TTE_WHITE_PB);
tte_printf(
"#{P:8,24; cx:0x%X000}This project is NOT endorsed \n by or affiliated with \n Playstack "
"or "
"LocalThunk.\n\n If you have paid for this, \n you have been scammed \n and should request "
"a refund \n IMMEDIATELY. \n\n The only official place \n to obtain this is from: \n\n "
"'github.com/\n GBALATRO/balatro-gba'",
TTE_WHITE_PB
);
tte_printf("#{P:8,144; cx:0x%X000}(Press any key to skip)", TTE_WHITE_PB);
}
void splash_screen_on_update(void)
{
timer++;
if (timer < SPLASH_DURATION_FRAMES)
{
tte_erase_rect_wrapper(COUNTDOWN_TIMER_RECT);
tte_printf(
"#{P:%d,%d; cx:0x%X000}%d",
COUNTDOWN_TIMER_RECT.left,
COUNTDOWN_TIMER_RECT.top,
TTE_WHITE_PB,
1 + (SPLASH_DURATION_FRAMES - timer) / SPLASH_FPS
);
if (!key_hit(KEY_ANY))
{
return;
}
}
game_change_state(GAME_STATE_MAIN_MENU);
tte_erase_screen();
}
void splash_screen_on_exit(void)
{
mmStart(MOD_MAIN_THEME, MM_PLAY_LOOP);
}