kichikuou
64edcfda29
Support loading system3.5 v1 save files
2023-03-18 09:51:58 +09:00
kichikuou
912af592ae
Clean up savedata.c
2023-03-18 09:51:57 +09:00
kichikuou
6d70439dff
Change how save file names are determined when no .gr file is specified
...
If `?sleep.asd` already exist, use them. Otherwise use `*s?.asd` as in
System3x.exe.
2023-03-18 09:51:51 +09:00
kichikuou
aec06f775a
Support the save format of original System3.x (except System3.5 v1)
...
Now xsystem35 can load ASD files created by System3.5 (v2+) - System3.9.
The format for saving can be configured with the -saveformat option.
2023-02-23 19:03:23 +09:00
kichikuou
446ffe9466
UG command: Fix order of popping variables
2023-02-22 17:35:45 +09:00
kichikuou
02cad74568
Allow resizing system page by DC command
2023-02-20 17:39:21 +09:00
kichikuou
33e1ff3b4a
Increase system variable page size to 65537
...
To match System3.x.
2023-02-20 17:05:54 +09:00
kichikuou
11f8f00072
Match default message/selection window locations to System3.x
2023-02-20 16:32:32 +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
b9f4c7c03a
Compatibility fix for Bx commands
...
These commands accept 0-127 as valid window numbers, which were 1-128
before this change.
To maintain savedata compatibility, window positions are saved in the
order 1,...,127,0.
2023-02-18 21:45:39 +09:00
kichikuou
2d2c6aa373
Remove strvar_len
...
The length limit of string variables was removed a long time ago, but it
was recorded in save files.
Now the first argument of MZ0 is completely ignored (as in System3.9).
The maxlen field in the save file is set to a constant so that older
versions of xsystem35 can load it.
2023-02-18 14:55:02 +09:00
kichikuou
850af6d140
Refactor implementation of LE and QE commands
2023-02-18 14:47:28 +09:00
kichikuou
da4cf017bf
Clean up savedata.h
2023-02-18 14:47:25 +09:00
kichikuou
e88dfcdaa1
Move load_cg_with_file to cg.c
2023-02-18 09:27:21 +09:00
kichikuou
70a940b216
Version 2.8.0
v2.8.0
2023-02-12 09:33:29 +09:00
kichikuou
db2bb03fdd
Add -help description for -game option
2023-02-12 09:12:09 +09:00
kichikuou
5ef949ae14
Refactor ags_setWindowTitle()
2023-02-11 21:40:14 +09:00
kichikuou
043028cf7d
Update game_compatibility.md
2023-02-11 16:18:09 +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
878bea69d6
Add a test for stack commands
2023-02-10 21:30:02 +09:00
kichikuou
ae8becc4a3
Fix menuReturnGoto when stack top is not a return address
2023-02-10 21:24:13 +09:00
kichikuou
1d863cfb2e
Implement UR command
2023-02-10 20:56:53 +09:00
kichikuou
7bb2bee693
Label return should pop TPx
2023-02-10 20:56:53 +09:00
kichikuou
47e7f5542e
Remove sl_retFar2
...
In System39.exe `%0` drops stack frames for label calls (Rance4 v2
relies on this behavior), so it's the same as `UD 1`.
2023-02-10 20:56:53 +09:00
kichikuou
8087d11b2b
Fix UC command
...
* UC0 should restore values pushed by US/TPx
* UC1 should stop when the stack top is a page call
* UC1/2 should restore status pushes by TPx
* UC1/2 should not consume the count for non-call stack frames
* Add support for UC3 command
2023-02-10 20:56:53 +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
59283815d8
Properly implement Y 1900 command
...
It is the same as patchEC, but can be used in SCO files less than
version 390.
2023-02-08 10:43:06 +09:00
kichikuou
a32c901eb8
Tweak the Rance4v2 hack
...
This fixes https://github.com/kichikuou/xsystem35-sdl2/issues/35 .
2023-02-08 10:15:06 +09:00
kichikuou
03b84b8ba7
Make UR command safer
...
It's still unimplemented, but clears the output variables for safety.
2023-02-07 22:12:35 +09:00
kichikuou
720da4e42c
Fix UC1 command
2023-02-07 22:05:00 +09:00
kichikuou
c4dc799c94
Change the condition for applying Rance4v2 hack
...
Now it's determined by the MT command argument.
2023-02-07 21:31:03 +09:00
kichikuou
ce271ae5eb
Fix CG positioning issue in Rance 4.x (TOTO port)
...
G command should reset the effect of J0/J1, even if pixel extraction is
disabled by PC command.
2023-02-05 18:37:50 +09:00
kichikuou
526e5f8709
Fix VSP palette issue
...
This fixes a palette problem when drawing a VSP image on a non-8-bit
surface after executing `ZC 0` command.
cg->vsp_bank can be overridden by the `ZC 0` command.
2023-02-05 18:08:41 +09:00
kichikuou
c967e63be9
Version 2.7.0
v2.7.0
2023-01-28 16:22:24 +09:00
kichikuou
d4a32aee17
Update game_compatibility.md
2023-01-28 16:13:25 +09:00
kichikuou
1191723612
Update emscripten to 3.1.27
2023-01-28 14:30:45 +09:00
kichikuou
addf2e3728
Add BGM support for Rance4 v2
...
In Rance4 v2, `SS n` command plays the audio file n+999 stored in
WB.ald. Support this by reusing the CD->BGM bridge.
2023-01-28 14:24:26 +09:00
kichikuou
4785c8c77c
Add cdrom.bgm.c and use it when DRIFILE_BGM exists
...
This enables BGM playback in the download edition of Daiakuji, where S*
commands are plumbed to the music system (*BA.ald).
2023-01-28 13:06:38 +09:00
kichikuou
b1ac106057
Refactor bgm abstructions
2023-01-28 12:51:38 +09:00
kichikuou
acdc40ec60
Refactor cdrom abstructions
2023-01-28 12:51:34 +09:00
kichikuou
d9f635a6d0
Implement SV command
2023-01-28 09:53:44 +09:00
kichikuou
e8357c4e6f
Add a hack to improve map navigation of Rance4 v2
2023-01-28 09:53:41 +09:00
kichikuou
8e44a87069
Support Y1003 command
...
Used in Rance4 ver2.05. Similar to Y3, but waits for key release.
2023-01-26 21:44:29 +09:00
kichikuou
d1befbd355
Add stub for SV command
...
Used in Rance4 ver2.05.
2023-01-26 18:35:55 +09:00
kichikuou
ec0bae5490
Inline LittleEndian functions
...
Using memcpy(). Compilers are smart enough to eliminate memcpy()
completely.
2023-01-21 17:22:24 +09:00
kichikuou
f5b3b1a936
Support ShSound module on WASM
2023-01-21 16:40:26 +09:00
kichikuou
1b546e3bab
Update README.md
2023-01-15 13:52:00 +09:00
kichikuou
d454899048
Add game compatibility table
2023-01-15 13:39:07 +09:00
kichikuou
7aa704b3f4
midi_sdlmixer: Check playing status in midi_get_playing_info()
...
This fixes an infinite loop in Buroburo waiting for MIDI playback to
finish.
2023-01-15 13:07:51 +09:00