summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-04-16 20:19:12 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-04-16 20:19:12 (GMT)
commitc3c31b20b07d1971091cf225311a86c51b64e2ca (patch)
tree3078c4cab8f2a1a1d930788fd131d1432d8450f5 /src
parent465cb12af436a65871bd149174da0e7479d108bd (diff)
downloadpowder-c3c31b20b07d1971091cf225311a86c51b64e2ca.zip
powder-c3c31b20b07d1971091cf225311a86c51b64e2ca.tar.gz
Fix portals
Diffstat (limited to 'src')
-rw-r--r--src/elements/prti.cpp6
-rw-r--r--src/simulation/Simulation.cpp5
2 files changed, 6 insertions, 5 deletions
diff --git a/src/elements/prti.cpp b/src/elements/prti.cpp
index 9bbbf26..f5b2374 100644
--- a/src/elements/prti.cpp
+++ b/src/elements/prti.cpp
@@ -6,8 +6,6 @@
PRTO does (count+4)%8, so that it will come out at the opposite place to where it came in
PRTO does +/-1 to the count, so it doesn't jam as easily
*/
-int portal_rx[8] = {-1, 0, 1, 1, 1, 0,-1,-1};
-int portal_ry[8] = {-1,-1,-1, 0, 1, 1, 1, 0};
int update_PRTI(UPDATE_FUNC_ARGS) {
int r, nnx, rx, ry, fe = 0;
@@ -17,8 +15,8 @@ int update_PRTI(UPDATE_FUNC_ARGS) {
else if (parts[i].tmp<0) parts[i].tmp = 0;
for (count=0; count<8; count++)
{
- rx = portal_rx[count];
- ry = portal_ry[count];
+ rx = sim->portal_rx[count];
+ ry = sim->portal_ry[count];
if (x+rx>=0 && y+ry>0 && x+rx<XRES && y+ry<YRES && (rx || ry))
{
r = pmap[y+ry][x+rx];
diff --git a/src/simulation/Simulation.cpp b/src/simulation/Simulation.cpp
index 7fdd6d6..c266e22 100644
--- a/src/simulation/Simulation.cpp
+++ b/src/simulation/Simulation.cpp
@@ -3372,7 +3372,9 @@ Simulation::~Simulation()
}
Simulation::Simulation():
- sys_pause(0)
+ sys_pause(0),
+ portal_rx({-1, 0, 1, 1, 1, 0,-1,-1}),
+ portal_ry({-1,-1,-1, 0, 1, 1, 1, 0})
{
//Create and attach gravity simulation
grav = new Gravity();
@@ -3397,6 +3399,7 @@ Simulation::Simulation():
pv = air->pv;
hv = air->hv;
+ //Clear signs
signs = (sign*)calloc(MAXSIGNS, sizeof(sign));
int menuCount;