[Change] Cleaned up some code.
This commit is contained in:
parent
b4edcb5f27
commit
62f31aa8c4
@ -355,7 +355,7 @@ void gui_render(double dt) {
|
|||||||
NULL, "%s", cur_system->planets[planet_target]->name);
|
NULL, "%s", cur_system->planets[planet_target]->name);
|
||||||
}
|
}
|
||||||
else if(hyperspace_target >= 0) { /* Hyperspace target. */
|
else if(hyperspace_target >= 0) { /* Hyperspace target. */
|
||||||
sys = &systems_stack[cur_system->jumps[hyperspace_target]];
|
sys = system_getIndex(cur_system->jumps[hyperspace_target]);
|
||||||
|
|
||||||
/* Determine if we have to play the "enter hyperspace range" sound. */
|
/* Determine if we have to play the "enter hyperspace range" sound. */
|
||||||
i = space_canHyperspace(player);
|
i = space_canHyperspace(player);
|
||||||
|
@ -529,7 +529,7 @@ static void render_all(void) {
|
|||||||
player_render(dt);
|
player_render(dt);
|
||||||
spfx_render(SPFX_LAYER_FRONT);
|
spfx_render(SPFX_LAYER_FRONT);
|
||||||
space_renderOverlay(dt);
|
space_renderOverlay(dt);
|
||||||
gui_render(dt);
|
//gui_render(dt);
|
||||||
display_fps(dt); /* Exception. */
|
display_fps(dt); /* Exception. */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
47
src/map.c
47
src/map.c
@ -51,7 +51,9 @@ static void map_selectCur(void);
|
|||||||
*/
|
*/
|
||||||
void map_open(void) {
|
void map_open(void) {
|
||||||
unsigned int wid;
|
unsigned int wid;
|
||||||
|
StarSystem* cur;
|
||||||
|
|
||||||
|
/* Destroy window if exitsts. */
|
||||||
wid = window_get(MAP_WDWNAME);
|
wid = window_get(MAP_WDWNAME);
|
||||||
if(wid > 0) {
|
if(wid > 0) {
|
||||||
window_destroy(wid);
|
window_destroy(wid);
|
||||||
@ -69,6 +71,10 @@ void map_open(void) {
|
|||||||
if(map_selected == -1)
|
if(map_selected == -1)
|
||||||
map_selectCur();
|
map_selectCur();
|
||||||
|
|
||||||
|
/* Get the selected system. */
|
||||||
|
cur = system_getIndex(map_selected);
|
||||||
|
|
||||||
|
/* Create the window. */
|
||||||
wid = window_create("Star Map", -1, -1, WINDOW_WIDTH, WINDOW_HEIGHT);
|
wid = window_create("Star Map", -1, -1, WINDOW_WIDTH, WINDOW_HEIGHT);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -95,7 +101,7 @@ void map_open(void) {
|
|||||||
|
|
||||||
/* System name. */
|
/* System name. */
|
||||||
window_addText(wid, -20, -20, 100, 20, 1, "txtSysname",
|
window_addText(wid, -20, -20, 100, 20, 1, "txtSysname",
|
||||||
&gl_defFont, &cDConsole, systems_stack[map_selected].name);
|
&gl_defFont, &cDConsole, cur->name);
|
||||||
|
|
||||||
/* Faction. */
|
/* Faction. */
|
||||||
window_addText(wid, -20, -60, 90, 20, 0, "txtSFaction",
|
window_addText(wid, -20, -60, 90, 20, 0, "txtSFaction",
|
||||||
@ -160,6 +166,8 @@ static void map_update(unsigned int wid) {
|
|||||||
if(!map_isOpen())
|
if(!map_isOpen())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
sys = system_getIndex(map_selected);
|
||||||
|
|
||||||
sys = &systems_stack[map_selected];
|
sys = &systems_stack[map_selected];
|
||||||
|
|
||||||
/* Right text. */
|
/* Right text. */
|
||||||
@ -330,7 +338,7 @@ static int map_inPath(StarSystem* sys) {
|
|||||||
static void map_render(double bx, double by, double w, double h) {
|
static void map_render(double bx, double by, double w, double h) {
|
||||||
int i, j, n, m;
|
int i, j, n, m;
|
||||||
double x, y, r, tx, ty;
|
double x, y, r, tx, ty;
|
||||||
StarSystem* sys;
|
StarSystem* sys, *jsys, *hsys;
|
||||||
glColour* col;
|
glColour* col;
|
||||||
|
|
||||||
r = 5.;
|
r = 5.;
|
||||||
@ -347,7 +355,7 @@ static void map_render(double bx, double by, double w, double h) {
|
|||||||
|
|
||||||
/* Render the star systems. */
|
/* Render the star systems. */
|
||||||
for(i = 0; i < systems_nstack; i++) {
|
for(i = 0; i < systems_nstack; i++) {
|
||||||
sys = &systems_stack[i];
|
sys = system_getIndex(i);
|
||||||
|
|
||||||
/* Check to make sure system is known of adjacent to known (or marked). */
|
/* Check to make sure system is known of adjacent to known (or marked). */
|
||||||
if(!sys_isFlag(sys, SYSTEM_MARKED | SYSTEM_CMARKED) && !space_sysReachable(sys))
|
if(!sys_isFlag(sys, SYSTEM_MARKED | SYSTEM_CMARKED) && !space_sysReachable(sys))
|
||||||
@ -394,13 +402,16 @@ static void map_render(double bx, double by, double w, double h) {
|
|||||||
/* Cheaply use transparency instead of actually */
|
/* Cheaply use transparency instead of actually */
|
||||||
/* calculating from x to y the line must go. :) */
|
/* calculating from x to y the line must go. :) */
|
||||||
for(j = 0; j < sys->njumps; j++) {
|
for(j = 0; j < sys->njumps; j++) {
|
||||||
n = map_inPath(&systems_stack[sys->jumps[j]]);
|
jsys = system_getIndex(sys->jumps[j]);
|
||||||
|
hsys = system_getIndex(cur_system->jumps[hyperspace_target]);
|
||||||
|
|
||||||
|
n = map_inPath(jsys);
|
||||||
m = map_inPath(sys);
|
m = map_inPath(sys);
|
||||||
/* Set the colours, is the route the current one? */
|
/* Set the colours, is the route the current one? */
|
||||||
if((hyperspace_target != -1) &&
|
if((hyperspace_target != -1) &&
|
||||||
(((cur_system == sys) && (j == hyperspace_target)) ||
|
(((cur_system == sys) && (j == hyperspace_target)) ||
|
||||||
((cur_system == &systems_stack[sys->jumps[j]]) &&
|
((cur_system == jsys) &&
|
||||||
(sys==&systems_stack[cur_system->jumps[hyperspace_target]])))) {
|
(sys == hsys)))) {
|
||||||
if(player->fuel < HYPERSPACE_FUEL)
|
if(player->fuel < HYPERSPACE_FUEL)
|
||||||
col = &cRed;
|
col = &cRed;
|
||||||
else
|
else
|
||||||
@ -420,12 +431,12 @@ static void map_render(double bx, double by, double w, double h) {
|
|||||||
ty = y + sys->pos.y * map_zoom;
|
ty = y + sys->pos.y * map_zoom;
|
||||||
glVertex2d(tx, ty);
|
glVertex2d(tx, ty);
|
||||||
COLOUR(*col);
|
COLOUR(*col);
|
||||||
tx += (systems_stack[sys->jumps[j]].pos.x - sys->pos.x)/2. * map_zoom;
|
tx += (jsys->pos.x - sys->pos.x)/2. * map_zoom;
|
||||||
ty += (systems_stack[sys->jumps[j]].pos.y - sys->pos.y)/2. * map_zoom;
|
ty += (jsys->pos.y - sys->pos.y)/2. * map_zoom;
|
||||||
glVertex2d(tx, ty);
|
glVertex2d(tx, ty);
|
||||||
ACOLOUR(*col, 0.);
|
ACOLOUR(*col, 0.);
|
||||||
tx = x + systems_stack[sys->jumps[j]].pos.x * map_zoom;
|
tx = x + jsys->pos.x * map_zoom;
|
||||||
ty = y + systems_stack[sys->jumps[j]].pos.y * map_zoom;
|
ty = y + jsys->pos.y * map_zoom;
|
||||||
glVertex2d(tx, ty);
|
glVertex2d(tx, ty);
|
||||||
glEnd();
|
glEnd();
|
||||||
}
|
}
|
||||||
@ -433,7 +444,7 @@ static void map_render(double bx, double by, double w, double h) {
|
|||||||
}
|
}
|
||||||
/* Selected planet. */
|
/* Selected planet. */
|
||||||
if(map_selected != -1) {
|
if(map_selected != -1) {
|
||||||
sys = &systems_stack[map_selected];
|
sys = system_getIndex(map_selected);
|
||||||
COLOUR(cRed);
|
COLOUR(cRed);
|
||||||
gl_drawCircleInRect(x + sys->pos.x*map_zoom, y + sys->pos.y*map_zoom,
|
gl_drawCircleInRect(x + sys->pos.x*map_zoom, y + sys->pos.y*map_zoom,
|
||||||
r+3., bx, by, w, h);
|
r+3., bx, by, w, h);
|
||||||
@ -461,7 +472,7 @@ static void map_mouse(unsigned int wid, SDL_Event* event, double mx, double my)
|
|||||||
/* Selecting star system. */
|
/* Selecting star system. */
|
||||||
else {
|
else {
|
||||||
for(i = 0; i < systems_nstack; i++) {
|
for(i = 0; i < systems_nstack; i++) {
|
||||||
sys = &systems_stack[i];
|
sys = system_getIndex(i);
|
||||||
|
|
||||||
/* Must be reachable. */
|
/* Must be reachable. */
|
||||||
if(!space_sysReachable(sys))
|
if(!space_sysReachable(sys))
|
||||||
@ -482,9 +493,9 @@ static void map_mouse(unsigned int wid, SDL_Event* event, double mx, double my)
|
|||||||
if(map_npath == 0)
|
if(map_npath == 0)
|
||||||
hyperspace_target = -1;
|
hyperspace_target = -1;
|
||||||
else
|
else
|
||||||
/* See if it a valid hyperspace target. */
|
/* See if it is a valid hyperspace target. */
|
||||||
for(j = 0; j < cur_system->njumps; j++) {
|
for(j = 0; j < cur_system->njumps; j++) {
|
||||||
if(map_path[0] == &systems_stack[cur_system->jumps[j]]) {
|
if(map_path[0] == system_getIndex(cur_system->jumps[j])) {
|
||||||
planet_target = -1; /* Override planet_target. */
|
planet_target = -1; /* Override planet_target. */
|
||||||
hyperspace_target = j;
|
hyperspace_target = j;
|
||||||
break;
|
break;
|
||||||
@ -596,7 +607,7 @@ void map_jump(void) {
|
|||||||
|
|
||||||
/* Set the next jump to be the next in path. */
|
/* Set the next jump to be the next in path. */
|
||||||
for(j = 0; j < cur_system->njumps; j++) {
|
for(j = 0; j < cur_system->njumps; j++) {
|
||||||
if(map_path[0] == &systems_stack[cur_system->jumps[j]]) {
|
if(map_path[0] == system_getIndex(cur_system->jumps[j])) {
|
||||||
planet_target = -1; /* Override planet_target. */
|
planet_target = -1; /* Override planet_target. */
|
||||||
hyperspace_target = j;
|
hyperspace_target = j;
|
||||||
break;
|
break;
|
||||||
@ -806,7 +817,7 @@ StarSystem** map_getJumpPath(int* njumps, char* sysstart, char* sysend, int igno
|
|||||||
cost = A_g(cur) + 1;
|
cost = A_g(cur) + 1;
|
||||||
|
|
||||||
for(i = 0; i < cur->sys->njumps; i++) {
|
for(i = 0; i < cur->sys->njumps; i++) {
|
||||||
sys = &systems_stack[cur->sys->jumps[i]];
|
sys = system_getIndex(cur->sys->jumps[i]);
|
||||||
|
|
||||||
/* Make sure it's reachable. */
|
/* Make sure it's reachable. */
|
||||||
if(!ignore_known && (!sys_isKnown(sys) && !space_sysReachable(esys)))
|
if(!ignore_known && (!sys_isKnown(sys) && !space_sysReachable(esys)))
|
||||||
@ -875,7 +886,7 @@ int map_map(char* targ_sys, int r) {
|
|||||||
|
|
||||||
/* Check it's jumps. */
|
/* Check it's jumps. */
|
||||||
for(i = 0; i < sys->njumps; i++) {
|
for(i = 0; i < sys->njumps; i++) {
|
||||||
jsys = &systems_stack[cur->sys->jumps[i]];
|
jsys = system_getIndex(cur->sys->jumps[i]);
|
||||||
|
|
||||||
/* System has already been parsed or is too deep. */
|
/* System has already been parsed or is too deep. */
|
||||||
if((A_in(closed, jsys) != NULL) || (dep+1 > r))
|
if((A_in(closed, jsys) != NULL) || (dep+1 > r))
|
||||||
@ -919,7 +930,7 @@ int map_isMapped(char* targ_sys, int r) {
|
|||||||
|
|
||||||
/* Check it's jumps. */
|
/* Check it's jumps. */
|
||||||
for(i = 0; i < sys->njumps; i++) {
|
for(i = 0; i < sys->njumps; i++) {
|
||||||
jsys = &systems_stack[cur->sys->jumps[i]];
|
jsys = system_getIndex(cur->sys->jumps[i]);
|
||||||
|
|
||||||
/* System has already been parsed or is too deep. */
|
/* System has already been parsed or is too deep. */
|
||||||
if((A_in(closed, jsys) != NULL) || (dep+1 > r))
|
if((A_in(closed, jsys) != NULL) || (dep+1 > r))
|
||||||
|
@ -32,10 +32,6 @@ Mission player_missions[MISSION_MAX];
|
|||||||
static MissionData* mission_stack = NULL; /* Unmuteable after creation. */
|
static MissionData* mission_stack = NULL; /* Unmuteable after creation. */
|
||||||
static int mission_nstack = 0;
|
static int mission_nstack = 0;
|
||||||
|
|
||||||
/* External space stack. */
|
|
||||||
extern StarSystem* systems_stack;
|
|
||||||
extern int systems_nstack;
|
|
||||||
|
|
||||||
/* Static. */
|
/* Static. */
|
||||||
static unsigned int mission_genID(void);
|
static unsigned int mission_genID(void);
|
||||||
static int mission_init(Mission* mission, MissionData* misn, int load);
|
static int mission_init(Mission* mission, MissionData* misn, int load);
|
||||||
|
15
src/player.c
15
src/player.c
@ -101,9 +101,6 @@ static int missions_ndone = 0; /**< Number of completed missions. */
|
|||||||
extern Pilot** pilot_stack;
|
extern Pilot** pilot_stack;
|
||||||
extern int pilot_nstack;
|
extern int pilot_nstack;
|
||||||
|
|
||||||
/* Stuff for autonav etc. */
|
|
||||||
extern StarSystem* systems_stack;
|
|
||||||
|
|
||||||
/* Map stuff for autonav. */
|
/* Map stuff for autonav. */
|
||||||
extern int map_npath;
|
extern int map_npath;
|
||||||
|
|
||||||
@ -1016,7 +1013,7 @@ void player_targetHyperspace(void) {
|
|||||||
if(hyperspace_target == -1)
|
if(hyperspace_target == -1)
|
||||||
map_select(NULL);
|
map_select(NULL);
|
||||||
else
|
else
|
||||||
map_select(&systems_stack[cur_system->jumps[hyperspace_target]]);
|
map_select(system_getIndex(cur_system->jumps[hyperspace_target]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1069,7 +1066,7 @@ void player_brokeHyperspace(void) {
|
|||||||
ltime_inc(RNG(tl, th));
|
ltime_inc(RNG(tl, th));
|
||||||
|
|
||||||
/* Enter the new system. */
|
/* Enter the new system. */
|
||||||
space_init(systems_stack[cur_system->jumps[hyperspace_target]].name);
|
space_init(system_getIndex(cur_system->jumps[hyperspace_target])->name);
|
||||||
|
|
||||||
/* Set position, pilot_update will handle the lowering of velocity. */
|
/* Set position, pilot_update will handle the lowering of velocity. */
|
||||||
d = RNGF()*(HYPERSPACE_ENTER_MAX-HYPERSPACE_ENTER_MIN) + HYPERSPACE_ENTER_MIN;
|
d = RNGF()*(HYPERSPACE_ENTER_MAX-HYPERSPACE_ENTER_MIN) + HYPERSPACE_ENTER_MIN;
|
||||||
@ -1107,10 +1104,10 @@ void player_brokeHyperspace(void) {
|
|||||||
*/
|
*/
|
||||||
double player_faceHyperspace(void) {
|
double player_faceHyperspace(void) {
|
||||||
double a;
|
double a;
|
||||||
a = ANGLE(systems_stack[cur_system->jumps[hyperspace_target]].pos.x -
|
StarSystem* sys;
|
||||||
cur_system->pos.x,
|
|
||||||
systems_stack[cur_system->jumps[hyperspace_target]].pos.y -
|
sys = system_getIndex(cur_system->jumps[hyperspace_target]);
|
||||||
cur_system->pos.y);
|
a = ANGLE(sys->pos.x - cur_system->pos.x, sys->pos.y - cur_system->pos.y);
|
||||||
|
|
||||||
return pilot_face(player, a);
|
return pilot_face(player, a);
|
||||||
}
|
}
|
||||||
|
11
src/space.c
11
src/space.c
@ -374,7 +374,7 @@ int space_sysReachable(StarSystem* sys) {
|
|||||||
|
|
||||||
/* Check to see if it is adjacent to known. */
|
/* Check to see if it is adjacent to known. */
|
||||||
for(i = 0; i < sys->njumps; i++)
|
for(i = 0; i < sys->njumps; i++)
|
||||||
if(sys_isKnown(&systems_stack[sys->jumps[i]]))
|
if(sys_isKnown(system_getIndex(sys->jumps[i])))
|
||||||
return 1;
|
return 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -391,6 +391,15 @@ StarSystem* system_get(const char* sysname) {
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Get the system by its index.
|
||||||
|
* @param id Index to match.
|
||||||
|
* @return Systems matching index.
|
||||||
|
*/
|
||||||
|
StarSystem* system_getIndex(int id) {
|
||||||
|
return &systems_stack[id];
|
||||||
|
}
|
||||||
|
|
||||||
/* Get the name of a system from a planetname. */
|
/* Get the name of a system from a planetname. */
|
||||||
char* planet_getSystem(char* planetname) {
|
char* planet_getSystem(char* planetname) {
|
||||||
int i;
|
int i;
|
||||||
|
@ -168,6 +168,7 @@ void space_update(const double dt);
|
|||||||
|
|
||||||
/* Misc. */
|
/* Misc. */
|
||||||
StarSystem* system_get(const char* sysname);
|
StarSystem* system_get(const char* sysname);
|
||||||
|
StarSystem* system_getIndex(int id);
|
||||||
int space_canHyperspace(Pilot* p);
|
int space_canHyperspace(Pilot* p);
|
||||||
int space_hyperspace(Pilot* p);
|
int space_hyperspace(Pilot* p);
|
||||||
int space_sysReachable(StarSystem* sys);
|
int space_sysReachable(StarSystem* sys);
|
||||||
|
Loading…
Reference in New Issue
Block a user