Commit Graph
241 Commits
Author SHA1 Message Date
Adrian Graber 05ff59cff2 Add Nintendo Switch support
- Bundle resources folder through romfs
- Added Switch-exclusive romfs init/exit code
- Add icon for NRO
- Add Switch-exclusive CMake code for NACP/NRO generation
- Add GitHub Actions Switch workflow
2022-10-29 08:25:07 +09:00
Adrian Graber 76a255619d Log fatal errors through SDL_LogError too 2022-10-29 08:25:07 +09:00
Adrian Graber 361e51085d Add timiditycfg setting 2022-10-29 08:25:07 +09:00
kichikuou bbb51f4912 Always enable GameController, and remove unused USE_JOY code 2022-10-27 20:03:47 +09:00
Adrian Graber 034ab8dd03 Implement GameController through SDL2 2022-10-27 20:02:02 +09:00
kichikuou 65aa76a337 Bump version to 0.8.0 2022-08-07 21:42:35 +09:00
kichikuou 93b9cc0e1a Show system3-sdl2 version on window title bar 2022-08-07 21:40:41 +09:00
kichikuou ad86883e42 MSVS, Android: Update SDL2 to 2.0.22 2022-08-07 21:32:31 +09:00
kichikuou 2f2e5f9aa7 Skip 400ms delay after opening menu if mouse movement is disabled
This removes the 400ms delay in NACT::wait_after_open_menu() if
automatic mouse movement is disabled, because there's less risk of
miss-clicking.
2022-08-07 18:12:18 +09:00
kichikuou 2f55371c10 Windows: Add a menu command to control automatic mouse movement 2022-08-07 17:36:13 +09:00
kichikuou 0c8903920a Switch FM sound emulator to ymfm 2022-08-07 15:55:07 +09:00
kichikuou 2cb0b2a2a2 Reuse SDL_Renderer after VM reset
Otherwise mouse input doesn't work after restart in emscripten port.
2022-06-26 15:00:23 +09:00
kichikuou 578a8bf095 Emscripten: Expose sys_restart() function 2022-06-26 14:56:23 +09:00
Nunuhara Cabbage b2907a9de8 Install font to resource directory 2022-06-04 12:36:52 +09:00
Xanardi 1d52d0d411 Fix MSVC2017 build error 2022-04-23 08:52:48 +09:00
kichikuou cc75dd7c94 Convert linebreaks from CRLF to LF 2022-04-03 11:34:48 +09:00
kichikuou 08de113b8f MSVC build: Upgrade SDL and SDL_ttf
- SDL 2.0.20
- SDL_ttf 2.0.18
2022-01-22 10:02:11 +09:00
kichikuou 80ea44e3c6 Fix issues with reading system3.ini and playlist made on Windows
- Replace backslashes in pathnames with slashes
- Strip '\r' in playlist
2021-11-27 13:23:11 +09:00
kichikuou dc471399e5 Rewrite fade in / fade out implementation
Before this change, fade in and fade out was implemented using a
16-steps dithering pattern.

Now fading uses alpha-blending. It behaves like the PC98 version, where
fading was done by palette animation.

This reduces `sizeof(AGS)` by 1.2MB.
2021-11-20 17:09:17 +09:00
kichikuou ef8253c252 MSVC build: Update SDL2 to 2.0.16 2021-09-19 13:59:02 +09:00
kichikuou a0e46ce23b MSVC build: Statically link runtime library 2021-09-18 21:09:57 +09:00
kichikuou bc3580e4ef Implement MAKO::get_mark() for FM sound
It still does not work for MIDI.
2021-09-18 21:05:38 +09:00
kichikuou da91f10779 Allow overriding hard-coded strings by system3.ini
Some strings ("戻る" and "次のページ" in menu, character names in DPS)
are not included in game files but are hard-coded in the executable.

Now those strings can be overridden by adding [string] section to
system3.ini. For example, system3.ini for English translation of DPS
may look like this:

  [config]
  game  = dps
  title = D.P.S - Dream Program System

  [string]
  back        = Back
  next_page   = Next Page
  dps_custom  = Custom
  dps_linus   = Linus
  dps_katsumi = Katsumi
  dps_yumiko  = Yumiko
  dps_itsumi  = Itsumi
  dps_hitomi  = Hitomi
  dps_mariko  = Mariko
2021-09-11 13:20:48 +09:00
kichikuou cbf2a9c86f Report parse error of AG00.DAT 2021-09-09 21:06:15 +09:00
kichikuou 4004d39f22 Add "title" system3.ini option
So that translators don't need to change C++ code to localize game
titles.
2021-09-08 17:35:23 +09:00
kichikuou bce7f5e4c2 Improve system3.ini parser
- keys are case-insensitive
- spaces are allowed in values
2021-09-08 17:20:45 +09:00
kichikuou 72e00ff20d Add Chinese translation for text input dialog
From silas1037/system3-sdl2@4803ae3da7.
2021-09-06 18:28:07 +09:00
kichikuou 45f6e5cc74 Add Japanese and Simplified Chinese menu resource
The Chinese text was taken from https://github.com/silas1037/SysEng/.
2021-09-05 16:12:29 +09:00
kichikuou 4244fe63f5 Clean up win/resource.rc 2021-09-05 15:38:48 +09:00
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 f4799161a9 Fix encoding conversion in Windows text input dialog 2021-09-05 10:41:36 +09:00
kichikuou 7834004648 Fix unicode conversion on Android / Emscripten
This also moves functions in utfsjis.cpp to encoding.cpp.
2021-09-05 10:02:31 +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 d3c89aa697 Do hankaku-zenkaku conversion after Unicode conversion
As a bonus, Unicode character literal syntax can be used now.
2021-09-04 10:42:16 +09:00
kichikuou ddd1be04ef Map gaiji to Unicode Private Use Area U+E000-U+E0BB 2021-09-04 10:33:19 +09:00
kichikuou 231523f9c5 Simplify FILEIO::Fgets()
Control characters do not overlap with SJIS second bytes, so no need to
special case multibyte characters.
2021-09-04 10:33:19 +09:00
kichikuou 55e2b3bd8c Redraw screen on SDL_WINDOWEVENT_EXPOSED
Fixes #17.
2021-09-01 20:35:52 +09:00
kichikuou d0e40c1c6d Fix a bug in M command + quoted string 2021-08-30 19:28:10 +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 1e04c03469 Add Language field to CRCTable struct 2021-08-28 13:40:25 +09:00
kichikuou 6ec42bbdfc Make window resizable 2021-08-14 13:28:56 +09:00
kichikuou c58d5b690a Fix mouse cursor movement in fullscreen mode
Ported from kichikuou/xsystem35-sdl2@91d30c9.
2021-08-14 13:18:42 +09:00
kichikuou 8f48093409 Update emscripten to 2.0.25 2021-07-14 18:29:50 +09:00
kichikuou af6da1f0c5 Fix incorrect warning while parsing system3.ini
Also fixes a typo in README.md.

Fixes #12.
2021-07-08 17:12:42 +09:00
kichikuou 98038a5c74 Do not use SDL_RWFromFile on Windows
It does not work in the MSVC build of SDL2 (although it works in
Mingw-w64's SDL2 package).

Fixes #11.
2021-07-08 17:08:20 +09:00
kichikuou 52eea935fe Android: Allow specifying custom fonts in system3.ini
Now custom font files specified in system3.ini (as relative paths from the
game directory) can be loaded correctly.
2021-06-06 22:08:07 +09:00
kichikuou 14f4c38d85 Load configurations from system3.ini
This corresponds to xsystem35's `.xsys35rc` file (but loaded only from
the game directory). The format is a subset of .ini file.

This will enable using custom fonts on Android / Web.
2021-06-06 22:04:16 +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