Amineri Posted April 24, 2013 Share Posted April 24, 2013 (edited) Specifically, I'm thinking about mods that make multiple hex changes, even changes to more than one upk. I looked at Custom Mod Builder 1.0, but that appears to be confined to only DGC.ini + localization files. ToolBoks can make single point hex changes, but integrated mods that require multiple pieces aren't user friendly -- requiring one file for each hex change, and the user to load and run each file. As a point of reference the Squadsight aim mod has 5 hex edits, and one localization file change. I haven't seen any other user-friendly method of managing and installing mods. Am I missing something? With the discovery that the XcomGame.exe can be modified to not require XSHAPE any longer, applying mods should be pretty straightforward. I'd think that a hex mod-manager would be based on a file that contained:1) a list of the .upk files being modded -- each file being changed would have its own section2) the hex address (and range) of each hex code change3) the before-and-after hex code for each hex code change Using the hex address and range would help limit compatibility issues, both with the patch version of the game, as well as identifying mods that were attempting to modify the same hex code (and hence are guaranteed incompatible). I'm getting to the point where I have a fair set of modlets that I'd like to release into the wild, but I don't want to have to build a full-blown installer for each one -- it really feels like overkill. Ultimately it would be nice to have a single mod handler that supported integrated hex, DGC.ini, and localization file changes. My list so far of what I'd like to release:1) Fix bug that prevents equipment loss if squad all dies2) Fix bug that prevents interceptor weapon loss if interceptor is shot down3) SHIV weapon loadout4) SHIV damage reduction5) Explosions destroy corpses6) SHIV repair time change7) Alternate base funding (All Countries Contribute)8 ) Squadsight aim penalty Once I finish up adding in DR and regen, the alien upgrade mod will be ready for release.I'm also working on making equippable modules for SHIVs As you can see, there's just too many to mess with building an installer for each one. Anyone have any thoughts? ----------------------------------------------------------------- P.S. If you didn't catch the post in "Finding the First Step" (http://forums.nexusmods.com/index.php?/topic/802574-finding-the-first-step/page-21&do=findComment&comment=7871085) It is possible to hex-edit the executable to no longer make checksum checks for the upk files. There is a table in the executable containing the file names to perform checksums on. Any filename in the last that isn't found is just skipped, so changing "xcomgame.upk" (found via a string search) to something like"ccomgame.upk" means that the executable no longer performs the test on xcomgame.upk at startup. I've been using this for the last few days to make hex changes and then immediately run the game without running XSHAPE or ToolBoks. It's a great thing. Edited April 25, 2013 by Amineri Link to comment Share on other sites More sharing options...
Yzaxtol Posted April 25, 2013 Share Posted April 25, 2013 Well, depending on the stability of each mod I'd love to integrate most if not all of them into Merciless, even give you Major partner-like credit because it's alot of work that I could never manage to do. What's the current state, bug-wise for each of the modlets? Link to comment Share on other sites More sharing options...
Amineri Posted April 25, 2013 Author Share Posted April 25, 2013 (edited) As far as I'm aware, the first 8 mods are working and bug-free: 1) Fix bug that prevents equipment loss if squad all dies2) Fix bug that prevents interceptor weapon loss if interceptor is shot down3) SHIV weapon loadout4) SHIV damage reduction5) Explosions destroy corpses6) SHIV repair time change7) Alternate base funding (All Countries Contribute)8 ) Squadsight aim penalty The only issue I've seen is with mod#1.JL reported that a critically wounded soldier outside the dropzone, on a mission abort, had his item returned to base (and not destroyed). It doesn't crash the game, and I haven't been able to reproduce it. It may even be an issue with the original code. So far only the squadsight aim penalty mod has a wiki page. I do plan on going back and creating new wiki pages for each of the modlets that I've made, to make it easier for people to incorporate them (also to further mutate them or pick them up if I happen to disappear >.>' ). Also, if a new patch comes out, some of the mods will likely take longer to update than others (if I personally have to do every single one !). So putting up this information is also a little bit selfish -- that way hopefully I won't have to do all of the work ^_^ -------------------------------------------------------------------------------- I have no problems with people incorporating the modlets into larger releasable mods. (Many of these are in the current beta version of Long War). Please feel free to incorporate them. My original question was thinking of those players that might want to play the vanilla game, but with just one or two changes (like the squadsight aim penalty, or the bug fixes) as opposed to a more comprehensive change. I guess there isn't a good release platform for these, yet, though. Edited April 25, 2013 by Amineri Link to comment Share on other sites More sharing options...
Zybertryx Posted June 9, 2013 Share Posted June 9, 2013 (edited) My original question was thinking of those players that might want to play the vanilla game, but with just one or two changes (like the squadsight aim penalty, or the bug fixes) as opposed to a more comprehensive change. I guess there isn't a good release platform for these, yet, though. Sounds like this was written for me! I've been playing an awful lot of both Merciless and Long War since I completed the Vanilla game on a DGC modded Classic and I'm blown away how enriched you guys have made the tactical side - it's amazing -I can't go back to Vanilla after that, but I'm a bit lackluster on the geoscape side (regarding both mods mentioned). Vanilla feels (and is really) far too 'on rails' as far as the geoscape side is concerned but for me personally the approach you've taken in the face of that has thrown the baby out with the bath water. Basically, among many other things, I want to retain Vanilla's satellite focused funding system rebalance it around Marathon mode but increase the rate of abductions and UFO's - though only modestly while upping the difficulty considerably. In my humble opinion, this is the best place to feature your modlets in a 'To enable/make happen/change this, open up this file, with this program, find this, and replace it with this' fashion. Much like the notes in the Warspace Source download. Very consise and aimed at the end user. This place is a Mecca for hopelessly addicted binge gamers like myself but it's not at all easy to find what you're looking for. Partly because it's all over the place and buried within other topics and partly because what is gleanable to the keen noob is obselete due to patching or something else. The wiki which I believe you directly contribute to is a fine resource for people with some background in code but again it's completely alien to the hungry noob. I'm dying to get more information about how I can implement the features I most enjoy from the truly great overhaul mods into 'my own' Vanilla base as some of the key features of said mods just don't do it for me. If I were you though I'd definately bundle them into a txt file - or a series of txt files and upload it/them both here and to the Nexus proper. I can think of no reason to not do this. I'd love to splice key advances in both Long War and Merciless into a largely vanilla style geospace game. Most explicitly, however, Could you lay out how I can implement the Damage Reduction, Regeneration and Timed Buffs based on hijacking the easy and normal settings in the DGC.ini into a Vanilla installation? Words cannot express how cool this is. I've been tweaking the hell out of the DGC with this enabled - I love what you've done with Outsiders! I was doing the same thing with Vanilla, but a simple 10 HP is nothing compared to damage soak and regeneration. When I encountered two Outsiders on the first medium UFO I downed I was awed. It was really tense, reminded me of my first play through all over again. Also, I have to mention it because my own attempts have been utterly futile - the damage roulette style variable damage rate of Long War is fantastic. I would also love to get the hex edit for that, both the application of it to explosives but as much so the weighting of the damage dealt. A four (4) damage Assault Rifle on Long War typically does between 4 and 6 damage before criticals - not 3 and 4 like Vanilla (with SW Damage Roulette enabled). I thought I'd found it here earlier but it appears that the code you've used in Long War differs from a 'Randomised Explosives' hex line I pilfered from a recent thread which, although mimicks its behaviour (ie: it applies to explosives and all other weapons without enabling SW DR), results in 4 damage weaponry doing an awful lot of 3's. Long War's heavy damage bias is very cool. I have plently of other requests but if you could please include the hex changes for the ones I mentioned above with the 8 you're happy to release (or better still, here in response :biggrin: ) I'd be stoked. Sorry for the wall of text here, I'm just really keen, clueless and consumed with exactly what it is you're offering: Mod Modularity. Yes please. Edited June 9, 2013 by Zybertryx Link to comment Share on other sites More sharing options...
Yzaxtol Posted June 9, 2013 Share Posted June 9, 2013 (edited) Well Toolboks is becoming more advanced to handle many of Amineri's new modlets so I'd message Amineri for the wiki-links to all the modlets, grab myself Toolboks and get cracking. Unfortunately my entire tactical difficulty modifier in the DGC is re-programmed for Damage Reduction and Regeneration, aswell as improving aliens over time. If that UPK change isn't in, then my entire DGC would be ridicoulous with easy and normal being obscenely hard and classic becoming super easy. a lot of the changes we've made unfortunately are organic and require the previous changes to balance them out. I have honestly forgotten most of the stats of Vanilla aliens and had to re-install XCOM just to find out what they used to be like so to balance my next change with knowing the previous system. It also doesn't help that we have so many different files to mod for each change. 2 different localisation files for names and descriptions, 3 UPK files for new code, the DGC for most balancing tweaks. And about 100 different changes in each file that someone like myself always forget to document. (Except the UPK file changes as they're super important to remember especially when the game gets patched) Edited June 9, 2013 by Yzaxtol Link to comment Share on other sites More sharing options...
Amineri Posted June 9, 2013 Author Share Posted June 9, 2013 My original question was thinking of those players that might want to play the vanilla game, but with just one or two changes (like the squadsight aim penalty, or the bug fixes) as opposed to a more comprehensive change. I guess there isn't a good release platform for these, yet, though. Sounds like this was written for me! <snip> I have plently of other requests but if you could please include the hex changes for the ones I mentioned above with the 8 you're happy to release (or better still, here in response :biggrin: ) I'd be stoked. Sorry for the wall of text here, I'm just really keen, clueless and consumed with exactly what it is you're offering: Mod Modularity. Yes please. Don't worry, I've written plenty of much longer posts :P So far the only two mods I've released through the Nexus site are the Perk Tree and some of the bug fixes. My concern is less with the packaging and releasing of the mods as it is with the supporting of the modlets. One of the big advantages (for me personally) in having the modlets get integrated into a larger mod is that I don't have to deal with supporting it or dealing with angry people if the mod has some sort of bug ~_~. I do my modding for fun, and want to keep doing it for fun, and ... well ... that part isn't so fun for me. Just look at the recent ammo mod and the number of bugs / glitches surrounding the successive iterations trying to get a stable build :smile: If it sounds weird that I'm loathe to provide support, keep in mind that I have made over 20 individual modlets that affect different aspects of gameplay, and am continuing to create more. As the number of modlets grows, I could spend increasing time just supporting the mods for the general user base, and that's really not something that appeals to me. I'm more than happy if someone else were to take some of the modlets I've created make them available to a wider audience if that person were to provide the primary support for users of the modlet. --------------- Regarding your particular modlet request ... I have been known to paste full ToolBoks-compatible Custom Mod text chunks onto the wiki, and will likely do that more in the future. In fact, I had done so for the latest version of the alien upgrades mod. Link is here: http://wiki.tesnexus.com/index.php/Alien_Upgrades_Mod_ToolBoks_CM_-_XCOM:EU_2012 This breaks the Easy, Normal, and Classic difficulty setting to provide two upgrade points per alien as well as starting/upgrade Regeneration and Damage Reduction configurable per alien. --------------- Over in the difficulty thread you'll see that I'm thinking of re-working this mod to allow arbitrary numbers of upgrade points per alien type, with each alien type having a potentially different number. --------------- On the subject of damage randomization, I've been tossing around an idea to completely rework the system so that the randomization grows with higher damage weapons, and that the randomizer is based on a normally distributed (bell-curve) random variable instead of a uniformly distributed one. Still in the planning stages, as I need to work out how it would be configured for each weapon. Link to comment Share on other sites More sharing options...
Yzaxtol Posted June 9, 2013 Share Posted June 9, 2013 I work in Tech Support so, yeh alot of this modding feels like my Day Job :D Link to comment Share on other sites More sharing options...
Amineri Posted June 9, 2013 Author Share Posted June 9, 2013 To make it easier for others to track down mods I've put "out into the wild" via the wiki or the forum, I've made a list on the wiki of the mods I've created. In most cases there is a link to the forum article with the hex changes. The cases with a wiki article also link to that, in addition to the forum post. Link: http://wiki.tesnexus.com/index.php/List_of_amineris_mods There are ... a few <_< Link to comment Share on other sites More sharing options...
dubiousintent Posted June 10, 2013 Share Posted June 10, 2013 @Zybertryx: We all wish it was easier to mod this game. Perhaps part of your frustration is that there are really three levels of modding going on that all appear to be done the same way. But if you don't understand the differences in which sort of mod you need, then it all appears to be an insane bunch of hex code changes of terrifying complexity. Here is a stab at clarifying the approaches.The first modification most people try is to change a simple "configuration setting". These are performed in the 'DefaultGameCore.INI' file (DGC.INI for short), which is found in the '<Install path>\XComGame\Config' folder. It took awhile to understand that only certain changes to this file got used. These all affected the 'Difficulty' settings, what are internally called 'Balance Mode' setting for 'Easy' (Tutorial), 'Normal', 'Hard' (Classic), and 'Classic' (Impossible) modes of difficulty. They appear in various locations within the DGC.INI with names like 'BalanceMod_Easy_<something>' for specific elements like particular aliens or abilities or item costs/requirements. For awhile it appeared this limited number of setting were all we could tweak, but then we discovered that by changing the name of some files within the XComGame.EXE file that were prevented from loading, we could get it to read in and use all the settings of the DGC.INI. Apparently only 3 files (DGC.INI, DefaultMPGame.ini, and DefaultLoadouts.ini) are checked and blocked. What we are waiting on at the moment is for someone to provide a simple method to make those embedded file name changes without forcing the non-coder mod-user to perform "scary hex-edit surgery" on the game EXE. (Most of us are hoping Bokauk will implement it in her next release of ToolBoks, but she hasn't committed to that as yet.) A number of the earlier tools (Modpatcher, Custom Mod Builder and Manager, XCOM INI Patcher, etc.) were devoted to changing such text settings within the EXE.At this same level of modification (the simplest) is performing single byte-code changes to the game EXE, like changing the first character of an embedded file name to disable hash checking or enable the DGC.INI file to load. There are some other similar changes that can be made, but they all require you to use a hex editor and be able to locate the correct section of code that needs to be changed. This is the point most "non-coders" give up because they are not comfortable with the idea of 'code surgery'. It is the point at which we all would like to have tools to make this process simpler by automating it, and which ToolBoks has made many such single byte 'tweaks' into 'toggles' or 'option pick' check-boxes. But if you are willing to read up on how to make hex changes, then many additional similar modifications become possible immediately.The next level of mod replaces sequences of hex code, or 'byte-code blocks'. Any of the lengthier mods that change how the game functions or displays require such changes. Often many changes to many different sections of code are required. Such changes are what you see packaged for/with a 'Mod Installer' as 'Mods' on the Nexus XCOM site. Sometimes such mods are released without an Installer but presented as blocks of 'Find' and 'Replace' sections of byte-code, to be installed by a specific tool such as 'Custom Mods' for ToolBoks. Versions of ToolBoks from v1.20 onwards have replaced the 'Find' block with an 'offset' location value and can now be packaged to install many byte-code blocks to different locations in sequence. Earlier 'Find' and 'Replace' versions can be repackaged if the offset location can be determined. A remaining problem is that such offsets must be redetermined after every patch, which is why it is important that mod authors note to which patch their mod is applicable and users read the documentation.The final level of mod 'refactors' existing code to a different purpose. This is the most sophisticated form of modding currently being attempted, and definitely requires a thorough understanding to not only coding procedure but also the Unreal Script language. In this type of mode, existing code that is deemed not essential (such as debugging code or that used only by the Tutorial/Easy mode of the game) is reworked to perform a different purpose, but must fit within the existing size of the previous code block. At this time it is not possible to extend the size of the game EXE file, or expand any of the embedded code segments, so refactoring is a major challenge in not merely re-purposing but also fitting the new code within a limited number of bytes, and then getting it to compile as well as function correctly. Implementation is usually the same as for other blocks of 'byte-codes', as 'Custom Mods'.If this is helpful I plan to incorporate it into the Overview of the 'Modding XCOM:EU 2012' Wiki article, so please let me know what you think of it. Feel free to suggest any improvements. Any specific suggestions to make the Wiki more helpful to others at your level of expertise are also welcome. One of our biggest problems is that most of the contributors are too experienced to recall all the non-obvious (except to us) things that need explaining. -Dubious- Link to comment Share on other sites More sharing options...
Recommended Posts