What happened to OC? - CLOSED Carnage?!
Sign in to follow this  
Followers 0
Kavawuvi

Build -369: More Lua improvements

Tiddy-bits:

I'm in the process of rewriting a lot of stuff in Chimera in preparation of making it open source.


Here's a sample file:

#include <string>
#include <vector>

enum ChimeraCommandError {
    /// The command was executed successfully.
    CHIMERA_COMMAND_ERROR_SUCCESS = 0,

    /// The command was executed but failed. An error may have been printed to the console.
    CHIMERA_COMMAND_ERROR_FAILURE,

    /// The number of arguments specified was greater than ChimeraCommand::i_max_args.
    CHIMERA_COMMAND_ERROR_TOO_MANY_ARGUMENTS,

    /// The number of arguments specified was less than ChimeraCommand::i_min_args.
    CHIMERA_COMMAND_ERROR_NOT_ENOUGH_ARGUMENTS,

    /// The command was not found or the commands list was not initialized.
    CHIMERA_COMMAND_ERROR_COMMAND_NOT_FOUND
};

/// This is a pointer to a function executed when ChimeraCommand::execute() is called.
///
/// argc is guaranteed to always be within ChimeraCommand::i_min_args and ChimeraCommand::i_max_args.
///
/// Dereferencing argv while argc is 0 is undefined behavior.
typedef ChimeraCommandError (*ChimeraCommandFunctionPointer)(size_t argc, const char **argv);

class ChimeraCommand {
private:
    /// This stores the name of the command.
    std::string i_name;

    /// This is a pointer to the function.
    ChimeraCommandFunctionPointer i_function;

    /// This is the minimum number of arguments required to execute the command.
    size_t i_min_args;

    /// This is the maximum number of arguments required to execute the command.
    size_t i_max_args;
public:
    /// Return the name of the function.
    const char *name() const;

    /// Attempt to execute the function.
    ///
    /// If argc is less than ChimeraCommand::i_min_args or greater than ChimeraCommand::i_max_args then the function,
    /// will not be executed.
    ChimeraCommandError execute(int argc=0, const char **argv=nullptr) const;

    /// Return the minimum arguments that can be used for this function.
    size_t min_args() const;

    /// Return the maximum arguments that can be used for this function.
    size_t max_args() const;

    /// Instantiate a ChimeraCommand using the specified name, function, and (optionally) the range of arguments.
    ///
    /// By default, min_args and max_args are set to 0. If max_args is 0 or unspecified, then it will be set to
    /// min_args. An exception will be thrown if max_args is non-zero and is less than min_args.
    ChimeraCommand(const char *name, ChimeraCommandFunctionPointer function, size_t min_args=0, size_t max_args=0);
};

/// Search for and execute the Chimera command.
ChimeraCommandError execute_chimera_command(const char *command_input);

 


 

On 11/12/2017 at 9:15 PM, SomeFan said:

The problem: Mouse acceleration (& we all know it's the worst)   

The fixes: 

https://www.reddit.com/r/halospv3/comments/5dk9ta/finallyhalo_ce_mouse_fix_tool_v10_also_open_source

https://www.reddit.com/r/halospv3/comments/6aoxu0/halo_ce_mouse_tool_released_fine_tune_your_mouse

AWilliams17 & Grogel have made progress & there fixes work ok some of the time but they are noobs compared to you, plus i really don't like using external Tools & fiddling with HEX values in Cheat engine, if you could add a command to disable Mouse Acceleration that would be great.

P.S. thanks for making chimera!

P.P.S. i know you've been asked this before:  Raw Mouse Input Hack,  Croire98 requested. if you can't maybe someday when it's open-Source....

-SomeGreatfullFan

I'm not sure how to implement some of this stuff, but I can understand people wanting this to be a thing.

Takka likes this

Share this post


Link to post
Share on other sites

So far I've gotten chimera_interpolate and chimera_uncap_cinematic mostly done. After doing some benchmarks, I found in The Silent Cartographer opening cutscene on my PC, this build saw half the performance deficit with chimera_interpolate 8 than on build 49. On my PC, this is around a 10% improvement in average frame rate, but slower PCs may see a higher boost. Your performance can and will vary, and it may be higher or lower.

 

Download: , 

 

Note: As this is a total rewrite of Chimera, settings are not implemented yet, so you will need to enter the commands, yourself, every time you start Halo. To save time, you can place this chimerainit.txt file in the Halo CE root folder.

 

Known issues:

  • Switching weapons has the previous weapon still visible for a few frames
  • Flag cloth, antennae, and particles interpolate on all levels

 

I do not recommend using this build except to test it. It only has those two commands.

Takka likes this

Share this post


Link to post
Share on other sites
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.