I’ve been working on the 1.07a release of Omega Core and thought it would be a good time to give a progress update. Last evening I got a little side-tracked with trying to hijack direct input so I could have control over when the engine accepts input. The experiment was a failure and I’ve had to shelve the idea. I was also distracted with testing out the new TransportToIfUsed function provided in 1.0085.
However, I did also manage to get automated input mostly working. The new functions for automated input so far are:
Automated input allows you to simulate keystrokes and mouse movement through scripting. So, without even touching a key or the mouse you can have the player move and look around the game level. This is also useful for mapping new keys to already defined keys. For example, you could check for a “u” key press and tell the engine to hold the “w” key down to move forward. Finally, the MouseMove function allows you to simulate a camera shake effect. By rapidly moving the mouse back and forth and up and down in a random fashion, you make it appear that the scene is shaking. Very useful for big explosions, a rock slide, earthquake, etc.
I’ve also changed the ocVideoPlay function to accept a second parameter. The second parameter, if left blank, will simply cause the function to behave as it already does by playing the video using Windows Media Player. However, if you specify “ff” for the second parameter, the plugin will try to play the video using the mplayer application built on FFmpeg. You are responsible for providing the mplayer.exe application in the Files folder of your game. This added capability means that you don’t have to time the video playback yourself because mplayer will automatically end when the video is done playing. The mplayer application is also much faster when loading and playing videos fullscreen. This makes in-game cut scenes and intro videos much more viable.
As soon as I do some more testing and cleanup with the automated input and video playback, I will release 1.07a. Then it’s on to 1.08a where I plan to bring the first GUI commands for public access.