Dexiaz Posted January 14, 2018 3 hours ago, -[EVIL]- Pepsi said: This is pretty interesting. But who would really wanna play GBA Doom levels? Aren't they for the most part just stripped down versions of the levels we all know and love? I'll remind you about GBAD2 "Industrial Zone". This level is really interesting to play. Other levels...yeah...heh 0 Share this post Link to post
Cacodemon345 Posted January 14, 2018 (edited) We need to see how the whole Southpaw/Torus engine work. It looks like it contains code from Doom and not DN3D/Build engine or the code may have been rewritten. Which explains how Duke Nukem Advance isn't anything like DN3D. I don't know really. 0 Share this post Link to post
Dexiaz Posted January 14, 2018 Just tried to convert and play GBAD2 maps. They are awesome. But I've got a question. On 11.01.2018 at 9:40 PM, Randy87 said: I haven't been able to make much sense of what might be the BSP data, but then again I know nothing of BSP. HOW did you do this converter if you know nothing about BSP? This is really confusing me. 0 Share this post Link to post
Quasar Posted January 14, 2018 Just now, DeXiaZ said: HOW did you do this converter if you know nothing about BSP? This is really confusing me. Doom's BSP data is entirely independent of the rest of the map, which is necessary considering you first need to make a map in order to apply a BSP tree builder to it. While it's unclear what kind of data Southpaw is using in place of Doom's BSP, it's bound to be something similar, and it is likewise independent. So, you don't need to know anything about it in order to extract the important bits (vertices, linedefs, sidedefs, sectors, and things) of the maps. 1 Share this post Link to post
Dexiaz Posted January 14, 2018 Got it, thank you. Well, in last 3 months I've tried to talk with everyone who mentioned in GBA Doom 2 and Duke Nukem credits about Southpaw Engine. I've got nothing, all people just "dissapeared" from Net around 2011-2012. 0 Share this post Link to post
Cacodemon345 Posted January 14, 2018 Southpaw BSP-like data needs to be worked on. 0 Share this post Link to post
Dexiaz Posted January 14, 2018 27 minutes ago, Cacodemon345 said: Southpaw BSP-like data needs to be worked on. This is easier said than done. Randy87, as I can see - all converted GBAD2 maps are working with the actual PC BSP, so I'll advice to try usual PC node builders like idBSP and DeePBSP for the first experiments with converting PC maps into GBAD2 format. Like I did for the PSX Doom with glBSP.exe they possibly could help you. I don't think that Torus Games did a totally new BSP for their conversion. I believe that this is still Doom engine with few edits. 0 Share this post Link to post
SaladBadger Posted January 14, 2018 (edited) 13 hours ago, loveless said: What port is recommended to play this with? PrB+, GZDoom? The progression won't work right out of the box outside of GZDoom due to the split maps, so there's now 34 maps. It might be possible to merge them using a teleporter to make them work in any port though. Someone could also write up an EMAPINFO to allow it to be played in EE. ed: also, based on the results of almost every "what is your least favorite iwad map" thread here, I think there's one thing in the GBA Doom II mapset that will appeal to many people here: 4 Share this post Link to post
Spie812 Posted January 14, 2018 19 hours ago, -[EVIL]- Pepsi said: Aren't they for the most part just stripped down versions of the levels we all know and love? GBA Doom 1's are, but GBA Doom 2's are almost identical to the PC version except for a few places. 1 Share this post Link to post
Da Werecat Posted January 14, 2018 I'd be very interested in a PC port of DNA. I'd even work on it, but I know approx. nothing about proper reverse-engineering. Just thought I'd say it. 0 Share this post Link to post
Reisal Posted January 15, 2018 I managed to convert the levels and built the BSP tree for the maps for it but I've noticed two things: Industrial Zone and The Chasm were segmented into two maps each, likely a limitation of the Doom 2 GBA engine port. 1 Share this post Link to post
Dexiaz Posted January 16, 2018 On 15.01.2018 at 3:43 AM, Da Werecat said: I'd be very interested in a PC port of DNA. I'd even work on it, but I know approx. nothing about proper reverse-engineering. I'll help to make both TC - GBAD2 and DNA. Just call for me, I can do everything helpful with Decorate, sprite "editing", mapping, etc. P.S.: Is this possible to export/import midi music in GBAD2? 0 Share this post Link to post
Randy87 Posted January 16, 2018 I'm working on getting a base up for the community to take over. I need to rewrite the graphics ripping code. What a nuisance. Still not sure whats up. I need to find the interface graphics and sounds. I might put together the switches and animated textures. I'll slap in some static DECORATEs for all the objects and let the community take over from there. 2 Share this post Link to post
cybdmn Posted January 16, 2018 On 13.1.2018 at 4:34 PM, Randy87 said: New Info. A cursory examination of the Duke Nukem Advance levels shows them to be identical to Doom 2 GBA's. Looks like the engine was hybrid and meant to support both games in a common format. That would explain a lot of the extra/unknown fields. I'm looking at the map geometry in slade right now. Seems, DNA is actually kind of an Duke Nukem Mod for GBA Doom2. https://forums.duke4.net/topic/2699-dnahacker/page__st__30__p__55001#entry55001 1 Share this post Link to post
SaladBadger Posted January 17, 2018 Just as a little note to those trying to play the extracted doom 2 maps, I was poking at them and I discovered suburbs is not 100% correct in any port (though it is completable): I don't think Doom 2 GBA used sound propagation, so the box that holds all the monsters that are supposed to teleport in isn't actually connected anymore. The door open specials are replaced with a new line type that presumably wakes the monsters in the tagged sector, but this obviously doesn't exist in the original or various ports. In order to get things fully functional it'd take a bit of work, though maybe it'd be fun to make a little tc that can do it. I've extracted the palette and colormap before so you can even make it just as ugly as doom 2 gba was. 2 Share this post Link to post
Dexiaz Posted January 17, 2018 3 hours ago, InsanityBringer said: The door open specials are replaced with a new line type that presumably wakes the monsters in the tagged sector, but this obviously doesn't exist in the original or various ports. But it can be easily recreated for the TC by this. UDMF supports it as Line 173. 0 Share this post Link to post
Cacodemon345 Posted January 17, 2018 @DeXiaZ, could you write instructions on how to make levels for actual PSX Doom? 0 Share this post Link to post
Dexiaz Posted January 17, 2018 38 minutes ago, Cacodemon345 said: , could you write instructions on how to make levels for actual PSX Doom? Not really, because I can only do "box" levels. That sucks. I need a help of somebody who really understands how "map" elements works. 0 Share this post Link to post
Dexiaz Posted January 17, 2018 3 minutes ago, Cacodemon345 said: Then how did you do this? it's better to ask it in my thread, not here. 1 Share this post Link to post
Fuser Marucs Posted March 4, 2018 I for one still play Doom on gba - in fact I was playing thru Dexias level mod just this morning! Would be really interesting to see a d2 map editor - converting the pc ultimate doom levels to use in d2 would be great. I play doom2 using kippykips modded version, which I helped on. It replaces all the crappy textures and lighting with the ones from the pc version: https://kippykip.com/index.php?threads/gba-doom-ii-pc-conversion-pack-revision-1-3.434/ i still I’ll love the fact you can play d2 on such an underpowered, gorgeous little handheld! 1 Share this post Link to post
Dexiaz Posted May 27, 2018 (edited) Ok, guys, I have some interesting news! Long time ago I've sent messages to every developer who worked with GBA Doom 2 in hope to get some information about Southpaw Engine. And today Chris Hayton (the Southpaw Engine programmer) answered me! Here goes the text (without my question, I just simply asked to help understand how it's works): Quote Thank you for your correspondence (below) and apologies for taking so long to reply to you (I hardly ever check Facebook). I'm very interested to hear about your retro game modding and I'll do my best to help you. Unfortunately I haven't worked for Torus Games since 2006, so I don't have access to any of the source code for the Southpaw Engine, which was retired years ago in any case. So, I will have to go on memory. Let me first tell you a bit about the development process. Duke Nukem GBA used bitmap mode 4 for the in-game rendering, and a char-based modes for the cutscenes and menu screens. Torus Games already had a char-based engine that they used for some of their 2D GBA titles and some tools that they used to convert the assets produced by the artists into the palettized GBA char-based formats. They also had a sound engine that was brought across from their 2D games as well. So the Southpaw engine was the only new tech that was unique to DNA. I was the programmer responsible for the rendering engine, and wrote a conversion tool (called convwad.exe) that converted Doom WAD files to our format. We didn't use WAD files "as is" because of space considerations, we wanted to pack as much onto the cartridge as possible. There is a simple 1:1 correspondence between structures like linedefs and so on from the WAD format and ours. I think the format started off with a count of all the different structure types (linedefs, sidedefs etc) and then the data was just written out. So, it should be possible for you to extract the levels from the ROM, reverse the process and end up with WAD files of all the Duke Nukem Advance Levels. If you look for repeating patterns in the data you should be able to see how large the data structures are and how many of them there are. Once you have reverse engineered the format you can make your own levels and put them in the game. We stored the wall textures in a compressed format that is different to Doom's. The texture is broken up into vertical 1-pixel wide strips and any duplicates are removed (lots of the textures contain repeating patters so there is a lot of this). A 1D array is stored with the index of the appropriate vertical strip for each horizontal position in the texture. Identical strips will reference the same index. Because the rendering engine draws the walls in vertical strips, the indexing can be calculated at the start of the run rather than per-pixel. Floor textures are all 32x32 pixels (IIRC, might be 64x64) and are not compressed in this fashion because they can be rendered at any angle. All textures are stored with multiple mip-map levels (this improved image quality, but also speed up the rendering, because we could assume that the texture co-ordinate would increase by either 0 or 1 for each screen pixel, which enabled a bunch of optimizations) Transparent textures are compressed by only storing the pixels between the first and last non-transparent texel of each vertical strip along with the number of transparent texels that have been chopped off at the top so that the rendering code can compensate for this. When there is run of transparent pixels in the middle of the strip there there is a special color index at the start of the run that encodes how many transparent pixels the renderer needs to jump over. This means that it doesn't waste time sitting in a loop iterating over texels that will not be rendered. Animated and destructible wall textures were implemented using special naming schemes for the textures e.g. wall_0, wall_1, wall_2 would animate in a loop etc For scripting, we used a combination of the Doom linedef behaviours for opening/closing doors and so on, along with simple text file that contained dialogue text to be displayed and various actions (e.g. show security camera views etc). We changed the meaning of some of the linedef types to look up a string from the text file indexed by the linedef (or sidedef perhaps) and display it instead of producing the Doom behaviour. Various escape characters in the string produced scripting behaviours. It should be straightforward to find this stuff in the ROM by searching for dialogue text. This had the side-effect that it was possible for scripting sequences to work in one language and not another, if someone accidentally removed the scripting commands from the translated text! Of course in Torus's port of DOOM II to the GBA the default behaviours are used. Duke Nukem was actually produced first, so it was very handy for us that we had used Doom WADs "under the hood" for DNA when it came to doing the Doom II port. I hope this is all of some help to you, feel free to come back to me with more questions. Best regards, Chris Hayton Palmerston North, New Zealand This is a pure gold information. Valuable gift. Edited May 27, 2018 by DeXiaZ 15 Share this post Link to post
Dexiaz Posted May 29, 2018 I'd like to work with PCtoGBA converter (we already have the source code of "GBAtoPC"), but I don't have time due to RL. BTW, if somebody interested to work with this converter, please let me know, possibly it's better to work together than alone. 0 Share this post Link to post
Fuser Marucs Posted July 20, 2018 What a brilliant response from the dev! So glad someone from Torus could help. I have no programming knowledge I’m afraid but regularly play DeXiaz level pack and the D2 with pc textures and I thought I’d check this thread again. Great stuff!! 1 Share this post Link to post
Dexiaz Posted July 21, 2018 (edited) Thank you! Especially for playing my level pack. I hope that @Kippykip will post someday the updated GBAD2 tools for inserting new maps. It would be nice to make "GBA Final Doom" ;) 0 Share this post Link to post
Fuser Marucs Posted July 26, 2018 deXiaz are you able to modify textures in Doom 1 gba? The reason I ask is this - it runs far smoother when dynamic lighting is turned off, but that makes everything brighter. I wondered how easy it would be to reduce the brightness of the textures....? 0 Share this post Link to post
Dexiaz Posted July 26, 2018 9 hours ago, Fuser Marucs said: deXiaz are you able to modify textures in Doom 1 gba? The reason I ask is this - it runs far smoother when dynamic lighting is turned off, but that makes everything brighter. I wondered how easy it would be to reduce the brightness of the textures....? Yeah, that was possible thanks to GBA Doom 1 Tools authors. I've changed 1 texture for Doom 2 green metal texture (for map01). Well, you just need to edit textures in classic editor (like Photoshop) and put them into the game. 0 Share this post Link to post