Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Doomwad::Animated Class Reference

Inheritance diagram for Doomwad::Animated:

Doomwad::WadEntry List of all members.

Detailed Description

ANIMATED resource.

See also:
Animation WadEntry
ANIMATED is a Boom extension that specifies new animated flats and textures beyond the built-in animations in Doom. This resource is compiled into a simple binary format. Each record is 23 bytes:

1 byte marker specifying the type of animation. 0 is a flat, 1 is a wall texture, 255 terminates the list.
9 byte C-string with name of last flat or texture in animation.
9 byte C-string with name of first flat or texture in animation.
4 byte integer specifying animation speed (number of frames between animations). I think the default is 8, but documentation is sparse...

Definition at line 136 of file animated.hpp.

Public Member Functions

 Animated (const Lump &) throw ()
 Construct from a Lump.
 Animated (void) throw ()
 Default constructor.
virtual bool setFromLump (const Lump &lump) throw ()
 Convert a Lump to this entry.
virtual Lump toLump (void) const throw ()
 Convert this entry to a Lump.
virtual std::string toString (void) const throw ()
 Convert this entry to a std::string.
virtual ~Animated (void) throw ()
 Destructor.

Static Public Attributes

static const std::string NAME = "ANIMATED"
 Name of an entry.


Constructor & Destructor Documentation

Animated::Animated const Lump lump  )  throw ()
 

Construct from a Lump.

Constructs a Animated object given raw Lump data.

Parameters:
lump Source Lump from which to pull animated data.

Definition at line 154 of file animated.cpp.

References setFromLump().


Member Function Documentation

bool Animated::setFromLump const Lump lump  )  throw () [virtual]
 

Convert a Lump to this entry.

Lumps should not know about specific data structures. Those structures know about Lumps, including how to convert from them.

Setting from a Lump involves parsing that Lump's contents to see if they are valid. If they are, then this object will contain what you expect it to. If not, it will return false and the atomic operation will not succeed.

Parameters:
lump Reference to a source Lump object.
Returns:
True if successful, false if not.

Implements Doomwad::WadEntry.

Definition at line 168 of file animated.cpp.

References Doomwad::Animation::read().

Referenced by Animated().

Lump Animated::toLump void   )  const throw () [virtual]
 

Convert this entry to a Lump.

Each subclass must be able to convert itself to a Lump for storage in a Wad.

Returns:
Lump containing the raw file representation of this entry.

Implements Doomwad::WadEntry.

Definition at line 187 of file animated.cpp.

References NAME, and Doomwad::Animation::write().

std::string Animated::toString void   )  const throw () [virtual]
 

Convert this entry to a std::string.

The exact implementation varies by the exact concrete class, but the idea is to convert the entry into a summary to be displayed to the user. Please note that converting to a string may lose information. This is not serialization in the purest sense of the word, this is merely a quick and dirty user-readable summary of the entry.

True serialization is achieved by converting a Lump object and using its stream I/O functions to read and write.

Returns:
std::string containing a summary of this entry.

Implements Doomwad::WadEntry.

Definition at line 203 of file animated.cpp.

References Doomwad::Animation::toString().


Generated on Fri Jun 10 19:38:52 2005 for libdoomwad by  doxygen 1.4.0