Commit Graph
505 Commits
Author SHA1 Message Date
kichikuou 9733caf10f debugger: Update screen before entering REPL 2025-03-05 16:01:56 +09:00
kichikuou ae5592a35b pms: Fix palette mask handling
The PMS palette mask is 16 bits, not 8 bits. This fixes a color issue in
Rance 4.1.
2025-03-05 15:13:08 +09:00
kichikuou d97d49dbe7 Fix Y103 command (play_pcm)
* The parameter is the number of times to loop, e.g. Y103,2: will play
  the sound twice. This still does not work on Windows because
  PlaySound() does not support specifying the loop count.
* Get AMSE data size from its header. This fixes audio glitch at the end
  of sounds.
2025-03-04 15:59:22 +09:00
kichikuou c0d8566dbd AGS: Refresh screen when palette is changed by CG loading 2025-02-22 22:26:18 +09:00
kichikuou 446d34132a AGS: Defer texture update until update_screen() 2025-02-22 15:24:27 +09:00
kichikuou 71bc53e9b1 README: Fix build instructions for MSYS2 2025-02-12 10:00:38 +09:00
kichikuou 3f55a90c64 AGS: Remove intermediate screen buffer
Pixels are now copied directly from the 8-bit buffer to the texture.
2025-02-10 07:38:45 +09:00
kichikuou bf9742533f AGS: Move scroll handling to update_screen()
This fixes an out-of-bounds access bug when scroll > 400.
2025-02-09 14:42:52 +09:00
kichikuou b1dfc57e9b AGS: Refactor palette loading logic 2025-02-09 11:06:37 +09:00
kichikuou ec316da713 Fix potential buffer overrun in mako_ymfm.cpp 2025-02-08 16:31:03 +09:00
kichikuou c205806d7b Fix header include paths 2025-02-08 12:55:14 +09:00
kichikuou 2827c79bda emscripten: xsystem35.audio.pcm_load_data() now returns bool 2025-02-02 14:45:23 +09:00
kichikuou 206ba0c961 Version 1.5.0 v1.5.0 2025-01-20 11:03:38 +09:00
kichikuou 839984653c Update README.md 2025-01-20 10:56:35 +09:00
kichikuou 065b34dd08 CI: Package MSYS2 build 2025-01-20 10:10:48 +09:00
kichikuou 9189bff16d Windows: Change app icon
To make it easier to distinguish from System3 for Win32.
2025-01-20 10:09:28 +09:00
kichikuou 7cb5bc7426 MSYS2 build: Use static linking 2025-01-20 08:18:38 +09:00
kichikuou aae15c34e1 AGS: Update draw_push() to use draw_gaiji() 2025-01-19 11:09:00 +09:00
kichikuou 43d1af3a44 AGS: Refactor text layout logic 2025-01-19 10:41:14 +09:00
kichikuou ff00165f47 AGS: Refactor Box struct 2025-01-18 15:37:15 +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 11a366005f AGS: Refactor VRAM accessors 2025-01-17 15:13:32 +09:00
kichikuou 1673a5eb3c AGS: Refactor palette management to use SDL_Palette 2025-01-17 13:47:10 +09:00
kichikuou 12e7804d9f AGS: Use SDL drawing functions 2025-01-17 10:58:50 +09:00
kichikuou ca2ca7276f AGS: Use SDL_Surface to save / restore screen 2025-01-17 10:58:50 +09:00
kichikuou 33418f8cb5 AGS: Make VRAM 8 bits per pixel
Before this, the virtual VRAM was 32 bits per pixel, with each pixel
holding an 8-bit index color or 0x80RRGGBB. The latter was for Ayumi-
chan Monogatari Jisshaban, which has been unsupported since system3-sdl2
was forked from System3 for Win32.

This change removes the 0x80RRGGBB format and makes the virtual VRAM 8
bits per pixel.
2025-01-17 10:58:46 +09:00
kichikuou 7f0bae6f74 Remove unnecessary SDL_{Lock,Unlock}Surface calls 2025-01-16 15:26:19 +09:00
kichikuou d12c1575e0 emscripten: Notify shell of game ID 2025-01-16 10:38:09 +09:00
kichikuou 9afb81ed7e README.md: Sort the game id list (roughly) alphabetically 2025-01-11 13:30:49 +09:00
kichikuou fad7a843f0 Add NACT_Rance4 and NACT_Toushin2
These games are still unsupported, but at least they should not crash
due to command parsing errors.
2025-01-11 13:27:18 +09:00
kichikuou 4f4077a9c8 Add game IDs for unsupported titles 2025-01-11 11:47:19 +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 ccd06e4b84 Version 1.4.0 v1.4.0 2025-01-04 16:26:50 +09:00
kichikuou 0e2025a347 Merge pull request #33 from kichikuou/rance2
Add support for Rance 2 Hint Disk
2025-01-04 16:20:37 +09:00
kichikuou 721679e387 README: Add rance2 and rance2_hint to the game ID table 2025-01-04 09:36:20 +09:00
kichikuou 37273534cc Set text/menu box locations for Rance 2
Contributed by @RottenBlock.
2025-01-04 08:34:28 +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 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 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 a7dbdd0510 windows: Set up console if CLI debugger is enabled 2025-01-03 09:21:09 +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 d771352346 Fix typo 2025-01-02 21:32:19 +09:00
kichikuou edb48f2513 Send warnings to DAP client 2025-01-02 16:53:27 +09:00