Commit Graph
527 Commits
Author SHA1 Message Date
kichikuou bce04adf82 Do not include SDL.h from common.h 2025-06-06 15:04:35 +09:00
kichikuou 7f527da74f nact: Change tvar from char array to std::string 2025-06-06 14:51:38 +09:00
kichikuou aef2822bc4 Add <stdint.h> include
This fixes #35.
2025-06-06 13:46:31 +09:00
kichikuou 8a88a5c06e Remove int{8,16,32} typedefs 2025-06-06 13:46:31 +09:00
kichikuou fca8cb15a8 Version 1.6.1 v1.6.1 2025-06-06 09:43:21 +09:00
kichikuou 6e959be871 Fix MSVS build 2025-06-06 09:41:11 +09:00
kichikuou e1287e5b86 load_pms: Abort decoding when pixel data is insufficient
This fixes https://github.com/kichikuou/system3-sdl2/issues/34.

Some PMS in Rance 4.1/4.2 fan English translation have one less row of
pixel data than image height.

When such data is encountered, decoding stops. The image rows decoded
up to that point are transferred to VRAM.
2025-06-06 09:31:03 +09:00
kichikuou 073da3464b AGS: Refactor CG loading functions to take std::vector<uint8_t>& 2025-06-06 07:32:56 +09:00
kichikuou 734a77c1f0 Version 1.6.0 v1.6.0 2025-04-26 08:17:51 +09:00
kichikuou d5de8b18b8 Enable Y 240 (draw_hankaku) in System2 2025-04-24 21:00:38 +09:00
kichikuou 04deb9061a README.md: Add Compatibility section 2025-04-23 12:42:47 +09:00
kichikuou cc528619dd s2utbl.h: Add PC-98 box-drawing characters
<0x86A2> (U+2500, BOX DRAWINGS LIGHT HORIZONTAL) is used in Funny Bee
and Only You.

Note that these are not part of CP932, so they should not be added to
the unicode table of xsystem35/xsys35c.

This also makes the tables const.
2025-04-23 12:42:47 +09:00
kichikuou 071c9bc062 emscripten: Export HEAPU8 and HEAP16
Used in Kichikou on Web shell.
2025-04-21 10:14:37 +09:00
kichikuou 4d61c84482 Move game compatibility table to game_compatibility.md 2025-04-13 08:59:41 +09:00
kichikuou 6e84b73064 Update android/README.md 2025-04-10 10:40:21 +09:00
kichikuou aedfa185c7 Android: Move "Install from ZIP" to options menu and add help message
For consistency with xsystem4-android.
2025-04-10 10:11:33 +09:00
kichikuou f6bc689fcb Android: Support audio file names prefixed with track numbers 2025-04-10 09:27:44 +09:00
kichikuou a7e1c5c32e Version 1.5.1 v1.5.1 2025-03-23 14:31:30 +09:00
kichikuou 29770d7091 Android: Upgrade AGP to 8.7.3 and bump minSdkVersion to 21
So that it builds with the latest Android Studio.
2025-03-08 09:18:25 +09:00
kichikuou 258f63e98c Android/Windows: Update SDL to 2.32.2 2025-03-06 10:50:18 +09:00
kichikuou 2ff7156b4e Android: Remove 3-finger-touch menu 2025-03-06 08:55:01 +09:00
kichikuou c8ef298c56 Add quit confirmation dialog
On Android, the back button opens the dialog.
2025-03-06 08:54:57 +09:00
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