exactly my point Aspirin. In my code I use my own FindEntityInSphere, FindEntityByClassname, IsNull (FNullEnt equivalent), IndexOfEntity and the likes, etc, etc.
@Stefan: if you're talking about these functions:
Code:
player_t *HLEngine_CreateFakeClient (profile_t *pProfile);
void HLEngine_MoveFakeClient (player_t *pPlayer);
void HLEngine_FakeClientCommand (player_t *pPlayer);
void HLEngine_SendWelcomeMessage (player_t *pPlayer);
unsigned long HLEngine_InputButtonsOf (edict_t *pEntity);
void HLEngine_PrintHUD (void);
void HLEngine_PrintConsole (void);
void HLEngine_PrintGlow (char channel);
void HLEngine_DrawLines (void);
void HLEngine_ExtractFile (char *input_file, char *output_file);
void HLEngine_RACCServerCommandCallback (void);
they're not exported. They're used in the engine interface ONLY. The functions that are exported to the rest of the bot code are these ones:
Code:
// interface.cpp functions prototypes (these functions are exported)
test_result_t PlayerTestLine (player_t *pPlayer, vec v_start, vec v_end);
test_result_t PlayerTestHull (player_t *pPlayer, vec v_start, vec v_end, bool crouching_player);
test_result_t TestVisibility (vec v_start, vec v_end, entity_t *pIgnoredEntity);
vec GetBonePosition (entity_t *pEntity, int bone_number);
char FindMaterialType (entity_t *pEntityTextureIsOn, vec v_start, vec v_end);
bool PointBelongsToWorld (vec v_location);
bool IsLiquid (vec v_location);
bool IsThinAir (vec v_location);
float IlluminationOf (entity_t *pEntity);
void PlayerStartTalking (player_t *pPlayer);
void PlayerStopTalking (player_t *pPlayer);
I bet you understand things better now