DL Hell

Well I figured out why the content pipeline for Monogame is ass. So previously when I was in the process of adding new content into Paper Zeppelin, I kept running into a problem where I would attempt to import my content and be told, in no uncertain terms, “to get rekt.” The weird thing is that the thing worked previously. I had imported the player sprites and everything was going fine. But now, for reasons that escaped me, the system did not like me any more. I think that I insulted it.

In any case, I think that I at least know what happened. Last time I mentioned that we can’t go out into the world to test Dungeon Quest, because there are like, sick people. Well that’s also true for my other job, so I’m working from home. Now, at that other job I do a lot of programming – mostly systems stuff and desktop applications (the sexy stuff *scoff*). One of the things that I program with is Python. Specifically I do things with data collection and online automation. This is getting boring, so let’s move on quickly.

So since I was going to be working from home, I thought that instead of running everything through remote desktop I instead would keep some local variants on my machine at home. That way in case the astral projecting thing stopped working I could still get stuff done.

That Python installer didn’t really go down easy, and it took multiple attempts before I was able to get pip (the loyal little code pupper that gets Python additions) up and running. I think that somewhere along the line, it went in and made adjustments to my PATH, and to my local C++ DLLs.

“PATH” is a thing that lives on your computer that let’s software know where things are stashed. Your computer has a bunch of programs and many of those programs go and look for particular resources. Think of those like they are abstract functions. So in a not real example, if you needed to alphabetize something, you could write a single function for it and put it someplace and have your different software look at it. The PATH is a directory so that the system can quickly know where to look for these things.

Some of the things that the computer would be looking for are called “Dynamic Link Libraries” or “DLL” which is where the title comes from. The issue with the Monogame Content Pipeline was that it doesn’t know where or doesn’t have those DLLs. Now it used to, but then I installed Python which needed to modify the C++ DLLs and made tweaks to my PATH. Long story short, it’s possible, likely even, that the Monogame Content Pipeline isn’t ass.

Thus far I have done a fresh reinstall of both Monogame and Visual Studio 2017, which no success. Now I’m actively trying to repair/modify/reinstall my DLLs. We’ll see how that goes. Coincidentally, if you chase a problem like this for 4 hours, you don’t get a lot done, which is to say – I didn’t.

Leave a Reply

Your email address will not be published. Required fields are marked *