git » fp-git.git » master » tree

[master] / PV4 / include / pop1levelformat.h

#ifndef _POP1LEVELFORMAT_H_
#define _POP1LEVELFORMAT_H_

#include <iostream>
#include "guard.h"
#include "tile.h"

using namespace std;

class Pop1LevelFormat:public LevelFormat {

public:

	Pop1LevelFormat::Pop1LevelFormat (iesstream & level, int blockSize);	//open
	Pop1LevelFormat (int levelNumber);	// new

	void save (ostream * level);

	~Pop1LevelFormat ();


	void setTile (int screen, int location, Tile * t);
	Tile *getTile (int screen, int location);

	bool addGuard (int screen, int location, Guard * g);
	bool delGuard (int screen, int location);
	Guard *getGuards (int screen, int number);


	void setRoomLink (int screen, int left, int right, int up, int down);
	void getRoomLink (int screen, int &left, int &right, int &up, int &down);

	void getStartPosition (int &screen, int &location, Direction & direction);
	void setStartPosition (int screen, int location, Direction direction);
	bool getDebugPosition (int &screen, int &location, Direction & direction);
	bool setDebugPosition (int screen, int location, Direction direction);
	void clearDebugPosition ();

	void setDoorEvent (int event, int screen, int location, int next);
	void getDoorEvent (int event, int &screen, int &location, int &next);

private:
	unsigned char *walls;
	unsigned char *backs;
	unsigned char *doorI;
	unsigned char *doorII;
	unsigned char *links;
	unsigned char *uI;
	unsigned char *start_position;
	unsigned char *uII;
	unsigned char *uIII;
	unsigned char *guard_location;
	unsigned char *guard_direction;
	unsigned char *iIVa;
	unsigned char *uIVb;
	unsigned char *guard_skill;
	unsigned char *uIVc;
	unsigned char *guard_colour;
	unsigned char *uIVd;
	unsigned char *uV;
};

#endif