diff options
Diffstat (limited to 'api.h')
| -rw-r--r-- | api.h | 39 | 
1 files changed, 37 insertions, 2 deletions
@@ -4,8 +4,10 @@  #ifndef ENGINEAPI_H
  #define ENGINEAPI_H
 -#define INTERFACEVERSION_VENGINESERVER "VEngineServer021"
 +#define VENGINE_SERVER_INTERFACE_VERSION "VEngineServer021"
  #define VENGINE_CLIENT_INTERFACE_VERSION "VEngineClient013"
 +#define VENGINE_LAUNCHER_INTERFACE_VERSION "VENGINE_LAUNCHER_API_VERSION004"
 +#define VENGINE_TOOL_INTERFACE_VERSION	"VENGINETOOL003"
  #include "intdef.h"
 @@ -25,13 +27,42 @@ struct engclient {  	} *vt;
  };
 +struct engineapi {
 +	struct {
 +		usize _pad[7];
 +		void *set_engine_window; 
 +	} *vt;
 +};
 +
 +struct enginetools {
 +	struct {
 +		usize _pad[64];
 +		void *is_recording_movie;
 +	} *vt;
 +};
 +
 +struct movieinfo {
 +	char	name[256];
 +	int		curframe;
 +	int		type;
 +	int		jpeg_quality;
 +};
 +
 +struct videomode {
 +	struct {
 +		usize _pad[22];
 +		void (*__thiscall write_movie_frame)(struct videomode *this,
 +				struct movieinfo *info);
 +	} *vt;
 +};
 +
  struct demoplayer {
  	struct {
  		void *_destructor;
  		void * (*__thiscall get_demo_file)(struct demoplayer *this);
  		int (*__thiscall get_playback_tick)(struct demoplayer *this);
  		int (*__thiscall get_total_ticks)(struct demoplayer *this);
 -		void *_whatisthisihavenoidea;
 +		void *_whatisthisihavenoidea; // TODO
  		bool (*__thiscall start_playback)(struct demoplayer *this,
  				const char *filename, bool as_time_demo);
  		bool (*__thiscall is_playing_back)(struct demoplayer *this);
 @@ -55,7 +86,11 @@ struct demoplayer {  #ifndef NO_EXTERNS
  extern struct engserver *engserver;
  extern struct engclient *engclient;
 +extern struct engineapi *engineapi;
 +extern struct enginetools *enginetools;
  extern struct demoplayer *demoplayer;
 +extern struct videomode **videomode;
 +extern struct movieinfo *movieinfo;
  extern void (*cbuf_addtext)(char *);
  #endif
  | 
