mirror of
https://gitlab.com/Syroot/Worms.git
synced 2025-03-04 09:25:22 +03:00
Fix WWP land data IMG alignment and accept bugged PX weapon blocks.
This commit is contained in:
parent
e4f3c0ced1
commit
5e23aef58c
@ -40,7 +40,7 @@ namespace Syroot.Worms.Gen2.Armageddon.ProjectX
|
||||
{
|
||||
using (BinaryDataReader reader = new BinaryDataReader(stream, Encoding.ASCII, true))
|
||||
{
|
||||
Collisions = reader.ReadEnum<CollisionFlags>(true);
|
||||
Collisions = reader.ReadEnum<CollisionFlags>(false);
|
||||
Bounciness = reader.ReadInt32();
|
||||
Acceleration = reader.ReadInt32();
|
||||
Sound = reader.ReadInt32();
|
||||
|
@ -29,7 +29,7 @@ namespace Syroot.Worms.Gen2.Armageddon.ProjectX
|
||||
{
|
||||
reader.Seek(4);
|
||||
Sprite = reader.ReadStruct<Sprite>();
|
||||
HomeStyle = reader.ReadEnum<HomeStyle>(true);
|
||||
HomeStyle = reader.ReadEnum<HomeStyle>(false);
|
||||
Delay = reader.ReadInt32();
|
||||
Duration = reader.ReadInt32();
|
||||
}
|
||||
|
@ -54,8 +54,8 @@ namespace Syroot.Worms.Gen2.Armageddon.ProjectX
|
||||
{
|
||||
using (BinaryDataReader reader = new BinaryDataReader(stream, Encoding.ASCII, true))
|
||||
{
|
||||
RoamCollisions = reader.ReadEnum<CollisionFlags>(true);
|
||||
ExplosionCollisions = reader.ReadEnum<CollisionFlags>(true);
|
||||
RoamCollisions = reader.ReadEnum<CollisionFlags>(false);
|
||||
ExplosionCollisions = reader.ReadEnum<CollisionFlags>(false);
|
||||
WalkSpeed = reader.ReadInt32();
|
||||
Unknown = reader.ReadInt32();
|
||||
JumpAngleEdge = reader.ReadInt32();
|
||||
|
@ -40,7 +40,7 @@ namespace Syroot.Worms.Gen2.Armageddon.ProjectX
|
||||
HorizontalSpeed = reader.ReadInt32();
|
||||
Sound = reader.ReadInt32();
|
||||
|
||||
Action = reader.ReadEnum<WeaponAirstrikeAction>(true);
|
||||
Action = reader.ReadEnum<WeaponAirstrikeAction>(false);
|
||||
switch (Action)
|
||||
{
|
||||
case WeaponAirstrikeAction.Launcher:
|
||||
|
@ -52,7 +52,7 @@ namespace Syroot.Worms.Gen2.Armageddon.ProjectX
|
||||
BulletSpread = reader.ReadInt32();
|
||||
Burst = reader.ReadInt32();
|
||||
BurstSpread = reader.ReadInt32();
|
||||
Collisions = reader.ReadEnum<CollisionFlags>(true);
|
||||
Collisions = reader.ReadEnum<CollisionFlags>(false);
|
||||
ExplosionBias = reader.ReadInt32();
|
||||
ExplosionPower = reader.ReadInt32();
|
||||
MaxDamage = reader.ReadInt32();
|
||||
|
@ -69,7 +69,7 @@ namespace Syroot.Worms.Gen2.Armageddon.ProjectX
|
||||
SpriteSize = reader.ReadInt32();
|
||||
FixedSpeed = reader.ReadInt32();
|
||||
RunAway = reader.ReadBoolean(BinaryBooleanFormat.NonZeroDword);
|
||||
Collisions = reader.ReadEnum<CollisionFlags>(true);
|
||||
Collisions = reader.ReadEnum<CollisionFlags>(false);
|
||||
ExplosionBias = reader.ReadInt32();
|
||||
ExplosionPushPower = reader.ReadInt32();
|
||||
ExplosionDamage = reader.ReadInt32();
|
||||
@ -85,7 +85,7 @@ namespace Syroot.Worms.Gen2.Armageddon.ProjectX
|
||||
Sound = reader.ReadStruct<Sound>();
|
||||
ExplodeOnSpace = reader.ReadBoolean(BinaryBooleanFormat.NonZeroDword);
|
||||
|
||||
ExplosionAction = reader.ReadEnum<ExplosionAction>(true);
|
||||
ExplosionAction = reader.ReadEnum<ExplosionAction>(false);
|
||||
switch (ExplosionAction)
|
||||
{
|
||||
case ExplosionAction.Bounce:
|
||||
@ -103,7 +103,7 @@ namespace Syroot.Worms.Gen2.Armageddon.ProjectX
|
||||
}
|
||||
|
||||
reader.Position = offset + 180;
|
||||
ExplosionTarget = reader.ReadEnum<ExplosionTarget>(true);
|
||||
ExplosionTarget = reader.ReadEnum<ExplosionTarget>(false);
|
||||
reader.Seek(sizeof(int));
|
||||
switch (ExplosionTarget)
|
||||
{
|
||||
|
@ -68,7 +68,7 @@ namespace Syroot.Worms.Gen2.Armageddon.ProjectX
|
||||
Speed = reader.ReadInt32();
|
||||
EjectionAngle = reader.ReadInt32();
|
||||
DispersionAngle = reader.ReadInt32();
|
||||
Collisions = reader.ReadEnum<CollisionFlags>(true);
|
||||
Collisions = reader.ReadEnum<CollisionFlags>(false);
|
||||
ExplosionBias = reader.ReadInt32();
|
||||
ExplosionPushPower = reader.ReadInt32();
|
||||
ExplosionDamage = reader.ReadInt32();
|
||||
@ -84,7 +84,7 @@ namespace Syroot.Worms.Gen2.Armageddon.ProjectX
|
||||
Sound = reader.ReadStruct<Sound>();
|
||||
ExplodeOnSpace = reader.ReadBoolean(BinaryBooleanFormat.NonZeroDword);
|
||||
|
||||
ExplosionAction = reader.ReadEnum<ExplosionAction>(true);
|
||||
ExplosionAction = reader.ReadEnum<ExplosionAction>(false);
|
||||
switch (ExplosionAction)
|
||||
{
|
||||
case ExplosionAction.Bounce:
|
||||
|
@ -131,7 +131,7 @@ namespace Syroot.Worms.Gen2.Armageddon.ProjectX
|
||||
Unknown2 = reader.ReadInt32();
|
||||
|
||||
// Read the activation and the corresponding weapon settings.
|
||||
Activation = reader.ReadEnum<WeaponActivation>(true);
|
||||
Activation = reader.ReadEnum<WeaponActivation>(false);
|
||||
switch (Activation)
|
||||
{
|
||||
case WeaponActivation.Airstrike:
|
||||
@ -140,7 +140,7 @@ namespace Syroot.Worms.Gen2.Armageddon.ProjectX
|
||||
break;
|
||||
case WeaponActivation.Crosshair:
|
||||
reader.Seek(sizeof(int));
|
||||
CrosshairAction = reader.ReadEnum<WeaponCrosshairAction>(true);
|
||||
CrosshairAction = reader.ReadEnum<WeaponCrosshairAction>(false);
|
||||
switch (CrosshairAction)
|
||||
{
|
||||
case WeaponCrosshairAction.Bow:
|
||||
@ -158,7 +158,7 @@ namespace Syroot.Worms.Gen2.Armageddon.ProjectX
|
||||
}
|
||||
break;
|
||||
case WeaponActivation.Spacebar:
|
||||
SpacebarAction = reader.ReadEnum<WeaponSpacebarAction>(true);
|
||||
SpacebarAction = reader.ReadEnum<WeaponSpacebarAction>(false);
|
||||
switch (SpacebarAction)
|
||||
{
|
||||
case WeaponSpacebarAction.Armageddon:
|
||||
@ -219,7 +219,7 @@ namespace Syroot.Worms.Gen2.Armageddon.ProjectX
|
||||
break;
|
||||
case WeaponActivation.Throw:
|
||||
ThrowHerdCount = reader.ReadInt32();
|
||||
ThrowAction = reader.ReadEnum<WeaponThrowAction>(true);
|
||||
ThrowAction = reader.ReadEnum<WeaponThrowAction>(false);
|
||||
switch (ThrowAction)
|
||||
{
|
||||
case WeaponThrowAction.Canister:
|
||||
|
@ -53,7 +53,7 @@ namespace Syroot.Worms.Gen2
|
||||
/// <param name="alignData"><c>true</c> to align the data array by 4 bytes.</param>
|
||||
internal Image(Stream stream, bool alignData)
|
||||
{
|
||||
Load(stream);
|
||||
Load(stream, alignData);
|
||||
}
|
||||
|
||||
// ---- PROPERTIES ---------------------------------------------------------------------------------------------
|
||||
|
Loading…
x
Reference in New Issue
Block a user