diff --git a/frontend/menu/rgui.c b/frontend/menu/rgui.c index 3bebf6ac6e..247498c418 100644 --- a/frontend/menu/rgui.c +++ b/frontend/menu/rgui.c @@ -498,11 +498,7 @@ static void render_text(rgui_handle_t *rgui) if (!core_version) core_version = ""; -#ifndef __BLACKBERRY_QNX__ snprintf(title_msg, sizeof(title_msg), "%s - %s %s", PACKAGE_VERSION, core_name, core_version); -#else - snprintf(title_msg, sizeof(title_msg), "%s %s", core_name, core_version); -#endif blit_line(rgui, TERM_START_X + 15, (TERM_HEIGHT * FONT_HEIGHT_STRIDE) + TERM_START_Y + 2, title_msg, true); unsigned x = TERM_START_X; diff --git a/general.h b/general.h index 11016128a4..bef77dc703 100644 --- a/general.h +++ b/general.h @@ -38,6 +38,10 @@ #include "config.h" #endif +#ifndef PACKAGE_VERSION +#define PACKAGE_VERSION "0.9.9.4" +#endif + // Platform-specific headers // PS3 #if defined(__CELLOS_LV2__) && !defined(__PSL1GHT__) diff --git a/gfx/context/null_ctx.c b/gfx/context/null_ctx.c new file mode 100644 index 0000000000..7b15f627a9 --- /dev/null +++ b/gfx/context/null_ctx.c @@ -0,0 +1,143 @@ +/* RetroArch - A frontend for libretro. + * Copyright (C) 2010-2013 - Hans-Kristian Arntzen + * Copyright (C) 2011-2013 - Daniel De Matteis + * + * RetroArch is free software: you can redistribute it and/or modify it under the terms + * of the GNU General Public License as published by the Free Software Found- + * ation, either version 3 of the License, or (at your option) any later version. + * + * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with RetroArch. + * If not, see . + */ + +#include "../../driver.h" +#include "../../general.h" +#include "../gfx_common.h" +#include "../gl_common.h" + +#include "../image.h" + +#include "../fonts/gl_font.h" +#include + +#ifdef HAVE_GLSL +#include "../shader_glsl.h" +#endif + +GLfloat _angle; + +static enum gfx_ctx_api g_api; + +static void gfx_ctx_set_swap_interval(unsigned interval) +{ + RARCH_LOG("gfx_ctx_set_swap_interval(%d).\n", interval); +} + +static void gfx_ctx_destroy(void) +{ +} + +static void gfx_ctx_get_video_size(unsigned *width, unsigned *height) +{ +} + +static bool gfx_ctx_init(void) +{ + + return true; +} + +static void gfx_ctx_swap_buffers(void) +{ +} + +static void gfx_ctx_check_window(bool *quit, + bool *resize, unsigned *width, unsigned *height, unsigned frame_count) +{ + (void)frame_count; + + *quit = false; + + unsigned new_width, new_height; + gfx_ctx_get_video_size(&new_width, &new_height); + if (new_width != *width || new_height != *height) + { + *width = new_width; + *height = new_height; + *resize = true; + } + + // Check if we are exiting. + if (g_extern.lifecycle_state & (1ULL << RARCH_QUIT_KEY)) + *quit = true; +} + +static void gfx_ctx_set_resize(unsigned width, unsigned height) +{ + (void)width; + (void)height; +} + +static void gfx_ctx_update_window_title(void) +{ + char buf[128]; + gfx_get_fps(buf, sizeof(buf), false); +} + +static bool gfx_ctx_set_video_mode( + unsigned width, unsigned height, + bool fullscreen) +{ + (void)width; + (void)height; + (void)fullscreen; + return true; +} + + +static void gfx_ctx_input_driver(const input_driver_t **input, void **input_data) +{ + *input = NULL; + *input_data = NULL; +} + +static unsigned gfx_ctx_get_resolution_width(unsigned resolution_id) +{ + int gl_width; + + return gl_width; +} + +static bool gfx_ctx_bind_api(enum gfx_ctx_api api) +{ + g_api = api; + return api == GFX_CTX_OPENGL_ES_API; +} + +static bool gfx_ctx_has_focus(void) +{ + return true; +} + +const gfx_ctx_driver_t gfx_ctx_null = { + gfx_ctx_init, + gfx_ctx_destroy, + gfx_ctx_bind_api, + gfx_ctx_set_swap_interval, + gfx_ctx_set_video_mode, + gfx_ctx_get_video_size, + NULL, + gfx_ctx_update_window_title, + gfx_ctx_check_window, + gfx_ctx_set_resize, + gfx_ctx_has_focus, + gfx_ctx_swap_buffers, + gfx_ctx_input_driver, + NULL, + NULL, + "null", +}; diff --git a/gfx/gfx_context.h b/gfx/gfx_context.h index a7420aba08..861479e564 100644 --- a/gfx/gfx_context.h +++ b/gfx/gfx_context.h @@ -108,6 +108,7 @@ extern const gfx_ctx_driver_t gfx_ctx_wgl; extern const gfx_ctx_driver_t gfx_ctx_videocore; extern const gfx_ctx_driver_t gfx_ctx_bbqnx; extern const gfx_ctx_driver_t gfx_ctx_ios; +extern const gfx_ctx_driver_t gfx_ctx_null; const gfx_ctx_driver_t *gfx_ctx_find_driver(const char *ident); // Finds driver with ident. Does not initialize. const gfx_ctx_driver_t *gfx_ctx_init_first(enum gfx_ctx_api api); // Finds first suitable driver and initializes. diff --git a/griffin/griffin.c b/griffin/griffin.c index fe119c0970..37ec1f0714 100644 --- a/griffin/griffin.c +++ b/griffin/griffin.c @@ -85,10 +85,7 @@ CONFIG FILE #include "../conf/config_file.c" #include "../core_options.c" - -#if defined(__QNX__) || defined(IOS) #include "../core_info.c" -#endif /*============================================================ CHEATS @@ -100,7 +97,6 @@ CHEATS VIDEO CONTEXT ============================================================ */ -#ifdef HAVE_VID_CONTEXT #include "../gfx/gfx_context.c" #if defined(__CELLOS_LV2__) @@ -113,8 +109,8 @@ VIDEO CONTEXT #include "../gfx/context/bbqnx_ctx.c" #elif defined(IOS) #include "../gfx/context/ioseagl_ctx.c" -#endif - +#else +#include "../gfx/context/null_ctx.c" #endif /*============================================================ @@ -417,9 +413,13 @@ MAIN #include "../frontend/frontend_ios.c" #endif -#if (defined(__QNX__) && !defined(HAVE_BB10)) || !defined(RARCH_MOBILE) +#ifndef IS_XCODE +#ifndef RARCH_MOBILE +#ifndef HAVE_BB10 #include "../frontend/frontend.c" #endif +#endif +#endif /*============================================================ RETROARCH diff --git a/osx/RetroArch.xcodeproj/project.pbxproj b/osx/RetroArch.xcodeproj/project.pbxproj index abf3f485de..f53cb8d1ca 100644 --- a/osx/RetroArch.xcodeproj/project.pbxproj +++ b/osx/RetroArch.xcodeproj/project.pbxproj @@ -8,6 +8,9 @@ /* Begin PBXBuildFile section */ 5014454A17858BE60072A543 /* RetroArch.icns in Resources */ = {isa = PBXBuildFile; fileRef = 5014454917858BE60072A543 /* RetroArch.icns */; }; + 5022D5C917859F16008CD69B /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5022D5C817859F16008CD69B /* AudioUnit.framework */; }; + 5022D5CB1785A300008CD69B /* image.c in Sources */ = {isa = PBXBuildFile; fileRef = 5022D5CA1785A300008CD69B /* image.c */; }; + 50AE1AF417858CA000D99603 /* griffin.c in Sources */ = {isa = PBXBuildFile; fileRef = 50AE1AF317858CA000D99603 /* griffin.c */; }; 7409592A0CC826D800261DBF /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 740959290CC826D800261DBF /* Credits.rtf */; }; 745217950CA98A790067AF41 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 745217940CA98A790067AF41 /* OpenGL.framework */; }; 745217CD0CA98B160067AF41 /* GLString.m in Sources */ = {isa = PBXBuildFile; fileRef = 74F0EC690CA98A30009E924F /* GLString.m */; }; @@ -22,6 +25,11 @@ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; 29B97319FDCFA39411CA2CEA /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MainMenu.nib; sourceTree = ""; }; 5014454917858BE60072A543 /* RetroArch.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = RetroArch.icns; sourceTree = ""; }; + 5022D5C817859F16008CD69B /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = ../../../../System/Library/Frameworks/AudioUnit.framework; sourceTree = ""; }; + 5022D5CA1785A300008CD69B /* image.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = image.c; path = ../gfx/image.c; sourceTree = ""; }; + 50AE1AF317858CA000D99603 /* griffin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = griffin.c; path = ../griffin/griffin.c; sourceTree = ""; }; + 50AE1AF517859DEB00D99603 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = ../../../../System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; + 50AE1AF717859DF700D99603 /* CoreAudioKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = ../../../../System/Library/Frameworks/CoreAudioKit.framework; sourceTree = ""; }; 740959290CC826D800261DBF /* Credits.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; path = Credits.rtf; sourceTree = ""; }; 7439218A0CC944C3009BCC59 /* ReadMe.rtfd */ = {isa = PBXFileReference; lastKnownFileType = wrapper.rtfd; path = ReadMe.rtfd; sourceTree = ""; }; 745217940CA98A790067AF41 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; }; @@ -38,6 +46,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 5022D5C917859F16008CD69B /* AudioUnit.framework in Frameworks */, 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */, 745217950CA98A790067AF41 /* OpenGL.framework in Frameworks */, ); @@ -49,6 +58,8 @@ 080E96DDFE201D6D7F000001 /* Classes */ = { isa = PBXGroup; children = ( + 5022D5CA1785A300008CD69B /* image.c */, + 50AE1AF317858CA000D99603 /* griffin.c */, 74F0EC6A0CA98A30009E924F /* GLString.h */, 74F0EC690CA98A30009E924F /* GLString.m */, 74F0EC5B0CA989F9009E924F /* BasicOpenGLView.m */, @@ -84,6 +95,9 @@ 29B97314FDCFA39411CA2CEA /* RetroArch CocoaGL */ = { isa = PBXGroup; children = ( + 5022D5C817859F16008CD69B /* AudioUnit.framework */, + 50AE1AF717859DF700D99603 /* CoreAudioKit.framework */, + 50AE1AF517859DEB00D99603 /* CoreAudio.framework */, 7439218A0CC944C3009BCC59 /* ReadMe.rtfd */, 080E96DDFE201D6D7F000001 /* Classes */, 29B97317FDCFA39411CA2CEA /* Resources */, @@ -180,6 +194,8 @@ files = ( 745217CD0CA98B160067AF41 /* GLString.m in Sources */, 74F0EC5D0CA989F9009E924F /* BasicOpenGLView.m in Sources */, + 50AE1AF417858CA000D99603 /* griffin.c in Sources */, + 5022D5CB1785A300008CD69B /* image.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -214,8 +230,23 @@ GCC_DYNAMIC_NO_PIC = NO; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; + HEADER_SEARCH_PATHS = ../; INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; + OTHER_CFLAGS = ( + "-DWANT_MINIZ", + "-DHAVE_RGUI", + "-DHAVE_GRIFFIN", + "-DIS_XCODE", + "-DHAVE_COREAUDIO", + "-DHAVE_DYNAMIC", + "-DHAVE_FBO", + "-DHAVE_OPENGL", + "-DHAVE_GLSL", + "-DHAVE_NETPLAY", + "-DHAVE_THREADS", + "-DHAVE_STRL", + ); PRODUCT_NAME = RetroArch; SDKROOT = ""; WRAPPER_EXTENSION = app; @@ -230,8 +261,23 @@ COMBINE_HIDPI_IMAGES = YES; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_MODEL_TUNING = G5; + HEADER_SEARCH_PATHS = ../; INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; + OTHER_CFLAGS = ( + "-DWANT_MINIZ", + "-DHAVE_RGUI", + "-DHAVE_GRIFFIN", + "-DIS_XCODE", + "-DHAVE_COREAUDIO", + "-DHAVE_DYNAMIC", + "-DHAVE_FBO", + "-DHAVE_OPENGL", + "-DHAVE_GLSL", + "-DHAVE_NETPLAY", + "-DHAVE_THREADS", + "-DHAVE_STRL", + ); PRODUCT_NAME = RetroArch; SDKROOT = ""; WRAPPER_EXTENSION = app; diff --git a/retroarch.c b/retroarch.c index 1c874c8baf..9c8488ba29 100644 --- a/retroarch.c +++ b/retroarch.c @@ -632,7 +632,7 @@ static void print_compiler(FILE *file) static void print_help(void) { puts("==================================================================="); -#if !defined(__BLACKBERRY_QNX__) && !defined(IOS) +#if !defined(__BLACKBERRY_QNX__) && !defined(IOS) && !defined(IS_XCODE) /* To get around error 'too many decimal points in number - expected ')' before numeric constant */ puts("RetroArch: Frontend for libretro -- v" PACKAGE_VERSION " --"); #endif