Release Notes for Version 4.5

From C4 Engine Wiki
Jump to navigation Jump to search

Release date: March 28, 2015

Core Engine

  • The C4 Engine now runs on iOS devices. Separate Xcode project files are included with the engine for those who have a license for mobile development. The C4 Engine currently runs on iOS devices containing an A7 or A8 processor, listed below.
    • iPad Air and iPad Air 2
    • iPad Mini with Retina display and iPad Mini 3
    • iPhone 5s and iPhone 6
  • Custom properties, controllers, properties, forces, modifiers, and mutators can now be preserved by the engine when a world containing them is loaded and saved while the game module that defines them is not presently active. These items are displayed with the <unknown> type in the World Editor, and they cannot be edited.

Graphics Manager

  • Textures compressed on with S3TC can be used on iOS devices, but be aware that the GPU cannot decode these textures, so they are decoded in software and sent to the driver as full-size uncompressed textures.

World Manager

  • Some optimizations have been made to the large-scale rendering code related to terrain and cascaded shadow mapping.
  • Fixed a problem in which motion blur could be rendered incorrectly if the camera is a subnode of a moving object in the scene.

Interface Manager

  • Function keys F1 through F12 are now reported to keyboard event handlers using the constants kKeyCodeF1 through kKeyCodeF12.
  • When an item in a tree widget is collapsed, any selected sub-items are now automatically unselected.
  • Fixed a problem that prevented Shift-Tab from working on the Mac.
  • There is a new configuration setting type called InfoSetting that just displays text that cannot be edited.

Input Manager

  • On Windows and Mac, the Input Manager now recognizes HID devices specifically from the following usage pages: Generic Desktop (page 0x01), Simulation (page 0x02), Sport (page 0x04), Game (page 0x05), and Keyboard/Keypad (0x07). Other types of devices, which aren't normally used for games, are intentionally ignored.
  • On all platforms, all input controls now have a valid 32-bit HID usage value. The high 16 bits contain the usage page, and the low 16 bits contain the usage, as defined by the HID specification. This information can be used to locate a specific control on any device and assign an action to it.
  • On Xbox controllers, the default behavior for the y axes of the thumb sticks has been inverted to match the default behavior of other USB controllers.
  • The engine supports certified wireless game controllers on iOS devices.
  • The TouchDevice class has been added to the engine to represent the touch screen on mobile devices. In gameplay mode, the touch device will generate mouse deltas when the user swipes the screen. Special touch button controls can also be added to the touch device to place virtual buttons on the screen that send ordinary button press and release events to their actions.

Sound Manager

  • When a streamed sound is played, the initial load now takes place asynchronously to avoid a potential pause on the main thread.


World Editor

  • The morph controller now lets you change the default morph target weights.