mirror of
https://github.com/XProger/OpenLara.git
synced 2025-08-17 18:36:43 +02:00
#15 mac build fix
This commit is contained in:
16
src/core.h
16
src/core.h
@@ -49,9 +49,21 @@
|
|||||||
#include <OpenGL/gl.h>
|
#include <OpenGL/gl.h>
|
||||||
#include <OpenGL/glext.h>
|
#include <OpenGL/glext.h>
|
||||||
#include <AGL/agl.h>
|
#include <AGL/agl.h>
|
||||||
|
|
||||||
|
#define GL_RGBA32F GL_RGBA
|
||||||
|
#define GL_RGBA16F GL_RGBA
|
||||||
|
|
||||||
|
#define GL_TEXTURE_COMPARE_MODE 0x884C
|
||||||
|
#define GL_TEXTURE_COMPARE_FUNC 0x884D
|
||||||
|
#define GL_COMPARE_REF_TO_TEXTURE 0x884E
|
||||||
|
|
||||||
#define glGenVertexArrays glGenVertexArraysAPPLE
|
#define glGenVertexArrays glGenVertexArraysAPPLE
|
||||||
#define glDeleteVertexArrays glDeleteVertexArraysAPPLE
|
#define glDeleteVertexArrays glDeleteVertexArraysAPPLE
|
||||||
#define glBindVertexArray glBindVertexArrayAPPLE
|
#define glBindVertexArray glBindVertexArrayAPPLE
|
||||||
|
|
||||||
|
#define GL_PROGRAM_BINARY_LENGTH 0
|
||||||
|
#define glGetProgramBinary(...) 0
|
||||||
|
#define glProgramBinary(...) 0
|
||||||
#elif __EMSCRIPTEN__
|
#elif __EMSCRIPTEN__
|
||||||
#define MOBILE
|
#define MOBILE
|
||||||
#include <emscripten.h>
|
#include <emscripten.h>
|
||||||
@@ -339,7 +351,7 @@ namespace Core {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
char *ext = (char*)glGetString(GL_EXTENSIONS);
|
char *ext = (char*)glGetString(GL_EXTENSIONS);
|
||||||
// LOG("%s\n", ext);
|
//LOG("%s\n", ext);
|
||||||
|
|
||||||
support.shaderBinary = extSupport(ext, "_program_binary");
|
support.shaderBinary = extSupport(ext, "_program_binary");
|
||||||
support.VAO = extSupport(ext, "_vertex_array_object");
|
support.VAO = extSupport(ext, "_vertex_array_object");
|
||||||
@@ -414,7 +426,7 @@ namespace Core {
|
|||||||
item.height = height;
|
item.height = height;
|
||||||
|
|
||||||
glBindRenderbuffer(GL_RENDERBUFFER, item.ID);
|
glBindRenderbuffer(GL_RENDERBUFFER, item.ID);
|
||||||
glRenderbufferStorage(GL_RENDERBUFFER, depth ? GL_RGB565 : GL_DEPTH_COMPONENT16, width, height);
|
glRenderbufferStorage(GL_RENDERBUFFER, depth ? GL_RGB : GL_DEPTH_COMPONENT16, width, height);
|
||||||
glBindRenderbuffer(GL_RENDERBUFFER, 0);
|
glBindRenderbuffer(GL_RENDERBUFFER, 0);
|
||||||
|
|
||||||
return cache.count++;
|
return cache.count++;
|
||||||
|
@@ -7,8 +7,8 @@
|
|||||||
objects = {
|
objects = {
|
||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
|
9971B72F1E7C239900F25790 /* LEVEL2.PSX in Resources */ = {isa = PBXBuildFile; fileRef = 9971B72E1E7C239900F25790 /* LEVEL2.PSX */; };
|
||||||
99BFB6A21DCA7F5300E2E997 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 99BFB6A11DCA7F5300E2E997 /* main.cpp */; };
|
99BFB6A21DCA7F5300E2E997 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 99BFB6A11DCA7F5300E2E997 /* main.cpp */; };
|
||||||
99BFB6A51DCA872D00E2E997 /* LEVEL2_DEMO.PHD in Resources */ = {isa = PBXBuildFile; fileRef = 99BFB6A31DCA872D00E2E997 /* LEVEL2_DEMO.PHD */; };
|
|
||||||
99BFB6A61DCA872D00E2E997 /* 05.ogg in Resources */ = {isa = PBXBuildFile; fileRef = 99BFB6A41DCA872D00E2E997 /* 05.ogg */; };
|
99BFB6A61DCA872D00E2E997 /* 05.ogg in Resources */ = {isa = PBXBuildFile; fileRef = 99BFB6A41DCA872D00E2E997 /* 05.ogg */; };
|
||||||
99BFB6A91DCA87BF00E2E997 /* stb_vorbis.c in Sources */ = {isa = PBXBuildFile; fileRef = 99BFB6A81DCA87BF00E2E997 /* stb_vorbis.c */; };
|
99BFB6A91DCA87BF00E2E997 /* stb_vorbis.c in Sources */ = {isa = PBXBuildFile; fileRef = 99BFB6A81DCA87BF00E2E997 /* stb_vorbis.c */; };
|
||||||
99BFB6AB1DCA87C500E2E997 /* minimp3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 99BFB6AA1DCA87C500E2E997 /* minimp3.cpp */; };
|
99BFB6AB1DCA87C500E2E997 /* minimp3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 99BFB6AA1DCA87C500E2E997 /* minimp3.cpp */; };
|
||||||
@@ -19,6 +19,7 @@
|
|||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
|
9971B72E1E7C239900F25790 /* LEVEL2.PSX */ = {isa = PBXFileReference; lastKnownFileType = file; name = LEVEL2.PSX; path = ../../../bin/LEVEL2.PSX; sourceTree = SOURCE_ROOT; };
|
||||||
99BFB68D1DCA7F1700E2E997 /* lara.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lara.h; path = ../../lara.h; sourceTree = "<group>"; };
|
99BFB68D1DCA7F1700E2E997 /* lara.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lara.h; path = ../../lara.h; sourceTree = "<group>"; };
|
||||||
99BFB68E1DCA7F1700E2E997 /* format.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = format.h; path = ../../format.h; sourceTree = "<group>"; };
|
99BFB68E1DCA7F1700E2E997 /* format.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = format.h; path = ../../format.h; sourceTree = "<group>"; };
|
||||||
99BFB68F1DCA7F1700E2E997 /* level.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = level.h; path = ../../level.h; sourceTree = "<group>"; };
|
99BFB68F1DCA7F1700E2E997 /* level.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = level.h; path = ../../level.h; sourceTree = "<group>"; };
|
||||||
@@ -38,7 +39,6 @@
|
|||||||
99BFB69D1DCA7F1700E2E997 /* texture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = texture.h; path = ../../texture.h; sourceTree = "<group>"; };
|
99BFB69D1DCA7F1700E2E997 /* texture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = texture.h; path = ../../texture.h; sourceTree = "<group>"; };
|
||||||
99BFB69E1DCA7F1700E2E997 /* libs */ = {isa = PBXFileReference; lastKnownFileType = folder; name = libs; path = ../../libs; sourceTree = "<group>"; };
|
99BFB69E1DCA7F1700E2E997 /* libs */ = {isa = PBXFileReference; lastKnownFileType = folder; name = libs; path = ../../libs; sourceTree = "<group>"; };
|
||||||
99BFB6A11DCA7F5300E2E997 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = "<group>"; };
|
99BFB6A11DCA7F5300E2E997 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = "<group>"; };
|
||||||
99BFB6A31DCA872D00E2E997 /* LEVEL2_DEMO.PHD */ = {isa = PBXFileReference; lastKnownFileType = file; name = LEVEL2_DEMO.PHD; path = ../../../bin/LEVEL2_DEMO.PHD; sourceTree = SOURCE_ROOT; };
|
|
||||||
99BFB6A41DCA872D00E2E997 /* 05.ogg */ = {isa = PBXFileReference; lastKnownFileType = file; name = 05.ogg; path = ../../../bin/05.ogg; sourceTree = SOURCE_ROOT; };
|
99BFB6A41DCA872D00E2E997 /* 05.ogg */ = {isa = PBXFileReference; lastKnownFileType = file; name = 05.ogg; path = ../../../bin/05.ogg; sourceTree = SOURCE_ROOT; };
|
||||||
99BFB6A81DCA87BF00E2E997 /* stb_vorbis.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = stb_vorbis.c; path = ../../libs/stb_vorbis/stb_vorbis.c; sourceTree = "<group>"; };
|
99BFB6A81DCA87BF00E2E997 /* stb_vorbis.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = stb_vorbis.c; path = ../../libs/stb_vorbis/stb_vorbis.c; sourceTree = "<group>"; };
|
||||||
99BFB6AA1DCA87C500E2E997 /* minimp3.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = minimp3.cpp; path = ../../libs/minimp3/minimp3.cpp; sourceTree = "<group>"; };
|
99BFB6AA1DCA87C500E2E997 /* minimp3.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = minimp3.cpp; path = ../../libs/minimp3/minimp3.cpp; sourceTree = "<group>"; };
|
||||||
@@ -121,7 +121,7 @@
|
|||||||
99C4C0A31796AACF0032DE85 /* Supporting Files */ = {
|
99C4C0A31796AACF0032DE85 /* Supporting Files */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
99BFB6A31DCA872D00E2E997 /* LEVEL2_DEMO.PHD */,
|
9971B72E1E7C239900F25790 /* LEVEL2.PSX */,
|
||||||
99BFB6A41DCA872D00E2E997 /* 05.ogg */,
|
99BFB6A41DCA872D00E2E997 /* 05.ogg */,
|
||||||
99C4C0A41796AACF0032DE85 /* OpenLara-Info.plist */,
|
99C4C0A41796AACF0032DE85 /* OpenLara-Info.plist */,
|
||||||
);
|
);
|
||||||
@@ -181,7 +181,7 @@
|
|||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
99BFB6A61DCA872D00E2E997 /* 05.ogg in Resources */,
|
99BFB6A61DCA872D00E2E997 /* 05.ogg in Resources */,
|
||||||
99BFB6A51DCA872D00E2E997 /* LEVEL2_DEMO.PHD in Resources */,
|
9971B72F1E7C239900F25790 /* LEVEL2.PSX in Resources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
@@ -144,9 +144,19 @@ int getTime() {
|
|||||||
return int(t / 1000);
|
return int(t / 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
char *contentPath;
|
char Stream::contentDir[255];
|
||||||
|
char Stream::cacheDir[255];
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
|
Stream::contentDir[0] = Stream::cacheDir[0] = 0;
|
||||||
|
|
||||||
|
// get path to game content
|
||||||
|
CFBundleRef bundle = CFBundleGetMainBundle();
|
||||||
|
CFURLRef bundleURL = CFBundleCopyBundleURL(bundle);
|
||||||
|
CFStringRef pathStr = CFURLCopyFileSystemPath(bundleURL, kCFURLPOSIXPathStyle);
|
||||||
|
CFStringGetFileSystemRepresentation(pathStr, Stream::contentDir, 230);
|
||||||
|
strcat(Stream::contentDir, "/Contents/Resources/");
|
||||||
|
|
||||||
// init window
|
// init window
|
||||||
Rect rect = {0, 0, 720, 1280};
|
Rect rect = {0, 0, 720, 1280};
|
||||||
CreateNewWindow(kDocumentWindowClass, kWindowCloseBoxAttribute | kWindowCollapseBoxAttribute | kWindowFullZoomAttribute | kWindowResizableAttribute | kWindowStandardHandlerAttribute, &rect, &window);
|
CreateNewWindow(kDocumentWindowClass, kWindowCloseBoxAttribute | kWindowCollapseBoxAttribute | kWindowFullZoomAttribute | kWindowResizableAttribute | kWindowStandardHandlerAttribute, &rect, &window);
|
||||||
@@ -168,14 +178,6 @@ int main() {
|
|||||||
aglSetDrawable(context, GetWindowPort(window));
|
aglSetDrawable(context, GetWindowPort(window));
|
||||||
aglSetCurrentContext(context);
|
aglSetCurrentContext(context);
|
||||||
|
|
||||||
// get path to game content
|
|
||||||
CFBundleRef bundle = CFBundleGetMainBundle();
|
|
||||||
CFURLRef bundleURL = CFBundleCopyBundleURL(bundle);
|
|
||||||
CFStringRef pathStr = CFURLCopyFileSystemPath(bundleURL, kCFURLPOSIXPathStyle);
|
|
||||||
contentPath = new char[1024];
|
|
||||||
CFStringGetFileSystemRepresentation(pathStr, contentPath, 1024);
|
|
||||||
strcat(contentPath, "/Contents/Resources/");
|
|
||||||
|
|
||||||
soundInit();
|
soundInit();
|
||||||
Game::init();
|
Game::init();
|
||||||
|
|
||||||
@@ -211,7 +213,6 @@ int main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Game::free();
|
Game::free();
|
||||||
delete[] contentPath;
|
|
||||||
// TODO: sndFree
|
// TODO: sndFree
|
||||||
|
|
||||||
aglSetCurrentContext(NULL);
|
aglSetCurrentContext(NULL);
|
||||||
|
@@ -66,7 +66,6 @@ struct Shader {
|
|||||||
|
|
||||||
Shader(const char *source, const char *defines = "") {
|
Shader(const char *source, const char *defines = "") {
|
||||||
char fileName[255];
|
char fileName[255];
|
||||||
//LOG(hello[0]);
|
|
||||||
// generate shader file path
|
// generate shader file path
|
||||||
if (Core::support.shaderBinary) {
|
if (Core::support.shaderBinary) {
|
||||||
uint32 hash = fnv32(defines, strlen(defines), fnv32(source, strlen(source)));
|
uint32 hash = fnv32(defines, strlen(defines), fnv32(source, strlen(source)));
|
||||||
@@ -228,4 +227,4 @@ struct Shader {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user