Welcome to Open Carnage

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

Kavawuvi

Chimera (build 49)

237 posts in this topic

Members of Open Carnage never see off-site ads.

Something I'm working on is loading Halo maps directly into RAM. The benefit to doing this is mostly performance, but it will also allow for compressed maps as well as not having to worry about the 23 MiB tag data limit outside of BSPs. However, to do this, you will need a slightly modified haloce.exe file. This isn't a modification in Halo's code but rather a flag in the .exe header, LARGEADDRESSAWARE. This is required in order to allocate such a large amount of RAM.

 

To lay it out for you, here are the pros and cons:

 

Pros

  • Performance can be significantly improved even on high end PCs. This is because all of the disk reading is all done on load, removing the need to read from disk, removing hitches when loading assets.
  • BSP transitions are now nearly instantaneous. Again, all of the disk reading is done on load.
  • Map compression means that maps now take up a lot less space. To put it in perspective, @Vaporeon, using the compression tool I wrote, managed to compress over 3000 maps down to under 100 GB. I'll repost those map compression tables for you to see.
  • Monochrome bitmaps can be used, drastically reducing the file size of bitmaps such as those used in HUDs without any loss in quality (lossless).
  • The 23 MiB tag data limit is no longer an issue (outside of BSP tags which can now take almost all of the 23 MiB uncontested though I might even make those not limited), allowing for more complex maps with more content than ever. Because I've allocated a whole GiB, you can use as much as you want of that GiB for your maps.

Cons

  • You need a haloce.exe file that is patched to support LARGEADDRESSAWARE. This will allow Chimera to allocate larger chunks of RAM than what is normally possible.
  • Loading times for Halo maps are increased to around 0.5-3 seconds depending on your PC specifications. This is because the entire map has to be loaded into RAM, and compressed maps have to be decompressed.
  • Halo may use over 1 GiB of RAM. Loading 700+ MiB maps directly into RAM uses a lot of RAM.

 

Map Compression Benchmarks

Here are some familiar tables you've probably seen before.

 

MwmDrIj.png

 

As you can see, the whole Refined campaign takes up nearly 2.65 GiB. When compressed, the Refined campaign takes up under 1 GiB (1024 MiB = 1 GiB). Compression ratios are usually at or under 40%, and with features like monochrome bitmaps, they can be dropped even further. On a mid-ranged CPU like the Ryzen 5 2600, these maps do not take that long to decompress.

 

Here's another table containing some popular maps. Obviously compression ratio varies from map to map, but LZMA's compression ratios are really good.

 

AzxHV2x.png

Tucker933, ShikuTeshi and ST34MF0X like this

Share this post


Link to post
Share on other sites

I've also written a patcher. Simply place this program in your Halo Custom Edition directory next to haloce.exe and haloceded.exe and run it.

 

If you don't have write access to Halo Custom Edition, you should give yourself write access, or you can try running this program as an administrator.

 

Download: laa-patch.zip

ST34MF0X likes this

Share this post


Link to post
Share on other sites

I haven't downloaded this yet but have confirmed that it is a virus. It marks you and your copy of Halo as Kava's property. You can never escape his pink grasps.

Tucker933, tarikja and Kavawuvi like this

"You're nothing but a thing to me." -Tucker933 2016   

"Mine's not huge, but neither are my hands, so it's a real good fit." -Badga666 2017                

"It's not incest until it's in." -Caesar 2017

"Poison dart frogs aren't poisonous. Mankind is a poison and the dart frogs are the cure."-Somewhere on the internet  

Share this post


Link to post
Share on other sites

Posted (edited)

I've done a bunch to Chimera since then. This includes support for compressed .vap maps, fixes for commands like chimera_interpolate and chimera_auto_center, as well as being able to use chimera_interpolate.

 

As usual, it's protected like approximately 25% of Halo maps out there.

 

To break the protection, you must find the answer. For there is only something in this universe that is powerful enough to defeat the encryption. What is that, you ask? It's in this post that you just read!

 

Download: chimera-20190504T231621Z.7z

 

edit: I previously broke interpolation. If you find that there is no interpolation and chimera_interpolate doesn't work, try redownloading. It's fixed now.

Edited by Kavawuvi
Java, ST34MF0X and VoidsShadow like this

Share this post


Link to post
Share on other sites

As I mentioned in a previous post, you will need to patch Halo Custom Edition for IMAGE_LARGE_ADDRESS_AWARE (you can use my laa-patch tool for this) to use a few more of Chimera's features. If you do not do this, you will still be able to use Chimera, but a few features will not be available. Here is a table that details this:

 

n2HapVA.png

 

If you have any questions or comments, reply here.

ST34MF0X likes this

Share this post


Link to post
Share on other sites

Bug: When using the alt tab graphics feature it works fine but if you use other methods of unfocusing such as the windows key it will not keep the graphics going.

Share this post


Link to post
Share on other sites

I've added chimera_deadzones.

 

Download: chimera-20190828T063612Z.7z

 

On 7/10/2019 at 1:47 AM, Enclusion said:

Bug: When using the alt tab graphics feature it works fine but if you use other methods of unfocusing such as the windows key it will not keep the graphics going.

I've decided to not implement this command in future versions of Chimera. Sorry.

ST34MF0X and (SBB) Storm like this

Share this post


Link to post
Share on other sites

I've added chimera_auto_uncrouch and chimera_shrink_empty_weapons. This means that all commands from previous versions of Chimera have been added in with the exception of a few for various reasons that I won't be adding in.

 

Here's an update to Chimera's netcode that I posted on the Chimera Discord:

Quote

Several people have been asking about features such as the warp fix from build 49, AI syncing, velocity syncing, etc. All of these features will require making a new netcode of some kind. I realize I should have offered a better explanation on why I decided to drop it, so here is that explanation.

 

Implementing a new, proper netcode can take a long time. The last official release of Chimera, build 49, was released on the 9th of September 2017 - two years ago in a couple weeks. While I do think I am capable of creating a new netcode, and while I would very much love to implement these really cool features, I think that it would be unfair and wrong of me to continue delaying Chimera for much longer than it has already been delayed.

 

So, due to time constraints, Chimera will not have a new netcode. In fact, I'm not even sure it will have a server portion, either, as implementing everything SAPP already has (no-lead, admin management, etc.) will also be a very lengthy endeavor - probably even longer than it would take to design a new netcode.

 

I'm sorry if you were all looking forward to this, but understand that, while I could do it and would very much love to, I just don't want to delay this project for any longer than I need to. You very patient people truly deserve better than that.

 

Anyway, with all that bad news out of the way, here is a download to the new build.

 

Download: chimera-20190829T164912Z.7z

 

ST34MF0X and MrChromed 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.