.:: Bots United ::.

.:: Bots United ::. (http://forums.bots-united.com/index.php)
-   Offtopic (http://forums.bots-united.com/forumdisplay.php?f=23)
-   -   CZ released!!! (http://forums.bots-united.com/showthread.php?t=1168)

dead bwoy 23-03-2004 23:14

CZ released!!!
 
The official bots are bada$$!!! nuff said.
I love the way they all talk to you, the commander...
so anyone know of any commands or anything for the new bots?
My boy has CZ already and I will be getting it ASAP!
I cant wait to mess around with these bots.:D

heavensoul 23-03-2004 23:22

Re: CZ released!!!
 
hmm...
CZ is released ???
Im gonna buy it sumwher

dead bwoy 23-03-2004 23:39

Re: CZ released!!!
 
$30 thru steam on-line till April 1st!

CoCoNUT 24-03-2004 12:39

Re: CZ released!!!
 
There is an official forum for the new bots:

http://www.turtlerockstudios.com/forums/csbot/

Pierre-Marie Baty 24-03-2004 16:41

Re: CZ released!!!
 
Do you guys know if there is the slightest chance that the CS Bot will ever come back in Counter-Strike 1.6 ? I'd love to try them but I don't feel like buying Condition Zero...


(note: the first one to put a warez link to download the Zbot here will deserve the ban, no joking.)

Terran 24-03-2004 17:33

Re: CZ released!!!
 
If I understood Alfred Reynolds correctly the bots for CS will be released soon...

dead bwoy 24-03-2004 20:11

Re: CZ released!!!
 
does anyone know what needs to be done to metamod 1.17 source to get it to work with cz?
I think its a mod recognition error...9_9

Pierre-Marie Baty 24-03-2004 20:59

Re: CZ released!!!
 
Post the CZ DLL here (zip it before) and I'll post back the changes you'll need to make to the source code to make it work.

dead bwoy 24-03-2004 21:20

Re: CZ released!!!
 
1 Attachment(s)
from .....\condition zero\czero\dlls\mp.dll (GO PMB!!!):D
================================================== ========
from updating hlds:
I noticed that all the maps have a .nav file. must be the waypoints!
loads of wav files too! (for the bots voices)
this is at least a good 30 min update

Pierre-Marie Baty 24-03-2004 23:06

Re: CZ released!!!
 
Try adding this to metamod's linkgame.cpp file and recompile the metamod DLL:
Code:

LINK_ENTITY_TO_GAME(CountTeamPlayers);
LINK_ENTITY_TO_GAME(CountTeams);
LINK_ENTITY_TO_GAME(func_rain);
LINK_ENTITY_TO_GAME(func_snow);
LINK_ENTITY_TO_GAME(g_flTimeLimit);

*edit* no guarantees whatsoever, if it works, then all the better, but if it doesn't, then we're unlucky. :)

dead bwoy 25-03-2004 00:02

Re: CZ released!!!
 
i also added this in games.h:
("czero", "cz_i386.so", "mp.dll", "Condition Zero"),
i do not have a .so file in my dlls folder tho so im guessing the name of it.
also:
im trying to compile this and it says that extdll.h cannot be found.
where should I put it? I know its in my SDK folder and I tried multiple ways of pointing the source to the includes but it just cant seem to find the file >:(
=========================================
ok ok i think its starting to work
getting some errors when compiling, but im fixing them as i go
hopefully i will be able to test this tomorrow!

Pierre-Marie Baty 25-03-2004 04:06

Re: CZ released!!!
 
you should not have any error at all... are you sure you didn't do something wrong ? What are these errors ?

dead bwoy 25-03-2004 05:23

Re: CZ released!!!
 
perhaps a link to a tutorial would help me out. im using dev-cpp c++ compiler. is there a way to use another compiler like borland or gcc thru dev-cpp? I have both these compilers but do not know how to use (or install?) them...:(

the errors were minor, I think...:
#praga once (no error if i take this line out)
error said something like old unused or outdated command

and: no new line at end of file.

Pierre-Marie Baty 25-03-2004 08:00

Re: CZ released!!!
 
ah ok, go ahead then. These are minor errors, indeed.

stefanhendriks 25-03-2004 09:32

Re: CZ released!!!
 
i somehow got a feeling it wont be that simple...

Pierre-Marie Baty 25-03-2004 10:58

Re: CZ released!!!
 
boah, you and your feelings... :P j/k

dead bwoy 25-03-2004 19:00

Re: CZ released!!!
 
In member function `void MPlugin::show()':
====================================
1063 ....\metamod-1.17\metamod\mplugin.cpp
`struct enginefuncs_s' has no member named `pfnSequenceGet
====================================
1063 ....\metamod-1.17\metamod\mplugin.cpp
`struct enginefuncs_s' has no member named `pfnGetFileSize
====================================
what does this error mean?
ps here is the actual line:
SHOW_DEF_ENGINE(engine_table, " ", "");
from:
Code:

if(engine_table) {
META_CONS("Engine functions:");
SHOW_DEF_ENGINE(engine_table, " ", "");
META_CONS("%d functions (engine)", n);
}

there's actually 3 spaces in that (engine_table, " ", "") part; if that even makes a difference...

perhaps this post should be moved to "bot & metamod coding"

DreamLord34 25-03-2004 19:40

Re: CZ released!!!
 
dead, to get metamod & the addons to work properly, get the newest one fron amxmodx.org. That's what I did & all is fine.
Also, the cz maps will load on your cs servers.

dead bwoy 25-03-2004 21:20

Re: CZ released!!!
 
@Dream: Thanks man works great! how is amxmodx?better than amx0.9.8a?

@PMB: Do you know if the error above is serious? What could cause this? syntax?...>:( i hope someone can help me. I wopuld still like to learn to compile a source that works, just so i can say i can do it. I wish i could get msvc but i dont have that kind of money. :( maybe once i find a better job and get out of debt!!:P yea right, not in this economy!9_9

ps oops! i hope i didnt cross the politics line.???:(

Pierre-Marie Baty 26-03-2004 01:23

Re: CZ released!!!
 
@dead bwoy: these errors make me think that you may not have the right HL SDK. Where did you get it ? Get the one from the metamod web site, since there have been a few non-official updates since Valve released the SDK 2.3 (and especially the adding of pfnSequenceGet and a couple other functions in the enginefuncs interface).

dead bwoy 26-03-2004 03:16

Re: CZ released!!!
 
thats the one im using (HL SDK 2.3 from metamod website). I MUST not be doing something right... :o
i even installed the patch for 2.3 from the metamod site this time...???
i did install to c:\sdk then moved to c:\dev-cpp\include\sdk
is that a problem???

Pierre-Marie Baty 26-03-2004 03:58

Re: CZ released!!!
 
This SDK is supposed to be already patched...

Could you post the FULL compiler output, starting with the first line it prints on the screen when you compile a clean install and ending to the 2nd or 3rd line of error ?

dead bwoy 26-03-2004 04:06

Re: CZ released!!!
 
Compiler: C++ Compiler
Building Makefile: "C:\Dev-Cpp\test\metamod\metamod-1.17\metamod\msvc\Makefile.win"
Executing make...
make.exe -f "C:\Dev-Cpp\test\metamod\metamod-1.17\metamod\msvc\Makefile.win" all
g++.exe -c ../mplugin.cpp -o ../mplugin.o -I"C:/Dev-Cpp/include/c++" -I"C:/Dev-Cpp/include/c++/mingw32" -I"C:/Dev-Cpp/include/c++/backward" -I"C:/Dev-Cpp/include" -I"c:/dev-cpp/include/sdk/multiplayer source" -I"c:/dev-cpp/include/sdk/multiplayer source/dlls" -I"c:/dev-cpp/include/sdk/multiplayer source/common" -I"c:/dev-cpp/include/sdk/multiplayer source/dedicated" -I"c:/dev-cpp/include/sdk/multiplayer source/dmc" -I"c:/dev-cpp/include/sdk/multiplayer source/engine" -I"c:/dev-cpp/include/sdk/multiplayer source/game_shared" -I"c:/dev-cpp/include/sdk/multiplayer source/network" -I"c:/dev-cpp/include/sdk/multiplayer source/pm_shared" -I"c:/dev-cpp/include/sdk/multiplayer source/ricochet" -D__GNUWIN32__ -W -DWIN32 -DNDEBUG -D_WINDOWS -D_MBCS -D_USRDLL -DMETAMOD_EXPORTS

../mplugin.cpp: In member function `void MPlugin::show()':
../mplugin.cpp:1063: `struct enginefuncs_s' has no member named `pfnSequenceGet
'

../mplugin.cpp:1063: `struct enginefuncs_s' has no member named `
pfnSequencePickSentence'

../mplugin.cpp:1063: `struct enginefuncs_s' has no member named `pfnGetFileSize
'

../mplugin.cpp:1063: `struct enginefuncs_s' has no member named `
pfnGetApproxWavePlayLen'

../mplugin.cpp:1063: `struct enginefuncs_s' has no member named `
pfnIsCareerMatch'

../mplugin.cpp:1063: `struct enginefuncs_s' has no member named `
pfnGetLocalizedStringLength'

../mplugin.cpp:1063: `struct enginefuncs_s' has no member named `
pfnRegisterTutorMessageShown'
../mplugin.cpp:1063: `struct enginefuncs_s' has no member named `
pfnGetTimesTutorMessageShown'
../mplugin.cpp:1063: `struct enginefuncs_s' has no member named `
pfnProcessTutorMessageDecayBuffer'
../mplugin.cpp:1063: `struct enginefuncs_s' has no member named `
pfnConstructTutorMessageDecayBuffer'

../mplugin.cpp:1063: `struct enginefuncs_s' has no member named `
pfnResetTutorMessageDecayData'
================================================== ====
Then again for the very next if function (engine_post_table)
================================================== ====
C:\Dev-Cpp\test\metamod\metamod-1.17\metamod\msvc\Makefile.win
[Build Error] [../mplugin.o] Error 1

Pierre-Marie Baty 26-03-2004 06:39

Re: CZ released!!!
 
Look up for the definition of the enginefuncs_s structure (I think it's in eiface.h or something similar). Post the contents of this structure and the date/time of the file.

Austin 26-03-2004 09:10

Re: CZ released!!!
 
Quote:

Originally Posted by dead bwoy
@Dream: Thanks man works great! how is amxmodx?better than amx0.9.8a?
I wish i could get msvc but i dont have that kind of money. :( maybe once i find a better job and get out of debt!!:P yea right, not in this economy!9_9
ps oops! i hope i didnt cross the politics line.???:(

Get the "student edition" of msvc. It is the full version but with a restricted license. and now that I said that I think you can distrubute the programs you build you just can't charge for them!
A couple of years ago I think it was less the $100.
Get the 6.0 edition. Works great still today, but download the service packs for it from ms.com

dead bwoy 26-03-2004 19:48

Re: CZ released!!!
 
http://metamod.org/sdk/dox/structenginefuncs__s.html
i have this same exact file, I found no pfnSequenceGet anywhere... whats my problem? the date has been modified since i edited the file from:
#endif EIFACE_H
to
#endif // EIFACE_H
putting in those comment lines, got rid of the error (extra tokens after endif statement) when compiling.

Pierre-Marie Baty 28-03-2004 17:49

Re: CZ released!!!
 
Then the DoX reference on the metamod website must be outdated.

Here's the current eiface.h as I have it:
Code:

/***
*
* Copyright (c) 1999, Valve LLC. All rights reserved.
*
* This product contains software technology licensed from Id
* Software, Inc. ("Id Technology").  Id Technology (c) 1996 Id Software, Inc.
* All Rights Reserved.
*
*  Use, distribution, and modification of this source code and/or resulting
*  object code is restricted to non-commercial enhancements to products from
*  Valve LLC.  All other use, distribution, or modification is prohibited
*  without written permission from Valve LLC.
*
****/
#ifndef EIFACE_H
#define EIFACE_H
#include "archtypes.h"        // DAL
#ifdef HLDEMO_BUILD
#define INTERFACE_VERSION          001
#else  // !HLDEMO_BUILD, i.e., regular version of HL
#define INTERFACE_VERSION  140
#endif // !HLDEMO_BUILD
#include <stdio.h>
#include "custom.h"
#include "cvardef.h"
#include "Sequence.h"
//
// Defines entity interface between engine and DLLs.
// This header file included by engine files and DLL files.
//
// Before including this header, DLLs must:
//  include progdefs.h
// This is conveniently done for them in extdll.h
//
#ifdef _WIN32
#define DLLEXPORT __stdcall
#else
#define DLLEXPORT /* */
#endif
typedef enum
 {
 at_notice,
 at_console,  // same as at_notice, but forces a ConPrintf, not a message box
 at_aiconsole, // same as at_console, but only shown if developer level is 2!
 at_warning,
 at_error,
 at_logged  // Server print to console ( only in multiplayer games ).
 } ALERT_TYPE;
// 4-22-98  JOHN: added for use in pfnClientPrintf
typedef enum
 {
 print_console,
 print_center,
 print_chat,
 } PRINT_TYPE;
// For integrity checking of content on clients
typedef enum
{
 force_exactfile,        // File on client must exactly match server's file
 force_model_samebounds,        // For model files only, the geometry must fit in the same bbox
 force_model_specifybounds,  // For model files only, the geometry must fit in the specified bbox
 force_model_specifybounds_if_avail, // For Steam model files only, the geometry must fit in the specified bbox (if the file is available)
} FORCE_TYPE;
// Returned by TraceLine
typedef struct
 {
 int  fAllSolid;  // if true, plane is not valid
 int  fStartSolid;  // if true, the initial point was in a solid area
 int  fInOpen;
 int  fInWater;
 float flFraction;  // time completed, 1.0 = didn't hit anything
 vec3_t vecEndPos;  // final position
 float flPlaneDist;
 vec3_t vecPlaneNormal;  // surface normal at impact
 edict_t *pHit;        // entity the surface is on
 int  iHitgroup;  // 0 == generic, non zero is specific body part
 } TraceResult;
// CD audio status
typedef struct
{
 int fPlaying;// is sound playing right now?
 int fWasPlaying;// if not, CD is paused if WasPlaying is true.
 int fInitialized;
 int fEnabled;
 int fPlayLooping;
 float cdvolume;
 //BYTE  remap[100];
 int fCDRom;
 int fPlayTrack;
} CDStatus;
#include "../common/crc.h"

// Engine hands this to DLLs for functionality callbacks
typedef struct enginefuncs_s
{
 int  (*pfnPrecacheModel)  (char* s);
 int  (*pfnPrecacheSound)  (char* s);
 void  (*pfnSetModel)        (edict_t *e, const char *m);
 int  (*pfnModelIndex)  (const char *m);
 int  (*pfnModelFrames)  (int modelIndex);
 void  (*pfnSetSize)        (edict_t *e, const float *rgflMin, const float *rgflMax);
 void  (*pfnChangeLevel)  (char* s1, char* s2);
 void  (*pfnGetSpawnParms)  (edict_t *ent);
 void  (*pfnSaveSpawnParms)  (edict_t *ent);
 float  (*pfnVecToYaw)        (const float *rgflVector);
 void  (*pfnVecToAngles)  (const float *rgflVectorIn, float *rgflVectorOut);
 void  (*pfnMoveToOrigin)  (edict_t *ent, const float *pflGoal, float dist, int iMoveType);
 void  (*pfnChangeYaw)        (edict_t* ent);
 void  (*pfnChangePitch)  (edict_t* ent);
 edict_t* (*pfnFindEntityByString) (edict_t *pEdictStartSearchAfter, const char *pszField, const char *pszValue);
 int  (*pfnGetEntityIllum)  (edict_t* pEnt);
 edict_t* (*pfnFindEntityInSphere) (edict_t *pEdictStartSearchAfter, const float *org, float rad);
 edict_t* (*pfnFindClientInPVS)  (edict_t *pEdict);
 edict_t* (*pfnEntitiesInPVS)  (edict_t *pplayer);
 void  (*pfnMakeVectors)  (const float *rgflVector);
 void  (*pfnAngleVectors)  (const float *rgflVector, float *forward, float *right, float *up);
 edict_t* (*pfnCreateEntity)  (void);
 void  (*pfnRemoveEntity)  (edict_t* e);
 edict_t* (*pfnCreateNamedEntity)  (int className);
 void  (*pfnMakeStatic)  (edict_t *ent);
 int  (*pfnEntIsOnFloor)  (edict_t *e);
 int  (*pfnDropToFloor)  (edict_t* e);
 int  (*pfnWalkMove)        (edict_t *ent, float yaw, float dist, int iMode);
 void  (*pfnSetOrigin)        (edict_t *e, const float *rgflOrigin);
 void  (*pfnEmitSound)        (edict_t *entity, int channel, const char *sample, /*int*/float volume, float attenuation, int fFlags, int pitch);
 void  (*pfnEmitAmbientSound)  (edict_t *entity, float *pos, const char *samp, float vol, float attenuation, int fFlags, int pitch);
 void  (*pfnTraceLine)        (const float *v1, const float *v2, int fNoMonsters, edict_t *pentToSkip, TraceResult *ptr);
 void  (*pfnTraceToss)        (edict_t* pent, edict_t* pentToIgnore, TraceResult *ptr);
 int  (*pfnTraceMonsterHull)  (edict_t *pEdict, const float *v1, const float *v2, int fNoMonsters, edict_t *pentToSkip, TraceResult *ptr);
 void  (*pfnTraceHull)        (const float *v1, const float *v2, int fNoMonsters, int hullNumber, edict_t *pentToSkip, TraceResult *ptr);
 void  (*pfnTraceModel)  (const float *v1, const float *v2, int hullNumber, edict_t *pent, TraceResult *ptr);
 const char *(*pfnTraceTexture)  (edict_t *pTextureEntity, const float *v1, const float *v2 );
 void  (*pfnTraceSphere)  (const float *v1, const float *v2, int fNoMonsters, float radius, edict_t *pentToSkip, TraceResult *ptr);
 void  (*pfnGetAimVector)  (edict_t* ent, float speed, float *rgflReturn);
 void  (*pfnServerCommand)  (char* str);
 void  (*pfnServerExecute)  (void);
 void  (*pfnClientCommand)  (edict_t* pEdict, char* szFmt, ...);
 void  (*pfnParticleEffect)  (const float *org, const float *dir, float color, float count);
 void  (*pfnLightStyle)  (int style, char* val);
 int  (*pfnDecalIndex)  (const char *name);
 int  (*pfnPointContents)  (const float *rgflVector);
 void  (*pfnMessageBegin)  (int msg_dest, int msg_type, const float *pOrigin, edict_t *ed);
 void  (*pfnMessageEnd)  (void);
 void  (*pfnWriteByte)        (int iValue);
 void  (*pfnWriteChar)        (int iValue);
 void  (*pfnWriteShort)  (int iValue);
 void  (*pfnWriteLong)        (int iValue);
 void  (*pfnWriteAngle)  (float flValue);
 void  (*pfnWriteCoord)  (float flValue);
 void  (*pfnWriteString)  (const char *sz);
 void  (*pfnWriteEntity)  (int iValue);
 void  (*pfnCVarRegister)  (cvar_t *pCvar);
 float  (*pfnCVarGetFloat)  (const char *szVarName);
 const char* (*pfnCVarGetString)  (const char *szVarName);
 void  (*pfnCVarSetFloat)  (const char *szVarName, float flValue);
 void  (*pfnCVarSetString)  (const char *szVarName, const char *szValue);
 void  (*pfnAlertMessage)  (ALERT_TYPE atype, char *szFmt, ...);
 void  (*pfnEngineFprintf)  (void *pfile, char *szFmt, ...);
 void*  (*pfnPvAllocEntPrivateData) (edict_t *pEdict, int32 cb);
 void*  (*pfnPvEntPrivateData)  (edict_t *pEdict);
 void  (*pfnFreeEntPrivateData) (edict_t *pEdict);
 const char* (*pfnSzFromIndex)  (int iString);
 int  (*pfnAllocString)  (const char *szValue);
 struct entvars_s* (*pfnGetVarsOfEnt)  (edict_t *pEdict);
 edict_t* (*pfnPEntityOfEntOffset) (int iEntOffset);
 int  (*pfnEntOffsetOfPEntity) (const edict_t *pEdict);
 int  (*pfnIndexOfEdict)  (const edict_t *pEdict);
 edict_t* (*pfnPEntityOfEntIndex)  (int iEntIndex);
 edict_t* (*pfnFindEntityByVars)  (struct entvars_s* pvars);
 void*  (*pfnGetModelPtr)  (edict_t* pEdict);
 int  (*pfnRegUserMsg)  (const char *pszName, int iSize);
 void  (*pfnAnimationAutomove)  (const edict_t* pEdict, float flTime);
 void  (*pfnGetBonePosition)  (const edict_t* pEdict, int iBone, float *rgflOrigin, float *rgflAngles );
 uint32 (*pfnFunctionFromName) ( const char *pName );
 const char *(*pfnNameForFunction)  ( uint32 function );
 void  (*pfnClientPrintf)  ( edict_t* pEdict, PRINT_TYPE ptype, const char *szMsg ); // JOHN: engine callbacks so game DLL can print messages to individual clients
 void  (*pfnServerPrint)  ( const char *szMsg );
 const char *(*pfnCmd_Args)        ( void );  // these 3 added
 const char *(*pfnCmd_Argv)        ( int argc ); // so game DLL can easily
 int  (*pfnCmd_Argc)        ( void );  // access client 'cmd' strings
 void  (*pfnGetAttachment)  (const edict_t *pEdict, int iAttachment, float *rgflOrigin, float *rgflAngles );
 void  (*pfnCRC32_Init)  (CRC32_t *pulCRC);
 void                (*pfnCRC32_ProcessBuffer)  (CRC32_t *pulCRC, void *p, int len);
 void  (*pfnCRC32_ProcessByte)        (CRC32_t *pulCRC, unsigned char ch);
 CRC32_t  (*pfnCRC32_Final)  (CRC32_t pulCRC);
 int32  (*pfnRandomLong)  (int32  lLow,  int32  lHigh);
 float  (*pfnRandomFloat)  (float flLow, float flHigh);
 void  (*pfnSetView)        (const edict_t *pClient, const edict_t *pViewent );
 float  (*pfnTime)        ( void );
 void  (*pfnCrosshairAngle)  (const edict_t *pClient, float pitch, float yaw);
 byte *          (*pfnLoadFileForMe)                (char *filename, int *pLength);
 void                (*pfnFreeFile)                          (void *buffer);
 void                (*pfnEndSection)                        (const char *pszSectionName); // trigger_endsection
 int  (*pfnCompareFileTime)          (char *filename1, char *filename2, int *iCompare);
 void                (*pfnGetGameDir)                        (char *szGetGameDir);
 void  (*pfnCvar_RegisterVariable) (cvar_t *variable);
 void                (*pfnFadeClientVolume)          (const edict_t *pEdict, int fadePercent, int fadeOutSeconds, int holdTime, int fadeInSeconds);
 void                (*pfnSetClientMaxspeed)        (const edict_t *pEdict, float fNewMaxspeed);
 edict_t * (*pfnCreateFakeClient)  (const char *netname); // returns NULL if fake client can't be created
 void  (*pfnRunPlayerMove)  (edict_t *fakeclient, const float *viewangles, float forwardmove, float sidemove, float upmove, unsigned short buttons, byte impulse, byte msec );
 int  (*pfnNumberOfEntities)  (void);
 char*  (*pfnGetInfoKeyBuffer)  (edict_t *e); // passing in NULL gets the serverinfo
 char*  (*pfnInfoKeyValue)  (char *infobuffer, char *key);
 void  (*pfnSetKeyValue)  (char *infobuffer, char *key, char *value);
 void  (*pfnSetClientKeyValue)  (int clientIndex, char *infobuffer, char *key, char *value);
 int  (*pfnIsMapValid)  (char *filename);
 void  (*pfnStaticDecal)  ( const float *origin, int decalIndex, int entityIndex, int modelIndex );
 int  (*pfnPrecacheGeneric)  (char* s);
 int  (*pfnGetPlayerUserId)  (edict_t *e ); // returns the server assigned userid for this player.  useful for logging frags, etc.  returns -1 if the edict couldn't be found in the list of clients
 void  (*pfnBuildSoundMsg)  (edict_t *entity, int channel, const char *sample, /*int*/float volume, float attenuation, int fFlags, int pitch, int msg_dest, int msg_type, const float *pOrigin, edict_t *ed);
 int  (*pfnIsDedicatedServer)  (void);// is this a dedicated server?
 cvar_t  *(*pfnCVarGetPointer)  (const char *szVarName);
 unsigned int (*pfnGetPlayerWONId)  (edict_t *e); // returns the server assigned WONid for this player.  useful for logging frags, etc.  returns -1 if the edict couldn't be found in the list of clients
 // YWB 8/1/99 TFF Physics additions
 void  (*pfnInfo_RemoveKey)  ( char *s, const char *key );
 const char *(*pfnGetPhysicsKeyValue) ( const edict_t *pClient, const char *key );
 void  (*pfnSetPhysicsKeyValue) ( const edict_t *pClient, const char *key, const char *value );
 const char *(*pfnGetPhysicsInfoString) ( const edict_t *pClient );
 unsigned short (*pfnPrecacheEvent)  ( int type, const char*psz );
 void  (*pfnPlaybackEvent)  ( int flags, const edict_t *pInvoker, unsigned short eventindex, float delay, float *origin, float *angles, float fparam1, float fparam2, int iparam1, int iparam2, int bparam1, int bparam2 );
 unsigned char *(*pfnSetFatPVS)  ( float *org );
 unsigned char *(*pfnSetFatPAS)  ( float *org );
 int  (*pfnCheckVisibility )  ( const edict_t *entity, unsigned char *pset );
 void  (*pfnDeltaSetField)  ( struct delta_s *pFields, const char *fieldname );
 void  (*pfnDeltaUnsetField)  ( struct delta_s *pFields, const char *fieldname );
 void  (*pfnDeltaAddEncoder)  ( char *name, void (*conditionalencode)( struct delta_s *pFields, const unsigned char *from, const unsigned char *to ) );
 int  (*pfnGetCurrentPlayer)  ( void );
 int  (*pfnCanSkipPlayer)  ( const edict_t *player );
 int  (*pfnDeltaFindField)  ( struct delta_s *pFields, const char *fieldname );
 void  (*pfnDeltaSetFieldByIndex) ( struct delta_s *pFields, int fieldNumber );
 void  (*pfnDeltaUnsetFieldByIndex)( struct delta_s *pFields, int fieldNumber );
 void  (*pfnSetGroupMask)  ( int mask, int op );
 int  (*pfnCreateInstancedBaseline) ( int classname, struct entity_state_s *baseline );
 void  (*pfnCvar_DirectSet)  ( struct cvar_s *var, char *value );
 // Forces the client and server to be running with the same version of the specified file
 //  ( e.g., a player model ).
 // Calling this has no effect in single player
 void  (*pfnForceUnmodified)  ( FORCE_TYPE type, float *mins, float *maxs, const char *filename );
 void  (*pfnGetPlayerStats)  ( const edict_t *pClient, int *ping, int *packet_loss );
 void  (*pfnAddServerCommand)  ( char *cmd_name, void (*function) (void) );
 // For voice communications, set which clients hear eachother.
 // NOTE: these functions take player entity indices (starting at 1).
 qboolean (*pfnVoice_GetClientListening)(int iReceiver, int iSender);
 qboolean (*pfnVoice_SetClientListening)(int iReceiver, int iSender, qboolean bListen);
 const char *(*pfnGetPlayerAuthId)  ( edict_t *e );
 // PSV: Added for CZ training map
// const char *(*pfnKeyNameForBinding)  ( const char* pBinding );
 
 void* (*pfnSequenceGet)  ( const char* fileName, const char* entryName );
 void* (*pfnSequencePickSentence) ( const char* groupName, int pickMethod, int *picked );
 // LH: Give access to filesize via filesystem
 int  (*pfnGetFileSize)  ( char *filename );
 unsigned int (*pfnGetApproxWavePlayLen) (const char *filepath);
 // MDC: Added for CZ career-mode
 int  (*pfnIsCareerMatch)  ( void );
 // BGC: return the number of characters of the localized string referenced by using "label"
 int  (*pfnGetLocalizedStringLength)(const char *label);
 // BGC: added to facilitate persistent storage of tutor message decay values for
 // different career game profiles.  Also needs to persist regardless of mp.dll being
 // destroyed and recreated.
 void (*pfnRegisterTutorMessageShown)(int mid);
 int (*pfnGetTimesTutorMessageShown)(int mid);
 void (*pfnProcessTutorMessageDecayBuffer)(int *buffer, int bufferLength);
 void (*pfnConstructTutorMessageDecayBuffer)(int *buffer, int bufferLength);
 void (*pfnResetTutorMessageDecayData)( void );
} enginefuncs_t;

// ONLY ADD NEW FUNCTIONS TO THE END OF THIS STRUCT.  INTERFACE VERSION IS FROZEN AT 138
// Passed to pfnKeyValue
typedef struct KeyValueData_s
{
 char *szClassName; // in: entity classname
 char *szKeyName;  // in: name of key
 char *szValue;  // in: value of key
 int32 fHandled;  // out: DLL sets to true if key-value pair was understood
} KeyValueData;

typedef struct
{
 char  mapName[ 32 ];
 char  landmarkName[ 32 ];
 edict_t *pentLandmark;
 vec3_t  vecLandmarkOrigin;
} LEVELLIST;
#define MAX_LEVEL_CONNECTIONS 16  // These are encoded in the lower 16bits of ENTITYTABLE->flags
typedef struct
{
 int  id;        // Ordinal ID of this entity (used for entity <--> pointer conversions)
 edict_t *pent;  // Pointer to the in-game entity
 int  location;  // Offset from the base data of this entity
 int  size;  // Byte size of this entity's data
 int  flags;  // This could be a short -- bit mask of transitions that this entity is in the PVS of
 string_t classname;  // entity class name
} ENTITYTABLE;
#define FENTTABLE_PLAYER  0x80000000
#define FENTTABLE_REMOVED  0x40000000
#define FENTTABLE_MOVEABLE  0x20000000
#define FENTTABLE_GLOBAL  0x10000000
typedef struct saverestore_s SAVERESTOREDATA;
#ifdef _WIN32
typedef
#endif
struct saverestore_s
{
 char  *pBaseData;  // Start of all entity save data
 char  *pCurrentData; // Current buffer pointer for sequential access
 int  size;  // Current data size
 int  bufferSize;  // Total space for data
 int  tokenSize;  // Size of the linear list of tokens
 int  tokenCount;  // Number of elements in the pTokens table
 char  **pTokens;  // Hash table of entity strings (sparse)
 int  currentIndex; // Holds a global entity table ID
 int  tableCount;  // Number of elements in the entity table
 int  connectionCount;// Number of elements in the levelList[]
 ENTITYTABLE *pTable;  // Array of ENTITYTABLE elements (1 for each entity)
 LEVELLIST levelList[ MAX_LEVEL_CONNECTIONS ];  // List of connections from this level
 // smooth transition
 int  fUseLandmark;
 char  szLandmarkName[20];// landmark we'll spawn near in next level
 vec3_t  vecLandmarkOffset;// for landmark transitions
 float  time;
 char  szCurrentMapName[32]; // To check global entities
}
#ifdef _WIN32
SAVERESTOREDATA
#endif
;
typedef enum _fieldtypes
{
 FIELD_FLOAT = 0,  // Any floating point value
 FIELD_STRING,  // A string ID (return from ALLOC_STRING)
 FIELD_ENTITY,  // An entity offset (EOFFSET)
 FIELD_CLASSPTR,  // CBaseEntity *
 FIELD_EHANDLE,  // Entity handle
 FIELD_EVARS,  // EVARS *
 FIELD_EDICT,  // edict_t *, or edict_t *  (same thing)
 FIELD_VECTOR,  // Any vector
 FIELD_POSITION_VECTOR, // A world coordinate (these are fixed up across level transitions automagically)
 FIELD_POINTER,  // Arbitrary data pointer... to be removed, use an array of FIELD_CHARACTER
 FIELD_INTEGER,  // Any integer or enum
 FIELD_FUNCTION,  // A class function pointer (Think, Use, etc)
 FIELD_BOOLEAN,  // boolean, implemented as an int, I may use this as a hint for compression
 FIELD_SHORT,  // 2 byte integer
 FIELD_CHARACTER,  // a byte
 FIELD_TIME,        // a floating point time (these are fixed up automatically too!)
 FIELD_MODELNAME,  // Engine string that is a model name (needs precache)
 FIELD_SOUNDNAME,  // Engine string that is a sound name (needs precache)
 FIELD_TYPECOUNT,  // MUST BE LAST
} FIELDTYPE;
#ifndef offsetof
#define offsetof(s,m) (size_t)&(((s *)0)->m)
#endif
#define _FIELD(type,name,fieldtype,count,flags)  { fieldtype, #name, offsetof(type, name), count, flags }
#define DEFINE_FIELD(type,name,fieldtype)  _FIELD(type, name, fieldtype, 1, 0)
#define DEFINE_ARRAY(type,name,fieldtype,count)  _FIELD(type, name, fieldtype, count, 0)
#define DEFINE_ENTITY_FIELD(name,fieldtype)  _FIELD(entvars_t, name, fieldtype, 1, 0 )
#define DEFINE_ENTITY_GLOBAL_FIELD(name,fieldtype) _FIELD(entvars_t, name, fieldtype, 1, FTYPEDESC_GLOBAL )
#define DEFINE_GLOBAL_FIELD(type,name,fieldtype) _FIELD(type, name, fieldtype, 1, FTYPEDESC_GLOBAL )

#define FTYPEDESC_GLOBAL  0x0001  // This field is masked for global entity save/restore
typedef struct
{
 FIELDTYPE  fieldType;
 char  *fieldName;
 int        fieldOffset;
 short  fieldSize;
 short  flags;
} TYPEDESCRIPTION;
#define ARRAYSIZE(p)  (sizeof(p)/sizeof(p[0]))
typedef struct
{
 // Initialize/shutdown the game (one-time call after loading of game .dll )
 void  (*pfnGameInit)  ( void );       
 int        (*pfnSpawn)        ( edict_t *pent );
 void  (*pfnThink)        ( edict_t *pent );
 void  (*pfnUse)        ( edict_t *pentUsed, edict_t *pentOther );
 void  (*pfnTouch)        ( edict_t *pentTouched, edict_t *pentOther );
 void  (*pfnBlocked)  ( edict_t *pentBlocked, edict_t *pentOther );
 void  (*pfnKeyValue)  ( edict_t *pentKeyvalue, KeyValueData *pkvd );
 void  (*pfnSave)        ( edict_t *pent, SAVERESTOREDATA *pSaveData );
 int    (*pfnRestore)  ( edict_t *pent, SAVERESTOREDATA *pSaveData, int globalEntity );
 void  (*pfnSetAbsBox)  ( edict_t *pent );
 void  (*pfnSaveWriteFields) ( SAVERESTOREDATA *, const char *, void *, TYPEDESCRIPTION *, int );
 void  (*pfnSaveReadFields) ( SAVERESTOREDATA *, const char *, void *, TYPEDESCRIPTION *, int );
 void  (*pfnSaveGlobalState)  ( SAVERESTOREDATA * );
 void  (*pfnRestoreGlobalState) ( SAVERESTOREDATA * );
 void  (*pfnResetGlobalState)  ( void );
 qboolean  (*pfnClientConnect)  ( edict_t *pEntity, const char *pszName, const char *pszAddress, char szRejectReason[ 128 ] );
 
 void  (*pfnClientDisconnect) ( edict_t *pEntity );
 void  (*pfnClientKill)  ( edict_t *pEntity );
 void  (*pfnClientPutInServer) ( edict_t *pEntity );
 void  (*pfnClientCommand)  ( edict_t *pEntity );
 void  (*pfnClientUserInfoChanged)( edict_t *pEntity, char *infobuffer );
 void  (*pfnServerActivate) ( edict_t *pEdictList, int edictCount, int clientMax );
 void  (*pfnServerDeactivate) ( void );
 void  (*pfnPlayerPreThink) ( edict_t *pEntity );
 void  (*pfnPlayerPostThink) ( edict_t *pEntity );
 void  (*pfnStartFrame)  ( void );
 void  (*pfnParmsNewLevel)  ( void );
 void  (*pfnParmsChangeLevel) ( void );
  // Returns string describing current .dll.  E.g., TeamFotrress 2, Half-Life
 const char        *(*pfnGetGameDescription)( void );       
 // Notify dll about a player customization.
 void                        (*pfnPlayerCustomization) ( edict_t *pEntity, customization_t *pCustom ); 
 // Spectator funcs
 void  (*pfnSpectatorConnect)  ( edict_t *pEntity );
 void  (*pfnSpectatorDisconnect) ( edict_t *pEntity );
 void  (*pfnSpectatorThink)  ( edict_t *pEntity );
 // Notify game .dll that engine is going to shut down.  Allows mod authors to set a breakpoint.
 void  (*pfnSys_Error)  ( const char *error_string );
 void  (*pfnPM_Move) ( struct playermove_s *ppmove, qboolean server );
 void  (*pfnPM_Init) ( struct playermove_s *ppmove );
 char  (*pfnPM_FindTextureType)( char *name );
 void  (*pfnSetupVisibility)( struct edict_s *pViewEntity, struct edict_s *pClient, unsigned char **pvs, unsigned char **pas );
 void  (*pfnUpdateClientData) ( const struct edict_s *ent, int sendweapons, struct clientdata_s *cd );
 int        (*pfnAddToFullPack)( struct entity_state_s *state, int e, edict_t *ent, edict_t *host, int hostflags, int player, unsigned char *pSet );
 void  (*pfnCreateBaseline) ( int player, int eindex, struct entity_state_s *baseline, struct edict_s *entity, int playermodelindex, vec3_t player_mins, vec3_t player_maxs );
 void  (*pfnRegisterEncoders) ( void );
 int        (*pfnGetWeaponData)  ( struct edict_s *player, struct weapon_data_s *info );
 void  (*pfnCmdStart)  ( const edict_t *player, const struct usercmd_s *cmd, unsigned int random_seed );
 void  (*pfnCmdEnd)  ( const edict_t *player );
 // Return 1 if the packet is valid.  Set response_buffer_size if you want to send a response packet.  Incoming, it holds the max
 //  size of the response_buffer, so you must zero it out if you choose not to respond.
 int        (*pfnConnectionlessPacket ) ( const struct netadr_s *net_from, const char *args, char *response_buffer, int *response_buffer_size );
 // Enumerates player hulls.  Returns 0 if the hull number doesn't exist, 1 otherwise
 int        (*pfnGetHullBounds) ( int hullnumber, float *mins, float *maxs );
 // Create baselines for certain "unplaced" items.
 void  (*pfnCreateInstancedBaselines) ( void );
 // One of the pfnForceUnmodified files failed the consistency check for the specified player
 // Return 0 to allow the client to continue, 1 to force immediate disconnection ( with an optional disconnect message of up to 256 characters )
 int        (*pfnInconsistentFile)( const struct edict_s *player, const char *filename, char *disconnect_message );
 // The game .dll should return 1 if lag compensation should be allowed ( could also just set
 //  the sv_unlag cvar.
 // Most games right now should return 0, until client-side weapon prediction code is written
 //  and tested for them.
 int        (*pfnAllowLagCompensation)( void );
} DLL_FUNCTIONS;
extern DLL_FUNCTIONS  gEntityInterface;
// Current version.
#define NEW_DLL_FUNCTIONS_VERSION 1
typedef struct
{
 // Called right before the object's memory is freed.
 // Calls its destructor.
 void  (*pfnOnFreeEntPrivateData)(edict_t *pEnt);
 void  (*pfnGameShutdown)(void);
 int        (*pfnShouldCollide)( edict_t *pentTouched, edict_t *pentOther );
} NEW_DLL_FUNCTIONS;
typedef int (*NEW_DLL_FUNCTIONS_FN)( NEW_DLL_FUNCTIONS *pFunctionTable, int *interfaceVersion );
// Pointers will be null if the game DLL doesn't support this API.
extern NEW_DLL_FUNCTIONS gNewDLLFunctions;
typedef int (*APIFUNCTION)( DLL_FUNCTIONS *pFunctionTable, int interfaceVersion );
typedef int (*APIFUNCTION2)( DLL_FUNCTIONS *pFunctionTable, int *interfaceVersion );
#endif EIFACE_H


dead bwoy 28-03-2004 21:01

Re: CZ released!!!
 
so ive determined that my sdk is not up to date. Im missing files, and getting more errors after replacing my eiface.h with yours. Where can I get the most up-to-date sdk? Is there another browseable source that is more up-to-date? I found metamod on sourceforge but there is no info, just a link to metamod.org...

Pierre-Marie Baty 28-03-2004 22:27

Re: CZ released!!!
 
I don't get it... if you got your SDK from the metamod website, it MUST be up to date.

http://metamod.org/files/sdk/hlsdk-2.3.tgz

THIS ONE is up to date, solidly, it's the one I am using myself !

Onno Kreuzinger 28-03-2004 23:35

Re: CZ released!!!
 
Hi, i'm using this one to build bots and stuff, but it's only tested for linux :-)

http://server.bots-united.com/downlo..._build.tar.bz2

i has to put in "some" patches and i had to user the multiplayer tree not the singleplayer.

dead bwoy 29-03-2004 00:06

Re: CZ released!!!
 
If it's not my SDK then it must be the program I'm using to compile the source (Dev-C++). Does anyone know of a good free compiler? I know I should buy MSVC, but I am seriously broke and have NO money.
=======================================
EDIT:
ok, it appears that the links you guys have given me are both for linux? I am using windows. Is that the problem? Can/should I compile for windows in windows or linux? Thank you so much for your patience, I feel like such a noob asking these questions.
hmmm... is the linux sdk updated, and not the linux? I will try to go in and manually edit eiface.h to match yours PMB.
what is this file? i do not have it. ...?
#include "archtypes.h" // DAL

Pierre-Marie Baty 29-03-2004 03:44

Re: CZ released!!!
 
There is no difference between the Windows SDK and the Linux one. The only one up to date though, is the Linux one, since Will Day who maintains metamod only works with Linux. DO NOT use the original sdk_23.exe install file, THIS SDK IS NOT UPDATED. DO use the link I provided and not any other else. This SDK is the only one up to date.

dead bwoy 29-03-2004 04:06

Re: CZ released!!!
 
ok ok. what can i use to "unzip it?" can i even work with the sdk in windows?

sPlOrYgOn 29-03-2004 04:10

Re: CZ released!!!
 
you can use http://www.rarlab.com/ or http://www.winzip.com/

dead bwoy 29-03-2004 04:19

Re: CZ released!!!
 
yea but when i try to extract, it doesnt recognise the file type, i think... file type "file 3" host OS: UNIX

sPlOrYgOn 29-03-2004 05:11

Re: CZ released!!!
 
are u talking about the *.tar.gz or the *.tar.bz2 ?

Pierre-Marie Baty 29-03-2004 06:10

Re: CZ released!!!
 
The hlsdk-23.tgz link I provided is a tar.gz archive which is extractable at least by WinRAR. Of course you can use it in Windows, these are the same .cpp and .h files !

sPlOrYgOn 29-03-2004 06:23

Re: CZ released!!!
 
i think i was pretty sure winzip could too but i could be wrong.. I always had winrar and winzip installed but i installed winrar later so it could have just overridden the settings to open tar.gz with winzip.

dead bwoy 29-03-2004 09:58

Re: CZ released!!!
 
ok, so when i open up the file in winrar, all i see is one file:
hlsdk-2.3 [file type: 3 file (from the .3)]
I renamed it to hlsdk-23 (without the .) and it read as file type: file. I am assuming that whatever is in the archive is in linux format and unreadable by windows. shouldnt there be more than one file in the archive?

sPlOrYgOn 29-03-2004 15:43

Re: CZ released!!!
 
it's a folder...
[edit]
if you let winrar add context menus...
right click on the .tgz file then goto winrar then goto extract here or extract files..
if you chose extract files.. then choose a place to extract it and all the files will come out.
[/edit]


All times are GMT +2. The time now is 11:41.

Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.