Jump to content

Finding the first step?


NephilimNexus

Recommended Posts

I was looking at those late last night, but I didn't see one that would work as a 'force'.

 

Incidentally, one limitation of the hex editing is that you cannot increase the digits -- i.e. an increase of 1 digit place will cause the exe to not load. This means you can't make a '0' into a 10. You can make a 10 into a smaller number though, i.e. 00 or 05 (or whatever.

Edited by sage2
Link to comment
Share on other sites

  • Replies 229
  • Created
  • Last Reply

Top Posters In This Topic

Incidentally, one limitation of the hex editing is that you cannot increase the digits -- i.e. an increase of 1 digit place will cause the exe to not load. This means you can't make a '0' into a 10. You can make a 10 into a smaller number though, i.e. 00 or 05 (or whatever.

That is why you need to use resource editing program instead of hex editing.

Link to comment
Share on other sites

You are welcome. Well, you can just follow these steps:

1. Mod DefaultGameCore.ini (it is the same inside exe) to whatever you like.

2. Open XComGame.exe inside Resource Hacker.

3. Find RCdata/1020/1033 in left section.

4. Right click 1033 and select "Replace Resource". You will see a new window.

5. Click button "Open file with new resource...", which you will see on new window.

6. Find file, which you modded before and select it.

7. Now fill three text boxes with such values:

Resource type: RCDATA

Resource name: 1020

Resource language: 1033

8. Click "Replace" button. You should see modded content to the right. If not, then something went wrong.

9. Save file using File -> Save and now game is modded.

 

HOORAY! This is exactly what I wanted!

 

Well, exactly what I wanted was for the external config files to work, but in the mean time this does the job - mucho thanks!

 

I only see one hitch, now, and that is that sharing mods like this will be impossible... well, not impossible, but probably illegal since that would mean sharing modified copies of the XComGame.exe file, which I'm sure won't float with 2K Games or Firaxis. But hey, that's their fault, not yours or ours.

Link to comment
Share on other sites

Hmmm... what would happen if someone totally nukes that script out of the .EXE? Think the engine is smart enough to then reference one of the existing .INI files?

Doing so means altering exe file, which will work for you, but won't work for others, because you need to provide modified exe-file. Better approach is to do what Langy suggested - to write a patcher, which will inject modded content into exe. Modders will distribute modded content (ini files) as well as patcher. User will need to use patcher to inject ini files into exe. Such approach avoids sharing exe file, which is good in terms of user agreement, and user friendly, because no need to replace resources manually. I can write such patcher. Question is do we actually need it? What if Firaxis will provide modding tools with next patch?

Link to comment
Share on other sites

To share some more findings...

 

I'm rather intrigued by the evidence that the game is reaching out to a central server, in order to retreive a copy of the GameCore.ini file. Looking through DefaultEngine.ini, I found this bit of code:

 

[Engine.OnlineSubsystem]

IniLocPatcherClassName="Engine.IniLocPatcher"

 

[Engine.IniLocPatcher]

!Files=ClearArray

+Files=(Filename="XComGameCore.ini")

;+Files=(Filename="XComGame.ini")

 

XComGame.ini is commented out, but XComGameCore.ini is not. Googling turned up some more informaton regarding these settings.

 

http://uncodex.com/2012-03/engine/inilocpatcher.html

 

This all implies that the game is capable of "calling home" to get another copy of XComGameCore.ini. I am presuming that this would override the values cooked into the .EXE file, giving the Devs further additional control over gameplay balance & ensuring fair MP play.

 

 

I think I'm going to go back and reinstall the demo. We know in the demo, that the actual GameCore.ini file was being used. I need to see how it is referenced/inherited in the other ini files. This might allow us to adjust the current ini files, to use the local copy instead of the cooked one.

Link to comment
Share on other sites

Doing so means altering exe file, which will work for you, but won't work for others, because you need to provide modified exe-file. Better approach is to do what Langy suggested - to write a patcher, which will inject modded content into exe. Modders will distribute modded content (ini files) as well as patcher. User will need to use patcher to inject ini files into exe. Such approach avoids sharing exe file, which is good in terms of user agreement, and user friendly, because no need to replace resources manually. I can write such patcher. Question is do we actually need it? What if Firaxis will provide modding tools with next patch?

 

To give a bit of background, I have a CS degree and am a database developer. As such, while I'm knowledgeable enough to dig around and look for hints and such, writing a patcher is beyond my skillset.

 

To answer your question about whether we need it or not... well, I am perfectly happy using your method of just modifying the .EXE solely for my own private use. My main motivation for modding is to tweak a few settings in the game that I despise (Skyranger Capacity & # of small items soldiers can carry). But since I'm at work & have time to kill, I figured I'd contribute to the community as a whole with my thoughts and speculation on the matter.

Link to comment
Share on other sites

I think I'm going to go back and reinstall the demo. We know in the demo, that the actual GameCore.ini file was being used. I need to see how it is referenced/inherited in the other ini files. This might allow us to adjust the current ini files, to use the local copy instead of the cooked one.

I had same idea today and I have already checked this and other ini files. There are 5 blocks, which are different between demo and release in this file as I remember, and that piece is the same, so you can save your time.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...