Code Search for Developers
 
 
  

peepclient.h from FreePop at Krugle


Show peepclient.h syntax highlighted

/***************************************************************************
                           peepclient.h
                           -------------------
    begin                : Fri Jun 18 2004
    copyright            : (C) 2004 by Brendon Higgins
    email                : freepop-devel@lists.sourceforge.net
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/

#ifndef PEEPCLIENT_H_INCLUDED
#define PEEPCLIENT_H_INCLUDED

#include <entityclient.h>
#include <worldpos.h>

class OverSprite;
class PlayerClient;

/**
 * A peep, client edition.
 */
class PeepClient: public EntityClient {
public:
    /**
     * Constructor.
     */
    PeepClient(WorldClient* w, const Identity& ident, CL_NetPacket &p,
               int reason);

    /**
     * Destructor.
     */
    virtual ~PeepClient();
    
    virtual WorldPos getPos() const;
    virtual bool drawUpdate(const WorldClient* w, unsigned int d);
    virtual void draw(const WorldClient* w) const;
    virtual void playerColourChange(WorldClient* w);
    virtual void predict(const WorldClient* w, unsigned int d);
    virtual void onFullUpdate(WorldClient* w, CL_NetPacket& p);
    virtual void onDestroy(WorldClient* w, int reason);
    virtual void onMessage(WorldClient* w, int m, CL_NetPacket& p);

    /**
     * Load the sprites.
     */
    static void loadSprites();
    
    /**
     * Free the sprites.
     */
    static void freeSprites();
    
private:
    /**
     * Receive a direction message.
     */
    void onDirection(CL_NetPacket& p);
    
    /**
     * Receive a state message.
     */
    void onState(WorldClient* w, CL_NetPacket& p);
    
    /**
     * Receive a strength message.
     */
    void onStrength(CL_NetPacket& p);

    /**
     * Position of this entity.
     */
    WorldPos pos;
    
    /**
     * Where is this entity heading? This should remain normalised.
     */
    WorldPos direction;
    
    /**
     * The player that owns this magnet.
     */
    int ownerSlot;
    
    /**
     * How fit are we?
     */
    float strength;
    
    /**
     * What state are we?
     */
    int state;

    /**
     * Are we the leader?
     */
    bool isLeader;
    
    /**
     * This peep's sprite.
     */
    OverSprite* sprite;
    
    /**
     * The sprite cache.
     */
    static OverSprite* spriteCacheWalking;
    
    /**
     * The sprite cache.
     */
    static OverSprite* spriteCacheBurning;
};

#endif /* ndef PEEPCLIENT_H_INCLUDED */




See more files for this project here

FreePop

FreePop is a multi-platform tile-based game based on the great old game Populous 2 by Bullfrog Productions Ltd., but much improved.

Project homepage: http://sourceforge.net/projects/freepop
Programming language(s): C++
License: other

  Makefile.am
  client.cpp
  client.h
  clientmisc.cpp
  clientmisc.h
  clientstate.cpp
  clientstate.h
  connectstate.cpp
  connectstate.h
  cropsclient.cpp
  cropsclient.h
  entityclient.cpp
  entityclient.h
  entityclientfactory.cpp
  entityclientfactory.h
  firecolumnclient.cpp
  firecolumnclient.h
  gamestate.cpp
  gamestate.h
  loadstate.cpp
  loadstate.h
  mapclient.cpp
  mapclient.h
  maptileclient.cpp
  maptileclient.h
  messagebox.cpp
  messagebox.h
  oversprite.cpp
  oversprite.h
  paintable.cpp
  paintable.h
  pausefader.cpp
  pausefader.h
  peepclient.cpp
  peepclient.h
  peepmagnetclient.cpp
  peepmagnetclient.h
  playerclient.cpp
  playerclient.h
  playeroptionsdialog.cpp
  playeroptionsdialog.h
  rockclient.cpp
  rockclient.h
  swampclient.cpp
  swampclient.h
  townclient.cpp
  townclient.h
  treeclient.cpp
  treeclient.h
  worldclient.cpp
  worldclient.h