Handle different resolutions

This commit is contained in:
Miloslav Ciz 2025-05-11 20:30:14 +02:00
parent 70d5e11719
commit 7d5aa32c79
4 changed files with 14 additions and 14 deletions

View file

@ -2,8 +2,6 @@ fuck issue trackers :D
=========== GENERAL ==============
- 640x480 with resolution subdiv has bad sized menu item highlight
- LOD blocks in lower res look too small
- hitting ramps at higher speed still often bugs, try to fiddle with physics
again (reshape iterations, tension, ...)
- make replays have better names (time etc.)
@ -43,6 +41,8 @@ fuck issue trackers :D
=========== HANDLED ==============
- should drifting make a sound? NO NEED
- LOD blocks in lower res look too small
- 640x480 with resolution subdiv has bad sized menu item highlight
- Map4: fix top bottom corner, making the curve is too hard -- either add ramps
on wall or shift the down ramp further. WITH NEW PHYS LOOKS FINE
- keyboard ghosting is an issue, particularly when initiating drift with brake

3
data
View file

@ -131,3 +131,6 @@ details
:]h0gI :}g0gI :|g1gI :f211 :|g3gI- :f211 :]g4gI- :f211 :;g0fJ :f251
:-e5g :f413 :|g0hL
:+018 :f213 :!v05 :f311
#RLCtiny2;00LCtiny2;833ee4b2 0000245
#BLCtiny2;
#RLCtiny2;00LCtiny2;833ee4b2 0000245

7
game.h
View file

@ -306,9 +306,8 @@ static inline void LCR_gameDrawPixelXYSafe(unsigned int x, unsigned int y,
#define LCR_POPUP_STR_SIZE 16
#define LCR_GUI_GAP \
((LCR_EFFECTIVE_RESOLUTION_X + LCR_EFFECTIVE_RESOLUTION_Y) / 128)
(1 + (LCR_EFFECTIVE_RESOLUTION_X + LCR_EFFECTIVE_RESOLUTION_Y) / 128)
struct
{
@ -1268,7 +1267,7 @@ void LCR_gameDraw3DView(void)
str[2] = '0' + val % 10;
str[3] = 0;
LCR_rendererDrawText(str,LCR_EFFECTIVE_RESOLUTION_X -
LCR_rendererDrawText(str,LCR_EFFECTIVE_RESOLUTION_X - // speed (bot., right)
LCR_rendererComputeTextWidth(str,2) - LCR_GUI_GAP,
LCR_EFFECTIVE_RESOLUTION_Y - LCR_rendererComputeTextHeight(2) -
LCR_GUI_GAP,0,2);
@ -1277,7 +1276,7 @@ void LCR_gameDraw3DView(void)
if (LCR_game.state != LCR_GAME_STATE_RUN_FINISHED)
LCR_rendererDrawText(str,LCR_GUI_GAP,LCR_EFFECTIVE_RESOLUTION_Y -
LCR_rendererComputeTextHeight(2) - 3 * LCR_GUI_GAP,0,2);
2 * (LCR_rendererComputeTextHeight(2) + LCR_GUI_GAP),0,2);
else
LCR_rendererDrawText(str,((LCR_EFFECTIVE_RESOLUTION_X -
LCR_rendererComputeTextWidth(str,4)) / 2),

View file

@ -1759,8 +1759,7 @@ void LCR_rendererDrawLOD(void)
{
variability = variability < 14 ? variability + 1 : 0;
bx = j * 8 + 4;
_LCR_rendererDrawLODBlock(bx,by,bz,2 * LCR_EFFECTIVE_RESOLUTION_Y,
_LCR_rendererDrawLODBlock(bx,by,bz,2000,
LCR_SETTING_LOD_COLOR,variability);
}
@ -2027,11 +2026,12 @@ void LCR_rendererDrawMenu(const char *tabName,const char **items,
s2++;
}
#define _MENU_ITEM_HEIGHT (LCR_EFFECTIVE_RESOLUTION_Y / 20)
#define _FONT_SIZE (2 + LCR_EFFECTIVE_RESOLUTION_Y / 512)
#define _FONT_SIZE (2 + LCR_EFFECTIVE_RESOLUTION_Y / 512 \
- (LCR_EFFECTIVE_RESOLUTION_Y < 220))
if (j == selectedItem + 1)
for (int y = i - 7; y < i + LCR_rendererComputeTextHeight(_FONT_SIZE) + 7;
for (int y = i - 3 * LCR_FONT_PIXEL_SIZE; y < i +
LCR_rendererComputeTextHeight(_FONT_SIZE) + 3 * LCR_FONT_PIXEL_SIZE;
++y)
for (int x = LCR_EFFECTIVE_RESOLUTION_X / 4;
x < LCR_EFFECTIVE_RESOLUTION_X - LCR_EFFECTIVE_RESOLUTION_X / 4; ++x)
@ -2045,10 +2045,8 @@ void LCR_rendererDrawMenu(const char *tabName,const char **items,
if (j == 0)
i = stripHeight + stripHeight2;
i += _MENU_ITEM_HEIGHT;
i += LCR_rendererComputeTextHeight(_FONT_SIZE) + 6 * LCR_FONT_PIXEL_SIZE;
#undef _FONT_SIZE
#undef _MENU_ITEM_HEIGHT
}
#if !LCR_SETTING_POTATO_GRAPHICS