kichikuou
3d70d00bce
Add unit test for gameresource.c
android-0.2.2
2020-07-11 19:12:45 +09:00
kichikuou
f2fbf54c32
Move registerGameFiles to xsystem35.c
2020-07-11 18:34:27 +09:00
kichikuou
b4d2c0832e
Clean up gameresource.c
2020-07-11 18:34:24 +09:00
kichikuou
d777b18b55
Game Resource: Allow file names containing spaces
2020-07-11 18:23:39 +09:00
kichikuou
7b3efd9aaa
Move *.gr reader code to gameresource.c
2020-07-11 18:22:05 +09:00
kichikuou
90eb139994
Merge pull request #17 from nunuhara/missing_font_fix
...
Fix segfault when non-existent font specified
2020-07-11 16:15:13 +09:00
Nunuhara Cabbage
aa87e3e8c0
Fix segfault when non-existent font specified
2020-07-10 23:43:46 -07:00
kichikuou
1cd949f597
CMake: Fix X11 + SDL_mixer build
...
Stop using SDL2_FOUND to determine if SDL2 should be used or not,
because it may be defined as a side effect of
pkg_check_modules(SDL2_mixer).
2020-06-27 15:05:56 +09:00
kichikuou
426cdaa836
Fix compatibility issues around maximum index of array variables
...
The second argument of DC command specifies the maximum index of the new
array. That means, `DC _,n,_:` allocates an array of size n+1 (a[0] to
a[n]).
This patch makes sure various D commands work with a[n], and a[n] is
correctly saved and loaded.
Now loadSysVar() does not shrink array variables using the data count in
the save file, so that files saved by old xsystem35 binary can be safely
loaded. This also matches the behavior of System3.9.
2020-06-27 13:16:22 +09:00
kichikuou
8db5a9cd65
Implement text decoration type 4 and 10
2020-06-21 11:10:19 +09:00
kichikuou
47f82e87c5
Add guards against incomplete SJIS bytes
2020-06-21 09:49:13 +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
a23ce19433
Add tests for string variables (M commands)
...
xsystem35 does not pass yet.
2020-06-20 13:00:32 +09:00
kichikuou
1cf197513c
Use const strings in message related functions
2020-06-20 10:53:38 +09:00
kichikuou
64c3c28336
CI: Run SDL2 and X11 builds on Linux
2020-06-20 10:52:35 +09:00
kichikuou
7309ed012f
Make DspDeviceSync no-op in SDL graphics
2020-06-18 21:49:51 +09:00
kichikuou
515a92544b
getCaliValue: Recover from out-of-bounds index access
...
Before this, array access caused stack underflow if the index was out of
range. After this, such index access will be evaluated to zero.
2020-06-14 22:43:17 +09:00
kichikuou
725b0ee6ab
Prevent buffer overrun by DF command
2020-06-14 22:09:14 +09:00
kichikuou
e17b447e73
Cleanup variable lookup code
...
No behavior changes.
2020-06-14 21:54:11 +09:00
kichikuou
6dbd31cdbc
Add tests for array access
2020-06-14 21:48:52 +09:00
kichikuou
a217df39b1
Fix compiler warnings on Windows
...
On Windows, jpeglib.h includes windows.h which defines several macros
that conflict with ours.
2020-06-14 14:23:40 +09:00
kichikuou
80266d6454
Support JPEG image format
...
JPEG images are not used in AliceSoft games, but supported since System3.6
version 3.23 and used in some third-party games (e.g. Graymerca).
2020-06-14 14:16:19 +09:00
kichikuou
2e17188f2b
Fix DI command and add tests
2020-06-13 15:46:45 +09:00
kichikuou
37f4d847e5
Fix Windows build
2020-06-07 21:29:53 +09:00
kichikuou
43c6688ce7
CI updates
...
- Add Windows build
- Run Debug and Release builds on Linux
- Run CI against pull requests
2020-06-07 15:16:39 +09:00
kichikuou
09e89e794d
Android: Version 0.2.1
android-0.2.1
2020-06-07 14:31:31 +09:00
kichikuou
3fd7a58544
Android: Use filtered scaling
...
This improves text readability, especially for the Mincho font.
2020-06-07 12:55:16 +09:00
kichikuou
f0ccdcf40a
Android: Use arhive filename as alternate launcher item name
...
The title.txt file is written when the MT command is used, however some
games (Daiakuji, AmbivalenZ, Ikenai Katsumi sensei) does not use the MT
command. As a result, these titles did not appear in the launcher.
This makes the launcher use the name of the ZIP archive when the game
was installed as the alternate item name if the MT command was not used.
2020-06-07 12:23:19 +09:00
kichikuou
1a6b7b33b9
Android: Compile SDL_mixer with ogg support
...
This enables voice playback in Escalayer.
2020-06-06 23:00:39 +09:00
kichikuou
7240971beb
Fix SACT.MessageIsEmpty
...
This fixes a bug where message wasn't flushed before changing text
attributes.
2020-06-06 18:27:20 +09:00
kichikuou
250fbd30a0
Android: Version 0.2.0
android-0.2.0
2020-06-06 12:50:42 +09:00
kichikuou
d3579186c6
Android: Populate BGM, WAI, BGI, Init, and SACT01 lines in xsystem35.gr
2020-06-06 12:30:14 +09:00
kichikuou
54dcd8c5fc
Android: Compile SDL2_mixer with -DMUSIC_WAV
...
This is necessary to play BGM from ALD.
2020-06-06 12:22:35 +09:00
kichikuou
5c81929461
Android: Enable modules
2020-06-06 09:19:30 +09:00
kichikuou
dbc15ca3b4
Re-enable NIGHTDLL module
...
To avoid symbol conflicts, this adds "nt_" prefix to sprite, sactcg, and
sactstring functions.
2020-06-04 22:50:46 +09:00
kichikuou
9a1f1c77a6
Static link DLL modules
...
We only support a fixed set of modules, so dynamic linking isn't really
necessary. This paves the way for running System3.9 games on more
platforms.
NIGHTDLL is temporarily disabled, because many symbols conflict with the
SACT module.
2020-06-04 19:56:05 +09:00
kichikuou
0fe5cb60a3
SACT: Add WaitVsync() in animation loops
...
So that sprite updates are reflected on the screen.
2020-05-31 09:58:18 +09:00
kichikuou
3e2c226866
Set default fonts load path to /fonts/
2020-05-30 12:15:41 +09:00
kichikuou
0351f4cbcd
Do not use tab characters in CMakeLists.txt
2020-05-30 09:33:01 +09:00
kichikuou
f1eed8f2af
Convert music.c and music_private.h to UTF-8
...
These files were removed at the time of the batch conversion to UTF-8,
and then re-added in EUC-JP encoding.
2020-05-29 23:15:47 +09:00
kichikuou
9020e5ab1d
Remove .dir-locals.el and add .editorconfig
2020-05-29 23:15:17 +09:00
kichikuou
697c15854a
Update emscripten to 1.39.16
2020-05-29 22:24:10 +09:00
kichikuou
70a03ff02f
s2utbl.h: Map [82 f2] to U+3094 (HIRAGANA LETTER VU)
...
This character is used in Prostudent Good. (Although MTLc3m.ttf does not
have a glyph for it...)
This also makes the table const.
2020-05-10 22:26:04 +09:00
kichikuou
d50e7ac150
CI: Run 'apt update'
2020-05-06 15:39:24 +09:00
kichikuou
ea5776108a
Fix voice playback in Escalayer
...
- Make sure muspcm_getpos() returns non-zero while playing
- Implement mus_wav_fadeout_start()
- Fix a bug of ssnd_waitkey()
2020-05-06 15:11:00 +09:00
kichikuou
8d72775daa
Modules: Make debug messages less verbose
2020-05-04 23:02:05 +09:00
kichikuou
73216073af
Android: Update SDL2 to 2.0.12
2020-03-13 16:22:44 +09:00
kichikuou
2d237079db
Android: Bump version to 0.1.1
android-0.1.1
2020-02-24 14:13:27 +09:00
kichikuou
dbb396ae7c
Android: Skip zip entries with UTFDataFormatException
...
This allows installation from some ZIPs distributed by AliceSoft
archives, in Android < 7.0.
Some other ZIPs have game files with SJIS names, so change the error
message depending on whether there's a decode error.
2020-02-24 14:06:45 +09:00
kichikuou
638e96f894
Add GitHub workflows
2020-02-23 23:04:38 +09:00