Commit Graph
77 Commits
Author SHA1 Message Date
kichikuou ad73ed9271 Refactor key release handling in NACT commands 2025-11-27 08:49:51 +09:00
kichikuou 7f527da74f nact: Change tvar from char array to std::string 2025-06-06 14:51:38 +09:00
kichikuou d5de8b18b8 Enable Y 240 (draw_hankaku) in System2 2025-04-24 21:00:38 +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 d676a68b95 Add TRACE_UNIMPLEMENTED macro 2025-01-11 10:59:23 +09:00
kichikuou d8c20c94be NACT: Handle unused commands in base class 2025-01-11 10:37:19 +09:00
kichikuou cb937e97ca NACT_Sys[12]: Refactor wait macros 2025-01-11 10:25:06 +09:00
kichikuou 5d1b8f82cf Refactor NACT_Sys1 introducing inheritance-based structure
System1 commands have very different meanings from game to game
(especially the Y and Z commands), so this moves game-specific logic to
separate derived classes (e.g., NACT_LittleVampire, NACT_GakuenSenki)
for better modularization.
2025-01-11 10:25:03 +09:00
kichikuou d98b2884ed Refactoring: Move declaration of NACT_Sys* classes to cpp files 2025-01-05 08:14:02 +09:00
kichikuou 67b6d71232 Clean up 2025-01-03 13:17:18 +09:00
kichikuou 15c9d0e820 RottenBlock's changes for Rance 2 Hint Disk 2025-01-03 13:17:12 +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 6800258113 NACT: Add warnings for unimplemented Y commands 2025-01-02 10:54:21 +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 eae1951646 Intruder: Fix Z2 command
* `Z 2, 0:` clears the graphic screen.
* `Z 2, 1:` restores the screen by loading the background image, but
  with a transparent color so that the preceding G command can be seen.

Fixes #31.
2024-12-21 13:43:50 +09:00
kichikuou 24c6041915 Encoding: Refactor mblen() to accept first byte instead of pointer 2024-12-20 13:59:30 +09:00
kichikuou b000fecf92 Remove unused NACT_Sys[12]::cali2() 2024-12-18 13:51:26 +09:00
kichikuou f356d268df Scenario: Refactor address handling 2024-12-18 13:50:46 +09:00
kichikuou 9173742ffb Introduce GameId class 2024-12-11 10:43:28 +09:00
kichikuou e77a6b8bb5 Rename skip_string to skip_syseng_string for consistency 2024-12-10 09:15:26 +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 8eaaec8e16 Add scenario address to cali parse error messages 2024-12-03 11:08:51 +09:00
kichikuou 4174e0c1bb Refactor DRI 2024-08-17 12:59:36 +09:00
kichikuou 30ca8b714b Reorganize flags for exit and restart
Pure refactoring, no user-visible changes.
2023-09-27 16:41:05 +09:00
kichikuou c3556c5213 Replace sprintf_s with snprintf 2023-04-15 09:16:14 +09:00
kichikuou 24224e0d2b Merge some changes from SysEng 0.7 (for Gakuen Senki port) 2023-04-09 15:17:33 +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 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 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 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 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 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