VOGONS

Common searches


First post, by Nothrak

User metadata
Rank Newbie
Rank
Newbie

Anyone interested in developing new content for this game or at least getting it supported by (G)ZDoom or something? I'm working on it myself, have figured out the layout of the .SRP files that contain the line def scripts in the maps (the op codes are next,) and am also working on extracting a usable full list of all the named objects in the game and their IDs in the map format (found the data, just need to convert it to something human-usable.)
Between converting the object list into a schema for a suitable Doom editor, and writing a (de)compiler for the .SRPs, new map content for Amulets & Armor should be fully possible - the only other likely issue is MAYBE lighting. Already have the format for the .RES files from previous experiments, and found some information on the image format that I should be able to use to generate a Doom editor-compatible texture/flats .WAD.
So... anyone want to (able to?) help out, pursue similar projects, beta-test, anything? Anyone know of existing efforts to extend the life of Amulets and Armor like this? Or even just a better place to look for people with similar interests in it? It's high time it got more of the glory it deserves. There's plenty of potential here if the right talent comes together.

And yes, this game runs very nicely in DOSBox. Including the 4-player IPX netplay, even with fairly old DOSBox versions, and seemingly on same or lower specs than it takes to run Doom 2. 😀 (For those wondering, the game engine is similar, except Amulets and Armor is a first-person action RPG with stats, character levels and relatively complex inventory. It's not actually Doom engine but the map format is identical and I suspect getting support into ZDoom would be pretty easy once the relevant other formats are all known.)

Reply 1 of 7, by leileilol

User metadata
Rank l33t++
Rank
l33t++

I know Doom Builder works with it, though it's VERY EASY to make geometry that crashes the game. To get textures working you'd have to rip them carefully with XWE then dump them into folders (since A&A is Build-ISH with texture selection, there's no flats/patches discrimination)

I was building a thinglist for Doom Builder and Oblige (YEAH GENERATED DUNGEONS) earlier this year. It's hard because there's a lot of defined things that crash. So far I only did test levels to check out things cut from the game.

Reply 2 of 7, by Nothrak

User metadata
Rank Newbie
Rank
Newbie

My plan is simply to detect 64x64's and dump those to both textures and flats. AA still seemed to have the 64x64 limit on flats (never noticed any remarkable/aligned flooring; aligned flooring should be fundamentally impossible in the format, though I haven't examined what if anything they're using the sector tag field for yet; light and type seem to be used Doom-style, and references to sectors in scripts seem to be directly by sector #,) so that ought to work - do you know if it supports non-64x64 flats? Worst-case I can auto-dump all to both with clipping/padding to 64x64 for flats - both image formats are pretty simple, though Doom's is actually the more complex of the 2 (luckily I only have to write it, not interpret it - back-converting multipatch would be more annoying, though half tempting for more or less direct ports of Doom-engine levels to AA, especially from Heretic/Hexen which have an appropriate 'feel'.) Nothing a simple ANSI C program shouldn't be able to handle...? Theoretically the resulting .WAD will work with both Doom Builder and DETH 4.24 (which I'm using.)
As for thing listing... just checking the data in PICS.RES that provides the names looks like it's going to make it easy to tell which thing id's are most worth trying. Guesstimating on the script-like objects (e.g. 1500=Door, much like a Hexen sector move sound 'thing') should do for the rest, as they SEEM contiguous. What do you mean by 'defined', the same?
As for the crashes... hm, that's interesting. I do know the 4th map (L31.MAP, the Druid Library) comes with misbuilt nodes, which makes it crash regularly... which ironically is easilly fixed by running it through zennode. Wonder if there's any relations. There's a page somewhere claiming it doesn't use the nodes data... DO NOT believe them, if you weren't updating your nodes with a program that generates old-style-doom compatible nodes, that could be your problem. They seem incorrect about the scripting too - unless there's another version floating around, it's most definitely NOT .INI-style for the actual line def scripts; in fact it strongly resembles Hexen ACS BEHAVIOR lumps (though with key differences, such as putting strings inline (thus no strings section) and not padding to 32 bits... and the simple fact it's in an external .SRP file instead of a .WAD lump. But it's still very obviously bytecode with a more liberal format more akin to 80x86 assembly than ACS's simplicity.)
So, once I have a good human-readable list of the majority of game things, would you be interested in converting it to work with Oblige and/or Doom Builder? I think you may have special trouble with Oblige, unfortunately, since AA uses things to mark doors instead of the usual line defs, which I suspect Oblige won't be able to make nice with short of just not having doors or changing Oblige itself. If you wanna contact the author, though, maybe he'd make special provision... or if you have the programming experience you can probably add it yourself since I believe Oblige is open-source.
To summarize the difference in usage, BTW, linedef IDs in AA are only for scripts; there are no predefined linedef behaviors. Everything that'd be a cookie-cutter linedef in Doom/Hexen appears to be represented in AA by placing a thing with an appropriate id (such as 1500 for door) within the sector to be affected. Anything remote, like the switch-activated timed doors on the first map, looks to be done with dedicated, custom per-map scripts. It seems fairly likely you can have >255 scripts, but less likely you can have more than 64k of script code.

Reply 3 of 7, by leileilol

User metadata
Rank l33t++
Rank
l33t++
Nothrak wrote:

do you know if it supports non-64x64 flats?

If you paid attention to some tiled floors you'll find some 128x128 flats.

Random tip: Marking a line as secret makes it translucent (for making windows)

I haven't messed with doors and platforms much though

Reply 4 of 7, by Nothrak

User metadata
Rank Newbie
Rank
Newbie

And you're certain that's native, not just the trick Doom 1 used in E1M8? If you know what sizes it supports, that'd be helpful, since I can set the condition to only dump valid sizes to flats... otherwise I guess I'll have to test myself whether it can do e.g. 256x256, non-square, etc. I suppose I could make it set the clipped edges to red lines to make it obvious in the editor you're only seeing part of the flat, too. Easy enough to work around. Does mean converting AA levels to native Doom wouldn't look nice without a port that does >64x64 flats though, heh.