Stealth and Cloak

Stealth and Cloak; support/discussion/questions

Moderator: thunderchero

User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 6626
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.
Contact:

Re: Stealth and Cloak

Post by thunderchero »

I need to test and I hope 1 of those 0D -> 07 is for cloaked ships.

It really hurt them since they lose there free move when they evade.

this patch also forces human player to evade.
User avatar
Spocks-cuddly-tribble
Code Master
Code Master
Posts: 909
Joined: Sun Apr 27, 2008 2:00 am

Re: Stealth and Cloak

Post by Spocks-cuddly-tribble »

I anticipated the 'free cloak' issue when creating the patch (post updated with missing notes form my ida-notepad).

Another option for cloaked ships using 'Cloak' instead of 'Evade' has been added (same movements as Evade but they should stay cloaked same as with 'Hold').


And it should be possible to combine both options with your approach of command selection for players:

At 471D31 you changed 'jz short loc_471D45' to 'jz short loc_471D8F'.

Better force the jump to be on the safe side (ds:5B550C might misbehave):

Code: Select all

00471D31   EB 5C            JMP SHORT 00471D8F // 0x71131 (74 12) -> EB 5C
Or jump from 471D1A to 471C8B if you don't need code at 471D8F (special event speech?):

Code: Select all

00471D1A     jz     loc_471C8B -> nop jmp loc_471C8B // 0x7111A (0F 84) -> 90 E9
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.
User avatar
Tethys
Past Administrator
Past Administrator
Posts: 2104
Joined: Fri Jul 18, 2008 2:00 am
Location: Your mom's bed ;)
Contact:

Re: Disable Cloak within Nebula (Fix?)

Post by Tethys »

Spocks-cuddly-tribble wrote: Sat May 28, 2016 11:17 am 5.) Sub_474880 also lowers the tactical combat agility of ships (only) in Black Hole sectors:
For the last few days TC and I have been bouncing ideas back and forth through messenger. While I could not accomplish my intended task of getting agility penalty AND cloak/shield disability working for BOTH Nebula and Blackhole, I did manage to get cloak/shield disability and the agility modifier to work with the Nebula section of the subroutine solely.


OLD/OUTDATED (See more recent posts)

Code: Select all

0x73caa		90 90				Do nothing if Blackhole
0x73cf9		E9 4E 00 00 00 90		Jump to agility modification section for shiptype
0x73d1f		E9 28 00 00 00 90		Jump to agility modification section for other type
0x73d5e		49				eax
0x73d64		EB 99				Jump back -103 bytes and finish flagging ships for Nebula
Spocks-cuddly-tribble wrote: Sat May 28, 2016 11:17 amagility multiplier (8 byte float) at asm-57B0F0 (default 1/3)
Instead of 1/3 (0.333333333333333) a value of 3.0 - 4.0 can be used to boost agility within nebulae, making ships harder to hit. That is until I can establish how to get ahold of Damage Control or Defense pointers to replace the ones used for Agility (for a more appealing behavior). Also now this leaves quite a few unused bytes between 47492C and 47494B, which can (maybe) be used to add other effects to Nebula, or maybe it can be fixed to run a different register for a different anomaly type with different properties (metaphasic nebula? heal your ship ???)

I am still on the hunt for Damage Control and Defense, any advice wrt to either is appreciated. Thanks
Last edited by Tethys on Fri Mar 19, 2021 1:37 am, edited 1 time in total.
Not for the weak of heart...
Galaxies MOD v0.3.6a <--- GALM/Galaxies Mod
User avatar
Spocks-cuddly-tribble
Code Master
Code Master
Posts: 909
Joined: Sun Apr 27, 2008 2:00 am

Re: Disable Cloak within Nebula (Fix?)

Post by Spocks-cuddly-tribble »

Tethys wrote: Sat Mar 13, 2021 4:08 amI am still on the hunt for Damage Control and Defense, any advice wrt to either is appreciated. Thanks
Given my fix code the values should be stored at:

[eax+18h] defense

EDIT ignore this, see below [ebx+344h] damage control (IIRC ships only)

You have to insert your new code at 4748E4 (my fix code) you can nop everything until 47491D enter there: MOV EAX, EBX

But messing with this is not a good idea.

- extra ship check and switch needed for damaged control (and remember it's an integer hull damage percentage modifier i.e. green = 100, legendary 25)


EDIT:

[eax+1Ch] is also damage control (for ships, stations and monster i.e. no switch needed) stations and monster is always 100 or 64h
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.
User avatar
Tethys
Past Administrator
Past Administrator
Posts: 2104
Joined: Fri Jul 18, 2008 2:00 am
Location: Your mom's bed ;)
Contact:

Re: Stealth and Cloak

Post by Tethys »

Thanks for the info, SCT, as always.

Eax+1Ch did not work for me. I've also tried eax+28h? with no success, eax+10h no success, eax+14h no success.. I will have a look at all of the pointers you listed.

A list of known pointers might be useful, if you have one? I've been looking in sub 3C8h? It has a lot of potential reference pointers but I dont think thats all of them.. and most seem to have no effect.
Not for the weak of heart...
Galaxies MOD v0.3.6a <--- GALM/Galaxies Mod
User avatar
Spocks-cuddly-tribble
Code Master
Code Master
Posts: 909
Joined: Sun Apr 27, 2008 2:00 am

Re: Stealth and Cloak

Post by Spocks-cuddly-tribble »

Tethys wrote: Sat Mar 13, 2021 3:05 pmEax+1Ch did not work for me.
You should double check this again (maybe with the help of Thunderchero).
A list of known pointers might be useful, if you have one?
Some are listed here: viewtopic.php?p=28320#p28320

Most are set by sub_520D70 in ds:597864 (entry size 3C8h / object) -> with some different locations for ship, station or monster

set for ships: (register eax, ebx, ecx... change for each subroutine)

Code: Select all

005215C5                 mov     [eax+340h], ecx ; defense + exp bonus
00521641                 mov     [ecx+344h], eax ; damage_control (hull damage percentage)
sub_528BA0 (ship, monster, station switch for some ds:597864 data) displacement ships +328h, stations +2B8h and monster +2D0h
for ships:

Code: Select all

340h-328h = 18h
344h-328h = 1Ch
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 6626
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.
Contact:

Re: Stealth and Cloak

Post by thunderchero »

Spocks-cuddly-tribble wrote: Sat Mar 13, 2021 3:32 pm You should double check this again (maybe with the help of Thunderchero).
It works for me, but have not seen his code changes yet to help much

btw Spocks-cuddly-tribble I sent you a PM when you have some time.
User avatar
Tethys
Past Administrator
Past Administrator
Posts: 2104
Joined: Fri Jul 18, 2008 2:00 am
Location: Your mom's bed ;)
Contact:

Disable Cloak/Shield for Blackhole (mod)

Post by Tethys »

Here is the current subroutine in its entirety. Apologies if this is distasteful practice (it includes SCT cloak code), but I do not currently have much time to go through and label all the fixins as it is 3am here and I did not want to forget to update this project. I sent TC code to verify it works.

Address: 0x73c80
Length: E6 (230 bytes)

OLD/OUTDATED (See more recent posts)
► Show Spoiler
I am aware of the 2 dead sections leading to 4748C6. That attempt was a failure. So now I am looking at ways to add the agility value directly with the (now) free 30 bytes and 14 dead bytes. It should be enough; the code for fmul including dec, add, & jump is 26 bytes, and both mov to eax total 11 bytes.

Furthermore, I did encounter an endless loop in a few tests; linking both sections together is not a good idea when they both exit to each other (they should use different exit points). I'm sure it's possible to do but I think its going to be far easier to just add the fmul directly and dec it from nebula side.

Side note: I am having way too much fun with jump statements. EB statement especially, good in a pinch to be able to jump back to an unconditional jump back to where you'd needed to be.
Last edited by Tethys on Fri Mar 19, 2021 1:37 am, edited 1 time in total.
Not for the weak of heart...
Galaxies MOD v0.3.6a <--- GALM/Galaxies Mod
User avatar
Tethys
Past Administrator
Past Administrator
Posts: 2104
Joined: Fri Jul 18, 2008 2:00 am
Location: Your mom's bed ;)
Contact:

Agility Modifier Both Nebula Blackhole (mod)

Post by Tethys »

This patch includes separate agility modifiers for Nebula or Blackhole and also includes Disable Cloak/Shield for Blackhole (mod) and also includes SCT Disable Cloak within Nebula (Fix?). A lot of work went into this, I hope it is useful to someone. I plan to upade this if/when I replace agility with some other property. Still in experimental stage as TC used "the last bytes of dgoup section ... there are very few unused 8 bytes" and "you can possibly share with something which has the same or similar value", so beware of any bugs. Initial tests have not revealed any bugs, but more testing is required.

Code: Select all

NAME: Agility Modifier Both Nebula Blackhole (mod)
AUTHOR: Tethys, SCT, Thunderchero
DESC: This patch includes separate agility modifiers for Nebula or Blackhole and also includes Disable Cloak/Shield for Blackhole (mod) and also includes SCT Disable Cloak within Nebula (Fix?)
DESC: patch file name: Agil_Modif_Neb_BH_Mod_x.patch
URL: 
TAG: 

# >>  = current value

# <<  = new value

>> 0x0073c80 51 52 8B 15 60 55 5B 00 8B 52 08 C1 FA 10 83 FA
>> 0x0073c90 FF 74 57 8D 04 95 00 00 00 00 29 D0 C1 E0 02 29
>> 0x0073ca0 D0 8B 15 CC 36 5A 00 8B 04 C2 85 C0 0F 86 7A 00
>> 0x0073cb0 00 00 83 F8 02 75 33 8B 0D 14 2B 60 00 A1 64 78
>> 0x0073cc0 59 00 85 C9 7E 24 8B 90 78 01 00 00 83 FA 05 73
>> 0x0073cd0 1C 83 FA 01 75 0A C7 80 2C 03 00 00 00 00 00 00
>> 0x0073ce0 49 05 C8 03 00 00 85 C9 7F DC 5A 59 C3 77 17 C7
>> 0x0073cf0 80 BC 02 00 00 00 00 00 00 49 05 C8 03 00 00 85
>> 0x0073d00 C9 7F C3 5A 59 C3 83 FA 07 75 D5 66 83 B8 DC 01
>> 0x0073d10 00 00 29 75 CB C7 80 D4 02 00 00 00 00 00 00 49
>> 0x0073d20 05 C8 03 00 00 85 C9 7F 9D 5A 59 C3 8B 15 14 2B
>> 0x0073d30 60 00 A1 64 78 59 00 85 D2 7E AF 83 B8 78 01 00
>> 0x0073d40 00 01 74 08 4A 05 C8 03 00 00 EB EB DD 80 4C 01
>> 0x0073d50 00 00 DC 0D F0 B0 57 00 DD 98 4C 01 00 00 4A 05
>> 0x0073d60 C8 03 00 00 EB D1 00 00 00 00 00 00 00 00 00 00
>> 0x00178ef0 55 55 55 55 55 55 D5 3F
>> 0x0019f3f8 00 00 00 00 00 00 00 00

<< 0x0073c80 51 52 8B 15 60 55 5B 00 8B 52 08 C1 FA 10 83 FA
<< 0x0073c90 FF 74 6E 8D 04 95 00 00 00 00 29 D0 C1 E0 02 29
<< 0x0073ca0 D0 8B 15 CC 36 5A 00 8B 04 C2 85 C0 0F 86 84 00
<< 0x0073cb0 00 00 83 F8 02 75 4A 8B 15 14 2B 60 00 A1 64 78
<< 0x0073cc0 59 00 85 D2 7E 02 EB 40 8B 0D 14 2B 60 00 A1 64
<< 0x0073cd0 78 59 00 85 C9 7E 2A 8B D8 E8 C2 42 0B 00 85 C0
<< 0x0073ce0 74 13 33 D2 89 50 04 89 53 38 80 A3 0C 02 00 00
<< 0x0073cf0 FE 80 60 68 FD 8B C3 49 05 C8 03 00 00 85 C9 7F
<< 0x0073d00 D6 5A 59 C3 90 90 90 90 83 B8 78 01 00 00 01 74
<< 0x0073d10 08 4A 05 C8 03 00 00 EB A9 DD 80 4C 01 00 00 DC
<< 0x0073d20 0D F8 15 5A 00 DD 98 4C 01 00 00 4A 05 C8 03 00
<< 0x0073d30 00 EB 8F 90 90 90 8B 15 14 2B 60 00 A1 64 78 59
<< 0x0073d40 00 85 D2 7E 83 83 B8 78 01 00 00 01 74 08 4A 05
<< 0x0073d50 C8 03 00 00 EB EB DD 80 4C 01 00 00 DC 0D F0 B0
<< 0x0073d60 57 00 DD 98 4C 01 00 00 4A 05 C8 03 00 00 EB D1
<< 0x00178ef0 00 00 00 00 00 00 D0 3F
<< 0x0019f3f8 00 00 00 00 00 00 14 40
Last edited by Tethys on Fri Mar 19, 2021 2:05 pm, edited 1 time in total.
Not for the weak of heart...
Galaxies MOD v0.3.6a <--- GALM/Galaxies Mod
User avatar
Tethys
Past Administrator
Past Administrator
Posts: 2104
Joined: Fri Jul 18, 2008 2:00 am
Location: Your mom's bed ;)
Contact:

Boni Modifier Nebula_Dfns Blackhole_Aglty (mod)

Post by Tethys »

340h did the trick. I used integer loading DF 80 40 03 00 00 and integer store/pop DF 98 40 03 00 00, and I was able to leave floating point fmul; I assume the remainder would just be dropped on an integer, but it should give a more precise multiplication (example +100 def * 6.255 = +625 with 0.5 remainder dropped, since Defense value cannot have fractions).

The following patch now gives Nebula a Defense bonus of * 6.0, so a +100 standard defense value will be +600 in sector with Nebula. This (6.0) seemed like a fine number with noticeable effects, though for fleet battles it may not be ideal. The last value (00 .. 14 40) is the multiplier and can be set to any number you wish, even fractions, if your wish is to make ships easier to hit.

As always:
REMOVE ANY PREVIOUS PATCH BEFORE INSTALLING!

Code: Select all

NAME: Boni Modifier Nebula_Dfns Blackhole_Aglty (mod)
AUTHOR: Tethys, SCT, Thunderchero
DESC: This patch includes separate bonus modifiers for Nebula (Defense boost) and Blackhole (Agility penalty) and also includes Disable Cloak/Shield for Blackhole (mod) and also includes SCT Disable Cloak within Nebula (Fix?)
DESC: patch file name: Boni_Modif_Neb_BH_Mod_x.patch
URL: 
TAG: 

# >>  = current value

# <<  = new value

>> 0x0073c80 51 52 8B 15 60 55 5B 00 8B 52 08 C1 FA 10 83 FA
>> 0x0073c90 FF 74 57 8D 04 95 00 00 00 00 29 D0 C1 E0 02 29
>> 0x0073ca0 D0 8B 15 CC 36 5A 00 8B 04 C2 85 C0 0F 86 7A 00
>> 0x0073cb0 00 00 83 F8 02 75 33 8B 0D 14 2B 60 00 A1 64 78
>> 0x0073cc0 59 00 85 C9 7E 24 8B 90 78 01 00 00 83 FA 05 73
>> 0x0073cd0 1C 83 FA 01 75 0A C7 80 2C 03 00 00 00 00 00 00
>> 0x0073ce0 49 05 C8 03 00 00 85 C9 7F DC 5A 59 C3 77 17 C7
>> 0x0073cf0 80 BC 02 00 00 00 00 00 00 49 05 C8 03 00 00 85
>> 0x0073d00 C9 7F C3 5A 59 C3 83 FA 07 75 D5 66 83 B8 DC 01
>> 0x0073d10 00 00 29 75 CB C7 80 D4 02 00 00 00 00 00 00 49
>> 0x0073d20 05 C8 03 00 00 85 C9 7F 9D 5A 59 C3 8B 15 14 2B
>> 0x0073d30 60 00 A1 64 78 59 00 85 D2 7E AF 83 B8 78 01 00
>> 0x0073d40 00 01 74 08 4A 05 C8 03 00 00 EB EB DD 80 4C 01
>> 0x0073d50 00 00 DC 0D F0 B0 57 00 DD 98 4C 01 00 00 4A 05
>> 0x0073d60 C8 03 00 00 EB D1 00 00 00 00 00 00 00 00 00 00
>> 0x00178ef0 55 55 55 55 55 55 D5 3F
>> 0x0019f3f8 00 00 00 00 00 00 00 00

<< 0x0073c80 51 52 8B 15 60 55 5B 00 8B 52 08 C1 FA 10 83 FA
<< 0x0073c90 FF 74 6E 8D 04 95 00 00 00 00 29 D0 C1 E0 02 29
<< 0x0073ca0 D0 8B 15 CC 36 5A 00 8B 04 C2 85 C0 0F 86 84 00
<< 0x0073cb0 00 00 83 F8 02 75 4A 8B 15 14 2B 60 00 A1 64 78
<< 0x0073cc0 59 00 85 D2 7E 02 EB 40 8B 0D 14 2B 60 00 A1 64
<< 0x0073cd0 78 59 00 85 C9 7E 2A 8B D8 E8 C2 42 0B 00 85 C0
<< 0x0073ce0 74 13 33 D2 89 50 04 89 53 38 80 A3 0C 02 00 00
<< 0x0073cf0 FE 80 60 68 FD 8B C3 49 05 C8 03 00 00 85 C9 7F
<< 0x0073d00 D6 5A 59 C3 90 90 90 90 83 B8 78 01 00 00 01 74
<< 0x0073d10 08 4A 05 C8 03 00 00 EB A9 DF 80 40 03 00 00 DC
<< 0x0073d20 0D F8 15 5A 00 DF 98 40 03 00 00 4A 05 C8 03 00
<< 0x0073d30 00 EB 8F 90 90 90 8B 15 14 2B 60 00 A1 64 78 59
<< 0x0073d40 00 85 D2 7E 83 83 B8 78 01 00 00 01 74 08 4A 05
<< 0x0073d50 C8 03 00 00 EB EB DD 80 4C 01 00 00 DC 0D F0 B0
<< 0x0073d60 57 00 DD 98 4C 01 00 00 4A 05 C8 03 00 00 EB D1
<< 0x00178ef0 00 00 00 00 00 00 D0 3F
<< 0x0019f3f8 00 00 00 00 00 00 18 40
Last edited by Tethys on Fri Mar 19, 2021 2:16 pm, edited 3 times in total.
Not for the weak of heart...
Galaxies MOD v0.3.6a <--- GALM/Galaxies Mod
User avatar
Tethys
Past Administrator
Past Administrator
Posts: 2104
Joined: Fri Jul 18, 2008 2:00 am
Location: Your mom's bed ;)
Contact:

Boni Extra Modifier Nebula_Dfns Blackhole_Aglty+D (mod)

Post by Tethys »

This should be the final iteration of this patch. Updated patch gives Blackholes the +Defense boost (value * 6.0) that was assigned to Nebula in previous patch. Editing the defense multiplier will affect +Defense values for both stellar object types. Blackhole still enjoys the agility penalty. I've changed (in GALM) Blackhole to a second, more volatile Nebula type with map values also adjusted, retaining the blackhole random ship destruct feature, but adjusting those values also (as per ship type) so the ships don't destruct so frequently.

UPDATE: Patch discrepancies fixed.

Uninstall any previous copies before installing:

Code: Select all

NAME: Boni Extra Modifier Nebula_Dfns Blackhole_Aglty+D (mod)
AUTHOR: Tethys, SCT, Thunderchero
DESC: This patch includes separate bonus modifiers for Nebula (Defense boost) and Blackhole (Agility penalty *AND* Defense boost) and also includes Disable Cloak/Shield for Blackhole (mod) and also includes SCT Disable Cloak within Nebula (Fix?)
DESC: patch file name: Boni_ExtModif_Neb_BH_Mod_x.patch
URL: 
TAG: 

# >>  = current value

# <<  = new value

>> 0x0073c80 51 52 8B 15 60 55 5B 00 8B 52 08 C1 FA 10 83 FA
>> 0x0073c90 FF 74 57 8D 04 95 00 00 00 00 29 D0 C1 E0 02 29
>> 0x0073ca0 D0 8B 15 CC 36 5A 00 8B 04 C2 85 C0 0F 86 7A 00
>> 0x0073cb0 00 00 83 F8 02 75 33 8B 0D 14 2B 60 00 A1 64 78
>> 0x0073cc0 59 00 85 C9 7E 24 8B 90 78 01 00 00 83 FA 05 73
>> 0x0073cd0 1C 83 FA 01 75 0A C7 80 2C 03 00 00 00 00 00 00
>> 0x0073ce0 49 05 C8 03 00 00 85 C9 7F DC 5A 59 C3 77 17 C7
>> 0x0073cf0 80 BC 02 00 00 00 00 00 00 49 05 C8 03 00 00 85
>> 0x0073d00 C9 7F C3 5A 59 C3 83 FA 07 75 D5 66 83 B8 DC 01
>> 0x0073d10 00 00 29 75 CB C7 80 D4 02 00 00 00 00 00 00 49
>> 0x0073d20 05 C8 03 00 00 85 C9 7F 9D 5A 59 C3 8B 15 14 2B
>> 0x0073d30 60 00 A1 64 78 59 00 85 D2 7E AF 83 B8 78 01 00
>> 0x0073d40 00 01 74 08 4A 05 C8 03 00 00 EB EB DD 80 4C 01
>> 0x0073d50 00 00 DC 0D F0 B0 57 00 DD 98 4C 01 00 00 4A 05
>> 0x0073d60 C8 03 00 00 EB D1 00 00 00 00 00 00 00 00 00 00
>> 0x00178ef0 55 55 55 55 55 55 D5 3F
>> 0x0019f3f8 00 00 00 00 00 00 00 00

<< 0x0073c80 51 52 8B 15 60 55 5B 00 8B 52 08 C1 FA 10 83 FA
<< 0x0073c90 FF 74 6E 8D 04 95 00 00 00 00 29 D0 C1 E0 02 29
<< 0x0073ca0 D0 8B 15 CC 36 5A 00 8B 04 C2 85 C0 0F 86 84 00
<< 0x0073cb0 00 00 83 F8 02 75 4A 8B 15 14 2B 60 00 A1 64 78
<< 0x0073cc0 59 00 85 D2 7E 02 EB 40 8B 0D 14 2B 60 00 A1 64
<< 0x0073cd0 78 59 00 85 C9 7E 2A 8B D8 E8 C2 42 0B 00 85 C0
<< 0x0073ce0 74 13 33 D2 89 50 04 89 53 38 80 A3 0C 02 00 00
<< 0x0073cf0 FE 80 60 68 FD 8B C3 49 05 C8 03 00 00 85 C9 7F
<< 0x0073d00 D6 5A 59 C3 EB B1 90 90 83 B8 78 01 00 00 01 74
<< 0x0073d10 08 4A 05 C8 03 00 00 EB A9 DF 80 40 03 00 00 DC
<< 0x0073d20 0D F8 15 5A 00 DF 98 40 03 00 00 4A 05 C8 03 00
<< 0x0073d30 00 EB 8F 90 90 90 8B 15 14 2B 60 00 A1 64 78 59
<< 0x0073d40 00 85 D2 7E BF 83 B8 78 01 00 00 01 74 08 4A 05
<< 0x0073d50 C8 03 00 00 EB EB DD 80 4C 01 00 00 DC 0D F0 B0
<< 0x0073d60 57 00 DD 98 4C 01 00 00 4A 05 C8 03 00 00 EB D1
<< 0x00178ef0 00 00 00 00 00 00 D0 3F
<< 0x0019f3f8 00 00 00 00 00 00 18 40
Not for the weak of heart...
Galaxies MOD v0.3.6a <--- GALM/Galaxies Mod
Post Reply

Return to “Stealth and Cloak”