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


  • Content count

  • Joined

  • Last visited

Everything posted by Kavawuvi

  1. Nice. Chimera 1.0 fixes this issue with Refinery, too, so look forward to a release of that.
  2. Going to start on this script pretty soon since nobody wants to take it.
  3. Worse. Cylons Google.
  4. Here is another small update: invader-build: New argument: --always-index-tags. This will force all indexable tags to be indexed without checking, speeding up map build time slightly. Only use this if you have not modified any tags present in bitmaps.map, sounds.map, or loc.map. invader-bitmap: Dropped libpng, instead opting for stb Added support for TGA and BMP formats through stb TIFFs won't have their RGB multiplied with alpha by libtiff anymore. If you want this behavior, do it yourself. You don't, though.
  5. Here's a small update I added a new tool: invader-resource. This tool compiles bitmaps.map, sounds.map, and loc.map. You will need the HEK tags directory as well as a complete, extracted Halo Combat Evolved tags folder to use this. You can also use multiple tags directories like with invader-build. There are a few applications for this: Smaller campaign maps, since some of the tags are now located inside of these maps rather than in the cache file Campaign maps that work across all languages of the game - I've built a d40.map that can interchangeably use any language assets provided you use a patched tool.exe to do this. Custom resource maps that retroactively apply to your maps (e.g. a 4K AI upscaled set of bitmaps) Also, I changed the argument, --output-format, for invader-bitmap to --format. Lastly, bitmap, sound, and unicode string tag compilation are now slightly more accurate. They should compile to exactly the same size tags as tool.exe would do.
  6. I've noticed there are several unfulfilled script requests. Let's fix that, together! If you complete one of these script requests, you can earn a set number of tickets. The number of tickets earned will be indicated above the link. Here is the process: Reply to the linked script request topic with your script. I recommend attaching your script to your post as links can go stale after a while. Reply to this topic with the link to your post to ensure your reply is seen. I'll probably still see your post even if you don't reply here, but I recommend posting here just in case I don't. To get a link to your exact post, click the share button on the top right corner of the post and copy the link. If I verify your script works correctly, then you will be credited tickets. If it does not work correctly, I will reply to your post telling you what is wrong so you can fix it. Verify that your script works correctly before posting. Starting next week, on every Friday, bonus tickets will be awarded to the person who earned the most tickets this week from this contest as long as that person completed at least three (3) requests that week. These tickets do NOT need to be in your possession to win, so feel free to use your tickets for whatever you want the moment you get them. If there is a tie, though, then the prize will be split between the winners. The current bonus is 4 tickets. Here are the bounties: 15 tickets Squad System 5 tickets VIP escort gametype 3 tickets Animate a biped Disable fall damage under certain situations 2 tickets Vote for lo3 Spawn weapon to the passenger Expanded weapon respawn timer Prevent portal camping Change points for an item (A market) Remake of "Breakout" Gametype Block wdel $n with the flag 1 ticket Disable Rod or Rox or OS, or camo Weapon Layout script breaks CTF Custom spawns Suicide Area Vehicle spawner Record Stats Frag spawns Block Access to Map Area TIP: Lower ticket values will typically take less time than higher ticket values (with the exception of 5 ticket requests), but, of course, they have a lower reward. If you are trying to get the bonus tickets and you are one or two requests away from the request requirement, try doing these! For more information on the monthly raffle, check out the FAQ. Lastly, happy scripting! This mini-contest will go on until either there are no more scripts or there isn't any activity.
  7. The s command only sets currently present players' speeds. Since nobody is present at the start of the game, it won't do anything. You could do this, though: event_alive $mode:speed_ctf 's $n 2' For every second any player is alive, that player's speed will be set to 2.
  8. Yes. Use this to set everyone's speed to 2x: s * 2 The speed value is the kill penalty/death bonus value, a trait that only exist on Slayer gametypes. The speed penalty/bonus gradually goes back to 1, because being able to be 3x speed or 0.2x permanently would be broken. You can work around this by disabling gradually reducing the speed and then resyncing the speed every tick. I imagine on Oddball, it's used for the speed bonus for holding the ball or not holding the ball depending on gametype settings. This results in it instantly resetting to 1 or some other value depending on gametype settings. You cannot work around this because the client also locally instantly sets the value, so it'd be the same effect as setting the running speed in Eschaton if you disable the resetting back to 1 thing: a warp fest. It's unused on CTF, so while it increases/decreases speed, the game doesn't have any reason to change it back to 1. I imagine it's the same deal for Race.
  9. s * [speed] If you play the game in Slayer, then the speed will gradually go back to 1. If you play the game in CTF, then the speed will stay at what you set it to. If you play the game in other gametypes, the speed may end up instantly resetting back to 1.
  10. Could be another useful script! Moving really fast makes it really easy to die from fall damage, so something like this could be useful to server hosts. Therefore, I'm offering another three (3) raffle tickets to the first person who successfully fulfills this request. For more information on our monthly raffle, check out the FAQ. If nobody takes it within one week of my post being made, I will fulfill the request, myself.
  11. There isn't much to share today. I've just gotten in monochrome bitmaps, though these will require a later version of Chimera to function properly. I'm considering updating the OP of this topic to reflect the current state of the project as well as have download links to the Windows build of the project. Linux users must compile from source for now, but from my experiences, this isn't hard provided you have the required dependencies installed. Also, since building my PC, nearly all testing has been on Linux, so you can be sure that if you compile it for Linux correctly, it will probably work better than the Windows build provided you're running it on a true Linux kernel and not WSL 1. If WSL 2 ends up being easy to use and performs well (WSL 1 is not easy to use and performs poorly), I may start recommending people using that, too, but I'll still provide Windows builds for Windows 7 users.
  12. HDLP or Halo Dedi Launcher for Penguins is a script is intended for those who are new to hosting Halo servers on Linux, and as such, this takes care of the following tasks: Installing Wine and Screen* Downloading the Halo Custom Edition dedicated server and maps (especially useful for people on a data cap) Setting up a dedicated user for the Halo server to improve security Setting up a Wine prefix for your servers Creating server directories Deleting server directories Starting servers Stopping servers *Currently, for installing Wine and Screen, it requires apt-get. In the future, I'd like to support other options for installing this software, such as for users on CentOS, but as this script was really only thrown together in less than the span of a day, only apt-get is supported for now. If it detects wineconsole, 7z/7za, and screen as being valid commands, though, then you should then be able to use this script regardless. The Halo Custom Edition dedicated server and maps are all hosted courtesy of @Vaporeon. To use this script, simply upload hdlp.sh to your Linux server and run it. In the future, maybe I could write some commands you can use to download and execute it, instead. Also, note that SAPP is not currently installed for you - only vanilla servers are generated. For now, you will have to do this yourself. I may add this in the future, but from what I've heard, later versions of SAPP do not work well with Wine and sehe doesn't seem to care, therefore having it install Wine for you might either give you an enhanced server or a server that won't start. Download (.zip): hdlp.zip
  13. Halo Custom Edition is an expansion of the Windows version of Halo Combat Evolved. It supports user-created maps, and it is freely available to anyone who purchased the retail game.
  14. If you're using the main one, then it's not really a VM. You aren't using the actual Linux kernel but rather a compatibility layer akin to Wine. WSL 2, on the other hand, is virtualized. Anyway, I'll be looking into fixing this script, if possible. Going to be trying that Ubuntu VM tomorrow. I can't really promise too much, though.
  15. Are you using an insider build of Windows 10?
  16. I'll look at it in a bit. I'll have to fire up an Ubuntu VM for that, though.
  17. Here's a small update: The .bitmap tag will be read for some of the values (format, mipmap count, etc.). The registration point is now set in the bitmap. I'm not entirely sure how to calculate this, so I'll be looking into updating this later. --input-format was removed. Instead, it will try all available extensions until it opens the bitmap. Bitmap sequences are generated. With 2D textures, this is primarily required for user interface widgets. From this moment on, I will no longer be posting builds daily unless I'm fixing a critical issue such as a crash.
  18. That's good enough for the tickets.
  19. The syntax appears to be correct. Did you copy and paste the text to a .lua file? Make sure to click the "download" button from Pastebin if you want to use the script to avoid any potential issues from copying and pasting.
  20. Such a script could be of use to various server hosts. For anyone who wants it, I will be offering four (4) raffle tickets to the first person who successfully fulfills this request in this topic. For more information on the monthly raffle, check our FAQ. That said, if nobody takes the offer by the next week, I'll fulfill it. Good luck, scripters!
  21. Another update! DXT1, DXT3, and DXT5 are now supported! These are lossy compression formats supported by Halo that can be used to compress bitmaps to very low sizes. Here are the compression ratios you can expect: DXT1 (no alpha) - 8:1 (4 bits per pixel) DXT3 (explicit alpha) - 4:1 (8 bits per pixel) DXT5 (interpolated alpha) - 4:1 (8 bits per pixel) Here is why you should NOT use this: DXT is lossy. You are trading image quality and detail for a lower file size, and this loss in quality is irreversible. Better compressors can lessen the impact, as can dithering (--dithering), but for most images, the compressed image will be inferior to the original. The detail loss from using DXT can be very high on low-resolution bitmaps. You will need to upscale the source image to a higher resolution to improve quality, and increasing the resolution increases file size, reducing the file size reduction you got from DXT. Modern graphics hardware will have no trouble handling larger uncompressed textures. Even the lowest end GPUs made today have 2 GB of video memory, well over the size of your map. Modern hard drives and even some solid state drives are now sold with over a TB of storage capacity. Your map's file size may only be trivial at best especially compared to modern games. Compressing your map to a .7z archive with the LZMA compression algorithm can allow you to distribute large maps with small file sizes. tool.exe can be patched to allow for larger bitmap sizes. By using lossy compression, it is possible you are trying to fix a problem that isn't really a problem anymore while creating a problem that will always be a problem. Please consider using 32-bit color, or at the very least, distribute your tags as an alternative download to your map so people have an option to rebuild your map using 32-bit color bitmaps. Anyway, here is what 32-bit color, 16-bit color, and DXT1 / DXT3 / DXT5 look like next to each other: Note that DXT1, DXT3, and DXT5 have the same color quality and are not superior/inferior to one another. The only difference between them is in how alpha is handled: DXT1 does not have an alpha channel, thus it is half the size of DXT3 or DXT5. While 1-bit color-key transparency can be used with DXT1, invader-bitmap does not support this, and this reduces color depth. If you need support for transparency without reducing color depth, use 32-bit color, DXT3, or DXT5. DXT3 uses explicit alpha. This means the alpha, itself, is defined per-pixel, but the drawback is that you are limited to 4 bits (16 shades) per pixel. This means that there will be significant alpha banding for gradients, but things like the borders of shapes are preserved. If you want less alpha banding, use 32-bit color or DXT5. DXT5 uses interpolated alpha. The alpha is interpolated similarly to the color, thus alpha gradients won't suffer from the same banding problems as DXT3. However, the borders of shapes can potentially be blurred. If you need the alpha to be explicitly defined, use 32-bit color, DXT3, or 16-bit color. Use --output-format dxt1, --output-format dxt3, or --output-format dxt5 to pick a compression format. If you ever need help on the syntax, use the -h / --help argument to list arguments or read the README.md file on GitHub.
  22. No. Halo has really low requirements. That said, I have heard that it performs better if CPUs are not shared, but it's not required if you're just doing a public 16 player game.
  23. The Halo dedicated server software probably won't use more than 150 MiB at peak times. Take into consideration what you plan on using as the operating system. Here are some estimates (from my experience): If you are using a Linux-based server/VPS with no desktop environment, the OS itself likely won't consume more than 32 MiB. If you are using a Linux-based server/VPS with a desktop environment, add 400 MiB to account for the desktop and a couple desktop programs. I recommend LXDE, Xfce, or MATE as they are the easiest on RAM, with LXDE being the lightest. Environments like GNOME and KDE are relatively heavy on RAM and should be avoided for this use case. If you are using Windows, you can probably expect the OS to use 25% of your total RAM, with a greater proportion the less RAM you have.
  24. Another update! Once again, this is just to invader-bitmap. Here are the changes: 16-bit color is now supported! This provides a lower-memory, uncompressed option for textures, thus cutting memory usage in half without compression artifacts. However, 16-bit color has much less color depth than 32-bit, and it has even less color depth if you use alpha. This can result in color banding as well as slightly different colors used in images. For reference, here is how many colors you will get (with how many shades of each color channel you get): 32-bit without alpha: 16777216 colors (256 red x 256 blue x 256 green) 32-bit with alpha: 16777216 colors (256 red x 256 blue x 256 green) + 256 alpha 16-bit without alpha: 65536 colors (32 red x 64 green x 32 blue) 16-bit with 1-bit alpha: 32768 colors (32 red x 32 green x 32 blue) + 2 alpha (basically either no transparency or full transparency) 16-bit with 4-bit alpha: 4096 colors (16 red x 16 green x 16 blue) + 16 alpha The following image contains two rainbow gradients: one as 32-bit without alpha and one as 16-bit without alpha: The number of alpha shades will be determined based on the 32-bit version of the bitmap: If all pixels have 100% opacity, you will get the full color depth 16-bit can offer, 65536 colors. If all pixels are either 0% opaque or 100% opaque with nothing in between, you will get 1/2 the color depth, 32768 colors. If there are pixels that have anything between 0% and 100% opacity, you will get 1/16 the color depth, 4096 colors. Note this applies to each bitmap, not the whole source image. If your source image contains bitmaps that have full opacity and bitmaps that don't, the ones that do have full opacity will still have 65536 colors. To use this feature, pass --output-format 16-bit or -O 16-bit as arguments. Note: Support for DXT compression and monochrome bitmaps are planned. Currently, only 32-bit color and 16-bit color are implemented for now. invader-bitmap now writes the format used into the bitmap tag. This means that if you create a tag with invader-bitmap and choose to use tool.exe's bitmap feature, it will use the same format that Invader used. Also, I may make a version of invader-bitmap that reads this value if no format was passed as an argument.
  25. I don't think that's an Invader issue. Are you using quotation marks for parameters with spaces? For example: invader-bitmap.exe "vehicles\death vehicle of doom\bitmaps\death vehicle of doom"