<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://hemodding.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=LightningWyvern</id>
	<title>HEModdingWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://hemodding.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=LightningWyvern"/>
	<link rel="alternate" type="text/html" href="https://hemodding.wiki/index.php/Special:Contributions/LightningWyvern"/>
	<updated>2026-04-30T06:02:41Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://hemodding.wiki/index.php?title=Sonic_Frontiers/Game_Objects&amp;diff=941</id>
		<title>Sonic Frontiers/Game Objects</title>
		<link rel="alternate" type="text/html" href="https://hemodding.wiki/index.php?title=Sonic_Frontiers/Game_Objects&amp;diff=941"/>
		<updated>2025-06-13T19:39:57Z</updated>

		<summary type="html">&lt;p&gt;LightningWyvern: Added headings for every gedit object&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Common ==&lt;br /&gt;
Common objects used in any world.&lt;br /&gt;
&lt;br /&gt;
=== Camera ===&lt;br /&gt;
&lt;br /&gt;
* CameraCyberPrototype: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CameraCyberStandard: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CameraFix: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CameraFollow: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CameraObjectPan: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CameraPan: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CameraPoint: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CameraRail: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CameraRailAnimation: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CameraRailDiving: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CameraRailForwardView: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CameraRailLook: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CameraRailSideView: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CameraShakeTrigger: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CameraStandard: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CameraTilt: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CameraVertical: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CameraVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CameraVolumeOnce: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CameraVolumeSub: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DefaultCameraSetting: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* FarChangeVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Develop ===&lt;br /&gt;
&lt;br /&gt;
* TerrainBlock: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* TerrainBlocks: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* TerrainPath: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* TerrainPathCylinder: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Effect ===&lt;br /&gt;
&lt;br /&gt;
* EffectFlowDust: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Particle: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ParticleExtent: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ParticleVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PointLight: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Spotlight: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Gimmick ===&lt;br /&gt;
&lt;br /&gt;
* Balloon: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* BalloonCA: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* BigSpringCA: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Bomb: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DashPanel: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DashPanelCA: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DashRing: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DashRingCA: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DashRoller: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Dove: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ExDashRing: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ExDashRingCA: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Fan: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* GrindBooster: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* GrindThorn: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* HintRing: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* JumpBoard: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* JumpPanelClassic: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* JumpSelector: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* KodamaBomb: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* LaserFence: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Pole: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PropellerSpring: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Pulley: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PulleyColumn: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Ring: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* RingGate: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SelectCannon: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Spring: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SpringCA: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SpringClassic: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SpringEgg: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SpringPole: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SuperRing: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SwitchUsual: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Thorn: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ThornBall: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ThornBallCA: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ThornCylinder: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* UpReel: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* WallJumpBlock: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* WideSpring: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* WoodBox: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* WoodBoxCA: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* WoodTunnel: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Path ===&lt;br /&gt;
&lt;br /&gt;
* Path: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PathCircle: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PathConnector: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PathLine: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PathLoop: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PathNode: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PathPolygon: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PathSpiral: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Sound ===&lt;br /&gt;
&lt;br /&gt;
* AmbSoundVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ChangeBGMAisacVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ChangeBGMTrigger: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ChangeBGMVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ChangeSEAisacVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* OneShotBGMTrigger: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* OneShotSoundTrigger: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SoundSourceExtent: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SoundSourcePath: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SoundSourcePlane: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SoundSourcePoint: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SoundSourceVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== System ===&lt;br /&gt;
&lt;br /&gt;
* AutorunTrigger: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* AutorunVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* BlockCollider: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* BlockObject: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DamageVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DivingVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Event: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* EventCondition: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* EventOrderHub: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* FallDeadTrigger: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* FlaggedSwitchVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* GimmickInfo: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Gismo: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* IgnoreDeadline: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* LayerTrigger: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* LayerVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Locator: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* MonologueVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PositionIndicator: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* StartPosition: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SwitchVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* WarpTrigger: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Island ==&lt;br /&gt;
Island-exclusive objects. Some may work in Cyberspace but it is not guaranteed.&lt;br /&gt;
&lt;br /&gt;
=== ActionChain ===&lt;br /&gt;
&lt;br /&gt;
* ActionChain: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ChainBooster: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Boss ===&lt;br /&gt;
&lt;br /&gt;
* Dragon: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Giant: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Knight: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Rifle: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* RifleBeast: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* TheEnd: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Incident ====&lt;br /&gt;
&lt;br /&gt;
* DragonIncident: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DragonIncidentCameraTrigger: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DragonIncidentDragon: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DragonIncidentMissileGroup: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DragonIncidentMissileTrigger: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* GiantIncident: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* GiantIncidentGiant: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* GiantIncidentRock: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* KnightIncident: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* KnightIncidentFlyer: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* KnightIncidentShieldTrigger: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Object ====&lt;br /&gt;
&lt;br /&gt;
* BossGiantDoll: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* BossItemBox: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* BossSpring: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DragonRoadSpring: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Develop ===&lt;br /&gt;
&lt;br /&gt;
* Mock: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Note: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SampleShape: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Enemy ===&lt;br /&gt;
&lt;br /&gt;
* Aquaball: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Bird: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Bommer: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Bubble: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Defender: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* EnemySpawner: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Jellyman: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Jumper: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* JumperSub: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* MiniBossSpawner: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Robber: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Sniper: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Territory: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Twister: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Umbrella: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Wolf: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* WolfManager: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Gimmick ===&lt;br /&gt;
&lt;br /&gt;
* AirCube: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* AirFireBar: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* AlbatrossChase: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* AlbatrossGroup: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Barrier: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* BarrierNPC: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* BombBox: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* BombBoxCA: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* BombBreakBox: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* BombBreakWall: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* BossBitManager: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* BossLargeBit: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* BossSmallBit: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* BossTheEndTarget: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* BreakChaosEmeraldStorage: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ChaosEmeraldPillar: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ChaosEmeraldStorage: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ClimbingPoint: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DarumaDrop: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DivingAuraTrain: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DragonActionVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DragonAreaSubVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DragonAreaVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DragonCameraChangeVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DragonStatusVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DropChaosEmerald: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* FireworkCactus: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* FireworkCactusManager: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* FishCoin: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* FlashSwitch: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* FloatTop: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* FriendsEmeraldEngine: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Gate: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* HackingPlayerMachine: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* HeroSagePoint: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* HoleAuraTrain: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* HoleHide: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* HolePopupItem: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* HoleWarp: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* KnucklesPillar: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* KnucklesPillarCA: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* KnucklesPillarNoID: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* KnucklesWall: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* KnucklesWallNoID: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* MeteorShowerKodama: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* MeteorShowerPowerupSeed: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Mood: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* MusicMemory: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PathMoveField: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PortalBit: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PowerupSeed: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SandSmoke: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SequenceItem: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ShootingEnemyCore: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ShootingEnemyManager: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ShootingEnemyNormal: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ShootingEnemyWaveManager: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SlotStar: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* TheEndPlayerMachine: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* TwoWayGrindBooster: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== MiniBoss ===&lt;br /&gt;
&lt;br /&gt;
* Ashura: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Blade: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Charger: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Daruma: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Flyer: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Spider: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Strider: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Sumo: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Tracker: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Tyrant: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Warship: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== AshuraObject ====&lt;br /&gt;
&lt;br /&gt;
* DashCircleBullet: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== ChargerGimmick ====&lt;br /&gt;
&lt;br /&gt;
* BossRingSupplyGroup: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* BossRingSupplyStartPos: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CGGAttachment: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CGGBulletNormalGenerator: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CGGGroup: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CGGLaser: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CGGNodeTiltAxis: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CGGRail: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CGGResetBind: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CGGRoot: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== SkierObject ====&lt;br /&gt;
&lt;br /&gt;
* SkierMissile: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SkierProhibitedArea: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SkierPylon: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Skiers ====&lt;br /&gt;
&lt;br /&gt;
* Skier: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== SpiderObject ====&lt;br /&gt;
&lt;br /&gt;
* SpiderAuraTrain: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SpiderDivingVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SpiderNeedle: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SpiderRippleLaser: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SpiderRotateLaserTurret: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SpiderSpring: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SpiderThornBall: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SpiderTwister: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== StriderObject ====&lt;br /&gt;
&lt;br /&gt;
* StriderBullet: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* StriderGrindRail: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* StriderLaser: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== SumoObject ====&lt;br /&gt;
&lt;br /&gt;
* SumoPole: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SumoPuck: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== TrackerObject ====&lt;br /&gt;
&lt;br /&gt;
* TrackerAttackTarget: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* TrackerBase: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== WarshipObject ====&lt;br /&gt;
&lt;br /&gt;
* WarShipBird: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* WarShipBullet: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* WarshipDashRing: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* WarshipLandVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* WarshipVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== NPC ===&lt;br /&gt;
&lt;br /&gt;
* Amy: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* AmyKodamaElder: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* AmyKodamaHermit: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* EggMan: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Knuckles: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Kodama: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* KodamaChild: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* KodamaDisciple: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* KodamaElder: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* KodamaEscort: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* KodamaHermit: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* KodamaLauncherCA: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* KodamaLover: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* KodamaMap: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* KodamaMaster: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* KodamaMasterKing: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* KodamaMother: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* KodamaNewForm: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* KodamaPeddler: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* KodamaPunch: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* KodamaPunch: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* KodamaQuest: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* KodamaSoldier: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* KodamaTower: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* KodamaWarrior: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* NpcSonic: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Sage: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Tails: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* TailsKodamaHacking: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Puzzle ===&lt;br /&gt;
&lt;br /&gt;
* ElectricLine&lt;br /&gt;
&lt;br /&gt;
==== Common ====&lt;br /&gt;
&lt;br /&gt;
* AirFloor: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* AirFloorNoID: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* AirOneWayPanel: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* AirOneWayPanelManager: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* AirWall: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* AirWallNoID: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ApproachStatue: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* BeetonI: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* BreakBox: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* BreakWall: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* BreakableColumn: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CannonType: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CannonTypeCannonball: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CreditBox: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CyActionSign: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DroppedItem: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* EscapeLight: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* FishCA: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* FishingPortal: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* FloatIsland: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* FloorPuzzleSwitch: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* GaugePuzzleSwitch: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* GrindLAser: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* HackingConsole: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* HoverStone: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ImpactPuzzleSwitch: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ImpactTarget: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* IslandCannon: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* IslandCannonCA: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* IslandJumpBoard: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* IslandSpring: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* IslandUpReel: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Jingle: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* LaserReciever: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* LaserRelic: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* LightPole: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* LimitedTimeGate: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* MotoraI: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* MusicBox: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* NumberObject: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* OneWayPanel: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* OneWayPanelManager: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Portal: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Propeller: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PushFloorSwitch: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PuzzleBarrier: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PuzzleBarrierOpacity: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ReflexesPanel: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ReflexesPanelManager: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ReleaseMap: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* RopeMachine: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* RotatableMirror: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* RotatableStatue: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* RunningMachine: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ShotgunTouchManager: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ShotgunTouchSwitch: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Shutter: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SpinnerI: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* TimerPanel: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* TimerPowerupSeed: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* TimerRing: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* TimerSwitch: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* TraceStoneBuildSwitch: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* TraceStoneBuilder: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* TraceStoneControlBoard: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* TreasureChest: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* UnmovedStatue: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* WaveCannonBox: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* WaveCannonWall: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Weight: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* WeightCA: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* WeightSwitch: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== BattingMachine =====&lt;br /&gt;
&lt;br /&gt;
* BatterBox: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* BattingMachineManager: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PitchingMachine: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== TimeBall =====&lt;br /&gt;
&lt;br /&gt;
* TimeBall: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* TimeBallGenerator: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* TimeBallGoal: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* TimeBallManager: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Cyloop ====&lt;br /&gt;
&lt;br /&gt;
* ExtendPillar: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* GrowFlower: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* GuideLight: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* LineFlower: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Obj3DPuzzle: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Obj3DPuzzleBlock: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Resonator: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ScrapeBall: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SlashCommon: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* StorageKey: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== CyloopTrace =====&lt;br /&gt;
&lt;br /&gt;
* CyloopTraceManager: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CyloopTracePoint: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CyloopTraceVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== World1 ====&lt;br /&gt;
&lt;br /&gt;
* AncientBridge: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* BossNestCollider: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ExtraGiantTower: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* GiantBridge: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* GiantIncidentPillar: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* GiantStatue: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* GiantTower: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* RotatableTombStone: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* StatueSmall: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* TombStatue: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* TombStoneManager: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* UnmovedTombStone: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* WaterfallBreak: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* WaterfallStatue: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== World2 ====&lt;br /&gt;
&lt;br /&gt;
* GiantBall: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* GiantCannon: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* GiantCraneNanager: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* GiantDrainPlug: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* GiantShield: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* LandSlide: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* TimbBombGenerator: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* WhirlpoolDrainage: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== World3 ====&lt;br /&gt;
&lt;br /&gt;
* BossCloud: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* BrokenRobot: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Bumper: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CrackGround: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DeviceController: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* EnergyBallLauncher: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* EnvAnalyzer: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* EruptionControlDeviceManager: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Flipper: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PinballDecoration: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PinballReverse: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PinballRing: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PinballShutter: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Rollover: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Slingshot: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* VolcanicEruption: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Quest ===&lt;br /&gt;
&lt;br /&gt;
* GrassRestoreVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* QuestEndPosition: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* QuestStartPosition: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== CollectItem ====&lt;br /&gt;
&lt;br /&gt;
* QuestBox: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== DrawBridge ====&lt;br /&gt;
&lt;br /&gt;
* DiveSwitch: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DrawBridge: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* QuestDrawBridgeGoal: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== KodamaEscort ====&lt;br /&gt;
&lt;br /&gt;
* KodamaEscortDaruma: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Mowing ====&lt;br /&gt;
&lt;br /&gt;
* BeeFlower: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* BeeSwarm: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* MowingGrass: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ResultViewCameraStore: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== System ===&lt;br /&gt;
&lt;br /&gt;
* BlockageVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CameraActivator: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DimensionVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* EventVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* FallReturnVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* GameEndVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* GimmickScript: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* MagneticVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PlayerNavigateInfo: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PracticeNotifyVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SequenceCollider: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SequenceSwitchVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* TimeStopVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* TutoIslandVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* WarpVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* WaterFallVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Cyber ==&lt;br /&gt;
Cyberspace objects. Some may work on the islands but it is not guaranteed.&lt;br /&gt;
&lt;br /&gt;
=== Enemy ===&lt;br /&gt;
&lt;br /&gt;
* Batabata: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Beeton: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* EggRobo: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Ganigani: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Grabber: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Helicopter: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Lander: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Motora: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Tank: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Gimmick ===&lt;br /&gt;
&lt;br /&gt;
* Animal: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* AnimalRescueArea: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* AppearBox: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* BallLaunchTrigger: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* BoardingJumpBoard: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* BreakCliff: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Cannon: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Car: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CarrierCar: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ChangeSwitch: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* CloudFloor: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DivingAirPlane: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DownReel: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DriftPanel: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DropBridge: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DropBridgeSV: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DropFloor: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* DropTower: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* GoalTrigger: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* GunTruck: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Hangglider: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Mine: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* NitroBottle: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* NormalFloor: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* NormalFloorL: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* NumberRing: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PipeCap: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PipeSpring: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PointMarker: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PortalGateSecret: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PurpleRock: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PushBlock: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* RedRing: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* RingGenerator: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* RollingFloor: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* RotateBlock: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* RotateThornBall: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ShadowTails: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ShadowTailsPlayerCompare: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SideReel: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SilverMoonRing: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SpringBoard: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* StopWatch: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SwingReel: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* ThroughFloor: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* Trampoline: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* TrapBall: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* UpDownPole: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* UpDownPolePillar: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* WarpStone: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* WarpStoneEnd: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* WoodBridgeBreak: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* WoodSwing: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== System ===&lt;br /&gt;
&lt;br /&gt;
* DriftEndVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* LineEffectGenerator: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* OperationGuideVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* PortalGate: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* QuickStepVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* SideViewPathVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* TimeStartVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* TimeStopWatchVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Tutorial ==&lt;br /&gt;
Objects used in the tutorial room.&lt;br /&gt;
&lt;br /&gt;
* TutorialEnemy: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* TutorialWall: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== System ==&lt;br /&gt;
Only containing one object, may be a mistake.&lt;br /&gt;
&lt;br /&gt;
* LoopAreaVolume: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== MiniGame ==&lt;br /&gt;
Objects used in the fishing minigame.&lt;br /&gt;
&lt;br /&gt;
* BarbecueMachine: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* BarbecueSonic: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* FisherSonic: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* FishingBig: &#039;&#039;undocumented&#039;&#039;&lt;br /&gt;
* FishingSequence: &#039;&#039;undocumented&#039;&#039;&lt;/div&gt;</summary>
		<author><name>LightningWyvern</name></author>
	</entry>
	<entry>
		<id>https://hemodding.wiki/index.php?title=Sonic_Frontiers/Game_Objects&amp;diff=940</id>
		<title>Sonic Frontiers/Game Objects</title>
		<link rel="alternate" type="text/html" href="https://hemodding.wiki/index.php?title=Sonic_Frontiers/Game_Objects&amp;diff=940"/>
		<updated>2025-06-12T22:02:23Z</updated>

		<summary type="html">&lt;p&gt;LightningWyvern: Initial groups of objects&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Common ==&lt;br /&gt;
Common objects used in any world.&lt;br /&gt;
&lt;br /&gt;
== Island ==&lt;br /&gt;
Island-exclusive objects. Some may work in Cyberspace but it is not guaranteed.&lt;br /&gt;
&lt;br /&gt;
== Cyber ==&lt;br /&gt;
Cyberspace objects. Some may work on the islands but it is not guaranteed.&lt;br /&gt;
&lt;br /&gt;
== Tutorial ==&lt;br /&gt;
Objects used in the tutorial room.&lt;br /&gt;
&lt;br /&gt;
== System ==&lt;br /&gt;
Only containing one object, may be a mistake.&lt;br /&gt;
&lt;br /&gt;
== MiniGame ==&lt;br /&gt;
Objects used in the fishing minigame.&lt;/div&gt;</summary>
		<author><name>LightningWyvern</name></author>
	</entry>
	<entry>
		<id>https://hemodding.wiki/index.php?title=Guides/DDS_compression_with_DirectXTex&amp;diff=626</id>
		<title>Guides/DDS compression with DirectXTex</title>
		<link rel="alternate" type="text/html" href="https://hemodding.wiki/index.php?title=Guides/DDS_compression_with_DirectXTex&amp;diff=626"/>
		<updated>2025-01-11T23:21:45Z</updated>

		<summary type="html">&lt;p&gt;LightningWyvern: Finished the texdiag section and the texassemble section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://github.com/microsoft/DirectXTex DirectXTex] is a set of 3 programs that are essential for doing any sort of manipulation of DirectDraw Surface [[Resources/Texture|textures]].&lt;br /&gt;
&lt;br /&gt;
This page will briefly detail both basic and advanced usage of these tools.&lt;br /&gt;
&lt;br /&gt;
The three tools in this set have seperate purposes.&lt;br /&gt;
&lt;br /&gt;
* The main tool, &#039;&#039;&#039;texconv&#039;&#039;&#039;, is simply for converting textures to and from DDS, or for changing the format of DDS files.&lt;br /&gt;
* It also contains &#039;&#039;&#039;texdiag&#039;&#039;&#039;, which can be used to analyse DDS textures to find out the format and other metadata.&lt;br /&gt;
* Lastly, &#039;&#039;&#039;texassemble&#039;&#039;&#039; is for constructing DDS textures containing multiple images, such as cubemaps, volume maps or arrays.&lt;br /&gt;
&lt;br /&gt;
== Basic Command-line Usage ==&lt;br /&gt;
DirectXTex tools are only operable through the Windows Command Prompt, so first we must understand how to operate the command line.&lt;br /&gt;
[[File:Command Prompt after startup.png|alt=The window has a line with the current selected directory, waiting for user input.|left|thumb|Command Prompt window upon opening it.]]&lt;br /&gt;
First, open up Command Prompt (you may need to use the search bar). You will be met with a screen like this.&lt;br /&gt;
&lt;br /&gt;
The input line tells you the current selected directory, which by default is your user folder. To run any DirectXTex tool, it is best to navigate to the directory which you have the tools stored in. To change the active directory, you need the &#039;&#039;&#039;cd&#039;&#039;&#039; (Change Directory) command. Enter:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
cd &amp;lt;filepath-to-directxtex&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Make sure to replace &amp;lt;filepath-to-directxtex&amp;gt; with the actual filepath, without the angle brackets included. If the tools are on another drive, e.g. D: or E:, you may also need to switch to this drive by simply enter the name of the drive. For example:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
D:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Once this is done, you should be in the correct directory, ready to run the tools. You could test this by typing the name of the tool&#039;s exe (without the .exe extension) and it should show you the tool&#039;s help menu:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
texconv&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Extra tip: you can enter filepaths quickly by dragging a file or folder into the command prompt window, it will quickly insert the file or folder&#039;s filepath at the cursor&#039;s location.&lt;br /&gt;
&lt;br /&gt;
== Using texconv ==&lt;br /&gt;
At minimum, texconv must take in one filepath as an input. By default, it outputs a DDS with some variation of B8G8R8A8_UNORM, depending on the input file.&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
texconv &amp;quot;D:/My Textures/texture.png&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;You can also convert all the textures in a certain folder by using the wildcard (*) character, and you can select an output directory with the -o input (&#039;&#039;Note: the output directory path cannot end with a /)&#039;&#039;.&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
texconv &amp;quot;D:/My Textures/*.png&amp;quot; -o &amp;quot;D:/Converted Textures&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Texture Formats ===&lt;br /&gt;
The textures output with the default command work fine for most cases, like basic character or stage textures, but may not work correctly or at all for specialised cases like heightmaps or skycubes, and usually ends up with an unnecessarily large file size. To solve these issues, setting image format is required.&lt;br /&gt;
&lt;br /&gt;
Image format can be set with a -f input, followed by the name of the format.&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
texconv &amp;quot;D:/My Textures/texture.png&amp;quot; -f BC7_UNORM&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;BC7_UNORM is generally the most compatible format, and has good compression. However, other formats may be required for other purposes. A list of the used formats can be viewed on the [[Resources/Texture|texture resource page]].&lt;br /&gt;
&lt;br /&gt;
== Using texdiag ==&lt;br /&gt;
Using texdiag is even simpler than texconv. The main command you will need to use is the info command, which takes in the filepath of an image and returns its format and other metadata.&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
texdiag info &amp;quot;D:/Converted Textures/texture.dds&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;It should give you an output similar to:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
        width = 1024&lt;br /&gt;
       height = 1024&lt;br /&gt;
        depth = 1&lt;br /&gt;
    mipLevels = 11&lt;br /&gt;
    arraySize = 1&lt;br /&gt;
       format = BC7_UNORM&lt;br /&gt;
    dimension = 2D&lt;br /&gt;
   alpha mode = Unknown&lt;br /&gt;
       images = 11&lt;br /&gt;
   pixel size = 1365 (KB)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;With this information, you can replace specialised textures (like heightmaps, normal maps, skycubes, etc.) much more easily by matching their format, width, height and other metadata.&lt;br /&gt;
&lt;br /&gt;
== Using texassemble ==&lt;br /&gt;
The final tool, texassemble has a wide variety of uses. Thankfully, there is only one of these features that is commonly utilised by the Hedgehog Engine, and that is cubemaps.&lt;br /&gt;
&lt;br /&gt;
=== Cubemaps ===&lt;br /&gt;
Cubemaps are pretty simple in concept, they&#039;re a set of 6 images that are able to be mapped on a cube, usually for the purpose of making a 360° image like a skycube (skybox).&lt;br /&gt;
[[File:Layout of textures in a Cubemap.png|alt=This image shows the layout of images in a cubemap|thumb|217x217px|Layout of textures in a Cubemap]]&lt;br /&gt;
To start with, you need your 6 images that are going to be assembled into a cubemap. They can be DDS or any other format, it will be output as a DDS regardless. There should be one image for each face of the cube in the layout shown. It is also worth noting that the +Z direction with the cubemap is equivalent to the -Y direction in Blender.&lt;br /&gt;
&lt;br /&gt;
To convert your six textures into one cubemap, run the command:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
texassemble cube &amp;quot;D:/My Textures/+X.png&amp;quot; &amp;quot;D:/My Textures/-X.png&amp;quot; &amp;quot;D:/My Textures/+Y.png&amp;quot; &amp;quot;D:/My Textures/-Y.png&amp;quot; &amp;quot;D:/My Textures/+Z.png&amp;quot; &amp;quot;D:/My Textures/-Z.png&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;As shown, the images should be input in the order +X -X +Y -Y +Z -Z. You may also set the location of the output image, again, without a / at the end of the directory path:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
texassemble cube &amp;quot;D:/My Textures/+X.png&amp;quot; &amp;quot;D:/My Textures/-X.png&amp;quot; &amp;quot;D:/My Textures/+Y.png&amp;quot; &amp;quot;D:/My Textures/-Y.png&amp;quot; &amp;quot;D:/My Textures/+Z.png&amp;quot; &amp;quot;D:/My Textures/-Z.png&amp;quot; -o &amp;quot;D:/Converted Textures&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Finishing up ===&lt;br /&gt;
Usually, texassemble outputs cubemaps in the R16G16B16A16_UNORM format, which is entirely uncompressed and can have a filesize in the range of hundreds of MB, so it&#039;s best to run the images through texconv as well to use a better format like BC7_UNORM, BC6H_SF16, BC6H_UF16 or some other format depending on your purposes.&lt;/div&gt;</summary>
		<author><name>LightningWyvern</name></author>
	</entry>
	<entry>
		<id>https://hemodding.wiki/index.php?title=File:Layout_of_textures_in_a_Cubemap.png&amp;diff=625</id>
		<title>File:Layout of textures in a Cubemap.png</title>
		<link rel="alternate" type="text/html" href="https://hemodding.wiki/index.php?title=File:Layout_of_textures_in_a_Cubemap.png&amp;diff=625"/>
		<updated>2025-01-11T23:05:42Z</updated>

		<summary type="html">&lt;p&gt;LightningWyvern: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This image shows the layout of images in a cubemap&lt;/div&gt;</summary>
		<author><name>LightningWyvern</name></author>
	</entry>
	<entry>
		<id>https://hemodding.wiki/index.php?title=Guides/DDS_compression_with_DirectXTex&amp;diff=624</id>
		<title>Guides/DDS compression with DirectXTex</title>
		<link rel="alternate" type="text/html" href="https://hemodding.wiki/index.php?title=Guides/DDS_compression_with_DirectXTex&amp;diff=624"/>
		<updated>2025-01-11T17:06:29Z</updated>

		<summary type="html">&lt;p&gt;LightningWyvern: texdiag basics added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://github.com/microsoft/DirectXTex DirectXTex] is a set of 3 programs that are essential for doing any sort of manipulation of DirectDraw Surface [[Resources/Texture|textures]].&lt;br /&gt;
&lt;br /&gt;
This page will briefly detail both basic and advanced usage of these tools.&lt;br /&gt;
&lt;br /&gt;
The three tools in this set have seperate purposes.&lt;br /&gt;
&lt;br /&gt;
* The main tool, &#039;&#039;&#039;texconv&#039;&#039;&#039;, is simply for converting textures to and from DDS, or for changing the format of DDS files.&lt;br /&gt;
* It also contains &#039;&#039;&#039;texdiag&#039;&#039;&#039;, which can be used to analyse DDS textures to find out the format and other metadata.&lt;br /&gt;
* Lastly, &#039;&#039;&#039;texassemble&#039;&#039;&#039; is for constructing DDS textures containing multiple images, such as cubemaps, volume maps or arrays.&lt;br /&gt;
&lt;br /&gt;
== Basic Command-line Usage ==&lt;br /&gt;
DirectXTex tools are only operable through the Windows Command Prompt, so first we must understand how to operate the command line.&lt;br /&gt;
[[File:Command Prompt after startup.png|alt=The window has a line with the current selected directory, waiting for user input.|left|thumb|Command Prompt window upon opening it.]]&lt;br /&gt;
First, open up Command Prompt (you may need to use the search bar). You will be met with a screen like this.&lt;br /&gt;
&lt;br /&gt;
The input line tells you the current selected directory, which by default is your user folder. To run any DirectXTex tool, it is best to navigate to the directory which you have the tools stored in. To change the active directory, you need the &#039;&#039;&#039;cd&#039;&#039;&#039; (Change Directory) command. Enter:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
cd &amp;lt;filepath-to-directxtex&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Make sure to replace &amp;lt;filepath-to-directxtex&amp;gt; with the actual filepath, without the angle brackets included. If the tools are on another drive, e.g. D: or E:, you may also need to switch to this drive by simply enter the name of the drive. For example:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
D:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Once this is done, you should be in the correct directory, ready to run the tools. You could test this by typing the name of the tool&#039;s exe (without the .exe extension) and it should show you the tool&#039;s help menu:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
texconv&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Extra tip: you can enter filepaths quickly by dragging a file or folder into the command prompt window, it will quickly insert the file or folder&#039;s filepath at the cursor&#039;s location.&lt;br /&gt;
&lt;br /&gt;
== Using texconv ==&lt;br /&gt;
At minimum, texconv must take in one filepath as an input. By default, it outputs a DDS with some variation of B8G8R8A8_UNORM, depending on the input file.&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
texconv &amp;quot;D:/My Textures/texture.png&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;You can also convert all the textures in a certain folder by using the wildcard (*) character, and you can select an output directory with the -o input (&#039;&#039;Note: the output directory path cannot end with a /)&#039;&#039;.&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
texconv &amp;quot;D:/My Textures/*.png&amp;quot; -o &amp;quot;D:/Converted Textures&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Texture Formats ===&lt;br /&gt;
The textures output with the default command work fine for most cases, like basic character or stage textures, but may not work correctly or at all for specialised cases like heightmaps or skycubes, and usually ends up with an unnecessarily large file size. To solve these issues, setting image format is required.&lt;br /&gt;
&lt;br /&gt;
Image format can be set with a -f input, followed by the name of the format.&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
texconv &amp;quot;D:/My Textures/texture.png&amp;quot; -f BC7_UNORM&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;BC7_UNORM is generally the most compatible format, and has good compression. However, other formats may be required for other purposes. A list of the used formats can be viewed on the [[Resources/Texture|texture resource page]].&lt;br /&gt;
&lt;br /&gt;
== Using texdiag ==&lt;br /&gt;
Using texdiag is even simpler than texconv. The main command you will need to use is the info command, which takes in the filepath of an image and returns its format and other metadata.&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
texdiag info &amp;quot;D:/Converted Textures/texture.dds&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using texassemble ==&lt;br /&gt;
&#039;&#039;Unfinished&#039;&#039;&lt;/div&gt;</summary>
		<author><name>LightningWyvern</name></author>
	</entry>
	<entry>
		<id>https://hemodding.wiki/index.php?title=Guides/DDS_compression_with_DirectXTex&amp;diff=569</id>
		<title>Guides/DDS compression with DirectXTex</title>
		<link rel="alternate" type="text/html" href="https://hemodding.wiki/index.php?title=Guides/DDS_compression_with_DirectXTex&amp;diff=569"/>
		<updated>2025-01-10T22:57:50Z</updated>

		<summary type="html">&lt;p&gt;LightningWyvern: Unfinished DirectXTex tutorial&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://github.com/microsoft/DirectXTex DirectXTex] is a set of 3 programs that are essential for doing any sort of manipulation of DirectDraw Surface [[Resources/Texture|textures]].&lt;br /&gt;
&lt;br /&gt;
This page will briefly detail both basic and advanced usage of these tools.&lt;br /&gt;
&lt;br /&gt;
The three tools in this set have seperate purposes.&lt;br /&gt;
&lt;br /&gt;
* The main tool, &#039;&#039;&#039;texconv&#039;&#039;&#039;, is simply for converting textures to and from DDS, or for changing the format of DDS files.&lt;br /&gt;
* It also contains &#039;&#039;&#039;texdiag&#039;&#039;&#039;, which can be used to analyse DDS textures to find out the format and other metadata.&lt;br /&gt;
* Lastly, &#039;&#039;&#039;texassemble&#039;&#039;&#039; is for constructing DDS textures containing multiple images, such as cubemaps, volume maps or arrays.&lt;br /&gt;
&lt;br /&gt;
== Basic Command-line Usage ==&lt;br /&gt;
DirectXTex tools are only operable through the Windows Command Prompt, so first we must understand how to operate the command line.&lt;br /&gt;
[[File:Command Prompt after startup.png|alt=The window has a line with the current selected directory, waiting for user input.|left|thumb|Command Prompt window upon opening it.]]&lt;br /&gt;
First, open up Command Prompt (you may need to use the search bar). You will be met with a screen like this.&lt;br /&gt;
&lt;br /&gt;
The input line tells you the current selected directory, which by default is your user folder. To run any DirectXTex tool, it is best to navigate to the directory which you have the tools stored in. To change the active directory, you need the &#039;&#039;&#039;cd&#039;&#039;&#039; (Change Directory) command. Enter:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
cd &amp;lt;filepath-to-directxtex&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Make sure to replace &amp;lt;filepath-to-directxtex&amp;gt; with the actual filepath, without the angle brackets included. If the tools are on another drive, e.g. D: or E:, you may also need to switch to this drive by simply enter the name of the drive. For example:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
D:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Once this is done, you should be in the correct directory, ready to run the tools. You could test this by typing the name of the tool&#039;s exe (without the .exe extension) and it should show you the tool&#039;s help menu:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
texconv&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using texconv ==&lt;br /&gt;
At minimum, texconv must take in one filepath as an input. By default, it outputs a DDS with some variation of B8G8R8A8_UNORM, depending on the input file.&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
texconv &amp;quot;D:/My Textures/texture.png&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;You can also convert all the textures in a certain folder by using the wildcard (*) character, and you can select an output directory with the -o input (&#039;&#039;Note: the output directory path cannot end with a /)&#039;&#039;.&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
texconv &amp;quot;D:/My Textures/*.png&amp;quot; -o &amp;quot;D:/Converted Textures&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Texture Formats ===&lt;br /&gt;
The textures output with the default command work fine for most cases, like basic character or stage textures, but may not work correctly or at all for specialised cases like heightmaps or skycubes, and usually ends up with an unnecessarily large file size. To solve these issues, setting image format is required.&lt;br /&gt;
&lt;br /&gt;
Image format can be set with a -f input, followed by the name of the format.&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
texconv &amp;quot;D:/My Textures/texture.png&amp;quot; -f BC7_UNORM&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;BC7_UNORM is generally the most compatible format, and has good compression. However, other formats may be required for other purposes. A list of the used formats can be viewed on the [[Resources/Texture|texture resource page]].&lt;br /&gt;
&lt;br /&gt;
== Using texdiag ==&lt;br /&gt;
&#039;&#039;Unfinished&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Using texassemble ==&lt;br /&gt;
&#039;&#039;Unfinished&#039;&#039;&lt;/div&gt;</summary>
		<author><name>LightningWyvern</name></author>
	</entry>
	<entry>
		<id>https://hemodding.wiki/index.php?title=File:Command_Prompt_after_startup.png&amp;diff=568</id>
		<title>File:Command Prompt after startup.png</title>
		<link rel="alternate" type="text/html" href="https://hemodding.wiki/index.php?title=File:Command_Prompt_after_startup.png&amp;diff=568"/>
		<updated>2025-01-10T21:32:55Z</updated>

		<summary type="html">&lt;p&gt;LightningWyvern: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This image shows what the command prompt window should look like upon opening it.&lt;/div&gt;</summary>
		<author><name>LightningWyvern</name></author>
	</entry>
	<entry>
		<id>https://hemodding.wiki/index.php?title=Sonic_Frontiers/Guides&amp;diff=567</id>
		<title>Sonic Frontiers/Guides</title>
		<link rel="alternate" type="text/html" href="https://hemodding.wiki/index.php?title=Sonic_Frontiers/Guides&amp;diff=567"/>
		<updated>2025-01-10T21:07:23Z</updated>

		<summary type="html">&lt;p&gt;LightningWyvern: De-italicised the page, reworded some parts of the first paragraph, removed links as it was redundant&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is dedicated to assisting new and intermediate modders with &#039;&#039;&#039;Sonic Frontiers&#039;&#039;&#039; modding. There are guides to teach aspects of modding such as how to make animations, character importing, making custom physics mods, and so on.&lt;br /&gt;
&lt;br /&gt;
Happy Modding!&lt;br /&gt;
&lt;br /&gt;
== Stage Modding ==&lt;br /&gt;
[[Sonic Frontiers/Guides/Stage Modding|Stage Modding]]&lt;/div&gt;</summary>
		<author><name>LightningWyvern</name></author>
	</entry>
	<entry>
		<id>https://hemodding.wiki/index.php?title=Guides&amp;diff=566</id>
		<title>Guides</title>
		<link rel="alternate" type="text/html" href="https://hemodding.wiki/index.php?title=Guides&amp;diff=566"/>
		<updated>2025-01-10T21:04:26Z</updated>

		<summary type="html">&lt;p&gt;LightningWyvern: Re-added guides&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the home page for general guides that are applicable to multiple games.&lt;br /&gt;
&lt;br /&gt;
Guides for individual games:&lt;br /&gt;
&lt;br /&gt;
* [[Sonic Unleashed/Guides|Sonic Unleashed Guides]]&lt;br /&gt;
* [[Sonic Frontiers/Guides|Sonic Frontiers Guides]]&lt;br /&gt;
&lt;br /&gt;
== Common Guides ==&lt;br /&gt;
&lt;br /&gt;
* [[Guides/DDS compression with DirectXTex|DDS compression with DirectXTex]]&lt;br /&gt;
&lt;br /&gt;
== Hedgehog Engine 1 Guides ==&lt;br /&gt;
&#039;&#039;There are currently no HE1 general guides&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Hedgehog Engine 2 Guides ==&lt;br /&gt;
&#039;&#039;There are currently no HE2 general guides&#039;&#039;&lt;/div&gt;</summary>
		<author><name>LightningWyvern</name></author>
	</entry>
	<entry>
		<id>https://hemodding.wiki/index.php?title=Main_Page&amp;diff=565</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://hemodding.wiki/index.php?title=Main_Page&amp;diff=565"/>
		<updated>2025-01-10T20:58:32Z</updated>

		<summary type="html">&lt;p&gt;LightningWyvern: Re-added guides&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to HEModdingWiki, the wiki all about modding games running on SEGA&#039;s Hedgehog Engine!&lt;br /&gt;
&lt;br /&gt;
* [[Games]]&lt;br /&gt;
* [[Tools]]&lt;br /&gt;
* [[Guides]]&lt;br /&gt;
* [[Resources]]&lt;br /&gt;
* [[Paths]]&lt;br /&gt;
* [[Rendering]]&lt;/div&gt;</summary>
		<author><name>LightningWyvern</name></author>
	</entry>
	<entry>
		<id>https://hemodding.wiki/index.php?title=Resources/Texture&amp;diff=564</id>
		<title>Resources/Texture</title>
		<link rel="alternate" type="text/html" href="https://hemodding.wiki/index.php?title=Resources/Texture&amp;diff=564"/>
		<updated>2025-01-10T19:15:03Z</updated>

		<summary type="html">&lt;p&gt;LightningWyvern: Added Texture to Resources&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Textures are 2D textures used in all Hedgehog Engine games for a variety of purposes, such as texturing [[Resources/Model|Models]] and [[Resources/SurfRide SWIF|SWIF]] UI elements.&lt;br /&gt;
&lt;br /&gt;
Textures use the DirectDraw Surface (DDS) format, developed by Microsoft for use in DirectX. &lt;br /&gt;
&lt;br /&gt;
DDS allows games to load textures more efficiently compared to other formats, and importantly, it supports mipmaps which are smaller versions of the same texture which can improve performance when rendering the textures at a long distance.&lt;br /&gt;
&lt;br /&gt;
Hedgehog Engine games use a wide variety of DDS compression types. The standard compression most often used is BC7_UNORM, which is versatile in that it can support 8-bit RGBA colour &#039;&#039;(though bit depth can go higher)&#039;&#039;, and it does not compromise on file size.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+DDS Compression Types&lt;br /&gt;
!Compression&lt;br /&gt;
!Uses&lt;br /&gt;
|-&lt;br /&gt;
|BC1_UNORM&lt;br /&gt;
|Heightmap Textures, Heightmap Normal Maps&lt;br /&gt;
|-&lt;br /&gt;
|BC4_UNORM&lt;br /&gt;
|Scale Density Maps, Material Heightmaps&lt;br /&gt;
|-&lt;br /&gt;
|BC5_UNORM&lt;br /&gt;
|Normal Maps&lt;br /&gt;
|-&lt;br /&gt;
|BC6H_SF16&lt;br /&gt;
|Skycubes&lt;br /&gt;
|-&lt;br /&gt;
|BC6H_UF16&lt;br /&gt;
|Image-Based Lighting Cubemaps&lt;br /&gt;
|-&lt;br /&gt;
|BC7_UNORM&lt;br /&gt;
|Albedo/Diffuse Textures, PRM Maps, UI Elements &lt;br /&gt;
|-&lt;br /&gt;
|R8_UNORM&lt;br /&gt;
|Splatmaps, Scale Area Maps&lt;br /&gt;
|-&lt;br /&gt;
|R16_UNORM&lt;br /&gt;
|Heightmap Tiles&lt;br /&gt;
|-&lt;br /&gt;
|R8G8B8A8_UNORM&lt;br /&gt;
|Light Probes&lt;br /&gt;
|-&lt;br /&gt;
|B8G8R8A8_UNORM&lt;br /&gt;
|RGB Tables&lt;br /&gt;
|-&lt;br /&gt;
|R16G16B16A16_FLOAT&lt;br /&gt;
|Light Probes&lt;br /&gt;
|}&lt;br /&gt;
DDS files can be converted to different compressions or between other formats such as PNG using [https://github.com/microsoft/DirectXTex DirectXTex] tools like texconv and texassemble. To determine encoding and other information about a given DDS file, texdiag can also be used.&lt;/div&gt;</summary>
		<author><name>LightningWyvern</name></author>
	</entry>
	<entry>
		<id>https://hemodding.wiki/index.php?title=Sonic_Frontiers/ID_Mappings&amp;diff=512</id>
		<title>Sonic Frontiers/ID Mappings</title>
		<link rel="alternate" type="text/html" href="https://hemodding.wiki/index.php?title=Sonic_Frontiers/ID_Mappings&amp;diff=512"/>
		<updated>2025-01-09T22:36:58Z</updated>

		<summary type="html">&lt;p&gt;LightningWyvern: Added ID Mappings&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Worlds ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+World ID Guide&lt;br /&gt;
!Letter&lt;br /&gt;
!World Type&lt;br /&gt;
|-&lt;br /&gt;
|r&lt;br /&gt;
|Island&lt;br /&gt;
|-&lt;br /&gt;
|t&lt;br /&gt;
|Training/Master Trial&lt;br /&gt;
|-&lt;br /&gt;
|d&lt;br /&gt;
|Cyberspace Level&lt;br /&gt;
|-&lt;br /&gt;
|w1&lt;br /&gt;
|Grassy Island&lt;br /&gt;
|-&lt;br /&gt;
|w2&lt;br /&gt;
|Desert Island&lt;br /&gt;
|-&lt;br /&gt;
|w3&lt;br /&gt;
|Volcanic Island&lt;br /&gt;
|-&lt;br /&gt;
|w4&lt;br /&gt;
|Unknown&lt;br /&gt;
|-&lt;br /&gt;
|w5&lt;br /&gt;
|Miscellaneous&lt;br /&gt;
|-&lt;br /&gt;
|w6&lt;br /&gt;
|Green Hill&lt;br /&gt;
|-&lt;br /&gt;
|w7&lt;br /&gt;
|Chemical Plant&lt;br /&gt;
|-&lt;br /&gt;
|w8&lt;br /&gt;
|Sky Sanctuary&lt;br /&gt;
|-&lt;br /&gt;
|w9&lt;br /&gt;
|Eternal Highway&lt;br /&gt;
|}&lt;br /&gt;
All the IDs have been obtained from &#039;&#039;&#039;raw/script/script_resident.pac/stagedata.lua&#039;&#039;&#039;.&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible&amp;quot;&lt;br /&gt;
|+World IDs&lt;br /&gt;
!Name&lt;br /&gt;
!ID&lt;br /&gt;
!2D/3D&lt;br /&gt;
|-&lt;br /&gt;
|[Unused] Alpha Kronos&lt;br /&gt;
|w1r01&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[Unused] Beta Kronos&lt;br /&gt;
|w1r02&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|Kronos Island&lt;br /&gt;
|w1r03&lt;br /&gt;
|Mixed&lt;br /&gt;
|-&lt;br /&gt;
|Ares Island&lt;br /&gt;
|w2r01&lt;br /&gt;
|Mixed&lt;br /&gt;
|-&lt;br /&gt;
|Chaos Island&lt;br /&gt;
|w3r01&lt;br /&gt;
|Mixed&lt;br /&gt;
|-&lt;br /&gt;
|Rhea Island&lt;br /&gt;
|w1r05&lt;br /&gt;
|Mixed&lt;br /&gt;
|-&lt;br /&gt;
|Ouranos Island&lt;br /&gt;
|w1r04&lt;br /&gt;
|Mixed&lt;br /&gt;
|-&lt;br /&gt;
|Final Horizon Ouranos Island&lt;br /&gt;
|w1r06&lt;br /&gt;
|3D&lt;br /&gt;
|-&lt;br /&gt;
|[Unused] Unknown Island&lt;br /&gt;
|w4r01&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|The End Boss&lt;br /&gt;
|w5r01&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|Training Room&lt;br /&gt;
|w5t01&lt;br /&gt;
|3D&lt;br /&gt;
|-&lt;br /&gt;
|Master Trial Arena&lt;br /&gt;
|w5t02&lt;br /&gt;
|3D&lt;br /&gt;
|-&lt;br /&gt;
|1-1&lt;br /&gt;
|w6d01&lt;br /&gt;
|3D&lt;br /&gt;
|-&lt;br /&gt;
|1-2&lt;br /&gt;
|w8d01&lt;br /&gt;
|3D&lt;br /&gt;
|-&lt;br /&gt;
|1-3&lt;br /&gt;
|w9d04&lt;br /&gt;
|2D&lt;br /&gt;
|-&lt;br /&gt;
|1-4&lt;br /&gt;
|w6d02&lt;br /&gt;
|3D&lt;br /&gt;
|-&lt;br /&gt;
|1-5&lt;br /&gt;
|w7d04&lt;br /&gt;
|3D&lt;br /&gt;
|-&lt;br /&gt;
|1-6&lt;br /&gt;
|w6d06&lt;br /&gt;
|2D&lt;br /&gt;
|-&lt;br /&gt;
|1-7&lt;br /&gt;
|w9d06&lt;br /&gt;
|3D&lt;br /&gt;
|-&lt;br /&gt;
|2-1&lt;br /&gt;
|w6d05&lt;br /&gt;
|2D&lt;br /&gt;
|-&lt;br /&gt;
|2-2&lt;br /&gt;
|w8d03&lt;br /&gt;
|3D&lt;br /&gt;
|-&lt;br /&gt;
|2-3&lt;br /&gt;
|w7d02&lt;br /&gt;
|2D&lt;br /&gt;
|-&lt;br /&gt;
|2-4&lt;br /&gt;
|w7d06&lt;br /&gt;
|3D&lt;br /&gt;
|-&lt;br /&gt;
|2-5&lt;br /&gt;
|w8d04&lt;br /&gt;
|2D&lt;br /&gt;
|-&lt;br /&gt;
|2-6&lt;br /&gt;
|w6d03&lt;br /&gt;
|3D&lt;br /&gt;
|-&lt;br /&gt;
|2-7&lt;br /&gt;
|w8d05&lt;br /&gt;
|2D&lt;br /&gt;
|-&lt;br /&gt;
|3-1&lt;br /&gt;
|w6d04&lt;br /&gt;
|3D&lt;br /&gt;
|-&lt;br /&gt;
|3-2&lt;br /&gt;
|w6d08&lt;br /&gt;
|2D&lt;br /&gt;
|-&lt;br /&gt;
|3-3&lt;br /&gt;
|w8d02&lt;br /&gt;
|3D&lt;br /&gt;
|-&lt;br /&gt;
|3-4&lt;br /&gt;
|w6d09&lt;br /&gt;
|2D&lt;br /&gt;
|-&lt;br /&gt;
|3-5&lt;br /&gt;
|w6d07&lt;br /&gt;
|3D&lt;br /&gt;
|-&lt;br /&gt;
|3-6&lt;br /&gt;
|w8d06&lt;br /&gt;
|2D&lt;br /&gt;
|-&lt;br /&gt;
|3-7&lt;br /&gt;
|w7d03&lt;br /&gt;
|2D&lt;br /&gt;
|-&lt;br /&gt;
|4-1&lt;br /&gt;
|w7d08&lt;br /&gt;
|3D&lt;br /&gt;
|-&lt;br /&gt;
|4-2&lt;br /&gt;
|w9d02&lt;br /&gt;
|3D&lt;br /&gt;
|-&lt;br /&gt;
|4-3&lt;br /&gt;
|w7d01&lt;br /&gt;
|3D&lt;br /&gt;
|-&lt;br /&gt;
|4-4&lt;br /&gt;
|w9d03&lt;br /&gt;
|3D&lt;br /&gt;
|-&lt;br /&gt;
|4-5&lt;br /&gt;
|w6d10&lt;br /&gt;
|3D&lt;br /&gt;
|-&lt;br /&gt;
|4-6&lt;br /&gt;
|w7d07&lt;br /&gt;
|2D&lt;br /&gt;
|-&lt;br /&gt;
|4-7&lt;br /&gt;
|w9d05&lt;br /&gt;
|3D&lt;br /&gt;
|-&lt;br /&gt;
|4-8&lt;br /&gt;
|w7d05&lt;br /&gt;
|3D&lt;br /&gt;
|-&lt;br /&gt;
|4-9&lt;br /&gt;
|w9d07&lt;br /&gt;
|3D&lt;br /&gt;
|-&lt;br /&gt;
|4-A [1-4 Remix]&lt;br /&gt;
|w6d21&lt;br /&gt;
|3D&lt;br /&gt;
|-&lt;br /&gt;
|4-B [3-1 Remix]&lt;br /&gt;
|w6d22&lt;br /&gt;
|3D&lt;br /&gt;
|-&lt;br /&gt;
|4-C [4-5 Remix]&lt;br /&gt;
|w6d23&lt;br /&gt;
|3D&lt;br /&gt;
|-&lt;br /&gt;
|4-D [4-3 Remix]&lt;br /&gt;
|w7d21&lt;br /&gt;
|3D&lt;br /&gt;
|-&lt;br /&gt;
|4-E [1-5 Remix]&lt;br /&gt;
|w7d22&lt;br /&gt;
|3D&lt;br /&gt;
|-&lt;br /&gt;
|4-F [2-4 Remix]&lt;br /&gt;
|w7d23&lt;br /&gt;
|3D&lt;br /&gt;
|-&lt;br /&gt;
|4-G [4-2 Remix]&lt;br /&gt;
|w9d21&lt;br /&gt;
|3D&lt;br /&gt;
|-&lt;br /&gt;
|4-H [4-4 Remix]&lt;br /&gt;
|w9d22&lt;br /&gt;
|3D&lt;br /&gt;
|-&lt;br /&gt;
|4-I [1-7 Remix]&lt;br /&gt;
|w9d23&lt;br /&gt;
|3D&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bosses and Minibosses ==&lt;br /&gt;
&#039;&#039;Undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Enemies ==&lt;br /&gt;
&#039;&#039;Undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Characters ==&lt;br /&gt;
&#039;&#039;Undocumented&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== DLC ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!DLC Name&lt;br /&gt;
!ID&lt;br /&gt;
|-&lt;br /&gt;
|Digital Art Book&lt;br /&gt;
|artbook&lt;br /&gt;
|-&lt;br /&gt;
|Mini Digital Soundtrack&lt;br /&gt;
|soundtrack&lt;br /&gt;
|-&lt;br /&gt;
|Sonic Adventure 2 Shoes&lt;br /&gt;
|dlccrm&lt;br /&gt;
|-&lt;br /&gt;
|Digital Deluxe Edition&lt;br /&gt;
|dlcddx&lt;br /&gt;
|-&lt;br /&gt;
|Monster Hunter Collaboration Pack&lt;br /&gt;
|dlcmhr&lt;br /&gt;
|-&lt;br /&gt;
|Holiday Cheer Suit&lt;br /&gt;
|dlcxmas&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Events ==&lt;br /&gt;
&#039;&#039;Undocumented&#039;&#039;&lt;/div&gt;</summary>
		<author><name>LightningWyvern</name></author>
	</entry>
	<entry>
		<id>https://hemodding.wiki/index.php?title=Sonic_Frontiers&amp;diff=511</id>
		<title>Sonic Frontiers</title>
		<link rel="alternate" type="text/html" href="https://hemodding.wiki/index.php?title=Sonic_Frontiers&amp;diff=511"/>
		<updated>2025-01-09T21:34:56Z</updated>

		<summary type="html">&lt;p&gt;LightningWyvern: Added ID Mappings to the resource references&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox game&lt;br /&gt;
| name = Sonic Frontiers&lt;br /&gt;
| developer = SEGA&lt;br /&gt;
| publisher = SEGA&lt;br /&gt;
| release_date = November 8, 2022&lt;br /&gt;
| engine = Hedgehog Engine 2&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sonic Frontiers&#039;&#039;&#039; &#039;&#039;(codenamed rangers)&#039;&#039; was released on the 8th of November, 2022.&lt;br /&gt;
&lt;br /&gt;
It uses Hedgehog Engine 2, but has some notable differences to [[Games/Sonic Forces|Sonic Forces]], the previous game to use HE2, including differences in file structure and file formats used.&lt;br /&gt;
&lt;br /&gt;
=== Resource References ===&lt;br /&gt;
&lt;br /&gt;
* [[Games/Sonic Frontiers/Heightmaps|Heightmaps]]&lt;br /&gt;
* [[Games/Sonic Frontiers/ID Mappings|ID Mappings]]&lt;/div&gt;</summary>
		<author><name>LightningWyvern</name></author>
	</entry>
	<entry>
		<id>https://hemodding.wiki/index.php?title=Resources/Collision_Pointcloud&amp;diff=431</id>
		<title>Resources/Collision Pointcloud</title>
		<link rel="alternate" type="text/html" href="https://hemodding.wiki/index.php?title=Resources/Collision_Pointcloud&amp;diff=431"/>
		<updated>2025-01-07T19:02:56Z</updated>

		<summary type="html">&lt;p&gt;LightningWyvern: Added Collision Pointcloud&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Collision Pointcloud is a format for storing position and rotations of points to be used to place [[Resources/Bullet Mesh|Bullet Meshes]]. It was first used in [[Games/Sonic Frontiers|Sonic Frontiers]].&lt;br /&gt;
&lt;br /&gt;
Each point contains the following information:&lt;br /&gt;
&lt;br /&gt;
* Instance Name, what the instance itself is named&lt;br /&gt;
* Asset Name, which is the name of the BtMesh that is to be placed on the point&lt;br /&gt;
* Position&lt;br /&gt;
* Rotation&lt;br /&gt;
* Scale&lt;br /&gt;
* Unknown unsigned 32-bit integer.&lt;br /&gt;
&lt;br /&gt;
PCCol files may be edited primarily with [[Tools/KnuxTools|KnuxTools]].&lt;/div&gt;</summary>
		<author><name>LightningWyvern</name></author>
	</entry>
	<entry>
		<id>https://hemodding.wiki/index.php?title=Sonic_Frontiers/Heightmaps&amp;diff=189</id>
		<title>Sonic Frontiers/Heightmaps</title>
		<link rel="alternate" type="text/html" href="https://hemodding.wiki/index.php?title=Sonic_Frontiers/Heightmaps&amp;diff=189"/>
		<updated>2025-01-06T22:47:14Z</updated>

		<summary type="html">&lt;p&gt;LightningWyvern: Initial heightmap documentation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Heightmaps are a feature introduced in Sonic Frontiers to create large amounts of terrain with reduced filesize and greater performance over [[Resources/Terrain Model|Terrain Models]].&lt;br /&gt;
&lt;br /&gt;
Heightmaps are generated from a series of greyscale [[Resources/Textures|textures]], which are used as height data to displace geometry of a plane up to a certain height. In the vanilla game this is typically a set of 16 tiles in a 4x4 grid for the open zones, though for certain heightmaps such as Big&#039;s Fishing Spot, only a single tile is used.&lt;br /&gt;
&lt;br /&gt;
Collision is automatically generated if no [[Resources/Heightfield|heightfield]] is present, but if a heightfield is present, then the heightmap will have no collision on its own.&lt;br /&gt;
&lt;br /&gt;
The material for a heightmap is determined by a [[Resources/Terrain Material|Terrain Material]].&lt;br /&gt;
&lt;br /&gt;
=== Texels ===&lt;br /&gt;
Texels are the area of geometry that corresponds to each pixel on the heightmap texture. If the number of texels is not the same as the number of pixels, the heightmap will fail to render. The open zones use a texel density of 1 texel/m², while Big&#039;s Fishing Spot uses an increased texel density of 4 texels/m².&lt;br /&gt;
&lt;br /&gt;
The limit for the number of texels is 67,108,864 texels, corresponding to a map 8192 texels long and 8192 texels wide. Since texel density cannot be lowered below 1 texel/m², this places an upper limit on a map size of 8192m x 8192m (approx. 8.2km x 8.2km).&lt;br /&gt;
&lt;br /&gt;
On the other hand, the number of texels cannot go below 1,048,576 texels, as this is the number generated by one heightmap tile that is 1024 x 1024 pixels. However, the actual map size can go very small by increasing the texel density while decreasing the map size.&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
The parameters for a heightmap are defined in the world&#039;s NeedleFxSceneData [[Resources/Reflection|Reflection]] file, under needleFxSceneData &amp;gt; stageConfig.&lt;br /&gt;
&lt;br /&gt;
==== useHeightMapTerrain (Boolean) ====&lt;br /&gt;
This determines whether the heightmap is enabled. No Cyberspace levels use Heightmaps, so this is disabled for all of them, while the open zones and fishing spots do use them, so this is enabled.&lt;br /&gt;
&lt;br /&gt;
==== useHalfPrecision (Boolean) ====&lt;br /&gt;
Could potentially determine whether the heightmap uses 16-bit greyscale colour or 32-bit greyscale colour. This is always set to True, so it always uses 16-bit colour in vanilla. It could be possible to use 32-bit heightmaps, but no suitable DirectDraw format has been found to allow for this.&lt;br /&gt;
&lt;br /&gt;
==== precision ====&lt;br /&gt;
&lt;br /&gt;
===== heightRange (Float) =====&lt;br /&gt;
The range which the heightmap covers vertically i.e. the maximum height of the heightmap. A pure black pixel on the heightmap texture will correspond to terrain at Y = 0, while a pure white pixel will correspond to the maximum height above Y = 0.&lt;br /&gt;
&lt;br /&gt;
If this value is set to a negative number, the heightmap itself does not generate, but interestingly, any density foliage that snaps to terrain, such as trees, will generate on a flipped copy of the heightmap.&lt;br /&gt;
&lt;br /&gt;
==== worldSize (sint32) ====&lt;br /&gt;
The size of the generated heightmap in texels, along one edge. This is ideally a power of two, though other values may work. The open zones use 4096 for this value, and Big&#039;s Fishing Spot uses 512.&lt;br /&gt;
&lt;br /&gt;
If this value is set to a negative number, the game freezes on the loading screen.&lt;br /&gt;
&lt;br /&gt;
==== heightMapTexelDensity (sint32) ====&lt;br /&gt;
The density of the texels used to construct the heightmap. A value of 1 equates to 1x1 texels per m², while a value of 2 equates to 2x2 texels per m² (4 texels). Note that if this is changed, the world size must also be changed to compensate. For example, if texel density is doubled, world size must be halved.&lt;br /&gt;
&lt;br /&gt;
==== heightScale (Float) ====&lt;br /&gt;
This determines the height of the detail, determined by the displacement textures for each terrain material.&lt;br /&gt;
&lt;br /&gt;
==== smallestCellSize (Float) ====&lt;br /&gt;
The size of the geometry that can be displaced to create detail. Anything below roughly 0.01 crashes the game. Values such as 0.1 work fine, and can reduce the amount of geometry used for the detail.&lt;br /&gt;
&lt;br /&gt;
==== slopeClipThrethold (Float) ====&lt;br /&gt;
Sets a certain slope steepness beyond which the terrain will be culled. Unknown unit, though a threshold of 0.9 culls every slope steeper than about 30° from horizontal. 1 culls all terrain, and 0 culls none.&lt;br /&gt;
&lt;br /&gt;
==== aabbMin/aabbMax (2D Vectors) ====&lt;br /&gt;
A set of two 2D vectors that define a boundary in which heightmap terrain is only to be rendered, used for cases like Kronos, which only uses about 2/3rds of the available area, so the rest is outside this boundary.&lt;br /&gt;
&lt;br /&gt;
==== material ====&lt;br /&gt;
&lt;br /&gt;
===== uvScaleDetail (Float) =====&lt;br /&gt;
The uv scale of details, a larger number scales the details down, while a smaller one scales the details up.&lt;br /&gt;
&lt;br /&gt;
===== uvScaleBase (Float) =====&lt;br /&gt;
Similar to uvScaleDetail, but it determines the scale of the base texture, rather than the detail.&lt;br /&gt;
&lt;br /&gt;
===== detailDistance (Float) =====&lt;br /&gt;
The distance, that the detail will be rendered fully within. This is also influenced by the camera angle.&lt;br /&gt;
&lt;br /&gt;
===== detailFadeRange (Float) =====&lt;br /&gt;
The distance that the detail will be slowly reduced within until it disappears.&lt;/div&gt;</summary>
		<author><name>LightningWyvern</name></author>
	</entry>
	<entry>
		<id>https://hemodding.wiki/index.php?title=Resources/Terrain_Material&amp;diff=188</id>
		<title>Resources/Terrain Material</title>
		<link rel="alternate" type="text/html" href="https://hemodding.wiki/index.php?title=Resources/Terrain_Material&amp;diff=188"/>
		<updated>2025-01-06T22:38:54Z</updated>

		<summary type="html">&lt;p&gt;LightningWyvern: Terrain material summary&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Terrain materials are materials that are assigned to a heightmap through the use of an splatmap. The splatmap uses R8_UNORM DirectDraw encoding.&lt;br /&gt;
&lt;br /&gt;
Each colour on the splatmap corresponds to a certain material ID, defined in a terrain-material file. Each material entry in the terrain-material file contains a material type, index to identify the material, an Albedo and PRM map for the base texture, and an Albedo, PRM and Displacement map for the detail.&lt;br /&gt;
&lt;br /&gt;
The base texture is simply the texture that will be seen from a distance, when detail hasn&#039;t loaded in yet.&lt;br /&gt;
&lt;br /&gt;
Detail is extra geometry that will be rendered when the player is close up, it is displaced from the surface of the heightmap based on the displacement texture of the material.&lt;br /&gt;
&lt;br /&gt;
Draw distance for detail is determined in the stage&#039;s NeedleFxSceneData RFL.&lt;/div&gt;</summary>
		<author><name>LightningWyvern</name></author>
	</entry>
	<entry>
		<id>https://hemodding.wiki/index.php?title=Sonic_Frontiers&amp;diff=180</id>
		<title>Sonic Frontiers</title>
		<link rel="alternate" type="text/html" href="https://hemodding.wiki/index.php?title=Sonic_Frontiers&amp;diff=180"/>
		<updated>2025-01-06T18:41:36Z</updated>

		<summary type="html">&lt;p&gt;LightningWyvern: Added resource references&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sonic Frontiers (Internally named Rangers) was released on the 8th of November, 2022.&lt;br /&gt;
&lt;br /&gt;
It uses Hedgehog Engine 2, but has some notable differences to Sonic Forces, the previous game to use HE2, including differences in file structure and file formats used.&lt;br /&gt;
&lt;br /&gt;
=== Resource References ===&lt;br /&gt;
&lt;br /&gt;
* [[Games/Sonic Frontiers/Heightmaps|Heightmaps]]&lt;/div&gt;</summary>
		<author><name>LightningWyvern</name></author>
	</entry>
	<entry>
		<id>https://hemodding.wiki/index.php?title=Sonic_Frontiers&amp;diff=179</id>
		<title>Sonic Frontiers</title>
		<link rel="alternate" type="text/html" href="https://hemodding.wiki/index.php?title=Sonic_Frontiers&amp;diff=179"/>
		<updated>2025-01-06T18:38:10Z</updated>

		<summary type="html">&lt;p&gt;LightningWyvern: Added an initial summary of the game&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sonic Frontiers (Internally named Rangers) was released on the 8th of November, 2022.&lt;br /&gt;
&lt;br /&gt;
It uses Hedgehog Engine 2, but has some notable differences to Sonic Forces, the previous game to use HE2, including differences in file structure and file formats used.&lt;/div&gt;</summary>
		<author><name>LightningWyvern</name></author>
	</entry>
</feed>