From 8019ad0fae04694431d62b85b15e1d6461e27e35 Mon Sep 17 00:00:00 2001 From: Spoike Date: Tue, 6 Oct 2009 00:47:07 +0000 Subject: [PATCH] so botlib doesn't outright crash. git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3397 fc73d0e0-1445-4013-8a0c-d673dee63da5 --- engine/server/botlib.h | 312 ++++++++++++++++++++--------------------- 1 file changed, 156 insertions(+), 156 deletions(-) diff --git a/engine/server/botlib.h b/engine/server/botlib.h index 687affebd..66f19ad4d 100644 --- a/engine/server/botlib.h +++ b/engine/server/botlib.h @@ -169,39 +169,39 @@ typedef struct bot_entitystate_s typedef struct botlib_import_s { //print messages from the bot library - void (QDECL *Print)(int type, char *fmt, ...); + void (QDECL *Print)(int type, char *fmt, ...) LIKEPRINTF(2); //trace a bbox through the world - void (*Trace)(bsp_trace_t *trace, vec3_t start, vec3_t mins, vec3_t maxs, vec3_t end, int passent, int contentmask); + void (QDECL *Trace)(bsp_trace_t *trace, vec3_t start, vec3_t mins, vec3_t maxs, vec3_t end, int passent, int contentmask); //trace a bbox against a specific entity - void (*EntityTrace)(bsp_trace_t *trace, vec3_t start, vec3_t mins, vec3_t maxs, vec3_t end, int entnum, int contentmask); + void (QDECL *EntityTrace)(bsp_trace_t *trace, vec3_t start, vec3_t mins, vec3_t maxs, vec3_t end, int entnum, int contentmask); //retrieve the contents at the given point - int (*PointContents)(vec3_t point); + int (QDECL *PointContents)(vec3_t point); //check if the point is in potential visible sight - int (*inPVS)(vec3_t p1, vec3_t p2); + int (QDECL *inPVS)(vec3_t p1, vec3_t p2); //retrieve the BSP entity data lump - char *(*BSPEntityData)(void); + char *(QDECL *BSPEntityData)(void); // - void (*BSPModelMinsMaxsOrigin)(int modelnum, vec3_t angles, vec3_t mins, vec3_t maxs, vec3_t origin); + void (QDECL *BSPModelMinsMaxsOrigin)(int modelnum, vec3_t angles, vec3_t mins, vec3_t maxs, vec3_t origin); //send a bot client command - void (*BotClientCommand)(int client, char *command); + void (QDECL *BotClientCommand)(int client, char *command); //memory allocation - void *(*GetMemory)(int size); // allocate from Zone - void (*FreeMemory)(void *ptr); // free memory from Zone - int (*AvailableMemory)(void); // available Zone memory - void *(*HunkAlloc)(int size); // allocate from hunk + void *(QDECL *GetMemory)(int size); // allocate from Zone + void (QDECL *FreeMemory)(void *ptr); // free memory from Zone + int (QDECL *AvailableMemory)(void); // available Zone memory + void *(QDECL *HunkAlloc)(int size); // allocate from hunk //file system access - int (*FS_FOpenFile)( const char *qpath, fileHandle_t *file, fsMode_t mode ); - int (*FS_Read)( void *buffer, int len, fileHandle_t f ); - int (*FS_Write)( const void *buffer, int len, fileHandle_t f ); - void (*FS_FCloseFile)( fileHandle_t f ); - int (*FS_Seek)( fileHandle_t f, long offset, int origin ); + int (QDECL *FS_FOpenFile)( const char *qpath, fileHandle_t *file, fsMode_t mode ); + int (QDECL *FS_Read)( void *buffer, int len, fileHandle_t f ); + int (QDECL *FS_Write)( const void *buffer, int len, fileHandle_t f ); + void (QDECL *FS_FCloseFile)( fileHandle_t f ); + int (QDECL *FS_Seek)( fileHandle_t f, long offset, int origin ); //debug visualisation stuff - int (*DebugLineCreate)(void); - void (*DebugLineDelete)(int line); - void (*DebugLineShow)(int line, vec3_t start, vec3_t end, int color); + int (QDECL *DebugLineCreate)(void); + void (QDECL *DebugLineDelete)(int line); + void (QDECL *DebugLineShow)(int line, vec3_t start, vec3_t end, int color); // - int (*DebugPolygonCreate)(int color, int numPoints, vec3_t *points); - void (*DebugPolygonDelete)(int id); + int (QDECL *DebugPolygonCreate)(int color, int numPoints, vec3_t *points); + void (QDECL *DebugPolygonDelete)(int id); } botlib_import_t; typedef struct aas_export_s @@ -209,53 +209,53 @@ typedef struct aas_export_s //----------------------------------- // be_aas_entity.h //----------------------------------- - void (*AAS_EntityInfo)(int entnum, struct aas_entityinfo_s *info); + void (QDECL *AAS_EntityInfo)(int entnum, struct aas_entityinfo_s *info); //----------------------------------- // be_aas_main.h //----------------------------------- - int (*AAS_Initialized)(void); - void (*AAS_PresenceTypeBoundingBox)(int presencetype, vec3_t mins, vec3_t maxs); - float (*AAS_Time)(void); + int (QDECL *AAS_Initialized)(void); + void (QDECL *AAS_PresenceTypeBoundingBox)(int presencetype, vec3_t mins, vec3_t maxs); + float (QDECL *AAS_Time)(void); //-------------------------------------------- // be_aas_sample.c //-------------------------------------------- - int (*AAS_PointAreaNum)(vec3_t point); - int (*AAS_PointReachabilityAreaIndex)( vec3_t point ); - int (*AAS_TraceAreas)(vec3_t start, vec3_t end, int *areas, vec3_t *points, int maxareas); - int (*AAS_BBoxAreas)(vec3_t absmins, vec3_t absmaxs, int *areas, int maxareas); - int (*AAS_AreaInfo)( int areanum, struct aas_areainfo_s *info ); + int (QDECL *AAS_PointAreaNum)(vec3_t point); + int (QDECL *AAS_PointReachabilityAreaIndex)( vec3_t point ); + int (QDECL *AAS_TraceAreas)(vec3_t start, vec3_t end, int *areas, vec3_t *points, int maxareas); + int (QDECL *AAS_BBoxAreas)(vec3_t absmins, vec3_t absmaxs, int *areas, int maxareas); + int (QDECL *AAS_AreaInfo)( int areanum, struct aas_areainfo_s *info ); //-------------------------------------------- // be_aas_bspq3.c //-------------------------------------------- - int (*AAS_PointContents)(vec3_t point); - int (*AAS_NextBSPEntity)(int ent); - int (*AAS_ValueForBSPEpairKey)(int ent, char *key, char *value, int size); - int (*AAS_VectorForBSPEpairKey)(int ent, char *key, vec3_t v); - int (*AAS_FloatForBSPEpairKey)(int ent, char *key, float *value); - int (*AAS_IntForBSPEpairKey)(int ent, char *key, int *value); + int (QDECL *AAS_PointContents)(vec3_t point); + int (QDECL *AAS_NextBSPEntity)(int ent); + int (QDECL *AAS_ValueForBSPEpairKey)(int ent, char *key, char *value, int size); + int (QDECL *AAS_VectorForBSPEpairKey)(int ent, char *key, vec3_t v); + int (QDECL *AAS_FloatForBSPEpairKey)(int ent, char *key, float *value); + int (QDECL *AAS_IntForBSPEpairKey)(int ent, char *key, int *value); //-------------------------------------------- // be_aas_reach.c //-------------------------------------------- - int (*AAS_AreaReachability)(int areanum); + int (QDECL *AAS_AreaReachability)(int areanum); //-------------------------------------------- // be_aas_route.c //-------------------------------------------- - int (*AAS_AreaTravelTimeToGoalArea)(int areanum, vec3_t origin, int goalareanum, int travelflags); - int (*AAS_EnableRoutingArea)(int areanum, int enable); - int (*AAS_PredictRoute)(struct aas_predictroute_s *route, int areanum, vec3_t origin, + int (QDECL *AAS_AreaTravelTimeToGoalArea)(int areanum, vec3_t origin, int goalareanum, int travelflags); + int (QDECL *AAS_EnableRoutingArea)(int areanum, int enable); + int (QDECL *AAS_PredictRoute)(struct aas_predictroute_s *route, int areanum, vec3_t origin, int goalareanum, int travelflags, int maxareas, int maxtime, int stopevent, int stopcontents, int stoptfl, int stopareanum); //-------------------------------------------- // be_aas_altroute.c //-------------------------------------------- - int (*AAS_AlternativeRouteGoals)(vec3_t start, int startareanum, vec3_t goal, int goalareanum, int travelflags, + int (QDECL *AAS_AlternativeRouteGoals)(vec3_t start, int startareanum, vec3_t goal, int goalareanum, int travelflags, struct aas_altroutegoal_s *altroutegoals, int maxaltroutegoals, int type); //-------------------------------------------- // be_aas_move.c //-------------------------------------------- - int (*AAS_Swimming)(vec3_t origin); - int (*AAS_PredictClientMovement)(struct aas_clientmove_s *move, + int (QDECL *AAS_Swimming)(vec3_t origin); + int (QDECL *AAS_PredictClientMovement)(struct aas_clientmove_s *move, int entnum, vec3_t origin, int presencetype, int onground, vec3_t velocity, vec3_t cmdmove, @@ -267,33 +267,33 @@ typedef struct aas_export_s typedef struct ea_export_s { //ClientCommand elementary actions - void (*EA_Command)(int client, char *command ); - void (*EA_Say)(int client, char *str); - void (*EA_SayTeam)(int client, char *str); + void (QDECL *EA_Command)(int client, char *command ); + void (QDECL *EA_Say)(int client, char *str); + void (QDECL *EA_SayTeam)(int client, char *str); // - void (*EA_Action)(int client, int action); - void (*EA_Gesture)(int client); - void (*EA_Talk)(int client); - void (*EA_Attack)(int client); - void (*EA_Use)(int client); - void (*EA_Respawn)(int client); - void (*EA_MoveUp)(int client); - void (*EA_MoveDown)(int client); - void (*EA_MoveForward)(int client); - void (*EA_MoveBack)(int client); - void (*EA_MoveLeft)(int client); - void (*EA_MoveRight)(int client); - void (*EA_Crouch)(int client); + void (QDECL *EA_Action)(int client, int action); + void (QDECL *EA_Gesture)(int client); + void (QDECL *EA_Talk)(int client); + void (QDECL *EA_Attack)(int client); + void (QDECL *EA_Use)(int client); + void (QDECL *EA_Respawn)(int client); + void (QDECL *EA_MoveUp)(int client); + void (QDECL *EA_MoveDown)(int client); + void (QDECL *EA_MoveForward)(int client); + void (QDECL *EA_MoveBack)(int client); + void (QDECL *EA_MoveLeft)(int client); + void (QDECL *EA_MoveRight)(int client); + void (QDECL *EA_Crouch)(int client); - void (*EA_SelectWeapon)(int client, int weapon); - void (*EA_Jump)(int client); - void (*EA_DelayedJump)(int client); - void (*EA_Move)(int client, vec3_t dir, float speed); - void (*EA_View)(int client, vec3_t viewangles); + void (QDECL *EA_SelectWeapon)(int client, int weapon); + void (QDECL *EA_Jump)(int client); + void (QDECL *EA_DelayedJump)(int client); + void (QDECL *EA_Move)(int client, vec3_t dir, float speed); + void (QDECL *EA_View)(int client, vec3_t viewangles); //send regular input to the server - void (*EA_EndRegular)(int client, float thinktime); - void (*EA_GetInput)(int client, float thinktime, bot_input_t *input); - void (*EA_ResetInput)(int client); + void (QDECL *EA_EndRegular)(int client, float thinktime); + void (QDECL *EA_GetInput)(int client, float thinktime, bot_input_t *input); + void (QDECL *EA_ResetInput)(int client); } ea_export_t; typedef struct ai_export_s @@ -301,97 +301,97 @@ typedef struct ai_export_s //----------------------------------- // be_ai_char.h //----------------------------------- - int (*BotLoadCharacter)(char *charfile, float skill); - void (*BotFreeCharacter)(int character); - float (*Characteristic_Float)(int character, int index); - float (*Characteristic_BFloat)(int character, int index, float min, float max); - int (*Characteristic_Integer)(int character, int index); - int (*Characteristic_BInteger)(int character, int index, int min, int max); - void (*Characteristic_String)(int character, int index, char *buf, int size); + int (QDECL *BotLoadCharacter)(char *charfile, float skill); + void (QDECL *BotFreeCharacter)(int character); + float (QDECL *Characteristic_Float)(int character, int index); + float (QDECL *Characteristic_BFloat)(int character, int index, float min, float max); + int (QDECL *Characteristic_Integer)(int character, int index); + int (QDECL *Characteristic_BInteger)(int character, int index, int min, int max); + void (QDECL *Characteristic_String)(int character, int index, char *buf, int size); //----------------------------------- // be_ai_chat.h //----------------------------------- - int (*BotAllocChatState)(void); - void (*BotFreeChatState)(int handle); - void (*BotQueueConsoleMessage)(int chatstate, int type, char *message); - void (*BotRemoveConsoleMessage)(int chatstate, int handle); - int (*BotNextConsoleMessage)(int chatstate, struct bot_consolemessage_s *cm); - int (*BotNumConsoleMessages)(int chatstate); - void (*BotInitialChat)(int chatstate, char *type, int mcontext, char *var0, char *var1, char *var2, char *var3, char *var4, char *var5, char *var6, char *var7); - int (*BotNumInitialChats)(int chatstate, char *type); - int (*BotReplyChat)(int chatstate, char *message, int mcontext, int vcontext, char *var0, char *var1, char *var2, char *var3, char *var4, char *var5, char *var6, char *var7); - int (*BotChatLength)(int chatstate); - void (*BotEnterChat)(int chatstate, int client, int sendto); - void (*BotGetChatMessage)(int chatstate, char *buf, int size); - int (*StringContains)(char *str1, char *str2, int casesensitive); - int (*BotFindMatch)(char *str, struct bot_match_s *match, unsigned long int context); - void (*BotMatchVariable)(struct bot_match_s *match, int variable, char *buf, int size); - void (*UnifyWhiteSpaces)(char *string); - void (*BotReplaceSynonyms)(char *string, unsigned long int context); - int (*BotLoadChatFile)(int chatstate, char *chatfile, char *chatname); - void (*BotSetChatGender)(int chatstate, int gender); - void (*BotSetChatName)(int chatstate, char *name, int client); + int (QDECL *BotAllocChatState)(void); + void (QDECL *BotFreeChatState)(int handle); + void (QDECL *BotQueueConsoleMessage)(int chatstate, int type, char *message); + void (QDECL *BotRemoveConsoleMessage)(int chatstate, int handle); + int (QDECL *BotNextConsoleMessage)(int chatstate, struct bot_consolemessage_s *cm); + int (QDECL *BotNumConsoleMessages)(int chatstate); + void (QDECL *BotInitialChat)(int chatstate, char *type, int mcontext, char *var0, char *var1, char *var2, char *var3, char *var4, char *var5, char *var6, char *var7); + int (QDECL *BotNumInitialChats)(int chatstate, char *type); + int (QDECL *BotReplyChat)(int chatstate, char *message, int mcontext, int vcontext, char *var0, char *var1, char *var2, char *var3, char *var4, char *var5, char *var6, char *var7); + int (QDECL *BotChatLength)(int chatstate); + void (QDECL *BotEnterChat)(int chatstate, int client, int sendto); + void (QDECL *BotGetChatMessage)(int chatstate, char *buf, int size); + int (QDECL *StringContains)(char *str1, char *str2, int casesensitive); + int (QDECL *BotFindMatch)(char *str, struct bot_match_s *match, unsigned long int context); + void (QDECL *BotMatchVariable)(struct bot_match_s *match, int variable, char *buf, int size); + void (QDECL *UnifyWhiteSpaces)(char *string); + void (QDECL *BotReplaceSynonyms)(char *string, unsigned long int context); + int (QDECL *BotLoadChatFile)(int chatstate, char *chatfile, char *chatname); + void (QDECL *BotSetChatGender)(int chatstate, int gender); + void (QDECL *BotSetChatName)(int chatstate, char *name, int client); //----------------------------------- // be_ai_goal.h //----------------------------------- - void (*BotResetGoalState)(int goalstate); - void (*BotResetAvoidGoals)(int goalstate); - void (*BotRemoveFromAvoidGoals)(int goalstate, int number); - void (*BotPushGoal)(int goalstate, struct bot_goal_s *goal); - void (*BotPopGoal)(int goalstate); - void (*BotEmptyGoalStack)(int goalstate); - void (*BotDumpAvoidGoals)(int goalstate); - void (*BotDumpGoalStack)(int goalstate); - void (*BotGoalName)(int number, char *name, int size); - int (*BotGetTopGoal)(int goalstate, struct bot_goal_s *goal); - int (*BotGetSecondGoal)(int goalstate, struct bot_goal_s *goal); - int (*BotChooseLTGItem)(int goalstate, vec3_t origin, int *inventory, int travelflags); - int (*BotChooseNBGItem)(int goalstate, vec3_t origin, int *inventory, int travelflags, + void (QDECL *BotResetGoalState)(int goalstate); + void (QDECL *BotResetAvoidGoals)(int goalstate); + void (QDECL *BotRemoveFromAvoidGoals)(int goalstate, int number); + void (QDECL *BotPushGoal)(int goalstate, struct bot_goal_s *goal); + void (QDECL *BotPopGoal)(int goalstate); + void (QDECL *BotEmptyGoalStack)(int goalstate); + void (QDECL *BotDumpAvoidGoals)(int goalstate); + void (QDECL *BotDumpGoalStack)(int goalstate); + void (QDECL *BotGoalName)(int number, char *name, int size); + int (QDECL *BotGetTopGoal)(int goalstate, struct bot_goal_s *goal); + int (QDECL *BotGetSecondGoal)(int goalstate, struct bot_goal_s *goal); + int (QDECL *BotChooseLTGItem)(int goalstate, vec3_t origin, int *inventory, int travelflags); + int (QDECL *BotChooseNBGItem)(int goalstate, vec3_t origin, int *inventory, int travelflags, struct bot_goal_s *ltg, float maxtime); - int (*BotTouchingGoal)(vec3_t origin, struct bot_goal_s *goal); - int (*BotItemGoalInVisButNotVisible)(int viewer, vec3_t eye, vec3_t viewangles, struct bot_goal_s *goal); - int (*BotGetLevelItemGoal)(int index, char *classname, struct bot_goal_s *goal); - int (*BotGetNextCampSpotGoal)(int num, struct bot_goal_s *goal); - int (*BotGetMapLocationGoal)(char *name, struct bot_goal_s *goal); - float (*BotAvoidGoalTime)(int goalstate, int number); - void (*BotSetAvoidGoalTime)(int goalstate, int number, float avoidtime); - void (*BotInitLevelItems)(void); - void (*BotUpdateEntityItems)(void); - int (*BotLoadItemWeights)(int goalstate, char *filename); - void (*BotFreeItemWeights)(int goalstate); - void (*BotInterbreedGoalFuzzyLogic)(int parent1, int parent2, int child); - void (*BotSaveGoalFuzzyLogic)(int goalstate, char *filename); - void (*BotMutateGoalFuzzyLogic)(int goalstate, float range); - int (*BotAllocGoalState)(int client); - void (*BotFreeGoalState)(int handle); + int (QDECL *BotTouchingGoal)(vec3_t origin, struct bot_goal_s *goal); + int (QDECL *BotItemGoalInVisButNotVisible)(int viewer, vec3_t eye, vec3_t viewangles, struct bot_goal_s *goal); + int (QDECL *BotGetLevelItemGoal)(int index, char *classname, struct bot_goal_s *goal); + int (QDECL *BotGetNextCampSpotGoal)(int num, struct bot_goal_s *goal); + int (QDECL *BotGetMapLocationGoal)(char *name, struct bot_goal_s *goal); + float (QDECL *BotAvoidGoalTime)(int goalstate, int number); + void (QDECL *BotSetAvoidGoalTime)(int goalstate, int number, float avoidtime); + void (QDECL *BotInitLevelItems)(void); + void (QDECL *BotUpdateEntityItems)(void); + int (QDECL *BotLoadItemWeights)(int goalstate, char *filename); + void (QDECL *BotFreeItemWeights)(int goalstate); + void (QDECL *BotInterbreedGoalFuzzyLogic)(int parent1, int parent2, int child); + void (QDECL *BotSaveGoalFuzzyLogic)(int goalstate, char *filename); + void (QDECL *BotMutateGoalFuzzyLogic)(int goalstate, float range); + int (QDECL *BotAllocGoalState)(int client); + void (QDECL *BotFreeGoalState)(int handle); //----------------------------------- // be_ai_move.h //----------------------------------- - void (*BotResetMoveState)(int movestate); - void (*BotMoveToGoal)(struct bot_moveresult_s *result, int movestate, struct bot_goal_s *goal, int travelflags); - int (*BotMoveInDirection)(int movestate, vec3_t dir, float speed, int type); - void (*BotResetAvoidReach)(int movestate); - void (*BotResetLastAvoidReach)(int movestate); - int (*BotReachabilityArea)(vec3_t origin, int testground); - int (*BotMovementViewTarget)(int movestate, struct bot_goal_s *goal, int travelflags, float lookahead, vec3_t target); - int (*BotPredictVisiblePosition)(vec3_t origin, int areanum, struct bot_goal_s *goal, int travelflags, vec3_t target); - int (*BotAllocMoveState)(void); - void (*BotFreeMoveState)(int handle); - void (*BotInitMoveState)(int handle, struct bot_initmove_s *initmove); - void (*BotAddAvoidSpot)(int movestate, vec3_t origin, float radius, int type); + void (QDECL *BotResetMoveState)(int movestate); + void (QDECL *BotMoveToGoal)(struct bot_moveresult_s *result, int movestate, struct bot_goal_s *goal, int travelflags); + int (QDECL *BotMoveInDirection)(int movestate, vec3_t dir, float speed, int type); + void (QDECL *BotResetAvoidReach)(int movestate); + void (QDECL *BotResetLastAvoidReach)(int movestate); + int (QDECL *BotReachabilityArea)(vec3_t origin, int testground); + int (QDECL *BotMovementViewTarget)(int movestate, struct bot_goal_s *goal, int travelflags, float lookahead, vec3_t target); + int (QDECL *BotPredictVisiblePosition)(vec3_t origin, int areanum, struct bot_goal_s *goal, int travelflags, vec3_t target); + int (QDECL *BotAllocMoveState)(void); + void (QDECL *BotFreeMoveState)(int handle); + void (QDECL *BotInitMoveState)(int handle, struct bot_initmove_s *initmove); + void (QDECL *BotAddAvoidSpot)(int movestate, vec3_t origin, float radius, int type); //----------------------------------- // be_ai_weap.h //----------------------------------- - int (*BotChooseBestFightWeapon)(int weaponstate, int *inventory); - void (*BotGetWeaponInfo)(int weaponstate, int weapon, struct weaponinfo_s *weaponinfo); - int (*BotLoadWeaponWeights)(int weaponstate, char *filename); - int (*BotAllocWeaponState)(void); - void (*BotFreeWeaponState)(int weaponstate); - void (*BotResetWeaponState)(int weaponstate); + int (QDECL *BotChooseBestFightWeapon)(int weaponstate, int *inventory); + void (QDECL *BotGetWeaponInfo)(int weaponstate, int weapon, struct weaponinfo_s *weaponinfo); + int (QDECL *BotLoadWeaponWeights)(int weaponstate, char *filename); + int (QDECL *BotAllocWeaponState)(void); + void (QDECL *BotFreeWeaponState)(int weaponstate); + void (QDECL *BotResetWeaponState)(int weaponstate); //----------------------------------- // be_ai_gen.h //----------------------------------- - int (*GeneticParentsAndChildSelection)(int numranks, float *ranks, int *parent1, int *parent2, int *child); + int (QDECL *GeneticParentsAndChildSelection)(int numranks, float *ranks, int *parent1, int *parent2, int *child); } ai_export_t; //bot AI library imported functions @@ -404,29 +404,29 @@ typedef struct botlib_export_s //AI functions ai_export_t ai; //setup the bot library, returns BLERR_ - int (*BotLibSetup)(void); + int (QDECL *BotLibSetup)(void); //shutdown the bot library, returns BLERR_ - int (*BotLibShutdown)(void); + int (QDECL *BotLibShutdown)(void); //sets a library variable returns BLERR_ - int (*BotLibVarSet)(char *var_name, char *value); + int (QDECL *BotLibVarSet)(char *var_name, char *value); //gets a library variable returns BLERR_ - int (*BotLibVarGet)(char *var_name, char *value, int size); + int (QDECL *BotLibVarGet)(char *var_name, char *value, int size); //sets a C-like define returns BLERR_ - int (*PC_AddGlobalDefine)(char *string); - int (*PC_LoadSourceHandle)(const char *filename); - int (*PC_FreeSourceHandle)(int handle); - int (*PC_ReadTokenHandle)(int handle, pc_token_t *pc_token); - int (*PC_SourceFileAndLine)(int handle, char *filename, int *line); + int (QDECL *PC_AddGlobalDefine)(char *string); + int (QDECL *PC_LoadSourceHandle)(const char *filename); + int (QDECL *PC_FreeSourceHandle)(int handle); + int (QDECL *PC_ReadTokenHandle)(int handle, pc_token_t *pc_token); + int (QDECL *PC_SourceFileAndLine)(int handle, char *filename, int *line); //start a frame in the bot library - int (*BotLibStartFrame)(float time); + int (QDECL *BotLibStartFrame)(float time); //load a new map in the bot library - int (*BotLibLoadMap)(const char *mapname); + int (QDECL *BotLibLoadMap)(const char *mapname); //entity updates - int (*BotLibUpdateEntity)(int ent, bot_entitystate_t *state); + int (QDECL *BotLibUpdateEntity)(int ent, bot_entitystate_t *state); //just for testing - int (*Test)(int parm0, char *parm1, vec3_t parm2, vec3_t parm3); + int (QDECL *Test)(int parm0, char *parm1, vec3_t parm2, vec3_t parm3); } botlib_export_t; //linking of bot library