V-Gears 0
Free Final Fantasy VII engine.
VGears::WorldmapFileSerializer Class Reference

Handles map file serialization. More...

#include <WorldmapFileSerializer.h>

Inheritance diagram for VGears::WorldmapFileSerializer:
Collaboration diagram for VGears::WorldmapFileSerializer:

Classes

struct  Block
 A file block. More...
 
struct  BlockHeader
 Block header of map files. More...
 
struct  BlockMeshHeader
 Block header of a mesh section in map files. More...
 
struct  BlockPart
 Part of a file block. More...
 
struct  BlockTriangle
 A triangle block in a map file. More...
 
struct  Normal
 A normal. More...
 
struct  Vertex
 A vertex. More...
 

Public Types

enum  TriangleWalkMapTypes {
  GRASS = 0 , FOREST = 1 , MOUNTAIN = 2 , SEA_DEEP_WATER = 3 ,
  RIVER_CROSSING = 4 , RIVER = 5 , WATER = 6 , SWAMP = 7 ,
  DESERT = 8 , WASTELAND = 9 , SNOW = 10 , RIVERSIDE = 11 ,
  CLIFF = 12 , COREL_BRIDGE = 13 , WUTAI_BRIDGE = 14 , UNUSED_1 = 15 ,
  HILL_SIDE = 16 , BEACH = 17 , SUBMARINE_PEN = 18 , CANYON = 19 ,
  MOUNTAIN_PASS = 20 , UNKNOWN_1 = 21 , WATERFALL = 22 , UNUSED_2 = 23 ,
  GOLD_SAUCER_DESERT = 24 , JUNGLE = 25 , SEA = 26 , NORTHERND_CAVE = 27 ,
  GOLD_SAUCER_DESERT_BORDER = 28 , BRIDGE_HEAD = 29 , BACK_ENTRANCE = 30 , UNUSED_3 = 31
}
 Type of walkmesh triangle. More...
 

Public Member Functions

 WorldmapFileSerializer ()
 Constructor. More...
 
virtual ~WorldmapFileSerializer ()
 Destructor. More...
 
void ImportWorldmapFile (Ogre::DataStreamPtr &stream, WorldmapFile &dest)
 Imports and parses a map file. More...
 
- Public Member Functions inherited from VGears::Serializer
 Serializer ()
 Constructor. More...
 
virtual ~Serializer ()
 Destructor. More...
 

Public Attributes

std::vector< Blockblocks
 The list of file blocks. More...
 

Additional Inherited Members

- Protected Member Functions inherited from VGears::Serializer
void readObject (Ogre::DataStreamPtr &stream, Ogre::Vector2 &dest)
 Reads an object as a 2 dimensional vector. More...
 
void readObject (Ogre::DataStreamPtr &stream, Ogre::Vector3 &dest)
 Reads an object as a 3 dimensional vector. More...
 
void readObject (Ogre::DataStreamPtr &stream, Ogre::AxisAlignedBox &dest)
 Reads an object as an axis aligned box. More...
 
void readObject (Ogre::DataStreamPtr &stream, Pixel &dest)
 Reads an object as a pixel. More...
 
void ReadChars (Ogre::DataStreamPtr &stream, char *dest, size_t count)
 Reads a stream as text. More...
 
void Read1ByteBool (Ogre::DataStreamPtr &stream, bool &dest)
 Reads one byte from a stream and evaluates it as a boolean. More...
 
void Read2ByteBool (Ogre::DataStreamPtr &stream, bool &dest)
 Reads two bytes from a stream and evaluates them as a boolean. More...
 
void ReadShort (Ogre::DataStreamPtr &stream, uint16 &dest)
 Reads 16 bytes from a stream and evaluates as an unsigned short. More...
 
void ReadInt16 (Ogre::DataStream &stream, sint16 &dest)
 Reads 16 bytes from a stream and evaluates as a signed integer. More...
 
void ReadUInt16 (Ogre::DataStream &stream, uint16 &dest)
 Reads 16 bytes from a stream and evaluates as an unsigned int. More...
 
void ReadInt16 (Ogre::DataStreamPtr &stream, sint16 &dest)
 Reads 16 bytes from a stream and evaluates as a signed integer. More...
 
void ReadUInt16 (Ogre::DataStreamPtr &stream, uint16 &dest)
 Reads 16 bytes from a stream and evaluates as an unsigned int. More...
 
void ReadUInt32 (Ogre::DataStreamPtr &stream, uint32 &dest)
 Reads 32 bytes from a stream and evaluates as an unsigned int. More...
 
void ReadSInt32 (Ogre::DataStreamPtr &stream, sint32 &dest)
 Reads 32 bytes from a stream and evaluates as a signed int. More...
 
void ReadUInt32 (Ogre::DataStream &stream, uint32 &dest)
 Reads 32 bytes from a stream and evaluates as an unsigned int. More...
 
void ReadUInt8 (Ogre::DataStream &stream, uint8 &dest)
 Reads 8 bytes from a stream and evaluates as an unsigned int. More...
 
void ReadUInt8 (Ogre::DataStreamPtr &stream, uint8 &dest)
 Reads 8 bytes from a stream and evaluates as an unsigned int. More...
 
void ReadFloat (Ogre::DataStreamPtr &stream, float &dest)
 Reads bytes from a stream and evaluates them as a float. More...
 
void ReadEndString (Ogre::DataStreamPtr &stream, const String &end_text)
 
String GetLine (Ogre::DataStreamPtr &stream) const
 
- Static Protected Attributes inherited from VGears::Serializer
static const String TAG_COMMENT
 A comment tag. More...
 

Detailed Description

Handles map file serialization.

Member Enumeration Documentation

◆ TriangleWalkMapTypes

Type of walkmesh triangle.

Determines the triangle walkability under different conditions.

Enumerator
GRASS 

Grass.

Most things can go here.

FOREST 

Forest.

No landing here, but anything else goes.

MOUNTAIN 

Mountain.

Chocobos and flying machines only.

SEA_DEEP_WATER 

Deep water.

Only gold chocobo and submarine can go here.

RIVER_CROSSING 

River crossing.

Buggy, Tiny Bronco and water-capable chocobos.

RIVER 

River.

Tiny Bronco and chocobos.

WATER 

Shallow water.

Only Tiny Bronco and chocobos.

SWAMP 

Swamp.

The Midgar zolom can only move in swamp areas.

DESERT 

Desert.

No landing.

WASTELAND 

Wasteland.

Found around Midgar, Wutai and misc other. No landing.

SNOW 

Snow.

Leaves footprints, no landing.

RIVERSIDE 

Riverside.

Beach-like area where river and land meet.

CLIFF 

Cliff.

Sharp drop, usually where the player can be on either side.

COREL_BRIDGE 

Corel bridge.

Tiny bridge over the waterfall from Costa del Sol to Corel.

WUTAI_BRIDGE 

Bridges in Wutai.

Rickety rope bridges south of Wutai.

UNUSED_1 

Unused.

It doesn't seem to be used anywhere in the original data.

HILL_SIDE 

Hill side.

This is the tiny walkable part at the foot of a mountain.

BEACH 

Beach.

Where land and shallow water meet.

SUBMARINE_PEN 

Submarine pens.

The only place where the submarine can be boarded.

CANYON 

Cosmo Canyon area.

The ground in cosmo canyon has this type, walkability seems to be the same as {

See also
Wasteland} (no landing).
MOUNTAIN_PASS 

Mountain pass.

The small path through the mountains connecting Costa del Sol and Corel.

UNKNOWN_1 

Unknown.

Present around bridges, may have some special meaning.

WATERFALL 

Waterfall.

River type where the Tiny Bronco can't go.

UNUSED_2 

Unused.

It doesn't seem to be used anywhere in the original data.

GOLD_SAUCER_DESERT 

Gold Saucer desert.

Special desert type for the Gold Saucer desert.

JUNGLE 

Jungle.

Same walkability as {

See also
FOREST}, used in southern parts of the map.
SEA 

Deep sea.

Special type of deep water, only used in one small spot next to HP-MP cave, possibly related to the underwater map/submarine.

NORTHERND_CAVE 

The northernd cave.

Inside part of the crater, where the Highwind can descend.

GOLD_SAUCER_DESERT_BORDER 

Borders of the Gold Saucer desert.

Narrow strip of land surrounding the golden saucer desert. Probably related to the "quicksand" script.

BRIDGE_HEAD 

Bridge heads.

Small area at both ends of every bridge. May have some special meaning.

BACK_ENTRANCE 

Entrances.

Special type that can be set unwalkable from the script.

UNUSED_3 

Unused.

It doesn't seem to be used anywhere in the original data.

Constructor & Destructor Documentation

◆ WorldmapFileSerializer()

VGears::WorldmapFileSerializer::WorldmapFileSerializer ( )

Constructor.

◆ ~WorldmapFileSerializer()

VGears::WorldmapFileSerializer::~WorldmapFileSerializer ( )
virtual

Destructor.

Member Function Documentation

◆ ImportWorldmapFile()

void VGears::WorldmapFileSerializer::ImportWorldmapFile ( Ogre::DataStreamPtr &  stream,
WorldmapFile dest 
)

Imports and parses a map file.

Parameters
[in]streamMap file contents.
[in]destUnused

Member Data Documentation

◆ blocks

std::vector<Block> VGears::WorldmapFileSerializer::blocks

The list of file blocks.


The documentation for this class was generated from the following files: