Commit Graph
54 Commits
Author SHA1 Message Date
kichikuou ccd99dab07 Apply character encoding conversion to hard-coded strings
This fixes an issue where menu items like "戻る" were garbled in Unicode
mode.
2021-09-05 15:10:22 +09:00
kichikuou 14d0033db3 Add support for UTF-8 encoded scenario files
If `encoding = utf8` is specified in system3.ini, system3-sdl2 uses
UTF-8 as its multibyte character encoding. It will be used to run games
translated into non-(Japanese|English) languages.
2021-09-04 15:21:52 +09:00
kichikuou 92487ada06 Introduce Encoding class
It represents a multi-byte character encoding. Currently, SjisEncoding
is the only implementation of it.
2021-09-04 13:41:37 +09:00
kichikuou 201924f88c Fix escaping in quoted strings
Do not treat 0x5c as an escaping character if it is part of a multibyte
character.

Fixes #15.
2021-08-29 16:52:03 +09:00
kichikuou 8f48093409 Update emscripten to 2.0.25 2021-07-14 18:29:50 +09:00
kichikuou 0f4984bef5 Introduce Config struct
For now, it's just a container for command line arguments.
2021-06-06 16:18:17 +09:00
kichikuou 34175d5a85 Add English translations for string constants 2021-03-18 09:38:13 +09:00
kichikuou 8417e7758a Skip SysEng's "new style" marker
It can be simply skipped, because SysEng's command set is a superset
of System1-3.
2021-03-18 09:38:13 +09:00
kichikuou 9a8ebbdcb0 Support SysEng's quoted message commands 2021-03-18 09:38:10 +09:00
kichikuou cbb40d0b67 emscripten: minor refactoring
- Remove the use of EXPORTED_FUNCTIONS in favor of EMSCRIPTEN_KEEPALIVE
- SDL_Delay is no longer aliased to emscripten_sleep
2021-01-17 13:55:43 +09:00
kichikuou 1d3715580b MSVS build: Suppress warning C4244 (possible loss of data)
VC++ is picky about narrowing conversion. Let's ignore it instead of
scattering static_casts.
2021-01-02 13:22:36 +09:00
kichikuou 60a0b43831 Fix warnings in MSVS build 2021-01-02 10:45:38 +09:00
kichikuou d3d820d727 emscripten: Support message skip
Also add flags that control message skip behavior.
2020-12-29 12:09:34 +09:00
kichikuou 46827f35ef Use common menu selection function in all systems 2020-12-24 22:55:33 +09:00
kichikuou c2ff6de675 Stop message skip on unseen text
This makes System3-sdl2 stop message skip when it sees text that has not
been read by the player. Seen / unseen flags are stored in MSGSKIP.DAT
file in the save folder.
2020-12-24 17:12:47 +09:00
kichikuou 3a2d345521 Introduce NACT::message() 2020-12-24 16:54:09 +09:00
kichikuou 067e1e23bd Refectoring: Add is_[12]byte_message() helper functions 2020-12-20 14:44:08 +09:00
kichikuou 07da17a00e Pump events in sys_sleep()
This allows handling window events while fading etc.
2020-11-29 12:06:17 +09:00
kichikuou f2139440b6 Defer rendering to idle time
SDL_RenderCopy / SDL_RenderPresent was called too often, which sometimes
caused screen update to fail on Mac.
2020-11-29 12:06:08 +09:00
kichikuou 4b4053cf1e Add -fm command line option 2020-11-21 14:01:38 +09:00
kichikuou 9ddbf01d23 Minor refactoring of MAKO
- Move select_sound() from NACT to MAKO
- Make cd_track private
2020-10-24 17:53:07 +09:00
kichikuou 9637701340 Windows: Implement reset menu command
A bit hacky but works.
2020-10-10 15:26:01 +09:00
kichikuou 7f94312c58 Rename {initialize,release}_console to platform_{initialize,finalize}
So that other platform-specific setups (e.g. menus) can be done there.
2020-10-10 15:26:01 +09:00
kichikuou 0e9bc5a10b Allow virtual functions in NACT
This essentially reverts commit 7ffa8bc. With the new "ASYNCIFY_ADD"
emscripten option, we no longer need this workaround.
2020-08-08 12:16:39 +09:00
kichikuou eb24179d76 Merge upstream changes: Merge NACT-common changes
- Half-width kana characters are converted to full-width hiragana if
  ags->draw_hankaku is false.
- tvars can now support 33 characters instead of 22.
2020-05-23 11:14:34 +09:00
kichikuou 5571061ac1 Merge upstream changes: Add wait after opening menu
This prevents mis-selection by key repeat etc.
2020-05-23 10:53:34 +09:00
kichikuou 657057fa64 Merge upstream changes: CRC32 updates
- Check CRC32 of both ADISK.DAT (storead as crc32_a) and BDISK.DAT (crc32_b)
- Update the CRC32 database adding more titles
2020-05-22 16:09:55 +09:00
kichikuou e8d254328a Merge upstream changes: Merge FILEIO changes
FILEIO has been updated to resolve relative paths inside FILEIO::Fopen(),
which has been already done in System3-sdl2.

FILEIO::Fgets() now uses a length param.

Callsites for these functions are also updated to reduce the diff from
upstream.
2020-05-22 12:04:36 +09:00
kichikuou 131707f9d8 Merge upstream changes: Improve error messages for unknown commands
Unlike the upstream, we use fatal() because it generates a message box
even if DEBUG_CONSOLE is disabled.
2020-05-22 09:32:04 +09:00
kichikuou 406a7fe106 Merge upstream changes: output_console() takes printf-style arguments 2020-05-21 23:24:54 +09:00
kichikuou 7a1cc2a483 Convert all Shift_JIS files to UTF-8 2020-02-24 18:06:38 +09:00
kichikuou 4ae7e9e7aa Move SYSTEM1 initialization code to NACT_Sys1 constructor 2020-02-23 14:41:10 +09:00
kichikuou 7ffa8bc306 Avoid virtual functions in NACT
Since NACT functions call asynchronous operations and we use
ASYNCIFY_IGNORE_INDIRECT in emscripten.
2020-02-23 14:23:30 +09:00
kichikuou 348dff7575 Add game table entry for Prostudent G omake
Use `-game prog_omake` to play it.
2020-02-22 16:15:51 +09:00
kichikuou 20ba438300 Unify executables
Instead of building multiple executables using #ifdefs, create a single
executable (still called "system3") that can run all System1-3 games.
2020-02-22 16:15:47 +09:00
kichikuou 387c5febf2 Remove tchar.h shim 2020-02-16 15:57:05 +09:00
kichikuou 487bd49745 CD-DA BGM playback support with SDL_mixer
This adds -playlist command line option to specify a "playlist" file
which lists music files to be played instead of CD audio tracks.
The format of playlist file is the same as xsystem35's.
2020-02-15 17:27:37 +09:00
kichikuou 8615df6e12 Add -game option
This overrides the title detection by CRC. For example,

  system3 -game rance41

forces system3 to work in Rance 4.1 mode. See nact_crc32.cpp for
possible flag values. This is useful when running patched games.
2020-02-10 12:14:18 +09:00
kichikuou 6e73c48e68 Report errors using SDL message box 2019-12-27 19:41:55 +09:00
kichikuou e417118713 Add -fontfile option 2019-08-18 18:31:26 +09:00
kichikuou de3bbf2595 System1: Detect game title by CRC32 2019-08-18 16:55:17 +09:00
kichikuou ba359b4b59 Performance tweak 2017-04-30 21:31:11 +09:00
kichikuou f35990d1a4 Prepend g_root in FILEIO 2017-04-30 15:05:03 +09:00
kichikuou 55bded3395 Move console functions to platform dir 2016-04-02 23:25:26 +09:00
kichikuou d1fd4bd3e3 No windows.h dependency in .h files 2016-04-02 22:55:45 +09:00
kichikuou 79039f90dc SDL cursor functions 2016-04-02 22:23:33 +09:00
kichikuou e988478d4d Remove global HINSTANCE 2016-04-02 21:31:28 +09:00
kichikuou f51f224fe4 Input dialog 2016-04-02 20:49:37 +09:00
kichikuou 957e2b96e7 Disable joystick 2016-04-02 19:55:42 +09:00
kichikuou ac45f8da65 params.terminate -> terminate 2016-04-02 18:02:33 +09:00