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
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
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
2f55371c10
Windows: Add a menu command to control automatic mouse movement
2022-08-07 17:36:13 +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
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
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
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
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
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
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
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
4c6d8d5f8b
Support Y240 (hankaku mode) in System1
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
20e06235d2
Add CRC32 for English translations of Little Vampire / Rance 4.x
...
Note that these are still in beta; CRC32s may change.
2021-03-17 20:47:01 +09:00
kichikuou
77d50780f8
Implement AGS::paint()
2021-01-23 10:51:05 +09:00
kichikuou
db66e62b88
emscripten: Drop MIDI support
...
After kichikuou/web@c901b19 , the web port only supports FM sound.
2021-01-17 17:37:58 +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
8519bc1a55
Implement NACT::set_cursor()
2021-01-11 20:48:49 +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
56bb588ca7
Support building with Microsoft Visual Studio
2021-01-02 09:10:51 +09:00
kichikuou
75cbb2bcef
Windows: Add "Save Screenshot" menu command
2020-12-31 14:17:55 +09:00
kichikuou
fab3b2eaa0
Support propotional fonts
2020-12-30 22:21:59 +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
958e922d54
Apply NACT_Sys3 changes to NACT_Sys1, NACT_Sys2
...
Some fixes / improvements were made only in NACT_Sys3 but not in
NACT_Sys1 and NACT_Sys2. This applies the followings to NACT_Sys[12]:
f680fb3e Add savedir option
ba359b4b Performance tweak
bde689ea Text hook
Especially, this fixes a bug where save files were created not in save
directory, but in game directory.
2020-12-24 22:19:37 +09:00
kichikuou
e091bd9c1c
Improve message skip
...
When message skip is enabled while executing cmd_a(), skip starts
immediately.
This also makes messages displayed during skip visible for a moment.
2020-12-24 22:18:52 +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