fteqw/plugins/engine.h
Spoike 53a7b3d47c added support for external capture plugins - and using avcodec as a plugin.c.
The ragdoll API is potentially usable now, but still really limited.
Enabled SQL requests by default using sqlite. Note that you'll need the sqlite dll to use this. MySQL should still be usable, but I didn't try. MySQL requires -DUSE_MYSQL to compile it, and a dll and -mysql argument to enable it.
Fixed nacl.
NPFTE plugin now invokes an exe to run the game rather than running the game within the browser.
externvalue builtin now accepts & prefix to return a pointer instead.
Fixed vector autocvars.
uri_get, bufstr_add, bufstr_free, now functional.
QC debugger can now show asm if line numbers are not available.
Added support for QC watchpoints. Use the watchpoint command.
gl_specular now give specular even without rtlights, thankfully not as blatently, but its there.
android will not crash due to supported audio formats, and gles2 can be selected via a cvar (requires full FTEDroidActivity/program restart).

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4152 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-11-27 03:23:19 +00:00

32 lines
1.4 KiB
C

typedef enum uploadfmt_e
{
TF_INVALID,
TF_RGBA32,
TF_BGRA32,
TF_RGBX32,
TF_BGRX32
} uploadfmt_t;
typedef struct
{
void *(QDECL *createdecoder)(char *name); //needed
void *(QDECL *decodeframe)(void *ctx, qboolean nosound, enum uploadfmt_e *fmt, int *width, int *height); //needed
void (QDECL *doneframe)(void *ctx, void *img); //basically a free()
void (QDECL *shutdown)(void *ctx); //probably needed...
void (QDECL *rewind)(void *ctx);
//these are any interactivity functions you might want...
void (QDECL *cursormove) (void *ctx, float posx, float posy); //pos is 0-1
void (QDECL *key) (void *ctx, int code, int unicode, int event); //key event! event=1=down
qboolean (QDECL *setsize) (void *ctx, int width, int height); //updates the desired screen-space size
void (QDECL *getsize) (void *ctx, int *width, int *height); //retrieves the screen-space size
void (QDECL *changestream) (void *ctx, char *streamname); //can be used to accept commands from qc
} media_decoder_funcs_t;
typedef struct
{
void *(QDECL *capture_begin) (char *streamname, int videorate, int width, int height, int *sndkhz, int *sndchannels, int *sndbits);
void (QDECL *capture_video) (void *ctx, void *data, int frame, int width, int height);
void (QDECL *capture_audio) (void *ctx, void *data, int bytes);
void (QDECL *capture_end) (void *ctx);
} media_encoder_funcs_t;