[fixed]quick fix for ogl-es brunch on WinCE

You discovered a bug in the engine, and you are sure that it is not a problem of your code? Just post it in here. Please read the bug posting guidelines first.
Post Reply
rvl2
Posts: 6
Joined: Sun Aug 23, 2009 10:43 am

[fixed]quick fix for ogl-es brunch on WinCE

Post by rvl2 »

Just to make it compilable after huge 16 sept merge from hybrid.
Bug with missing attribute names (IGUISkin.h) is in trunk too.

Code: Select all

Index: include/IGUISkin.h
===================================================================
--- include/IGUISkin.h	(revision 2695)
+++ include/IGUISkin.h	(working copy)
@@ -174,6 +174,8 @@
 		"ButtonHeight",
 		"TextDistanceX",
 		"TextDistanceY",
+		"TitlebarTextDistanceX",
+		"TitlebarTextDistanceY",
 		0,
 	};
 
Index: include/IrrCompileConfig.h
===================================================================
--- include/IrrCompileConfig.h	(revision 2695)
+++ include/IrrCompileConfig.h	(working copy)
@@ -86,6 +86,7 @@
 #if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__)
 #define _IRR_IPHONE_PLATFORM_
 #define _IRR_COMPILE_WITH_IPHONE_DEVICE_
+#endif
 #if !defined(_IRR_USE_LINUX_DEVICE_) && !defined(_IRR_USE_CONSOLE_DEVICE_) && !defined(_IRR_USE_SDL_DEVICE_)
 #define _IRR_COMPILE_WITH_OSX_DEVICE_
 #endif
Index: source/Irrlicht/CFileSystem.cpp
===================================================================
--- source/Irrlicht/CFileSystem.cpp	(revision 2695)
+++ source/Irrlicht/CFileSystem.cpp	(working copy)
@@ -24,8 +24,8 @@
 #if defined (_IRR_WINDOWS_API_)
 	#if !defined ( _WIN32_WCE )
 		#include <direct.h> // for _chdir
+		#include <io.h> // for _access
 	#endif
-	#include <io.h> // for _access
 #else
 	#if (defined(_IRR_POSIX_API_) || defined(_IRR_OSX_PLATFORM_))
 		#include <stdio.h>
@@ -695,7 +695,22 @@
 	for (u32 i=0; i < FileArchives.size(); ++i)
 		if (FileArchives[i]->getFileList()->findFile(filename)!=-1)
 			return true;
-
+#if defined(WINCE)
+#if defined(_IRR_WCHAR_FILESYSTEM)
+	HANDLE hFile = CreateFileW(filename.c_str(), GENERIC_READ, FILE_SHARE_READ, NULL,
+	OPEN_EXISTING, 0, NULL);
+#else
+	HANDLE hFile = CreateFileA(filename.c_str(), GENERIC_READ, FILE_SHARE_READ, NULL,
+	OPEN_EXISTING, 0, NULL);
+#endif
+	if (hFile == INVALID_HANDLE_VALUE)
+		return false;
+	else
+	{
+		CloseHandle(hFile);
+		return true;
+	}
+#else
 	_IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
 #if defined(_IRR_WCHAR_FILESYSTEM)
 	return (_waccess(filename.c_str(), 0) != -1);
@@ -704,6 +719,7 @@
 #else
 	return (access(filename.c_str(), F_OK) != -1);
 #endif
+#endif
 }
 
 
Index: source/Irrlicht/CGUIFileOpenDialog.cpp
===================================================================
--- source/Irrlicht/CGUIFileOpenDialog.cpp	(revision 2695)
+++ source/Irrlicht/CGUIFileOpenDialog.cpp	(working copy)
@@ -327,7 +327,9 @@
 	FileList = FileSystem->createFileList();
 	core::stringw s;
 
+#if !defined(WINCE)
 	setlocale(LC_ALL,"");
+#endif
 
 	if (FileList)
 	{
Index: source/Irrlicht/CIrrDeviceConsole.cpp
===================================================================
--- source/Irrlicht/CIrrDeviceConsole.cpp	(revision 2695)
+++ source/Irrlicht/CIrrDeviceConsole.cpp	(working copy)
@@ -38,7 +38,7 @@
 	DeviceToClose->closeDevice();
     return TRUE;
 }
-#else
+#elif defined(_IRR_POSIX_API_)
 // sigterm handler
 #include <signal.h>
 
@@ -94,7 +94,7 @@
 	// catch windows close/break signals
 	SetConsoleCtrlHandler((PHANDLER_ROUTINE)ConsoleHandler, TRUE);
 
-#else
+#elif defined(_IRR_POSIX_API_)
 	// catch other signals
     signal(SIGABRT, &sighandler);
 	signal(SIGTERM, &sighandler);
Index: source/Irrlicht/CTarReader.cpp
===================================================================
--- source/Irrlicht/CTarReader.cpp	(revision 2695)
+++ source/Irrlicht/CTarReader.cpp	(working copy)
@@ -10,7 +10,9 @@
 #include "CLimitReadFile.h"
 #include "os.h"
 #include "coreutil.h"
+#if !defined(WINCE)
 #include "errno.h"
+#endif
 
 namespace irr
 {
@@ -202,9 +204,10 @@
 			}
 
 			u32 size = strtoul(sSize.c_str(), NULL, 8);
+#if !defined(WINCE)
 			if (errno == ERANGE)
 				os::Printer::log("File too large", fullPath, ELL_WARNING);
-
+#endif
 			// save start position
 			u32 offset = pos + 512;
 
[/code]
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

I hope I got all fixes for now. Please post an updated list if something's still missing.
Post Reply