News | Forum | People | FAQ | Links | Search | Register | Log in
Eraser With Jumppad Support?
Has anybody ever been able to fix the issue with the otherwise outstanding Q2 Eraser bot that it cannot handle jumppads?

It's the only obvious problem I have seen with this bot and it's even present in the very latest version, which should be the release shipped with the official "Q2 Netpack: Extremities" (v1.02).
Has the full source code of Eraser ever been released? 
Not Directly, I Think 
There was however a variant called "Eraser Ultra" made for the Lithium mod. According to what I have read, THAT source is supposedly available. Which on the other hand raises the question where they got the Eraser source from. 
Found (kinda) 
EraserUltra 0.46a source

I dunno how difficult it would be to remove the Lithium parts and add jump pad support instead, but I guess it's better than nothing. In the readme the author gives credit for the Eraser source, though. Wherever he got it from back in the days, it's next to impossible to track it down now. 
Link To Original Source

It's the only one I was able to find. And ofc it doesn't work, even when using the Wayback Machine. 
The navigation source (p_trail.c) isn't available in the eraserultra either. I guess it was never released. 
It's Our Lucky Day 
By pure chance, looking for the source file name brought me to a thread in the Quake 2 Cafe forum. Somebody actually posted the source there as a post attachment. Just needed a forum account to access it. What were the chances for that?

I uploaded it over at Quaketastic to preserve it. So here is the ORIGINAL source code:

Eraser v1.01 source (336 KB)

I dunno if it is enough to make the necessary adjustments, but that's all there is. 
Seems like the EraserUltra guys had the p_trail.c source at some point because they have additions to it (according to comparison of the decompiled asm.) Pity that we don't have it after 20+ years.. 
Guess The Only Other Way 
would be to try to contact Ryan Feltrin somehow and ask if he still has the rest of the code lying around somewhere.

But well, even if a way to get in touch with him is found (I don't even know what he is doing right now and where - he used to work at Gray Matter, but that was back in 2001), after all this time it's kinda unlikely he still has everything.

Alternatively it could be attempted to talk to the guy that made the Ultra variant. His code is a bit more recent (even though it's also almost 20 years old), after all.

It's just curious how there were several variants of the Eraser out there back in the days when the original source was partially disguised. Maybe they didn't touch that particular part of the code?

Anyway, I guess the quest continues. Could anything be done with the code at all the way it is right now? 
Navigation Source (p_trail.c) Is Already Available 
Paril already reverse engineered the p_trail.c source from the Eraser bot's NavLib. Complete source of the original Eraser bot is here:

That said, adding support for jump pads (and other things like the Rogue func_plat2) will require a change to the routing system, which is an ad-hoc file format without any actual data structures.

There's also a portability issue from a dependency on InfoZip DLLs for compressing/decompressing the route files. This will have to be switched to zlib to allow 64-bit and Linux builds.

AFAIK Anthony Jacuqes (the EraserULTRA developer) never had access to the p_trail.c source. He did manage to make changes to just about every other aspect of the bot's source, though. 
Y U No Jump 
I guess by the time these adjustments were made, jump pads were not so common in Q2 maps yet. They got big with Q3 and after that, they were also featured in Q2 more often.

Without that feature, it makes these otherwise quite capable bots look a bit clueless in many modern maps, which is a pity. 
Portable Eraser ULTRA Source Now Available 
I recently changed the Eraser's p_trail.c to use zlib for reading/writing route files, making it fully portable. Eraser Ultra 0.48 source with KMQ2 integration is now available here:

If anybody wants to add jumppad support before I get around to it, please go ahead. It's not the highest priority for me right now, as I have some bigger things on my plate.

BTW, the original Eraser bot was finalized in in August '98. Jump pads only started appearing in Q2 maps around the time Q3A was released, in late '99. 
That's Good News! 
Took a while, but hopefully this can be used to make those bots fully functional again. 
[q]Seems like the EraserUltra guys had the p_trail.c source at some point because they have additions to it (according to comparison of the decompiled asm.) Pity that we don't have it after 20+ years..[/q]

Curious - nope, I never had the source code to it.

I think that I did migrate across multiple versions of Eraser though over time though, so perhaps I ended up not using the very latest version of p_trail.o? Or perhaps different compiler settings in some way changed the final output binary in some way (I wouldn't have thought so with such an old compiler though...).

Nice to see people are still interested in Eraser / EraserULTRA though! 
Haha, someone made a port of Mark V WinQuake.

1 post not shown on this page because it was spam
You must be logged in to post in this thread.
Website copyright © 2002-2024 John Fitzgibbons. All posts are copyright their respective authors.