hedgewars/uFLNetProtocol.pas
branchqmlfrontend
changeset 11433 bca9afcc3a72
parent 11431 80a9b14bb8d3
child 11434 23912c93935a
equal deleted inserted replaced
11432:97e3e62ea5f9 11433:bca9afcc3a72
     8 procedure partRoom(msg: PChar); cdecl;
     8 procedure partRoom(msg: PChar); cdecl;
     9 
     9 
    10 procedure ResetNetState;
    10 procedure ResetNetState;
    11 
    11 
    12 implementation
    12 implementation
    13 uses uFLNetTypes, uFLTypes, uFLUICallback, uFLNet, uFLGameConfig;
    13 uses uFLNetTypes, uFLTypes, uFLUICallback, uFLNet, uFLGameConfig, uFLUtils;
    14 
    14 
    15 type
    15 type
    16     PHandler = procedure (var t: TCmdData);
    16     PHandler = procedure (var t: TCmdData);
    17 
    17 
    18 var isInRoom: boolean;
    18 var isInRoom: boolean;
    51 begin
    51 begin
    52 end;
    52 end;
    53 
    53 
    54 procedure handler_CFG_FEATURE_SIZE(var p: TCmdParami);
    54 procedure handler_CFG_FEATURE_SIZE(var p: TCmdParami);
    55 begin
    55 begin
    56 end;
    56     if isInRoom then
       
    57     begin
       
    58         netSetFeatureSize(p.param1);
       
    59         updatePreviewIfNeeded
       
    60     end;
       
    61 end;
       
    62 
       
    63 var fmcfgIndex: integer;
    57 
    64 
    58 procedure handler_CFG_FULLMAPCONFIG(var p: TCmdParam);
    65 procedure handler_CFG_FULLMAPCONFIG(var p: TCmdParam);
    59 begin
    66 begin
       
    67     fmcfgIndex:= 0;
    60 end;
    68 end;
    61 
    69 
    62 procedure handler_CFG_FULLMAPCONFIG_s(var s: TCmdParamS);
    70 procedure handler_CFG_FULLMAPCONFIG_s(var s: TCmdParamS);
    63 begin
    71 begin
       
    72     if not isInRoom then exit;
       
    73 
       
    74     inc(fmcfgIndex);
       
    75     case fmcfgIndex of
       
    76         1: if s.str1[0] <> '+' then netSetMap(s.str1);
       
    77         2: netSetMapGen(strToInt(s.str1));
       
    78         3: netSetMazeSize(strToInt(s.str1));
       
    79         4: netSetTheme(s.str1);
       
    80         5: netSetTemplate(strToInt(s.str1));
       
    81         6: begin
       
    82                 netSetFeatureSize(strToInt(s.str1));
       
    83                 updatePreviewIfNeeded;
       
    84            end;
       
    85     end;
    64 end;
    86 end;
    65 
    87 
    66 procedure handler_CFG_MAP(var p: TCmdParamS);
    88 procedure handler_CFG_MAP(var p: TCmdParamS);
    67 begin
    89 begin
       
    90     if isInRoom then
       
    91         netSetMap(p.str1);
    68 end;
    92 end;
    69 
    93 
    70 procedure handler_CFG_MAPGEN(var p: TCmdParami);
    94 procedure handler_CFG_MAPGEN(var p: TCmdParami);
    71 begin
    95 begin
       
    96     if isInRoom then
       
    97     begin
       
    98         netSetMapGen(p.param1);
       
    99         updatePreviewIfNeeded
       
   100     end
    72 end;
   101 end;
    73 
   102 
    74 procedure handler_CFG_MAZE_SIZE(var p: TCmdParami);
   103 procedure handler_CFG_MAZE_SIZE(var p: TCmdParami);
    75 begin
   104 begin
       
   105     if isInRoom then
       
   106     begin
       
   107         netSetMazeSize(p.param1);
       
   108         updatePreviewIfNeeded
       
   109     end
    76 end;
   110 end;
    77 
   111 
    78 procedure handler_CFG_SCHEME(var p: TCmdParam);
   112 procedure handler_CFG_SCHEME(var p: TCmdParam);
    79 begin
   113 begin
    80 end;
   114 end;
    95         netSetSeed(p.str1)
   129         netSetSeed(p.str1)
    96 end;
   130 end;
    97 
   131 
    98 procedure handler_CFG_TEMPLATE(var p: TCmdParami);
   132 procedure handler_CFG_TEMPLATE(var p: TCmdParami);
    99 begin
   133 begin
       
   134     if isInRoom then
       
   135     begin
       
   136         netSetTemplate(p.param1);
       
   137         updatePreviewIfNeeded
       
   138     end
   100 end;
   139 end;
   101 
   140 
   102 procedure handler_CFG_THEME(var p: TCmdParamS);
   141 procedure handler_CFG_THEME(var p: TCmdParamS);
   103 begin
   142 begin
   104     if isInRoom then
   143     if isInRoom then