riperiperi / Simitone

Re-implementation of The Sims 1, based off of FreeSO.
http://freeso.org
360 stars 25 forks source link

Unable to build solution #48

Open samulated opened 3 months ago

samulated commented 3 months ago

Hello! I would like to try and contribute to this project.!

Currently, I'm unable to get the thing to build, and I don't know if it's just me and my settings or if the FreeSO submodule has changed too much since the last Simitone update (if that's the case, I'd definitely love to get it working again)

Every time I build Simitone.Windows (which, granted, I'm not sure is where I'm supposed to be building from) I get errors regarding the Microsoft.Xna.Framework classes (usually beginning as a higher level 'The type or namespace name 'Xna' does not exist in the namespace 'Microsoft'' error message, and then also occurring on any types, functions, or classes from there) as well as a few references to a /TS1Scripts folder that doesn't seem to be anywhere in the project. I had a bit of a google, but the majority of the

Also sorry if this the wrong way to be asking about this, I tried asking on the FreeSO discord but I was ignored.

mrpenguinb commented 3 months ago

Building FreeSO, Volcanic and Simitone

  1. Clone the git repo at https://github.com/riperiperi/Simitone.git (preferrably with a Git app or via Visual Studio itself)
  2. Next, run Protobuild.exe in FreeSO/Other/libs/FSOMonoGame/ - this will initialize the Monogame projects used by the FreeSO solution.
  3. Simply open FreeSO/Code/TSOClient/FreeSO.sln in Visual Studio. Set your build target to FSO.IDE, and hit Start.

You will also have to compile Simitone afterwards, but that's easy (separate solution file). Ignore the Android and iOS imports.

samulated commented 2 months ago

Okay, it appears that when I clone the Simitone repo using --recurse-submodules it gets stuck trying to clone NVorbis into the FreeSO/Other/libs/FSOMonoGame/ThirdParty/NVorbis directory. This is registered to https://github.com/ioctlLR/NVorbis.git which doesn't appear to exist.

This causes a fatal error which causes git clone to abort.

If I attempt to ignore this and run Probuild.exe anyway (which asks me to log into Github, and then immediately closes once it's authenticated) nothing appears to happen, and attempting to build FSO.IDE from the FreeSO.sln file still throws me a bunch of errors referencing classes from Microsoft.Xna.Framework.Graphics, mostly The type or namespace name 'Texture2D' could not be found - for a variety of classes including Texture2D, Vector2, Rectangle, and Color

Not that I expect one would be causing the other. But it's what appears to be happening on my end.

mrpenguinb commented 2 months ago

It seems that NVorbis has become an organisation on Github which broke things? Or am I misinterpeting.... Anyway, here's the link to substitute so you can do a proper clone/compile: https://github.com/NVorbis/NVorbis/tree/478eb45c3996e45a6bd19777c0549b85a7bb6851 (commit version that FreeSO uses)

samulated commented 2 months ago

Hello, I don't know what I'm doing.

I tried updating the .gitmodules file with the updated link, but it appears there's no way to specify an older version via that method. So instead I tried manually downloading the zip and unzipping it where the submodule was trying to clone to. I'm unsure if this is correct.

This appears to have allowed Protobuild.exe to run (it actually ran through a bunch of actions and output after I logged into github this time) however, when I now go back to the FreeSO.sln file, there are still build errors.

Now it appears to be focused on audio classes from SoundEffect.XAudio.cs in MonoGame.Framework.Windows (missing things like SharpDX, MasteringVoice, X3DAudio, and Speakers so I'm assuming whatever I did with NVorbis didn't work)

mrpenguinb commented 2 months ago

I have no clue how to resolve those issues either. I was able to compile everything in 2023, but now it's broken :(

This should be a viable link, try it out: https://github.com/NVorbis/NVorbis/tree/478eb45c3996e45a6bd19777c0549b85a7bb6851 (last commit version that Simitone's FreeSO version uses) I just substituted ioctlLR with NVorbis, since it shares the same commit history AFAIK.