- Added converter for cedserver configs from version 2 to 3
- Updated changelog - Updated installer - Updated version to 0.4.0 and revision to 64 - Fixed about dialog - Added some more exclusions to .hgignore
This commit is contained in:
parent
1c3d624949
commit
de21e6efde
|
@ -17,3 +17,9 @@ Setup/*
|
|||
*.bmp
|
||||
*.xpm
|
||||
*.htm*
|
||||
*.o
|
||||
*.ppu
|
||||
*.a
|
||||
*.compiled
|
||||
*.sh
|
||||
*.exe
|
||||
|
|
|
@ -259,6 +259,7 @@
|
|||
</SearchPaths>
|
||||
<Parsing>
|
||||
<SyntaxOptions>
|
||||
<CStyleOperator Value="False"/>
|
||||
<UseAnsiStrings Value="True"/>
|
||||
</SyntaxOptions>
|
||||
</Parsing>
|
||||
|
|
|
@ -1,23 +1,23 @@
|
|||
object frmAbout: TfrmAbout
|
||||
Left = 290
|
||||
Height = 307
|
||||
Height = 308
|
||||
Top = 171
|
||||
Width = 353
|
||||
Width = 354
|
||||
AutoSize = True
|
||||
BorderIcons = [biSystemMenu]
|
||||
BorderStyle = bsDialog
|
||||
Caption = 'About CentrED'
|
||||
ClientHeight = 307
|
||||
ClientWidth = 353
|
||||
ClientHeight = 308
|
||||
ClientWidth = 354
|
||||
Font.Height = -11
|
||||
OnCreate = FormCreate
|
||||
Position = poScreenCenter
|
||||
LCLVersion = '0.9.25'
|
||||
object Label3: TLabel
|
||||
Left = 8
|
||||
Height = 73
|
||||
Top = 198
|
||||
Width = 337
|
||||
Height = 62
|
||||
Top = 204
|
||||
Width = 338
|
||||
Align = alTop
|
||||
BorderSpacing.Top = 16
|
||||
BorderSpacing.Around = 8
|
||||
|
@ -28,9 +28,9 @@ object frmAbout: TfrmAbout
|
|||
end
|
||||
object Label5: TLabel
|
||||
Left = 8
|
||||
Height = 13
|
||||
Top = 118
|
||||
Width = 337
|
||||
Height = 14
|
||||
Top = 120
|
||||
Width = 338
|
||||
Align = alTop
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Right = 8
|
||||
|
@ -40,9 +40,9 @@ object frmAbout: TfrmAbout
|
|||
end
|
||||
object Label6: TLabel
|
||||
Left = 16
|
||||
Height = 43
|
||||
Top = 131
|
||||
Width = 329
|
||||
Height = 46
|
||||
Top = 134
|
||||
Width = 330
|
||||
Align = alTop
|
||||
BorderSpacing.Left = 16
|
||||
BorderSpacing.Right = 8
|
||||
|
@ -52,9 +52,9 @@ object frmAbout: TfrmAbout
|
|||
end
|
||||
object Label7: TLabel
|
||||
Left = 8
|
||||
Height = 13
|
||||
Top = 105
|
||||
Width = 337
|
||||
Height = 14
|
||||
Top = 106
|
||||
Width = 338
|
||||
Align = alTop
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Right = 8
|
||||
|
@ -64,32 +64,31 @@ object frmAbout: TfrmAbout
|
|||
WordWrap = True
|
||||
end
|
||||
object Panel2: TPanel
|
||||
Height = 97
|
||||
Width = 353
|
||||
Height = 98
|
||||
Width = 354
|
||||
Align = alTop
|
||||
AutoSize = True
|
||||
BorderSpacing.Bottom = 8
|
||||
ClientHeight = 97
|
||||
ClientWidth = 353
|
||||
BevelOuter = bvNone
|
||||
ClientHeight = 98
|
||||
ClientWidth = 354
|
||||
ParentFont = True
|
||||
TabOrder = 0
|
||||
object Panel1: TPanel
|
||||
Left = 1
|
||||
Height = 96
|
||||
Top = 1
|
||||
Width = 219
|
||||
Height = 98
|
||||
Width = 220
|
||||
AutoSize = True
|
||||
BevelInner = bvRaised
|
||||
BevelOuter = bvLowered
|
||||
ClientHeight = 96
|
||||
ClientWidth = 219
|
||||
ClientHeight = 98
|
||||
ClientWidth = 220
|
||||
ParentFont = True
|
||||
TabOrder = 0
|
||||
object Label1: TLabel
|
||||
Left = 2
|
||||
Height = 38
|
||||
Top = 2
|
||||
Width = 215
|
||||
Width = 216
|
||||
Align = alTop
|
||||
Alignment = taCenter
|
||||
AutoSize = False
|
||||
|
@ -101,9 +100,9 @@ object frmAbout: TfrmAbout
|
|||
end
|
||||
object lblVersion: TLabel
|
||||
Left = 6
|
||||
Height = 24
|
||||
Height = 25
|
||||
Top = 40
|
||||
Width = 207
|
||||
Width = 208
|
||||
Align = alTop
|
||||
Alignment = taRightJustify
|
||||
BorderSpacing.Left = 4
|
||||
|
@ -113,9 +112,9 @@ object frmAbout: TfrmAbout
|
|||
end
|
||||
object lblCopyright: TLabel
|
||||
Left = 6
|
||||
Height = 24
|
||||
Top = 68
|
||||
Width = 207
|
||||
Height = 25
|
||||
Top = 69
|
||||
Width = 208
|
||||
Align = alTop
|
||||
Alignment = taCenter
|
||||
BorderSpacing.Around = 4
|
||||
|
@ -127,22 +126,23 @@ object frmAbout: TfrmAbout
|
|||
object Panel3: TPanel
|
||||
Left = 8
|
||||
Height = 25
|
||||
Top = 279
|
||||
Width = 337
|
||||
Top = 274
|
||||
Width = 338
|
||||
Align = alTop
|
||||
BorderSpacing.Around = 8
|
||||
BevelOuter = bvNone
|
||||
ClientHeight = 25
|
||||
ClientWidth = 337
|
||||
ClientWidth = 338
|
||||
ParentFont = True
|
||||
TabOrder = 1
|
||||
object btnClose: TButton
|
||||
Left = 261
|
||||
Height = 23
|
||||
Top = 1
|
||||
Left = 263
|
||||
Height = 25
|
||||
Width = 75
|
||||
Align = alRight
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Caption = 'Close'
|
||||
OnClick = btnCloseClick
|
||||
ParentFont = True
|
||||
TabOrder = 0
|
||||
end
|
||||
|
|
|
@ -112,12 +112,16 @@
|
|||
<UnitOutputDirectory Value="../obj"/>
|
||||
<SrcPath Value="../;../UOLib/;../MulProvider/;../Imaging/ZLib/"/>
|
||||
</SearchPaths>
|
||||
<Parsing>
|
||||
<SyntaxOptions>
|
||||
<CStyleOperator Value="False"/>
|
||||
</SyntaxOptions>
|
||||
</Parsing>
|
||||
<CodeGeneration>
|
||||
<SmartLinkUnit Value="True"/>
|
||||
<Optimizations>
|
||||
<OptimizationLevel Value="3"/>
|
||||
</Optimizations>
|
||||
<TargetOS Value="Linux"/>
|
||||
</CodeGeneration>
|
||||
<Linking>
|
||||
<Debugging>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
[Setup]
|
||||
AppName=CentrED
|
||||
AppVerName=CentrED 0.3.6
|
||||
AppVerName=CentrED 0.4.0
|
||||
AppPublisher=AKS DataBasis
|
||||
AppPublisherURL=http://www.aksdb.de/CentrED
|
||||
AppSupportURL=http://www.aksdb.de/CentrED
|
||||
|
@ -13,10 +13,10 @@ DefaultGroupName=AKS DataBasis\CentrED
|
|||
OutputBaseFilename=CentrED_win32
|
||||
Compression=lzma
|
||||
SolidCompression=true
|
||||
VersionInfoVersion=0.3.6
|
||||
VersionInfoVersion=0.4.0
|
||||
VersionInfoCompany=AKS DataBasis
|
||||
VersionInfoDescription=Client/Server based multiuser map editor
|
||||
VersionInfoTextVersion=0.3.6
|
||||
VersionInfoTextVersion=0.4.0
|
||||
VersionInfoCopyright=Andreas Schneider
|
||||
AppCopyright=Andreas Schneider
|
||||
InfoBeforeFile=Changelog.txt
|
||||
|
@ -40,4 +40,4 @@ Name: {commondesktop}\CentrED; Filename: {app}\CentrED.exe; Tasks: desktopicon
|
|||
[Run]
|
||||
Filename: {app}\CentrED.exe; Description: {cm:LaunchProgram,CentrED}; Flags: nowait postinstall skipifsilent
|
||||
[Messages]
|
||||
BeveledLabel=Copyright 2007 Andreas Schneider
|
||||
BeveledLabel=Copyright 2008 Andreas Schneider
|
||||
|
|
|
@ -1,5 +1,14 @@
|
|||
Changelog:
|
||||
[C] = Client, [S] = Server
|
||||
[C] = Client, [S] = Server, [-] = Both/Unrelated
|
||||
|
||||
Version 0.4.0
|
||||
=============
|
||||
[C] Added regional restrictions to accounts
|
||||
[C] Visualize these restrictions for users
|
||||
[C] Added better GTK2 compatibility to the Linux version
|
||||
[S] Changed config file to use XML
|
||||
[S] Bumped config file version to 3
|
||||
[-] Removed some memory leaks
|
||||
|
||||
Version 0.3.6
|
||||
=============
|
||||
|
|
|
@ -0,0 +1,114 @@
|
|||
program cedserver_config_2_3;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
uses
|
||||
{$IFDEF UNIX}{$IFDEF UseCThreads}
|
||||
cthreads,
|
||||
{$ENDIF}{$ENDIF}
|
||||
Classes, IniFiles, XMLWrite, dom;
|
||||
|
||||
procedure WriteXMLString(AElement: TDOMElement; AName, AValue: string);
|
||||
var
|
||||
child: TDOMElement;
|
||||
begin
|
||||
child := AElement.OwnerDocument.CreateElement(AName);
|
||||
AElement.AppendChild(child);
|
||||
child.AppendChild(AElement.OwnerDocument.CreateTextNode(AValue));
|
||||
end;
|
||||
|
||||
procedure WriteXMLAccount(AElement: TDOMElement; AAccountString: string);
|
||||
var
|
||||
splitPos: Integer;
|
||||
lastPos: TDOMElement;
|
||||
begin
|
||||
//Account name
|
||||
splitPos := Pos('=', AAccountString);
|
||||
WriteXMLString(AElement, 'Name', Copy(AAccountString, 1, splitPos - 1));
|
||||
Delete(AAccountString, 1, splitPos);
|
||||
|
||||
//Accesslevel
|
||||
splitPos := Pos(':', AAccountString);
|
||||
WriteXMLString(AElement, 'Accesslevel', Copy(AAccountString, 1, splitPos - 1));
|
||||
Delete(AAccountString, 1, splitPos);
|
||||
|
||||
lastPos := AElement.OwnerDocument.CreateElement('LastPos');
|
||||
lastPos.AttribStrings['x'] := '0';
|
||||
lastPos.AttribStrings['y'] := '0';
|
||||
|
||||
//Passwordhash
|
||||
splitPos := Pos(':', AAccountString);
|
||||
if splitPos > 0 then
|
||||
begin
|
||||
WriteXMLString(AElement, 'PasswordHash', Copy(AAccountString, 1, splitPos - 1));
|
||||
Delete(AAccountString, 1, splitPos);
|
||||
|
||||
//LastPos
|
||||
splitPos := Pos(':', AAccountString);
|
||||
if splitPos > 0 then
|
||||
begin
|
||||
lastPos.AttribStrings['x'] := Copy(AAccountString, 1, splitPos - 1);
|
||||
lastPos.AttribStrings['y'] := Copy(AAccountString, splitPos + 1, Length(AAccountString));
|
||||
end;
|
||||
end else
|
||||
WriteXMLString(AElement, 'PasswordHash', AAccountString);
|
||||
|
||||
AElement.AppendChild(lastPos);
|
||||
AElement.AppendChild(AElement.OwnerDocument.CreateElement('Regions'));
|
||||
end;
|
||||
|
||||
var
|
||||
v2ini: TIniFile;
|
||||
v3xml: TXMLDocument;
|
||||
root, parent, child: TDOMElement;
|
||||
i: Integer;
|
||||
rawAccounts: TStringList;
|
||||
|
||||
begin
|
||||
writeln('Opening "cedserver.ini"');
|
||||
v2ini := TIniFile.Create('cedserver.ini');
|
||||
|
||||
writeln('Preparing XML structure');
|
||||
v3xml := TXMLDocument.Create;
|
||||
root := v3xml.CreateElement('CEDConfig');
|
||||
root.AttribStrings['Version'] := '3';
|
||||
v3xml.AppendChild(root);
|
||||
|
||||
writeln('Transfering settings');
|
||||
|
||||
WriteXMLString(root, 'Port', v2ini.ReadString('Network', 'Port', '2597'));
|
||||
|
||||
parent := v3xml.CreateElement('Map');
|
||||
root.AppendChild(parent);
|
||||
WriteXMLString(parent, 'Map', v2ini.ReadString('Paths', 'map', 'map0.mul'));
|
||||
WriteXMLString(parent, 'StaIdx', v2ini.ReadString('Paths', 'staidx', 'staidx0.mul'));
|
||||
WriteXMLString(parent, 'Statics', v2ini.ReadString('Paths', 'statics', 'statics0.mul'));
|
||||
WriteXMLString(parent, 'Width', v2ini.ReadString('Parameters', 'Width', '768'));
|
||||
WriteXMLString(parent, 'Height', v2ini.ReadString('Parameters', 'Height', '512'));
|
||||
|
||||
WriteXmlString(root, 'Tiledata', v2ini.ReadString('Paths', 'tiledata', 'tiledata.mul'));
|
||||
WriteXmlString(root, 'Radarcol', v2ini.ReadString('Paths', 'radarcol', 'radarcol.mul'));
|
||||
|
||||
writeln('Transfering accounts');
|
||||
|
||||
parent := v3xml.CreateElement('Accounts');
|
||||
root.AppendChild(parent);
|
||||
rawAccounts := TStringList.Create;
|
||||
v2ini.ReadSectionRaw('Accounts', rawAccounts);
|
||||
for i := 0 to rawAccounts.Count - 1 do
|
||||
begin
|
||||
child := v3xml.CreateElement('Account');
|
||||
parent.AppendChild(child);
|
||||
WriteXMLAccount(child, rawAccounts.Strings[i]);
|
||||
end;
|
||||
rawAccounts.Free;
|
||||
|
||||
root.AppendChild(v3xml.CreateElement('Regions'));
|
||||
|
||||
v2ini.Free;
|
||||
|
||||
writeln('Writing "cedserver.xml"');
|
||||
WriteXMLFile(v3xml, 'cedserver.xml');
|
||||
Writeln('Done.');
|
||||
end.
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
const
|
||||
ProductVersion = '0.3.7';
|
||||
ProductVersion = '0.4.0';
|
||||
ProtocolVersion = 6;
|
||||
Revision = '41';
|
||||
Revision = '64';
|
||||
Copyright = '2008 Andreas Schneider';
|
||||
|
|
Loading…
Reference in New Issue