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
6b9c3475a0
Simplify sdl_scaledCopyArea()
2025-02-17 08:16:09 +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
5bae0c16c5
Simplify gr_ functions using SDL surface operations
2025-02-16 21:03:59 +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
bf26f1b0c0
Refactor clipping functions
2025-02-11 12:36:21 +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
7f645d6bd1
Refactor function return types in modules/
2025-02-03 09:24:45 +09:00
kichikuou
dccd75113b
emscripten: Make load_mincho_font() return bool
2025-02-02 14:25:36 +09:00
kichikuou
d063655b25
Refactor muspcm_* interface
2025-02-02 13:52:54 +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
d6adb3241c
Add sdl_showMessageBox and replace menu_msgbox_open
2025-01-08 11:24:49 +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
7da9e64ab6
Fix speed of slot game in Ore no Shita de Agake
2025-01-07 16:16:01 +09:00
kichikuou
bba602ab04
Scheduler: Yield based on scenario address
...
Now it yields execution when the device state is checked multiple times
from the same scenario address.
2025-01-07 16:15:59 +09:00
kichikuou
78dc226d13
Add scheduler.c
...
It consolidates VM throttling logic that was scattered in various
places.
2025-01-07 15:52:48 +09:00
kichikuou
e800a23e1d
Implement Gpx functions for Ore no Shita de Agake
2025-01-07 15:52:44 +09:00
kichikuou
e731b4ec95
Implement ShCalc functions for Ore no Shita de Agake
2025-01-07 15:41:53 +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
c2f11ecfbe
Fix Gpx.IsSurface()
...
Used in Ore no Shita de Agake.
2025-01-05 12:59:07 +09:00
kichikuou
e464d92164
Fix buffer overrun in stretch functions
...
Fixes #61 .
2024-12-09 20:31:23 +09:00
kichikuou
53d0e8ffef
NightDemonDemo, tDemo: refresh screen when frame rate < 30
2024-11-25 17:30:15 +09:00
kichikuou
b2e14bd19a
Implement tDemo module
...
Fixes #59 .
2024-11-25 16:35:05 +09:00
kichikuou
86068b0ab9
Prefer single precision float
2024-09-01 08:25:34 +09:00
kichikuou
e2638ed840
Refactor CMakeLists.txt using alias targets
2024-01-19 14:56:50 +09:00
kichikuou
6607815df3
MSYS build: Use static linking
2024-01-19 14:55:53 +09:00
kichikuou
f247495578
Breaking change: Fix ShArray.ChangeSecretArray
...
This breaks save file compatibility for Daiakuji and Kaeru nyo Kuni nyo
Alice.
Due to an incorrect encryption code in ShArray.ChangeSecretArray, save
files were not interoperable with system3.9. (Even worse, this bug did
not affect the checksum calculation and did not cause a "corrupt save
file" error when a file saved with system3.9 was loaded with xsystem35
or vice versa.)
Fixes #41 .
2023-12-09 11:35:40 +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
d9e42dd4bb
Add a hack to fix Daiakuji's magenta battle background issue
2023-06-19 17:23:03 +09:00
kichikuou
89423c94f1
ShGraph: Use exact color match in PlayAnimeData and ChangeNotColor
2023-06-19 17:18:31 +09:00
kichikuou
c694d2282c
Fix CX (sprite copy) in 24-bit color games with 16-bit CGs
...
System3.x uses the following bit expansion when converting RGB565 to
RGB888:
RRRRR GGGGGG BBBBB => RRRRRRRR GGGGGGGG BBBBBBBB
12345 123456 12345 12345123 12345612 12345123
However, SDL's blit functions use a slightly different mapping, so
sometimes expanded color did not match the color key specified in the CX
command.
To avoid this, convert to RGB888 by ourselves when drawing 16-bit CGs.
2023-06-19 17:18:17 +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
5ef949ae14
Refactor ags_setWindowTitle()
2023-02-11 21:40:14 +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
acdc40ec60
Refactor cdrom abstructions
2023-01-28 12:51:34 +09:00
kichikuou
f5b3b1a936
Support ShSound module on WASM
2023-01-21 16:40:26 +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
d508676c70
Refactoring: Introduce getCaliArray()
...
This replaces global preVar{No,Page,Index} variables.
2022-08-27 16:11:36 +09:00