Open Danielovich7 opened 1 year ago
Game using index based on DebrisTypes
items count , ofcourse it will desync because it will do out of bound array access for the DebrisMaximums
especially when DebrisMaximums
items count is less than DebrisTypes
items count , so this is not an bug but user error , as you can see on this address 0x0007023C8
for the details.
Game using index based on
DebrisTypes
items count , ofcourse it will desync because it will do out of bound array access for theDebrisMaximums
especially whenDebrisMaximums
items count is less thanDebrisTypes
items count , so this is not an bug but user error , as you can see on this address0x0007023C8
for the details.
Well probably the report could've been a bit clearer, but regardless the point is that it should not just silently fail somewhere. The point is that there should be either a clear warning that this causes a desync or maybe even a sanitized value which would not. Or the game should outright refuse to work until that is fixed.
Game using index based on
DebrisTypes
items count , ofcourse it will desync because it will do out of bound array access for theDebrisMaximums
especially whenDebrisMaximums
items count is less thanDebrisTypes
items count , so this is not an bug but user error , as you can see on this address0x0007023C8
for the details.Well probably the report could've been a bit clearer, but regardless the point is that it should not just silently fail somewhere. The point is that there should be either a clear warning that this causes a desync or maybe even a sanitized value which would not. Or the game should outright refuse to work until that is fixed.
well , i agree that it problably just fail or maybe should put warning somewhere .
should we do TechnoType
evaluation like ares does ? so we can put more warnings in case user doing something that not suppose to be ,..
Since Ares is stale - it will probably be a good idea to do so. The behavior I see best is emitting a developer warning and automatically fixing the value to closest valid one.
Since Ares is stale - it will probably be a good idea to do so. The behavior I see best is emitting a developer warning and automatically fixing the value to closest valid one.
Description
If there is more debris listed in DebrisTypes= than there are number of debris listed in MaximumDebirs=, it causes desync. That was the desync issue in Red Alert 20XX pre-1.0.6b. Removing the too many debris in DebrisTypes= fixed the issue.
Conditions to reproduce
On a TechnoType, add more debris in DebrisTypes= than available MaximumDebris=. Make sure they are Voxel debris.
INI code
Steps to reproduce
...
Expected behaviour
A warning in
debug.log
, maybe with somehow sanitized value which would not cause a desync.Actual behaviour
It causes desync.
Additional context
No response
Checklist