#ifndef _DNAMP1_PARAMETERS_HPP_ #define _DNAMP1_PARAMETERS_HPP_ #include "../../DNACommon/DNACommon.hpp" namespace Retro { namespace DNAMP1 { enum EPickupType { PkPowerBeam, PkIceBeam, PkWaveBeam, PkPlasmaBeam, PkMissile, PkScanVisor, PkMorphBallBomb, PkPowerBomb, PkFlamethrower, PkChargeBeam, PkXRayVisor, PkIceSpreader, PkSpaceJump, PkMorphBall, PkCombatVisor, PkSpiderBall, PkPowerSuit, PkGravitySuit, PkVariaSuit, PkPhazonSuit, PkEnergyTank, PkUnknownItem1, PkHealthRefill, PkUnknownItem2, PkWaveBuster, PkTruth, PkStrength, PkElder, PkWild, PkLifeGiver, PkWarrior, PkChozo, PkNature, PkSun, PkWorld, PkSpirit, PkNewborn }; enum ESpecialFunctionType { SpFnWhat, SpFnPlayerFollowLocator, SpFnSpinnerController, SpFnObjectFollowLocator, SpFnFunction4, SpFnInventoryActivator, SpFnMapStation, SpFnSaveStation, SpFnIntroBossRingController, SpFnViewFrustumTest, SpFnShotSpinnerController, SpFnEscapeSequence, SpFnBossEnergyBar, SpFnEndGame, SpFnHUDFadeIn, SpFnCinematicSkip, SpFnScriptLyaerController, SpFnRainSimulator, SpFnAreaDamage, SpFnObjectFollowObject, SpFnHintSystem, SpFnDropBomb, SpFnFunction22, SpFnMissileStation, SpFnBillboard, SpFnPlayerInAreaRelay, SpFnHUDTarget, SpFnFogFader, SpFnEnterLogbook, SpFnPowerBombStation, SpFnEnding, SpFnFusionRelay, SpFnWeaponSwitch // PAL Only }; struct AnimationParameters : BigYAML { DECL_YAML UniqueID32 animationCharacterSet; Value character; Value defaultAnimation; }; struct BehaveChance : BigYAML { DECL_YAML Value propertyCount; Value unknown1; Value unknown2; Value unknown3; Value unknown4; Value unknown5; Value unknown6; Value unknown7; }; struct DamageInfo : BigYAML { DECL_YAML Value propertyCount; Value weaponType; Value damage; Value radius; Value knockbackPower; }; struct DamageVulnerability : BigYAML { DECL_YAML Value propertyCount; Value power; Value ice; Value wave; Value plasma; Value bomb; Value powerBomb; Value missile; Value boostBall; Value phazon; Value enemyWeapon1; Value enemyWeapon2Poison; Value enemyWeapon3Lava; Value enemyWeapon4; Value unkownWeapon1; Value unkownWeapon2; Value unkownWeapon3; struct ChargedBeams : BigYAML { DECL_YAML Value propertyCount; Value power; Value ice; Value wave; Value plasma; Value phazon; } chargedBeams; struct BeamCombos : BigYAML { DECL_YAML Value propertyCount; Value superMissiles; Value iceSpreader; Value wavebuster; Value flameThrower; Value phazonCombo; } beamCombos; }; struct FlareDefinition : BigYAML { DECL_YAML Value propertyCount; UniqueID32 texture; Value unknown1; Value unknown2; Value unknown4; // CColor }; struct GrappleParameters : BigYAML { DECL_YAML Value propertyCount; Value unknown1; Value unknown2; Value unknown3; Value unknown4; Value unknown5; Value unknown6; Value unknown7; Value unknown8; Value unknown9; Value unknown10; Value unknown11; Value disableTurning; }; struct HealthInfo : BigYAML { DECL_YAML Value propertyCount; Value health; Value knockbackResistence; }; struct HudColor : BigYAML { DECL_YAML Value unknown1; Value unknown2; Value unknown3; Value unknown4; Value unknown5; Value unknown6; Value unknown7; }; struct LightParameters : BigYAML { DECL_YAML Value propertyCount; Value unknown1; Value unknown2; Value shadowTesselation; Value unknown3; Value unknown4; Value unknown5; // CColor Value unknown6; Value worldLightingOptions; Value lightRecalculationOptions; Value unknown7; Value unknown8; Value unknown9; Value unknown10; Value unknown11; }; struct PatternedInfo : BigYAML { DECL_YAML Value propertyCount; Value mass; Value speed; Value turnSpeed; Value detectionRange; Value detectionHeightRange; Value dectectionAngle; Value minAttackRange; Value maxAttackRange; Value averageAttackTime; Value attackTimeVariation; Value leashRadius; Value playerLeashRadius; Value playerLeashTime; DamageInfo contactDamage; Value damageWaitTime; HealthInfo healthInfo; DamageVulnerability damageVulnerability; Value unkown1; Value unkown2; Value unkown3; Value unkown4; Value unkown5; Value unkown6; Value unkown7; Value soundID1; AnimationParameters animationParameters; Value active; UniqueID32 stateMachine; Value unknown8; Value unknown9; Value unknown10; Value unknown11; Value unknown12; UniqueID32 particle1; Value unknown13; Value unknown14; UniqueID32 particle2; Value soundID2; }; struct PlayerHintParameters : BigYAML { DECL_YAML Value propertyCount; Value unknown1; Value unknown2; Value unknown3; Value unknown4; Value unknown5; Value unknown6; Value unknown7; Value unknown8; Value unknown9; Value unknown10; Value unknown11; Value unknown12; Value unknown13; Value unknown14; Value unknown15; }; struct ScannableParameters : BigYAML { DECL_YAML Value propertyCount; UniqueID32 scanId; }; struct VisorParameters : BigYAML { DECL_YAML Value propertyCount; Value unknown1; Value unknown2; Value unknown3; }; struct ActorParameters : BigYAML { DECL_YAML Value propertyCount; LightParameters lightParameters; ScannableParameters scannableParameters; UniqueID32 xrayModel; UniqueID32 xraySkin; UniqueID32 thermalModel; UniqueID32 thermalSkin; Value unknown1; Value unknown2; Value unknown3; VisorParameters visorParameters; Value thermalHeat; Value unknown4; Value unknown5; Value unknown6; }; } } #endif