From d00096fe2ea3dd64cff9878879c077f23a783e4a Mon Sep 17 00:00:00 2001 From: Matthew Wozniak Date: Sun, 3 Nov 2024 00:16:00 -0400 Subject: find videomode --- api.h | 39 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) (limited to 'api.h') diff --git a/api.h b/api.h index 086ef46..d1afbc2 100644 --- a/api.h +++ b/api.h @@ -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 -- cgit v1.2.3-54-g00ecf