Commit graph

1939 commits

Author SHA1 Message Date
刘皓
215046d8b4
Only use extern in embedtool.cpp if language is C++
In C, variables defined as `const` have external linkage.

In C++, variables defined as `const` have internal linkage, and we need
to define them as `extern const` for them to have external linkage like
in C.

However, in C, defining a variable as `extern const` throws a compiler
error, so we need to add `extern` only for C++ files.
2025-05-10 10:47:19 -04:00
刘皓
54d915860f
Fix some bugs in the ME watch thread
* BGM track streams should be locked while `extPaused` is being modified
* All BGM track streams should be locked in the `BgmFadingOut` phase
  since we need to query the states of all tracks in the middle of the
  loop
* BGM tracks should have `extPaused` set to false if the ME ends in the
  middle of the `BgmFadingOut` phase
2025-05-10 09:59:56 -04:00
刘皓
b0e051b816
Merge branch 'dev' into misc-fixes 2025-05-02 14:56:31 -04:00
Splendide Imaginarius
4bf2d9e02c
Merge pull request #240 from white-axe/cmake4
Fix builds with CMake 4
2025-05-02 17:43:29 +00:00
刘皓
97235e068a
Use environment variable to set CMake policy instead of -D flag
This applies recursively unlike the other method.
2025-05-01 17:55:38 -04:00
Splendide Imaginarius
c9096e42ee
Merge pull request #237 from white-axe/macos
Fix macOS builds with Xcode 15 or later
2025-05-01 20:58:30 +00:00
刘皓
8d1bcd124e
Fix possible buffer overflow in stringify bindings for Color and Tone 2025-04-26 18:14:23 -04:00
刘皓
8bae6e65db
Merge branch 'dev' into misc-fixes 2025-04-15 23:16:06 -04:00
Splendide Imaginarius
8243ee53e9
Merge pull request #242 from Splendide-Imaginarius/mkxp-z-matrix
Some checks failed
Automatic Build / Ubuntu 22.04 x86_64 (push) Failing after 3s
Automatic Build / Ubuntu 22.04 arm64 (push) Failing after 2s
Automatic Build / Ubuntu 22.04 armv6 (push) Failing after 2s
Automatic Build / Ubuntu 22.04 armv7 (push) Failing after 2s
Automatic Build / Ubuntu 22.04 armv7-neon (push) Failing after 2s
Automatic Build / Ubuntu 22.04 power8le (push) Failing after 2s
Automatic Build / Ubuntu 22.04 power9le (push) Failing after 2s
Automatic Build / Ubuntu 22.04 riscv64 (push) Failing after 2s
Automatic Build / Ubuntu 22.04 s390x (push) Failing after 3s
Automatic Build / Windows (push) Has been cancelled
Automatic Build / macOS (push) Has been cancelled
README: Link to Matrix space
2025-04-16 01:58:24 +00:00
Splendide Imaginarius
8f3fbd972d README: Link to Matrix space
Fixes https://github.com/mkxp-z/mkxp-z/issues/85
2025-04-16 01:16:26 +00:00
刘皓
8277390e13
Move embedtool.cpp into tools directory 2025-04-15 12:20:22 -04:00
刘皓
479789198a
Merge branch 'dev' into macos 2025-04-12 19:19:49 -04:00
刘皓
3625ab9989
Merge branch 'dev' into misc-fixes 2025-04-11 12:46:48 -04:00
Splendide Imaginarius
737aed0330
Merge pull request #239 from white-axe/vorbis
Use CMake instead of Autotools for building Vorbis
2025-04-11 05:29:45 +00:00
刘皓
e607ee9107
Switch back to mkxp-z/vorbis 2025-04-04 10:11:18 -04:00
刘皓
93c3e972d5
Fix builds with CMake 4 2025-04-02 13:09:41 -04:00
刘皓
5def22150a
Use CMake instead of Autotools for building Vorbis
(cherry picked from commit e10c7bee0d)
2025-03-30 11:58:34 -04:00
刘皓
ec780afe5b
Revert "Update Ruby from 3.1.3 to 3.1.7"
This reverts commit 0f24e806bb.
2025-03-28 17:12:53 -04:00
刘皓
0f24e806bb
Update Ruby from 3.1.3 to 3.1.7 2025-03-28 12:39:46 -04:00
刘皓
74673ae7ca
Fix typo: $(DOWNLOADS)/vorbis/Makefile should be $(DOWNLOADS)/vorbis/cmakebuild/Makefile 2025-03-25 11:21:47 -04:00
刘皓
e10c7bee0d
Use CMake instead of Autotools for building Vorbis 2025-03-24 21:10:10 -04:00
刘皓
6290703847
Avoid out-of-bounds array access in tilemap shader
This breaks the shader on my Android device. When `atIndex` is out of
bounds, `atFrames[atIndex]` evaluates to 0 and so
`aniIndex / atFrames[atIndex]` results in division by 0. All of the
tiles where this division by 0 occurs are blank on my Android device.
That probably means the shader pipeline halts when division by 0 occurs.
2025-03-20 14:26:37 -04:00
刘皓
cb302d2475
Fix implementation of OBJ_INIT_COPY for Ruby < 1.9 2025-03-18 18:41:28 -04:00
刘皓
fd08583edd
Merge branch 'dev' into misc-fixes 2025-03-18 18:27:28 -04:00
Splendide Imaginarius
68a344afcf
Merge pull request #236 from white-axe/endian
Some checks failed
Automatic Build / Ubuntu 22.04 x86_64 (push) Failing after 40s
Automatic Build / Ubuntu 22.04 armv7 (push) Failing after 34s
Automatic Build / Ubuntu 22.04 arm64 (push) Failing after 39s
Automatic Build / Ubuntu 22.04 armv6 (push) Failing after 37s
Automatic Build / Ubuntu 22.04 armv7-neon (push) Failing after 3s
Automatic Build / Ubuntu 22.04 power8le (push) Failing after 3s
Automatic Build / Ubuntu 22.04 power9le (push) Failing after 3s
Automatic Build / Ubuntu 22.04 riscv64 (push) Failing after 3s
Automatic Build / Ubuntu 22.04 s390x (push) Failing after 3s
Automatic Build / Windows (push) Has been cancelled
Automatic Build / macOS (push) Has been cancelled
Implement serialization for big-endian platforms
2025-03-16 07:37:04 +00:00
刘皓
7182a57fe1
Use std::ios::binary mode in embedtool.cpp
Required for it to work properly on Windows.
2025-03-03 10:41:01 -05:00
刘皓
22d2a7db08
Add clangd cache directory to .gitignore 2025-03-02 16:33:33 -05:00
刘皓
5be1f6962e
Explicitly request 7-character Git hash in meson.build
It seems the length of the hash generated by
`git rev-parse --short HEAD` is nondeterministic. GitHub Actions
generates 7-character hashes, while my computer currently generates
8-character hashes. To be consistent, I'm forcing the hashes to be 7
characters long.
2025-02-28 00:40:32 -05:00
刘皓
923b054fad
Define as extern const instead of const in embedtool.cpp 2025-02-28 00:30:40 -05:00
刘皓
5c0e06eaf4
Use vcs_tag to get Git version instead of run_command
This way Meson will automatically keep the Git hash updated as you make
new Git commits, rather than forcing you to reconfigure the build again
every time you make a new commit to keep the commit hash updated.

(cherry picked from commit b9bb3535ae)
2025-02-27 23:41:40 -05:00
刘皓
f162e8a494
Replace xxd with a custom executable
This removes the need to have xxd installed and provides a portable way
to specify the name of the output array (xxd has an `-n` option for
this, but it isn't present in older versions of xxd), which helps reduce
the possibility of symbol conflicts in libretro builds and also prevents
portability issues since the name of xxd's output array depends on the
relative path to the input file, which can break if Meson changes the
structure of the build directory or if the user sets the build directory
to a different location.

Also, this custom executable declares the array as const so that it goes
into the read-only data section of the binary instead of the data
section.
2025-02-27 22:55:22 -05:00
刘皓
ceea260b82
Make the xxd command in shader/meson.build less fragile 2025-02-18 22:58:58 -05:00
Eblo
8f7b6c1962
Remove entire line for DYLD_INSERT_LIBRARIES
(cherry picked from commit 27c66a802ec11e90972bfc8135db47866caf0b01)
2025-02-16 23:46:09 -05:00
Eblo
06f7572eb7
Actually use mkxp-z Ruby fork for macOS
(cherry picked from commit 1d0921c8819a9b6ccfab84bf001eeb954f38f359)
2025-02-16 23:46:02 -05:00
Eblo
c99d8b0bba
Fix Ruby and Vorbis at the Makefile level
(cherry picked from commit edd115a32020f8ff84fbcfb170b3806cb52feda2)
2025-02-16 23:45:45 -05:00
Eblo
dceb81aa77
Attempt to fix macOS autobuild
(cherry picked from commit 2cb0a75e57d6149c12c653914473d5ff556260fe)
2025-02-16 23:43:30 -05:00
刘皓
79f9108748
Merge branch 'base' into misc-fixes 2025-02-14 12:24:47 -05:00
刘皓
852db6233c
Upgrade actions to v4
No need for double-zipping anymore since the upload artifact action
preserves +x permissions now.

(cherry picked from commit 0f6611f19f)
2025-02-14 12:24:00 -05:00
刘皓
0f6611f19f
Upgrade actions to v4
No need for double-zipping anymore since the upload artifact action
preserves +x permissions now.
2025-02-10 21:25:46 -05:00
刘皓
d7cd4ff3ae
Implement serialization for big-endian platforms 2025-02-10 18:58:47 -05:00
刘皓
dc798d4611
Fix typo in otherDirs in src/input/input.cpp 2025-02-07 13:47:07 -05:00
Splendide Imaginarius
711f9a4553
Merge pull request #158 from Nathan-MV/plugin-script
Some checks failed
Automatic Build / Ubuntu 22.04 x86_64 (push) Failing after 5s
Automatic Build / Ubuntu 22.04 arm64 (push) Failing after 3s
Automatic Build / Ubuntu 22.04 armv6 (push) Failing after 3s
Automatic Build / Ubuntu 22.04 armv7 (push) Failing after 2s
Automatic Build / Ubuntu 22.04 power8le (push) Failing after 2s
Automatic Build / Ubuntu 22.04 armv7-neon (push) Failing after 2s
Automatic Build / Ubuntu 22.04 power9le (push) Failing after 2s
Automatic Build / Ubuntu 22.04 riscv64 (push) Failing after 2s
Automatic Build / Ubuntu 22.04 s390x (push) Failing after 2s
Automatic Build / Windows (push) Has been cancelled
Automatic Build / macOS (push) Has been cancelled
Postload Scripts
2024-10-26 19:41:41 +00:00
Nathan-MV
17f9ec9c19 postload scripts 2024-10-26 14:24:32 +00:00
Splendide Imaginarius
cd8f1c28d3
Merge pull request #169 from Splendide-Imaginarius/mkxp-z-lanczos-short-circuit-part2
Bitmap: short-circuit shader interpolation
2024-10-23 23:59:05 +00:00
Splendide Imaginarius
7e9937b80f Bitmap: short-circuit shader/bilinear interpolation
Benchmark shows a speedup from 10.4s to 4.1s.
2024-10-23 22:36:00 +00:00
Splendide Imaginarius
1114671567
Merge pull request #88 from Nathan-MV/pr-symphony
Parse CSV - rapidcsv
2024-10-23 03:33:31 +00:00
Nathan-MV
48955ab120 update rapidcsv header 2024-10-05 12:50:03 +00:00
Nathan-MV
f27018912c fix conflicts with #207 2024-09-29 11:51:23 +00:00
Snowdream
d4bf2123a9 T++ CSVs do not have headers, don't try to read 'em 2024-09-29 11:43:30 +00:00
Snowdream
ab2f477031 Correctly parse CSVs with newlines within quoted strings 2024-09-29 11:43:30 +00:00