Nexus Modding > Mod Development / Released Mods

The ExecList?

(1/4) > >>

Hyperion5:
Hi guys, first post.

Okay, just got the go ahead from Arparso that this is ok. summary:

Alright, the execlist that we keep hearing about while modding is the core rules set by HD for the game, basic ai, objects behaviors, rules, etc. No one has ever been able to find it, but we've all logically guessed that it's in the .exe file, you'd of course be right, the exe contains all the base data to start an application, but it can contain more as evidenced by nexus: the actual game exe is about 4 MB, way too big to just be directx, the engine, and resource links, also in there is the .ini file that creates the root rules, the ones that load with the game.

Everyone thinks that an .exe is encrypted, actually it's more like an uncompressed zip file, marked .exe so that windows knows to read it to run it as an app, also true is that extracting that exe is illegal, but there's a solution thats perfectly legal for what we need: to read whats in the .ini. DirectX and the game engine can't be read in this state, they're unable to be read by a common read program being different formats, and those advanced programs would hate what they get.

But the .ini file is just a specially marked .txt file- any notepad like program (not rich text editors) will display gibberish DX and engine files, but the ini will come out (mostly) as plain text! Using freeware Notepad++ for .txt reading (word wrap off) i can open nexus_DX9.exe to read all the key rule names and parameter set names, and using logic, how they work.

there's nothing illegal with just reading the exe as a txt, it's legal as long as we don't decompile or alter the exe (so you can't edit anything here, wrong place to edit) with the mod tools HD gave us full sanction to use their ruleset, they just didn't tell us about the script syntax i found in there (because it could break your game if your not careful).

(cont next post: what i found and what to do with it)

Hyperion5:
Okay, what i have found so far is mostly just names, but careful observation of their location and surrounding syntax gives away what most of them do.

First few thousand lines are gibberish, that's the DirectX and Engine data, but near the 14000's i found the .ini file(s), which has to be stored as text to work:
         
Everything on this list can be overridden, BUT NOT HERE! anything you want to change you have to overwrite in your consts.ini or mod_consts.ini and elsewhere

i read these in notepad++ so i can give you page lines (with word wrap OFF) past these lines are what's in the file (rules and such), until you hit the next line i marked

REMEMBER, READ but DON'T EDIT this file! DO NOT try to decompile this exe! read only!
         

--- Code: --- some important parts: (, , , )

13925 to 13997 I see all of the GFX rules in here

14136 %sSTATE %s This is the folder that sets how long a 'tick' is
14139 %sMACHINE "%s" Looks like where all the machine operators keywords are stored, along with the text for machine operation error messages
14157 %sTAIRACE %u The Racial AI base parameters, like in the Tactics Folder
14191 %sTAIUNIT 0x%08X AI behavior params for fighters, commandos etc.
14193 %sTGATE 0x%08X Looks like the Wormhole behavior
14219 %sTDEVICE 0x%08X looks like device behavior constants, the ones all commandable objects use
14229 %sTGROUP %u %u Group AI and commands
14269 %sTSHIP 0x%08X Ship AI and commands
14336 %sTIMER All the device params you find in tacticstypes.ini
14427 %sMISSION %u Scripts for making missions and relevant error messages
14442 Relations Lots of stuff, NPC stats, crew, various trigger events. I see the rules here
for all the different object interactions (damage, energy, etc.)
14804 .ini files end here i think

--- End code ---

i'm not familiar with this specific syntax used in this file, but i can tell that this is what people have been looking for,
i'll see what i can find in here and give insight as i can. maybe even try at a program that can reference all the game commands with descriptions and help generate specific syntax.

Hyperion5:
Okay, remaking the post so it's more what i was trying to say,
I've been looking over what I've found so far:

%s = State Strings. yeah, Arparso's definitely right here

%u = Universal (at least i think so)

%d = Dialog (Images, I see a lot of these attached to buttons so i'm thinking GUI)

%G = Integer (Whole number)

%1G = T/F Integer (1/0, On/Off)

%.0f (thats a zero) = Float value (Decimal number)

0x%08X = Create Point (As in a new nav point, hardpoint, etc.) on an XYZ grid wait, definitely not, i think it's actually a set memory address value for certain things, hmm, this one will be hard to mod if you want to change it.

And to explain what i was talking about previously: this list seems to hold the definitions of various script effects:
EXAMPLE USAGE: *not actual script* just potential application once we learn more about it, i forgot to go back and add that, this is where i started to confuse people previously.

%sNewDeviceType %G %G %G = would create new device param with 3 integer values

%sNewHardPointType 0x%08X = would create new hardpoint on xyz (relative to another object or on the map)

But as Arparso had said, these wouldn't make the string in and of themselves (at least not out of the execlist).
several commands are in this file, some look unused, some look like commands we knew about, but not the syntax of. Definitely worth checking.

That's better

Mularac:
This is all very interesting indeed, but there's something that I couldn't quite understand, what's the usage of this? what can we do with it if we can't edit it?

Hyperion5:
We can't, but there might be a workaround,

Now correcting myself from my previous horribly bungled post:

When Nexus loads data, it opens up all the relevant .ini files in order, this order begins within the Nexus_DX (8 or 9).exe, since everything in there is the backbone of the whole program has to be in there to function. when i looked at it, i found what appears to be the execlist (or at least the commands of that list) in the exe

Like the consts.ini file, there's also a mod_consts.ini file. there's a possibility that we can find a similar way to add data to the exec list, possibly using the language i found inside the exe and i could use help with testing that theory.

There, a much better post.

Navigation

[0] Message Index

[#] Next page

Go to full version