PDA

View Full Version : In-game Dev Console



Kyle873
25th Aug 2011, 14:13
Well, after playing, beating, and enjoying the hell out of DXHR I must say you guys have done one hell of a job. I've barely left my chair in the past 48 hours because the game has just been so epic.

However, there is one thing that's been bothering me since I started the game which I knew was going to bother me once I had finished it. Unlike the first Deus Ex, we don't appear to have any access to a developer console which I'm pretty sure exists or has existed, as it's one of the most convenient ways for developers and testers to speed up testing.

I was hoping that once I had finished the game, I'd be able to muck around in the console and break and find all sorts of crazy/weird/neat stuff, but unfortunately this is not the case. If a dev actually sees this and can shed some light on the subject, I'd be more than happy. Even if it won't be added in the future, I'd like to know the reasoning for it.

Also wondering what others' thoughts on this are as well.

motsm
25th Aug 2011, 16:35
I recall reading the leak had a dev console, so I was hoping the full game would have it. Anyone have luck finding a dev console in the full version?

Kyle873
26th Aug 2011, 01:01
I didn't find one in the leak either.

jtr7
26th Aug 2011, 02:23
They said there are no cheats, so I would assume the obvious route to cheats would be removed. Wait for the modders.

motsm
26th Aug 2011, 02:56
They said there are no cheats, so I would assume the obvious route to cheats would be removed. Wait for the modders.I'd be modding it now if I owned the game as an unpacking tool is already up over at XeNTaX, but I don't want to buy the game until I know what modding is possible, so I'm still waiting for a demo.

Kyle873
26th Aug 2011, 03:11
I'd be modding it now if I owned the game as an unpacking tool is already up over at XeNTaX, but I don't want to buy the game until I know what modding is possible, so I'm still waiting for a demo.

Good call, I'm gonna go look into that.

motsm
26th Aug 2011, 03:15
http://forum.xentax.com/viewtopic.php?f=10&t=7208 <Here's a link directly to the thread.

Kyle873
26th Aug 2011, 03:29
Yeah I've compiled the code and messing around now.

Kyle873
27th Aug 2011, 09:04
Alright, since we get no console. I'm tearing apart the game memory to find specific addresses of value. Currently I'm working on the inventory structure, if you want to see my progress, check here:

http://dl.dropbox.com/u/2321290/DXHR%20Hacking%20Notes.txt

ocstew
27th Aug 2011, 09:16
Great work.

Kyle873
27th Aug 2011, 09:18
I can't tell you how many times I've crashed the game so far. I've lost count. Good thing the patch fixed the loading times or I'd be a lot more frustrated at this point. :P

palisade
28th Aug 2011, 20:36
I found these interesting strings in the string table for dxhr.exe via Ollydbg. They might be commands for the dev console, command-line options, or INI options.

intro
dynamic_ads
g_unlockedDLCPacks
infinite_ammo
immortal
accesscode
nohud
uberobject_info
g_aimAssist

motsm
28th Aug 2011, 22:47
I found these interesting strings in the string table for dxhr.exe via Ollydbg. They might be commands for the dev console, command-line options, or INI options.

intro
dynamic_ads
g_unlockedDLCPacks
infinite_ammo
immortal
accesscode
nohud
uberobject_info
g_aimAssistLooks similar to whats found here, not that anyone has found this in the final game... Seeing the option to disable health regen just frustrates me that we don't have it.

mad825
28th Aug 2011, 22:49
Just use Cheatengine. It may require some brain power to use but it works on all games.

Kyle873
29th Aug 2011, 03:11
Just use Cheatengine. It may require some brain power to use but it works on all games.

Believe me, I have. I've deconstructed the inventory and item memory and almost compiled a complete list of item ID's, as well as instructions on how to create new items from scratch. However, it would be NICE if we didn't have to go through this nonsense. They obviously had testing options in place, probably a console too, so for god sakes let us get to them. That, or I keep memory hacking until I find a way TO get to them.

Kyle873
29th Aug 2011, 03:20
Looks similar to whats found here, not that anyone has found this in the final game... Seeing the option to disable health regen just frustrates me that we don't have it.

Wonderful. That menu probably doesn't exist anymore, but I imagine they didn't bother taking out the options, as shown by your little investigation of the strings.

N3X15
29th Aug 2011, 04:07
I found these interesting strings in the string table for dxhr.exe via Ollydbg. They might be commands for the dev console, command-line options, or INI options.

intro
dynamic_ads
g_unlockedDLCPacks
infinite_ammo
immortal
accesscode
nohud
uberobject_info
g_aimAssist

It's more likely that you're seeing debugging symbols that were accidentally left in, or perhaps some code didn't get commented out. Check the key handling procedure, though, just to be sure. Most consoles are activated by hitting a specific key, although it's possible (and far more likely) that Eidos does something like the following:



public void handleUserInput(int key) {
if(key==m_Keys[KEY_JUMP]) {
mPlayer->jump();
}
// ...
#ifndef RELEASE_BUILD
else if(key==m_Keys[KEY_CONSOLE]) {
Console->getInstance()->show();
}
#endif
}


This way, the console is only compiled into the game when they're doing internal testing (e.g. RELEASE_BUILD is not defined). Since they don't intend for it to be used by us, Eidos can spare plenty of memory by keeping QC-related crap out of the final build.

Kyle873
29th Aug 2011, 04:16
It's more likely that you're seeing debugging symbols that were accidentally left in, or perhaps some code didn't get commented out. Check the key handling procedure, though, just to be sure. Most consoles are activated by hitting a specific key, although it's possible (and far more likely) that Eidos does something like the following:



public void handleUserInput(int key) {
if(key==m_Keys[KEY_JUMP]) {
mPlayer->jump();
}
// ...
#ifndef RELEASE_BUILD
else if(key==m_Keys[KEY_CONSOLE]) {
Console->getInstance()->show();
}
#endif
}


This way, the console is only compiled into the game when they're doing internal testing (e.g. RELEASE_BUILD is not defined). Since they don't intend for it to be used by us, Eidos can spare plenty of memory by keeping QC-related crap out of the final build.

That is the problem, it's not intended for us. They obviously missed the memo where PC gamers like modding and tweaking things. Also, They'd spare what, a couple 10's of megs by leaving out the testing code? Is it really that big of a deal? RAM and HDD space is worth pretty much nothing nowadays.

The only reason I buy PC games half the time is for the modding aspect. But, and I will bite my tongue if this changes, since Eidos have no intention of giving us that, I probably would have been better off buying for 360. At least then I could play it on a large TV and good sound system.

N3X15
29th Aug 2011, 04:20
That is the problem, it's not intended for us. They obviously missed the memo where PC gamers like modding and tweaking things. Also, They'd spare what, a couple 10's of megs by leaving out the testing code? Is it really that big of a deal? RAM and HDD space is worth pretty much nothing nowadays.

The only reason I buy PC games half the time is for the modding aspect. But, and I will bite my tongue if this changes, since Eidos have no intention of giving us that, I probably would have been better off buying for 360. At least then I could play it on a large TV and good sound system.
I agree with you, but they're probably see it as an internal development tool that they really didn't gear towards the public, and they probably don't want to spend the time polishing it up (even though the best consoles are the unpolished ones, see FO3, which is even scriptable).

Kyle873
29th Aug 2011, 04:59
I agree with you, but they're probably see it as an internal development tool that they really didn't gear towards the public, and they probably don't want to spend the time polishing it up (even though the best consoles are the unpolished ones, see FO3, which is even scriptable).

I'm in Ontario, I'll fly over there and give them a piece of our mind. :P

dimljajvbu
29th Aug 2011, 09:40
g_aimAssist is one of the config registry values. You should be able to find it along with all the others at "HKCU\Software\Eidos\Deus Ex: HR". I've not tried enabling it, so I have no idea if it even does anything.

LuxAngel7
29th Aug 2011, 16:41
so how exactly would I go about modifying the values you uncovered?

Because Im itching to spawn the items I have at the end of the game and give myself enough praxis to effectively make a new game plus option for myself since the devs were such geniuses to leave it out...

LongRaider
30th Aug 2011, 01:59
so how exactly would I go about modifying the values you uncovered?

Because Im itching to spawn the items I have at the end of the game and give myself enough praxis to effectively make a new game plus option for myself since the devs were such geniuses to leave it out...

Yes, how would one go about modifying these values or putting items in our inventory?

LuxAngel7
30th Aug 2011, 16:50
@Kyle873

Hey man are you still there? Im no programming expert but at the same time Im pretty good at following directions :P

Can you tell us exactly how you compiled the game code so we can modify it on our own?

Thanks for any help you can give.

N3X15
1st Sep 2011, 06:04
@Kyle873

Hey man are you still there? Im no programming expert but at the same time Im pretty good at following directions :P

Can you tell us exactly how you compiled the game code so we can modify it on our own?

Thanks for any help you can give.

What game code? The code I showed above was psuedocode, i.e. stuff I made up to display an example.

Kyle873
1st Sep 2011, 06:06
What game code? The code I showed above was psuedocode, i.e. stuff I made up to display an example.

Yeah, I'm willing to bet your assumption is right. Still, it's a pretty dick move on their part, taking away the one thing PC users normally get over console users. Well that and modding, but I gave up on that at release honestly.