Gokuma Posted August 10, 2003 Using the offsets listed in dehacked's ini file I looked around in the ultimate doom.exe with a hex editor to see how the data dehacked edits is laid. out With those offsets as a general idea where to look around, I opened up Strife1.exe in the hex editor and figured out the offsets for every "thing." Unfortunately I have a bunch of unknown things. Anything with a map# number or hit points other than 1000 I figured out. That leaves projectiles, guts, shrapnel, teleport fog, and who knows what else. So now using this hex editor I'm hacking around doing stuff like making Acolytes drop missile launchers instead of ammo clips, making the Bishop appear in deathmatch (Multiplayer is deathmatch only in Strife). I'll probably also raise the Bishop's hit points. 500 is way too low for what he is. Text changes are extremely easy. I'm going to try to figure out some frames and make acolytes shoot a grappling hook. Once I have the all the major data section offsets figured out, a dehacked type editor should be very feasable. 0 Share this post Link to post
Gokuma Posted August 11, 2003 Well I figured out the major offsets as best as I could. Here's some of my notes. I'm using the editor hexposure you can probably find at zophar.net. The spacing is the number of arrow key presses to get to the same part of the next thing/sound/frame/etc.# The size of the user-defined exe file. # Ultimate Doom.exe Strife1.exe #size = 715493 753215 # These are the offsets for the various data sections... # Ultimate Doom Strife Doom spacing Strife spacing # dec hex hex #thingoff = 677472 A5660 ADF90 Down 6 #soundoff = 645924 9DB24 A5814 Down 2 Right 4 Down 1 Right 8 #frameoff = 650396 9EC9C A68F8 Down 2 Left 4 Down 1 Right 4 #spriteoff = 649844 9EA70 A64D0 #ammooff = 638872 9BF98 A4024 #weaponoff = 638904 9BFB8 A405C (would be if like Doom but prolly wrong) # A30CD (maybe) #textoff = 691064 A8B78 8CE58 (not sure) #cheatoff = 642244 9CCC4 A1411, A2A70, A2EB1 (unlikely possibilities) #textlength = 24072 5E08 5E22 #Strife #sprite name text 91C44 I have the offsets for each separate "thing" down as well. I'll probably put everything in text files on a new Strife page I'll probably add to my site. 0 Share this post Link to post
Gokuma Posted August 11, 2003 Heh, I got Acolytes shooting the grappling hook and then blasting you with their assault guns once they pull you up close. My brain hurts from converting so much decimal and hex back and forth. Only drawback is the guy with grappling hook will turn into an acolyte since I used his attack frames. I tried changing code pointers but it didn't work. I remember in older versions of dehacked changing CP's didn't do anything, but in newer versions they're referenced differently. It's time I looked into dehacked's source. 0 Share this post Link to post
NiGHTMARE Posted August 11, 2003 Vegeta said:Can you do that with Hexen? There's a DeHackEd equivalent for Hexen, so that'd be kinda pointless :) HexHacked I think it's called. 0 Share this post Link to post
Fletcher` Posted August 11, 2003 Know where to find it and can it be used in zdoomhexen? 0 Share this post Link to post
NiGHTMARE Posted August 11, 2003 Google is your friend! (top link) And no, unfortunately it doesn't work with ZDoom. 0 Share this post Link to post
Ralphis Posted August 11, 2003 Just curious, are strife maps in the doom format? Or are they in their own similar to hexen's? 0 Share this post Link to post
Vegeta Posted August 11, 2003 NiGHTMARE said:There's a DeHackEd equivalent for Hexen, so that'd be kinda pointless :) HexHacked I think it's called. Yes, but even Ichor (the wizard of Hexen), couldn't make it work :-) 0 Share this post Link to post
Fletcher` Posted August 11, 2003 I can't get it to work. I have all of the paths in the .ini file right, and still gives me the same error: Checkfiles: NOT successful. 0 Share this post Link to post
NiGHTMARE Posted August 11, 2003 Ralphis said:Just curious, are strife maps in the doom format? Or are they in their own similar to hexen's? They're in the regular Doom format. Even some of the linedef and sector types seem to be the same (e.g. doors and lifts). 0 Share this post Link to post
Gokuma Posted August 11, 2003 I swear this is like looking at the Matrix in encoded form, especially when scrolling quickly with page up/down to look for something. I can also do crazy flips and stuff, except in reality, not some virtual reality movie crap. Now if only Hexposure had a green color scheme instead of blue and purple, maybe if I adjust my monitor's tint. I'm pretty sure I had the Hexen Hack Editor working. There's three different versions available on the net and you could try each once with Hexen versions 1.0 and 1.1 until you find a combination that works if they don't all work. You can get Hex versions 0.53p and 0.84f here You can get version 0.82pb at the DeHackEd homepage. There's also HHE v1.1, the Heretic Hack Editor. There's corrected offsets on the DeHackEd homepage to get it to work with newer versions of Heretic. Of course Hex and HHE only work with vanilla Hexen and Heretic, no source ports. EDIT: Damn, no version of Hex will run on a Win98SE machine, whether in Windows, restarted in dos mode, or booted straight to command prompt. v0.82 and v0.84's crappy installer wouldn't run so I tried it on a Win95 comp and copied the files back to my Win98 comp, but Hex itself won't run. It just immediately gives a runtime error. On an old Win95B machine, Hex runs just fine though, even while in windows. But if you don't have an old dos or Win95 machine to work with, I guess you'll have to use something like Hexposure which I use for Strife. Just for the hell of it, I repackaged Hex versions .82 and .84 so people don't have to deal with the installer. Its inifile.txt and .dat files should help in hacking with Hexposure. At Least HHE for Heretic works fine. Next task to try in Strife: Make a player weapon shoot a grappling hook, whether to pull other players or enemies (not sure if it'll work being a monster weapon), or shoot a projectile that shoots the hook back at the player to grab them and pull them up (definately possible). BTW, Deepsea supports Strife and I fixed up DETH's strife.cfg (available on my site). Unfortunately Strife's texture1 and texture2 resources are a different format causing DETH to crash often and it can't display them. I grouped the linedefs in a way you can really see what's old, new, and changed though. Also Jack Vermeulen actually has the official Strife specs from Rogue, but seems to be a bit uncooperative. He lost the original files but has them all printed out. All he has to do is scan them. I even offered to entirely retype them then. Give me a little while more to see if I can get him to release them. They would contain useful info on scripting, making a script compiler, the texture format, and all the linedefs whose descriptions are too truncated to understand in any editor. If anyone wants to send him an e-mail (jack @ sbsoftware.com) to politely encourage him to release the specs or send them to me to prepare them for release, please go right ahead. If you ask me, I think they belong in the docs directory on 3darchives right next to the Doom, Heretic, and Hexen official specs. 0 Share this post Link to post
Gokuma Posted August 12, 2003 I have released a grappling hook mod on my site. 0 Share this post Link to post
Naked Snake Posted August 12, 2003 I LOVE STRIFE! I LOVE GOKUMA! Dude, with this, it'd be immensely helpful for somebody who wanted to reverse engineer the Strife engine. 0 Share this post Link to post
Ralphis Posted August 12, 2003 NiGHTMARE said:They're in the regular Doom format. Even some of the linedef and sector types seem to be the same (e.g. doors and lifts). Doesnt that mean it's possible for strife to be edited in Wadauthor? 0 Share this post Link to post
Doom_Dude Posted August 12, 2003 BBG said:I LOVE STRIFE! I LOVE GOKUMA! Dude, with this, it'd be immensely helpful for somebody who wanted to reverse engineer the Strife engine. Fuckin swheet! I just reloaded Strife on my comp the other day and it kicks a ton of ass. I forgot how much I loved this game. This is awesome stuff your doing Gokuma! I hope this does lead to smebody reverse engineering the Strife engine like BBG suggested..... 0 Share this post Link to post
DarkWolf Posted August 12, 2003 Who knows machine code? Gokuma, can the pointers easily be found for the text strings? I always hated the length limit in Dehacked. 0 Share this post Link to post
Gokuma Posted August 12, 2003 Text to change is pretty easy to find in the exe. Look at the offsets 8DAF6, 8E3D3, 8EFB8, 8CE58, 91C44 for stuff. In hexpose, press tab to switch to the box showing the text to easily type your own, instead of entering hex values for chars. But as far as I know you can't replace text with longer text (maybe a char or two like DeHackEd). I'm glad what I'm doing is so well received. But I suggest trying to get Rogue's official editing specs and trying to find people who worked on the game, to ask about the sources and stuff, before going through the trouble of reverse engineering. BTW, I added an animated gif of the grappling hook in use to my update. I also added a screenshot of the aftermath of a war between two players' opposing rebel armies in my lamasery.wad. 0 Share this post Link to post
Gokuma Posted August 12, 2003 Oh, if someone was to make texture wad, of just the texture1 and texture2 entries of Strife in Doom's texture format... Then any level editor with customizable game support files could support Strife perfectly except for the lack of script support by loading this wad in the editor But you wouldn't use it with Strife itself). You can get all the thing, linedef, and sector types, from the DETH.CFG I fixed up, (but I'm going to upload a newer more accurate version soon). I got the info from Deepsea, but its files with them must hidden in some binary file. Of course making this said texture wad would be a rather large undertaking. Exporting the pnames entry and all the texture graphics to the wad to work with while making it would probably be a good idea and they could be deleted later. 0 Share this post Link to post
Ultraviolet Posted August 12, 2003 Gokuma said:Oh, if someone was to make texture wad, of just the texture1 and texture2 entries of Strife in Doom's texture format... Then any level editor with customizable game support files could support Strife perfectly except for the lack of script support by loading this wad in the editor But you wouldn't use it with Strife itself). You can get all the thing, linedef, and sector types, from the DETH.CFG I fixed up, (but I'm going to upload a newer more accurate version soon). I got the info from Deepsea, but its files with them must hidden in some binary file. Of course making this said texture wad would be a rather large undertaking. Exporting the pnames entry and all the texture graphics to the wad to work with while making it would probably be a good idea and they could be deleted later. Heh, I was gonna do that for a "ZStrife" mod for ZDoom, but then Randy supported the Strife texture format in ZDoom. EDIT: My method was to have DeepSea open, showing the Strife texture entries, and having WinTex (fastest IMO for just creating new textures, although in XWE you can just type in the offsets instead of nudging the patches around) open with a seperate wad containing all the patches. I rebuilt a bunch of textures one by one, and as many as I did I still didn't get halfway through. 0 Share this post Link to post
Gokuma Posted August 13, 2003 Even if you only got a quarter or 10% done it's still a good start and should stop DETH from crashing. 0 Share this post Link to post
Grogglogobofink Posted August 13, 2003 nice findings, keep up the good work. 0 Share this post Link to post
Ultraviolet Posted August 13, 2003 Gokuma said:Even if you only got a quarter or 10% done it's still a good start and should stop DETH from crashing. I was closer to half... I think. I was working from the BOTTOM of the texture list in Deepsea up. Uh... I don't suppose you want the wad to try and finish work yourself, do you? 0 Share this post Link to post
deep Posted August 13, 2003 Ultraviolet said:EDIT: My method was to have DeepSea open, showing the Strife texture entries, and having WinTex (fastest IMO for just creating new textures, although in XWE you can just type in the offsets instead of nudging the patches around) open with a seperate wad containing all the patches. I rebuilt a bunch of textures one by one, and as many as I did I still didn't get halfway through. This is the fast way to do this (if there's a typo, you'll find out<g>): Export all the PNAMES entries. Press F7, Export and select all the graphics that belong to the PNAMES - turn on Grouping. Note: Open up another copy of DeePsea for reference and use F7, TEXTUREx name edit with -SORTED- turned on to easily catch all the patch names. Manually add exactly the lumps you want (avoid getting extra). Just go the start of the patches and shift+down arrow to select. Then export all at once as BMPs into some empty directory. There are a few ways to do the next step. First go back into a DOOM type project. These steps ADD the STRIFE textures to the DOOM ones. FLATs are easier - but basically the same steps, except change references to FLATs. Method 1: --------- F7 and AutoTextures from BMPs. Press Add Files. Now select ALL the BMPs. If you put them in a unique directory, just press Shift+END and you have them all. You should be able to do them all at once, but you can Add files more than once just in case the limit is reached. Now having the STRIFE version still open, rename the TEXTURE name as required, since the default name is the patch name. Ok, now you have some textures that are not complete and some that aren't STRIFE textures. For those you need to do a final edit recomposing using whatever suits you. You could also just DELETE all the textures (easy to do in DeePsea) and then all you have is a list of PNAMES and the lumps that go with them. Method 2 -------- Export as above, but use the F7/Merge-Import Tool and select all the BMPs. Leave the Textures radio button as is. Press Save All Files to make a file with all the graphics in DOOM format. Now OPEN that file in the editor. Nothing will show of course. Press F7/AutoTextures from Graphics. Check "External Files" only and uncheck "Auto Textures" and Select All. Now save this into the file with all the graphics and now you have a file with all the control stuff you need. Again Use the F7/TEXTUREx tool to fix or whatever you want. Copyrights ---------- Either way, it does not take very long to finish. Now you are left with one big problem. These textures are copyrighted and you can NOT distribute them. Something skimmed over in all this. You can't assume anything here, otherwise you'd find the registered STRIFE iwad in the wild - and that's not true. So maybe the way to do this is to use Deutex (convert the format to GIF), build a control file and let people use that to build their own textures from their STRIFE1.WAD. Or maybe Fred can rig up something using his little tool. Or I just might build a text file input tool since it's pretty simple to do and there are some occasions where this comes in handy dandy. 0 Share this post Link to post
Gokuma Posted August 13, 2003 Thanks for the tips. Once the new texture1 and texture2 resources are made, there's no need for having any actual texture gfx in the wad, since they're still going to be read from the IWAD. So I don't see any copyright problems there. I'm busy hacking around with the exe, so if anyone wants try any of those methods, please go right ahead. Ultraviolet, if you're not going to finish it, it would be cool if you posted your wad here. It's already useful and someone else might want to finish it. 0 Share this post Link to post
Xaser Posted August 13, 2003 My gosh, Gokuma, You are God! Maybe if you work hard enough, you can crack the source code, and then Zdoom will be able to have Strife Support! Yay! 0 Share this post Link to post
NiGHTMARE Posted August 13, 2003 Xaser said:Zdoom will be able to have Strife Support! Yay! It already does, it's just that it supports around 5% rather than 100% of Strife's features ;) 0 Share this post Link to post
Ultraviolet Posted August 13, 2003 deep said:This is the fast way to do thisGreat, then you do it. :P I'm not interested in finishing it myself anymore because ZDoom now supports the Strife texture format and I don't need to do all that. Gokuma said:Ultraviolet, if you're not going to finish it, it would be cool if you posted your wad here. It's already useful and someone else might want to finish it.I've got no way to post it. It seems to me, though, that if you use deep's method, you'll get it done more quickly than by using my method, but you also won't be able to use what I've done so far as a base to continue from because deep's method seems to involve starting from nothing... or at least it might be easier that way, anyway, what with the instructions involving selecting everything, and you probably won't want duplicates. Anyway, I didn't read the instructions completely because I'm not interested because I don't have to do it, as I said above. If you still could use it, contact me (via PM?) and we can discuss options for a file transfer... it won't be done via e-mail though, heh, that's for sure. I'm using Hotmail... 0 Share this post Link to post