kichikuou
52322345b5
Fix MG7 command
...
This fixes a regression bug introduced by 86470e5 .
2020-07-23 16:31:35 +09:00
kichikuou
66693ad39a
font_freetype2: Drop support for SJIS character map
...
Nowadays, it's safe to assume that fonts have a Unicode character map.
2020-07-23 15:01:46 +09:00
kichikuou
73fab9b628
Remove unused functions in utfsjis.c
2020-07-23 13:53:25 +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
03f8af2241
Simplify registerGameFiles()
2020-07-12 14:25:34 +09:00
kichikuou
c03b6cf6b5
Embed GameResource in NACTINFO
2020-07-12 14:17:31 +09:00
kichikuou
1a3b779ace
Use const strings for file names
2020-07-12 13:41:57 +09:00
kichikuou
4c58510a37
CMake: Introduce src_lib library
...
To avoid compiling test targets twice.
2020-07-12 13:01:31 +09:00
kichikuou
b4c729a1f6
initGameResourceFromDir: Detect non-{ald,ain} files too
...
Now BGI, WAI and other files can be used without writing a .gr file.
2020-07-12 12:09:01 +09:00
kichikuou
daf5098530
Add test for initGameResourceFromDir
2020-07-12 11:46:39 +09:00
kichikuou
3d70d00bce
Add unit test for gameresource.c
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
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
1cf197513c
Use const strings in message related functions
2020-06-20 10:53:38 +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
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
3fd7a58544
Android: Use filtered scaling
...
This improves text readability, especially for the Mincho font.
2020-06-07 12:55:16 +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
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
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
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
174f1ac359
Android: Play MIDI via temporary file
...
MediaPlayer in old versions of Android does not accept data: URL.
2020-02-16 11:35:01 +09:00
kichikuou
acd4dc239b
Android: Fix loop parameter handling for CD-DA/MIDI
...
The semantics of `loop` parameter of start() is very confusing.
Added comments in cdrom.h/midi.h to clarify the meaning.
2020-02-09 19:22:47 +09:00
kichikuou
f16f768a69
Android: Use {Push,Pop}LocalFrame to track local references
2020-02-02 11:32:38 +09:00
kichikuou
1ab4a74798
Android: Redraw screen after task resume
...
There is a bug the redrawn screen is a bit off. Not sure why.
2020-01-26 16:49:10 +09:00
kichikuou
31e073203d
Android: MIDI support
2020-01-25 17:23:53 +09:00
kichikuou
f6a39a0539
Enable text anti-aliasing by default
...
This would make more sense because the bundled fonts do not have
bitmap glyphs. The -antialias command option is removed. To disable
anti-aliasing, use -noantialias or "antialias: No" in .xsys35rc.
2020-01-19 22:41:25 +09:00
kichikuou
8f10145fc4
Android: Use android.media.MediaPlayer for BGM playback
...
Playlist is written to <gamedir>/playlist.txt during installation
("cdrom_device" in .xsys35rc is not used).
Files that match /(\d+)\.(wav|mp3|ogg)$/ are recognized as BGM files
(digits represent a track number). Note that this convention is the same
as Kichikuou on Web.
2020-01-19 22:18:04 +09:00
kichikuou
5743979bca
Android: Create window as fullscreen
...
This lets SDL use the "immersive fullscreen" mode where system bars are
hidden.
2020-01-18 12:45:29 +09:00
kichikuou
83c4195f3a
Android: Pass absolute path to Mix_LoadMUS
2020-01-13 22:55:44 +09:00
kichikuou
473e490686
Android: New launcher
...
The new launcher activity is a ListActivity and allows:
- Installing games from ZIP
- Launching installed games
- Uninstalling games
2020-01-13 18:55:52 +09:00
kichikuou
ea7eee836f
Android: Fix multi-touch detection
2020-01-04 11:22:24 +09:00
kichikuou
60df54efc6
Android: Disable window resizing
...
Calling SDL_SetWindowSize() will overwrite window->w and window->y
and break rendering.
2019-12-31 21:18:26 +09:00
kichikuou
b2c1ba5247
Android: Add simple launcher
...
This adds a minimal launcher activity for the android app, which does
the followings:
- Opens a file chooser to let user select a zip file
- Extracts the zip into the app's internal storage
- Launches the SDL activity
2019-12-31 21:18:26 +09:00