Page MenuHomeFeedback Tracker

1.26 Experimental: Player OnStoreLoad partially fails with data from prior version
Confirmed Internally, NormalPublic

Description

Under 1.26, player OnStoreLoad from prior DayZ versions (e.g. 1.25) partially fails. This is due to two reasons:

  1. PlayerAgentPool::STORAGE_VERSION was bumped to 137 under 1.26 Exp, but DayZ 1.25 had PlayerAgentPool::STORAGE_VERSION 100. Because PlayerBase::OnStoreLoad checks PlayerAgentPool::GetStorageVersion (which simply returns PlayerAgentPool::STORAGE_VERSION), loading the agent pool fails. This can be fixed by changing the line if (version < m_AgentPool.GetStorageVersion()) in PlayerBase::OnStoreLoad to if (version < 100) (changes should probably also be done for the other cases in OnStoreLoad where GetStorageVersion is used for ModifiersManager, SymptomManager, BleedingManagerServer and PlayerStomach).
  2. PlayerStomach doesn't check the version when trying to read temperature in PlayerStomach::OnStoreLoad. Changing the line if (!ctx.Read(temperature)) to if (version >= 140 && !ctx.Read(temperature)) fixes that.

Details

Severity
None
Resolution
Open
Reproducibility
Always
Operating System
Windows 10 x64
Category
General
Steps To Reproduce

Have a storage and players.db from DayZ 1.25 and use it with DayZ 1.26 Exp.

Event Timeline

lava76 created this task.Aug 8 2024, 2:46 PM
lava76 updated the task description. (Show Details)
lava76 updated the task description. (Show Details)Aug 8 2024, 3:41 PM
lava76 changed Category from Scripting to General.
Geez changed the task status from New to Assigned.Aug 8 2024, 5:51 PM
Geez changed the task status from Assigned to Confirmed Internally.Aug 9 2024, 10:36 AM