pioneerspacesim/pioneer — pull request #3201 by lwho (2014-09-29 20:22:09+00:00)
Title: System exploration

This was how it all began: I already had a version of this feature about a year ago, but it felt hacky. So, in January I started thinking about a galaxy generation rewrite. Now, nine months later the new galaxy generation infrastructure is mostly there. So, I thought I would port the system exploration feature to the new infrastructure. Here it is!

This PR consists of four parts:
- Load/Save support for ```GalaxyGenerator```
- Allowing to change explored state of systems (```Sector::System``` and ```StarSystem```)
- Persisting the changed systems (without breaking savegame-compatibility)
- Exposing system exploration to Lua

The persisting of changed systems is a proof-of-concept implementation for the new ```GalaxyGeneration``` versioning. Save-games before the change are loadable and automatically promoted to the current galaxy generator version (older pioneers can not load the savegames anymore).

The ingame-exploration of a system is triggered from Lua. Currently there is a module included, that automatically explores an unexplored system when it is entered. Maybe, someone at the Lua front will soon invent a new ship component that will be required to explore a system...