equal
deleted
inserted
replaced
40 procedure sendConfig(config: PGameConfig); |
40 procedure sendConfig(config: PGameConfig); |
41 procedure runNetGame(); |
41 procedure runNetGame(); |
42 |
42 |
43 implementation |
43 implementation |
44 uses uFLIPC, uFLUtils, uFLTeams, uFLThemes, uFLSChemes, uFLAmmo |
44 uses uFLIPC, uFLUtils, uFLTeams, uFLThemes, uFLSChemes, uFLAmmo |
45 , uFLUICallback, uFLRunQueue, uFLNet, uUtils; |
45 , uFLUICallback, uFLRunQueue, uFLNet, uUtils, uFLDrawnMap |
|
46 , SDLh; |
46 |
47 |
47 var |
48 var |
48 currentConfig: TGameConfig; |
49 currentConfig: TGameConfig; |
49 previewNeedsUpdate: boolean; |
50 previewNeedsUpdate: boolean; |
50 |
51 |
53 getScriptPath:= '/Scripts/Multiplayer/' + scriptName + '.lua' |
54 getScriptPath:= '/Scripts/Multiplayer/' + scriptName + '.lua' |
54 end; |
55 end; |
55 |
56 |
56 procedure sendDrawnMap(config: PGameConfig); |
57 procedure sendDrawnMap(config: PGameConfig); |
57 var i: Longword; |
58 var i: Longword; |
|
59 data: PByteArray; |
|
60 dataLen: Longword; |
58 s: shortstring; |
61 s: shortstring; |
59 begin |
62 begin |
60 i:= 1; |
63 decodeDrawnMap(config^.drawnData, config^.drawnDataSize, data, dataLen); |
61 |
64 |
62 while i < config^.drawnDataSize do |
65 i:= 0; |
63 begin |
66 |
64 if config^.drawnDataSize - i > 240 then |
67 s[0]:= #240; |
65 s:= copy(config^.drawnData, i, 240) |
68 while i < dataLen do |
66 else |
69 begin |
67 s:= copy(config^.drawnData, i, config^.drawnDataSize - i); |
70 if dataLen - i > 240 then |
68 system.writeln('[DRAWN MAP] ', s); |
71 begin |
69 ipcToEngine('edraw ' + DecodeBase64(s)); |
72 Move(data^[i], s[1], 240) |
|
73 end else |
|
74 begin |
|
75 Move(data^[i], s[1], dataLen - i); |
|
76 s[0]:= char(dataLen - i) |
|
77 end; |
|
78 |
|
79 ipcToEngine('edraw ' + s); |
70 inc(i, 240) |
80 inc(i, 240) |
71 end; |
81 end; |
|
82 |
|
83 if dataLen > 0 then |
|
84 FreeMem(data, dataLen); |
72 end; |
85 end; |
73 |
86 |
74 procedure sendConfig(config: PGameConfig); |
87 procedure sendConfig(config: PGameConfig); |
75 var i: Longword; |
88 var i: Longword; |
76 begin |
89 begin |