download cliloc.h
Language: C++
LOC: 82
Project Info
Ultima Online Project(uop)
Server: SourceForge
Type: cvs
SourceForge\u\uop\uop\uop\
   acinclude.m4
   aclocal.m4
   action.cc
   action.h
   animation.cc
   animation.h
   artexport.cc
   artfactory.cc
   artfactory.h
   audio.cc
   audio.h
   btree.cc
   btree.h
   cache.h
   cliloc.cc
   cliloc.h
   config.h.in
   configure.in
   cvs2cl.pl
   entity.cc
   entity.h
   gumps.cc
   gumps.h
   interface.cc
   interface.h
   interfacegumps.cc
   interfacegumps.h
   interfacehandler.cc
   interfacehandler.h
   intrface.def
   Makefile.am
   Makefile.in
   message.cc
   message.h
   musicmap.def
   network.cc
   network.h
   patchhandler.cc
   patchhandler.h
   readable.pl
   serverhandler.cc
   serverhandler.h
   sprite.cc
   sprite.h
   stamp-h.in
   texthandler.cc
   texthandler.h
   tiledata.cc
   tiledata.h
   unreadable.pl
   uop.cc
   uop.cfg
   uop.dox
   uop.h
   uopconfig.cc
   uopconfig.h
   uosprite.h
   uostub.pl
   world.cc
   world.h

#ifndef __CLILOC_H__
#define __CLILOC_H__

#include <string>
#include <vector>
#include <list>
#include <SDL/SDL_types.h>

enum classes{
	locForm = 0x464f524d,
	locInfo = 0x494e464f,
	locText = 0x54455854,
	locTime = 0x54494d45,
	locName = 0x4e414d45,
	locData = 0x44415441,
	locLang = 0x4c414e47
};

// temporary function
// TODO: design normla Unicode system
void latin2unicode(string , string &);

class ClInfo
{
	public:
		ClInfo();
		virtual ~ClInfo();
		virtual Uint32 load(Uint8 *);
		virtual Uint16 getLangNumItems();
	protected:
		Uint8 *data;
		Uint32 size;
};

class ClLangInfo : public ClInfo
{
public:
	ClLangInfo();
	~ClLangInfo();
	Uint32 load(Uint8 *);
	Uint16 getLangNumItems();
private:
	string language;
	string formClass;
	Uint8 bytesPerChar;
	Uint16 numberItems;
};

class ClText
{
public:
	ClText();
	virtual ~ClText();
	Uint32 load(Uint8 *);
	string *getString(Uint16);
private:
	vector<string>text;
};

class ClForm
{
	public:
		ClForm();
		virtual ~ClForm();
		virtual Uint32 load(Uint8 *);
		virtual string *getString(Uint16);
	private:
		list<class ClForm *>forms;
};

class ClDataForm : public ClForm
{
public:
	ClDataForm();
	~ClDataForm();
	Uint32 load(Uint8 *);
	string *getString(Uint16);
private:
	list<ClInfo *>infos;
	ClText * text;
};

class Cliloc
{
public:
	Cliloc(string formClass);
	~Cliloc();
	string &getString(Uint16 index);
private:
	list<ClForm *>forms;
	string str;
};

#endif

About Koders | Resources | Downloads | Support | Black Duck | Submit Project | Terms of Service | DMCA | Privacy Policy | Site Map| Contact Us