![]() |
naev 0.11.5
|
Handles the star system editor. More...
#include "dev_uniedit.h"#include "array.h"#include "conf.h"#include "dev_spob.h"#include "dev_sysedit.h"#include "dev_system.h"#include "dialogue.h"#include "economy.h"#include "map.h"#include "map_find.h"#include "ndata.h"#include "nstring.h"#include "opengl.h"#include "pause.h"#include "safelanes.h"#include "space.h"#include "tk/toolkit_priv.h"#include "toolkit.h"#include "unidiff.h"Go to the source code of this file.
Macros | |
| #define | BUTTON_WIDTH 100 |
| #define | BUTTON_HEIGHT 30 |
| #define | UNIEDIT_EDIT_WIDTH 400 |
| #define | UNIEDIT_EDIT_HEIGHT 450 |
| #define | UNIEDIT_FIND_WIDTH 400 |
| #define | UNIEDIT_FIND_HEIGHT 500 |
| #define | UNIEDIT_DRAG_THRESHOLD 300 |
| #define | UNIEDIT_MOVE_THRESHOLD 10 |
| #define | UNIEDIT_CLICK_THRESHOLD 20. |
| #define | UNIEDIT_DOUBLECLICK_THRESHOLD 300 |
| #define | UNIEDIT_ZOOM_STEP 1.2 |
| #define | UNIEDIT_ZOOM_MAX 5. |
| #define | UNIEDIT_ZOOM_MIN -5. |
Enumerations | |
| enum | UniEditMode { UNIEDIT_DEFAULT , UNIEDIT_JUMP , UNIEDIT_NEWSYS , UNIEDIT_ROTATE } |
| enum | UniEditViewMode { UNIEDIT_VIEW_DEFAULT , UNIEDIT_VIEW_VIRTUALSPOBS , UNIEDIT_VIEW_RADIUS , UNIEDIT_VIEW_NOLANES , UNIEDIT_VIEW_BACKGROUND , UNIEDIT_VIEW_ASTEROIDS , UNIEDIT_VIEW_INTERFERENCE , UNIEDIT_VIEW_TECH , UNIEDIT_VIEW_PRESENCE_SUM , UNIEDIT_VIEW_PRESENCE } |
Functions | |
| static void | uniedit_deselect (void) |
| Deselects selected targets. | |
| static void | uniedit_selectAdd (StarSystem *sys) |
| Adds a system to the selection. | |
| static void | uniedit_selectRm (StarSystem *sys) |
| Removes a system from the selection. | |
| static void | uniedit_findSys (void) |
| Finds systems and spobs. | |
| static void | uniedit_findSysClose (unsigned int wid, const char *name) |
| Closes the search dialogue. | |
| static void | uniedit_findSearch (unsigned int wid, const char *str) |
| Searches for spobs and systems. | |
| static void | uniedit_findShowResults (unsigned int wid, map_find_t *found, int n) |
| Generates the virtual spob list. | |
| static void | uniedit_centerSystem (unsigned int wid, const char *unused) |
| Centers the selected system. | |
| static int | uniedit_sortCompare (const void *p1, const void *p2) |
| qsort compare function for map finds. | |
| static void | uniedit_editSys (void) |
| Edits an individual system or group of systems. | |
| static void | uniedit_editSysClose (unsigned int wid, const char *name) |
| Closes the system property editor, saving the changes made. | |
| static void | uniedit_editGenList (unsigned int wid) |
| Generates the virtual spob list. | |
| static void | uniedit_btnEditRename (unsigned int wid, const char *unused) |
| Renames the systems in the system editor. | |
| static void | uniedit_btnEditRmSpob (unsigned int wid, const char *unused) |
| Removes a selected spob. | |
| static void | uniedit_btnEditAddSpob (unsigned int parent, const char *unused) |
| Adds a new virtual spob. | |
| static void | uniedit_btnEditAddSpobAdd (unsigned int wid, const char *unused) |
| Actually adds the virtual spob. | |
| static void | uniedit_btnViewModeSet (unsigned int wid, const char *unused) |
| Actually adds the virtual spob. | |
| static void | uniedit_chkNolanes (unsigned int wid, const char *wgtname) |
| static int | uniedit_checkName (const char *name) |
| Checks to see if a system name is already in use. | |
| static void | uniedit_renameSys (void) |
| Renames all the currently selected systems. | |
| static void | uniedit_newSys (double x, double y) |
| Creates a new system. | |
| static void | uniedit_toggleJump (StarSystem *sys) |
| Toggles the jump point for the selected systems. | |
| static void | uniedit_jumpAdd (StarSystem *sys, StarSystem *targ) |
| Adds a new Star System jump. | |
| static void | uniedit_jumpRm (StarSystem *sys, StarSystem *targ) |
| Removes a Star System jump. | |
| static void | uniedit_btnEditTags (unsigned int wid, const char *unused) |
| Edits a spob's tags. | |
| static void | uniedit_genTagsList (unsigned int wid) |
| Generates the spob tech list. | |
| static void | uniedit_btnAddTag (unsigned int wid, const char *unused) |
| Adds a tech to a spob. | |
| static void | uniedit_btnRmTag (unsigned int wid, const char *unused) |
| Removes a tech from a spob. | |
| static void | uniedit_btnNewTag (unsigned int wid, const char *unused) |
| Adds a tech to a system. | |
| static void | uniedit_btnTagsClose (unsigned int wid, const char *unused) |
| static void | uniedit_buttonZoom (unsigned int wid, const char *str) |
| Handles the button zoom clicks. | |
| static void | uniedit_render (double bx, double by, double w, double h, void *data) |
| System editor custom widget rendering. | |
| static void | uniedit_renderOverlay (double bx, double by, double bw, double bh, void *data) |
| Renders the overlay. | |
| static void | uniedit_focusLose (unsigned int wid, const char *wgtname) |
| Called when it's de-focused. | |
| static int | uniedit_mouse (unsigned int wid, const SDL_Event *event, double mx, double my, double w, double h, double rx, double ry, void *data) |
| System editor custom widget mouse handling. | |
| static void | uniedit_renderFactionDisks (double x, double y, double r) |
| static void | uniedit_renderVirtualSpobs (double x, double y, double r) |
| static void | uniedit_close (unsigned int wid, const char *wgt) |
| Closes the system editor widget. | |
| static void | uniedit_save (unsigned int wid_unused, const char *unused) |
| static void | uniedit_btnView (unsigned int wid_unused, const char *unused) |
| Allows selecting the view. | |
| static void | uniedit_btnJump (unsigned int wid_unused, const char *unused) |
| Enters the editor in new jump mode. | |
| static void | uniedit_btnRename (unsigned int wid_unused, const char *unused) |
| Renames selected systems. | |
| static void | uniedit_btnEdit (unsigned int wid_unused, const char *unused) |
| Opens the system property editor. | |
| static void | uniedit_btnNew (unsigned int wid_unused, const char *unused) |
| Enters the editor in new system mode. | |
| static void | uniedit_btnOpen (unsigned int wid_unused, const char *unused) |
| Opens up a system. | |
| static void | uniedit_btnFind (unsigned int wid_unused, const char *unused) |
| Opens the system property editor. | |
| static int | uniedit_keys (unsigned int wid, SDL_Keycode key, SDL_Keymod mod, int isrepeat) |
| Handles keybindings. | |
| void | uniedit_open (unsigned int wid_unused, const char *unused) |
| Opens the system editor interface. | |
| void | uniedit_autosave (unsigned int wid_unused, const char *unused) |
| void | uniedit_updateAutosave (void) |
| static int | factionGenerates (int f, int tocheck, double *w) |
| static void | uniedit_renderRadius (double x, double y, double r) |
| static void | uniedit_renderNolanes (double x, double y, double r) |
| static void | uniedit_renderBackground (double x, double y, double r) |
| static void | uniedit_renderAsteroids (double x, double y, double r) |
| static void | uniedit_renderInterference (double x, double y, double r) |
| static void | uniedit_renderTech (double x, double y, double r) |
| static void | uniedit_renderPresenceSum (double x, double y, double r) |
| void | uniedit_renderMap (double bx, double by, double w, double h, double x, double y, double zoom, double r) |
| static char | getValCol (double val) |
| static int | getPresenceVal (int f, SpobPresence *ap, double *base, double *bonus) |
| char * | uniedit_nameFilter (const char *name) |
| void | uniedit_selectText (void) |
| Sets the selected system text. | |
Variables | |
| StarSystem * | systems_stack |
| static UniEditMode | uniedit_mode = UNIEDIT_DEFAULT |
| static UniEditViewMode | uniedit_viewmode = UNIEDIT_VIEW_DEFAULT |
| static int | uniedit_view_faction = -1 |
| static unsigned int | uniedit_wid = 0 |
| static unsigned int | uniedit_widEdit = 0 |
| static unsigned int | uniedit_widFind = 0 |
| static double | uniedit_xpos = 0. |
| static double | uniedit_ypos = 0. |
| static double | uniedit_zoom = 1. |
| static int | uniedit_moved = 0 |
| static unsigned int | uniedit_lastClick = 0 |
| static int | uniedit_drag = 0 |
| static int | uniedit_dragSys = 0 |
| static int | uniedit_dragSel = 0 |
| static double | uniedit_dragSelX = 0 |
| static double | uniedit_dragSelY = 0 |
| static double | uniedit_rotate = 0. |
| static double | uniedit_rotate_cx = 0. |
| static double | uniedit_rotate_cy = 0. |
| static StarSystem ** | uniedit_sys = NULL |
| static StarSystem * | uniedit_tsys = NULL |
| static int | uniedit_tadd = 0 |
| static double | uniedit_mx = 0. |
| static double | uniedit_my = 0. |
| static double | uniedit_dt = 0. |
| static char ** | uniedit_tagslist = NULL |
| static map_find_t * | found_cur = NULL |
| static int | found_ncur = 0 |
Handles the star system editor.
Definition in file dev_uniedit.c.
| #define BUTTON_HEIGHT 30 |
Map button height.
Definition at line 37 of file dev_uniedit.c.
| #define BUTTON_WIDTH 100 |
Map button width.
Definition at line 36 of file dev_uniedit.c.
| #define UNIEDIT_CLICK_THRESHOLD 20. |
Click threshold (px).
Definition at line 47 of file dev_uniedit.c.
| #define UNIEDIT_DOUBLECLICK_THRESHOLD 300 |
Drag threshold (ms).
Definition at line 48 of file dev_uniedit.c.
| #define UNIEDIT_DRAG_THRESHOLD 300 |
Drag threshold.
Definition at line 45 of file dev_uniedit.c.
| #define UNIEDIT_EDIT_HEIGHT 450 |
System editor height.
Definition at line 40 of file dev_uniedit.c.
| #define UNIEDIT_EDIT_WIDTH 400 |
System editor width.
Definition at line 39 of file dev_uniedit.c.
| #define UNIEDIT_FIND_HEIGHT 500 |
System editor height.
Definition at line 43 of file dev_uniedit.c.
| #define UNIEDIT_FIND_WIDTH 400 |
System editor width.
Definition at line 42 of file dev_uniedit.c.
| #define UNIEDIT_MOVE_THRESHOLD 10 |
Movement threshold.
Definition at line 46 of file dev_uniedit.c.
| #define UNIEDIT_ZOOM_MAX 5. |
Maximum uniedit zoom level (close).
Definition at line 51 of file dev_uniedit.c.
| #define UNIEDIT_ZOOM_MIN -5. |
Minimum uniedit zoom level (far).
Definition at line 52 of file dev_uniedit.c.
| #define UNIEDIT_ZOOM_STEP 1.2 |
Factor to zoom by for each zoom level.
Definition at line 50 of file dev_uniedit.c.
| enum UniEditMode |
| Enumerator | |
|---|---|
| UNIEDIT_DEFAULT | Default editor mode. |
| UNIEDIT_JUMP | Jump point toggle mode. |
| UNIEDIT_NEWSYS | New system editor mode. |
| UNIEDIT_ROTATE | Rotation mode. |
Definition at line 57 of file dev_uniedit.c.
| enum UniEditViewMode |
Definition at line 65 of file dev_uniedit.c.
|
static |
Definition at line 381 of file dev_uniedit.c.
|
static |
Definition at line 839 of file dev_uniedit.c.
|
static |
Definition at line 831 of file dev_uniedit.c.
| void uniedit_autosave | ( | unsigned int | wid_unused, |
| const char * | unused ) |
Definition at line 365 of file dev_uniedit.c.
|
static |
Adds a tech to a spob.
Definition at line 2362 of file dev_uniedit.c.
|
static |
Opens the system property editor.
Definition at line 525 of file dev_uniedit.c.
|
static |
Adds a new virtual spob.
Definition at line 2144 of file dev_uniedit.c.
|
static |
Actually adds the virtual spob.
Definition at line 2184 of file dev_uniedit.c.
|
static |
Renames the systems in the system editor.
Definition at line 2435 of file dev_uniedit.c.
|
static |
Removes a selected spob.
Definition at line 2114 of file dev_uniedit.c.
|
static |
Edits a spob's tags.
Definition at line 2218 of file dev_uniedit.c.
|
static |
Opens the system property editor.
Definition at line 514 of file dev_uniedit.c.
|
static |
Enters the editor in new jump mode.
Definition at line 467 of file dev_uniedit.c.
|
static |
Enters the editor in new system mode.
Definition at line 489 of file dev_uniedit.c.
|
static |
Adds a tech to a system.
Definition at line 2411 of file dev_uniedit.c.
|
static |
Opens up a system.
Definition at line 500 of file dev_uniedit.c.
|
static |
Renames selected systems.
Definition at line 478 of file dev_uniedit.c.
|
static |
Removes a tech from a spob.
Definition at line 2384 of file dev_uniedit.c.
|
static |
Definition at line 2274 of file dev_uniedit.c.
|
static |
Allows selecting the view.
Definition at line 397 of file dev_uniedit.c.
|
static |
Actually adds the virtual spob.
Definition at line 2451 of file dev_uniedit.c.
|
static |
Handles the button zoom clicks.
| wid | Unused. |
| str | Name of the button creating the event. |
Definition at line 1679 of file dev_uniedit.c.
|
static |
Centers the selected system.
Definition at line 1857 of file dev_uniedit.c.
|
static |
Checks to see if a system name is already in use.
Definition at line 1363 of file dev_uniedit.c.
|
static |
Definition at line 2517 of file dev_uniedit.c.
|
static |
Closes the system editor widget.
Definition at line 335 of file dev_uniedit.c.
|
static |
Deselects selected targets.
Definition at line 1572 of file dev_uniedit.c.
|
static |
Generates the virtual spob list.
Definition at line 2025 of file dev_uniedit.c.
|
static |
Edits an individual system or group of systems.
Definition at line 1896 of file dev_uniedit.c.
|
static |
Closes the system property editor, saving the changes made.
Definition at line 2079 of file dev_uniedit.c.
|
static |
Searches for spobs and systems.
Definition at line 1740 of file dev_uniedit.c.
|
static |
Generates the virtual spob list.
Definition at line 1811 of file dev_uniedit.c.
|
static |
Finds systems and spobs.
Definition at line 1704 of file dev_uniedit.c.
|
static |
Closes the search dialogue.
Definition at line 1844 of file dev_uniedit.c.
|
static |
Called when it's de-focused.
Definition at line 1106 of file dev_uniedit.c.
|
static |
Generates the spob tech list.
Definition at line 2289 of file dev_uniedit.c.
|
static |
Adds a new Star System jump.
Definition at line 1533 of file dev_uniedit.c.
|
static |
Removes a Star System jump.
Definition at line 1550 of file dev_uniedit.c.
|
static |
Handles keybindings.
Definition at line 291 of file dev_uniedit.c.
|
static |
System editor custom widget mouse handling.
Definition at line 1116 of file dev_uniedit.c.
| char * uniedit_nameFilter | ( | const char * | name | ) |
Definition at line 1375 of file dev_uniedit.c.
|
static |
Creates a new system.
Definition at line 1450 of file dev_uniedit.c.
| void uniedit_open | ( | unsigned int | wid_unused, |
| const char * | unused ) |
Opens the system editor interface.
Definition at line 175 of file dev_uniedit.c.
|
static |
Renames all the currently selected systems.
Definition at line 1395 of file dev_uniedit.c.
|
static |
System editor custom widget rendering.
Definition at line 808 of file dev_uniedit.c.
|
static |
Definition at line 646 of file dev_uniedit.c.
|
static |
Definition at line 624 of file dev_uniedit.c.
|
static |
Definition at line 533 of file dev_uniedit.c.
|
static |
Definition at line 668 of file dev_uniedit.c.
| void uniedit_renderMap | ( | double | bx, |
| double | by, | ||
| double | w, | ||
| double | h, | ||
| double | x, | ||
| double | y, | ||
| double | zoom, | ||
| double | r ) |
Definition at line 740 of file dev_uniedit.c.
|
static |
Definition at line 602 of file dev_uniedit.c.
|
static |
Renders the overlay.
Definition at line 859 of file dev_uniedit.c.
|
static |
Definition at line 715 of file dev_uniedit.c.
|
static |
Definition at line 583 of file dev_uniedit.c.
|
static |
Definition at line 687 of file dev_uniedit.c.
|
static |
Definition at line 564 of file dev_uniedit.c.
|
static |
Definition at line 353 of file dev_uniedit.c.
|
static |
Adds a system to the selection.
Definition at line 1590 of file dev_uniedit.c.
|
static |
Removes a system from the selection.
Definition at line 1613 of file dev_uniedit.c.
| void uniedit_selectText | ( | void | ) |
Sets the selected system text.
Definition at line 1632 of file dev_uniedit.c.
|
static |
qsort compare function for map finds.
Definition at line 1881 of file dev_uniedit.c.
|
static |
Toggles the jump point for the selected systems.
Definition at line 1490 of file dev_uniedit.c.
| void uniedit_updateAutosave | ( | void | ) |
Definition at line 376 of file dev_uniedit.c.
|
static |
Pointer to found stuff.
Definition at line 107 of file dev_uniedit.c.
|
static |
Number of found stuff.
Definition at line 108 of file dev_uniedit.c.
|
static |
Dragging viewport around.
Definition at line 91 of file dev_uniedit.c.
|
static |
Dragging selection box.
Definition at line 93 of file dev_uniedit.c.
|
static |
Dragging selection initial X position
Definition at line 94 of file dev_uniedit.c.
|
static |
Dragging selection initial Y position
Definition at line 95 of file dev_uniedit.c.
|
static |
Dragging system around.
Definition at line 92 of file dev_uniedit.c.
|
static |
Deltatick.
Definition at line 104 of file dev_uniedit.c.
|
static |
Time last clicked.
Definition at line 90 of file dev_uniedit.c.
|
static |
Editor mode.
Definition at line 80 of file dev_uniedit.c.
|
static |
Space moved since mouse down.
Definition at line 89 of file dev_uniedit.c.
|
static |
X mouse position.
Definition at line 102 of file dev_uniedit.c.
|
static |
Y mouse position.
Definition at line 103 of file dev_uniedit.c.
|
static |
Rotated angle (in radians).
Definition at line 96 of file dev_uniedit.c.
|
static |
Center position of rotation.
Definition at line 97 of file dev_uniedit.c.
|
static |
Center position of rotation.
Definition at line 98 of file dev_uniedit.c.
|
static |
Selected systems.
Definition at line 99 of file dev_uniedit.c.
|
static |
Temporarily clicked system should be added.
Definition at line 101 of file dev_uniedit.c.
|
static |
List of tags.
Definition at line 105 of file dev_uniedit.c.
|
static |
Temporarily clicked system.
Definition at line 100 of file dev_uniedit.c.
|
static |
Faction currently being viewed.
Definition at line 82 of file dev_uniedit.c.
|
static |
Editor view mode.
Definition at line 81 of file dev_uniedit.c.
|
static |
Sysedit wid.
Definition at line 83 of file dev_uniedit.c.
|
static |
Sysedit editor wid.
Definition at line 84 of file dev_uniedit.c.
|
static |
Sysedit find wid.
Definition at line 85 of file dev_uniedit.c.
|
static |
Viewport X position.
Definition at line 86 of file dev_uniedit.c.
|
static |
Viewport Y position.
Definition at line 87 of file dev_uniedit.c.
|
static |
Viewport zoom level.
Definition at line 88 of file dev_uniedit.c.