Kaiser
Doom64 Guru

Posts: 2632
Registered: 08-00 |
Maes said:
Heh. How about modding/fixing bugs in the 32X Doom engine? :-p
That should be fun, if anything, to discover/deduce what version of the source code it's based on. E.g. does it suffer from the ouchface bug? Ghost monsters? Is it really a source port or is there major rewriting in there etc.
The face code in JaguarDoom is completely redone and from what I am seeing, I would say yes, that bug doesn't exist.
code:
int spclfaceSprite[NUMSPCLFACES] =
{0,sbf_facelft,sbf_facergt,sbf_ouch,sbf_gotgat,sbf_mowdown};
boolean doSpclFace;
spclface_e spclFaceType;
/* */
/* face change */
/* */
if (stbar.godmode)
DrawJagobj(faces[GODFACE],FACEX,FACEY);
else
if (!stbar.health)
DrawJagobj(faces[DEADFACE],FACEX,FACEY);
else
if (doSpclFace)
{
int base = stbar.health / 20;
base = base > 4 ? 4 : base;
base = 4 - base;
base *= 8;
DrawJagobj(faces[base + spclfaceSprite[spclFaceType]],FACEX,FACEY);
}
else
if ((stbar.face != newface) && !gibdraw)
{
int base = stbar.health/20;
base = base > 4 ? 4 : base;
base = 4 - base;
base *= 8;
stbar.face = newface;
DrawJagobj (faces[base + newface], FACEX, FACEY);
}
Also since 32x is based directly from JaguarDoom, it should also contain the gibface. Also, JaguarDoom has a lot of the existing code re-written from scratch as well as some stuff improved, or rather simplified.
Also Chu, what kind of assembly language are 32x roms usually compiled in? I could maybe disassemble it in IDA Pro..
Last edited by Kaiser on 01-05-10 at 16:16
|