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
kichikuou
40a4d8b2f6
debugger_dap: Support variables and setVariable requests
2021-10-23 08:12:13 +09:00
kichikuou
0793b57e3c
Debugger: Add finish (step out) command
2021-10-22 11:10:56 +09:00
kichikuou
089520ec55
Add support for Debug Adapter Protocol
...
If -debug_dap flag is given, xsystem35 speaks the Debug Adapter Protocol
(https://microsoft.github.io/debug-adapter-protocol/ ) via stdin/stdout.
This enables xsystem35 to work as a backend of VS Code's Debugger (and
possibly other debuggers that support DAP).
2021-10-17 21:05:24 +09:00
kichikuou
4bea33d852
Disable debugger on Android and Emscripten
2021-10-09 11:00:23 +09:00
kichikuou
6930acd3b1
Debugger: Empty input repeats last command
2021-10-03 16:01:06 +09:00
kichikuou
f9a3ef8606
Debugger: Add "list" command
2021-10-03 16:01:06 +09:00
kichikuou
841deb6f81
Debugger: Add "help" command
2021-10-03 16:01:06 +09:00
kichikuou
d713e1470e
Make SACT work with emscripten
...
- Add some functions to ASYNCIFY_ADD
A function that calls an asynchronous function via a function pointer
must be added to ASYNCIFY_ADD, even if it had a direct call to
another asynchronous function, so that the indirect call itself is
instrumented.
- Add dummy emscripten_sleep() call to send_agsevent
Because adding a function to ASYNCIFY_ADD does not make its callers
instrumented transitively.
2021-09-25 22:54:57 +09:00
kichikuou
6268cb6a9b
Add musbgm implementation for emscripten
2021-09-25 22:54:57 +09:00
kichikuou
f8b7adf3d0
Debugger: Fix crash by breakpoint on message literal
2021-08-15 18:19:37 +09:00
kichikuou
3e46c54ce6
VSP: allocate extraction buffer on heap
...
This fixes stack overflow in MacOS release build.
2021-08-15 18:19:16 +09:00
kichikuou
0925ee86e0
Move xsys35rc.sample to repository root directory
...
And describe the PortMidi option.
2021-08-14 17:19:06 +09:00
kichikuou
7a77470a19
Split debugger into two parts
...
The core (debugger.c) and CUI part (debugger_cui.c).
2021-08-01 22:16:21 +09:00