

The complete archive for DOOM for the 3DO - joelby37
https://github.com/Olde-Skuul/doom3do/blob/master/README.md

======
JohnBooty
For those not familiar with "Burger" Rebecca Heineman, she has a game
programming resume stretching way back to the 80s at Interplay and elsewhere.
Truly old-school.

[http://www.mobygames.com/developer/sheet/view/developerId,34...](http://www.mobygames.com/developer/sheet/view/developerId,343/)

[http://en.wikipedia.org/wiki/Rebecca_Heineman](http://en.wikipedia.org/wiki/Rebecca_Heineman)

~~~
ekianjo
Kind of out of topic, but when one changes gender at some point in their life,
do you rewrite their whole wiki page saying "she" instead of "he", or should
you mark the transition after the official change of name/gender only ?

~~~
JohnBooty
Good question! Short answer: generally you refer to them as if they have
always publicly identified with their current gender.

Longer answer: The overarching idea is to respect the person's wishes and
stated identity. In most cases, and certainly in Rebecca Heineman's case from
what I've read, she always identified as female even when she was known as
Bill Heineman. So out of respect we would typically refer to her as Rebecca
(or with female pronouns) no matter which part of her life we're referring to.

There could be exceptions. In some cases, a person's former gender might be
directly relevant to a story. (Imagine you're writing about a person, now
female, who was sent to a boy's boarding school as a child. I think, at the
least, you'd perhaps need to clarify that she identified as male at that point
in her life...)

~~~
ekianjo
Thanks for the answer ! I'm asking because the change of gender also
associates with a change of name, and it kind of seems like rewriting History
if ex-colleagues talk about X-woman as X-woman in the past when she was not
yet X-woman but Y-guy instead. How about legal documents ? How do they handle
the change of gender ? Do they do it like "X-person, Born Y-person" ?

~~~
AlyssaRowan
There are usually procedures for that; varies a lot from place to place.

Here in the UK, you can go before a sort of judicial committee to do it, the
Gender Recognition Panel; costs like £140ish. It's kind of a pain; you need to
be _at least_ 2 years in full-time, it does help if you've had SRS or at the
very least are going to (and they're going to want medical reports), and
you'll need two medical practitioners (one of which must be recognised in a
list as a psychiatrist or psychologist specialising in gender dysphoria) to
testify that yes, you _are_ trans, yes, _really_ you're not going to change
your mind, and this is what you've done/are going to do about it. If you pass
(and it's a little bizarre and intimidating that they're judging this), you
get a new short birth certificate (and can apply for a long one, and
thereafter a passport under your new official identity); you then have two
proper birth certificates, the historical document you were born with, and a
brand new one listing only your target gender (and name). The fact that you
have done all this is confidential (unless you tell someone, obviously).

Your mileage _will_ vary, naturally.

~~~
ekianjo
Thanks for the very complete answer. I had no idea there was such a procedure.
Now I wonder how it works in Japan where I live, since such minorities are far
from being commonly accepted here and they may have more hurdles to get to the
same point.

------
andrewf
This is apparently based on the Jaguar port that id Software did in-house.

Interestingly, it seems to include a translation of Carmack's Jaguar rendering
engine into C. The original was implemented in assembly for the Jaguar's
proprietary RISC coprocessor. The processor's tiny instruction memory required
that the renderer be split into 9 independent "phases", and that organization
is preserved in the 3DO code.

[http://doomwiki.org/wiki/Atari_Jaguar](http://doomwiki.org/wiki/Atari_Jaguar)

[http://games.slashdot.org/comments.pl?sid=4215&cid=1225529](http://games.slashdot.org/comments.pl?sid=4215&cid=1225529)

------
damurdock
Digging through the github org a bit:

"The library builds and runs for the Xbox 360, PS3, PS4, nVidia Shield, iOS,
Mac OSX, MacOS, Android, OpenWatcom for MSDOS, OpenWatcom for Windows, Visual
Studio 2005, Visual Studio 2008, Visual Studio 2010, Visual Studio 2013,
Codewarrior for Windows, Codeblocks 13.12 for Windows, Codeblocks 13.12 for
MacOSX, OUYA, Nintendo Wii, Nintendo DSi and Linux." \- Burgerlib[0]

I don't know why, but I find that immensely satisfying.

[0]: [https://github.com/Olde-Skuul/burgerlib](https://github.com/Olde-
Skuul/burgerlib)

------
fekberg
Some funny things in there:

    
    
        switch (gamemap) {
            case 24: /* Secret level? */
    		nextmap = 4;
    		break;
    

Source: [https://github.com/Olde-
Skuul/doom3do/blob/master/source/gam...](https://github.com/Olde-
Skuul/doom3do/blob/master/source/game.c#L164)

------
kalleboo
Odd... was this developed on a Mac?

I'm seeing QuickDraw PICT files, the make files seems to use Classic Mac-style
file paths (Disk:Directory:File), and there's even an AppleScript in there
referencing DeBabelizer 1.6 (who else remembers THAT app?)

edit: looks like the official 3DO development kit was Mac-based, and there was
even a NuBus card with 3DO hardware on it for debugging

------
lost_name
I'm not nearly as proficient in C/C++ as I would care to be (I work with Java
web apps by trade), but when I come across these source dumps that I would be
interested in exploring, I seem to fumble while getting started.

So I apologize for posting this and being a little off topic, but how do
people disect these effectively?

~~~
tokenrove
I think there are a lot of approaches, and I haven't started on this one yet,
but here's my approach, roughly:

\- clone it so I can read the code in emacs, and use cscope or similar tools
on it

\- try to figure out the build system and the directory structure: how is the
main program built? are there libraries or tools that are also built? where do
their sources live? (so, here, I'd start with source/doom.make and look at the
things it references)

\- if my primary interest is the main program, I would then try to track down
main() and jump through the functions that look interesting with ctags or
similar code navigation tools;

\- usually it makes sense to jump back and forth to the header files that are
being referenced, not only to understand what the types and globals are, but
also because they tend to reveal information about how the code is organized.

I usually focus on an area I'm especially curious about if I'm not trying to
understand the whole program. For example, in games like this, I'll try to
find assembly files or places with inline assembler, because it's usually
interesting to see what the developer felt was performance-critical or hard to
achieve from C. Then I'd find the functions that call those assembly routines
and read them, et cetera.

Taking notes can help, like sketching the module structure or the major data
structures on a whiteboard and trying to fill out how they interact. These
days I use org-mode for taking notes about code I'm reading, because it makes
it very convenient to capture links to specific sections of code (or specific
commits, with org-magit) and make notes about them.

If I really have to understand it, I try to get it to build, add tests to the
codebase, and maybe try adding a specific feature. But that would apply more
to something like the Doom codebases that still build on modern platforms
rather than a retro artifact like this.

------
nsxwolf
I did not know Burger Heineman did this port.

