RE: [hlcoders] Prediction of projectile-based weapons in Source
-- [ Picked text/plain from multipart/alternative ] Ok after a few more tests and goold old code-digging, I got my rockets working. The problem was that I forgot to override the ShouldPredict() method of the missile entity on the client side to return true when the missile is created by the local player. This prevent the missile entity from initializing as a predicted entity. Using cl_predictionlist is also usefull to check if your new entity is predicted for real or not (it should appear in the list). So here are the general steps if you want to predict an new entity, such as a projectile: - Use CBaseEntity::CreatePredictedEntity to create the entity on both the server and client - Make sure you override the ShouldPredict() method in your predicted entity and return true when you need to have it predicted (typically when it's created by the local client) - Make sure you're running the same simulation code on both the client and server else your predicted entity will jitter - Not sure if this is vital, but set rocket->SetPlayerSimulated( player ); on your entity when you create it Hope this will help someone.> From: [EMAIL PROTECTED]> To: hlcoders@list.valvesoftware.com> Subject: Re: [hlcoders] Prediction of projectile-based weapons in Source> Date: Wed, 24 Oct 2007 14:41:23 +0100> > I know this sounds kind of backwards, and doesn't as much fix the> problem as hack around it, but couldn't you make the projectiles> predicted clientside? In the same way that bullets are?> > I suppose it totally depends on the type of projectile, but I'm> guessing with something like the crossbow you could create the bolt> clientside and serverside. Use the serverside to be the authority on> damage and stuff (and maybe showing to other clients?), while you use> the clientside version to display and predict.> > I'm guessing you could go a step further if it's like the crossbow and> not network the serverside version at all, just fire a temp effect> that creates a clientside version of it using the same velocity etc..> thus having no network overhead from having these things flying> around.> > Something to think about anyway.. might be easier just to put up with the delay.> > garry> > On 10/24/07, Rogerio Morais <[EMAIL PROTECTED]> wrote:> > --> > [ Picked text/plain from multipart/alternative ]> > If anyone can help out more people will certainly appreciate it, including> > me, got the same problem in my mod.> >> > 2007/10/24, William Ravaine <[EMAIL PROTECTED]>:> > >> > > --> > > [ Picked text/plain from multipart/alternative ]> > >> > > Yeah I've already pointed out in my initial post that I strongly suspected> > > this had to do with prediction, or rather lack of prediction in the current> > > implementation. My question was more about how to get projectile prediction> > > working properly, because obviously when I try to implement it, im doing> > > something wrong along the way. > From: [EMAIL PROTECTED]> To:> > > hlcoders@list.valvesoftware.com> Subject: Re: [hlcoders] Prediction of> > > projectile-based weapons in Source> Date: Wed, 24 Oct 2007 08:58:58 -0400> >> > > --> [ Picked text/plain from multipart/alternative ]> because they're not> > > predicted by default.> strongly > tf2's projectiles are predicted.> > > On> > > 10/24/07, William Ravaine <[EMAIL PROTECTED]> wrote:> >> > --> > [ Picked> > > text/plain from multipart/alternative ]> >> > Yeah that's what I checked> > > first as well - It's very hard to tell because> > the crossbow bolt/missile> > > model is very small and very fast as well so it's> > not as obvious. But I> > > get this glitch on every single non-bullet based> > weapon that spawns> > > entities to use as missiles, so it has to be something at> > the core of the> > > engine, in the way entities are handled between server and> > client, or> > > rendered on the client.> From: [EMAIL PROTECTED]> To:> >> > > hlcoders@list.valvesoftware.com> Subject: Re: [hlcoders] Prediction of> >> > > projectile-based weapons in Source> Date: Wed, 24 Oct 2007 08:45:23 -0400>> > > >> > --> [ Picked text/plain from multipart/alternative ]> Does the HL2MP> >> > > crossbow have the same delay? I never noticed it..> > Regards,> > Paul> >> > > On> > 10/24/07, William Ravaine <[EMAIL PROTECTED]> wrote:> >> > --> > [> > > Picked> > te
RE: [hlcoders] Prediction of projectile-based weapons in Source
-- [ Picked text/plain from multipart/alternative ] Yeah I've already pointed out in my initial post that I strongly suspected this had to do with prediction, or rather lack of prediction in the current implementation. My question was more about how to get projectile prediction working properly, because obviously when I try to implement it, im doing something wrong along the way. > From: [EMAIL PROTECTED]> To: hlcoders@list.valvesoftware.com> Subject: Re: [hlcoders] Prediction of projectile-based weapons in Source> Date: Wed, 24 Oct 2007 08:58:58 -0400> > --> [ Picked text/plain from multipart/alternative ]> because they're not predicted by default.> strongly > tf2's projectiles are predicted.> > > On 10/24/07, William Ravaine <[EMAIL PROTECTED]> wrote:> >> > --> > [ Picked text/plain from multipart/alternative ]> >> > Yeah that's what I checked first as well - It's very hard to tell because> > the crossbow bolt/missile model is very small and very fast as well so it's> > not as obvious. But I get this glitch on every single non-bullet based> > weapon that spawns entities to use as missiles, so it has to be something at> > the core of the engine, in the way entities are handled between server and> > client, or rendered on the client.> From: [EMAIL PROTECTED]> To:> > hlcoders@list.valvesoftware.com> Subject: Re: [hlcoders] Prediction of> > projectile-based weapons in Source> Date: Wed, 24 Oct 2007 08:45:23 -0400> >> > --> [ Picked text/plain from multipart/alternative ]> Does the HL2MP> > crossbow have the same delay? I never noticed it..> > Regards,> > Paul> > On> > 10/24/07, William Ravaine <[EMAIL PROTECTED]> wrote:> >> > --> > [ Picked> > text/plain from multipart/alternative ]> >> > Im not using the missile> > entity from the HL2 rpg, Im using my own rocket> > entity which sets the> > missile velocity in the spawn function. And the delay> > effect happens on> > two other missile based weapons that I've entirely coded> > myself which> > have nothing to do with the rpg code.> >> > Im also testing this on local> > server, so the latency delay should be close> > to null. If I used> > net_fakelag, there's definitely a delay between the> > moment I fire, and> > the moment the entity is _created_, but there's also a> > slight delay> > between the moment it is created on the screen (so on the> > client) and> > starts moving forward. It's this later point that I want to fix.> >> --> >> > ___> To unsubscribe, edit your> > list preferences, or view the list archives, please visit:>> > http://list.valvesoftware.com/mailman/listinfo/hlcoders>> > _> > Découvrez le blog Messenger Le Meilleur du Web : toutes les vidéos qui> > buzzent le plus sur Internet !> > http://meilleurduweb.spaces.live.com/> > --> >> > ___> > To unsubscribe, edit your list preferences, or view the list archives,> > please visit:> > http://list.valvesoftware.com/mailman/listinfo/hlcoders> >> >> > > --> -omega> --> > ___> To unsubscribe, edit your list preferences, or view the list archives, please visit:> http://list.valvesoftware.com/mailman/listinfo/hlcoders> _ Découvrez le blog Messenger Le Meilleur du Web : toutes les vidéos qui buzzent le plus sur Internet ! http://meilleurduweb.spaces.live.com/ -- ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
RE: [hlcoders] Prediction of projectile-based weapons in Source
-- [ Picked text/plain from multipart/alternative ] Yeah that's what I checked first as well - It's very hard to tell because the crossbow bolt/missile model is very small and very fast as well so it's not as obvious. But I get this glitch on every single non-bullet based weapon that spawns entities to use as missiles, so it has to be something at the core of the engine, in the way entities are handled between server and client, or rendered on the client.> From: [EMAIL PROTECTED]> To: hlcoders@list.valvesoftware.com> Subject: Re: [hlcoders] Prediction of projectile-based weapons in Source> Date: Wed, 24 Oct 2007 08:45:23 -0400> > --> [ Picked text/plain from multipart/alternative ]> Does the HL2MP crossbow have the same delay? I never noticed it..> > Regards,> > Paul> > On 10/24/07, William Ravaine <[EMAIL PROTECTED]> wrote:> >> > --> > [ Picked text/plain from multipart/alternative ]> >> > Im not using the missile entity from the HL2 rpg, Im using my own rocket> > entity which sets the missile velocity in the spawn function. And the delay> > effect happens on two other missile based weapons that I've entirely coded> > myself which have nothing to do with the rpg code.> >> > Im also testing this on local server, so the latency delay should be close> > to null. If I used net_fakelag, there's definitely a delay between the> > moment I fire, and the moment the entity is _created_, but there's also a> > slight delay between the moment it is created on the screen (so on the> > client) and starts moving forward. It's this later point that I want to fix.> >> --> > ___> To unsubscribe, edit your list preferences, or view the list archives, please visit:> http://list.valvesoftware.com/mailman/listinfo/hlcoders> _ Découvrez le blog Messenger Le Meilleur du Web : toutes les vidéos qui buzzent le plus sur Internet ! http://meilleurduweb.spaces.live.com/ -- ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
RE: [hlcoders] Prediction of projectile-based weapons in Source
-- [ Picked text/plain from multipart/alternative ] Im not using the missile entity from the HL2 rpg, Im using my own rocket entity which sets the missile velocity in the spawn function. And the delay effect happens on two other missile based weapons that I've entirely coded myself which have nothing to do with the rpg code. Im also testing this on local server, so the latency delay should be close to null. If I used net_fakelag, there's definitely a delay between the moment I fire, and the moment the entity is _created_, but there's also a slight delay between the moment it is created on the screen (so on the client) and starts moving forward. It's this later point that I want to fix. > From: [EMAIL PROTECTED]> To: hlcoders@list.valvesoftware.com> Subject: Re: > [hlcoders] Prediction of projectile-based weapons in Source> Date: Wed, 24 > Oct 2007 08:01:06 -0400> > --> [ Picked text/plain from multipart/alternative > ]> How much of your code is based on the HL2MP weapon_rpg. You might want to> > look at CWeaponRPG::PrimaryAttack, CMissile::Spawn, no velocity is set for> > the missile until CMissile::IgniteThink is called 0.3s later. The delay was> > added intentionally, its not a bug or prediction issue. If you already> > removed that behavior then I'm not sure what else would be causing a such> > noticeable delay like that.> > Regards,> > Paul> > On 10/24/07, William > Ravaine <[EMAIL PROTECTED]> wrote:> >> > --> > [ Picked text/plain from > multipart/alternative ]> >> > I'd like to apologize in advance if this has > already been discussed> > previously, but I can't seem to find any relevant > topics.> >> > I'm currently implementing several missile-based weapons such > as a quake> > style rocket launcher. Right now I've just modified the > existing> > weapon_rpg code to shoot a rocket in a straight line instead of > the> > laser-guided one from HL2DM. It's all working fine except one thing: > when> > the missile> > entity is created in front of the rocket launcher in > 1st person view> > (havent checked how it looks from 3rd person yet) there > seems to be a very> > slight delay> > between the time the missile is spawned > and the moment it starts flying at> > its intended velocity, as if one > simulation tick was elapsing with the> > rocket having a null velocity.> >> > > This is quite annoying as it really makes the weapon feel wierd and> > > unnatural. My guess is this has something to do with prediction and how the> > > missile entity is interpolated> > on the client side, but Im not quite sure > yet how to handle this properly.> > I've tried a few approaches like using > CBaseEntity::CreatePredictedEntity to> > create the rocket on both the server > and client "at the same time" but it> > still doesnt fix the glitch. Maybe > it's the good approach and I forgot to> > set some flags or data tables...> > >> > The rocket launcher of the soldier in TF2 doesnt seem to suffer from > this> > effect, nor do the grenade launcher of the Demoman, so I supposed > they fixed> > the problem. I'd like to achieve the same result. Does any have > any> > suggestions and/or code snippets that could help me out?> >> > Thanks > in advance.> > > _> > Vous > êtes plutôt Desperate ou LOST ? Personnalisez votre PC avec votre> > série TV > préférée !> > http://specials.divertissements.fr.msn.com/SeriesTV.aspx> > --> > >> > ___> > To unsubscribe, edit > your list preferences, or view the list archives,> > please visit:> > > http://list.valvesoftware.com/mailman/listinfo/hlcoders> >> >> --> > > ___> To unsubscribe, edit your > list preferences, or view the list archives, please visit:> > http://list.valvesoftware.com/mailman/listinfo/hlcoders> _ Vous êtes plutôt Desperate ou LOST ? Personnalisez votre PC avec votre série TV préférée ! http://specials.divertissements.fr.msn.com/SeriesTV.aspx -- ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
[hlcoders] Prediction of projectile-based weapons in Source
-- [ Picked text/plain from multipart/alternative ] I'd like to apologize in advance if this has already been discussed previously, but I can't seem to find any relevant topics. I'm currently implementing several missile-based weapons such as a quake style rocket launcher. Right now I've just modified the existing weapon_rpg code to shoot a rocket in a straight line instead of the laser-guided one from HL2DM. It's all working fine except one thing: when the missile entity is created in front of the rocket launcher in 1st person view (havent checked how it looks from 3rd person yet) there seems to be a very slight delay between the time the missile is spawned and the moment it starts flying at its intended velocity, as if one simulation tick was elapsing with the rocket having a null velocity. This is quite annoying as it really makes the weapon feel wierd and unnatural. My guess is this has something to do with prediction and how the missile entity is interpolated on the client side, but Im not quite sure yet how to handle this properly. I've tried a few approaches like using CBaseEntity::CreatePredictedEntity to create the rocket on both the server and client "at the same time" but it still doesnt fix the glitch. Maybe it's the good approach and I forgot to set some flags or data tables... The rocket launcher of the soldier in TF2 doesnt seem to suffer from this effect, nor do the grenade launcher of the Demoman, so I supposed they fixed the problem. I'd like to achieve the same result. Does any have any suggestions and/or code snippets that could help me out? Thanks in advance. _ Vous êtes plutôt Desperate ou LOST ? Personnalisez votre PC avec votre série TV préférée ! http://specials.divertissements.fr.msn.com/SeriesTV.aspx -- ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
RE: [hlcoders] Transfering data via HTML
-- [ Picked text/plain from multipart/alternative ] You could use good old winsock coding for this. Create a socket on the server and one on the target client, connect them, and transfer the file using TCP.> From: [EMAIL PROTECTED]> To: hlcoders@list.valvesoftware.com> Subject: [hlcoders] Transfering data via HTML> Date: Tue, 24 Jul 2007 11:34:53 -0400> > This is a multi-part message in MIME format.> --> [ Picked text/plain from multipart/alternative ]> I'm trying to implement some sort of file transfering system within the source engine. (Wanting to transfering data via HTML).> I got as far as making html pages viewable, but i'm trying to find a way to send files from a webserver.> So i was trying to find how the server transfers files to the clients on map download and such, but that's built into the enigne i'm assuming.> > So, my question is. Would this be possable? Is there any framework or something i can start off with?> --> > > ___> To unsubscribe, edit your list preferences, or view the list archives, please visit:> http://list.valvesoftware.com/mailman/listinfo/hlcoders> _ Besoin d'un e-mail ? Créez gratuitement un compte Windows Live Hotmail, plus sûr, plus simple et plus complet ! http://www.windowslive.fr/hotmail/default.asp -- ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
[hlcoders] Full world snapshot behavior
-- [ Picked text/plain from multipart/alternative ] We're currently trying to fix an elsuive crash bug which didn't make much sense to us until recently. Basically, our weapons access data from a singleton "NDGameSettings" entity that is networked to all clients (in similar fashion to how CTeam is broadcast to all clients). This singleton is currently accessed from the weapon entity's Spawn() method on both client and server side.The strange thing is, occasionnaly, the game would crash with an error-trapping message saying that the NDGameSettings singleton instance pointer is null, while the game has been running fine for several minutes. The only way of this happening is if the weapon entity is created & spawned before the NDGameSettings() entity. One would expect this error scenario to happen at map load time since this is the only place where the NDGameSettings entity is created. However, it doesnt crash at load time, but randomly during the game, at any moment.Here is a quick snippet of the NDGameSettings code used.*class CNDGameSettings : public CBaseEntity{DECLARE_CLASS( CNDGameSettings, CBaseEntity );DECLARE_NETWORKCLASS();public:static CNDGameSettings* GetInstance() { return s_pInstance; }protected:static CNDGameSettings* s_pInstance;...}CNDGameSettings::CNDGameSettings(){if( GetInstance() ) {#ifdef CLIENT_DLLWarning("[CLIENT] CNDGameSettings::CNDGameSettings() - An instance of CNDGameSettings already exists on the client side\n");#elseWarning("[SERVER] CNDGameSettings::CNDGameSettings() - An instance of CNDGameSettings already exists\n");UTIL_Remove( GetInstance() );#endif}// Save pointer to instance in class globals_pInstance = this;}CNDGameSettings::~CNDGameSettings(){if( GetInstance() == this ){ Msg( "### CNDGameSettings Destructor - Instance removed \n" );s_pInstance = NULL;}}*** server side only ***int CNDGameSettings::UpdateTransmitState( void ){// always transmit to all clientsreturn SetTransmitState( FL_EDICT_ALWAYS );}***After several attempts at reproducing the crash bug, we found out that people with bad/unstable connections and high latency were a lot more susceptible to this crash. We therefore suspected that the bug had something to do with the network behavior of HL2, and that some mechanism unknown to us would cause the NDGameSettings entity to be recreated during the game, instead of just once at map load time. Our debugging tests proved this, as we got the "### CNDGameSettings Destructor - Instance removed " message several times during the game (along with many other debugging messages displayed when weapon entities are created), using a laptop with a very bad connection to our test server. Now my theory is this has something to do with this "full world snapshot" update explained in the Source Multiplayer Networking article (http://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking):"Game data is compressed using delta compression to reduce network load. That means the server doesn't send a full world snapshot each time, but rather only changes (a delta snapshot) that happened since the last acknowledged update. With each packet sent between the client and server, acknowledge numbers are attached to keep track of their data flow. Usually full (non-delta) snapshots are only sent when a game starts or a client suffers from heavy packet loss for a couple of seconds. Clients can request a full snapshot manually with the cl_fullupdate command."To me, it seems that the client-side entities list is cleared and recreated when receiving a full world snapshot from the network. This would explain why the client-side NDGameSettings entity is destroyed and then recreated at random moments during the game and would also explain why the "load time error scenario" can happen at anytime while the game is running, especially to people with bad connections to the server.My questions:- Am I looking in the wrong direction?- If not, could someone explain the mechanics behind the full world snapshot a bit more indepth? - Are there any flags I can set to my NDGameSettings entity to somehow make it resistant to this?- Why use a proxy entity to network the GameRules data and not make the GameRules class directly inherit from CBaseEntity? - What is a correct way of safely creating/accessing singleton entity objects in Source?Thanks in advance! _ David Guetta a réuni les sons les plus connus de Messenger dans le Mix Messenger, le son de l’été ! Téléchargez-le gratuitement ! http://specials.divertissements.fr.msn.com/mixmessenger -- ___ To unsubscribe, edit your list preferences, or v
RE: [hlcoders] [WhE] Lighting preview ?
Did you actually understand what he meant, or are you just faking it? :P From: "Mike Durand" <[EMAIL PROTECTED]> Reply-To: hlcoders@list.valvesoftware.com To: Subject: RE: [hlcoders] [WhE] Lighting preview ? Date: Wed, 16 Aug 2006 09:49:28 -0700 Later. :) -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of ? Sent: Wednesday, August 16, 2006 4:28 AM To: hlcoders@list.valvesoftware.com Subject: [hlcoders] [WhE] Lighting preview ? All know its not work, and in today update this option was cutted, so we see that later or never ? ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
Re: [hlcoders] Aug4 SDK problems...
Actually I was a bit fast to conclude here - Commenting out the IsSelfAnimating() block didnt fix the player animation problems. To fix it, we've had to copy/paste the HL2DM player animation files in our mod's models folder: -- Models\Players\ - female_anims.mdl - male_anims.mdl -- Models\Humans\ - female_gestures.mdl - female_postures.mdl - female_shared.mdl - female_ss.mdl - male_gestures.mdl - male_postures.mdl - male_shared.mdl - male_ss.mdl I think this is because of the appid change (new sdk is using appid 215) - All hl2mp assets are no longer "linked". Anyone knows if there's a way of telling the engine to also import hl2mp assets with appid 215? From: "William Ravaine" <[EMAIL PROTECTED]> Reply-To: hlcoders@list.valvesoftware.com To: hlcoders@list.valvesoftware.com Subject: Re: [hlcoders] Aug4 SDK problems... Date: Sun, 13 Aug 2006 01:35:52 +0200 Thanks for the answers Paul and Garry. We've commented out the lines and the animations are working again! :) From: "Paul Peloski" <[EMAIL PROTECTED]> Reply-To: hlcoders@list.valvesoftware.com To: hlcoders@list.valvesoftware.com Subject: Re: [hlcoders] Aug4 SDK problems... Date: Sat, 12 Aug 2006 13:35:51 -0400 -- [ Picked text/plain from multipart/alternative ] The lines I mentioned (quoted below) should be removed from C_BaseEntity::PreDataUpdate not the function I mentioned. Sorry about the confusion. On 8/12/06, Paul Peloski <[EMAIL PROTECTED]> wrote: > #4 how exactly are the animations messed up? A couple days ago I mentioned > an animation bug I found in the latest SDK and as per Yahn's reply you can > remove the lines > > if ( !IsSelfAnimating() ) > { >m_flAnimTime = engine->GetLastTimeStamp(); > } > > from C_BaseEntity::IsSelfAnimating. This fixes players not interpolating > (if that's even your problem), which would make player animations look > jerky/very low framerate. > -- ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
Re: [hlcoders] Aug4 SDK problems...
Thanks for the answers Paul and Garry. We've commented out the lines and the animations are working again! :) From: "Paul Peloski" <[EMAIL PROTECTED]> Reply-To: hlcoders@list.valvesoftware.com To: hlcoders@list.valvesoftware.com Subject: Re: [hlcoders] Aug4 SDK problems... Date: Sat, 12 Aug 2006 13:35:51 -0400 -- [ Picked text/plain from multipart/alternative ] The lines I mentioned (quoted below) should be removed from C_BaseEntity::PreDataUpdate not the function I mentioned. Sorry about the confusion. On 8/12/06, Paul Peloski <[EMAIL PROTECTED]> wrote: > #4 how exactly are the animations messed up? A couple days ago I mentioned > an animation bug I found in the latest SDK and as per Yahn's reply you can > remove the lines > > if ( !IsSelfAnimating() ) > { >m_flAnimTime = engine->GetLastTimeStamp(); > } > > from C_BaseEntity::IsSelfAnimating. This fixes players not interpolating > (if that's even your problem), which would make player animations look > jerky/very low framerate. > -- ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
[hlcoders] Aug4 SDK problems...
Hi there! We're in the process of porting our mod to the new SDK and are getting many annoying asserts, with several of them happening at map load. that even happening on a fresh HL2 MP Sdk build (using "Modify HL2 deathmatch"). 1) The first one is about activities. We have fixed it by adding the missing activity entries for the Portal gun in Ai_activity.cpp as follows: ADD_ACTIVITY_TO_SR( ACT_HL2MP_JUMP_SLAM ); //### ADDED ### Activity for portalgun was missing ADD_ACTIVITY_TO_SR( ACT_MP_STAND_IDLE_PORTALGUN ); ADD_ACTIVITY_TO_SR( ACT_MP_RUN_IDLE_PORTALGUN ); ADD_ACTIVITY_TO_SR( ACT_MP_CROUCH_IDLE_PORTALGUN ); ADD_ACTIVITY_TO_SR( ACT_MP_WALK_CROUCH_PORTALGUN ); ADD_ACTIVITY_TO_SR( ACT_MP_GESTURE_RANGE_ATTACK_PORTALGUN ); ADD_ACTIVITY_TO_SR( ACT_MP_GESTURE_RELOAD_PORTALGUN ); ADD_ACTIVITY_TO_SR( ACT_MP_JUMP_PORTALGUN ); //### END ### // Multiplayer ADD_ACTIVITY_TO_SR( ACT_MP_STAND_IDLE ); 2) The next assert is more annoying since we don't know at all why it's happening: CStudioHdr *C_BaseAnimating::GetModelPtr() const { // GetModelPtr() is often called before OnNewModel() so go ahead and set it up first chance. #ifdef _DEBUG IDataCacheSection *pModelCache = datacache->FindSection( "ModelData" ); AssertOnce( pModelCache->IsFrameLocking() ); #endif .. Oviously the code will only execute in debug build and can be ignored, but the question still remains - Why is it shooting an assert here? It's happening every time on a new map load. Here is the client call stack: client.dll!C_BaseAnimating::GetModelPtr() client.dll!C_BaseAnimating::StudioFrameAdvance() Line 4038 + 0x8 C++ client.dll!C_BasePlayer::PostThink() Line 1483 C++ client.dll!CPrediction::RunPostThink(C_BasePlayer * player=0x2586bfc8) Line 810 C++ client.dll!CPrediction::RunCommand(C_BasePlayer * player=0x2586bfc8, CUserCmd * ucmd=0x2586ce98, IMoveHelper * moveHelper=0x249b76c4) Line 901 C++ client.dll!C_BasePlayer::PhysicsSimulate() Line 1720 C++ client.dll!CPrediction::RunSimulation(int current_command=27, float curtime=0., CUserCmd * cmd=0x0e6965d0, C_BasePlayer * localPlayer=0x2586bfc8) Line 1194 C++ client.dll!CPrediction::PerformPrediction(bool received_new_world_update=true, C_BasePlayer * localPlayer=0x2586bfc8, int incoming_acknowledged=26, int outgoing_command=32) client.dll!CPrediction::_Update(bool received_new_world_update=true, bool validframe=true, int incoming_acknowledged=26, int outgoing_command=32) Line 1662 + 0x18 C++ client.dll!CPrediction::Update(int startframe=123, bool validframe=true, int incoming_acknowledged=26, int outgoing_command=32) Line 1609 C++ engine.dll!0d995470() 4) We're especially concerned with animation errors/problems that we are facing since we moved to the new SDK. When running in developer mode we are getting messages such as "CBaseAnimatingOverlay::AddGesture: model models/combine_soldier.mdl missing activity ACT_HL2MP_GESTURE_RANGE_ATTACK_PISTOL" (happens with a fresh SDK code too when shooting with the pistol, etc). It comes from the following piece of code in CBaseAnimatingOverlay::AddGesture, BaseAnimatingOverlay.cpp: int seq = SelectWeightedSequence( activity ); if ( seq <= 0 ) { const char *actname = CAI_BaseNPC::GetActivityName( activity ); DevMsg( "CBaseAnimatingOverlay::AddGesture: model %s missing activity %s\n", STRING(GetModelName()), actname ); return -1; } Here's the top of the stack trace (after I shoot with the pistol): server.dll!CBaseAnimatingOverlay::AddGesture(Activity activity=ACT_HL2MP_GESTURE_RANGE_ATTACK_PISTOL, bool autokill=true) Line 557 server.dll!CBaseAnimatingOverlay::RestartGesture(Activity activity=ACT_HL2MP_GESTURE_RANGE_ATTACK_PISTOL, bool addifmissing=true, bool autokill=true) Line 834 server.dll!CHL2MP_Player::SetAnimation(PLAYER_ANIM playerAnim=PLAYER_ATTACK1) Line 706 The SelectWeightedSequence() method returns -1 which corresponds to ACTIVITY_NOT_AVAILABLE. This is called from the player entity. Our players/bots animations are totally messed up ingame since the port, and we suspect this might have something to do with the error above. The 1st person weapons animate just fine though. 5) Another assert occasionnaly pops up when I try to select the stunstick in the non-modified SDK or when I select some weapons or spawn a bot in my mod: mstudioseqdesc_t &CStudioHdr::pSeqdesc( int i ) const { Assert( i >= 0 && i < GetNumSeq() ); In the case where I got this assert when spawning a bot our mod, it got called from the pistol weapon entity carried by the bot. Stack trace: client.dll!CStudioHdr::pSeqdesc(int i=6) Line 786 client.dll!C_BaseAnimating::DoAnimationEvents(CStudioHdr * pStudioHdr=0x0293cb50) Line 2610 client.dll!C_BaseAnimating::Simulate() Line 3889 client.dll!SimulateEntities() Line 1368 client.dll!OnRenderStart() Line
RE: [hlcoders] Rerouting VGUI key events to the HL2 engine
Thanks! I've noticed this a while ago, but I kept telling myself there had to be a cleaner way of doing this... guess not :( Hardcoding, here i go! From: "Paul Peloski" <[EMAIL PROTECTED]> Reply-To: hlcoders@list.valvesoftware.com To: hlcoders@list.valvesoftware.com Subject: [hlcoders] Rerouting VGUI key events to the HL2 engine Date: Tue, 18 Jul 2006 14:47:51 -0400 -- [ Picked text/plain from multipart/alternative ] Instead of using SetKeyboardInputEnabled, try what Valve does for the weapon selection HUD, in ClientModeShared::KeyInput. Make a global accessor for your hotkey panel and make a KeyInput function for it, then call that KeyInput function and use the return value to determine whether the panel ate the keystroke or whether the keystroke should be processed by the engine (KeyInput returns 0 when the engine can't have the key and 1 when it can). I believe this is how you do what you want since once VGUI is overriding the keystrokes I don't think you can pass them back to the engine the way you want. Message: 6 > From: "William Ravaine" <[EMAIL PROTECTED]> > To: hlcoders@list.valvesoftware.com > Date: Tue, 18 Jul 2006 13:51:47 +0200 > Subject: [hlcoders] Rerouting VGUI key events to the HL2 engine > Reply-To: hlcoders@list.valvesoftware.com > > Hi guys, > > Im trying to implement a kind of hotkey system for my ingame panels, but > Ive > run into an annoying issue: as soon as a panel is given keyboard input > rights (SetKeyboardInputEnabled true), all the key events are swallowed by > the panel. This was expected though, but the problem Im having is that I > can't find a way of redirecting to the HL2 client the key events I dont > handle in the panels. I've tried using engine->GetLastPressedEngineKey() > and > engine->Key_Event( iLastTrappedKey, false ) to fake it, but it doesnt seem > to have any effect. Here's how Im using it: > > void MyPanel::OnKeyCodeTyped(KeyCode code) > { > if( code == KEY_ESCAPE ) > ShowPanel( false ); > else > { > int iLastTrappedKey = engine->GetLastPressedEngineKey(); > engine->Key_Event( iLastTrappedKey, false ); > } > } > > Any ideas/suggestions welcome! > > - Spk > -- ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
[hlcoders] Rerouting VGUI key events to the HL2 engine
Hi guys, Im trying to implement a kind of hotkey system for my ingame panels, but Ive run into an annoying issue: as soon as a panel is given keyboard input rights (SetKeyboardInputEnabled true), all the key events are swallowed by the panel. This was expected though, but the problem Im having is that I can't find a way of redirecting to the HL2 client the key events I dont handle in the panels. I've tried using engine->GetLastPressedEngineKey() and engine->Key_Event( iLastTrappedKey, false ) to fake it, but it doesnt seem to have any effect. Here's how Im using it: void MyPanel::OnKeyCodeTyped(KeyCode code) { if( code == KEY_ESCAPE ) ShowPanel( false ); else { int iLastTrappedKey = engine->GetLastPressedEngineKey(); engine->Key_Event( iLastTrappedKey, false ); } } Any ideas/suggestions welcome! - Spk ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
RE: [hlcoders] Font size glitches after hud_reloadscheme
Have you ever tried to use a vgui::Label control to display text in one of your HUD elements, instead of manually drawing the text using surface()->DrawText? Because the only text displays that go wrong after a hud_reloadscheme here are the ones from the vgui::Label controls. From: "Tony \"omega\" Sergi" <[EMAIL PROTECTED]> Reply-To: hlcoders@list.valvesoftware.com To: Subject: RE: [hlcoders] Font size glitches after hud_reloadscheme Date: Mon, 26 Jun 2006 12:32:20 -0400 I use hud_reloadscheme a lot, and I've never had this problem after editing them before. ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
Re: [hlcoders] Font size glitches after hud_reloadscheme
By editing them in 640x480, do you mean using the built-in VGUI editor to position/scale controls? Because im not using this at all (i cant use it to edit HUD elements as it is right now). I'm changing x/y/size numbers in the HudLayout.res then saving and using hud_reloadscheme to see the changes ingame. Maybe this is where Im wrong, but it is my understanding that the x/y/size numbers Im setting in the HudLayout files are relative to a 640x480 virtual screen already. When I change resolution everything scales up fine (panels aspect ratios are preserved) except the labels text which get messed up - they get much bigger than they should be. And I'd like to know why :) From: "Benjamin Davison" <[EMAIL PROTECTED]> Reply-To: hlcoders@list.valvesoftware.com To: hlcoders@list.valvesoftware.com Subject: Re: [hlcoders] Font size glitches after hud_reloadscheme Date: Mon, 26 Jun 2006 16:25:56 +0100 -- [ Picked text/plain from multipart/alternative ] Yeah edit them in 640x480 and the problems will go away :) I had the same problem for a while. On 6/26/06, Tony omega Sergi <[EMAIL PROTECTED]> wrote: > > > It is 640x480. > > Everything is scaled off of a 640x480 resolution screen (being that > 640x480 > is the lowest resolution you can go). So it's just a matter of placing > everything in a 640x480 space, and then it re-calculates for other > resolutions automatically, and rescales. This is how Quake3 worked too, > and > I'm pretty sure doom3 and quake4 do it as well, but I haven't modded them > so > I have no clue. > > -- > -- omega > Heroes of Excelsior > http://www.heroesofexcelsior.com > Blackened Interactive > http://www.blackened-interactive.com > > > > -Original Message- > > From: William Ravaine [mailto:[EMAIL PROTECTED] > > Sent: June 26, 2006 7:17 AM > > To: hlcoders@list.valvesoftware.com > > Subject: Re: [hlcoders] Font size glitches after hud_reloadscheme > > > > By the way, what is the "native" screen resolution for VGUI editing? Im > > pretty sure it wasnt 640x480, but I could be wrong. > > > > > ___ > To unsubscribe, edit your list preferences, or view the list archives, > please visit: > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > -- - Benjamin Davison -- ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
Re: [hlcoders] Font size glitches after hud_reloadscheme
Well when I reload the hud scheme/layout Im in 1024x768 - But the hud controls positions/sizes etc are provided in "virtual screen coordinates" already in the HudLayout.res file so it shouldnt matter if Im editing them in 640x480 or not. When I do the hud_reloadscheme command, it only seems to screw up the font size of text displayed using vgui::Labels. HUD elements that do a direct surface()->DrawText dont suffer from this problem. Looking at the replies I got, no one really seems to know what is causing this here so Ill go ahead and try to fix it then post the solution here I guess. By the way, what is the "native" screen resolution for VGUI editing? Im pretty sure it wasnt 640x480, but I could be wrong. From: "Benjamin Davison" <[EMAIL PROTECTED]> Reply-To: hlcoders@list.valvesoftware.com To: hlcoders@list.valvesoftware.com Subject: Re: [hlcoders] Font size glitches after hud_reloadscheme Date: Sun, 25 Jun 2006 17:51:56 +0100 -- [ Picked text/plain from multipart/alternative ] What res are you editing them in? Edit them in 640*480 and this won't happen. On 6/25/06, William Ravaine <[EMAIL PROTECTED]> wrote: > > Im currently working on my HUD and loading the controls settings from a > keyvalues resource file (HudLayout.res). I've replaced most of the HL2 HUD > panels by my own ones that use vgui::labels to display text (ammo count, > etc) instead of the HudNumericDisplay class (which directly draws text on > the panel surface). > > Im having an annoying bug where the font used by these labels almost > doubles > in size after I execute a hud_reloadscheme command to reload the > HudLayout.res ingame. Several other elements of the UI also get messed up > (half of the HL2 weapon selection menu is outside of the screen, the > player > id text also doubles/triples in size, etc). This forces me to restart my > client to get the fonts back to normal size, and defeats the purpose of > command (which is to reload the hud layout without having to restart the > client). > > Im curious as to what is causing this and was wondering if there a > workaround/fix is available for this before I try fixing this by myself, > provided it's possible at all. I think this has something to do with VGUI > confusing screen resolution and/or not applying proportional values > correctly at some point. I've noticed this also happens when I change my > client's screen resolution. > > My apologizes if this has already been answered in a previous post, but I > couldnt find any message relating to my problem. > > Thanks! > - Spk > > > > ___ > To unsubscribe, edit your list preferences, or view the list archives, > please visit: > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > -- - Benjamin Davison -- ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
[hlcoders] Font size glitches after hud_reloadscheme
Im currently working on my HUD and loading the controls settings from a keyvalues resource file (HudLayout.res). I've replaced most of the HL2 HUD panels by my own ones that use vgui::labels to display text (ammo count, etc) instead of the HudNumericDisplay class (which directly draws text on the panel surface). Im having an annoying bug where the font used by these labels almost doubles in size after I execute a hud_reloadscheme command to reload the HudLayout.res ingame. Several other elements of the UI also get messed up (half of the HL2 weapon selection menu is outside of the screen, the player id text also doubles/triples in size, etc). This forces me to restart my client to get the fonts back to normal size, and defeats the purpose of command (which is to reload the hud layout without having to restart the client). Im curious as to what is causing this and was wondering if there a workaround/fix is available for this before I try fixing this by myself, provided it's possible at all. I think this has something to do with VGUI confusing screen resolution and/or not applying proportional values correctly at some point. I've noticed this also happens when I change my client's screen resolution. My apologizes if this has already been answered in a previous post, but I couldnt find any message relating to my problem. Thanks! - Spk ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
RE: [hlcoders] Server uses different classe tables
Thanks for the answer, but Ive repeatedly mentioned in my previous messages that the game works fine on a listen server, and only fails on a dedicated server so this is definately not a code-base issue on my end. Both client and server dlls have been rebuilt completely and copied to the server, I've ensured the files were identical on both the remote client and server machine like 50 times, and Im still getting this error on the dedicated server only. I can create a local server / listen server without any problems. Now the thing that is very blury to me are the differences between a listen and dedicated server that could cause such a problem to happen, and this is where an answer from one of Valve's developers would be more than appreciated. Is the dedicated server more "sensitive" than its listen server counterpart? If so, what should I look for in the code to fix the problem? Thanks in advance, Spk From: [EMAIL PROTECTED] Reply-To: hlcoders@list.valvesoftware.com To: hlcoders@list.valvesoftware.com Subject: RE: [hlcoders] Server uses different classe tables Date: Sat, 17 Jun 2006 12:44:31 -0500 Assuming your client Steam and srcds are both fully updated then the issue is some difference in your server.dll/.so on the server, and the server.dll and/or client.dll on the client. Unfortunately the HL2 core gives you no way (that I know of) to determine exactly what you have desynchronized. Compiler/linker differences are a possible culprit if you're certain the code base is identical. At 2006/06/17 05:21 AM, William Ravaine wrote: >Any more clues on what could be causing this annoying problem? I still >havent managed to fix it after updating everyting I could and it's really >starting to affect the development of the mod. > >Regards, >Spk > > >>From: "Tony \"omega\" Sergi" <[EMAIL PROTECTED]> >>Reply-To: hlcoders@list.valvesoftware.com >>To: >>Subject: RE: [hlcoders] Server uses different classe tables >>Date: Sun, 11 Jun 2006 18:15:03 -0400 >> >>I really wish they'd fix the tools as well, it's been almost 2 weeks now >>and >>the tools still don't work properly. >> >>Steam is great because you can release updates and whatnot.. but come on, >>breaking everything in the process??!?? >> >>-- >>-- omega >>Heroes of Excelsior >>http://www.heroesofexcelsior.com >>Blackened Interactive >>http://www.blackened-interactive.com >>> -Original Message- >>> From: [EMAIL PROTECTED] >>> [mailto:[EMAIL PROTECTED] >>> Sent: June 11, 2006 6:01 PM >>> To: hlcoders@list.valvesoftware.com >>> Subject: Re: [hlcoders] Server uses different classe tables >>> >>> The last steam update that broke compatibility was mid last week I >>> believe. >>> >>> At 2006/06/11 04:53 PM, William Ravaine wrote: >>> >Yes that's what I suspected either - As I've explained in my first >>mail, >>> >I've update tried updating the dedicated server using the >>HLDSUpdateTool, >>> >but maybe I did that wrong? Here's the command line Im using: >>> > >>> >HldsUpdateTool.exe -command update -game hl2mp >>> > >>> >This is a mod based on the hl2mp code. When I ran it, it said >>everything >>> was >>> >up to date already (which is suspicious since you've said there's been >>an >>> >update recently). Is it the wrong command or do I need to update >>> something >>> >else? Maybe there's a new version of the updater too? >>> > >>> > >>> >>From: [EMAIL PROTECTED] >>> >>Reply-To: hlcoders@list.valvesoftware.com >>> >>To: hlcoders@list.valvesoftware.com >>> >>Subject: Re: [hlcoders] Server uses different classe tables >>> >>Date: Sun, 11 Jun 2006 16:45:42 -0500 >>> >> >>> >>The last srcds update was not backwards-compatible. Make sure you've >>> >>updated or you will get this error. This isn't the first srcds update >>> that >>> >>has had this bug/feature - it happened a couple months back as well. >>> >> >>> >>At 2006/06/11 04:33 PM, Garry Newman wrote: >>> >>>The different class tables doesn't nessisarily mean that the dlls >>> >>>weren't compiled at the same time.. you could have just messed up the >>> >>>send/recv tables. It usually happens when the server is trying to >>send >>> >>>something and the client doesn't have a
RE: [hlcoders] Server uses different classe tables
Any more clues on what could be causing this annoying problem? I still havent managed to fix it after updating everyting I could and it's really starting to affect the development of the mod. Regards, Spk From: "Tony \"omega\" Sergi" <[EMAIL PROTECTED]> Reply-To: hlcoders@list.valvesoftware.com To: Subject: RE: [hlcoders] Server uses different classe tables Date: Sun, 11 Jun 2006 18:15:03 -0400 I really wish they'd fix the tools as well, it's been almost 2 weeks now and the tools still don't work properly. Steam is great because you can release updates and whatnot.. but come on, breaking everything in the process??!?? -- -- omega Heroes of Excelsior http://www.heroesofexcelsior.com Blackened Interactive http://www.blackened-interactive.com > -Original Message- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] > Sent: June 11, 2006 6:01 PM > To: hlcoders@list.valvesoftware.com > Subject: Re: [hlcoders] Server uses different classe tables > > The last steam update that broke compatibility was mid last week I > believe. > > At 2006/06/11 04:53 PM, William Ravaine wrote: > >Yes that's what I suspected either - As I've explained in my first mail, > >I've update tried updating the dedicated server using the HLDSUpdateTool, > >but maybe I did that wrong? Here's the command line Im using: > > > >HldsUpdateTool.exe -command update -game hl2mp > > > >This is a mod based on the hl2mp code. When I ran it, it said everything > was > >up to date already (which is suspicious since you've said there's been an > >update recently). Is it the wrong command or do I need to update > something > >else? Maybe there's a new version of the updater too? > > > > > >>From: [EMAIL PROTECTED] > >>Reply-To: hlcoders@list.valvesoftware.com > >>To: hlcoders@list.valvesoftware.com > >>Subject: Re: [hlcoders] Server uses different classe tables > >>Date: Sun, 11 Jun 2006 16:45:42 -0500 > >> > >>The last srcds update was not backwards-compatible. Make sure you've > >>updated or you will get this error. This isn't the first srcds update > that > >>has had this bug/feature - it happened a couple months back as well. > >> > >>At 2006/06/11 04:33 PM, Garry Newman wrote: > >>>The different class tables doesn't nessisarily mean that the dlls > >>>weren't compiled at the same time.. you could have just messed up the > >>>send/recv tables. It usually happens when the server is trying to send > >>>something and the client doesn't have a variable ready for it.. (their > >>>tables don't match). > >>> ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
Re: [hlcoders] Server uses different classe tables
Yes that's what I suspected either - As I've explained in my first mail, I've update tried updating the dedicated server using the HLDSUpdateTool, but maybe I did that wrong? Here's the command line Im using: HldsUpdateTool.exe -command update -game hl2mp This is a mod based on the hl2mp code. When I ran it, it said everything was up to date already (which is suspicious since you've said there's been an update recently). Is it the wrong command or do I need to update something else? Maybe there's a new version of the updater too? From: [EMAIL PROTECTED] Reply-To: hlcoders@list.valvesoftware.com To: hlcoders@list.valvesoftware.com Subject: Re: [hlcoders] Server uses different classe tables Date: Sun, 11 Jun 2006 16:45:42 -0500 The last srcds update was not backwards-compatible. Make sure you've updated or you will get this error. This isn't the first srcds update that has had this bug/feature - it happened a couple months back as well. At 2006/06/11 04:33 PM, Garry Newman wrote: >The different class tables doesn't nessisarily mean that the dlls >weren't compiled at the same time.. you could have just messed up the >send/recv tables. It usually happens when the server is trying to send >something and the client doesn't have a variable ready for it.. (their >tables don't match). > >It's weird that it's only happening on a dedicated server but I heard >something from Krenzo (empires mod) a while back.. he was in the same >situation except the class tables didn't match only when they tried to >record demos. > >Weird. Is it just linux dedicated server or windows too? > > >On 6/11/06, William Ravaine <[EMAIL PROTECTED]> wrote: >>Yes that's the first thing Ive done. We also use SVN to keep our version in >>sync, but just to be sure Ive uploaded a zip file holding the server & >>client dll from my computer directly to our remote server, so the server & >>client dlls are definately the same on both ends of the wire. I wished it >>would have been so simple a fix though :) >> >>Any ideas? Im looking for more detailed information on what's causing this >>error to happen while the DLLs are definately identical on both sides. >> >>>From: "Aaron Schiff" <[EMAIL PROTECTED]> >>>Reply-To: hlcoders@list.valvesoftware.com >>>To: hlcoders@list.valvesoftware.com >>>Subject: Re: [hlcoders] Server uses different classe tables >>>Date: Sun, 11 Jun 2006 15:21:05 -0500 >>> >>>-- >>>[ Picked text/plain from multipart/alternative ] >>>The problem isn't between the client.dll and server.dll >>> >>>It's a difference between the client.dll on the dedicated server and the >>>client.dll in your SourceMods >>> >>>Just overwrite the dedicated server's client.dll with your SourceMods one >>> >>>-- >>>ts2do >>>-- >>> >>>___ >>>To unsubscribe, edit your list preferences, or view the list archives, >>>please visit: >>>http://list.valvesoftware.com/mailman/listinfo/hlcoders >>> >> >> >> >>___ >>To unsubscribe, edit your list preferences, or view the list archives, please visit: >>http://list.valvesoftware.com/mailman/listinfo/hlcoders >> > >___ >To unsubscribe, edit your list preferences, or view the list archives, please visit: >http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
Re: [hlcoders] Server uses different classe tables
Thanks for the answer. The dedicated server is running on a WinXP system. I've never had this problem before, and the first time it happened was when I commented out one entry of an entity's network table, on both the server and client side: Client Side BEGIN_RECV_TABLE_NOBASE( C_NDBaseNetDataManager, DT_NDBaseNetDataMgr_SightData ) RecvPropFloat( RECVINFO( m_fSourceXpos ) ), RecvPropFloat( RECVINFO( m_fSourceYpos ) ), //RecvPropInt( RECVINFO( m_iSourceTeam ) ), END_RECV_TABLE() IMPLEMENT_CLIENTCLASS_DT(C_NDBaseNetDataManager, DT_NDBaseNetDataMgr, CNDBaseNetDataManager) ... // Only sent to teams that have sighted source entity RecvPropDataTable( "basenetdata_sightdata", 0, 0, &REFERENCE_RECV_TABLE(DT_NDBaseNetDataMgr_SightData) ), ... END_RECV_TABLE() Server Side // Sight Data - Only sent to teams that have sighted source entity BEGIN_SEND_TABLE_NOBASE( CNDBaseNetDataManager, DT_NDBaseNetDataMgr_SightData ) SendPropFloat( SENDINFO( m_fSourceXpos ), -1, SPROP_COORD ), SendPropFloat( SENDINFO( m_fSourceYpos ), -1, SPROP_COORD ), //SendPropInt( SENDINFO( m_iSourceTeam ), 4, SPROP_UNSIGNED ), END_SEND_TABLE() IMPLEMENT_SERVERCLASS_ST( CNDBaseNetDataManager, DT_NDBaseNetDataMgr ) ... // Only sent to teams that have sighted source entity SendPropDataTable( "basenetdata_sightdata", 0, &REFERENCE_SEND_TABLE(DT_NDBaseNetDataMgr_SightData), CNDBaseNetDataManager::SendProxy_SightData), ... END_SEND_TABLE() Using the code above, with the m_iSourceTeam entry commented out, I would get the "server uses different class tables" error on the dedicated server (listen server would run just fine). If I restore it like it was before by removing the comment, the server works again. Since I didnt know exactly what was causing this issue and why, Ive had to leave the m_iSourceTeam entry there even though I wanted to remove it. Later on, another coder on the team commited a weapon code update which was also using a network table (but totally unrelated to the one above though) and the error restarted happening on the dedicated server. I'm really not sure what's causing this, it doesnt make much sense to me right now. What puzzles me is that it's working fine on a listen/local server, but fails miserably on a dedicated server. Any more ideas/suggestions anyone? Could really use some help here :) Thanks in advance, Spk From: "Garry Newman" <[EMAIL PROTECTED]> Reply-To: hlcoders@list.valvesoftware.com To: hlcoders@list.valvesoftware.com Subject: Re: [hlcoders] Server uses different classe tables Date: Sun, 11 Jun 2006 22:33:07 +0100 The different class tables doesn't nessisarily mean that the dlls weren't compiled at the same time.. you could have just messed up the send/recv tables. It usually happens when the server is trying to send something and the client doesn't have a variable ready for it.. (their tables don't match). It's weird that it's only happening on a dedicated server but I heard something from Krenzo (empires mod) a while back.. he was in the same situation except the class tables didn't match only when they tried to record demos. Weird. Is it just linux dedicated server or windows too? On 6/11/06, William Ravaine <[EMAIL PROTECTED]> wrote: Yes that's the first thing Ive done. We also use SVN to keep our version in sync, but just to be sure Ive uploaded a zip file holding the server & client dll from my computer directly to our remote server, so the server & client dlls are definately the same on both ends of the wire. I wished it would have been so simple a fix though :) Any ideas? Im looking for more detailed information on what's causing this error to happen while the DLLs are definately identical on both sides. >From: "Aaron Schiff" <[EMAIL PROTECTED]> >Reply-To: hlcoders@list.valvesoftware.com >To: hlcoders@list.valvesoftware.com >Subject: Re: [hlcoders] Server uses different classe tables >Date: Sun, 11 Jun 2006 15:21:05 -0500 > >-- >[ Picked text/plain from multipart/alternative ] >The problem isn't between the client.dll and server.dll > >It's a difference between the client.dll on the dedicated server and the >client.dll in your SourceMods > >Just overwrite the dedicated server's client.dll with your SourceMods one > >-- >ts2do >-- > >___ >To unsubscribe, edit your list preferences, or view the list archives, >please visit: >http://list.valvesoftware.com/mailman/listinfo/hlcoders > ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://
Re: [hlcoders] Server uses different classe tables
Yes that's the first thing Ive done. We also use SVN to keep our version in sync, but just to be sure Ive uploaded a zip file holding the server & client dll from my computer directly to our remote server, so the server & client dlls are definately the same on both ends of the wire. I wished it would have been so simple a fix though :) Any ideas? Im looking for more detailed information on what's causing this error to happen while the DLLs are definately identical on both sides. From: "Aaron Schiff" <[EMAIL PROTECTED]> Reply-To: hlcoders@list.valvesoftware.com To: hlcoders@list.valvesoftware.com Subject: Re: [hlcoders] Server uses different classe tables Date: Sun, 11 Jun 2006 15:21:05 -0500 -- [ Picked text/plain from multipart/alternative ] The problem isn't between the client.dll and server.dll It's a difference between the client.dll on the dedicated server and the client.dll in your SourceMods Just overwrite the dedicated server's client.dll with your SourceMods one -- ts2do -- ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
[hlcoders] Server uses different classe tables
I'm having a strange problem with my mod's dedicated server rejecting clients on connection with the following message "Server uses different classe tables" (along with a "Your .dll [bin\client.dll] differs from the server's." error message in the console). I have triple check the file versions on the server and my client, made sure I was using the same build, but it would still give me this error. What really baffles me is that I can connect no problem to a friend of mine running the same version of the mod on a listen server (that is, he's hosting the game and playing at the same time). I have tried updating the dedicate server software using the HLDSUpdateTool with the -command update -hl2mp but everything seems to already be up to date. Ive also noticed that it seems to happen as soon as we introduced new code using network tables. If we remove the network tables, or dont alter any existing one, the dedicated server will let client connects. If we remove an entry in one of the network tables (on both client and server side) the dedicated server will display the error message above. Any got some suggestions to fix this problem? Maybe a recent Source update has had a side effect on this? Thanks in advance, Spk ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
RE: [hlcoders] VGUI2 & Masking
Yes I'm well aware that I can render textures with alpha using VGUI. That's fine for "static" textures, but in my case I'm only rendering one portion of the original texture, and would like to "frame it" with a nice circular border. This is for a minimap, but I want to use this masking system for other HUD elements as well. So what I want to do is use a seperate alphamask texture to show/hide parts of another surface ingame. Is that clearer? Now maybe there's already a functionality like this in the materials which allows us to specify an alphamask texture? From: "Alfred Reynolds" <[EMAIL PROTECTED]> Reply-To: hlcoders@list.valvesoftware.com To: Subject: RE: [hlcoders] VGUI2 & Masking Date: Thu, 9 Feb 2006 11:18:35 -0800 VGUI2 already supports rendering transparent textures, just override the paint() function of the panel and don't draw where you don't want pixels (your source TGA art for the textures needs to have an alpha channel to make use of this functionality). - Alfred William Ravaine wrote: > Hey, > > Im trying to perform masking with VGUI surfaces. My goal is to take a > base > texture and apply a binary mask texture to it (white = transparent, > black = > solid) so that I can give my rectangular texture rounded edges or any > other > kind of shape I want. > > This is usually done by rendering the mask texture on the destination > surface, and then rendering the base texture on top using a special > blend > function that will only retain the parts of the base texture where > the color > of the mask texture underneath is black. > > Now I've been searching a bit in the HL2 SDK code, and the only > potential > tool I've found is RenderTarget and procedural textures. However, > there > doesnt seem to be any way of modifying the blend function from the > material > system, since I guess the blending formulas are defined in the > material > shaders themselves. > > So i'm wondering if there's an obvious, easy way of doing masking > that I > would have missed, or if I'm going ot have to resort to writting a > shader > for this? > > Any help appreciated! > Spk > > > > ___ > To unsubscribe, edit your list preferences, or view the list > archives, please visit: > http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
[hlcoders] VGUI2 & Masking
Hey, Im trying to perform masking with VGUI surfaces. My goal is to take a base texture and apply a binary mask texture to it (white = transparent, black = solid) so that I can give my rectangular texture rounded edges or any other kind of shape I want. This is usually done by rendering the mask texture on the destination surface, and then rendering the base texture on top using a special blend function that will only retain the parts of the base texture where the color of the mask texture underneath is black. Now I've been searching a bit in the HL2 SDK code, and the only potential tool I've found is RenderTarget and procedural textures. However, there doesnt seem to be any way of modifying the blend function from the material system, since I guess the blending formulas are defined in the material shaders themselves. So i'm wondering if there's an obvious, easy way of doing masking that I would have missed, or if I'm going ot have to resort to writting a shader for this? Any help appreciated! Spk ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
[hlcoders] Difference between Bone Controllers and Pose Params?
Hi, Im trying to get my weapon's model barrel to spin on demand from the code. To this end, my modeler has added a bone controller to the model, tied to the barrels bone I guess, which lets me spin it. I've asked him why he didn't use a pose parameter instead, and he told me he wasn't really sure about the difference between pose params and bone controllers. I went checking in the source code, and it seems that we are allowed 24 pose params per model but only 4 bone controllers. So could anyone give me more details about this please? Also, what is the most network-friendly/efficient way of making a part of a model (which can be different from a weapon viewmodel so potentially visible by more than one player) spin through a poseparam/bonecontroller at a regular speed? The naive approach would be to increment the model's poseparam every so often on the server side by a given step, but this means that the poseparam value will be sent over the network very often as well. Ideally, I would like the poseparam incrementation to happen on the client side. On the server side, I would then toggle the incrementation through a simple networked flag variable, and eventually a rotation speed. Now I'm not exactly sure how to do that with all the prediction and interpolation already acting on the poseparams/bonecontrollers. Any idea? Thanks in adance. I hope this wasnt too confusing =) Spk ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
[hlcoders] Netchannel: failed processing message svc_Sounds
It seems this started happening to us since october. When we playtest our mod and shoot the regular HL2 DM grenades at each other (or any other bouncing object), we start getting engine error messages such as "Netchannel: failed processing message svc_Sounds" and "Fragment transmission aborted at 1/1", while getting a very annoying "tin can" sound that loops forever, and adds up each time a new grenade collides with the environment. A client-side crash usually follows 1 minute later or so, and we strongly suspect this is due to this sound problem, since some of us don't crash while others do, even though we were standing in the same area. This is really spoiling all our playtest attempts at the moment. We tried figuring out the origin of this crash by running a debug build and checking the crash log, but it points to a function in the engine itself, and not the client dll. It seems we're not the only ones having this problem as I remember a post on the HL2CTF forums about some servers where this is occuring as well. Does anyone know what's causing it, and how to fix it? Thanks in advance, Spk ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
[hlcoders] Player ragdolls not replicating bodygroup
I am currently using SetBodygroup to select different faces on the player model I use in my mod. This works fine until the player is killed: the ragdoll that is created from the dead player entity resets to the default bodygroup and thus "changes face" on death (it resets to the default face). I haven't had a lot of time to really dig into the Ragdoll creation code, but I'm not sure I totally understand the process beind the creation of ragdolls. I've checked out the BecomeRagdollOnClient & BecomeRagdollOnServer, hoping to find the place where the ragdoll entity is created so that I could replicate the bodygroups, but I haven't gotten any results out of it so far. So would someone familiar with the way ragdolls are created/handled please give me some pointers to places that may interest me in the code to make the ragdoll "remember" the values of the different bodyparts that have been set on the player they are created from? Thanks in advance! Spk ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders