Welcome to blueshogun96 AKA Shogun3D's coding page!
Any code I post here is simply code that do not fit in any specific category, so all of these are a
little on the random side. Anything from OS specific code (Win32, MacOSX, etc.), multithreaded code, white papers, you name it.
Hopefully someone can make use of any code here. Enjoy!
- Platform(s): Windows
- Language: C
- APIs: OpenGL (GLUT)
- Developent Time: A few days/weeks, counting bug fixes...
This is the tool I created to plot splines for my game RyuAwai (see games section). The spline code
is really the main highlight of this valuable tool. RyuAwai uses splines to move enemies in dynamic, predetermined paths
throughout the screen. It's not the most user friendly (like most in-house game dev tools, that's not the point) but it saved me
lots of trouble. The blue line represents the screen, and the yellow lines represent the game's boundaries; this way you know where
the enemy moves at all times. You can even view how an enemy would move along the spline and adjust the speed. The help screen
explains everything needed to use this tool
I wrote this in an attempt to learn how to properly use APCs with C/C++ in Windows. It's really not
so bad once you learn how it works.
In my latest game engine, I realized that the code I use stalls the thread it's running in,
preventing me from having a cool animation playing while the files are being located and loaded. I never did like having a static
screen that says "LOADING" on it while waiting for the game to load resources prior to or while actually ingame. No one wants to
wait for that annoying loading screen to go away when transitioning between areas ingame either. Back in the day, it was okay, but
not anymore. A well written game should have some sort of asynchronous searching/loading process to prevent stalling. Hopefully,
this code will help put an end to that!
I've written an Asynchronous File Search & I/O class that searches for the file you want/need to
load, then loads it using Win32's asynchronous (Overlapped) read/write methods. In order to search for files, you'll have to pass
in your own function pointer for usage within a thread to keep the program responsive. Using the file search thread isn't required,
you can specify a full path or file name without searching. Since it's a template class, you can also specify the pointer type
without the need for casting from/to a void* pointer. Using it is rather straight forward. I've included a demonstration on how
to use it, just remember to include the .inl file! There's probably better ways to do what I just did, but one reason I wrote it
this way was to demonstrate my ability to write and use C++ features.