Browse Source

More Windows fixes

Panagiotis Christopoulos Charitos 10 years ago
parent
commit
b82f611fe9
4 changed files with 29 additions and 27 deletions
  1. 1 1
      CMakeLists.txt
  2. 20 20
      src/util/File.cpp
  3. 7 5
      src/util/Logger.cpp
  4. 1 1
      testapp/Main.cpp

+ 1 - 1
CMakeLists.txt

@@ -218,7 +218,7 @@ if(GIT_FOUND)
 
 
 	set(ANKI_REVISION "\"${GIT_COMMIT}\"")
 	set(ANKI_REVISION "\"${GIT_COMMIT}\"")
 else()
 else()
-	set(ANKI_REVISION "-1")
+	set(ANKI_REVISION "\"unknown\"")
 endif()
 endif()
 
 
 #
 #

+ 20 - 20
src/util/File.cpp

@@ -52,12 +52,12 @@ File::~File()
 //==============================================================================
 //==============================================================================
 Error File::open(const CString& filename, OpenFlag flags)
 Error File::open(const CString& filename, OpenFlag flags)
 {
 {
-	ANKI_ASSERT(m_file == nullptr && m_flags == OpenFlag::NONE 
+	ANKI_ASSERT(m_file == nullptr && m_flags == OpenFlag::NONE
 		&& m_type == Type::NONE);
 		&& m_type == Type::NONE);
 
 
 	// Only these flags are accepted
 	// Only these flags are accepted
-	ANKI_ASSERT((flags & (OpenFlag::READ | OpenFlag::WRITE | OpenFlag::APPEND 
-		| OpenFlag::BINARY | OpenFlag::LITTLE_ENDIAN 
+	ANKI_ASSERT((flags & (OpenFlag::READ | OpenFlag::WRITE | OpenFlag::APPEND
+		| OpenFlag::BINARY | OpenFlag::LITTLE_ENDIAN
 		| OpenFlag::BIG_ENDIAN)) != OpenFlag::NONE);
 		| OpenFlag::BIG_ENDIAN)) != OpenFlag::NONE);
 
 
 	// Cannot be both
 	// Cannot be both
@@ -99,8 +99,8 @@ Error File::open(const CString& filename, OpenFlag flags)
 
 
 	if(!err)
 	if(!err)
 	{
 	{
-		// If the open() DIDN'T provided us the file endianess 
-		if((flags & (OpenFlag::BIG_ENDIAN | OpenFlag::LITTLE_ENDIAN)) 
+		// If the open() DIDN'T provided us the file endianess
+		if((flags & (OpenFlag::BIG_ENDIAN | OpenFlag::LITTLE_ENDIAN))
 			== OpenFlag::NONE)
 			== OpenFlag::NONE)
 		{
 		{
 			// Set the machine's endianness
 			// Set the machine's endianness
@@ -109,7 +109,7 @@ Error File::open(const CString& filename, OpenFlag flags)
 		else
 		else
 		{
 		{
 			// Else just make sure that only one of the flags is set
 			// Else just make sure that only one of the flags is set
-			ANKI_ASSERT((flags & OpenFlag::BIG_ENDIAN) 
+			ANKI_ASSERT((flags & OpenFlag::BIG_ENDIAN)
 				!= (flags & OpenFlag::LITTLE_ENDIAN));
 				!= (flags & OpenFlag::LITTLE_ENDIAN));
 		}
 		}
 	}
 	}
@@ -125,15 +125,15 @@ Error File::openCFile(const CString& filename, OpenFlag flags)
 
 
 	if((flags & OpenFlag::READ) != OpenFlag::NONE)
 	if((flags & OpenFlag::READ) != OpenFlag::NONE)
 	{
 	{
-		openMode = "r";
+		openMode = "rb";
 	}
 	}
 	else if((flags & OpenFlag::APPEND) == OpenFlag::APPEND)
 	else if((flags & OpenFlag::APPEND) == OpenFlag::APPEND)
 	{
 	{
-		openMode = "a+";
+		openMode = "a+b";
 	}
 	}
 	else if((flags & OpenFlag::WRITE) != OpenFlag::NONE)
 	else if((flags & OpenFlag::WRITE) != OpenFlag::NONE)
 	{
 	{
-		openMode = "w";
+		openMode = "wb";
 	}
 	}
 	else
 	else
 	{
 	{
@@ -230,12 +230,12 @@ Error File::openAndroidFile(const CString& filename, OpenFlag flags)
 	}
 	}
 
 
 	// Open file
 	// Open file
-	ANKI_ASSERT(gAndroidApp != nullptr && gAndroidApp->activity 
+	ANKI_ASSERT(gAndroidApp != nullptr && gAndroidApp->activity
 		&& gAndroidApp->activity->assetManager);
 		&& gAndroidApp->activity->assetManager);
 
 
 	m_file = AAssetManager_open(
 	m_file = AAssetManager_open(
-		gAndroidApp->activity->assetManager, 
-		&filename[0] + 1, 
+		gAndroidApp->activity->assetManager,
+		&filename[0] + 1,
 		AASSET_MODE_STREAMING);
 		AASSET_MODE_STREAMING);
 
 
 	if(m_file == nullptr)
 	if(m_file == nullptr)
@@ -245,7 +245,7 @@ Error File::openAndroidFile(const CString& filename, OpenFlag flags)
 
 
 	m_flags = flags;
 	m_flags = flags;
 	m_type = Type::SPECIAL;
 	m_type = Type::SPECIAL;
-	
+
 	return ErrorCode::NONE;
 	return ErrorCode::NONE;
 }
 }
 #endif
 #endif
@@ -399,10 +399,10 @@ Error File::readU32(U32& out)
 	ANKI_ASSERT(m_file);
 	ANKI_ASSERT(m_file);
 	ANKI_ASSERT(m_flags != OpenFlag::NONE);
 	ANKI_ASSERT(m_flags != OpenFlag::NONE);
 	ANKI_ASSERT((m_flags & OpenFlag::READ) != OpenFlag::NONE);
 	ANKI_ASSERT((m_flags & OpenFlag::READ) != OpenFlag::NONE);
-	ANKI_ASSERT((m_flags & OpenFlag::BINARY) != OpenFlag::NONE 
+	ANKI_ASSERT((m_flags & OpenFlag::BINARY) != OpenFlag::NONE
 		&& "Should be binary file");
 		&& "Should be binary file");
 	ANKI_ASSERT(
 	ANKI_ASSERT(
-		(m_flags & OpenFlag::BIG_ENDIAN) != (m_flags & OpenFlag::LITTLE_ENDIAN) 
+		(m_flags & OpenFlag::BIG_ENDIAN) != (m_flags & OpenFlag::LITTLE_ENDIAN)
 		&& "One of those 2 should be active");
 		&& "One of those 2 should be active");
 
 
 	Error err = read(&out, sizeof(out));
 	Error err = read(&out, sizeof(out));
@@ -410,16 +410,16 @@ Error File::readU32(U32& out)
 	{
 	{
 		// Copy it
 		// Copy it
 		OpenFlag machineEndianness = getMachineEndianness();
 		OpenFlag machineEndianness = getMachineEndianness();
-		OpenFlag fileEndianness = 
+		OpenFlag fileEndianness =
 			((m_flags & OpenFlag::BIG_ENDIAN) != OpenFlag::NONE)
 			((m_flags & OpenFlag::BIG_ENDIAN) != OpenFlag::NONE)
-			? OpenFlag::BIG_ENDIAN 
+			? OpenFlag::BIG_ENDIAN
 			: OpenFlag::LITTLE_ENDIAN;
 			: OpenFlag::LITTLE_ENDIAN;
 
 
 		if(machineEndianness == fileEndianness)
 		if(machineEndianness == fileEndianness)
 		{
 		{
 			// Same endianness between the file and the machine. Do nothing
 			// Same endianness between the file and the machine. Do nothing
 		}
 		}
-		else if(machineEndianness == OpenFlag::BIG_ENDIAN 
+		else if(machineEndianness == OpenFlag::BIG_ENDIAN
 			&& fileEndianness == OpenFlag::LITTLE_ENDIAN)
 			&& fileEndianness == OpenFlag::LITTLE_ENDIAN)
 		{
 		{
 			U8* c = reinterpret_cast<U8*>(&out);
 			U8* c = reinterpret_cast<U8*>(&out);
@@ -579,7 +579,7 @@ Error File::seek(PtrSize offset, SeekOrigin origin)
 }
 }
 
 
 //==============================================================================
 //==============================================================================
-Error File::identifyFile(const CString& filename, 
+Error File::identifyFile(const CString& filename,
 	char* archiveFilename, PtrSize archiveFilenameLength,
 	char* archiveFilename, PtrSize archiveFilenameLength,
 	CString& filenameInArchive, Type& type)
 	CString& filenameInArchive, Type& type)
 {
 {
@@ -676,7 +676,7 @@ Error File::readAllText(
 	{
 	{
 		err = ErrorCode::FUNCTION_FAILED;
 		err = ErrorCode::FUNCTION_FAILED;
 	}
 	}
-	
+
 	return err;
 	return err;
 }
 }
 
 

+ 7 - 5
src/util/Logger.cpp

@@ -15,7 +15,7 @@
 namespace anki {
 namespace anki {
 
 
 //==============================================================================
 //==============================================================================
-static const Array<const char*, static_cast<U>(Logger::MessageType::COUNT)> 
+static const Array<const char*, static_cast<U>(Logger::MessageType::COUNT)>
 	MSG_TEXT = {{"Info", "Error", "Warning", "Fatal"}};
 	MSG_TEXT = {{"Info", "Error", "Warning", "Fatal"}};
 
 
 //==============================================================================
 //==============================================================================
@@ -99,7 +99,7 @@ void Logger::defaultSystemMessageHandler(void*, const Info& info)
 	}
 	}
 
 
 	fprintf(out, "%s(%s:%d %s) %s: %s\033[0m\n", terminalColor, info.m_file,
 	fprintf(out, "%s(%s:%d %s) %s: %s\033[0m\n", terminalColor, info.m_file,
-		info.m_line, info.m_func, MSG_TEXT[static_cast<U>(info.m_type)], 
+		info.m_line, info.m_func, MSG_TEXT[static_cast<U>(info.m_type)],
 		info.m_msg);
 		info.m_msg);
 #elif ANKI_OS == ANKI_OS_ANDROID
 #elif ANKI_OS == ANKI_OS_ANDROID
 	U32 andMsgType = ANDROID_LOG_INFO;
 	U32 andMsgType = ANDROID_LOG_INFO;
@@ -148,8 +148,10 @@ void Logger::defaultSystemMessageHandler(void*, const Info& info)
 	}
 	}
 
 
 	fprintf(out, "(%s:%d %s) %s: %s\n", info.m_file,
 	fprintf(out, "(%s:%d %s) %s: %s\n", info.m_file,
-		info.m_line, info.m_func, MSG_TEXT[static_cast<U>(info.m_type)], 
+		info.m_line, info.m_func, MSG_TEXT[static_cast<U>(info.m_type)],
 		info.m_msg);
 		info.m_msg);
+
+	fflush(out);
 #endif
 #endif
 }
 }
 
 
@@ -158,8 +160,8 @@ void Logger::fileMessageHandler(void* pfile, const Info& info)
 {
 {
 	File* file = reinterpret_cast<File*>(pfile);
 	File* file = reinterpret_cast<File*>(pfile);
 
 
-	Error err = file->writeText("(%s:%d %s) %s: %s\n", 
-		info.m_file, info.m_line, info.m_func, 
+	Error err = file->writeText("(%s:%d %s) %s: %s\n",
+		info.m_file, info.m_line, info.m_func,
 		MSG_TEXT[static_cast<U>(info.m_type)], info.m_msg);
 		MSG_TEXT[static_cast<U>(info.m_type)], info.m_msg);
 
 
 	if(!err)
 	if(!err)

+ 1 - 1
testapp/Main.cpp

@@ -507,7 +507,7 @@ Error initSubsystems(int argc, char* argv[])
 	config.set("samples", 1);
 	config.set("samples", 1);
 	config.set("tessellation", true);
 	config.set("tessellation", true);
 	//config.set("maxTextureSize", 256);
 	//config.set("maxTextureSize", 256);
-	config.set("fullscreenDesktopResolution", true);
+	config.set("fullscreenDesktopResolution", false);
 	config.set("debugContext", false);
 	config.set("debugContext", false);
 
 
 	app = new App;
 	app = new App;