Sims Neighborhood New implementation on github

francot514

Well-Known Member
Hey people, im starting a new implementation of Sims 1 neighborhood and want to invite you colaborate with the project for decode and analize all sims neighborhood files in c# application, usign a extended simslib version. The aim is to allow read the houses, families, and neighborhood files from sims 1, to be able to edit them outside the game and why not extend it..

http://github.com/francot514/SimsNhood
 

Attachments

  • nhood.jpg
    nhood.jpg
    67.9 KB · Views: 37
What happens for ur other project The Sims Ville Roleplay ? What is its current status...?
 
Sims ville roleplay was abandoned becuase i just realized that sims 1 have some troubles to run online mode, and also becuase Pd has made so good progress, but this has a different purpose, is more about research than about adding/ expanding gameplay.

Firts issue has been added, Simslib cannot read UIGraphics.far becuase it contains some files extension, .rt, that cause error in read entries.

https://github.com/francot514/SimsNhood/issues/4

PD: Issue has been changed to Error when reading rt files, that data cannot be stored unless you treat is as a text (there are c++ header files)
 
Last edited:
I thought you'd fixed that, Francot? You should see where it's stopping, that should help you.
 
It's probably worth noting that a lot of TS1 formats are considerably different from TSO. It's possible to reverse engineer things from what we have to make an open source TS1 (and indeed, I plan to) but the priority is TSO.
 
It's possible to reverse engineer things from what we have to make an open source TS1 (and indeed, I plan to) but the priority is TSO.
About that, after you have finished to recreate TSO, it will be fast and simple to recreate yourself a new version(XNA) open source of TS1 ? or you will create a new engine and recode all the game without XNA but with a other tool ?
 
The easiest thing to do will be to use our existing XNA engine, as a lot of things will stay the same.
 
There are many features in TS1 that are not present in TSO, specifically everything to do with "neighbours", classic jobs and all expansion game logic. The UI engine is also completely different - instead of UI scripts the game uses a more complicated format that I haven't looked into. There's also the problem of Free Will (Find Best Action primitive), but that shouldn't be hard enough to get right, and we'll need a variant for TSO pets anyways.
 
I thought you'd fixed that, Francot? You should see where it's stopping, that should help you.
Yes, is solved, now issue has been changed to problem with c++ header rt files

The easiest thing to do will be to use our existing XNA engine, as a lot of things will stay the same.
Yes you can use the existing engine, but i think a lot of things concerned about animations and some other stuff will needed to change, but that is not event necessary, will be better if you focus on implement sims 1 stuff into PD, the only important element from sims 1 not present in tso is the expansion stuff and the nighborhood and family about...

There are many features in TS1 that are not present in TSO, specifically everything to do with "neighbours", classic jobs and all expansion game logic. .
For the neighborhood decoding, this is what is this project about, classic jobs and expansions are extra game objects..
 
There are many features in TS1 that are not present in TSO, specifically everything to do with "neighbours", classic jobs and all expansion game logic. The UI engine is also completely different - instead of UI scripts the game uses a more complicated format that I haven't looked into. There's also the problem of Free Will (Find Best Action primitive), but that shouldn't be hard enough to get right, and we'll need a variant for TSO pets anyways.
Oh. *Pushes any of PD-based TS1-related recreation projects out the window upon hearing this information* You saw nothing.
MGkjnoJ.gif
 
Yes you can use the existing engine, but i think a lot of things concerned about animations and some other stuff will needed to change, but that is not event necessary, will be better if you focus on implement sims 1 stuff into PD, the only important element from sims 1 not present in tso is the expansion stuff and the nighborhood and family about...
3D content like animations, suits etc all work in the same way, it's just that they are stored in a different format. (which we have detailed struct info for, like we worked out for TSO)

For the neighborhood decoding, this is what is this project about, classic jobs and expansions are extra game objects..
Remember that the jobs and expansion game logic is also tied heavily to the engine - for example sims' job progress is stored on their "neighbour" data I believe.

Looks like the UI in TS1 is hardcoded - the .RT and .h files specify the resources each panel uses. I'll probably just write my own UIScripts for it to keep things simple, with mods to load the resources by name instead of id.
 
Looks like the UI in TS1 is hardcoded - the .RT and .h files specify the resources each panel uses. I'll probably just write my own UIScripts for it to keep things simple, with mods to load the resources by name instead of id.
Based on this Rhys, you mean that have made any progress regards sims 1 implementation engine??
 
I've just been having a few looks. I know most of the differences specifically because of scopes left in in TSO that are unused. It's not going to be a priority for a while.
 
Ok, not need to be a priorty for you, you can just check for what i have done in progress and tell me something else about it if missing, or something you want to know that i can tell you..
 
I outlined the Neighbourhood related chunks' specifications for francot, so it's probably of interest that they're shared here too:
https://dl.dropboxusercontent.com/u/12239448/NBRS.txt
https://dl.dropboxusercontent.com/u/12239448/FAMI.txt

Francot initially asked me to translate this Ruby program, but it was immediately clear that their understanding of the chunks was lacking - specifically on the existence of Person Data, multiple relationship values per relationship and major structural information. NBRS in the old implementation skips segments using "tells" of sorts, such as looking for 0xFFFFFFFF to skip to the relationships section after person data, which could break down if two consecutive person data fields had value 0xFFFFFFFF.

I haven't tested these specs on real data exhaustively (with a program of my own), but from what I've examined by hand it looks like everything should parse correctly under these definitions.
 
Yes, thanks for your work, now i can parse some NBRS data using that, right now im focusing on recreating the lot houses drawing engine in the nighborhood, currently using system drawing becuase the need of fast testing and deployment:
 

Attachments

  • simsnhood1.png
    simsnhood1.png
    364.2 KB · Views: 28
Back
Top