Jump to content
Mayor Failure

Can Maxis buildings be blocked completely?

9 posts in this topic Last Reply

Highlighted Posts

Posted:
Last Online:  
 

DISCLAIMER: I am a total noob with no idea what I'm doing, but boy do I like to tinker. :D

 

I would like to know is there a way to block Maxis buildings entirely from the game. I know there are some blockers in existence, I have one from DT and one from BSC team.

From what I see in reader, one achieves this by removing tilesets (CHI, NY, HOU, EUR) from exemplar while other does it by setting growth stage to 255.

I don't doubt they both prevent buildings from growing however those are still accesible by extracheats buildingplop, plopallbuildings, plopalllots....

I would like to filter custom content also by checking it in game (with specialized plugins folder for that purpose) without the need to search for it in a long list cointaining original maxis stuff.

So I would need a way to effectively not recognize them as a building (probably). I noticed that plopalllots will plop also airports etc while plopallbuildings will not, so maybe  I could achieve this by changing certain property?

Considering first sentence I might be trying to bite more than I can chew or tackling the problem from wrong angle but asking around can't hurt...

Share this post


Link to post
Share on other sites
Posted:
Last Online:  
 

Hello,

check this out:

 

  • Like 1

<<< German , so excuse my English. I forgot the most over the Years. Sad, if you cant spell a Language every Day.

Feel free to ask away, i´ll answer any Questions you are asking for. But you must be warned, i bite ;-)

URL: https://simforum.de/index.php?forums/18/

Oliver

Share this post


Link to post
Share on other sites
Posted:
Last Online:  
 

@City_Slider it sounds like @Mayor Failure might already have that plugin.

3 hours ago, Mayor Failure said:

DISCLAIMER: I am a total noob with no idea what I'm doing, but boy do I like to tinker. :D

 

I would like to know is there a way to block Maxis buildings entirely from the game. I know there are some blockers in existence, I have one from DT and one from BSC team.

From what I see in reader, one achieves this by removing tilesets (CHI, NY, HOU, EUR) from exemplar while other does it by setting growth stage to 255.

I don't doubt they both prevent buildings from growing however those are still accesible by extracheats buildingplop, plopallbuildings, plopalllots....

I would like to filter custom content also by checking it in game (with specialized plugins folder for that purpose) without the need to search for it in a long list cointaining original maxis stuff.

So I would need a way to effectively not recognize them as a building (probably). I noticed that plopalllots will plop also airports etc while plopallbuildings will not, so maybe  I could achieve this by changing certain property?

Considering first sentence I might be trying to bite more than I can chew or tackling the problem from wrong angle but asking around can't hurt...

It's an interesting question. One thing to try would be to create a patch with some Maxis buildings/lots, delete all of the properties you can from each exemplar, and then test whether those files still appear in the "buildingplop," "plopallbuildings," and "plopalllots" cheats? If so, then you just need to repeat that process with all of the Maxis buildings and lots (you could use the "find a property" feature in the exemplar analyzer feature of iLive's Reader to search for common properties and delete them in bulk, which might make this less time intensive than deleting them file by file).

  • Like 1

🚜 Get well soon, Cori! 🚜

Share this post


Link to post
Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     

    Chainsaw approach, eh :D

    Thanks for the tip. Tried that with few buildings and was rewarded with CTD when loading (new empty) city tile.

    Will be fooling around some more and let you know if I manage to get some results.

     

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    As far as your reference to plopalllots vs. plopallbuildings, the first searches your Plugins folder for all Lot Exemplars, and plops each Lot found (with all items referenced in the Lot Exemplar) once. You may end up with several lots that use the same building model. The Lot Exemplar for the Airport references the one Building Exemplar allowed for each Lot, and roughly 1200 other TGIs referring to either Props or Textures. The second searches for all Building Exemplars and plops each Model found (as referenced in the Building Exemplar) once. The only Building Exemplar for the airport is the terminal building. Everything other building on the airport grounds is actually a prop.

    Correct me if I'm wrong. After re-reading your post, especially with your reference to custom content, it sounds like what you really want to do is block the appearance of all Maxis models. BTW, what about Maxis models for rewards, business deals, LM, Civic Buildings, etc. Do you wish to also block them?.

    There is NO common characteristic among original Maxis content other than the fact that all items used by the game exist inside the Maxis game files. All existing Maxis blockers operate by containing copies of either existing Maxis Lot or Building Exemplars that have one or more properties modified to prevent these from growing, based on the IID of the modified exemplar overriding the IID of the original Maxis Exemplar. They do not in any way prevent the appearance of Maxis models. Models can be used in any custom content without any reference to the original Maxis Lot and Building Exemplars.

    I can't think of any way to "filter" anything in-game. When the game loads your Plugins folder, it is essentially only reading IIDs. If there is more than one copy of a specific IID, the game only uses the last one loaded. The game itself has no way of "filtering" anything. The game loads and uses all Maxis items unless something overrides them. Thus, I'm assuming you're actually just talking about testing for the existence of Maxis models.

    There is no way to override models. If the game detects an invalid model, you get brown boxes. The only reference to which model is used on a particular lot is inside the Building Exemplar in the Resource Key Type 1 property. Its value is the TGI for the model used. While one can open any exemplar with a text reader, because the actual format is DBPF (which you can read more about here: https://wiki.sc4devotion.com/index.php?title=DBPF), most information is indecipherable. This means that unless one has a program that can read the DBPF format, one cannot easily search for the TGI of a specific Maxis model programmatically without a special program that reads that format (such as PIM-X, Maxis Lot Editor, SC4 DataNode, etc.). Otherwise, if one was a programmer, one could probably create a program that includes a database of TGIs for all Maxis models (650+ models for RCI buildings alone), and then use a manually input TGI (or group of TGIs) that one wants to search for. Or if one uses either PIM-X or DataNode and a Plugins folder empty of everything except that custom content one wants to test, you can check on the source of the models used by that custom content.

    You also have some hints with downloads of custom content. As everyone should know, if you use a model created by someone else, you have to list that model as a dependency. However, this is not necessary if it is a Maxis model, as the model is obviously included with the game. If you come across a download that does not list someone else's model as a dependency, and doesn't include a model file by the content creator in the download, it is almost certainly using Maxis models.

    You have a further complication with the existence of several Buildings as Props packages. They also refer to Maxis models.

     

    • Yes 1
    • Thanks 1

    Share this post


    Link to post
    Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     

    Thank you, that was very informative and well structured.

    So filtering is out of question and blocking models is not advisable (even if possible) as it could and will mess up custom content. Given the limitations maybe there are alternatives with subpar but better-than-nothing result.

    To clarify what I want - when using mentioned cheats in only certain scenario (not actualy playing the city), I don't want to see Maxis stuff when looking at terrain. But I want to see dl content.

    Let me know if I got basics (mostly about exemplars) right:

    1) Each ingame »object« carries unique TGI. If two have the same TGI, last one loaded will prevail.
    2) All exemplars are Type 6534284a, Group defines type of exemplar (67bddf0c = residental building, a8fbd372 = lot, c977c536 = prop, etc.)
    3) Exemplars can be part of family where common data is written in Cohort; it's TGI is in ParentCohort property. Cohorts can also have Parent Cohort.
    4) In downloadable content lot exemplars are usually in SC4lot, buildings in SC4desc and models in SC4Model filetypes. Prop exemplars might be in SC4lot or SC4desc, but it doesn't even matter as:
    5) File names (and even filetypes) are for humans only. One could rename files, change filetypes or pack hundreds of them in a single dat and the game »wouldn't care«. It will just try to read DBPF data from any file in plugins folder.
    6) Visual models are referenced in Building (or prop, flora, etc…) Exemplar in property Resource Key Type 1
    7) Lots cointain exactly one reference to Building exemplar in LotConfigPropertyLotObject(data) group of properties (v13 = IID where v1 = 0x0), not necessarily in first one.
    8) LotConfigProp_etc. group of properties also contain references to props, textures... and Lot exemplar can contain over 2000 of those properties (and in case of mentioned Airport comes close to this number).

    So:

    A) plopallbuildings checks Building exemplars to get model TGI and then plops it on a terrain. If I would patch those exemplars and update TGI to the one of e.g. Small Grass Area "Building" model, game would still plop them and clicking on them would tell me that it's Reflex System Inc, but I would see just a patch of grass (or not even that). Custom content, even if using Maxis models, would not be affected. No idea how the game decides on next model to plop when running that cheatcode, but might help to know.

    B) Something similar might be done for plopalllots, which I would prefer, as it takes about 2 minutes to process (just Maxis stuff), while building ploping takes closer to half an hour (why? Is it »lotting« those models on the fly or what?). Basic idea is to try and create a cohort that holds most parameters including reference to »grass area« building exemplar and delete all properties on patched lots except Exemplar Type, Name (maybe even that if not needed) and of course Parent cohorts which would be updated to TGI of cohort. But unless there is a quick way to (almost) strip clean many exemplars at once that sounds like a lot of dull work due to lots of LotConfigPropertyLot properties some lots contain (many more than use of lots in this sentence *:D), even with Analyser feature BartonThinks mentioned, so is probably not worth the effort. 

    C) As for filtering, guess I'll have to do with Changing Exemplar Name property on patched exemplars to zzzzzz, so Custom content will be listed first and original at the end.

     

    You're all very welcome to explain why those ideas wouldn't work (or if they would, how to execute them in most efficient way or even if better alternative exists to reach my goal).

     

    EDIT: seems there is no lot config cohorts? So would have to put those properties directly on exemplars....


      Edited by Mayor Failure  

    new knowledge
    • Like 1

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    @Mayor Failure OK, looks like you've got all the referenced basics nailed.

    You've cleared up the "what" that you're trying to accomplish (i.e. you don't want to see Maxis content when using one of the plop "cheats"), but I'm afraid I still don't understand the purpose for doing so, i.e. the "why" (maybe I'm just being dense!). This bit of information might suggest other possibilities to me and/or others.

    Just some stats to inform the scope of what you would be working with:  SimCity_1.dat includes 744 Building Exemplars, and 1909 Lot Exemplars (RCI and non-RCI lots)  (numbers derived from SC4 DataNode).

    There are cohorts for Lot Exemplars, but the only ones I've found are for things such as building foundation, retaining walls, and slope tolerance. So one could create additional cohorts.

    There is no way I could find to bulk delete properties from a number of exemplars at the same time. It wouldn't work anyway for Lot Exemplars, as each one is going to contain different numbers of Lot Object properties. One can delete multiple properties within a single exemplar. Also if anything is removed or added, the Lot Exemplar needs to be re-indexed. This can only be done individually. I think there is a way to bulk change the value for the same properties within multiple exemplars, but never having done so myself, I don't know for sure, or how that would work.

    I think you did miss something with your A) and B), i.e. whatever changes you make to the Building Exemplars will apply whether you use plopallbuildings or plopalllots

    So, barring any new information,  I think this would be the process for you:

    1) Make a new .dat with copies of all the exemplars you want to modify. Since the intent would be to override only the Maxis originals, the name of the dat wouldn't need any "zzz" in the name as any file in your Plugins folder will be loaded after the SimCity_x.dat files -- unless I'm missing something with your C), i.e. listed where?
    2) Make your change to the Resource Key 1 property either individually or in bulk if possible.

    If you use plopalllots, you will still get all the lots with all the referenced textures and props, but will have only the essentially "blank" model to replace what was there before. If plopallbuildings is used, then you get whatever base texture is used in the referenced model (I'm assuming some shade of green representing grass).

    Some additional thoughts:

    1) If you would rather use plopalllots and would rather not see props and textures either, in addition to removing all those references, you would need to create a single new Building Exemplar that includes the reference to your grass "building" model that would replace the referenced Building Exemplar within each Lot Exemplar. However this would have no effect on plopallbuildings.

    2) So bottom line is that you are looking at modifying almost 750 Building Exemplar, or roughly 1,900 Lot Exemplars, or both.

    3) Just to throw a possible monkey-wrench into your plans: I seem to recall running into instances where custom content used the original Maxis Building Exemplars (after all a building is a building whether it's on a 2x2 lot with a couple of tree props, or on a 6x6 lot with a swimming pool, a barbecue pit, and an extra garage). I don't remember there being a large number of occurrences, but I do remember some.

     

    • Like 1
    • Thanks 1

    Share this post


    Link to post
    Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     

    There is no higher goal in this. I plan to build new (extensive) plugin folder and visual appearance plays a part, so I want a quick and simple way to check how downloaded content actually looks in the game. For example, I have 50+ different w2w townhouses and want them all plopped on screen to see how they match, how they mix, which ones I find aesthetically pleasing and which ones seem like an eyesore to me. Having thousand(s) of items included in original content plopped at the same time makes it hard for me to even locate them. Same goes for finding this things in huge menu when doing individual plops. I am well aware it's quite a scope so I wanted to check first if there are major flaws in my thinking if I actually get to do this.

    Bulk delete of single exemplar property from all exemplars can be done with analyse feature mentioned earlier but since it's about 2000 exemplars and each one possibly holding 2000 different properties (in case of lots) it doesn't help. Bulk update of single property can be done the same way so updating Building exemplars would be quite trivial, but it seems I'm actually after lot exemplars here.

    Regarding C) it has nothing to do with .dat naming, what I had in mind is mass update "Exemplar name" property. That would make individual plopping easier as all custom content would be on top of buildingplop or lotplop menu (depends on which exemplars would be modified) and all Maxis stuff would be at the bottom named zzzzz (or so I hope).

    Sorry for my ignorance, but what is the deal with re-indexing? What it does to exemplars and what happens if they're not re-indexed after edit?

    So, barring additional knowledge it seems I would first have to create dat containing copy of all Lot exemplars, then go through them.  Modify relevant properties, delete the rest and reindex the exemplar. Repeating that 1900-something times. 

    Or create dat of building exemplars, mass update RKT1 and Exemplar name, and not re-index (depends on the consequences), but that way I only get to check building models, not the actual lots with all the props and additional textures.

    Also, is the order of plops when processing plopall command known? Would help to know if "grouping" of plops can be affected (putting all Maxis "green patches" together and separated from rest of content).

    Share this post


    Link to post
    Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     

    Thanks for all the tips. Based on that I decided to modify Lot exemplars and turn all (1900) into small grass areas. Result (mixed with some community content) can be seen on pic and is quite close to what I wanted. Guess I could try to change base texture and find that Living Mall exemplar I missed, but I'll leave that for another day. My "filtering" workaround also works.

    I still wonder what's with Lot reindexing? I did that on first 100 or so, but then gave up. Things seem to load fine in the game (atm).

    AllGrass.jpg.de14df2c77213be9877ca48c70bedb15.jpg

    • Like 1

    Share this post


    Link to post
    Share on other sites

    Sign In or register to comment...

    To comment in reply, you must be a community member

    Sign In  

    Already have an account? Sign in here.

    Sign In Now

    Create an Account  

    Sign up to join our friendly community. It's easy!  

    Register a New Account


    ×

    Thank You for the Continued Support!

    Simtropolis depends on donations to fund site maintenance costs.
    Without your support, we just would not be in our 24th year online!  You really help make this a great community. *:thumb:

    But we still need your support to stay online. If you're able to, please consider a donation to help us stay up and running. This helps sustain a platform where we can share our community creations for years to come.

    Make a Donation, Get a Gift!

    Expand your city with the best from the Simtropolis Exchange.
    Make a Donation and get one or all three discs today!

    STEX Collections

    By way of a "Thank You" gift, we'd like to send you our STEX Collector's DVD. It's some of the best buildings, lots, maps and mods collected for you over the years. Check out the STEX Collections for more info.

    Each donation helps keep Simtropolis online, open and free!

    Thank you for reading and enjoy the site!

    More About STEX Collections