![]() |
Q3 Engine Game Bugs / JA bugs
1. (g_cmds.c) cmd_where_f should use
vtos( ent->r.currentOrigin ) in the print too show current location. 2. bot_minplayers removerandom bot bug where it kicks spectators watching them instead of the bot: change the following in g_bot.c: trap_SendConsoleCommand( EXEC_INSERT, va("kick \"%s\"\n", netname) ); to trap_SendConsoleCommand( EXEC_INSERT, va("clientkick \"%d\"\n", cl->ps.clientNum)); 3. Something i found in ET mod-source so credit them and me... in g_client.c below the check for invaild pw put: // Gordon: porting q3f flag bug fix // If a player reconnects quickly after a disconnect, the client disconnect may never be called, thus flag can get lost in the ether if( ent->inuse ) { G_LogPrintf( "Forcing disconnect on active client: %i\n", ent-g_entities ); // so lets just fix up anything that should happen on a disconnect ClientDisconnect( ent-g_entities ); } 4. bug in password checking if statement also in g_client.c: SVF_BOT isnt set till below so change it to !isBot 5. remapShader in cg_servercmds.c is bugged, just comment out old and replace with the following if u plan on having a client also: if ( Q_strncmp (cmd, "remapShader", 11) == 0 ) { if (trap_Argc() == 4) { char shader1[MAX_QPATH]; char shader2[MAX_QPATH]; Q_strncpyz(shader1, CG_Argv(1), sizeof(shader1)); Q_strncpyz(shader2, CG_Argv(2), sizeof(shader2)); trap_R_RemapShader(shader1, shader2, CG_Argv(3)); return; } } 6. for now from my other post Tinny showed me how too fix player sliding: in bg_pmove.c u will find: // If on a client then there is no friction else if ( pm->ps->groundEntityNum < MAX_CLIENTS ) { drop = 0; } comment that out and compile cgame and game i think for this too work. Finally, if you would like me too share my /dropflag cmd drop me a pm. it should be pretty much exploit proof. i have trace in it so that if u toss it next to a wall it does not go out of level. i also did fix the connection screen bug but i feel that i didnt need to show this now :) also i may suggest disabling the debug cmds in g_cmds.c or u could fix em up and disable use of -1 for setsabermove :) and make a cvar too allow/disallow them. (debugThrow, debugDropSaber, debugSetSaberMove, debugKnockMeDown, debugSetBodyAnim, debugDismemberment, and debugSaberSwitch) |
Just compiling your code with the "Final" Compile configuration removes the issue with the debug commands being availible to players.
|
exactly but my mod allows them with a cvar but some mods dont notice the ifndef final_build around them.
|
Thanks a lot for those Ensiform, btw what exactly is /dropflag?
|
heh its to toss the flag in ctf :)
|
Anybody know how to fix the warning that comes up from this line of code in cg_players.c:
const unsigned char savRGBA[3] = {legs.shaderRGBA[0],legs.shaderRGBA[1],legs.shaderRGBA[2]}; The warning is: warning C4204: nonstandard extension used : non-constant aggregate initializer um ppl feel free too post your bugfixes here :). can we get this to be an announcement or sticky ? |
The error is due to C not liking you initizing your vec3_ts and similar data thingys when you define them. Do the following to fix this:
cg_players.c, CG_Player() Quote:
Quote:
|
that code gives this :(
warning C4132: 'savRGBA' : const object should be initialized error C2166: l-value specifies const object error C2166: l-value specifies const object error C2166: l-value specifies const object |
My bad. Remove the "const" from the define.
EDIT: The code in the above post has been fixed to remove that problem. |
ah, ty ;) trying to fix all the bugs and warnings to have a bug-free JA for RS :)
|
Here are some sound bugfixes:
when you use meditate/bow and saber is not out, usually with staff or dual sabers the saber off sound still plays fix: meditate: where it says {//turn off second saber just above the G_Sound add if (ent->client->ps.weapon == WP_SABER) same for {//turn off first if (ent->client->ps.weapon == WP_SABER) do the same with bow. in g_cmds.c find the Cmd_SaberAttackCycle_f command and look for the G_Sound 's in it and just add above them: if (ent->client->ps.weapon == WP_SABER) i suppose you could just have a return towards the top of the function like: if (ent->client->ps.weapon == WP_SABER) { return; } hope that helps :) |
CopyToBodyQue has a bug where your custom rgb is used even when in team game. to fix:
Code:
body->s.customRGBA[0] = ent->client->ps.customRGBA[0];Code:
if (g_gametype.integer >= GT_TEAM) { |
Ahh, I've actually noticed that bug. Thanks for the fix!
|
hehe, i doubt im gonna get a reply from masterhex about the sound tracker thing though.
|
Exactly what was the sound tracker problem again? I thought the solution was to use SoundOnEnt instead of G_Sound.
|
um according too hex's original post it's in CG_UpdateSoundTrackers which is in cg_view.c.
|
What's the symptoms of the bug again?
|
um the sounds do not always play when flag taken/return/captures some other sounds too i believe. set your thread cutoff too show all and look back at hex's old thread.
|
has anyone fixed ICARUS with NPC's for MP like SP ? so that u can use scripts with npc's too be smart :) ?
|
I have. I'm working on getting the SP maps to run as well as possible in MP. I've made great progress so far.
|
care too share this fixed code ? :D
|
It's all availible on the OJP repository. The various fixes require a lot of code addtions/changes thruout the SDK so I can't just post the changes.
|
got a link to the ojp sdk ?
|
You have to use TortoiseCVS, check out How to access the OJP source in the OJP forum which is located in the Hosted forums.
|
did but it aint working right.
|
Well, our repository server was down yesterday. I suggest you try again today.
|
dang thats too much work just too get the sdk for ojp :(
|
You only have to do it once and after that updates are a two click process. OJP's SDK changes about daily.
|
Quote:
Since the const variable must be resolved during compile time and not run-time, you get that error. |
yes but that was a lucas/raven bug not one of mine :)
|
not sure if this is a 'bug' ,
but vehicles do not open shields, FIX: Code:
void ShieldTouch(gentity_t *self, gentity_t *other, trace_t *trace) |
forgot to add. that function has GA_Lastrider in it ,
witch is a value set when someone gets on a vehicle. so the vehicle remembers the last person on it, also. it has my "Rank shields" in it , that have to be removed, ( Basicly u just need the top bit added too yours ) |
By shields you mean the deployable shield item?
|
yes i do.
|
(Bump Question) Say, what does "remapShader" do anyway?
|
If I recall it tells the engine and replace all instances of shader 'a' with shader 'b', and gets cleared when a map is loaded.
|
so, what uses it?
|
the actual fix for #4 of mine at the top should be:
Code:
if ( !isBot && g_needpass.integer && (strcmp(Info_ValueForKey ( userinfo, "ip" ), "localhost") != 0)) { |
gloat really should only work when saber is out because it shows sparks even when weapon is not saber...
Code:
if ( ent->client->ps.weapon == WP_SABER ) |
While on the subject, has anyone else noticed bots wearing the wrong teams in team games?
Also, I have finally fixed the Hoth Bridge exploit if anyone is interested. |
| All times are GMT -4. The time now is 12:45 AM. |
Powered by vBulletin®
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
LFNetwork, LLC ©2002-2011 - All rights reserved.