*3/14/2014* DNF Gearbox Downgrade Patch WIP = TESTING
#1 Posted 05 January 2013 - 01:17 PM
https://mega.co.nz/#...oyBcFl-nfoPfA2g
I like many of you were quite dissappointed when Gearbox decided to remove the console, so i've been working on a patch that would restore it to the first version. Allows you to use the console, which is a powerful semi-documented tool and allows you to remove things like DOF or increase FOV.
I could have a patch ready in a few days time (to polish it off), I have a few concerns (and the DLC probably will still not work):
1) It would require a nocd (should that be included in the patch?)
2) Multiplayer would not work
3) Outside of that it would either require old copywrited files or reversion code edits (think bindiff). Are those allowed here?
4) If I don't do a bindiff style patcher, how could/should I make sure that someone owned or at least installed the steam version properly?
5) Should I include any tools/utilities for dnf from the community that often are hard/nay impossible to find now.
If you have a hard drive big enough you can technically have both versions (steam and this) so long as they aren't installed the same place, they also read their saved games from different places.
This post has been edited by Drathian: 14 March 2014 - 01:40 PM
#2 Posted 06 January 2013 - 02:12 AM
However why not try modding Duke 3D? There's still a big audience for that, bigger than DNF anyway.
Edit: Btw what tools and utilities are you talking about? Unfortunately there's no official modding tools for DNF, which is a major reason everyone forgot about it so quickly.
This post has been edited by Micky C: 06 January 2013 - 02:13 AM
#3 Posted 06 January 2013 - 06:36 AM
As Micky C wrote, if you love Duke Nukem, give EDuke32 a chance. It is your best chance to explore your talents within the community.
#4 Posted 06 January 2013 - 06:58 AM
#5 Posted 06 January 2013 - 07:10 AM
You agree not to: Reverse engineer, decompile, disassemble, prepare derivative works based on or otherwise modify the Software, in whole or in part; Remove or modify any proprietary notices, marks or labels contained on or within the Software.
No one will ever have an official, Gearbox sanctioned, patch, unless they themselves will issue one via a DLC (Downloadable Content), for another $10 US Dollars.
#6 Posted 06 January 2013 - 09:30 PM
I have heard of eduke, etc... I'm not very good with art so I doubt i'd be much help. Back to modding other sanctioned games. Bye for now.
#7 Posted 06 January 2013 - 09:46 PM
Drathian, on 06 January 2013 - 09:30 PM, said:
I have heard of eduke, etc... I'm not very good with art so I doubt i'd be much help. Back to modding other sanctioned games. Bye for now.
That's a shame, eduke32 has a very in-depth scripting language that allows you to control every aspect of the game, allowing for a huge amount of potential gameplay without even touching the art or anything else.
And as for DNF, as if anyone ever follows those rules
#8 Posted 07 January 2013 - 12:54 PM
Drathian, on 06 January 2013 - 09:30 PM, said:
Discouraging this was not my plan - I expected a counter argument, it's the duke way, sort of speak.
Here is another project DNF related that came back to live
http://www.skacik.pl...ured&Itemid=101
and another one
http://www.richwhite...x.php?postid=65
#9 Posted 07 January 2013 - 04:36 PM
Hank, on 07 January 2013 - 12:54 PM, said:
Here is another project DNF related that came back to live
http://www.skacik.pl...ured&Itemid=101
and another one
http://www.richwhite...x.php?postid=65
Sorry I'm a little used to ban happy forums, I really didn't want to give up .
AFAIK re-reading the license agreement there is nothing even in that would render this patch illegal except for two files in it, I'll get to that in a minute. This is not a way to hack the console in, or create a console because that was already in place by the company that developed it. My patch simply is a downgrade patch, using the least amount of data. Imagine the legal precendence if companies could say old versions of software are illegal, it would be laughed out of court. Like saying that you have to update your iphone every year or its against the TOS.
The only problem I found in a legal sense is my patch is based on a hacked version (2 files), which does violate TOS of both steam and gearbox and 2k etc... However there is a way around that, if I can locate the first version exe, I didn't have the forsight to think that they'd pull a number like this so I didn't save it. I think it may be on the dvd I think, I'll have to figure out how to extract that. Then all you would need to do is disable steam cloud and steam updating the game and it wouldn't violate any license agreement. (just don't play it with multiplayer) I wouldn't be distributing the exe, but a patch that is useless if you don't already have one (hopefully by buying the game) for the executable file and others.
This type of data patching, is how I and others like me have for years got around the legal hurdles thrown at us by companies like Nintendo/Sega on the ROM hacking scene. Its still a grey area but I don't think by itself violates the DMCA, or its subsequent addons YET.
Then they can stomp their feet all they want, and call me a pirate, but I'm really just an angry customer that refuses to let their lack of vision destroy a icon of gaming history. I wonder if they even care anymore tbh, otherwise we'd see some plans about new DLC, at that is as likely to take another 12 years if ever /sarcasm.
EDIT:
It seems valve and gearbox already thought of this, and disabled my idea from working (throws an error 2 steam servers are too busy to handle this install) so no working legitimate downgrade option. I repeat there is no legal way to downgrade to a working 1, although it can be done using an unauthorized patch, since I can't release the full patch I can do the next best thing in a followup post.
This post has been edited by Drathian: 08 January 2013 - 11:19 PM
#10 Posted 08 January 2013 - 10:54 PM
First off, it was a royal pain to find a version 1 dnf. As the /System directory is mostly downloaded off of steam during even new installs, it made this more annoying.
My initial experiments, I think the console is held within the exe and possibly extended by engine.dll.
Luckly for us, gearbox was rather lazy at blocking the console they barely updated a handful of files in the /System directory primarly.
Although 287 Files at minimum are changed from the initial 1.0 build (that is 675mb), only 8 files are necessary to revert to the 1.0 build with console. These files will enable it to work even with the newer versions of the other files I guess this is some weird unintentional backwards compatability.
Version 1.0 files required:
D3DDrv9.dll
dnAI.dll
dnCommon.dll
dnGame.dll
DukeForever.exe (*)
engine.dll (*)
MegaPackage.dat
MilesAudio.dll
-This will get you back to a workable 1.0 without having to jump through mighty hoops of doom.
However, it will still not work without the addition of 3 (*) hacked files that aren't exactly lawful (note that this entire process breaks Steam dependencies for the game, break the dlc, and break multiplayer AFAIK.)
steam_api.dll (*)
Steamclient.dll (*)
SKIDROW.ini (*)
If you wish to try this method I recommend that you make a copy of /steamapps/common/duke nukem forever/ to a place you have space and mess with it there, if you can't afford hard drive space, then just make a copy of the unaltered (that is no texmod dukeforever.exe etc) steam /System directory before messing with it, and remember not to launch it via steam or it will update it away.
Legally I'm not able to upload the following hack files (steam_api.dll, Steamclient.dll and SKIDROW.ini) rely on your own methods to find a working duke nukem forever version of them.
However for those of you are lucky enough to have bought steam version of dnf, doesn't matter if it has or doesn't have the dlc as long as it is up to date, i have a special treat. I know its complicated for legality reasons and a general pain in the butt but if you don't want to hunt for and redownload a game you already have try this:
Here 11.72 MB, is a file that contains the changed data, and a tool to patch your steam version to this version 1. Remember you'll still need to find those other 3 files as I can't include them nor even their changes. When you have the dnfpatch.zip downloaded extract it all to the base root directory of "steamapps/common/duke nukem forever". In case you forget to backup your files it does it by making first a directory /SystemORIG and then copying original files to *.original extension, it will only let you run it once to avoid corruption so turn off your antivirus temporaly and then proceed to run the dnfpatch.bat and you'll have a version 1 console dnf ready. ***Add those other three unincludable files to /System and it will work as intended.*** If something messes up simply delete" steamapps/common/duke nukem forever/System" and rename "steamapps/common/duke nukem forever/SystemORIG" to /System. It is also and easy way to go back to the steam version.
NOTE: your saves will not carry over if you wish to use the saves from steam copy them from "C:\program files\steam\userdata\(random #)\57900\remote" or "C:\program files (x86)\steam\userdata\(random #)\57900\remote" to "%LOCALAPPDATA%\SKIDROW\57900\Storage"
I'd love to just include the 10 files and it be an easy patch but I'm trying to follow the law. So please forgive the convoluted nature of this project.
This post has been edited by Drathian: 08 January 2013 - 11:34 PM
#11 Posted 09 January 2013 - 08:20 PM
Seriously though, nice work
#12 Posted 09 January 2013 - 10:29 PM
Bloodshot, on 09 January 2013 - 08:20 PM, said:
Seriously though, nice work
Funny you should say that, is exactly what i've been working on after this. Although a release of such software would be a copyright nightmare, I just want to do a POC (proof of concept) to see if it can even be done. But shhhhhh I don't think i'm supposed to be doing this lol.
#13 Posted 10 January 2013 - 03:35 AM
Drathian, on 07 January 2013 - 04:36 PM, said:
It seems valve and gearbox already thought of this, and disabled my idea from working (throws an error 2 steam servers are too busy to handle this install) so no working legitimate downgrade option. I repeat there is no legal way to downgrade to a working 1, although it can be done using an unauthorized patch, since I can't release the full patch I can do the next best thing in a followup post.
Yep, that's pretty much how I feel. I payed $100 for a standard copy of DNF, under the assumption that I would not only be playing the game, but all the awesome mods and user maps that would follow for years to come... boy was I ripped off.
And yeah people have tried various ways in the past to get the console back in, and Gearbox didn't just take it out, they put quite a lot of effort into making sure it couldn't be brought back. They even disabled the developer console I think.
Still, without any actual extra content, a little console and whatever other minor graphical tweaks that can unofficially come out are not enough to motivate me to reinstall and open up the game.
#14 Posted 10 January 2013 - 01:06 PM
Drathian, on 09 January 2013 - 10:29 PM, said:
If you were to get it to work, I honestly think it'd be ok as long as people don't go posting it everywhere for GBX to take notice
#15 Posted 11 January 2013 - 08:41 AM
however i'm playing through the dlc now - which is great
This post has been edited by zwieback: 11 January 2013 - 08:52 AM
#16 Posted 11 January 2013 - 09:27 AM
zwieback, on 11 January 2013 - 08:41 AM, said:
however i'm playing through the dlc now - which is great
There's nothing great about it. It's the same exact bullshit with a different skin!
#17 Posted 11 January 2013 - 05:00 PM
This post has been edited by MusicallyInspired: 11 January 2013 - 05:01 PM
#18 Posted 11 January 2013 - 05:27 PM
#19 Posted 11 January 2013 - 06:00 PM
This post has been edited by Wesker500: 11 January 2013 - 06:01 PM
#20 Posted 11 January 2013 - 06:02 PM
TerminX, on 11 January 2013 - 05:27 PM, said:
Half life 2 was no where near as good as I expected, but it was still pretty good, especially in the second half of the game, and IMO better than DNF. Certainly much more polished and balanced. Plus it did many of the things DNF did, only 7 years before it was released.
Although I guess one of the big reasons HL2 has such a huge fanbase compared to DNF is the mod tools. I doubt even HL2 would have survived this long if there were no user maps or mods for it.
@Wesker, although Duke didn't change a huge amount, he did change a bit, and that bit was in the wrong direction.
This post has been edited by Micky C: 11 January 2013 - 06:02 PM
#21 Posted 11 January 2013 - 06:18 PM
Micky C, on 11 January 2013 - 06:02 PM, said:
I agree that he was a little bit changed in the wrong direction, but not enough to make me hate him like all my other favorite franchises and characters have, I guess that can kinda be blamed on the writing during the hellish development, but he's still the Duke I love and of course he was done a bit better in the DLC.
#22 Posted 11 January 2013 - 11:36 PM
#23 Posted 11 January 2013 - 11:49 PM
If it had been the same length but with different stuff in the place of the long stretches of dullness, than it would have been just fine.
#24 Posted 12 January 2013 - 03:58 AM
Commando Nukem, on 11 January 2013 - 09:27 AM, said:
Like pointed out by other members there is much more happening on less space - it is not as stretched out as the main campaign => and that's why it is so much better imo.
besides: the dlc IS really funny compared to the main campaign.
But don't drag this discussion further off-topic, we have a special thread for the dlc i just felt like posting this after you said that it is the same exact bullshit
#25 Posted 13 January 2013 - 01:10 PM
#26 Posted 14 January 2013 - 11:49 AM
While I've been able to decompile the entire source tree (that is the *.u to *.uc) for DNF the engine appears to be the problem. What bastard version of Unreal did they build this from? I have all of the unreal games, it seems to be a mixture between 1 and 2. Unfortunately for us we are missing at least 1 DLL (core.dll) and a proper accepting (unrealed.exe) very tiny files is all that stands in the way of us having a full editor, I'm very frustrated after spending 8+ hours working on it.
I did notice a few things if anyone else more skilled then me wants to take it on at some point. The system.ini and user.ini are slightly modified unreal based files for example:
unreal 1 (Default.ini, Unreal.ini)
[size=2][URL][/size] Protocol=unreal ProtocolDescription=Unreal Protocol Name=Player Map=Index.unr LocalMap=Unreal.unr AltLocalMap=UPack.unr EntryMap=EntryII.unr Host= Portal= MapExt=unr SaveExt=usa [size=2]Port=7777[/size]
dnf (system.ini)
[size=2][URL][/size] Protocol=duke4 ProtocolDescription=DNF Protocol Location=Duke_Nukem Map=Index.dnf LocalMap=Entry.dnf Host= Portal= MapExt=dnf SaveExt=d4 Port=7777 Class=dnGame.DukeMultiPlayerAssets
or
unreal 1 (Default.ini, Unreal.ini)
[Core.System] PurgeCacheDays=0 SavePath=..\Save CachePath=..\Cache CacheExt=.uxx UseCPU=0 Paths=..\System\*.u Paths=..\Maps\*.unr Paths=..\Maps\UPak\*.unr Paths=..\Textures\*.utx Paths=..\Sounds\*.uax Paths=..\Music\*.umx Paths=..\Meshes\*.usm Suppress=DevLoad Suppress=DevSave Suppress=DevNetTraffic Suppress=DevGarbage Suppress=DevKill Suppress=DevReplace Suppress=DevSound Suppress=DevCompile Suppress=DevBind Suppress=DevBsp Suppress=DevNet
dnf (system.ini)
[Engine.System] PurgeCacheDays=30 SavePath=../Save CachePath=../Cache CacheExt=.uxx Paths=../System/*.u Paths=../Maps/*.dnf Paths=../Textures/*.dtx Paths=../Textures/Compiled/*.dat Paths=../SkinMeshes/*.dmx Paths=../Sounds/*.dfx Paths=../Sounds/*.cvp Paths=../StaticMeshes/*.dsm Paths=../Particles/*.dps Suppress=DevLoad Suppress=DevSave Suppress=DevGarbage Suppress=DevKill Suppress=DevReplace Suppress=DevSound Suppress=DevCompile Suppress=DevBind Suppress=DevBsp
unreal 1 (User.ini)
[DefaultPlayer] Name=Player Class=UnrealI.FemaleOne [Engine.Input] Aliases[0]=(Command="Button bFire | Fire",Alias=Fire) Aliases[1]=(Command="Button bAltFire | AltFire",Alias=AltFire) Aliases[2]=(Command="Axis aBaseY Speed=+300.0",Alias=MoveForward) Aliases[3]=(Command="Axis aBaseY Speed=-300.0",Alias=MoveBackward) Aliases[4]=(Command="Axis aBaseX Speed=-150.0",Alias=TurnLeft) Aliases[5]=(Command="Axis aBaseX Speed=+150.0",Alias=TurnRight) Aliases[6]=(Command="Axis aStrafe Speed=-300.0",Alias=StrafeLeft) Aliases[7]=(Command="Axis aStrafe Speed=+300.0",Alias=StrafeRight) Aliases[8]=(Command="Jump | Axis aUp Speed=+300.0",Alias=Jump) Aliases[9]=(Command="Button bDuck | Axis aUp Speed=-300.0",Alias=Duck) Aliases[10]=(Command="Button bLook",Alias=Look)
dnf (user.ini)
[DefaultPlayer] Name= Class=dnGame.dnMalePlayer team=1 Mesh=c_characters.Duke Face=0 Torso= Arms= Legs= Voice=dnGame.MalePlayerSounds Icon= Spectate= [Engine.Input] Aliases[0]=(Command="FireDown | OnRelease FireUp",Alias=Fire) Aliases[1]=(Command="MeleeDown | OnRelease MeleeUp",Alias=Melee) Aliases[2]=(Command="Axis aForward Speed=+1.0",Alias=MoveForward) Aliases[3]=(Command="Axis aForward Speed=-1.0",Alias=MoveBackward) Aliases[4]=(Command="Axis aStrafe Speed=-1.0",Alias=StrafeLeft) Aliases[5]=(Command="Axis aStrafe Speed=+1.0",Alias=StrafeRight) Aliases[6]=(Command="Axis aLookUp Speed=+1.0",Alias=LookUp) Aliases[7]=(Command="Axis aLookUp Speed=-1.0",Alias=LookDown) Aliases[8]=(Command="Axis aTurn Speed=-1.0",Alias=TurnLeft) Aliases[9]=(Command="Axis aTurn Speed=+1.0",Alias=TurnRight)
I have gotten the editor to load the data stream format and translated it enough, its just useless without the proper dynamic link libraries (DLLs) and a proper unrealed.exe because the engine can't handle it (has some werid probably proprietary rigged graphic related properties regarding the engine seems like it was patched and subpatched a lot) and will crash on anything. The good news is that it appears to be "unreal engine" enough that certain things will be possible at some point like making a standalone server outside of steam, and notwithstanding other unforseen limitations changing renders (like directx9 to opengl etc).
I'm done with this project for the meantime. Too bad I couldn't get a basic version of the editor running, I was going to translate the dlc to the console patch and fiddle with it, but oh well. Good luck for anyone who wishes to look at it again.
This post has been edited by Drathian: 14 January 2013 - 11:56 AM
#27 Posted 14 January 2013 - 11:54 AM
Drathian, on 14 January 2013 - 11:49 AM, said:
That just about sums up the story of DNF in a nutshell.
#28 Posted 14 January 2013 - 01:51 PM
I hope GBX/2K/whatever decides to at least release a map editor with the next game, with the recent success of titles such as Far Cry 3, that comes with one out of the box, unmoddable as it may be.
This post has been edited by Bloodshot: 14 January 2013 - 04:20 PM
#29 Posted 17 January 2013 - 07:20 PM
Drathian, on 14 January 2013 - 11:49 AM, said:
What bastard version of Unreal did they build this from?
I laughed my ass at this
This post has been edited by Mr.Deviance: 17 January 2013 - 07:20 PM