Improved responsiveness

This commit is contained in:
2022-04-21 09:50:33 -07:00
parent 6cd31448ce
commit a1a99bade3
4 changed files with 7 additions and 15 deletions

View File

@@ -42,7 +42,6 @@ void conversationFadeUpdate() {
// shade. // shade.
if(diff == FADE_STEP) { if(diff == FADE_STEP) {
// First step // First step
wait_vbl_done();
BGP_REG = ( BGP_REG = (
TIME_FUTURE_TYPE == TIME_FUTURE_TYPE_FADE_TO_BLACK ? COMMON_SHADE_DARK : TIME_FUTURE_TYPE == TIME_FUTURE_TYPE_FADE_TO_BLACK ? COMMON_SHADE_DARK :
TIME_FUTURE_TYPE == TIME_FUTURE_TYPE_FADE_TO_WHITE ? COMMON_SHADE_BRIGHT : TIME_FUTURE_TYPE == TIME_FUTURE_TYPE_FADE_TO_WHITE ? COMMON_SHADE_BRIGHT :
@@ -51,7 +50,6 @@ void conversationFadeUpdate() {
); );
} else if(diff == FADE_STEP * 2) { } else if(diff == FADE_STEP * 2) {
// Second step // Second step
wait_vbl_done();
BGP_REG = ( BGP_REG = (
TIME_FUTURE_TYPE == TIME_FUTURE_TYPE_FADE_TO_BLACK ? COMMON_SHADE_DARKER : TIME_FUTURE_TYPE == TIME_FUTURE_TYPE_FADE_TO_BLACK ? COMMON_SHADE_DARKER :
TIME_FUTURE_TYPE == TIME_FUTURE_TYPE_FADE_TO_WHITE ? COMMON_SHADE_BRIGHTER : TIME_FUTURE_TYPE == TIME_FUTURE_TYPE_FADE_TO_WHITE ? COMMON_SHADE_BRIGHTER :
@@ -60,7 +58,6 @@ void conversationFadeUpdate() {
); );
} else if(diff == FADE_STEP * 3) { } else if(diff == FADE_STEP * 3) {
// Third step // Third step
wait_vbl_done();
BGP_REG = ( BGP_REG = (
TIME_FUTURE_TYPE == TIME_FUTURE_TYPE_FADE_TO_BLACK ? COMMON_SHADE_BLACK : TIME_FUTURE_TYPE == TIME_FUTURE_TYPE_FADE_TO_BLACK ? COMMON_SHADE_BLACK :
TIME_FUTURE_TYPE == TIME_FUTURE_TYPE_FADE_TO_WHITE ? COMMON_SHADE_WHITE : TIME_FUTURE_TYPE == TIME_FUTURE_TYPE_FADE_TO_WHITE ? COMMON_SHADE_WHITE :

View File

@@ -21,7 +21,6 @@ inline void conversationTextboxInit() {
TEXTBOX_STATE = 0; TEXTBOX_STATE = 0;
// Setup window data // Setup window data
wait_vbl_done();
move_win(7, SCREENHEIGHT - (TEXTBOX_HEIGHT_IN_TILES * 8)); move_win(7, SCREENHEIGHT - (TEXTBOX_HEIGHT_IN_TILES * 8));
set_win_data(FONT_DATA_POSITION, FONT_IMAGE_TILES, FONT_IMAGE); set_win_data(FONT_DATA_POSITION, FONT_IMAGE_TILES, FONT_IMAGE);
set_win_data(BORDER_DATA_POSITION, BORDER_IMAGE_TILES, BORDER_IMAGE); set_win_data(BORDER_DATA_POSITION, BORDER_IMAGE_TILES, BORDER_IMAGE);
@@ -56,7 +55,6 @@ void conversationTextboxSetText(char *text) {
// Begin by filling the textbox text chars with whitespace to begin. // Begin by filling the textbox text chars with whitespace to begin.
// TODO: I'm pretty sure I can move this lower and optimize. // TODO: I'm pretty sure I can move this lower and optimize.
for(i = 0; i < TEXTBOX_SCROLL_ROWS_MAX * TEXTBOX_CHARS_PER_ROW; i++) { for(i = 0; i < TEXTBOX_SCROLL_ROWS_MAX * TEXTBOX_CHARS_PER_ROW; i++) {
break;
TEXTBOX_TEXTS[i] = ' '; TEXTBOX_TEXTS[i] = ' ';
} }
@@ -124,7 +122,6 @@ inline void textboxFillBlank() {
} }
} }
wait_vbl_done();
set_win_tiles( set_win_tiles(
0x01, 0x01, 0x01, 0x01,
TEXTBOX_WIDTH_IN_TILES - 0x02, TEXTBOX_HEIGHT_IN_TILES - 0x02, TEXTBOX_WIDTH_IN_TILES - 0x02, TEXTBOX_HEIGHT_IN_TILES - 0x02,
@@ -147,7 +144,6 @@ inline void conversationTextboxUpdate() {
// First, lets figure out if there's any more text to reveal or not. // First, lets figure out if there's any more text to reveal or not.
if((TEXTBOX_ROW_COUNT - TEXTBOX_ROW_CURRENT) < TEXTBOX_TILES_ROWS) { if((TEXTBOX_ROW_COUNT - TEXTBOX_ROW_CURRENT) < TEXTBOX_TILES_ROWS) {
TEXTBOX_STATE &= ~TEXTBOX_STATE_VISIBLE; TEXTBOX_STATE &= ~TEXTBOX_STATE_VISIBLE;
wait_vbl_done();
HIDE_WIN; HIDE_WIN;
conversationQueueNext(); conversationQueueNext();
return; return;
@@ -168,10 +164,8 @@ inline void conversationTextboxUpdate() {
if(TEXTBOX_SCROLL == TEXTBOX_CHARS_MAX) { if(TEXTBOX_SCROLL == TEXTBOX_CHARS_MAX) {
TEXTBOX_STATE |= TEXTBOX_STATE_SCROLLED; TEXTBOX_STATE |= TEXTBOX_STATE_SCROLLED;
} else { } else {
tiles[0] = c - 33 + FONT_DATA_POSITION; tiles[0] = c - TEXTBOX_FONT_START + FONT_DATA_POSITION;
// tiles[0] = c + FONT_DATA_POSITION;
wait_vbl_done();
set_win_tiles( set_win_tiles(
0x01 + (TEXTBOX_SCROLL % TEXTBOX_CHARS_PER_ROW), 0x01 + (TEXTBOX_SCROLL % TEXTBOX_CHARS_PER_ROW),
0x01 + (TEXTBOX_SCROLL / TEXTBOX_CHARS_PER_ROW), 0x01 + (TEXTBOX_SCROLL / TEXTBOX_CHARS_PER_ROW),

View File

@@ -43,6 +43,8 @@
#define TEXTBOX_SCROLL_ROWS_MAX 14 #define TEXTBOX_SCROLL_ROWS_MAX 14
#define TEXTBOX_FONT_START 33
extern char TEXTBOX_TEXTS[TEXTBOX_SCROLL_ROWS_MAX * TEXTBOX_CHARS_PER_ROW]; extern char TEXTBOX_TEXTS[TEXTBOX_SCROLL_ROWS_MAX * TEXTBOX_CHARS_PER_ROW];
extern uint8_t TEXTBOX_ROW_COUNT; extern uint8_t TEXTBOX_ROW_COUNT;
extern uint8_t TEXTBOX_ROW_CURRENT; extern uint8_t TEXTBOX_ROW_CURRENT;

View File

@@ -171,13 +171,14 @@ void main() {
// Begin the loop // Begin the loop
while(1) { while(1) {
// Perform non-graphical code updates // Perform non-graphical code updates
wait_vbl_done();
// Tick time.
timeUpdate();
// Update the input state // Update the input state
INPUT_STATE = joypad(); INPUT_STATE = joypad();
// Tick time.
timeUpdate();
// Update conversation pause effect // Update conversation pause effect
conversationPauseUpdate(); conversationPauseUpdate();
@@ -186,7 +187,5 @@ void main() {
// Update conversation fade effect // Update conversation fade effect
conversationFadeUpdate(); conversationFadeUpdate();
// mainDebugDraw():
} }
} }