kichikuou
5ce1494b59
Match the original engine's patchEC behavior
...
The patchEC flag is default off, and EC 0 goes through the same
width/height adjustment as EC with a registered rectangle.
2026-09-05 12:23:09 +09:00
kichikuou
a627a8ea3d
Add VM variable storage type
...
Define a dedicated `vmvar_t` type for values stored in variable pages
and propagate it through interfaces that expose those values. Keep the
type as int for now so this commit does not change runtime behavior.
This separates VM storage from ordinary int buffers and makes a later
conversion to 16-bit storage mechanically checkable.
2026-07-17 08:48:10 +09:00
kichikuou
286f150510
Android/Emscripten: Move input dialogs into input_modal.c
...
Consolidate the Android and Emscripten implementations of the string/
number input dialogs into input_modal.c, and split the input-dialog API
out of menu.h into input_modal.h.
2026-07-01 08:22:14 +09:00
kichikuou
2c02f40dc4
Move uppercase commands from cmd2F.c to cmd<first_letter>.c
2025-11-06 09:39:46 +09:00
kichikuou
dc17b78365
Move miscellaneous low-level functions to system.[ch]
2025-06-11 09:23:44 +09:00
kichikuou
b5bf439b8e
Remove graphics.h
2025-06-11 09:23:42 +09:00
kichikuou
9a01d28075
Move gfx_* functions from sdl_core.h to gfx.h
2025-06-11 09:22:36 +09:00
kichikuou
945dbd7722
Rename graphics functions from sdl_* to gfx_*
...
And rename sdl_{video,draw,image}.c to gfx_{video,draw,image}.c.
2025-06-10 15:00:27 +09:00
kichikuou
f4f1a99372
Fix mathClip command
2025-02-11 12:36:18 +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
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
a2792d502e
Implement mathSetClipWindow and mathClip
...
Used in Ore no Shita de Agake.
2025-01-07 15:52:47 +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
86068b0ab9
Prefer single precision float
2024-09-01 08:25:34 +09:00
kichikuou
343f3bb7c5
Fix fileCheckExist
...
This fixes https://github.com/kichikuou/xsystem35-sdl2/issues/55 .
2024-06-10 08:59:58 +09:00
kichikuou
a9c79b2e31
sysGetOSName: Use SDL_GetPlatform()
2024-01-11 14:08:31 +09:00
kichikuou
b59d683fef
Change the stack layout
...
Now we use the same stack structure as System3.9. In order to maintain
the compatibility of save files, it is converted to/from the old layout
when saving/loading.
2023-02-20 14:24:37 +09:00
kichikuou
850af6d140
Refactor implementation of LE and QE commands
2023-02-18 14:47:28 +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
4f1521ac90
TOx commands are no-op if the stack top is of an unexpected type
2023-02-10 20:56:53 +09:00
kichikuou
99632397da
Enable the hack in Rance4v2 recompiled with System3.9
...
The System3.9 compiler compiles `MT` command to `0x2F28`, so the hack
must be enabled in commands2F28().
Fixes https://github.com/kichikuou/xsystem35-sdl2/issues/36 .
2023-02-10 20:50:12 +09:00
kichikuou
acdc40ec60
Refactor cdrom abstructions
2023-01-28 12:51:34 +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
c8f9880efb
Fix buffer overrun in LE/QE command
2022-08-28 08:43:18 +09:00
kichikuou
0e9afe7c0a
Implement grDrawFillCircle
2022-07-23 09:18:58 +09:00
kichikuou
078525e2c2
Reduce console message spam
2022-07-16 21:15:55 +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
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
b15690d9b7
Windows: Add "Restart" menu command
...
It resets all VM states and restart the game.
2022-06-26 17:25:39 +09:00
kichikuou
f60b21bc19
Implement grEffectMoveView command
...
It is not used in any AliceSoft games, but used in a third-party game.
2022-06-22 21:37:50 +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
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
6ef699e87d
Clean up scenario.h dependencies
...
- nact.h and xsystem35.h no longer include scenario.h
- Removed `sys_*` aliases in nact.h
- sys_getString() and sys_getConstString() are moved to
scenario.c as sl_getString() and sl_getConstString()
- DEBUG_COMMAND macros are now defined in scenario.h
2021-07-31 15:18:02 +09:00
kichikuou
a159e7cb24
Show error instead of SEGV when System39.ini is missing
...
See #18 .
2021-03-08 09:38:46 +09:00
kichikuou
e18bb6cb75
Make MyRectangle an alias of SDL_Rect
2021-01-09 13:43:21 +09:00
kichikuou
da1c136b39
Move message skip status flags from input.c to msgskip.c
2020-12-29 12:07:37 +09:00
kichikuou
9878f5ca74
Support message skip in System3.9 games without MsgSkip.DLL
2020-12-29 11:27:14 +09:00
kichikuou
f0bd336da1
Implement MsgSkip module
...
The format of savefile (msgskip.asd) is compatible with AliceSoft's
MsgSkip.dll; a 4-byte size field followed by a bitmap indexed by message
ID.
2020-12-22 16:35:37 +09:00
kichikuou
704cfda6ef
Windows: Implement wmenuEnableMsgSkip command
2020-12-20 10:17:49 +09:00
kichikuou
c7263a3082
CMake: Add -Wall for debug builds
2020-10-11 21:31:32 +09:00
kichikuou
042f333564
Remove graphicsdevice.h
2020-10-01 22:19:58 +09:00
kichikuou
ec270f2378
Remove X11/SDL abstraction macros
2020-10-01 22:10:12 +09:00
kichikuou
316a06a168
Refactor string variable functions
...
This replaces v_str* functions with new svar_* functions.
The new svar_* functions use 1-based string variable index, so that
callers don't have to decrement string numbers from SCO.
2020-09-21 16:17:23 +09:00
kichikuou
05cca544c6
Text input commands should accept half-width characters
...
Although its dialog message says "Half-width characters cannot be used",
System3.9 does not prevent users from entering half-width characters.
2020-09-05 22:40:23 +09:00
kichikuou
bc9fc924ed
[experimental] Unicode mode
...
This adds "Unicode mode", in which scenarios can be written in any
language. xsys35c 1.2.0 and later can produce Unicode scenarios.
- nact->encoding represents the current scenario encoding. The initial
value is SJIS, and ZU command changes it to UTF8.
- Use conversion macros that switch the behavior by the scenario
encoding. For example, toUTF8() calls sjis2utf() if the scenario
encoding is SJIS, and calls strdup() if it is UTF8.
- Fix various string processing functions to work with UTF8.
2020-08-09 21:24:56 +09:00