Last modified 4 years ago
Last modified on 10/22/08 11:49:31
An attempt to fix #57 (Warzone 2100 doing an emergency shutdown due to music still playing when changing mounted mods)
Now moved to #70 (Implement safe mod switching)
Affects trunk/src/init.c#L161, trunk/src/main.c#L394 and surrounding areas.
Old behaviour
(rough lineout, just looks simpler than the proposed process)
- Start Warzone 2100
- Try to mount /base in all datadirs
- Start a game
- Figure out whether we want to start a mp or campaign game
- Find out which mods are necessary for that
- Clean the search path
- Mount the appropriate new files
- Close a game
- Clean the search path
- Mount /base again
Proposed new behaviour
- Start Warzone 2100
- Try to mount /base in all datadirs
- Mount all mods requested (no more mp/cam only mods -- simplification, may be postponed)
- Start a game
- Shutdown Warzone 2100
- Unmount everything
- Mount /base
- Mount /mp
- Mount all mods requested (no more mp/cam only mods -- simplification, may be postponed)
- Restart Warzone 2100 to catch up all changed files (music, etc)
- Close a game
- Shutdown Warzone 2100
- Unmount everything
- Mount /base
- Mount all mods requested (no more mp/cam only mods -- simplification, may be postponed)
- Restart Warzone 2100
The idea behind this is, that a shutdown and restart ensures that no files are still opened, and thus we can mount / unmount without any problems.
