r4087 - packages/trunk/hex-a-hop/debian/patches
Jens Seidel
jseidel-guest at alioth.debian.org
Thu Sep 6 00:21:33 UTC 2007
Author: jseidel-guest
Date: 2007-09-06 00:21:33 +0000 (Thu, 06 Sep 2007)
New Revision: 4087
Modified:
packages/trunk/hex-a-hop/debian/patches/endianess.patch
Log:
More endian specific changes, mostly in inactive code
Modified: packages/trunk/hex-a-hop/debian/patches/endianess.patch
===================================================================
--- packages/trunk/hex-a-hop/debian/patches/endianess.patch 2007-09-05 22:18:54 UTC (rev 4086)
+++ packages/trunk/hex-a-hop/debian/patches/endianess.patch 2007-09-06 00:21:33 UTC (rev 4087)
@@ -2,11 +2,11 @@
# Copyright (C) 2007 Jens Seidel <jensseidel at users.sf.net>
# Licensed under the GPL, see /usr/share/common-licenses/GPL
-Index: hex-a-hop-0.0.20070315/packfile.h
+Index: hex-a-hop.svn/packfile.h
===================================================================
---- hex-a-hop-0.0.20070315.orig/packfile.h
-+++ hex-a-hop-0.0.20070315/packfile.h
-@@ -16,11 +16,14 @@
+--- hex-a-hop.svn.orig/packfile.h 2007-09-05 23:51:42.000000000 +0200
++++ hex-a-hop.svn/packfile.h 2007-09-06 02:05:59.000000000 +0200
+@@ -16,11 +16,16 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
@@ -16,13 +16,15 @@
struct PackFile1
{
++ /* CHECKME: Is it save to interpret a byte stream as list of Entries?
++ * Does the alignment could increase the Entry size on 64 bit systems? */
class Entry {
- int len;
+ int32_t len;
public:
char name[1];
-@@ -73,10 +76,13 @@ struct PackFile1
+@@ -73,10 +78,13 @@
if (numfiles || e || data)
FATAL("Calling Packfile1::Read when already initialised.");
@@ -37,22 +39,22 @@
fseek(f, end_offset - size, SEEK_SET);
data = malloc(size);
-@@ -88,6 +94,10 @@ struct PackFile1
+@@ -88,6 +96,10 @@
while ((void*)i < data_end)
{
numfiles++;
++#if __BYTE_ORDER == __BIG_ENDIAN
+ int32_t *data_length = (int32_t*)i;
-+#if __BYTE_ORDER == __BIG_ENDIAN
+ *data_length = bswap_32(*data_length);
+#endif
i = i->GetNext();
}
-Index: hex-a-hop-0.0.20070315/hex_puzzzle.cpp
+Index: hex-a-hop.svn/hex_puzzzle.cpp
===================================================================
---- hex-a-hop-0.0.20070315.orig/hex_puzzzle.cpp
-+++ hex-a-hop-0.0.20070315/hex_puzzzle.cpp
-@@ -444,10 +444,10 @@ void SaveState::ApplyStuff()
+--- hex-a-hop.svn.orig/hex_puzzzle.cpp 2007-09-05 23:51:42.000000000 +0200
++++ hex-a-hop.svn/hex_puzzzle.cpp 2007-09-06 02:14:52.000000000 +0200
+@@ -444,10 +444,10 @@
}
@@ -65,16 +67,47 @@
Pos() : x(0), y(0) {}
Pos(int a, int b) : x(a), y(b) {}
bool operator == (Pos const & p) const
-@@ -1579,6 +1579,7 @@ struct HexPuzzle : public State
- for (int i=bounds[0]; i<=bounds[1]; i++)
- for (int j=bounds[2]; j<=bounds[3]; j++)
- {
-+ unused code
- unsigned char comp = map[i][j] | (map_item[i][j]<<5);
- fread(&comp, sizeof(comp), 1, f);
- int t = comp & 0x1f;
-@@ -1884,7 +1885,7 @@ struct HexPuzzle : public State
+@@ -1497,7 +1497,7 @@
+ Tile map[MAP_SIZE][MAP_SIZE];
+ int map_item[MAP_SIZE][MAP_SIZE];
+ int tileCount[NumTileTypes];
+- int levelPar, levelDiff;
++ int32_t levelPar, levelDiff;
+ int turboAnim;
+ Pos player;
+ int player_items[2];
+@@ -1565,14 +1565,26 @@
+ fgetc(f); // Remove '\n' character
+
+- int par, diff;
++ int32_t par, diff;
+ unsigned char bounds[4];
+ Pos playerStart;
+ fread(&par, sizeof(par), 1, f);
+- if (version >= 4)
++#if __BYTE_ORDER == __BIG_ENDIAN
++ par = bswap_32(par);
++#endif
++
++ if (version >= 4) {
+ fread(&diff, sizeof(diff), 1, f);
++#if __BYTE_ORDER == __BIG_ENDIAN
++ diff = bswap_32(diff);
++#endif
++ }
+ fread(bounds, sizeof(bounds), 1, f);
+- fread(&playerStart, sizeof(player), 1, f);
++ fread(&playerStart, sizeof(playerStart), 1, f);
++#if __BYTE_ORDER == __BIG_ENDIAN
++ playerStart.x = bswap_32(playerStart.x);
++ playerStart.y = bswap_32(playerStart.y);
++#endif
+
+ int highval=0;
+
+@@ -1884,7 +1896,7 @@
+
if (!save)
{
- char* data = ReadAll(f);
@@ -82,11 +115,9 @@
_LoadSave(f, save);
delete [] data;
loadPtr = endLoad = 0;
-@@ -1934,9 +1935,14 @@ struct HexPuzzle : public State
-
+@@ -1935,10 +1947,20 @@
if (version==1)
{
-+ printf("Reading version 1 file format ...\n");
for (int i=0; i<MAP_SIZE; i++)
- for (int j=0; j<MAP_SIZE; j++)
+ for (int j=0; j<MAP_SIZE; j++) {
@@ -97,14 +128,23 @@
+ }
fn(&player, sizeof(player), 1, f);
++ if (!save) {
++#if __BYTE_ORDER == __BIG_ENDIAN
++ player.x = bswap_32(player.x);
++ player.y = bswap_32(player.y);
++#endif
++ }
-@@ -1966,18 +1972,34 @@ struct HexPuzzle : public State
+ if (fn(map_item, sizeof(map_item), 1, f) == 0)
memset(map_item, 0, sizeof(map_item));
+@@ -1966,18 +1988,34 @@
+ memset(map_item, 0, sizeof(map_item));
}
- if (version>=3)
+- fn(&levelPar, 1, sizeof(levelPar), f);
+ if (version>=3) {
- fn(&levelPar, 1, sizeof(levelPar), f);
++ fn(&levelPar, sizeof(levelPar), 1, f);
+ if (!save) {
+#if __BYTE_ORDER == __BIG_ENDIAN
+ levelPar = bswap_32(levelPar);
@@ -115,8 +155,9 @@
levelPar = 0;
- if (version>=4)
+- fn(&levelDiff, 1, sizeof(levelDiff), f);
+ if (version>=4) {
- fn(&levelDiff, 1, sizeof(levelDiff), f);
++ fn(&levelDiff, sizeof(levelDiff), 1, f);
+ if (!save) {
+#if __BYTE_ORDER == __BIG_ENDIAN
+ levelDiff = bswap_32(levelDiff);
@@ -126,7 +167,8 @@
else if (!save)
levelDiff = 0;
- fn(bounds, sizeof(bounds), 1, f);
+- fn(bounds, sizeof(bounds), 1, f);
++ fn(bounds, sizeof(bounds), 1, f); // CHECKME
fn(&player, sizeof(player), 1, f);
+#if __BYTE_ORDER == __BIG_ENDIAN
+ player.x = bswap_32(player.x);
@@ -135,7 +177,7 @@
int offsetx=0, offsety=0;
-@@ -2027,13 +2049,16 @@ struct HexPuzzle : public State
+@@ -2027,13 +2065,16 @@
else
{
while(1){
@@ -153,7 +195,7 @@
if (len<0) break;
char* tmp = new char[len+1];
tmp[len] = 0;
-@@ -2398,10 +2423,14 @@ struct HexPuzzle : public State
+@@ -2398,10 +2439,14 @@
FILE* f = file_open(bmp, "rb");
if (!f) FATAL("Unable to open file", bmp);
@@ -170,7 +212,7 @@
tmp = new uint32[(int)w*h];
-@@ -2414,9 +2443,16 @@ struct HexPuzzle : public State
+@@ -2414,9 +2459,16 @@
else
{
fread(&c, sizeof(c), 1, f);
More information about the Pkg-games-commits
mailing list