Skip to content
Merged
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
10 changes: 10 additions & 0 deletions SRTPluginProviderRE0/BillyCostumeEnumeration.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
namespace SRTPluginProviderRE0
{
public enum BillyCostumeEnumeration : int // mChangePlayerID
{
Billy = 11,
Jacket = 13,
WolfForce = 14,
Cody = 6,
}
}
7 changes: 3 additions & 4 deletions SRTPluginProviderRE0/CharacterEnumeration.cs
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
namespace SRTPluginProviderRE0
{
public enum CharacterEnumeration : int // mChangePlayerID
public enum CharacterEnumeration : int
{
Player = 0,
Rebecca = 15,
Billy = 11,
Wesker = 1
Rebecca = 3,
Billy = 5,
}
}
19 changes: 15 additions & 4 deletions SRTPluginProviderRE0/GameMemoryRE0.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,13 @@ public class GameMemoryRE0 : IGameMemoryRE0
internal GamePlayer _player;

public string PlayerName => string.Format("{0}: ", Player.PlayerCharacter.ToString());
public string PlayerCostume => $"{Player.PlayerCostume}";

public GamePlayer Player2 { get => _player2; set => _player2 = value; }
internal GamePlayer _player2;

public string PlayerName2 => string.Format("{0}: ", Player2.PlayerCharacter.ToString());
public string PlayerCostume2 => $"{Player2.PlayerCostume}";

public GameStats Stats { get => _stats; set => _stats = value; }
internal GameStats _stats;
Expand All @@ -41,10 +43,10 @@ public GameInventoryEntry CurrentWeapon
{
get
{
if (EquippedSlot != -1)
return PlayerInventory[EquippedSlot];
else
if (EquippedSlot < 0 || EquippedSlot >= PlayerInventory.Length)
return _emptyInventory;
else
return PlayerInventory[EquippedSlot];
}
}
internal GameInventoryEntry _emptyInventory = new GameInventoryEntry();
Expand All @@ -58,7 +60,16 @@ public GameInventoryEntry CurrentWeapon
public GameInventoryEntry CurrentPersonal2 { get => _currentPersonal2; set => _currentPersonal2 = value; }
internal GameInventoryEntry _currentPersonal2;

public GameInventoryEntry CurrentWeapon2 => PlayerInventory2[EquippedSlot2];
public GameInventoryEntry CurrentWeapon2
{
get
{
if (EquippedSlot2 < 0 || EquippedSlot2 >= PlayerInventory2.Length)
return _emptyInventory;
else
return PlayerInventory2[EquippedSlot2];
}
}

public GameEnemy[] EnemyHealth { get => _enemyHealth; set => _enemyHealth = value; }
internal GameEnemy[] _enemyHealth;
Expand Down
13 changes: 13 additions & 0 deletions SRTPluginProviderRE0/RebeccaCostumeEnumeration.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
namespace SRTPluginProviderRE0
{
public enum RebeccaCostumeEnumeration : int // mChangePlayerID
{
Rebecca = 15,
STARS1996 = 18,
STARSPrototype = 20,
SportswearCheerleader = 7,
Western = 11,
Leather = 10,
Nurse = 13,
}
}
4 changes: 2 additions & 2 deletions SRTPluginProviderRE0/SRTPluginProviderRE0.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
<Copyright>Copyright © 2025 $(Authors)</Copyright>
<Product>Resident Evil 0 Remake (2016) Memory Provider Plugin</Product>
<Description>A provider plugin for the SRT Host to provide memory values to other plugins.</Description>
<Version>1.1.0</Version>
<FileVersion>1.1.0</FileVersion>
<Version>1.2.0</Version>
<FileVersion>1.2.0</FileVersion>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<DebugType>embedded</DebugType>
<!-- netcoreapp3.1 had to be hardcoded here because this project reports $(TargetFramework) as netstandard2.0 (rightfully so) and I am not sure how this project's csproj can auto-detect another project's framework version to copy it to the appropriate folder so we're just... hardcoding this. -->
Expand Down
24 changes: 22 additions & 2 deletions SRTPluginProviderRE0/Structs/GameStructs/GamePlayer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,30 @@ namespace SRTPluginProviderRE0.Structs.GameStructs

public struct GamePlayer
{
[FieldOffset(0xFC)] private int id;
[FieldOffset(0xFC)] private int costume;
[FieldOffset(0x100)] private int character;
[FieldOffset(0x1030)] private int currentHP;

public CharacterEnumeration PlayerCharacter => (CharacterEnumeration)id;
public string PlayerCostume
{
get
{
switch (PlayerCharacter)
{
case CharacterEnumeration.Rebecca:
return $"{(RebeccaCostumeEnumeration)costume}";
case CharacterEnumeration.Billy:
return $"{(BillyCostumeEnumeration)costume}";
//case CharacterEnumeration.Wesker:
// return $"{(WeskerCostumeEnumeration)costume}";
default:
return $"{costume}";
}
}
}

public CharacterEnumeration PlayerCharacter => (CharacterEnumeration)character;

public int CurrentHP => currentHP;
public int MaxHP => PlayerCharacter == CharacterEnumeration.Rebecca ? 150 : 250;
public float Percentage => CurrentHP > 0 ? (float)CurrentHP / (float)MaxHP : 0f;
Expand Down
7 changes: 7 additions & 0 deletions SRTPluginProviderRE0/WeskerCostumeEnumeration.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
namespace SRTPluginProviderRE0
{
public enum WeskerCostumeEnumeration : int // mChangePlayerID
{
Wesker = 1,
}
}