Coraline

Members
  • Content count

    1118
  • Joined

  • Last visited

About Coraline

  • Rank
    Senior Member

Recent Profile Visitors

2002 profile views
  1. Please don't forget to add the DARKWAR IWAD since it is supported in EDGE now :-)
  2. ROTT Progress:

     

    Now I have walls loaded in properly with the correct colors from the ROTT PAL, but the images still need to be rotated 90 degrees. There is a command in DDF to do this automatically, but I'm just lazy for now.

     

    So far so good. Can't read in skies yet (that's a dummy sky EDGE loaded in), question marks are missing sprites, HUD is non-existent -- though I do have dynamic lights working and overall the colors match up correctly. The game feels so much better at a higher framerate, with diminished lighting and real dynamic lights ;-)

     

    Though now I see what palette problems some other EDGE users have with the engine, which is noticeable with the flamewall block -- those black pixels. . .shot11.png.b50c4d9dcea05bcb5072e8680eb51a7a.png

    1. Voltcom9

      Voltcom9

      This looks like it's really coming together nicely. :)

    2. Coraline

      Coraline

      Thanks! <3 so far so good! ^_^ 

       

      Turns out some of the menu patches are in yet ANOTHER format (pic_t, which I believe is from the DOOM alphas), so I gotta write a pixel translator for those too. Overall, its coming together much quicker now that i have a clear understanding of the IWAD formats.

       

      Next up, coding in player classes (which will be instrumental for Hexen support later too), and after that is all finished, going to work on the BSP translator and pushwall code. 

       

      Glad you are enjoying the progress :-) it'll be nice to have a modern, extendable source port for ROTT at any rate ;-)

  3. ROTT progress screens:

     

    Not much to show yet, both are still using the EDGE/DOOM traditional menu system for now, but we have patches! :-)

    shot08.png

    shot05.png

    1. Coraline

      Coraline

      Also, this, but you can see the color issues. The patch was converted internally and then modified to match the ROTT pal, but I already figured out how to load them in as-is from the IWAD to use ROTT's global "PAL" (like Dooms PLAYPAL). This was just an earlier screen of progress :-)

      Doom001.jpg

    2. Voltcom9

      Voltcom9

      This is so damn exciting!!! I'm shaking in anticipation! :)

    3. Voltcom9

      Voltcom9

      Will 3DGEbuilder support ROTT maps as well?

    4. Coraline

      Coraline

      That is definitely on the roadmap. Birgir and myself have a whole host of things we want to do with EDGE and ROTT and that had been discussed :-)

       

      Though really, you'll want to just use UDMF as ROTT can take the biggest advantage of that format :-)

  4. General question to all DOOM port authors:

     

    When supporting multiple games in the engine, is it a bad idea to use a global book value for them upon IWAD detection? Wondering if there's a cleaner way, or maybe I'm doing it right (or wrong). :-)

    1. Coraline

      Coraline

      Gah, meant "bool". Damn autocorrect!

  5. ROTT Progress Update:

     

    With some debugging help from @Blzut3 and @Gez and tech assistance from @fraggle and fellow EDGE coder @Chilly Willy, EDGE can now read in the ROTT patch format. There is still some work to do as certain masked textures use a translevel short, which will be read and translated by EDGE further down the road. Huge milestone as now I can get to work on the basic things (VOC2WAV), get other raw image formats from ROTT working, and the main menu coded in. After that, the BSP translated from Wolf2Edge will be overhauled to support moving and regular pushwalls (the tech side of it has much inspiration from Rebecca's MacWolf port), and the conversion of GADs to true 3D things via DDF. So, its coming along well, and I'll attach what I have so far in the repo tonight. And also. Maybe a screenshot or two :-)

     

    While offsets are now correct for images, some patches (ROTT's CURSORx) still won't display properly, as I suspect it might have to do with the translevel in ROTTs masked_patcht struct.

     

    Other than that, supporting the basic ROTT patch format was one of the biggest hurdles, and in the coming months, hopefully sooner rather than later, we will have a source port that can fully support ROTT with some extra features. :-)

     

    Special thanks to Doom's wonderful programmers for taking time to answer my questions! 

    1. fraggle

      fraggle

      Glad I was able to be of some help!

    2. Coraline

      Coraline

      :-) That's what makes the DOOM community special is that we all can rely on each other when we need the help ^_^ albeit I don't get too annoying ;-)

    3. bzzrak

      bzzrak

      I really hope that you'll succeed, as the only moderately usable ROTT port (winrott) dates from like 2005, crashes all the time, has broken netplay and is generally kind of a pain to use. The game being a pain to play doesn't help it either, but that's another story. :]

      So, umm, thank you for being you, good luck, all the usual stuff. :]

    4. Coraline

      Coraline

      @bzzrak:-) Thanks! That was my chief goal was to have a stable source port of the game that both the ROTT and DOOM community can enjoy. Thanks for the kind words! <3

  6. ROTT progress update:

     

    While I continue hunting for the best way to convert all graphics from the ROTT IWAD to DOOM formats, I have successfully gotten VOC playback (fixed only to ROTTs format) working. Right now it uses SLADES VocToWav, which means the engine has to preprocess the sounds before the game loads, but I'm thinking of going the extra step eventually to support true VOC decoding and playback using EPI's sound_data_c class.

     

    I have also completed the ROTT->DOOM map conversion utility with Birger's help, which runs at startup, then passes the data over to glBSP for processing (which will save to the /cache folder as a GWA). Still need to complete ROTT-like pushwall support though. That should be uploaded sometime later tonight. On the topic, the author of Map2Wad has also been working on his custom EDGE-side conversion utility for Wolf3D's map format, which will also pass the data to glBSP for conversion.

     

    In short, so far so good. I can't wait until the hard work is finished so we can have the defacto port for Rise of the Triad via EDGE :-) Dream is coming true.

     

    Special thanks to all the programmers for helping me on this quest (Gez, Birger, ECWolf, dpJudas, among others), but I'm proud that this will be supported :-)

     

    Any suggestions to the graphics issue? I'm all ears. I was partial to converting the data to PCX, but I might end up going the PNG route instead, that way the images can be defined inside of Images.DDF.

  7. Also, thank you so much Gez!! That's exactly what I needed :-) I might hit you up (just a warning) about other ROTT format intricies (I see SLADE3 supports nearly all of the IWAD data). :-)
  8. ROTT progress report:

     

    I'll be creating a branch in the EDGE repo for people to test ROTT tonight :)

     

    Birger Andreasen, the developer of WinROTT and WinROTTGL has kindly teamed up with me to bring true ROTT into EDGE, which is even better now because he is well versed with it :-)

    1. YukiRaven

      YukiRaven

      I should really work on the level editor I started for ROTT one of these days...

  9. Do you use OpenAL Soft for Windows midi playback? Ive been hunting for an alternative, because if you aren't using WinXP, all EDGE offers ATM is OPL/OPL3 and Timidity. I think the system mixer works on Linux, but if it will get native MIDI under Windows, I'm all ears :-)
  10. EDGE, at one point, did in fact use OpenAL. I briefly considered restoring it, but, why fix what isn't broken? :-) i don't remember why it reverted to SDL (actually based on SDL_Sound), but I think it works out fine. Not sure if OpenAL works on Linux or not either. Also I remember needing to actually install OpenAL in earlier EDGE builds, and at least the way we do it, we don't need to install anything ^_^
  11. What is the benefit, slightly off-topic, of using SDL_Mixer? EDGE doesn't use it as it has its own internal sound mixing stuff -- is it worth it to support a broader range of audio formats and effects? For instance, if it supports VOC then I would definitely incorporate it as I need a VOC decoder for ROTT SFX, but would I have to change the rest of the sound code around to compensate?
  12. ROTT -> EDGE progress report:

     

    The layout of the ROTT IWAD took a little longer to hack together into EDGE than originally anticipated, partly due to some strange image formats, but I should have something to show tonight. The only 3 graphics I had to copy into the ROTT namespace inside of edge2.pak were the raw 320x200 images (converted to Dooms patch format) since writing code for just 3 original ROTT raw images plus 2 SNEA images would be a little overkill. I hope people don't mind, but are there any other better suggestions? 

     

    Next up, I'm working on the menu system (the flipping background), but I'm not going to mirror ROTTs exactly since EDGE uses a common menu for all supported games, but at least it will support everything the original did.

     

    The only real addition I need to add is the player classes, but I'm just going to copy the players into PLAYER1-5 via DDFTHINGS and have it work like that. After that, everything else should work out! Then the hard part comes (RTS for GADs, DDF for gamecode), which will take the most time.

    1. Gothic

      Gothic

      I'm very interested to see how this turns out, while I keep waiting for ROTT support on ECWolf.

    2. Coraline

      Coraline

      Definitely! In EDGE its a bit trickier since I'm handling most graphics as a secondary sprite/patch_t format, AKA different to how ECWolf does it. But that port and its author have been very forthcoming in, for instance, handling the namespaces for the ROTT patches than can be loaded into the pseudo-combined patch_t format.

       

      Then there's the whole process of converting the RTL data into BSP format which glBSP can then dissect into a normal DOOM map (where ECWolf AFAIK uses an enhanced version of Wolf's raytracer).

       

      Now, in the original DOOM, and by extension EDGE, sprite names are supposed to have 8 characters -- in ROTT (shapes) are varying character lengths, so I wonder if I should pad the sprite names or just have EDGE ignore that limit for ROTT shapes. 

       

      Ideally what I should do is support something where I have the namespaces already defined in edge2.pak (empty), and have PHYSFS/w_wad.cc just insert markers that way, since the way I do it is through the normal DOOM sprite/flat/texture markers...hmmm...

    3. Coraline

      Coraline

      I also briefly considered converting the entire IWAD at runtime to a format similar to how glBSP caches maps (GWA) or even as a PAK, and that way it can generate a clean base instead of doing the insane amount of marker inserting/etc I have to do currently with ROTT data..but it might take longer than I would like it to...

  13. Rise of the Triad: DARKWAR support in EDGE is making good progress! Someone wanna help write the DDF? I'd be forever grateful ^_^ screenies should follow tonight or tomorrow!

     

    Also, EDGE 2.1.0 Test3 is releasing tonight with a huge amount of bug fixes, some new features, and better stability than Test2 :-) 

    1. YukiRaven

      YukiRaven

      Wait, ROTT support?  Like the levels, WADs...?

    2. Voltcom9

      Voltcom9

      This is the best news I've heard in a long time! Sooo happy to hear this is in the works!

  14. I also had to move down to SDL2 2.0.5, as I suspected like @fraggle said -- they made a bunch of audio changes which caused a no-sound situation in EDGE. I wonder if they are going to fix those issues for SDL 2.0.7, or if our ports should manually patch the sound processing oddities. . or just "stick with SDL2 2.0.5". :S
  15. True, but it is supported nonetheless :-) Both SLaVE (slave.wad) and Hypertension: Harmony of Darkness (hyper.wad) are both recognized as official, stand-alone IWADS by EDGE. Source: IdentifyVersion() in e_main.cc. Not sure if it also counts, but darkwar.wad (Rise of the Triad Registered) is also recognized as an official IWAD by EDGE. I would say Wolfenstein too, but, it is not an IWAD, so that just falls under the supports-other-games category. Just mentioning that offhand, as code does exist to handle them (Wolfenstein much more-so than ROTT currently), support is not completed and is not currently accessible.