kichikuou
a0daa3261c
Font: Reduce synthetic bold strength at small sizes
...
Use half-pixel outline emboldening for font sizes up to 22 pixels to
better match GDI's synthetic bold rendering of MS Gothic and MS Mincho.
Keep the existing full-pixel strength for larger sizes.
2026-09-06 15:00:52 +09:00
kichikuou
98e9d8bcfb
Debugger: Add cache statistics command
...
Add `info cache` command that reports cache usage and cumulative hit
rates for glyph, CG, and archive data.
2026-09-06 14:02:03 +09:00
kichikuou
b7854aaec1
Generalize the glyph cache
...
Replace the old cache manager with a keyed LRU cache and use it for
glyph, CG, and archive data.
2026-09-06 14:02:03 +09:00
kichikuou
905eb34590
Font: Add glyph cache
...
Cache rendered glyph bitmaps by font properties with a 4 MiB LRU limit.
2026-09-06 14:02:03 +09:00
kichikuou
571bec63a2
Windows: Use msgothic.ttc / msmincho.ttc by default
...
Fall back to the bundled fonts when these fonts are unavailable.
2026-09-06 13:46:46 +09:00
kichikuou
345c017c22
Render text with FreeType instead of SDL_ttf
...
SDL_ttf's synthetic bold is too thick. Implement a custom bolding
algorithm that approximates GDI's synthetic bold.
2026-09-06 13:13:09 +09:00
kichikuou
205004086b
Move drawing text to the screen out of font.c
...
This makes font.c unit-testable.
2026-09-06 13:10:20 +09:00
kichikuou
1785e93fcc
Refactor gfx API
2026-07-24 21:04:22 +09:00
kichikuou
03f86bc4d7
menu: Add pure SDL popup menu using microui
...
Vendor microui 2.02 under src/microui/ and use it to draw an in-game
popup menu as an overlay.
modal.c provides generic modal infrastructure: a loop that pumps SDL
events into microui and renders the command list via SDL_Renderer,
hooked into gfx_updateScreen(). menu_sdl.c builds the concrete popup
menu on top of it.
2026-06-28 09:49:19 +09:00
kichikuou
50d05e5b56
font: Replace stateful font_select() with explicit parameter
...
The font module kept a global "currently selected font" set by
font_select() and implicitly used when drawing. Make it stateless by
introducing a FontSpec {type, weight, size} that font_render_text() /
font_draw_text() and gfx_drawString() take directly.
Make FontWeight a two-valued enum and normalize the 1-9 weight to it
in commandZB().
Removes font_select(), ags_setFont() and ags_setFontWithWeight().
2026-06-24 16:11:49 +09:00
kichikuou
945dbd7722
Rename graphics functions from sdl_* to gfx_*
...
And rename sdl_{video,draw,image}.c to gfx_{video,draw,image}.c.
2025-06-10 15:00:27 +09:00
kichikuou
cb8a48cdec
Introduce sdl_palette
...
It replaces the sdl_col array and is set as the palette of main_surface.
2025-03-09 10:42:32 +09:00
kichikuou
e2c75fbd9d
Rename sdl_dib to main_surface and move it to ags.h
2025-02-19 12:15:06 +09:00
kichikuou
9c6423bf99
drawtext: Remove 8-bit text rendering function
2025-02-19 09:59:22 +09:00
kichikuou
dec1649882
SACT: Make sprites have SDL_Surface instead of surface_t
2025-02-18 21:58:06 +09:00
kichikuou
886d55057a
ZZ13 command should also affect menu font
...
This fixes the problem of menus always being displayed in Gothic font.
The font type at the time the `]` command is executed should be used.
2025-02-07 09:29:30 +09:00
kichikuou
dccd75113b
emscripten: Make load_mincho_font() return bool
2025-02-02 14:25:36 +09:00
kichikuou
d14b42c146
Replace boolean/TRUE/FALSE with bool/true/false
2025-02-02 10:02:08 +09:00
kichikuou
42e994dfba
emscripten: Use EM_ASYNC_JS
2024-07-31 08:59:33 +09:00
kichikuou
20914970c9
Fix text rendering issue in Rance 3 OP
...
This fixes https://github.com/kichikuou/xsystem35-sdl2/issues/54 .
2024-05-22 09:13:09 +09:00
kichikuou
cd51dc7f02
Windows: Embed fonts as PE resources
2024-01-20 09:30:10 +09:00
kichikuou
183ceb614a
Implement ZB command
...
Although undocumented, it also affects the font weight of selection
window.
Issue: https://github.com/kichikuou/xsystem35-sdl2/issues/44
2024-01-17 14:32:32 +09:00
kichikuou
29a139c8a1
Use the standard integer types
...
This replaces BYTE, WORD and DWORD types with uint8_t, uint16_t and
uint32_t respectively.
2022-10-29 09:34:21 +09:00
kichikuou
307bb2623b
Remove SDL_LockSurface() calls
...
It shouldn't be needed.
2022-09-04 22:26:58 +09:00
kichikuou
d1712ab7b4
Remove newline character from debug print macro calls
...
Now "\n" is appended by the macros.
2022-09-02 20:37:26 +09:00
kichikuou
bc06099e01
Show message box on fatal error
...
Now sys_error() shows error message using a SDL message box, so that
user can see the message on Windows / Android.
2021-10-26 21:41:34 +09:00
kichikuou
ca09dc7413
Treat font load failure as a fatal error
2021-06-19 16:29:47 +09:00
kichikuou
cc60fdfb7d
Android: Allow specifying custom fonts in .xsys35rc
...
Now custom font files specified in .xsys35rc (as relative paths from the
ZIP root) can be loaded correctly.
This fixes #20 for Android.
2021-06-03 18:58:29 +09:00
kichikuou
04c3e22339
Remove setRect() and setOffset() macros
2021-01-23 23:07:12 +09:00
kichikuou
92f8120e4a
Change the interpretation of color value in drawing commands
...
Before this, color values above 255 were directly used as the pixel
color. After this, its lower 8 bits are used as the palette index. The
new behavior matches System 3.9.
2021-01-23 23:07:12 +09:00
kichikuou
ca41501f6d
Improve rendering of fonts with descenders
...
- ags_drawString() returns a bounding box of the text so that callers
can update the screen appropriately.
- Use total font height (not only ascent) for vertical positioning.
2020-12-31 12:57:17 +09:00
kichikuou
c7263a3082
CMake: Add -Wall for debug builds
2020-10-11 21:31:32 +09:00
kichikuou
8d91657c14
Do not create agsurface_t in font.c
2020-10-04 16:02:10 +09:00
kichikuou
f1b4c2550b
Simplify font code
2020-10-04 09:14:16 +09:00
kichikuou
79c9bfc85a
Drop ft2 font device
...
This makes sdlttf the only font device, and allows code simplification.
2020-10-03 14:54:48 +09:00
kichikuou
55837e5115
Remove xcore graphics backend
...
This removes X11 specific code, making SDL2 a hard dependency.
X-based environments are continue to be supported via SDL2.
This also removes joystick_linux.c which was only used if SDL2 was not
available.
2020-10-01 21:27:59 +09:00
Nunuhara Cabbage
cc4e725800
Add SDL_ttf font device
2019-08-15 05:57:35 -07:00
kichikuou
9abf253900
Get rid of library.js
2019-08-04 09:38:12 +09:00
kichikuou
ded3f702b2
Drop gtk font support
2017-02-10 23:57:57 +09:00
kichikuou
3ddde55842
Drop freetype1 support
2017-02-07 09:58:08 +09:00
kichikuou
e607c9c2ee
Import xsystem35-1.7.3-pre5
2014-04-26 18:40:24 +09:00