diff -r d68939b3f7f0 -r e76274ce7365 hedgewars/hwengine.dpr --- a/hedgewars/hwengine.dpr Thu Mar 12 20:19:33 2009 +0000 +++ b/hedgewars/hwengine.dpr Thu Mar 12 20:29:01 2009 +0000 @@ -62,6 +62,7 @@ // SinTable.inc // proto.inc +var recordFileName : shortstring = ''; procedure OnDestroy; forward; @@ -214,7 +215,13 @@ val(ParamStr(2), ipcPort); GameType:= gmtLandPreview; if ParamStr(3) <> 'landpreview' then OutError(errmsgShouldntRun, true); - end + end; + 2: begin + PathPrefix:= ParamStr(1); + recordFileName:= ParamStr(2); + for p:= Succ(Low(TPathType)) to High(TPathType) do + if p <> ptMapCurrent then Pathz[p]:= PathPrefix + '/' + Pathz[p] + end; else OutError(errmsgShouldntRun, true) end @@ -244,12 +251,16 @@ ShowMainWindow; InitKbdKeyTable; -InitIPC; + +if recordFileName = '' then InitIPC; WriteLnToConsole(msgGettingConfig); LoadLocale(Pathz[ptLocale] + '/' + cLocaleFName); -SendIPCAndWaitReply('C'); // ask for game config +if recordFileName = '' then + SendIPCAndWaitReply('C') // ask for game config +else + LoadRecordFromFile(recordFileName); s:= 'eproto ' + inttostr(cNetProtoVersion); SendIPCRaw(@s[0], Length(s) + 1); // send proto version