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
a726d577ef
modules: Move SACT/sactcg.c to lib/ and use it from NIGHTDLL
2026-03-17 11:09:47 +09:00
kichikuou
f2fe6b9724
SACT: Ctrl key cancels SACT.Wait and SACT.TimerWait
...
This fixes an issue where the roulette in Rance 5D could not be fast
forwarded using the Ctrl key.
2026-01-09 16:16:13 +09:00
kichikuou
38dc9a7b0b
Refactor sacttimer.c
2026-01-09 13:14:48 +09:00
kichikuou
7d03fc6757
sactlog: Hold log text in UTF-8
2025-08-28 12:24:49 +09:00
kichikuou
e3b8c90611
sactlog: Draw text using gfx_drawString()
...
This fixes #71 . It was a regression by commit ec071d4 .
2025-08-28 11:41:51 +09:00
kichikuou
dc17b78365
Move miscellaneous low-level functions to system.[ch]
2025-06-11 09:23:44 +09:00
kichikuou
adf362ea57
Rename sdl_effect_* to effect_*
2025-06-11 09:23:44 +09:00
kichikuou
b5bf439b8e
Remove graphics.h
2025-06-11 09:23:42 +09:00
kichikuou
9a01d28075
Move gfx_* functions from sdl_core.h to gfx.h
2025-06-11 09:22:36 +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
d978a24a5e
Fix build for big endian architectures
2025-04-01 08:24:42 +09:00
kichikuou
c9f21c4547
sactamask: Use sdl_effect framework
2025-02-21 09:14:05 +09:00
kichikuou
baa4a3158f
ags: Add ALPHA_AT macro
2025-02-19 13:39:20 +09:00
kichikuou
cf5e899632
Remove unused includes from NIGHTDLL/ and SACT/
2025-02-19 12:38:47 +09:00
kichikuou
51954c6bd4
Move load_cg_to_sdlsurface() to src/cg.c
...
And rename it to cg_load_as_sdlsurface().
2025-02-19 12:30:13 +09:00
kichikuou
f282c02376
Replace sf0 with main_surface
2025-02-19 12:15:10 +09:00
kichikuou
b28e3ef2fd
Do not use gr_* functions from SACT/ and NIGHTDLL/
2025-02-19 12:14:58 +09:00
kichikuou
f669804573
Refactor sactamask.c to use SDL_Surface
2025-02-19 09:59:31 +09:00
kichikuou
9c6423bf99
drawtext: Remove 8-bit text rendering function
2025-02-19 09:59:22 +09:00
kichikuou
4f3b73c1ac
Refactor sactlog.c
2025-02-19 08:21:50 +09:00
kichikuou
8ee53accf9
SACT: Change depth map from surface_t to SDL_Surface
2025-02-18 22:01:20 +09:00
kichikuou
6b646b3857
SACT: Change text canvas from surface_t to SDL_Surface
2025-02-18 22:01:18 +09:00
kichikuou
dec1649882
SACT: Make sprites have SDL_Surface instead of surface_t
2025-02-18 21:58:06 +09:00
kichikuou
1335a12065
Remove sp_draw2
2025-02-16 22:52:20 +09:00
kichikuou
93bd8ca737
sprite_sel.c: Remove unnecessary variable
2025-02-16 22:39:09 +09:00
kichikuou
d551cdbb70
Refactor text rendering functions in modules/
2025-02-16 13:13:16 +09:00
kichikuou
e711d5786e
Make agsurface_t backed by SDL_Surface
...
This adds `sdl_surface` field to agsurface_t. `agsurface->pixel` is now
set to `agsurfae->sdl_surface->pixels`.
Note that the `sdl_surface` field does not have alpha; transparent
surfaces have a separate alpha plane in `agsurface->alpha`.
2025-02-16 13:13:13 +09:00
kichikuou
7f645d6bd1
Refactor function return types in modules/
2025-02-03 09:24:45 +09:00
kichikuou
d14b42c146
Replace boolean/TRUE/FALSE with bool/true/false
2025-02-02 10:02:08 +09:00
kichikuou
29988d0d6c
Simplify boolean expressions
2025-02-02 09:36:20 +09:00
kichikuou
28e685818c
Remove gre_Blend() and gre_BlendScreen()
2025-01-10 09:23:08 +09:00
kichikuou
780d30c01f
Fix lnkIsLink
...
If the link table indicates the existence of an entry, but the volume
containing that entry is missing, this command returns 1.
2025-01-08 16:15:37 +09:00
kichikuou
883f538709
Fix SACT.QueryTextPos
...
It should return screen coordinates, not sprite-local coordinates.
2025-01-08 10:04:31 +09:00
kichikuou
c280fc719b
Implement SACT.PeekKey and SACT.MessagePeek
...
Used in Rakuen Yuki.
2025-01-08 10:04:28 +09:00
kichikuou
dde697d3b4
Implement S3xMusic HLL
...
Used in Ore no Shita de Agake.
Since the musbgm_* interface does not allow multiple channels, this
implementation uses musbgm_* for channel 0 and muspcm_* for channel 1.
2025-01-07 15:41:43 +09:00
kichikuou
84e3666a66
Rename DEBUG_COMMAND{,_YET} to TRACE{,_UNIMPLEMENTED}
...
And now TRACE_UNIMPLEMENTED is not ignored in release build.
2025-01-06 14:14:10 +09:00
kichikuou
e464d92164
Fix buffer overrun in stretch functions
...
Fixes #61 .
2024-12-09 20:31:23 +09:00
kichikuou
86068b0ab9
Prefer single precision float
2024-09-01 08:25:34 +09:00
kichikuou
f0ccfee40f
Update internal mouse coordinates even if cursor movement is disabled
...
In TT2, keyboard/gamepad navigation is implemented by moving the mouse
cursor using IZ command. It did not work in browsers where mouse cursor
could not be moved or when mouse movement was disabled from the menu.
Now IZ command updates the internal mouse coordinates even when the
cursor cannot be moved.
2023-09-04 13:32:00 +09:00
kichikuou
e37a491908
Refactor keycode definitions
2023-05-21 10:46:22 +09:00
kichikuou
61ad4282e6
Refactor agsevent_t struct
2023-05-04 11:51:21 +09:00
kichikuou
da4cf017bf
Clean up savedata.h
2023-02-18 14:47:25 +09:00
kichikuou
eace5d1dbd
Refactor game-specific hacks, add -game option
...
It's now possible to enable certain game-specific hacks by using the
`-game` command line option or the `game` property in the .xsys35rc
file.
2023-02-11 15:27:38 +09:00
kichikuou
b1ac106057
Refactor bgm abstructions
2023-01-28 12:51:38 +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
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
e26779a189
SACT: Do not enter backlog mode if sact.version < 120
2022-07-02 11:15:28 +09:00
kichikuou
f9b5fec03d
Implement mouse wheel input
...
This implements iptGetWheelCount and iptClearWheelCount commands, and
wheel events for SACT backlog.
2022-07-02 10:55:40 +09:00
kichikuou
9706f516f9
Add reset functions for DLL modules
2022-06-26 17:25:43 +09:00