#2832 posted by mh on 2017/06/24 01:33:55
But yet ID1 progs does it. If ID1 does it, is it still a bug?
#2832
#2833 posted by Spike on 2017/06/24 02:41:45
... yes?
findradius cannot reliably be used recursively like that. there are other symptoms than just the stack overflow.
is it time for eg quakespasm to throw a new progs.dat into its .pak?..
Progs.dat Is More Fragile Than Commonly Believed ...
#2834 posted by Baker on 2017/06/24 10:23:43
Some mappers use extremophile abuse of functions (see Teaching Old Progs New Tricks).
There are plenty of maps that use "BecomeExplosion" and an array other nuances in the original progs. As a result you can take a map like dm3rmx and run in, say, ezQuake which supplies its own single player progs that was written more efficiently and then it goes to console with a QuakeC error when a tricky map calls something by name that was written in a slightly different way.
It is quite possible to make a cautiously "improved" progs.dat that breaks existing maps.
Situation where the progs.dat is the worst possible progs.dat except for all the improved ones where some of the "bug fixes" and "code cleanups" are not bug fixes but bonafide behavior changes.
It used to be common for a number of QuakeC coders to have their own "cleaned up and better" progs.dat. I have seen the source to about 10 of these from the original CleanQC to ScratchQC to public ones coder [insert coder X, coder Y, coder Z] made for a QuakeExpo and such.
I have not seen one without random arbitrary behavior changes, although sometimes it is incidental, but most of the time it is apathy or indifference.
Often the guy that only knows deathmatch breaks something in single player, the guy that only knows single player breaks something in deathmatch, or someone corrects a "bug" by breaking something not important to that coder or "fixing" something that shouldn't be fixed or that they didn't understand is a behavior change.
It also doesn't take much to make save game files incompatible with an "improved" progs.dat.
(No I haven't looked at the source code for gnounc/jonas 1.01 one so I wasn't referencing that one anywhere above. Can the 1.01 version load a real Quake progs.dat save game? I don't know.)
/Possibly preventing rarely known issues. But it was boring typing that.
#2835 posted by khreathor on 2017/06/24 10:43:18
It also doesn't take much to make save game files incompatible with an "improved" progs.dat.
Like what, any example?
Agree With Baker
#2836 posted by ericw on 2017/06/24 11:04:38
imo the right place to fix this is in "clean qc"/"bugfixed id1 progs" type of mod.. and maps that need the fixes would target that mod
#2835
#2837 posted by Spike on 2017/06/24 11:24:23
he means different precache_model+precache_sound calls, which is why dp+fte+qss save the sound+model precaches into the saved game.
Next Baker will be arguing to leave all the segfaults in...
@ericw
#2838 posted by Spike on 2017/06/24 11:31:24
if its so important that everyone have the exact same progs, then maybe quakespasm should include a copy of progs 1.06 for all those people with cd versions that came with 1.01
throwing in some extra things that mean we don't need more absurd+awkward function hacks can only be a good thing.
@khreathor
My monster randomizer for the speedrunning community breaks the save files... and breaks it hard.
#2839
#2840 posted by khreathor on 2017/06/24 11:59:25
Now I wonder what code have you added :)
#2841 posted by Esrael on 2017/06/24 13:59:02
Looks like I had stirred up quite the discussion touching on the very fundamentals on what to fix/improve/modify and where.
How about I just remove that one explobox from my map to remove the stack overflow, and we all forget this ever happened, shall we? ;D
But in all seriousness, it's good to have this discussion. Seems there really is no clear-cut right answer for it. @~@
@kreathor
#2842 posted by Baker on 2017/06/25 02:32:32
Start a map, pick up some guns, shoot some monsters leaving some alive, open some doors, turn on some lights and save.
Now open the save game file.
Look at the monsters and the doors, etc. in the save game file.
Now realize if you change the names of any of that stuff in your progs, it can't load that save file.
Go to the Teaching Progs New Tricks thread, realize if you rename any of that stuff or rewrite how it works, any of the maps using those tricks are now broke with your progs.
#2843 posted by khreathor on 2017/06/25 02:54:40
Ahh, ok. Just opened saves and now I see what you mean. Idk why I never opened Quake saves. I probably thought they are binary...
So if I keep names intact and just add new stuff, it should work just fine. Only problem with this approach might be when there is a new field added to some entity and it's not available in save file. This field will become null or empty after loading.
#2844 posted by Baker on 2017/06/25 04:06:50
Exactly. Breaking things would simply be normal. Someone would have to set out to deliberately not break things.
Adding fields? Well, now you are making a mod, not bug fixing the original progs.
Makes as much sense as saying "Hey everyone! I created an different flavor of vanilla ice cream!"
If you see my point.
#2845 posted by khreathor on 2017/06/25 06:33:37
Adding fields? Well, now you are making a mod, not bug fixing the original progs.
Yes, I was thinking more about mods compatibility, so they don't break vanilla behavior etc. That's why I was curious about saves.
But speaking of vanilla patching, I agree, it needs to be made carefully, with lots of testing and solid code review, with attention to backwards compatibility.
It might be a little tricky to refactor vanilla progs, but there are many smart guys in this community, so I'm optimistic :)
#2846 posted by muk on 2017/06/30 04:18:22
http://imgur.com/fCG3ovD
What causes this "Host Error" ?
Im using the newest version that was released with ad_sepulcher
#2847 posted by muk on 2017/06/30 04:22:02
that is "quakespasm-spike-admod"
it works fine in "quakespasm-spike"
Incompatibilities With AD Mod
#2848 posted by Barnak on 2017/06/30 13:29:16
I got a few instances of older maps that don't load with the AD1.6 mod. In their case, I got some Host errors. Loading them with the ID's default goes well, though.
I wonder what may brake some maps with the AD mod ?
Spike FX In Other Mods ?
#2849 posted by Barnak on 2017/06/30 18:04:39
The spike FXs from QuakeSpasm-spike-admod are working great with AD1.6. But AFAIK, these new FX aren't dependent on AD, and yet I don't have them when loading any other mod.
Any other players here are able to get the FX with other mod, and not just AD ?
If so, how could I turn on the FX with other mode ? Is there a special command for that ?
Barnak
#2850 posted by mfx/sock on 2017/06/30 20:46:36
AD does NOT support quake maps designed for other mods and maps that use map hacks, it makes no sense loading a quoth map and expecting it to work.
Even maps designed for vanilla progs can break in AD, due to maphacks/unconventional mapping features.
Same applies to the Spiked FX, each entity has to be specifically setup to support it.
So, in short, no, there is no easy command to make it work for older maps.
Mukor
#2851 posted by ericw on 2017/06/30 21:03:27
Sorry, not sure.. I tried running a few quoth maps in quakespasm-spike-admod and couldn't reproduce. Does it work in regular quakespasm?
@Barnak
#2852 posted by Spike on 2017/07/01 00:57:58
if you want QSS to load up some custom particle effects then you can name them via the r_particledesc cvar.
eg place https://sourceforge.net/p/fteqw/code/HEAD/tree/trunk/engine/partcfgs/high.cfg into id1/particles/high.cfg and set r_particledesc high and it'll use those particles.
If you want to use particles made for DP, you can set r_particledesc effectinfo[_foobar] which instead will load id1/effectinfo[_foobar].txt in a manor compatible with DP. This is effectively what AD does, except AD names them via ssqc (which then causes the client to load them as needed).
Some of the other things that AD has (like flame particles) is done via the qc itself. You may be able to replicate such effects via a particle config with the r_effect command (which attaches particle effects according to model), but the result is unlikely to be identical.
#2851
#2853 posted by muk on 2017/07/01 01:07:33
I got it working in quakespasm-admod. just quakespasm-spike-admod that im having trouble with. :shrug:
Thks Spike
#2854 posted by mfx on 2017/07/01 01:15:50
Spike
#2855 posted by Barnak on 2017/07/01 02:04:17
When I start Quake with the AD mod, I can start any custom map in my ID folder and get the special FX. They are all working great. I would like to get the same effects while starting Quake with the default ID too, without having loaded AD.
So what file should I add to my ID folder ? It's not clear to me.
@barnak
#2856 posted by Baker on 2017/07/01 02:24:35
Come on dude, Spike said:
place https://sourceforge.net/p/fteqw/code/HEAD/tree/trunk/engine/partcfgs/high.cfg into id1/particles/high.cfg and set r_particledesc high and it'll use those particles
1) He gave you the link to the file
2) Says where it goes
3) "r_particledesc high" is what you type in the console.
|