npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

ice-hail

v3.5.0

Published

BotW Collision generator

Downloads

24

Readme

Ice-Hail

Ice-Hail

Overview

Ice-Hail is a simple CLI tool to create valid Havok Collision data from a JSON definition file. This format is used to define collision for objects, shrines and overworld maps.

In addition to this tool, you can also install a blender add-on to directly export collision. It can be found here: Ice-Hail Blender Add-On

For the newest updates and other tools, check out my youtube channel: HailToDodongo

Installation

Install it globally with yarn or npm with: npm install -g ice-hail

Note You'll need at least NodeJS 11.6 to use this.

Usage

Ice-Hail comes with three commands: ice-hail-create, ice-hail-import and ice-hail-parse. Each command can be called without params or with -h to get a help printed out.

If you are only interested in creating custom shrines, take a look at the Examples section of this readme.

Create

ice-hail-create is used to create Havok files from a JSON definition. This will take a JSON as an input and creates a hkrb / hksc collision file. With the -y flag it can also be yaz0 compressed.

A few example files can be found in the repo's integration tests at: Test-Files

Example usage:

ice-hail-create test.json
ice-hail-create -y another-test.json compressed-output.shkrb

Import

ice-hail-import is used to import 3D-Model files. This will create a JSON file which can then be used to create a havok file. The reason for creating a JSON is that it can be manually edited before creating a binary file.

Currently it only supports compound shapes (aka shrines and field). An import for normal collision (e.g. actors) will be added later.

Example usage:

ice-hail-import -c testModel.obj

Note You can add the -p flag to create a beautified JSON.

Parse [WIP]

The last command, ice-hail-parse, is used to create a JSON file from a binary havok file. This can be used to read out any collision file in the game to some degree. While it can be used to read, edit and then re-create the model again, the reader is still work-in-progress. So in most cases, re-creating the model will not result in an identical file.

Example usage:

ice-hail-parse TwnObj_SomeNiceFile.hkrb

Note Be sure that the file is not yaz0 encoded.

Examples

Shrines / Overworld

To create collision for custom shrines / overworld, you first need a 3D-Model of the collision as an .OBJ file, let's call it test.obj.

First, run the import and create command:

ice-hail-import -c test.obj
ice-hail-create -y test.json

Then rename the output test.shksc file to match the shrine file, which can be found in Physics\StaticCompound\CDungeon in the dungeon pack. For overworld exports, you can also specify an offset parameter since the coordinates are absolute:

ice-hail-create --offset 1000,0,1000 test.json

Materials

Ice-Hail currently supports multiple materials, the material being used is set by the object name. Since Ice-Hail supports multiple objects in one file, you can also mix them. To use them in JSON or with the blender plugin, put the material name in the object name enclosed in square brackets. For example, to use Material_Grass you could name one of your scene object SomeName [Grass]. A list of all, and mostly untested, Materials:

  • Material_Soil
  • Material_Stone
  • Material_Sand
  • Material_Metal
  • Material_WireNet
  • Material_Grass
  • Material_Wood
  • Material_Water
  • Material_Snow
  • Material_Ice
  • Material_Lava
  • Material_Bog
  • Material_HeavySand
  • Material_Cloth
  • Material_Glass
  • Material_Bone
  • Material_Rope
  • Material_CharControl
  • Material_Ragdoll
  • Material_Surfing
  • Material_GuardianFoot
  • Material_HeavySnow
  • Material_Unused0
  • Material_LaunchPad
  • Material_Conveyer
  • Material_Rail
  • Material_Grudge
  • Material_Meat
  • Material_Vegetable
  • Material_Bomb
  • Material_MagicBall
  • Material_Barrier
  • Material_AirWall
  • Material_Misc
  • Material_GrudgeSlow

Taken from: https://zeldamods.org/wiki/Materials

Credits

Ice-Hail code by HailToDodongo (Max Bebök). Ported Yaz0 encoder by Shadsterwolf: BotW-Unpacker

Links and Stuff

Link to the BotW modding discord: https://discord.gg/NzHApcX

For Questions, ask me there (@HailToDodongo).

Disclaimer

This tool was created by reverse-engineering the game and does NOT contain any game files itself. Please also respect hard working game developers and the law. Only use ice-hail with your own games / legally created backups of your games, thank you!