Commit Graph
291 Commits
Author SHA1 Message Date
kichikuou a7c44e2953 Version 1.2.0 2024-12-06 15:28:43 +09:00
kichikuou 8b4b33d538 Emscripten: Use texthook suppression list 2024-12-06 13:15:00 +09:00
kichikuou 0b04f5f334 Add texthook_suppress option
For suppressing text hook on specified scenario pages.
2024-12-06 10:24:36 +09:00
kichikuou 1e7a59f9cd Add texthook option
`-texthook print` prints text to console, and `-texthook copy`
automatically copies text to clipboard (for use with text hooker tools).

On Windows, copy mode can be toggled from the menu bar.
2024-12-04 16:33:50 +09:00
kichikuou 578e0b72bc System2: Fix parsing of V command
The command is still unimplemented though.
2024-12-03 11:17:48 +09:00
kichikuou 8eaaec8e16 Add scenario address to cali parse error messages 2024-12-03 11:08:51 +09:00
kichikuou e330a0dba6 Add warning message about game ID detection 2024-11-26 08:26:57 +09:00
kichikuou 9cc9f117ce Version 1.1.0 2024-08-17 16:46:15 +09:00
kichikuou 4174e0c1bb Refactor DRI 2024-08-17 12:59:36 +09:00
kichikuou 58859deec1 Refactor mako_midi.cpp 2024-08-17 10:15:05 +09:00
kichikuou 480548191f Add -mididevice option 2024-08-17 08:50:22 +09:00
kichikuou be4aec4b02 Rename src/linux to src/generic
And now android uses src/generic/mako.cpp.
2024-08-16 10:38:56 +09:00
kichikuou 41e69d7610 Real-time MIDI playback using RtMidi
Before this, MIDI playback was done by generating an SMF data stream,
which was then played using platform-specific methods (MCI on Windows,
MediaPlayer on Android, SDL_Mixer on other platforms). However, this
approach had an issue where the Y18 command (which reads loop counts and
markers) did not work correctly.

With this change, the MAKOMidi class now uses the RtMidi library to
control MIDI devices in real-time. This approach was used in the
original "System3 for win32", but has now been made cross-platform.

The dependency on RtMidi is optional. If RtMidi is not available at
build time or a MIDI device is unavailable at runtime, FM synthesis will
be used.
2024-08-16 10:11:41 +09:00
kichikuou 3a763412c9 Remove MIDI support on Android
This is in preparation for supporting real-time MIDI playback on other
platforms.
2024-08-15 16:51:32 +09:00
kichikuou f700a717d7 Do not pass negative values to isspace()
MSVCRT debug versions assert that.
2024-08-15 16:50:52 +09:00
kichikuou 4b56057159 emscripten: Use EM_ASYNC_JS 2024-07-31 08:59:15 +09:00
kichikuou c25227426e Version 1.0.2 2024-04-12 16:57:24 +09:00
kichikuou a15f911ca5 Fix to_bool() in config.cpp
Fixes #28.
2024-04-12 16:54:38 +09:00
kichikuou 0b008e32b3 Version 1.0.1 2024-04-07 21:51:09 +09:00
kichikuou 723e5cef05 Fix crash when font not found
Now NACT::fatal() immediately exits the process.
2024-04-06 08:31:37 +09:00
kichikuou 2ae16c8c61 Fix crash in system3.ini parser
Fixes #27.
2024-04-06 08:16:04 +09:00
kichikuou 15b7236230 emscripten: Don't let SDL change document.title 2024-02-16 13:07:09 +09:00
kichikuou 6996482362 Move CMakeLists.txt to project root 2024-01-11 13:28:18 +09:00
kichikuou 2e4d452aa8 Android/Windows: Upgrade SDL to 2.28.5 2023-11-17 13:36:38 +09:00
kichikuou 16b9abe64f Emscripten: Introduce xsystem35.shell.onExit()
It notifies the shell of the exit event and allows it to change the exit
code.
2023-10-02 20:45:47 +09:00
kichikuou bcb653ca14 Emscripten: Stop audio on reset 2023-09-27 20:24:31 +09:00
kichikuou ad23d428cc Y 255,0 should return the value of RND to the system 2023-09-27 16:50:25 +09:00
kichikuou 759a5eab5d Emscripten: Restart game instead of exiting
The same behavior as xsystem35.
2023-09-27 16:48:16 +09:00
kichikuou 30ca8b714b Reorganize flags for exit and restart
Pure refactoring, no user-visible changes.
2023-09-27 16:41:05 +09:00
kichikuou f1e4c2501f Android/Windows: Upgrade SDL to 2.28.2 2023-08-06 21:33:43 +09:00
kichikuou 04873d875a emscripten: Add simulate_right_button() 2023-05-04 11:25:09 +09:00
kichikuou 7b7394e5fe Fix use-of-uninitialized-value for text_font_maxsize
This fixes https://github.com/kichikuou/system3-sdl2/issues/25.
2023-04-15 09:29:18 +09:00
kichikuou c3556c5213 Replace sprintf_s with snprintf 2023-04-15 09:16:14 +09:00
kichikuou f1455c2c8a Bump version to 1.0.0 2023-04-09 18:38:26 +09:00
kichikuou 0171433618 Update emscripten to 3.1.34 2023-04-09 18:32:33 +09:00
kichikuou 7f6a085f56 Scanline screen effect
It can be activated by the -scanline command line flag, system3.ini, or
the menubar on Windows. Effective especially for games with 200-line
screen mode, such as Little Vampire and Intruder.
2023-04-09 18:23:42 +09:00
kichikuou ec1dfbffcf Use non-square pixels for Gakuen Senki
Stretch 512 horizontal pixels to 582 pixels. This is the same pixel
aspect ratio used by WebMSX.

Also set SDL_HINT_RENDER_SCALE_QUALITY to "linear", to improve the
scaling quality.
2023-04-09 18:23:39 +09:00
kichikuou 24224e0d2b Merge some changes from SysEng 0.7 (for Gakuen Senki port) 2023-04-09 15:17:33 +09:00
kichikuou 32f4c0f945 Improve anti-aliasing quality of non-white text
By presetting palette.
2023-04-06 21:17:51 +09:00
kichikuou 6d6d5ca829 Reset RenderDrawColor after changing it for fading
Otherwise, the next SDL_RenderClear() will fill the screen with that
color, including areas outside the viewport.
2023-03-25 16:13:55 +09:00
kichikuou 431be235d6 Android: Add support for PCM sound
Now android/mako.cpp depends on SDL_mixer, and CD-DA is also played with
SDL_mixer.
2023-03-18 13:49:36 +09:00
kichikuou 236eb0b581 MSVC build: Update SDL2 and SDL2_ttf 2023-03-17 18:56:18 +09:00
kichikuou 2178c98a75 Apply K3 hack to the map area selection of Only You 2023-03-17 18:23:58 +09:00
kichikuou 31dcec6893 Emscripten: Support PCM sound 2023-03-17 15:55:41 +09:00
kichikuou be18e06e09 Fix MAKO::check_music()
This fixes infinite loop in the opening demo of Only You, waiting for
the end of the music.
2023-03-17 15:53:52 +09:00
kichikuou 425ddf3ea8 Bump version to 0.9.0 2023-03-03 11:14:09 +09:00
kichikuou 36cee9aff8 Treat touches outside the viewport as right-clicks
The old method to simulate right click (two-finger touch) still works.
2023-03-03 10:50:54 +09:00
kichikuou 2c2ea6d28b emscripten: Export _malloc 2023-02-25 15:58:12 +09:00
kichikuou 50120d32ce Update emscripten to 3.1.32 2023-02-25 15:06:26 +09:00
kichikuou 3a13f27dcf Add a hack to improve menu usability in Alice's Cottage 3
Some screens in Alice's Cottage 3 have menus implemented on the script
side. The script does not know the absolute position of the mouse
pointer (cursor movement is done by obtaining the relative movement
distance of the mouse), so the mouse pointer and the selected item were
often misaligned, and the cursor could not be moved by touch operation.

This adds a hack to the K3 command that emulates cursor movements by
absolute mouse pointer location.
2023-02-25 14:29:04 +09:00