![]() |
|
Mapping Mapping sizes Limits Entities Bugs & Work-a-rounds Notes Scripting reference Mapping - Tutorials Brushwork from blueprint Tools Brush generator Vehicle generator MD3 Tag The Dummy Modding Project: Bug Fix Project: Crockett Other stuff Forum Server Info Colors Voice Chats Scripts Links |
Project: Bug FixThe objectiveThe goal of this project is to provide modders in the ET community with a SDK code base that contains fixes for various bugs which are present in the stock etmain game (version 2.60).26th september 2006: Sadly bugfix 088 had a bug :-( There were 3 lines that should have been deleted for the fix to work correctly. Show index Previous bug: Self headshot when proned Next bug: Referee commands doesn't work in server console Bugfix 004 - Rifle grenade through door exploitProblem:On Battery if you stand against the door as if you were shooting someone behind it. You can launch a rifle grenade through the door.Solution:Problem was that the code took the origin and ignored the first 32 gameunits of trajectory. This meant that the origin would go through the door if it was thin enough, and therefore not blocked by the door. The fix is to do two traces. One with our viewpoint as origin and to the origin of the second trace, and then the usual trace.References:Original fixNotes:The bug was fixed in version 2.602.56 Code
g_weapon.c @ 3231
vec3_t tosspos;
vec3_t orig_viewpos; // CHRUKER: b004 - Added bani's fix for shooting grenades through doors
AngleVectors(ent->client->ps.viewangles, forward, NULL, NULL);
VectorCopy(muzzleEffect, tosspos);
// check for valid start spot (so you don't throw through or get stuck in a wall)
VectorCopy( ent->s.pos.trBase, viewpos );
viewpos[2] += ent->client->ps.viewheight;
VectorCopy( viewpos, orig_viewpos ); // CHRUKER: b004 - Added bani's fix for shooting grenades through doors
VectorMA( viewpos, 32, forward, viewpos);
VectorScale(forward, 2000, forward);
// CHRUKER: b004 - Added bani's fix for shooting grenades through doors
trap_Trace( &tr, orig_viewpos, tv( -4.f, -4.f, 0.f ), tv( 4.f, 4.f, 6.f ), viewpos, ent->s.number, MASK_MISSILESHOT );
if( tr.fraction < 1 ) { // oops, bad launch spot
VectorCopy( tr.endpos, tosspos );
SnapVectorTowards( tosspos, orig_viewpos );
} else { // b004
trap_Trace( &tr, viewpos, tv(-4.f, -4.f, 0.f), tv(4.f, 4.f, 6.f), tosspos, ent->s.number, MASK_MISSILESHOT );
if( tr.fraction < 1 ) { // oops, bad launch spot
VectorCopy(tr.endpos, tosspos);
SnapVectorTowards( tosspos, viewpos );
}
} // b004
m = fire_grenade (ent, tosspos, forward, grenType);
Show index Previous bug: Self headshot when proned Next bug: Referee commands doesn't work in server console Color codingSample = New codeSample = Changed code (the new version is what is displayed) Sample = Deleted code |
©2007 Chruker |