When big maps with high details cross about 9750 + few lines in IsoMapPack5 section, game doesn't decode those and fills the bottom-left corner of the map with height level 0 clear tiles. Though the capacity needed to decode the IsoMapPack5 section in the map is not related to the resolution, game uses the low resolution values (640, 400) for it. This hack raises it to about 3 times the original value (to match 1024, 768).
Code:
[IsoMapPack5Limit]
Name=Map IsoMapPack5 section's limit extension.
Description=Extends the number of lines limit from 9750 + few lines to about 3 times of it.
Type=TS
Offset=0x7A0B6
Original=90 01
Modified=00 03
Offset=0x7A0BB
Original=80 02
Modified=00 04
Offset=0x7A0CA
Original=D0 07
Modified=00 18
Not aware of any YR maps crossing the limit, but if needed the 3 addresses are at 0xAD344, 0xAD349 and 0xAD358. QUICK_EDIT
I wasnt aware there was such a limit on the IsoMapPack section...
BTW, this patch will apply to all IsoMapPack sections, 1-5.
The values passed there are fed into the "surface buffer" for the game to read the binary (IsoMapPack) section. I would be careful how large you adjust this to as the LCW buffer has a limit on how much it can uncompress too. QUICK_EDIT
TS/RA2 uses IsoMapPack5, 1-4 are leftover from earlier games.
With the upper limit extended to about 29k lines, the buffer should now be based on the content size alone. Have tested about 11k lines and max expected is about 16k lines. QUICK_EDIT
using Cluster only, the warhead of the current weapon is duplicated in a random area around the center impact point
0x465D6 defines the outer radius in leptons (default is 0x0200)
0x465DB defines the inner radius in leptons (default is 0x0100)
example values
0x0100 is 256 leptons, which is 1 cell
0x0200 is 512, 2 cells
0x0300 is 768, 3 cells
0x0400 is 1024, 4 cells
changing at 0x465EA the 00 to 01, creates the Cluster warheads in the exact center of the cell.
Thanks CCHyper for the research and the offsets.
Cluster50.gif
Description:
the default behaviour, when giving a projectile Cluster=50
projectiles in TS with Bouncy=yes and using Elasticity have a hardcoded limit to explode on the 3rd hit on the ground.
Change at 0x45516 the 03 to a higher value to raise the max number of bounces.
The value is signed, so max is 0x7F which is 127 bounces.
attached an example using 0x64. Note that this doesn't show 100 bounces since at some point the Elasticity of 0.9 slowed it so much down, that it had to explode due to reaching Speed=0.
Thanks for YR*/RA2*_FastExit
A similar patch was already, but not for YR (Red Alert 2 User Patch 09.2002):
https://github.com/Evengard/xcc/tree/master/xcc/RA2 User Patch
"Skips splash screen.
Skips WS logo movie.
Skips "The display mode will be changed. If there is a problem with the new display mode then wait and the old mode will be restored." dialog.
Skips "Click OK to keep this display mode or wait and your old display settings will be restored." dialog.
Skips "Are you sure you want to exit Red Alert 2?" dialog."
I hope these patches appear for RA2:
YR Any resolutions in XWIS games
RA2*/YR Disable startup loading screen
YR Disable EA logo
YR Better LAN netcode + Lower FrameSendRate
RA2*/YR Graphics Patcher
YR Any resolutions
I could not check where they might be needed, but they are.
[YR_x64_patch]
Name=improves 64-Bit compatibility
Description=If you see typically standard Windows error at startup
Link=http://www.vk.cncguild.net
Type=YR
Group=
Offset=0x1CAFC0
Original=55 8B EC
Modified=33 C0 C3
[YR_4gb_patch]
Name=4GB Patch
Description=Enables to access memory addresses larger then 2GB and improves 64-Bit compatibility
Link=https://ntcore.com/?page_id=371
Type=YR
Group=
Offset=0x11E
Original=0F
Modified=2F
Offset=0x160
Original=AB 6E 4A
Modified=AD 7A 49
[RA2_4gb_patch]
Name=4GB Patch
Description=Enables to access memory addresses larger then 2GB and improves 64-Bit compatibility
Link=https://ntcore.com/?page_id=371
Type=RA2
Group=
Offset=0x11E
Original=0F
Modified=2F
Offset=0x160
Original=E8 74
Modified=1A F6 QUICK_EDIT
[RA2_QM_Res_Patch]
Name=QM Resolution Patch
Description=This allows you to use any resolution while playing an QM game
Type=RA2
Group=Graphics
Offset=0x3457CC
Original=0F 8E C3
Modified=E9 C4 00
Offset=0x359E87
Original=0F 8E C0
Modified=E9 C1 00 QUICK_EDIT
[RA2_User_patch]
Name=Skips "The display mode will be changed." dialog.
Description=Skips "The display mode will be changed. If there is a problem with the new display mode then wait and the old mode will be restored." dialog.
Link=https://github.com/Evengard/xcc/tree/master/xcc/RA2%20User%20Patch
Type=RA2
Group=
Offset=0x142715
Original=FF FF FF FF
Modified=01 00 00 00
[RA2_User_patch]
Name=Skips "display settings will be restored." dialog.
Description=Skips "Click OK to keep this display mode or wait and your old display settings will be restored." dialog.
Link=https://github.com/Evengard/xcc/tree/master/xcc/RA2%20User%20Patch
Type=RA2
Group=
Offset=0x143A89
Original=FF FF FF FF
Modified=01 00 00 00
[RA2_User_patch]
Name=Skips exit dialog.
Description=Skips "Are you sure you want to exit Red Alert 2?" dialog.
Link=https://github.com/Evengard/xcc/tree/master/xcc/RA2%20User%20Patch
Type=RA2
Group=
Offset=0x1B46BE
Original=FF FF FF FF
Modified=00 00 00 00
[RA2_User_patch]
Name=Skips WS logo movie
Description=Skips WS logo movie.
Link=https://github.com/Evengard/xcc/tree/master/xcc/RA2%20User%20Patch
Type=RA2
Group=
Offset=0x3DB604
Original=57
Modified=00
the speed for all subterranean traveling units is hardcoded
the address to change this is at 0x2D8A98
the default value is
00 00 00 00 00 00 33 40
which is a double value for 19.0
Warning: when using values above 50.0, the subterran unit can get stuck when reaching the target.
At 2D8A90 you can find the double that is used for the pitch speed.
Default value is
00 00 00 00 00 00 50 40
which is a double for 64.0
When a unit digs, it rotates forward from the horizontal normal ground position to the 90° vertical downwards position before it starts going underground.
This value defines the speed at which the unit rotates forward. The higher the value, the slower it rotates and the longer it takes before it starts going underground.
TunnelSpeed in rules.ini also affects this value and works like a multiplier. However it does not affect the speed when the unit emerges vertical up and starts rotating into the horizontal position.
2D8AA0 may also be related to digging, but I couldn't notice any difference when i set a very low and very high value.
Good find. The same double value at 0x2D8A90 (default 64.0) is accessed for both going down at 0x24C1A1 (90 8A 6D 00) and coming up at 0x24C8CD (90 8A 6D 00). Should be able to nullify the effect of TunnelSpeed on going down turning speed by changing instruction at 0x24C1A5 from DC 71 18 to 90 90 90. QUICK_EDIT
Any chance to change the coming up at 0x24C8CD to a different value?
It would be nice to give the digging down a different (much longer) delay than coming up.
Maybe 0x24C8CD could point to 0x2D8AA0 instead, who showed no effect when i changed it. (The address value would have to be E0 8A 2D 00 right?) _________________ SHP Artist of Twisted Insurrection: Nod buildings
Should already be possible by using like TunnelSpeed=0.3 as it affects only the going down turn speed.
Value at 0x2D8AA0 is 32.0 which is smaller than default 64.0. When replacing bytes add 400000 to the EXE address and use as 006D8AA0 (A0 8A 6D 00). Could use double values already used in the code like 006CC6D8 has 160.0 etc. for replacement. If patch is made, can put any needed value.
Edit: Didn't check for the replacement examples for float/double, so corrected. Last edited by E1 Elite on Mon Feb 10, 2020 3:30 pm; edited 1 time in total QUICK_EDIT
For DTA we need a high TunnelSpeed (about 50 to 100), so it doesn't take ages for the unit to actually move downwards (from ground level to subterran level should be instantly). But we still need the delay caused by the unit rotating 90° down. A high value for 2D8A90 would do this, but it would also mean a long delay when emerging.
Thus the need for a very slow pitching down and a separate very fast pitching up.
0x2D8AA0 is good, because a small value means a fast pitching speed, which we need for digging up.
E1 Elite wrote:
Value at 0x2D8AA0 is 32.0 which is smaller than default 64.0. When replacing bytes add 400000 to the EXE address and use as 006D8AA0 (A0 8A 6D 00).
yeah, that's why in my example for using
0x2D8AA0
i would have to use the address
E0 8A 2D 00 _________________ SHP Artist of Twisted Insurrection: Nod buildings
damn, i first switched the endianness and then added the 400000
should have added first 400000 and then switch endianness. _________________ SHP Artist of Twisted Insurrection: Nod buildings
Can I use Executable Modifier to modify another game?
and even use it on another forum?
From LKO's post on the first page of the thread:
Lin Kuei Ominae wrote:
you can already now. Just load which exe you want. Theoretically you can also load a text file. The tool does not care which one you plan to modify.
Then edit hacks.ini so the right hacks for your file are included and you can use it right away for RA1, RA2, YR, kernel32.dll, whatever you want.
You can post new topics in this forum You can reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum