Jump to content

projectmercy

Members
  • Posts

    29
  • Joined

  • Last visited

Everything posted by projectmercy

  1. While not exactly the same, LW has pitch shortcuts in it now. the F-keys set the pitch. I forget if it starts at F1 or not, but I usually find I'm using F7 for an isometric view.
  2. Thanks for looking into it Tracktwo. I'm not super interested in trying to decompile it at this point, as I have other options (just reverse engineering it via logs in the UE script). If someone had actually dumped them previously I wouldn't mind leveraging their work; but I'm far too lazy to do it myself. If I run into a place I can't do that though, it's nice to have this info to get me going. Thanks, PM
  3. Has anyone decompiled any of the native libs for the game? I'm trying to find some visibility into UXGAbility_Targeted::execCalcHitChance(), UXGAbility_Targeted::execCalcCriticalChance() and the perk array functions that go with it. While I can just throw numbers at the outgoing result, it would be a more tedious trial and error method to do it. I know Long War has fixed a few issues by just adjusting the values on the way in/out of those functions, so it made me wonder if anyone had already done the heavy lifting. Thanks for any info, PM
  4. Yeah, I second that. I hadn't thought about it. Clearly I'm too far away from my GOTO days. Thanks for the tip.
  5. The webpage is cool and all, but I would expect the documentation to be in the txt's included with UPK tools. I'm not even sure there's a link to the web page in that doco. Thank you for the answers. I know I can replace the whole function, it's just that it makes the mod a lot less friendly with other mods, so it would be nice if I could change small chunks instead of the whole thing. Thank you again. PM.
  6. Question, I noticed PatcherGUI has a ".pgui" extension in it's file filter; but it doesn't seem to actually work if your patch has that extension. I can run them fine with .txt, but renaming them to .pgui causes a "Patch Error" dialog to pop up.
  7. I realize I could totally test this and find out on my own, but I'm a lazy lazy man :( If using BEFORE/AFTER _ CODE do jump offsets get updated in the rest of the function not in the code you're updating? Example, let's say the original function was bAwesome = true; if (bAwesome) { iGift = cPony; } else { iGift = cLumpOfCoal; } return iGift; And let's say the patch file modified the iGift = cPony line and changed it to 10 lines of various crap. Would the jumps for the rest of the function stay sane, or would you need to basically modify everything from that IF statement down? Thanks, PM
  8. http://wiki.tesnexus.com/index.php/Modding_Tools_-_XCOM:EU_2012 http://wiki.tesnexus.com/index.php/Hex_editing_UPK_files http://wiki.tesnexus.com/index.php/Hex_values_XCOM_Modding http://wiki.tesnexus.com/index.php/How_to_build_class.object_references_-_XCOM:EU_2012 Doing this would definitely not be beginner. You're basically adding a new ability to every new character.
  9. Thanks, I'll check it out. Last time I looked there wasn't a makefile for the main project. Is that still true?
  10. I've been using <%t " right now. I could switch to without a space, but I find it makes it harder to read. I noticed in most of your mods though, you weren't using the space. I guess old habits die hard for me :) I'm sure you could put in more complex checks on 'if <%t existed right before the ">, then assume it's not an end token' or something, but it starts to get down to the question of 'is it really worth your time.' I guess I'm thinking no. It looks like there's going to be a caveat no matter what you do. I vote you do whatever seems best/easiest and just document it. Consistency of design is golden.
  11. I think that would work well, combined with a note in the documentation about the limitation. If anyone needed to start a string with a > they could just put a space at the head.
  12. Nice, I learned two things in one post. Excellent. I'll await the escape characters with bated breath then.
  13. So, using text psuedo code is problematic. In the documentation: <%t "text"> <%t "text with spaces "and inner quotes""> It seems that the result is, the second > character ends the text section. So you can't have the value <%t "Where number > 5"> because it will assume the 5"> is another token. I assume this is a result of attempting to allow quotes in there and not escaping the quotes, but I think it would be easier if you required escaping the quotes. Either that, or there would ideally be a way to escape the greater than. For now I'm just switching to splitting the text section into multiple parts with the > hex in between.
  14. I ran across this while looking for info on how to log myself: http://forums.nexusmods.com/index.php?/topic/1466527-debugging-script-changes-via-launchlog/?hl=%2Berror+%2Blog Any chance there's something in there indicative of the issue?
  15. It does (Or at least UE Editor computes it that way). I checked all the examples in XComGame, and it changes based on the string const length. I think the important part of her post was strenghtening my theory that it only matters as regards a function call that results in a return. Maybe it has to do with stack allocation or something? No idea.
  16. I agree, it would be nice. I skimmed the code, and while I believe it's possible, it would be a lot of work. If I'm reading it correctly, basically all the non-english voices are based on the Localized version for each of the appropriate languages.(Aka, the Polish voices are only there because there's a Polish version of the game) So I guess you could expand the En_US voice selection to just add in additional male/female voices for the missing countries/accents, if you wanted the options switch for using the appropriate language/nationality, you would have to actually recreate localizations for each of the nationalities you wanted to add in. But, just adding in a British and Aussie accent to the English would be a huge bonus really. I don't mind the fact the African nationalities speak English so much, but the fact they sound like they're from Ohio kills me. You could unlock Zhang and Durand's voice pretty easily though if you wanted. Though I rarely use Durand because her voice makes me want to punch things.
  17. Well, if anyone cares, here's how I'm using my logging. Example mod that removes the max stat bonus from RollStat and logs the result: Output looks like this: The one oddity, if you pick apart the code, would be in the ALIAS, you'll see at the end "FF 00 <NullRef>" the FF 00 is the virtual size of the DevOnlineMsg call (I believe, given Amineri's doco on it) but since I'm using string constants for this, the virtual size is based on the string length, which would mean you would think you have to separate the alias out into multiple parts and compute the virtual size on every log call. Oddly enough though, it doesn't appear to actually effect anything irrespective of whats in there. So I just set it to 0xFF. I haven't run into any issues with that so far. Since I'm not using it in a release mod, I'm not super concerned about it.
  18. If the tool you're using to update the tables just pre-scanned for that entry, couldn't you just abort the insert and assume it was covered if the contents were the same? Especially for the name table. For the import/export table, I guess it would depend on if the signatures were equivalent.
  19. Thanks, that was all I needed. I just had to add it to the Names table. UnlockAchievement also doesn't have anything in the import table, just the names table. I imagine this is something to do with the fact that it doesn't contain any return types, and that the class itself is in the import table. Adding it to the names table: Values now in launch.log If an uninstall is performed on a mod that includes these items, does it roll back everything but the Tables changes?
  20. OK,I have another question, as regards exported classes and their functions. I was picking about trying to figure out if there was a way I could add things to the launch.log file for logging purposes from XComStrategyGame. I noticed that in XComGame there was XComOnlineEventMgr.DevOnlineMsg which took a string and dumped it to the log file. Also in there is XComOnlineEventMgr.UnlockAchievement. I can access UnlockAchievement from an XComStrategyGame function, via: But if I change it to something else (I haven't tried everything, but a few easy ones) , here's the log example: I basically get an error in UPKUtils where it can't find the entry. Suggestions? And/or Does anyone know a dead function in XComGame that accepts a string and is exported to XComStrategyGame? :wink:
  21. Please do with it whatever you feel would make it more useful. You're welcome to swap attribution to yourself also. If anyone cares, I will be releasing a set of mods soon called "Soldier Bootcamp", amongst other things; it will include two mods, one for making the Custom/DLC characters with stats per Not Created Equally (another of the mods overloads what that means) and a second that will hardcode their movement so they're totally stagnant. I hadn't thought about adding in a class randomizer, but honestly I think that might also be cool, so maybe I'll have a 3rd option for that.
  22. Here's a mod you can use to change Zhang's primary stats. Just save this off into a TXT file and open it up with UPKUtils/PatcherGUI. I haven't played LW, so I'm not sure if this is changed there or not. Search for the *** in the "AFTER_CODE" section. You can edit his class, rank, aim, will, hp.
  23. Np, thank you for your reply. I don't mind doing it, I just figured if there was a better way I'd do that. I opted for just recoding the whole function in psuedo-code. It's not that bad once you get used to it, just takes a bit of time. I was more thinking about mod collisions in the future. If my mod recodes the whole function, then you get into race conditions on stacking mods, but I guess when you're working on a game that wasn't designed to be modded, you have to make do!
  24. Is there a way to modify chunks of code within a function in such a way as the jump offsets after your change are updated for you? I was attempting to edit XGStrategySoldier.LevelUp(). It has a single call on class select to PickAClass(), I wanted to instead put the logic on class selection inside this function, as it contains context on that soldier's capabilities. If I just try to use "BEFORE_CODE" and "AFTER_CODE" selecting the PickAClass() line, the offsets that exist after my change are not updated. Test mod: The beginning of that function in UE Explorer without changes looks like: After the change it looks like:
  25. I apologize, but I haven't been able to get FIND_CODE to work for me. Here's an example. The change hard-codes the movement on the DLC Characters to 12. PatcherGUI logs out: As near as I can tell, the FIND_CODE section is a duplicate of what's in the file, just comparing the binary dump from UE Explorer; but it doesn't seem to find it. Note, in this example I manually scoped every variable instead of using the @ or . shortcuts. It didn't help any.
×
×
  • Create New...