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
0a1d0a5a76
Refactor sdl_fader.c
...
Restructured the code in an object-oriented style to make it easier to
add new kinds of faders.
2022-01-04 17:21:01 +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
8dc49fee71
Handle SDL_JOYDEVICEADDED event
2022-01-04 10:28:40 +09:00
kichikuou
1b907e904f
Enable joystick in all platforms
2022-01-04 10:27:36 +09:00
kichikuou
3ccf59a94e
debugger_dap: Foreground xsystem35 window on "continue" request
2022-01-02 08:56:00 +09:00
kichikuou
2f9ce8cec8
debugger_dap: Fix SEGV when deleting breakpoints
2022-01-02 08:56:00 +09:00
kichikuou
3ff022c73e
debugger_dap: Ask frontend to restart xsystem35 on sysReset command
2022-01-01 21:47:14 +09:00
kichikuou
2d026c6122
Handle SDL_JOYHATMOTION event
2021-12-30 09:16:52 +09:00
kichikuou
e1e1e5cacc
Use sdl_fader in SACT
2021-12-12 22:21:20 +09:00
kichikuou
d7dd98a8ca
Implement polygon mask effects
...
This implements the hexagram, pentagram, and windmill effects of the CE
command. These were implemented in the (removed) X11 backend, but not in
the SDL backend.
This implementation uses SDL_RenderGeometry() which is added in SDL
2.0.18. If it is not available, these effects will fall back to
crossfade.
2021-12-12 21:39:13 +09:00
kichikuou
f11dbc7400
Explicitly set pixel format of sdl_display
...
This shouldn't have any behavioral changes.
2021-12-12 12:08:07 +09:00
kichikuou
3b52efb752
Remove unused fields in sdl_private_data
2021-12-11 13:53:31 +09:00
kichikuou
91fa4284c4
Use zero-based indexing for string variables
...
Surprisingly, 0 is a valid index of the string variables (used only in
Ouji-sama Lv1 as far as I know).
The original System 3.x saves str[0] in save files, but we continue to
save from str[1] for save data compatibility.
2021-12-03 10:57:09 +09:00
kichikuou
b6cdba145f
ags: Initialize alpha plane with 255 (opaque)
...
This fixes an issue in Ouji-sama Lv1 where the background of the map
was not drawn.
2021-12-03 10:57:09 +09:00
kichikuou
d29a764de2
Fix issues with reading DOS-ish playlist file
...
- Replace backslashes with slashes
- Strip '\r'
2021-11-27 22:43:12 +09:00
kichikuou
0d74454355
Clean up ags.c
2021-11-23 12:56:06 +09:00
kichikuou
1a248ea897
debugger_dap: Add support for warning breakpoints
...
This adds "warning" exception breakpoint filter type. If it is enabled,
execution stops on WARNING() calls.
2021-11-23 12:49:41 +09:00
kichikuou
8c963f4dcf
Simplify fade in/out code
2021-11-20 09:23:48 +09:00
kichikuou
87316495e8
debugger_dap: Respect noDebug Launch parameter
...
When noDebug: true is set, xsystem35 does not load debug symbols and
does not emit Initialized event.
2021-11-17 20:40:04 +09:00
kichikuou
45b50fe78a
ZT counter: wrap around on 16-bit overflow
...
This behavior matches System 3.9.
2021-11-16 21:37:14 +09:00
kichikuou
c31da0fe10
Merge counter.c into cmdz.c
2021-11-16 09:10:07 +09:00
kichikuou
0d376a3d35
Simplify counter.c
...
This also fixes a compatibility issue of ZT1 and ZT10 when the last
argument isn't zero.
2021-11-15 22:11:04 +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
fc3d66195f
portmidi: Fix SEGV by accessing flags
2021-11-13 14:09:09 +09:00
kichikuou
f7ca54104b
portmidi: Use SDL's thread primitives
2021-11-13 13:54:14 +09:00
kichikuou
d8513d78e4
rawmidi: Use a background thread rather than a subprocess
...
This removes the last usage of fork() in xystem35.
2021-11-13 12:51:14 +09:00
kichikuou
d0ad06e7c5
Move message-queue functions to msgqueue.[ch]
2021-11-13 12:50:34 +09:00
kichikuou
cae31a72d1
Use standard int / bool types in portab.h
2021-11-13 08:16:47 +09:00
kichikuou
1405c8693b
Do not use bool as variable name
2021-11-13 07:43:58 +09:00
kichikuou
5c5a71237c
debugger_dap: Respect stopOnEntry Launch parameter
2021-11-10 21:34:23 +09:00
kichikuou
0bbb6fbeae
Add support for conditional breakpoints
2021-11-07 21:23:40 +09:00
kichikuou
f9d753d46a
debugger: Implement cali expression evaluator
...
Now "print" command (CUI) and "evaluate" request (DAP) can use
expressions like "VAR123[VAR12 + VAR23]".
2021-11-07 21:23:35 +09:00
kichikuou
117b81bf86
debugger_dap: Add source location to Output events
...
So that the user can see where in the scenario the warning occurred.
2021-11-06 15:10:01 +09:00
kichikuou
f311ccb15e
webp: Skip 'NULL' chunk
...
When an image is exactly the same as its base image, it has a 4-byte
'NULL' chunk at the end of the file. We simply skip this chunk, without
optimizing the load.
2021-11-06 12:07:07 +09:00
kichikuou
fd4c8fb4d3
debugger_dap: Fail to Initialize if debug symbol file is not available
2021-11-06 12:06:57 +09:00
kichikuou
4832b0ab84
debugger_dap: Emit Output event on sys_message
2021-11-06 09:30:45 +09:00
kichikuou
7cb8896685
bgm.sdlmixer.c: Allow non-WAV audio formats
...
Ogg is used in the MangaGamer version of Rance 5D.
2021-11-03 21:09:07 +09:00
kichikuou
0ecc4edb43
Add webp CG support
...
Used in the MangaGamer version of Rance 5D.
The logic for the OVER chunk was taken from libsys4.
2021-11-03 21:09:02 +09:00
kichikuou
162bf8dc25
Fix SACT version detection for Rance 5D English version
2021-11-03 12:09:14 +09:00
kichikuou
828cb047ba
Remove the ability to output debug log to a file
...
Before this, debug logs with level 5 and above were written to
`./xsystem35.log`. Now all logs are written to stderr.
2021-10-31 21:53:38 +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
6c87a9155b
Compatibility fix: varGetNumof command
...
It returns the number of variables in System39.ain.
2021-10-24 21:53:04 +09:00
kichikuou
8e4070e91e
Make sysVarAttribute local in variable.c
2021-10-24 16:28:02 +09:00
kichikuou
78cc181271
Refactor variable access code
2021-10-24 14:55:09 +09:00
kichikuou
0e3ea590c6
Fix SEGV on shutdown
2021-10-24 10:47:23 +09:00
kichikuou
066295df2f
Windows: Open folder chooser only if current folder has no ALD files
2021-10-23 09:18:13 +09:00