int glow_color; // ssqc
int glow_size; // ssqc
int glow_trail; // ssqc
+ int glowmod; // ssqc / csqc
int gravity; // ssqc
int groundentity; // ssqc / csqc
int hull; // ssqc / csqc
int rendermode; // ssqc - HalfLife support
int scale; // ssqc / csqc
int shadertime; // csqc
+ int skeletonindex; // csqc / ssqc FTE_CSQC_SKELETONOBJECTS / DP_SKELETONOBJECTS
int style; // ssqc
int tag_entity; // ssqc / csqc
int tag_index; // ssqc / csqc
int yaw_speed; // ssqc / csqc
int bouncefactor; // ssqc
int bouncestop; // ssqc
+
+ int solid; // ssqc / csqc (physics)
+ int movetype; // ssqc / csqc (physics)
+ int modelindex; // ssqc / csqc (physics)
+ int mins; // ssqc / csqc (physics)
+ int maxs; // ssqc / csqc (physics)
+ int mass; // ssqc / csqc (physics)
+ int origin; // ssqc / csqc (physics)
+ int velocity; // ssqc / csqc (physics)
+ //int axis_forward; // ssqc / csqc (physics)
+ //int axis_left; // ssqc / csqc (physics)
+ //int axis_up; // ssqc / csqc (physics)
+ //int spinvelocity; // ssqc / csqc (physics)
+ //int angles; // ssqc / csqc (physics)
+ int avelocity; // ssqc / csqc (physics)
+ int jointtype; // ssqc / csqc (physics)
+ int enemy; // ssqc / csqc (physics)
+ int aiment; // ssqc / csqc (physics)
+ int movedir; // ssqc / csqc (physics)
}
prvm_prog_fieldoffsets_t;
int gettaginfo_forward; // ssqc / csqc
int gettaginfo_right; // ssqc / csqc
int gettaginfo_up; // ssqc / csqc
+ int transparent_offset; // csqc
}
prvm_prog_globaloffsets_t;
fssearch_t *opensearches[PRVM_MAX_OPENSEARCHES];
const char * opensearches_origin[PRVM_MAX_OPENSEARCHES];
struct clgecko_s *opengeckoinstances[PRVM_MAX_GECKOINSTANCES];
+ skeleton_t *skeletons[MAX_EDICTS];
// copies of some vars that were former read from sv
int num_edicts;
void (*reset_cmd)(void); // [INIT] used by PRVM_ResetProg
void (*error_cmd)(const char *format, ...) DP_FUNC_PRINTF(1); // [INIT]
+
+ void (*ExecuteProgram)(func_t fnum, const char *errormessage); // pointer to one of the *VM_ExecuteProgram functions
} prvm_prog_t;
extern prvm_prog_t * prog;
void PRVM_Init (void);
-void PRVM_ExecuteProgram (func_t fnum, const char *errormessage);
+void MVM_ExecuteProgram (func_t fnum, const char *errormessage);
+void CLVM_ExecuteProgram (func_t fnum, const char *errormessage);
+void SVVM_ExecuteProgram (func_t fnum, const char *errormessage);
+#define PRVM_ExecuteProgram prog->ExecuteProgram
#define PRVM_Alloc(buffersize) _PRVM_Alloc(buffersize, __FILE__, __LINE__)
#define PRVM_Free(buffer) _PRVM_Free(buffer, __FILE__, __LINE__)
// TODO: fill in the params
//void PRVM_Create();
+void VM_GenerateFrameGroupBlend(framegroupblend_t *framegroupblend, const prvm_edict_t *ed);
+void VM_FrameBlendFromFrameGroupBlend(frameblend_t *frameblend, const framegroupblend_t *framegroupblend, const dp_model_t *model);
+void VM_UpdateEdictSkeleton(prvm_edict_t *ed, const dp_model_t *edmodel, const frameblend_t *frameblend);
+void VM_RemoveEdictSkeleton(prvm_edict_t *ed);
+
#endif