added new functions

This commit is contained in:
Lukasz Wlasinksi
2005-05-31 13:56:15 +00:00
parent 959a5b9225
commit 1cc60fc9ad
9 changed files with 759 additions and 41 deletions

View File

@ -78,4 +78,76 @@ void CPlayer::getTeamName(char * szName ){
for (int i=0;i<16;i++){
szName[i] = *( (char*)pEdict->pvPrivateData + STEAM_PDOFFSET_TEAMNAME + i );
}
}
void CObjective::SetKeyValue( int index, char *keyname, char *value ){
KeyValueData pkvd;
pkvd.szClassName = (char *)STRING(obj[index].pEdict->v.classname);
pkvd.szKeyName = keyname; // type
pkvd.szValue = value;
pkvd.fHandled = false;
MDLL_KeyValue(obj[index].pEdict, &pkvd);
}
void CObjective::InitObj(int dest , edict_t* ed ){
MESSAGE_BEGIN( dest, gmsgInitObj,0,ed );
WRITE_BYTE( count );
for ( int i=0; i<count; i++ ){
WRITE_SHORT(ENTINDEX(obj[i].pEdict));
WRITE_BYTE( obj[i].index );
WRITE_BYTE( obj[i].owner );
WRITE_BYTE( obj[i].visible );
WRITE_BYTE( obj[i].icon_neutral );
WRITE_BYTE( obj[i].icon_allies );
WRITE_BYTE( obj[i].icon_axis );
WRITE_COORD( obj[i].origin_x );
WRITE_COORD( obj[i].origin_y );
}
MESSAGE_END();
}
void CObjective::SetObj(int index){
MESSAGE_BEGIN(MSG_ALL,gmsgSetObj);
WRITE_BYTE(obj[index].index);
WRITE_BYTE(obj[index].owner);
WRITE_BYTE(0);
MESSAGE_END();
}
void CObjective::UpdateOwner(int index, int team){
obj[index].owner = team;
GET_CP_PD(obj[index].pEdict).owner = team;
switch ( team ){
case 0:
obj[index].pEdict->v.model = MAKE_STRING( GET_CP_PD(obj[index].pEdict).model_neutral );
obj[index].pEdict->v.body = GET_CP_PD(obj[index].pEdict).model_body_neutral;
break;
case 1:
obj[index].pEdict->v.model = MAKE_STRING( GET_CP_PD(obj[index].pEdict).model_allies );
obj[index].pEdict->v.body = GET_CP_PD(obj[index].pEdict).model_body_allies;
break;
case 2:
obj[index].pEdict->v.model = MAKE_STRING( GET_CP_PD(obj[index].pEdict).model_axis );
obj[index].pEdict->v.body = GET_CP_PD(obj[index].pEdict).model_body_axis;
break;
}
mObjects.SetObj(index);
}
void CObjective::Sort(){
objinfo_t temp;
for (int j=0;j<count-1;j++ ){
for (int i=0;i<count-1;i++ ){
if ( obj[i].index > obj[i+1].index ){
temp = obj[i+1];
obj[i+1] = obj[i];
obj[i] = temp;
}
}
}
}