Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Jun 2013 13:18:54 +0000 (UTC)
From:      Dmitry Marakasov <amdmi3@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r320912 - in head/games/spacejunk: . files
Message-ID:  <201306141318.r5EDIs6j025253@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: amdmi3
Date: Fri Jun 14 13:18:53 2013
New Revision: 320912
URL: http://svnweb.freebsd.org/changeset/ports/320912

Log:
  - Fix build with clang
  - Add LICENSE

Added:
  head/games/spacejunk/files/patch-src-SFont.c   (contents, props changed)
  head/games/spacejunk/files/patch-src-physicbody.cpp   (contents, props changed)
Modified:
  head/games/spacejunk/Makefile

Modified: head/games/spacejunk/Makefile
==============================================================================
--- head/games/spacejunk/Makefile	Fri Jun 14 13:04:32 2013	(r320911)
+++ head/games/spacejunk/Makefile	Fri Jun 14 13:18:53 2013	(r320912)
@@ -10,6 +10,8 @@ MASTER_SITES=	SF/${PORTNAME}/${PORTNAME}
 MAINTAINER=	amdmi3@FreeBSD.org
 COMMENT=	A video game about traveling in 2D planetary systems
 
+LICENSE=	GPLv3
+
 GNU_CONFIGURE=	yes
 USE_SDL=	sdl mixer image
 MAKE_JOBS_SAFE=	yes

Added: head/games/spacejunk/files/patch-src-SFont.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/games/spacejunk/files/patch-src-SFont.c	Fri Jun 14 13:18:53 2013	(r320912)
@@ -0,0 +1,12 @@
+Clang compatibility
+--- src/SFont.c.orig	2013-06-14 01:28:33.767289275 +0400
++++ src/SFont.c	2013-06-14 01:39:06.709113401 +0400
+@@ -72,7 +72,7 @@
+    return -1;
+ }
+ 
+-Uint32 searchFirstPixel(SDL_Surface* s,int* X,int* Y,int* MinY){
++void searchFirstPixel(SDL_Surface* s,int* X,int* Y,int* MinY){
+     Uint32 bgpixel = GetPixel(s, 0, s->h-1);
+ 
+     int x=0;

Added: head/games/spacejunk/files/patch-src-physicbody.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/games/spacejunk/files/patch-src-physicbody.cpp	Fri Jun 14 13:18:53 2013	(r320912)
@@ -0,0 +1,111 @@
+Clang compatibility
+--- src/physicbody.cpp.orig	2013-06-14 01:22:11.442112529 +0400
++++ src/physicbody.cpp	2013-06-14 01:38:02.468909545 +0400
+@@ -20,9 +20,21 @@
+ #include "physicbody.h"
+ #include <math.h>
+ #include <algorithm>
++#include <vector>
+ 
+ using namespace std;
+ 
++template<class T>
++class DynArray {
++private:
++	std::vector<T> data;
++
++public:
++	DynArray(size_t len) : data(len) { }
++
++	operator const T*() const { return data.data(); }
++	operator T*() { return data.data(); }
++};
+ 
+ const double PhysicEngine::G=6.6726e-17;
+ 
+@@ -165,7 +180,6 @@
+     return acc;
+ }
+ 
+-
+ void PhysicEngine::_vstep (int delta) {
+ #define DELTA_LIMIT 3
+ #define ERROR_LIMIT 0.001
+@@ -179,11 +193,11 @@
+     real tempdelta=delta;
+     real time=0;
+     int n=bodies.size();
+-    Vector2d accels[n];
++    DynArray<Vector2d> accels(n);
+     calculateForces(0,accels);
+     loadcount++;
+-    Vector2d temp_pos[n];
+-    Vector2d temp_vel[n];
++    DynArray<Vector2d> temp_pos(n);
++    DynArray<Vector2d> temp_vel(n);
+     do {
+         for (vector<PhysicBody*>::iterator j=bodies.begin();j!=bodies.end();j++) {
+             if (!*j) continue;
+@@ -306,12 +320,12 @@
+ real PhysicEngine::vstepRK5 (real delta,Vector2d initaccels[]) {
+     real maxdist=0;
+     int n=bodies.size();
+-    Vector2d accels[n];
+-    Vector2d mipos[n];
+-    Vector2d k1pos[n];
+-    Vector2d k1vel[n];
+-    Vector2d k2pos[n];
+-    Vector2d k2vel[n];
++    DynArray<Vector2d> accels(n);
++    DynArray<Vector2d> mipos(n);
++    DynArray<Vector2d> k1pos(n);
++    DynArray<Vector2d> k1vel(n);
++    DynArray<Vector2d> k2pos(n);
++    DynArray<Vector2d> k2vel(n);
+     for (vector<PhysicBody*>::iterator j=bodies.begin();j!=bodies.end();j++) {
+         if (!*j || ((*j)->flags & PhysicBody::FIXED)) continue;
+         mipos[(*j)->id]=(*j)->pos;
+@@ -321,8 +335,8 @@
+         (*j)->pos=mipos[(*j)->id]+k1pos[(*j)->id]*0.2;
+     }
+     calculateForces(delta*0.2,accels);
+-    Vector2d k3pos[n];
+-    Vector2d k3vel[n];
++    DynArray<Vector2d> k3pos(n);
++    DynArray<Vector2d> k3vel(n);
+     for (vector<PhysicBody*>::iterator j=bodies.begin();j!=bodies.end();j++) {
+         if (!*j || ((*j)->flags & PhysicBody::FIXED)) continue;
+         k2vel[(*j)->id]=accels[(*j)->id]*delta;
+@@ -330,8 +344,8 @@
+         (*j)->pos=mipos[(*j)->id]+k1pos[(*j)->id]*(3.0/40.0)+k2pos[(*j)->id]*(9.0/40.0);
+     }
+     calculateForces(delta*0.3,accels);
+-    Vector2d k4pos[n];
+-    Vector2d k4vel[n];
++    DynArray<Vector2d> k4pos(n);
++    DynArray<Vector2d> k4vel(n);
+     for (vector<PhysicBody*>::iterator j=bodies.begin();j!=bodies.end();j++) {
+         if (!*j || ((*j)->flags & PhysicBody::FIXED)) continue;
+         k3vel[(*j)->id]=accels[(*j)->id]*delta;
+@@ -339,8 +353,8 @@
+         (*j)->pos=mipos[(*j)->id]+k1pos[(*j)->id]*0.3+k2pos[(*j)->id]*(-0.9)+k3pos[(*j)->id]*1.2;
+     }
+     calculateForces(delta*0.6,accels);
+-    Vector2d k5pos[n];
+-    Vector2d k5vel[n];
++    DynArray<Vector2d> k5pos(n);
++    DynArray<Vector2d> k5vel(n);
+     for (vector<PhysicBody*>::iterator j=bodies.begin();j!=bodies.end();j++) {
+         if (!*j || ((*j)->flags & PhysicBody::FIXED)) continue;
+         k4vel[(*j)->id]=accels[(*j)->id]*delta;
+@@ -348,8 +362,8 @@
+         (*j)->pos=mipos[(*j)->id]+k1pos[(*j)->id]*(-11.0/54.0)+k2pos[(*j)->id]*2.5+k3pos[(*j)->id]*(-70.0/27.0)+k4pos[(*j)->id]*(35.0/27.0);
+     }
+     calculateForces(delta,accels);
+-    Vector2d k6pos[n];
+-    Vector2d k6vel[n];
++    DynArray<Vector2d> k6pos(n);
++    DynArray<Vector2d> k6vel(n);
+     for (vector<PhysicBody*>::iterator j=bodies.begin();j!=bodies.end();j++) {
+         if (!*j || ((*j)->flags & PhysicBody::FIXED)) continue;
+         k5vel[(*j)->id]=accels[(*j)->id]*delta;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201306141318.r5EDIs6j025253>