• Moose
  • Announcements

    • Dirktator

      Please help us for July   06/30/2017

      This month we're hoping for a little bit of a boost this month or next, in addition to covering the regular bills, we could benefit from some hardware upgrades. STEX Collector's Set gifts can now be sent to you via digital download as well as regular mail if you wish! Every donation dollar goes toward keeping Simtropolis online and humming along. Your contribution counts! Hardware Upgrades As our website community software improves with more and more features, and as we bolt on additional features such as chat, the increased load to handle all these new toys is taking the server a bit to task. You may have noticed that we'd been forced to temporarily disable the chat as we worked out allocating resources for more optimal performance. Following this, we've applied a number of 'soft' changes such as caching options and experimented with server configurations (nginx as proxy, for example), so the hardware aspect is also an area we'd like to focus on. The last time we upgraded hardware was back in 2012, prior to the release of SC13. Your contribution means a lot! Your donation will go toward helping us to 1.) migrate to a newer server or 2.) at least get some ram/cpu/storage updates and any other infrastructure hardware or services. Donate and Get a Gift or Donate Any Amount Thanks so much! - Dirktator & The Admins
  • Sign in to follow this  
    Followers 0

    Why do we need the BSC-Simtropolis Indices?


    SimGoober

    By Kevin and SimGoober

    What are the BSC-Simtropolis Indices?

    When the SC4 community began adding custom content to the game, there was a lot of tinkering going on. Many mistakes were made, but we learned from our mistakes. About the time it became possible to add custom textures (base or overlay) to the game, it was figured out that the number ranges used on these textures was very important.

    The indices are records of the number ranges (Instance IDs) assigned to individual developers. The goal is to prevent possible duplications and conflicts.

    Um . . . duplications and conflicts?

    Yes, if two developers happen to use the same numbers, and a player decides to download both of their lots, it could cause a conflict. The lots wouldn’t work and the game itself could be frozen, depending on where the conflict is exactly.

    So, the purpose of using the indices is so developers don’t trip over each other’s feet and keep things working for the players?

    Exactly. Not using the indices can mess up the game. Think of it as two different things trying to use the same “space” in your computer. Computers don’t like that.

    Ok, back up a bit… what are these numbers for?

    The "vanilla" game is made up of several data files, which have the extension ".dat" . Inside these files are numerous smaller "files" which tell the game just about everything as to the content of the cities. Props, Buildings, Automata, Textures.. etc. These files are tracked using a set of 3 "numbers", expressed in hexadecimal format.

    Wait… hexadecimal?

    Hexadecimal is base 16 instead of base 10. (Remember in class when you did math using different bases?) The “numbers” go from 1 to 16 (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F), instead of our normal decimal system (0 - 9).

    All of the "numbers" are 8 digits long. When you put 8 hexadecimal characters in a chain together, the possible combinations of those numbers are in the billions...

    Thanks, now back to these Instance IDs…

    These three sets of numbers are further defined; the first set defines the "Type", the second set the "Group", and the third the "Instance". Thus, this defining number is called the "TGI" of the file. Sometimes, each individual element is referred to as an ID. So an IID is the Instance ID of a file.

    Still not making sense… could you go into more detail?

    As you might imagine, the Type refers to what type of file you are dealing with ; a Texture, a Prop, etc. Groups are similar. Then the Instance is the unique number assigned to this particular thing.

    So what does this all have to do with the index?

    Some of the IIDs must be formatted a certain way. Base and overlay textures, for example, read each digit, and some of them tell the game things about this texture: Which zoom level it is used for, which wealth level... etc. So the possible random combinations of these IIDs is much smaller than for other types of files.

    This is why it was decided to keep a record of these numbers, and then later decided to assign ranges to individual developers. This helps prevent possible duplications, and conflicts, in these numbers. Tutorials were also written on how to format these numbers correctly.

    Thanks… who figured this all out anyway?

    The people who did most of the initial research to figure this out were Geoffhaw, Daeley, BarbyW, SimGoober, and Pegasus. Others were also involved; and input was accepted from everyone. Since all of the people mentioned were members of BSC, it fell upon the BSC to maintain the indices.

    All SimTropolis members making custom content are welcome to request individual ranges. There are indices for the two most commonly used types of Instance IDs : Textures (base or overlay) and Building/ Prop families.


    Sign in to follow this  
    Followers 0


    User Feedback


    There are no comments to display.



    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an Account  

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


    Register a New Account

    Sign In  

    Already have an account? Sign in here.


    Sign In Now

  • New Articles

  • Recently Browsing   0 members

    No registered users viewing this page.