kichikuou
b5010df10d
Add helper functions for number formatting
...
And use it from H, HH, MH, and MHH commands.
2020-07-24 17:06:30 +09:00
kichikuou
fc5f89912e
Fix zen2han
...
To match the behavior of "ZH 1" in System 3.9.
2020-07-24 16:30:03 +09:00
kichikuou
70ea305ca9
Refactor hankaku.c
2020-07-24 16:17:18 +09:00
kichikuou
b4eb18c938
Add test for hankaku.c
2020-07-24 15:42:48 +09:00
kichikuou
b9e0d97156
Fix utf2sjis() for KATAKANA MIDDLE DOT character
2020-07-24 14:53:59 +09:00
kichikuou
350d8bb367
Remove unused sys_getConvString()
2020-07-24 13:21:48 +09:00
kichikuou
fb10cbc52d
Add unittest.h with some assertion macros
2020-07-24 12:46:14 +09:00
kichikuou
55976a5816
Merge hankana2sjis.c into hankaku.c
2020-07-24 11:30:07 +09:00
kichikuou
827f98d24a
Remove ttfont_{gothic,mincho}_code .xys35rc parameters
...
These are no longer effective as we have dropped SJIS charmap support.
This also removes the codeconv field from FONT struct.
2020-07-24 10:00:43 +09:00
kichikuou
50b3812364
Convert gametitle.h to utf-8
2020-07-23 22:50:43 +09:00
kichikuou
616534621e
Fix ShString.ExchangeString
...
And add a test.
2020-07-23 18:08:58 +09:00
kichikuou
1f5ec7a9a9
Simplify string functions
2020-07-23 17:04:37 +09:00
kichikuou
d15c770b4b
Fix strGetCharType and strGetLengthASCII
2020-07-23 16:55:49 +09:00
kichikuou
60bb70c456
Fix strCheckASCII and strCheckSJIS
...
They were referencing wrong string variables.
2020-07-23 16:36:03 +09:00
kichikuou
52322345b5
Fix MG7 command
...
This fixes a regression bug introduced by 86470e5 .
2020-07-23 16:31:35 +09:00
kichikuou
66693ad39a
font_freetype2: Drop support for SJIS character map
...
Nowadays, it's safe to assume that fonts have a Unicode character map.
2020-07-23 15:01:46 +09:00
kichikuou
73fab9b628
Remove unused functions in utfsjis.c
2020-07-23 13:53:25 +09:00
kichikuou
bdfe0e8077
Remove sjis2lang and lang2sjis macros
...
There's no plan to use any other "native" character encodings than
UTF-8.
2020-07-23 13:53:08 +09:00
kichikuou
03f8af2241
Simplify registerGameFiles()
2020-07-12 14:25:34 +09:00
kichikuou
c03b6cf6b5
Embed GameResource in NACTINFO
2020-07-12 14:17:31 +09:00
kichikuou
1a3b779ace
Use const strings for file names
2020-07-12 13:41:57 +09:00
kichikuou
4c58510a37
CMake: Introduce src_lib library
...
To avoid compiling test targets twice.
2020-07-12 13:01:31 +09:00
kichikuou
b4c729a1f6
initGameResourceFromDir: Detect non-{ald,ain} files too
...
Now BGI, WAI and other files can be used without writing a .gr file.
2020-07-12 12:09:01 +09:00
kichikuou
daf5098530
Add test for initGameResourceFromDir
2020-07-12 11:46:39 +09:00
kichikuou
3d70d00bce
Add unit test for gameresource.c
2020-07-11 19:12:45 +09:00
kichikuou
f2fbf54c32
Move registerGameFiles to xsystem35.c
2020-07-11 18:34:27 +09:00
kichikuou
b4d2c0832e
Clean up gameresource.c
2020-07-11 18:34:24 +09:00
kichikuou
d777b18b55
Game Resource: Allow file names containing spaces
2020-07-11 18:23:39 +09:00
kichikuou
7b3efd9aaa
Move *.gr reader code to gameresource.c
2020-07-11 18:22:05 +09:00
Nunuhara Cabbage
aa87e3e8c0
Fix segfault when non-existent font specified
2020-07-10 23:43:46 -07:00
kichikuou
1cd949f597
CMake: Fix X11 + SDL_mixer build
...
Stop using SDL2_FOUND to determine if SDL2 should be used or not,
because it may be defined as a side effect of
pkg_check_modules(SDL2_mixer).
2020-06-27 15:05:56 +09:00
kichikuou
426cdaa836
Fix compatibility issues around maximum index of array variables
...
The second argument of DC command specifies the maximum index of the new
array. That means, `DC _,n,_:` allocates an array of size n+1 (a[0] to
a[n]).
This patch makes sure various D commands work with a[n], and a[n] is
correctly saved and loaded.
Now loadSysVar() does not shrink array variables using the data count in
the save file, so that files saved by old xsystem35 binary can be safely
loaded. This also matches the behavior of System3.9.
2020-06-27 13:16:22 +09:00
kichikuou
8db5a9cd65
Implement text decoration type 4 and 10
2020-06-21 11:10:19 +09:00
kichikuou
47f82e87c5
Add guards against incomplete SJIS bytes
2020-06-21 09:49:13 +09:00
kichikuou
86470e543a
Rework string variables
...
- strVar is now allocated as a vector of indefinite length buffers
rather than a single contiguous buffer.
- Strings can be any length, but truncated to (strvar_len * 2) bytes
when saved to a file, for backward compatibility.
- Now string commands treat 1-byte characters in the same way as System
3.9. This potentially fixes bugs in English translated games.
2020-06-20 22:29:22 +09:00
kichikuou
1cf197513c
Use const strings in message related functions
2020-06-20 10:53:38 +09:00
kichikuou
7309ed012f
Make DspDeviceSync no-op in SDL graphics
2020-06-18 21:49:51 +09:00
kichikuou
515a92544b
getCaliValue: Recover from out-of-bounds index access
...
Before this, array access caused stack underflow if the index was out of
range. After this, such index access will be evaluated to zero.
2020-06-14 22:43:17 +09:00
kichikuou
725b0ee6ab
Prevent buffer overrun by DF command
2020-06-14 22:09:14 +09:00
kichikuou
e17b447e73
Cleanup variable lookup code
...
No behavior changes.
2020-06-14 21:54:11 +09:00
kichikuou
a217df39b1
Fix compiler warnings on Windows
...
On Windows, jpeglib.h includes windows.h which defines several macros
that conflict with ours.
2020-06-14 14:23:40 +09:00
kichikuou
80266d6454
Support JPEG image format
...
JPEG images are not used in AliceSoft games, but supported since System3.6
version 3.23 and used in some third-party games (e.g. Graymerca).
2020-06-14 14:16:19 +09:00
kichikuou
2e17188f2b
Fix DI command and add tests
2020-06-13 15:46:45 +09:00
kichikuou
3fd7a58544
Android: Use filtered scaling
...
This improves text readability, especially for the Mincho font.
2020-06-07 12:55:16 +09:00
kichikuou
9a1f1c77a6
Static link DLL modules
...
We only support a fixed set of modules, so dynamic linking isn't really
necessary. This paves the way for running System3.9 games on more
platforms.
NIGHTDLL is temporarily disabled, because many symbols conflict with the
SACT module.
2020-06-04 19:56:05 +09:00
kichikuou
0351f4cbcd
Do not use tab characters in CMakeLists.txt
2020-05-30 09:33:01 +09:00
kichikuou
f1eed8f2af
Convert music.c and music_private.h to UTF-8
...
These files were removed at the time of the batch conversion to UTF-8,
and then re-added in EUC-JP encoding.
2020-05-29 23:15:47 +09:00
kichikuou
697c15854a
Update emscripten to 1.39.16
2020-05-29 22:24:10 +09:00
kichikuou
70a03ff02f
s2utbl.h: Map [82 f2] to U+3094 (HIRAGANA LETTER VU)
...
This character is used in Prostudent Good. (Although MTLc3m.ttf does not
have a glyph for it...)
This also makes the table const.
2020-05-10 22:26:04 +09:00
kichikuou
ea5776108a
Fix voice playback in Escalayer
...
- Make sure muspcm_getpos() returns non-zero while playing
- Implement mus_wav_fadeout_start()
- Fix a bug of ssnd_waitkey()
2020-05-06 15:11:00 +09:00