diff options
author | Matthew Wozniak <me@woz.blue> | 2024-11-03 00:16:00 -0400 |
---|---|---|
committer | Matthew Wozniak <me@woz.blue> | 2024-11-03 00:16:00 -0400 |
commit | d00096fe2ea3dd64cff9878879c077f23a783e4a (patch) | |
tree | 38da364a01d63d8796dc5c38b20ff73539ac1c82 /api.h | |
parent | a2f7e37d8adf2047e1f3b0ea1227ac9d51514783 (diff) | |
download | rt-d00096fe2ea3dd64cff9878879c077f23a783e4a.tar.gz rt-d00096fe2ea3dd64cff9878879c077f23a783e4a.zip |
find videomode
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
|