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
kichikuou
dc89c92139
Switch JPEG decoder to stb_image
...
To enable JPEG support on Android without complicating CMake files.
2022-07-16 17:16:44 +09:00
kichikuou
fe294bd34b
Remove nact->is_message_locked
...
Now sysWinMsgLock and sysWinMsgUnlock are no-op.
2022-07-02 11:59:18 +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
f56ec88cda
Make sure nact->is_quit breaks event loops
2022-06-26 17:25:43 +09:00
kichikuou
9706f516f9
Add reset functions for DLL modules
2022-06-26 17:25:43 +09:00
kichikuou
1cf0dbc7e2
Refactoring: Simplify music_cdrom.c
2022-06-26 16:30:52 +09:00
kichikuou
3377441caf
Simplify CG drawing functions
...
This removes extra buffer copy in some cases.
2022-04-02 22:13:25 +09:00
kichikuou
a6109b6210
Do not convert to 16bpp when decoding JPEG
2022-04-02 22:13:25 +09:00
kichikuou
901a3bb28c
Revamp NightDemonDemo
...
- Fix off-by-one bug in demo number
- Use the jpeg extraction function in src/
- Improve alk archive interface
2022-04-02 22:12:16 +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
c67198cc0e
emscripten: Load Mincho font on demand in SACT games
2022-03-05 11:52:52 +09:00
kichikuou
63c456329f
Remove (unused) MMX support
2022-02-05 22:08:26 +09:00
kichikuou
933cf5b6a3
Remove old ags_fader()
...
And rename ags_fade2() to ags_runEffect().
2022-01-31 21:44:29 +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
49e707e40e
Fix default duration of Gpx.EffectCopy
2022-01-22 09:27:44 +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
93d29b5f87
Implement RandMT.GetNoOverlap
2021-12-03 10:57:09 +09:00