Welcome to Open Carnage

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


  • Content count

  • Joined

  • Last visited

Everything posted by Kavawuvi

  1. It's been done before on the Mac side, funny enough!
  2. Got something working. It's not consistent, but the game is playable. You can move around, chat, kill, respawn, etc. without the connection breaking. There are a few caveats, notably that it's not consistent (you may have to try joining multiple times for it to work), it currently only works with client-hosted servers, and the rcon command causes the client to disconnect.
  3. I know these types of memes are low effort, but this basically describes Halo PC.
  4. From the Chimera Discord: tl;dr; The only way to switch between server lists and netcodes is with a command, and I'm not happy with this. If you're wondering what I mean by "However, you have 10000 IQ geniuses who wrote version changers to support morons who refuse to update old clients for invalid reasons," the original 1.00 release of Halo Custom Edition was generally used for piracy and cheating. However, newer versions aren't immune to piracy, and cheaters can fuck off, thus there actually isn't any legitimate or valid reason to use old versions of Halo Custom Edition. Also, those versions have known exploits that can be easily abused where newer versions have them patched.
  5. The needler is a very naughty model. I did look into the issue a bit further. Funnily enough, invader-extract is not the only extraction tool that exhibited this bug.
  6. I fixed an issue where preferences weren't saved correctly if you did not have custom_bitmaps.map, custom_sounds.map, and custom_loc.map present on the retail Halo PC client.
  7. The Halo Editing Kit sucks and everyone knows it. How do we replace it? I made a list of stuff that needs to be done and stuff that has already been done. Why should the Halo Editing Kit be replaced? One of the main issues with the Halo Editing Kit is that is unmaintained and unsupported. Like most Win32 applications, it can run on modern systems thanks to Windows's robust backwards compatibility. However, like many old applications, it hasn't exactly been unscathed by the passage of time. For a start, there are numerous user interface issues in both Sapien and Guerilla that have appeared in semi-recent versions of Windows. Not only that, but it also contains numerous limitations and restrictions that may have made sense with the limited 64 MiB memory of the original Xbox but not a PC game even from this time period. There are various other issues that have become well known by the modding community. None of these issues or concerns have or will ever be patched, officially, as the software is not supported. The Halo Editing Kit is also closed source and nonfree, requiring you to agree to an additional, restrictive license that takes away your freedom to use their software. While it's great that we have an editing kit in the first place, this nonfreedom can be to the detriment in the community in the long run. For any issues that are found, there is no way to fix the software without resorting to actually making changes to the binary, itself (and doing this is quite limiting!). As a result, people end up being stuck with the limitations and bugs of the software. However, since the software at least "exists" despite its issues, few people are inclined to replace the software. There's also another issue when it comes to modding using nonfree modding software: Because the software is closed source and nonfree, you're restricted to whatever the developers intended to allow you to mod. With the Halo Editing Kit, you can only modify Halo Custom Edition, and because it has an inferior renderer, people have resorted to dirty workarounds that sacrifice visuals (e.g. using model shaders instead of environment shaders due to fog). Also, without modifying the tools or creating new tools, you're only allowed to do whatever the tools allow you to do, and this is not everything you could do. Lastly, you're restricted to Windows on 32-bit x86, and while most people have access to that, it's possible that it may not be an option for most people in the distant future. In the end, it is a waste of time to try to fix something that is closed source and nonfree. While it's great that this software at least exists, we should focus our efforts on replacing the binaries, altogether, with better free and open source software. Usage of the Halo Editing Kit or any other "closed" modding tools should be discouraged whenever possible. What needs done? Questions we can answer right now: How do you edit your tags? Use invader-edit-qt. How do you make string list tags? Use invader-string. How do you make HUD message list tags? Use Mozzarilla. How do you make your bitmaps? Use invader-bitmap. How do you make your fonts? Use invader-font. How do you make sprites? Use invader-bitmap. How do you make cubemaps? Use invader-bitmap. How do you make your sounds? Use invader-sound. How do you make physics tags? Use Blender with H2V-Blender-JMS-Exporter (make JMS files) and Mozzarilla (JMS -> physics). How do you make model tags? Use Blender with H2V-Blender-JMS-Exporter (make JMS files) and Mozzarilla (JMS -> gbxmodel). How do you make animation tags? Use Mozzarilla. You currently need to use closed source software to make the .JMA files. How do you build your maps? Use invader-build. Child scenarios with custom scripts do not work, yet, as invader-build cannot compile scripts. Questions we cannot answer right now: How do you compile your scripts? We don't know yet. How do you make .scenario_structure_bsp tags? We don't know yet. Use Blender with H2V-Blender-JMS-Exporter to make the JMS files. How do you make collision model tags? We don't know yet. Use Blender with H2V-Blender-JMS-Exporterto make the JMS files. How do you place your objects? Besides manually placing them in invader-edit-qt or Mozzarilla or placing them in Blender and using an old invader-scenario tool I wrote to apply them to a .scenario tag, we don't know yet. How do you bake lightmaps? We don't know yet. Milestones to achieve? Making a HUD from scratch: Requires being able to edit tag data (use invader-edit-qt) Requires being able to create 2D texture bitmaps (use invader-bitmap) Requires being able to create sprites (use invader-bitmap) Making a simple multiplayer map with stock assets: Requires being able to build a map (use invader-build) Requires being able to create scenario tags (use invader-edit-qt) Requires being able to edit tag data (use invader-edit-qt) Requires being able to place objects (use Sapien from the HEK) Requires being able to compile BSPs (use tool.exe from the HEK) Requires being able to bake lightmaps (use tool.exe from the HEK) Making a new object completely from scratch: Requires being able to edit tag data (use invader-edit-qt) Requires being able to make model tags (use Mozzarilla and Blender w/ H2V-Blender-JMS-Exporter) Optionally requires being able to make physics tags (use Mozzarilla and Blender w/ H2V-Blender-JMS-Exporter) Optionally requires being able to make textures (use invader-bitmap) Optionally requires being able to make sprites (use invader-bitmap) Optionally requires being able to make cubemaps (use invader-bitmap) Optionally requires being able to make a HUD for weapons, units, and vehicles (see Making a HUD from scratch...) Requires being able to make animation tags (use Mozzarilla and a closed source program) Requires being able to make collision model tags (use tool.exe from the HEK) Making a new campaign map with stock assets: Requires being able to edit tag data (use invader-edit-qt) Requires being able to make string tags (use invader-string) Requires being able to create scenario tags (use invader-edit-qt) Optionally requires being able to create sounds for voice acting (using invader-sound) Requires being able to build singleplayer maps (invader-build works, but it cannot compile scripts for child scenarios, yet) Requires being able to compile scripts (use Sapien from the HEK) Requires being able to place objects (use Sapien from the HEK) Requires being able to compile BSPs (use tool.exe from the HEK) Requires being able to bake lightmaps (use tool.exe from the HEK) Making a complete game: Requires being able to edit tag data (use invader-edit-qt) Requires being able to make fonts (use invader-font) Requires being able to make bitmaps for interfaces (use invader-bitmap) Requires being able to create sounds from scratch for various effects (use invader-sound) Requires being able to make multiplayer maps (incomplete) Requires being able to make campaign maps (incomplete) Requires being able to make objects from scratch (incomplete) Where do I get this stuff? Invader (invader-*): https://opencarnage.net/index.php?/topic/7489-invader/ Mozz Editing Kit (Mozzarilla): https://opencarnage.net/index.php?/topic/7877-mozz-editing-kit-mek/ H2V-Blender-JMS-Exporter: https://github.com/Project-Cartographer/H2V-Blender-JMS-Exporter
  8. I've updated the topic to reflect the efforts of H2V-Blender-JMS-Exporter. We now have a means to make gbxmodel and physics tags from purely open source software.
  9. I've fixed an extraction bug with filthy part indices. The only tag affected by this is the first person needler model, resulting in the glow effect disappearing. No other stock tag utilize filthy part indices. Hidden below is the output from invader-compare of a before and after of the fix to demonstrate this. To fix it, either re-extract weapons\needler\fp\fp.gbxmodel using the latest build of invader-extract or make the following modifications using the latest build of invader-edit-qt or Guerilla: Geometry #0, Part #2 - Set "next filthy part index" to 3 Geometry #0, Part #3 - Set "prev filthy part index" to 2
  10. NOTE: There is a much better, safer way to do this: Earlier today, I was asked if it was possible to convert a Halo Full version map to a Halo CE map. After about a couple hours of researching it, I've done it with just Eschaton and a hex editor alone. For your guys' sake, I will write a patcher to take care of the hex editor part. Know that this tutorial will bloat your map by internalizing all assets, and you cannot undo this. That also means you only need to do this once, so let's get started. Tools needed: Eschaton 0.8 A hex editor. I use HxD on Windows and Hex Fiend on OS X. Alternatively, I wrote a patcher (Windows Only) https://dl.dropboxusercontent.com/u/30298900/000Release/BabelCL/babel.exe Halo: Combat Evolved; You CAN use HaloMD, but the bitmaps.map is modified in it, so some bitmaps may get broken. Halo: Custom Edition (I will refer to this as Halo CE); You will need the Windows version of Halo to install this. You can download Halo Custom Edition's installer here: http://opencarnage.net/index.php?/topic/2940-halo-custom-edition-download/ Note: For legal purposes, I will not upload the full version of Halo or Halo Custom Edition. You will need to get those on your own. That means that if you're on a Mac, you will need to install Windows or perhaps Wine to install it. Step 1, you need to open and expand your Halo full version map in Eschaton. I will be using Phoenix 3 for this. Once you have expanded it, internalize all bitmaps and sounds using your Halo full version bitmaps.map and sounds.map. Step 2, open a multiplayer map from Halo Custom Edition. Do not open ui.map or loc.map. I will be using bloodgulch.map, because we love picking on poor Blood Gulch. Step 3, recursively extract the tagc tag: ui\ui_tags_loaded_multiplayer_scenario_type from the CE map. When asked to replace, click on Replace and Internalize, then select your CE maps folder and your Halo CE bitmaps.map and sounds.map. Step 4, import the tagc tag into your expanded map. Be sure that Eschaton does not import duplicates to avoid increasing the file size any more. Any assets are already internalized, anyway. Step 5, rebuild. Step 6, open your map in a hex editor. I recommend HxD if you're on Windows, and Hex Fiend if you're on OS X. At offset 0x4, change it from 07 00 00 00 to 61 02 00 00. Know that changing this will cause it to only work in Halo CE. You can change it back and it will work with Halo full version, instead. It runs in command prompt. Syntax is: babel.exe <path to map>
  11. Unfortunately, I don't have the program anymore, so I can't re-upload it. Sorry. You could convert your modded maps to Halo Custom Edition maps if you wanted. Players would need to have the maps present in order to join, though, but you can get msalerno1965 to host them on his map repo provided you rename them properly (filename and in the cache file's header) and people who have HAC2 or Chimera can then download them.
  12. If we're going to talk about Halo PC, Halo PC may have a lot of empty servers, but at least I can get into some game without waiting an excessive amount of time. I suppose it depends on your tastes - not everyone likes racing, not everyone likes CTF, not everyone likes FFA, and absolutely nobody likes zombies (even if they say they do). Admittedly, if you're out for some sort of competitive experience (e.g. 2v2/4v4/8 FFA vanilla), though, you probably won't be able to instantly jump into that on Halo PC most times of the day unless you're willing to sit in an empty server for a good ten minutes before enough people join. I've found that getting that on MCC's matchmaking also carries quite a wait time (except you also have to wait in between games). Obviously MCC is much more than just Halo: CEA, but considering almost nobody cares about Halo: CE, that portion of the game may as well be considered "dead" too. Only being able to get big team games on Halo: CEA without waiting forever is disheartening considering I could have just gone onto Halo PC to get exactly the same thing, but nearly instantaneous. I'm certainly not saying that matchmaking can't work (after all, Xbox 360's Halo 3 worked pretty well even as the player count waned), but if you're right, then that could also mean that MCC probably does not have a "properly working matchmaking system". I think MCC's matchmaking also has a similar problem to Halo PC except, rather than too many empty servers, it has too many empty playlists. Or, really, too many playlists/combinations in general. I've found that, unless I select only the ones that are popular, it'll take a long while to get games (if I even get one). I think the problem is that the player count (which is several thousand) is actually divided into the "game size" you selected which is then subdivided by the games (e.g. Halo 2) and categories (e.g. SWAT). Unless I choose everything (or at least the ones most people are actually playing), I won't get games very quickly, but if I do choose everything, I've found I generally get the same games. For example, I prefer FFA, but I've found that the 8 player FFA almost never gets games on Halo: CEA, while on Reach, I almost always only get SWAT, or I just get precision/auto slayer with Halo 2 and Halo 2: Anniversary. Basically, the sheer number of options spreads things way too thin for the game's own good. At the time of writing this, the game has over 8000 players online on Steam, but I'm only going to be matched with a fraction of that at any given time, and not having cross-play with console further weakens this implementation. Honestly, I think 343 Industries needs to go back to the drawing board and come up with something that is sane for one game. (And include a server browser dammit!)
  13. map_skip 50 (replace 50 with the percentage of people required to elect to skip the game; 50 means 50%) sv_map_reset
  14. This script has a function 'NextGameNow' and command 'next_game' which forces the next game to begin in just a few seconds, almost entirely bypassing the score screen, as long as sv_mapcycle_timeout is set to any value that is GREATER than 0. For example, you can add the lines: next_game "lua_call next_game NextGameNow" 4 sv_map_fast #1 #2 "map #1 #2; next_game" 4 to your commands.txt file. Now try entering a command like 'sv_map_fast bloodgulch CTF' and see how fast the game changed to the CTF gametype on Blood Gulch. This is useful, because players may get impatient and leave during the score screen. If game intermissions only take a couple seconds, then players are less likely to leave. You can also use 'next_game' if you want to quickly reload the map for whatever reason, but not risk crashing Halo with 'sv_map_reset' if the game is unstable. To show you how fast this works, here is a video of the above sv_map_fast command in action: You don't need to edit commands.txt to use next_game as a player. Download (SAPP): next_game.lua
  15. So here's the thing I was going for in regards to Chimera adding support for Halo Custom Edition map support into the retail version of the game. As always, take "planned features" lists with a grain of salt, as I don't usually make them, but I wanted to make one to track completion. Differences are highlighted, and anything that isn't completed is marked with a "(WIP)". To help people better understand, I also made a small FAQ based on questions I've received over this. Why do this? We feel that Halo Custom Edition's existence as an entity separate from the base game was a mistake. Having to either switch between two clients or use one exclusively does far more harm than good. Therefore, I'm correcting this error. Does this mean that Chimera will drop Halo Custom Edition support? No. Chimera works fine on Halo Custom Edition, and most people who use Chimera will certainly continue to use Halo Custom Edition (most people who play Halo PC exclusively play on the Halo Custom Edition client after all). Will you make it so Halo Custom Edition clients can join retail Halo PC servers? No. Halo Custom Edition's shaders are even more broken, so you'd basically get the same thing I'm proposing but worse. Will I need Halo Custom Edition maps to join Halo Custom Edition servers? You only need the custom_bitmaps.map, custom_sounds.map, and custom_loc.map files as indicated in the readme. This requirement is for map downloading. You can then continue to use your installation's included multiplayer maps or use Custom Edition multiplayer maps (if you swap out any stock maps, be sure to back them up). I still need Open Sauce for ________ Chimera doesn't support Open Sauce, so this change does not affect you, nor will it impact anyone else who chooses to stay on Halo Custom Edition. Should I stop using Halo Custom Edition? I'm not your dad. I don't expect this to significantly impact the Custom Edition vs retail player ratio. In fact, this is probably a complete waste of time, but really, what isn't when it comes to fixing this game? However, we have decided that having Halo Custom Edition installed should not be a required for getting the best Halo: Combat Evolved experience, considering Halo Custom Edition is inferior in every way besides what it does have that the base game doesn't have. And what is that? More servers, more players, and, prior to Chimera's latest update, more maps.
  16. You extract all of the tags with invader-extract and then rebuild the map with invader-build. invader-build can target all versions of Halo PC.
  17. I've gotten the retail version of the game to load Halo Custom Edition maps. Setting this up is simple: Install the latest Chimera beta. Copy your Halo Custom Edition bitmaps.map, sounds.map, and loc.map files into your retail Halo PC maps folder as custom_bitmaps.map, custom_sounds.map, custom_loc.map. DO NOT OVERWRITE STOCK BITMAPS.MAP OR SOUNDS.MAP. Copy in your other Custom Edition maps as-is. You can also copy them to your downloads folder and they will work, but note that map downloading for Custom Edition maps on retail Halo PC is not set up yet. Simply copy in your Custom Edition bitmaps, sounds, and loc into your maps folder, renaming them to custom_bitmaps.map, custom_sounds.map, and custom_loc.map, respectively. Halo Custom Edition maps will use these files, and your retail maps will use the original files. There are a few things I'll need to take care of: Handle scripts that run commands or set variables introduced in Halo Custom Edition. Some maps, like coldsnap, use commands like multiplayer_draw_teammates_names or sv_say, and these will crash the game if they are not properly handled. Handle map downloading of Halo Custom Edition maps. This will require a small amount of work to get working, but it should be possible. Get the retail version to join Halo Custom Edition servers. This will require a lot of work towards reverse engineering, but it has been done before on the Mac version of the game through Samuco's sky bridge. Get the retail version to list Halo Custom Edition servers. It's easy to get it to switch between lists. Ideally, though, we want to use both lists in a seamless way. If this is done, then we can kiss this split client nonsense goodbye.
  18. So I've decided to modify my last update: Basically, I've decided to disable the "detail after reflection" and "atmospheric dominant" fixes for Halo Custom Edition. These fixes will only apply for the retail and trial versions. However, I am looking into allowing the retail version to run Custom Edition maps and possibly even join Custom Edition servers. The main reason I'm for this change is because Halo Custom Edition's renderer is a lost cause and is not worth fixing. I can do whatever I want to it, but the crux of the issue is that fog and glass are going to be perpetually broken no matter what I do. These issues are issues that need fixed, but fixing these issues on Halo Custom Edition - a version that will always be more flawed than even the base game - will only cause headaches for map makers rather than actually get Halo Custom Edition closer to a state I'd actually want it. Most maps do look better with the fixes, so if you really liked it, I'd keep your Halo PC CD handy.
  19. What Arcade CTF does is it combines aspects of CTF, Slayer, and King of the Hill into one game, allowing players to complete the game by capping, killing, and camping at the enemy base. Rather than being the first to reach a certain number of points, both teams start out with a set number of points that go down as players are killed, flags are captured, bases are held, and time passes. The goal is to get the other team's points to 0 points. The team scores are also scaled to the highest number of players that have played that single game. Score System: Game Start (+2000 to both teams) 4 players have joined (+1000 to both teams, up to 6000 total points; note that at least 4, 8, 12, and 16 players must be present at a given time to get this bonus, though it won't be taken away if players leave) Base invasion (-1 to the enemy team per second per player at the enemy team's base.) Kill (-25 to enemy team) Cap (-400 to enemy team) 1 minute has passed (-100 to both teams - note that this can lead to a tie if both teams hit 0 at the same time) Base invasion is the King of the Hill aspect. It simply requires a teammate being near the enemy base's flag stand. -1 per second may not seem like a lot, but it adds up, and snowballs with more teammates. Here is a table of how long it'll take to end the game with a set number of teammates camping the enemy base, factoring the -100 point penalty both teams incur every minute: Killing is the Slayer aspect. It requires that you kill an enemy. If you camp the enemy base and kill anyone who spawns, you can get tons of points fast. Capping is the CTF aspect. Just capture the flag. A game variant is included, which includes the following settings: Gametype: CTF - Flags do not need to be at home to score (Because there can be many caps before a game is over) Score Limit: 1 000 000 000 (this is just to remove the score ceiling; teams won't actually have a billion points) Time Limit: 60 minutes Objectives: Shown on HUD Weapons: Generic Default (Spawn with Assault Rifle and Pistol regardless of map, though modded maps may differ) Base Respawn Timer: 0 seconds (technically, that means it's 3 seconds) Suicide Penalty: 5 seconds Betrayal Penalty: 30 seconds Team is shown on HUD and motion sensor Vehicles: Default; 60 second respawn Feel free to modify it as you please. Note: I have not tested this on CE. I think it'll work, but I don't know. This script may also be buggy, as it's a direct copy of the version from the original Arcade CTF server before it was shut down on the 1st of October. Download Script (SAPP): arcade.lua Download Game Variant (PC and CE hybrid): Arcade CTF Gametype.zip
  20. Unfortunately, I don't understand the contents of your text file, but here's what I can tell from your screenshot. multiple_instance_2_sig - I can see this not agreeing with your setup, as it's possible whatever you're using to simulate split screen modifies that code. I'll see if I can make that particular feature optional in this case. cd_key_hash_sig - Are you certain you're using the official 1.0.10 haloce.exe? Modified versions of the Halo executable, even those used to bypass DRM restrictions, are not supported by Chimera. They might still work, but they might not, too, and they're difficult for me to test, fix, or ensure the stability of Chimera when running on such mods. Due to the nature of some of these mods, I will not test them locally, either.
  21. Well, his goals were a lot different from mine. He wanted to make a renderer that displayed Halo assets with additional features like screen space reflections among other things. However, I want an open source reimplementation of the Halo renderer.
  22. I've been posting screenshots around the various Halo communities, and I figured I may as well make a topic for this. Here's a mini-FAQ to answer a few of your questions: What is Dark Circlet? Dark Circlet is a program that can render Halo Custom Edition cache files via OpenGL. While I do have far more plans than just simply rendering maps, more information will be made available as Dark Circlet is developed. When was Dark Circlet started? End of December 2018 Who is developing Dark Circlet? Only me (Kavawuvi) Will Dark Circlet be open source (and under what license)? If it is released, then yes. If so, it will be open source under the GNU GPL version 3. What is Dark Circlet written in? C++, GLSL What graphics API does Dark Circlet use? OpenGL 4.3 What system requirements will Dark Circlet have? Here are the current, tentative system requirements. CPU: x86-64 with SSE4.1 - Penryn [Intel], K10 [AMD]* RAM: 4 GB** GPU: OpenGL 4.3 - ATI Radeon HD 5000 series [AMD] | NVIDIA GeForce GTX 400 series [Nvidia] | Don't [Intel] OS: Windows 7 or newer (64-bit); Ubuntu 18.04 (64-bit)*** * If you don't meet the CPU requirement, you may still be able to compile it for your own system. ** While 4 GB technically isn't required to open Dark Circlet, Dark Circlet may allocate over 1 GB of RAM with some maps. If you don't have enough RAM, your system will be starved for resources. *** Dark Circlet is not limited to Ubuntu as the only compatible Linux distribution; it is being developed on Arch Linux. Also, if you don't meet the OS requirement, you may still be able to compile it for your own system. As Dark Circlet is developed (and possibly optimized), these may change. However, do not be surprised if an older PC that could run Halo Custom Edition cannot run Dark Circlet. Supporting hardware from a decade ago may be difficult or impossible for me to do by myself. Screenshots
  23. Not presently! Funny enough, I'm doing a rewrite of this renderer to use for scenario editing in Invader.