Small fixes and cleanups in the text_update() code.

This commit is contained in:
Volker Ruppert 2020-10-20 16:20:33 +00:00
parent 2045ead0ce
commit f62baaa7fd
6 changed files with 23 additions and 26 deletions

View File

@ -1182,8 +1182,6 @@ void bx_gui_c::text_update_common(Bit8u *old_text, Bit8u *new_text,
cfheight = (guest_yres - tm_info->line_compare - 1) % fheight;
if (cfheight == 0) cfheight = 16;
}
} else if (y == split_textrow) {
cfheight = split_fontrows;
} else if (tm_info->v_panning > 0) {
if (y == 0) {
cfheight -= tm_info->v_panning;
@ -1192,6 +1190,9 @@ void bx_gui_c::text_update_common(Bit8u *old_text, Bit8u *new_text,
cfheight = tm_info->v_panning;
}
}
if (y == split_textrow) {
cfheight = split_fontrows - cfstart;
}
new_line = new_text;
offset = loffset;
x = 0;

View File

@ -683,10 +683,8 @@ void bx_sdl_gui_c::text_update(Bit8u *old_text, Bit8u *new_text,
cfheight = v_panning;
}
}
if (!split_screen && (y == split_textrow)) {
if ((split_fontrows - cfstart) < cfheight) {
cfheight = split_fontrows - cfstart;
}
if (y == split_textrow) {
cfheight = split_fontrows - cfstart;
}
new_line = new_text;
old_line = old_text;
@ -769,7 +767,7 @@ void bx_sdl_gui_c::text_update(Bit8u *old_text, Bit8u *new_text,
// go to next character row location
buf_row += disp * cfheight;
if (!split_screen && (y == split_textrow)) {
if (y == split_textrow) {
new_text = text_base;
forceUpdate = 1;
cs_y = 0;
@ -781,8 +779,8 @@ void bx_sdl_gui_c::text_update(Bit8u *old_text, Bit8u *new_text,
new_text = new_line + tm_info->line_offset;
old_text = old_line + tm_info->line_offset;
cs_y++;
y++;
}
y++;
offset = cs_y * tm_info->line_offset;
} while (--rows);
h_panning = tm_info->h_panning;

View File

@ -615,10 +615,8 @@ void bx_sdl2_gui_c::text_update(Bit8u *old_text, Bit8u *new_text,
cfheight = v_panning;
}
}
if (!split_screen && (y == split_textrow)) {
if ((split_fontrows - cfstart) < cfheight) {
cfheight = split_fontrows - cfstart;
}
if (y == split_textrow) {
cfheight = split_fontrows - cfstart;
}
new_line = new_text;
old_line = old_text;
@ -701,7 +699,7 @@ void bx_sdl2_gui_c::text_update(Bit8u *old_text, Bit8u *new_text,
// go to next character row location
buf_row += disp * cfheight;
if (!split_screen && (y == split_textrow)) {
if (y == split_textrow) {
new_text = text_base;
forceUpdate = 1;
cs_y = 0;
@ -713,8 +711,8 @@ void bx_sdl2_gui_c::text_update(Bit8u *old_text, Bit8u *new_text,
new_text = new_line + tm_info->line_offset;
old_text = old_line + tm_info->line_offset;
cs_y++;
y++;
}
y++;
offset = cs_y * tm_info->line_offset;
} while (--rows);
h_panning = tm_info->h_panning;

View File

@ -1810,8 +1810,8 @@ void bx_win32_gui_c::text_update(Bit8u *old_text, Bit8u *new_text,
font_row = 0;
cfheight = yChar;
}
if (!split_screen && (y == split_textrow)) {
if (split_fontrows < cfheight) cfheight = split_fontrows;
if (y == split_textrow) {
cfheight = split_fontrows - font_row;
}
new_line = new_text;
old_line = old_text;
@ -1874,7 +1874,7 @@ void bx_win32_gui_c::text_update(Bit8u *old_text, Bit8u *new_text,
old_text+=2;
offset+=2;
} while (--hchars);
if (!split_screen && (y == split_textrow)) {
if (y == split_textrow) {
new_text = text_base;
forceUpdate = 1;
cs_y = 0;
@ -1883,11 +1883,11 @@ void bx_win32_gui_c::text_update(Bit8u *old_text, Bit8u *new_text,
rows = ((dimension_y - line_compare + yChar - 2) / yChar) + 1;
split_screen = 1;
} else {
y++;
cs_y++;
new_text = new_line + tm_info->line_offset;
old_text = old_line + tm_info->line_offset;
}
y++;
offset = cs_y * tm_info->line_offset;
} while (--rows);

View File

@ -1360,8 +1360,8 @@ void bx_wx_gui_c::text_update(Bit8u *old_text, Bit8u *new_text,
font_row = 0;
cfheight = wxFontY;
}
if (!split_screen && (y == split_textrow)) {
if (split_fontrows < cfheight) cfheight = split_fontrows;
if (y == split_textrow) {
cfheight = split_fontrows - font_row;
}
new_line = new_text;
old_line = old_text;
@ -1426,7 +1426,7 @@ void bx_wx_gui_c::text_update(Bit8u *old_text, Bit8u *new_text,
old_text+=2;
offset+=2;
} while (--hchars);
if (!split_screen && (y == split_textrow)) {
if (y == split_textrow) {
new_text = text_base;
forceUpdate = 1;
cs_y = 0;
@ -1435,11 +1435,11 @@ void bx_wx_gui_c::text_update(Bit8u *old_text, Bit8u *new_text,
rows = ((wxScreenY - line_compare + wxFontY - 2) / wxFontY) + 1;
split_screen = 1;
} else {
y++;
cs_y++;
new_text = new_line + tm_info->line_offset;
old_text = old_line + tm_info->line_offset;
}
y++;
offset = cs_y * tm_info->line_offset;
} while (--rows);

View File

@ -1287,8 +1287,8 @@ void bx_x_gui_c::text_update(Bit8u *old_text, Bit8u *new_text,
font_row = 0;
cfheight = font_height;
}
if (!split_screen && (y == split_textrow)) {
if (split_fontrows < cfheight) cfheight = split_fontrows;
if (y == split_textrow) {
cfheight = split_fontrows - font_row;
}
new_line = new_text;
old_line = old_text;
@ -1362,7 +1362,7 @@ void bx_x_gui_c::text_update(Bit8u *old_text, Bit8u *new_text,
old_text+=2;
offset+=2;
} while (--hchars);
if (!split_screen && (y == split_textrow)) {
if (y == split_textrow) {
new_text = text_base;
forceUpdate = 1;
cs_y = 0;
@ -1371,11 +1371,11 @@ void bx_x_gui_c::text_update(Bit8u *old_text, Bit8u *new_text,
rows = ((dimension_y - line_compare + font_height - 2) / font_height) + 1;
split_screen = 1;
} else {
y++;
cs_y++;
new_text = new_line + tm_info->line_offset;
old_text = old_line + tm_info->line_offset;
}
y++;
offset = cs_y * tm_info->line_offset;
} while (--rows);