Chunk_cache Class Reference

#include <chunks.h>

Inheritance diagram for Chunk_cache:

Inheritance graph
[legend]
Collaboration diagram for Chunk_cache:

Collaboration graph
[legend]
List of all members.

Public Member Functions

int is_blocked_fast (int tx, int ty, int lift)

Private Member Functions

 Chunk_cache ()
 ~Chunk_cache ()
int get_num_eggs ()
void set_blocked (int startx, int starty, int endx, int endy, int lift, int ztiles, bool set)
void update_object (Map_chunk *chunk, Game_object *obj, bool add)
void set_egged (Egg_object *egg, Rectangle &tiles, bool add)
void update_egg (Map_chunk *chunk, Egg_object *egg, bool add)
void setup (Map_chunk *chunk)
int get_highest_blocked (int lift, unsigned long tflags)
int get_highest_blocked (int lift, int tx, int ty)
int get_lowest_blocked (int lift, unsigned long tflags)
int get_lowest_blocked (int lift, int tx, int ty)
int is_blocked (int height, int lift, int tx, int ty, int &new_lift, const int move_flags, int max_drop=1, int max_rise=-1)
void activate_eggs (Game_object *obj, Map_chunk *chunk, int tx, int ty, int tz, int from_tx, int from_ty, unsigned short eggbits, bool now)
void activate_eggs (Game_object *obj, Map_chunk *chunk, int tx, int ty, int tz, int from_tx, int from_ty, bool now)
Game_objectfind_door (Tile_coord t)

Private Attributes

Map_chunkobj_list
unsigned long blocked [256]
Egg_vector egg_objects
unsigned short eggs [256]
Game_object_vector doors

Friends

class Map_chunk

Detailed Description

Definition at line 49 of file chunks.h.


Constructor & Destructor Documentation

Chunk_cache::Chunk_cache (  )  [private]

Definition at line 60 of file chunks.cc.

Chunk_cache::~Chunk_cache (  )  [private]

Definition at line 72 of file chunks.cc.


Member Function Documentation

int Chunk_cache::get_num_eggs (  )  [inline, private]

Definition at line 64 of file chunks.h.

References egg_objects.

void Chunk_cache::set_blocked ( int  startx,
int  starty,
int  endx,
int  endy,
int  lift,
int  ztiles,
bool  set 
) [private]

Definition at line 157 of file chunks.cc.

References Clear_blocked_tile(), and Set_blocked_tile().

Referenced by Map_chunk::set_blocked().

Here is the call graph for this function:

void Chunk_cache::update_object ( Map_chunk chunk,
Game_object obj,
bool  add 
) [private]

Definition at line 183 of file chunks.cc.

References Clear_blocked_tile(), Ucscript::frame, Chunk_intersect_iterator::get_next(), Rectangle::h, Exult_server::info, Exult_server::obj, Set_blocked_tile(), Rectangle::w, Rectangle::x, and Rectangle::y.

Here is the call graph for this function:

void Chunk_cache::set_egged ( Egg_object egg,
Rectangle tiles,
bool  add 
) [private]

Definition at line 230 of file chunks.cc.

References c_tiles_per_chunk, Ucscript::egg, Rectangle::h, Rectangle::w, Rectangle::x, and Rectangle::y.

Referenced by Map_chunk::set_egged().

void Chunk_cache::update_egg ( Map_chunk chunk,
Egg_object egg,
bool  add 
) [private]

Definition at line 278 of file chunks.cc.

References Ucscript::egg, Chunk_intersect_iterator::get_next(), Rectangle::h, Rectangle::w, Rectangle::x, and Rectangle::y.

Here is the call graph for this function:

void Chunk_cache::setup ( Map_chunk chunk  )  [private]

Definition at line 323 of file chunks.cc.

References Map_chunk::get_objects(), and Exult_server::obj.

Referenced by Map_chunk::need_cache().

Here is the call graph for this function:

int Chunk_cache::get_highest_blocked ( int  lift,
unsigned long  tflags 
) [inline, private]

Definition at line 345 of file chunks.cc.

Referenced by Map_chunk::get_highest_blocked().

int Chunk_cache::get_highest_blocked ( int  lift,
int  tx,
int  ty 
) [private]

Definition at line 363 of file chunks.cc.

References c_tiles_per_chunk.

int Chunk_cache::get_lowest_blocked ( int  lift,
unsigned long  tflags 
) [inline, private]

Definition at line 378 of file chunks.cc.

Referenced by Map_chunk::get_lowest_blocked().

int Chunk_cache::get_lowest_blocked ( int  lift,
int  tx,
int  ty 
) [private]

Definition at line 397 of file chunks.cc.

References c_tiles_per_chunk.

int Chunk_cache::is_blocked ( int  height,
int  lift,
int  tx,
int  ty,
int &  new_lift,
const int  move_flags,
int  max_drop = 1,
int  max_rise = -1 
) [private]

Definition at line 439 of file chunks.cc.

References c_tiles_per_chunk, Check_terrain(), MOVE_ETHEREAL, MOVE_FLY, MOVE_MAPEDIT, MOVE_NODROP, MOVE_SWIM, and MOVE_WALK.

Referenced by Map_chunk::is_blocked().

Here is the call graph for this function:

void Chunk_cache::activate_eggs ( Game_object obj,
Map_chunk chunk,
int  tx,
int  ty,
int  tz,
int  from_tx,
int  from_ty,
unsigned short  eggbits,
bool  now 
) [private]

Definition at line 549 of file chunks.cc.

References Ucscript::egg, Map_chunk::get_cache(), and Exult_server::obj.

Referenced by Map_chunk::activate_eggs(), and activate_eggs().

Here is the call graph for this function:

void Chunk_cache::activate_eggs ( Game_object obj,
Map_chunk chunk,
int  tx,
int  ty,
int  tz,
int  from_tx,
int  from_ty,
bool  now 
) [inline, private]

Definition at line 108 of file chunks.h.

References activate_eggs(), c_tiles_per_chunk, eggs, and Exult_server::obj.

Here is the call graph for this function:

Game_object * Chunk_cache::find_door ( Tile_coord  t  )  [private]

Definition at line 595 of file chunks.cc.

Referenced by Map_chunk::find_door().

int Chunk_cache::is_blocked_fast ( int  tx,
int  ty,
int  lift 
) [inline]

Definition at line 122 of file chunks.h.

References blocked, and c_tiles_per_chunk.


Friends And Related Function Documentation

friend class Map_chunk [friend]

Definition at line 61 of file chunks.h.


Member Data Documentation

Map_chunk* Chunk_cache::obj_list [private]

Definition at line 51 of file chunks.h.

unsigned long Chunk_cache::blocked[256] [private]

Definition at line 52 of file chunks.h.

Referenced by is_blocked_fast().

Egg_vector Chunk_cache::egg_objects [private]

Definition at line 54 of file chunks.h.

Referenced by get_num_eggs().

unsigned short Chunk_cache::eggs[256] [private]

Definition at line 55 of file chunks.h.

Referenced by activate_eggs().

Game_object_vector Chunk_cache::doors [private]

Definition at line 60 of file chunks.h.


The documentation for this class was generated from the following files:
Generated on Mon Jul 9 14:48:21 2007 for ExultEngine by  doxygen 1.5.1