Show a message when the game is autosaving
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
widelands |
Fix Released
|
Wishlist
|
cghislai |
Bug Description
(Split out from bug 738643)
Currently when the game is autosaving, especially on large maps, it may take some time. While this happens the player does not know what is going on and may think the game froze for a short while. When I discovered it I checked the terminal output to see that it was in fact saving the game, which regular players should not need to do.
Originally written by LAZA:
"there should also comes up a message or dialog window if the game is auto-saved.
i sometimes wonder, why the game slows down and/or is apruptly stopped for the automatic save.
if it is a bigger map and 2, 3 enemies the saving last for some seconds and the player wonders what is happening."
Originally written by me:
I fully agree with providing some feedback during autosaving. I actually noticed this yesterday and planned to report it, but you beat me to it. :)
"I thought about using the chat system or something similar to print some feedback, like "Autosaving..." when it starts, and "Saved" when it is finished. That way, the user will know what the game is doing, while today the game only seems to freeze when the autosave happens, especially on large maps."
Related branches
- SirVer: Approve
-
Diff: 1269 lines (+309/-216)36 files modifiedsrc/chat.h (+6/-0)
src/constants.h (+1/-1)
src/debugconsole.cc (+4/-0)
src/gamecontroller.cc (+31/-3)
src/logic/building.cc (+6/-0)
src/logic/building.h (+5/-0)
src/logic/production_program.cc (+2/-2)
src/logic/productionsite.cc (+1/-1)
src/logic/trainingsite.cc (+1/-6)
src/network/internet_gaming.cc (+8/-1)
src/network/internet_gaming.h (+3/-0)
src/network/netclient.cc (+9/-0)
src/network/netclient.h (+1/-0)
src/network/nethost.cc (+7/-0)
src/save_handler.cc (+10/-2)
src/timestring.cc (+15/-0)
src/timestring.h (+5/-0)
src/ui_basic/progressbar.cc (+9/-12)
src/ui_basic/table.cc (+11/-22)
src/ui_fsmenu/loadgame.cc (+3/-8)
src/ui_fsmenu/loadreplay.cc (+3/-8)
src/ui_fsmenu/mapselect.cc (+3/-3)
src/wlapplication.cc (+7/-5)
src/wui/building_ui.cc (+8/-1)
src/wui/buildingwindow.cc (+5/-46)
src/wui/buildingwindow.h (+0/-1)
src/wui/fieldaction.cc (+1/-43)
src/wui/game_main_menu_save_game.cc (+20/-13)
src/wui/game_main_menu_save_game.h (+1/-1)
src/wui/game_message_menu.cc (+5/-13)
src/wui/interactive_base.cc (+64/-0)
src/wui/interactive_base.h (+3/-0)
src/wui/interactive_player.cc (+13/-10)
src/wui/interactive_player.h (+3/-0)
src/wui/productionsitewindow.cc (+34/-13)
src/wui/productionsitewindow.h (+1/-1)
Changed in widelands: | |
status: | New → Confirmed |
importance: | Undecided → Wishlist |
tags: | added: savegame ui |
Changed in widelands: | |
assignee: | nobody → cghislai (charlyghislain) |
status: | Confirmed → In Progress |
Changed in widelands: | |
milestone: | none → build18-rc1 |
Some random bits from looking at the code: The object that handles the display of chat messages (Interactive_ GameBase. m_chatOverlay) is currently not created if we do not have a multiplayer session. If that is done, one needs to identify the cleanest way for logic code (src/save_ handler. cc) to get hold of the ChatProvider that was passed to the chatOverlay, then you are almost done. But I’m going to bed now :-)