libertyernie / brawltools

BrawlBox and BrawlLib
http://forums.kc-mm.com/index.php?topic=67847.0
143 stars 31 forks source link

[Question] Requirements for building project #220

Closed kenrick95 closed 5 years ago

kenrick95 commented 5 years ago

Hi, thanks for the awesome tool!

Today I tried to build the project from scratch but I have some difficulties since there is no Contributing guide inside the repository.

I wonder if you would create or accept a PR for a Contributing.md file that lists down the requirements for building the project.

From a fresh and minimal Visual Studio 2019 Community installation, I found out that these are the additional requirements to successfully build this project. Please correct me if I'm wrong.

Thanks

libertyernie commented 5 years ago

Did you need to install IronPython and OpenAL? I thought they were included in the repository. But yeah, this would be a nice thing to add.

I think it was @Sammi-Husky who added IronPython to run scripts and plugins. I've actually been wondering if I should take IronPython out, and have it just check the user's system to see if they have it installed. Haven't looked into it yet though.

kenrick95 commented 5 years ago

I uninstalled both, and tried rebuilding the project.


Without IronPython (uninstalling it from system, and also deleting the "packages" folder), I got these errors

Annotation 2019-04-12 231454

It just seems like I forgot to install them in solution via NuGet package manager; after I installed them, I can build fine. (updated the issue description)


For OpenAL, I can build the project fine without it, just that if I load a music file (brstm), I can't play it and there's this message in the debug window.

Annotation 2019-04-12 230759

After I installed OpenAL in my computer, this error no longer occurs.

Sammi-Husky commented 5 years ago

@libertyernie IronPython was bundled as a Nuget package IIRC. Building should only require they restore packages on checkout (should happen automatically opening the solution the first time?). It's just a DLL so i don't see any particularly pressing reason not to include it in the releases like we do the other DLLs

On a different note, i did open mention before that it we should probably use the user's installed python version rather than bundling all of python with brawlbox as we do now (#144)

libertyernie commented 5 years ago

@Sammi-Husky I'm fine either way. I also wonder if we could avoid some issues (like #217) by putting all the .dlls alongside the .exe instead of in a Lib folder, but I might leave that up to you.

@kenrick95 Oh, the good old openal32. If you change the build target to x86 instead of Any CPU, it'll be able to use DirectSound (plus 64-bit mode might have some other bugs.) That's another thing I should mention.

kenrick95 commented 5 years ago

Oh right! I uninstalled OpenAL and it could play the sounds if I target it to x86. I guess those are the things that should be mentioned in the Contribution guide.

kenrick95 commented 5 years ago

Thanks for merging my PR!