-
Content count
4,555 -
Joined
-
Last visited
Posts posted by Kavawuvi
-
-
While the Doppler isn't fully accurate to Xbox (or I guess real life as the plasma pistol seems to bend in pitch when you are holding it and moving despite the fact its relative velocity to you is 0), the issue I was pointing out had to do with the firing effect not playing in both channels when strafing.
Basically, it sounds like the firing effect is coming from near you rather than from you.
Sunstriker7 and Java like this -
-
I've updated Invader to 0.49.1. This is mainly bugfixes, but support for the newer definitions of the April 2022 update of the H1AEK has been added, too.
Sadly, I had to change Invader's name back. Sorry if you liked HEK++.
Sunstriker7, ST34MF0X and Takka like this -
-
-
As of today, Invader has been renamed to HEK Plus Plus (or HEK++ for short).
People have complained that HEK++ (formerly Invader) is not as user friendly as Halo Custom Edition's HEK. So, I'm going to right this wrong and make the following changes in all future builds of HEK++.
- All error messages will be replaced with register dumps and assertions to source files you don't have access to. Which one will you get? Who knows!
- If there are any problematic tags that prevent a cache file from building, HEK++ will not print the paths of the problematic tags. Instead, you must use trial and error. This is way more fun!
- Most of the error checking will be removed in HEK++. This means you can now build maps with tags that would've otherwise been rejected by Invader. Maps that will probably crash the game. If a map crashes the game, it's even more trial and error. Map creation hasn't been this exciting since 2004!
-
HEK++'s argument parsing system has been
removedoverhauled for most tools, thus you now only have to specify paths for everything. Gone are the days where you make bitmap tags by specifying the type of bitmap you want. Now HEK++ makes DXT1 bitmaps by default, and if you want to change it, you have to open the tag editor! - All tools will later be bundled into one executable, HEKPlusPlus.exe. While this does mean you will no longer be able to tab complete, it at least means you will no longer be able to do tab completion. It's a win/win, honestly.
As always, thank you for using and supporting HEK++. It's very much appreciated!
-
I've updated the tool. Here are the changes:
- JSON output now sorts groups.
- JSON output now stores the ISO 8601 timestamp of the creation date of the .exe file (read from the PE header).
- JSON output now stores the dumper version (the version of gorilla used to make it).
- "description" was renamed to "text" for section types.
- Colored sections are now handled.
- The SHA256 of the exe is now placed in the output JSON.
- The FileVersion is now placed in the output JSON. For example, Halo: Custom Edition's guerilla.exe will report 1.0.0.609 as its version.
-
This command-line tool dumps definitions from guerilla.exe into a parseable JSON format. You can use this on both the Halo: Custom Edition and Halo: CE Anniversary guerilla.exe.
Note that fields nonexistent in guerilla.exe won't be exported, thus you won't get a totally complete definition set. However, it should be good enough to make your own Halo: CE editing tools.
There are a two main uses for this tool:
- Making tools that edit Halo: CE tags
- Checking for differences between releases (since they are rarely documented, at least 100% adequately)
I'll primarily be using this tool for working on Invader (this was why I made it!). You may use it freely for whatever you need, however. Also note that this tool is written in Rust (if you are interested in editing its source code).
Source code (GNU GPL v3 - GitHub): https://github.com/SnowyMouse/gorilla
Download (win32 - 64-bit x86): gorilla-win32-0.3.1.7z
(Note: This tool will work on Linux, but you will need to compile it from source!)
Sunstriker7, Takka, Chalwk and 1 other like this -
Wow.
-
Due to Halo's master server being down, I've added a new command: chimera_master_server.
You can use the HaloNet master server with chimera_master_server "gamespy.halonet.net" or use chimera_master_server "" to restore to the default one.
You can also configure the default master in the ini.AntiMomentum, Takka, ST34MF0X and 3 others like this -
I've implemented a couple "experimental" features into Invader.
You can now explicitly specify tag groups in tag paths in scripts by including the extension, and you can now use "none" as a tag path to indicate no tag. These are features implemented in later versions of the engine (e.g. Halo 3) which I have basically backported to CE.
This means the following script now technically works:
(global object_definition my_unit "none") (script continuous meme (sleep 60) (objects_delete_by_definition my_unit) (if (= my_unit "none") (set my_unit "vehicles\warthog\mp_warthog.vehicle") (set my_unit "none") ) )
While this will technically work in the stock game due to the simple fact of how cache files work, these features are not supported by any current official tools, nor are they guaranteed to exist in all versions of Invader like this moving forward.
Chalwk, ST34MF0X, Sunstriker7 and 1 other like this -
Those values determine the resync rate. Since they are denominators, lower values mean faster rates. So, 10 means once every 10 ticks, or 333.333... ms. And 0 means once every 0 ticks, or basically constantly send data (around 33.333... ms).
If anything, increasing this rate (thus lowering the values) will reduce performance as your server has to send more data and process things.
If players have a low ping, this may slightly improve the experience at best by making desyncs less extreme, but medium to high ping players may see a worse experience.
Takka, ranarene and Sunstriker7 like this -
I've updated invader to 0.47.
For Invader, this fixes a potentially serious vulnerability, namely with tag referencing files outside of the tags directory. Basically, absolute paths and paths with '..' directory components would allow you to escape the tags directory and cause all sorts of havoc in your filesystem without requiring symlinks. There aren't any known tagsets or cache files exploit this, but these are the details:
Basically, this is a vulnerability that nearly every set of tools has, including official toolkits (e.g. Halo Custom Edition's HEK) as well as most community-made toolkits such as the MEK and, of course, Invader (formerly). The severity of the issue varies depending on the use case, ranging from just reading some files it shouldn't to creating and/or deleting files not in the tags directory.
For example, with tag extraction, you can exploit this with a hand-crafted tag path in a cache file, resulting in tags being extracted to locations well outside of the tags directory. Something like "C:\mytag" for example could extract to the C: drive on Windows, where "/mytag" may extract to the root directory on a Unix-like operating system. Or, a simple path such as "characters\..\..\cyborg\cyborg" will extract to the "cyborg" folder outside of your tags directory.
You do not need to hex edit a cache file to do that second one. Tool seems to happily compile malformed paths with '..' components into cache files, meaning you can technically reference tags outside of the tags directory without any apparent issue, and these tag paths will be included in your cache file with the technically invalid path intact (that is, intact as far as invalid paths go).
When resolving a tag path into a file path, Invader will now instead throw an exception error if it detects that a tag path is either an absolute path for the target system (e.g. "C:\Users\Bob" on Windows, "/home/bob" on Linux, "/Users/Bob" on macOS, etc.). It will also throw an exception if the path tries to use '.' or '..' instead of a real directory.
In other news, invader-script has a number of fixes. Tag paths are now validated (so if you use a sound that doesn't exist, it will let you know before you go and build the map). Also, path separators are now validated, references are now populated, and the vehicle type can be resolved into a unit type. invader-build and invader-extract also have a few fixes and improvements, too.
Also, VT100 colors are now used on Win32 builds just as on Linux builds. This will fix a few error messages being formatted weirdly, and it has also demonstrated some performance improvements.
Note that VT100 colors only work on Windows 10 or newer as of an update. Therefore, if you're on Windows 8 or older, you will no longer see any colors in Invader's output. This unfortunately marks the end of full support for Windows 7 and Windows 8(.1), as I can no longer guarantee these tools to work with full or even any functionality moving forward when running on a deprecated operating system. While I definitely wish I could continue supporting Windows 7 as may consider it to be one of Windows's best versions (including myself), unfortunately it is pretty impractical to support it now that it's been out of support for two years and has been explicitly unsupported on newer hardware for over five years, starting with the release of Intel's Kaby Lake in 2016. I also can't test or debug Windows 7 functionality since I don't have a Windows 7 machine, so... yeah. Invader's intention is to take full advantage of modern systems to provide the best possible experience, and that doesn't just include taking advantage of greater hardware resources such as more RAM and CPU cores. This also includes software systems, and dependencies such as Qt do not support Windows 7 on newer versions. And since I'll be upgrading invader-edit-qt and Six Shooter to Qt 6 which only supports Windows 10 or newer on Windows, this means that parts of Invader will cease functioning on older versions of Windows.
VT100 colors also now render in Six Shooter:
Lastly, I fixed a few issues with invader-script and invader-extract. object_definitions should now work properly in scripts.
Chalwk, ST34MF0X, Sunstriker7 and 1 other like this -
I'd say it's my software. Chimera is definitely on the top, fixing a number of issues that not even HAC2 would fix and ultimately turning Halo PC into a proper PC game with its high quality widescreen hack and interpolation.
To a lesser extent, Invader which has been picking up some traction likely thanks to MCC. I've spent so long on this one.
But even Deathstar was an old tool I made that people used as it provided the best-in-class deprotection at the time.
Sceny, Enclusion, Sunstriker7 and 1 other like this -
Oh wow. So much stuff has happened in the past 10 years. It's such a different world now.
And despite that, this site's still around.
Happy birthday, Open Carnage!
Enclusion, Takka and Sunstriker7 like this -
Chimera now checks the first 2048 bytes of a map upon downloading it. If it's invalid, it will fail and not put anything in your maps folder. This should fix a seemingly rare issue where the map server might not deliver a map.
ST34MF0X, Sunstriker7, Java and 3 others like this -
-
Invader has supported building CEA maps for a while, but 0.45.0 brings full support for the CEA tagset released in the Halo: CE Mod Tools on Steam.
Note that CEA still does not support custom maps at this time, so as usual, play with EAC disabled when using custom maps.
See the linked update post for more information.
Takka likes this -
I've released Invader 0.45.0 (and then 0.46.0).
The main point of the 0.45.0 update is to provide full compatibility with the new Halo: Combat Evolved Anniversary tagset and tools. The 0.46.0 update further improved accuracy of the tools.
All scenarios that were released with the MCC Halo: CE Modding Tools now compile with invader-build with the new script compiler, though if you choose to use Invader with CEA tools and tags, there is one important thing to note: 343 Industries changed the way scripts are compiled with their tools. Basically, CEA's tool.exe loads and recompiles scripts from the data directory rather than the scenario tag, itself, on build.
It also drastically increases the performance of invader-build and invader-bludgeon, since Invader now uses the vorbisfile API to query sample count instead of decoding the entire Ogg Vorbis file. This yielded over 200% more performance on my Ryzen 5 2600 PC when building levels\d40\d40. The difference is staggering!Most notably, this adds the invader-script tool, as well, allowing you to compile scripts without needing to use either Sapien or building a cache file with CEA's tool.exe. It will also make porting between versions of the game easier as it will take into account the functions and globals from different versions of the game, and it will properly size the node count.
This also adds a bunch of improvements and features, making Invader even more accurate than ever before! Besides a few negligible floating point precision differences, some inconsequential ordering differences, the usage of scenario tag scripts vs. data folder scripts (you can use invader-script for these!), and a few other remaining unknowns to explore, the entire CEA tagset should now be functionally identical when built by Invader as opposed to CEA's tool.exe.
And of course, Invader still supports all three major Gearbox releases of Halo PC: the disc version, Custom Edition, and trial! And the original Xbox version is also supported, too. Therefore, all of these versions naturally received a significant accuracy improvement as well!
As always, when modding CEA, please note that the following:
- You will want to obtain the Halo: CE Mod Tools as it comes with a complete set of tags which, due to legal and size reasons, cannot be provided by Invader. It is free on Steam even if you do not own Halo: Combat Evolved Anniversary on Steam, so feel free to download it here.
-
Until Halo: Combat Evolved Anniversary receives custom map support, you will need to replace your stock maps to use custom maps. Therefore, it is recommended that you play custom maps with EAC off.
- When playing with EAC off, you will be restricted to playing self-hosted Custom lobbies and singleplayer games. Matchmaking, the Custom Games Browser, and most game progression features will be disabled.
- If you accidentally play with EAC on, you probably won't get EAC banned since it's unlikely EAC can tell the difference between a modded .map left in by accident, a corrupted .map file from a bad download, or a .map file with wallhacks, but you will almost certainly get kicked from matchmaking and quitbanned upon trying to load a modded map.
- If you've accidentally messed up your MCC installation and you did not make backups, tell Steam to Verify Integrity. This will take a while depending on the speed of your computer, but if it finds a discrepancy, it will retrieve the correct file from the Internet.
- As far as CEA releases go, this toolkit will only support the Steam version. If you want to mod the Xbox One or Microsoft Store version of CEA, you're on your own until 343 Industries provide a method to play custom maps on those versions, assuming they ever do. Luckily the official CEA tools are available off of Steam for free.
- Lastly, as per version 3 of the GPL, this software has absolutely no warranty whatsoever. That also means that, just like with content made using the official CEA tools, if you get yourself Xbox Live banned because you cheated and/or griefed using content made with this software, that's on you. PLEASE don't be that guy.
Lastly, I'm working on an overhaul of the tag API to hopefully further help with porting between different versions of this game. I've noticed that maps made with CEA's tagset will crash on Halo Custom Edition (and it's most likely not because of the shaders).
Have fun!
for the entire changelog, go here: https://github.com/SnowyMouse/invader/blob/master/CHANGELOG.md
-
-
invader-script now does scripts, further advancing the goal of making a complete, free suite of tools.
This leaves us with four more things we need to do: BSPs, collision model, lightmaps, and visual object placement
Enclusion, Sunstriker7, ST34MF0X and 1 other like this -
I've added invader-script. You can now compile scripts for all versions of Halo without requiring Sapien, even Xbox and Custom Edition.
invader-build will also now compile scripts, too.
This will help determine if a given script will work in a game. For example, multiplayer_draw_teammates_names will crash anything except Halo Custom Edition and MCC.
Consequently, Invader now supports maps with scripts.
Takka, Sunstriker7 and ST34MF0X like this -
-
10 hours ago, Vaporeon said:I think it would be better to prevent the score going below the current highest score +1 (or more for koth etc.). I think having the game end with a loss because someone quit would feel kind of cheap.
I suppose alternatively, like with my Arcade CTF script, you could make it so the maximum score only goes up but not down.
If the current score limit ends up being way too high because most of the players left at the beginning of the game, players can use the skip command to go to the next game.
Also note that by only going up, I mean that if you hit 12/16 players, the score will never change for that game until you hit a greater threshold. So if the player count ever changes to 1-12 players but not any higher, the score limit will stay the same for the remainder of the game unless the player count goes above 12 players.
Sceny likes this
in Off-Topic
Posted
What a ride.