aboutsummaryrefslogtreecommitdiff
path: root/api.h
diff options
context:
space:
mode:
authorGravatar Matthew Wozniak <me@woz.blue> 2024-11-16 22:39:29 -0500
committerGravatar Matthew Wozniak <me@woz.blue> 2024-11-16 22:39:29 -0500
commit983d0be5920f43b281154a167693ceaad86d8da4 (patch)
tree971d36825bf5762c979f21be610cabb04f5b8b27 /api.h
parentde0cd8796d835061898edb3ea89d9a3c84df859f (diff)
downloadrt-983d0be5920f43b281154a167693ceaad86d8da4.tar.gz
rt-983d0be5920f43b281154a167693ceaad86d8da4.zip
add 5288 support
Diffstat (limited to 'api.h')
-rw-r--r--api.h23
1 files changed, 15 insertions, 8 deletions
diff --git a/api.h b/api.h
index df8c191..878b3d0 100644
--- a/api.h
+++ b/api.h
@@ -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