(svn r1407) -Codechange: changed a lot around _stations, _vehicles, _towns and _industries
(in prepare of dynamic arrays):
- DEREF_XXX is changed into GetXXX
- All direct call are directed via GetXXX
- struct Industry has now an index-field
- ENUM'd some stuff
- Replaced home built loops with FOR_ALL_XXX
- Added _stations_size, _vehicles_size, ... which gives the length of the
array (which will be dynamic in the near future)
- Changed lengtof(XXX) to _XXX_size (e.g. _stations_size)
- Removed all endof(XXX) (because mostly it was part of a FOR_ALL_XXX)
- Made the sort-functions of all 4 dynamic
- Made all 4 Initialize functions more of the same
- Some minor tab-fixing and stuff
(tnx to Tron for proof-reading my 100kb patch ;))
Note for all: please do NOT directly call _stations, _vehicles, _towns and
_industries, but use the right wrapper to access them. Thank you.
Ps: please also do not use 'v++', where v is of type Vehicle *.
#ifndef SETTINGS_H
#define SETTINGS_H
enum SettingDescType {
SDT_INTX, // must be 0
SDT_ONEOFMANY,
SDT_MANYOFMANY,
SDT_BOOLX,
SDT_STRING,
SDT_STRINGBUF,
SDT_INTLIST,
SDT_STRINGQUOT, // string with quotation marks around it
SDT_INT8 = 0 << 4,
SDT_UINT8 = 1 << 4,
SDT_INT16 = 2 << 4,
SDT_UINT16 = 3 << 4,
SDT_INT32 = 4 << 4,
SDT_UINT32 = 5 << 4,
SDT_CALLBX = 6 << 4,
SDT_UINT = SDT_UINT32,
SDT_INT = SDT_INT32,
SDT_NOSAVE = 1 << 8,
SDT_CALLB = SDT_INTX | SDT_CALLBX,
SDT_BOOL = SDT_BOOLX | SDT_UINT8,
};
typedef enum {
IGT_VARIABLES = 0, // values of the form "landscape = hilly"
IGT_LIST = 1, // a list of values, seperated by \n and terminated by the next group block
} IniGroupType;
typedef struct SettingDesc {
const char *name;
int flags;
const void *def;
void *ptr;
const void *b;
} SettingDesc;
#endif /* SETTINGS_H */