About the safe mode:
Crush has indeed a good idea about the exitGracefully option.
I propose this:
We should make sure that the config is loaded before the graphic engine is initialized as it is the one piece unsafe for some drivers.
Before initializing the graphic engine, if exitGracefully is false, we could show a single pop-up in SDL mode asking if the player wants to start in safe mode or not.
If yes, the game continue in SDL, if the player still wants the normal mode. The graphics engine is deinitialized and reinitialized normally with the nominal fps limit value.
If the player was already playing in SDL mode, then the game starts anyway, only dealing with fps limit value and such, based on the player choice.
About multiple clients at the same time, I guess the client has never and will never be done for that, based on config problems.
I propose this: Have the client check for another instance at start and exit if one found, explaining why to the user, or asking with the same kind of mechanism if the user wants to run a duplicate instance.
Also, we could add a --multiple-instance or --no-config-update command-line option that would load the game but don't write config options.
What do you think?
Buy/Sell in context menu:
- buy/sell in npc context menu. <- Could you give a few word about how you implemented it?
In npc context menu added buy/sell lines. it work like if select sell or buy from BuySelDialog.
And this menu items working only with shop npc. In other do nothing.
If I understand well, the buy/sell context menu is appearing on every NPC, not only shop npc. And that could lead to confusion, maybe. Or am I wrong?
Maybe we could get rid of the need of a context menu by making the buysell window able to make the player buy and sell at once. (Like with two tabs: Buy / sell). The netHandler could take of doing both transactions sequentially, by first selling items if there are any, and then buying whatever wanted?
We could even think of a transaction system doing so: Like if I sell 10 herbs, I earn 50, permitting me to buy the candy for 40GP in a row, by virtually increasing money when adding item to be sold.