• Welcome to SC4 Devotion Forum Archives.

What causes Prop Pox (and how to avoid it)

Started by bap, February 24, 2009, 08:37:13 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

RippleJet

Quote from: Pat on February 26, 2009, 03:41:39 PM
so in other words if the prop pox strikes someone there is a way to reverse it or at least keep it from causing further damage...

Unfortunately there doesn't seem to be any way of removing the prop pox if your cities already are "infected".
The only thing you can do is not to play so long on it that the network subfile would become close to 6 MB in size.
It's at that point that the subfile wants to expand to some 16 MB, but fails due to the props not being saved correctly.

allan_kuan1992

Now... Earlier I was lurking around when I found this.

What scared me, though, is that I'm using PEG's OWW2 Beach Lots in one of my largest cities... which is of concern... due to the fact that it supports a very large population of 300000 - 400000 people.

I ended up removing the modified exemplars and replopped the lots to be on the safe side. However, does this mean I'm now pox-free? Or is the city going to be forever doomed by this?.

- Allan Kuan

Diggis

#42
Quote from: RippleJet on February 26, 2009, 03:34:14 PM
How do I check if my cities soon will develop the prop pox?

Once you've opened the saved city, it will look as below in Reader.
Now, click the column heading Type in order to sort the files consecutively, according to their Type ID's.



You may have to click twice in order to get them sorted starting with the lowest number on top.
After this, it should be easy for you to locate the file with the Type ID 2977aa47

In the filesize column you can now see the size of that file (you may have to widen the column in order to see it completely).
As you can see, my network subfile is just 1,851,828 bytes... pretty far from 6 MB (which is 6,291,456 bytes).


Just a tip here, if you sort by filesize, it should be at the top.


Quote from: allan_kuan1992 on February 26, 2009, 10:57:56 PM
Now... Earlier I was lurking around when I found this.

What scared me, though, is that I'm using PEG's OWW2 Beach Lots in one of my largest cities... which is of concern... due to the fact that it supports a very large population of 300000 - 400000 people.

I ended up removing the modified exemplars and replopped the lots to be on the safe side. However, does this mean I'm now pox-free? Or is the city going to be forever doomed by this?.

- Allan Kuan

As you can see from Tage's post above yours, once a city is infected there is nothing that can be done (at present at least) to repair this.  I would suggest you check the file size of your network file and see how close you are to seeing the problem appear. 

One thing that I am unsure of, is if the file was in place from the moment the city was started will it be OK?

RippleJet

Quote from: Diggis on February 26, 2009, 11:30:54 PM
Just a tip here, if you sort by filesize, it should be at the top.

Quite right! :thumbsup:

wouanagaine

Quote from: allan_kuan1992 on February 26, 2009, 10:57:56 PM
I ended up removing the modified exemplars and replopped the lots to be on the safe side. However, does this mean I'm now pox-free? Or is the city going to be forever doomed by this?.
If I understand correctly, you're doomed if the prop pox appeared ( or is present even if not visible ) ie your network subfile is bigger than 6Mb

I bet you get BarbyW' updated file, but I doubt you bulldozed all lots using it ? And I bet no one can give a list of lots using any of the offending props ( being from Peg or BSC ).

The best way if you don't want an already developed city to be infected ( if you're not yet ), is to keep your city under the 6Mb for the network ( and backup )





New Horizons Productions
Berethor ♦ beskhu3epnm ♦ blade2k5 ♦ dmscopio ♦ dedgren ♦ emilin ♦ Ennedi ♦ Heblem ♦ jplumbley
M4346 ♦ moganite ♦ Papab2000 ♦ Shadow Assassin ♦ Tarkus ♦ wouanagaine
Divide wouanagaine by zero and you will in fact get one...one bad-ass that is - Alek King of SC4

RippleJet

#45
Thanks Stéph, you took the words out of my mouth! ::)
EDIT: Allan, can you check the size of the network subfile in your cities?


Regarding the size of that network subfile in my own cities, I noticed that Dublin above actually isn't my largest city, even by far.
My largest city (about 10 times the size of Dublin) is the one that I originally tested CAM in.
That one has a network subfile size of only 695,262 bytes.

Dublin is the city I've been testing all the seaports in, and thus a city that I've saved and resaved quite often (which I suppose is what those running MD's often do as well)... whatever that information is worth...

Rayden

I've checked my Shosaloza and Little Italy cities and the biggest have around 2.3 Mb size, so, I guess only the ones close to full filled and on large quads would be more likely to have sizes over 6 Mb. &mmm

RippleJet

Quote from: Rayden on February 27, 2009, 03:08:46 AM
I guess only the ones close to full filled and on large quads would be more likely to have sizes over 6 Mb. &mmm

And those are the cities you've been developing for ever, and do not want to loose... &mmm

callagrafx

I need to clarify something in my mind....

You will only encounter this problem IF your Network filesize exceeds 6MB while the problem files are still located in your plugins folder, correct?  If you remove the problem files (or in the case of the BSC prop pack, update it) before the network file passes the golden number, you will be OK?

Oh, and just in case you missed it, thanks to Pegasus for clearing the issue up  ::) ::)  

The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it

RippleJet

Quote from: callagrafx on February 27, 2009, 03:23:21 AM
You will only encounter this problem IF your Network filesize exceeds 6MB while the problem files are still located in your plugins folder, correct?  If you remove the problem files (or in the case of the BSC prop pack, update it) before the network file passes the golden number, you will be OK?

No...
...at least not the way I interpret this:

Quote from: bap on February 24, 2009, 08:48:11 AM
I uninstalled and installed the game again from scratch, without performing the EP1 and BAT nightlightning upgrades. I also removed all lots from MP folder and started developing test City #1 only with Maxis lots. No custom lots. I saved a copy of the City #1 when it had 13 Mby for future tests. When the city reached 14 Mby (the network subfile reached the magic 6 Mby limit), Prop Pox made its appearance.  I was about to believe there was some silly limitation intrinsic to the game when I realized I grew the city with all custom dependency props at PP folder. Whatever caused Prop Pox it was still there, being read by and affecting the program. (it sounded an obvious after thought, that if one is looking for a problem affecting props, one should concentrate on props and not on building or lots.) I tried removing the custom props from PP folder and further developed the pre-Pox saved version of City #1. It got Prop Pox when it reached 14 Mby. Even if the cause of Prop Pox is no longer in your game folder, if your city has been saved while the pox "virus" was there, you are infected and will get Prop Pox.

callagrafx

So, if you have any LOTs that use the problem props, they are also "carriers", as such and would still cause the Pox, if they remain?  What about if these are removed too?  Sorry, just trying to simplify....

The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it

RippleJet

#51
Quote from: callagrafx on February 27, 2009, 04:05:14 AM
So, if you have any LOTs that use the problem props, they are also "carriers", as such and would still cause the Pox, if they remain?  What about if these are removed too?

That would require you to identify all in-game and all custom lots using certain Maxis props (which have been used by virtually every lot builder, especially those aiming for no dependencies) that some time, somewhere have been modded without giving them a new TGI address.

And we still don't know if that would actually cure the city...

wouanagaine

Following Pegasus on his site, I take the liberty to post my thinking here:

Pegasus deny of the Prop Pox cause is based on the fact modified props don't crash or produce the prop pox and lot of such props has been done
I mostly agree with him on that point

Where I disagree, is that no one tried to make the same thing ( ie modifying a prop like Bap described ) with a 6Mb network sub file. Given the replies here and at Simpeg we can all conclude that it is hard to get to that size, this is also why there is not so much people experiencing it.

If someone have a ~6Mb network subfile, then we can test the assertion that modified props don't crash or produce the prop pox no matter what the others parameters are

But where I totally disagree is that Pegasus is focussing on the fact that Bap explanation about memory overrun problem ( guessing on how a game written 8 years ( and even more ) ago is actually performing memory allocation - remember game programming is my working job ) instead of focussing on the fact that :
With an empty plugin => no prop pox
With an empty plugins but thoses modified prop => prop pox


Maybe Bap explanation about the memory problem is not true, but who really care, there is a problem with such props and the main visible difference with other props is that they are using same TGI. maybe there are other explanation, but the fact is there, theses props are the problem.

Given Pegasus is clearly against finding what might be the real problem with his props, and until someone find the exact cause ( if the memory one is not the one ) I suggest to follow Bap advice to remove the props from the offending dat file. But I really think it is Pegasus responsability toward the communauty to remove them and re upload the files. It will take him 2 minutes of his valuable time and will hopefully reduce the prop pox occurence.






New Horizons Productions
Berethor ♦ beskhu3epnm ♦ blade2k5 ♦ dmscopio ♦ dedgren ♦ emilin ♦ Ennedi ♦ Heblem ♦ jplumbley
M4346 ♦ moganite ♦ Papab2000 ♦ Shadow Assassin ♦ Tarkus ♦ wouanagaine
Divide wouanagaine by zero and you will in fact get one...one bad-ass that is - Alek King of SC4

snorrelli

Wow, bap... An answer after all these years... I'm stunned. Thanks so much for your patience and careful research.  :thumbsup:

Although I can't understand the unwillingness of any creator to make a simple fix if there's even a chance his or her creation may be causing problems for users, I will happily modify the offending files myself. Can we make a list of "known offenders?"
Have you ever had the Prop Pox? Join us to help find a vaccine or a cure.

Totuna e dac-ai murit flăcău ori moş îngârbovit;
Dar nu-i totuna leu să mori ori câine-nlănţuit.

BarbyW

I have checked BSC prop packs and corrected the only one I found with problems.
The only way to find possible problem props - I stress possible - is to check packs in Reader and look for incidences of props with a GID of 0xc977c536. These need then cross checking against simcity_1.dat to see if the IID has been changed. If it hasn't but the exemplar has been modded then this could cause a problem. Once that has been found then all lots containing that exemplar need bulldozing before the file has its IID changed. This will not cure the Prop Pox but may prevent it in future.
Maybe some of the community might like to compile a list.
Inside every old person is a young person wondering what happened. TP



Barbypedia: More alive than the original

Diggis

OK, have been talking to Barby about repairing her files and whether the lots need to be updated or not.  This is from a new user point of view.  From what I understand, any city that has been built while one of these files is installed is going to get the Pox.

As I understand it the issue is making a static Maxis prop into a timed one without giving it a new IID.  To repair this issue all props that have been modded in this way need to be given a unique IID.

If this is a stand alone prop (ie not in a family) then any lots that have used this prop will reference the original static prop, not the timed version, if they are not updated.

If this prop is part of a family then the family would need to be updated with the new prop IID and have the Maxis one removed, meaning any lot that references the family will get the new IID.

So it sounds to me that the lots DON"T need to be updated, unless you want the timed prop on lots that had the stand alone prop.

Can someone with a better understanding of game machanics pick holes in my agrument (or preferably confirm what I saying  :P)?

Ennedi

I'm not a programmer so forgive me if my questions will be unprofessional or simply stupid  ;D

1. Is it possible that such coincidence can exist between a custom prop and another custom prop? I can imagine that somebody modifies a prop created by another person, leaving its ID.
2. Is it possible that terrain textures could cause similar problem? I must explain it. The FSH file of terrain texture can consist of 1 or 2 PNG files, and it can have an alpha file or not. Let's imagine that we replace Maxis terrain texture consisting of 1 PNG by custom texture consisting of two PNGs. There will be more bytes of information about this second texture (am I right?), and the ID will be of course the same.
We can also make custom lot textures which have up to 4 "subtextures" appearing randomly. If they have unique IDs, everything is OK. But if somebody use them to replace any Maxis texture?

As an official SC4D Landscaper  :D I felt the responsibility for checking something connected with ploppable flora and another similar stuff. You say that 2977aa47 subfile shouldn't exceed 6 MB. We can guess that using a large amount of ploppable trees can increase the savefile size significantly. It concerns also everything what we can find in the flora menu, ie. ploppable rocks, water and ploppable props made using the "Plopperizer" technique, such as Barby's new tractors and military vehicles. So I asked myself:
- Does ploppable flora increase the 2977aa47 file size and how much?

I made the following experiment:

1. I opened the new, clean large city file. 2977aa47 doesn't exist.
2. I covered all the tile by God Mode trees (Olympic Terrain Controller). 2977aa47 didn't appear. The same for another clean city tile covered by Mayor Mode trees. (This time I covered about 1/4 tile)
But where the game saves an information about flora? After some searching I found this place. This is a9c05c85 subfile. It doesn't exist in empty city savefile too and appears fter plopping first flora. If the large city tile is completely covered by trees, the a9c05c85 subfile has 1 587 175 B (1,587 MB). Quite a bit. It will be much more if we will use small props such as grass or small bushes. Why? Because the game saves an information about every prop - its ID and coordinates (x,y,z).

I made some experiments plopping trees, then Jeronij's TPW, then Barby's tractors one by one, saving the game each time and opening the city savefile. Of course I was only able to look at the code and check how much rows I see, if they change or not, and how much increases the file size. Here are results:
- every prop increases the filesize by 30-100 B. Not too much. 3 average trees + 1 tractor = 178 B.
- Some trees add 1 row of code to the file, but usually one prop adds 2 rows of code. At this occasion I checked that every prop is described (it would be possible that every tile would by described). Placing 5 identical small bushes on one tile I achieved 5x2 identical rows of code.

Conclusion: Everything from flora menu leaves an information in another subfile, not 2977aa47. So extensive use of flora doesn't increase this subfile size, so - knowing what you say - it doesn't increase the risk of Prop Pox.

I made also some other experiments. 1 average building increases the 2977aa47 filesize by 1,5 - 2 KB. Transit networks without buildings doesn't increase this file size. More experiments to come  ;D

Adam
New Horizons Productions
Berethor - beskhu3epnm - blade2k5 - dmscopio - dedgren - Emilin - Ennedi
jplumbley - moganite - M4346 - nichter85 - papab2000 - Shadow Assassin - Tarkus - wouanagaine

Andreas

#57
Thanks for those experiments, Adam. Since plopping a building increases the subfile by some 1 or 2 kB, I would assume that the game stores an entire copy of the building exemplar file. This seems to be true for civic buildings as well, which is causing all those "phantom slider" bugs if you edit a building's budget or capacity properties without bulldozing all instances first. Since the values from the modified exemplar file clash with the ones that are stored in the savegame, the budget gets completely screwed up and your budget sliders slowly go to zero over the time. I would assume that the game also stores a copy of all prop exemplar files in the savegame, this is why it can reach some 6 MB in large cities with lots of items. One should test thís by plopping a lot with a single prop and then using a modified (i. e. timed) prop and see if there's any (ever so slight) difference in the filesize.

I don't think that textures are creating any problems, though, since you can edit the textures on a lot, and after loading the game again, the textures are changed - however, plopping a lot when some props are not installed won't get back the props if you install the dependency files afterwards, so you have to bulldoze the lot and replop it. Maybe texture references are stored somewhere, but apparently not in the network subfile (and you already found out that flora items are stored somewhere else as well).
Andreas

Ennedi

#58
Quote from: Andreas on February 27, 2009, 11:54:07 AM
Thanks for those experiments, Adam. Since plopping a building increases the subfile by some 1 or 2 kB, I would assume that the game stores an entire copy of the building exemplar file. This seems to be true for civic buildings as well, which is causing all those "phantom slider" bugs if you edit a building's budget or capacity properties without bulldozing all instances first. Since the values from the modified exemplar file clash with the ones that are stored in the savegame, the budget gets completely screwed up and your budget sliders slowly go to zero over the time. I would assume that the game also stores a copy of all prop exemplar files in the savegame, this is why it can reach some 6 MB in large cities with lots of items. One should test thís by plopping a lot with a single prop and then using a modified (i. e. timed) prop and see if there's any (ever so slight) difference in the filesize.

Yes, the game stores an entire copy of the building exemplar for every building placed in the city. But these exemplars are outside of our "critical" subfile.
Yes, it is true for civic buildings as well, I checked it for power plant and water tower.

Edit: Your proposition, Andreas, about careful checking the subfile size with a single prop can be difficult to perform. I noticed small but strange changes:
- After opening the game, doing nothing and saving, the subfile size increased by 19 B.
- After placing the Wave3 Freestream Mod (1 piece) the subfile size decreased by about 20 B. And I didn't bulldoze anything!
New Horizons Productions
Berethor - beskhu3epnm - blade2k5 - dmscopio - dedgren - Emilin - Ennedi
jplumbley - moganite - M4346 - nichter85 - papab2000 - Shadow Assassin - Tarkus - wouanagaine

BarbyW

#59
Been doing a small test.  After each change I ran the game saved and exited.
Medium city tile
No custom stuff at all.
Opened city, named city. Savegame file size 226k
Plopped wind turbine. Savegame file size 227k
Plopped community garden. Savegame file size 229k
Plopped small park green Savegame file size 232k   Network file appeared

Added Peg's Trail Park Fountain Plaza to plugins
Plopped plaza Savegame file size 247k   Network file 3667
Bulldozed plaza Savegame file size 234k Network file 747

Removed Trail Park fountain Plaza
Added Trail Parks 305a
Plopped a single section  Savegame file size 234k Network file 1010
Added a x3 section   Savegame file size 236k   Network file 1641
Added single tile plaza  Savegame file size 238k  Network file 2584
Bulldozed all trail park pieces Savegame file size 240k Network file 748

I am using these files as they have no external dependencies but do contain modded Maxis props with original TGIs. I shall continue tomorrow with some BSC stuff.
Inside every old person is a young person wondering what happened. TP



Barbypedia: More alive than the original