├── HeroesPowerPlant
├── Resources
│ ├── .gitignore
│ ├── Lists
│ │ ├── ShadowObjectMiscHelper.ini
│ │ └── HeroesObjectListCustom.ini
│ ├── AboutImage.png
│ ├── WhiteDefault.png
│ ├── hpp_version.json
│ ├── Models
│ │ ├── Cylinder.mtl
│ │ ├── Sphere.mtl
│ │ ├── Box.mtl
│ │ ├── Pyramid.mtl
│ │ ├── Pyramid.obj
│ │ └── Box.obj
│ └── SharpDX
│ │ ├── Shader_Basic.hlsl
│ │ ├── Shader_Default.hlsl
│ │ ├── Shader_Tinted.hlsl
│ │ └── Shader_Collision.hlsl
├── Tools
│ ├── txdgen_1.0
│ │ ├── LICENSES
│ │ │ ├── pvrtextool
│ │ │ │ └── COPYRIGHT
│ │ │ ├── rwtools
│ │ │ │ └── COPYRIGHT
│ │ │ └── libsquish
│ │ │ │ └── COPYRIGHT
│ │ └── txdgen64.exe
│ ├── showvcolor.ms
│ ├── HeroesSPLTool.exe
│ └── readme.txt
├── Game.ico
├── MainForm
│ └── IUnsavedChanges.cs
├── ConfigEditor
│ ├── SplineEditor
│ │ └── SplineType.cs
│ ├── RankEditor
│ │ └── RankContainer.cs
│ └── EntryRenderer.cs
├── Shared
│ ├── IO
│ │ └── Config
│ │ │ └── HPPVersion.cs
│ ├── Utilities
│ │ └── ManualEndianConverter.cs
│ ├── RemoteControl.cs
│ └── ReadWriteCommon.cs
├── SharpDX
│ ├── RenderData
│ │ ├── DefaultRenderData.cs
│ │ └── CollisionRenderData.cs
│ └── SharpSubSet.cs
├── LayoutEditor
│ ├── SetObjects
│ │ ├── ObjectClassesHeroes
│ │ │ ├── List05
│ │ │ │ ├── Object050B_Slot.cs
│ │ │ │ ├── Object05_StarPanel.cs
│ │ │ │ ├── Object0586_Roulette.cs
│ │ │ │ ├── Object05_Spring.cs
│ │ │ │ ├── Object0502_Flipper.cs
│ │ │ │ ├── Object0503_TriBumper.cs
│ │ │ │ ├── Object0587_GiantCasinoChip.cs
│ │ │ │ ├── Object0584_GiantDice.cs
│ │ │ │ └── Object050A_Dice.cs
│ │ │ ├── ListOther
│ │ │ │ ├── Object_F1Range.cs
│ │ │ │ ├── Object_F1Speed.cs
│ │ │ │ ├── Object_L1Offset.cs
│ │ │ │ ├── Object_L1Type.cs
│ │ │ │ ├── Object0000_Nothing.cs
│ │ │ │ ├── Object_B1_1_Type.cs
│ │ │ │ ├── Object_S1_1_Type.cs
│ │ │ │ ├── Object2300_EggAlbatross.cs
│ │ │ │ ├── Object_F1Scale.cs
│ │ │ │ ├── Object_IntTypeFloatScale.cs
│ │ │ │ └── Object_XYZScale.cs
│ │ │ ├── List00
│ │ │ │ ├── Object000E_Checkpoint.cs
│ │ │ │ ├── Object0025_FormSign.cs
│ │ │ │ ├── Object0023_Chao.cs
│ │ │ │ ├── Object0018_ItemBox.cs
│ │ │ │ ├── Object0006_SwitchPP.cs
│ │ │ │ ├── Object0004_HintRing.cs
│ │ │ │ ├── Object0007_Target.cs
│ │ │ │ ├── Object0026_FormGate.cs
│ │ │ │ ├── Object002C_RollDoor.cs
│ │ │ │ ├── Object001D_Pulley.cs
│ │ │ │ ├── Object00_Box.cs
│ │ │ │ ├── Object000B_DashPanel.cs
│ │ │ │ ├── Object0024_Cage.cs
│ │ │ │ ├── Object000C_DashRing.cs
│ │ │ │ ├── Object0001_Spring.cs
│ │ │ │ ├── Object0019_ItemBalloon.cs
│ │ │ │ ├── Object000F_DashRamp.cs
│ │ │ │ ├── Object0015_SpikeBall.cs
│ │ │ │ ├── Object0032_WarpFlower.cs
│ │ │ │ ├── Object0002_TripleSpring.cs
│ │ │ │ ├── Object0005_Switch.cs
│ │ │ │ ├── Object0029_Pole.cs
│ │ │ │ ├── Object000D_BigRings.cs
│ │ │ │ ├── Object002E_Fan.cs
│ │ │ │ ├── Object0010_Cannon.cs
│ │ │ │ ├── Object0031_Case.cs
│ │ │ │ ├── Object0016_LaserFence.cs
│ │ │ │ └── Object00_Weight.cs
│ │ │ ├── List13
│ │ │ │ ├── Object1303_MovingCannon.cs
│ │ │ │ ├── Object1302_HorizCannon.cs
│ │ │ │ ├── Object1304_RectFloatingPlatform.cs
│ │ │ │ └── Object1305_EggFleetDoor.cs
│ │ │ ├── List04
│ │ │ │ ├── Object04_CraneWallLight.cs
│ │ │ │ └── Object0401_EnergyColumn.cs
│ │ │ ├── List11
│ │ │ │ ├── MysticLight.cs
│ │ │ │ ├── Object1101_CastleDoor.cs
│ │ │ │ ├── Object1102_CastleWall.cs
│ │ │ │ ├── Object1182_Thunder.cs
│ │ │ │ ├── Object1185_Bone.cs
│ │ │ │ ├── Object1108_MansionDoor.cs
│ │ │ │ ├── Object1188_Curtain.cs
│ │ │ │ ├── Object1184_SmokeScreen.cs
│ │ │ │ ├── Object1105_Ghost.cs
│ │ │ │ ├── Object118B_Grass.cs
│ │ │ │ ├── Object118D_Mask.cs
│ │ │ │ ├── Object11_FloatingPlatform.cs
│ │ │ │ └── Object1181_Celestial.cs
│ │ │ ├── List14
│ │ │ │ ├── Object1402_Laser.cs
│ │ │ │ └── Object1400_FallingPlatform.cs
│ │ │ ├── List01
│ │ │ │ ├── Object0187_Tides.cs
│ │ │ │ ├── Object0183_Seagulls.cs
│ │ │ │ ├── Object0184_LargeBird.cs
│ │ │ │ ├── Object0103_TruckPath.cs
│ │ │ │ ├── Object0189_WaterfallSmall.cs
│ │ │ │ ├── Object0102_TruckRail.cs
│ │ │ │ ├── Object0180_FlowerPatch.cs
│ │ │ │ ├── Object0105_MovingRuin.cs
│ │ │ │ └── Object0182_Whale.cs
│ │ │ ├── List09
│ │ │ │ ├── Object0902_RainLeaf.cs
│ │ │ │ ├── Object0909_SpringMush.cs
│ │ │ │ ├── Object0904_RainIvy.cs
│ │ │ │ ├── Object099A_Wanibreak.cs
│ │ │ │ ├── Object0903_RainMush.cs
│ │ │ │ ├── Object090E_Alligator.cs
│ │ │ │ ├── Object0984_RedWeed.cs
│ │ │ │ ├── Object0987_RedGreenPlant.cs
│ │ │ │ ├── Object0999_Powder.cs
│ │ │ │ ├── Object0981_Flower.cs
│ │ │ │ ├── Object0989_Pond.cs
│ │ │ │ ├── Object090B_IvyJump.cs
│ │ │ │ ├── Object0908_RainFruit.cs
│ │ │ │ ├── Object0900_Frog.cs
│ │ │ │ └── Object0913_RainCollision.cs
│ │ │ ├── List02
│ │ │ │ ├── Object0281_TurtleFeet.cs
│ │ │ │ ├── Object0282_KameWave.cs
│ │ │ │ ├── Object0200_CrumbleStonePillar.cs
│ │ │ │ ├── Object0204_Kaos.cs
│ │ │ │ ├── Object020A_ColliQuake.cs
│ │ │ │ └── Object0206_ScrollBalloon.cs
│ │ │ ├── List07
│ │ │ │ ├── Object0704_RailRoadblock.cs
│ │ │ │ └── Object0705_Capsule.cs
│ │ │ ├── List16
│ │ │ │ ├── Object_16_02.cs
│ │ │ │ └── Object_16_00_01.cs
│ │ │ ├── List03
│ │ │ │ ├── Object0302_RoadCap.cs
│ │ │ │ ├── Object0300_AcceleratorRoad.cs
│ │ │ │ ├── Object0305_BigBridge.cs
│ │ │ │ ├── Object0380_BalloonDesign.cs
│ │ │ │ └── Object0306_AirCar.cs
│ │ │ ├── Triggers
│ │ │ │ ├── Object0066_TriggerBobJump.cs
│ │ │ │ └── Object020C_TriggerKaos.cs
│ │ │ ├── Enums.cs
│ │ │ └── List15
│ │ │ │ ├── Object15C0_EggBishop.cs
│ │ │ │ ├── Object15D0_E2000.cs
│ │ │ │ ├── Object1540_EggHammer.cs
│ │ │ │ ├── Object1590_RhinoLiner.cs
│ │ │ │ └── Object15_KlagenCameron.cs
│ │ ├── ObjectClassesShadow
│ │ │ ├── List00
│ │ │ │ ├── Object0020_Weapon.cs
│ │ │ │ ├── Object0005_Checkpoint.cs
│ │ │ │ ├── Object0012_ItemCapsule.cs
│ │ │ │ ├── Object0033_EnergyCore.cs
│ │ │ │ ├── Object000E_Rocket.cs
│ │ │ │ ├── Object0023_OverturnableObject.cs
│ │ │ │ ├── Object0061_DarkSpinEntrance.cs
│ │ │ │ ├── Object005A_Pole.cs
│ │ │ │ ├── Object001B_Roadblock.cs
│ │ │ │ ├── Object0015_BallSwitch.cs
│ │ │ │ ├── Object0014_GoalRing.cs
│ │ │ │ ├── Object0016_TargetSwitch.cs
│ │ │ │ ├── Object0003_DashPanel.cs
│ │ │ │ ├── Object004F_Vehicle.cs
│ │ │ │ ├── Object000B_UnbreakableBox.cs
│ │ │ │ ├── Object0007_Case.cs
│ │ │ │ ├── Object0001_SpringShadow.cs
│ │ │ │ ├── Object000C_WeaponBox.cs
│ │ │ │ ├── Object0004_DashRamp.cs
│ │ │ │ ├── Object0013_Balloon.cs
│ │ │ │ ├── Object003A_SpecialWeaponBox.cs
│ │ │ │ ├── Object0008_Pulley.cs
│ │ │ │ ├── Object003X_UnusedMiscByteScaleType.cs
│ │ │ │ ├── Object0002_WideSpring.cs
│ │ │ │ ├── Object0091_BkLarva.cs
│ │ │ │ ├── Object007A_EggShadowAndroid.cs
│ │ │ │ ├── Object0011_HintBall.cs
│ │ │ │ ├── Object0066_GUNBigfoot.cs
│ │ │ │ ├── Object008C_BkGiant.cs
│ │ │ │ ├── Object0092_BkChaos.cs
│ │ │ │ └── Object0078_EggPierrot.cs
│ │ │ ├── List07
│ │ │ │ ├── Object07E2_ElecCube.cs
│ │ │ │ ├── Object07E8_ElecRollHexa.cs
│ │ │ │ ├── Object07E1_TriggerDigitalBreakableTile.cs
│ │ │ │ ├── Object07DA_MatrixTerminalElecFan.cs
│ │ │ │ ├── Object07D7_DigitalBreakableTile.cs
│ │ │ │ ├── Object07D4_ElecSecurity.cs
│ │ │ │ ├── Object07D1_Searchlight.cs
│ │ │ │ ├── Object07D8_LaserWallBarrier.cs
│ │ │ │ ├── Object07EB_CubePlatformCircle.cs
│ │ │ │ ├── Object07DF_LightspeedFirewall.cs
│ │ │ │ ├── Object07D2_ColorSwitch.cs
│ │ │ │ └── Object07D3_RisingLaserBar.cs
│ │ │ ├── List0F
│ │ │ │ ├── Object0FA1_BAMiniBomb.cs
│ │ │ │ └── Object0FA4_BuildingChunk.cs
│ │ │ ├── List08
│ │ │ │ ├── Object0835_TornadoCollision.cs
│ │ │ │ ├── Object089C_FallingRoad.cs
│ │ │ │ ├── Object089A_BreakingRoad.cs
│ │ │ │ ├── Object0838_RuinsStoneGuardian.cs
│ │ │ │ ├── Object0836_RollCircle.cs
│ │ │ │ ├── Object0834_Tornado.cs
│ │ │ │ └── Object0899_BlackTankCommandCollision.cs
│ │ │ ├── List25
│ │ │ │ ├── Object2589_Destructable1.cs
│ │ │ │ ├── Object2586_Sample.cs
│ │ │ │ ├── Object2592_DebugMissionClearCollision.cs
│ │ │ │ ├── Object2595_MissionClearCollision.cs
│ │ │ │ ├── Object2588_Decoration1.cs
│ │ │ │ ├── Object258A_Effect1.cs
│ │ │ │ └── Object2593_SetGenerator.cs
│ │ │ ├── List0C
│ │ │ │ ├── Object0C81_CircusGong.cs
│ │ │ │ ├── Object0C83_CircusGameTarget.cs
│ │ │ │ ├── Object0C80_BounceBall.cs
│ │ │ │ └── Object0C88_Zipline.cs
│ │ │ ├── List11
│ │ │ │ ├── Object1130_FenceWall.cs
│ │ │ │ ├── Object1134_DamageBlock.cs
│ │ │ │ ├── Object1131_Vine.cs
│ │ │ │ ├── Object1132_ElevatorPlatformColumn.cs
│ │ │ │ ├── Object1138_JumpPanel.cs
│ │ │ │ └── Object1137_StretchGrass.cs
│ │ │ ├── List13
│ │ │ │ ├── Object13ED_EscapePodPathSwitch.cs
│ │ │ │ ├── Object13F3_EscapePodDownRail.cs
│ │ │ │ ├── Object13F0_SlideoutPlatform.cs
│ │ │ │ ├── Object138E_ArkCannon.cs
│ │ │ │ ├── Object1392_SpaceDebris.cs
│ │ │ │ ├── Object138B_MeteorsHolder.cs
│ │ │ │ └── Object13EF_SecurityLaser.cs
│ │ │ ├── List17
│ │ │ │ ├── Object1773_CrushingWalls.cs
│ │ │ │ ├── Object1772_ConcreteDoor.cs
│ │ │ │ ├── Object17D5_BlackArmsMine.cs
│ │ │ │ ├── Object1770_GUNCamera.cs
│ │ │ │ └── Object17D4_BAGunShip.cs
│ │ │ ├── List0B
│ │ │ │ ├── Object0BBC_PopupDummyGhost.cs
│ │ │ │ ├── Object0BBB_SmallLantern.cs
│ │ │ │ ├── Object0BBE_Chao.cs
│ │ │ │ ├── Object0BC8_CastleMonsterControl.cs
│ │ │ │ └── Object0BC7_CastleMonster.cs
│ │ │ ├── List10
│ │ │ │ ├── Object106C_SkyRuinsJewel.cs
│ │ │ │ ├── Object1006_HealUnitServer.cs
│ │ │ │ ├── Object1005_Researcher.cs
│ │ │ │ ├── Object106D_RainEffect.cs
│ │ │ │ ├── Object1004_ArkCrackedWall.cs
│ │ │ │ └── Object1069_FleetHolderEggmanBattleship.cs
│ │ │ ├── List14
│ │ │ │ ├── Object14B5_GravityChangeZone.cs
│ │ │ │ └── Object14BE_ArkGreenLaser.cs
│ │ │ ├── List03
│ │ │ │ ├── Object03E9_FallingBuilding.cs
│ │ │ │ └── Object03EA_CityLaser.cs
│ │ │ ├── List19
│ │ │ │ ├── Object1903_BlackDoomHologram.cs
│ │ │ │ └── Object1901_CometBarrier.cs
│ │ │ ├── List18
│ │ │ │ ├── Object1839_RisingLava.cs
│ │ │ │ └── Object189E_ARKDriftingPlat1.cs
│ │ │ └── List01
│ │ │ │ └── Object0190_Partner.cs
│ │ ├── RingType.cs
│ │ ├── SetObjectHeroes.cs
│ │ ├── ObjectEntry.cs
│ │ └── SetObjectShadow.cs
│ └── Templates
│ │ └── Template.cs
├── Properties
│ ├── Settings.settings
│ ├── AssemblyInfo.cs
│ └── Settings.Designer.cs
├── LevelEditor
│ ├── Models
│ │ └── Structures
│ │ │ ├── TriangleListCollada.cs
│ │ │ ├── Vertex.cs
│ │ │ ├── ModelConverterData.cs
│ │ │ ├── Triangle.cs
│ │ │ └── ModelConverterDataCollada.cs
│ └── EditBSPName.cs
├── ShadowCameraEditor
│ ├── ShadowCameraTriggerShape.cs
│ ├── ShadowCameraFileHeader.cs
│ └── ShadowCameraMode.cs
├── SetIdTableEditor
│ ├── StageEntry.cs
│ └── TableEntry.cs
├── ShadowSplineEditor
│ └── ShadowSplinePOF0.cs
├── CollisionEditor
│ ├── QuadNode.cs
│ ├── CollisionVertex.cs
│ └── CLFile.cs
├── App.config
├── Other
│ └── SASetObject.cs
└── Program.cs
├── .editorconfig
└── .gitmodules
/HeroesPowerPlant/Resources/.gitignore:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/Resources/Lists/ShadowObjectMiscHelper.ini:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/Tools/txdgen_1.0/LICENSES/pvrtextool/COPYRIGHT:
--------------------------------------------------------------------------------
1 | Copyright (c) Imagination Technologies Limited.
--------------------------------------------------------------------------------
/HeroesPowerPlant/Game.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/igorseabra4/HeroesPowerPlant/HEAD/HeroesPowerPlant/Game.ico
--------------------------------------------------------------------------------
/HeroesPowerPlant/Tools/txdgen_1.0/LICENSES/rwtools/COPYRIGHT:
--------------------------------------------------------------------------------
1 | The code is public domain, do what you want with it. - aap
--------------------------------------------------------------------------------
/HeroesPowerPlant/Tools/showvcolor.ms:
--------------------------------------------------------------------------------
1 | for o in geometry do(
2 | o.showVertexColors = true
3 | )
4 | completeRedraw()
5 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/Resources/AboutImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/igorseabra4/HeroesPowerPlant/HEAD/HeroesPowerPlant/Resources/AboutImage.png
--------------------------------------------------------------------------------
/HeroesPowerPlant/Tools/HeroesSPLTool.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/igorseabra4/HeroesPowerPlant/HEAD/HeroesPowerPlant/Tools/HeroesSPLTool.exe
--------------------------------------------------------------------------------
/HeroesPowerPlant/Resources/WhiteDefault.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/igorseabra4/HeroesPowerPlant/HEAD/HeroesPowerPlant/Resources/WhiteDefault.png
--------------------------------------------------------------------------------
/HeroesPowerPlant/Tools/txdgen_1.0/txdgen64.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/igorseabra4/HeroesPowerPlant/HEAD/HeroesPowerPlant/Tools/txdgen_1.0/txdgen64.exe
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | [*.cs]
2 |
3 | # IDE0059: Atribuição desnecessária de um valor
4 | csharp_style_unused_value_assignment_preference = discard_variable:suggestion
5 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/Resources/Lists/HeroesObjectListCustom.ini:
--------------------------------------------------------------------------------
1 | [C0][40]
2 | Object=Custom Object Test
3 | Debug=Custom Object
4 | Model=OBJ_BOBA.DFF
5 | Description=Custom object test. Model OBJ_BOBA.DFF
6 | EndOfFile
--------------------------------------------------------------------------------
/HeroesPowerPlant/MainForm/IUnsavedChanges.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant;
2 |
3 | public interface IUnsavedChanges
4 | {
5 | public bool UnsavedChanges { get; }
6 | public string Text { get; }
7 | public void Save();
8 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/ConfigEditor/SplineEditor/SplineType.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.SplineEditor
2 | {
3 | public enum SplineType
4 | {
5 | Null,
6 | Loop,
7 | Rail,
8 | Ball
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/Resources/hpp_version.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "2025.12.13",
3 | "versionName": "!!WARNING: New version requires NET Desktop Runtime 10.0!\nTo stay on the current version, disable:\nOptions -> Check For Updates on Startup"
4 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/Shared/IO/Config/HPPVersion.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.Shared.IO.Config
2 | {
3 | public class HPPVersion
4 | {
5 | public string version = "2025.12.13";
6 | public string versionName = "2025.12.13";
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/Tools/readme.txt:
--------------------------------------------------------------------------------
1 | importvcolorobj_v1.3.ms : OBJ importer script for 3ds Max originally by Chris Cookson, modded by Shadowth117 to allow importing of OBJ with vertex colors.
2 | HeroesSPLTool : Used to convert SPL (Heroes spline) files to and from OBJ.
--------------------------------------------------------------------------------
/HeroesPowerPlant/SharpDX/RenderData/DefaultRenderData.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant
4 | {
5 | public struct DefaultRenderData
6 | {
7 | public Matrix worldViewProjection;
8 | public Vector4 Color;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List05/Object050B_Slot.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object050B_Slot : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public int Rate { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/ListOther/Object_F1Range.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object_F1Range : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public float Range { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/ListOther/Object_F1Speed.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object_F1Speed : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public float Speed { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/ListOther/Object_L1Offset.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object_L1Offset : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public int Offset { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/ListOther/Object_L1Type.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object_L1Type : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public int ObjectType { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/ListOther/Object0000_Nothing.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0000_Nothing : SetObjectHeroes
4 | {
5 | public string Note => "This object will not be saved.";
6 | }
7 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/ListOther/Object_B1_1_Type.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object_B1_1_Type : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public byte ObjectType { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/ListOther/Object_S1_1_Type.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object_S1_1_Type : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public short ObjectType { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List00/Object000E_Checkpoint.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object000E_Checkpoint : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public short Priority { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object0020_Weapon.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0020_Weapon : SetObjectShadow
4 | {
5 | [MiscSetting]
6 | public EWeapon Weapon { get; set; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List00/Object0025_FormSign.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0025_FormSign : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public EFormation Formation { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List13/Object1303_MovingCannon.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object1303_MovingCannon : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public float MaxHeight { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/RingType.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public enum ERingType
4 | {
5 | Normal = 0,
6 | Line = 1,
7 | Circle = 2,
8 | Arch = 3,
9 | WarpToPlayerIfAtSpawn = 1092616192
10 | }
11 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List04/Object04_CraneWallLight.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object04_CraneWallLight : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public int RotSpeed { get; set; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/ListOther/Object2300_EggAlbatross.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object2300_EggAlbatross : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public float YOffset { get; set; }
7 | }
8 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object0005_Checkpoint.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0005_Checkpoint : SetObjectShadow
4 | {
5 | [MiscSetting]
6 | public int Number { get; set; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object0012_ItemCapsule.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0012_ItemCapsule : SetObjectShadow
4 | {
5 | [MiscSetting]
6 | public EItemShadow Item { get; set; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List07/Object07E2_ElecCube.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object07E2_ElecCube : SetObjectShadow
4 | {
5 | [MiscSetting]
6 | public float Scale { get; set; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List07/Object07E8_ElecRollHexa.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object07E8_ElecRollHexa : SetObjectShadow
4 | {
5 | [MiscSetting]
6 | public float RotateSpeed { get; set; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List0F/Object0FA1_BAMiniBomb.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0FA1_BAMiniBomb : SetObjectShadow
4 | {
5 | [MiscSetting]
6 | public float DetectRange { get; set; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List08/Object0835_TornadoCollision.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0835_TornadoCollision : SetObjectShadow
4 | {
5 | [MiscSetting]
6 | public float Radius { get; set; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List25/Object2589_Destructable1.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object2589_Destructable1 : SetObjectShadow
4 | {
5 | [MiscSetting]
6 | public int DestructableType { get; set; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object0033_EnergyCore.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0033_EnergyCore : SetObjectShadow
4 | {
5 | [MiscSetting]
6 | public EEnergyCore EnergyCore { get; set; }
7 | }
8 | }
9 |
10 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/Resources/Models/Cylinder.mtl:
--------------------------------------------------------------------------------
1 | # 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware
2 | # File Created: 07.05.2018 00:07:44
3 |
4 | newmtl wire_145028177
5 | Ns 32
6 | d 1
7 | Tr 0
8 | Tf 1 1 1
9 | illum 2
10 | Ka 0.5686 0.1098 0.6941
11 | Kd 0.5686 0.1098 0.6941
12 | Ks 0.3500 0.3500 0.3500
13 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/Resources/Models/Sphere.mtl:
--------------------------------------------------------------------------------
1 | # 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware
2 | # File Created: 21.06.2018 18:43:55
3 |
4 | newmtl wire_135110008
5 | Ns 32
6 | d 1
7 | Tr 0
8 | Tf 1 1 1
9 | illum 2
10 | Ka 0.5294 0.4314 0.0314
11 | Kd 0.5294 0.4314 0.0314
12 | Ks 0.3500 0.3500 0.3500
13 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List11/MysticLight.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public enum MysticLight : byte
4 | {
5 | StarLights = 0,
6 | RadialGradientLights = 1,
7 | SkullLightLayingDown = 2,
8 | SkullLightWall = 3
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List07/Object07E1_TriggerDigitalBreakableTile.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object07E1_TriggerDigitalBreakableTile : SetObjectShadow
4 | {
5 | [MiscSetting]
6 | public float Range { get; set; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LevelEditor/Models/Structures/TriangleListCollada.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace HeroesPowerPlant.LevelEditor
4 | {
5 | public class TriangleListCollada
6 | {
7 | public string TextureName;
8 | public List TriangleList = new List();
9 | }
10 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List08/Object089C_FallingRoad.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object089C_FallingRoad : SetObjectShadow
4 | {
5 | //FallRoad
6 | [MiscSetting]
7 | public float Height { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List0C/Object0C81_CircusGong.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0C81_CircusGong : SetObjectShadow
4 | {
5 | //Gong(speed)
6 | [MiscSetting]
7 | public float Speed { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List11/Object1130_FenceWall.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object1130_FenceWall : SetObjectShadow
4 | {
5 | //Footing(model)
6 | [MiscSetting]
7 | public int Model { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/ShadowCameraEditor/ShadowCameraTriggerShape.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.ShadowCameraEditor
2 | {
3 |
4 | public enum ShadowCameraTriggerShape
5 | {
6 | Plane = 0,
7 | Box = 1,
8 | SphereCapsule = 2,
9 | Cylinder = 3,
10 | BrokenLeftover = 4
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List11/Object1101_CastleDoor.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object1101_CastleDoor : SetObjectHeroes
4 | {
5 | [MiscSetting(underlyingType: MiscSettingUnderlyingType.Byte)]
6 | public bool IsUpsideDown { get; set; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List08/Object089A_BreakingRoad.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object089A_BreakingRoad : SetObjectShadow
4 | {
5 | //BreakRoad(RoadType)
6 | [MiscSetting]
7 | public int RoadType { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List05/Object05_StarPanel.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object05_StarPanel : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public float Power { get; set; }
7 | [MiscSetting]
8 | public int Color { get; set; }
9 | }
10 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List00/Object0023_Chao.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0023_Chao : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public float Radius { get; set; }
7 | [MiscSetting]
8 | public float AngularSpeed { get; set; }
9 | }
10 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List05/Object0586_Roulette.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0586_Roulette : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public float Scale { get; set; }
7 | [MiscSetting]
8 | public int Speed { get; set; }
9 | }
10 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List05/Object05_Spring.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object05_Spring : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public float Power { get; set; }
7 | [MiscSetting]
8 | public float RotationSpeed { get; set; }
9 | }
10 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List14/Object1402_Laser.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object1402_Laser : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public byte ObjectType { get; set; }
7 | [MiscSetting]
8 | public short Time { get; set; }
9 | }
10 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List0C/Object0C83_CircusGameTarget.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0C83_CircusGameTarget : SetObjectShadow
4 | {
5 | //ShootingGame::Score
6 | [MiscSetting]
7 | public int LinkID_GameNum { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List13/Object13ED_EscapePodPathSwitch.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object13ED_EscapePodPathSwitch : SetObjectShadow
4 | {
5 | //SetRailSwitch(route)
6 | [MiscSetting]
7 | public int SplineID { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LevelEditor/Models/Structures/Vertex.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LevelEditor
4 | {
5 | public struct Vertex
6 | {
7 | public Vector3 Position;
8 | public Color Color;
9 | public Vector2 TexCoord;
10 |
11 | public bool HasUV;
12 | public bool HasColor;
13 | }
14 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/SharpDX/RenderData/CollisionRenderData.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant
4 | {
5 | public struct CollisionRenderData
6 | {
7 | public Matrix viewProjection;
8 | public Vector4 ambientColor;
9 | public Vector4 lightDirection;
10 | public Vector4 lightDirection2;
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List01/Object0187_Tides.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0187_Tides : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public byte ObjectType { get; set; }
7 | [MiscSetting]
8 | public float Speed { get; set; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List09/Object0902_RainLeaf.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0902_RainLeaf : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public float Range { get; set; }
7 | [MiscSetting]
8 | public int ObjectType { get; set; }
9 | }
10 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object000E_Rocket.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object000E_Rocket : SetObjectShadow
4 | {
5 | [MiscSetting]
6 | public float Angle { get; set; }
7 | [MiscSetting]
8 | public float Distance { get; set; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List02/Object0281_TurtleFeet.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0281_TurtleFeet : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public float Scale { get; set; }
7 | [MiscSetting]
8 | public float Speed { get; set; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List07/Object0704_RailRoadblock.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0704_RailRoadblock : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public float Range { get; set; }
7 | [MiscSetting]
8 | public int Speed { get; set; }
9 | }
10 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List07/Object0705_Capsule.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0705_Capsule : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public EItemHeroes Item { get; set; }
7 | [MiscSetting]
8 | public byte ObjectType { get; set; }
9 | }
10 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List11/Object1134_DamageBlock.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object1134_DamageBlock : SetObjectShadow
4 | {
5 | //AKA Green Spike Ball
6 | //DamageBlock(kind)
7 | [MiscSetting]
8 | public int Kind { get; set; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List09/Object0909_SpringMush.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0909_SpringMush : SetObjectHeroes
4 | {
5 | [MiscSetting(1)]
6 | public float Speed { get; set; }
7 | [MiscSetting(2)]
8 | public byte NoControlTime { get; set; }
9 | }
10 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List14/Object1400_FallingPlatform.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object1400_FallingPlatform : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public float FallHeight { get; set; }
7 | [MiscSetting]
8 | public float FallSpeed { get; set; }
9 | }
10 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List25/Object2586_Sample.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object2586_Sample : SetObjectShadow
4 | {
5 | [MiscSetting]
6 | public int Uint32 { get; set; }
7 |
8 | [MiscSetting]
9 | public int Sint32 { get; set; }
10 | }
11 | }
12 |
13 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object0023_OverturnableObject.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0023_OverturnableObject : SetObjectShadow
4 | {
5 | [MiscSetting]
6 | public int Model { get; set; }
7 | [MiscSetting]
8 | public int UnusedInt { get; set; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/SetIdTableEditor/StageEntry.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.SetIdTableEditor
2 | {
3 | public class StageEntry
4 | {
5 | public uint flag0;
6 | public uint flag1;
7 | public uint flag2;
8 | public string name;
9 |
10 | public override string ToString()
11 | {
12 | return name;
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/Resources/Models/Box.mtl:
--------------------------------------------------------------------------------
1 | # 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware
2 | # File Created: 05.05.2018 15:40:13
3 |
4 | newmtl wire_008110135
5 | Ns 32.0000
6 | Ni 1.5000
7 | d 1.0000
8 | Tr 0.0000
9 | Tf 1.0000 1.0000 1.0000
10 | illum 2
11 | Ka 0.0314 0.4314 0.5294
12 | Kd 0.0314 0.4314 0.5294
13 | Ks 0.3500 0.3500 0.3500
14 | Ke 0.0000 0.0000 0.0000
15 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/Resources/Models/Pyramid.mtl:
--------------------------------------------------------------------------------
1 | # 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware
2 | # File Created: 07.05.2018 03:03:25
3 |
4 | newmtl wire_008110135
5 | Ns 32.0000
6 | Ni 1.5000
7 | d 1.0000
8 | Tr 0.0000
9 | Tf 1.0000 1.0000 1.0000
10 | illum 2
11 | Ka 0.0314 0.4314 0.5294
12 | Kd 0.0314 0.4314 0.5294
13 | Ks 0.3500 0.3500 0.3500
14 | Ke 0.0000 0.0000 0.0000
15 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List00/Object0018_ItemBox.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0018_ItemBox : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public EItemHeroes Item { get; set; }
7 | [MiscSetting(underlyingType: MiscSettingUnderlyingType.Byte)]
8 | public bool HomingOff { get; set; }
9 | }
10 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List00/Object0006_SwitchPP.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0006_SwitchPP : SetObjectHeroes
4 | {
5 | public enum EMode : byte
6 | {
7 | Push = 0,
8 | Pull = 1
9 | }
10 |
11 | [MiscSetting]
12 | public EMode SwitchMode { get; set; }
13 | }
14 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object0061_DarkSpinEntrance.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object0061_DarkSpinEntrance : SetObjectShadow
6 | {
7 | [MiscSetting, Description("Only valid where a darkspin spline exists")]
8 | public float Radius { get; set; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List00/Object0004_HintRing.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0004_HintRing : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public short LineToPlay { get; set; }
7 | [MiscSetting(underlyingType: MiscSettingUnderlyingType.Byte)]
8 | public bool DeleteByLinkOff { get; set; }
9 | }
10 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List11/Object1102_CastleWall.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object1102_CastleWall : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public int ObjectType { get; set; }
7 | [MiscSetting(underlyingType: MiscSettingUnderlyingType.Byte)]
8 | public bool IsUpsideDown { get; set; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object005A_Pole.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object005A_Pole : SetObjectShadow
6 | {
7 | //CatchStick
8 |
9 | [MiscSetting, Description("Extends equally up/down from object location")]
10 | public float Length { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/SetIdTableEditor/TableEntry.cs:
--------------------------------------------------------------------------------
1 | using HeroesPowerPlant.LayoutEditor;
2 |
3 | namespace HeroesPowerPlant.SetIdTableEditor
4 | {
5 | public class TableEntry
6 | {
7 | public ObjectEntry objectEntry;
8 | public uint values0;
9 | public uint values1;
10 | public uint values2;
11 |
12 | public override string ToString() => objectEntry.ToString();
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List16/Object_16_02.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object_16_02 : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public float CoreHP { get; set; }
7 | [MiscSetting]
8 | public float ShieldHP { get; set; }
9 | [MiscSetting]
10 | public float MissleHP { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List00/Object0007_Target.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0007_Target : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public EItemHeroes Item { get; set; }
7 | [MiscSetting]
8 | public byte AppearMode { get; set; }
9 | [MiscSetting]
10 | public byte LinkID { get; set; }
11 | }
12 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List01/Object0183_Seagulls.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0183_Seagulls : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public byte Number { get; set; }
7 | [MiscSetting]
8 | public float Radius { get; set; }
9 | [MiscSetting]
10 | public float Speed { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List03/Object0302_RoadCap.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0302_RoadCap : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public byte ObjectType { get; set; }
7 | [MiscSetting]
8 | public short ScaleX { get; set; }
9 | [MiscSetting]
10 | public short ScaleY { get; set; }
11 | }
12 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List13/Object13F3_EscapePodDownRail.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object13F3_EscapePodDownRail : SetObjectShadow
4 | {
5 | //EscapePlaneRail(dist,speed)
6 | [MiscSetting]
7 | public float Distance { get; set; }
8 | [MiscSetting]
9 | public float Speed { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List17/Object1773_CrushingWalls.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object1773_CrushingWalls : SetObjectShadow
4 | {
5 | //SetCloseWall
6 | [MiscSetting]
7 | public float WallStartAdditionalSize { get; set; }
8 | [MiscSetting]
9 | public float CloseRate { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List00/Object0026_FormGate.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0026_FormGate : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public EFormation Formation { get; set; }
7 | [MiscSetting]
8 | public float Width { get; set; }
9 | [MiscSetting]
10 | public float Height { get; set; }
11 | }
12 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List01/Object0184_LargeBird.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0184_LargeBird : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public float Radius { get; set; }
7 | [MiscSetting]
8 | public float Speed { get; set; }
9 | [MiscSetting]
10 | public float Scale { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List02/Object0282_KameWave.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0282_KameWave : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public byte ObjectType { get; set; }
7 | [MiscSetting]
8 | public float Speed { get; set; }
9 | [MiscSetting]
10 | public float Scale { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List16/Object_16_00_01.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object_16_00_01 : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public float Radius { get; set; }
7 | [MiscSetting]
8 | public int Refresh { get; set; }
9 | [MiscSetting]
10 | public int Disable { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List01/Object0103_TruckPath.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0103_TruckPath : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public byte ObjectType { get; set; }
7 | [MiscSetting]
8 | public byte PathNum { get; set; }
9 | [MiscSetting]
10 | public float MinSpeed { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List09/Object0904_RainIvy.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0904_RainIvy : SetObjectHeroes
4 | {
5 | [MiscSetting(1)]
6 | public float Range { get; set; }
7 | [MiscSetting(2)]
8 | public float MotionSpeed { get; set; }
9 | [MiscSetting(3)]
10 | public int NotInUse { get; set; }
11 | }
12 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List0B/Object0BBC_PopupDummyGhost.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0BBC_PopupDummyGhost : SetObjectShadow
4 | {
5 | //ThreatObjHolder(Model, Range_Radius m)
6 | [MiscSetting]
7 | public int Model { get; set; }
8 | [MiscSetting]
9 | public float DetectRadius { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List01/Object0189_WaterfallSmall.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0189_WaterfallSmall : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public byte ObjectType { get; set; }
7 | [MiscSetting]
8 | public float Scale { get; set; }
9 | [MiscSetting]
10 | public float Speed { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List03/Object0300_AcceleratorRoad.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0300_AcceleratorRoad : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public byte ObjectType { get; set; }
7 | [MiscSetting]
8 | public float Speed { get; set; }
9 | [MiscSetting]
10 | public float ColliZAdd { get; set; }
11 | }
12 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List04/Object0401_EnergyColumn.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0401_EnergyColumn : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public byte ObjectType { get; set; }
7 | [MiscSetting]
8 | public float Length { get; set; }
9 | [MiscSetting]
10 | public float Speed { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List11/Object1182_Thunder.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object1182_Thunder : SetObjectHeroes
4 | {
5 | public enum EObjectType
6 | {
7 | Circular,
8 | Curve,
9 | Straight
10 | }
11 |
12 | [MiscSetting(1)]
13 | public EObjectType ObjectType { get; set; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/ShadowSplineEditor/ShadowSplinePOF0.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.ShadowSplineEditor
2 | {
3 | public class ShadowSplinePOF0
4 | {
5 | public byte slot1 { get; set; }
6 | public byte slot2 { get; set; }
7 | public bool noSlot2 { get; set; }
8 |
9 | public override string ToString()
10 | {
11 | return $"S1: {slot1} | S2: {slot2} | noS2: {noSlot2}";
12 | }
13 | }
14 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List13/Object1302_HorizCannon.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object1302_HorizCannon : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public short ShootTime { get; set; }
7 | [MiscSetting]
8 | public float ShootRange { get; set; }
9 | [MiscSetting]
10 | public byte IgnoreCollision { get; set; }
11 | }
12 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List11/Object1131_Vine.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object1131_Vine : SetObjectShadow
4 | {
5 | [MiscSetting]
6 | public float AttackRange { get; set; }
7 | [MiscSetting]
8 | public float AttackSec { get; set; }
9 | [MiscSetting]
10 | public float ReviveSec { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List11/Object1185_Bone.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object1185_Bone : SetObjectHeroes
4 | {
5 | public enum EBoneType : int
6 | {
7 | FromRight = 0,
8 | FromLeft = 1,
9 | FromBelow = 2
10 | }
11 |
12 | [MiscSetting]
13 | public EBoneType BoneType { get; set; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object001B_Roadblock.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object001B_Roadblock : SetObjectShadow
4 | {
5 | public enum ERoadblockType : int
6 | {
7 | GUN,
8 | BlackArms
9 | }
10 |
11 | [MiscSetting]
12 | public ERoadblockType RoadblockType { get; set; }
13 | }
14 | }
15 |
16 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List10/Object106C_SkyRuinsJewel.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object106C_SkyRuinsJewel : SetObjectShadow
4 | {
5 | public enum EModel : int
6 | {
7 | Out,
8 | In
9 | }
10 |
11 | //PowerDeviceNaked
12 | [MiscSetting]
13 | public EModel Model { get; set; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List10/Object1006_HealUnitServer.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object1006_HealUnitServer : SetObjectShadow
4 | {
5 | public enum EServe : int
6 | {
7 | Bomb,
8 | HealUnit
9 | }
10 |
11 | //BombServer(Type)
12 | [MiscSetting]
13 | public EServe Serve { get; set; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List11/Object1108_MansionDoor.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object1108_MansionDoor : SetObjectHeroes
4 | {
5 | public enum EOpenAngle : int
6 | {
7 | Angle90 = 0,
8 | Angle180 = 1,
9 | Angle83dot5 = 2
10 | }
11 |
12 | [MiscSetting]
13 | public EOpenAngle OpenAngle { get; set; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List07/Object07DA_MatrixTerminalElecFan.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object07DA_MatrixTerminalElecFan : SetObjectShadow
4 | {
5 | [MiscSetting]
6 | public float Height { get; set; }
7 | [MiscSetting]
8 | public float Radius { get; set; }
9 | [MiscSetting]
10 | public float Power { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List10/Object1005_Researcher.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object1005_Researcher : SetObjectShadow
4 | {
5 | public enum EResearcherType : int
6 | {
7 | FaceUp,
8 | FaceDown
9 | }
10 | //Researcher
11 | [MiscSetting]
12 | public EResearcherType ResearcherType { get; set; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Runtime.InteropServices;
2 |
3 | // Definir ComVisible como false torna os tipos neste assembly invisíveis
4 | // para componentes COM. Caso precise acessar um tipo neste assembly de
5 | // COM, defina o atributo ComVisible como true nesse tipo.
6 | [assembly: ComVisible(false)]
7 |
8 | // O GUID a seguir será destinado à ID de typelib se este projeto for exposto para COM
9 | [assembly: Guid("a3f86b0f-4a7b-4c01-9a18-79c4ec9a6a05")]
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List02/Object0200_CrumbleStonePillar.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 |
4 | public class Object0200_CrumbleStonePillar : SetObjectHeroes
5 | {
6 | public enum EPillarType : byte
7 | {
8 | Left = 0,
9 | Right = 1,
10 | Center = 2
11 | }
12 |
13 | [MiscSetting]
14 | public EPillarType PillarType { get; set; }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "RenderWareFile"]
2 | path = Submodules/RenderWareFile
3 | url = https://github.com/igorseabra4/RenderWareFile
4 | [submodule "Submodules/HeroesPowerPlant.RemoteControl.ReloadedII"]
5 | path = Submodules/HeroesPowerPlant.RemoteControl.ReloadedII
6 | url = https://github.com/Sewer56/HeroesPowerPlant.RemoteControl.ReloadedII.git
7 | [submodule "Submodules/Heroes.SDK"]
8 | path = Submodules/Heroes.SDK
9 | url = https://github.com/Heroes-Hacking-Central/Heroes.SDK.git
10 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LevelEditor/Models/Structures/ModelConverterData.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 | using System.Collections.Generic;
3 |
4 | namespace HeroesPowerPlant.LevelEditor
5 | {
6 | public struct ModelConverterData
7 | {
8 | public List MaterialList;
9 | public List VertexList;
10 | public List UVList;
11 | public List ColorList;
12 | public List TriangleList;
13 | public string MTLLib;
14 | }
15 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List14/Object14B5_GravityChangeZone.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object14B5_GravityChangeZone : SetObjectShadow
6 | {
7 | // Also used for 14B4, GravityChangeSwitch
8 | [MiscSetting, Description("Sets the base gravity. By default the world is NegY")]
9 | public EGravityDirection GravityDirection { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List09/Object099A_Wanibreak.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object099A_Wanibreak : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public byte ObjectType { get; set; }
7 | [MiscSetting]
8 | public byte Kazari { get; set; }
9 | [MiscSetting]
10 | public byte Unknown1 { get; set; }
11 | [MiscSetting]
12 | public byte Unknown2 { get; set; }
13 | }
14 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List01/Object0102_TruckRail.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0102_TruckRail : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public byte ObjectType { get; set; }
7 | [MiscSetting]
8 | public byte StopTime { get; set; }
9 | [MiscSetting]
10 | public float Length { get; set; }
11 | [MiscSetting]
12 | public float Speed { get; set; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List02/Object0204_Kaos.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0204_Kaos : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public byte KaosNumber { get; set; }
7 | [MiscSetting]
8 | public float MinSpeed { get; set; }
9 | [MiscSetting]
10 | public float MaxSpeed { get; set; }
11 | [MiscSetting]
12 | public float Acceleration { get; set; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List03/Object0305_BigBridge.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0305_BigBridge : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public float ColScaleX { get; set; }
7 | [MiscSetting]
8 | public float ColScaleY { get; set; }
9 | [MiscSetting]
10 | public float ColScaleZ { get; set; }
11 | [MiscSetting]
12 | public float AnimSpeed { get; set; }
13 | }
14 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/Shared/Utilities/ManualEndianConverter.cs:
--------------------------------------------------------------------------------
1 | using Reloaded.Memory.Utilities;
2 |
3 | namespace HeroesPowerPlant.Shared.Utilities
4 | {
5 | ///
6 | /// Provides a set of methods to manually convert the endian of each primitive type.
7 | ///
8 | public static class ManualEndianConverter
9 | {
10 | public static T ReverseEndian(this T type) where T : unmanaged
11 | {
12 | return Endian.Reverse(type);
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List09/Object0903_RainMush.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0903_RainMush : SetObjectHeroes
4 | {
5 | [MiscSetting(1)]
6 | public float Range { get; set; }
7 | [MiscSetting(2)]
8 | public float Power { get; set; }
9 | [MiscSetting(3)]
10 | public byte NoControlTime { get; set; }
11 | [MiscSetting(4)]
12 | public byte ObjectType { get; set; }
13 | }
14 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/ListOther/Object_F1Scale.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object_F1Scale : SetObjectHeroes
6 | {
7 | public override void CreateTransformMatrix()
8 | {
9 | transformMatrix = Matrix.Scaling(Scale) * DefaultTransformMatrix();
10 |
11 | CreateBoundingBox();
12 | }
13 |
14 | [MiscSetting]
15 | public float Scale { get; set; }
16 | }
17 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List13/Object13F0_SlideoutPlatform.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object13F0_SlideoutPlatform : SetObjectShadow
4 | {
5 | //SetPopFooting(model sec_begin, sec_wait)
6 | [MiscSetting]
7 | public int Model { get; set; }
8 | [MiscSetting]
9 | public float SecBegin { get; set; }
10 | [MiscSetting]
11 | public float SecWait { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List03/Object0380_BalloonDesign.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0380_BalloonDesign : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public byte BalloonType { get; set; }
7 | [MiscSetting]
8 | public int SpdRad { get; set; }
9 | [MiscSetting]
10 | public float Radius { get; set; }
11 | [MiscSetting]
12 | public float Scale { get; set; }
13 | }
14 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List13/Object1304_RectFloatingPlatform.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object1304_RectFloatingPlatform : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public float Speed { get; set; }
7 | [MiscSetting]
8 | public float EndPosX { get; set; }
9 | [MiscSetting]
10 | public float EndPosY { get; set; }
11 | [MiscSetting]
12 | public float EndPosZ { get; set; }
13 | }
14 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List0B/Object0BBB_SmallLantern.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object0BBB_SmallLantern : SetObjectShadow
6 | {
7 | //CandleStick(SAME_COMID_SWITCH_NUM)
8 |
9 | [MiscSetting, Description("SAME_COMID_SWITCH_NUM official name, may have to do with respawning if a ComID/LinkID is not cleared")]
10 | public int WatchForLinkID { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List10/Object106D_RainEffect.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object106D_RainEffect : SetObjectShadow
4 | {
5 | //RainEffect(COLLI_WIDTH m, COLLI_HEIGHT m, COLLI_DEPTH m)
6 | [MiscSetting]
7 | public float Range_X { get; set; }
8 | [MiscSetting]
9 | public float Range_Y { get; set; }
10 | [MiscSetting]
11 | public float Range_Z { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List13/Object138E_ArkCannon.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object138E_ArkCannon : SetObjectShadow
4 | {
5 | public enum EModel : int
6 | {
7 | Ground, //GRAND
8 | Air // AIR
9 | }
10 |
11 | [MiscSetting]
12 | public EModel Model { get; set; }
13 | [MiscSetting]
14 | public float DetectRange { get; set; }
15 | }
16 | }
17 |
18 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List25/Object2592_DebugMissionClearCollision.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object2592_DebugMissionClearCollision : SetObjectShadow
4 | {
5 | public enum EMissionType
6 | {
7 | Dark,
8 | Normal,
9 | Hero,
10 | Boss
11 | }
12 |
13 | [MiscSetting]
14 | public EMissionType MissionType { get; set; }
15 | }
16 |
17 | }
18 |
19 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object0015_BallSwitch.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0015_BallSwitch : SetObjectShadow
4 | {
5 | public enum EActivateType : int
6 | {
7 | OnOff = 0,
8 | OnTouch = 1,
9 | OnAlways = 2,
10 | Decoration = 3
11 | }
12 |
13 | [MiscSetting]
14 | public EActivateType ActivateType { get; set; }
15 | }
16 |
17 | }
18 |
19 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List00/Object002C_RollDoor.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object002C_RollDoor : SetObjectHeroes
6 | {
7 | [MiscSetting, Description("Defaults to 5.0")]
8 | public float Power { get; set; }
9 | [MiscSetting, Description("In degrees")]
10 | public float Elevation { get; set; }
11 | [MiscSetting, Description("In frames")]
12 | public short NoControlTime { get; set; }
13 | }
14 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List03/Object03E9_FallingBuilding.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object03E9_FallingBuilding : SetObjectShadow
4 | {
5 | //FallingBuildingHolder obj
6 |
7 | public enum EObjectType : int
8 | {
9 | Bridge15Angle = 0,
10 | Bridge45Angle = 1,
11 | Building = 2,
12 | }
13 |
14 | [MiscSetting]
15 | public EObjectType ObjectType { get; set; }
16 | }
17 | }
18 |
19 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List10/Object1004_ArkCrackedWall.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object1004_ArkCrackedWall : SetObjectShadow
4 | {
5 | public enum EWallType : int
6 | {
7 | Out,
8 | In
9 | }
10 |
11 | //BombingWall(Type{Out,In},Range point)
12 | [MiscSetting]
13 | public EWallType WallType { get; set; }
14 | [MiscSetting]
15 | public float Range { get; set; }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List19/Object1903_BlackDoomHologram.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object1903_BlackDoomHologram : SetObjectShadow
6 | {
7 | //BDHologram
8 |
9 | [MiscSetting, Description("Distance (straight line) from player to object\nWhen met, the hologram disappears.")]
10 | public float DetectDistance { get; set; }
11 | [MiscSetting]
12 | public int VoiceID { get; set; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List05/Object0502_Flipper.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0502_Flipper : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public float Trance { get; set; }
7 | [MiscSetting]
8 | public byte FlipperType { get; set; }
9 | [MiscSetting]
10 | public byte KeyFlip { get; set; }
11 | [MiscSetting]
12 | public byte Power { get; set; }
13 | [MiscSetting]
14 | public byte Player { get; set; }
15 | }
16 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List05/Object0503_TriBumper.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0503_TriBumper : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public float Power { get; set; }
7 | [MiscSetting]
8 | public byte AngType { get; set; }
9 | [MiscSetting]
10 | public byte Color { get; set; }
11 | [MiscSetting]
12 | public byte Number { get; set; }
13 | [MiscSetting]
14 | public byte Unknown { get; set; }
15 | }
16 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List25/Object2595_MissionClearCollision.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object2595_MissionClearCollision : SetObjectShadow
4 | {
5 | public enum EMissionType : int
6 | {
7 | Dark,
8 | Normal,
9 | Hero
10 | }
11 |
12 | [MiscSetting]
13 | public EMissionType MissionType { get; set; }
14 |
15 | [MiscSetting]
16 | public float Radius { get; set; }
17 | }
18 | }
19 |
20 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List02/Object020A_ColliQuake.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object020A_ColliQuake : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public float ScaleX { get; set; }
7 | [MiscSetting]
8 | public float ScaleY { get; set; }
9 | [MiscSetting]
10 | public float ScaleZ { get; set; }
11 | [MiscSetting]
12 | public float Strength { get; set; }
13 | [MiscSetting]
14 | public int Time { get; set; }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/Triggers/Object0066_TriggerBobJump.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0066_TriggerBobJump : SetObjectHeroes
4 | {
5 | public override bool IsTrigger() => true;
6 |
7 | [MiscSetting]
8 | public float Width { get; set; }
9 | [MiscSetting]
10 | public float Height { get; set; }
11 | [MiscSetting]
12 | public float RunDistance { get; set; }
13 | [MiscSetting]
14 | public float JumpDistance { get; set; }
15 | }
16 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List07/Object07D7_DigitalBreakableTile.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object07D7_DigitalBreakableTile : SetObjectShadow
4 | {
5 | //ElecCristalWall(type, AppearAngleX, AppearAngleY)
6 |
7 | [MiscSetting]
8 | public EDirection DirectionType { get; set; }
9 | [MiscSetting]
10 | public float AppearAngleX { get; set; }
11 | [MiscSetting]
12 | public float AppearAngleY { get; set; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/Resources/SharpDX/Shader_Basic.hlsl:
--------------------------------------------------------------------------------
1 | cbuffer data :register(b0)
2 | {
3 | float4x4 worldViewProj;
4 | float4 color;
5 | };
6 |
7 | struct VS_IN
8 | {
9 | float4 position : POSITION;
10 | };
11 |
12 | struct PS_IN
13 | {
14 | float4 position : SV_POSITION;
15 | float4 color: COLOR;
16 | };
17 |
18 | PS_IN VS(VS_IN input)
19 | {
20 | PS_IN output = (PS_IN)0;
21 |
22 | output.position = mul(worldViewProj, input.position);
23 | output.color = color;
24 |
25 | return output;
26 | }
27 |
28 | float4 PS(PS_IN input) : SV_Target
29 | {
30 | return input.color;
31 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List09/Object090E_Alligator.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object090E_Alligator : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public float StartPosX { get; set; }
7 | [MiscSetting]
8 | public float StartPosY { get; set; }
9 | [MiscSetting]
10 | public float StartPosZ { get; set; }
11 | [MiscSetting]
12 | public float StartRange { get; set; }
13 | [MiscSetting]
14 | public float SpeedRate { get; set; }
15 | }
16 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List09/Object0984_RedWeed.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object0984_RedWeed : SetObjectHeroes
6 | {
7 | public override void CreateTransformMatrix()
8 | {
9 | transformMatrix = Matrix.Scaling(Scale) * DefaultTransformMatrix();
10 | CreateBoundingBox();
11 | }
12 |
13 | [MiscSetting]
14 | public float StartRange { get; set; }
15 | [MiscSetting]
16 | public float Scale { get; set; }
17 | }
18 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List07/Object07D4_ElecSecurity.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object07D4_ElecSecurity : SetObjectShadow
4 | {
5 | public enum EElecSecurityType : int
6 | {
7 | STRONG,
8 | MEDIUM,
9 | WEAK,
10 | TIKAL,
11 | }
12 |
13 | [MiscSetting]
14 | public EElecSecurityType ElecSecurityType { get; set; }
15 | [MiscSetting]
16 | public float DetectionRange { get; set; }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object0014_GoalRing.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0014_GoalRing : SetObjectShadow
4 | {
5 | public enum EEmeraldColor : int
6 | {
7 | Blue = 0,
8 | Green = 1,
9 | Purple = 2,
10 | Red = 3,
11 | Aqua = 4,
12 | Yellow = 5,
13 | White = 6,
14 | None = 7
15 | }
16 |
17 | [MiscSetting]
18 | public EEmeraldColor EmeraldColor { get; set; }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List0B/Object0BBE_Chao.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0BBE_Chao : SetObjectShadow
4 | {
5 | public enum EChao : int
6 | {
7 | Normal = 0x00, //CHAO
8 | Cheese = 0x01 //CHEEZ
9 | }
10 |
11 | [MiscSetting]
12 | public EChao Chao { get; set; }
13 | [MiscSetting]
14 | public float MoveRadius { get; set; }
15 | [MiscSetting]
16 | public float MoveSpeed { get; set; }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List09/Object0987_RedGreenPlant.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object0987_RedGreenPlant : SetObjectHeroes
6 | {
7 | public override void CreateTransformMatrix()
8 | {
9 | transformMatrix = Matrix.Scaling(Scale) * DefaultTransformMatrix();
10 | CreateBoundingBox();
11 | }
12 |
13 | [MiscSetting]
14 | public float Scale { get; set; }
15 | [MiscSetting]
16 | public int ObjectType { get; set; }
17 | }
18 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List01/Object0180_FlowerPatch.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object0180_FlowerPatch : SetObjectHeroes
6 | {
7 | public override void CreateTransformMatrix()
8 | {
9 | transformMatrix = Matrix.Scaling(Scale) * DefaultTransformMatrix();
10 |
11 | CreateBoundingBox();
12 | }
13 |
14 | [MiscSetting]
15 | public byte ObjectType { get; set; }
16 | [MiscSetting]
17 | public float Scale { get; set; }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/ListOther/Object_IntTypeFloatScale.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object_IntTypeFloatScale : SetObjectHeroes
6 | {
7 | public override void CreateTransformMatrix()
8 | {
9 | transformMatrix = Matrix.Scaling(Scale) * DefaultTransformMatrix();
10 |
11 | CreateBoundingBox();
12 | }
13 |
14 | [MiscSetting]
15 | public int ObjectType { get; set; }
16 | [MiscSetting]
17 | public float Scale { get; set; }
18 | }
19 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List11/Object1132_ElevatorPlatformColumn.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object1132_ElevatorPlatformColumn : SetObjectShadow
4 | {
5 | //Elevator(model, distance, speed, range)
6 | [MiscSetting]
7 | public int Model { get; set; }
8 | [MiscSetting]
9 | public float TravelDistance { get; set; }
10 | [MiscSetting]
11 | public float Speed { get; set; }
12 | [MiscSetting]
13 | public float DetectRange { get; set; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List19/Object1901_CometBarrier.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object1901_CometBarrier : SetObjectShadow
6 | {
7 | public enum EBarrierType : int
8 | {
9 | Hero,
10 | Dark,
11 | Shadow
12 | }
13 |
14 | [MiscSetting, Description("Requires a Comet Barrier Switch object with same Link ID\nOtherwise no barrier is displayed")]
15 | public EBarrierType BarrierType { get; set; }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List01/Object0105_MovingRuin.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0105_MovingRuin : SetObjectHeroes
4 | {
5 | public enum ERuinType : byte
6 | {
7 | Small = 0,
8 | Normal = 1,
9 | Special = 2
10 | }
11 |
12 | [MiscSetting]
13 | public ERuinType RuinType { get; set; }
14 | [MiscSetting]
15 | public float StartY { get; set; }
16 | [MiscSetting]
17 | public float Speed { get; set; }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List17/Object1772_ConcreteDoor.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object1772_ConcreteDoor : SetObjectShadow
6 | {
7 | [MiscSetting]
8 | public float Detect_X { get; set; }
9 | [MiscSetting]
10 | public float Detect_Y { get; set; }
11 | [MiscSetting]
12 | public float Detect_Z { get; set; }
13 | [MiscSetting, Description("m/s to close\n smaller = slower")]
14 | public float CloseSpeed { get; set; }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LevelEditor/Models/Structures/Triangle.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LevelEditor
2 | {
3 | public class Triangle
4 | {
5 | public int MaterialIndex;
6 |
7 | public int vertex1;
8 | public int vertex2;
9 | public int vertex3;
10 |
11 | public int UVCoord1;
12 | public int UVCoord2;
13 | public int UVCoord3;
14 |
15 | public int Color1;
16 | public int Color2;
17 | public int Color3;
18 | }
19 |
20 | public class TriangleExt : Triangle
21 | {
22 | public RenderWareFile.Color collisionFlag;
23 | }
24 |
25 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List09/Object0999_Powder.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0999_Powder : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public float Scale { get; set; }
7 | [MiscSetting]
8 | public int ObjectType { get; set; }
9 | [MiscSetting]
10 | public int Number { get; set; }
11 | [MiscSetting]
12 | public int Time { get; set; }
13 | [MiscSetting]
14 | public float RangeR { get; set; }
15 | [MiscSetting]
16 | public float RangeY { get; set; }
17 | }
18 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List07/Object07D1_Searchlight.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object07D1_Searchlight : SetObjectShadow
4 | {
5 | // ElecSearchLight(ENEMY_ID, RotateRange, RotateSpeed, LightLength)
6 | [MiscSetting]
7 | public ENoYes SpotOnLinkID { get; set; }
8 | [MiscSetting]
9 | public float RotateRange { get; set; }
10 | [MiscSetting]
11 | public float RotateSpeed { get; set; }
12 | [MiscSetting]
13 | public float LightLength { get; set; }
14 | }
15 | }
16 |
17 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List00/Object001D_Pulley.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object001D_Pulley : SetObjectHeroes
4 | {
5 | public enum EPulleyType : short
6 | {
7 | Up = 0,
8 | Down = 1
9 | }
10 |
11 | [MiscSetting]
12 | public float Elevation { get; set; }
13 | [MiscSetting]
14 | public float ElevationAngle { get; set; }
15 | [MiscSetting]
16 | public float Power { get; set; }
17 | [MiscSetting]
18 | public EPulleyType PulleyType { get; set; }
19 | }
20 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List00/Object00_Box.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object00_Box : SetObjectHeroes
6 | {
7 | public enum ECrashMode : short
8 | {
9 | CrashOut = 0,
10 | CrashThrough = 1
11 | }
12 |
13 | [MiscSetting]
14 | public ECrashMode CrashMode { get; set; }
15 | [MiscSetting, Description("Usually 0")]
16 | public short Unknown1 { get; set; }
17 | [MiscSetting, Description("Usually 0")]
18 | public short Unknown2 { get; set; }
19 | }
20 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List07/Object07D8_LaserWallBarrier.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object07D8_LaserWallBarrier : SetObjectShadow
6 | {
7 | public enum EBarrierType
8 | {
9 | Model0,
10 | Model1,
11 | Model2
12 | }
13 | //ElecBarrier
14 |
15 | [MiscSetting, Description("Note: One sided view only, currently opposite of placement\n Move around to see model in editor")]
16 | public EBarrierType BarrierType { get; set; }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List07/Object07EB_CubePlatformCircle.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object07EB_CubePlatformCircle : SetObjectShadow
6 | {
7 | [MiscSetting, Description("This objects spawns this many cubes that orbit around Radius at CircleSpeed")]
8 | public int NumberOfCubes { get; set; }
9 |
10 | [MiscSetting, Description("m")]
11 | public float Radius { get; set; }
12 |
13 | [MiscSetting, Description("deg/sec")]
14 | public float CircleSpeed { get; set; }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List09/Object0981_Flower.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object0981_Flower : SetObjectHeroes
6 | {
7 | public override void CreateTransformMatrix()
8 | {
9 | transformMatrix = Matrix.Scaling(Scale) * DefaultTransformMatrix();
10 | CreateBoundingBox();
11 | }
12 |
13 | [MiscSetting]
14 | public float StartRange { get; set; }
15 | [MiscSetting]
16 | public float Scale { get; set; }
17 | [MiscSetting]
18 | public int ObjectType { get; set; }
19 | }
20 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List09/Object0989_Pond.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object0989_Pond : SetObjectHeroes
6 | {
7 | public override void CreateTransformMatrix()
8 | {
9 | transformMatrix = Matrix.Scaling(ScaleX, 1, ScaleZ) * DefaultTransformMatrix();
10 | CreateBoundingBox();
11 | }
12 |
13 | [MiscSetting]
14 | public int ObjectType { get; set; }
15 | [MiscSetting]
16 | public float ScaleX { get; set; }
17 | [MiscSetting]
18 | public float ScaleZ { get; set; }
19 | }
20 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List00/Object000B_DashPanel.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object000B_DashPanel : SetObjectHeroes
6 | {
7 | [MiscSetting, Description("Defaults to 5.0")]
8 | public float Speed { get; set; }
9 | [MiscSetting, Description("In frames")]
10 | public short NoControlTime { get; set; }
11 | [MiscSetting(padAfter: 8), Description("Usually 0")]
12 | public float Unknown1 { get; set; }
13 | [MiscSetting, Description("Usually 0")]
14 | public float Unknown2 { get; set; }
15 | }
16 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object0016_TargetSwitch.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0016_TargetSwitch : SetObjectShadow
4 | {
5 | [MiscSetting]
6 | public float Move_X { get; set; }
7 | [MiscSetting]
8 | public float Move_Y { get; set; }
9 | [MiscSetting]
10 | public float Move_Z { get; set; }
11 | [MiscSetting]
12 | public float MoveSpeed { get; set; }
13 | [MiscSetting]
14 | public float MoveWait { get; set; }
15 | [MiscSetting]
16 | public int NumberOfHits { get; set; }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List11/Object1188_Curtain.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object1188_Curtain : SetObjectHeroes
4 | {
5 | public enum ECurtainType : byte
6 | {
7 | Light = 0,
8 | Dark = 1,
9 | }
10 |
11 | [MiscSetting]
12 | public ECurtainType CurtainType { get; set; }
13 | [MiscSetting]
14 | public byte Pole { get; set; }
15 | [MiscSetting(underlyingType: MiscSettingUnderlyingType.Byte)]
16 | public bool IsUpsideDown { get; set; }
17 | [MiscSetting]
18 | public float Scale { get; set; }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List00/Object0024_Cage.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0024_Cage : SetObjectHeroes
4 | {
5 | public enum ECageType : int
6 | {
7 | PFixed = 0,
8 | PFlying = 1,
9 | UFixed = 2,
10 | UFlying = 3
11 | }
12 |
13 | [MiscSetting]
14 | public ECageType CageType { get; set; }
15 | [MiscSetting]
16 | public float MoveCycleSec { get; set; }
17 | [MiscSetting]
18 | public float MoveRangeH { get; set; }
19 | [MiscSetting]
20 | public float MoveRangeV { get; set; }
21 | }
22 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List05/Object0587_GiantCasinoChip.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object0587_GiantCasinoChip : SetObjectHeroes
6 | {
7 | public override void CreateTransformMatrix()
8 | {
9 | transformMatrix = Matrix.Scaling(Scale) * DefaultTransformMatrix();
10 |
11 | CreateBoundingBox();
12 | }
13 |
14 | [MiscSetting]
15 | public float Scale { get; set; }
16 | [MiscSetting]
17 | public int ObjectType { get; set; }
18 | [MiscSetting]
19 | public int Speed { get; set; }
20 | }
21 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List00/Object000C_DashRing.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object000C_DashRing : Object000B_DashPanel
6 | {
7 | public override void CreateTransformMatrix()
8 | {
9 | transformMatrix =
10 | Matrix.RotationZ(ReadWriteCommon.BAMStoRadians((int)Rotation.Z)) *
11 | Matrix.RotationX(ReadWriteCommon.BAMStoRadians((int)Rotation.X)) *
12 | Matrix.RotationY(ReadWriteCommon.BAMStoRadians((int)Rotation.Y) + MathUtil.Pi) *
13 | Matrix.Translation(Position);
14 |
15 | CreateBoundingBox();
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List17/Object17D5_BlackArmsMine.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object17D5_BlackArmsMine : SetObjectShadow
6 | {
7 | //BAMine(second)
8 |
9 | [MiscSetting]
10 | public float Translate_X { get; set; }
11 | [MiscSetting]
12 | public float Translate_Y { get; set; }
13 | [MiscSetting]
14 | public float Translate_Z { get; set; }
15 | [MiscSetting, Description("Entire time it takes to translate from origin to Translate coords and back to origin.")]
16 | public float CycleTime { get; set; }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List0B/Object0BC8_CastleMonsterControl.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0BC8_CastleMonsterControl : SetObjectShadow
4 | {
5 | public enum EState : int
6 | {
7 | Start,
8 | Miss,
9 | End
10 | }
11 |
12 | //MonsterControl
13 | [MiscSetting]
14 | public EState State { get; set; }
15 | [MiscSetting]
16 | public float X_Length { get; set; }
17 | [MiscSetting]
18 | public float Y_Length { get; set; }
19 | [MiscSetting]
20 | public float Z_Length { get; set; }
21 | }
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List05/Object0584_GiantDice.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object0584_GiantDice : SetObjectHeroes
6 | {
7 | public override void CreateTransformMatrix()
8 | {
9 | transformMatrix = Matrix.Scaling(Scale) * DefaultTransformMatrix();
10 |
11 | CreateBoundingBox();
12 | }
13 |
14 | [MiscSetting]
15 | public int ObjectType { get; set; }
16 | [MiscSetting]
17 | public int Speed { get; set; }
18 | [MiscSetting]
19 | public float Scale { get; set; }
20 | [MiscSetting]
21 | public int Block { get; set; }
22 | }
23 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List14/Object14BE_ArkGreenLaser.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object14BE_ArkGreenLaser : SetObjectShadow
6 | {
7 | //ArkLaser
8 |
9 | [MiscSetting, Description("Y-axis increase up/down half of this value, split equally")]
10 | public float Length { get; set; }
11 | [MiscSetting, Description("How long the laser runs (seconds) once active")]
12 | public float ActiveTime { get; set; }
13 | [MiscSetting, Description("How long the laser waits (seconds) before firing again")]
14 | public float RechargeTime { get; set; }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object0003_DashPanel.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object0003_DashPanel : Object0001_SpringShadow
6 | {
7 | public override void CreateTransformMatrix()
8 | {
9 | // function 800c9ed4 | RotationTemplateGen
10 | var shift = MathUtil.Pi / 180f;
11 | transformMatrix =
12 | Matrix.RotationZ(Rotation.Z * shift) *
13 | Matrix.RotationX(Rotation.X * shift) *
14 | Matrix.RotationY(Rotation.Y * shift) *
15 | Matrix.Translation(Position);
16 | CreateBoundingBox();
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/ConfigEditor/RankEditor/RankContainer.cs:
--------------------------------------------------------------------------------
1 | using Heroes.SDK.Definitions.Enums;
2 | using Heroes.SDK.Definitions.Structures.Stage.Rank;
3 |
4 | namespace HeroesPowerPlant.RankEditor
5 | {
6 | public class RankContainer
7 | {
8 | public Stage stageID;
9 | public NormalMission normalMission;
10 | public ExtraMissionScore extraMissionScore;
11 | public ExtraMissionTime extraMissionTime;
12 |
13 | public RankContainer()
14 | {
15 | stageID = Stage.Null;
16 | normalMission = new NormalMission();
17 | extraMissionScore = new ExtraMissionScore();
18 | extraMissionTime = new ExtraMissionTime();
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List00/Object0001_Spring.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 | using System.ComponentModel;
3 |
4 | namespace HeroesPowerPlant.LayoutEditor
5 | {
6 | public class Object0001_Spring : SetObjectHeroes
7 | {
8 | public override void CreateTransformMatrix()
9 | {
10 | transformMatrix = DefaultTransformMatrix(MathUtil.Pi);
11 | CreateBoundingBox();
12 | }
13 |
14 | [MiscSetting, Description("Defaults to 5.0")]
15 | public float Power { get; set; }
16 | [MiscSetting, Description("In frames")]
17 | public short NoControlTime { get; set; }
18 | [MiscSetting]
19 | public float GuideLine { get; set; }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List00/Object0019_ItemBalloon.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 | using System.ComponentModel;
3 |
4 | namespace HeroesPowerPlant.LayoutEditor
5 | {
6 | public class Object0019_ItemBalloon : SetObjectHeroes
7 | {
8 | public override void CreateTransformMatrix()
9 | {
10 | transformMatrix = Matrix.Scaling(Scale + 1f) * DefaultTransformMatrix();
11 | CreateBoundingBox();
12 | }
13 |
14 | [MiscSetting]
15 | public EItemHeroes Item { get; set; }
16 | [MiscSetting(padAfter: 4)]
17 | public float Scale { get; set; }
18 | [MiscSetting, Description("Usually 0")]
19 | public short Unknown { get; set; }
20 | }
21 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List0B/Object0BC7_CastleMonster.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object0BC7_CastleMonster : SetObjectShadow
6 | {
7 | //Monster(MIN_SPPED m/sec, MAX_SPPED m/sec, ACCEL m/sec^2, DECEL m/sec^2)
8 |
9 | [MiscSetting, Description("m/sec")]
10 | public float MinSpeed { get; set; }
11 | [MiscSetting, Description("m/sec")]
12 | public float MaxSpeed { get; set; }
13 | [MiscSetting, Description("m/sec^2")]
14 | public float Accel { get; set; }
15 | [MiscSetting, Description("m/sec^2")]
16 | public float Decel { get; set; }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List11/Object1138_JumpPanel.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object1138_JumpPanel : SetObjectShadow
4 | {
5 | //Catapult(model, level, nocontrol time (sec))
6 | [MiscSetting]
7 | public int Model { get; set; }
8 | [MiscSetting]
9 | public float Strength { get; set; }
10 | [MiscSetting]
11 | public float NoControlTimeAfterLaunch { get; set; }
12 | [MiscSetting]
13 | public float AngleX { get; set; }
14 | [MiscSetting]
15 | public float Unused_AngleY { get; set; }
16 | [MiscSetting]
17 | public float AngleZ { get; set; }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List08/Object0838_RuinsStoneGuardian.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0838_RuinsStoneGuardian : SetObjectShadow
4 | {
5 | public enum EOffOn : int
6 | {
7 | Off,
8 | On
9 | }
10 |
11 | //StoneStatue(Active{off,on},Mirror{off,on},Range_Radius m, Range_height m)
12 | [MiscSetting]
13 | public EOffOn Active { get; set; }
14 | [MiscSetting]
15 | public EOffOn Mirror { get; set; }
16 | [MiscSetting]
17 | public float DetectRadius { get; set; }
18 | [MiscSetting]
19 | public float DetectHeight { get; set; }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/Enums.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public enum EItemHeroes : byte
4 | {
5 | None = 0,
6 | Rings5 = 1,
7 | Rings10 = 2,
8 | Rings20 = 3,
9 | Barrier = 4,
10 | ExtraLife = 5,
11 | SpeedUp = 6,
12 | TeamBlast = 7,
13 | Invincibility = 8,
14 | LevelUpSpeed = 9,
15 | LevelUpFly = 10,
16 | LevelUpPower = 11,
17 | RefillFlightGauge = 12
18 | }
19 |
20 | public enum EFormation : byte
21 | {
22 | Speed = 0,
23 | Fly = 1,
24 | Power = 2
25 | }
26 |
27 | public enum EAppear : byte
28 | {
29 | Idle = 0,
30 | Fall = 1,
31 | }
32 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List0C/Object0C80_BounceBall.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0C80_BounceBall : SetObjectShadow
4 | {
5 | public enum EAppearType : int
6 | {
7 | Always,
8 | AfterLinkIDCleared
9 | }
10 |
11 | //CircusBall [Horror/Circus skins] (type, level, nocontrol time (sec), angle)
12 | [MiscSetting]
13 | public EAppearType AppearType { get; set; }
14 | [MiscSetting]
15 | public float Strength { get; set; }
16 | [MiscSetting]
17 | public float NoControlTime { get; set; }
18 | [MiscSetting]
19 | public float Angle { get; set; }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List05/Object050A_Dice.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object050A_Dice : SetObjectHeroes
4 | {
5 | public enum EDiceType : short
6 | {
7 | UpDown = 0,
8 | Horizontal = 1
9 | }
10 |
11 | [MiscSetting]
12 | public float Speed { get; set; }
13 | [MiscSetting]
14 | public float Height { get; set; }
15 | [MiscSetting]
16 | public float Radius { get; set; }
17 | [MiscSetting]
18 | public short StopTime { get; set; }
19 | [MiscSetting]
20 | public EDiceType DiceType { get; set; }
21 | [MiscSetting]
22 | public short OffsetTime { get; set; }
23 | }
24 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List00/Object000F_DashRamp.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 | using System.ComponentModel;
3 |
4 | namespace HeroesPowerPlant.LayoutEditor
5 | {
6 | public class Object000F_DashRamp : SetObjectHeroes
7 | {
8 | public override void CreateTransformMatrix()
9 | {
10 | transformMatrix = DefaultTransformMatrix(MathUtil.Pi);
11 | CreateBoundingBox();
12 | }
13 |
14 | [MiscSetting, Description("Defaults to 5.0")]
15 | public float SpeedHorizontal { get; set; }
16 | [MiscSetting, Description("Defaults to 5.0")]
17 | public float SpeedVertical { get; set; }
18 | [MiscSetting, Description("In frames")]
19 | public short NoControlTime { get; set; }
20 | }
21 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List18/Object1839_RisingLava.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object1839_RisingLava : SetObjectShadow
4 | {
5 | public enum EModel : int
6 | {
7 | Model_1,
8 | Model_2,
9 | Model_3,
10 | Model_4,
11 | Model_5,
12 | Model_6,
13 | Model_7,
14 | Model_8,
15 | Model_9
16 | }
17 |
18 | //SetMagma
19 | [MiscSetting]
20 | public EModel Model { get; set; }
21 | [MiscSetting]
22 | public float RiseAmountMax { get; set; }
23 | [MiscSetting]
24 | public float RiseAmountPerSecond { get; set; }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List25/Object2588_Decoration1.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object2588_Decoration1 : SetObjectShadow
6 | {
7 | public override void CreateTransformMatrix()
8 | {
9 | transformMatrix = Matrix.Scaling(ScaleX, ScaleY, ScaleZ) * DefaultTransformMatrix();
10 | CreateBoundingBox();
11 | }
12 |
13 | [MiscSetting]
14 | public int DecorationType { get; set; }
15 |
16 | [MiscSetting]
17 | public float ScaleX { get; set; }
18 |
19 | [MiscSetting]
20 | public float ScaleY { get; set; }
21 |
22 | [MiscSetting]
23 | public float ScaleZ { get; set; }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List11/Object1184_SmokeScreen.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object1184_SmokeScreen : SetObjectHeroes
6 | {
7 | public override void CreateTransformMatrix()
8 | {
9 | transformMatrix = IsUpsideDown ? Matrix.RotationY(MathUtil.Pi) : Matrix.Identity *
10 | DefaultTransformMatrix();
11 |
12 | CreateBoundingBox();
13 | }
14 |
15 | [MiscSetting]
16 | public int ObjectType { get; set; }
17 | [MiscSetting]
18 | public float Speed { get; set; }
19 | [MiscSetting(underlyingType: MiscSettingUnderlyingType.Byte)]
20 | public bool IsUpsideDown { get; set; }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List13/Object1392_SpaceDebris.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object1392_SpaceDebris : SetObjectShadow
4 | {
5 | public enum EModel : int
6 | {
7 | Model0,
8 | Model1,
9 | Model2,
10 | Model3,
11 | Model4,
12 | Model5
13 | }
14 |
15 | //SpaceGadget(RotDegSpdX,RotDegSpdY,RotDegSpdZ)
16 | [MiscSetting]
17 | public EModel Model { get; set; }
18 | [MiscSetting]
19 | public float RotDegSpdX { get; set; }
20 | [MiscSetting]
21 | public float RotDegSpdY { get; set; }
22 | [MiscSetting]
23 | public float RotDegSpdZ { get; set; }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List00/Object0015_SpikeBall.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object0015_SpikeBall : SetObjectHeroes
6 | {
7 | public enum ESpikeBallType : int
8 | {
9 | SingleBall = 0,
10 | DoubleBall = 1
11 | }
12 |
13 | public override void CreateTransformMatrix()
14 | {
15 | transformMatrix = Matrix.Scaling(Scale + 1f) * DefaultTransformMatrix();
16 | CreateBoundingBox();
17 | }
18 |
19 | [MiscSetting]
20 | public ESpikeBallType SpikeBallType { get; set; }
21 | [MiscSetting]
22 | public float RotateSpeed { get; set; }
23 | [MiscSetting]
24 | public float Scale { get; set; }
25 | }
26 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object004F_Vehicle.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object004F_Vehicle : SetObjectShadow
4 | {
5 | public enum EVehicle : int
6 | {
7 | None = 0x00,
8 | Jeep = 0x01,
9 | SportsCar = 0x02,
10 | ArmoredCar = 0x03,
11 | Motorcycle = 0x04,
12 | JumpMech = 0x05,
13 | ArmedMech = 0x06,
14 | AirSaucer = 0x07,
15 | BlackHawk = 0x08,
16 | BlackVolt = 0x09,
17 | GUNTurret = 0x0A,
18 | BATurret = 0x0B,
19 | GUNLiftFast = 0x0C,
20 | GUNLiftSlow = 0x0D
21 | }
22 |
23 | [MiscSetting]
24 | public EVehicle Vehicle { get; set; }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List15/Object15C0_EggBishop.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object15C0_EggBishop : SetObjectHeroes
4 | {
5 | public enum EEnemyType : byte
6 | {
7 | Bishop = 0,
8 | Magician = 1
9 | }
10 |
11 | [MiscSetting]
12 | public EEnemyType EnemyType { get; set; }
13 | [MiscSetting]
14 | public float MoveRange { get; set; }
15 | [MiscSetting]
16 | public float ScopeRange { get; set; }
17 | [MiscSetting]
18 | public float ScopeOffset { get; set; }
19 | [MiscSetting]
20 | public int AttackInterval { get; set; }
21 | [MiscSetting]
22 | public float MoveSpeed { get; set; }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List01/Object0190_Partner.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0190_Partner : SetObjectShadow
4 | {
5 | public enum EPartner : int
6 | {
7 | None = 0x00,
8 | Sonic = 0x01,
9 | Tails = 0x02,
10 | Knuckles = 0x03,
11 | Amy = 0x04,
12 | Rouge = 0x05,
13 | Omega = 0x06,
14 | Vector = 0x07,
15 | Espio = 0x08,
16 | Maria = 0x09,
17 | Charmy = 0x0A,
18 | Eggman = 0x0B,
19 | DoomsEye = 0x0C
20 | }
21 |
22 | [MiscSetting]
23 | public EPartner Partner { get; set; }
24 | [MiscSetting]
25 | public float DetectRange { get; set; }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List25/Object258A_Effect1.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object258A_Effect1 : SetObjectShadow
6 | {
7 | [MiscSetting]
8 | public int EffectType { get; set; }
9 |
10 | [MiscSetting]
11 | public float ScaleX { get; set; }
12 |
13 | [MiscSetting]
14 | public float ScaleY { get; set; }
15 |
16 | [MiscSetting]
17 | public float ScaleZ { get; set; }
18 |
19 | public override void CreateTransformMatrix()
20 | {
21 | transformMatrix = Matrix.Scaling(ScaleX, ScaleY, ScaleZ);
22 | transformMatrix *= DefaultTransformMatrix();
23 | CreateBoundingBox();
24 | }
25 | }
26 | }
27 |
28 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List00/Object0032_WarpFlower.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object0032_WarpFlower : SetObjectHeroes
6 | {
7 | public enum EFlowerType : byte
8 | {
9 | Item = 0,
10 | Scaffold = 1,
11 | Warp = 2
12 | }
13 |
14 | public override void CreateTransformMatrix()
15 | {
16 | transformMatrix = Matrix.Scaling(Scale + 1f) * DefaultTransformMatrix();
17 | CreateBoundingBox();
18 | }
19 |
20 | [MiscSetting]
21 | public EFlowerType FlowerType { get; set; }
22 | [MiscSetting]
23 | public float Scale { get; set; }
24 | [MiscSetting]
25 | public float RisingHeight { get; set; }
26 | }
27 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List00/Object0002_TripleSpring.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 | using System.ComponentModel;
3 |
4 | namespace HeroesPowerPlant.LayoutEditor
5 | {
6 | public class Object0002_TripleSpring : SetObjectHeroes
7 | {
8 | public override void CreateTransformMatrix()
9 | {
10 | transformMatrix = Matrix.Scaling(Scale + 1f, 1f, 1f) * DefaultTransformMatrix();
11 | CreateBoundingBox();
12 | }
13 |
14 | [MiscSetting, Description("Defaults to 5.0")]
15 | public float Power { get; set; }
16 | [MiscSetting, Description("In frames")]
17 | public float Scale { get; set; }
18 | [MiscSetting]
19 | public short NoControlTime { get; set; }
20 | [MiscSetting]
21 | public EItemHeroes Item { get; set; }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List0F/Object0FA4_BuildingChunk.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object0FA4_BuildingChunk : SetObjectShadow
6 | {
7 | //CityGadget(Type,ScaleX,ScaleY,ScaleZ)
8 | [MiscSetting]
9 | public int Model { get; set; }
10 | [MiscSetting]
11 | public float ScaleX { get; set; }
12 | [MiscSetting]
13 | public float ScaleY { get; set; }
14 | [MiscSetting]
15 | public float ScaleZ { get; set; }
16 |
17 | public override void CreateTransformMatrix()
18 | {
19 | transformMatrix = Matrix.Scaling(ScaleX, ScaleY, ScaleZ) *
20 | DefaultTransformMatrix();
21 | CreateBoundingBox();
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List03/Object0306_AirCar.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0306_AirCar : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public byte FarType { get; set; }
7 | [MiscSetting]
8 | public byte BlockType { get; set; }
9 | [MiscSetting]
10 | public byte CrossWize { get; set; }
11 | [MiscSetting]
12 | public byte LengthWize { get; set; }
13 | [MiscSetting]
14 | public short Time { get; set; }
15 | [MiscSetting]
16 | public short TimeRnd { get; set; }
17 | [MiscSetting]
18 | public float Length { get; set; }
19 | [MiscSetting]
20 | public float Speed { get; set; }
21 | [MiscSetting]
22 | public float SpeedRnd { get; set; }
23 | }
24 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/CollisionEditor/QuadNode.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 | using System;
3 |
4 | namespace HeroesPowerPlant.CollisionEditor
5 | {
6 | public class QuadNode
7 | {
8 | public UInt16 Index;
9 | public UInt16 Parent;
10 | public UInt16 Child;
11 | public UInt16 NodeTriangleAmount;
12 | public UInt32 TriListOffset;
13 | public UInt16 PosValueX;
14 | public UInt16 PosValueZ;
15 |
16 | public byte Depth;
17 | public UInt16[] NodeTriangleArray;
18 |
19 | public RectangleF NodeSquare;
20 |
21 | public override string ToString()
22 | {
23 | return "Nd. " + Index.ToString() + ", Pr. " + Parent.ToString() + ", Ch. " + Child.ToString() + ", Am. " + NodeTriangleAmount.ToString() + ", D. " + Depth.ToString();
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List10/Object1069_FleetHolderEggmanBattleship.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object1069_FleetHolderEggmanBattleship : SetObjectShadow
4 | {
5 | public enum EggFleetType : int
6 | {
7 | BATTLE,
8 | MOTHER
9 | }
10 |
11 | [MiscSetting]
12 | public EggFleetType ShipType { get; set; }
13 | [MiscSetting]
14 | public float RangeRadius { get; set; }
15 | [MiscSetting]
16 | public float RangeHeight { get; set; }
17 | [MiscSetting]
18 | public float MoveLength { get; set; }
19 | [MiscSetting]
20 | public float MoveSpeed { get; set; }
21 | [MiscSetting]
22 | public float FireTiming { get; set; }
23 | }
24 | }
25 |
26 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List09/Object090B_IvyJump.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object090B_IvyJump : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public float Target1X { get; set; }
7 | [MiscSetting]
8 | public float Target1Y { get; set; }
9 | [MiscSetting]
10 | public float Target1Z { get; set; }
11 | [MiscSetting]
12 | public float Target2X { get; set; }
13 | [MiscSetting]
14 | public float Target2Y { get; set; }
15 | [MiscSetting]
16 | public float Target2Z { get; set; }
17 | [MiscSetting]
18 | public short KazariType { get; set; }
19 | [MiscSetting]
20 | public short Dammy { get; set; }
21 | [MiscSetting]
22 | public short NoControlTime { get; set; }
23 | }
24 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object000B_UnbreakableBox.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object000B_UnbreakableBox : SetObjectShadow
6 | {
7 | public override void CreateTransformMatrix()
8 | {
9 | // function 800c9ed4 | RotationTemplateGen
10 | var shift = MathUtil.Pi / 180f;
11 | transformMatrix =
12 | Matrix.RotationZ(Rotation.Z * shift) *
13 | Matrix.RotationX(Rotation.X * shift) *
14 | Matrix.RotationY(Rotation.Y * shift) *
15 | Matrix.Translation(Position.X, Position.Y + 10f, Position.Z);
16 | CreateBoundingBox();
17 | }
18 |
19 | [MiscSetting]
20 | public EBoxType BoxType { get; set; }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List11/Object1137_StretchGrass.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object1137_StretchGrass : SetObjectShadow
6 | {
7 | //SetStretchGrass(level, angle, length, charge, NOBI_KUSA)
8 | //HPP name: Slingshot Plant
9 | [MiscSetting]
10 | public float Strength { get; set; }
11 | [MiscSetting]
12 | public float Angle { get; set; }
13 | [MiscSetting]
14 | public float NoControlTimeAfterLaunch { get; set; }
15 | [MiscSetting, Description("How far back the sling stretches")]
16 | public float Length { get; set; }
17 | [MiscSetting, Description("Time to wait after fully pulled back Length amount before launch")]
18 | public float Charge { get; set; }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List00/Object0005_Switch.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0005_Switch : SetObjectHeroes
4 | {
5 | public enum ESwitchType : byte
6 | {
7 | Alternate = 0,
8 | Touch = 1,
9 | Once = 2,
10 | Interlock = 3
11 | }
12 |
13 | public enum ESound : byte
14 | {
15 | Pi = 0,
16 | Pipori = 1
17 | }
18 |
19 | [MiscSetting]
20 | public ESwitchType SwitchType { get; set; }
21 | [MiscSetting(underlyingType: MiscSettingUnderlyingType.Byte)]
22 | public bool Hidden { get; set; }
23 | [MiscSetting]
24 | public byte LinkIDforHidden { get; set; }
25 | [MiscSetting]
26 | public ESound Sound { get; set; }
27 | }
28 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/ListOther/Object_XYZScale.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object_XYZScale : SetObjectHeroes
6 | {
7 | private readonly float scaleAdd;
8 |
9 | public Object_XYZScale(float scaleAdd)
10 | {
11 | this.scaleAdd = scaleAdd;
12 | }
13 |
14 | public override void CreateTransformMatrix()
15 | {
16 | transformMatrix = Matrix.Scaling(ScaleX + scaleAdd, ScaleY + scaleAdd, ScaleZ + scaleAdd)
17 | * DefaultTransformMatrix();
18 |
19 | CreateBoundingBox();
20 | }
21 |
22 | [MiscSetting]
23 | public float ScaleX { get; set; }
24 | [MiscSetting]
25 | public float ScaleY { get; set; }
26 | [MiscSetting]
27 | public float ScaleZ { get; set; }
28 | }
29 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/Resources/SharpDX/Shader_Default.hlsl:
--------------------------------------------------------------------------------
1 |
2 | cbuffer data :register(b0)
3 | {
4 | float4x4 worldViewProj;
5 | };
6 |
7 | struct VS_IN
8 | {
9 | float4 position : POSITION;
10 | float4 color : COLOR;
11 | float2 texcoord : TEXCOORD;
12 | };
13 |
14 | struct PS_IN
15 | {
16 | float4 position : SV_POSITION;
17 | float4 color : COLOR;
18 | float2 texcoord : TEXCOORD;
19 | };
20 |
21 | //texture
22 | Texture2D textureMap;
23 | SamplerState textureSampler
24 | {
25 | Filter = ANISOTROPIC;
26 | AddressU = Wrap;
27 | AddressV = Wrap;
28 | };
29 |
30 | PS_IN VS(VS_IN input)
31 | {
32 | PS_IN output = (PS_IN)0;
33 |
34 | output.position = mul(worldViewProj, input.position);
35 | output.texcoord = input.texcoord;
36 | output.color = input.color;
37 |
38 | return output;
39 | }
40 |
41 | float4 PS(PS_IN input) : SV_Target
42 | {
43 | return textureMap.Sample(textureSampler, input.texcoord) * input.color;
44 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/CollisionEditor/CollisionVertex.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 | using System.Collections.Generic;
3 |
4 | namespace HeroesPowerPlant.CollisionEditor
5 | {
6 | public class CollisionVertex
7 | {
8 | public Vector3 Position;
9 | public List NormalList;
10 | public Color Color;
11 | public bool ColorInitialized = false;
12 |
13 | public CollisionVertex(float x, float y, float z)
14 | {
15 | Position = new Vector3(x, y, z);
16 | NormalList = new List(3);
17 | Color = Color.White;
18 | }
19 |
20 | public Vector3 CalculateNormals()
21 | {
22 | Vector3 Totals = new Vector3();
23 | foreach (Vector3 j in NormalList)
24 | Totals += j;
25 | Totals.Normalize();
26 |
27 | return Totals;
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List09/Object0908_RainFruit.cs:
--------------------------------------------------------------------------------
1 |
2 | namespace HeroesPowerPlant.LayoutEditor
3 | {
4 | public class Object0908_RainFruit : SetObjectHeroes
5 | {
6 | [MiscSetting(1)]
7 | public float Range { get; set; }
8 | [MiscSetting(2)]
9 | public float Power { get; set; }
10 | [MiscSetting(3)]
11 | public short NoControlTime { get; set; }
12 | [MiscSetting(4)]
13 | public short ObjectType { get; set; }
14 | [MiscSetting(5)]
15 | public int UnknownInt { get; set; }
16 | [MiscSetting(6)]
17 | public float UnknownFloat1 { get; set; }
18 | [MiscSetting(7)]
19 | public float UnknownFloat2 { get; set; }
20 | [MiscSetting(8)]
21 | public short UnknownShort1 { get; set; }
22 | [MiscSetting(9)]
23 | public short UnknownShort2 { get; set; }
24 | }
25 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object0007_Case.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object0007_Case : SetObjectShadow
6 | {
7 | public enum ECaseType : int
8 | {
9 | BlackArms,
10 | GUN
11 | }
12 |
13 | [MiscSetting]
14 | public ECaseType CaseType { get; set; }
15 | [MiscSetting]
16 | public float ScaleX { get; set; }
17 | [MiscSetting]
18 | public float ScaleY { get; set; }
19 | [MiscSetting]
20 | public float ScaleZ { get; set; }
21 |
22 | public override void CreateTransformMatrix()
23 | {
24 | transformMatrix = Matrix.Scaling(ScaleX, ScaleY, ScaleZ) *
25 | DefaultTransformMatrix();
26 | CreateBoundingBox();
27 | }
28 | }
29 | }
30 |
31 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List09/Object0900_Frog.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0900_Frog : SetObjectHeroes
4 | {
5 | [MiscSetting(1)]
6 | public float JumpDirX { get; set; }
7 | [MiscSetting(2)]
8 | public float JumpDirY { get; set; }
9 | [MiscSetting(3)]
10 | public float JumpDirZ { get; set; }
11 | [MiscSetting(4)]
12 | public float Radius { get; set; }
13 | [MiscSetting(5)]
14 | public float Scale { get; set; }
15 | [MiscSetting(6)]
16 | public float JumpCycle { get; set; }
17 | [MiscSetting(7)]
18 | public short StopTimeSec { get; set; }
19 | [MiscSetting(8)]
20 | public short LeaveTimeSec { get; set; }
21 | [MiscSetting(9, underlyingType: MiscSettingUnderlyingType.Byte)]
22 | public bool IsBlack { get; set; }
23 | }
24 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object0001_SpringShadow.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object0001_SpringShadow : SetObjectShadow
6 | {
7 | public override void CreateTransformMatrix()
8 | {
9 | // function 800c9ed4 | RotationTemplateGen
10 | var shift = MathUtil.Pi / 180f;
11 | transformMatrix =
12 | Matrix.RotationY(0f) * // Spring only uses Y for launchDirection, no model rotation
13 | Matrix.RotationZ(Rotation.Z * shift) *
14 | Matrix.RotationX(Rotation.X * shift) *
15 | Matrix.Translation(Position);
16 | CreateBoundingBox();
17 | }
18 |
19 | [MiscSetting]
20 | public float Strength { get; set; }
21 | [MiscSetting]
22 | public float NoControlTime { get; set; }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object000C_WeaponBox.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object000C_WeaponBox : SetObjectShadow
6 | {
7 | public override void CreateTransformMatrix()
8 | {
9 | // function 800c9ed4 | RotationTemplateGen
10 | var shift = MathUtil.Pi / 180f;
11 | transformMatrix =
12 | Matrix.RotationZ(Rotation.Z * shift) *
13 | Matrix.RotationX(Rotation.X * shift) *
14 | Matrix.RotationY(Rotation.Y * shift) *
15 | Matrix.Translation(Position.X, Position.Y + 10f, Position.Z);
16 | CreateBoundingBox();
17 | }
18 |
19 | [MiscSetting]
20 | public EBoxType BoxType { get; set; }
21 | [MiscSetting]
22 | public EWeapon Weapon { get; set; }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List0C/Object0C88_Zipline.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object0C88_Zipline : SetObjectShadow
6 | {
7 | //Coaster(PATH_NO, MOVE_SPPED m/sec, LAUNCH_SPD m/sec, LAUNCH_ANG deg, LAUNCH_NO_CTRL_TIME sec)
8 |
9 | [MiscSetting, Description("PATH/SplineID to follow when the player grabs object")]
10 | public int SplineID { get; set; }
11 |
12 | [MiscSetting, Description("m/sec")]
13 | public float MoveSpeed { get; set; }
14 |
15 | [MiscSetting, Description("m/sec")]
16 | public float LaunchSpeed { get; set; }
17 |
18 | [MiscSetting, Description("deg")]
19 | public float LaunchAngle { get; set; }
20 |
21 | [MiscSetting, Description("sec")]
22 | public float LaunchNoControlTime { get; set; }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/Resources/Models/Pyramid.obj:
--------------------------------------------------------------------------------
1 | # 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware
2 | # File Created: 07.05.2018 03:03:25
3 |
4 | mtllib Pyramid.mtl
5 |
6 | #
7 | # object Pyramid001
8 | #
9 |
10 | v -0.5000 -0.5000 -0.5000
11 | v 0.5000 -0.5000 -0.5000
12 | v 0.0000 -0.0000 0.5000
13 | v 0.5000 0.5000 -0.5000
14 | v -0.5000 0.5000 -0.5000
15 | # 5 vertices
16 |
17 | vn 0.0000 -1.0000 -0.0000
18 | vn 0.0000 1.0000 -0.0000
19 | vn 1.0000 0.0000 -0.0000
20 | vn 0.0000 0.0000 -1.0000
21 | vn -1.0000 0.0000 -0.0000
22 | # 5 vertex normals
23 |
24 | vt 1.0000 1.0000 0.0000
25 | vt 0.0000 1.0000 0.0000
26 | vt 2.0000 2.0000 0.0000
27 | # 3 texture coords
28 |
29 | g Pyramid001
30 | usemtl wire_008110135
31 | s 2
32 | f 1/1/1 2/2/1 3/3/1
33 | s 4
34 | f 3/3/2 4/1/2 5/2/2
35 | s 16
36 | f 2/3/3 4/1/3 3/3/3
37 | s 32
38 | f 1/3/4 5/1/4 4/2/4
39 | f 4/2/4 2/3/4 1/3/4
40 | s 64
41 | f 5/2/5 1/3/5 3/3/5
42 | # 6 faces
43 |
44 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/Resources/SharpDX/Shader_Tinted.hlsl:
--------------------------------------------------------------------------------
1 | cbuffer data :register(b0)
2 | {
3 | float4x4 worldViewProj;
4 | float4 color;
5 | };
6 |
7 | struct VS_IN
8 | {
9 | float4 position : POSITION;
10 | float4 color : COLOR;
11 | float2 texcoord : TEXCOORD;
12 | };
13 |
14 | struct PS_IN
15 | {
16 | float4 position : SV_POSITION;
17 | float4 color : COLOR;
18 | float2 texcoord : TEXCOORD;
19 | };
20 |
21 | //texture
22 | Texture2D textureMap;
23 | SamplerState textureSampler
24 | {
25 | Filter = ANISOTROPIC;
26 | AddressU = Wrap;
27 | AddressV = Wrap;
28 | };
29 |
30 | PS_IN VS(VS_IN input)
31 | {
32 | PS_IN output = (PS_IN)0;
33 |
34 | output.position = mul(worldViewProj, input.position);
35 | output.texcoord = input.texcoord;
36 | output.color = input.color * color;
37 |
38 | return output;
39 | }
40 |
41 | float4 PS(PS_IN input) : SV_Target
42 | {
43 | return textureMap.Sample(textureSampler, input.texcoord) * input.color;
44 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List02/Object0206_ScrollBalloon.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0206_ScrollBalloon : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public EItemHeroes Item { get; set; }
7 | [MiscSetting]
8 | public float Scale { get; set; }
9 | [MiscSetting]
10 | public float Speed { get; set; }
11 | [MiscSetting]
12 | public float EndX { get; set; }
13 | [MiscSetting]
14 | public float EndY { get; set; }
15 | [MiscSetting]
16 | public float EndZ { get; set; }
17 | [MiscSetting]
18 | public short InvokeOffX { get; set; }
19 | [MiscSetting]
20 | public short InvokeOffY { get; set; }
21 | [MiscSetting]
22 | public short InvokeOffZ { get; set; }
23 | [MiscSetting]
24 | public short InvokeSize { get; set; }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object0004_DashRamp.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object0004_DashRamp : SetObjectShadow
6 | {
7 | public override void CreateTransformMatrix()
8 | {
9 | // function 800c9ed4 | RotationTemplateGen
10 | var shift = MathUtil.Pi / 180f;
11 | transformMatrix =
12 | Matrix.RotationZ(Rotation.Z * shift) *
13 | Matrix.RotationX(Rotation.X * shift) *
14 | Matrix.RotationY(Rotation.Y * shift) *
15 | Matrix.Translation(Position);
16 | CreateBoundingBox();
17 | }
18 |
19 | [MiscSetting]
20 | public float Strength { get; set; }
21 | [MiscSetting]
22 | public float Height { get; set; }
23 | [MiscSetting]
24 | public float NoControlTime { get; set; }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List00/Object0029_Pole.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0029_Pole : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public short Length { get; set; }
7 | [MiscSetting]
8 | public short Range { get; set; }
9 | [MiscSetting]
10 | public short StartOffset { get; set; }
11 | [MiscSetting]
12 | public short EndOffset { get; set; }
13 | [MiscSetting]
14 | public float ReleaseElevation { get; set; }
15 | [MiscSetting]
16 | public float ReleaseAzimuth { get; set; }
17 | [MiscSetting]
18 | public float ReleasePower { get; set; }
19 | [MiscSetting]
20 | public byte UseReference { get; set; }
21 | [MiscSetting]
22 | public byte ReferenceID { get; set; }
23 | [MiscSetting]
24 | public short NoControlTime { get; set; }
25 | }
26 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object0013_Balloon.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0013_Balloon : SetObjectShadow
4 | {
5 | public enum EBalloonType : int
6 | {
7 | TranslationOnceAndDisappear,
8 | TranslationLoop,
9 | Orbit
10 | }
11 |
12 | [MiscSetting]
13 | public EBalloonType BalloonType { get; set; }
14 | [MiscSetting]
15 | public EItemShadow Item { get; set; }
16 | [MiscSetting]
17 | public float SpeedDampAmount { get; set; }
18 | [MiscSetting]
19 | public float OrbitDistance { get; set; }
20 | [MiscSetting]
21 | public float TranslationX { get; set; }
22 | [MiscSetting]
23 | public float TranslationY { get; set; }
24 | [MiscSetting]
25 | public float TranslationZ { get; set; }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List15/Object15D0_E2000.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object15D0_E2000 : SetObjectHeroes
4 | {
5 | public enum EEnemyType : byte
6 | {
7 | Normal = 0,
8 | Special = 1
9 | }
10 |
11 | [MiscSetting]
12 | public EEnemyType EnemyType { get; set; }
13 | [MiscSetting]
14 | public EAppear Appear { get; set; }
15 | [MiscSetting]
16 | public float MoveRange { get; set; }
17 | [MiscSetting]
18 | public float ScopeRange { get; set; }
19 | [MiscSetting]
20 | public float ScopeOffset { get; set; }
21 | [MiscSetting]
22 | public int AttackInterval { get; set; }
23 | [MiscSetting]
24 | public int AttackFrame { get; set; }
25 | [MiscSetting]
26 | public float Distance { get; set; }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object003A_SpecialWeaponBox.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 | using System.ComponentModel;
3 |
4 | namespace HeroesPowerPlant.LayoutEditor
5 | {
6 | public class Object003A_SpecialWeaponBox : SetObjectShadow
7 | {
8 | public override void CreateTransformMatrix()
9 | {
10 | // function 800c9ed4 | RotationTemplateGen
11 | var shift = MathUtil.Pi / 180f;
12 | transformMatrix =
13 | Matrix.RotationZ(Rotation.Z * shift) *
14 | Matrix.RotationX(Rotation.X * shift) *
15 | Matrix.RotationY(Rotation.Y * shift) *
16 | Matrix.Translation(Position.X, Position.Y + 10f, Position.Z);
17 | CreateBoundingBox();
18 | }
19 |
20 | [MiscSetting, Description("Weapon to use if special weapons not unlocked")]
21 | public EWeapon Weapon { get; set; }
22 | }
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List11/Object1105_Ghost.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object1105_Ghost : SetObjectHeroes
6 | {
7 | public enum EGhostType : int
8 | {
9 | NoMove = 0,
10 | Line = 1,
11 | Circle = 2
12 | }
13 |
14 | public override void CreateTransformMatrix()
15 | {
16 | transformMatrix = Matrix.Scaling(Scale + 1f) * DefaultTransformMatrix();
17 |
18 | CreateBoundingBox();
19 | }
20 |
21 | [MiscSetting]
22 | public EGhostType GhostType { get; set; }
23 | [MiscSetting]
24 | public float Range { get; set; }
25 | [MiscSetting]
26 | public float MovingArea { get; set; }
27 | [MiscSetting]
28 | public float Speed { get; set; }
29 | [MiscSetting]
30 | public float Scale { get; set; }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List11/Object118B_Grass.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using SharpDX;
3 |
4 | namespace HeroesPowerPlant.LayoutEditor
5 | {
6 | public class Object118B_Grass : SetObjectHeroes
7 | {
8 | public enum ELightType : int
9 | {
10 | Light,
11 | Dark
12 | }
13 |
14 | public override void CreateTransformMatrix()
15 | {
16 | transformMatrix = Matrix.Scaling(Scale + 1f) * Matrix.RotationX(Convert.ToSingle(IsUpsideDown) * (float)Math.PI) * DefaultTransformMatrix();
17 | CreateBoundingBox();
18 | }
19 |
20 | [MiscSetting(1, underlyingType: MiscSettingUnderlyingType.Byte)]
21 | public ELightType LightType { get; set; }
22 | [MiscSetting(2, underlyingType: MiscSettingUnderlyingType.Byte)]
23 | public bool IsUpsideDown { get; set; }
24 | [MiscSetting(3)]
25 | public float Scale { get; set; }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List11/Object118D_Mask.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using SharpDX;
3 |
4 | namespace HeroesPowerPlant.LayoutEditor
5 | {
6 | public class Object118D_Mask : SetObjectHeroes
7 | {
8 | public enum ELightType : int
9 | {
10 | Light,
11 | Dark
12 | }
13 |
14 | public override void CreateTransformMatrix()
15 | {
16 | transformMatrix = Matrix.Scaling(Scale + 1f) * Matrix.RotationX(Convert.ToSingle(IsUpsideDown) * (float)Math.PI) * DefaultTransformMatrix();
17 | CreateBoundingBox();
18 | }
19 |
20 | [MiscSetting(1)]
21 | public ELightType LightType { get; set; }
22 | [MiscSetting(2)]
23 | public float Scale { get; set; }
24 | [MiscSetting(3)]
25 | public float SwingSpeed { get; set; }
26 | [MiscSetting(4, underlyingType: MiscSettingUnderlyingType.Byte)]
27 | public bool IsUpsideDown { get; set; }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List00/Object000D_BigRings.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 | using System.ComponentModel;
3 |
4 | namespace HeroesPowerPlant.LayoutEditor
5 | {
6 | public class Object000D_BigRings : SetObjectHeroes
7 | {
8 | public enum EType : short
9 | {
10 | Speed = 0,
11 | FlyA = 1,
12 | FlyB = 2,
13 | PowerS = 3,
14 | PowerL = 4
15 | }
16 |
17 | public override void CreateTransformMatrix()
18 | {
19 | transformMatrix = DefaultTransformMatrix(MathUtil.Pi);
20 | CreateBoundingBox();
21 | }
22 |
23 | [MiscSetting]
24 | public EType RingsType { get; set; }
25 | [MiscSetting, Description("In frames")]
26 | public short AdditionalControlTime { get; set; }
27 | [MiscSetting, Description("Defaults to 5.0")]
28 | public float Speed { get; set; }
29 | [MiscSetting]
30 | public float Offset { get; set; }
31 | }
32 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List00/Object002E_Fan.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object002E_Fan : SetObjectHeroes
4 | {
5 | public enum EFanMode : byte
6 | {
7 | Normal = 0,
8 | Switchable = 1,
9 | Normal2 = 2,
10 | Switchable2 = 3
11 | }
12 |
13 | [MiscSetting]
14 | public float Scale { get; set; }
15 | [MiscSetting]
16 | public float HeightTriangleDive { get; set; }
17 | [MiscSetting]
18 | public float HeightDefault { get; set; }
19 | [MiscSetting]
20 | public float Power { get; set; }
21 | [MiscSetting]
22 | public EFanMode Mode { get; set; }
23 | [MiscSetting]
24 | public byte LinkID { get; set; }
25 | [MiscSetting]
26 | public float WindScale { get; set; }
27 | [MiscSetting(underlyingType: MiscSettingUnderlyingType.Byte)]
28 | public bool IsInvisible { get; set; }
29 | }
30 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/ShadowCameraEditor/ShadowCameraFileHeader.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.ShadowCameraEditor
2 | {
3 | /* HEADER : SIZE=0x18
4 | 0x0 = magic
5 | 0x4 = magic
6 | 0x8 = stageId int
7 | 0xC =
8 | 0x10 =
9 | 0x14 = NumberOfCameras int
10 | */
11 | public class ShadowCameraFileHeader
12 | {
13 | public int magic_00;
14 | public int magic_04;
15 | public int stageId;
16 | public int unknown_0C;
17 | public int unknown_10;
18 | public int numberOfCameras;
19 |
20 | public ShadowCameraFileHeader(int magic_00, int magic_04, int stageId, int unknown_0C, int unknown_10, int numberOfCameras)
21 | {
22 | this.magic_00 = magic_00;
23 | this.magic_04 = magic_04;
24 | this.stageId = stageId;
25 | this.unknown_0C = unknown_0C;
26 | this.unknown_10 = unknown_10;
27 | this.numberOfCameras = numberOfCameras;
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/CollisionEditor/CLFile.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace HeroesPowerPlant.CollisionEditor
5 | {
6 | public class CLFile
7 | {
8 | public UInt32 numBytes;
9 | public UInt32 pointQuadtree;
10 | public UInt32 pointTriangle;
11 | public UInt32 pointVertex;
12 | public float quadCenterX;
13 | public float quadCenterY;
14 | public float quadCenterZ;
15 | public float quadLength;
16 | public UInt16 basePower;
17 | public UInt16 numTriangles;
18 | public UInt16 numVertices;
19 | public UInt16 numQuadnodes;
20 |
21 | public List CLQuadNodeList = new List();
22 | public Triangle[] CLTriangleArray;
23 | public VertexColoredNormalized[] CLVertexArray;
24 | public byte MaxDepth;
25 |
26 | public CLFile(byte MaxDepth)
27 | {
28 | this.MaxDepth = MaxDepth;
29 | }
30 |
31 | public List MeshTypeList;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List15/Object1540_EggHammer.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object1540_EggHammer : SetObjectHeroes
4 | {
5 | public enum EEnemyType : byte
6 | {
7 | Normal = 0,
8 | Helmet = 1
9 | }
10 |
11 | [MiscSetting]
12 | public EEnemyType EnemyType { get; set; }
13 | [MiscSetting]
14 | public EAppear Appear { get; set; }
15 | [MiscSetting]
16 | public float MoveSpeed { get; set; }
17 | [MiscSetting]
18 | public float MoveRange { get; set; }
19 | [MiscSetting]
20 | public float ScopeRange { get; set; }
21 | [MiscSetting]
22 | public float ScopeOffset { get; set; }
23 | [MiscSetting]
24 | public int AttackInterval { get; set; }
25 | [MiscSetting]
26 | public float WeaponSpeed { get; set; }
27 | [MiscSetting]
28 | public float FallDistance { get; set; }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List03/Object03EA_CityLaser.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object03EA_CityLaser : SetObjectShadow
6 | {
7 | [MiscSetting]
8 | public EYesNo HurtPlayer { get; set; }
9 | [MiscSetting]
10 | public float DetectRadius { get; set; }
11 | [MiscSetting]
12 | public float Delay { get; set; }
13 |
14 | public override void Draw(SharpRenderer renderer)
15 | {
16 | base.Draw(renderer);
17 | if (isSelected)
18 | renderer.DrawSphereTrigger(CreateTriggerTransformMatrix(), isSelected, new Color4(1f, 0.75f, 0.79f, 0.5f));
19 | }
20 |
21 | private Matrix CreateTriggerTransformMatrix()
22 | {
23 | Matrix triggerTransformMatrix = Matrix.Scaling(DetectRadius * 15);
24 | triggerTransformMatrix *= DefaultTransformMatrix();
25 | return triggerTransformMatrix;
26 | }
27 | }
28 | }
29 |
30 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/Shared/RemoteControl.cs:
--------------------------------------------------------------------------------
1 | using HeroesPowerPlant.RemoteControl.Shared;
2 | using System;
3 | using System.Diagnostics;
4 |
5 | namespace HeroesPowerPlant.Shared
6 | {
7 | public static class RemoteControl
8 | {
9 | private static Client Client;
10 |
11 | ///
12 | /// Forces the game to reload collision.
13 | ///
14 | public static void LoadCollision(string fileNameWithoutExtension)
15 | {
16 | if (TryConnectToGame())
17 | Client.LoadCollision(fileNameWithoutExtension, 1000);
18 | }
19 |
20 | private static bool TryConnectToGame()
21 | {
22 | try
23 | {
24 | if (Client == null || !Client.IsConnected())
25 | Client = new Client(Process.GetProcessesByName("tsonic_win")[0]);
26 |
27 | return true;
28 | }
29 | catch (Exception)
30 | {
31 | return false;
32 | }
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/SetObjectHeroes.cs:
--------------------------------------------------------------------------------
1 | using HeroesPowerPlant.Shared.Utilities;
2 | using SharpDX;
3 | using System.IO;
4 |
5 | namespace HeroesPowerPlant.LayoutEditor
6 | {
7 | public class SetObjectHeroes : SetObject
8 | {
9 | public override void SetMiscSettings(byte[] miscSettings)
10 | {
11 | using var reader = new EndianBinaryReader(new MemoryStream(miscSettings), Endianness.Big);
12 | ReadMiscSettings(reader);
13 | }
14 |
15 | public override void CreateTransformMatrix()
16 | {
17 | transformMatrix = DefaultTransformMatrix();
18 | CreateBoundingBox();
19 | }
20 |
21 | public Matrix DefaultTransformMatrix(float yAdd = 0) =>
22 | Matrix.RotationY(ReadWriteCommon.BAMStoRadians((int)Rotation.Y) + yAdd) *
23 | Matrix.RotationX(ReadWriteCommon.BAMStoRadians((int)Rotation.X)) *
24 | Matrix.RotationZ(ReadWriteCommon.BAMStoRadians((int)Rotation.Z)) *
25 | Matrix.Translation(Position);
26 | }
27 | }
28 |
29 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List07/Object07DF_LightspeedFirewall.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 | using System.ComponentModel;
3 |
4 | namespace HeroesPowerPlant.LayoutEditor
5 | {
6 | public class Object07DF_LightspeedFirewall : SetObjectShadow
7 | {
8 | //ElecFireWall(SearchRange, InitialY)
9 |
10 | [MiscSetting]
11 | public float Scale_X { get; set; }
12 | [MiscSetting]
13 | public float Scale_Y { get; set; }
14 | [MiscSetting]
15 | public float Scale_Z { get; set; }
16 | [MiscSetting]
17 | public float SearchRange { get; set; }
18 | [MiscSetting, Description("Move object starting point/appearance on the Y axis this amount.\n Animates to original position on detect")]
19 | public float Initial_Y { get; set; }
20 |
21 | public override void CreateTransformMatrix()
22 | {
23 | transformMatrix = Matrix.Scaling(Scale_X, Scale_Y, Scale_Z);
24 | transformMatrix *= DefaultTransformMatrix();
25 | CreateBoundingBox();
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List18/Object189E_ARKDriftingPlat1.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object189E_ARKDriftingPlat1 : SetObjectShadow
4 | {
5 | public enum EType : int
6 | {
7 | Burst,
8 | Hover
9 | }
10 |
11 | //FootingBreak(Type{Burst,Hover}, WaitSec, HoverLength point, HoverSec, MoveLengthX point, MoveLengthY point, MoveLengthZ point, MoveSec)
12 | [MiscSetting]
13 | public EType PlatformType { get; set; }
14 | [MiscSetting]
15 | public float ExplosionDelay { get; set; }
16 | [MiscSetting]
17 | public float HoverLength { get; set; }
18 | [MiscSetting]
19 | public float HoverSec { get; set; }
20 | [MiscSetting]
21 | public float TranslationX { get; set; }
22 | [MiscSetting]
23 | public float TranslationY { get; set; }
24 | [MiscSetting]
25 | public float TranslationZ { get; set; }
26 | [MiscSetting]
27 | public float TravelTime { get; set; }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectEntry.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class ObjectEntry
4 | {
5 | public byte List;
6 | public byte Type;
7 | public string Name;
8 | public string DebugName;
9 | public string ModelMiscSetting;
10 | public string[][] ModelNames;
11 | public bool HasMiscSettings;
12 |
13 | public static bool AlternateFormat = false;
14 | public static bool UseDebugNames = false;
15 |
16 | private string ToStringFormat => AlternateFormat ? "{2} [{1, 2:X2}][{0, 2:X2}]" : "{0, 2:X2} {1, 2:X2} {2}";
17 |
18 | public string GetName()
19 | {
20 | if (!(UseDebugNames || string.IsNullOrEmpty(Name)) || (UseDebugNames && string.IsNullOrEmpty(DebugName)))
21 | return Name;
22 | if (!string.IsNullOrEmpty(DebugName))
23 | return DebugName;
24 | return "Unknown/Unused";
25 | }
26 |
27 | public override string ToString() => string.Format(ToStringFormat, List, Type, GetName());
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List25/Object2593_SetGenerator.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object2593_SetGenerator : SetObjectShadow
6 | {
7 | // AKA EnemySpawner
8 | //SetGenerator(ComId, delay, scoreId)
9 |
10 | [MiscSetting, Description("Set an enemy to have a LinkID, then reference that LinkID to select that enemy.")]
11 | public int EnemyToSpawnLinkID { get; set; }
12 |
13 | [MiscSetting, Description("LinkID to watch for to start spawning enemies. Often activated by Trigger [00 50] of type LinkIDTrigger.")]
14 | public int LinkIDToStart { get; set; }
15 |
16 | [MiscSetting, Description("0 is unlimited, Set to cap number of respawns")]
17 | public int NumberOfTimesToRespawn { get; set; }
18 |
19 | [MiscSetting]
20 | public float WaitTimeUntilNextRespawn { get; set; }
21 |
22 | [MiscSetting, Description("Purpose unknown, name from DOL params for this object")]
23 | public int ScoreId { get; set; }
24 | }
25 | }
26 |
27 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List00/Object0010_Cannon.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0010_Cannon : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public short SpeedElevation { get; set; }
7 | [MiscSetting]
8 | public short SpeedAzimuth { get; set; }
9 | [MiscSetting]
10 | public short SpeedNoControlTime { get; set; }
11 | [MiscSetting]
12 | public short SpeedPower { get; set; }
13 |
14 | [MiscSetting]
15 | public short FlyElevation { get; set; }
16 | [MiscSetting]
17 | public short FlyAzimuth { get; set; }
18 | [MiscSetting]
19 | public short FlyNoControlTime { get; set; }
20 | [MiscSetting]
21 | public short FlyPower { get; set; }
22 |
23 | [MiscSetting]
24 | public short PowerElevation { get; set; }
25 | [MiscSetting]
26 | public short PowerAzimuth { get; set; }
27 | [MiscSetting]
28 | public short PowerNoControlTime { get; set; }
29 | [MiscSetting]
30 | public short PowerPower { get; set; }
31 | }
32 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List07/Object07D2_ColorSwitch.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object07D2_ColorSwitch : SetObjectShadow
4 | {
5 | //ElecPanel(Color, Type, Accell, MoveVectorX, MoveVectorY, MoveVectorZ)
6 | //Enums Color{Red, Yellow, Green, Blue}, Type{Switch, Move}
7 |
8 | public enum EColor : int
9 | {
10 | Red,
11 | Yellow,
12 | Green,
13 | Blue
14 | }
15 |
16 | public enum EPanelType : int
17 | {
18 | Switch,
19 | Move
20 | }
21 |
22 | [MiscSetting]
23 | public EColor Color { get; set; }
24 | [MiscSetting]
25 | public EPanelType PanelType { get; set; }
26 | [MiscSetting]
27 | public float Acceleration { get; set; }
28 | [MiscSetting]
29 | public float MoveVectorX { get; set; }
30 | [MiscSetting]
31 | public float MoveVectorY { get; set; }
32 | [MiscSetting]
33 | public float MoveVectorZ { get; set; }
34 | }
35 | }
36 |
37 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List08/Object0836_RollCircle.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object0836_RollCircle : SetObjectShadow
6 | {
7 | public enum EModel : int
8 | {
9 | Big,
10 | Small,
11 | Head
12 | }
13 |
14 | //Tornado Flying Objects
15 | //RollCircle
16 | [MiscSetting]
17 | public EModel Model { get; set; }
18 | [MiscSetting, Description("Number of objects orbiting")]
19 | public int NumberOfObjects { get; set; }
20 | [MiscSetting, Description("m")]
21 | public float Radius { get; set; }
22 | [MiscSetting, Description("deg/sec")]
23 | public float CircleSpeed { get; set; }
24 | [MiscSetting, Description("deg/sec")]
25 | public float ObjAngSpd_X { get; set; }
26 | [MiscSetting, Description("deg/sec")]
27 | public float ObjAngSpd_Y { get; set; }
28 | [MiscSetting, Description("deg/sec")]
29 | public float ObjAngSpd_Z { get; set; }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/Shared/ReadWriteCommon.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace HeroesPowerPlant
4 | {
5 | public class ReadWriteCommon
6 | {
7 | public static int[] Range(int a)
8 | {
9 | int[] b = new int[a];
10 |
11 | for (int i = 0; i < a; i++)
12 | {
13 | b[i] = i;
14 | }
15 |
16 | return b;
17 | }
18 |
19 | public static ushort[] Range(ushort a)
20 | {
21 | ushort[] b = new ushort[a];
22 |
23 | for (ushort i = 0; i < a; i++)
24 | {
25 | b[i] = i;
26 | }
27 |
28 | return b;
29 | }
30 |
31 | public static float BAMStoDegrees(float bams)
32 | {
33 | return bams * (180f / 32768f);
34 | }
35 |
36 | public static float BAMStoRadians(float bams)
37 | {
38 | return (float)(bams * (Math.PI / 32768f));
39 | }
40 |
41 | public static int DegreesToBAMS(float degrees)
42 | {
43 | return (int)(degrees * 32768f / 180f);
44 | }
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object0008_Pulley.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object0008_Pulley : SetObjectShadow
6 | {
7 | // Real name UpDownReel / UD_REEL::length,angle,power
8 |
9 | public override void CreateTransformMatrix()
10 | {
11 | // function 800c9ed4 | RotationTemplateGen
12 | var shift = MathUtil.Pi / 180f;
13 | transformMatrix =
14 | Matrix.RotationX(0f) *
15 | Matrix.RotationY(Rotation.Y * shift) * // UpDownReel only uses Y for model
16 | Matrix.RotationZ(0f) *
17 | Matrix.Translation(Position);
18 | Matrix.Translation(Position);
19 | CreateBoundingBox();
20 | }
21 |
22 | [MiscSetting]
23 | public float StartingLength { get; set; }
24 | [MiscSetting]
25 | public float EndingLength { get; set; }
26 | [MiscSetting]
27 | public float LetGoAngle { get; set; }
28 | [MiscSetting]
29 | public float LetGoLaunchForce { get; set; }
30 | }
31 | }
32 |
33 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List00/Object0031_Case.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 | using System.ComponentModel;
3 |
4 | namespace HeroesPowerPlant.LayoutEditor
5 | {
6 | public class Object0031_Case : SetObjectHeroes
7 | {
8 | public enum EDirection : byte
9 | {
10 | Up = 0,
11 | Down = 1,
12 | }
13 |
14 | public override void CreateTransformMatrix()
15 | {
16 | transformMatrix = Matrix.Scaling((ScaleX + 20f) * 0.05f, (ScaleY + 20f) * 0.05f, (ScaleZ + 20f) * 0.05f) * Matrix.RotationX(Direction == EDirection.Down ? MathUtil.Pi : 0) * DefaultTransformMatrix();
17 | CreateBoundingBox();
18 | }
19 |
20 | [MiscSetting]
21 | public float ScaleX { get; set; }
22 | [MiscSetting]
23 | public float ScaleY { get; set; }
24 | [MiscSetting]
25 | public float ScaleZ { get; set; }
26 | [MiscSetting, Description("Doesn't use actual Link ID. Use this one.")]
27 | public byte LinkID { get; set; }
28 | [MiscSetting]
29 | public EDirection Direction { get; set; }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/SetObjectShadow.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 | using System.IO;
3 |
4 | namespace HeroesPowerPlant.LayoutEditor
5 | {
6 | public class SetObjectShadow : SetObject
7 | {
8 | public override void SetMiscSettings(byte[] miscSettings)
9 | {
10 | using var reader = new BinaryReader(new MemoryStream(miscSettings));
11 | ReadMiscSettings(reader, miscSettings.Length);
12 | }
13 |
14 | public virtual void ReadMiscSettings(BinaryReader reader, int count)
15 | {
16 | ReadMiscSettings(reader);
17 | }
18 |
19 | public override void CreateTransformMatrix()
20 | {
21 | transformMatrix = DefaultTransformMatrix();
22 | CreateBoundingBox();
23 | }
24 |
25 | protected Matrix DefaultTransformMatrix(float yAddDeg = 0) =>
26 | Matrix.RotationZ(MathUtil.DegreesToRadians(Rotation.Z)) *
27 | Matrix.RotationX(MathUtil.DegreesToRadians(Rotation.X)) *
28 | Matrix.RotationY(MathUtil.DegreesToRadians(Rotation.Y + yAddDeg)) *
29 | Matrix.Translation(Position);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/Other/SASetObject.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 | using System;
3 |
4 | namespace HeroesPowerPlant.Other
5 | {
6 | public class SASetObject
7 | {
8 | public byte Type;
9 | public byte Flags;
10 | public Vector3 Rotation;
11 | public Vector3 Position;
12 | public Vector3 Misc;
13 |
14 | public SASetObject(byte[] file, int address)
15 | {
16 | Type = file[address];
17 | Flags = file[address + 1];
18 | Rotation = new Vector3(
19 | BitConverter.ToInt16(file, address + 2),
20 | BitConverter.ToInt16(file, address + 4),
21 | BitConverter.ToInt16(file, address + 6));
22 | Position = new Vector3(
23 | BitConverter.ToSingle(file, address + 8),
24 | BitConverter.ToSingle(file, address + 12),
25 | BitConverter.ToSingle(file, address + 16));
26 | Misc = new Vector3(
27 | BitConverter.ToSingle(file, address + 20),
28 | BitConverter.ToSingle(file, address + 24),
29 | BitConverter.ToSingle(file, address + 28));
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/Resources/Models/Box.obj:
--------------------------------------------------------------------------------
1 | # 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware
2 | # File Created: 05.05.2018 15:40:13
3 |
4 | mtllib Box.mtl
5 |
6 | #
7 | # object Box001
8 | #
9 |
10 | v -0.5000 -0.5000 -0.5000
11 | v 0.5000 -0.5000 -0.5000
12 | v 0.5000 -0.5000 0.5000
13 | v -0.5000 -0.5000 0.5000
14 | v 0.5000 0.5000 0.5000
15 | v 0.5000 0.5000 -0.5000
16 | v -0.5000 0.5000 -0.5000
17 | v -0.5000 0.5000 0.5000
18 | # 8 vertices
19 |
20 | vn 0.0000 -1.0000 -0.0000
21 | vn 0.0000 1.0000 -0.0000
22 | vn 0.0000 0.0000 1.0000
23 | vn 1.0000 0.0000 -0.0000
24 | vn 0.0000 0.0000 -1.0000
25 | vn -1.0000 0.0000 -0.0000
26 | # 6 vertex normals
27 |
28 | vt 1.0000 1.0000 0.0000
29 | vt 0.0000 1.0000 0.0000
30 | vt 0.0000 0.0000 0.0000
31 | vt 1.0000 0.0000 0.0000
32 | # 4 texture coords
33 |
34 | g Box001
35 | usemtl wire_008110135
36 | s 2
37 | f 1/1/1 2/2/1 3/3/1
38 | f 3/3/1 4/4/1 1/1/1
39 | s 4
40 | f 5/4/2 6/1/2 7/2/2
41 | f 7/2/2 8/3/2 5/4/2
42 | s 8
43 | f 3/4/3 5/1/3 8/2/3
44 | f 8/2/3 4/3/3 3/4/3
45 | s 16
46 | f 2/4/4 6/1/4 5/2/4
47 | f 5/2/4 3/3/4 2/4/4
48 | s 32
49 | f 1/4/5 7/1/5 6/2/5
50 | f 6/2/5 2/3/5 1/4/5
51 | s 64
52 | f 4/4/6 8/1/6 7/2/6
53 | f 7/2/6 1/3/6 4/4/6
54 | # 12 faces
55 |
56 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // O código foi gerado por uma ferramenta.
4 | // Versão de Tempo de Execução:4.0.30319.42000
5 | //
6 | // As alterações ao arquivo poderão causar comportamento incorreto e serão perdidas se
7 | // o código for gerado novamente.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace HeroesPowerPlant.Properties {
12 |
13 |
14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.1.0.0")]
16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
17 |
18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
19 |
20 | public static Settings Default {
21 | get {
22 | return defaultInstance;
23 | }
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object003X_UnusedMiscByteScaleType.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 | using System.ComponentModel;
3 |
4 | namespace HeroesPowerPlant.LayoutEditor
5 | {
6 | public class Object003X_UnusedMiscByteScaleType : SetObjectShadow
7 | {
8 | // Fire(ScaleX, ScaleY, ScaleZ)
9 | // Probably late in development changed to hardcoded fire scale (applies to multiple objects)
10 | // OR oversight and forgot to read from params
11 | // Still documenting this as some objects have misc bytes, even if unused
12 | // In the future a Gecko code might re-enable the object to read these.
13 |
14 | [MiscSetting, Description("These fields are unused. A gecko code may make them usable.")]
15 | public float ScaleX { get; set; }
16 | [MiscSetting]
17 | public float ScaleY { get; set; }
18 | [MiscSetting]
19 | public float ScaleZ { get; set; }
20 |
21 | public override void CreateTransformMatrix()
22 | {
23 | transformMatrix = Matrix.Scaling(ScaleX, ScaleY, ScaleZ);
24 | transformMatrix *= DefaultTransformMatrix();
25 | CreateBoundingBox();
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List13/Object138B_MeteorsHolder.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object138B_MeteorsHolder : SetObjectShadow
6 | {
7 | //MeteorsHolder(MOVE_SPD m/s, DIRECTION_X deg, DIRECTION_Y deg, ROT_SPD_X deg/s, ROT_SPD_Z deg/s, ROT_SPD_Y deg/s, LIFETIME s, METEOR_S)
8 |
9 | [MiscSetting, Description("m")]
10 | public float MaxTravelDistance { get; set; }
11 |
12 | [MiscSetting, Description("m/s")]
13 | public float MoveSpeed { get; set; }
14 |
15 | [MiscSetting, Description("deg")]
16 | public float Direction_X { get; set; }
17 |
18 | [MiscSetting, Description("deg")]
19 | public float Direction_Y { get; set; }
20 |
21 | [MiscSetting, Description("deg/s")]
22 | public float RotSpd_X { get; set; }
23 |
24 | [MiscSetting, Description("deg/s")]
25 | public float RotSpd_Z { get; set; }
26 |
27 | [MiscSetting, Description("deg/s")]
28 | public float RotSpd_Y { get; set; }
29 |
30 | [MiscSetting, Description("s\n Time until meteor explodes")]
31 | public float Lifetime { get; set; }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object0002_WideSpring.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object0002_WideSpring : Object0001_SpringShadow
6 | {
7 | // Previously known as WideSpring, official name is LongSpring
8 | public override void CreateTransformMatrix()
9 | {
10 | // function 800c9ed4 | RotationTemplateGen
11 | var shift = MathUtil.Pi / 180f;
12 | // X = +45 degree before any calculation
13 |
14 | // not YZX, YXZ, ZXY, ZYX, XZY, XYZ,
15 |
16 | // NOT correct
17 | // Z is not first param?
18 | transformMatrix =
19 | Matrix.RotationZ(Rotation.Z * shift) *
20 | Matrix.RotationX((Rotation.X * shift) + 45f) *
21 | Matrix.RotationY(Rotation.Y * shift) *
22 | /* Matrix.RotationY(Rotation.Y * shift) *
23 | Matrix.RotationX((Rotation.X * shift) + 45f) *
24 | Matrix.RotationZ(Rotation.Z * shift) **/
25 |
26 | Matrix.Translation(Position);
27 | CreateBoundingBox();
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List15/Object1590_RhinoLiner.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object1590_RhinoLiner : SetObjectHeroes
4 | {
5 | public enum EEnemyType : byte
6 | {
7 | Standard = 0,
8 | Attack = 1
9 | }
10 |
11 | public enum EPathType : byte
12 | {
13 | Standard = 0,
14 | Loop = 1
15 | }
16 |
17 | public enum EIronBallType : byte
18 | {
19 | Homing = 0,
20 | NotHoming = 1
21 | }
22 |
23 | [MiscSetting]
24 | public EEnemyType EnemyType { get; set; }
25 | [MiscSetting]
26 | public EPathType PathType { get; set; }
27 | [MiscSetting]
28 | public EIronBallType IronBallType { get; set; }
29 | [MiscSetting]
30 | public float WeaponSpeed { get; set; }
31 | [MiscSetting]
32 | public int AttackInterval { get; set; }
33 | [MiscSetting]
34 | public float MoveSpeedMin { get; set; }
35 | [MiscSetting]
36 | public float MoveSpeed { get; set; }
37 | [MiscSetting]
38 | public float MoveSpeedMax { get; set; }
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/Tools/txdgen_1.0/LICENSES/libsquish/COPYRIGHT:
--------------------------------------------------------------------------------
1 | Copyright (c) 2006 Simon Brown si@sjbrown.co.uk
2 | Copyright (c) 2007 Ignacio Castano icastano@nvidia.com
3 |
4 | Permission is hereby granted, free of charge, to any person obtaining
5 | a copy of this software and associated documentation files (the
6 | "Software"), to deal in the Software without restriction, including
7 | without limitation the rights to use, copy, modify, merge, publish,
8 | distribute, sublicense, and/or sell copies of the Software, and to
9 | permit persons to whom the Software is furnished to do so, subject to
10 | the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included
13 | in all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
19 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
20 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
21 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List01/Object0182_Whale.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object0182_Whale : SetObjectHeroes
6 | {
7 | private Matrix triggerMatrix;
8 |
9 | public override void CreateTransformMatrix()
10 | {
11 | base.CreateTransformMatrix();
12 |
13 | triggerMatrix = Matrix.Scaling(TriggerSize) * Matrix.Translation(TriggerX, TriggerY, TriggerZ);
14 | }
15 |
16 | public override void Draw(SharpRenderer renderer)
17 | {
18 | base.Draw(renderer);
19 |
20 | if (isSelected)
21 | renderer.DrawSphereTrigger(triggerMatrix, true);
22 | }
23 |
24 | [MiscSetting]
25 | public byte WhaleType { get; set; }
26 | [MiscSetting]
27 | public short TriggerSize { get; set; }
28 | [MiscSetting]
29 | public float WhaleScale { get; set; }
30 | [MiscSetting]
31 | public float ArchRadius { get; set; }
32 | [MiscSetting]
33 | public float TriggerX { get; set; }
34 | [MiscSetting]
35 | public float TriggerY { get; set; }
36 | [MiscSetting]
37 | public float TriggerZ { get; set; }
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/Resources/SharpDX/Shader_Collision.hlsl:
--------------------------------------------------------------------------------
1 |
2 | cbuffer data :register(b0)
3 | {
4 | float4x4 viewProjection;
5 | float4 ambientColor;
6 | float4 lightDirection;
7 | float4 lightDirection2;
8 | };
9 |
10 | struct VertexShaderInput
11 | {
12 | float4 position : POSITION;
13 | float3 normal : NORMAL;
14 | float4 color : COLOR;
15 | };
16 |
17 | struct VertexShaderOutput
18 | {
19 | float4 position : SV_POSITION;
20 | float3 normal : NORMAL;
21 | float4 color : COLOR0;
22 | float4 color2 : COLOR1;
23 | float4 lightDirection : POSITION1;
24 | float4 lightDirection2 : POSITION2;
25 | };
26 |
27 | VertexShaderOutput VS(VertexShaderInput input)
28 | {
29 | VertexShaderOutput output = (VertexShaderOutput)0;
30 |
31 | output.position = mul(viewProjection, input.position);
32 | output.normal = input.normal;
33 | output.color = input.color;
34 | output.color2 = ambientColor;
35 | output.lightDirection = lightDirection;
36 | output.lightDirection2 = lightDirection2;
37 |
38 | return output;
39 | }
40 |
41 | float4 PS(VertexShaderOutput input) : SV_Target
42 | {
43 | return saturate(dot(input.normal, input.lightDirection) + dot(input.normal, input.lightDirection2)) * input.color + input.color2;
44 | // return saturate(0.75F + dot(input.normal, lightDirection.xyz)) * input.color;
45 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object0091_BkLarva.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0091_BkLarva : SetObjectShadow
4 | {
5 | public enum EAppear : int
6 | {
7 | NORMAL,
8 | DROP
9 | }
10 |
11 | // EnemyBase
12 | [MiscSetting(0)]
13 | public float MoveRange { get; set; }
14 | [MiscSetting(1)]
15 | public float SearchRange { get; set; }
16 | [MiscSetting(2)]
17 | public float SearchAngle { get; set; }
18 | [MiscSetting(3)]
19 | public float SearchWidth { get; set; }
20 | [MiscSetting(4)]
21 | public float SearchHeight { get; set; }
22 | [MiscSetting(5)]
23 | public float SearchHeightOffset { get; set; }
24 | [MiscSetting(6)]
25 | public float MoveSpeedRatio { get; set; }
26 | // end EnemyBase
27 |
28 | [MiscSetting(7)]
29 | public int NumberOfLarva { get; set; }
30 | [MiscSetting(8)]
31 | public float AppearRange { get; set; }
32 | [MiscSetting(9)]
33 | public EAppear AppearType { get; set; }
34 | [MiscSetting(10)]
35 | public float Offset_Y { get; set; }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List15/Object15_KlagenCameron.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object15_KlagenCameron : SetObjectHeroes
6 | {
7 | public enum EEnemyType : byte
8 | {
9 | Normal = 0,
10 | Golden = 1
11 | }
12 |
13 | public enum EAppear : byte
14 | {
15 | Idle = 0,
16 | Walking = 1,
17 | }
18 |
19 | public override void CreateTransformMatrix()
20 | {
21 | transformMatrix = DefaultTransformMatrix(MathUtil.Pi);
22 | CreateBoundingBox();
23 | }
24 |
25 | [MiscSetting]
26 | public EEnemyType EnemyType { get; set; }
27 | [MiscSetting]
28 | public EAppear Appear { get; set; }
29 | [MiscSetting]
30 | public float MoveRange { get; set; }
31 | [MiscSetting]
32 | public float ScopeRange { get; set; }
33 | [MiscSetting]
34 | public float ScopeOffset { get; set; }
35 | [MiscSetting]
36 | public short Unknown { get; set; }
37 | [MiscSetting]
38 | public short AttackInterval { get; set; }
39 | [MiscSetting]
40 | public float AttackSpeed { get; set; }
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/Triggers/Object020C_TriggerKaos.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object020C_TriggerKaos : SetObjectHeroes
6 | {
7 | public override bool IsTrigger() => true;
8 |
9 | private BoundingSphere sphereBound;
10 |
11 | public override void CreateTransformMatrix()
12 | {
13 | transformMatrix = Matrix.Scaling(Scale) * DefaultTransformMatrix();
14 | sphereBound = new BoundingSphere(Position, Scale);
15 | boundingBox = BoundingBox.FromSphere(sphereBound);
16 | }
17 |
18 | public override void Draw(SharpRenderer renderer)
19 | {
20 | renderer.DrawSphereTrigger(transformMatrix, isSelected);
21 | }
22 |
23 | public override bool TriangleIntersection(Ray r, float initialDistance, out float distance)
24 | {
25 | return r.Intersects(ref sphereBound, out distance);
26 | }
27 |
28 | [MiscSetting]
29 | public float Scale { get; set; }
30 | [MiscSetting]
31 | public byte KaosType { get; set; }
32 | [MiscSetting]
33 | public byte Param2 { get; set; }
34 | [MiscSetting]
35 | public float Param3 { get; set; }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/ShadowCameraEditor/ShadowCameraMode.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.ShadowCameraEditor
2 | {
3 |
4 | /*
5 | 0 = PJSCamera::CameraModeGeneral
6 | 1 = PJSCamera::CameraModeFree
7 | 2 = PJSCamera::CameraModeTestPlayer
8 | 3 = PJSCamera::CameraModeTestPlayerNoRot
9 | 4 = BROKEN/REMOVED CODE/UNUSED
10 | 5 = PJSCamera::CameraModeSetEditor
11 | 6 = PJSCamera::CameraModeSetCamEdit
12 | 7 = PJSCamera::CameraModeFixEye
13 | 8 = PJSCamera::CameraModeFixLook
14 | 9 = BROKEN/REMOVED CODE/UNUSED
15 | 10 = PJSCamera::CameraModeGeneral (its zoomed in more?)
16 | 11 = PJSCamera::CameraModeLookFront
17 | 12 = PJSCamera::CameraModeFixEye2
18 | 13 = PJSCamera::CameraModeFixLook2
19 | 14 = PJSCamera::CameraModeFixLookChar (partner?)
20 | */
21 | public enum ShadowCameraMode
22 | {
23 | General = 0,
24 | Free = 1,
25 | TestPlayer = 2,
26 | TestPlayerNoRot = 3,
27 | SetEditor = 5,
28 | SetCamEdit = 6,
29 | FixEye = 7,
30 | FixLook = 8,
31 | General_withCamDistCamHeight = 10,
32 | LookFront = 11,
33 | FixEye2 = 12,
34 | FixLook2 = 13,
35 | FixLookChar = 14
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List00/Object0016_LaserFence.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object0016_LaserFence : SetObjectHeroes
6 | {
7 | public enum ELaserFenceType : int
8 | {
9 | Fixed = 0,
10 | Intermittent = 1,
11 | Switch = 2,
12 | Scan = 3,
13 | Enemy = 4
14 | }
15 |
16 | [MiscSetting]
17 | public ELaserFenceType LaserFenceType { get; set; }
18 | [MiscSetting]
19 | public float Length { get; set; }
20 | [MiscSetting]
21 | public float Width { get; set; }
22 | [MiscSetting, Browsable(false)]
23 | public int Setting4 { get; set; }
24 |
25 | private const string desc = "Interval, SwitchID, Speed and EnemyID are actually the same setting. Which one is used depends on LaserFenceType.";
26 |
27 | [Description(desc)] public int Interval { get => Setting4; set => Setting4 = value; }
28 | [Description(desc)] public int SwitchID { get => Setting4; set => Setting4 = value; }
29 | [Description(desc)] public int Speed { get => Setting4; set => Setting4 = value; }
30 | [Description(desc)] public int EnemyID { get => Setting4; set => Setting4 = value; }
31 | }
32 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List11/Object11_FloatingPlatform.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object11_FloatingPlatform : SetObjectHeroes
6 | {
7 | public enum EPlatformType : byte
8 | {
9 | Fixed = 0,
10 | Moving = 1,
11 | Alternate = 2,
12 | Disappear = 3
13 | }
14 |
15 | [MiscSetting(1), Description("Disappear mode is unused. Delay can be negative to make the platform faster.")]
16 | public EPlatformType PlatformType { get; set; }
17 | [MiscSetting(2, underlyingType: MiscSettingUnderlyingType.Byte)]
18 | public bool AlternateModel { get; set; }
19 | [MiscSetting(3)]
20 | public short UnknownAlternateRange0 { get; set; }
21 | [MiscSetting(4)]
22 | public short UnknownAlternateRange1 { get; set; }
23 | [MiscSetting(5)]
24 | public short XOffset { get; set; }
25 | [MiscSetting(6)]
26 | public short YOffset { get; set; }
27 | [MiscSetting(7)]
28 | public short ZOffset { get; set; }
29 | [MiscSetting(8)]
30 | public short TimeCycleFrame { get; set; }
31 | [MiscSetting(9)]
32 | public byte DisappearLinkID { get; set; }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object007A_EggShadowAndroid.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object007A_EggShadowAndroid : SetObjectShadow
4 | {
5 | public enum EAppear : int
6 | {
7 | STAND,
8 | OFFSET
9 | }
10 |
11 | // EnemyBase
12 | [MiscSetting(0)]
13 | public float MoveRange { get; set; }
14 | [MiscSetting(1)]
15 | public float SearchRange { get; set; }
16 | [MiscSetting(2)]
17 | public float SearchAngle { get; set; }
18 | [MiscSetting(3)]
19 | public float SearchWidth { get; set; }
20 | [MiscSetting(4)]
21 | public float SearchHeight { get; set; }
22 | [MiscSetting(5)]
23 | public float SearchHeightOffset { get; set; }
24 | [MiscSetting(6)]
25 | public float MoveSpeedRatio { get; set; }
26 |
27 | // end EnemyBase
28 |
29 | [MiscSetting(7)]
30 | public EAppear AppearType { get; set; }
31 | [MiscSetting(8)]
32 | public float OffsetPos_X { get; set; }
33 | [MiscSetting(9)]
34 | public float OffsetPos_Y { get; set; }
35 | [MiscSetting(10)]
36 | public float OffsetPos_Z { get; set; }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List13/Object13EF_SecurityLaser.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object13EF_SecurityLaser : SetObjectShadow
4 | {
5 | public enum ELaserType : int
6 | {
7 | DoNotGoThroughObjectsOnCollide_With_CollideEffect, //Normal
8 | GoThroughObjects_Without_CollideEffect, //Fixed
9 | GoThroughObjects_With_CollideEffect //FixedWEffect
10 | }
11 |
12 | //SetSecurityLaser(_t, model, length, rot time(sec), rot Y(deg), move sec, type)
13 | //enum: Normal, Fixed, Fixed w/Eff
14 | [MiscSetting]
15 | public int Model { get; set; }
16 | [MiscSetting]
17 | public float Length { get; set; }
18 | [MiscSetting]
19 | public float RotTime { get; set; }
20 | [MiscSetting]
21 | public float Rot_Y { get; set; }
22 | [MiscSetting]
23 | public float MoveSec { get; set; }
24 | [MiscSetting]
25 | public float Translate_X { get; set; }
26 | [MiscSetting]
27 | public float Translate_Y { get; set; }
28 | [MiscSetting]
29 | public float Translate_Z { get; set; }
30 | [MiscSetting]
31 | public ELaserType LaserType { get; set; }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LevelEditor/EditBSPName.cs:
--------------------------------------------------------------------------------
1 | using HeroesPowerPlant.Shared.IO.Config;
2 | using System;
3 | using System.Windows.Forms;
4 |
5 | namespace HeroesPowerPlant.LevelEditor
6 | {
7 | public partial class EditBSPName : Form
8 | {
9 | public EditBSPName(string oldName)
10 | {
11 | InitializeComponent();
12 | if (HPPConfig.GetInstance().LegacyWindowPriorityBehavior)
13 | TopMost = true;
14 | else
15 | TopMost = false;
16 | textBox1.Text = oldName;
17 | }
18 |
19 | public static string GetName(string oldName)
20 | {
21 | EditBSPName edit = new EditBSPName(oldName);
22 | edit.ShowDialog();
23 |
24 | if (edit.OKed)
25 | {
26 | return edit.textBox1.Text;
27 | }
28 | else
29 | {
30 | return oldName;
31 | }
32 | }
33 |
34 | private bool OKed = false;
35 |
36 | private void button1_Click(object sender, EventArgs e)
37 | {
38 | OKed = true;
39 | Close();
40 | }
41 |
42 | private void button2_Click(object sender, EventArgs e)
43 | {
44 | Close();
45 | }
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object0011_HintBall.cs:
--------------------------------------------------------------------------------
1 | using System.IO;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object0011_HintBall : SetObjectShadow
6 | {
7 | [MiscSetting]
8 | public int AudioBranchID { get; set; }
9 | [MiscSetting]
10 | public EAudioBranchType AudioBranchType { get; set; }
11 | [MiscSetting]
12 | public float Float_02 { get; set; }
13 | [MiscSetting]
14 | public float Float_03 { get; set; }
15 | [MiscSetting]
16 | public int Int_04 { get; set; }
17 |
18 | public override void ReadMiscSettings(BinaryReader reader, int count)
19 | {
20 | AudioBranchID = reader.ReadInt32();
21 | AudioBranchType = (EAudioBranchType)reader.ReadInt32();
22 | Float_02 = reader.ReadSingle();
23 | Float_03 = reader.ReadSingle();
24 | Int_04 = reader.ReadInt32();
25 | }
26 |
27 | public override void WriteMiscSettings(BinaryWriter writer)
28 | {
29 | writer.Write(AudioBranchID);
30 | writer.Write((int)AudioBranchType);
31 | writer.Write(Float_02);
32 | writer.Write(Float_03);
33 | writer.Write(Int_04);
34 | }
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List08/Object0834_Tornado.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object0834_Tornado : SetObjectShadow
6 | {
7 | public enum ESpinDirection : int
8 | {
9 | Left,
10 | Right
11 | }
12 |
13 | //Tornado
14 | [MiscSetting]
15 | public ESpinDirection SpinDirection { get; set; }
16 | [MiscSetting, Description("m/s")]
17 | public float SpinningSpeed { get; set; }
18 | [MiscSetting, Description("m/s")]
19 | public float UpSpeed { get; set; }
20 | [MiscSetting, Description("m")]
21 | public float Cylinder_Radius { get; set; }
22 | [MiscSetting, Description("m")]
23 | public float Cylinder_Height { get; set; }
24 | [MiscSetting, Description("m")]
25 | public float Cylinder_Offset_Y { get; set; }
26 | [MiscSetting, Description("deg")]
27 | public float Launch_X { get; set; }
28 | [MiscSetting, Description("deg")]
29 | public float Launch_Y { get; set; }
30 | [MiscSetting, Description("m/s")]
31 | public float Launch_Speed { get; set; }
32 | [MiscSetting, Description("sec")]
33 | public float NoControlSec { get; set; }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List07/Object07D3_RisingLaserBar.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object07D3_RisingLaserBar : SetObjectShadow
6 | {
7 | //ElecBar (scale,offset,Task,Gadget,mat1,mat2)
8 |
9 | [MiscSetting(0), Description("UpperWay = Y axis++\nSideWay = Z axis--")]
10 | public EDirection TravelDirection { get; set; }
11 |
12 | [MiscSetting(1)]
13 | public float BarWidth { get; set; }
14 |
15 | [MiscSetting(2), Description("Starts at object placement, goes up")]
16 | public float TravelDistance { get; set; }
17 |
18 | [MiscSetting(3), Description("How long it takes to reach the top, smaller = faster")]
19 | public float TravelTime { get; set; }
20 |
21 | [MiscSetting(4), Description("Time to wait to spawn a new bar, also applies to multiples")]
22 | public float SpawnBarTime { get; set; }
23 |
24 | [MiscSetting(5), Description("Time to spend fading in/out; Applies to both")]
25 | public float FadeTime { get; set; }
26 |
27 | [MiscSetting(6), Description("Valid float between 0-1")]
28 | public float Synchronize { get; set; }
29 |
30 | [MiscSetting(7)]
31 | public int NumberOfBars { get; set; }
32 | }
33 | }
34 |
35 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List00/Object00_Weight.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 | using System.ComponentModel;
3 |
4 | namespace HeroesPowerPlant.LayoutEditor
5 | {
6 | public class Object00_Weight : SetObjectHeroes
7 | {
8 | public enum EWeightType : byte
9 | {
10 | Repeat = 0,
11 | Shadow = 1,
12 | Laser = 2,
13 | RepeatSwitch = 3,
14 | ShadowSwitch = 4,
15 | LaserSwitch = 5
16 | }
17 |
18 | public override void CreateTransformMatrix()
19 | {
20 | transformMatrix = Matrix.Scaling(ScaleX, ScaleY, ScaleZ) * DefaultTransformMatrix();
21 | CreateBoundingBox();
22 | }
23 |
24 | [MiscSetting]
25 | public EWeightType WeightType { get; set; }
26 | [MiscSetting(2)]
27 | public byte LinkID { get; set; }
28 | [MiscSetting(3)]
29 | public short Height { get; set; }
30 | [MiscSetting(4)]
31 | public float ScaleX { get; set; }
32 | [MiscSetting(8)]
33 | public float ScaleY { get; set; }
34 | [MiscSetting(5)]
35 | public float ScaleZ { get; set; }
36 | [MiscSetting(6), Description("In frames")]
37 | public short UpWaitTime { get; set; }
38 | [MiscSetting(7), Description("In frames")]
39 | public short DownWaitTime { get; set; }
40 | }
41 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Windows.Forms;
3 |
4 | namespace HeroesPowerPlant
5 | {
6 | static class Program
7 | {
8 | public static MainForm.MainForm MainForm;
9 |
10 | ///
11 | /// Ponto de entrada principal para o aplicativo.
12 | ///
13 | [STAThread]
14 | static void Main()
15 | {
16 | System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-us");
17 |
18 | Application.EnableVisualStyles();
19 | Application.SetCompatibleTextRenderingDefault(false);
20 |
21 | if (!SharpDevice.IsDirectX11Supported())
22 | {
23 | MessageBox.Show("DirectX11 feature level 11.0 is required to run Heroes Power Plant. Maximum supported feature level is " + SharpDevice.GetSupportedFeatureLevel().ToString() + ". Please update your DirectX.");
24 | return;
25 | }
26 |
27 | MainForm = new MainForm.MainForm();
28 |
29 | Application.Run(MainForm);
30 |
31 | try
32 | {
33 | }
34 | catch (Exception ex)
35 | {
36 | MessageBox.Show($"Unhandled Exception in Power Plant: {ex.Message} {ex.InnerException} {ex.StackTrace}");
37 | }
38 | }
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List11/Object1181_Celestial.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object1181_Celestial : SetObjectHeroes
6 | {
7 | public override void CreateTransformMatrix()
8 | {
9 | transformMatrix = Matrix.Scaling(Scale + 1f) * DefaultTransformMatrix();
10 |
11 | CreateBoundingBox();
12 | }
13 |
14 | public override void Draw(SharpRenderer renderer)
15 | {
16 | if (isSelected)
17 | renderData.Color = renderer.selectedObjectColor;
18 | else
19 | renderData.Color = Vector4.One;
20 |
21 | renderer.Device.SetCullModeNone();
22 | renderer.Device.SetDepthStateNone();
23 | renderer.Device.SetBlendStateAdditive();
24 | renderer.Device.ApplyRasterState();
25 | renderer.Device.UpdateAllStates();
26 | base.Draw(renderer);
27 | }
28 |
29 | [MiscSetting]
30 | public int CelestialType { get; set; }
31 | [MiscSetting]
32 | public float SpeedX { get; set; }
33 | [MiscSetting]
34 | public float SpeedY { get; set; }
35 | [MiscSetting]
36 | public float SpeedZ { get; set; }
37 | [MiscSetting]
38 | public float Scale { get; set; }
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/SharpDX/SharpSubSet.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 | using SharpDX.Direct3D11;
3 |
4 | namespace HeroesPowerPlant
5 | {
6 | ///
7 | /// Describe a mesh subset
8 | ///
9 | public class SharpSubSet
10 | {
11 | ///
12 | /// Diffuse map name
13 | ///
14 | public string DiffuseMapName { get; set; }
15 |
16 | ///
17 | /// Diffuse map
18 | ///
19 | public ShaderResourceView DiffuseMap { get; set; }
20 |
21 | ///
22 | /// Diffuse Color (RGBA)
23 | ///
24 | public Vector4 DiffuseColor { get; set; }
25 |
26 | ///
27 | /// Index Start inside IndexBuffer
28 | ///
29 | public int StartIndex { get; set; }
30 |
31 | ///
32 | /// Number of indices to draw
33 | ///
34 | public int IndexCount { get; set; }
35 |
36 | public SharpSubSet(int StartIndex, int IndexCount, ShaderResourceView DiffuseMap, string DiffuseMapName = "")
37 | {
38 | this.StartIndex = StartIndex;
39 | this.IndexCount = IndexCount;
40 | this.DiffuseMap = DiffuseMap;
41 | this.DiffuseMapName = DiffuseMapName;
42 |
43 | DiffuseColor = Vector4.One;
44 | }
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List13/Object1305_EggFleetDoor.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object1305_EggFleetDoor : SetObjectHeroes
6 | {
7 | private Matrix triggerMatrix;
8 |
9 | public override void CreateTransformMatrix()
10 | {
11 | base.CreateTransformMatrix();
12 |
13 | triggerMatrix = Matrix.Scaling(TriggerSizeX, TriggerSizeY, TriggerSizeZ) *
14 | Matrix.RotationY(TriggerRotY) *
15 | Matrix.Translation(TriggerX, TriggerY, TriggerZ);
16 |
17 | CreateBoundingBox();
18 | }
19 |
20 | public override void Draw(SharpRenderer renderer)
21 | {
22 | base.Draw(renderer);
23 |
24 | if (isSelected)
25 | renderer.DrawCubeTrigger(triggerMatrix, true);
26 | }
27 |
28 | [MiscSetting]
29 | public float TriggerX { get; set; }
30 | [MiscSetting]
31 | public float TriggerY { get; set; }
32 | [MiscSetting]
33 | public float TriggerZ { get; set; }
34 | [MiscSetting]
35 | public short TriggerSizeX { get; set; }
36 | [MiscSetting]
37 | public short TriggerSizeY { get; set; }
38 | [MiscSetting]
39 | public short TriggerSizeZ { get; set; }
40 | [MiscSetting]
41 | public short TriggerRotY { get; set; }
42 | }
43 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesHeroes/List09/Object0913_RainCollision.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0913_RainCollision : SetObjectHeroes
4 | {
5 | [MiscSetting]
6 | public float Scale { get; set; }
7 | [MiscSetting]
8 | public byte RainID_1 { get; set; }
9 | [MiscSetting]
10 | public byte RainID_2 { get; set; }
11 | [MiscSetting]
12 | public byte RainID_3 { get; set; }
13 | [MiscSetting]
14 | public byte RainID_4 { get; set; }
15 | [MiscSetting]
16 | public byte RainID_5 { get; set; }
17 | [MiscSetting]
18 | public byte RainID_6 { get; set; }
19 | [MiscSetting]
20 | public byte RainID_7 { get; set; }
21 | [MiscSetting]
22 | public byte RainID_8 { get; set; }
23 | [MiscSetting]
24 | public byte RainID_9 { get; set; }
25 | [MiscSetting]
26 | public byte RainID_10 { get; set; }
27 | [MiscSetting]
28 | public byte RainID_11 { get; set; }
29 | [MiscSetting]
30 | public byte RainID_12 { get; set; }
31 | [MiscSetting]
32 | public byte RainID_13 { get; set; }
33 | [MiscSetting]
34 | public byte RainID_14 { get; set; }
35 | [MiscSetting]
36 | public byte RainID_15 { get; set; }
37 | [MiscSetting]
38 | public byte RainID_16 { get; set; }
39 | }
40 | }
--------------------------------------------------------------------------------
/HeroesPowerPlant/ConfigEditor/EntryRenderer.cs:
--------------------------------------------------------------------------------
1 | using SharpDX;
2 |
3 | namespace HeroesPowerPlant.ConfigEditor
4 | {
5 | public class EntryRenderer
6 | {
7 | private Matrix world;
8 | private DefaultRenderData renderData = new DefaultRenderData();
9 |
10 | public EntryRenderer(Vector3 Position, int Rotation, Vector3 v)
11 | {
12 | NewMatrix(Position, Rotation);
13 | renderData.Color = new Vector4(v, 0.6f);
14 | }
15 |
16 | public void NewMatrix(Vector3 Position, int Rotation)
17 | {
18 | world = Matrix.Scaling(20f, 20f, 30f) * Matrix.RotationY(ReadWriteCommon.BAMStoRadians(Rotation)) * Matrix.Translation(Position);
19 | }
20 |
21 | public void Render(SharpRenderer renderer)
22 | {
23 | renderData.worldViewProjection = world * renderer.viewProjection;
24 |
25 | renderer.Device.SetFillModeSolid();
26 | renderer.Device.SetCullModeNormal();
27 | renderer.Device.SetBlendStateAlphaBlend();
28 | renderer.Device.ApplyRasterState();
29 | renderer.Device.UpdateAllStates();
30 |
31 | renderer.Device.UpdateData(renderer.basicBuffer, renderData);
32 | renderer.Device.DeviceContext.VertexShader.SetConstantBuffer(0, renderer.basicBuffer);
33 | renderer.basicShader.Apply();
34 |
35 | renderer.Pyramid.Draw(renderer.Device);
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object0066_GUNBigfoot.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0066_GUNBigfoot : SetObjectShadow
4 | {
5 | public enum EAppear : int
6 | {
7 | WAIT_CROUCH,
8 | HOVERING,
9 | DROP,
10 | ACT_ATTACKING,
11 | ZUTTO_HOVERING
12 | }
13 |
14 | public enum EWeapon : int
15 | {
16 | VULCAN,
17 | MISSILE
18 | }
19 |
20 | // EnemyBase
21 | [MiscSetting(0)]
22 | public float MoveRange { get; set; }
23 | [MiscSetting(1)]
24 | public float SearchRange { get; set; }
25 | [MiscSetting(2)]
26 | public float SearchAngle { get; set; }
27 | [MiscSetting(3)]
28 | public float SearchWidth { get; set; }
29 | [MiscSetting(4)]
30 | public float SearchHeight { get; set; }
31 | [MiscSetting(5)]
32 | public float SearchHeightOffset { get; set; }
33 | [MiscSetting(6)]
34 | public float MoveSpeedRatio { get; set; }
35 |
36 | // end EnemyBase
37 |
38 | [MiscSetting(7)]
39 | public EAppear AppearType { get; set; }
40 | [MiscSetting(8)]
41 | public EWeapon WeaponType { get; set; }
42 | [MiscSetting(9)]
43 | public float OffsetPos_Y { get; set; }
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object008C_BkGiant.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object008C_BkGiant : SetObjectShadow
4 | {
5 | public enum EWeapon : int
6 | {
7 | BLACK_SWORD,
8 | DARK_HAMMER,
9 | BIG_BARREL
10 | }
11 |
12 | public enum EAppear : int
13 | {
14 | WAIT,
15 | DROP
16 | }
17 |
18 | // EnemyBase
19 | [MiscSetting(0)]
20 | public float MoveRange { get; set; }
21 | [MiscSetting(1)]
22 | public float SearchRange { get; set; }
23 | [MiscSetting(2)]
24 | public float SearchAngle { get; set; }
25 | [MiscSetting(3)]
26 | public float SearchWidth { get; set; }
27 | [MiscSetting(4)]
28 | public float SearchHeight { get; set; }
29 | [MiscSetting(5)]
30 | public float SearchHeightOffset { get; set; }
31 | [MiscSetting(6)]
32 | public float MoveSpeedRatio { get; set; }
33 | // end EnemyBase
34 | [MiscSetting(7)]
35 | public EAppear AppearType { get; set; }
36 | [MiscSetting(8)]
37 | public EWeapon WeaponType { get; set; }
38 | [MiscSetting(9)]
39 | public float OffsetPos_Y { get; set; }
40 | [MiscSetting(10)]
41 | public ENoYes CanBlockShots { get; set; }
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List17/Object1770_GUNCamera.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object1770_GUNCamera : SetObjectShadow
4 | {
5 | //SetWatchCamera(posX, posY, posZ, angX, angY, angZ, width, height, depth, lookPosX, lookPosY, lookPosZ, lookAngX, lookAngY, lookAngZ)
6 | [MiscSetting]
7 | public float PosX { get; set; }
8 | [MiscSetting]
9 | public float PosY { get; set; }
10 | [MiscSetting]
11 | public float PosZ { get; set; }
12 | [MiscSetting]
13 | public float AngX { get; set; }
14 | [MiscSetting]
15 | public float AngY { get; set; }
16 | [MiscSetting]
17 | public float AngZ { get; set; }
18 | [MiscSetting]
19 | public float Detect_X { get; set; }
20 | [MiscSetting]
21 | public float Detect_Y { get; set; }
22 | [MiscSetting]
23 | public float Detect_Z { get; set; }
24 | [MiscSetting]
25 | public float LookPosX { get; set; }
26 | [MiscSetting]
27 | public float LookPosY { get; set; }
28 | [MiscSetting]
29 | public float LookPosZ { get; set; }
30 | [MiscSetting]
31 | public float LookAngX { get; set; }
32 | [MiscSetting]
33 | public float LookAngY { get; set; }
34 | [MiscSetting]
35 | public float LookAngZ { get; set; }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List08/Object0899_BlackTankCommandCollision.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object0899_BlackTankCommandCollision : SetObjectShadow
6 | {
7 | public enum EAction : int
8 | {
9 | Move,
10 | Stop,
11 | Accelerate,
12 | SetPos
13 | }
14 |
15 | // Same as EscapePodCommandCollision
16 | [MiscSetting]
17 | public float DetectX { get; set; }
18 | [MiscSetting]
19 | public float DetectY { get; set; }
20 | [MiscSetting]
21 | public float DetectZ { get; set; }
22 | [MiscSetting, Description("Move - Use to cancel a Stop command with param0 set to 0\nStop - param0 amount of seconds to be stopped (int), 0 is indefinite (Move needed)\nAccelerate - param0 amount of seconds to reach speed in param1; param1 speed/travel rate, larger is faster\nSetPos - param0 spline index; param1 position in percentage of spline (0.0 = start, 1.0 = end)")]
23 | public EAction ActionID { get; set; }
24 | [MiscSetting, Description("Known types (values unknown): no timer, route, Not in use, speed, rate(0.0-1.0), type")]
25 | public float ActionParam0 { get; set; }
26 | [MiscSetting, Description("Known types (values unknown): no timer, route, Not in use, speed, rate(0.0-1.0), type")]
27 | public float ActionParam1 { get; set; }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object0092_BkChaos.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0092_BkChaos : SetObjectShadow
4 | {
5 | public enum EState : int
6 | {
7 | BrokenUp,
8 | Complete
9 | }
10 |
11 | // EnemyBase
12 | [MiscSetting(0)]
13 | public float MoveRange { get; set; }
14 | [MiscSetting(1)]
15 | public float SearchRange { get; set; }
16 | [MiscSetting(2)]
17 | public float SearchAngle { get; set; }
18 | [MiscSetting(3)]
19 | public float SearchWidth { get; set; }
20 | [MiscSetting(4)]
21 | public float SearchHeight { get; set; }
22 | [MiscSetting(5)]
23 | public float SearchHeightOffset { get; set; }
24 |
25 | // end EnemyBase
26 |
27 | [MiscSetting(6)]
28 | public float Health { get; set; }
29 | [MiscSetting(7)]
30 | public EState StartingState { get; set; }
31 | [MiscSetting(8)]
32 | public int NumberOfChibi { get; set; }
33 | [MiscSetting(9)]
34 | public float BrokenPieceFlyDistance { get; set; }
35 | [MiscSetting(10)]
36 | public float BrokenPieceFlyOffset { get; set; }
37 | [MiscSetting(11)]
38 | public float CombineStartTime { get; set; }
39 | [MiscSetting(12)]
40 | public float CombineTime { get; set; }
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List17/Object17D4_BAGunShip.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace HeroesPowerPlant.LayoutEditor
4 | {
5 | public class Object11D4_BAGunShip : SetObjectShadow
6 | {
7 | public enum EBAGunShipAttack : int
8 | {
9 | NONE,
10 | ATTACK,
11 | ATTACK2 = 5
12 | }
13 |
14 | //radius, height, attack, ComID, delay, interval
15 |
16 | [MiscSetting]
17 | public float DetectRangeXZ { get; set; } //radius
18 | [MiscSetting]
19 | public float DetectRangeY { get; set; } //height
20 | [MiscSetting]
21 | public float TimeUntilTakeOff { get; set; } //delay
22 |
23 | [MiscSetting]
24 | public EBAGunShipAttack Attack { get; set; } //attack
25 |
26 | [MiscSetting, Description("Always 0 in original objects, purpose unknown")]
27 | public int int4 { get; set; }
28 |
29 | [MiscSetting, Description("Enemy w/LinkID to spawn")]
30 | public int LinkID_EnemySpawning { get; set; } //ComID
31 |
32 | [MiscSetting, Description("Number of times to re-drop enemy from LinkID_EnemySpawning")]
33 | public int NumberOfDrops { get; set; }
34 |
35 | [MiscSetting, Description("Always 0 in original objects, purpose unknown")]
36 | public int int7 { get; set; }
37 |
38 | [MiscSetting]
39 | public float AttackInterval { get; set; } //interval
40 | }
41 | }
42 |
43 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/Templates/Template.cs:
--------------------------------------------------------------------------------
1 | using Heroes.SDK.Custom;
2 | using Heroes.SDK.Definitions.Enums;
3 | using System;
4 | using System.Linq;
5 | using System.Reflection;
6 |
7 | namespace HeroesPowerPlant.LayoutEditor
8 | {
9 | public class Template
10 | {
11 | public Stage Stage;
12 | public string Team;
13 | public string Name;
14 | public string Text;
15 | public byte[] MiscSettings;
16 |
17 | public void SetTeam(string v)
18 | {
19 | switch (v.ToLower())
20 | {
21 | case "pb":
22 | case "db":
23 | Team = "All";
24 | break;
25 | case "p1":
26 | Team = "Sonic";
27 | break;
28 | case "p2":
29 | Team = "Dark";
30 | break;
31 | case "p3":
32 | Team = "Rose";
33 | break;
34 | case "p4":
35 | Team = "Chaotix";
36 | break;
37 | case "p5":
38 | Team = "SuperHard";
39 | break;
40 | }
41 | }
42 |
43 | public void SetLevel(string fileName)
44 | {
45 | Stage = Extensions.StageFromFileNamePrefix(fileName);
46 | }
47 |
48 | public override string ToString()
49 | {
50 | return $"{Stage} - {Team} - {Name}";
51 | }
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LayoutEditor/SetObjects/ObjectClassesShadow/List00/Object0078_EggPierrot.cs:
--------------------------------------------------------------------------------
1 | namespace HeroesPowerPlant.LayoutEditor
2 | {
3 | public class Object0078_EggPierrot : SetObjectShadow
4 | {
5 | public enum EAppear : int
6 | {
7 | WANDER,
8 | OFFSET
9 | }
10 |
11 | // EnemyBase
12 | [MiscSetting(0)]
13 | public float MoveRange { get; set; }
14 | [MiscSetting(1)]
15 | public float SearchRange { get; set; }
16 | [MiscSetting(2)]
17 | public float SearchAngle { get; set; }
18 | [MiscSetting(3)]
19 | public float SearchWidth { get; set; }
20 | [MiscSetting(4)]
21 | public float SearchHeight { get; set; }
22 | [MiscSetting(5)]
23 | public float SearchHeightOffset { get; set; }
24 | [MiscSetting(6)]
25 | public float MoveSpeedRatio { get; set; }
26 |
27 | // end EnemyBase
28 |
29 | [MiscSetting(7)]
30 | public EAppear AppearType { get; set; }
31 | [MiscSetting(8)]
32 | public int UnknownInt { get; set; } //8 Needs Research, found 0/1 but no apparent behavior
33 | [MiscSetting(9)]
34 | public float BombTime { get; set; } //9 BakudanTime
35 | [MiscSetting(10)]
36 | public float OffsetPos_X { get; set; }
37 | [MiscSetting(11)]
38 | public float OffsetPos_Y { get; set; }
39 | [MiscSetting(12)]
40 | public float OffsetPos_Z { get; set; }
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/HeroesPowerPlant/LevelEditor/Models/Structures/ModelConverterDataCollada.cs:
--------------------------------------------------------------------------------
1 | using Collada141;
2 | using SharpDX;
3 | using System.Collections.Generic;
4 |
5 | namespace HeroesPowerPlant.LevelEditor
6 | {
7 | public class ModelConverterDataCollada
8 | {
9 | public string ObjectName;
10 |
11 | public List PositionVertexList = new List();
12 | public List TexCoordList = new List();
13 | public List VColorList = new List();
14 | public List TriangleListList = new List();
15 |
16 | public Matrix TransformMatrix = new Matrix();
17 |
18 | public void GetMatrix(matrix m)
19 | {
20 | TransformMatrix = new Matrix
21 | {
22 | M11 = (float)m.Values[0],
23 | M21 = (float)m.Values[1],
24 | M31 = (float)m.Values[2],
25 | M41 = (float)m.Values[3],
26 | M12 = (float)m.Values[4],
27 | M22 = (float)m.Values[5],
28 | M32 = (float)m.Values[6],
29 | M42 = (float)m.Values[7],
30 | M13 = (float)m.Values[8],
31 | M23 = (float)m.Values[9],
32 | M33 = (float)m.Values[10],
33 | M43 = (float)m.Values[11],
34 | M14 = (float)m.Values[12],
35 | M24 = (float)m.Values[13],
36 | M34 = (float)m.Values[14],
37 | M44 = (float)m.Values[15]
38 | };
39 | }
40 | }
41 | }
42 |
--------------------------------------------------------------------------------