Merge branch 'dev' into autobuild

This commit is contained in:
Struma 2023-05-08 10:59:21 -04:00
commit d958d5a0bf
20 changed files with 341 additions and 211 deletions

View file

@ -13,7 +13,7 @@ jobs:
- uses: benjlevesque/short-sha@v2.2 - uses: benjlevesque/short-sha@v2.2
id: short-sha id: short-sha
with: with:
length: 6 length: 7
- uses: msys2/setup-msys2@v2 - uses: msys2/setup-msys2@v2
with: with:
@ -82,7 +82,7 @@ jobs:
- uses: benjlevesque/short-sha@v2.2 - uses: benjlevesque/short-sha@v2.2
id: short-sha id: short-sha
with: with:
length: 6 length: 7
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v3 uses: actions/checkout@v3
@ -129,7 +129,13 @@ jobs:
- uses: benjlevesque/short-sha@v2.2 - uses: benjlevesque/short-sha@v2.2
id: short-sha id: short-sha
with: with:
length: 6 length: 7
- name: Remove pre-existing homebrew packages
run: |
export PKGS=$(brew list)
echo "$PKGS"
brew remove --force $PKGS
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v3 uses: actions/checkout@v3
@ -151,7 +157,7 @@ jobs:
- name: Build all dependencies - name: Build all dependencies
run: | run: |
cd macos/Dependencies cd macos/Dependencies
./setup ./setup.sh
- name: Build app - name: Build app
run: | run: |

View file

@ -164,7 +164,7 @@ $(DOWNLOADS)/physfs/cmakebuild/Makefile: $(DOWNLOADS)/physfs/CMakeLists.txt
$(CMAKE) -DPHYSFS_BUILD_STATIC=true -DPHYSFS_BUILD_SHARED=false $(CMAKE) -DPHYSFS_BUILD_STATIC=true -DPHYSFS_BUILD_SHARED=false
$(DOWNLOADS)/physfs/CMakeLists.txt: $(DOWNLOADS)/physfs/CMakeLists.txt:
$(CLONE) $(GITHUB)/mkxp-z/physfs $(DOWNLOADS)/physfs $(CLONE) $(GITHUB)/mkxp-z/physfs -b release-3.2.0 $(DOWNLOADS)/physfs
# libpng # libpng
libpng: init_dirs $(LIBDIR)/libpng.a libpng: init_dirs $(LIBDIR)/libpng.a
@ -198,19 +198,17 @@ $(DOWNLOADS)/libjpeg/CMakeLists.txt:
# SDL2 # SDL2
sdl2: init_dirs $(LIBDIR)/libSDL2.a sdl2: init_dirs $(LIBDIR)/libSDL2.a
$(LIBDIR)/libSDL2.a: $(DOWNLOADS)/sdl2/Makefile $(LIBDIR)/libSDL2.a: $(DOWNLOADS)/sdl2/cmakebuild/Makefile
cd $(DOWNLOADS)/sdl2/cmakebuild; \
make -j$(NPROC); make install
$(DOWNLOADS)/sdl2/cmakebuild/Makefile: $(DOWNLOADS)/sdl2/CMakeLists.txt
cd $(DOWNLOADS)/sdl2; \ cd $(DOWNLOADS)/sdl2; \
make -j$(NPROC); make install; mkdir cmakebuild; cd cmakebuild; \
$(CMAKE) -DBUILD_SHARED_LIBS=no
$(DOWNLOADS)/sdl2/Makefile: $(DOWNLOADS)/sdl2/configure $(DOWNLOADS)/sdl2/CMakeLists.txt:
cd $(DOWNLOADS)/sdl2; \ $(CLONE) $(GITHUB)/mkxp-z/SDL $(DOWNLOADS)/sdl2 -b mkxp-z-2.26
$(CONFIGURE) --enable-static=true --enable-shared=false $(SDL_FLAGS)
$(DOWNLOADS)/sdl2/configure: $(DOWNLOADS)/sdl2/autogen.sh
cd $(DOWNLOADS)/sdl2; ./autogen.sh
$(DOWNLOADS)/sdl2/autogen.sh:
$(CLONE) $(GITHUB)/mkxp-z/SDL $(DOWNLOADS)/sdl2 -b mkxp-z; cd $(DOWNLOADS)/sdl2
# SDL2 (Image) # SDL2 (Image)
sdl2image: init_dirs sdl2 libpng libjpeg $(LIBDIR)/libSDL2_image.a sdl2image: init_dirs sdl2 libpng libjpeg $(LIBDIR)/libSDL2_image.a
@ -325,15 +323,18 @@ $(DOWNLOADS)/openssl/Configure:
$(CLONE) $(GITHUB)/openssl/openssl $(DOWNLOADS)/openssl --single-branch --branch OpenSSL_1_1_1i --depth 1 $(CLONE) $(GITHUB)/openssl/openssl $(DOWNLOADS)/openssl --single-branch --branch OpenSSL_1_1_1i --depth 1
# Standard ruby # Standard ruby
ruby: init_dirs openssl $(BUILD_PREFIX)/libruby.so.3.1 ruby: init_dirs openssl $(LIBDIR)/libruby.so.3.1
$(BUILD_PREFIX)/libruby.so.3.1: $(DOWNLOADS)/ruby/Makefile $(LIBDIR)/libruby.so.3.1: $(DOWNLOADS)/ruby/Makefile
cd $(DOWNLOADS)/ruby; \ cd $(DOWNLOADS)/ruby; \
make -j$(NPROC); make install make -j$(NPROC); make install
$(DOWNLOADS)/ruby/Makefile: $(DOWNLOADS)/ruby/configure $(DOWNLOADS)/ruby/Makefile: $(DOWNLOADS)/ruby/configure
cd $(DOWNLOADS)/ruby; \ cd $(DOWNLOADS)/ruby; \
$(CONFIGURE) $(RUBY_CONFIGURE_ARGS) $(RUBY_FLAGS) export $(CONFIGURE_ENV); \
export CFLAGS="-flto $$CFLAGS"; \
export LDFLAGS="-flto $$LDFLAGS"; \
./configure $(CONFIGURE_ARGS) $(RUBY_CONFIGURE_ARGS) $(RUBY_FLAGS)
$(DOWNLOADS)/ruby/configure: $(DOWNLOADS)/ruby/*.c $(DOWNLOADS)/ruby/configure: $(DOWNLOADS)/ruby/*.c
cd $(DOWNLOADS)/ruby; autoreconf -i cd $(DOWNLOADS)/ruby; autoreconf -i

View file

@ -1,4 +1,3 @@
SDK := macosx
ARCH := arm64 ARCH := arm64
HOST := aarch64-apple-darwin HOST := aarch64-apple-darwin
MINIMUM_REQUIRED := 11.0 MINIMUM_REQUIRED := 11.0

View file

@ -1,14 +1,13 @@
SDKROOT := $(shell xcrun -sdk $(SDK) --show-sdk-path) TARGETFLAGS := $(TARGETFLAGS) -mmacosx-version-min=$(MINIMUM_REQUIRED)
TARGETFLAGS := $(TARGETFLAGS) -m$(SDK)-version-min=$(MINIMUM_REQUIRED) DEPLOYMENT_TARGET_ENV := MACOSX_DEPLOYMENT_TARGET=$(MINIMUM_REQUIRED)
DEPLOYMENT_TARGET_ENV := $(shell ruby -e 'puts "$(SDK)".upcase')_DEPLOYMENT_TARGET=$(MINIMUM_REQUIRED) BUILD_PREFIX := ${PWD}/build-macosx-$(ARCH)
BUILD_PREFIX := ${PWD}/build-$(SDK)-$(ARCH)
LIBDIR := $(BUILD_PREFIX)/lib LIBDIR := $(BUILD_PREFIX)/lib
INCLUDEDIR := $(BUILD_PREFIX)/include INCLUDEDIR := $(BUILD_PREFIX)/include
DOWNLOADS := ${PWD}/downloads/$(HOST) DOWNLOADS := ${PWD}/downloads/$(HOST)
NPROC := $(shell sysctl -n hw.ncpu) NPROC := $(shell sysctl -n hw.ncpu)
CFLAGS := -I$(INCLUDEDIR) $(TARGETFLAGS) $(DEFINES) -O3 CFLAGS := -I$(INCLUDEDIR) $(TARGETFLAGS) $(DEFINES) -O3
LDFLAGS := -L$(LIBDIR) LDFLAGS := -L$(LIBDIR)
CC := xcrun -sdk $(SDK) clang -arch $(ARCH) -isysroot $(SDKROOT) CC := clang -arch $(ARCH)
PKG_CONFIG_LIBDIR := $(BUILD_PREFIX)/lib/pkgconfig PKG_CONFIG_LIBDIR := $(BUILD_PREFIX)/lib/pkgconfig
GIT := git GIT := git
CLONE := $(GIT) clone -q CLONE := $(GIT) clone -q
@ -34,7 +33,6 @@ CONFIGURE_ARGS := \
CMAKE_ARGS := \ CMAKE_ARGS := \
-DCMAKE_INSTALL_PREFIX="$(BUILD_PREFIX)" \ -DCMAKE_INSTALL_PREFIX="$(BUILD_PREFIX)" \
-DCMAKE_PREFIX_PATH="$(BUILD_PREFIX)" \ -DCMAKE_PREFIX_PATH="$(BUILD_PREFIX)" \
-DCMAKE_OSX_SYSROOT=$(SDKROOT) \
-DCMAKE_OSX_ARCHITECTURES=$(ARCH) \ -DCMAKE_OSX_ARCHITECTURES=$(ARCH) \
-DCMAKE_OSX_DEPLOYMENT_TARGET=$(MINIMUM_REQUIRED) \ -DCMAKE_OSX_DEPLOYMENT_TARGET=$(MINIMUM_REQUIRED) \
-DCMAKE_C_FLAGS="$(CFLAGS)" \ -DCMAKE_C_FLAGS="$(CFLAGS)" \
@ -50,6 +48,7 @@ RUBY_CONFIGURE_ARGS := \
--with-out-ext=fiddle,gdbm,win32ole,win32 \ --with-out-ext=fiddle,gdbm,win32ole,win32 \
--with-static-linked-ext \ --with-static-linked-ext \
--disable-rubygems \ --disable-rubygems \
--without-gmp \
--disable-install-doc \ --disable-install-doc \
--build=$(RBUILD) \ --build=$(RBUILD) \
${EXTRA_RUBY_CONFIG_ARGS} ${EXTRA_RUBY_CONFIG_ARGS}
@ -161,7 +160,7 @@ $(DOWNLOADS)/physfs/cmakebuild/Makefile: $(DOWNLOADS)/physfs/CMakeLists.txt
$(CMAKE) -DPHYSFS_BUILD_STATIC=true -DPHYSFS_BUILD_SHARED=false $(CMAKE) -DPHYSFS_BUILD_STATIC=true -DPHYSFS_BUILD_SHARED=false
$(DOWNLOADS)/physfs/CMakeLists.txt: $(DOWNLOADS)/physfs/CMakeLists.txt:
$(CLONE) $(GITHUB)/mkxp-z/physfs $(DOWNLOADS)/physfs $(CLONE) $(GITHUB)/mkxp-z/physfs -b release-3.2.0 $(DOWNLOADS)/physfs
# libpng # libpng
libpng: init_dirs $(LIBDIR)/libpng.a libpng: init_dirs $(LIBDIR)/libpng.a
@ -181,20 +180,17 @@ $(DOWNLOADS)/libpng/configure:
# SDL2 # SDL2
sdl2: init_dirs $(LIBDIR)/libSDL2.a sdl2: init_dirs $(LIBDIR)/libSDL2.a
$(LIBDIR)/libSDL2.a: $(DOWNLOADS)/sdl2/Makefile $(LIBDIR)/libSDL2.a: $(DOWNLOADS)/sdl2/cmakebuild/Makefile
cd $(DOWNLOADS)/sdl2/cmakebuild; \
make -j$(NPROC); make install
$(DOWNLOADS)/sdl2/cmakebuild/Makefile: $(DOWNLOADS)/sdl2/CMakeLists.txt
cd $(DOWNLOADS)/sdl2; \ cd $(DOWNLOADS)/sdl2; \
make -j$(NPROC); make install; mkdir cmakebuild; cd cmakebuild; \
$(CMAKE) -DBUILD_SHARED_LIBS=no
$(DOWNLOADS)/sdl2/Makefile: $(DOWNLOADS)/sdl2/configure $(DOWNLOADS)/sdl2/CMakeLists.txt:
cd $(DOWNLOADS)/sdl2; \ $(CLONE) $(GITHUB)/mkxp-z/SDL $(DOWNLOADS)/sdl2 -b mkxp-z-2.26
$(CONFIGURE) --enable-static=true --enable-shared=false \
--enable-video-x11=false $(SDL_FLAGS)
$(DOWNLOADS)/sdl2/configure: $(DOWNLOADS)/sdl2/autogen.sh
cd $(DOWNLOADS)/sdl2; ./autogen.sh
$(DOWNLOADS)/sdl2/autogen.sh:
$(CLONE) $(GITHUB)/mkxp-z/SDL $(DOWNLOADS)/sdl2 -b mkxp-z; cd $(DOWNLOADS)/sdl2
# SDL_image # SDL_image
sdl2image: init_dirs sdl2 $(LIBDIR)/libSDL2_image.a sdl2image: init_dirs sdl2 $(LIBDIR)/libSDL2_image.a
@ -311,7 +307,10 @@ $(LIBDIR)/libruby.3.1.dylib: $(DOWNLOADS)/ruby/Makefile
$(DOWNLOADS)/ruby/Makefile: $(DOWNLOADS)/ruby/configure $(DOWNLOADS)/ruby/Makefile: $(DOWNLOADS)/ruby/configure
cd $(DOWNLOADS)/ruby; \ cd $(DOWNLOADS)/ruby; \
$(CONFIGURE) $(RUBY_CONFIGURE_ARGS) $(RUBY_FLAGS) export $(CONFIGURE_ENV); \
export CFLAGS="-flto=full -DRUBY_FUNCTION_NAME_STRING=__func__ $$CFLAGS"; \
export LDFLAGS="-flto=full $$LDFLAGS"; \
./configure $(CONFIGURE_ARGS) $(RUBY_CONFIGURE_ARGS) $(RUBY_FLAGS)
$(DOWNLOADS)/ruby/configure: $(DOWNLOADS)/ruby/*.c $(DOWNLOADS)/ruby/configure: $(DOWNLOADS)/ruby/*.c
cd $(DOWNLOADS)/ruby; autoreconf -i cd $(DOWNLOADS)/ruby; autoreconf -i
@ -331,7 +330,7 @@ clean-downloads:
-rm -rf downloads/$(HOST) -rm -rf downloads/$(HOST)
clean-compiled: clean-compiled:
-rm -rf build-$(SDK)-$(ARCH) -rm -rf build-macosx-$(ARCH)
deps-core: libtheora libvorbis pixman libpng physfs uchardet sdl2 sdl2image sdlsound sdl2ttf openal openssl deps-core: libtheora libvorbis pixman libpng physfs uchardet sdl2 sdl2image sdlsound sdl2ttf openal openssl
everything: deps-core ruby everything: deps-core ruby

View file

@ -1,4 +1,3 @@
SDK := macosx
ARCH := x86_64 ARCH := x86_64
HOST := $(ARCH)-apple-darwin HOST := $(ARCH)-apple-darwin
MINIMUM_REQUIRED := 10.13 MINIMUM_REQUIRED := 10.13

View file

@ -518,6 +518,12 @@
96573E83279152DC002C3E77 /* TouchBar.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 96573E80279152DC002C3E77 /* TouchBar.xcassets */; }; 96573E83279152DC002C3E77 /* TouchBar.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 96573E80279152DC002C3E77 /* TouchBar.xcassets */; };
96573E84279152DC002C3E77 /* TouchBar.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 96573E80279152DC002C3E77 /* TouchBar.xcassets */; }; 96573E84279152DC002C3E77 /* TouchBar.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 96573E80279152DC002C3E77 /* TouchBar.xcassets */; };
96D8EDD128728DCE00A331EA /* gamecontrollerdb.txt in Resources */ = {isa = PBXBuildFile; fileRef = 96D8EDD028728DCA00A331EA /* gamecontrollerdb.txt */; }; 96D8EDD128728DCE00A331EA /* gamecontrollerdb.txt in Resources */ = {isa = PBXBuildFile; fileRef = 96D8EDD028728DCA00A331EA /* gamecontrollerdb.txt */; };
FE5204162A08E27D0070038A /* CoreHaptics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FE5204152A08E27D0070038A /* CoreHaptics.framework */; };
FE5204172A08E2880070038A /* CoreHaptics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FE5204152A08E27D0070038A /* CoreHaptics.framework */; };
FE5204182A08E28F0070038A /* CoreHaptics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FE5204152A08E27D0070038A /* CoreHaptics.framework */; };
FE5204192A08E2950070038A /* CoreHaptics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FE5204152A08E27D0070038A /* CoreHaptics.framework */; };
FE52041B2A08E58D0070038A /* lanczos3.frag in Resources */ = {isa = PBXBuildFile; fileRef = FE52041A2A08E58D0070038A /* lanczos3.frag */; };
FE52041C2A08E62F0070038A /* lanczos3.frag in CopyFiles */ = {isa = PBXBuildFile; fileRef = FE52041A2A08E58D0070038A /* lanczos3.frag */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */ /* Begin PBXContainerItemProxy section */
@ -733,6 +739,7 @@
3B10ECE12568E83D00372D13 /* simpleColor.frag in CopyFiles */, 3B10ECE12568E83D00372D13 /* simpleColor.frag in CopyFiles */,
3B10ECE22568E83D00372D13 /* simpleColor.vert in CopyFiles */, 3B10ECE22568E83D00372D13 /* simpleColor.vert in CopyFiles */,
3B10ECE32568E83D00372D13 /* simpleMatrix.vert in CopyFiles */, 3B10ECE32568E83D00372D13 /* simpleMatrix.vert in CopyFiles */,
FE52041C2A08E62F0070038A /* lanczos3.frag in CopyFiles */,
3B10ECE42568E83D00372D13 /* sprite.frag in CopyFiles */, 3B10ECE42568E83D00372D13 /* sprite.frag in CopyFiles */,
3B10ECE52568E83D00372D13 /* sprite.vert in CopyFiles */, 3B10ECE52568E83D00372D13 /* sprite.vert in CopyFiles */,
3B10ECE62568E83D00372D13 /* tilemap.frag in CopyFiles */, 3B10ECE62568E83D00372D13 /* tilemap.frag in CopyFiles */,
@ -981,7 +988,6 @@
3B10EE1F2569348E00372D13 /* json5pp.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = json5pp.hpp; sourceTree = "<group>"; }; 3B10EE1F2569348E00372D13 /* json5pp.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = json5pp.hpp; sourceTree = "<group>"; };
3B1BC0DF266F7C0C00794D22 /* iniconfig.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = iniconfig.h; sourceTree = "<group>"; }; 3B1BC0DF266F7C0C00794D22 /* iniconfig.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = iniconfig.h; sourceTree = "<group>"; };
3B1BC0E0266F7C0C00794D22 /* iniconfig.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = iniconfig.cpp; sourceTree = "<group>"; }; 3B1BC0E0266F7C0C00794D22 /* iniconfig.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = iniconfig.cpp; sourceTree = "<group>"; };
3B1BC0E6266F8E8700794D22 /* dependencies.make */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; name = dependencies.make; path = Dependencies/dependencies.make; sourceTree = "<group>"; };
3B1BC0EB266F924B00794D22 /* libuchardet.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libuchardet.a; path = "Dependencies/build-macosx-x86_64/lib/libuchardet.a"; sourceTree = "<group>"; }; 3B1BC0EB266F924B00794D22 /* libuchardet.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libuchardet.a; path = "Dependencies/build-macosx-x86_64/lib/libuchardet.a"; sourceTree = "<group>"; };
3B1C230A25A144A10075EF5D /* libruby.3.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libruby.3.1.dylib; path = "Dependencies/build-macosx-x86_64/lib/libruby.3.1.dylib"; sourceTree = "<group>"; }; 3B1C230A25A144A10075EF5D /* libruby.3.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libruby.3.1.dylib; path = "Dependencies/build-macosx-x86_64/lib/libruby.3.1.dylib"; sourceTree = "<group>"; };
3B1C230D25A144BF0075EF5D /* libruby.3.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libruby.3.1.dylib; path = "Dependencies/build-macosx-universal/lib/libruby.3.1.dylib"; sourceTree = "<group>"; }; 3B1C230D25A144BF0075EF5D /* libruby.3.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libruby.3.1.dylib; path = "Dependencies/build-macosx-universal/lib/libruby.3.1.dylib"; sourceTree = "<group>"; };
@ -1104,6 +1110,8 @@
96573E7B27913B46002C3E77 /* TouchBar.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; name = TouchBar.h; path = views/TouchBar.h; sourceTree = "<group>"; }; 96573E7B27913B46002C3E77 /* TouchBar.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; name = TouchBar.h; path = views/TouchBar.h; sourceTree = "<group>"; };
96573E80279152DC002C3E77 /* TouchBar.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = TouchBar.xcassets; path = views/TouchBar.xcassets; sourceTree = "<group>"; }; 96573E80279152DC002C3E77 /* TouchBar.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = TouchBar.xcassets; path = views/TouchBar.xcassets; sourceTree = "<group>"; };
96D8EDD028728DCA00A331EA /* gamecontrollerdb.txt */ = {isa = PBXFileReference; lastKnownFileType = text; name = gamecontrollerdb.txt; path = ../assets/gamecontrollerdb.txt; sourceTree = "<group>"; }; 96D8EDD028728DCA00A331EA /* gamecontrollerdb.txt */ = {isa = PBXFileReference; lastKnownFileType = text; name = gamecontrollerdb.txt; path = ../assets/gamecontrollerdb.txt; sourceTree = "<group>"; };
FE5204152A08E27D0070038A /* CoreHaptics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreHaptics.framework; path = System/Library/Frameworks/CoreHaptics.framework; sourceTree = SDKROOT; };
FE52041A2A08E58D0070038A /* lanczos3.frag */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.glsl; name = lanczos3.frag; path = ../shader/lanczos3.frag; sourceTree = "<group>"; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
@ -1119,6 +1127,7 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
FE5204192A08E2950070038A /* CoreHaptics.framework in Frameworks */,
3B1C23C325A19C600075EF5D /* libSDL2_ttf.a in Frameworks */, 3B1C23C325A19C600075EF5D /* libSDL2_ttf.a in Frameworks */,
3B1C23C425A19C600075EF5D /* libvorbisenc.a in Frameworks */, 3B1C23C425A19C600075EF5D /* libvorbisenc.a in Frameworks */,
3B1C23C525A19C600075EF5D /* libssl.a in Frameworks */, 3B1C23C525A19C600075EF5D /* libssl.a in Frameworks */,
@ -1168,6 +1177,7 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
FE5204182A08E28F0070038A /* CoreHaptics.framework in Frameworks */,
3BBE880F2705AAFF00A574AE /* libSDL2_ttf.a in Frameworks */, 3BBE880F2705AAFF00A574AE /* libSDL2_ttf.a in Frameworks */,
3BBE88102705AB0400A574AE /* libvorbisenc.a in Frameworks */, 3BBE88102705AB0400A574AE /* libvorbisenc.a in Frameworks */,
3BBE88112705AB0900A574AE /* libssl.a in Frameworks */, 3BBE88112705AB0900A574AE /* libssl.a in Frameworks */,
@ -1210,6 +1220,7 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
FE5204162A08E27D0070038A /* CoreHaptics.framework in Frameworks */,
96563585279A5ADA003D6A75 /* libtheora.a in Frameworks */, 96563585279A5ADA003D6A75 /* libtheora.a in Frameworks */,
3BC65E2C2584F4290063AFF1 /* libvorbisenc.a in Frameworks */, 3BC65E2C2584F4290063AFF1 /* libvorbisenc.a in Frameworks */,
3BC65E2D2584F4290063AFF1 /* libogg.a in Frameworks */, 3BC65E2D2584F4290063AFF1 /* libogg.a in Frameworks */,
@ -1253,6 +1264,7 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
FE5204172A08E2880070038A /* CoreHaptics.framework in Frameworks */,
3BE0810D256879FE0006849F /* libSDL2_ttf.a in Frameworks */, 3BE0810D256879FE0006849F /* libSDL2_ttf.a in Frameworks */,
3BE08119256879FE0006849F /* libvorbisenc.a in Frameworks */, 3BE08119256879FE0006849F /* libvorbisenc.a in Frameworks */,
3B522DD6259BFF2D003301C4 /* libssl.a in Frameworks */, 3B522DD6259BFF2D003301C4 /* libssl.a in Frameworks */,
@ -1297,10 +1309,10 @@
3B10EC6C2568E5EA00372D13 /* Source */ = { 3B10EC6C2568E5EA00372D13 /* Source */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
3B10EDD52568E96A00372D13 /* binding */,
3B3F7D1325B19C5A00EA5F1C /* MacOS */, 3B3F7D1325B19C5A00EA5F1C /* MacOS */,
3B10ED342568E95D00372D13 /* src */, 3B10ED342568E95D00372D13 /* src */,
3B1C236625A19B780075EF5D /* steamshim */, 3B1C236625A19B780075EF5D /* steamshim */,
3B10EDD52568E96A00372D13 /* binding */,
); );
name = Source; name = Source;
sourceTree = "<group>"; sourceTree = "<group>";
@ -1310,29 +1322,30 @@
children = ( children = (
3B10EC942568E7B500372D13 /* bitmapBlit.frag */, 3B10EC942568E7B500372D13 /* bitmapBlit.frag */,
3B10EC9B2568E7B500372D13 /* blur.frag */, 3B10EC9B2568E7B500372D13 /* blur.frag */,
3B10EC912568E7B500372D13 /* blurH.vert */,
3B10EC9A2568E7B500372D13 /* blurV.vert */,
3B10ECA32568E7B600372D13 /* common.h */,
3B10EC8E2568E7B500372D13 /* flashMap.frag */, 3B10EC8E2568E7B500372D13 /* flashMap.frag */,
3B10EC9F2568E7B500372D13 /* flatColor.frag */, 3B10EC9F2568E7B500372D13 /* flatColor.frag */,
3B10ECA42568E7B600372D13 /* gray.frag */, 3B10ECA42568E7B600372D13 /* gray.frag */,
3B10EC932568E7B500372D13 /* hue.frag */, 3B10EC932568E7B500372D13 /* hue.frag */,
3B10ECA12568E7B600372D13 /* minimal.vert */, FE52041A2A08E58D0070038A /* lanczos3.frag */,
3B10EC9C2568E7B500372D13 /* plane.frag */, 3B10EC9C2568E7B500372D13 /* plane.frag */,
3B10EC992568E7B500372D13 /* simple.frag */, 3B10EC992568E7B500372D13 /* simple.frag */,
3B10EC9E2568E7B500372D13 /* simple.vert */,
3B10EC8F2568E7B500372D13 /* simpleAlpha.frag */, 3B10EC8F2568E7B500372D13 /* simpleAlpha.frag */,
3B10EC9D2568E7B500372D13 /* simpleAlphaUni.frag */, 3B10EC9D2568E7B500372D13 /* simpleAlphaUni.frag */,
3B10EC8D2568E7B400372D13 /* simpleColor.frag */, 3B10EC8D2568E7B400372D13 /* simpleColor.frag */,
3B10ECA52568E7B600372D13 /* simpleColor.vert */,
3B10EC902568E7B500372D13 /* simpleMatrix.vert */,
3B10EC972568E7B500372D13 /* sprite.frag */, 3B10EC972568E7B500372D13 /* sprite.frag */,
3B10EC982568E7B500372D13 /* sprite.vert */,
3B10EC952568E7B500372D13 /* tilemap.frag */, 3B10EC952568E7B500372D13 /* tilemap.frag */,
3B10ECA02568E7B600372D13 /* tilemap.vert */,
3B10EC962568E7B500372D13 /* tilemapvx.vert */,
3B10ECA22568E7B600372D13 /* trans.frag */, 3B10ECA22568E7B600372D13 /* trans.frag */,
3B10EC922568E7B500372D13 /* transSimple.frag */, 3B10EC922568E7B500372D13 /* transSimple.frag */,
3B10ECA32568E7B600372D13 /* common.h */,
3B10EC912568E7B500372D13 /* blurH.vert */,
3B10EC9A2568E7B500372D13 /* blurV.vert */,
3B10ECA12568E7B600372D13 /* minimal.vert */,
3B10EC9E2568E7B500372D13 /* simple.vert */,
3B10ECA52568E7B600372D13 /* simpleColor.vert */,
3B10EC902568E7B500372D13 /* simpleMatrix.vert */,
3B10EC982568E7B500372D13 /* sprite.vert */,
3B10ECA02568E7B600372D13 /* tilemap.vert */,
3B10EC962568E7B500372D13 /* tilemapvx.vert */,
); );
name = Shaders; name = Shaders;
sourceTree = "<group>"; sourceTree = "<group>";
@ -1340,26 +1353,26 @@
3B10ED342568E95D00372D13 /* src */ = { 3B10ED342568E95D00372D13 /* src */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
3B522DB1259BBFE9003301C4 /* net */,
3B10ED362568E95D00372D13 /* crypto */,
3B10ED392568E95D00372D13 /* util */,
3B10ED442568E95D00372D13 /* input */,
3B10ED4A2568E95D00372D13 /* etc */,
3B10ED522568E95D00372D13 /* filesystem */,
3B10ED582568E95D00372D13 /* system */,
3B10ED5D2568E95D00372D13 /* audio */,
3B10ED6F2568E95D00372D13 /* display */,
9656358D279A5B74003D6A75 /* theoraplay */,
3B10ED352568E95D00372D13 /* eventthread.cpp */,
3B10ED492568E95D00372D13 /* eventthread.h */,
3B10ED432568E95D00372D13 /* config.h */,
3B5A84052569B56F00BAF2E5 /* config.cpp */, 3B5A84052569B56F00BAF2E5 /* config.cpp */,
3B10ED502568E95D00372D13 /* settingsmenu.h */, 3B10ED352568E95D00372D13 /* eventthread.cpp */,
3B10ED512568E95D00372D13 /* sharedstate.cpp */,
3B10ED562568E95D00372D13 /* main.cpp */, 3B10ED562568E95D00372D13 /* main.cpp */,
3B10ED6E2568E95D00372D13 /* settingsmenu.cpp */, 3B10ED6E2568E95D00372D13 /* settingsmenu.cpp */,
3B10EDA42568E95E00372D13 /* sharedstate.h */, 3B10ED512568E95D00372D13 /* sharedstate.cpp */,
3B10EDA52568E95E00372D13 /* binding.h */, 3B10EDA52568E95E00372D13 /* binding.h */,
3B10ED432568E95D00372D13 /* config.h */,
3B10ED492568E95D00372D13 /* eventthread.h */,
3B10ED502568E95D00372D13 /* settingsmenu.h */,
3B10EDA42568E95E00372D13 /* sharedstate.h */,
3B10ED5D2568E95D00372D13 /* audio */,
3B10ED362568E95D00372D13 /* crypto */,
3B10ED6F2568E95D00372D13 /* display */,
3B10ED4A2568E95D00372D13 /* etc */,
3B10ED522568E95D00372D13 /* filesystem */,
3B10ED442568E95D00372D13 /* input */,
3B522DB1259BBFE9003301C4 /* net */,
3B10ED582568E95D00372D13 /* system */,
9656358D279A5B74003D6A75 /* theoraplay */,
3B10ED392568E95D00372D13 /* util */,
); );
name = src; name = src;
path = ../src; path = ../src;
@ -1368,8 +1381,8 @@
3B10ED362568E95D00372D13 /* crypto */ = { 3B10ED362568E95D00372D13 /* crypto */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
3B10ED372568E95D00372D13 /* rgssad.h */,
3B10ED382568E95D00372D13 /* rgssad.cpp */, 3B10ED382568E95D00372D13 /* rgssad.cpp */,
3B10ED372568E95D00372D13 /* rgssad.h */,
); );
path = crypto; path = crypto;
sourceTree = "<group>"; sourceTree = "<group>";
@ -1378,20 +1391,20 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
3BFABF53267787940024C7DD /* sigslot */, 3BFABF53267787940024C7DD /* sigslot */,
3B1BC0E0266F7C0C00794D22 /* iniconfig.cpp */,
3B10ED3C2568E95D00372D13 /* boost-hash.h */,
3B10ED422568E95D00372D13 /* debugwriter.h */,
3B10ED3E2568E95D00372D13 /* disposable.h */,
3B609374268274CE0038E9D6 /* encoding.h */,
3B10ED412568E95D00372D13 /* exception.h */,
3B1BC0DF266F7C0C00794D22 /* iniconfig.h */,
3B10ED3A2568E95D00372D13 /* intrulist.h */, 3B10ED3A2568E95D00372D13 /* intrulist.h */,
3B10ED3B2568E95D00372D13 /* sdl-util.h */, 3B10ED3B2568E95D00372D13 /* sdl-util.h */,
3B10ED3C2568E95D00372D13 /* boost-hash.h */,
3B10ED3D2568E95D00372D13 /* serializable.h */,
3B10ED3E2568E95D00372D13 /* disposable.h */,
3B10ED3F2568E95D00372D13 /* serial-util.h */, 3B10ED3F2568E95D00372D13 /* serial-util.h */,
3B10ED3D2568E95D00372D13 /* serializable.h */,
3B012198261544A0001E574A /* string-util.h */, 3B012198261544A0001E574A /* string-util.h */,
3B10ED402568E95D00372D13 /* util.h */, 3B10ED402568E95D00372D13 /* util.h */,
3B10ED412568E95D00372D13 /* exception.h */,
3B10ED422568E95D00372D13 /* debugwriter.h */,
3B10EE1F2569348E00372D13 /* json5pp.hpp */, 3B10EE1F2569348E00372D13 /* json5pp.hpp */,
3B1BC0DF266F7C0C00794D22 /* iniconfig.h */,
3B1BC0E0266F7C0C00794D22 /* iniconfig.cpp */,
3B609374268274CE0038E9D6 /* encoding.h */,
); );
path = util; path = util;
sourceTree = "<group>"; sourceTree = "<group>";
@ -1399,9 +1412,9 @@
3B10ED442568E95D00372D13 /* input */ = { 3B10ED442568E95D00372D13 /* input */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
3B10ED452568E95D00372D13 /* input.h */,
3B10ED462568E95D00372D13 /* input.cpp */, 3B10ED462568E95D00372D13 /* input.cpp */,
3B10ED472568E95D00372D13 /* keybindings.cpp */, 3B10ED472568E95D00372D13 /* keybindings.cpp */,
3B10ED452568E95D00372D13 /* input.h */,
3B10ED482568E95D00372D13 /* keybindings.h */, 3B10ED482568E95D00372D13 /* keybindings.h */,
); );
path = input; path = input;
@ -1410,9 +1423,9 @@
3B10ED4A2568E95D00372D13 /* etc */ = { 3B10ED4A2568E95D00372D13 /* etc */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
3B10ED4B2568E95D00372D13 /* etc-internal.h */,
3B10ED4C2568E95D00372D13 /* table.cpp */,
3B10ED4D2568E95D00372D13 /* etc.cpp */, 3B10ED4D2568E95D00372D13 /* etc.cpp */,
3B10ED4C2568E95D00372D13 /* table.cpp */,
3B10ED4B2568E95D00372D13 /* etc-internal.h */,
3B10ED4E2568E95D00372D13 /* etc.h */, 3B10ED4E2568E95D00372D13 /* etc.h */,
3B10ED4F2568E95D00372D13 /* table.h */, 3B10ED4F2568E95D00372D13 /* table.h */,
); );
@ -1422,12 +1435,12 @@
3B10ED522568E95D00372D13 /* filesystem */ = { 3B10ED522568E95D00372D13 /* filesystem */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
3B426F6A256B8AC0009EA00F /* ghc */,
3B10ED532568E95D00372D13 /* filesystem.h */,
3B10ED542568E95D00372D13 /* filesystem.cpp */, 3B10ED542568E95D00372D13 /* filesystem.cpp */,
3B5A840C2569BE7C00BAF2E5 /* filesystemImplApple.mm */,
3B5A84132569C28B00BAF2E5 /* filesystemImpl.cpp */, 3B5A84132569C28B00BAF2E5 /* filesystemImpl.cpp */,
3B10ED532568E95D00372D13 /* filesystem.h */,
3B5A84142569C28B00BAF2E5 /* filesystemImpl.h */, 3B5A84142569C28B00BAF2E5 /* filesystemImpl.h */,
3B5A840C2569BE7C00BAF2E5 /* filesystemImplApple.mm */,
3B426F6A256B8AC0009EA00F /* ghc */,
); );
path = filesystem; path = filesystem;
sourceTree = "<group>"; sourceTree = "<group>";
@ -1435,9 +1448,9 @@
3B10ED582568E95D00372D13 /* system */ = { 3B10ED582568E95D00372D13 /* system */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
3B5A845D256A465700BAF2E5 /* systemImpl.cpp */,
3B5A845C256A465700BAF2E5 /* system.h */, 3B5A845C256A465700BAF2E5 /* system.h */,
3B5A8463256A46B200BAF2E5 /* systemImplApple.mm */, 3B5A8463256A46B200BAF2E5 /* systemImplApple.mm */,
3B5A845D256A465700BAF2E5 /* systemImpl.cpp */,
); );
path = system; path = system;
sourceTree = "<group>"; sourceTree = "<group>";
@ -1445,22 +1458,22 @@
3B10ED5D2568E95D00372D13 /* audio */ = { 3B10ED5D2568E95D00372D13 /* audio */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
3B10ED5E2568E95D00372D13 /* midisource.cpp */,
3B10ED5F2568E95D00372D13 /* alstream.cpp */, 3B10ED5F2568E95D00372D13 /* alstream.cpp */,
3B10ED602568E95D00372D13 /* fluid-fun.cpp */,
3B10ED612568E95D00372D13 /* soundemitter.h */,
3B10ED622568E95D00372D13 /* fluid-fun.h */,
3B10ED632568E95D00372D13 /* sdlsoundsource.cpp */,
3B10ED642568E95D00372D13 /* audio.cpp */, 3B10ED642568E95D00372D13 /* audio.cpp */,
3B10ED652568E95D00372D13 /* soundemitter.cpp */,
3B10ED662568E95D00372D13 /* audiostream.cpp */, 3B10ED662568E95D00372D13 /* audiostream.cpp */,
3B10ED602568E95D00372D13 /* fluid-fun.cpp */,
3B10ED5E2568E95D00372D13 /* midisource.cpp */,
3B10ED632568E95D00372D13 /* sdlsoundsource.cpp */,
3B10ED652568E95D00372D13 /* soundemitter.cpp */,
3B10ED6A2568E95D00372D13 /* vorbissource.cpp */,
3B10ED692568E95D00372D13 /* al-util.h */,
3B10ED6B2568E95D00372D13 /* aldatasource.h */,
3B10ED6D2568E95D00372D13 /* alstream.h */,
3B10ED672568E95D00372D13 /* audio.h */, 3B10ED672568E95D00372D13 /* audio.h */,
3B10ED682568E95D00372D13 /* audiostream.h */, 3B10ED682568E95D00372D13 /* audiostream.h */,
3B10ED692568E95D00372D13 /* al-util.h */, 3B10ED622568E95D00372D13 /* fluid-fun.h */,
3B10ED6A2568E95D00372D13 /* vorbissource.cpp */,
3B10ED6B2568E95D00372D13 /* aldatasource.h */,
3B10ED6C2568E95D00372D13 /* sharedmidistate.h */, 3B10ED6C2568E95D00372D13 /* sharedmidistate.h */,
3B10ED6D2568E95D00372D13 /* alstream.h */, 3B10ED612568E95D00372D13 /* soundemitter.h */,
); );
path = audio; path = audio;
sourceTree = "<group>"; sourceTree = "<group>";
@ -1468,32 +1481,32 @@
3B10ED6F2568E95D00372D13 /* display */ = { 3B10ED6F2568E95D00372D13 /* display */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
3BA6944D263DAB53004194EB /* libnsgif */, 3B10EDA22568E95E00372D13 /* autotiles.cpp */,
3B10ED7E2568E95D00372D13 /* gl */, 3B10ED9D2568E95E00372D13 /* autotilesvx.cpp */,
3B10ED702568E95D00372D13 /* tilemap.h */,
3B10ED712568E95D00372D13 /* tilemap-common.h */,
3B10ED722568E95D00372D13 /* windowvx.cpp */,
3B10ED732568E95D00372D13 /* bitmap.cpp */, 3B10ED732568E95D00372D13 /* bitmap.cpp */,
3B10ED742568E95D00372D13 /* window.cpp */,
3B10ED752568E95D00372D13 /* viewport.h */,
3B10ED762568E95D00372D13 /* sprite.cpp */,
3B10ED772568E95D00372D13 /* font.cpp */, 3B10ED772568E95D00372D13 /* font.cpp */,
3B10ED782568E95D00372D13 /* window.h */,
3B10ED792568E95D00372D13 /* windowvx.h */,
3B10ED7A2568E95D00372D13 /* plane.h */,
3B10ED7B2568E95D00372D13 /* graphics.cpp */, 3B10ED7B2568E95D00372D13 /* graphics.cpp */,
3B10ED7C2568E95D00372D13 /* sprite.h */, 3B10EDA12568E95E00372D13 /* plane.cpp */,
3B10ED762568E95D00372D13 /* sprite.cpp */,
3B10ED9C2568E95E00372D13 /* tilemap.cpp */,
3B10ED7D2568E95D00372D13 /* tilemapvx.cpp */, 3B10ED7D2568E95D00372D13 /* tilemapvx.cpp */,
3B10ED9E2568E95E00372D13 /* viewport.cpp */,
3B10ED742568E95D00372D13 /* window.cpp */,
3B10ED722568E95D00372D13 /* windowvx.cpp */,
3B10EDA02568E95E00372D13 /* bitmap.h */,
3B10ED9F2568E95E00372D13 /* flashable.h */,
3B10ED9A2568E95E00372D13 /* font.h */, 3B10ED9A2568E95E00372D13 /* font.h */,
3B10ED9B2568E95E00372D13 /* graphics.h */, 3B10ED9B2568E95E00372D13 /* graphics.h */,
3B10ED9C2568E95E00372D13 /* tilemap.cpp */, 3B10ED7A2568E95D00372D13 /* plane.h */,
3B10ED9D2568E95E00372D13 /* autotilesvx.cpp */, 3B10ED7C2568E95D00372D13 /* sprite.h */,
3B10ED9E2568E95E00372D13 /* viewport.cpp */, 3B10ED712568E95D00372D13 /* tilemap-common.h */,
3B10ED9F2568E95E00372D13 /* flashable.h */, 3B10ED702568E95D00372D13 /* tilemap.h */,
3B10EDA02568E95E00372D13 /* bitmap.h */,
3B10EDA12568E95E00372D13 /* plane.cpp */,
3B10EDA22568E95E00372D13 /* autotiles.cpp */,
3B10EDA32568E95E00372D13 /* tilemapvx.h */, 3B10EDA32568E95E00372D13 /* tilemapvx.h */,
3B10ED752568E95D00372D13 /* viewport.h */,
3B10ED782568E95D00372D13 /* window.h */,
3B10ED792568E95D00372D13 /* windowvx.h */,
3B10ED7E2568E95D00372D13 /* gl */,
3BA6944D263DAB53004194EB /* libnsgif */,
); );
path = display; path = display;
sourceTree = "<group>"; sourceTree = "<group>";
@ -1535,52 +1548,44 @@
3B10EDD52568E96A00372D13 /* binding */ = { 3B10EDD52568E96A00372D13 /* binding */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
3B10EDD62568E96A00372D13 /* window-binding.cpp */,
3B10EDD72568E96A00372D13 /* filesystem-binding.cpp */,
3B10EDD82568E96A00372D13 /* viewportelement-binding.h */,
3B10EDD92568E96A00372D13 /* cusl-binding.cpp */,
3B10EDDA2568E96A00372D13 /* audio-binding.cpp */, 3B10EDDA2568E96A00372D13 /* audio-binding.cpp */,
3B10EDDB2568E96A00372D13 /* serializable-binding.h */, 3B10EDF02568E96A00372D13 /* binding-mri.cpp */,
3B10EDDC2568E96A00372D13 /* input-binding.cpp */, 3B10EDEF2568E96A00372D13 /* binding-util.cpp */,
3B10EDDD2568E96A00372D13 /* windowvx-binding.cpp */,
3B10EDDE2568E96A00372D13 /* disposable-binding.h */,
3B10EDDF2568E96A00372D13 /* sprite-binding.cpp */,
3B10EDE02568E96A00372D13 /* sceneelement-binding.h */,
3B10EDE12568E96A00372D13 /* tilemapvx-binding.cpp */,
3B10EDE22568E96A00372D13 /* module_rpg2.rb.xxd */,
3B10EDE42568E96A00372D13 /* bitmap-binding.cpp */, 3B10EDE42568E96A00372D13 /* bitmap-binding.cpp */,
3B10EDE52568E96A00372D13 /* table-binding.cpp */, 3B10EDD92568E96A00372D13 /* cusl-binding.cpp */,
3B10EDE62568E96A00372D13 /* etc-binding.cpp */, 3B10EDE62568E96A00372D13 /* etc-binding.cpp */,
3B10EDE72568E96A00372D13 /* tilemap-binding.cpp */, 3B10EDD72568E96A00372D13 /* filesystem-binding.cpp */,
3B10EDEC2568E96A00372D13 /* font-binding.cpp */,
3B10EDE92568E96A00372D13 /* graphics-binding.cpp */,
3B522DDB259C1E53003301C4 /* http-binding.cpp */,
3B10EDDC2568E96A00372D13 /* input-binding.cpp */,
3B10EDE82568E96A00372D13 /* miniffi-binding.cpp */, 3B10EDE82568E96A00372D13 /* miniffi-binding.cpp */,
3B312842259E7DC1002EAB43 /* miniffi.cpp */, 3B312842259E7DC1002EAB43 /* miniffi.cpp */,
3B312841259E7DC1002EAB43 /* miniffi.h */,
3B10EDE92568E96A00372D13 /* graphics-binding.cpp */,
3B10EDEA2568E96A00372D13 /* plane-binding.cpp */,
3B10EDEB2568E96A00372D13 /* binding-types.h */,
3B10EDEC2568E96A00372D13 /* font-binding.cpp */,
3B10EDED2568E96A00372D13 /* module_rpg1.rb.xxd */,
3B10EDEE2568E96A00372D13 /* binding-util.h */,
3B10EDEF2568E96A00372D13 /* binding-util.cpp */,
3B10EDF02568E96A00372D13 /* binding-mri.cpp */,
3B10EDF12568E96A00372D13 /* flashable-binding.h */,
3B10EDF22568E96A00372D13 /* module_rpg3.rb.xxd */,
3B10EDF32568E96A00372D13 /* module_rpg.cpp */, 3B10EDF32568E96A00372D13 /* module_rpg.cpp */,
3B10EDEA2568E96A00372D13 /* plane-binding.cpp */,
3B10EDDF2568E96A00372D13 /* sprite-binding.cpp */,
3B10EDE52568E96A00372D13 /* table-binding.cpp */,
3B10EDE72568E96A00372D13 /* tilemap-binding.cpp */,
3B10EDE12568E96A00372D13 /* tilemapvx-binding.cpp */,
3B10EDF42568E96A00372D13 /* viewport-binding.cpp */, 3B10EDF42568E96A00372D13 /* viewport-binding.cpp */,
3B522DDB259C1E53003301C4 /* http-binding.cpp */, 3B10EDD62568E96A00372D13 /* window-binding.cpp */,
3B10EDDD2568E96A00372D13 /* windowvx-binding.cpp */,
3B10EDEB2568E96A00372D13 /* binding-types.h */,
3B10EDEE2568E96A00372D13 /* binding-util.h */,
3B10EDDE2568E96A00372D13 /* disposable-binding.h */,
3B10EDF12568E96A00372D13 /* flashable-binding.h */,
3B312841259E7DC1002EAB43 /* miniffi.h */,
3B10EDE02568E96A00372D13 /* sceneelement-binding.h */,
3B10EDDB2568E96A00372D13 /* serializable-binding.h */,
3B10EDD82568E96A00372D13 /* viewportelement-binding.h */,
3B10EDED2568E96A00372D13 /* module_rpg1.rb.xxd */,
3B10EDE22568E96A00372D13 /* module_rpg2.rb.xxd */,
3B10EDF22568E96A00372D13 /* module_rpg3.rb.xxd */,
); );
name = binding; name = binding;
path = ../binding; path = ../binding;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
3B1BC0E5266F8E2A00794D22 /* Makefiles */ = {
isa = PBXGroup;
children = (
3B1BC0E6266F8E8700794D22 /* dependencies.make */,
);
name = Makefiles;
sourceTree = "<group>";
};
3B1C231D25A15F8F0075EF5D /* mkxp */ = { 3B1C231D25A15F8F0075EF5D /* mkxp */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@ -1595,10 +1600,10 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
3B1C236925A19B960075EF5D /* steamshim_child.c */, 3B1C236925A19B960075EF5D /* steamshim_child.c */,
3B1C236825A19B960075EF5D /* steamshim_child.h */,
3B1C236725A19B960075EF5D /* steamshim_parent.cpp */, 3B1C236725A19B960075EF5D /* steamshim_parent.cpp */,
3B1C23FC25A19FB40075EF5D /* steamshim_mac_helpers.mm */, 3B1C236825A19B960075EF5D /* steamshim_child.h */,
3B1C240025A19FD60075EF5D /* steamshim_mac_helpers.h */, 3B1C240025A19FD60075EF5D /* steamshim_mac_helpers.h */,
3B1C23FC25A19FB40075EF5D /* steamshim_mac_helpers.mm */,
); );
name = steamshim; name = steamshim;
sourceTree = "<group>"; sourceTree = "<group>";
@ -1631,12 +1636,12 @@
3B3F7D1325B19C5A00EA5F1C /* MacOS */ = { 3B3F7D1325B19C5A00EA5F1C /* MacOS */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
3B3F7D1725B19DEC00EA5F1C /* settingsmenu.xib */,
3B3F7D2925B1A73A00EA5F1C /* SettingsMenuController.mm */,
3B3F7D3025B1A79F00EA5F1C /* SettingsMenuController.h */,
3B480E9325DCBDD6001686B4 /* sdl_codes.h */, 3B480E9325DCBDD6001686B4 /* sdl_codes.h */,
96573E7A27913B46002C3E77 /* TouchBar.mm */, 3B3F7D1725B19DEC00EA5F1C /* settingsmenu.xib */,
3B3F7D3025B1A79F00EA5F1C /* SettingsMenuController.h */,
3B3F7D2925B1A73A00EA5F1C /* SettingsMenuController.mm */,
96573E7B27913B46002C3E77 /* TouchBar.h */, 96573E7B27913B46002C3E77 /* TouchBar.h */,
96573E7A27913B46002C3E77 /* TouchBar.mm */,
96573E80279152DC002C3E77 /* TouchBar.xcassets */, 96573E80279152DC002C3E77 /* TouchBar.xcassets */,
); );
name = MacOS; name = MacOS;
@ -1658,11 +1663,11 @@
3B522DB1259BBFE9003301C4 /* net */ = { 3B522DB1259BBFE9003301C4 /* net */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
3B522DBD259BD046003301C4 /* httplib.h */,
3B522DB2259BC037003301C4 /* net.h */,
3B522DBF259BD072003301C4 /* net.cpp */,
3B522DE3259C2017003301C4 /* LUrlParser.h */,
3B522DE4259C2039003301C4 /* LUrlParser.cpp */, 3B522DE4259C2039003301C4 /* LUrlParser.cpp */,
3B522DBF259BD072003301C4 /* net.cpp */,
3B522DBD259BD046003301C4 /* httplib.h */,
3B522DE3259C2017003301C4 /* LUrlParser.h */,
3B522DB2259BC037003301C4 /* net.h */,
); );
path = net; path = net;
sourceTree = "<group>"; sourceTree = "<group>";
@ -1772,7 +1777,6 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
3B251DA226DA2C8600E5D09B /* Ruby Standard Library */, 3B251DA226DA2C8600E5D09B /* Ruby Standard Library */,
3B1BC0E5266F8E2A00794D22 /* Makefiles */,
3BD2B7272565B343003DAD8A /* README.md */, 3BD2B7272565B343003DAD8A /* README.md */,
3BDB23E22564546E00C4A63D /* icon.icns */, 3BDB23E22564546E00C4A63D /* icon.icns */,
3BDB2409256470AE00C4A63D /* Player */, 3BDB2409256470AE00C4A63D /* Player */,
@ -1811,6 +1815,7 @@
3BDB23E5256455A400C4A63D /* Frameworks */ = { 3BDB23E5256455A400C4A63D /* Frameworks */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
FE5204152A08E27D0070038A /* CoreHaptics.framework */,
3B1C241F25A1A84D0075EF5D /* Steam */, 3B1C241F25A1A84D0075EF5D /* Steam */,
3BC65D792584F3030063AFF1 /* Universal */, 3BC65D792584F3030063AFF1 /* Universal */,
3BE080CA256829FE0006849F /* Intel */, 3BE080CA256829FE0006849F /* Intel */,
@ -1858,9 +1863,9 @@
9656358D279A5B74003D6A75 /* theoraplay */ = { 9656358D279A5B74003D6A75 /* theoraplay */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
96563592279A5B74003D6A75 /* theoraplay.c */,
9656358E279A5B74003D6A75 /* theoraplay_cvtrgb.h */, 9656358E279A5B74003D6A75 /* theoraplay_cvtrgb.h */,
9656358F279A5B74003D6A75 /* theoraplay.h */, 9656358F279A5B74003D6A75 /* theoraplay.h */,
96563592279A5B74003D6A75 /* theoraplay.c */,
); );
path = theoraplay; path = theoraplay;
sourceTree = "<group>"; sourceTree = "<group>";
@ -2052,6 +2057,7 @@
files = ( files = (
3B10EC862568E78500372D13 /* icon.png in Resources */, 3B10EC862568E78500372D13 /* icon.png in Resources */,
96D8EDD128728DCE00A331EA /* gamecontrollerdb.txt in Resources */, 96D8EDD128728DCE00A331EA /* gamecontrollerdb.txt in Resources */,
FE52041B2A08E58D0070038A /* lanczos3.frag in Resources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -2632,7 +2638,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 2.4.1; CURRENT_PROJECT_VERSION = 2.4.2;
DEBUG_INFORMATION_FORMAT = dwarf; DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_ASSET_PATHS = ""; DEVELOPMENT_ASSET_PATHS = "";
ENABLE_HARDENED_RUNTIME = NO; ENABLE_HARDENED_RUNTIME = NO;
@ -2660,7 +2666,7 @@
"$(PROJECT_DIR)/Dependencies/Frameworks/ANGLE", "$(PROJECT_DIR)/Dependencies/Frameworks/ANGLE",
"$(PROJECT_DIR)/Dependencies/build-macosx-x86_64/lib", "$(PROJECT_DIR)/Dependencies/build-macosx-x86_64/lib",
); );
MARKETING_VERSION = 2.4.1; MARKETING_VERSION = 2.4.2;
MKXPZ_EXECUTABLE_NAME = shim; MKXPZ_EXECUTABLE_NAME = shim;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
@ -2707,7 +2713,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 2.4.1; CURRENT_PROJECT_VERSION = 2.4.2;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_ASSET_PATHS = ""; DEVELOPMENT_ASSET_PATHS = "";
ENABLE_HARDENED_RUNTIME = NO; ENABLE_HARDENED_RUNTIME = NO;
@ -2733,7 +2739,7 @@
"$(PROJECT_DIR)/Dependencies/Frameworks/ANGLE", "$(PROJECT_DIR)/Dependencies/Frameworks/ANGLE",
"$(PROJECT_DIR)/Dependencies/build-macosx-x86_64/lib", "$(PROJECT_DIR)/Dependencies/build-macosx-x86_64/lib",
); );
MARKETING_VERSION = 2.4.1; MARKETING_VERSION = 2.4.2;
MKXPZ_EXECUTABLE_NAME = shim; MKXPZ_EXECUTABLE_NAME = shim;
MTL_ENABLE_DEBUG_INFO = NO; MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
@ -2915,7 +2921,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 2.4.1; CURRENT_PROJECT_VERSION = 2.4.2;
DEBUG_INFORMATION_FORMAT = dwarf; DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_ASSET_PATHS = ""; DEVELOPMENT_ASSET_PATHS = "";
ENABLE_HARDENED_RUNTIME = NO; ENABLE_HARDENED_RUNTIME = NO;
@ -2957,7 +2963,7 @@
"$(PROJECT_DIR)/Dependencies/build-macosx-x86_64/lib", "$(PROJECT_DIR)/Dependencies/build-macosx-x86_64/lib",
"$(PROJECT_DIR)/Dependencies/build-macosx-universal/lib", "$(PROJECT_DIR)/Dependencies/build-macosx-universal/lib",
); );
MARKETING_VERSION = 2.4.1; MARKETING_VERSION = 2.4.2;
MKXPZ_EXECUTABLE_NAME = shim; MKXPZ_EXECUTABLE_NAME = shim;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
@ -3004,7 +3010,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 2.4.1; CURRENT_PROJECT_VERSION = 2.4.2;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_ASSET_PATHS = ""; DEVELOPMENT_ASSET_PATHS = "";
ENABLE_HARDENED_RUNTIME = NO; ENABLE_HARDENED_RUNTIME = NO;
@ -3044,7 +3050,7 @@
"$(PROJECT_DIR)/Dependencies/build-macosx-x86_64/lib", "$(PROJECT_DIR)/Dependencies/build-macosx-x86_64/lib",
"$(PROJECT_DIR)/Dependencies/build-macosx-universal/lib", "$(PROJECT_DIR)/Dependencies/build-macosx-universal/lib",
); );
MARKETING_VERSION = 2.4.1; MARKETING_VERSION = 2.4.2;
MKXPZ_EXECUTABLE_NAME = shim; MKXPZ_EXECUTABLE_NAME = shim;
MTL_ENABLE_DEBUG_INFO = NO; MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
@ -3092,7 +3098,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 2.4.1; CURRENT_PROJECT_VERSION = 2.4.2;
DEBUG_INFORMATION_FORMAT = dwarf; DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_ASSET_PATHS = ""; DEVELOPMENT_ASSET_PATHS = "";
ENABLE_HARDENED_RUNTIME = NO; ENABLE_HARDENED_RUNTIME = NO;
@ -3130,7 +3136,7 @@
"$(PROJECT_DIR)/Dependencies/build-macosx-universal/lib", "$(PROJECT_DIR)/Dependencies/build-macosx-universal/lib",
"$(PROJECT_DIR)/Dependencies/build-macosx-x86_64/lib", "$(PROJECT_DIR)/Dependencies/build-macosx-x86_64/lib",
); );
MARKETING_VERSION = 2.4.1; MARKETING_VERSION = 2.4.2;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
OTHER_LDFLAGS = ""; OTHER_LDFLAGS = "";
@ -3175,7 +3181,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 2.4.1; CURRENT_PROJECT_VERSION = 2.4.2;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_ASSET_PATHS = ""; DEVELOPMENT_ASSET_PATHS = "";
ENABLE_HARDENED_RUNTIME = NO; ENABLE_HARDENED_RUNTIME = NO;
@ -3211,7 +3217,7 @@
"$(PROJECT_DIR)/Dependencies/build-macosx-universal/lib", "$(PROJECT_DIR)/Dependencies/build-macosx-universal/lib",
"$(PROJECT_DIR)/Dependencies/build-macosx-x86_64/lib", "$(PROJECT_DIR)/Dependencies/build-macosx-x86_64/lib",
); );
MARKETING_VERSION = 2.4.1; MARKETING_VERSION = 2.4.2;
MTL_ENABLE_DEBUG_INFO = NO; MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
OTHER_LDFLAGS = ""; OTHER_LDFLAGS = "";
@ -3256,7 +3262,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 2.4.1; CURRENT_PROJECT_VERSION = 2.4.2;
DEBUG_INFORMATION_FORMAT = dwarf; DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_ASSET_PATHS = ""; DEVELOPMENT_ASSET_PATHS = "";
ENABLE_HARDENED_RUNTIME = NO; ENABLE_HARDENED_RUNTIME = NO;
@ -3280,7 +3286,7 @@
"$(PROJECT_DIR)/Dependencies/Frameworks/ANGLE", "$(PROJECT_DIR)/Dependencies/Frameworks/ANGLE",
"$(PROJECT_DIR)/Dependencies/build-macosx-x86_64/lib", "$(PROJECT_DIR)/Dependencies/build-macosx-x86_64/lib",
); );
MARKETING_VERSION = 2.4.1; MARKETING_VERSION = 2.4.2;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
OTHER_LDFLAGS = ""; OTHER_LDFLAGS = "";
@ -3325,7 +3331,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 2.4.1; CURRENT_PROJECT_VERSION = 2.4.2;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_ASSET_PATHS = ""; DEVELOPMENT_ASSET_PATHS = "";
ENABLE_HARDENED_RUNTIME = NO; ENABLE_HARDENED_RUNTIME = NO;
@ -3347,7 +3353,7 @@
"$(PROJECT_DIR)/Dependencies/Frameworks/ANGLE", "$(PROJECT_DIR)/Dependencies/Frameworks/ANGLE",
"$(PROJECT_DIR)/Dependencies/build-macosx-x86_64/lib", "$(PROJECT_DIR)/Dependencies/build-macosx-x86_64/lib",
); );
MARKETING_VERSION = 2.4.1; MARKETING_VERSION = 2.4.2;
MTL_ENABLE_DEBUG_INFO = NO; MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
OTHER_LDFLAGS = ""; OTHER_LDFLAGS = "";
@ -3489,7 +3495,10 @@
); );
MACOSX_DEPLOYMENT_TARGET = 10.13; MACOSX_DEPLOYMENT_TARGET = 10.13;
ONLY_ACTIVE_ARCH = NO; ONLY_ACTIVE_ARCH = NO;
OTHER_CFLAGS = "-fdeclspec"; OTHER_CFLAGS = (
"-fdeclspec",
"-O3",
);
PRODUCT_BUNDLE_IDENTIFIER = "org.zoro.mkxp-z"; PRODUCT_BUNDLE_IDENTIFIER = "org.zoro.mkxp-z";
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx; SDKROOT = macosx;

View file

@ -1,4 +1,4 @@
project('mkxp-z', 'c', 'cpp', version: '2.4.1', meson_version: '>=0.56.0', default_options: ['cpp_std=c++14', 'buildtype=release']) project('mkxp-z', 'c', 'cpp', version: '2.4.2', meson_version: '>=0.56.0', default_options: ['cpp_std=c++14', 'buildtype=release'])
host_system = host_machine.system() host_system = host_machine.system()

View file

@ -73,6 +73,13 @@
// "smoothScaling": false, // "smoothScaling": false,
// Apply Lanczos3 interpolation when game screen
// is upscaled (typically higher quality than linear)
// (default: disabled)
//
// "lanczos3Scaling": false,
// Sync screen redraws to the monitor refresh rate // Sync screen redraws to the monitor refresh rate
// (default: disabled) // (default: disabled)
// //

View file

@ -1,9 +1,6 @@
#ifdef GLSLES #ifdef GLSLES
#ifdef FRAGMENT_SHADER
/* Only the fragment shader has no default float precision */
precision mediump float; precision mediump float;
#endif
#else #else

48
shader/lanczos3.frag Normal file
View file

@ -0,0 +1,48 @@
// From https://raw.githubusercontent.com/Sentmoraap/doing-sdl-right/93a52a0db0ff2da5066cce12f5b9a2ac62e6f401/assets/lanczos3.frag
// Copyright 2020 Lilian Gimenez (Sentmoraap).
// MIT license.
uniform sampler2D texture;
uniform vec2 sourceSize;
uniform vec2 texSizeInv;
varying vec2 v_texCoord;
float lanczos3(float x)
{
x = max(abs(x), 0.00001);
float val = x * 3.141592654;
return sin(val) * sin(val / 3.0) / (val * val);
}
void main()
{
vec2 pixel = v_texCoord * sourceSize + 0.5;
vec2 frac = fract(pixel);
vec2 onePixel = texSizeInv;
pixel = floor(pixel) * texSizeInv - onePixel / 2.0;
float lanczosX[6];
float sum = 0.0;
for(int x = 0; x < 6; x++)
{
lanczosX[x] = lanczos3(float(x) - 2.0 - frac.x);
sum += lanczosX[x];
}
for(int x = 0; x < 6; x++) lanczosX[x] /= sum;
sum = 0.0;
float lanczosY[6];
for(int y = 0; y < 6; y++)
{
lanczosY[y] = lanczos3(float(y) - 2.0 - frac.y);
sum += lanczosY[y];
}
for(int y = 0; y < 6; y++) lanczosY[y] /= sum;
gl_FragColor = vec4(0);
for(int y = -2; y <= 3; y++)
{
vec4 colour = vec4(0);
for(int x = -2; x <= 3; x++)
colour += texture2D(texture, pixel + vec2(float(x) * onePixel.x, float(y) * onePixel.y)).rgba * lanczosX[x + 2];
gl_FragColor += colour * lanczosY[y + 2];
}
}

View file

@ -15,6 +15,7 @@ embedded_shaders = [
'simpleAlphaUni.frag', 'simpleAlphaUni.frag',
'tilemap.frag', 'tilemap.frag',
'flashMap.frag', 'flashMap.frag',
'lanczos3.frag',
'minimal.vert', 'minimal.vert',
'simple.vert', 'simple.vert',
'simpleColor.vert', 'simpleColor.vert',

View file

@ -134,6 +134,7 @@ void Config::read(int argc, char *argv[]) {
{"fullscreen", false}, {"fullscreen", false},
{"fixedAspectRatio", true}, {"fixedAspectRatio", true},
{"smoothScaling", false}, {"smoothScaling", false},
{"lanczos3Scaling", false},
{"vsync", false}, {"vsync", false},
{"defScreenW", 0}, {"defScreenW", 0},
{"defScreenH", 0}, {"defScreenH", 0},
@ -257,6 +258,7 @@ try { exp } catch (...) {}
SET_OPT(fullscreen, boolean); SET_OPT(fullscreen, boolean);
SET_OPT(fixedAspectRatio, boolean); SET_OPT(fixedAspectRatio, boolean);
SET_OPT(smoothScaling, boolean); SET_OPT(smoothScaling, boolean);
SET_OPT(lanczos3Scaling, boolean);
SET_OPT(winResizable, boolean); SET_OPT(winResizable, boolean);
SET_OPT(vsync, boolean); SET_OPT(vsync, boolean);
SET_STRINGOPT(windowTitle, windowTitle); SET_STRINGOPT(windowTitle, windowTitle);

View file

@ -43,6 +43,7 @@ struct Config {
bool fullscreen; bool fullscreen;
bool fixedAspectRatio; bool fixedAspectRatio;
bool smoothScaling; bool smoothScaling;
bool lanczos3Scaling;
bool vsync; bool vsync;
int defScreenW; int defScreenW;

View file

@ -24,6 +24,7 @@
#include "sharedstate.h" #include "sharedstate.h"
#include "glstate.h" #include "glstate.h"
#include "quad.h" #include "quad.h"
#include "config.h"
namespace GLMeta namespace GLMeta
{ {
@ -144,10 +145,22 @@ static void _blitBegin(FBO::ID fbo, const Vec2i &size)
FBO::bind(fbo); FBO::bind(fbo);
glState.viewport.pushSet(IntRect(0, 0, size.x, size.y)); glState.viewport.pushSet(IntRect(0, 0, size.x, size.y));
SimpleShader &shader = shState->shaders().simple; if (shState->config().lanczos3Scaling)
shader.bind(); {
shader.applyViewportProj(); Lanczos3Shader &shader = shState->shaders().lanczos3;
shader.setTranslation(Vec2i()); shader.bind();
shader.applyViewportProj();
shader.setTranslation(Vec2i());
shader.setTexSize(Vec2i(size.x, size.y));
}
else
{
SimpleShader &shader = shState->shaders().simple;
shader.bind();
shader.applyViewportProj();
shader.setTranslation(Vec2i());
shader.setTexSize(Vec2i(size.x, size.y));
}
} }
} }
@ -169,8 +182,18 @@ void blitSource(TEXFBO &source)
} }
else else
{ {
SimpleShader &shader = shState->shaders().simple; if (shState->config().lanczos3Scaling)
shader.setTexSize(Vec2i(source.width, source.height)); {
Lanczos3Shader &shader = shState->shaders().lanczos3;
shader.bind();
shader.setTexSize(Vec2i(source.width, source.height));
}
else
{
SimpleShader &shader = shState->shaders().simple;
shader.bind();
shader.setTexSize(Vec2i(source.width, source.height));
}
TEX::bind(source.tex); TEX::bind(source.tex);
} }
} }

View file

@ -44,6 +44,7 @@
#include "simpleAlphaUni.frag.xxd" #include "simpleAlphaUni.frag.xxd"
#include "tilemap.frag.xxd" #include "tilemap.frag.xxd"
#include "flashMap.frag.xxd" #include "flashMap.frag.xxd"
#include "lanczos3.frag.xxd"
#include "minimal.vert.xxd" #include "minimal.vert.xxd"
#include "simple.vert.xxd" #include "simple.vert.xxd"
#include "simpleColor.vert.xxd" #include "simpleColor.vert.xxd"
@ -746,3 +747,19 @@ void BltShader::setOpacity(float value)
{ {
gl.Uniform1f(u_opacity, value); gl.Uniform1f(u_opacity, value);
} }
Lanczos3Shader::Lanczos3Shader()
{
INIT_SHADER(simple, lanczos3, Lanczos3Shader);
ShaderBase::init();
GET_U(texOffsetX);
GET_U(sourceSize);
}
void Lanczos3Shader::setTexSize(const Vec2i &value)
{
ShaderBase::setTexSize(value);
gl.Uniform2f(u_sourceSize, (float)value.x, (float)value.y);
}

View file

@ -113,7 +113,7 @@ public:
void setTexOffsetX(int value); void setTexOffsetX(int value);
private: protected:
GLint u_texOffsetX; GLint u_texOffsetX;
}; };
@ -326,6 +326,17 @@ private:
GLint u_source, u_destination, u_subRect, u_opacity; GLint u_source, u_destination, u_subRect, u_opacity;
}; };
class Lanczos3Shader : public SimpleShader
{
public:
Lanczos3Shader();
void setTexSize(const Vec2i &value);
protected:
GLint u_sourceSize;
};
/* Global object containing all available shaders */ /* Global object containing all available shaders */
struct ShaderSet struct ShaderSet
{ {
@ -347,6 +358,7 @@ struct ShaderSet
SimpleMatrixShader simpleMatrix; SimpleMatrixShader simpleMatrix;
BlurShader blur; BlurShader blur;
TilemapVXShader tilemapVX; TilemapVXShader tilemapVX;
Lanczos3Shader lanczos3;
}; };
#endif // SHADER_H #endif // SHADER_H

View file

@ -282,7 +282,14 @@ struct FileSystemPrivate {
static void throwPhysfsError(const char *desc) { static void throwPhysfsError(const char *desc) {
PHYSFS_ErrorCode ec = PHYSFS_getLastErrorCode(); PHYSFS_ErrorCode ec = PHYSFS_getLastErrorCode();
const char *englishStr = PHYSFS_getErrorByCode(ec); const char *englishStr;
if (ec == 0) {
// Sometimes on Windows PHYSFS_init can return null
// but the error code never changes
englishStr = "unknown error";
} else {
englishStr = PHYSFS_getErrorByCode(ec);
}
throw Exception(Exception::PHYSFSError, "%s: %s", desc, englishStr); throw Exception(Exception::PHYSFSError, "%s: %s", desc, englishStr);
} }

View file

@ -395,7 +395,7 @@ int main(int argc, char *argv[]) {
ALCdevice *alcDev = alcOpenDevice(0); ALCdevice *alcDev = alcOpenDevice(0);
if (!alcDev) { if (!alcDev) {
showInitError("Error opening OpenAL device"); showInitError("Could not detect an available audio device.");
SDL_DestroyWindow(win); SDL_DestroyWindow(win);
TTF_Quit(); TTF_Quit();
IMG_Quit(); IMG_Quit();
@ -517,7 +517,7 @@ static SDL_GLContext initGL(SDL_Window *win, Config &conf,
glCtx = SDL_GL_CreateContext(win); glCtx = SDL_GL_CreateContext(win);
if (!glCtx) { if (!glCtx) {
GLINIT_SHOWERROR(std::string("Error creating context: ") + SDL_GetError()); GLINIT_SHOWERROR(std::string("Could not create OpenGL context: ") + SDL_GetError());
return 0; return 0;
} }

View file

@ -10,6 +10,7 @@ RUBY_FLAGS := ${RUBY_FLAGS}
BUILD_PREFIX := ${PWD}/build-$(ARCH) BUILD_PREFIX := ${PWD}/build-$(ARCH)
LIBDIR := $(BUILD_PREFIX)/lib LIBDIR := $(BUILD_PREFIX)/lib
BINDIR := $(BUILD_PREFIX)/bin
INCLUDEDIR := $(BUILD_PREFIX)/include INCLUDEDIR := $(BUILD_PREFIX)/include
DOWNLOADS := ${PWD}/downloads/$(ARCH) DOWNLOADS := ${PWD}/downloads/$(ARCH)
NPROC := $(shell nproc) NPROC := $(shell nproc)
@ -133,7 +134,7 @@ $(DOWNLOADS)/physfs/cmakebuild/Makefile: $(DOWNLOADS)/physfs/CMakeLists.txt
$(CMAKE) -DPHYSFS_BUILD_STATIC=true -DPHYSFS_BUILD_SHARED=false $(CMAKE) -DPHYSFS_BUILD_STATIC=true -DPHYSFS_BUILD_SHARED=false
$(DOWNLOADS)/physfs/CMakeLists.txt: $(DOWNLOADS)/physfs/CMakeLists.txt:
$(CLONE) $(GITHUB)/mkxp-z/physfs $(DOWNLOADS)/physfs $(CLONE) $(GITHUB)/mkxp-z/physfs -b release-3.2.0 $(DOWNLOADS)/physfs
# libpng # libpng
libpng: init_dirs $(LIBDIR)/libpng.a libpng: init_dirs $(LIBDIR)/libpng.a
@ -182,19 +183,17 @@ $(DOWNLOADS)/uchardet/CMakeLists.txt:
# SDL2 # SDL2
sdl2: init_dirs $(LIBDIR)/libSDL2.a sdl2: init_dirs $(LIBDIR)/libSDL2.a
$(LIBDIR)/libSDL2.a: $(DOWNLOADS)/sdl2/Makefile $(LIBDIR)/libSDL2.a: $(DOWNLOADS)/sdl2/cmakebuild/Makefile
cd $(DOWNLOADS)/sdl2/cmakebuild; \
make -j$(NPROC); make install
$(DOWNLOADS)/sdl2/cmakebuild/Makefile: $(DOWNLOADS)/sdl2/CMakeLists.txt
cd $(DOWNLOADS)/sdl2; \ cd $(DOWNLOADS)/sdl2; \
make -j$(NPROC); make install; mkdir cmakebuild; cd cmakebuild; \
$(CMAKE) -DBUILD_SHARED_LIBS=no
$(DOWNLOADS)/sdl2/Makefile: $(DOWNLOADS)/sdl2/configure $(DOWNLOADS)/sdl2/CMakeLists.txt:
cd $(DOWNLOADS)/sdl2; \ $(CLONE) $(GITHUB)/mkxp-z/SDL $(DOWNLOADS)/sdl2 -b mkxp-z-2.26
$(CONFIGURE) --enable-static=true --enable-shared=false $(SDL_FLAGS)
$(DOWNLOADS)/sdl2/configure: $(DOWNLOADS)/sdl2/autogen.sh
cd $(DOWNLOADS)/sdl2; ./autogen.sh
$(DOWNLOADS)/sdl2/autogen.sh:
$(CLONE) $(GITHUB)/mkxp-z/SDL $(DOWNLOADS)/sdl2 -b mkxp-z; cd $(DOWNLOADS)/sdl2
# SDL2 (Image) # SDL2 (Image)
sdl2image: init_dirs sdl2 libpng libjpeg $(LIBDIR)/libSDL2_image.a sdl2image: init_dirs sdl2 libpng libjpeg $(LIBDIR)/libSDL2_image.a
@ -312,15 +311,18 @@ $(DOWNLOADS)/openssl/Configure:
$(CLONE) $(GITHUB)/openssl/openssl $(DOWNLOADS)/openssl --single-branch --branch OpenSSL_1_1_1i --depth 1 $(CLONE) $(GITHUB)/openssl/openssl $(DOWNLOADS)/openssl --single-branch --branch OpenSSL_1_1_1i --depth 1
# Standard ruby # Standard ruby
ruby: init_dirs openssl $(BUILD_PREFIX)/$(RB_PREFIX)-ruby310.dll ruby: init_dirs openssl $(BINDIR)/$(RB_PREFIX)-ruby310.dll
$(BUILD_PREFIX)/$(RB_PREFIX)-ruby310.dll: $(DOWNLOADS)/ruby/Makefile $(BINDIR)/$(RB_PREFIX)-ruby310.dll: $(DOWNLOADS)/ruby/Makefile
cd $(DOWNLOADS)/ruby; \ cd $(DOWNLOADS)/ruby; \
make -j$(NPROC); make install make -j$(NPROC); make install
$(DOWNLOADS)/ruby/Makefile: $(DOWNLOADS)/ruby/configure $(DOWNLOADS)/ruby/Makefile: $(DOWNLOADS)/ruby/configure
cd $(DOWNLOADS)/ruby; \ cd $(DOWNLOADS)/ruby; \
$(CONFIGURE) $(RUBY_CONFIGURE_ARGS) $(RUBY_FLAGS) export $(CONFIGURE_ENV); \
export CFLAGS="-flto $$CFLAGS"; \
export LDFLAGS="-flto $$LDFLAGS"; \
./configure $(CONFIGURE_ARGS) $(RUBY_CONFIGURE_ARGS) $(RUBY_FLAGS)
$(DOWNLOADS)/ruby/configure: $(DOWNLOADS)/ruby/*.c $(DOWNLOADS)/ruby/configure: $(DOWNLOADS)/ruby/*.c
cd $(DOWNLOADS)/ruby; autoreconf -i cd $(DOWNLOADS)/ruby; autoreconf -i

View file

@ -6,17 +6,17 @@ IDI_APPICON ICON "icon.ico"
IDI_MANIFEST RT_MANIFEST "mkxpz.manifest" IDI_MANIFEST RT_MANIFEST "mkxpz.manifest"
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 2,4,1,0 FILEVERSION 2,4,2,0
PRODUCTVERSION 2,4,1,0 PRODUCTVERSION 2,4,2,0
{ {
BLOCK "StringFileInfo" BLOCK "StringFileInfo"
{ {
BLOCK "040904b0" BLOCK "040904b0"
{ {
VALUE "FileVersion", "2.4.1\0" VALUE "FileVersion", "2.4.2\0"
VALUE "OriginalFilename", "mkxp-z.exe\0" VALUE "OriginalFilename", "mkxp-z.exe\0"
VALUE "ProductName", "mkxp-z\0" VALUE "ProductName", "mkxp-z\0"
VALUE "ProductVersion", "2.4.1\0" VALUE "ProductVersion", "2.4.2\0"
} }
} }
BLOCK "VarFileInfo" BLOCK "VarFileInfo"