Skip to content

Commit

Permalink
Actors: C_FireTarget support
Browse files Browse the repository at this point in the history
  • Loading branch information
Greavesy1899 committed Mar 28, 2024
1 parent 0bbf508 commit cf1fb6d
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 0 deletions.
1 change: 1 addition & 0 deletions Mafia2Libs/Controls/ActorItemAddOption.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ public ActorItemAddOption()
TypeCombo.Items.Add(ActorTypes.C_ActorDetector);
TypeCombo.Items.Add(ActorTypes.Blocker);
TypeCombo.Items.Add(ActorTypes.C_StaticWeapon);
TypeCombo.Items.Add(ActorTypes.FireTarget);
TypeCombo.Items.Add(ActorTypes.LightEntity);
TypeCombo.Items.Add(ActorTypes.C_Cutscene);
TypeCombo.Items.Add(ActorTypes.C_ScriptEntity);
Expand Down
2 changes: 2 additions & 0 deletions Mafia2Libs/ResourceTypes/FileTypes/Actors/ActorFactory.cs
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@ public static IActorExtraDataInterface CreateExtraData(ActorTypes type)
return new ActorStaticWeapon();
case ActorTypes.C_StaticParticle:
return new ActorStaticParticle();
case ActorTypes.FireTarget:
return new ActorFireTarget();
case ActorTypes.LightEntity:
return new ActorLight();
case ActorTypes.C_Cutscene:
Expand Down
48 changes: 48 additions & 0 deletions Mafia2Libs/ResourceTypes/FileTypes/Actors/ActorTypes.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3034,4 +3034,52 @@ public int GetSize()
return 500;
}
}

public class ActorFireTarget : IActorExtraDataInterface
{
public int FireTargetType { get; set; }
public float Timeout { get; set; }
public float Range { get; set; }
public float Radius { get; set; }
public float Height { get; set; }
public Vector3 BoxExtents { get; set; }
public int ParticleId { get; set; }
public float ParticleScale { get; set; }
public int Probability { get; set; }
public int SoundId { get; set; }

public void ReadFromFile(MemoryStream InStream, bool bIsBigEndian)
{
FireTargetType = InStream.ReadInt32(bIsBigEndian);
Timeout = InStream.ReadSingle(bIsBigEndian);
Range = InStream.ReadSingle(bIsBigEndian);
Radius = InStream.ReadSingle(bIsBigEndian);
Height = InStream.ReadSingle(bIsBigEndian);
BoxExtents = Vector3Utils.ReadFromFile(InStream, bIsBigEndian);
ParticleId = InStream.ReadInt32(bIsBigEndian);
ParticleScale = InStream.ReadSingle(bIsBigEndian);
Probability = InStream.ReadInt32(bIsBigEndian);
SoundId = InStream.ReadInt32(bIsBigEndian);
}

public void WriteToFile(MemoryStream InStream, bool bIsBigEndian)
{
InStream.Write(FireTargetType, bIsBigEndian);
InStream.Write(Timeout, bIsBigEndian);
InStream.Write(Range, bIsBigEndian);
InStream.Write(Radius, bIsBigEndian);
InStream.Write(Height, bIsBigEndian);
BoxExtents.WriteToFile(InStream, bIsBigEndian);
InStream.Write(ParticleId, bIsBigEndian);
InStream.Write(ParticleScale, bIsBigEndian);
InStream.Write(Probability, bIsBigEndian);
InStream.Write(SoundId, bIsBigEndian);
}

public int GetSize()
{
return 48;
}
}

}

0 comments on commit cf1fb6d

Please sign in to comment.