I'm currently rewriting the entire options dialogue of Ep2 in order to be able to add my own options. One of the fields I want to add is the number of decals. So I made a call to cvar->FindVar("r_decals") in my optionspanel.cpp. Since I'll be needing the ConVar multiple times, I assigned it to a ConVar pointer via
ConVar *cvDecals = (ConVar*) cvar->FindVar("r_decals"); The same is done in c_baseplayer.cpp for example, i.e. ConVar *pVar = (ConVar *)cvar->FindVar( "snd_soundmixer" ). The code compiles absolutely fine. However, if I start the mod and go to the console, it says "ConVarRef cl_forwardspeed doesn't point to an existing ConVar". Trying to open my panel I get a "unknown command modoptions". When I want to start a singleplayer game I get the DT_Basegrenade error discussed here multiple times, complaining about missing decoders. And, to top it all off, when I close the game via exit or quit through the console or the quit dialogue, the game crashes with this listed as faulty module: Fault Module Name: client.dll_unloaded. The strange thing is though that if I don't assign the return value of FindVar() and simply do a Q_strcpy( m_cDecals, cvar->FindVar("r_decals")->GetString() ); m_pDecals->SetText( m_cDecals ); everything works fine and the value of r_decals gets printed to the appropriate text field. However, it's not possible to change the value of the ConVar. For example, if I do a cvar->FindVar("r_decals")->SetValue(1024) before I copy the string to m_cDecals, the value will still be 2048 as defined in my config.cf. This is all very confusing since I can't find the striking difference between the example in c_baseplayer I mentioned and my panel. _______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders