aboutsummaryrefslogtreecommitdiff
path: root/archive/include/hgeresource.h
diff options
context:
space:
mode:
authorGravatar Chris Xiong <chirs241097@gmail.com> 2015-10-26 22:52:36 +0800
committerGravatar Chris Xiong <chirs241097@gmail.com> 2015-10-26 22:52:36 +0800
commit3bd383baf6a17e734329e1fc677c7e86283db772 (patch)
tree69a9148087577f797624ceb9c71323a2563d6bb4 /archive/include/hgeresource.h
parent543e4f570be9b279ba558ca61cc02cda251af384 (diff)
downloadbullet-lab-remix-3bd383baf6a17e734329e1fc677c7e86283db772.tar.xz
Added support for relative line numbers.
Added instructions for, brk and cont. (They are still untested...) Parser code cleanup. Removed garbage output to stderr. Reorganize the repository structure. Updated BLR2 code move it into archive. Added BLR1 files.
Diffstat (limited to 'archive/include/hgeresource.h')
-rw-r--r--archive/include/hgeresource.h85
1 files changed, 85 insertions, 0 deletions
diff --git a/archive/include/hgeresource.h b/archive/include/hgeresource.h
new file mode 100644
index 0000000..ace8f21
--- /dev/null
+++ b/archive/include/hgeresource.h
@@ -0,0 +1,85 @@
+/*
+** Haaf's Game Engine 1.7
+** Copyright (C) 2003-2007, Relish Games
+** hge.relishgames.com
+**
+** hgeResourceManager helper class header
+*/
+
+
+#ifndef HGERESOURCE_H
+#define HGERESOURCE_H
+
+
+#include "hge.h"
+#include "hgesprite.h"
+#include "hgeanim.h"
+#include "hgefont.h"
+#include "hgeparticle.h"
+#include "hgedistort.h"
+#include "hgestrings.h"
+
+
+#define RESTYPES 13
+#define MAXRESCHARS 128
+
+
+class hgeResourceManager;
+
+struct ResDesc
+{
+ char name[MAXRESCHARS];
+ int resgroup;
+ size_t handle;
+ ResDesc* next;
+
+ ResDesc() { hge=hgeCreate(HGE_VERSION); }
+ ~ResDesc() { hge->Release(); }
+
+ virtual DWORD Get(hgeResourceManager *rm) = 0;
+ virtual void Free() = 0;
+
+protected:
+ static HGE *hge;
+};
+
+/*
+** HGE Resource manager class
+*/
+class hgeResourceManager
+{
+public:
+ hgeResourceManager(const char *scriptname=0);
+ ~hgeResourceManager();
+
+ void ChangeScript(const char *scriptname=0);
+ bool Precache(int groupid=0);
+ void Purge(int groupid=0);
+
+ void* GetResource(const char *name, int resgroup=0);
+ HTEXTURE GetTexture(const char *name, int resgroup=0);
+ HEFFECT GetEffect(const char *name, int resgroup=0);
+ HMUSIC GetMusic(const char *name, int resgroup=0);
+ HSTREAM GetStream(const char *name, int resgroup=0);
+ HTARGET GetTarget(const char *name);
+
+ hgeSprite* GetSprite(const char *name);
+ hgeAnimation* GetAnimation(const char *name);
+ hgeFont* GetFont(const char *name);
+ hgeParticleSystem* GetParticleSystem(const char *name);
+ hgeDistortionMesh* GetDistortionMesh(const char *name);
+ hgeStringTable* GetStringTable(const char *name, int resgroup=0);
+
+ ResDesc* res[RESTYPES];
+
+private:
+ hgeResourceManager(const hgeResourceManager &);
+ hgeResourceManager& operator= (const hgeResourceManager&);
+ void _remove_all();
+ void _parse_script(const char *scriptname=0);
+
+ static HGE *hge;
+};
+
+
+#endif