summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorjacksonmj <mj-pt@jacksonmj.co.uk>2011-12-10 08:29:23 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2011-12-10 18:38:30 (GMT)
commitbcfea42d18f14ed851936cfe458e7876b9d54a28 (patch)
treefedc2a4e6e1460eee5d990478aea4fdfc48103d1 /src/main.c
parentc7d0bf48b614337b29726bc9bca98047031c6cb4 (diff)
downloadpowder-bcfea42d18f14ed851936cfe458e7876b9d54a28.zip
powder-bcfea42d18f14ed851936cfe458e7876b9d54a28.tar.gz
Set BIZR/G/S ctype when loading a save, set BIZS ctype in create_part
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c47
1 files changed, 22 insertions, 25 deletions
diff --git a/src/main.c b/src/main.c
index eee04cc..ef150ac 100644
--- a/src/main.c
+++ b/src/main.c
@@ -724,35 +724,32 @@ int parse_save(void *save, int size, int replace, int x0, int y0, unsigned char
if (pmap[y][x])
{
k = pmap[y][x]>>8;
- memset(parts+k, 0, sizeof(particle));
- parts[k].type = j;
- if (j == PT_PHOT)
- parts[k].ctype = 0x3fffffff;
- if (j == PT_SOAP)
- parts[k].ctype = 0;
- parts[k].x = (float)x;
- parts[k].y = (float)y;
- m[(x-x0)+(y-y0)*w] = k+1;
- }
- else if (i < nf)
- {
- memset(parts+fp[i], 0, sizeof(particle));
- parts[fp[i]].type = j;
- if (j == PT_COAL)
- parts[fp[i]].tmp = 50;
- if (j == PT_FUSE)
- parts[fp[i]].tmp = 50;
- if (j == PT_PHOT)
- parts[fp[i]].ctype = 0x3fffffff;
- if (j == PT_SOAP)
- parts[fp[i]].ctype = 0;
- parts[fp[i]].x = (float)x;
- parts[fp[i]].y = (float)y;
- m[(x-x0)+(y-y0)*w] = fp[i]+1;
+ }
+ else if (i<nf)
+ {
+ k = fp[i];
i++;
}
else
+ {
m[(x-x0)+(y-y0)*w] = NPART+1;
+ continue;
+ }
+ memset(parts+k, 0, sizeof(particle));
+ parts[k].type = j;
+ if (j == PT_COAL)
+ parts[k].tmp = 50;
+ if (j == PT_FUSE)
+ parts[k].tmp = 50;
+ if (j == PT_PHOT)
+ parts[k].ctype = 0x3fffffff;
+ if (j == PT_SOAP)
+ parts[k].ctype = 0;
+ if (j==PT_BIZR || j==PT_BIZRG || j==PT_BIZRS)
+ parts[k].ctype = 0x47FFFF;
+ parts[k].x = (float)x;
+ parts[k].y = (float)y;
+ m[(x-x0)+(y-y0)*w] = k+1;
}
}