Author Topic: Nomination thread: New features and bugfixes for Yitzi's patch 3.6  (Read 36467 times)

0 Members and 2 Guests are viewing this topic.

Offline Yitzi

Re: Nomination thread: New features and bugfixes for Yitzi's patch 3.6
« Reply #105 on: September 25, 2015, 01:48:18 AM »
Just for my clarification.

The .txt in the package in downloads IS NOT the .txt used for the patch. The current .txt is in a previous package?

Any patch version will either include all necessary .txts (if it doesn't have a letter after it), or should be used with the .txts of the equivalent major patch (i.e. the one with the same numbers and no letter).

Offline Dio

Re: Nomination thread: New features and bugfixes for Yitzi's patch 3.6
« Reply #106 on: September 25, 2015, 04:43:42 PM »

Would it be feasible to include the additional bonuses for the Citizens as described in the #CitizenHeck section of the help file? This might become my second nomination if it remains a viable option.

It would be fairly major, though doable at the cost of limiting bonuses to a maximum of 127 and minimum of -128.  (I don't think that will be an issue.)  We'd have to figure out what each of those bonuses means, though.
I think it best that we stick with tackling the probe team issues at the moment because that way the workload remains manageable, and we can tackle issues that already exist within the game before adding anymore features that might create additional issues. I am able to help with the probe teams because I have become fairly familiar with that section of the code. I think I will stick with the nominations for the probe teams except for the fact that so many of them have a classification as "features." I had an idea this morning. This idea went something along the lines of the fact that the game already checks a maximum and a minimum morale level for probe teams. Would it become possible to add a variable in alphax that corresponds to the location in this procedure that checks the the probe team morale level before it returns from the procedure?  This would allow an individual to set the maximum and minimum morale levels that the game uses while determining probe team morale.
Most of the citizens bonuses appear fairly clear except for one.
The efficiency bonus could operate in a similar manner to a children's creches.
The morale bonus could operate in a similar manner to either the children's crèche or command center depending upon what people want.
The Psi Defense bonus could increase the basic base bonus during psi combat.
The commerce bonus appears fairly clear because I have a fairly good Idea where the game calculates the commerce income at each base. I imagine it might operate as a commerce tech for the purpose of that base.
The aliens bonus could operate in a similar manner to biology labs.
The production bonus remains the only questionable bonus because it could mean many different features depending upon the context.
The commerce calculations for a base occur at address 004EB66E.

Offline Yitzi

Re: Nomination thread: New features and bugfixes for Yitzi's patch 3.6
« Reply #107 on: September 25, 2015, 04:54:56 PM »

Would it be feasible to include the additional bonuses for the Citizens as described in the #CitizenHeck section of the help file? This might become my second nomination if it remains a viable option.

It would be fairly major, though doable at the cost of limiting bonuses to a maximum of 127 and minimum of -128.  (I don't think that will be an issue.)  We'd have to figure out what each of those bonuses means, though.
I think it best that we stick with tackling the probe team issues at the moment because that way the workload remains manageable, and we can tackle issues that already exist within the game before adding anymore features that might create additional issues. I am able to help with the probe teams because I have become fairly familiar with that section of the code. I think I will stick with the nominations for the probe teams except for the fact that so many of them have a classification as "features." I had an idea this morning. This idea went something along the lines of the fact that the game already checks a maximum and a minimum morale level for probe teams. Would it become possible to add a variable in alphax that corresponds to the location in this procedure that checks the the probe team morale level before it returns from the procedure?  This would allow an individual to set the maximum and minimum morale levels that the game uses while determining probe team morale.
Most of the citizens bonuses appear fairly clear except for one.
The efficiency bonus could operate in a similar manner to a children's creches.
The morale bonus could operate in a similar manner to either the children's crèche or command center depending upon what people want.
The Psi Defense bonus could increase the basic base bonus during psi combat.
The commerce bonus appears fairly clear because I have a fairly good Idea where the game calculates the commerce income at each base. I imagine it might operate as a commerce tech for the purpose of that base.
The aliens bonus could operate in a similar manner to biology labs.
The production bonus remains the only questionable bonus because it could mean many different features depending upon the context.
The commerce calculations for a base occur at address 004EB66E.

Ok, thanks.

Offline Dio

Re: Nomination thread: New features and bugfixes for Yitzi's patch 3.6
« Reply #108 on: September 25, 2015, 05:02:10 PM »
What particular formula(e) would you want deciphered? I noticed you had figured out the formulae for technology research, eco-damage, and base drones.

Offline Yitzi

Re: Nomination thread: New features and bugfixes for Yitzi's patch 3.6
« Reply #109 on: September 25, 2015, 07:08:34 PM »
What particular formula(e) would you want deciphered? I noticed you had figured out the formulae for technology research, eco-damage, and base drones.

Hmm...the next big one is worm pops (i.e. when does a fungal pop come with worms, and if so how many and of what types)...

Offline Dio

Re: Nomination thread: New features and bugfixes for Yitzi's patch 3.6
« Reply #110 on: September 25, 2015, 09:34:31 PM »
A brief glance at the procedure I suspect contains the code reveals the following highlights:
1. The very first section of this particular procedure involves modifiers to ecological damage at a base (specifically the PLANET Bonus/Penalty, perihelion, and the percent chance of a fungal bloom at the base based upon eco-damage within the range of 1%-99%). The game then checks to see if the no native life scenario rule is active and jumps if this rule is active. The next section involves various different checks with the map square for bases, the current base position, the presence of fungus, and the presence of units in the square before the fungal pop occurs. This particular section involves the required pre-requisites to the event of Interlude#3 at address 004F6EA5 in scient's 2010 Patch. I also think the game jumps over this interlude if two or more fungal pops have already occured elsewhere. This particular section is followed by the script controls for FungusGrows and FungusGrows2. The last section in this part checks if more than two fungal blooms have occured and than jumps over interlude #5 at address 004F7040 if the previous condition is not met.
2. The next section checks (I think) the number of fungal blooms (jumps if less than seven), the presence, or absence, of the Voice of Planet, and the presence of another condition, and, if these conditions are met, than the game proceeds to allow Interlude #8 to occur.
3. Following this point, the game begins checking to see if the fungal pops cause a fungal tower to appear (the address for adding the fungal tower appears at 004F7143 in Scient's 2010 Patch.) The next area begins a base count and checks the presence of fungus around a base. If fungus is within a certain distance, a specific minimum number of fungal blooms have occured, and the base owner is correct, than mindworms and sporelaunchers will appear. I think the actual location to determine the number of mindworms and sporelaunchers at a base starts at address 004F7396 in Scient's 2010 patch. Another address that determines the number of mindworms and sporelaunchers that appear starts at address 004F74C2 in Scient's 2010 patch. It appears as though the number of fungal blooms and the number of bases controlled by the faction have an influence on the number of mindworms and sporelaunchers that appear. The following section(s) involves the global warming events as caused by ecological damage and fungal blooms.

Offline Dio

Re: Nomination thread: New features and bugfixes for Yitzi's patch 3.6
« Reply #111 on: September 25, 2015, 10:30:17 PM »
Another section of code that involves Mindworms and the script XMindworms starts at the address 005225C6 in Scient's 2010 patch. The game first checks if the No Native Life rule is active and the procedure jumps if it is active. The game then subtracts the World Native Life Selection from 3 and loads the remaining value into X+X*4. It then subtracts the Difficulty Level from this value after performing a shl 32 bitregister, 1 operation. It then compares the value from the Eax to Ecx and jumps if the value is equal to or greater than the value in ECX. The next section checks for The Voice of Planet Secret Project and it performs a check against the unit count memory address. After this section, the procedure performs a subtraction with the World Native Life Selection Value – 5, and integer divides ESI after performing the shl ESI, 1 operation. It then checks EDX and jumps if it is not zero. The following section appears to determine the location and number of Sealurks and Isle of the Deep that would appear if you encountered them from unity pods or randomly in the ocean. The next section, before adding sealurks and Isles of the Deep at the addresses 00522789 (Sealurk) and 005227C7 (Isle of the Deep,) checks for the perihelion. The procedure then subtracts 8 – World Life Value, then performs some more operations (Eax= 0, 1, or 2. I am uncertain about this point), and then it subtracts (8 – Difficulty Level). The last portion loads an address with (Eax+World Life Value+1) before it begins to check various aspects involving Sealurks and Isles of the Deep. The following section I think performs operations to determine the number of Mindworms, Sporelaunchers, and Locusts of Chiron that might have stored themselves on an Isle of the Deep. The next section I think checks to see the amount of land-based native life, along with Locusts of Chiron, that appear normally during the game. The following section I think checks the amount of land-based native life that will appear while the perihelion remains active within the game. The last section of this check, before you reach the script, appears,furthermore, to involve the base population size that it occurs near, the map shape, the size of the map, and the various other factors that influence this calculation (including World Native Life Value).

Offline Yitzi

Re: Nomination thread: New features and bugfixes for Yitzi's patch 3.6
« Reply #112 on: September 25, 2015, 11:22:20 PM »
A brief glance at the procedure I suspect contains the code reveals the following highlights:
1. The very first section of this particular procedure involves modifiers to ecological damage at a base (specifically the PLANET Bonus/Penalty, perihelion, and the percent chance of a fungal bloom at the base based upon eco-damage within the range of 1%-99%). The game then checks to see if the no native life scenario rule is active and jumps if this rule is active. The next section involves various different checks with the map square for bases, the current base position, the presence of fungus, and the presence of units in the square before the fungal pop occurs. This particular section involves the required pre-requisites to the event of Interlude#3 at address 004F6EA5 in scient's 2010 Patch. I also think the game jumps over this interlude if two or more fungal pops have already occured elsewhere. This particular section is followed by the script controls for FungusGrows and FungusGrows2. The last section in this part checks if more than two fungal blooms have occured and than jumps over interlude #5 at address 004F7040 if the previous condition is not met.
2. The next section checks (I think) the number of fungal blooms (jumps if less than seven), the presence, or absence, of the Voice of Planet, and the presence of another condition, and, if these conditions are met, than the game proceeds to allow Interlude #8 to occur.
3. Following this point, the game begins checking to see if the fungal pops cause a fungal tower to appear (the address for adding the fungal tower appears at 004F7143 in Scient's 2010 Patch.) The next area begins a base count and checks the presence of fungus around a base. If fungus is within a certain distance, a specific minimum number of fungal blooms have occured, and the base owner is correct, than mindworms and sporelaunchers will appear. I think the actual location to determine the number of mindworms and sporelaunchers at a base starts at address 004F7396 in Scient's 2010 patch. Another address that determines the number of mindworms and sporelaunchers that appear starts at address 004F74C2 in Scient's 2010 patch. It appears as though the number of fungal blooms and the number of bases controlled by the faction have an influence on the number of mindworms and sporelaunchers that appear. The following section(s) involves the global warming events as caused by ecological damage and fungal blooms.

Ok, thanks.  I don't suppose you can read off the exact formula?

Offline Dio

Re: Nomination thread: New features and bugfixes for Yitzi's patch 3.6
« Reply #113 on: September 25, 2015, 11:35:26 PM »
What section of this code would like the exact formula on? I am not certain I can decipher the formula from all of it, but I can figure out signficant portions of this procedure.

Offline Yitzi

Re: Nomination thread: New features and bugfixes for Yitzi's patch 3.6
« Reply #114 on: September 27, 2015, 03:16:23 AM »
What section of this code would like the exact formula on? I am not certain I can decipher the formula from all of it, but I can figure out signficant portions of this procedure.

If you can't decipher the entire formula, then I'll do it when I get to that project.

Offline Mart

Re: Nomination thread: New features and bugfixes for Yitzi's patch 3.6
« Reply #115 on: September 27, 2015, 03:31:50 AM »
Bringing this here, faction graphics bug, as it appears, we may be able to fix it! :
The thread is here:
http://alphacentauri2.info/index.php?topic=3808.0
... Is this bug somehow fixed at the moment?

When working with scenario editor and launching a game from scenario, I noticed something in singleplayer. The save file appears to have recorded the faction file name. This can be checked by enabling scenario editor and by trying to relaod a faction. The name is as it should be, and not the one that is in Alpha Centauri.ini
However, when playing multiplayer, the bug occurs.

If the save file has the appropriate string, it might be possible to change the place, where the game gets the file name, and load proper string instead from the ini file one.

What multiplayer encryption has to do with it? Is it possible, that encryption prevents the game from getting the proper string? And then, it takes it from ini file?

Offline Yitzi

Re: Nomination thread: New features and bugfixes for Yitzi's patch 3.6
« Reply #116 on: September 27, 2015, 12:54:59 PM »
Bringing this here, faction graphics bug, as it appears, we may be able to fix it! :
The thread is here:
http://alphacentauri2.info/index.php?topic=3808.0
... Is this bug somehow fixed at the moment?

When working with scenario editor and launching a game from scenario, I noticed something in singleplayer. The save file appears to have recorded the faction file name. This can be checked by enabling scenario editor and by trying to relaod a faction. The name is as it should be, and not the one that is in Alpha Centauri.ini
However, when playing multiplayer, the bug occurs.

If the save file has the appropriate string, it might be possible to change the place, where the game gets the file name, and load proper string instead from the ini file one.

What multiplayer encryption has to do with it? Is it possible, that encryption prevents the game from getting the proper string? And then, it takes it from ini file?



Thank you; that should be helpful.

Encryption should not be an issue, since everything needs to be decrypted to load the game anyway.  Also, the problem seems to be related to it being a scenario, not to it being multiplayer.

Offline Mart

Re: Nomination thread: New features and bugfixes for Yitzi's patch 3.6
« Reply #117 on: September 27, 2015, 06:23:34 PM »
...  Also, the problem seems to be related to it being a scenario, not to it being multiplayer.

Yet, the graphics bug is in multiplayer. Do you think, this is the same problem? Scenario and multiplayer? So there is only one thing to be fixed, and there will be no "graphics bug" in any mode of play?

Offline Buster's Uncle

  • In Buster's Orbit, I
  • Ascend
  • *
  • Posts: 49271
  • €440
  • View Inventory
  • Send /Gift
  • Because there are times when people just need a cute puppy  Soft kitty, warm kitty, little ball of fur  A WONDERFUL concept, Unity - & a 1-way trip that cost 400 trillion & 40 yrs.  
  • AC2 is my instrument, my heart, as I play my song.
  • Planet tales writer Smilie Artist Custom Faction Modder AC2 Wiki contributor Downloads Contributor
    • View Profile
    • My Custom Factions
    • Awards
Re: Nomination thread: New features and bugfixes for Yitzi's patch 3.6
« Reply #118 on: September 27, 2015, 06:31:28 PM »
I concluded the same as Yitzi a long time ago.  It's a scenario problem that shows up by far the most in MP, because that's where people are playing a lot of different scenarios in turn.

Offline Yitzi

Re: Nomination thread: New features and bugfixes for Yitzi's patch 3.6
« Reply #119 on: September 27, 2015, 07:08:07 PM »
...  Also, the problem seems to be related to it being a scenario, not to it being multiplayer.

Yet, the graphics bug is in multiplayer.

I don't think that's true.  It shows up in multiplayer because that's generally done via scenarios and single-player usually isn't, but a single-player GotM will have the bug as well, and a multiplayer done not as a scenario won't AFAIK.

I concluded the same as Yitzi a long time ago.  It's a scenario problem that shows up by far the most in MP, because that's where people are playing a lot of different scenarios in turn.

Correction: You concluded it, and I learned it from you IIRC.

 

* User

Welcome, Guest. Please login or register.
Did you miss your activation email?


Login with username, password and session length

Select language:

* Community poll

SMAC v.4 SMAX v.2 (or previous versions)
-=-
24 (7%)
XP Compatibility patch
-=-
9 (2%)
Gog version for Windows
-=-
103 (32%)
Scient (unofficial) patch
-=-
40 (12%)
Kyrub's latest patch
-=-
14 (4%)
Yitzi's latest patch
-=-
89 (28%)
AC for Mac
-=-
3 (0%)
AC for Linux
-=-
6 (1%)
Gog version for Mac
-=-
10 (3%)
No patch
-=-
16 (5%)
Total Members Voted: 314
AC2 Wiki Logo
-click pic for wik-

* Random quote

Those who don't believe we can create the perfect man or woman from pixels and light; overestimate the capacity of their senses.
~J. Croft, Morgan Starworks, Ltd.

* Select your theme

*
Templates: 5: index (default), PortaMx/Mainindex (default), PortaMx/Frames (default), Display (default), GenericControls (default).
Sub templates: 8: init, html_above, body_above, portamx_above, main, portamx_below, body_below, html_below.
Language files: 4: index+Modifications.english (default), TopicRating/.english (default), PortaMx/PortaMx.english (default), OharaYTEmbed.english (default).
Style sheets: 0: .
Files included: 45 - 1228KB. (show)
Queries used: 41.

[Show Queries]