- This unified structure merges the settings in settings.c (concerned with the ini file) and the ones in setting_gui., having to do with the GUI. I tried to give sensible min and maximum values to _patches that were not present in the GUI I hope they work out all right.
- All patch settings miss their callback function which have been temporarily reset to NULL
- Fixed a really small typo in a Doxygen comment in settings.h
- NOTE! When for example _patches are saved to the savegame (as are _gameopt_settings now), you cannot just blindly edit the struct. The same rules apply as to all the other SaveLoad structs. Eg correct CONDVAR's and only adding new entries at the end.
- NOTE! The game is not compilable after this commit.
- This unified structure consists of a SaveLoad type which stores all data relevant about the variable internals such as type, mem/filesize, address, version-control. The SettingDesc type is concerned more about the representation. Things like default value, string-name, minimum/maximum values, gui-behaviour etc.
- The SaveLoad type has received a few flags controlling saving/loading. These are:
SLF_SAVE_NO: the setting is not saved with the savegame, effectively making this setting player-based. Eg. it will NOT be overwritten when joining a network-game
SLF_CONFIG_NO: the setting is not saved to the configuration file so you cannot overwrite it ingame.
SLF_NETWORK_NO: the setting is not synchronised with the local settings when the game is loaded during network-play. Note that when SLF_SAVE_NO is set, SLF_NETWORK_NO is also set (which is logical), at least if the proper macros are used (in [2/4]).
- NOTE! The game is not compilable after this commit.
Use the now generalized ReadValue/WriteValue functions as well as using general variable-types (SLE_VAR, instead of custom CE_ ones).
Remove the CE_CLICK type and use a SLE_BOOL type instead with a flag of CE_CLICK.
Remove stepsize from the struct. The stepsize is automatically calculated from the minimum and maximum values (in 20 steps).
The corresponding TileInfos look like global variables at the first glance, but always get written to before reading in each function they are used in.
the package is long gone and people don't read a doc about a missing package when they don't expect to find one
the doc is called install even though it's not a real install and have nothing to do with make install. People just read it the first time they see it when it's called install ;)
G4 have no problems using G3 code while G5 can, but really benefit from getting their own optimised code (Apple: G5 is not just a fast G4)
Also changed FAT_BINARY to UNIVERSAL_BINARY since Apple removed most (all?) references to fat binaries on their homepage two days after I added FAT_BINARY
rewrote QZ_DrawScreen to only redraw dirty rectangles (instead of everything)
This reduce the OpenTTD time spent on this function from 75% to 6,7% (in main menu)
Note: window mode is unaffected by this commit
Note: the mouse pointer can now leave artefacts in debug mode
3626 broke the game on Big endian CPUs and this is a quick dirty fix
so the nightly builds for OSX and MorphOS will work again
the game will still fail on 64 bit BE CPUs
note: the game runs in 32 bit mode on G5, so it will work on G5
we need to make a better fix for this, but we also need the nightly builds to work