Industrial Park (level editor)

Introduction
Industrial Park is a tool made by community member igorseabra4 in C# using SharpDX. It is an editor capable of opening a number of HIP/HOP files and display the level, with models and textures for level and objects, as well as edit some of the asset types.

The program is still under development, so features are still planned. It is guaranteed to work on the GameCube version of Spongebob Squarepants: Battle For Bikini Bottom. It might work if you open HIP/HOPs from other games or console versions, but it might be glitchy or just not work.

This tool is based off from, and shares a lot of its source code with another one of the creator's tools: Heroes Power Plant, a tool to edit levels in Sonic Heroes. Being also based on the RenderWare engine, both games share their model format.



View
These are the commands to move the view:


 * W, A, S, D: move view forward, left, backward, right
 * Shift + (W, S): move view up, down
 * Ctrl + (W, A, S, D): rotate view up, left, down, right
 * Q, E: decrease interval, increase interval (move speed)
 * R: reset view
 * Z: toggle mouse mode
 * F1: display view config. Here you can view and edit a few general settings for the view, such as draw distance and field of view.
 * Mouse wheel: move view forward/backward
 * Right click and drag: move view up, left, down, right
 * Middle click and drag: rotate view

Mouse controls:


 * Mouse wheel to move forward/backward
 * Right click and drag to pan
 * Middle click and drag to rotate view

Mouse mode: similar to a first person camera. The view rotates automatically as you move the mouse. Use the keyboard to move around.

In the Options tab, you can choose a few settings.


 * View Config (F1): displays the View Config box.
 * Add Texture Folder: explained below.
 * Clear Textures: clear textures from program.
 * No culling (C): toggles backface culling
 * Wireframe (F): toggles wireframe mode
 * Background color: allows you to choose a new background color for the view.

In the Display tab, you can choose which assets are currently being displayed.

Archive Editor
The archive editor is the main way to edit HIP/HOP archives in Industrial Park. You can open any amount of Archive Editors you want to, and each will have one HIP or HOP file. If you wish to edit both HIP and HOP files for a level, for example, you can open two Archive Editors each with one of the files. Also, opening a third one with boot.HIP will allow you to view the objects whose models are contained there (such as spatula, underwear and shiny objects).



Closing the Archive Editor through the X button will not close it, only hide it.
 * File Menu:
 * Open: choose a HIP/HOP file to open in this Archive Editor.
 * Save: saves the currently open file and overwrites it.
 * Save As: allows you to pick a new destination to save the file.
 * Display Mode: Choose how asset names will be displayed.
 * Import TXD Archive: Allows you to choose a TXD file to import; rather than importing the entire archive, the tool will batch create one asset from each texture of the archive and import it as a RWTX asset.
 * Export Textures: exports all RWTX assets to a folder.
 * Close: closes this Archive Editor and unloads the HIP/HOP file. This doesn't save the file.


 * Layer: assets in HIP/HOP archives are organized into layers. Each layer has a list of assets and if you're adding new assets you should add them to the appropriate layer.
 * Layer Box: this will allow you to pick a layer and view its assets.
 * Layer Type: this will allow you to see and edit a layer's type.
 * Add: this will add a new layer to the archive.
 * Remove: this will delete the selected layer from the archive along with all its assets.


 * Assets: each asset is an individual in-game object with a type and function.
 * Show by type: this will allow you to see in the list only assets of a specific type, or all of them.
 * Find Asset: type an asset ID here. If an asset with this ID is present, it'll be selected.
 * Add: shows the new asset dialog, which allows you to import raw data for a new asset.
 * Copy: duplicates an asset. The new asset is a copy of the selected one, but with a new name and asset ID.
 * Remove: deletes the selected asset from the archive.
 * View: will move the view to the selected asset's position. This button only works for assets with a position in the world.
 * Export Raw: allows you to export an asset's raw data to a file.
 * Edit Header: allows you to edit an existing asset's AHDR, which includes the ID, name and other information, and also replace the raw data with a new file.
 * Edit Data: opens the selected asset in the internal editor. This allows you to edit some of the asset's data. This editor is only available for some of the assets; for the others, you must export the raw data and edit it externally in a hex editor.


 * You can click on an asset in the view to select it in the Archive Editor.
 * For some assets, a transform gizmo will be displayed when it's selected. You can click and drag these arrows to move the object around the world.

Asset Dialog
The Asset Dialog will be shown when adding or editing an asset.



It allows you to edit the information of the asset's AHDR entry, but not the asset's internal data; this can be imported separately as raw data. The Asset ID of the asset will be calculated automatically from the name you type using the BDKR hash algorithm, which is the same one used originally by the developers, but you can type your own one if you wish to (don't do this for RWTX assets!).

Asset Types
The following asset types are supported by the internal editor:

All assets not included in this list must be exported as a raw binary file and edited externally.

Displaying textures
You may have noticed that, when you first open a level, it has no textures. Industrial Park cannot load textures directly from the RWTX assets contained in the HOP yet. To enable texture display, you must use Magic.TXD.

In the Archive Editor in which you've opened the HOP file, click File -> Export Textures. Your textures will be exported to TXDs in a new folder with your level's name (for example, \hb01) inside the Export folder in the same directory as Industrial Park.

Open Magic.TXD (just the program, don't open any of the textures in it) and click Tools -> Mass Export. The Game root folder should be your folder containing textures (\Export\hb01\ for example). You can choose any output folder you want. Set the image format to PNG and tick "with texture name only", then click Export. Now do it again, but tick "pre-pended with TXD name" and click Export again. Now close Magic.TXD.

Now that you have all textures exported to a folder, you can use Industrial Park's Add Texture Folder button to load these textures in.

Links

 * Get Industrial Park
 * Source code on GitHub