author | rubidium |
Wed, 17 Dec 2008 23:08:11 +0000 | |
changeset 10434 | 3659467c844c |
parent 8130 | d2eb7d04f6e1 |
permissions | -rw-r--r-- |
7609
b70ffc13652a
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
1 |
/* $Id$ */ |
b70ffc13652a
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
2 |
|
b70ffc13652a
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
3 |
/** @file newgrf_storage.cpp Functionality related to the temporary and persistent storage arrays for NewGRFs. */ |
b70ffc13652a
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
4 |
|
b70ffc13652a
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
5 |
#include "stdafx.h" |
b70ffc13652a
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
6 |
#include "newgrf_storage.h" |
b70ffc13652a
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
7 |
#include <set> |
b70ffc13652a
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
8 |
|
b70ffc13652a
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
9 |
/** The changed storage arrays */ |
b70ffc13652a
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
10 |
static std::set<BaseStorageArray*> _changed_storage_arrays; |
b70ffc13652a
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
11 |
|
b70ffc13652a
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
12 |
void AddChangedStorage(BaseStorageArray *storage) |
b70ffc13652a
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
13 |
{ |
b70ffc13652a
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
14 |
_changed_storage_arrays.insert(storage); |
b70ffc13652a
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
15 |
} |
b70ffc13652a
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
16 |
|
b70ffc13652a
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
17 |
void ClearStorageChanges(bool keep_changes) |
b70ffc13652a
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
18 |
{ |
b70ffc13652a
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
19 |
/* Loop over all changes arrays */ |
b70ffc13652a
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
20 |
for (std::set<BaseStorageArray*>::iterator it = _changed_storage_arrays.begin(); it != _changed_storage_arrays.end(); it++) { |
b70ffc13652a
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
21 |
(*it)->ClearChanges(keep_changes); |
b70ffc13652a
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
22 |
} |
b70ffc13652a
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
23 |
|
b70ffc13652a
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
24 |
/* And then clear that array */ |
b70ffc13652a
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
25 |
_changed_storage_arrays.clear(); |
b70ffc13652a
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
26 |
} |