Fix portals

This commit is contained in:
Simon Robertshaw 2012-04-16 21:19:12 +01:00
parent 465cb12af4
commit c3c31b20b0
2 changed files with 6 additions and 5 deletions

View File

@ -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];

View File

@ -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;