Welcome to Open Carnage

A resource for Halo Custom Edition and MCC modding, with unique means of rewarding content creation and support. Have a wander to see why we're worth the time! - EST. 2012

Kavawuvi

Update: Toggleable hotkeys; feature roadmap

II've added toggleable hotkeys to Chimera. Essentially, this allows you to bind two commands to one hotkey. The first command is executed when you press it once, the second is executed when you press it again, and then the first, and so on. To use this feature, separate the commands with a double pipe || so that the first command is on the left side and the second command is on the right side. Extra spaces before and after the pipe are ignored.

 

I've also moved toggling the default command for debug camera to alt-shift-4 for easier usage (it was ctrl-alt-shift-4 before), and it now takes advantage of this new feature. This not only improves the functionality of the feature, but it gives you an example of a toggleable hotkey!

alt_shift_4=begin (debug_camera_save) (debug_camera_load) || begin (camera_control 0)

 

There are a number of uses for this added feature:

  • Toggle cheat commands (cheat_super_jump, cheat_medusa, chimera_block_damage, etc.)
  • Switch between a faster and normal game speed (pressing it once can do game_speed 10 to make the game run at 10x speed, and pressing it again does game_speed 1 - VERY useful for skipping unskippable cutscenes like The Silent Cartographer's opening cutscene)
  • Toggling debug features such as chimera_budget, chimera_show_coordinates, rasterizer_wireframe, etc.

 

In other news, here's what I'm planning to do with Chimera. Note that I may or may not do all or even any of these. Nothing on this list is a promise or guarantee of any kind.

  • A brand mod and engine agnostic Lua scripting API. I want to make a future proof scripting API that can be used across multiple mods and engines. Mod makers will be able to easily implement this in their own mod, and scripts that strictly use this API will, in most cases, be able to work with anything that implements this API, be it Chimera, MCC CEA (if it becomes worth modding), other mods, or even, say, an engine reimplementation (one can only dream right?).

    This API also abstracts away having to access the player table, object table, etc. for anything, making it much less error prone and far more beginner-friendly (pointers are hard!). Memory access will still be available in the base Chimera Lua scripting API, but these functions will be tied to Chimera and using them outside of Chimera will probably not work.

    Jerry said he'd help me out on this one, so I'm looking forward to working with him on this. This is not exclusively a Chimera feature but rather a library that Chimera (and hopefully other mods) will use, so PRs/commits will be directed to a repo separate from Chimera.
     
  • Dedicated server support. I want Chimera to run on dedicated servers, and while I've had some success, its feature set is incomplete. I do NOT intend to make Chimera have feature parity with SAPP, so features like custom commands (besides Chimera's included commands), administration setup (e.g. admin levels, admin verification, etc.), server-side anticheat (e.g. anti-aimbot, anti-wallhack, anti-speedhack, anti-glitch, etc.), chat commands, etc. will be totally left up to the Lua scripting API. Therefore, installing Chimera on a server with no extra scripts will therefore give you a close to vanilla experience in addition to fixes such as item spawn time, ping compensation, etc. just as it is on the client.
     
  • A new renderer. I want to make a renderer that accurately displays shaders as they originally were (so shader_transparent_generic) but also provide some level of extensibility (for example, custom shader code). For a while, I have been working on reverse engineering Xbox shaders and graphical behavior, and I've also made a proof-of-concept OpenGL renderer, Dark Circlet, which accurately displays environment shaders. You can watch the video here:
     

    Also, this renderer will not be tied to Chimera. I actually intend to use this with Invader for a scenario editor. However, if it is actually possible, I also want to see if I can implement this on top of Chimera. Note that reverse engineering and reimplementing the shaders will take a very long time, so do not expect this to be completed this year... or even at all. Therefore, I'd prefer to tie up any other major loose ends with Chimera before fully committing to doing this.

    Also this new renderer presently uses Vulkan which requires a somewhat recent GPU. To check if your current setup supports Vulkan, run the chimera_vk command which I added a while ago (this initializes a Vulkan instance and checks for any Vulkan-compatible GPUs). There is also a useful table on Wikipedia for determining if your card is compatible (https://en.wikipedia.org/wiki/Vulkan_(API)#Hardware), but basically, if your GPU is older than Nvidia's Kepler series (GeForce 600/700 series), AMD's Southern Island series (AMD Radeon HD 7700 series, or basically any GCN GPU), or Intel's Skylake architecture (Intel HD 530) or Intel's Sandy Bridge architecture (Intel HD 4000) if on Linux with the latest Mesa version, it will probably not work.

    Based on the results of this poll I held a while back, this does not appear to be a problem for most people, and if I did actually successfully implement it in in Chimera, I'll try to make it optional (after all, I want to run Chimera on a server).

Share this post


Link to post
Share on other sites

Tiddy-bits:

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.