

Carmageddon 1 debugging symbols dumped - jeff_harris
http://www.1amstudios.com/2014/12/02/carma1-symbols-dumped/

======
MattBearman
There's some good method names in
[https://github.com/jeff-1amstudios/carmageddon1-symbol-
dump/...](https://github.com/jeff-1amstudios/carmageddon1-symbol-
dump/blob/master/symbols/DETHRACE/source/common/opponent.c) \- my favourite
being CalcOpponentConspicuousnessWithAViewToCheatingLikeFuck

------
danschuller
I used to work at Stainless, along with one or two other people I've spotted
in this thread. It's a great place with good people.

Here's a little background for those who might not know:

Carmageddon was the precursor to games like Grand Theft Auto.

[https://www.youtube.com/watch?v=yqrftlCAic0](https://www.youtube.com/watch?v=yqrftlCAic0)

It was made by Stainless Games on the Isle of Wight, a small island off the
southern coast of England. The same developers are still developing day-to-day
and recently made the Magic the Gathering video game series. The magic
codebase is certainly not as sweary as the one linked here :)

Stainless lost the IP to Carmageddon but recently managed to get it back (it
wound up at Square-Enix through various acquisitions) and successful
kickstarter a reboot. I really hope they do well with it.

------
eps
"Watcom"... Now that's a name I haven't heard in a looong time.

Watcom was awesome. Or rather DOS/4GW was. You could do malloc(1024*1024) and
it would just miraculously work!

~~~
raverbashing
Yes, that's the way it should be

Real mode to Protected mode is like Water to Wine

------
mey
void* AmIGettingBoredWatchingCameraSpin();

Edit: from the Car representation
[https://github.com/jeff-1amstudios/carmageddon1-symbol-
dump/...](https://github.com/jeff-1amstudios/carmageddon1-symbol-
dump/blob/master/symbols/DETHRACE/source/common/car.c)

------
AndrewKemendo
Oh man, I loved hacking on this game back in the day because the file
structure was so straightforward and the code so transparent you could change
basically everything, including textures, sounds, car types and interactions,
physics - the whole lot.

Sadly, I haven't seen anything else since with that low of barrier that was as
much fun to use. Motocross madness was another good example of that as well.

*Edit: I was actually thinking of Carmageddon 2 but its all about the same

~~~
nacho_weekend
Motocross madness... that's a game I haven't heard of in a while. I'll have to
go back and learn to hack on it, thanks for jogging my memory.

------
AlyssaRowan
A few people do indeed leave debug symbols in, even historically.

For example, I vividly recall a build of Civilization for the Atari ST that
had complete debug symbols, which made skipping the manual check (and doing
all kinds of other more interesting mods - I could fix the _Gandhi_ bug, but
who'd want to do that?) extremely fun and easy.

And all the sectors of Wayne Smithson's _Anarchy_ which were filled with
gradually-more-complicated copy protection formats (courtesy of the great Rob
Northen) and space filled with bored rants reminiscent of a scrolltext that he
probably thought almost no-one would see. Almost no-one.

I even had assembly source code for a few other games too, which was even more
interesting; Wizball for one, and a prototype version of Xenon called KellyX…
(I never did ask where that came from—I don't think I want to know!—I don't
have it anymore, and I'm pretty sure I wouldn't have permission to share even
if I did!)

Anyone else found any gems like that?

------
Paul_S
They are an amazing company and they still party like it's 1999. Obscene
source code is the least of their transgressions against good taste and
reason. Google youtube for stainless christmas parties... and current codebase
is just as sweary.

------
louthy
It's worth checking out the new version. All the same old skool fun. It's lost
none of its ... 'charm'

[http://www.carmageddon.com/reincarnation](http://www.carmageddon.com/reincarnation)

------
th0br0
MakeFlagWavingBastardWaveHisFlagWhichIsTheProbablyTheLastThingHeWillEverDo()
-- hell yeah.

Those function / variable names are hilarious, thanks! Very interesting read.
Have to dive into the files at some point.

------
belgianguy
How cool! It's a nice glimpse into an otherwise hidden past, something even
the developers probably never thought would see the light of day again after
release. I let a giggle escape at void* _gWanky_arse_tit_fuck;

This being HN, maybe one of them can chip in about what the original binary
was that was ran against it? Didn't they do a kickstarter to make a new
iteration in this franchise? Or would that land them (or you) in hot legal
water?

BTW: Is there a name for such software spelunking? Feels a bit like digital
archeology.

------
ourmandave
I didn't peruse the list but I can only imagine some of the NSFW names,
considering LAPMYLOVEPUMP was the code to enable cheats (or Carma2 at least).
D=

~~~
MattBearman
The Carmageddon 1 code to enable cheats was MUCH more offensive -
IBETYOUCANTPRINTCUNT - because of course back then cheat codes were mostly
printed in magazines.

I remember seeing that in a gaming mag, but it was C--T at the end, with a
little note saying "we're sure you can figure out the missing letters"

~~~
pestaa
You couldn't distribute the cheating code without cheating.

------
transistor-man
@ jeff, the compiled download zip is down for openc1

~~~
jeff_harris
Thanks - fixed now. I recently moved to Jekyll for the website and forgot to
link in the downloads

~~~
transistor-man
thanks!

------
tomasandrle
Is the program entry renamed to "maim"?

------
dredmorbius
Another website that doesn't render text at all with JS disabled. Fail.

~~~
codezero
I disabled JS and the page looks fine. Either way, this seems like a complaint
unrelated to the content of the page, your personal preference, while valid,
doesn't make this content any less interesting.

~~~
dredmorbius
HN is a technical news site, and technical commentary on the aspects of given
sites are fairly common.

I don't expect all here to agree with my viewpoints, or even agree with the
statements I make (though I'll reassert: the page failed to load until I
allowed JS temporarily from the primary domain). But I'll comment on:

⚫ Sites which fail without JS

⚫ Sites with horribly broken UX/UI

⚫ Sites with poor contrast:
[http://www.contrastrebellion.com/](http://www.contrastrebellion.com/)

⚫ Sites with poor privacy or other features

⚫ Sites with crippled access (e.g., Quora or Scribd)

⚫ Sites with broken or unusable multimedia (I've just spent more minutes than
I care trying to view a WashPo-related science video...)

Thanks for your kind thoughts and concern.

~~~
codezero
Fair enough, my main point was that it looks like it loads exactly the same
with JS disabled compared to without it being disabled, my additional
commentary was tangential, but if we're all complaining about stuff, can't I
too? :)

~~~
dredmorbius
It's possible (I haven't checked) that enabling/disabling JS caches content
that's required to view the page. Which is another reason I really hate QAing
/ capability / compatibility testing websites.

~~~
codezero
Plausible. I loaded the site with TorBrowser with NoScript on, and it looks
fine still, are you using Lynx? :)

~~~
dredmorbius
Chromium.

------
Mahn
Title is misleading, isn't it? It looks like the debugging symbols were dumped
with code written in C and then reformatted with a small node.js script.

~~~
RobotCaleb
"Carmageddon 1 debugging symbols dumped" Seems fine here.

~~~
FroshKiller
It originally said "using Node.js" or something along those lines. I was going
to comment on it myself.

