MaKiPL / OpenVIII-monogame

Open source Final Fantasy VIII engine implementation in C# working on Windows and Linux (Android and iOS planned too!) [Monogame]
MIT License
631 stars 58 forks source link

Can't get project to build using latest Master. #190

Open CarpetFox opened 2 years ago

CarpetFox commented 2 years ago

Having followed all of the instructions, I can't get the project to build.

Firstly, there are errors in PointEx.cs on lines 99 and 101, that Operator '.' cannot be applied to operand of type 'void', so can't build.

Secondly, everything in the project is a class library, so its not very clear what .exe I should be compiling. The instructions seem out of date as they say to update WindowsGameLocationProvider.cs, which no longer exists in the solution.

Can anyone help?

Sebanisu commented 2 years ago

Firstly, there are errors in PointEx.cs on lines 99 and 101, that Operator '.' cannot be applied to operand of type 'void', so can't build.

//custom extensions
        public static Vector2 Floor(this Vector2 v) => new Vector2((float)Math.Floor(v.X), (float)Math.Floor(v.Y));
        public static Vector2 Floor(this Vector2 v) => new Vector2((float)Math.Floor(v.X), (float)Math.Floor(v.Y));
//end custom extensions.
        public static Point CeilingPoint(this Vector2 v) => v.Ceiling().ToPoint(); // Our Ceiling returns a Vector2 it's not void.
        public static Point FloorPoint(this Vector2 v) => v.Floor().ToPoint(); // Our Floor returns a Vector2 it's not void.

https://docs.monogame.net/api/Microsoft.Xna.Framework.Vector2.html Looks like Monogame added their own Ceiling() and Floor(). The version this project uses doesn't have one. And the new ones return a void instead of another Vector2. https://docs.monogame.net/CHANGELOG.html 3.8 is when they added Ceiling and Floor. Will need to be 3.7.1 I think.

Secondly, everything in the project is a class library, so its not very clear what .exe I should be compiling. The instructions seem out of date as they say to update WindowsGameLocationProvider.cs, which no longer exists in the solution. This file Core/GameDirectoryFinder.cs replaced it earlier in the year. https://github.com/MaKiPL/OpenVIII-monogame/commit/77b5a95d56de551bc389a0c8c070ad3acfba63e1

Sebanisu commented 2 years ago

Oh there are multiple exes depending on what you need. We have some tools that are just console apps that do a job and exit mostly there for testing the library. And, there are the Windows DirectX and OpenGL versions and the Linux OpenGL. So you just pick one of those exes compile and run them.

CarpetFox commented 2 years ago

Hi, thanks for the help, managed to get it sorted. I thought the game would be playable state with the engine, but I guess that's still a way off?

Sebanisu commented 2 years ago

Yeah we got busy with other stuff and we haven't made much progress. We were even thinking of switching from monogame.