diff --git a/Code/Dokumentation/LevelLoader.uxf b/Code/Dokumentation/LevelLoader.uxf
index 90dcb0f7..b5cef8f0 100644
--- a/Code/Dokumentation/LevelLoader.uxf
+++ b/Code/Dokumentation/LevelLoader.uxf
@@ -4,8 +4,20 @@
com.umlet.element.Relation
- 640
- 256
+ 632
+ 232
+ 88
+ 176
+
+ lt=.
+<Uses
+ 24;24;24;64;72;64;72;160
+
+
+ com.umlet.element.Relation
+
+ 136
+ 232
40
168
@@ -15,20 +27,111 @@
com.umlet.element.Relation
- 840
- 256
- 88
+ 448
+ 496
+ 40
+ 88
+
+ lt=<<<<-
+ 24;72;24;24
+
+
+ com.umlet.element.Relation
+
+ 432
+ 232
+ 40
168
- lt=.
-<Uses
- 24;24;24;64;72;64;72;152
+ lt=<<.
+ 24;24;24;152
com.umlet.element.Class
+
+ 608
+ 216
+ 128
+ 40
+
+ Resource Loader
+<<Dennis>><<Singleton>
+
+
+
+ com.umlet.element.Class
+
+ 232
+ 112
+ 128
+ 40
+
+ GameLogic
+<<Erik>>
+
+
+
+ com.umlet.element.Class
+
+ 120
+ 232
+ 80
+ 24
+
+ Defines
+
+
+
+ com.umlet.element.Class
+
+ 352
+ 568
+ 232
+ 136
+
+ <<Interface>>
+LevelParser
+--
+Functions:
+vector<struct> Parse();
+-
+Privates:
+enum headerType;
+const int FileHeaderSize;
+const int FileVersion;
+
+
+
+
+ com.umlet.element.Relation
+
+ 336
+ 88
+ 136
+ 160
+
+ lt=lt=->>>>
+m1=1..1
+m2=1..1
+Uses>
+ 24;40;80;40;120;40;120;144
+
+
+ com.umlet.element.Relation
560
- 408
+ 496
+ 136
+ 104
+
+ lt=<<<<-
+ 120;24;120;88;24;88
+
+
+ com.umlet.element.Class
+
+ 352
+ 384
232
136
@@ -45,54 +148,79 @@ Privates:
- com.umlet.element.Class
+ com.umlet.element.Relation
- 440
- 136
- 128
- 40
+ 560
+ 600
+ 176
+ 56
- GameLogic
-<<Erik>>
-
+ lt=-
+m1=1..1
+m2=1..1
+Uses>
+ 24;40;160;40
com.umlet.element.Package
- 552
- 368
+ 344
+ 344
584
368
LevelLoader
+
+ com.umlet.element.Relation
+
+ 472
+ 200
+ 152
+ 56
+
+ lt=-
+m1=1..1
+m2=1..1
+Uses>
+ 24;40;136;40
+
com.umlet.element.Class
- 560
- 592
- 232
- 136
+ 416
+ 232
+ 80
+ 24
- <<Interface>>
-Parser
---
-Functions:
-vector<struct> Parse();
--
-Privates:
-enum headerType;
-const int FileHeaderSize;
-const int FileVersion;
+ LevelLoader
com.umlet.element.Class
- 928
- 608
+ 48
+ 384
+ 232
+ 104
+
+ ObjectDefines.h
+<<Header file>>
+--
+Enum ObjectType(static, dynamic, specials);
+.
+Struct static;
+Struct dynamic;
+Struct specials
+
+
+
+ com.umlet.element.Class
+
+ 720
+ 584
200
120
@@ -103,23 +231,23 @@ functions for creating the right structs
- com.umlet.element.Relation
+ com.umlet.element.Package
- 768
- 520
- 136
- 104
+ 40
+ 344
+ 248
+ 160
- lt=<<<<-
- 120;24;120;88;24;88
+ Defines
+
com.umlet.element.Class
- 800
- 408
+ 592
+ 392
208
- 136
+ 128
<<Interface>>
Loader
@@ -135,67 +263,8 @@ Privates:
com.umlet.element.Relation
- 656
- 520
- 40
- 88
-
- lt=<<<<-
- 24;72;24;24
-
-
- com.umlet.element.Class
-
- 328
- 256
- 80
- 24
-
- Defines
-
-
-
- com.umlet.element.Relation
-
- 680
- 224
- 152
- 56
-
- lt=-
-m1=1..1
-m2=1..1
-Uses>
- 24;40;136;40
-
-
- com.umlet.element.Class
-
- 624
- 256
- 80
- 24
-
- LevelLoader
-
-
-
-
- com.umlet.element.Relation
-
- 344
- 256
- 40
- 168
-
- lt=<<.
- 24;24;24;152
-
-
- com.umlet.element.Relation
-
- 384
- 224
+ 176
+ 200
256
56
@@ -205,73 +274,4 @@ m2=1..1
<Knows about
240;40;24;40
-
- com.umlet.element.Relation
-
- 544
- 112
- 136
- 160
-
- lt=lt=->>>>
-m1=1..1
-m2=1..1
-Uses>
- 24;40;80;40;120;40;120;144
-
-
- com.umlet.element.Relation
-
- 768
- 624
- 176
- 56
-
- lt=-
-m1=1..1
-m2=1..1
-Uses>
- 24;40;160;40
-
-
- com.umlet.element.Package
-
- 248
- 368
- 248
- 160
-
- Defines
-
-
-
- com.umlet.element.Class
-
- 256
- 408
- 232
- 104
-
- Defines.h
-<<Header file>>
---
-Enum ObjectType(static, dynamic, specials);
-.
-Struct static;
-Struct dynamic;
-Struct specials
-
-
-
- com.umlet.element.Class
-
- 816
- 240
- 128
- 40
-
- Resource Loader
-<<Dennis>><<Singleton>
-
-
diff --git a/Code/Game/GameLogic/GameLogic.vcxproj b/Code/Game/GameLogic/GameLogic.vcxproj
index df1d09aa..809c82b5 100644
--- a/Code/Game/GameLogic/GameLogic.vcxproj
+++ b/Code/Game/GameLogic/GameLogic.vcxproj
@@ -184,12 +184,12 @@
-
-
+
+
-
-
-
+
+
+
@@ -207,11 +207,11 @@
-
-
-
+
+
+
-
+
diff --git a/Code/Game/GameLogic/LevelLoader.cpp b/Code/Game/GameLogic/LevelLoader/LevelLoader.cpp
similarity index 100%
rename from Code/Game/GameLogic/LevelLoader.cpp
rename to Code/Game/GameLogic/LevelLoader/LevelLoader.cpp
diff --git a/Code/Game/GameLogic/LevelLoader.h b/Code/Game/GameLogic/LevelLoader/LevelLoader.h
similarity index 100%
rename from Code/Game/GameLogic/LevelLoader.h
rename to Code/Game/GameLogic/LevelLoader/LevelLoader.h
diff --git a/Code/Game/GameLogic/LevelParser.cpp b/Code/Game/GameLogic/LevelLoader/LevelParser.cpp
similarity index 99%
rename from Code/Game/GameLogic/LevelParser.cpp
rename to Code/Game/GameLogic/LevelLoader/LevelParser.cpp
index a957b88a..08c4da7e 100644
--- a/Code/Game/GameLogic/LevelParser.cpp
+++ b/Code/Game/GameLogic/LevelLoader/LevelParser.cpp
@@ -15,7 +15,6 @@ LevelParser::~LevelParser()
{
}
-//
std::vector LevelParser::Parse(std::string filename)
{
int stringSize = 0;
diff --git a/Code/Game/GameLogic/LevelParser.h b/Code/Game/GameLogic/LevelLoader/LevelParser.h
similarity index 100%
rename from Code/Game/GameLogic/LevelParser.h
rename to Code/Game/GameLogic/LevelLoader/LevelParser.h
diff --git a/Code/Game/GameLogic/Loader.cpp b/Code/Game/GameLogic/LevelLoader/Loader.cpp
similarity index 94%
rename from Code/Game/GameLogic/Loader.cpp
rename to Code/Game/GameLogic/LevelLoader/Loader.cpp
index 0afb48de..26818202 100644
--- a/Code/Game/GameLogic/Loader.cpp
+++ b/Code/Game/GameLogic/LevelLoader/Loader.cpp
@@ -15,6 +15,8 @@ unsigned char* Loader::LoadFile(std::string fileName, int &size)
//convert from wstring to wchar then loads the file
unsigned char* buffer = (unsigned char*)OysterResource::LoadResource(temp.c_str(), Oyster::Resource::ResourceType::ResourceType_Byte_Raw, -1 , false);
+
+ //gets the size of the char buffer.
size = OysterResource::GetResourceSize(buffer);
return buffer;
}
\ No newline at end of file
diff --git a/Code/Game/GameLogic/Loader.h b/Code/Game/GameLogic/LevelLoader/Loader.h
similarity index 88%
rename from Code/Game/GameLogic/Loader.h
rename to Code/Game/GameLogic/LevelLoader/Loader.h
index d77921c5..2d605169 100644
--- a/Code/Game/GameLogic/Loader.h
+++ b/Code/Game/GameLogic/LevelLoader/Loader.h
@@ -5,7 +5,7 @@
#ifndef LOADER_H
#define LOADER_H
-#include "Resource\OysterResource.h"
+#include "..\Misc\Resource\OysterResource.h"
#include
namespace GameLogic
diff --git a/Code/Game/GameLogic/ObjectDefines.h b/Code/Game/GameLogic/LevelLoader/ObjectDefines.h
similarity index 100%
rename from Code/Game/GameLogic/ObjectDefines.h
rename to Code/Game/GameLogic/LevelLoader/ObjectDefines.h
diff --git a/Code/Game/GameLogic/LevelLoader/ParseFunctions.cpp b/Code/Game/GameLogic/LevelLoader/ParseFunctions.cpp
new file mode 100644
index 00000000..abca143c
--- /dev/null
+++ b/Code/Game/GameLogic/LevelLoader/ParseFunctions.cpp
@@ -0,0 +1,55 @@
+//////////////////////////////////
+// Created by Sam Svensson 2013 //
+//////////////////////////////////
+
+#include "ParseFunctions.h"
+#include "../../../Misc/Packing/Packing.h"
+#include
+
+using namespace Oyster::Packing;
+using namespace GameLogic::LevelFileLoader;
+using namespace GameLogic;
+using namespace std;
+
+namespace GameLogic
+{
+ namespace LevelFileLoader
+ {
+ void ParseObject(unsigned char* buffer, void* header, int size)
+ {
+ memcpy(header, buffer, size);
+ }
+
+ void ParseLevelMetaData(unsigned char* buffer, struct LevelMetaData &header)
+ {
+ int start = 0;
+ int tempSize;
+ memcpy(&header.typeID, &buffer[start], 4);
+ start += 4;
+ memcpy(&tempSize , &buffer[start], 4);
+ start += 4;
+ memcpy(&header.levelName, &buffer[start], tempSize);
+ start += tempSize;
+ memcpy(&header.levelVersion, &buffer[start], 8)
+ start += 8;
+ memcpy(&tempSize, &buffer[start], 4);
+ start +=4;
+ memcpy(&header.description, &buffer[start], tempSize);
+ start += tempSize;
+ memcpy(&tempSize, &buffer[start], 4);
+ start += 4;
+ memcpy(&header.author, &buffer[start], tempSize);
+ start += tempSize;
+ memcpy(&header.nrOfPlayers, &buffer[start], 4);
+ start += 4;
+ memcpy(&header.worldSize, &buffer[start], 4);
+ start += 4;
+ memcpy(&header.map, &buffer[start], 4);
+ start += 4;
+ memcpy(&tempSize, &buffer[start], 4);
+ start += 4;
+ memcpy(&header.gameModes, &buffer[start], 4 * tempSize);
+ start += tempSize;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Code/Game/GameLogic/LevelLoader/ParseFunctions.h b/Code/Game/GameLogic/LevelLoader/ParseFunctions.h
new file mode 100644
index 00000000..7a6ab93a
--- /dev/null
+++ b/Code/Game/GameLogic/LevelLoader/ParseFunctions.h
@@ -0,0 +1,19 @@
+//////////////////////////////////
+// Created by Sam Svensson 2013 //
+//////////////////////////////////
+
+#ifndef PARSERFUNCTIONS_H
+#define PARSERFUNCTIONS_H
+#include "ObjectDefines.h"
+
+namespace GameLogic
+{
+ namespace LevelFileLoader
+ {
+ void ParseObject(unsigned char* buffer, void* header, int size);
+ void ParseLevelMetaData(unsigned char* buffer, struct ObjectTypeHeader &header);
+ }
+}
+
+
+#endif
\ No newline at end of file
diff --git a/Code/Game/GameLogic/ParseFunctions.cpp b/Code/Game/GameLogic/ParseFunctions.cpp
deleted file mode 100644
index 64405ff5..00000000
--- a/Code/Game/GameLogic/ParseFunctions.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-//////////////////////////////////
-// Created by Sam Svensson 2013 //
-//////////////////////////////////
-
-#include "ParseFunctions.h"
-#include "../../Misc/Packing/Packing.h"
-#include
-
-using namespace Oyster::Packing;
-using namespace GameLogic::LevelFileLoader;
-using namespace GameLogic;
-using namespace std;
-
-namespace GameLogic
-{
- namespace LevelFileLoader
- {
- ObjectTypeHeader ParseObjectTypeHeader(unsigned char* buffer)
- {
- struct ObjectTypeHeader header;
- memcpy(&header, buffer, sizeof(ObjectTypeHeader));
- return header;
- }
-
- ObjectHeader ParseObjectHeader (unsigned char* buffer)
- {
- struct ObjectHeader header;
- memcpy(&header, buffer, sizeof(ObjectHeader));
-
- return header;
- }
- }
-}
\ No newline at end of file
diff --git a/Code/Game/GameLogic/ParseFunctions.h b/Code/Game/GameLogic/ParseFunctions.h
deleted file mode 100644
index 5638f419..00000000
--- a/Code/Game/GameLogic/ParseFunctions.h
+++ /dev/null
@@ -1,19 +0,0 @@
-//////////////////////////////////
-// Created by Sam Svensson 2013 //
-//////////////////////////////////
-
-#ifndef PARSERFUNCTIONS_H
-#define PARSERFUNCTIONS_H
-#include "ObjectDefines.h"
-
-namespace GameLogic
-{
- namespace LevelFileLoader
- {
- ObjectTypeHeader ParseObjectTypeHeader(unsigned char* buffer); //send in a char buffer, this function will seperate it and then return the right struct with the values.
- ObjectHeader ParseObjectHeader (unsigned char* buffer); //send in a char buffer, this function will seperate it and then return the right struct with the values.
- }
-}
-
-
-#endif
\ No newline at end of file