equal
deleted
inserted
replaced
11 |
11 |
12 procedure setSeed(seed: PChar); cdecl; |
12 procedure setSeed(seed: PChar); cdecl; |
13 function getSeed: PChar; cdecl; |
13 function getSeed: PChar; cdecl; |
14 procedure setTheme(themeName: PChar); cdecl; |
14 procedure setTheme(themeName: PChar); cdecl; |
15 procedure setScript(scriptName: PChar); cdecl; |
15 procedure setScript(scriptName: PChar); cdecl; |
|
16 procedure setScheme(schemeName: PChar); cdecl; |
16 |
17 |
17 procedure tryAddTeam(teamName: PChar); cdecl; |
18 procedure tryAddTeam(teamName: PChar); cdecl; |
18 procedure tryRemoveTeam(teamName: PChar); cdecl; |
19 procedure tryRemoveTeam(teamName: PChar); cdecl; |
19 procedure changeTeamColor(teamName: PChar; dir: LongInt); cdecl; |
20 procedure changeTeamColor(teamName: PChar; dir: LongInt); cdecl; |
20 |
21 |
21 implementation |
22 implementation |
22 uses uFLIPC, hwengine, uFLUtils, uFLTeams, uFLData; |
23 uses uFLIPC, hwengine, uFLUtils, uFLTeams, uFLData, uFLSChemes; |
23 |
24 |
24 var guiCallbackPointer: pointer; |
25 var guiCallbackPointer: pointer; |
25 guiCallbackFunction: TGUICallback; |
26 guiCallbackFunction: TGUICallback; |
26 |
27 |
27 const |
28 const |
31 type |
32 type |
32 TGameConfig = record |
33 TGameConfig = record |
33 seed: shortstring; |
34 seed: shortstring; |
34 theme: shortstring; |
35 theme: shortstring; |
35 script: shortstring; |
36 script: shortstring; |
|
37 scheme: TScheme; |
36 mapgen: Longint; |
38 mapgen: Longint; |
37 gameType: TGameType; |
39 gameType: TGameType; |
38 teams: array[0..7] of TTeam; |
40 teams: array[0..7] of TTeam; |
39 arguments: array[0..Pred(MAXARGS)] of shortstring; |
41 arguments: array[0..Pred(MAXARGS)] of shortstring; |
40 argv: array[0..Pred(MAXARGS)] of PChar; |
42 argv: array[0..Pred(MAXARGS)] of PChar; |
62 if script <> '' then |
64 if script <> '' then |
63 ipcToEngine('escript ' + script); |
65 ipcToEngine('escript ' + script); |
64 ipcToEngine('eseed ' + seed); |
66 ipcToEngine('eseed ' + seed); |
65 ipcToEngine('e$mapgen ' + intToStr(mapgen)); |
67 ipcToEngine('e$mapgen ' + intToStr(mapgen)); |
66 ipcToEngine('e$theme ' + theme); |
68 ipcToEngine('e$theme ' + theme); |
|
69 |
|
70 sendSchemeConfig(scheme); |
67 |
71 |
68 i:= 0; |
72 i:= 0; |
69 while (i < 8) and (teams[i].hogsNumber > 0) do |
73 while (i < 8) and (teams[i].hogsNumber > 0) do |
70 begin |
74 begin |
71 ipcToEngine('eammloadt 93919294221991210322351110012000000002111001010111110001'); |
75 ipcToEngine('eammloadt 93919294221991210322351110012000000002111001010111110001'); |
321 currentConfig.script:= '/Scripts/Multiplayer/' + scriptName + '.lua' |
325 currentConfig.script:= '/Scripts/Multiplayer/' + scriptName + '.lua' |
322 else |
326 else |
323 currentConfig.script:= '' |
327 currentConfig.script:= '' |
324 end; |
328 end; |
325 |
329 |
|
330 procedure setScheme(schemeName: PChar); cdecl; |
|
331 var scheme: PScheme; |
|
332 begin |
|
333 scheme:= schemeByName(schemeName); |
|
334 |
|
335 if scheme <> nil then |
|
336 currentConfig.scheme:= scheme^ |
|
337 end; |
|
338 |
326 end. |
339 end. |