A Community discussion forum for Halo Custom Edition, Halo 2 Vista, Portal and Halo Machinima

Home  Search Register  Login Member ListRecent Posts
Viewing User Profile for: Kavawuvi
About Contact
Joined: May 24, 2018 01:51 AM
Last Post: Yesterday @ 11:27 PM
Last Visit: Today @ 05:09 PM
Your Age: Yes
What Games do you play:
Brrrrrrring Ha!

Send Private Message
Post Statistics
Kavawuvi has contributed to 28 posts out of 468958 total posts (.01%) in 366 days (.08 posts per day).

20 Most recent posts:
Halo CE General Discussion » Proposal: How to share tags and maps Yesterday @ 11:27 PM (Total replies: 28)

Quote: --- Original message by: sparky
To properly share a tag:

    1. compile it into a map
    2. use a program like HEK+ [EDIT: Try using Refinery] to recursively extract the tag to a new folder
    3. .zip the folder
    4. upload the zip to Drop Box
    5. post the link here

Quote: --- Original message by: sparky
Please comment on this, for example argue for using RAR, argue for using something other than Drop Box, and telling me you can't upload to CE3 or HAC (anymore?). Also, someone share a link to CE3 and HAC map upload terms and forms. Thanks.

I would use the .7z file format over .zip for tags, too, as LZMA compression is much better, compression ratio-wise, than DEFLATE. You can optionally create a solid archive, too, improving ratios even further.

The obvious drawback is that it's not immediately available to you on macOS or Windows, but of course, neither is the Halo Editing Kit immediately available to you when you install Halo Custom Edition.

Quote: --- Original message by: BioGoji1989
Okay, so... who exactly are you replying to in this post?

Edited by Kavawuvi on May 23, 2019 at 11:29 PM

Quote: --- Original message by: DeadHamster
I'm all for the release of source code, by the creator of the content. Not by some salty little kid who's upset. So again. Were you going to be updating and maintaining this? Or did you just want to throw your little tantrum because somebody didn't release their source code right away?

He seems pretty happy to me.
Edited by Kavawuvi on May 23, 2019 at 01:21 PM

Quote: --- Original message by: DeadHamster
Laika- I'm sure you intend to release the source, but along with what Vaporeon and Michelle have said, I'm gonna recommend an archived source be uploaded somewhere just as a backup. Nobody is going to make a fork while you're still active, and it'll ensure that if you suddenly disappear as quickly as you've reappeared, then we aren't stuck here with a partially-broken tool that could potentially do amazing things. Also, there's a lot of smart people here. Someone could definitely help out and figure some things out.

In the end you're well within your rights to tell all of us to f*** off and keep the source to yourself. This is a huge gift to the community and we have to be grateful for it. But the standard now is that everything is released open-sourced, unprotected in as accessible a format as possible.

If you don't want to do that now, maybe send Masterz an archive of the source? He doesn't know how to do anything with it, the rest of the community knows it exists with him, and you don't have to worry about someone making a fork and messing everything up while you're still around.

Something I do with many of my incomplete projects now is that, if I don't feel the source is ready to be posted, I'll regularly send copies of the source code (usually on every day I work on it) to a friend who lives far away from me. I've been doing this with Chimera, Dark Circlet, Invader, Salamander, and other projects.

If I suddenly disappear off the Internet for a long period of time (e.g. I get hit by a bus, Trump drafts me into the military, my house burns down, etc.), they will release the unfinished source code with the hope that someone else will finish my work. Also, if I lose the source, they have those copies I've been sending them.

Edited by Kavawuvi on May 21, 2019 at 02:51 PM

Quote: --- Original message by: sparky
I am guessing that they did padding in the (interface) definitions -- which are like templates -- because of the static pointer calculations during map compilation and reading the data into memory. But contrarily, there is more padding than necessary for 32-bit integer memory address alignment. And it seems strange that the padding is unmodified, skipped, by the HEK programs that write to disk. Perhaps they were simply frivolous with skipped bytes to give themselves more leeway as they anticipated adding more metadata to the template definitions. Anyway, I'm not using template style, so it doesn't really matter much to me because I'm not trying to remake the game engine literally.

Most padding is actual padding. There are, however, plenty of values that Guerilla does not write to that tool.exe actually does write to. If these values are left at 0, unexpected things may happen such as dying instantly from fall damage or various effects not triggering on dedicated servers when they should.

1) Yes.
2) No. float_t can be used interchangeably with float.
3) As long as the size is correct when compiled for 32-bit and 64-bit, it's fine.
4) Padding is nice if you want to directly map data to a struct. If you don't need to do this, though, then that works.
5) Considering you're using C and not C++ and thus don't have access to the magical power of templates, that's fine.

Halo CE General Discussion » I fixed the sun Apr 8, 2019 10:21 PM (Total replies: 3)


This feature to Chimera I added fixes the sun, allowing it to be the correct size at resolutions above 1024x768. This means it won't look like a moon at 4K.
Edited by Kavawuvi on Apr 8, 2019 at 10:22 PM

Quote: --- Original message by: DeadHamster
I believe you actually meant 0x8, ending at 0xC. 0x8 contains the maps filesize in bytes written as a 32 bit int, whereas 0xC is all 0's.

Oh yeah, that's what I meant.

Anyway, cool. And yeah, you still need to make a map that's such a filesize to take advantage of it.

I'm working on a map building tool, myself (Invader), and I'm thinking I'll just have it just set the file size to 0 when it builds a map.

It's worth noting that setting the file size (32-bit integer at offset 0x8) in the map header to 0 will allow such large maps to work without needing mods like Open Sauce.

Halo only reads this value to check if it's <384 MiB. If it is, the map is (probably) valid.

Actually, it also checks if it's >128 MiB, and if it is, it leaks resource descriptors like crazy. It also does weird things like the name in the header not being read properly.

Setting this value to 0, therefore, is always a good idea even if the map would work otherwise.

Edited by Kavawuvi on Apr 1, 2019 at 03:03 AM

Halo CE General Discussion » Do you see Halo on switch? Mar 31, 2019 02:37 PM (Total replies: 1)

Is the Minecraft Halo pack not good enough?

This is because your second weapon is supposed to be the assault rifle you pick up after killing the three grunts.

Also, these scripted weapon pickups do not check how many weapons you are holding, thus if you picked up a plasma pistol, then when the assault rifle is given to you, you'll have a third weapon.

You can witness this by triggering a glitch where the grunts do not appear when they should, thus you don't obtain Keyes's pistol immediately. If you do this, get the assault rifle, pick up any second weapon, and then go back to trigger the grunt spawn, then Keyes's pistol will be given to you, resulting in you having three weapons. Also, if you already have a pistol, you'll have two pistols.

Edited by Kavawuvi on Mar 15, 2019 at 05:22 PM

Halo CE General Discussion » Serpent Mar 15, 2019 01:59 PM (Total replies: 1)

Here is a little fun project I did last month. This provides an alternative syntax for writing Halo scripting languages that is more similar to Lua than Lisp. Note that this doesn't add anything to the Halo scripting language, as I can't really make it do things you couldn't do before. I am planning on adding loops, though Halo's limited script stack size will mean you have to use these loops sparingly.

Here's an example Hello World script:
global string hello_world = "hello world"

startup start
developer_mode = 127
if (4 + 1) > 4
print("5 is greater than 4!")
elseif 5 / 0
print("wait, what?")

When parsed and converted into Halo script, it results in this script:
(global string hello_world "hello world")(script startup start (set developer_mode 127)(if (> (+ 4 1)4)(begin (print hello_world)(print "5 is greater than 4!"))(if (/ 5 0)(print "wait, what?"))))

The resulting script can then be compiled by Sapien into Halo Custom Edition. Unnecessary spaces and quotation marks are stripped and removed.

Again, this does not allow you to do anything you couldn't do in HSC before, but it may make scripting easier for people who are not used to Lisp. In the end, it's just a fun little project.

If you actually do want to use this, you will need Python. This might be a dealbreaker for some of you as Python can be really hard to install for some people, but if people are interested, I may make a more portable version later.

Source and further documentation: https://github.com/Kavawuvi/serpent

Edited by Kavawuvi on Mar 15, 2019 at 02:02 PM

Halo CE General Discussion » Map Compression Mar 10, 2019 04:13 PM (Total replies: 2)

Quote: --- Original message by: Banshee64
that's cool, how does it work? does a header flag tell the game it's compressed and it just reads the raw compressed data after the header? or is it done in blocks?

Actually, either work! The header contains a few fields: the block count and compression algorithm. Currently only uncompressed and LZMA are supported.

If the block count is 0, then all of the data after the block is considered one stream of data. This is like what Xbox does. This is what I use for maps that are under 8 MiB when uncompressed. Obviously uncompressed maps don't use blocks, too, so it will be set to 0 here.

If the block count is nonzero, then there is a table located directly after the header containing information about each block (decompressed size, compressed size, and file offset) with the number of entries equal to the block count. In decompression, this data is then decompressed and reconstructed into the original map file.

The benefit to doing blocks is that it can be easily split up into threads, and this massively reduces compression and decompression time while only slightly affecting the compression ratio.

Whether or not to use blocks as well as the block size to use is determined by the tool based on the file size, but it can be overridden. Larger maps use larger blocks, smaller maps use smaller blocks.

Edited by Kavawuvi on Mar 10, 2019 at 04:18 PM

Halo CE General Discussion » Map Compression Mar 10, 2019 03:04 PM (Total replies: 2)

Wow, a topic by me. I don't usually do that.

Using LZMA compression, I've managed to reduce the file size of various maps. This isn't the same as putting a map in a .7z file, as the header of the map still remains uncompressed. Rather, it's more comparable to compressed Xbox maps. That said, it does take a little longer to load a compressed map than an uncompressed map. Having more CPU cores and threads can potentially mean better decompression times, but this will vary from map to map, as will compression ratio.

For example, the entire Refined campaign takes up 2.649 GiB normally, but as compressed maps, it takes up only 1.003 GiB. A more extreme example is With Whiteness which, when uncompressed, is 759.7 MiB, but compressed results in a file size of 65 MiB. For decompression time, the largest map in the Refined campaign, d40.map, takes around 1.67 seconds to decompress when allowed a thread count of 8 or more, but with fewer threads, the time goes up significantly. I'll include this map and several other maps in a table. As for With_Whiteness, because most of the data is just unused 00's, the decompression time is very fast: 0.89 seconds at 12 threads, 1.26 seconds at 8 threads, 1.71 seconds at 4 threads, and 3.12 seconds with 2 threads.

Not everything works with this, however. Open Sauce maps, most protected maps, and maps with embedded Chimera scripts cannot be used with this, and most of this is, unfortunately, technically beyond my control.

Here is a table with some benchmarks:

The benefit to this is that large map folders can use less space without having to be stored in an archive like a .rar or .zip. Also, you do not have to cut back on image quality nearly as much. The loading time penalty is minor, and it can be made even less apparent by caching recently used maps.

Edited by Kavawuvi on Mar 11, 2019 at 12:28 AM

Halo CE General Discussion » Tool reuses to use modified stock tags, help! Feb 22, 2019 03:11 PM (Total replies: 16)

Quote: --- Original message by: MosesofEgypt
Also, vap, not everyone can set up a compiler

When single player maps start working without issue, then I'll start releasing builds of Invader for people to use and test. There are some issues that need ironed out, first, such as scripting and AI stuff.

Edited by Kavawuvi on Feb 22, 2019 at 03:14 PM

Halo CE General Discussion » Tool reuses to use modified stock tags, help! Feb 22, 2019 12:02 AM (Total replies: 16)

Quote: --- Original message by: Pabeung
Yes dumb af that guy and the modified stuff I'm trying to get work now is the refined stuff I got from that new Halo site, they got those things to compile how come It doesn't work out for me and I remember back in 2010 when I was still using XP that I was just overwriting stock bitmaps and I got them to work.

This is what it says when I'm trying to compile the refined stuff.

It sounds like it's using the bitmaps from your bitmaps.map, not your tags.

A quick way to see if this is the case is to prevent tool.exe from opening bitmaps.map, forcing all of the bitmaps to be in the map from the tags. You may be able to do this by running haloce.exe in the background while running tool.exe, but if that doesn't work, try renaming bitmaps.map.

Quote: --- Original message by: DeadHamster
This is what happens when you don't run everything as an administrator

What you just did here was post a meme, not an actual response. Judging by the original post, running it as admin will not do anything useful for this particular problem as it has to do with the resource maps' tags being used instead of the tag files.

Quote: --- Original message by: DeadHamster
Yeah so if you think somebody is going to gain unauthorized access to your computer and then use Guerilla to execute arbitrary code, you can do whatever michelle says. Or just run everything as an admin, like I have without issues for about a decade now.

I'm gonna have to go with Michelle on this one. If you have to run any of the Halo Editing Kit tools as admin, then your installation is broken (and it's your fault).

Also, it doesn't matter if anyone is going to have unauthorized access to your PC or not. Giving administrator access to a program to work around a problem when you could have just as easily fixed the actual problem (the permissions) is just plain stupid.

Obviously I can't convince you to stop, because you're just going to say that you think it's the right way to do things. You might even say that you "tried" doing it the right way and it didn't work for you (likely because you did it wrong because, if you're running everything as admin, you probably have no idea what you're doing in the first place). However, you shouldn't be telling other people to do something when there's an obviously better system for this that's built right into Windows.

Edited by Kavawuvi on Feb 22, 2019 at 12:07 AM

Halo CE General Discussion » Blood Gulch MOD !!!! [W.I.P.] Feb 18, 2019 07:02 PM (Total replies: 115)

Quote: --- Original message by: MEGA_VKNG

BSP and collision are shared, there is no way to visually change the bsp and keep the same BSP collision.
Edited by MEGASEAN2812 on Dec 8, 2015 at 09:10 PM

I know this is a pretty old post I'm replying to and the original poster probably won't ever see this reply, but while they do share the same tag, the collision part of a BSP is mapped out exactly the same way as any other model_collision tag.

In theory, you could extract this collision model (Mozzarilla maybe?), make a new BSP, and import the old collision model.

Edited by Kavawuvi on Feb 18, 2019 at 07:05 PM

Halo CE General Discussion » Custom Edition Vs. Master Chief Collection Dec 30, 2018 03:34 PM (Total replies: 1)

Custom Edition has:

  • Modding support (custom maps, custom mods, etc.)

  • Custom dedicated server

  • More options for controllers (Nintendo controllers, Sony controllers, Microsoft controllers, etc.)

  • No requirement to buy a console because the game can run on most x86-based PCs

  • Support for frame rates higher than 60 FPS (through Chimera)

  • Mouse and keyboard support

  • Custom FOV (through HAC2, Open Sauce, or Chimera)

  • The original sound effects

  • The original HUD

  • Free online multiplayer

  • Free name changing at any time

MCC has:

  • Official support from Microsoft

  • Matchmaking

  • Better netcode

  • Better support for controllers (deadzones and analog movement work properly), but only for Xbox One controllers (officially)

  • Support for longer names (Xbox Live gamertags can be up to 15 characters)

  • Split screen support

  • More games than just Halo Combat Evolved

Edited by Kavawuvi on Dec 30, 2018 at 03:42 PM

Halo CE General Discussion » CE3ish Video Casting Call Dec 26, 2018 12:10 AM (Total replies: 24)

Quote: --- Original message by: SBB_Michelle
I'm "that girl from Halo CE Now".

If you can't find me, ask Storm for my discord tag.

Halo CE NOW! It's Halo CE!

It's Halo CE NOW!

(with Michelle)

Oh wow.
Edited by Kavawuvi on Dec 26, 2018 at 12:13 AM

I downloaded and installed Halo Editing Kit on my new laptop. For some reason whenever I build a map all of the HUDs are Halo Reach. I have legitimately tried this on 4 other PCs and it's the same result every time except for my Mac which outputs a Halo 5 HUD.

Is it possible to make a custom map that doesn't have Halo Reach HUDs? Has anyone else been able to make a map with the classic CE HUD?

Halo CE General Discussion » it's a thing. Halo CE 60 FPS Oct 7, 2018 06:06 PM (Total replies: 108)

Quote: --- Original message by: lolslayer
Quote: --- Original message by: Kavawuvi

However, this is my opinion. You obviously prefer your games to look pretty, and that's fine. I can respect that. On PC, you can have your way via graphics settings. Sadly, most console games, such as Halo 5, lack graphics options, so you have to go with whatever settings were baked into the game by the developers, even if they aren't optimal for you. I think limiting these options does a disservice to the hardcore fans, but I guess they think that having an FOV slider is already scary enough for casual players?

Console games should never have advanced graphics options, I do believe that having a few options is great though, as long as it's clear what kind of performance you can expect from it.

I only said graphics options, not advanced graphics options. My problem with many console games is that lots of console games still lack settings for stuff like FOV or being able to toggle post processing effects like motion blur or chromatic aberration. I also feel that having an option to choose between better graphics or better frame rate should be in more games.

Quote: --- Original message by: Masters1337
Most people don't understand FOV and I'd prefer to see the sliders leave the PC games as well. Locking it down for the next version of SPV3 is something I'd really love to do as plenty of idiots go and tinker with it, then end up with a game that doesn't play the way it should.

I don't think you understand FOV, either.

Time: Fri May 24, 2019 6:13 PM 235 ms.
A Halo Maps Website