Commit Graph
105 Commits
Author SHA1 Message Date
kichikuou ad73ed9271 Refactor key release handling in NACT commands 2025-11-27 08:49:51 +09:00
kichikuou 51ab709da7 Advance messages by scrolling mouse wheel down
Now the 'A' command accepts mouse wheel down events in addition to
keyboard and mouse buttons.
2025-11-04 10:17:30 +09:00
kichikuou febee3f5a3 Refactor savefile path handling 2025-06-06 16:13:02 +09:00
kichikuou 7f527da74f nact: Change tvar from char array to std::string 2025-06-06 14:51:38 +09:00
kichikuou 9733caf10f debugger: Update screen before entering REPL 2025-03-05 16:01:56 +09:00
kichikuou 446d34132a AGS: Defer texture update until update_screen() 2025-02-22 15:24:27 +09:00
kichikuou c205806d7b Fix header include paths 2025-02-08 12:55:14 +09:00
kichikuou 43d1af3a44 AGS: Refactor text layout logic 2025-01-19 10:41:14 +09:00
kichikuou fad34f7bb9 Refactor text / menu window code 2025-01-18 15:37:13 +09:00
kichikuou 32a510d543 Add AGS::load() and AGS::save() 2025-01-18 14:41:14 +09:00
kichikuou ca2ca7276f AGS: Use SDL_Surface to save / restore screen 2025-01-17 10:58:50 +09:00
kichikuou d98b2884ed Refactoring: Move declaration of NACT_Sys* classes to cpp files 2025-01-05 08:14:02 +09:00
kichikuou ceadba8f4d Load GDISK.DAT and GG00.DAT if game_id is rance2_hint
AG00.DAT on the hint disk must be renamed to GG00.DAT to avoid conflicts
with AG00.DAT of the main game. This is the setup used in the Ryu1's
porting kit (http://www.ryu1.jp/alice/r2port.html).
2025-01-03 13:17:22 +09:00
kichikuou ffe11c695e Reorganize initialization error reporting
- Invalid game id -> sys_error() in GameId::GameId()
- Unknown crc32 -> SDL_ShowSimpleMessageBox() in GameId::GameId()
- Cannot open ADISK.DAT -> sys_error() in NACT::NACT()
2025-01-03 12:36:27 +09:00
kichikuou a274aaee57 GameId: Remove '_ENG' variants from Game enum
Use GameId::language field if necessary.
2025-01-03 08:52:30 +09:00
kichikuou 7f7ff91439 GameId: Replace CRC32 with enum
This makes it possible to define games that do not have a CRC32.
2025-01-03 08:52:27 +09:00
kichikuou 1a53c50c75 Rework NACT command tracing
- Now tracing is not a build-time config but a runtime option (`-trace`)
- One command per line, so that traces are not mixed with other outputs
- Send traces to DAP client
- Fix garbled characters in non-SJIS environments
2025-01-02 16:53:01 +09:00
kichikuou 64b3e2a284 dabugger: Add support for custom DAP messages for palette changes
This implements "xsystem35.palette" custom request and
"xsystem35.paletteChanged" custom event, introduced in
kichikuou/xsystem35-sdl2@4b15f45.
2024-12-28 14:09:57 +09:00
kichikuou 909140f3bc Add support for Debug Adapter Protocol 2024-12-28 14:09:56 +09:00
kichikuou 8883bd5d68 Add command line debugger 2024-12-28 14:09:53 +09:00
kichikuou 2498669da3 NACT: Refactor data structure for menu 2024-12-24 13:46:47 +09:00
kichikuou b08b9f80f2 Add some helper functions to GameId 2024-12-24 12:22:10 +09:00
kichikuou bb1573ec6d NACT: Factor out load/save functions 2024-12-24 12:19:13 +09:00
kichikuou 57fad54420 NACT: Make some command functions non-virtual 2024-12-24 12:19:10 +09:00
kichikuou b1c917b89a Refactor NACT::message() to take first command byte 2024-12-20 14:16:55 +09:00
kichikuou 24c6041915 Encoding: Refactor mblen() to accept first byte instead of pointer 2024-12-20 13:59:30 +09:00
kichikuou f356d268df Scenario: Refactor address handling 2024-12-18 13:50:46 +09:00
kichikuou 07a049e05e NACT: Initialize members in class declaration 2024-12-11 14:03:58 +09:00
kichikuou 4930154d45 Expose g_nact 2024-12-11 14:03:55 +09:00
kichikuou 9173742ffb Introduce GameId class 2024-12-11 10:43:28 +09:00
kichikuou 4ec1a12daa Add Scenario::unknown_command() for error reporting 2024-12-10 09:12:55 +09:00
kichikuou ffa3a364ce NACT: Make cmd_{label,page}_{jump,call} methods non-virtual 2024-12-10 08:42:36 +09:00
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