Commit Graph
743 Commits
Author SHA1 Message Date
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