summaryrefslogtreecommitdiff
path: root/src/elements
diff options
context:
space:
mode:
Diffstat (limited to 'src/elements')
-rw-r--r--src/elements/prti.c22
-rw-r--r--src/elements/prto.c26
2 files changed, 22 insertions, 26 deletions
diff --git a/src/elements/prti.c b/src/elements/prti.c
index 30f86ae..c206115 100644
--- a/src/elements/prti.c
+++ b/src/elements/prti.c
@@ -41,32 +41,28 @@ int update_PRTI(UPDATE_FUNC_ARGS) {
}
}
-
- if (fe) {
+ if (fe || parts[i].life || parts[i].ctype) {
int orbd[4] = {0, 0, 0, 0}; //Orbital distances
int orbl[4] = {0, 0, 0, 0}; //Orbital locations
if (!parts[i].life) parts[i].life = rand();
if (!parts[i].ctype) parts[i].ctype = rand();
orbitalparts_get(parts[i].life, parts[i].ctype, orbd, orbl);
for (r = 0; r < 4; r++) {
- if (orbd[r]>1) {
+ if (orbd[r]>12) {
orbd[r] -= 12;
- if (orbd[r]<1) {
+ orbl[r] += 2;
+ orbl[r] = orbl[r]%255;
+ } else {
+ if (fe) {
orbd[r] = (rand()%128)+128;
orbl[r] = rand()%255;
- } else {
- orbl[r] += 2;
- orbl[r] = orbl[r]%255;
}
- } else {
- orbd[r] = (rand()%128)+128;
- orbl[r] = rand()%255;
+ else {
+ orbd[r] = orbl[r] = 0;
+ }
}
}
orbitalparts_set(&parts[i].life, &parts[i].ctype, orbd, orbl);
- } else {
- parts[i].life = 0;
- parts[i].ctype = 0;
}
return 0;
}
diff --git a/src/elements/prto.c b/src/elements/prto.c
index 46c7250..1fb4105 100644
--- a/src/elements/prto.c
+++ b/src/elements/prto.c
@@ -62,30 +62,30 @@ int update_PRTO(UPDATE_FUNC_ARGS) {
}
}
}
- if (fe) {
+
+ if (fe || parts[i].ctype) {
int orbd[4] = {0, 0, 0, 0}; //Orbital distances
int orbl[4] = {0, 0, 0, 0}; //Orbital locations
- if (!parts[i].life) parts[i].life = rand();
- if (!parts[i].ctype) parts[i].life = rand();
+ if (!parts[i].life || !(~parts[i].life)) parts[i].life = rand();
+ if (!parts[i].ctype) parts[i].ctype = rand();
orbitalparts_get(parts[i].life, parts[i].ctype, orbd, orbl);
for (r = 0; r < 4; r++) {
- if (orbd[r]<254) {
+ if (orbd[r]<239) {
orbd[r] += 16;
- if (orbd[r]>254) {
- orbd[r] = 0;
- orbl[r] = rand()%255;
- }
//orbl[r] += 1;
//orbl[r] = orbl[r]%255;
} else {
- orbd[r] = 0;
- orbl[r] = rand()%255;
+ if (fe) {
+ orbd[r] = 0;
+ orbl[r] = rand()%255;
+ }
+ else {
+ orbd[r] = 255;
+ orbl[r] = 0;
+ }
}
}
orbitalparts_set(&parts[i].life, &parts[i].ctype, orbd, orbl);
- } else {
- parts[i].life = 0;
- parts[i].ctype = 0;
}
return 0;
}