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
kichikuou
ab32b1792f
Do not display message argument of System 3.9 H/HH/X commands
...
This matches the behavior of System39.exe.
2020-08-02 15:38:12 +09:00
kichikuou
9053583517
Do UTF-8 conversion for filenames in cmd*.c
2020-07-25 17:09:08 +09:00
kichikuou
b5010df10d
Add helper functions for number formatting
...
And use it from H, HH, MH, and MHH commands.
2020-07-24 17:06:30 +09:00
kichikuou
50b3812364
Convert gametitle.h to utf-8
2020-07-23 22:50:43 +09:00
kichikuou
d15c770b4b
Fix strGetCharType and strGetLengthASCII
2020-07-23 16:55:49 +09:00
kichikuou
60bb70c456
Fix strCheckASCII and strCheckSJIS
...
They were referencing wrong string variables.
2020-07-23 16:36:03 +09:00
kichikuou
bdfe0e8077
Remove sjis2lang and lang2sjis macros
...
There's no plan to use any other "native" character encodings than
UTF-8.
2020-07-23 13:53:08 +09:00
kichikuou
86470e543a
Rework string variables
...
- strVar is now allocated as a vector of indefinite length buffers
rather than a single contiguous buffer.
- Strings can be any length, but truncated to (strvar_len * 2) bytes
when saved to a file, for backward compatibility.
- Now string commands treat 1-byte characters in the same way as System
3.9. This potentially fixes bugs in English translated games.
2020-06-20 22:29:22 +09:00
kichikuou
8958b41ad2
Windows MSYS2 build support
...
- Add feature detection and fallback implementation for some functions
- Use binary mode for fopen()
- CMake: Add workaround for MSYS link error
2019-10-14 17:32:17 +09:00
Nunuhara Cabbage
f6217bcc3d
Implement modified MP command from English patches
...
Implement the patched version of the MP command, which appends a number
of spaces to a string rather than truncating. This is only used in the
English translations of Rance III and Rance IV.
2019-07-05 23:03:41 -07:00
kichikuou
8fe37f2281
Remove client/server music module
2017-03-18 23:53:21 +09:00
kichikuou
e2fdaebb74
Rename eucsjis to utfsjis
2017-02-11 19:43:01 +09:00
kichikuou
f1b0b399fa
Convert EUC to utf-8
2017-02-11 19:03:05 +09:00
kichikuou
e607c9c2ee
Import xsystem35-1.7.3-pre5
2014-04-26 18:40:24 +09:00