--- a/hedgewars/CMakeLists.txt Sat Dec 04 11:30:54 2010 -0500
+++ b/hedgewars/CMakeLists.txt Sat Dec 04 22:33:14 2010 +0300
@@ -60,6 +60,7 @@
uLand.pas
uLandGraphics.pas
uLandObjects.pas
+ uLandPainted.pas
uLandTemplates.pas
uLandTexture.pas
uLocale.pas
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/hedgewars/uLandPainted.pas Sat Dec 04 22:33:14 2010 +0300
@@ -0,0 +1,52 @@
+(*
+ * Hedgewars, a free turn based strategy game
+ * Copyright (c) 2010 Andrey Korotaev <unC0Rr@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ *)
+
+{$INCLUDE "options.inc"}
+
+unit uLandPainted;
+
+interface
+
+procedure LoadFromFile(fileName: shortstring);
+
+implementation
+
+type PointRec = packed record
+ x, y: ShortInt;
+ flags: byte;
+ end;
+
+procedure LoadFromFile(fileName: shortstring);
+var
+ f: file of PointRec;
+ rec: PointRec;
+begin
+ fileMode = foReadOnly;
+
+ assignFile(f, fileName);
+ reset(f);
+
+ while not eof(f) do
+ begin
+ read(f, rec);
+ end;
+
+ closeFile(f);
+end;
+
+end.
--- a/tools/drawMapTest/drawmapscene.cpp Sat Dec 04 11:30:54 2010 -0500
+++ b/tools/drawMapTest/drawmapscene.cpp Sat Dec 04 22:33:14 2010 +0300
@@ -94,9 +94,9 @@
qint16 py = qToBigEndian((qint16)point.y());
quint8 flags = 2;
if(!cnt) flags |= 0x80;
- b.append((const char *)&flags, 1);
b.append((const char *)&px, 2);
b.append((const char *)&py, 2);
+ b.append((const char *)&flags, 1);
++cnt;
}
@@ -115,12 +115,12 @@
while(data.size() >= 5)
{
- quint8 flags = *(quint8 *)data.data();
- data.remove(0, 1);
qint16 px = qFromBigEndian(*(qint16 *)data.data());
data.remove(0, 2);
qint16 py = qFromBigEndian(*(qint16 *)data.data());
data.remove(0, 2);
+ quint8 flags = *(quint8 *)data.data();
+ data.remove(0, 1);
//last chunk or first point
if((data.size() < 5) || (flags & 0x80))