I’ve been going through my notes on the engine this week. There were many little small issues that I was able to mark off the list! The code is running pretty nice. Things are certainly headed in the right direction.
Fixed an issue with the Memory Manager when running on a 64-bit processor. I thought the problem was with some static variables being de-allocated before trying to access them on program exit. You see, this code is one of the last things to run on program exit in a debug build; that way we can report any memory leaks, etc. Turns out I spent a lot of time looking in the wrong place for the problem. The problem ended up being a string that was not initialized with a terminating character. Lol. The 32-bit string functions didn’t care, but the 64-bit versions sure did. Definitely not where I thought I would find the problem. So happy that this issue can be marked off the list now!
I also made the CPUID class in the system driver compatible with 64-bit. This code is a lot cleaner now, and the interface is more generic. I removed the inline x86 ASM code, in favor of the intrinsic __cpuid() and __cpuidex() functions.
My Team Foundation Server has been online for a few weeks now. However, I wasn’t ready to put the source code under revision control just yet. I’ve been doing a lot of restructuring and refactoring of the code base that I wanted to finish first. It could have gotten really messy, very quickly. Now that I’m finished with the changes, all of the solutions and projects have been added to source control. It was kind of a pain to get everything where I wanted it to be. There was a little bit of a learning curve. The engine has been under several different source control packages over the years, such as the old Visual SourceSafe tool. However, they just seem to keep getting more and more complicated! That’s what happens when they just keep on adding more and more functionality to the software!
Finally have everything updated and running in 64-bit. I ran into some rather interesting scenarios where what worked in 32-bit, didn’t fly at all in 64-bit. Anyway, it’s too hard and boring to explain here (lol). The good thing is, all of the fixes that I came up with actually still work with Win32/x86. So, I didn’t have to scatter a bunch of conditional compilation logic throughout the code. Actually, all in all we did a pretty good job of writing code that was ready for the 64-bit transition.
OK, so this should have been done years ago. But this was a major undertaking, because the Orion Engine codebase is huge! Heck, just Orion Script alone is a pretty large SDK itself. Orion Genesis is starting to become pretty deep too.
Oh yeah, I finally found my texture library on an old server/computer that was stored in the basement. I’m pretty stoked. Because I spent many years putting that library together, mostly from photos that I had taken over the years. I’ve got some pretty nice tiles in there!
Well, I got the engine SDK, and all of the tools and applications running again under Visual Studio 2017. Now, I’m trying to convert everything from the older Win32 (x86) architecture, over to the Win64 (x64) architecture. Actually, I’m making it so you can build either 32-bit and/or 64-bit Windows applications. All of the MDK drivers now have 64-bit versions as well. All of the codecs (jpeg, tiff, png, exr, zlib, etc.) are the latest versions and successfully build as 64-bit. The 3ds Max exporter is fully 64-bit UNICODE now, built against the 2017 Max SDK.
I spent the whole weekend updating the SDK and the MDK. Now I just need to update all of the Been There servers and applications to 64-bit. I’ll need some rest soon too, lol. All of this upgrading has my head spinning!
I have several computers ready to be servers for the game. Now I’m upgrading all of the projects that make up the Orion Engine SDK libraries and applications to Visual Studio 2017. I knew there would be some minor changes. Actually, the new C++ compiler is picking up some bugs that previous compilers didn’t even notice. It’s all good. I’m working out some DirectX issues, then all should be well. I need to give some deep thought as to which DirectX version I should create a driver for next, and how it will effect the current engine structure moving forward.
I finally got all of my PHP code working. In fact, everything on the new web server appears to be working now! I just finished all of the database code changes in the Account Management System today. The new database server appears to be working well! Now, I want to see if I can bring up/upgrade all of the game servers. Been There Game is starting to come back alive!
The database server (SQL Server 2016 SP1 Express) is on newer hardware, and back up and running again! All of the databases were successfully restored. It amazes me how many technologies that have to come back together to make all of this work again! I have to be a DB Administrator, Linux Administrator, Windows Server Administrator, Multi-Platform Programmer, Web Developer, Repair Technician, etc.!
I’m trying to get my old PHP code to connect to the new MSSQL server. Looks like PHP7 doesn’t include support for my current method anymore. So, I’ll have to re-design the account management system. I hope the game servers don’t have any trouble connecting!
The web server is obviously back up now. It’s been upgraded to Fedora 25 Linux with the latest Apache. The Gatekeeper server is back up as well. I’m currently working on bringing the Team Foundation Server source code repository back up. The hardware is pretty old, so I think I’m going to upgrade to a newer server, with SQL 2016 and TFS 2017.
Once I have all of this working, I’ll start on a new server for the game’s SQL database. Then finally, I’ll start bringing up the game servers again.
Well, it’s been a while since my web site was up and running. Like 5 years or so? LOL. I miss the Orion Engine, I still think it has great potential! Sometimes life gets in the way, and you simply stay busy surviving. I’m ready to bring this project back from the dead! Stay tuned!
I recently moved all of the servers into their own room. And yes, I brought the source code server back up. I’ve been eagerly reviewing the engine code. The Orion Engine is one heck of a massive code base. There are certainly some really great gems in there. I finally have some time, and the funds, to get back into some serious development again.