diff options
Diffstat (limited to 'api.h')
-rw-r--r-- | api.h | 23 |
1 files changed, 15 insertions, 8 deletions
@@ -39,6 +39,7 @@ struct engclient { struct { usize _pad[75]; void (*VIRTUAL is_playing_demo)(struct engclient *this); + void (*VIRTUAL steampipe_is_playing_demo)(struct engclient *this); } *vt; }; @@ -81,6 +82,7 @@ struct audio_device { struct { usize _pad[22]; void *transfer_samples; + void *steampipe_transfer_samples; } *vt; }; @@ -142,9 +144,14 @@ struct videomode { usize _pad[22]; void (*VIRTUAL write_movie_frame)(struct videomode *this, struct movieinfo *info); - usize _pad2[4]; + usize _pad2[3]; + void (*VIRTUAL steampipe_write_movie_frame)(struct videomode *this, + struct movieinfo *info); void (*VIRTUAL read_screen_pixels)(struct videomode *this, int x, int y, int w, int h, void *buf, enum image_format fmt); + usize _pad3; + void (*VIRTUAL steampipe_read_screen_pixels)(struct videomode *this, + int x, int y, int w, int h, void *buf, enum image_format fmt); } *vt; }; @@ -164,14 +171,13 @@ struct demoplayer { /* EPIC HACK: * Snd_WriteLinearBlastStereo16 is an inline asm function that starts with * - * mov ebx,snd_p - * mov edi,snd_out - * mov ecx,snd_linear_count - * mov esi,snd_vol + * mov ebx, snd_p + * mov edi, snd_out + * mov ecx, snd_linear_count + * mov esi, snd_vol * * Luckily for us, these are all the things that we need!!!! - * So, we just use the instructions as a struct so we don't have to copy - * anything. It just works. + * So, we just use the instructions as a struct. */ struct soundstate { u16 _mov_ebx; @@ -195,10 +201,11 @@ extern struct movieinfo *movieinfo; extern void (*cbuf_addtext)(char *); extern void (*snd_recordbuffer)(void); extern struct soundstate *snd; +extern bool steampipe; #endif // initializes required engine apis. returns false on error. -bool api_init(void); +bool api_init(bool steampipe); bool api_find_snd_recordbuffer(void); #endif |