Commit Graph
310 Commits
Author SHA1 Message Date
kichikuou cc75dd7c94 Convert linebreaks from CRLF to LF 2022-04-03 11:34:48 +09:00
kichikuou 82ce12e82c Android: Fix off-by-one error in playlist.txt
Before this, line k of the playlist file corresponded to track k-1 on
Android. After this, line k corresponds to track k, which is consistent
with other platforms.

Playlists generated in previous versions of system3-sdl2 will be
automatically converted.
2022-03-11 17:05:57 +09:00
kichikuou 8a6a81b334 Windows CI: Use windows-latest image 2022-03-06 15:13:21 +09:00
kichikuou 208b0a1dc8 MSYS2 CI: Use msys2/setup-msys2 2022-03-06 14:39:31 +09:00
kichikuou ea6eff1cdf Update emscripten to 3.1.2 2022-01-30 12:07:42 +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 1fa9112023 Android: Upgrade SDL and SDL_ttf
- SDL 2.0.20
- SDL_ttf 2.0.18
2022-01-22 09:34:51 +09:00
kichikuou a1fcc33053 Android: Stop using deprecated ListActivity 2022-01-03 17:36:08 +09:00
kichikuou 260ad57ea2 Android: Get rid of Kotlin warnings 2021-12-22 21:47:05 +09:00
kichikuou b7634e9366 Android: Update build instructions
Require CMake 3.20+, because after upgrading the Android Gradle plugin
build with CMake <3.20 fails with the following error:

  Execution failed for task ':app:buildCMakeDebug'.
  > Expected output file at (...)obj/armeabi-v7a/libSDL2.so for target
  SDL2 but there was none
2021-12-22 14:59:48 +09:00
kichikuou 70277c7c51 Android: Upgrade SDL to 2.0.18 2021-12-22 13:40:52 +09:00
kichikuou 6015f53b76 Android: Upgrade gradle plugins
Now it works with CMake 3.20+.
2021-12-22 13:21:59 +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 8ee2e952f9 Update emscripten to 2.0.31 2021-10-14 20:58:54 +09:00
kichikuou 6e7df30af7 Add system3.ini.example and update README.md 2021-09-26 10:52:57 +09:00
kichikuou 643eb02448 Add COPYING.txt file in MSVC build artifact windows-0.7.0 2021-09-20 09:22:58 +09:00
kichikuou c9e0d7afad Android: Bump version to 0.7.0 android-0.7.0 2021-09-19 22:46:04 +09:00
kichikuou ef8253c252 MSVC build: Update SDL2 to 2.0.16 2021-09-19 13:59:02 +09:00
kichikuou f8b0cd382e Android: Update SDL2 to 2.0.16 2021-09-19 13:50:46 +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 b64e8ed129 emscripten CI: Use standard setup-emsdk way to cache 2021-07-14 18:34:05 +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 2c5eb170e2 Android: Bump version to 0.6.0 android-0.6.0 2021-06-25 20:59:34 +09:00
kichikuou 5ca83895f3 Android: migrate jcenter to mavenCentral 2021-06-25 20:54:16 +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