Page 1 of 1

PGE History Manager

Posted: 18 Jan 2015, 10:59
by Kevsoft
I am currently rewriting the history manager and currently have a design decision to make.

The old system did always the opposite of the actions it recorded, but when a history operation is missing the whole system get messed up.
Anyway, I can redesign the new system that it will save up the state of the old data and the state of the new data. However, it will use more memory.

So in short:
- The old system Pros:
Does save memory.


- The old system Cons:
This system is not reliable.


- The new system Pros:
Will really restore the last operation on their exact position.

- The old system Cons:
Will cost more memory space.

Posted: 18 Jan 2015, 13:10
by Squishy Rex
To be honest, I would much rather sacrifice a little bit of memory space to have a more reliable history system as I'm sure others would agree. I'd definitely like to see a new history system.

Posted: 18 Jan 2015, 19:19
by Veudekato
i think old system enough (better) . But it saves not all changes in level(And new too?) If you do something wrong, and dont seen this, you make many changes in level. And you need to remove it. How it can be in new system? Or i didnt understood

Posted: 18 Jan 2015, 20:52
by Wohlstand
Veudekato wrote:i think old system enough (better) . But it saves not all changes in level(And new too?) If you do something wrong, and dont seen this, you make many changes in level. And you need to remove it. How it can be in new system? Or i didnt understood
Here about internal history implementation: what we will remember: whole entry of item or some setting of item.
If we will remember whole entry of item, we doesn't check each property and this way taking more RAM (by anyway, each item entry takes ~ 10-30 bytes)
But when we remember some settings, this will store only some setting values but not whole entry. This way requiring to implementation remembering for each setting when it was created (usually new settings aren't remembers because they aren't implemented into history manager).