Multiplayer platform
Revision | 879d8cb793e8794294dca18e7c6df57ddf1bc072 (tree) |
---|---|
Time | 2017-05-22 03:00:23 |
Author | Face |
Commiter | Face |
OMPClient: fixed bug with vessels that create things on startup (e.g. Atlantis)
@@ -1864,6 +1864,8 @@ | ||
1864 | 1864 | OpenDlgClbk(NULL); |
1865 | 1865 | |
1866 | 1866 | dinfo.closeDialogOnceStarted=true; //dinfo.quickLaunch || dinfo.container; change back to this if user wants dialog back at startup |
1867 | + | |
1868 | + EnterCriticalSection(&orbiter); | |
1867 | 1869 | } |
1868 | 1870 | |
1869 | 1871 | void CloseRenderViewport () |
@@ -2691,6 +2693,7 @@ | ||
2691 | 2693 | clientData.LocalsByID->put(line, entry); |
2692 | 2694 | } |
2693 | 2695 | } |
2696 | + selfCreate = false; // Deactivate defense against vessel creation right on startup again. | |
2694 | 2697 | |
2695 | 2698 | //Create neighbour list |
2696 | 2699 | clientData.Neighbours=new CHashTable(USERSIZE); |
@@ -4295,6 +4298,7 @@ | ||
4295 | 4298 | if (state==S_CLICKSTART) |
4296 | 4299 | { |
4297 | 4300 | state=S_WAITSTART; |
4301 | + selfCreate = true; //This is so that vessel modules creating other vessels right on startup don't cause AddVessel to hang. It will be removed at first local vessel run in status display. | |
4298 | 4302 | PostMessage(winfo.idcstartorbi, BM_CLICK, 0, 0); |
4299 | 4303 | } |
4300 | 4304 | if (state==S_CHOOSE) |