Archon ---> Quake. You heard right, elements of the 80's micro game archon extrapolated into the Quake universe. Get ready for a wild ride.                               (free stuff | no warranty | see disclaimer.txt | blah blah blah.)

Forum Thread
  Posts  
Code update: progs.dat (1.0.2a) (Games : Quake : Mods : Chaos Archon : Forum : feature_report() : Code update: progs.dat (1.0.2a) ) Locked
Thread Options
Nov 4 2012 Anchor

1.0.2 (alpha) progs.dat [ 11.2.12 ] - download here: Cataboligne.org

Archon 1.0 code fixed:

- cloudkill loop bug - put in safety var
- cthon dead skin issues -- colormap issue! - chaos.qc
- missing sounds on reggun (ulk deal) -- chaosents.qc
- bots voting have body in unfinished death frame (betting its vote when dead) --- frik in 107 should proceed to 114, or pk*bot in frame 4
--- was more complex than figured - pk*bots that *actually* voted had bodies respawn and freeze in run frames
- sound_loop bug from telesphere -- tweaked (enviroment.qc, sphere_annilhilation.qc)
- transparent cube summoned monsters can not be killed -- no takedamage, was dyn_rem issue (mcode.qc, pk_itm_dynamic.qc)
--- left in option for monster to still be transparent
- framecount maxed out at 16777216 issue

This bug was a doosey, and super complex.

The Chaos mod (original) had some interesting ideas. One is the chaos teleport.

Chaos teleport is a sphere (that can be moved around by blasts or even carried by a player!) with a teleport texture (sounds and lights too) that when touched by a player teleports them to any random tele destination, start position or other random locations.

One consequence is that a player can fall out of the level during teleport. Once fallen out your only choice is 'kill' - which is frags = frags - 2.
So I put in some fix code. Then noticed that players (or bots) fallen out put things in the void. Like pulse spikes.
That hang around forever (remove code never happens in the void.)

So I made new code to fix anything fallen into the void. Players, monsters, items, runes, etc.

The Bug: on a long running server (69 hours) pulse spikes are no longer being removed!
I check the code - it should work. I check the logic. Looks good.
I double check the condition of a pulse spike in the void. The remove code is NOT running. What!?

Then I see this:

cc_frame (used to test framecount) = 16777216
That value happens to be the maximum integer value in quake-c.
So I check framecount - also 16777216

And it DOES NOT increment every frame. Oops. That breaks a couple tests.
And I'm not sure if this is a darkplaces thing, or it goes back to quake and glquake original engines.
Fix is easy though - make framecount reset to 1 when it hits that.

That isnt the best fix though - the bodies bots left around on voting hubs after voting. That was bugging me for a long while. Nice to see it gone.

Reply to thread
click to sign in and post

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.