Jump to content

Tools: Difference between revisions

From HEModdingWiki
No edit summary
Tag: 2017 source edit
Audio tools: Added a link to Foobar's libvgmstream plugin.
 
(25 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Resources are the data files that contain things like 3D models, textures, animations and any other kind of assets. Many of these resources are stored in proprietary formats optimized for fast loading times, and thus require special tools to be edited by modders. Many of them are also built using proprietary SEGA technologies, like the ASM animation system. On this page we provide a list of all known resources supported by the Hedgehog Engine, their support in various games and tools that can be used to edit them.
This page is a list of modding tools that can be used to edit Hedgehog Engine resources.


== Archives ==
== Archive unpackers ==
Archives are compressed archives ("zip files") that contain most of the game's data.
{| class="wikitable"
! Name !! Description
!Extension
!Engine name!! Editing tools
|-
|Packfile
|Compressed archive containing most other resources.
|.pac
|Packfile
|
* HedgeArcPack
|-
|Packfile Info
|Contains information about a packfile.
|
|PackfileInfo
|
|-
|Packfile Extended Info
|Contains extended information about a packfile.
|
|PackfileExtendedInfo
|
|-
|Depend
|In-engine only resource that stores information about packfile dependencies.
|.pac.d
|ResDepend
|
|-
|Pac General
|
|
|ResPacGeneral
|
|-
|Virtual Archive
|
|
|VirtualArchive
|
|}


== Levels ==
* [[Tools/HedgeArcPack|HedgeArcPack]]
Levels are a new system in Sonic Frontiers and up that allow the game to dynamically load other resources when they are needed. They specify which resources need to be loaded to load a certain "level". This is a system similar to Unreal Engine's level system.
* [https://github.com/soopercool101/BrawlCrate BrawlCrate]
{| class="wikitable"
! Name !! Description
!Extension
!Engine name!! Editing tools
|-
|Level
|A special resource that's only used to check whether a level has been loaded in the engine. It does not contain any data.
|.level
|ResLevel
|N/A
|-
|Master Level
|Information about levels: which levels depend on each other, and also which resources to load in order to load a level.
|.mlevel
|ResMasterLevel
|
* KnuxTools
* Restoration Issue Pocketknife
|}


== Configuration Parameters ==
== Level Editors ==
{| class="wikitable"
! Name !! Description
!Extension
!Engine name!! Editing tools
|-
|Reflection
|Reflection-enabled configuration data. Contains parameters that can be edited by developers without changing game code.
|.rfl
|ResReflection
|
* DevTools
* Restoration Issue Pocketknife
* 010 Editor templates
|}


== Set Objects ==
Set object data is what specifies where game objects are placed and how they are configured. This is what you'll be editing most when making a stage mod.
{| class="wikitable"
! Name !! Description
!Extension
!Engine name!! Editing tools
|-
|ObjectWorld / GEdit
|Object placement and parameter data.
|.gedit
|ResObjectWorld
|
* [[Tools/Blendhog Level Creator|Blendhog Level Creator]]
* [[Tools/Blendhog Level Creator|Blendhog Level Creator]]
* DevTools
* [[Tools/DevTools|DevTools]]
* HedgeSet
* [[Tools/HedgeEdit|HedgeEdit]]
* Restoration Issue Pocketknife
* [[Tools/GLVL|GLVL]]
|-
|Orca: Set Object
|Object placement and parameter data
|.orc
|ResOrcaData
|
* HedgeEdit
* Restoration Issue Pocketknife
* GLvl
|}


== Gismos ==
== Parameter editing tools ==
Gismos are small reusable objects (that can potentially have physics applied) intended usually for decoration.
{| class="wikitable"
! Name !! Description
!Extension
!Engine name!! Editing tools
|-
|Gismo Config Design
|Defines the properties of gismo objects.
|.gismod
|ResGismoConfigDesign
|
* KnuxTools
|-
|Gismo Config Plan
|
|.gismop
|ResGismoConfigPlan
|
|}


== Models ==
* [[Tools/DevTools|DevTools]]
{| class="wikitable"
* [[Tools/Restoration Issue Pocketknife|Restoration Issue Pocketknife]]
! Name !! Description
!Extension
!Engine name!! Editing tools
|-
| Model || Contains 3D model information (also contains an armature).
|.model
|ResModel
|
* ModelConverter
* modelfbx
* HEIO
|-
|Terrain Model
|Contains 3D model information specifically for terrain models. Similar to "Model" but does not contain an armature.
|.terrain-model
|ResTerrainModel
|
* [[Tools/Blendhog Level Creator|Blendhog Level Creator]]
* ModelConverter
* modelfbx
* HEIO
|-
|Heightfield
|Height field maps.
|.heightfield
|ResHeightField
|
* [[Tools/Blendhog Level Creator|Blendhog Level Creator]]
|-
| Model Pointcloud || Placement information for model or terrain model instances.
|.pcmodel
|ResPointcloudModel
|
* [[Tools/Blendhog Level Creator|Blendhog Level Creator]]
* KnuxTools
* Restoration Issue Pocketknife
|-
|Orca: Map
|Placement information for model or terrain model instances.
|.map.bin
|ResDivMap
|
|-
|MIRAGE Model Instance Info
|In-engine only resource containing information about model instances.
|.model-instanceinfo
|ResMirageModelInstanceInfo
|
|-
|MIRAGE Terrain Instance Info
|In-engine only resource containing information about terrain model instances.
|.terrain-instanceinfo
|ResMirageTerrainInstanceInfo
|
|-
|Vertex Link Info
|
|.vli
|ResVertexLinkInfo
|
|}


== Textures ==
* [https://www.sweetscape.com/010editor/ 010 Editor] with [[Tools/010 Editor Binary Templates|RFL binary templates]]
{| class="wikitable"
! Name !! Description
!Extension
!Engine name!! Editing tools
|-
|Texture
|2D textures for model skinning.
|.dds
|ResTexture
|
* [https://developer.nvidia.com/texture-tools-exporter nVidia Texture Tools Exporter]
* DirectX texconv
* [https://www.gimp.org/ GIMP (cannot read BC7)]
* [https://www.getpaint.net/ Paint.NET]
|-
|Streaming Texture
|Streamed 2D textures.
|
|ResStreamingTexture
|
|}


== Materials ==
== Modeling and Animation tools ==
{| class="wikitable"
! Name !! Description
!Extension
!Engine name!! Editing tools
|-
|Material
|Material information. Contains shader parameters and texture names.
|.material
|ResMaterial
|
* HedgeEdit
* Restoration Issue Pocketknife
* HEIO
|-
|Terrain Material
|Terrain material information.
|.terrain-material
|ResTerrainMaterial
|
|}


== Animations ==
* [https://www.blender.org/ Blender]
All kinds of animation data.
* [[Tools/HEIO|HEIO]]
{| class="wikitable"
* [[Tools/ModelConverter|ModelConverter]]
! Name !! Description
* [[Tools/modelfbx|modelfbx]]
!Extension
* [[Tools/Sonic Frontiers Animation Tools|Sonic Frontiers Animation Tools]]
!Engine name!! Editing tools
* [[Tools/DevTools|DevTools]] (ASM editor)
|-
|PXD Skeleton
|Skeleton for AnimationPXD animations.
|.skl.pxd
|ResSkeletonPxd
|
* FrontiersAnimDecompress
|-
|PXD Animation
|Animation data.
|.anm.pxd
|ResAnimationPxd
|
* FrontiersAnimDecompress
|-
|PBA Skeleton
|Skeleton for physics based animations.
|.pba
|ResPhysicalSkeleton
|
|-
|Animation State Machine
|Animation State Machine data. Handles animation blending, animation states, animation triggers, etc.
|.asm
|ResAnimator
|
* DevTools
* Restoration Issue Pocketknife
|-
|HelperBone
|Currently unknown.
|.helperbone.bin
|ResHelperBone
|
|-
|Material Animation
|Material animations.
|.mat-anim
|ResAnimMaterial
|
|-
|UV Animation
|Texture UV animations (presumably Wii SRT0).
|.uv-anim
|ResAnimTexSrt
|
* KwasTools (he_anim_tool)
|-
|Texture Pattern Animation
|Texture pattern animations (presumably Wii PAT0).
|.pt-anim
|ResAnimTexPat
|
|-
|Visibility Animation
|Bone visibility animations (presumably Wii VIS0).
|.vis-anim
|ResAnimVis
|
|-
|Camera Animation
|Camera animations.
|.cam-anim
|ResAnimCameraContainer
|
|-
|Light Animation
|Light animations.
|.lit-anim
|ResAnimLightContainer
|
|-
|Vertex Animation Texture
|Vertex animation textures (textures that efficiently encode large scale animations on vertices).
|.vat
|ResVertexAnimationTexture
|
* Restoration Issue Pocketknife
|}


== Lighting ==
== Texture editing tools ==
{| class="wikitable"
! Name !! Description
!Extension
!Engine name!! Editing tools
|-
|MIRAGE Light
|MIRAGE point lights.
|.light
|ResMirageLight
|
* SharpNeedle
|-
|MIRAGE Lightfield
|MIRAGE light field data.
|.lft
|ResMirageLightField
|
|-
|SH Lightfield
|Spherical harmonics based light field data.
|.lf
|ResSHLightField
|
|-
|Probe
|IBL probe data.
|.probe
|ResProbe
|
|-
|Light Pointcloud
|Instance placement information for point lights.
|.pcrt
|ResPointcloudLight
|
|}


== FxCol ==
* [https://developer.nvidia.com/texture-tools-exporter nVidia Texture Tools Exporter]
FxCol defines collision shapes in the game world that can apply post processing effects when the player walks through them.
* [https://github.com/microsoft/DirectXTex/wiki/Texconv DirectX Texconv]
{| class="wikitable"
* [https://www.gimp.org/ GIMP]
! Name !! Description
* [https://www.getpaint.net/ Paint.NET]
!Extension
* [[Tools/SkythTools|NeedleTextureStreamingPackage]]
!Engine name!! Editing tools
|-
|FxColFile2
|FxCol configuration.
|.fxcol
|ResFxColFile2
|
* DevTools
* Restoration Issue Pocketknife
|}
 
== SvCol ==
SvCol defines collision shapes in the game world that control culling.
{| class="wikitable"
! Name !! Description
!Extension
!Engine name!! Editing tools
|-
|SvCol2
|SvCol configuration.
|.svcol
|ResSvCol2
|
|}
 
== Effects ==
{| class="wikitable"
! Name !! Description
!Extension
!Engine name!! Editing tools
|-
|Cyan Effect
|Particle effect systems.
|.cemt
|ResEffect
|
* CEMT Color Editing Tool
|-
|Particle Location
|
|.effdb
|ResParticleLocation
|
|}
 
== Physics ==
{| class="wikitable"
! Name !! Description
!Extension
!Engine name!! Editing tools
|-
|Bullet Mesh
|Bullet physics engine mesh. Used for collision detection.
|.btmesh
|ResPhysicsMesh
|
* btmesh
* HEIO
|-
|Bullet Soft Body
|Bullet physics engine soft body.
|.btsb
|ResSoftBody
|
|-
|Bullet Skinned Mesh Collider
|Bullet physics engine skinned mesh collider. Not exactly known what this is currently.
|.btsmc
|ResSkinnedMeshCollider
|
|-
|Collision Pointcloud
|Instance placement info for collision meshes.
|.pccol
|ResPointCloudCollision
|
|}
 
== Paths ==
Paths are 3D splines that the game engine uses for various tasks, e.g. to generate grind rails, calculate projectile movements, generate replicated objects and keep the player on a 2D rail.
{| class="wikitable"
! Name !! Description
!Extension
!Engine name!! Editing tools
|-
|Orca: Spline Path
|Contains path information.
|.path.bin
|ResSplinePath
|
* Restoration Issue Pocketknife
|-
|Orca: Spline Path 2
|Contains path information.
|.path2.bin
|ResSplinePath2
|
 
|-
|Path
|Contains path information.
|.path
|ResSplinePath
|
* [[Tools/Blendhog Level Creator|Blendhog Level Creator]]
* Restoration Issue Pocketknife
 
 
|}
 
== Occlusion Capsule ==
{| class="wikitable"
! Name !! Description
!Extension
!Engine name!! Editing tools
|-
|Occlusion Capsule
|Occlusion capsules
|.occ
|ResOcclusionCapsule
|}
 
== Atmosphere ==
{| class="wikitable"
! Name !! Description
!Extension
!Engine name!! Editing tools
|-
|Atmospheric Fog
|Atmospheric fog data.
|?
|ResAtmosphericFog
|}
 
== Density (vegetation) ==
Density is HE's GPU based vegetation system.
{| class="wikitable"
! Name !! Description
!Extension
!Engine name!! Editing tools
|-
|Density Setting
|Configures the Hedgehog Engine density system. Configures all the density system's parameters and references density models.
|.densitysetting
|ResDensitySetting
|
|-
|Density Point Cloud
|Placement of pre-baked density models.
|.densitypointcloud
|ResDensityPointCloud
|
* [[Tools/Blendhog Level Creator|Blendhog Level Creator]]
|-
|Density Instance
|
|
|ResDensityInstance
|
|-
|Terrain Grass Info
|
|.grass.bin
|ResTerrainGrassInfo
|
|}
 
== NavMesh ==
Navmeshes are meshes that the game's AI actors can use to navigate the map.
{| class="wikitable"
! Name !! Description
!Extension
!Engine name!! Editing tools
|-
|NavMesh Config
|Navmesh configuration
|.nmc
|ResNavMeshConfig
|
|-
|NavMesh Tile
|Navmesh tile
|.nmt
|ResNavMeshTile
|
|}
 
== AI State Machine ==
The AI state machine controls AI behavior of enemies in game.
{| class="wikitable"
! Name !! Description
!Extension
!Engine name!! Editing tools
|-
|AI State Machine
|Configuration for the AI State Machine
|.aism
|ResAIStateMachine
|
|}


== Cinematics ==
== Audio tools ==
{| class="wikitable"
! Name !! Description
!Extension
!Engine name!! Editing tools
|-
|Scene
|Legacy cinematics system.
|.scene
|ResScene
|
|-
|DvScene
|Cinematics.
|.dvbsc
|ResDvScene
|
|}


== Decals ==
* [[Tools/KwasTools|KwasTools]] (cri_utf_tool, cri_awb_tool)
{| class="wikitable"
* [https://github.com/libertyernie/LoopingAudioConverter LoopingAudioConverter]
! Name !! Description
* [https://www.foobar2000.org/ foobar2000] (with [https://www.foobar2000.org/components/view/foo_input_vgmstream libvgmstream plugin])
!Extension
* [[Tools/SonicAudioTools|SonicAudioTools]] (Deprecated)
!Engine name!! Editing tools
* [[Tools/Eternity Audio Tool|Eternity Audio Tool]] (Outdated)
|-
|Decal
|Decals. Referenced in FxColManager.
|?
|ResDecal
|
|-
|Decal Pointcloud
|Placement information for decal instances. Referenced in FxColManager.
|?
|ResDecalPointcloud
|
|}


== Shaders ==
== GI baking tools ==
{| class="wikitable"
! Name !! Description
!Extension
!Engine name!! Editing tools
|-
|Vertex Shader
|Vertex shaders.
|.vso
|ResVertexShader
|
* HedgeNeedle
|-
|Pixel Shader
|Pixel shaders.
|.pso
|ResFragmentShader
|
* HedgeNeedle
|-
|Compute Shader
|Compute shaders
|.cso
|ResComputeShader
|
* HedgeNeedle
|-
|Shader List
|List of shaders.
|.shader-list
|ResShaderList
|
|}


== Audio ==
* [[Tools/HedgeGI|HedgeGI]]
{| class="wikitable"
!Name
!Description
!Extension
!Engine name
!Editing tools
|-
|Atom Config
|CRIware Atom configuration data.
|.acf
|ResAtomConfig
|
|-
|Atom Cue Sheet
|CRIware Atom cue sheet. Contains the game's audio and cue/AISAC information.
|.acb
|ResAtomCueSheet
|
* KwasTools (cri_utf_tool)
* SonicAudioTools (Outdated)
* Eternity Audio Tool (Outdated)
|}


== UI ==
== Localization editing tools ==
{| class="wikitable"
!Name
!Description
!Extension
!Engine name
!Editing tools
|-
|SurfRide SWIF
|Describes UI layout and animations. Similar to a primitive version of Adobe Flash.
|.swif
|ResSurfRideProject
|
* DevTools
* 010 Editor Templates
|}


== Scripting ==
* [[Tools/Puyo Text Editor|Puyo Text Editor]]
{| class="wikitable"
* [[Tools/Converse Editor|Converse Editor]]
!Name
!Description
!Extension
!Engine name
!Editing tools
|-
|Lua
|A Lua script.
|.lua
|ResLuaData
|
* Any text editor
|}


== Haptics ==
== UI editing tools ==
{| class="wikitable"
! Name !! Description
!Extension
!Engine name!! Editing tools
|-
|Vibration
|Haptics vibration information.
|.vib
|ResVibration
|
|}


== Clipmap ==
* [[Tools/DevTools|DevTools]]
{| class="wikitable"
! Name !! Description
!Extension
!Engine name!! Editing tools
|-
|Clipmap Ocean
|
|.cob
|ResClipmapOcean
|
|}


== Localization ==
== General resource conversion tools ==
{| class="wikitable"
! Name !! Description
!Extension
!Engine name!! Editing tools
|-
|Converse Project
|Localization project data.
|.cnvrs-proj
|ResTextProject
|
|-
|Converse Text
|Localization text data.
|.cnvrs-text
|ResText
|
* PuyoPuyo Text Editor
* Converse Editor
|-
|Converse Meta
|Localization metadata.
|.cnvrs-meta
|ResTextMeta
|
|}


== Fonts ==
* [[Tools/HedgeTools|HedgeTools]]
{| class="wikitable"
* [[Tools/SkythTools|SkythTools]]
! Name !! Description
* [[Tools/HedgeNeedle|HedgeNeedle]]
!Extension
* [[Tools/KnuxTools|KnuxTools]]
!Engine name!! Editing tools
* [[Tools/KwasTools|KwasTools]]
|-
* [[Tools/Restoration Issue Pocketknife|Restoration Issue Pocketknife]]
|Bitmap Font
* [[Tools/010 Editor Binary Templates|010 Editor Binary Templates]]
|Bitmap fonts.
* [[Tools/AshDumpTool|AshDumpTool]]
|.bfnt
|ResBitmapFont
|
|-
|Scalable Font Set
|Vector fonts.
|.scfnt
|ResScalableFontSet
|
|-
|Optical Kerning
|Information about optical text kerning.
|.okern
|ResOpticalKerning
|
|}


== Unicode ==
== Other useful tools ==
{| class="wikitable"
! Name !! Description
!Extension
!Engine name!! Editing tools
|-
|ICU data
|Data for libicu (unicode library)
|.icu
|ResIcuData
|
|}


== Unknown ==
* [https://code.visualstudio.com/ Visual Studio Code]
{| class="wikitable"
* [https://www.sweetscape.com/010editor/ 010 Editor]
! Name !! Description
!Extension
!Engine name!! Editing tools
|-
|Name Extra
|
|.nextra
|ResNameExtra
|
|-
|Pointcloud
|
|.pointcloud
|ResPointcloud
|
|}

Latest revision as of 06:11, 10 January 2025

This page is a list of modding tools that can be used to edit Hedgehog Engine resources.

Archive unpackers[edit | edit source]

Level Editors[edit | edit source]

Parameter editing tools[edit | edit source]

Modeling and Animation tools[edit | edit source]

Texture editing tools[edit | edit source]

Audio tools[edit | edit source]

GI baking tools[edit | edit source]

Localization editing tools[edit | edit source]

UI editing tools[edit | edit source]

General resource conversion tools[edit | edit source]

Other useful tools[edit | edit source]