wghost81 Posted November 7, 2013 Share Posted November 7, 2013 Thanks! Yes, significant changes are to be expected for EW. But since the idea of 3-aliens pod is still present, I hope core aliens placing code won't change. At least not to much. EXALT missions might be a pain, but good old abductions and UFO raids may require minimal adjustments for old modded code to work. Link to comment Share on other sites More sharing options...
Amineri Posted November 7, 2013 Author Share Posted November 7, 2013 So I started twiddling with a little bit of hex code prior to EW getting released. The goal of these hex changes is to make upgraded alien more distinctive in appearance. I've managed to scale the entire mesh of an alien (and all of it's carried gear) by any % amount desired. Here is an example of super-sized Sectoids (each dimension was doubled, so twice as tall, twice as wide, etc): As you can see it's pretty huge (I made it so huge just to be able to be sure visually that it was being applied). This required only a couple of small hex changes to effect.1) I created a helper function out of XComUnitPawn.DebugVis: savedX = 1.0 + 0.25 * float(GetGameUnit().GetSmokeGrenadeCharges()); // or other level indicator for unit foreach super(Actor).ComponentList(class'MeshComponent', MeshComp) { MeshComp.SetScale(savedX); } return; I'm based this initial test on the variable used for setting pod leaders in LW 2.0 (the smoke grenade counter). For testing purposes I set the base scaling factor to 2.0 instead of 1.0. Here is the hex change for DebugVis (these changes are equally valid for vanilla code): original hex: header: C8 37 00 00 50 55 00 00 00 00 00 00 B8 37 00 00 00 00 00 00 00 00 00 00 BE 37 00 00 00 00 00 00 B3 09 00 00 A9 1F 01 00 C3 05 00 00 D3 03 00 00 body: 07 C0 05 19 00 BD 37 00 00 0A 00 F7 42 00 00 00 2D 01 F7 42 00 00 0F 00 BC 37 00 00 19 00 BE 37 00 00 22 00 D4 F8 FF FF 00 1C 13 FC FF FF D7 01 DE F8 FF FF 23 00 00 00 00 00 00 00 00 00 00 80 42 16 16 19 00 BE 37 00 00 11 00 00 00 00 00 00 1C 12 FC FF FF 24 FF 24 FF 24 FF 4A 16 19 00 BE 37 00 00 4A 00 00 00 00 00 00 1C 11 FC FF FF 35 1C FD FF FF 5B F9 FF FF 00 00 00 BC 37 00 00 B8 35 1B FD FF FF 5B F9 FF FF 00 01 00 BC 37 00 00 1E 00 00 70 41 16 4A 16 19 00 BE 37 00 00 26 00 00 00 00 00 00 1C 15 FC FF FF 38 57 19 17 09 00 04 FA FF FF 00 01 04 FA FF FF 4A 4A 4A 4A 16 19 00 BE 37 00 00 4A 00 00 00 00 00 00 1C 11 FC FF FF 35 1C FD FF FF 5B F9 FF FF 00 00 00 BC 37 00 00 B8 35 1B FD FF FF 5B F9 FF FF 00 01 00 BC 37 00 00 1E 00 00 70 41 16 4A 16 19 00 BE 37 00 00 26 00 00 00 00 00 00 1C 15 FC FF FF A8 1F 4C 6F 63 61 74 69 6F 6E 3A 00 38 58 01 DE F8 FF FF 16 4A 4A 4A 4A 16 19 00 BE 37 00 00 4A 00 00 00 00 00 00 1C 11 FC FF FF 35 1C FD FF FF 5B F9 FF FF 00 00 00 BC 37 00 00 B8 35 1B FD FF FF 5B F9 FF FF 00 01 00 BC 37 00 00 1E 00 00 70 41 16 4A 16 19 00 BE 37 00 00 48 00 00 00 00 00 00 1C 15 FC FF FF A8 1F 42 75 69 6C 64 69 6E 67 3A 00 38 56 19 19 17 09 00 77 2D 00 00 00 01 77 2D 00 00 09 00 B9 65 00 00 00 01 B9 65 00 00 16 4A 4A 4A 4A 16 0F 00 B9 37 00 00 35 1C FD FF FF 5B F9 FF FF 00 00 00 BC 37 00 00 19 00 BE 37 00 00 4A 00 00 00 00 00 00 1C 11 FC FF FF 35 1C FD FF FF 5B F9 FF FF 00 00 00 BC 37 00 00 B8 35 1B FD FF FF 5B F9 FF FF 00 01 00 BC 37 00 00 1E 00 00 70 41 16 4A 16 19 00 BE 37 00 00 1F 00 00 00 00 00 00 1C 15 FC FF FF 1F 46 6C 6F 6F 72 20 56 6F 6C 75 6D 65 73 3A 20 00 4A 4A 4A 4A 16 0F 00 BA 37 00 00 25 07 42 04 96 00 BA 37 00 00 36 19 19 17 09 00 77 2D 00 00 00 01 77 2D 00 00 09 00 BA 65 00 00 00 01 BA 65 00 00 16 0F 00 BB 37 00 00 10 00 BA 37 00 00 19 19 17 09 00 77 2D 00 00 00 01 77 2D 00 00 09 00 BA 65 00 00 00 01 BA 65 00 00 19 00 BE 37 00 00 36 00 00 00 00 00 00 1C 11 FC FF FF B8 00 B9 37 00 00 38 3F 2C 64 16 35 1B FD FF FF 5B F9 FF FF 00 00 00 BC 37 00 00 4A 16 19 00 BE 37 00 00 1E 00 00 00 00 00 00 1C 15 FC FF FF A8 1F 20 00 38 56 00 BB 37 00 00 16 4A 4A 4A 4A 16 A5 00 BA 37 00 00 16 06 3D 03 19 00 BE 37 00 00 4A 00 00 00 00 00 00 1C 11 FC FF FF 35 1C FD FF FF 5B F9 FF FF 00 00 00 BC 37 00 00 B8 35 1B FD FF FF 5B F9 FF FF 00 01 00 BC 37 00 00 1E 00 00 70 41 16 4A 16 19 00 BE 37 00 00 4E 00 00 00 00 00 00 1C 15 FC FF FF A8 1F 43 75 72 72 65 6E 74 20 46 6C 6F 6F 72 3A 00 38 53 19 19 17 09 00 77 2D 00 00 00 01 77 2D 00 00 0A 00 E6 65 00 00 00 1B E5 31 00 00 00 00 00 00 16 16 4A 4A 4A 4A 16 19 00 BE 37 00 00 4A 00 00 00 00 00 00 1C 11 FC FF FF 35 1C FD FF FF 5B F9 FF FF 00 00 00 BC 37 00 00 B8 35 1B FD FF FF 5B F9 FF FF 00 01 00 BC 37 00 00 1E 00 00 70 41 16 4A 16 19 00 BE 37 00 00 48 00 00 00 00 00 00 1C 15 FC FF FF A8 1F 49 6E 73 69 64 65 3F 20 00 38 54 19 19 17 09 00 77 2D 00 00 00 01 77 2D 00 00 0A 00 E0 65 00 00 00 1B AD 3D 00 00 00 00 00 00 16 16 4A 4A 4A 4A 16 04 0B 53 new hex: header: C8 37 00 00 50 55 00 00 00 00 00 00 B8 37 00 00 00 00 00 00 00 00 00 00 BE 37 00 00 00 00 00 00 B3 09 00 00 A9 1F 01 00 F3 03 00 00 D3 03 00 00 body: 0F 00 B9 37 00 00 AE 1E 00 00 80 3F AB 1E 00 00 80 3E 38 3F 19 1B 84 32 00 00 00 00 00 00 16 0A 00 78 33 00 00 00 1B AA 34 00 00 00 00 00 00 16 16 16 2F 1C 7B FC FF FF 20 1A FE FF FF 00 2E 37 00 00 16 82 00 19 00 2E 37 00 00 0F 00 00 00 00 00 00 1B B2 62 00 00 00 00 00 00 00 B9 37 00 00 16 31 30 04 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 53 2) To invoke the code requires adding a fairly straightforward call in XGUnit.DebugAnims (renamed in LW 2.0 to #AlUpgrade): GetPawn().DebugVis(none, none); The following hex changes add this call (this hex is only valid for LW 2.12beta versions) : tag to the end of the existing code: before: 0F 1A 24 05 01 0D 31 00 00 00 8E B5 00 00 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B after: 0F 1A 24 05 01 0D 31 00 00 00 8E B5 00 00 19 1B EA 33 00 00 00 00 00 00 16 14 00 00 00 00 00 00 1B F3 14 00 00 00 00 00 00 2A 2A 16 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B increase header memory size: after: B3 B5 00 00 50 55 00 00 00 00 00 00 93 B5 00 00 00 00 00 00 00 00 00 00 9E B5 00 00 00 00 00 00 FE 23 00 00 84 8D 04 00 86 0C 00 00 02 0A 00 00 to: B3 B5 00 00 50 55 00 00 00 00 00 00 93 B5 00 00 00 00 00 00 00 00 00 00 9E B5 00 00 00 00 00 00 FE 23 00 00 84 8D 04 00 8A 0C 00 00 02 0A 00 00 There is another primitive function SetScale3D that scales using a vector, which presumably would allow making much taller skinny sectoids (although the wrist pistol might end up a bit funny). These should be able to be applied as-is to any LW 2.12 beta (not sure about earlier versions but probably is okay). It will make each level of leader 25% bigger than the default aliens (so up to 75% bigger for highest level leader). Link to comment Share on other sites More sharing options...
johnnylump Posted November 8, 2013 Share Posted November 8, 2013 Interesting; did the animations and interactions with the environment work OK? Like, did the plasma burst come from the gun's changed position? Link to comment Share on other sites More sharing options...
Amineri Posted November 8, 2013 Author Share Posted November 8, 2013 Everything worked surprisingly well. Plasma shots came from the guns, the MindMerge animation came from the head and was scaled appropriately. Even the shadows were scaled up. The main issue I saw was a bit more clipping of the aliens with environmental objects. This would likely be more pronounced with the aliens that start out large like Berserkers and Sectopods. I've been thinking about it a bit and I think I could probably scale up the guns independently of the rest of the alien body. I actually got the idea and some of the code from how the female soldier weapons are scaled to 75% of the size of male soldier weapons. Can't change the weapon mesh for an alien (excepting Mutons with LPR or Plasma Rifle), but the weapons could be scaled up a bit to represent increased damage. Link to comment Share on other sites More sharing options...
Amineri Posted November 8, 2013 Author Share Posted November 8, 2013 The weapon mesh would be retrieved with : PrimaryWeaponMeshComp = GetPrimaryWeaponMeshComponent(); This can then be scaled via : PrimaryWeaponMeshComp.SetScale(#.###);If SetScale3D is used instead of SetScale then the weapon can be further distorted, helping to provide the illusion of greater weapon choices for the aliens. ----------------- It might even be possible to use this same scaling trick to generate slightly altered version of human weapons. Link to comment Share on other sites More sharing options...
tsanford01 Posted November 15, 2013 Share Posted November 15, 2013 This may be a stupid question as i have not messed around with modding this game in sometime now but I got EW and started messing around with it again. My question is why can't i just edit the functions in XGstrategyAI.Determine.......Squad for each mission type to increase the number of aliens or am i missing the point of the thread? Link to comment Share on other sites More sharing options...
Amineri Posted November 15, 2013 Author Share Posted November 15, 2013 This may be a stupid question as i have not messed around with modding this game in sometime now but I got EW and started messing around with it again. My question is why can't i just edit the functions in XGstrategyAI.Determine.......Squad for each mission type to increase the number of aliens or am i missing the point of the thread? You certainly can edit those functions to increase the total number of aliens. However in vanilla (EW as well as EU) the maximum number of aliens per pod is 3. Also, in EU (but not yet checked for EW) maps have a maximum number of alien-pod spawn points. For EU abduction maps this varied from 4 to 6. So you could only every guarantee being able to place 4 alien pods on an abduction, with a maximum of 3 aliens per pod, resulting in a guaranteed max of 12 aliens on an abduction map. What this mod does is break the 3 alien/pod limit, allowing up to 8 or 9 aliens per pod. So that same abduction map with 4 pods could now be scaled up to 32-36 aliens. Probably overkill but allows the designer to set the limit instead of the code. ---------- For EW all of the maps were reworked, so the number of alien-pod spawn points for the maps needs to be re-checked. It's possible Firaxis might have standardized the abduction maps to a consistent number of spawns. Link to comment Share on other sites More sharing options...
tsanford01 Posted November 15, 2013 Share Posted November 15, 2013 Thank you for your response seems a reread is in order..keep up the great work! Link to comment Share on other sites More sharing options...
wghost81 Posted November 16, 2013 Share Posted November 16, 2013 Got a quick look at EW functions. Good news is: AltWeapon still used for Mutons only, so EU ideas will still work. Bad news: many code changes related to new EXALT units and many new places with 3 aliens per pod assumption. Link to comment Share on other sites More sharing options...
Beaglerush Posted November 23, 2013 Share Posted November 23, 2013 (edited) Re: your alien scaling Amineri, how small can you make them? You could make little weaker Chrysallids, podded with a queen Lid that spawns them for some nice swarming action :devil: Edited November 23, 2013 by Beaglerush Link to comment Share on other sites More sharing options...
Recommended Posts