diff --git a/include/eepp/version.hpp b/include/eepp/version.hpp index b80322d49..9d2077c69 100644 --- a/include/eepp/version.hpp +++ b/include/eepp/version.hpp @@ -42,6 +42,9 @@ class EE_API Version { /** @return The version codename */ static std::string GetCodename(); + + /** @return The build time of the library */ + static std::string GetBuildTime(); }; } diff --git a/projects/android-project/jni/Android.mk b/projects/android-project/jni/Android.mk index 6a84b5098..70f6c7b70 100644 --- a/projects/android-project/jni/Android.mk +++ b/projects/android-project/jni/Android.mk @@ -1,12 +1,12 @@ -LOCAL_PATH := $(call my-dir) -MY_PATH := $(LOCAL_PATH)/../../../src/eepp -INC_PATH := $(LOCAL_PATH)/../../../include -BASE_PATH := $(LOCAL_PATH)/../../../src +LOCAL_PATH := $(call my-dir) +MY_PATH := $(LOCAL_PATH)/../../../src/eepp +INC_PATH := $(LOCAL_PATH)/../../../include +BASE_PATH := $(LOCAL_PATH)/../../../src -MY_SDL_PATH := $(MY_PATH)/helper/SDL2 -MY_SDL_MAIN_PATH := helper/SDL2/src/main/android/*.c +MY_SDL_PATH := $(MY_PATH)/helper/SDL2 +MY_SDL_MAIN_PATH := helper/SDL2/src/main/android/*.c -MY_C_INCLUDES := \ +MY_C_INCLUDES := \ $(MY_PATH)/helper/openal-soft/include/ \ $(MY_PATH)/helper/freetype2/include \ $(MY_SDL_PATH)/include \ @@ -16,34 +16,33 @@ MY_C_INCLUDES := \ $(MY_PATH)/helper/stb_vorbis \ $(INC_PATH)/eepp/helper/chipmunk -MY_C_FLAGS := -Wl,--undefined=Java_org_libsdl_app_SDLActivity_nativeInit \ - -DANDROID \ - -DANDROID_NDK \ - -DDISABLE_IMPORTGL \ - -Wall \ - -Wno-unknown-pragmas \ - $(EE_GLES_VERSION) \ - -DEE_NO_SNDFILE \ - -D$(EE_SDL_VERSION) \ - -I$(INC_PATH) \ - -I$(BASE_PATH) +MY_C_FLAGS := \ + -Wl,--undefined=Java_org_libsdl_app_SDLActivity_nativeInit \ + -DANDROID \ + -DANDROID_NDK \ + -DDISABLE_IMPORTGL \ + -Wall \ + -Wno-unknown-pragmas \ + $(EE_GLES_VERSION) \ + -DEE_NO_SNDFILE \ + -D$(EE_SDL_VERSION) \ + -I$(INC_PATH) \ + -I$(BASE_PATH) -MY_LDLIBS := $(APP_LDLIBS) +MY_LDLIBS := $(APP_LDLIBS) include $(call all-subdir-makefiles) #*************** EEPP *************** include $(CLEAR_VARS) -LOCAL_PATH := $(MY_PATH) +LOCAL_PATH := $(MY_PATH) -LOCAL_MODULE := eepp +LOCAL_MODULE := eepp -LOCAL_LDLIBS := $(MY_LDLIBS) +LOCAL_CFLAGS := $(MY_C_FLAGS) -LOCAL_CFLAGS := $(MY_C_FLAGS) - -CODE_SRCS := \ +CODE_SRCS := \ helper/SOIL2/src/SOIL2/*.c \ helper/stb_vorbis/*.c \ helper/zlib/*.c \ @@ -54,13 +53,14 @@ CODE_SRCS := \ system/*.cpp \ system/platform/posix/*.cpp \ network/*.cpp \ + network/ssl/*.cpp \ + network/ssl/backend/openssl/*.cpp \ network/platform/unix/*.cpp \ core/*.cpp \ math/*.cpp \ audio/*.cpp \ window/*.cpp \ window/backend/SDL2/*.cpp \ - window/backend/allegro5/*.cpp \ window/platform/null/*.cpp \ graphics/*.cpp \ graphics/renderer/*.cpp \ @@ -69,13 +69,13 @@ CODE_SRCS := \ ui/*.cpp \ ui/tools/*.cpp \ gaming/*.cpp \ - gaming/mapeditor/*.cpp \ - -LOCAL_C_INCLUDES := $(MY_C_INCLUDES) + gaming/mapeditor/*.cpp -LOCAL_SRC_FILES := $(foreach F, $(CODE_SRCS), $(addprefix $(dir $(F)),$(notdir $(wildcard $(LOCAL_PATH)/$(F))))) +LOCAL_C_INCLUDES := $(MY_C_INCLUDES) -LOCAL_STATIC_LIBRARIES := openal SDL2 chipmunk freetype +LOCAL_SRC_FILES := $(foreach F, $(CODE_SRCS), $(addprefix $(dir $(F)),$(notdir $(wildcard $(LOCAL_PATH)/$(F))))) + +LOCAL_STATIC_LIBRARIES := openal SDL2 chipmunk freetype include $(BUILD_STATIC_LIBRARY) #*************** EEPP *************** @@ -83,25 +83,24 @@ include $(BUILD_STATIC_LIBRARY) #*************** CHIPMUNK *************** include $(CLEAR_VARS) -LOCAL_PATH := $(MY_PATH) +LOCAL_PATH := $(MY_PATH) -LOCAL_MODULE := chipmunk +LOCAL_MODULE := chipmunk -LOCAL_CFLAGS := -DANDROID_NDK \ - -DDISABLE_IMPORTGL \ - -std=gnu99 \ - -Wall \ - -Wno-unknown-pragmas +LOCAL_CFLAGS := \ + -DANDROID_NDK \ + -DDISABLE_IMPORTGL \ + -std=gnu99 \ + -Wall \ + -Wno-unknown-pragmas -CHIPMUNK_SRCS := \ +CHIPMUNK_SRCS := \ helper/chipmunk/*.c \ - helper/chipmunk/constraints/*.c \ + helper/chipmunk/constraints/*.c -LOCAL_C_INCLUDES := $(MY_C_INCLUDES) +LOCAL_C_INCLUDES := $(MY_C_INCLUDES) -LOCAL_SRC_FILES := $(foreach F, $(CHIPMUNK_SRCS), $(addprefix $(dir $(F)),$(notdir $(wildcard $(LOCAL_PATH)/$(F))))) - -LOCAL_LDLIBS := -lm +LOCAL_SRC_FILES := $(foreach F, $(CHIPMUNK_SRCS), $(addprefix $(dir $(F)),$(notdir $(wildcard $(LOCAL_PATH)/$(F))))) include $(BUILD_STATIC_LIBRARY) #*************** CHIPMUNK *************** @@ -109,16 +108,16 @@ include $(BUILD_STATIC_LIBRARY) #*************** FREETYPE *************** include $(CLEAR_VARS) -LOCAL_PATH := $(MY_PATH)/helper/freetype2 +LOCAL_PATH := $(MY_PATH)/helper/freetype2 -LOCAL_MODULE := freetype +LOCAL_MODULE := freetype -APP_SUBDIRS := $(patsubst $(LOCAL_PATH)/%, %, $(shell find $(LOCAL_PATH)/src -type d)) +APP_SUBDIRS := $(patsubst $(LOCAL_PATH)/%, %, $(shell find $(LOCAL_PATH)/src -type d)) -LOCAL_C_INCLUDES := $(foreach D, $(APP_SUBDIRS), $(LOCAL_PATH)/$(D)) $(LOCAL_PATH)/include -LOCAL_CFLAGS := -Os -DFT2_BUILD_LIBRARY +LOCAL_C_INCLUDES := $(foreach D, $(APP_SUBDIRS), $(LOCAL_PATH)/$(D)) $(LOCAL_PATH)/include +LOCAL_CFLAGS := -Os -DFT2_BUILD_LIBRARY -LOCAL_SRC_FILES += $(foreach F, $(APP_SUBDIRS), $(addprefix $(F)/,$(notdir $(wildcard $(LOCAL_PATH)/$(F)/*.c)))) +LOCAL_SRC_FILES += $(foreach F, $(APP_SUBDIRS), $(addprefix $(F)/,$(notdir $(wildcard $(LOCAL_PATH)/$(F)/*.c)))) include $(BUILD_STATIC_LIBRARY) #*************** FREETYPE *************** @@ -126,17 +125,15 @@ include $(BUILD_STATIC_LIBRARY) #*************** OPENAL ***************** include $(CLEAR_VARS) -LOCAL_PATH := $(MY_PATH)/helper/openal-soft +LOCAL_PATH := $(MY_PATH)/helper/openal-soft -LOCAL_MODULE := openal +LOCAL_MODULE := openal -LOCAL_CFLAGS := -O3 -DHAVE_CONFIG_H -DAL_ALEXT_PROTOTYPES -DHAVE_OPENSL +LOCAL_CFLAGS := -O3 -DHAVE_CONFIG_H -DAL_ALEXT_PROTOTYPES -DHAVE_OPENSL -LOCAL_C_INCLUDES := $(LOCAL_PATH)/ \ - $(LOCAL_PATH)/include \ - $(LOCAL_PATH)/OpenAL32/Include +LOCAL_C_INCLUDES := $(LOCAL_PATH)/ $(LOCAL_PATH)/include $(LOCAL_PATH)/OpenAL32/Include -LOCAL_SRC_FILES := \ +LOCAL_SRC_FILES := \ $(subst $(LOCAL_PATH)/,, \ $(wildcard $(LOCAL_PATH)/OpenAL32/*.c) \ $(wildcard $(LOCAL_PATH)/Alc/AL*.c) \ @@ -153,7 +150,7 @@ LOCAL_SRC_FILES := \ $(LOCAL_PATH)/Alc/backends/null.c \ $(wildcard $(LOCAL_PATH)/src/video/android/*.c)) -LOCAL_LDLIBS := -llog -lOpenSLES +LOCAL_LDLIBS := -llog -lOpenSLES include $(BUILD_SHARED_LIBRARY) #*************** OPENAL ***************** @@ -161,16 +158,15 @@ include $(BUILD_SHARED_LIBRARY) #**************** SDL 2 *************** include $(CLEAR_VARS) -LOCAL_PATH := $(MY_SDL_PATH) +LOCAL_PATH := $(MY_SDL_PATH) -LOCAL_MODULE := SDL2 +LOCAL_MODULE := SDL2 -LOCAL_C_INCLUDES := $(LOCAL_PATH)/include +LOCAL_C_INCLUDES := $(LOCAL_PATH)/include -LOCAL_CFLAGS := -D__ANDROID__ -DANDROID -DGL_GLEXT_PROTOTYPES \ - $(EE_GLES_VERSION) +LOCAL_CFLAGS := -D__ANDROID__ -DANDROID -DGL_GLEXT_PROTOTYPES $(EE_GLES_VERSION) -LOCAL_SRC_FILES := \ +LOCAL_SRC_FILES := \ $(subst $(LOCAL_PATH)/,, \ $(wildcard $(LOCAL_PATH)/src/*.c) \ $(wildcard $(LOCAL_PATH)/src/audio/*.c) \ @@ -180,6 +176,7 @@ LOCAL_SRC_FILES := \ $(LOCAL_PATH)/src/atomic/SDL_spinlock.c.arm \ $(wildcard $(LOCAL_PATH)/src/core/android/*.c) \ $(wildcard $(LOCAL_PATH)/src/cpuinfo/*.c) \ + $(wildcard $(LOCAL_PATH)/src/dynapi/*.c) \ $(wildcard $(LOCAL_PATH)/src/events/*.c) \ $(wildcard $(LOCAL_PATH)/src/file/*.c) \ $(wildcard $(LOCAL_PATH)/src/haptic/*.c) \ @@ -198,9 +195,8 @@ LOCAL_SRC_FILES := \ $(wildcard $(LOCAL_PATH)/src/timer/*.c) \ $(wildcard $(LOCAL_PATH)/src/timer/unix/*.c) \ $(wildcard $(LOCAL_PATH)/src/video/*.c) \ - $(wildcard $(LOCAL_PATH)/src/video/android/*.c)) - -LOCAL_LDLIBS := $(EE_GLES_LINK) -ldl -llog -landroid + $(wildcard $(LOCAL_PATH)/src/video/android/*.c) \ + $(wildcard $(LOCAL_PATH)/src/test/*.c)) include $(BUILD_STATIC_LIBRARY) #**************** SDL 2 *************** @@ -208,23 +204,23 @@ include $(BUILD_STATIC_LIBRARY) #************* empty_window ************* include $(CLEAR_VARS) -LOCAL_PATH := $(MY_PATH) +LOCAL_PATH := $(MY_PATH) -LOCAL_MODULE := empty_window +LOCAL_MODULE := empty_window -LOCAL_LDLIBS := $(MY_LDLIBS) +LOCAL_LDLIBS := $(MY_LDLIBS) -LOCAL_CFLAGS := $(MY_C_FLAGS) +LOCAL_CFLAGS := $(MY_C_FLAGS) -LOCAL_C_INCLUDES := $(MY_C_INCLUDES) +LOCAL_C_INCLUDES := $(MY_C_INCLUDES) -CORE_SRCS := \ +CORE_SRCS := \ $(MY_SDL_MAIN_PATH) \ ../examples/empty_window/*.cpp -LOCAL_SRC_FILES := $(foreach F, $(CORE_SRCS), $(addprefix $(dir $(F)),$(notdir $(wildcard $(LOCAL_PATH)/$(F))))) +LOCAL_SRC_FILES := $(foreach F, $(CORE_SRCS), $(addprefix $(dir $(F)),$(notdir $(wildcard $(LOCAL_PATH)/$(F))))) -LOCAL_STATIC_LIBRARIES := eepp +LOCAL_STATIC_LIBRARIES := eepp include $(BUILD_SHARED_LIBRARY) #************ empty_window ************ @@ -232,23 +228,23 @@ include $(BUILD_SHARED_LIBRARY) #************* external_shader ************* include $(CLEAR_VARS) -LOCAL_PATH := $(MY_PATH) +LOCAL_PATH := $(MY_PATH) -LOCAL_MODULE := external_shader +LOCAL_MODULE := external_shader -LOCAL_LDLIBS := $(MY_LDLIBS) +LOCAL_LDLIBS := $(MY_LDLIBS) -LOCAL_CFLAGS := $(MY_C_FLAGS) +LOCAL_CFLAGS := $(MY_C_FLAGS) -LOCAL_C_INCLUDES := $(MY_C_INCLUDES) +LOCAL_C_INCLUDES := $(MY_C_INCLUDES) -CORE_SRCS := \ +CORE_SRCS := \ $(MY_SDL_MAIN_PATH) \ ../examples/external_shader/*.cpp -LOCAL_SRC_FILES := $(foreach F, $(CORE_SRCS), $(addprefix $(dir $(F)),$(notdir $(wildcard $(LOCAL_PATH)/$(F))))) +LOCAL_SRC_FILES := $(foreach F, $(CORE_SRCS), $(addprefix $(dir $(F)),$(notdir $(wildcard $(LOCAL_PATH)/$(F))))) -LOCAL_STATIC_LIBRARIES := eepp +LOCAL_STATIC_LIBRARIES := eepp include $(BUILD_SHARED_LIBRARY) #************ external_shader ************ @@ -256,23 +252,23 @@ include $(BUILD_SHARED_LIBRARY) #************* full_test ************* include $(CLEAR_VARS) -LOCAL_PATH := $(MY_PATH) +LOCAL_PATH := $(MY_PATH) -LOCAL_MODULE := main +LOCAL_MODULE := main -LOCAL_LDLIBS := $(MY_LDLIBS) +LOCAL_LDLIBS := $(MY_LDLIBS) -LOCAL_CFLAGS := $(MY_C_FLAGS) +LOCAL_CFLAGS := $(MY_C_FLAGS) -LOCAL_C_INCLUDES := $(MY_C_INCLUDES) +LOCAL_C_INCLUDES := $(MY_C_INCLUDES) -CORE_SRCS := \ +CORE_SRCS := \ $(MY_SDL_MAIN_PATH) \ ../test/*.cpp -LOCAL_SRC_FILES := $(foreach F, $(CORE_SRCS), $(addprefix $(dir $(F)),$(notdir $(wildcard $(LOCAL_PATH)/$(F))))) +LOCAL_SRC_FILES := $(foreach F, $(CORE_SRCS), $(addprefix $(dir $(F)),$(notdir $(wildcard $(LOCAL_PATH)/$(F))))) -LOCAL_STATIC_LIBRARIES := eepp +LOCAL_STATIC_LIBRARIES := eepp include $(BUILD_SHARED_LIBRARY) #************ full_test ************ diff --git a/projects/android-project/jni/Application.mk b/projects/android-project/jni/Application.mk index 0dfd22b24..6246e88fb 100644 --- a/projects/android-project/jni/Application.mk +++ b/projects/android-project/jni/Application.mk @@ -1,24 +1,23 @@ -APP_PROJECT_PATH := $(call my-dir)/.. +APP_PROJECT_PATH := $(call my-dir)/.. -EE_SDL_VERSION := EE_SDL_VERSION_2 +EE_SDL_VERSION := EE_SDL_VERSION_2 -EE_GLES_VERSION := -DEE_GLES2 -DSOIL_GLES2 -DSDL_GLES2 -DEE_GLES1 -DSOIL_GLES1 -DSDL_GLES1 -EE_GLES_LINK := -lGLESv2 -lGLESv1_CM +EE_GLES_VERSION := -DEE_GLES2 -DSOIL_GLES2 -DSDL_GLES2 -DEE_GLES1 -DSOIL_GLES1 -DSDL_GLES1 +EE_GLES_LINK := -lGLESv2 -lGLESv1_CM -APP_STL := stlport_static +APP_STL := stlport_static -APP_LDLIBS := -llog $(EE_GLES_LINK) -lm -lz -lOpenSLES -lEGL -landroid +APP_LDLIBS := -llog $(EE_GLES_LINK) -lm -lz -lOpenSLES -lEGL -landroid #Debug Build -#APP_CFLAGS := -g -DDEBUG -DEE_DEBUG -#APP_OPTIM :=debug +#APP_CFLAGS := -g -DDEBUG -DEE_DEBUG +#APP_OPTIM := debug #Release Build -APP_CFLAGS := -fno-strict-aliasing -O3 -s -DNDEBUG -ffast-math +APP_CFLAGS := -fno-strict-aliasing -O3 -s -DNDEBUG -ffast-math -APP_PLATFORM := android-10 -APP_MODULES := main -APP_ABI := armeabi-v7a x86 +APP_PLATFORM := android-10 +APP_MODULES := main +APP_ABI := armeabi-v7a -APP_CPPFLAGS += -Wno-error=format-security -APP_CFLAGS += -Wno-error=format-security +NDK_TOOLCHAIN_VERSION := 4.8 diff --git a/projects/android-project/res/drawable-xhdpi/ic_launcher.png b/projects/android-project/res/drawable-xhdpi/ic_launcher.png new file mode 100644 index 000000000..e9a354720 Binary files /dev/null and b/projects/android-project/res/drawable-xhdpi/ic_launcher.png differ diff --git a/projects/android-project/res/drawable-xxhdpi/ic_launcher.png b/projects/android-project/res/drawable-xxhdpi/ic_launcher.png new file mode 100644 index 000000000..f23bbff51 Binary files /dev/null and b/projects/android-project/res/drawable-xxhdpi/ic_launcher.png differ diff --git a/src/eepp/core/version.cpp b/src/eepp/core/version.cpp index c6af797f2..133ee7dd4 100644 --- a/src/eepp/core/version.cpp +++ b/src/eepp/core/version.cpp @@ -23,4 +23,8 @@ std::string Version::GetCodename() { return std::string( EEPP_CODENAME ); } +std::string Version::GetBuildTime() { + return std::string( __DATE__ ) + " " + std::string( __TIME__ ); +} + } diff --git a/src/eepp/graphics/renderer/renderergles2.cpp b/src/eepp/graphics/renderer/renderergles2.cpp index c01ff9a50..72afe30ac 100644 --- a/src/eepp/graphics/renderer/renderergles2.cpp +++ b/src/eepp/graphics/renderer/renderergles2.cpp @@ -303,11 +303,11 @@ void RendererGLES2::Enable( unsigned int cap ) { { mPointSpriteEnabled = 1; - cGL::Enable( GL_VERTEX_PROGRAM_POINT_SIZE ); + //cGL::Enable( GL_VERTEX_PROGRAM_POINT_SIZE ); SetShader( EEGLES2_SHADER_POINTSPRITE ); - break; + return; } } @@ -351,11 +351,11 @@ void RendererGLES2::Disable ( unsigned int cap ) { { mPointSpriteEnabled = 0; - cGL::Disable( GL_VERTEX_PROGRAM_POINT_SIZE ); + //cGL::Disable( GL_VERTEX_PROGRAM_POINT_SIZE ); SetShader( EEGLES2_SHADER_BASE ); - break; + return; } } diff --git a/src/eepp/network/http.cpp b/src/eepp/network/http.cpp index d3965c011..45e04a343 100644 --- a/src/eepp/network/http.cpp +++ b/src/eepp/network/http.cpp @@ -164,7 +164,7 @@ void Http::Response::Parse(const std::string& data) { } // Extract the status code from the first line - int status; + int status = InvalidResponse; if (in >> status) { mStatus = static_cast(status); diff --git a/src/eepp/system/log.cpp b/src/eepp/system/log.cpp index c30de4726..3caff59a2 100755 --- a/src/eepp/system/log.cpp +++ b/src/eepp/system/log.cpp @@ -3,7 +3,6 @@ #if EE_PLATFORM == EE_PLATFORM_ANDROID #include - #define ANDROID_LOGI(...) __android_log_print(ANDROID_LOG_INFO , "eepp", __VA_ARGS__) #endif #if defined( EE_COMPILER_MSVC ) @@ -64,7 +63,7 @@ void Log::Write( std::string Text, const bool& newLine ) { if ( mConsoleOutput ) { #if EE_PLATFORM == EE_PLATFORM_ANDROID - ANDROID_LOGI( Text.c_str() ); + __android_log_print( ANDROID_LOG_INFO, "eepp", "%s", Text.c_str() ); #elif defined( EE_COMPILER_MSVC ) OutputDebugString( Text.c_str() ); #else @@ -122,7 +121,7 @@ void Log::Writef( const char* format, ... ) { if ( mConsoleOutput ) { #if EE_PLATFORM == EE_PLATFORM_ANDROID - ANDROID_LOGI( tstr.c_str() ); + __android_log_print( ANDROID_LOG_INFO, "eepp", "%s", tstr.c_str() ); #elif defined( EE_COMPILER_MSVC ) OutputDebugString( tstr.c_str() ); #else diff --git a/src/eepp/ui/tools/textureatlasnew.cpp b/src/eepp/ui/tools/textureatlasnew.cpp index 82bb062fb..9812ffda2 100644 --- a/src/eepp/ui/tools/textureatlasnew.cpp +++ b/src/eepp/ui/tools/textureatlasnew.cpp @@ -121,7 +121,7 @@ void TextureAtlasNew::TextureAtlasSave( const UIEvent * Event ) { std::string FPath( CDL->GetFullPath() ); if ( !FileSystem::IsDirectory( FPath ) ) { - Int32 w,h,b; + Int32 w = 0, h = 0, b; bool Res1 = String::FromString( w, mComboWidth->Text() ); bool Res2 = String::FromString( h, mComboHeight->Text() ); b = static_cast( mPixelSpace->Value() ); diff --git a/src/eepp/window/backend/SDL2/wminfo.cpp b/src/eepp/window/backend/SDL2/wminfo.cpp index 74f0290a3..319382f07 100644 --- a/src/eepp/window/backend/SDL2/wminfo.cpp +++ b/src/eepp/window/backend/SDL2/wminfo.cpp @@ -33,7 +33,10 @@ X11Window WMInfo::GetWindow() { #endif eeWindowHandle WMInfo::GetWindowHandler() { +#if EE_PLATFORM == EE_PLATFORM_WIN || defined( EE_X11_PLATFORM ) || EE_PLATFORM == EE_PLATFORM_MACOSX SDL_SysWMinfo * info = static_cast ( mWMInfo ); +#endif + #if EE_PLATFORM == EE_PLATFORM_WIN return info->info.win.window; #elif defined( EE_X11_PLATFORM ) @@ -45,7 +48,6 @@ eeWindowHandle WMInfo::GetWindowHandler() { #endif } - }}}} #endif diff --git a/src/eepp/window/window.cpp b/src/eepp/window/window.cpp index d1d7de06e..7f52cacb0 100644 --- a/src/eepp/window/window.cpp +++ b/src/eepp/window/window.cpp @@ -378,6 +378,7 @@ void Window::SendVideoResizeCb() { void Window::LogSuccessfulInit(const std::string& BackendName , const std::string&ProcessPath ) { std::string msg( "Engine Initialized Succesfully.\n\tVersion: " + Version::GetVersionName() + " (codename: \"" + Version::GetCodename() + "\")" + + "\n\tBuild time: " + Version::GetBuildTime() + "\n\tOS: " + Sys::GetOSName() + "\n\tArch: " + Sys::GetOSArchitecture() + "\n\tCPU Cores: " + String::ToStr( Sys::GetCPUCount() ) +