(genpower, powcmp): Sort struct powstr powbuf[] instead of struct
powsort order[]. Marginally less efficient, but simpler. (powsort): Unused, remove.
This commit is contained in:
parent
114a05e969
commit
2c0416135e
1 changed files with 7 additions and 17 deletions
|
@ -49,11 +49,6 @@
|
||||||
#include "power.h"
|
#include "power.h"
|
||||||
#include "ship.h"
|
#include "ship.h"
|
||||||
|
|
||||||
struct powsort {
|
|
||||||
float powval;
|
|
||||||
natid cnum;
|
|
||||||
};
|
|
||||||
|
|
||||||
static void prpower(char *, struct powstr *, int);
|
static void prpower(char *, struct powstr *, int);
|
||||||
static void out5(double, int, int);
|
static void out5(double, int, int);
|
||||||
static void gen_power(void);
|
static void gen_power(void);
|
||||||
|
@ -206,7 +201,6 @@ gen_power(void)
|
||||||
struct powstr powbuf[MAXNOC];
|
struct powstr powbuf[MAXNOC];
|
||||||
struct nstr_item ni;
|
struct nstr_item ni;
|
||||||
struct nstr_sect ns;
|
struct nstr_sect ns;
|
||||||
struct powsort order[MAXNOC];
|
|
||||||
struct natstr *natp;
|
struct natstr *natp;
|
||||||
float f;
|
float f;
|
||||||
|
|
||||||
|
@ -294,14 +288,10 @@ gen_power(void)
|
||||||
maxpop = max_population(np->nat_level[NAT_RLEV], SCT_MINE, 0);
|
maxpop = max_population(np->nat_level[NAT_RLEV], SCT_MINE, 0);
|
||||||
powbuf[i].p_power *= 1.0 + maxpop / 10000.0;
|
powbuf[i].p_power *= 1.0 + maxpop / 10000.0;
|
||||||
}
|
}
|
||||||
order[i].powval = powbuf[i].p_power;
|
|
||||||
order[i].cnum = i;
|
|
||||||
}
|
|
||||||
qsort(&order[1], MAXNOC - 1, sizeof(*order), powcmp);
|
|
||||||
putpower(0, &powbuf[0]);
|
|
||||||
for (i = 1; i < MAXNOC; i++) {
|
|
||||||
putpower(i, &powbuf[order[i].cnum]);
|
|
||||||
}
|
}
|
||||||
|
qsort(&powbuf[1], MAXNOC - 1, sizeof(*powbuf), powcmp);
|
||||||
|
for (i = 0; i < MAXNOC; i++)
|
||||||
|
putpower(i, &powbuf[i]);
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
/*
|
/*
|
||||||
* At least some versions of Windows fail to update mtime on
|
* At least some versions of Windows fail to update mtime on
|
||||||
|
@ -315,12 +305,12 @@ gen_power(void)
|
||||||
static int
|
static int
|
||||||
powcmp(const void *a, const void *b)
|
powcmp(const void *a, const void *b)
|
||||||
{
|
{
|
||||||
const struct powsort *p1 = a;
|
const struct powstr *p1 = a;
|
||||||
const struct powsort *p2 = b;
|
const struct powstr *p2 = b;
|
||||||
|
|
||||||
if (p1->powval > p2->powval)
|
if (p1->p_power > p2->p_power)
|
||||||
return -1;
|
return -1;
|
||||||
if (p1->powval < p2->powval)
|
if (p1->p_power < p2->p_power)
|
||||||
return 1;
|
return 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue