aboutsummaryrefslogtreecommitdiff
path: root/games/allacrost
diff options
context:
space:
mode:
Diffstat (limited to 'games/allacrost')
-rw-r--r--games/allacrost/Makefile2
-rw-r--r--games/allacrost/files/patch-src-engine-video-image.cpp21
-rw-r--r--games/allacrost/files/patch-src-engine-video-image__base.cpp10
-rw-r--r--games/allacrost/files/patch-src_engine_video_image__base.cpp85
4 files changed, 99 insertions, 19 deletions
diff --git a/games/allacrost/Makefile b/games/allacrost/Makefile
index fd3f96c2878a..4d2684a1f71b 100644
--- a/games/allacrost/Makefile
+++ b/games/allacrost/Makefile
@@ -26,7 +26,7 @@ USE_GL= yes
USE_GCC= any # problems in luabind
CONFIGURE_ARGS= --datadir=${DATADIR}
-CPPFLAGS+= -I${LOCALBASE}/include -I${LUA_INCDIR} -I${LOCALBASE}/include/libpng15
+CPPFLAGS+= -I${LOCALBASE}/include -I${LUA_INCDIR}
LDFLAGS+= -L${LOCALBASE}/lib -L${LUA_LIBDIR}
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
diff --git a/games/allacrost/files/patch-src-engine-video-image.cpp b/games/allacrost/files/patch-src-engine-video-image.cpp
index 46f36cd87638..c7a560808876 100644
--- a/games/allacrost/files/patch-src-engine-video-image.cpp
+++ b/games/allacrost/files/patch-src-engine-video-image.cpp
@@ -1,10 +1,15 @@
---- src/engine/video/image.cpp.orig 2010-05-17 01:38:27.000000000 +0200
-+++ src/engine/video/image.cpp 2012-05-03 05:56:08.000000000 +0200
-@@ -17,6 +17,7 @@
- #include <math.h>
+--- src/engine/video/image.cpp.orig 2010-05-16 23:38:27 UTC
++++ src/engine/video/image.cpp
+@@ -677,9 +677,9 @@ void ImageDescriptor::_GetPngImageInfo(c
+ png_read_png(png_ptr, info_ptr, PNG_TRANSFORM_STRIP_16 | PNG_TRANSFORM_PACKING | PNG_TRANSFORM_EXPAND, NULL);
- #include "video.h"
-+#include "pngpriv.h"
+ // grab the relevant data...
+- cols = info_ptr->width;
+- rows = info_ptr->height;
+- bpp = info_ptr->channels * 8;
++ cols = png_get_image_width(png_ptr, info_ptr);
++ rows = png_get_image_height(png_ptr, info_ptr);
++ bpp = png_get_channels(png_ptr, info_ptr) * 8;
- using namespace std;
- using namespace hoa_utils;
+ // and clean up.
+ png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL);
diff --git a/games/allacrost/files/patch-src-engine-video-image__base.cpp b/games/allacrost/files/patch-src-engine-video-image__base.cpp
deleted file mode 100644
index 6ce0a13b3a14..000000000000
--- a/games/allacrost/files/patch-src-engine-video-image__base.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/engine/video/image_base.cpp.orig 2010-05-17 01:38:27.000000000 +0200
-+++ src/engine/video/image_base.cpp 2012-05-03 05:51:57.000000000 +0200
-@@ -18,6 +18,7 @@
-
- #include "image_base.h"
- #include "video.h"
-+#include "pngpriv.h"
-
- using namespace std;
- using namespace hoa_utils;
diff --git a/games/allacrost/files/patch-src_engine_video_image__base.cpp b/games/allacrost/files/patch-src_engine_video_image__base.cpp
new file mode 100644
index 000000000000..8a4ee4bb2409
--- /dev/null
+++ b/games/allacrost/files/patch-src_engine_video_image__base.cpp
@@ -0,0 +1,85 @@
+--- src/engine/video/image_base.cpp.orig 2010-05-16 23:38:27 UTC
++++ src/engine/video/image_base.cpp
+@@ -259,9 +259,9 @@ bool ImageMemory::_LoadPngImage(const st
+ uint8** row_pointers = png_get_rows(png_ptr, info_ptr);
+
+ // copy metadata
+- width = info_ptr->width;
+- height = info_ptr->height;
+- pixels = malloc(info_ptr->width * info_ptr->height * 4);
++ width = png_get_image_width(png_ptr, info_ptr);
++ height = png_get_image_height(png_ptr, info_ptr);
++ pixels = malloc(width * height * 4);
+
+ // check that we were able to allocate enough memory for the PNG
+ if (pixels == NULL) {
+@@ -274,18 +274,21 @@ bool ImageMemory::_LoadPngImage(const st
+ // convert the damn thing so that it works in our format
+ // this is mostly just byteswapping and adding extra data - we want everything in four channels
+ // for the moment, anyway
+- uint32 bpp = info_ptr->channels;
++ uint32 bpp = png_get_channels(png_ptr, info_ptr);
+ uint8* img_pixel = NULL;
+ uint8* dst_pixel = NULL;
+
+- if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) {
++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE) {
+ // colours come from a palette - for this colour type, we have to look up the colour from the palette
++ png_colorp palette;
++ int num_palette;
++ png_get_PLTE(png_ptr, info_ptr, &palette, &num_palette);
+ png_color c;
+- for (uint32 y = 0; y < info_ptr->height; y++) {
+- for (uint32 x = 0; x < info_ptr->width; x++) {
++ for (uint32 y = 0; y < height; y++) {
++ for (uint32 x = 0; x < width; x++) {
+ img_pixel = row_pointers[y] + (x * bpp);
+- dst_pixel = ((uint8*)pixels) + ((y * info_ptr->width) + x) * 4;
+- c = info_ptr->palette[img_pixel[0]];
++ dst_pixel = ((uint8*)pixels) + ((y * width) + x) * 4;
++ c = palette[img_pixel[0]];
+
+ dst_pixel[0] = c.red;
+ dst_pixel[1] = c.green;
+@@ -295,10 +298,10 @@ bool ImageMemory::_LoadPngImage(const st
+ }
+ }
+ else if (bpp == 1) {
+- for (uint32 y = 0; y < info_ptr->height; y++) {
+- for (uint32 x = 0; x < info_ptr->width; x++) {
++ for (uint32 y = 0; y < height; y++) {
++ for (uint32 x = 0; x < width; x++) {
+ img_pixel = row_pointers[y] + (x * bpp);
+- dst_pixel = ((uint8*)pixels) + ((y * info_ptr->width) + x) * 4;
++ dst_pixel = ((uint8*)pixels) + ((y * width) + x) * 4;
+ dst_pixel[0] = img_pixel[0];
+ dst_pixel[1] = img_pixel[0];
+ dst_pixel[2] = img_pixel[0];
+@@ -307,10 +310,10 @@ bool ImageMemory::_LoadPngImage(const st
+ }
+ }
+ else if (bpp == 3) {
+- for (uint32 y = 0; y < info_ptr->height; y++) {
+- for (uint32 x = 0; x < info_ptr->width; x++) {
++ for (uint32 y = 0; y < height; y++) {
++ for (uint32 x = 0; x < width; x++) {
+ img_pixel = row_pointers[y] + (x * bpp);
+- dst_pixel = ((uint8*)pixels) + ((y * info_ptr->width) + x) * 4;
++ dst_pixel = ((uint8*)pixels) + ((y * width) + x) * 4;
+ dst_pixel[0] = img_pixel[0];
+ dst_pixel[1] = img_pixel[1];
+ dst_pixel[2] = img_pixel[2];
+@@ -319,10 +322,10 @@ bool ImageMemory::_LoadPngImage(const st
+ }
+ }
+ else if (bpp == 4) {
+- for (uint32 y = 0; y < info_ptr->height; y++) {
+- for (uint32 x = 0; x < info_ptr->width; x++) {
++ for (uint32 y = 0; y < height; y++) {
++ for (uint32 x = 0; x < width; x++) {
+ img_pixel = row_pointers[y] + (x * bpp);
+- dst_pixel = ((uint8*)pixels) + ((y * info_ptr->width) + x) * 4;
++ dst_pixel = ((uint8*)pixels) + ((y * width) + x) * 4;
+ dst_pixel[0] = img_pixel[0];
+ dst_pixel[1] = img_pixel[1];
+ dst_pixel[2] = img_pixel[2];