Jump to content

THijSCiTy

Member
  • Content Count

    70
  • Joined

  • Last Visited

Community Reputation

141 Grand

1 Follower

About THijSCiTy

  • Rank
    Junior

Recent Profile Visitors

337 Profile Views
  1. I will provide a step by step tutorial how to make the program work: Step 1: Install etc. python if necessary Step 2: Save this code as python file named CRCCALCULATORRAW.py import sys def crc32_unreflected(data_bytes, poly=0x04c11db7, init=0xffffffff, xor=0): crc = init for byte in data_bytes: crc ^= (byte << 24) for _ in range(8): if crc & 0x80000000: crc = ((crc << 1) ^ poly) & 0xffffffff else: crc = (crc << 1) & 0xffffffff return crc ^ xor def main(): if len(sys.argv) != 2: print("Usage: python sc4_crc_calculator_raw.py <binary_file_path>") sys.exit(1) file_path = sys.argv[1] try: with open(file_path, 'rb') as f: # Binary mode for raw data data_bytes = f.read() except FileNotFoundError: print(f"Error: File '{file_path}' not found.") sys.exit(1) # Cap at 250,000 bytes if len(data_bytes) > 250000: data_bytes = data_bytes[:250000] print("Warning: Input truncated to 250,000 bytes.") crc_value = crc32_unreflected(data_bytes) print(f"Computed CRC: 0x{crc_value:08X}") little_endian_bytes = ' '.join(f'{byte:02X}' for byte in [(crc_value >> (i*8)) & 0xFF for i in range(4)]) print(f"Little-Endian Bytes: {little_endian_bytes}") if __name__ == "__main__": main() Step 3: Go with a hex editor inside your savegame file after you made backups of them and select the data you want to compute the CRC on and save the file named as RAWHEXDUMP.HEX Note: Be sure to select the data part where the memory index number begins right after the block size and crc. Step 4: If you are in windows, make a windows batch file called "Run Calculator.bat" Step 5: Put inside the following lines: python CRCCALCULATORRAW.py RAWHEXDUMP.HEX PAUSE CRCCALCULATORRAW.py Should call your saved python file RAWHEXDUMP.HEX Should open your saved hex data PAUSE is just to prevent the window from automatically closing so that you see the computed CRC The little endian bytes are the output crc code. Step 6: You can make updates to the hex dump and/or savegame file to update the new crc, please note that if the size of the data changes, that you must also update the size header also. Info: the code in my previous post directly calculates the crc checksum of a ascii string hex dump in the input field. Hopefully someone can incorporate this method into the SimCity exemplar reader program, then we can make REAL edits to savegames haha!! For now I have to do with the manual mode, well after 22 years I feel happy to have publicly shared a way how to edit savegames in SimCity!! wohoooo
  2. so what I try to do next is make a blank city and shift the dimensions from 64x64 to 63x65, this is a trick I used in the past to shift map sizes without needing to edit the data size
  3. New population record attempt!

    Oh I just put the moolah money cheat to get simoleans and put budget to optimal, I have no time for that, hehe =)
  4. I've been working on breaking the CRC algorithm, and got success!! The method seems to be named CRC32 Unreflected, this method was used in late 90s and early 2000's for doing integrity checks in game data to make sure they are correct. Also online sources citate that only the first 250 000 bytes of a section are calculated and the CRC is calculated over the Memory address + data field. Now, a python script has been put together which can commit edits to each section in the savegame file!!! def crc32_unreflected(data_bytes, poly=0x04c11db7, init=0xffffffff, xor=0): crc = init for byte in data_bytes: crc ^= (byte # Example: Insert your memory + data hex string here (no spaces) hex_string = "1C18E01C0C00020000000000B206C20500000000010000003600000001000000360000005F8C2B0001000500000054524F4245080000004E657720436974790D0000005448494A53204C55494B454E530500000054524942450000000000000000B81EF442D7A317420000384200000000000080450000804500008041000080410000803D0000803D00010000000100009C17002836A5EF89DC67F01C8AC390099C9F012893BD90491887CD1C4D968F095C14002810BD90A91C14E01C2D9B8F2920860928019B8F4920860928019B8F491C140028C06290294456A40F478FC4891C050A2F3BCDA6E99C27AB2AAED409EA2028AB2AA14920AAA028AB2A280A23EAE46D761FBCE63FAA1CF8CA2AE0BF90A91CF8062842C1902918FC0628E5C190291CCEA90FD8BD90098C36A10F01BE90E9204D07287ABE90899C1E002880C0908920F6CA2A9AC090891C590728F2BF902924F606285AC090291C060A2F45C090E91C58072834C090C95C503F2D22C090A91C070A2F8EC190E91C29AB2AA4C090C99C29AB2A8EC090A91CCCA90F75C0900924F4CA2A4FC09069201CE01C65C090891C04E01C05C090091C10E01C13C09049BC3F8C03AAC1906920FA0628BCC190291C4874298134410A20A509284E661B4A20030A2F03CA14CA78DA8E03B2820F6AD4F48B033B9D8FA9FC62160F179D8FC96C368E034A9D8FC9D437130F289D8FA92488092816D60D4A242AAB2AFB3638AA1CF4062825958FE91C080A2F29F9E7A7B85A3F2D36BAD4EA68E690038143B10B1C090A2F46BD90C901" # From your new dump data_bytes = bytes.fromhex(hex_string) new_crc = crc32_unreflected(data_bytes) print(f"New CRC: 0x{new_crc:08X} (Little-endian bytes: {' '.join(f'{byte:02X}' for byte in [(new_crc >> (i*8)) & 0xFF for i in range(4)])})") with this code I changed my city name from TRIBE to TROBE!! wohooo, next thing Im gonna do is making edits to the map size, as that was my inspiration
  5. Detokenize DLL

    Oh what I meant was if its possible to detokenize the values by default in the game's ui, for example in combination with the building's query info panel and graphs panels like rci that only got bars, or commute time etc. Edit: is it also possible to change % into a number with cap limits?
  6. Detokenize DLL

    Can you please make this into a patch instead? detokenize everything? RCI, etc everything?
  7. New population record attempt!

    @CorinaMarie you mean with fun, Fun supply aka popcap? @IDS2 wow cool thats much pop on that small tile! @Kel9509 woa yes, you probably mention ONG condos, well despite having such insane amount of pop when demoted, its very problematic with traffic because without mods, traffic goes into congestion immediately nomatter what you do, so I try my focus on population density overall with smaller buildings.
  8. New population record attempt!

    Oh, wow good you did mention this. Initially my city would have no neighbor tiles, but at least I wanted to break the absolute population numbers record in general. Neighboring cities will provide tons of jobs to support this megapolis, but I will use no mods that are NAM, colossus etc, all buildings will have the vanilla game stats when the city is finished, but I use graph enhancements, the repository vault etc to closely monitor the progress of my work and all changes, but those things will have no effect on the released city files when it is done, I wonder how I can export an entire region though as people would need to manually reassemble it, and I want to make it easy for others to see to result, but making a solo city tile with max population without external factors is a very interesting and challenging aspect, I would for ease of life be needed to extend the lifespan of utilities to infinite to not be bothered by continuous renewals and restore the utilities to original stats when I release the map.
  9. Hey peoples, sims and devotees! After breaking the population record of Magnasanti in SimCity 3000 I decided to do another attempt in SimCity 4! As far I know, the current record stands by a city named "Breath of the dying" by XCity sitting on about 34 million residents on a big city tile. However, it's impossible these days to find any information back about this city made somewhere in 2021, but I still got the city files from back then on my harddrive. Does anybody know if there has been a (re)new(ed) attempt by now? I am aiming my city to have about 39 million population, but I will try to achieve the maximum possible, hopefully there are more people who like to do such challenge. After about 3-4 months of preparation, I think im finally able to say construction has commenced, I will reveal no details yet as I want to surprise
  10. Sudden Mass Unemployment in the city

    Be very careful when you place one-way roads. It might be that you made buildings unreachable by accident, also one mis-drag of the one way road tool can invert it's direction to the opposite direction. Please note that the default view for traffic routes query displays the morning commute, but be sure you also check the evening commute. Maybe, your one-way roads caused a situation where your sims cannot either go to or return from their workplace in time or at all. The arrows might look like your sims can find their way, but beware that their route back also matters, if they can't complete it, they will abandon. You should select the zones only filter in dataview and use the traffic query on both morning and evening commutes on both the offices and the residential zones to make sure all routes work fine, else try delete the buildings. In worst case you can try upload your city to this forum so we can help you solve the problem if you want
  11. wow I go download your program and see if it works for my project, did you also make any programs that can modify the map files / savegame files?
  12. MAGNASANTI RECORD BROKEN!!! =D

    Hi dear peoples, currently I try to break the record for SimCity 4 most densely populated single city tile, after that, if there is, lol, I will review my city in SimCity 3 as it should be 6,2 million population, but due to mishaps in planning the final result was less
  13. Census Repository Facility v4.0

    Btw is it me, or is the CS$$ & CS$ display bugged? they both seem to show duplicate amounts?
  14. Census Repository Facility v4.0

    Thanks!! This mod is great! seems the essentials are installed automatically, but hopefully the author of this mod and the big package can come to a agreement that all necessary files can be included in this mod to no longer require external sources, also later I found I could remove the colossus files as they unfairly altered industry demand
  15. Census Repository Facility v4.0

    I don't know how to get this mod to work, its too complicated BSC Essentials v2024b seems not to be in version 9D To be honest, installation is a maze and nightmare, I don't want to give it a 1 star review, so please help me out.
×