Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ BinaryAssetBuilder implementation for Kane's Wrath in .Net
* [ ] MissionObjectiveList 0xC385A8C1
* [ ] StringHashTable 0x2C112832
* [ ] InGameUISettings 0x49FE3760
* [ ] DamageFX 0x4DF81EBD
* [x] DamageFX
* [ ] MultiplayerSettings 0x1BAF4C42
* [ ] OnlineChatColors 0xF3645AA7
* [ ] MultiplayerColor 0x966F336A
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,14 @@ public void Initialize(TargetPlatform platform)
0x9CDD1086u,
#elif KANESWRATH
0x6D59C409u,
#endif
false),

(typeof(DamageFX),
#if TIBERIUMWARS
0x4DF81EBDu,
#elif KANESWRATH
0xEC4577C9u,
#endif
false),
})
Expand Down
49 changes: 24 additions & 25 deletions source/SageBinaryData/SageBinaryData/DamageFX.cs
Original file line number Diff line number Diff line change
@@ -1,32 +1,31 @@
using Relo;
using System.Runtime.InteropServices;

namespace SageBinaryData
namespace SageBinaryData;

[StructLayout(LayoutKind.Sequential)]
public struct DamageFXGroup
{
[StructLayout(LayoutKind.Sequential)]
public struct DamageFXGroup
{
public DamageFXType Type;
public float Amount;
public Time ThrottleTime;
public AssetReference<FXList> MajorFX;
public AssetReference<FXList> MinorFX;
public AssetReference<FXList> MajorVeteranFX;
public AssetReference<FXList> MinorVeteranFX;
}
public DamageFXType Type;
public float Amount;
public Time ThrottleTime;
public AssetReference<FXList> MajorFX;
public AssetReference<FXList> MinorFX;
public AssetReference<FXList> MajorVeteranFX;
public AssetReference<FXList> MinorVeteranFX;
}

[StructLayout(LayoutKind.Sequential)]
public struct VeterancyDamageFXGroup
{
public DamageFXGroup Base;
public VeterancyLevel Veterancy;
}
[StructLayout(LayoutKind.Sequential)]
public struct VeterancyDamageFXGroup
{
public DamageFXGroup Base;
public VeterancyLevel Veterancy;
}

[StructLayout(LayoutKind.Sequential)]
public struct DamageFX
{
public BaseAssetType Base;
public List<DamageFXGroup> FXGroup;
public List<VeterancyDamageFXGroup> VeterancyFXGroup;
}
[StructLayout(LayoutKind.Sequential)]
public struct DamageFX
{
public BaseAssetType Base;
public List<DamageFXGroup> FXGroup;
public List<VeterancyDamageFXGroup> VeterancyFXGroup;
}
110 changes: 60 additions & 50 deletions source/SageBinaryData/SageBinaryData/Includes/DamageFX.cs
Original file line number Diff line number Diff line change
@@ -1,52 +1,62 @@
namespace SageBinaryData
namespace SageBinaryData;

public enum DamageFXType
{
public enum DamageFXType
{
DEFAULT = -1,
GDI_CANNON,
GDI_MISSILE,
GDI_MINE,
GDI_LASER,
GDI_MACHINEGUN,
GDI_RIFLE,
GDI_GRENADE,
GDI_FLAMETHROWER,
GDI_BOMB,
GDI_SONIC,
GDI_RAILGUN,
GDI_ION,
GDI_SHOCKWAVE,
NOD_CANNON,
NOD_MISSILE,
NOD_MINE,
NOD_LASER,
NOD_MACHINEGUN,
NOD_RIFLE,
NOD_GRENADE,
NOD_FLAMETHROWER,
NOD_BOMB,
NOD_SONIC,
NOD_RAILGUN,
NOD_ION,
NOD_SEED,
NOD_HALLUCINE,
ALIEN_CANNON,
ALIEN_PLASMADISK,
ALIEN_MINE,
ALIEN_LASER,
ALIEN_MACHINEGUN,
ALIEN_BUZZER,
ALIEN_GRENADE,
ALIEN_TIOXIN,
ALIEN_BOMB,
ALIEN_ION,
ALIEN_SONIC,
ALIEN_RAILGUN,
ALIEN_DISINTEGRATOR,
REFLECTED,
GENERIC_FIRE,
POISON,
CLUBBING,
UNDEFINED
}
DEFAULT = -1,
GDI_CANNON,
GDI_MISSILE,
GDI_MINE,
GDI_LASER,
GDI_MACHINEGUN,
GDI_RIFLE,
GDI_GRENADE,
GDI_FLAMETHROWER,
GDI_BOMB,
GDI_SONIC,
GDI_RAILGUN,
GDI_ION,
GDI_SHOCKWAVE,
NOD_CANNON,
NOD_MISSILE,
NOD_MINE,
NOD_LASER,
NOD_MACHINEGUN,
NOD_RIFLE,
NOD_GRENADE,
NOD_FLAMETHROWER,
NOD_BOMB,
NOD_SONIC,
NOD_RAILGUN,
NOD_ION,
NOD_SEED,
NOD_HALLUCINE,
#if KANESWRATH
NOD_PARTICLEBM,
#endif
ALIEN_CANNON,
ALIEN_PLASMADISK,
ALIEN_MINE,
ALIEN_LASER,
ALIEN_MACHINEGUN,
ALIEN_BUZZER,
ALIEN_GRENADE,
ALIEN_TIOXIN,
ALIEN_BOMB,
ALIEN_ION,
ALIEN_SONIC,
ALIEN_RAILGUN,
ALIEN_DISINTEGRATOR,
REFLECTED,
GENERIC_FIRE,
POISON,
CLUBBING,
UNDEFINED,
#if KANESWRATH
NOD_ARTILLERY,
NOD_SCHPARTICLE_BM,
NOD_TIBCOREMISSILE,
GDI_ECHOCANNON,
ALIEN_TIBSHARD,
ALIEN_TIBSHARDBLUE
#endif
}