kichikuou
d10ae21ff4
Move call stacks from NACT to Scenario
2024-12-10 08:35:23 +09:00
kichikuou
e79f24d8b9
Replace NACT::fatal() with global sys_error()
2024-12-10 07:54:56 +09:00
kichikuou
5483d1932f
Introduce Scenario class
2024-12-09 14:44:37 +09:00
kichikuou
8303f7c770
Refactor FILEIO
2024-12-08 15:06:00 +09:00
kichikuou
48d780add6
Introduce Dri class
...
It caches the link table.
2024-12-08 13:39:23 +09:00
kichikuou
4174e0c1bb
Refactor DRI
2024-08-17 12:59:36 +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
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
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
Adrian Graber
76a255619d
Log fatal errors through SDL_LogError too
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
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
578a8bf095
Emscripten: Expose sys_restart() function
2022-06-26 14:56:23 +09:00
kichikuou
cc75dd7c94
Convert linebreaks from CRLF to LF
2022-04-03 11:34:48 +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
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