Răsfoiți Sursa

Merge branch 'master' into audio

Conflicts:
	engine/os/android/AndroidDevice.cpp
mikymod 12 ani în urmă
părinte
comite
83ef4e7b8f

+ 0 - 10
engine/Android.mk

@@ -66,17 +66,9 @@ LOCAL_SRC_FILES :=\
 \
 	core/Args.cpp\
 	core/Log.cpp\
-\
-	input/Accelerometer.cpp\
-	input/Keyboard.cpp\
-	input/Mouse.cpp\
-	input/Touch.cpp\
-	input/EventDispatcher.cpp\
-	input/InputManager.cpp\
 \
 	network/BitMessage.cpp\
 \
-	os/OS.cpp\
 	os/android/AndroidOS.cpp\
 	os/android/AndroidDevice.cpp\
 	os/android/OsWindow.cpp\
@@ -117,9 +109,7 @@ LOCAL_SRC_FILES :=\
 \
 	Camera.cpp\
 	Device.cpp\
-	FPSSystem.cpp\
 	ConsoleServer.cpp\
-	EventBuffer.cpp\
 \
 
 LOCAL_C_INCLUDES	:=\

+ 2 - 0
engine/os/OsTypes.h

@@ -27,6 +27,8 @@ OTHER DEALINGS IN THE SOFTWARE.
 #pragma once
 
 #include "Types.h"
+#include "Mouse.h"
+#include "Keyboard.h"
 
 namespace crown
 {

+ 22 - 5
engine/os/android/AndroidDevice.cpp

@@ -28,28 +28,45 @@ OTHER DEALINGS IN THE SOFTWARE.
 #include "Device.h"
 #include "Renderer.h"
 #include "SoundRenderer.h"
+#include "Log.h"
+#include "Allocator.h"
 
 namespace crown
 {
 
+class AndroidDevice : public Device
+{
+public:
+
+	int32_t run(int, char**)
+	{
+		// Do nothing, the game loop is java-side
+	}
+};
+
+static AndroidDevice* g_engine;
+
 //-----------------------------------------------------------------------------
 extern "C" JNIEXPORT void JNICALL Java_crown_android_CrownLib_initCrown(JNIEnv* /*env*/, jobject /*obj*/)
 {
-	crown::init();
+	memory::init();
+	os::init_os();
+
+	g_engine = CE_NEW(default_allocator(), AndroidDevice);
+	set_device(g_engine);
 }
 
 //-----------------------------------------------------------------------------
 extern "C" JNIEXPORT void JNICALL Java_crown_android_CrownLib_shutdownCrown(JNIEnv* /*env*/, jobject /*obj*/)
 {
-	crown::shutdown();
+	CE_DELETE(default_allocator(), g_engine);
+	memory::shutdown();
 }
 
 //-----------------------------------------------------------------------------
 extern "C" JNIEXPORT void JNICALL Java_crown_android_CrownLib_initDevice(JNIEnv* /*env*/, jobject /*obj*/)
 {
-	const char* argv[] = { "crown-android" };
-
-	device()->init(1, (char**)argv);
+	device()->init();
 }
 
 //-----------------------------------------------------------------------------

+ 3 - 3
engine/os/android/AndroidOS.cpp

@@ -39,9 +39,9 @@ OTHER DEALINGS IN THE SOFTWARE.
 #include <unistd.h>
 
 #include "OS.h"
-#include "OsEvents.h"
 #include "Assert.h"
 #include "StringUtils.h"
+#include "OsTypes.h"
 
 namespace crown
 {
@@ -319,7 +319,7 @@ extern "C" JNIEXPORT void JNICALL Java_crown_android_CrownLib_pushTouchEvent(JNI
 	event.x = x;
 	event.y = y;
 
-	os_event_buffer()->push_event((OsEventType)type, &event, sizeof(OsTouchEvent));
+	//os_event_buffer()->push_event((OsEventType)type, &event, sizeof(OsTouchEvent));
 }
 
 //-----------------------------------------------------------------------------
@@ -331,7 +331,7 @@ extern "C" JNIEXPORT void JNICALL Java_crown_android_CrownLib_pushAccelerometerE
 	event.y = y;
 	event.z = z;
 
-	os_event_buffer()->push_event((OsEventType)type, &event, sizeof(OsAccelerometerEvent));
+	//os_event_buffer()->push_event((OsEventType)type, &event, sizeof(OsAccelerometerEvent));
 }
 
 } // namespace crown

+ 1 - 1
engine/os/android/OsWindow.cpp

@@ -35,7 +35,7 @@ namespace crown
 ANativeWindow* g_android_window = NULL;
 
 //-----------------------------------------------------------------------------
-OsWindow::OsWindow(uint32_t /*width*/, uint32_t /*height*/, uint32_t /*parent*/)
+OsWindow::OsWindow()
 	: m_x(0), m_y(0), m_width(0), m_height(0)
 {
 	m_width = ANativeWindow_getWidth(g_android_window);

+ 1 - 1
engine/os/android/OsWindow.h

@@ -38,7 +38,7 @@ class OsWindow
 public:
 
 	/// Stub method, does nothing under Android.
-					OsWindow(uint32_t width, uint32_t height, uint32_t parent);
+					OsWindow();
 					~OsWindow();
 
 	/// Stub method, does nothing under Android.