Kavawuvi

Demon

Tiddy-bits:

We get asked this a lot: Why Halo Trial? Why not Custom Edition? Or the retail CD version? Or the Xbox version?

 

Halo Trial is not only free to distribute with no DRM, but it contains the full gamut of Halo's features, NOT just those required for Blood Gulch or The Silent Cartographer. All levels are fully playable when rebuilt with Invader, and most custom maps can be ported, too.

 

The other PC releases contain some pretty nasty DRM and require a CD key which is becoming increasingly more difficult to get. Not even Custom Edition is safe from this.

 

The Xbox version is a bit out of scope for what we want, being that it is not a PC game and thus requires emulation. There is an Xbox decomp in progress if a reimplementation of the classic Xbox version is more to your liking: https://blam.info/

 

Being easy to share and set up made Halo Trial the best choice.

ST34MF0X, Takka and Sunstriker7 like this

Share this post


Link to post
Share on other sites

Let's be honest, Halo Trial was always the superior release anyway. We all have special places in our hearts for health pack teleporters.

 

Outstanding move, though.

ST34MF0X, Sceny and Kavawuvi like this

Share this post


Link to post
Share on other sites

This weekend, a few things were done.

 

The function for checking if a command is visible/allowed was more thoroughly decompiled. This helps in reverse engineering Halo's scripting system.

 

Next, a couple of replace options were added to hook.json: forbid and stub.

  • The "stub" replacement option will simply make the function do nothing if it is called. This should be used sparingly and only when the original functionality is not desired and we specifically do not want to reverse engineer this function. For example, a function whose sole purpose is to set things in the Windows registry should be stubbed out.
  • The "forbid" replacement option will crash the game if it's called, and an error message will be logged. Unlike the stub function, this should be used whenever possible. If a function (and every caller to that function) has been reverse engineered, then there is no need to hook into the original function. Therefore, we can assert that the game does not call this function anywhere using this option.

Next, calculate_lod_pixels was added, and this determines how many "pixels" a model takes up in order to facilitate Halo's model level-of-detail.

 

Lastly, all functions pertaining to gamma were stubbed out. This means the registry is no longer touched by this, and the OS gamma is no longer modified by the game. We are intending on adding a gamma setting to the game as a shader in the future rather than having the game mess with your OS, as the game, upon crashing, may not fix your gamma setting.

 

As a result, Halo Trial with Demon generally no longer touches the registry at all, now. There are still some code paths where it does touch the registry, but those do not seem to be hit typically. Eventually those will be reverse engineered as well, so stay tuned.

Takka, ST34MF0X and Sunstriker7 like this

Share this post


Link to post
Share on other sites

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.