author | Tero Marttila <terom@fixme.fi> |
Fri, 18 Jul 2008 21:28:42 +0300 | |
changeset 11175 | 020c61e39c94 |
parent 8626 | 440dfcd14c4a |
permissions | -rw-r--r-- |
8105
8f7fcf4d2b7e
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
1 |
/* $Id$ */ |
8f7fcf4d2b7e
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
2 |
|
8f7fcf4d2b7e
(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. */ |
8f7fcf4d2b7e
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
4 |
|
8f7fcf4d2b7e
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
5 |
#include "stdafx.h" |
8f7fcf4d2b7e
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
6 |
#include "newgrf_storage.h" |
8f7fcf4d2b7e
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
7 |
#include <set> |
8f7fcf4d2b7e
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
8 |
|
8f7fcf4d2b7e
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
9 |
/** The changed storage arrays */ |
8f7fcf4d2b7e
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
10 |
static std::set<BaseStorageArray*> _changed_storage_arrays; |
8f7fcf4d2b7e
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
11 |
|
8f7fcf4d2b7e
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
12 |
void AddChangedStorage(BaseStorageArray *storage) |
8f7fcf4d2b7e
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
13 |
{ |
8f7fcf4d2b7e
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
14 |
_changed_storage_arrays.insert(storage); |
8f7fcf4d2b7e
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
15 |
} |
8f7fcf4d2b7e
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
16 |
|
8f7fcf4d2b7e
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
17 |
void ClearStorageChanges(bool keep_changes) |
8f7fcf4d2b7e
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
18 |
{ |
8f7fcf4d2b7e
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
19 |
/* Loop over all changes arrays */ |
8f7fcf4d2b7e
(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++) { |
8f7fcf4d2b7e
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
21 |
(*it)->ClearChanges(keep_changes); |
8f7fcf4d2b7e
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
22 |
} |
8f7fcf4d2b7e
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
23 |
|
8f7fcf4d2b7e
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
24 |
/* And then clear that array */ |
8f7fcf4d2b7e
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
25 |
_changed_storage_arrays.clear(); |
8f7fcf4d2b7e
(svn r11138) -Codechange: prepare some subsystems for persistent storage for NewGRFs.
rubidium
parents:
diff
changeset
|
26 |
} |