123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- #ifndef GEISS_TEXTURE_MANAGER
- #define GEISS_TEXTURE_MANAGER 1
- #define NUM_TEX 16
- #ifdef _DEBUG
- #define D3D_DEBUG_INFO
- #endif
- #include <d3d9.h>
- #include "ns-eel2/ns-eel.h"
- #include "md_defines.h"
- #define TEXMGR_ERROR_MASK 0x0F
- #define TEXMGR_ERR_SUCCESS 0
- #define TEXMGR_ERR_BAD_INDEX 1
- #define TEXMGR_ERR_FORMAT 8
- #define TEXMGR_ERR_BADFILE 9
- #define TEXMGR_ERR_OUTOFMEM 10
- #define TEXMGR_WARNING_MASK 0xF0
- #define TEXMGR_WARN_ERROR_IN_INIT_CODE 0x10
- #define TEXMGR_WARN_ERROR_IN_REG_CODE 0x20
- typedef struct
- {
- LPDIRECT3DTEXTURE9 pSurface;
- int img_w, img_h;
-
- wchar_t szFileName[512];
- float fStartTime;
- int nStartFrame;
- int nUserData;
-
- char m_szExpr[8192];
- NSEEL_CODEHANDLE m_codehandle;
-
- double *var_time, *var_frame, *var_fps, *var_progress;
- double *var_bass, *var_bass_att, *var_mid, *var_mid_att, *var_treb, *var_treb_att;
-
- double *var_x, *var_y;
- double *var_sx, *var_sy, *var_rot, *var_flipx, *var_flipy;
- double *var_r, *var_g, *var_b, *var_a;
- double *var_blendmode;
- double *var_repeatx, *var_repeaty;
- double *var_done, *var_burn;
- NSEEL_VMCTX tex_eel_ctx;
- }
- td_tex;
- class texmgr
- {
- public:
- texmgr();
- ~texmgr();
-
- void Init(LPDIRECT3DDEVICE9 lpDD);
- int LoadTex(wchar_t *szFilename, int iSlot, char *szInitCode, char *szCode, float time, int frame, unsigned int ck);
- void KillTex(int iSlot);
- void Finish();
-
- td_tex m_tex[NUM_TEX];
-
- protected:
-
-
- void FreeVars(int iSlot);
- void FreeCode(int iSlot);
- void RegisterBuiltInVariables(int iSlot);
- bool RunInitCode(int iSlot, char *szInitCode);
- bool RecompileExpressions(int iSlot);
- void StripLinefeedCharsAndComments(char *src, char *dest);
-
- LPDIRECT3DDEVICE9 m_lpDD;
- };
- #endif
|