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
kichikuou
f1b80d7086
Improve SACT version detection
...
Using game title (set by the MT command) is fragile in translations.
After this, SACT version is determined from the information in the HEL0
section of System39.ain.
2022-03-31 20:54:43 +09:00
kichikuou
d1d943d2a5
Remove old code path for SACT.DrawEffect
...
Now it always uses sdl_effect.
2022-01-30 11:32:33 +09:00
kichikuou
6c59122c59
sdl_effect: Implement EFFECT_POLYGON_ROTATE_*
...
It needs perspective-correct interpolation, so we cannot simply use
SDL_RenderGeometry.
2022-01-30 11:32:21 +09:00
kichikuou
b6a69deab7
sdl_effect: Implement EFFECT_ZOOM_BLEND_BLUR
2022-01-23 22:20:18 +09:00
kichikuou
eea1f9c93a
sdl_effect: Implement EFFECT_ZIGZAG_CROSSFADE
...
This effect is hard to implement correctly without writing a custom
shader. We approximate this by combining vertical and horizontal wave
effects.
2022-01-23 16:46:36 +09:00
kichikuou
10b414fb4e
sdl_effect: Implement mosaic and crossfade-mosaic
2022-01-23 14:08:23 +09:00
kichikuou
d35a24f142
sdl_effect: Implement linear blur effects
...
Now Gpx and NIGHTDLL are fully migrated to sdl_effect.
2022-01-17 17:41:13 +09:00
kichikuou
d945dfe77d
sdl_effect: Implement EFFECT_CROSSFADE_{DOWN,UP,LR,RL}
2022-01-17 11:23:22 +09:00
kichikuou
a224d89233
Rename sdl_fader to sdl_effect
2022-01-17 09:47:39 +09:00
kichikuou
bc97e4c826
sdl_fader: Implement blind effects
2022-01-16 22:05:53 +09:00
kichikuou
c4d74d659a
sdl_fader: Add fade in/out and white in/out effects
...
This replaces the existing three separate implementations (CE command,
Gpx, and NIGHTDLL) of these effects with the new one implemented in
sdl_fader.
2022-01-16 15:48:58 +09:00
kichikuou
4daaa5ede5
Use sdl_fader in Gpx.EffectCopy
2022-01-16 11:04:25 +09:00
kichikuou
9ea1a81cc1
Allow more than 256 steps in sdl_fader
...
Now sdl_fader_step() takes a real number between 0 and 1.
2022-01-15 16:53:32 +09:00
kichikuou
5fefd74d4a
Rewrite SACT's rotation effects using sdl_fader
...
This is much faster since it uses (possibly hardware accelarated) SDL
rendering functions.
2022-01-04 17:20:16 +09:00
kichikuou
d03568c3ff
Refactor effect enums
...
Since not all SACT effects can be mapped to CE effects, a third enum
type is needed.
2022-01-04 12:32:10 +09:00
kichikuou
9ad1059ced
Let SACT.WaitKeyMessgae call sys_getInputInfo() while skipping
...
Otherwise it skips messages too fast.
2022-01-01 15:48:16 +09:00
kichikuou
e1e1e5cacc
Use sdl_fader in SACT
2021-12-12 22:21:20 +09:00
kichikuou
c31da0fe10
Merge counter.c into cmdz.c
2021-11-16 09:10:07 +09:00
kichikuou
ff9710426f
Remove internal time counters
2021-11-14 22:12:11 +09:00
kichikuou
aa537687c4
Emscripten: Ensure functions in asyncify addlist are not optimized out
...
Also update emscripten version to 2.0.34.
2021-11-14 17:12:47 +09:00
kichikuou
28ac087bca
SACT: Improve sprite move animation
...
- Move operation for hidden sprites shouldn't be ignored.
- Move time set by SACT.SetMoveTime shouldn't be reset after move.
This makes Save Lion in Rance 5D animate smoothly.
2021-11-13 18:28:43 +09:00
kichikuou
e08ba5fb03
Refactor sactcg.c
2021-11-07 21:23:45 +09:00