diff --git a/build/android/jni/SDL2_ttf b/build/android/jni/SDL2_ttf new file mode 120000 index 0000000..b42db06 --- /dev/null +++ b/build/android/jni/SDL2_ttf @@ -0,0 +1 @@ +../../../../android/SDL2_ttf \ No newline at end of file diff --git a/build/android/jni/src/Android.mk b/build/android/jni/src/Android.mk index d612674..af4f665 100755 --- a/build/android/jni/src/Android.mk +++ b/build/android/jni/src/Android.mk @@ -6,9 +6,11 @@ LOCAL_MODULE := main SDL_PATH := ../SDL2 SDL_IMAGE_PATH := ../SDL2_image +SDL_TTF_PATH := ../SDL2_ttf LOCAL_C_INCLUDES := $(LOCAL_PATH)/$(SDL_PATH)/include -LOCAL_C_INCLUDES := $(LOCAL_PATH)/$(SDL_IMAGE_PATH) +LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(SDL_IMAGE_PATH) +LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(SDL_TTF_PATH) LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../../../src LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../../../src/states LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../../../src/gui @@ -53,6 +55,8 @@ LOCAL_SRC_FILES := $(SDL_PATH)/src/main/android/SDL_android_main.c \ ../../../../src/common.hpp \ ../../../../src/Core.cpp \ ../../../../src/Core.hpp \ + ../../../../src/Font.cpp \ + ../../../../src/Font.hpp \ ../../../../src/SysInfo.cpp \ ../../../../src/SysInfo.hpp \ ../../../../src/Gui.cpp \ @@ -70,7 +74,7 @@ LOCAL_SRC_FILES := $(SDL_PATH)/src/main/android/SDL_android_main.c \ ../../../../src/gui/GuiList.hpp \ ../../../../src/main.cpp -LOCAL_SHARED_LIBRARIES := SDL2 SDL2_image +LOCAL_SHARED_LIBRARIES := SDL2 SDL2_image SDL2_ttf LOCAL_LDLIBS := -lGLESv1_CM -lGLESv2 -llog -landroid diff --git a/build/android/src/com/polymathic/RtB/RtB.java b/build/android/src/com/polymathic/RtB/RtB.java index 9ca163a..b577a19 100644 --- a/build/android/src/com/polymathic/RtB/RtB.java +++ b/build/android/src/com/polymathic/RtB/RtB.java @@ -5,6 +5,7 @@ import android.content.res.AssetManager; import android.util.DisplayMetrics; import android.os.*; import java.io.File; +import android.app.AlertDialog; public class RtB extends SDLActivity { // Java-side to provide access to the AssetManager in C/C++ @@ -32,4 +33,15 @@ public class RtB extends SDLActivity { // Pass on to SDLActivity super.onCreate(savedInstanceState); } + public void showError(String title, String text) { + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.setTitle(title); + builder.setMessage(text); + /*builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + // Handle Ok + } + });*/ + builder.create(); + } } diff --git a/build/android/src/org/libsdl/app/SDLActivity.java b/build/android/src/org/libsdl/app/SDLActivity.java index a26b6e7..2ad4121 100755 --- a/build/android/src/org/libsdl/app/SDLActivity.java +++ b/build/android/src/org/libsdl/app/SDLActivity.java @@ -50,7 +50,7 @@ public class SDLActivity extends Activity { System.loadLibrary("SDL2_image"); //System.loadLibrary("SDL2_mixer"); //System.loadLibrary("SDL2_net"); - //System.loadLibrary("SDL2_ttf"); + System.loadLibrary("SDL2_ttf"); System.loadLibrary("main"); } diff --git a/build/ios/Roll them Bones.xcodeproj/project.pbxproj b/build/ios/Roll them Bones.xcodeproj/project.pbxproj index 494d1cb..4e2906a 100755 --- a/build/ios/Roll them Bones.xcodeproj/project.pbxproj +++ b/build/ios/Roll them Bones.xcodeproj/project.pbxproj @@ -10,6 +10,11 @@ 0097E2D912F70C4E00724AC5 /* libSDL2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0097E2D512F70C4D00724AC5 /* libSDL2.a */; }; 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; + 202C8A8F1AA9EF6800A5A51E /* libSDL2_ttf.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 202C8A8E1AA9EF6800A5A51E /* libSDL2_ttf.a */; }; + 202C8AAD1AA9EFF300A5A51E /* GuiButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 202C8AA91AA9EFF300A5A51E /* GuiButton.cpp */; }; + 202C8AAE1AA9EFF300A5A51E /* GuiList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 202C8AAB1AA9EFF300A5A51E /* GuiList.cpp */; }; + 202C8AB21AA9F00300A5A51E /* Font.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 202C8AAF1AA9F00300A5A51E /* Font.cpp */; }; + 202C8AB31AA9F00300A5A51E /* SysInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 202C8AB01AA9F00300A5A51E /* SysInfo.cpp */; }; 20517C8F1A9B40A200DE49E9 /* Program.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 20517C8B1A9B40A200DE49E9 /* Program.cpp */; }; 20517C901A9B40A200DE49E9 /* Quat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 20517C8D1A9B40A200DE49E9 /* Quat.cpp */; }; 20517DB91A9C237D00DE49E9 /* checksum.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 20517DB51A9C237D00DE49E9 /* checksum.cpp */; }; @@ -109,6 +114,14 @@ 1D6058910D05DD3D006BFB54 /* Roll them Bones.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Roll them Bones.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 20020C301A8A006300F985D8 /* common.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = common.hpp; path = ../../src/common.hpp; sourceTree = SOURCE_ROOT; }; + 202C8A8E1AA9EF6800A5A51E /* libSDL2_ttf.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSDL2_ttf.a; path = ../../../android/SDL2_ttf/libSDL2_ttf.a; sourceTree = SOURCE_ROOT; }; + 202C8AA91AA9EFF300A5A51E /* GuiButton.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GuiButton.cpp; path = ../../src/gui/GuiButton.cpp; sourceTree = SOURCE_ROOT; }; + 202C8AAA1AA9EFF300A5A51E /* GuiButton.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = GuiButton.hpp; path = ../../src/gui/GuiButton.hpp; sourceTree = SOURCE_ROOT; }; + 202C8AAB1AA9EFF300A5A51E /* GuiList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GuiList.cpp; path = ../../src/gui/GuiList.cpp; sourceTree = SOURCE_ROOT; }; + 202C8AAC1AA9EFF300A5A51E /* GuiList.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = GuiList.hpp; path = ../../src/gui/GuiList.hpp; sourceTree = SOURCE_ROOT; }; + 202C8AAF1AA9F00300A5A51E /* Font.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Font.cpp; path = ../../src/Font.cpp; sourceTree = SOURCE_ROOT; }; + 202C8AB01AA9F00300A5A51E /* SysInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SysInfo.cpp; path = ../../src/SysInfo.cpp; sourceTree = SOURCE_ROOT; }; + 202C8AB11AA9F00300A5A51E /* SysInfo.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = SysInfo.hpp; path = ../../src/SysInfo.hpp; sourceTree = SOURCE_ROOT; }; 20517C8B1A9B40A200DE49E9 /* Program.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Program.cpp; path = ../../src/Program.cpp; sourceTree = SOURCE_ROOT; }; 20517C8C1A9B40A200DE49E9 /* Program.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Program.hpp; path = ../../src/Program.hpp; sourceTree = SOURCE_ROOT; }; 20517C8D1A9B40A200DE49E9 /* Quat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Quat.cpp; path = ../../src/Quat.cpp; sourceTree = SOURCE_ROOT; }; @@ -188,6 +201,7 @@ 208B63BF1AA69C28008D37B5 /* libSDL2_image.a in Frameworks */, 208B64551AA6B9D4008D37B5 /* ImageIO.framework in Frameworks */, 208B645E1AA6B9F7008D37B5 /* MobileCoreServices.framework in Frameworks */, + 202C8A8F1AA9EF6800A5A51E /* libSDL2_ttf.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -287,6 +301,10 @@ 2078E37E1AA5CE3700172D34 /* Gui */ = { isa = PBXGroup; children = ( + 202C8AA91AA9EFF300A5A51E /* GuiButton.cpp */, + 202C8AAA1AA9EFF300A5A51E /* GuiButton.hpp */, + 202C8AAB1AA9EFF300A5A51E /* GuiList.cpp */, + 202C8AAC1AA9EFF300A5A51E /* GuiList.hpp */, 2078E37F1AA5CE4700172D34 /* GuiElement.cpp */, 2078E3801AA5CE4700172D34 /* GuiElement.hpp */, ); @@ -313,6 +331,7 @@ 208B63B51AA69BF3008D37B5 /* lib */ = { isa = PBXGroup; children = ( + 202C8A8E1AA9EF6800A5A51E /* libSDL2_ttf.a */, 208B63BE1AA69C28008D37B5 /* libSDL2_image.a */, ); name = lib; @@ -321,6 +340,9 @@ 20A7A9131A89F8F600EDC1A0 /* Classes */ = { isa = PBXGroup; children = ( + 202C8AAF1AA9F00300A5A51E /* Font.cpp */, + 202C8AB01AA9F00300A5A51E /* SysInfo.cpp */, + 202C8AB11AA9F00300A5A51E /* SysInfo.hpp */, 208B64401AA6B93E008D37B5 /* Texture.cpp */, 208B64411AA6B93E008D37B5 /* Texture.hpp */, 2078E3821AA5CE5500172D34 /* Gui.cpp */, @@ -521,6 +543,10 @@ 2078E3811AA5CE4700172D34 /* GuiElement.cpp in Sources */, 2078E3841AA5CE5500172D34 /* Gui.cpp in Sources */, 208B64421AA6B93E008D37B5 /* Texture.cpp in Sources */, + 202C8AAD1AA9EFF300A5A51E /* GuiButton.cpp in Sources */, + 202C8AAE1AA9EFF300A5A51E /* GuiList.cpp in Sources */, + 202C8AB21AA9F00300A5A51E /* Font.cpp in Sources */, + 202C8AB31AA9F00300A5A51E /* SysInfo.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -541,6 +567,7 @@ "$(inherited)", "\"$(SRCROOT)/SDL/lib\"", "\"$(SRCROOT)/../../../android/SDL2_image\"", + "\"$(SRCROOT)/../../../android/SDL2_ttf\"", ); PRODUCT_NAME = "Roll them Bones"; }; @@ -558,6 +585,7 @@ "$(inherited)", "\"$(SRCROOT)/SDL/lib\"", "\"$(SRCROOT)/../../../android/SDL2_image\"", + "\"$(SRCROOT)/../../../android/SDL2_ttf\"", ); PRODUCT_NAME = "___PROJECTNAME___"; }; @@ -575,6 +603,7 @@ OTHER_CFLAGS = ""; PREBINDING = NO; SDKROOT = iphoneos; + USER_HEADER_SEARCH_PATHS = "SDL2_ttf/ ../../src"; }; name = Debug; }; @@ -589,7 +618,7 @@ OTHER_CFLAGS = ""; PREBINDING = NO; SDKROOT = iphoneos; - USER_HEADER_SEARCH_PATHS = "../../src/**"; + USER_HEADER_SEARCH_PATHS = "SDL2_ttf/ ../../src"; }; name = Release; }; diff --git a/build/ios/SDL2_ttf b/build/ios/SDL2_ttf new file mode 120000 index 0000000..b2a2bca --- /dev/null +++ b/build/ios/SDL2_ttf @@ -0,0 +1 @@ +../../../android/SDL2_ttf \ No newline at end of file diff --git a/build/osx/Roll them Bones.xcodeproj/project.pbxproj b/build/osx/Roll them Bones.xcodeproj/project.pbxproj index d03c69f..8fd6286 100644 --- a/build/osx/Roll them Bones.xcodeproj/project.pbxproj +++ b/build/osx/Roll them Bones.xcodeproj/project.pbxproj @@ -20,6 +20,7 @@ 205723A11A9B3F04001400FA /* Quat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2057239F1A9B3F04001400FA /* Quat.cpp */; }; 205D36CE1A6749FB00C05BD8 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 205D36CD1A6749FB00C05BD8 /* main.cpp */; }; 205D370C1A674B1D00C05BD8 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 205D370B1A674B1D00C05BD8 /* OpenGL.framework */; }; + 205F9C931AA9EBE6002CD9E4 /* SDL2_ttf.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 205F9C921AA9EBE6002CD9E4 /* SDL2_ttf.framework */; }; 206884021AA8FDAD0020756D /* GuiButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 206884001AA8FDAD0020756D /* GuiButton.cpp */; }; 206884601AA9023A0020756D /* GuiList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2068845E1AA9023A0020756D /* GuiList.cpp */; }; 206885591AA92C9A0020756D /* SysInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 206885571AA92C9A0020756D /* SysInfo.cpp */; }; @@ -30,6 +31,7 @@ 20A7A8D61A89E11200EDC1A0 /* RenderSet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 20A7A8D31A89E11200EDC1A0 /* RenderSet.cpp */; }; 20A8CE541A899B72004D2504 /* RenderCamera.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 20A8CE501A899B72004D2504 /* RenderCamera.cpp */; }; 20A8CE551A899B72004D2504 /* RenderView.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 20A8CE521A899B72004D2504 /* RenderView.cpp */; }; + 20C619F91AA9E94400FA81D5 /* Font.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 20C619F71AA9E94400FA81D5 /* Font.cpp */; }; 20E3F2941A8CE8470071FD41 /* Log.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 20E3F2901A8CE8470071FD41 /* Log.cpp */; }; 20E3F2951A8CE8470071FD41 /* Mesh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 20E3F2921A8CE8470071FD41 /* Mesh.cpp */; }; 20F746501AA1DE0F00F5846A /* AssetCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 20F7464E1AA1DE0F00F5846A /* AssetCache.cpp */; }; @@ -65,6 +67,7 @@ 205723A01A9B3F04001400FA /* Quat.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Quat.hpp; path = ../../src/Quat.hpp; sourceTree = SOURCE_ROOT; }; 205D36CD1A6749FB00C05BD8 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = ../../src/main.cpp; sourceTree = SOURCE_ROOT; }; 205D370B1A674B1D00C05BD8 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; }; + 205F9C921AA9EBE6002CD9E4 /* SDL2_ttf.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL2_ttf.framework; path = /Library/Frameworks/SDL2_ttf.framework; sourceTree = ""; }; 206884001AA8FDAD0020756D /* GuiButton.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GuiButton.cpp; path = ../../src/gui/GuiButton.cpp; sourceTree = SOURCE_ROOT; }; 206884011AA8FDAD0020756D /* GuiButton.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = GuiButton.hpp; path = ../../src/gui/GuiButton.hpp; sourceTree = SOURCE_ROOT; }; 2068845E1AA9023A0020756D /* GuiList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GuiList.cpp; path = ../../src/gui/GuiList.cpp; sourceTree = SOURCE_ROOT; }; @@ -84,6 +87,8 @@ 20A8CE511A899B72004D2504 /* RenderCamera.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = RenderCamera.hpp; path = ../../src/RenderCamera.hpp; sourceTree = SOURCE_ROOT; }; 20A8CE521A899B72004D2504 /* RenderView.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RenderView.cpp; path = ../../src/RenderView.cpp; sourceTree = SOURCE_ROOT; }; 20A8CE531A899B72004D2504 /* RenderView.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = RenderView.hpp; path = ../../src/RenderView.hpp; sourceTree = SOURCE_ROOT; }; + 20C619F71AA9E94400FA81D5 /* Font.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Font.cpp; path = ../../src/Font.cpp; sourceTree = SOURCE_ROOT; }; + 20C619F81AA9E94400FA81D5 /* Font.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Font.hpp; path = ../../src/Font.hpp; sourceTree = SOURCE_ROOT; }; 20E3F2901A8CE8470071FD41 /* Log.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Log.cpp; path = ../../src/Log.cpp; sourceTree = SOURCE_ROOT; }; 20E3F2911A8CE8470071FD41 /* Log.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Log.hpp; path = ../../src/Log.hpp; sourceTree = SOURCE_ROOT; }; 20E3F2921A8CE8470071FD41 /* Mesh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Mesh.cpp; path = ../../src/Mesh.cpp; sourceTree = SOURCE_ROOT; }; @@ -111,6 +116,7 @@ 20138FCC1A3DC7A700FD0095 /* SDL2_image.framework in Frameworks */, 20138FCE1A3DC7A700FD0095 /* SDL2.framework in Frameworks */, 205D370C1A674B1D00C05BD8 /* OpenGL.framework in Frameworks */, + 205F9C931AA9EBE6002CD9E4 /* SDL2_ttf.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -120,6 +126,8 @@ 080E96DDFE201D6D7F000001 /* Classes */ = { isa = PBXGroup; children = ( + 20C619F71AA9E94400FA81D5 /* Font.cpp */, + 20C619F81AA9E94400FA81D5 /* Font.hpp */, 206885571AA92C9A0020756D /* SysInfo.cpp */, 206885581AA92C9A0020756D /* SysInfo.hpp */, 208B63C31AA6A8B2008D37B5 /* Texture.cpp */, @@ -170,6 +178,7 @@ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { isa = PBXGroup; children = ( + 205F9C921AA9EBE6002CD9E4 /* SDL2_ttf.framework */, 20138FCB1A3DC7A700FD0095 /* SDL2_image.framework */, 20138FCD1A3DC7A700FD0095 /* SDL2.framework */, 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, @@ -364,6 +373,7 @@ 206884021AA8FDAD0020756D /* GuiButton.cpp in Sources */, 206884601AA9023A0020756D /* GuiList.cpp in Sources */, 206885591AA92C9A0020756D /* SysInfo.cpp in Sources */, + 20C619F91AA9E94400FA81D5 /* Font.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -420,11 +430,13 @@ GCC_OPTIMIZATION_LEVEL = 0; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = "/Library/Frameworks/SDL2_ttf.framework//**"; LD_RUNPATH_SEARCH_PATHS = "@executable_path/../Frameworks"; ONLY_ACTIVE_ARCH = YES; PREBINDING = NO; + SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = NO; SDKROOT = ""; - USER_HEADER_SEARCH_PATHS = "../../src/**"; + USER_HEADER_SEARCH_PATHS = "/Library/Frameworks/SDL2_ttf.framework/Versions/A/Headers ../../src/**"; }; name = Debug; }; @@ -436,6 +448,7 @@ GCC_C_LANGUAGE_STANDARD = gnu99; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = /Library/Frameworks/SDL2_ttf.framework/Headers; LD_RUNPATH_SEARCH_PATHS = "@executable_path/../Frameworks"; ONLY_ACTIVE_ARCH = YES; PREBINDING = NO; diff --git a/src/Core.cpp b/src/Core.cpp index a03935c..13ed015 100644 --- a/src/Core.cpp +++ b/src/Core.cpp @@ -10,7 +10,7 @@ Core is somewhat like a service locator, but with larger engine capabilities - i #include "State.hpp" #include "MenuState.hpp" #include "TestState.hpp" -#include +#include "SDL_ttf.h" // includes for getting "user" directory #if defined(__APPLE__) && !defined(__IPHONEOS__) #include @@ -384,4 +384,4 @@ Font* Core::getFont(const char *font_name) { } } return font; -} \ No newline at end of file +} diff --git a/src/Font.cpp b/src/Font.cpp index 5262b5c..faf432c 100644 --- a/src/Font.cpp +++ b/src/Font.cpp @@ -1,6 +1,6 @@ #include "Font.hpp" #include "Log.hpp" -#include +#include "SDL_ttf.h" /* ======== Constructors/Destructor ======== */ Font::Font(std::string name_, int ptsize, const char *buffer, size_t buffer_size) { diff --git a/src/Font.hpp b/src/Font.hpp index 69b71d6..e8da288 100644 --- a/src/Font.hpp +++ b/src/Font.hpp @@ -5,7 +5,7 @@ Font.cpp/Font.hpp provide the Font class. This class is similar to Mesh/Texture ================================================================ */ #ifndef FONT_HPP #define FONT_HPP -#include +#include "SDL_ttf.h" #include class Font { public: diff --git a/src/Log.hpp b/src/Log.hpp index 76cd72a..efb4c0d 100644 --- a/src/Log.hpp +++ b/src/Log.hpp @@ -40,5 +40,4 @@ class Log { #define MAX_LOG_LEVEL LOG_DEBUG #endif #define LOG(level) if (level > MAX_LOG_LEVEL) ; else Log().Get(level) - #endif diff --git a/src/SysInfo.cpp b/src/SysInfo.cpp index 934670c..e739bee 100644 --- a/src/SysInfo.cpp +++ b/src/SysInfo.cpp @@ -1,6 +1,8 @@ #include "SysInfo.hpp" - -#if defined(__APPLE__) && !defined(__IPHONEOS__) +#ifdef __APPLE__ +#include +#endif +#if (TARGET_OS_MAC) && !(TARGET_OS_IPHONE) #include #include #include @@ -20,7 +22,7 @@ SysInfo::SysInfo() { density_dpi = 0; xdpi = 0.0f; ydpi = 0.0f; - #if defined(__APPLE__) && !defined(__IPHONEOS__) + #if (TARGET_OS_MAC) && !(TARGET_OS_IPHONE) FSRef ref; OSType folderType = kApplicationSupportFolderType; char path[PATH_MAX]; diff --git a/src/fio.cpp b/src/fio.cpp index 03bd474..2639537 100644 --- a/src/fio.cpp +++ b/src/fio.cpp @@ -29,7 +29,7 @@ size_t fileToMem(const char *filename, char **buffer) { *buffer = (char*)malloc(size*sizeof(char)); if (*buffer == NULL) { LOG(LOG_ERROR) << FUNC_NAME << ": could not allocate " << size << " bytes for asset " << filename; - return NULL; + return 0; } int n = 0; size_t offset = 0; @@ -60,7 +60,7 @@ size_t asset_fileToMem(const char *filename, char **buffer) { *buffer = (char*)malloc(size*sizeof(char)); if (*buffer == NULL) { LOG(LOG_ERROR) << FUNC_NAME << ": could not allocate " << size << " bytes for asset " << filename; - return NULL; + return 0; } int n = 0; size_t offset = 0; diff --git a/src/states/TestState.cpp b/src/states/TestState.cpp index a0aeaf5..31b8eef 100644 --- a/src/states/TestState.cpp +++ b/src/states/TestState.cpp @@ -27,10 +27,13 @@ int TestState::onEvent(SDL_Event event) { LOG(LOG_INFO) << "gesture: " << event.mgesture.x << "x" << event.mgesture.y << ", rot:" << event.mgesture.dTheta << ", pinch:" << event.mgesture.dDist << ", fingers:" << event.mgesture.numFingers; RenderCamera *camera = scene->getCamera(1); Vec3 camera_pos = camera->getPosition(); - camera_pos.y -= event.mgesture.dDist*256.0f; + + camera_pos.y -= event.mgesture.dDist*128.0f; camera->setPosition(camera_pos.x, camera_pos.y, camera_pos.z); + float yaw = camera->getYaw(); camera->setYaw(yaw - (event.mgesture.dTheta*128.0f)); + camera->doRefresh(); } else if (event.type == SDL_FINGERMOTION) { LOG(LOG_INFO) << "finger: " << event.tfinger.fingerId << " " << event.tfinger.x << "x" << event.tfinger.y << " " << event.tfinger.dx << "x" << event.tfinger.dy; @@ -42,8 +45,8 @@ int TestState::onEvent(SDL_Event event) { /*float x = camera_pos.y * event.tfinger.dx / 0.5; float y = camera_pos.y * event.tfinger.dy / 0.5;*/ LOG(LOG_INFO) << "finger traveled: " << event.tfinger.dx*width << "x" << event.tfinger.dy*height << ", " << (event.tfinger.dx*width)/sysinfo.ydpi << "inx" << (event.tfinger.dy*height)/sysinfo.xdpi << "in"; - float x = (camera_pos.y * (event.tfinger.dx * width / sysinfo.density_dpi)); - float y = (camera_pos.y * (event.tfinger.dy * height / sysinfo.density_dpi)); + float x = (camera_pos.y * (event.tfinger.dx) * 1.5); + float y = (camera_pos.y * (event.tfinger.dy) * 1.5); // This is weird. float yaw = camera->getYaw() * M_PI / 180.0f;