GL - Fixed ParseFunction so now we only have 1 + specialcases functions instead of 1 function for every case
This commit is contained in:
parent
dd2b214122
commit
d2ebad7445
|
@ -4,8 +4,20 @@
|
||||||
<element>
|
<element>
|
||||||
<type>com.umlet.element.Relation</type>
|
<type>com.umlet.element.Relation</type>
|
||||||
<coordinates>
|
<coordinates>
|
||||||
<x>640</x>
|
<x>632</x>
|
||||||
<y>256</y>
|
<y>232</y>
|
||||||
|
<w>88</w>
|
||||||
|
<h>176</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>lt=.
|
||||||
|
<Uses</panel_attributes>
|
||||||
|
<additional_attributes>24;24;24;64;72;64;72;160</additional_attributes>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<type>com.umlet.element.Relation</type>
|
||||||
|
<coordinates>
|
||||||
|
<x>136</x>
|
||||||
|
<y>232</y>
|
||||||
<w>40</w>
|
<w>40</w>
|
||||||
<h>168</h>
|
<h>168</h>
|
||||||
</coordinates>
|
</coordinates>
|
||||||
|
@ -15,20 +27,111 @@
|
||||||
<element>
|
<element>
|
||||||
<type>com.umlet.element.Relation</type>
|
<type>com.umlet.element.Relation</type>
|
||||||
<coordinates>
|
<coordinates>
|
||||||
<x>840</x>
|
<x>448</x>
|
||||||
<y>256</y>
|
<y>496</y>
|
||||||
<w>88</w>
|
<w>40</w>
|
||||||
|
<h>88</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>lt=<<<<-</panel_attributes>
|
||||||
|
<additional_attributes>24;72;24;24</additional_attributes>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<type>com.umlet.element.Relation</type>
|
||||||
|
<coordinates>
|
||||||
|
<x>432</x>
|
||||||
|
<y>232</y>
|
||||||
|
<w>40</w>
|
||||||
<h>168</h>
|
<h>168</h>
|
||||||
</coordinates>
|
</coordinates>
|
||||||
<panel_attributes>lt=.
|
<panel_attributes>lt=<<.</panel_attributes>
|
||||||
<Uses</panel_attributes>
|
<additional_attributes>24;24;24;152</additional_attributes>
|
||||||
<additional_attributes>24;24;24;64;72;64;72;152</additional_attributes>
|
|
||||||
</element>
|
</element>
|
||||||
<element>
|
<element>
|
||||||
<type>com.umlet.element.Class</type>
|
<type>com.umlet.element.Class</type>
|
||||||
|
<coordinates>
|
||||||
|
<x>608</x>
|
||||||
|
<y>216</y>
|
||||||
|
<w>128</w>
|
||||||
|
<h>40</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>Resource Loader
|
||||||
|
<<Dennis>><<Singleton></panel_attributes>
|
||||||
|
<additional_attributes/>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<type>com.umlet.element.Class</type>
|
||||||
|
<coordinates>
|
||||||
|
<x>232</x>
|
||||||
|
<y>112</y>
|
||||||
|
<w>128</w>
|
||||||
|
<h>40</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>GameLogic
|
||||||
|
<<Erik>></panel_attributes>
|
||||||
|
<additional_attributes/>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<type>com.umlet.element.Class</type>
|
||||||
|
<coordinates>
|
||||||
|
<x>120</x>
|
||||||
|
<y>232</y>
|
||||||
|
<w>80</w>
|
||||||
|
<h>24</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>Defines</panel_attributes>
|
||||||
|
<additional_attributes/>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<type>com.umlet.element.Class</type>
|
||||||
|
<coordinates>
|
||||||
|
<x>352</x>
|
||||||
|
<y>568</y>
|
||||||
|
<w>232</w>
|
||||||
|
<h>136</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes><<Interface>>
|
||||||
|
LevelParser
|
||||||
|
--
|
||||||
|
Functions:
|
||||||
|
vector<struct> Parse();
|
||||||
|
-
|
||||||
|
Privates:
|
||||||
|
enum headerType;
|
||||||
|
const int FileHeaderSize;
|
||||||
|
const int FileVersion;
|
||||||
|
</panel_attributes>
|
||||||
|
<additional_attributes/>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<type>com.umlet.element.Relation</type>
|
||||||
|
<coordinates>
|
||||||
|
<x>336</x>
|
||||||
|
<y>88</y>
|
||||||
|
<w>136</w>
|
||||||
|
<h>160</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>lt=lt=->>>>
|
||||||
|
m1=1..1
|
||||||
|
m2=1..1
|
||||||
|
Uses></panel_attributes>
|
||||||
|
<additional_attributes>24;40;80;40;120;40;120;144</additional_attributes>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<type>com.umlet.element.Relation</type>
|
||||||
<coordinates>
|
<coordinates>
|
||||||
<x>560</x>
|
<x>560</x>
|
||||||
<y>408</y>
|
<y>496</y>
|
||||||
|
<w>136</w>
|
||||||
|
<h>104</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>lt=<<<<-</panel_attributes>
|
||||||
|
<additional_attributes>120;24;120;88;24;88</additional_attributes>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<type>com.umlet.element.Class</type>
|
||||||
|
<coordinates>
|
||||||
|
<x>352</x>
|
||||||
|
<y>384</y>
|
||||||
<w>232</w>
|
<w>232</w>
|
||||||
<h>136</h>
|
<h>136</h>
|
||||||
</coordinates>
|
</coordinates>
|
||||||
|
@ -45,54 +148,79 @@ Privates:
|
||||||
<additional_attributes/>
|
<additional_attributes/>
|
||||||
</element>
|
</element>
|
||||||
<element>
|
<element>
|
||||||
<type>com.umlet.element.Class</type>
|
<type>com.umlet.element.Relation</type>
|
||||||
<coordinates>
|
<coordinates>
|
||||||
<x>440</x>
|
<x>560</x>
|
||||||
<y>136</y>
|
<y>600</y>
|
||||||
<w>128</w>
|
<w>176</w>
|
||||||
<h>40</h>
|
<h>56</h>
|
||||||
</coordinates>
|
</coordinates>
|
||||||
<panel_attributes>GameLogic
|
<panel_attributes>lt=-
|
||||||
<<Erik>></panel_attributes>
|
m1=1..1
|
||||||
<additional_attributes/>
|
m2=1..1
|
||||||
|
Uses></panel_attributes>
|
||||||
|
<additional_attributes>24;40;160;40</additional_attributes>
|
||||||
</element>
|
</element>
|
||||||
<element>
|
<element>
|
||||||
<type>com.umlet.element.Package</type>
|
<type>com.umlet.element.Package</type>
|
||||||
<coordinates>
|
<coordinates>
|
||||||
<x>552</x>
|
<x>344</x>
|
||||||
<y>368</y>
|
<y>344</y>
|
||||||
<w>584</w>
|
<w>584</w>
|
||||||
<h>368</h>
|
<h>368</h>
|
||||||
</coordinates>
|
</coordinates>
|
||||||
<panel_attributes>LevelLoader</panel_attributes>
|
<panel_attributes>LevelLoader</panel_attributes>
|
||||||
<additional_attributes/>
|
<additional_attributes/>
|
||||||
</element>
|
</element>
|
||||||
|
<element>
|
||||||
|
<type>com.umlet.element.Relation</type>
|
||||||
|
<coordinates>
|
||||||
|
<x>472</x>
|
||||||
|
<y>200</y>
|
||||||
|
<w>152</w>
|
||||||
|
<h>56</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>lt=-
|
||||||
|
m1=1..1
|
||||||
|
m2=1..1
|
||||||
|
Uses></panel_attributes>
|
||||||
|
<additional_attributes>24;40;136;40</additional_attributes>
|
||||||
|
</element>
|
||||||
<element>
|
<element>
|
||||||
<type>com.umlet.element.Class</type>
|
<type>com.umlet.element.Class</type>
|
||||||
<coordinates>
|
<coordinates>
|
||||||
<x>560</x>
|
<x>416</x>
|
||||||
<y>592</y>
|
<y>232</y>
|
||||||
<w>232</w>
|
<w>80</w>
|
||||||
<h>136</h>
|
<h>24</h>
|
||||||
</coordinates>
|
</coordinates>
|
||||||
<panel_attributes><<Interface>>
|
<panel_attributes>LevelLoader
|
||||||
Parser
|
|
||||||
--
|
|
||||||
Functions:
|
|
||||||
vector<struct> Parse();
|
|
||||||
-
|
|
||||||
Privates:
|
|
||||||
enum headerType;
|
|
||||||
const int FileHeaderSize;
|
|
||||||
const int FileVersion;
|
|
||||||
</panel_attributes>
|
</panel_attributes>
|
||||||
<additional_attributes/>
|
<additional_attributes/>
|
||||||
</element>
|
</element>
|
||||||
<element>
|
<element>
|
||||||
<type>com.umlet.element.Class</type>
|
<type>com.umlet.element.Class</type>
|
||||||
<coordinates>
|
<coordinates>
|
||||||
<x>928</x>
|
<x>48</x>
|
||||||
<y>608</y>
|
<y>384</y>
|
||||||
|
<w>232</w>
|
||||||
|
<h>104</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>ObjectDefines.h
|
||||||
|
<<Header file>>
|
||||||
|
--
|
||||||
|
Enum ObjectType(static, dynamic, specials);
|
||||||
|
.
|
||||||
|
Struct static;
|
||||||
|
Struct dynamic;
|
||||||
|
Struct specials</panel_attributes>
|
||||||
|
<additional_attributes/>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<type>com.umlet.element.Class</type>
|
||||||
|
<coordinates>
|
||||||
|
<x>720</x>
|
||||||
|
<y>584</y>
|
||||||
<w>200</w>
|
<w>200</w>
|
||||||
<h>120</h>
|
<h>120</h>
|
||||||
</coordinates>
|
</coordinates>
|
||||||
|
@ -103,23 +231,23 @@ functions for creating the right structs</panel_attributes>
|
||||||
<additional_attributes/>
|
<additional_attributes/>
|
||||||
</element>
|
</element>
|
||||||
<element>
|
<element>
|
||||||
<type>com.umlet.element.Relation</type>
|
<type>com.umlet.element.Package</type>
|
||||||
<coordinates>
|
<coordinates>
|
||||||
<x>768</x>
|
<x>40</x>
|
||||||
<y>520</y>
|
<y>344</y>
|
||||||
<w>136</w>
|
<w>248</w>
|
||||||
<h>104</h>
|
<h>160</h>
|
||||||
</coordinates>
|
</coordinates>
|
||||||
<panel_attributes>lt=<<<<-</panel_attributes>
|
<panel_attributes>Defines</panel_attributes>
|
||||||
<additional_attributes>120;24;120;88;24;88</additional_attributes>
|
<additional_attributes/>
|
||||||
</element>
|
</element>
|
||||||
<element>
|
<element>
|
||||||
<type>com.umlet.element.Class</type>
|
<type>com.umlet.element.Class</type>
|
||||||
<coordinates>
|
<coordinates>
|
||||||
<x>800</x>
|
<x>592</x>
|
||||||
<y>408</y>
|
<y>392</y>
|
||||||
<w>208</w>
|
<w>208</w>
|
||||||
<h>136</h>
|
<h>128</h>
|
||||||
</coordinates>
|
</coordinates>
|
||||||
<panel_attributes><<Interface>>
|
<panel_attributes><<Interface>>
|
||||||
Loader
|
Loader
|
||||||
|
@ -135,67 +263,8 @@ Privates:</panel_attributes>
|
||||||
<element>
|
<element>
|
||||||
<type>com.umlet.element.Relation</type>
|
<type>com.umlet.element.Relation</type>
|
||||||
<coordinates>
|
<coordinates>
|
||||||
<x>656</x>
|
<x>176</x>
|
||||||
<y>520</y>
|
<y>200</y>
|
||||||
<w>40</w>
|
|
||||||
<h>88</h>
|
|
||||||
</coordinates>
|
|
||||||
<panel_attributes>lt=<<<<-</panel_attributes>
|
|
||||||
<additional_attributes>24;72;24;24</additional_attributes>
|
|
||||||
</element>
|
|
||||||
<element>
|
|
||||||
<type>com.umlet.element.Class</type>
|
|
||||||
<coordinates>
|
|
||||||
<x>328</x>
|
|
||||||
<y>256</y>
|
|
||||||
<w>80</w>
|
|
||||||
<h>24</h>
|
|
||||||
</coordinates>
|
|
||||||
<panel_attributes>Defines</panel_attributes>
|
|
||||||
<additional_attributes/>
|
|
||||||
</element>
|
|
||||||
<element>
|
|
||||||
<type>com.umlet.element.Relation</type>
|
|
||||||
<coordinates>
|
|
||||||
<x>680</x>
|
|
||||||
<y>224</y>
|
|
||||||
<w>152</w>
|
|
||||||
<h>56</h>
|
|
||||||
</coordinates>
|
|
||||||
<panel_attributes>lt=-
|
|
||||||
m1=1..1
|
|
||||||
m2=1..1
|
|
||||||
Uses></panel_attributes>
|
|
||||||
<additional_attributes>24;40;136;40</additional_attributes>
|
|
||||||
</element>
|
|
||||||
<element>
|
|
||||||
<type>com.umlet.element.Class</type>
|
|
||||||
<coordinates>
|
|
||||||
<x>624</x>
|
|
||||||
<y>256</y>
|
|
||||||
<w>80</w>
|
|
||||||
<h>24</h>
|
|
||||||
</coordinates>
|
|
||||||
<panel_attributes>LevelLoader
|
|
||||||
</panel_attributes>
|
|
||||||
<additional_attributes/>
|
|
||||||
</element>
|
|
||||||
<element>
|
|
||||||
<type>com.umlet.element.Relation</type>
|
|
||||||
<coordinates>
|
|
||||||
<x>344</x>
|
|
||||||
<y>256</y>
|
|
||||||
<w>40</w>
|
|
||||||
<h>168</h>
|
|
||||||
</coordinates>
|
|
||||||
<panel_attributes>lt=<<.</panel_attributes>
|
|
||||||
<additional_attributes>24;24;24;152</additional_attributes>
|
|
||||||
</element>
|
|
||||||
<element>
|
|
||||||
<type>com.umlet.element.Relation</type>
|
|
||||||
<coordinates>
|
|
||||||
<x>384</x>
|
|
||||||
<y>224</y>
|
|
||||||
<w>256</w>
|
<w>256</w>
|
||||||
<h>56</h>
|
<h>56</h>
|
||||||
</coordinates>
|
</coordinates>
|
||||||
|
@ -205,73 +274,4 @@ m2=1..1
|
||||||
<Knows about</panel_attributes>
|
<Knows about</panel_attributes>
|
||||||
<additional_attributes>240;40;24;40</additional_attributes>
|
<additional_attributes>240;40;24;40</additional_attributes>
|
||||||
</element>
|
</element>
|
||||||
<element>
|
|
||||||
<type>com.umlet.element.Relation</type>
|
|
||||||
<coordinates>
|
|
||||||
<x>544</x>
|
|
||||||
<y>112</y>
|
|
||||||
<w>136</w>
|
|
||||||
<h>160</h>
|
|
||||||
</coordinates>
|
|
||||||
<panel_attributes>lt=lt=->>>>
|
|
||||||
m1=1..1
|
|
||||||
m2=1..1
|
|
||||||
Uses></panel_attributes>
|
|
||||||
<additional_attributes>24;40;80;40;120;40;120;144</additional_attributes>
|
|
||||||
</element>
|
|
||||||
<element>
|
|
||||||
<type>com.umlet.element.Relation</type>
|
|
||||||
<coordinates>
|
|
||||||
<x>768</x>
|
|
||||||
<y>624</y>
|
|
||||||
<w>176</w>
|
|
||||||
<h>56</h>
|
|
||||||
</coordinates>
|
|
||||||
<panel_attributes>lt=-
|
|
||||||
m1=1..1
|
|
||||||
m2=1..1
|
|
||||||
Uses></panel_attributes>
|
|
||||||
<additional_attributes>24;40;160;40</additional_attributes>
|
|
||||||
</element>
|
|
||||||
<element>
|
|
||||||
<type>com.umlet.element.Package</type>
|
|
||||||
<coordinates>
|
|
||||||
<x>248</x>
|
|
||||||
<y>368</y>
|
|
||||||
<w>248</w>
|
|
||||||
<h>160</h>
|
|
||||||
</coordinates>
|
|
||||||
<panel_attributes>Defines</panel_attributes>
|
|
||||||
<additional_attributes/>
|
|
||||||
</element>
|
|
||||||
<element>
|
|
||||||
<type>com.umlet.element.Class</type>
|
|
||||||
<coordinates>
|
|
||||||
<x>256</x>
|
|
||||||
<y>408</y>
|
|
||||||
<w>232</w>
|
|
||||||
<h>104</h>
|
|
||||||
</coordinates>
|
|
||||||
<panel_attributes>Defines.h
|
|
||||||
<<Header file>>
|
|
||||||
--
|
|
||||||
Enum ObjectType(static, dynamic, specials);
|
|
||||||
.
|
|
||||||
Struct static;
|
|
||||||
Struct dynamic;
|
|
||||||
Struct specials</panel_attributes>
|
|
||||||
<additional_attributes/>
|
|
||||||
</element>
|
|
||||||
<element>
|
|
||||||
<type>com.umlet.element.Class</type>
|
|
||||||
<coordinates>
|
|
||||||
<x>816</x>
|
|
||||||
<y>240</y>
|
|
||||||
<w>128</w>
|
|
||||||
<h>40</h>
|
|
||||||
</coordinates>
|
|
||||||
<panel_attributes>Resource Loader
|
|
||||||
<<Dennis>><<Singleton></panel_attributes>
|
|
||||||
<additional_attributes/>
|
|
||||||
</element>
|
|
||||||
</diagram>
|
</diagram>
|
||||||
|
|
|
@ -184,12 +184,12 @@
|
||||||
<ClInclude Include="GameMode.h" />
|
<ClInclude Include="GameMode.h" />
|
||||||
<ClInclude Include="IAttatchment.h" />
|
<ClInclude Include="IAttatchment.h" />
|
||||||
<ClInclude Include="Level.h" />
|
<ClInclude Include="Level.h" />
|
||||||
<ClInclude Include="LevelLoader.h" />
|
<ClInclude Include="LevelLoader\LevelLoader.h" />
|
||||||
<ClInclude Include="Loader.h" />
|
<ClInclude Include="LevelLoader\Loader.h" />
|
||||||
<ClInclude Include="Object.h" />
|
<ClInclude Include="Object.h" />
|
||||||
<ClInclude Include="ObjectDefines.h" />
|
<ClInclude Include="LevelLoader\ObjectDefines.h" />
|
||||||
<ClInclude Include="LevelParser.h" />
|
<ClInclude Include="LevelLoader\LevelParser.h" />
|
||||||
<ClInclude Include="ParseFunctions.h" />
|
<ClInclude Include="LevelLoader\ParseFunctions.h" />
|
||||||
<ClInclude Include="Player.h" />
|
<ClInclude Include="Player.h" />
|
||||||
<ClInclude Include="StaticObject.h" />
|
<ClInclude Include="StaticObject.h" />
|
||||||
<ClInclude Include="Team.h" />
|
<ClInclude Include="Team.h" />
|
||||||
|
@ -207,11 +207,11 @@
|
||||||
<ClCompile Include="Game_PlayerData.cpp" />
|
<ClCompile Include="Game_PlayerData.cpp" />
|
||||||
<ClCompile Include="IAttatchment.cpp" />
|
<ClCompile Include="IAttatchment.cpp" />
|
||||||
<ClCompile Include="Level.cpp" />
|
<ClCompile Include="Level.cpp" />
|
||||||
<ClCompile Include="LevelLoader.cpp" />
|
<ClCompile Include="LevelLoader\LevelLoader.cpp" />
|
||||||
<ClCompile Include="Loader.cpp" />
|
<ClCompile Include="LevelLoader\Loader.cpp" />
|
||||||
<ClCompile Include="LevelParser.cpp" />
|
<ClCompile Include="LevelLoader\LevelParser.cpp" />
|
||||||
<ClCompile Include="Object.cpp" />
|
<ClCompile Include="Object.cpp" />
|
||||||
<ClCompile Include="ParseFunctions.cpp" />
|
<ClCompile Include="LevelLoader\ParseFunctions.cpp" />
|
||||||
<ClCompile Include="Player.cpp" />
|
<ClCompile Include="Player.cpp" />
|
||||||
<ClCompile Include="StaticObject.cpp" />
|
<ClCompile Include="StaticObject.cpp" />
|
||||||
<ClCompile Include="Team.cpp" />
|
<ClCompile Include="Team.cpp" />
|
||||||
|
|
|
@ -15,7 +15,6 @@ LevelParser::~LevelParser()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
|
||||||
std::vector<ObjectTypeHeader> LevelParser::Parse(std::string filename)
|
std::vector<ObjectTypeHeader> LevelParser::Parse(std::string filename)
|
||||||
{
|
{
|
||||||
int stringSize = 0;
|
int stringSize = 0;
|
|
@ -15,6 +15,8 @@ unsigned char* Loader::LoadFile(std::string fileName, int &size)
|
||||||
|
|
||||||
//convert from wstring to wchar then loads the file
|
//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);
|
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);
|
size = OysterResource::GetResourceSize(buffer);
|
||||||
return buffer;
|
return buffer;
|
||||||
}
|
}
|
|
@ -5,7 +5,7 @@
|
||||||
#ifndef LOADER_H
|
#ifndef LOADER_H
|
||||||
#define LOADER_H
|
#define LOADER_H
|
||||||
|
|
||||||
#include "Resource\OysterResource.h"
|
#include "..\Misc\Resource\OysterResource.h"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace GameLogic
|
namespace GameLogic
|
|
@ -0,0 +1,55 @@
|
||||||
|
//////////////////////////////////
|
||||||
|
// Created by Sam Svensson 2013 //
|
||||||
|
//////////////////////////////////
|
||||||
|
|
||||||
|
#include "ParseFunctions.h"
|
||||||
|
#include "../../../Misc/Packing/Packing.h"
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -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
|
|
@ -1,33 +0,0 @@
|
||||||
//////////////////////////////////
|
|
||||||
// Created by Sam Svensson 2013 //
|
|
||||||
//////////////////////////////////
|
|
||||||
|
|
||||||
#include "ParseFunctions.h"
|
|
||||||
#include "../../Misc/Packing/Packing.h"
|
|
||||||
#include <string>
|
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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
|
|
Loading…
Reference in New Issue