Commit Graph
223 Commits
Author SHA1 Message Date
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
kichikuou 8588a0033c Android: Output sys_message/sys_error to android log 2019-12-31 15:16:54 +09:00
kichikuou eb50ac4fdc Android: Build rules
This sets up Gradle / CMake rules for Android build.
2019-12-31 15:16:49 +09:00
kichikuou 8c31e7a2ec Rename imput.[ch] to input.[ch] 2019-12-24 17:40:02 +09:00
kichikuou a51addd73a Fix for emscripten 1.39.1
Now IDBFS needs to be linked explicitly.
2019-11-18 14:37:58 +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
kichikuou 7a27bcaafd Remove unused nact.tmpdir 2019-10-12 22:57:18 +09:00
kichikuou 665277fcdd VA animation: stop using interval timer
Animation state is calculated in va_animation() (called from
nact_callback()) instead.

This would make porting to non-UNIX environments easier.
2019-10-12 19:32:43 +09:00
kichikuou c1baffd583 bgm.sdlmixer.c: avoid unnecessary memory copy 2019-09-29 22:24:22 +09:00
kichikuou 71e61adbd6 sys35_initGameDataDir: support *BA.ALD 2019-09-29 19:53:37 +09:00
kichikuou b1580643f0 BGM (*BA.ALD) support 2019-09-29 19:36:53 +09:00
kichikuou 7f0f51df41 xcore: Do not use deprecated XKeycodeToKeysym 2019-09-16 16:12:42 +09:00
kichikuou 0f3ff4ff3a cdrom: Fix loop parameter type of start() 2019-09-16 15:45:28 +09:00
kichikuou 8f65891ed8 Fix more compiler warnings 2019-09-15 19:32:00 +09:00
kichikuou c0ac281789 Suppress some compiler warnings 2019-09-15 18:42:19 +09:00
kichikuou 4602b1ebfc Fix compiler warnings 2019-09-15 18:42:16 +09:00
kichikuou 641f53e5bb Change return type of font->get_glyph 2019-09-15 16:32:02 +09:00
kichikuou f91338aeb5 font_sdlttf: implement get_glyph
This is used by NIGHTDLL and SACT.
2019-09-15 16:32:02 +09:00
kichikuou ecf0e6c829 Reduce frequency of nact->callback to once per vsync 2019-09-15 16:32:00 +09:00
Nunuhara Cabbage eff39cf3c5 texthook: explicitly flush stdout every line
This allows processing the output line-by-line by a script.
2019-09-08 11:27:25 -07:00
kichikuou 17ab866835 Do not print error when .xsys35rc is missing 2019-09-08 11:45:21 +09:00