Jump to content

simmaster07

Member
  • Content Count

    907
  • Joined

  • Last Visited

  • Most Liked  

    4

6 Followers

About simmaster07

  • Rank
    City Slicker

Contact Methods

Profile Information

  • Gender
    Male
  • Location
    New York, NY
  • Interests
    Systems programming, reverse engineering, jazz-influenced rap
  • City-building game(s)
    SimCity 4
    Cities: Skylines

Recent Profile Visitors

4,714 Profile Views
  1. Congrats to all the Trixie winners and nominees! And thanks to those who nominated me for Modding Discovery, I really couldn't have done it without the support of the community. Had it not been for the previous discussions about DLL modding (especially including Buggi's source code post), my collaborations with other modders, and the encouragement to reach out to EA developers, I would not have picked up these projects or even tried to learn the skills necessary to pull them off. Despite the bumps in my early years here, ST has made me a better and more mature developer, so thanks to all of you! And thanks to the site staff for working tirelessly to bring the Trixies back, it's great to have this celebration of the community back again!
  2. Definitely helpful, but can you copy the link again with the decryption key included, or upload somewhere else?
  3. This is a bit of an odd request but @nRVOUS can you upload your pox-infected savegame somewhere like MEGA and send me a link? I've been trying to intentionally infect my own city tiles but I don't think the prop subfiles are large enough yet to allow me to reproduce it with conflicting PEG prop definitions. Sending the plugins folder is not necessary.
  4. Simtropolis 9.0 Site Upgrade

    Pretty cool stuff, loving the new forum features! I just went to check out the city journals section for the first time in a long while, though, and was surprised to see it pulling 232MB of content before I even opened one of the CJs in detail. This isn't an issue with the new update since it looks like it's been like this for a while, but it seems to have to do with the site downloading the entire contents of the CJ entries shown on the front page — including the high-res images — even if nothing below the first image is shown. Is there a way to change this behavior?
  5. Sharing Plugins Folders - Discussion

    Not sure this is necessary to ask; by uploading a file to the STEX you've implicitly given Simtropolis the right to host and distribute your work, and this would be transferable to any site that succeeds Simtropolis. For instance, the rights to host cities uploaded to SC3000.com were handed off to Simtrop when Wren transferred control to Dirk.
  6. Regarding #1, holding down shift as you place the zone will disable automatic street placement and holding down alt will rotate the zone to face a perpendicular road.
  7. A couple of quick new notes: First, I figured out that you can actually override game behavior completely by changing a single parameter in the DLL source code to indicate you have a more recent version of whatever you're trying to override. However, you can't override individual functions — you have to reimplement and override the entire class containing what you're trying to modify, from top to bottom. For complex interfaces like the lot developer this is somewhat of a nightmare. Secondly, I found out that (just like everything else in the game) the graphics subsystem is also made up of code similar to a DLL plugin, just baked into the game. What's more interesting is that "SimCity 4.ini" allows you to load custom graphics drivers if you know their unique identifiers (and they exist and implement the graphics interface). This means that the old DirectX 7 renderer (which is 18 years old and not optimized for modern hardware) or OpenGL (which has been broken) can be replaced with new, modern implementations. As a proof-of-concept I wrote a dummy DLL with the same graphics interface but no functionality: https://github.com/nsgomez/SimGLDx11/releases/tag/experiment-0 If you drop this in your Plugins folder, you should get a "Hello!" message. However, adding the following lines to "<Install Directory>\Apps\SimCity 4.ini" will force the graphics system to use the new driver and give an "Init" message before exiting. (None of the graphics functionality is actually implemented, so this is fine). [Graphics Drivers] OpenGL =SimGLRef.dll, C4554841 Software=SimGLSoft.dll,7ACA35C6 D3D7 =SimGLDx7.dll, BADB6906 D3D11 =SimGLDx11.dll, 5896AB0D Removing the D3D11 line changes the game back to its standard settings and allows it to load again without having to delete the DLL itself. It's also possible to override the D3D7 driver entirely instead of creating a new one, but if the new driver gets deleted this makes it slightly harder to get the game back to a working state since it starts associating DirectX rendering with a driver that no longer exists.
  8. Cheats Update

    I'm not really sure how much more I can water it down. The cheats that have been undocumented up to this point were made for the sole purpose of debugging the game and content being created for it, and they would only be of relevance to modders who would understand some of the terminology there.
  9. Cheats Update

    Adv For debugging the advice system. Can take the following parameters: -refresh - Reloads the advice system as if you just loaded the city -reload - See -refresh -print - Unknown -trigger <id> - Triggers an advice message -guids <on/off> - Unknown controllers <on/off> When turned off, certain automata controllers (such as the commotion automata when building landmarks and rewards) are disabled. CreateException Intentionally crashes the game without question, hence the name of the cheat. Seems to be intended for debugging the crash dump system. Effect For debugging visual effects. Can take the following parameters: kill - removes effects which are not attached to an entity, i.e. those created exclusively through this command save - the result of this command is inaccessible on retail builds load - not fully known; seems to try to load a resource with the ID 0xca51189b (for effects?) showMaps - shows visual maps, not 100% sure, probably related to pollution. See screenshots below clearMaps - resets all maps to zero before being regenerated by the game over time prop [optional: <name> [optional: <x> <y> [optional: z]]] - not sure; might create an effect at the given coordinates. If none given, defaults to "pothole" Above: A game without and with showMaps ForceIdle - does not force the game to use more CPU power, instead this forces an idle tick, which in turns forces the game's resource manager to perform garbage collection to unload resources that are no longer being referenced. Running this command frequently may actually adversely affect performance. HeapCheck - this toggles a flag in the effects manager, but this flag isn't actually used by anything, so this cheat code doesn't really do anything interesting. NoCSI - CSI stands for City Situation Indicator. City situation is a fancy way of saying missions. Using this cheat code hides UDI indicators for missions; you can also do this from the U Drive It menu, but this cheat code forces it even if mission indicators are enabled there. RenderProp - Does not do anything. There's a component that registers this cheat code, but there's no code to actually handle this cheat code. RP - See RenderProp Tutorial - Only useful when in a tutorial. Takes the following arguments: save - forces the tutorial city to save even though this control is normally disabled next - forces the tutorial to jump to the next step of the tutorial quit - exits the tutorial and returns to normal gameplay reset - resets the tutorial to the beginning; can be used even after quitting step <N> - jumps to the Nth step of the tutorial csitrigger <mission ID> - forces a mission to be triggered toll - Switches to a bare toll booth placement input control. Only seems to be used for debugging toll booth placement validation; even regular toll booth lots don't use this control and go through the lot placement input control. udriveit does not require correct capitalization, nor do any of these cheats.
  10. Cheats Update

    Sure, I'll look into those in a bit when I get home, feel free to toss other undocumented cheat codes my way to look into.
  11. Sharing Plugins Folders - Discussion

    I'm actually not a fan of the sc4get name, what if we did something punnier like parscel?
  12. Sharing Plugins Folders - Discussion

    Truly an enormous amount of work. I think the KISS principle may have to be applied here and Fantozzi's thoughts about after we're gone. I like the pre-packaged zip file approach mentioned earlier. I don't see why we should avoid developing a package management system for content just because we plan on making starter packs. These are two totally independent efforts that can happen in parallel, and I'd go so far as to argue that the package manager is an even more pressing concern. Once users try to install content outside of these prepackaged sets it becomes exponentially harder to keep track of dependencies and conflicts while also trying to maintain a folder structure that lets you keep track of what the heck you downloaded in the first place. Focusing only on the latter could just lead to people sticking only to starter packs (which could conflict with each other anyway) at the expense of other individual releases.
  13. Sharing Plugins Folders - Discussion

    I would advise against trying to outright adapt apt, chocolatey, npm or any package manager for Linux distributions and software tools. These are all specialized for distributing libraries and executables for systems or source code for development and carry a lot of complexity that would make it difficult for community members to contribute to its development and adoption. It shouldn't be difficult to implement a basic package manager for our purposes in a cross-platform language like Python over several stages. We can start something extremely basic and work our way up to more supported use cases. I have a possible roadmap for this, but this starts to move away from the topic of distributing modpacks and becomes an entire discussion on actually implementing a package manager for SimCity 4 mods.
  14. On reverse engineering and the EULA

    The problem is that EA doesn't have any public contact information for their legal departments, which we'd need to request legal permission for reverse engineering. This means we'd have to pay for and hire a lawyer anyway to submit such a request.
  15. On reverse engineering and the EULA

    From EA's legal page, the closest EULA available is SimCity Societies, which has pretty much the same boilerplate. Either way, if the EULA given to me by Steam is the one I'm agreeing to in order to use the software, I'd be bound by its terms anyway.
×