r6607 - packages/trunk/biniax2/debian/patches
Miriam Ruiz
baby-guest at alioth.debian.org
Thu Apr 17 14:42:25 UTC 2008
Author: baby-guest
Date: 2008-04-17 14:42:25 +0000 (Thu, 17 Apr 2008)
New Revision: 6607
Added:
packages/trunk/biniax2/debian/patches/endianess.patch
Modified:
packages/trunk/biniax2/debian/patches/series
Log:
Added patch for fixing endianess issues in saved games
Added: packages/trunk/biniax2/debian/patches/endianess.patch
===================================================================
--- packages/trunk/biniax2/debian/patches/endianess.patch (rev 0)
+++ packages/trunk/biniax2/debian/patches/endianess.patch 2008-04-17 14:42:25 UTC (rev 6607)
@@ -0,0 +1,114 @@
+# Copyright (C) 2008 by Miriam Ruiz <little_miry at yahoo.es>
+# Distributed under the same license as the game. See debian/copyright
+
+Index: biniax2/biniax.c
+===================================================================
+--- biniax2.orig/biniax.c 2008-04-17 14:39:51.000000000 +0000
++++ biniax2/biniax.c 2008-04-17 14:42:13.000000000 +0000
+@@ -63,6 +63,8 @@
+ #include <sys/types.h>
+ #endif
+
++#include <stdint.h>
++
+ /* Global instance of GAME structure */
+ BNX_GAME Game;
+
+@@ -1219,6 +1221,92 @@
+ #endif
+ }
+
++static uint16_t GetInt16B(FILE *fp)
++{
++ uint16_t i = (uint16_t) (fgetc(fp) & 0xFF);
++ i = ((uint16_t) (fgetc(fp) & 0xFF)) | (i << 0x08);
++ return i;
++}
++
++static uint16_t GetInt16L(FILE *fp)
++{
++ uint16_t i = (uint16_t) (fgetc(fp) & 0xFF);
++ i |= ((uint16_t) (fgetc(fp) & 0xFF) << 0x08);
++ return i;
++}
++
++static uint32_t GetInt32B(FILE *fp)
++{
++ uint32_t i = (uint32_t) (fgetc(fp) & 0xFF);
++ i = ((uint32_t) (fgetc(fp) & 0xFF)) | (i << 0x08);
++ i = ((uint32_t) (fgetc(fp) & 0xFF)) | (i << 0x08);
++ i = ((uint32_t) (fgetc(fp) & 0xFF)) | (i << 0x08);
++ return i;
++}
++
++static uint32_t GetInt32L(FILE *fp)
++{
++ uint32_t i = (uint32_t) (fgetc(fp) & 0xFF);
++ i |= ((uint32_t) (fgetc(fp) & 0xFF) << 0x08);
++ i |= ((uint32_t) (fgetc(fp) & 0xFF) << 0x10);
++ i |= ((uint32_t) (fgetc(fp) & 0xFF) << 0x18);
++ return i;
++}
++
++static uint64_t GetInt64B(FILE *fp)
++{
++ uint64_t i = (uint64_t) GetInt32B(fp);
++ i = ((uint64_t) GetInt32B(fp)) | (i << 0x20);
++ return i;
++}
++
++static uint64_t GetInt64L(FILE *fp)
++{
++ uint64_t i = (uint64_t) GetInt32L(fp);
++ i |= ((uint64_t) GetInt32L(fp) << 0x20);
++ return i;
++}
++
++static void PutInt16B(uint16_t i, FILE *fp)
++{
++ fputc((i >> 0x08) & 0xFF, fp);
++ fputc(i & 0xFF, fp);
++}
++
++static void PutInt16L(uint16_t i, FILE *fp)
++{
++ fputc(i & 0xFF, fp);
++ fputc((i >> 0x08) & 0xFF, fp);
++}
++
++static void PutInt32B(uint32_t i, FILE *fp)
++{
++ fputc((i >> 0x18) & 0xFF, fp);
++ fputc((i >> 0x10) & 0xFF, fp);
++ fputc((i >> 0x08) & 0xFF, fp);
++ fputc(i & 0xFF, fp);
++}
++
++static void PutInt32L(uint32_t i, FILE *fp)
++{
++ fputc(i & 0xFF, fp);
++ fputc((i >> 0x08) & 0xFF, fp);
++ fputc((i >> 0x10) & 0xFF, fp);
++ fputc((i >> 0x18) & 0xFF, fp);
++}
++
++static void PutInt64B(uint64_t i, FILE *fp)
++{
++ PutInt32B((i >> 0x20) & 0x00000000FFFFFFFF, fp);
++ PutInt32B(i & 0x00000000FFFFFFFF, fp);
++}
++
++static void PutInt64L(uint64_t i, FILE *fp)
++{
++ PutInt32L(i & 0x00000000FFFFFFFF, fp);
++ PutInt32L((i >> 0x20) & 0x00000000FFFFFFFF, fp);
++}
++
+ BNX_BOOL saveGame( BNX_GAME *game )
+ {
+ FILE *file;
+@@ -1257,4 +1345,3 @@
+ game->best[ cModeTurn ] = hofGet()->tactic[ 0 ].score;
+ return BNX_TRUE;
+ }
+-
Modified: packages/trunk/biniax2/debian/patches/series
===================================================================
--- packages/trunk/biniax2/debian/patches/series 2008-04-17 13:24:03 UTC (rev 6606)
+++ packages/trunk/biniax2/debian/patches/series 2008-04-17 14:42:25 UTC (rev 6607)
@@ -1,2 +1,3 @@
datadir.patch
fixes.patch
+endianess.patch
More information about the Pkg-games-commits
mailing list