Jump to content
Search In
  • More options...
Find results that contain...
Find results in...


  • Content count

  • Joined

  • Last visited

About Altazimuth

  • Rank

Recent Profile Visitors

3557 profile views
  1. Altazimuth

    Excellent source port, minor interface feedback

    Hi! Thanks for all the feedback. Menu: I fixed that a bit back. Sorry that I didn't manage to catch it before the release. I don't think so but I'm not 100% certain. As I said though I don't think so. Noted. The option menus require a big overhaul but nobody wants to attempt to do so. Smaller changes like what you suggested are sensible though, and help disambiguate in the meantime. In-game WAD loading is a bit dicey. printz made some good strides to making it robust, but I still don't know just how feasible it would be to actually support full dynamic reloading of everything. Not that I'm aware of. Display: Not sure what to do about that. If it were changed I'm sure somebody would complain. Not that I know of? It could be looked into though, albeit I'm not sure how to achieve that. Title bar buttons are disabled on Windows for whatever reason. I'm not exactly sure why. I think it might have caused issues once upon a time, or on XP? No, but I can look into that at some stage (I make no promises because I'm extremely unreliable at this stage). I appreciate the kind words about the engine, and am glad you're enjoying this.
  2. Altazimuth

    Eternity Engine 4.00.00 Völuspá

    I honestly can't say how feasible such an idea is. Lots of potential edge cases that could foil such a system. Yes! In fact I was attempting it prior to GZDoom got its support using the same library as I was working with, but I ran into issues with EE's sound code. It's rather... fragile.
  3. Altazimuth

    Cynical hates on NIghtdive Studio

    This is just so deeply wrong I don't know where to start; your argument isn't uninformed, but instead actively misinformed. You're aware that all the projects done by the team that did Strife and the Turoks have significant differences over what they're based on, right? They're not just basic wrappers for the engine as was. Have you ever played Strife: Veteran Edition and seen just how cool the GL renderer is, or the new gamemode they added, or the brand new single-player content? Have you ever seen just how much care went into improving the renderer of the Turok games? How would they even have support for achievements on the platforms they're distributed on if they just wrapped the original engine with SDL2 or something similar?
  4. Altazimuth

    Things about Doom you just found out

    Punch "summon sergeant" into the console. As for the infighting not working, I can't figure that out. I've been running through the code in the debugger and the line that sets targets such that monsters infight seems to execute just fine. For a test I ran WinMBF and it also has the same issue, so I assume this is some strange killoughism that EE inherits. EDIT: Even when they do infight using -vanilla it looks weird because they lack rotations for attacking sprites.
  5. Based on precedent you could go for an item (like soulsphere.org), a cheat (iddqd.ru), or an enemy (mancubus.net). Outside of that I'm not sure would be a good call that still has the name recognition of being tied to Doom, whilst not mentioning the trademark directly.
  6. Altazimuth

    How to port Decorate to EDF?

    Fair enough. Was just wondering why when UDMF is a thing. Here's an example wad that uses ExtraData (I ported it to UDMF for the final idgames release). e2l11.zip
  7. Altazimuth

    How to port Decorate to EDF?

    How come you're using ExtraData? Regardless I'd be willing to help with whatever issues you have.
  8. Altazimuth

    How to port Decorate to EDF?

    Bogged down with university work. Still no excuse for being lazy and not responding. To make up for this I'll try implement a codepointer for you that should make porting the Annihilator easier: A_SpawnProjectile, the successor to A_CustomMissile. Shouldn't be too hard?
  9. Altazimuth

    How to port Decorate to EDF?

    For some reason the ASCII for the annihilator was really really screwed up. Sorted it out, copy the code above, which is updated.
  10. Altazimuth

    How to port Decorate to EDF?

    Based on what I said it should look something like this. This probably won't work, but might? thingtype Annihilator : Mobj, 30111 { obituary_normal "was blown away by The Cyber Annihilator's rockets." spawnhealth 7000 radius 40.0 height 110.0 mass 1000 speed 16 painchance 16 basictype Mosnter addflags "DMGIGNORED|FOOTCLIP|NORADIUSDMG|BOSS|HIGHERMPROB" seesound "monster/annsit" painsound "cyber/pain" deathsound "monster/anndth" activesound "cyber/active" states @" Spawn: ANNI AB 10 A_Look Loop See: ANNI A 3 A_PlaySoundEx("monster/anhoof") ANNI ABBCC 3 A_Chase ANNI D 3 A_PlaySoundEx("monster/anhoof") ANNI D 3 A_Chase Loop Missile: ANNI E 0 A_Jump(128,11) ANNI E 6 A_FaceTarget ANNI F 0 Bright A_MissileAttack("Rocket2", normal, 40) ANNI F 12 Bright A_MissileAttack("Rocket2", normal, 40) ANNI E 12 A_FaceTarget ANNI F 0 Bright A_MissileAttack("Rocket2", normal, 40) ANNI F 12 Bright A_MissileAttack("Rocket2", normal, 40) ANNI E 12 A_FaceTarget ANNI F 0 Bright A_MissileAttack("Rocket2", normal, 40) ANNI F 12 Bright A_MissileAttack("Rocket2", normal, 40) ANNI E 0 A_Jump(128,1) Goto See ShootMore: // If memory serves labels must be after gotos in EDF ANNI E 6 A_FaceTarget ANNI F 0 Bright A_MissileAttack("HomRocket1", normal, 40) ANNI F 12 Bright A_MissileAttack("HomRocket1", normal, 40) ANNI E 12 A_FaceTarget ANNI F 0 Bright A_MissileAttack("HomRocket1", normal, 40) ANNI F 12 Bright A_MissileAttack("HomRocket1", normal, 40) ANNI E 12 A_FaceTarget ANNI F 0 Bright A_MissileAttack("HomRocket1", normal, 40) ANNI F 12 Bright A_MissileAttack("HomRocket1", normal, 40) Goto See Pain: ANNI G 10 A_Pain Goto See Death: ANNI H 10 Bright ANNI I 10 Bright A_Scream ANNI JKL 10 Bright ANNI M 10 Bright A_Fall ANNI NO 10 Bright ANNI P 30 ANNI P -1 A_BossDeath "@ } I'll try get this done before the end of the day, editing the tutorial-of-sorts up above.
  11. Altazimuth

    How to port Decorate to EDF?

    It's easy enough to make EDF sounds, it's just a question of is SNDINFO works with "/" stuff.
  12. Altazimuth

    How to port Decorate to EDF?

    IDunno.zip This has the appropriate structure for initial urn code. Please compare your EDF with this, and let me know what was different.
  13. Altazimuth

    How to port Decorate to EDF?

    Can you post the first line of EURNS?
  14. Altazimuth

    How to port Decorate to EDF?

    OK so I'll break this down, starting with the marble urns, then moving on to the Annihilator. In the global WAD namespace (not between some FOO_START FOO_END tags) you'll want a lump called EDFROOT. The contents of that lump should be fair simple to start off with. stdinclude("root.edf") setdialect("ALFHEIM") // This enables using : for inheritance and doomednum setting lumpinclude("EURNS") // You can call the lump whatever you want, but EURNS seems like a sensible name lumpinclude("EANILATR") // Again, call it whatever you want Now let's create the EURNS and EANILATR lumps. If we look at the DECORATE we see the first actor, "ACTOR MarbleUrn 13571". In EDF this translates to "thingtype MarbleUrn : Mobj, 13571". This syntax in general means "thingtype NameOfThing : ThingItInheritsFrom, DoomEdNum". "Mobj" is just a dummy value, meaning that it inherits from nothing. Now let's break down the properties one by one. It's worth noting that property names are case insensitive, so the property "radius" and the property "rAdIuS" are the same thing Radius 16: This line is an easy translation, turning to "radius 16.0". The ".0" isn't necessary, but I like keeping it there as it reminds me that it's not strictly a whole number Height 40: Same thing as radius, it goes to "height 40.0" +SOLID: OK, so flags are handled different in EDF, there's a few flags properties, but also one more important "cflags" property which lets you combine all other flags. Thankfully this is rather simple in this case, and just translates to "cflags SOLID". Alternatively you could use "basictype SolidDecor", which does the same thing. The idea behind basictype is that it's a pre-defined set of flags that commonly crop up (so SolidDector is just SOLID, but other ones are more complex). States (stuff): OK so states isn't different at all really, but you have to replace '{' with '@"' and '}' with '"@'. Everything else can stay the same if you want. You should end up with something like this: thingtype MarbleUrn : Mobj, 13571 { radius 16.0 height 40.0 cflags SOLID // using cflags instead of basictype as it's the closer thing to directly copying from the DECORATE states @" Spawn: MURN A -1 Stop "@ } Now that we've got the first one defined, the rest are a doddle. I trust you to figure out how to do Red/Black/Tan/Blue if I provide you with the steps to do the red one. So not much has changed here. We just want to make MarbleUrnGrey which inherits from MarbleUrn, and has DoomEdNum 13572 This can just go below the MarbleUrn in the same file. Additionally the states will be different. Changing properties from their inherited values in EDF is much the same as it is in DECORATE. The only thing we need to remember is to place the dummy "Mobj" field in the definition with the thingtype we're inheriting from, which in this case is "MarbleUrn". Ultimately this is the result. ... // Pretend that the entirety of MarbleUrn is up here } thingtype MarbleUrnGrey : MarbleUrn, 13572 { states @" Spawn: MURN B -1 Stop "@ } OK let's shift gears to the Annihilator. Go to the EANILATR lump we made earlier. This one's a bit less obvious, especially since we have to define new sounds and two whole projectiles! Let's sort out the sounds first. Note that you can't have ogg vorbis sounds in EE currently, so you'll need to turn them into mono WAVs (or actual Doom sounds). I don't remember if EE would be capable of parsing the Annihilator SNDINFO, so you'll need to get back to me on if the sounds actually work. Now let's define the Annihilator. Like before, the first line should be "thingtype Annihilator : Mobj, 30111". Now we have to deal with the obituary. A limitation of EDF obituaries as of current is that the obituaries always start with "Playername ", which is then put before the obituary string. So in this case we could rework the line to be "obituary_normal "was blown away by the Cyber Annihilator's rockets."". Health , radius, height, mass, speed, and painchance all can just be used verbatim. Now we get to MONSTER. This is the DECORATE version of a basictype. If we look at the EDF thing reference and go to basictype we can see that the nearest match is "basictype Monster". Now for the rest of the flags, we want to add them with the addflags property. In this case it should be "addflags". Looking at documentation the closest thing to NOTARGET is DMGIGNORED, FLOORCLIP goes to FOOTCLIP, NORADIUSDMG remains the same, BOSS remains the same, and MISSILEEVENMORE doesn't have a direct correlation to any flag, the closest being HIGHERMPROB. This results in the following: "addflags DMGIGNORED|FOOTCLIP|NORADIUSDMG|BOSS|HIGHERMPROB". The sound properties might work as-is, so that's fine. Moving on the the states. Copy them verbatim, swapping out the '{' for '@"' and '}' for '"@'. Now we need to look at the list of codepointers on the wiki to see which codepointers exist. Looking at (A_)PlaySound we see that it uses misc1 and misc2 parameters, meaning it can't be used in DECORATE states, but it says that we can use A_PlaySoundEx instead. A_Jump works the same, so that can stay as-is. Now we get to A_CustomMissile, which isn't present in Eternity. Under "AI attack" > "Parameterized" there's MissileAttack. Looking at the parameters we see that there's no equivalent for the x/y offset (which makes me think that I should try and at least partially adapt A_SpawnProjectile to Eternity for convenience), but it roughly translates to "A_MissileAttack("Rocket2", normal, 40)", you might want to add another parameter after to define the angle offset though. TODO: More
  15. Altazimuth

    How to port Decorate to EDF?

    Well there's no panacea for converting DECORATE to EDF, and in some cases it might be impossible. What monster and items do you wish to port? I can give specific guidance if I'm provided with that.