mirror of
https://github.com/scp-fs2open/fs2open.github.com.git
synced 2026-11-08 07:28:22 -10:00
Compare commits
46
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
24a9a12afb | ||
|
|
c398a4565c | ||
|
|
75653892ac | ||
|
|
24ac5b5455 | ||
|
|
398ab0dc08 | ||
|
|
735a7ddaf0 | ||
|
|
b252124ce0 | ||
|
|
c814b1801d | ||
|
|
ab8064e2b1 | ||
|
|
b0b8876e9a | ||
|
|
44ec5083ed | ||
|
|
c5d699d574 | ||
|
|
64d0614e9d | ||
|
|
4b588300d0 | ||
|
|
5f083ff63b | ||
|
|
fdea8667e0 | ||
|
|
b4c3c37714 | ||
|
|
4f1e502ead | ||
|
|
5aab236b5e | ||
|
|
9e50ebe3a6 | ||
|
|
047b8bd559 | ||
|
|
fac6848818 | ||
|
|
88632db04c | ||
|
|
22da854c0f | ||
|
|
5b15058448 | ||
|
|
4c8bd08485 | ||
|
|
bae2065ae0 | ||
|
|
f37751d484 | ||
|
|
38784dfbf3 | ||
|
|
f53dd7b6b3 | ||
|
|
bbad561b2e | ||
|
|
97d2ea08ef | ||
|
|
dea3a0393d | ||
|
|
d2e9bb6222 | ||
|
|
a56ac966b3 | ||
|
|
63eff426dc | ||
|
|
762f999ba1 | ||
|
|
4cf85a7f85 | ||
|
|
2d78121cc3 | ||
|
|
5f4a3a92be | ||
|
|
488192214d | ||
|
|
5b1ff86f42 | ||
|
|
c9fe371a4f | ||
|
|
97017ec478 | ||
|
|
911b792a7a | ||
|
|
81a2e93e54 |
No files matched your search
+1
-1
@@ -185,7 +185,7 @@ EXTRA_DIST = \
|
||||
|
||||
# D_ variants are defaults and should always be used
|
||||
# FS2_ variants are for game building and wxFRED
|
||||
AM_CXXFLAGS = @D_CFLAGS@ @FS2_CXXFLAGS@ -I../mongoose
|
||||
AM_CXXFLAGS = @D_CFLAGS@ @FS2_CXXFLAGS@ -I./$(VPATH)/../mongoose
|
||||
AM_LDFLAGS = @D_LDFLAGS@ @FS2_LDFLAGS@
|
||||
|
||||
if BUILD_WXFRED
|
||||
|
||||
@@ -187,7 +187,6 @@ Flag exe_params[] =
|
||||
{ "-no_glsl", "Disable GLSL (shader) support", true, 0, EASY_DEFAULT, "Troubleshoot", "http://www.hard-light.net/wiki/index.php/Command-Line_Reference#-no_glsl", },
|
||||
{ "-ati_swap", "Fix colour issues on some ATI cards", true, 0, EASY_DEFAULT, "Troubleshoot", "http://www.hard-light.net/wiki/index.php/Command-Line_Reference#-ati_swap", },
|
||||
{ "-no_3d_sound", "Use only 2D/stereo for sound effects", true, 0, EASY_DEFAULT, "Troubleshoot", "http://www.hard-light.net/wiki/index.php/Command-Line_Reference#-no_3d_sound", },
|
||||
{ "-disable_glsl_model","Don't use shaders for model rendering", true, 0, EASY_DEFAULT, "Troubleshoot", "http://www.hard-light.net/wiki/index.php/Command-Line_Reference#-disable_glsl_model", },
|
||||
{ "-mipmap", "Enable mipmapping", true, 0, EASY_DEFAULT_MEM, "Troubleshoot", "http://www.hard-light.net/wiki/index.php/Command-Line_Reference#-mipmap", },
|
||||
#ifndef SCP_UNIX
|
||||
{ "-disable_di_mouse", "Don't use DirectInput for mouse control", true, 0, EASY_DEFAULT, "Troubleshoot", "http://www.hard-light.net/wiki/index.php/Command-Line_Reference#-disable_di_mouse", },
|
||||
@@ -198,6 +197,9 @@ Flag exe_params[] =
|
||||
{ "-no_batching", "Disable batched model rendering", true, 0, EASY_DEFAULT, "Troubleshoot", "", },
|
||||
{ "-no_geo_effects", "Disable geometry shader for effects", true, 0, EASY_DEFAULT, "Troubleshoot", "", },
|
||||
{ "-set_cpu_affinity", "Sets processor affinity to config value", true, 0, EASY_DEFAULT, "Troubleshoot", "", },
|
||||
#ifdef WIN32
|
||||
{ "-fix_registry", "Use a different registry path", true, 0, EASY_DEFAULT, "Troubleshoot", "", },
|
||||
#endif
|
||||
|
||||
{ "-ingame_join", "Allow in-game joining", true, 0, EASY_DEFAULT, "Experimental", "http://www.hard-light.net/wiki/index.php/Command-Line_Reference#-ingame_join", },
|
||||
{ "-voicer", "Enable voice recognition", true, 0, EASY_DEFAULT, "Experimental", "http://www.hard-light.net/wiki/index.php/Command-Line_Reference#-voicer", },
|
||||
@@ -428,6 +430,9 @@ cmdline_parm old_collision_system("-old_collision", NULL, AT_NONE); // Cmdline_o
|
||||
cmdline_parm gl_finish ("-gl_finish", NULL, AT_NONE);
|
||||
cmdline_parm no_geo_sdr_effects("-no_geo_effects", NULL, AT_NONE);
|
||||
cmdline_parm set_cpu_affinity("-set_cpu_affinity", NULL, AT_NONE);
|
||||
#ifdef WIN32
|
||||
cmdline_parm fix_registry("-fix_registry", NULL, AT_NONE);
|
||||
#endif
|
||||
|
||||
int Cmdline_load_all_weapons = 0;
|
||||
int Cmdline_nohtl = 0;
|
||||
@@ -445,6 +450,9 @@ char* Cmdline_keyboard_layout = NULL;
|
||||
bool Cmdline_gl_finish = false;
|
||||
bool Cmdline_no_geo_sdr_effects = false;
|
||||
bool Cmdline_set_cpu_affinity = false;
|
||||
#ifdef WIN32
|
||||
bool Cmdline_alternate_registry_path = false;
|
||||
#endif
|
||||
|
||||
// Developer/Testing related
|
||||
cmdline_parm start_mission_arg("-start_mission", "Skip mainhall and run this mission", AT_STRING); // Cmdline_start_mission
|
||||
@@ -1618,6 +1626,12 @@ bool SetCmdlineParams()
|
||||
Cmdline_set_cpu_affinity = true;
|
||||
}
|
||||
|
||||
#ifdef WIN32
|
||||
if (fix_registry.found()) {
|
||||
Cmdline_alternate_registry_path = true;
|
||||
}
|
||||
#endif
|
||||
|
||||
if ( snd_preload_arg.found() )
|
||||
{
|
||||
Cmdline_snd_preload = 1;
|
||||
|
||||
@@ -135,6 +135,9 @@ extern char* Cmdline_keyboard_layout;
|
||||
extern bool Cmdline_gl_finish;
|
||||
extern bool Cmdline_no_geo_sdr_effects;
|
||||
extern bool Cmdline_set_cpu_affinity;
|
||||
#ifdef WIN32
|
||||
extern bool Cmdline_alternate_registry_path;
|
||||
#endif
|
||||
|
||||
// Developer/Testing related
|
||||
extern char *Cmdline_start_mission;
|
||||
|
||||
@@ -2257,7 +2257,8 @@ int check_control_used(int id, int key)
|
||||
return 0;
|
||||
}
|
||||
|
||||
if ((Control_config[id].key_id == key) || joy_down_count(Control_config[id].joy_id, 1) || mouse_down_count(1 << Control_config[id].joy_id)) {
|
||||
if ((Control_config[id].key_id == key) || joy_down_count(Control_config[id].joy_id, 1) ||
|
||||
((Control_config[id].joy_id >= 0) && (Control_config[id].joy_id < MOUSE_NUM_BUTTONS) && mouse_down_count(1 << Control_config[id].joy_id))) {
|
||||
//mprintf(("Key used %d", key));
|
||||
control_used(id);
|
||||
return 1;
|
||||
|
||||
@@ -617,7 +617,7 @@ void control_config_common_close()
|
||||
{
|
||||
// only need to worry control presets for now
|
||||
for (auto ii = Control_config_presets.cbegin(); ii != Control_config_presets.cend(); ++ii) {
|
||||
delete * ii;
|
||||
delete[] * ii;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+6
-6
@@ -621,7 +621,7 @@ CAPTION "About FRED2"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
ICON IDR_MAINFRAME,IDC_STATIC,10,17,20,20,SS_REALSIZEIMAGE
|
||||
LTEXT "FRED2_OPEN - FreeSpace Editor, Version 3.7.3 OpenGL",IDC_STATIC,39,8,184,10,SS_NOPREFIX
|
||||
LTEXT "FRED2_OPEN - FreeSpace Editor, Version 3.7.4 OpenGL",IDC_STATIC,39,8,184,10,SS_NOPREFIX
|
||||
LTEXT "Copyright © 1999 Volition, Inc. All Rights Reserved",IDC_STATIC,39,17,164,8
|
||||
DEFPUSHBUTTON "OK",IDOK,229,7,48,14,WS_GROUP
|
||||
LTEXT """Fred2 is the omega of all giant unwieldy pieces of code. Its big, its horrifying, and it just doesn't care. View it at your own risk."" - Dave Baranec",IDC_STATIC,39,62,238,20
|
||||
@@ -2103,8 +2103,8 @@ END
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 3,7,1,0
|
||||
PRODUCTVERSION 3,7,1,0
|
||||
FILEVERSION 3,7,4,20160704
|
||||
PRODUCTVERSION 3,7,4,20160704
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
@@ -2121,12 +2121,12 @@ BEGIN
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Volition Inc."
|
||||
VALUE "FileDescription", "Fred 2 Open"
|
||||
VALUE "FileVersion", "3.7.3.000000"
|
||||
VALUE "FileVersion", "3.7.4.20160704"
|
||||
VALUE "InternalName", "Fred 2 Open"
|
||||
VALUE "LegalCopyright", "Copyright © 1998"
|
||||
VALUE "OriginalFilename", "fred2.exe"
|
||||
VALUE "ProductName", "Fred 2 Open"
|
||||
VALUE "ProductVersion", "3.7.3"
|
||||
VALUE "ProductVersion", "3.7.4"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
@@ -2698,7 +2698,7 @@ IDC_CURSOR2 CURSOR "res\\cursor2.cur"
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDR_MAINFRAME "FRED2_OPEN 3.7.3 - FreeSpace2 Mission Editor\nUntitled\nFRED2\nFreeSpace2 Missions (*.fs2)\n.fs2\nFreeSpace2Mission\nFreeSpace2 Mission"
|
||||
IDR_MAINFRAME "FRED2_OPEN 3.7.4 - FreeSpace2 Mission Editor\nUntitled\nFRED2\nFreeSpace2 Missions (*.fs2)\n.fs2\nFreeSpace2Mission\nFreeSpace2 Mission"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
||||
@@ -2824,6 +2824,11 @@ void CFred_mission_save::parse_comments(int newlines)
|
||||
}
|
||||
|
||||
while (*raw_ptr != EOF_CHAR) {
|
||||
// state values (as far as I could figure out):
|
||||
// 0 - raw_ptr not inside comment
|
||||
// 1 - raw_ptr inside /**/ comment
|
||||
// 2 - raw_ptr inside ; (newline-delimited) comment
|
||||
// 3,4 - raw_ptr inside ;; (FSO version) comment
|
||||
if (!state) {
|
||||
if (token_found && (*raw_ptr == *token_found))
|
||||
if (!strnicmp(raw_ptr, token_found, strlen(token_found))) {
|
||||
@@ -2878,11 +2883,6 @@ void CFred_mission_save::parse_comments(int newlines)
|
||||
}
|
||||
}
|
||||
|
||||
if ((*raw_ptr == '/') && (raw_ptr[1] == '/')) {
|
||||
comment_start = raw_ptr;
|
||||
state = 2;
|
||||
}
|
||||
|
||||
if (*raw_ptr == '\n')
|
||||
flag = 1;
|
||||
|
||||
@@ -2926,22 +2926,22 @@ void CFred_mission_save::parse_comments(int newlines)
|
||||
if (first_comment && !flag)
|
||||
fout("\t\t");
|
||||
|
||||
state = raw_ptr[2];
|
||||
const char tmp = raw_ptr[2];
|
||||
raw_ptr[2] = 0;
|
||||
fout("%s", comment_start);
|
||||
raw_ptr[2] = (char)state;
|
||||
raw_ptr[2] = tmp;
|
||||
state = first_comment = flag = 0;
|
||||
}
|
||||
|
||||
if ( (*raw_ptr == ';') && (raw_ptr[1] == ';') && (state == 3) ) {
|
||||
state = raw_ptr[2];
|
||||
const char tmp = raw_ptr[2];
|
||||
raw_ptr[2] = 0;
|
||||
if (version_added)
|
||||
fso_comment_pop();
|
||||
else
|
||||
version_added = true;
|
||||
fso_comment_push(comment_start);
|
||||
raw_ptr[2] = (char)state;
|
||||
raw_ptr[2] = tmp;
|
||||
state = first_comment = flag = 0;
|
||||
raw_ptr++;
|
||||
}
|
||||
|
||||
@@ -336,8 +336,8 @@ END
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 3,7,3,000000
|
||||
PRODUCTVERSION 3,7,3,000000
|
||||
FILEVERSION 3,7,4,20160704
|
||||
PRODUCTVERSION 3,7,4,20160704
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
@@ -354,12 +354,12 @@ BEGIN
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Volition Inc."
|
||||
VALUE "FileDescription", "FreeSpace 2 Open"
|
||||
VALUE "FileVersion", "3.7.3.000000"
|
||||
VALUE "FileVersion", "3.7.4.20160704"
|
||||
VALUE "InternalName", "FreeSpace 2 Open"
|
||||
VALUE "LegalCopyright", "Copyright © 1998"
|
||||
VALUE "OriginalFilename", "fs2.exe"
|
||||
VALUE "ProductName", "FreeSpace 2 Open"
|
||||
VALUE "ProductVersion", "3.7.3"
|
||||
VALUE "ProductVersion", "3.7.4"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
|
||||
@@ -36,8 +36,8 @@
|
||||
|
||||
#define FS_VERSION_MAJOR 3 // major version
|
||||
#define FS_VERSION_MINOR 7 // increase by 1 for minor revs
|
||||
#define FS_VERSION_BUILD 3 // bugfix release
|
||||
#define FS_VERSION_REVIS 000000 // SVN revision
|
||||
#define FS_VERSION_BUILD 4 // bugfix release
|
||||
#define FS_VERSION_REVIS 20160704 // SVN revision
|
||||
//#define FS_VERSION_IDENT NOX("custom") // special build release identifier, must be a string (don't define unless it's supposed to be used!!)
|
||||
|
||||
namespace version
|
||||
|
||||
@@ -573,7 +573,7 @@ void techroom_ships_render(float frametime)
|
||||
model_render_immediate(&render_info, Techroom_ship_modelnum, &Techroom_ship_orient, &vmd_zero_vector);
|
||||
shadows_end_render();
|
||||
|
||||
gr_set_clip(Tech_ship_display_coords[gr_screen.res][SHIP_X_COORD], Tech_ship_display_coords[gr_screen.res][SHIP_Y_COORD], Tech_ship_display_coords[gr_screen.res][SHIP_W_COORD], Tech_ship_display_coords[gr_screen.res][SHIP_H_COORD]);
|
||||
gr_set_clip(Tech_ship_display_coords[gr_screen.res][SHIP_X_COORD], Tech_ship_display_coords[gr_screen.res][SHIP_Y_COORD], Tech_ship_display_coords[gr_screen.res][SHIP_W_COORD], Tech_ship_display_coords[gr_screen.res][SHIP_H_COORD], GR_RESIZE_MENU);
|
||||
}
|
||||
|
||||
if (!Cmdline_nohtl) {
|
||||
|
||||
@@ -323,7 +323,7 @@ int add_avi( char *avi_name )
|
||||
generic_anim_init( &extra.anim_data, avi_name );
|
||||
strcpy_s( extra.name, avi_name );
|
||||
extra.num = -1;
|
||||
generic_anim_load(&extra.anim_data); // load only to validate the anim
|
||||
extra.exists = (generic_anim_load(&extra.anim_data) == 0); // load only to validate the anim
|
||||
generic_anim_unload(&extra.anim_data); // unload to not waste bmpman slots
|
||||
Message_avis.push_back(extra);
|
||||
Num_message_avis++;
|
||||
@@ -1180,7 +1180,7 @@ void message_play_anim( message_q *q )
|
||||
|
||||
// support ships use a wingman head.
|
||||
// terran command uses its own set of heads.
|
||||
if ( (anim_info->anim_data.first_frame < 0) && // note, first_frame will be >= 0 when ani is an existing file, and will be < 0 when the file does not exist and needs a, b, or c appended
|
||||
if ( (!anim_info->exists) && // if the base animation doesn't exist, then a, b, or c needs to be appended
|
||||
((q->message_num < Num_builtin_messages) || !(_strnicmp(HEAD_PREFIX_STRING, ani_name, strlen(HEAD_PREFIX_STRING)-1))) ) {
|
||||
int subhead_selected = FALSE;
|
||||
persona_index = m->persona_index;
|
||||
|
||||
@@ -28,6 +28,7 @@ typedef struct message_extra {
|
||||
char name[MAX_FILENAME_LEN];
|
||||
int num;
|
||||
generic_anim anim_data;
|
||||
bool exists;
|
||||
} message_extra;
|
||||
|
||||
extern SCP_vector<message_extra> Message_avis;
|
||||
|
||||
@@ -1293,14 +1293,21 @@ void parse_fiction(mission *pm)
|
||||
if (optional_string("$Formula:"))
|
||||
stage.formula = get_sexp_main();
|
||||
|
||||
// now, store this stage
|
||||
Fiction_viewer_stages.push_back(stage);
|
||||
|
||||
// see if this is the stage we want to display, then display it
|
||||
if (!Fred_running && !fiction_viewer_loaded && is_sexp_true(stage.formula))
|
||||
if (strlen(stage.story_filename) > 0)
|
||||
{
|
||||
fiction_viewer_load(Fiction_viewer_stages.size() - 1);
|
||||
fiction_viewer_loaded = true;
|
||||
// now, store this stage
|
||||
Fiction_viewer_stages.push_back(stage);
|
||||
|
||||
// see if this is the stage we want to display, then display it
|
||||
if (!Fred_running && !fiction_viewer_loaded && is_sexp_true(stage.formula))
|
||||
{
|
||||
fiction_viewer_load(Fiction_viewer_stages.size() - 1);
|
||||
fiction_viewer_loaded = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
error_display(0, "Fiction viewer story filename may not be empty!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1726,8 +1726,6 @@ void draw_model_rotating(model_render_params *render_info, int model_id, int x1,
|
||||
float size = pm->rad*0.7f;
|
||||
float start_scale = MIN(time,0.5f)*2.5f;
|
||||
float offset = size*0.5f*MIN(MAX(time-3.0f,0.0f),0.6f)*1.66667f;
|
||||
if ( (time < 1.5f) && (time >= 0.5f) ) // Clip the grid if were in phase 1
|
||||
render_info->set_clip_plane(plane_point,wire_normal);
|
||||
|
||||
g3_start_instance_angles(&vmd_zero_vector,&view_angles);
|
||||
|
||||
@@ -1754,6 +1752,10 @@ void draw_model_rotating(model_render_params *render_info, int model_id, int x1,
|
||||
gr_set_color(0,200,0);
|
||||
g3_start_instance_angles(&vmd_zero_vector,&view_angles);
|
||||
|
||||
if (time < 1.5f) {
|
||||
stop.xyz.z = -clip;
|
||||
}
|
||||
|
||||
for (i = -3; i < 4; i++) {
|
||||
start.xyz.x = stop.xyz.x = size*0.333f*i;
|
||||
g3_draw_htl_line(&start,&stop);
|
||||
@@ -1762,8 +1764,10 @@ void draw_model_rotating(model_render_params *render_info, int model_id, int x1,
|
||||
start.xyz.x = size;
|
||||
stop.xyz.x = -size;
|
||||
|
||||
for (i = -3; i < 4; i++) {
|
||||
for (i = 3; i > -4; i--) {
|
||||
start.xyz.z = stop.xyz.z = size*0.333f*i+offset*0.5f;
|
||||
if ((time < 1.5f) && (start.xyz.z <= -clip))
|
||||
break;
|
||||
g3_draw_htl_line(&start,&stop);
|
||||
}
|
||||
|
||||
|
||||
@@ -234,7 +234,7 @@ void triggered_rotation::add_queue(queued_animation *the_queue, int dir)
|
||||
if (i != n_queue) {
|
||||
// replace if it's not the last item on the list
|
||||
if ( i < (MAX_TRIGGERED_ANIMATIONS-1) )
|
||||
memcpy( &queue_tmp[i], &queue_tmp[i+1], sizeof(queued_animation) * (MAX_TRIGGERED_ANIMATIONS-(i+1)) );
|
||||
memmove( &queue_tmp[i], &queue_tmp[i+1], sizeof(queued_animation) * (MAX_TRIGGERED_ANIMATIONS-(i+1)) );
|
||||
|
||||
// ok these two animations cancelled each other out, so he doesn't get on the queue
|
||||
n_queue--;
|
||||
|
||||
+117
-16
@@ -184,6 +184,7 @@ void model_unload(int modelnum, int force)
|
||||
if (!force && (--pm->used_this_mission > 0))
|
||||
return;
|
||||
|
||||
mprintf(("Unloading model '%s' from slot '%i'\n", pm->filename, num));
|
||||
|
||||
// so that the textures can be released
|
||||
pm->used_this_mission = 0;
|
||||
@@ -317,6 +318,16 @@ void model_unload(int modelnum, int force)
|
||||
}
|
||||
}
|
||||
|
||||
// need to reset weapon models as well
|
||||
for (int k = 0; k < MAX_WEAPON_TYPES; ++k) {
|
||||
if ( pm->id == Weapon_info[k].model_num ) {
|
||||
Weapon_info[k].model_num = -1;
|
||||
}
|
||||
if ( pm->id == Weapon_info[k].external_model_num ) {
|
||||
Weapon_info[k].external_model_num = -1;
|
||||
}
|
||||
}
|
||||
|
||||
pm->id = 0;
|
||||
delete pm;
|
||||
|
||||
@@ -433,6 +444,60 @@ void get_user_prop_value(char *buf, char *value)
|
||||
*p1 = c;
|
||||
}
|
||||
|
||||
// routine to look for one of the specified user properties
|
||||
// if p is not null, sets p to the next character AFTER the string and a space/equals/colon (not the beginning of the string, as strstr would)
|
||||
// returns the index of the property found, or -1 if not found
|
||||
// NB: the first recognized option is returned, so if one option is a substring of another, put it later in the list!
|
||||
int prop_string(char *props, char **p, int n_args, ...)
|
||||
{
|
||||
char *pos = nullptr;
|
||||
va_list args;
|
||||
int index = -1;
|
||||
|
||||
va_start(args, n_args);
|
||||
|
||||
for (int i = 0; i < n_args; ++i)
|
||||
{
|
||||
const char *option = va_arg(args, const char *);
|
||||
|
||||
// look for our option in the props fields
|
||||
if ((pos = strstr(props, option)) != nullptr)
|
||||
{
|
||||
// we found it
|
||||
index = i;
|
||||
|
||||
// so advance past the string and its following character
|
||||
pos += strlen(option);
|
||||
pos++;
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
va_end(args);
|
||||
|
||||
// if we have a p, assign *p
|
||||
// (if nothing was found, *p will be nullptr)
|
||||
if (p != nullptr)
|
||||
*p = pos;
|
||||
|
||||
return index;
|
||||
}
|
||||
|
||||
// syntactic sugar
|
||||
int prop_string(char *props, char **p, const char *option0)
|
||||
{
|
||||
return prop_string(props, p, 1, option0);
|
||||
}
|
||||
int prop_string(char *props, char **p, const char *option0, const char *option1)
|
||||
{
|
||||
return prop_string(props, p, 2, option0, option1);
|
||||
}
|
||||
int prop_string(char *props, char **p, const char *option0, const char *option1, const char *option2)
|
||||
{
|
||||
return prop_string(props, p, 3, option0, option1, option2);
|
||||
}
|
||||
|
||||
// funciton to copy model data from one subsystem set to another subsystem set. This function
|
||||
// is called when two ships use the same model data, but since the model only gets read in one time,
|
||||
// the subsystem data is only present in one location. The ship code will call this routine to fix
|
||||
@@ -488,6 +553,7 @@ static void set_subsystem_info(int model_num, model_subsystem *subsystemp, char
|
||||
char *p;
|
||||
char buf[64];
|
||||
char lcdname[256];
|
||||
int idx;
|
||||
|
||||
if ( (p = strstr(props, "$name")) != NULL)
|
||||
get_user_prop_value(p+5, subsystemp->name);
|
||||
@@ -544,20 +610,32 @@ static void set_subsystem_info(int model_num, model_subsystem *subsystemp, char
|
||||
}
|
||||
|
||||
// Dumb-Rotating subsystem
|
||||
if ((p = strstr(props, "$dumb_rotate")) != NULL) {
|
||||
if (prop_string(props, nullptr, "$dumb_rotate") >= 0) {
|
||||
// no special subsystem handling needed here, but make sure we didn't specify both methods
|
||||
if (strstr(props, "$rotate") != NULL) {
|
||||
if (prop_string(props, nullptr, "$rotate") >= 0) {
|
||||
Warning(LOCATION, "Subsystem '%s' on ship %s cannot have both rotation and dumb-rotation!", dname, model_get(model_num)->filename);
|
||||
}
|
||||
}
|
||||
// Rotating subsystem
|
||||
else if ((p = strstr(props, "$rotate")) != NULL) {
|
||||
else if ((idx = prop_string(props, &p, "$rotate_time", "$rotate_rate", "$rotate")) >= 0) {
|
||||
subsystemp->flags |= MSS_FLAG_ROTATES;
|
||||
|
||||
// get time for (a) complete rotation (b) step (c) activation
|
||||
float turn_time;
|
||||
get_user_prop_value(p+7, buf);
|
||||
turn_time = (float)atof(buf);
|
||||
// get value for (a) complete rotation (b) step (c) activation
|
||||
get_user_prop_value(p, buf); // note: p points to the value since we used prop_string
|
||||
|
||||
// for retail compatibility, $rotate means $rotate_time
|
||||
float turn_rate;
|
||||
if (idx == 0 || idx == 2) {
|
||||
float turn_time = static_cast<float>(atof(buf));
|
||||
if (turn_time == 0.0f) {
|
||||
Warning(LOCATION, "Rotation has a turn time of 0 for subsystem '%s' on ship %s!", dname, model_get(model_num)->filename);
|
||||
turn_rate = 1.0f;
|
||||
} else {
|
||||
turn_rate = PI2 / turn_time;
|
||||
}
|
||||
} else {
|
||||
turn_rate = static_cast<float>(atof(buf));
|
||||
}
|
||||
|
||||
// CASE OF WEAPON ROTATION (primary only)
|
||||
if ( (p = strstr(props, "$pbank")) != NULL) {
|
||||
@@ -565,7 +643,7 @@ static void set_subsystem_info(int model_num, model_subsystem *subsystemp, char
|
||||
|
||||
// get which pbank should trigger rotation
|
||||
get_user_prop_value(p+6, buf);
|
||||
subsystemp->weapon_rotation_pbank = (int)atoi(buf);
|
||||
subsystemp->weapon_rotation_pbank = atoi(buf);
|
||||
} // end of weapon rotation stuff
|
||||
|
||||
|
||||
@@ -620,7 +698,7 @@ static void set_subsystem_info(int model_num, model_subsystem *subsystemp, char
|
||||
|
||||
// CASE OF NORMAL CONTINUOUS ROTATION
|
||||
else {
|
||||
subsystemp->turn_rate = PI2 / turn_time;
|
||||
subsystemp->turn_rate = turn_rate;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1263,11 +1341,30 @@ int read_model_file(polymodel * pm, char *filename, int n_subsystems, model_subs
|
||||
}
|
||||
|
||||
// note, this should come BEFORE do_new_subsystem() for proper error handling (to avoid both rotating and dumb-rotating submodel)
|
||||
if ( ( p = strstr(props, "$dumb_rotate") ) != NULL ) {
|
||||
int idx = prop_string(props, &p, "$dumb_rotate_time", "$dumb_rotate_rate", "$dumb_rotate");
|
||||
if (idx >= 0) {
|
||||
pm->submodel[n].movement_type = MOVEMENT_TYPE_INTRINSIC_ROTATE;
|
||||
pm->flags |= PM_FLAG_HAS_INTRINSIC_ROTATE;
|
||||
|
||||
pm->submodel[n].dumb_turn_rate = (float)atof(p + 13);
|
||||
// do this the same way as regular $rotate
|
||||
char buf[64];
|
||||
get_user_prop_value(p, buf);
|
||||
|
||||
// for past SCP compatibility, $dumb_rotate means $dumb_rotate_rate
|
||||
float turn_rate;
|
||||
if (idx == 0) {
|
||||
float turn_time = static_cast<float>(atof(buf));
|
||||
if (turn_time == 0.0f) {
|
||||
Warning(LOCATION, "Dumb-Rotation has a turn time of 0 for subsystem '%s' on ship %s!", pm->submodel[n].name, pm->filename);
|
||||
turn_rate = 1.0f;
|
||||
} else {
|
||||
turn_rate = PI2 / turn_time;
|
||||
}
|
||||
} else {
|
||||
turn_rate = static_cast<float>(atof(buf));
|
||||
}
|
||||
|
||||
pm->submodel[n].dumb_turn_rate = turn_rate;
|
||||
} else {
|
||||
pm->submodel[n].dumb_turn_rate = 0.0f;
|
||||
}
|
||||
@@ -2506,7 +2603,7 @@ int model_load(char *filename, int n_subsystems, model_subsystem *subsystems, in
|
||||
return -1;
|
||||
}
|
||||
|
||||
mprintf(( "Loading model '%s'\n", filename ));
|
||||
mprintf(( "Loading model '%s' into slot '%i'\n", filename, num ));
|
||||
|
||||
pm = new polymodel;
|
||||
Polygon_models[num] = pm;
|
||||
@@ -4418,10 +4515,14 @@ void model_get_rotating_submodel_list(SCP_vector<int> *submodel_vector, object *
|
||||
// check submodel rotation is less than max allowed.
|
||||
submodel_instance_info *sii = pmi->submodel[i].sii;
|
||||
|
||||
// found the correct submodel instance - now check delta rotation angle not too large
|
||||
float delta_angle = get_submodel_delta_angle(sii);
|
||||
if (delta_angle < MAX_SUBMODEL_COLLISION_ROT_ANGLE) {
|
||||
submodel_vector->push_back(i);
|
||||
// If there is no instance info yet then ignore this submodel
|
||||
if (sii != nullptr) {
|
||||
|
||||
// found the correct submodel instance - now check delta rotation angle not too large
|
||||
float delta_angle = get_submodel_delta_angle(sii);
|
||||
if (delta_angle < MAX_SUBMODEL_COLLISION_ROT_ANGLE) {
|
||||
submodel_vector->push_back(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+286
-325
@@ -1,28 +1,29 @@
|
||||
/*
|
||||
* Copyright (C) Volition, Inc. 1999. All rights reserved.
|
||||
*
|
||||
* All source code herein is the property of Volition, Inc. You may not sell
|
||||
* or otherwise commercially exploit the source or things you created based on the
|
||||
* source.
|
||||
*
|
||||
* Copyright (C) Volition, Inc. 1999. All rights reserved.
|
||||
*
|
||||
* All source code herein is the property of Volition, Inc. You may not sell
|
||||
* or otherwise commercially exploit the source or things you created based on the
|
||||
* source.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
#include <string.h>
|
||||
#include <windows.h>
|
||||
|
||||
#include <Shlobj.h>
|
||||
#include <Sddl.h>
|
||||
|
||||
#include "globalincs/pstypes.h"
|
||||
#include "osapi/osregistry.h"
|
||||
|
||||
|
||||
|
||||
// NEVER ADD ANY OTHER INCLUDES HERE - YOU'LL LIKELY BREAK THE LAUNCHER!!!!!!!!!!!!!
|
||||
#include "cmdline/cmdline.h"
|
||||
|
||||
// ------------------------------------------------------------------------------------------------------------
|
||||
// REGISTRY DEFINES/VARS
|
||||
//
|
||||
|
||||
static char szCompanyName[128];
|
||||
static char szAppName[128];
|
||||
static char szAppVersion[128];
|
||||
static char szCompanyName[128];
|
||||
static char szAppName[128];
|
||||
static char szAppVersion[128];
|
||||
|
||||
const char *Osreg_company_name = "Volition";
|
||||
const char *Osreg_class_name = "FreeSpace2Class";
|
||||
@@ -34,361 +35,333 @@ const char *Osreg_class_name = "FreeSpace2Class";
|
||||
const char *Osreg_app_name = "FreeSpace2";
|
||||
const char *Osreg_title = "FreeSpace 2";
|
||||
|
||||
const char *Osreg_pref_dir = NULL;
|
||||
|
||||
int Os_reg_inited = 0;
|
||||
|
||||
// For string config functions
|
||||
static char tmp_string_data[1024];
|
||||
|
||||
// ------------------------------------------------------------------------------------------------------------
|
||||
// REGISTRY FUNCTIONS
|
||||
//
|
||||
// This code is needed for compatibility with the old windows registry
|
||||
|
||||
// os registry functions -------------------------------------------------------------
|
||||
static bool userSIDValid = false;
|
||||
static SCP_string userSID;
|
||||
|
||||
// initialize the registry. setup default keys to use
|
||||
void os_init_registry_stuff(const char *company, const char *app, const char *version)
|
||||
bool get_user_sid(SCP_string& outStr)
|
||||
{
|
||||
if(company){
|
||||
strcpy_s( szCompanyName, company );
|
||||
} else {
|
||||
strcpy_s( szCompanyName, Osreg_company_name);
|
||||
HANDLE hToken = NULL;
|
||||
if (OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &hToken) == FALSE)
|
||||
{
|
||||
mprintf(("Failed to get process token! Error Code: %d", GetLastError()));
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
if(app){
|
||||
strcpy_s( szAppName, app );
|
||||
} else {
|
||||
strcpy_s( szAppName, Osreg_app_name);
|
||||
DWORD dwBufferSize;
|
||||
GetTokenInformation(hToken, TokenUser, NULL, 0, &dwBufferSize);
|
||||
|
||||
PTOKEN_USER ptkUser = (PTOKEN_USER) new byte[dwBufferSize];
|
||||
|
||||
if (GetTokenInformation(hToken, TokenUser, ptkUser, dwBufferSize, &dwBufferSize))
|
||||
{
|
||||
CloseHandle(hToken);
|
||||
}
|
||||
|
||||
if(version){
|
||||
strcpy_s( szAppVersion, version);
|
||||
} else {
|
||||
strcpy_s( szAppVersion, "1.0");
|
||||
if (IsValidSid(ptkUser->User.Sid) == FALSE)
|
||||
{
|
||||
mprintf(("Invalid SID structure detected!"));
|
||||
|
||||
delete[] ptkUser;
|
||||
return false;
|
||||
}
|
||||
|
||||
Os_reg_inited = 1;
|
||||
LPTSTR sidName = NULL;
|
||||
if (ConvertSidToStringSid(ptkUser->User.Sid, &sidName) == 0)
|
||||
{
|
||||
mprintf(("Failed to convert SID structure to string! Error Code: %d", GetLastError()));
|
||||
|
||||
delete[] ptkUser;
|
||||
return false;
|
||||
}
|
||||
|
||||
outStr.assign(sidName);
|
||||
|
||||
LocalFree(sidName);
|
||||
delete[](byte*) ptkUser;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// Removes a value from to the INI file. Passing
|
||||
// name=NULL will delete the section.
|
||||
void os_config_remove( const char *section, const char *name )
|
||||
bool needsWOW64()
|
||||
{
|
||||
#ifdef _WIN64
|
||||
// 64-bit application always use the Wow6432Node
|
||||
return true;
|
||||
#else
|
||||
BOOL bIsWow64 = FALSE;
|
||||
if (!IsWow64Process(GetCurrentProcess(), &bIsWow64))
|
||||
{
|
||||
mprintf(("Failed to determine if we run under Wow64, registry configuration may fail!"));
|
||||
return false;
|
||||
}
|
||||
|
||||
return bIsWow64 == TRUE;
|
||||
#endif
|
||||
}
|
||||
|
||||
HKEY get_registry_keyname(char* out_keyname, const char* section)
|
||||
{
|
||||
if (!Cmdline_alternate_registry_path) {
|
||||
// Use the original registry path, sometimes breaks for no reason which can be fixed by the code below
|
||||
if (section) {
|
||||
sprintf(out_keyname, "Software\\%s\\%s\\%s", szCompanyName, szAppName, section);
|
||||
}
|
||||
else {
|
||||
sprintf(out_keyname, "Software\\%s\\%s", szCompanyName, szAppName);
|
||||
}
|
||||
return HKEY_LOCAL_MACHINE;
|
||||
}
|
||||
|
||||
// Every compiler from Visual Studio 2008 onward should have support for UAC
|
||||
#if _MSC_VER >= 1400
|
||||
if (userSIDValid)
|
||||
{
|
||||
if (needsWOW64())
|
||||
{
|
||||
if (section) {
|
||||
sprintf(out_keyname, "%s_Classes\\VirtualStore\\Machine\\Software\\Wow6432Node\\%s\\%s\\%s", userSID.c_str(), szCompanyName, szAppName, section);
|
||||
}
|
||||
else {
|
||||
sprintf(out_keyname, "%s_Classes\\VirtualStore\\Machine\\Software\\Wow6432Node\\%s\\%s", userSID.c_str(), szCompanyName, szAppName);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (section) {
|
||||
sprintf(out_keyname, "%s_Classes\\VirtualStore\\Machine\\Software\\%s\\%s\\%s", userSID.c_str(), szCompanyName, szAppName, section);
|
||||
}
|
||||
else {
|
||||
sprintf(out_keyname, "%s_Classes\\VirtualStore\\Machine\\Software\\%s\\%s", userSID.c_str(), szCompanyName, szAppName);
|
||||
}
|
||||
}
|
||||
|
||||
return HKEY_USERS;
|
||||
}
|
||||
else
|
||||
{
|
||||
// This will probably fail
|
||||
if (section) {
|
||||
sprintf(out_keyname, "Software\\%s\\%s\\%s", szCompanyName, szAppName, section);
|
||||
}
|
||||
else {
|
||||
sprintf(out_keyname, "Software\\%s\\%s", szCompanyName, szAppName);
|
||||
}
|
||||
|
||||
return HKEY_LOCAL_MACHINE;
|
||||
}
|
||||
#else
|
||||
if (section) {
|
||||
sprintf(out_keyname, "Software\\%s\\%s\\%s", szCompanyName, szAppName, section);
|
||||
}
|
||||
else {
|
||||
sprintf(out_keyname, "Software\\%s\\%s", szCompanyName, szAppName);
|
||||
}
|
||||
|
||||
return HKEY_LOCAL_MACHINE;
|
||||
#endif
|
||||
}
|
||||
|
||||
bool registry_has_value(const char *section, const char *name)
|
||||
{
|
||||
HKEY hKey = NULL;
|
||||
DWORD dwDisposition;
|
||||
char keyname[1024];
|
||||
LONG lResult;
|
||||
LONG lResult;
|
||||
bool retVal = false;
|
||||
|
||||
if(!Os_reg_inited){
|
||||
return;
|
||||
if (!Os_reg_inited) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if ( section ) {
|
||||
sprintf( keyname, "Software\\%s\\%s\\%s", szCompanyName, szAppName, section );
|
||||
} else {
|
||||
sprintf( keyname, "Software\\%s\\%s", szCompanyName, szAppName );
|
||||
HKEY useHKey = get_registry_keyname(keyname, section);
|
||||
|
||||
lResult = RegOpenKeyEx(useHKey, // Where it is
|
||||
keyname, // name of key
|
||||
NULL, // DWORD reserved
|
||||
KEY_QUERY_VALUE, // Allows all changes
|
||||
&hKey); // Location to store key
|
||||
|
||||
if (lResult != ERROR_SUCCESS) {
|
||||
goto Cleanup;
|
||||
}
|
||||
|
||||
// remove the value
|
||||
if ( !name ) {
|
||||
if ( !section ) {
|
||||
goto Cleanup;
|
||||
}
|
||||
lResult = RegDeleteKey( HKEY_LOCAL_MACHINE, keyname );
|
||||
if ( lResult != ERROR_SUCCESS ) {
|
||||
goto Cleanup;
|
||||
}
|
||||
} else {
|
||||
lResult = RegCreateKeyEx( HKEY_LOCAL_MACHINE, // Where to add it
|
||||
keyname, // name of key
|
||||
NULL, // DWORD reserved
|
||||
"", // Object class
|
||||
REG_OPTION_NON_VOLATILE, // Save to disk
|
||||
KEY_ALL_ACCESS, // Allows all changes
|
||||
NULL, // Default security attributes
|
||||
&hKey, // Location to store key
|
||||
&dwDisposition ); // Location to store status of key
|
||||
|
||||
if ( lResult != ERROR_SUCCESS ) {
|
||||
goto Cleanup;
|
||||
}
|
||||
|
||||
lResult = RegDeleteValue( hKey, name );
|
||||
if ( lResult != ERROR_SUCCESS ) {
|
||||
goto Cleanup;
|
||||
}
|
||||
if (!name) {
|
||||
goto Cleanup;
|
||||
}
|
||||
|
||||
lResult = RegQueryValueEx(hKey, // Handle to key
|
||||
name, // The values name
|
||||
NULL, // DWORD reserved
|
||||
NULL, // What kind it is
|
||||
NULL, // value to set
|
||||
NULL); // How many bytes to set
|
||||
|
||||
if (lResult != ERROR_SUCCESS) {
|
||||
goto Cleanup;
|
||||
}
|
||||
|
||||
retVal = true;
|
||||
|
||||
Cleanup:
|
||||
if ( hKey )
|
||||
if (hKey)
|
||||
RegCloseKey(hKey);
|
||||
|
||||
return retVal;
|
||||
}
|
||||
|
||||
// Writes a string to the INI file. If value is NULL,
|
||||
// removes the string. Writing a NULL value to a NULL name will delete
|
||||
// the section.
|
||||
void os_config_write_string( const char *section, const char *name, const char *value )
|
||||
void os_config_write_string(const char *section, const char *name, const char *value)
|
||||
{
|
||||
HKEY hKey = NULL;
|
||||
DWORD dwDisposition;
|
||||
char keyname[1024];
|
||||
LONG lResult;
|
||||
LONG lResult;
|
||||
|
||||
if(!Os_reg_inited){
|
||||
if (!Os_reg_inited) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ( section ) {
|
||||
sprintf( keyname, "Software\\%s\\%s\\%s", szCompanyName, szAppName, section );
|
||||
} else {
|
||||
sprintf( keyname, "Software\\%s\\%s", szCompanyName, szAppName );
|
||||
}
|
||||
HKEY useHKey = get_registry_keyname(keyname, section);
|
||||
|
||||
lResult = RegCreateKeyEx( HKEY_LOCAL_MACHINE, // Where to add it
|
||||
keyname, // name of key
|
||||
NULL, // DWORD reserved
|
||||
"", // Object class
|
||||
REG_OPTION_NON_VOLATILE, // Save to disk
|
||||
KEY_ALL_ACCESS, // Allows all changes
|
||||
NULL, // Default security attributes
|
||||
&hKey, // Location to store key
|
||||
&dwDisposition ); // Location to store status of key
|
||||
lResult = RegCreateKeyEx(useHKey, // Where to add it
|
||||
keyname, // name of key
|
||||
NULL, // DWORD reserved
|
||||
"", // Object class
|
||||
REG_OPTION_NON_VOLATILE, // Save to disk
|
||||
KEY_ALL_ACCESS, // Allows all changes
|
||||
NULL, // Default security attributes
|
||||
&hKey, // Location to store key
|
||||
&dwDisposition); // Location to store status of key
|
||||
|
||||
if ( lResult != ERROR_SUCCESS ) {
|
||||
if (lResult != ERROR_SUCCESS) {
|
||||
goto Cleanup;
|
||||
}
|
||||
|
||||
if ( !name ) {
|
||||
if (!name) {
|
||||
goto Cleanup;
|
||||
}
|
||||
|
||||
lResult = RegSetValueEx( hKey, // Handle to key
|
||||
name, // The values name
|
||||
NULL, // DWORD reserved
|
||||
REG_SZ, // null terminated string
|
||||
(CONST BYTE *)value, // value to set
|
||||
strlen(value) + 1 ); // How many bytes to set
|
||||
|
||||
if ( lResult != ERROR_SUCCESS ) {
|
||||
|
||||
lResult = RegSetValueEx(hKey, // Handle to key
|
||||
name, // The values name
|
||||
NULL, // DWORD reserved
|
||||
REG_SZ, // null terminated string
|
||||
(CONST BYTE *)value, // value to set
|
||||
strlen(value) + 1); // How many bytes to set
|
||||
|
||||
if (lResult != ERROR_SUCCESS) {
|
||||
goto Cleanup;
|
||||
}
|
||||
|
||||
|
||||
Cleanup:
|
||||
if ( hKey )
|
||||
if (hKey)
|
||||
RegCloseKey(hKey);
|
||||
}
|
||||
|
||||
// same as previous function except we don't use the application name to build up the keyname
|
||||
void os_config_write_string2( const char *section, const char *name, const char *value )
|
||||
void os_config_write_uint(const char *section, const char *name, uint value)
|
||||
{
|
||||
HKEY hKey = NULL;
|
||||
DWORD dwDisposition;
|
||||
char keyname[1024];
|
||||
LONG lResult;
|
||||
LONG lResult;
|
||||
|
||||
if(!Os_reg_inited){
|
||||
if (!Os_reg_inited) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ( section ) {
|
||||
sprintf( keyname, "Software\\%s\\%s", szCompanyName, section );
|
||||
} else {
|
||||
sprintf( keyname, "Software\\%s", szCompanyName );
|
||||
}
|
||||
HKEY useHKey = get_registry_keyname(keyname, section);
|
||||
|
||||
lResult = RegCreateKeyEx( HKEY_LOCAL_MACHINE, // Where to add it
|
||||
keyname, // name of key
|
||||
NULL, // DWORD reserved
|
||||
"", // Object class
|
||||
REG_OPTION_NON_VOLATILE, // Save to disk
|
||||
KEY_ALL_ACCESS, // Allows all changes
|
||||
NULL, // Default security attributes
|
||||
&hKey, // Location to store key
|
||||
&dwDisposition ); // Location to store status of key
|
||||
lResult = RegCreateKeyEx(useHKey, // Where to add it
|
||||
keyname, // name of key
|
||||
NULL, // DWORD reserved
|
||||
"", // Object class
|
||||
REG_OPTION_NON_VOLATILE, // Save to disk
|
||||
KEY_ALL_ACCESS, // Allows all changes
|
||||
NULL, // Default security attributes
|
||||
&hKey, // Location to store key
|
||||
&dwDisposition); // Location to store status of key
|
||||
|
||||
if ( lResult != ERROR_SUCCESS ) {
|
||||
if (lResult != ERROR_SUCCESS) {
|
||||
goto Cleanup;
|
||||
}
|
||||
|
||||
if ( !name ) {
|
||||
goto Cleanup;
|
||||
}
|
||||
|
||||
lResult = RegSetValueEx( hKey, // Handle to key
|
||||
name, // The values name
|
||||
NULL, // DWORD reserved
|
||||
REG_SZ, // null terminated string
|
||||
(CONST BYTE *)value, // value to set
|
||||
strlen(value) + 1 ); // How many bytes to set
|
||||
|
||||
if ( lResult != ERROR_SUCCESS ) {
|
||||
if (!name) {
|
||||
goto Cleanup;
|
||||
}
|
||||
|
||||
lResult = RegSetValueEx(hKey, // Handle to key
|
||||
name, // The values name
|
||||
NULL, // DWORD reserved
|
||||
REG_DWORD, // null terminated string
|
||||
(CONST BYTE *)&value, // value to set
|
||||
4); // How many bytes to set
|
||||
|
||||
Cleanup:
|
||||
if ( hKey )
|
||||
RegCloseKey(hKey);
|
||||
}
|
||||
|
||||
// Writes an unsigned int to the INI file.
|
||||
void os_config_write_uint( const char *section, const char *name, uint value )
|
||||
{
|
||||
HKEY hKey = NULL;
|
||||
DWORD dwDisposition;
|
||||
char keyname[1024];
|
||||
LONG lResult;
|
||||
|
||||
if(!Os_reg_inited){
|
||||
return;
|
||||
}
|
||||
|
||||
if ( section ) {
|
||||
sprintf( keyname, "Software\\%s\\%s\\%s", szCompanyName, szAppName, section );
|
||||
} else {
|
||||
sprintf( keyname, "Software\\%s\\%s", szCompanyName, szAppName );
|
||||
}
|
||||
|
||||
lResult = RegCreateKeyEx( HKEY_LOCAL_MACHINE, // Where to add it
|
||||
keyname, // name of key
|
||||
NULL, // DWORD reserved
|
||||
"", // Object class
|
||||
REG_OPTION_NON_VOLATILE, // Save to disk
|
||||
KEY_ALL_ACCESS, // Allows all changes
|
||||
NULL, // Default security attributes
|
||||
&hKey, // Location to store key
|
||||
&dwDisposition ); // Location to store status of key
|
||||
|
||||
if ( lResult != ERROR_SUCCESS ) {
|
||||
goto Cleanup;
|
||||
}
|
||||
|
||||
if ( !name ) {
|
||||
goto Cleanup;
|
||||
}
|
||||
|
||||
lResult = RegSetValueEx( hKey, // Handle to key
|
||||
name, // The values name
|
||||
NULL, // DWORD reserved
|
||||
REG_DWORD, // null terminated string
|
||||
(CONST BYTE *)&value, // value to set
|
||||
4 ); // How many bytes to set
|
||||
|
||||
if ( lResult != ERROR_SUCCESS ) {
|
||||
if (lResult != ERROR_SUCCESS) {
|
||||
goto Cleanup;
|
||||
}
|
||||
|
||||
Cleanup:
|
||||
if ( hKey )
|
||||
if (hKey)
|
||||
RegCloseKey(hKey);
|
||||
|
||||
}
|
||||
|
||||
|
||||
// Reads a string from the INI file. If default is passed,
|
||||
// and the string isn't found, returns ptr to default otherwise
|
||||
// returns NULL; Copy the return value somewhere before
|
||||
// calling os_read_string again, because it might reuse the
|
||||
// same buffer.
|
||||
static char tmp_string_data[1024];
|
||||
const char * os_config_read_string( const char *section, const char *name, const char *default_value )
|
||||
const char * os_config_read_string(const char *section, const char *name, const char *default_value)
|
||||
{
|
||||
HKEY hKey = NULL;
|
||||
DWORD dwType, dwLen;
|
||||
char keyname[1024];
|
||||
LONG lResult;
|
||||
LONG lResult;
|
||||
|
||||
if(!Os_reg_inited){
|
||||
if (!Os_reg_inited) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if ( section ) {
|
||||
sprintf( keyname, "Software\\%s\\%s\\%s", szCompanyName, szAppName, section );
|
||||
} else {
|
||||
sprintf( keyname, "Software\\%s\\%s", szCompanyName, szAppName );
|
||||
}
|
||||
HKEY useHKey = get_registry_keyname(keyname, section);
|
||||
|
||||
lResult = RegOpenKeyEx( HKEY_LOCAL_MACHINE, // Where it is
|
||||
keyname, // name of key
|
||||
NULL, // DWORD reserved
|
||||
KEY_QUERY_VALUE, // Allows all changes
|
||||
&hKey ); // Location to store key
|
||||
lResult = RegOpenKeyEx(useHKey, // Where it is
|
||||
keyname, // name of key
|
||||
NULL, // DWORD reserved
|
||||
KEY_QUERY_VALUE, // Allows all changes
|
||||
&hKey); // Location to store key
|
||||
|
||||
if ( lResult != ERROR_SUCCESS ) {
|
||||
if (lResult != ERROR_SUCCESS) {
|
||||
goto Cleanup;
|
||||
}
|
||||
|
||||
if ( !name ) {
|
||||
if (!name) {
|
||||
goto Cleanup;
|
||||
}
|
||||
|
||||
dwLen = 1024;
|
||||
lResult = RegQueryValueEx( hKey, // Handle to key
|
||||
name, // The values name
|
||||
NULL, // DWORD reserved
|
||||
&dwType, // What kind it is
|
||||
(ubyte *)&tmp_string_data, // value to set
|
||||
&dwLen ); // How many bytes to set
|
||||
|
||||
if ( lResult != ERROR_SUCCESS ) {
|
||||
lResult = RegQueryValueEx(hKey, // Handle to key
|
||||
name, // The values name
|
||||
NULL, // DWORD reserved
|
||||
&dwType, // What kind it is
|
||||
(ubyte *)&tmp_string_data, // value to set
|
||||
&dwLen); // How many bytes to set
|
||||
|
||||
if (lResult != ERROR_SUCCESS) {
|
||||
goto Cleanup;
|
||||
}
|
||||
|
||||
default_value = tmp_string_data;
|
||||
|
||||
Cleanup:
|
||||
if ( hKey )
|
||||
RegCloseKey(hKey);
|
||||
|
||||
return default_value;
|
||||
}
|
||||
|
||||
// same as previous function except we don't use the application name to build up the keyname
|
||||
const char * os_config_read_string2( const char *section, const char *name, const char *default_value )
|
||||
{
|
||||
HKEY hKey = NULL;
|
||||
DWORD dwType, dwLen;
|
||||
char keyname[1024];
|
||||
LONG lResult;
|
||||
|
||||
if(!Os_reg_inited){
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if ( section ) {
|
||||
sprintf( keyname, "Software\\%s\\%s", szCompanyName, section );
|
||||
} else {
|
||||
sprintf( keyname, "Software\\%s", szCompanyName );
|
||||
}
|
||||
|
||||
lResult = RegOpenKeyEx( HKEY_LOCAL_MACHINE, // Where it is
|
||||
keyname, // name of key
|
||||
NULL, // DWORD reserved
|
||||
KEY_QUERY_VALUE, // Allows all changes
|
||||
&hKey ); // Location to store key
|
||||
|
||||
if ( lResult != ERROR_SUCCESS ) {
|
||||
goto Cleanup;
|
||||
}
|
||||
|
||||
if ( !name ) {
|
||||
goto Cleanup;
|
||||
}
|
||||
|
||||
dwLen = 1024;
|
||||
lResult = RegQueryValueEx( hKey, // Handle to key
|
||||
name, // The values name
|
||||
NULL, // DWORD reserved
|
||||
&dwType, // What kind it is
|
||||
(ubyte *)&tmp_string_data, // value to set
|
||||
&dwLen ); // How many bytes to set
|
||||
|
||||
if ( lResult != ERROR_SUCCESS ) {
|
||||
goto Cleanup;
|
||||
}
|
||||
|
||||
default_value = tmp_string_data;
|
||||
|
||||
Cleanup:
|
||||
if ( hKey )
|
||||
if (hKey)
|
||||
RegCloseKey(hKey);
|
||||
|
||||
return default_value;
|
||||
@@ -396,101 +369,89 @@ Cleanup:
|
||||
|
||||
// Reads a string from the INI file. Default_value must
|
||||
// be passed, and if 'name' isn't found, then returns default_value
|
||||
uint os_config_read_uint( const char *section, const char *name, uint default_value )
|
||||
uint os_config_read_uint(const char *section, const char *name, uint default_value)
|
||||
{
|
||||
HKEY hKey = NULL;
|
||||
DWORD dwType, dwLen;
|
||||
char keyname[1024];
|
||||
LONG lResult;
|
||||
uint tmp_val;
|
||||
uint tmp_val;
|
||||
|
||||
if ( !Os_reg_inited ) {
|
||||
if (!Os_reg_inited) {
|
||||
return default_value;
|
||||
}
|
||||
|
||||
if ( section ) {
|
||||
sprintf( keyname, "Software\\%s\\%s\\%s", szCompanyName, szAppName, section );
|
||||
} else {
|
||||
sprintf( keyname, "Software\\%s\\%s", szCompanyName, szAppName );
|
||||
}
|
||||
HKEY useHKey = get_registry_keyname(keyname, section);
|
||||
|
||||
lResult = RegOpenKeyEx( HKEY_LOCAL_MACHINE, // Where it is
|
||||
keyname, // name of key
|
||||
NULL, // DWORD reserved
|
||||
KEY_QUERY_VALUE, // Allows all changes
|
||||
&hKey ); // Location to store key
|
||||
lResult = RegOpenKeyEx(useHKey, // Where it is
|
||||
keyname, // name of key
|
||||
NULL, // DWORD reserved
|
||||
KEY_QUERY_VALUE, // Allows all changes
|
||||
&hKey); // Location to store key
|
||||
|
||||
if ( lResult != ERROR_SUCCESS ) {
|
||||
if (lResult != ERROR_SUCCESS) {
|
||||
goto Cleanup;
|
||||
}
|
||||
|
||||
if ( !name ) {
|
||||
if (!name) {
|
||||
goto Cleanup;
|
||||
}
|
||||
|
||||
dwLen = 4;
|
||||
lResult = RegQueryValueEx( hKey, // Handle to key
|
||||
name, // The values name
|
||||
NULL, // DWORD reserved
|
||||
&dwType, // What kind it is
|
||||
(ubyte *)&tmp_val, // value to set
|
||||
&dwLen ); // How many bytes to set
|
||||
|
||||
if ( lResult != ERROR_SUCCESS ) {
|
||||
lResult = RegQueryValueEx(hKey, // Handle to key
|
||||
name, // The values name
|
||||
NULL, // DWORD reserved
|
||||
&dwType, // What kind it is
|
||||
(ubyte *)&tmp_val, // value to set
|
||||
&dwLen); // How many bytes to set
|
||||
|
||||
if (lResult != ERROR_SUCCESS) {
|
||||
goto Cleanup;
|
||||
}
|
||||
|
||||
default_value = tmp_val;
|
||||
|
||||
Cleanup:
|
||||
if ( hKey )
|
||||
if (hKey)
|
||||
RegCloseKey(hKey);
|
||||
|
||||
return default_value;
|
||||
}
|
||||
|
||||
// uses Ex versions of Windows registry functions
|
||||
static char tmp_string_data_ex[1024];
|
||||
const char * os_config_read_string_ex( const char *keyname, const char *name, const char *default_value )
|
||||
|
||||
// initialize the registry. setup default keys to use
|
||||
void os_init_registry_stuff(const char *company, const char *app, const char *version)
|
||||
{
|
||||
HKEY hKey = NULL;
|
||||
DWORD dwType, dwLen;
|
||||
LONG lResult;
|
||||
|
||||
lResult = RegOpenKeyEx( HKEY_LOCAL_MACHINE, // Where it is
|
||||
keyname, // name of key
|
||||
NULL, // DWORD reserved
|
||||
KEY_QUERY_VALUE, // Allows all changes
|
||||
&hKey ); // Location to store key
|
||||
|
||||
if ( lResult != ERROR_SUCCESS ) {
|
||||
//mprintf(( "Error opening registry key '%s'\n", keyname ));
|
||||
goto Cleanup;
|
||||
if (company) {
|
||||
strcpy_s(szCompanyName, company);
|
||||
}
|
||||
else {
|
||||
strcpy_s(szCompanyName, Osreg_company_name);
|
||||
}
|
||||
|
||||
if ( !name ) {
|
||||
//mprintf(( "No variable name passed\n" ));
|
||||
goto Cleanup;
|
||||
if (app) {
|
||||
strcpy_s(szAppName, app);
|
||||
}
|
||||
else {
|
||||
strcpy_s(szAppName, Osreg_app_name);
|
||||
}
|
||||
|
||||
dwLen = 1024;
|
||||
lResult = RegQueryValueEx( hKey, // Handle to key
|
||||
name, // The values name
|
||||
NULL, // DWORD reserved
|
||||
&dwType, // What kind it is
|
||||
(ubyte *)&tmp_string_data_ex, // value to set
|
||||
&dwLen ); // How many bytes to set
|
||||
|
||||
if ( lResult != ERROR_SUCCESS ) {
|
||||
//mprintf(( "Error reading registry key '%s'\n", name ));
|
||||
goto Cleanup;
|
||||
if (version) {
|
||||
strcpy_s(szAppVersion, version);
|
||||
}
|
||||
else {
|
||||
strcpy_s(szAppVersion, "1.0");
|
||||
}
|
||||
|
||||
default_value = tmp_string_data_ex;
|
||||
OSVERSIONINFO versionInfo;
|
||||
versionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
|
||||
GetVersionEx(&versionInfo);
|
||||
|
||||
Cleanup:
|
||||
if ( hKey )
|
||||
RegCloseKey(hKey);
|
||||
// Windows Vista is 6.0 which is the first version requiring this
|
||||
if (versionInfo.dwMajorVersion >= 6)
|
||||
{
|
||||
userSIDValid = get_user_sid(userSID);
|
||||
}
|
||||
|
||||
return default_value;
|
||||
Os_reg_inited = 1;
|
||||
}
|
||||
@@ -35,16 +35,9 @@ extern const char *Osreg_user_dir;
|
||||
// initialize the registry. setup default keys to use
|
||||
void os_init_registry_stuff( const char *company, const char *app, const char *version );
|
||||
|
||||
// Removes a value from to the INI file. Passing
|
||||
// name=NULL will delete the section.
|
||||
void os_config_remove( const char *section, const char *name );
|
||||
|
||||
// Writes a string to the registry
|
||||
void os_config_write_string( const char *section, const char *name, const char *value );
|
||||
|
||||
// same as previous function except we don't use the application name to build up the keyname
|
||||
void os_config_write_string2( const char *section, const char *name, const char *value );
|
||||
|
||||
// Writes an unsigned int to the INI file.
|
||||
void os_config_write_uint( const char *section, const char *name, unsigned int value );
|
||||
|
||||
@@ -55,15 +48,9 @@ void os_config_write_uint( const char *section, const char *name, unsigned int v
|
||||
// same buffer.
|
||||
const char * os_config_read_string( const char *section, const char *name, const char *default_value=0 /*NULL*/ );
|
||||
|
||||
// same as previous function except we don't use the application name to build up the keyname
|
||||
const char * os_config_read_string2( const char *section, const char *name, const char *default_value=0 /*NULL*/ );
|
||||
|
||||
// Reads a string from the INI file. Default_value must
|
||||
// be passed, and if 'name' isn't found, then returns default_value
|
||||
unsigned int os_config_read_uint( const char *section, const char *name, unsigned int default_value );
|
||||
|
||||
// uses Ex versions of Windows registry functions
|
||||
const char * os_config_read_string_ex( const char *keyname, const char *name, const char *default_value );
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1241,6 +1241,14 @@ void stuff_string(char *outstr, int type, int len, char *terminators)
|
||||
default:
|
||||
Error(LOCATION, "Unhandled string type %d in stuff_string!", type);
|
||||
}
|
||||
|
||||
if (type == F_FILESPEC) {
|
||||
// Make sure that the passed string looks like a good filename
|
||||
if (strlen(read_str) == 0) {
|
||||
// Empty file name is probably not valid!
|
||||
error_display(0, "A file name was expected but no name was supplied! This is probably a mistake.");
|
||||
}
|
||||
}
|
||||
|
||||
// now we want to do any final localization
|
||||
if(type != F_RAW && type != F_LNAME)
|
||||
@@ -1315,6 +1323,14 @@ void stuff_string(SCP_string &outstr, int type, char *terminators)
|
||||
default:
|
||||
Error(LOCATION, "Unhandled string type %d in stuff_string!", type);
|
||||
}
|
||||
|
||||
if (type == F_FILESPEC) {
|
||||
// Make sure that the passed string looks like a good filename
|
||||
if (read_str.empty()) {
|
||||
// Empty file name is not valid!
|
||||
error_display(1, "A file name was expected but no name was supplied!\n");
|
||||
}
|
||||
}
|
||||
|
||||
// now we want to do any final localization
|
||||
if(type != F_RAW && type != F_LNAME)
|
||||
|
||||
+2
-2
@@ -1790,7 +1790,7 @@ int parse_ship_template()
|
||||
char buf[SHIP_MULTITEXT_LENGTH];
|
||||
ship_info *sip;
|
||||
int rtn = 0;
|
||||
bool first_time = false;
|
||||
bool first_time = true;
|
||||
|
||||
required_string("$Template:");
|
||||
stuff_string(buf, F_NAME, SHIP_MULTITEXT_LENGTH);
|
||||
@@ -18700,7 +18700,7 @@ void ship_set_thruster_info(mst_info *mst, object *obj, ship *shipp, ship_info *
|
||||
mst->distortion_bitmap = shipp->thruster_distortion_bitmap;
|
||||
|
||||
mst->use_ab = (obj->phys_info.flags & PF_AFTERBURNER_ON) || (obj->phys_info.flags & PF_BOOSTER_ON);
|
||||
mst->glow_noise = shipp->thruster_glow_noise;
|
||||
mst->glow_noise = shipp->thruster_glow_noise * sip->thruster_glow_noise_mult;
|
||||
mst->rotvel = Objects[shipp->objnum].phys_info.rotvel;
|
||||
|
||||
mst->glow_rad_factor = sip->thruster01_glow_rad_factor;
|
||||
|
||||
@@ -61,6 +61,7 @@
|
||||
#include <unistd.h>
|
||||
#include "SDL.h"
|
||||
#include "SDL_thread.h"
|
||||
#include <cmath>
|
||||
|
||||
|
||||
// don't verbose stub funtions unless we're debugging
|
||||
@@ -277,7 +278,7 @@ void strlwr(char *s);
|
||||
char *strnset( char *string, int fill, size_t count);
|
||||
|
||||
// other stuff
|
||||
#define _isnan(f) isnan(f)
|
||||
#define _isnan(f) std::isnan(f)
|
||||
#define _hypot(x, y) hypot(x, y)
|
||||
|
||||
int MulDiv(int number, int numerator, int denominator);
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ dnl configure.ac for fs2_open
|
||||
dnl
|
||||
dnl $Id: configure.ac,v 1.31.2.4 2007-05-28 19:36:12 taylor Exp $
|
||||
|
||||
AC_INIT(fs2_open, 3.7.3)
|
||||
AC_INIT(fs2_open, 3.7.4)
|
||||
AC_CONFIG_SRCDIR(code/freespace2/freespace.cpp)
|
||||
|
||||
dnl we need at least version 2.54 of autoconf
|
||||
|
||||
@@ -125,12 +125,12 @@
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">fred2_open_3_7_3-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug SSE|Win32'">fred2_open_3_7_3_SSE-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug SSE2|Win32'">fred2_open_3_7_3_SSE2-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">fred2_open_3_7_3</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release SSE|Win32'">fred2_open_3_7_3_SSE</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release SSE2|Win32'">fred2_open_3_7_3_SSE2</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">fred2_open_3_7_4-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug SSE|Win32'">fred2_open_3_7_4_SSE-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug SSE2|Win32'">fred2_open_3_7_4_SSE2-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">fred2_open_3_7_4</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release SSE|Win32'">fred2_open_3_7_4_SSE</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release SSE2|Win32'">fred2_open_3_7_4_SSE2</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<CustomBuildStep>
|
||||
|
||||
@@ -124,12 +124,12 @@
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">fs2_open_3_7_3-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug SSE|Win32'">fs2_open_3_7_3_SSE-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug SSE2|Win32'">fs2_open_3_7_3_SSE2-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">fs2_open_3_7_3</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release SSE|Win32'">fs2_open_3_7_3_SSE</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release SSE2|Win32'">fs2_open_3_7_3_SSE2</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">fs2_open_3_7_4-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug SSE|Win32'">fs2_open_3_7_4_SSE-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug SSE2|Win32'">fs2_open_3_7_4_SSE2-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">fs2_open_3_7_4</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release SSE|Win32'">fs2_open_3_7_4_SSE</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release SSE2|Win32'">fs2_open_3_7_4_SSE2</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<CustomBuildStep>
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
<AdditionalDependencies>comctl32.lib;rpcrt4.lib;winmm.lib;advapi32.lib;wsock32.lib;wxmsw29ud_core.lib;wxbase29ud.lib</AdditionalDependencies>
|
||||
</Link>
|
||||
<CustomBuildStep>
|
||||
<Command>copy /y "$(TargetPath)" "$(FS2PATH)\wxfred2_open_3_7_3-debug.exe" </Command>
|
||||
<Command>copy /y "$(TargetPath)" "$(FS2PATH)\wxfred2_open_3_7_4-debug.exe" </Command>
|
||||
<Message>Copying build...</Message>
|
||||
<Outputs>$(FS2PATH)\wxfred2_open$(FS_VERSION_FULL)-debug.exe;$(FS2PATH)\wxfred.xrc;%(Outputs)</Outputs>
|
||||
</CustomBuildStep>
|
||||
@@ -159,9 +159,9 @@
|
||||
<AdditionalDependencies>comctl32.lib;rpcrt4.lib;winmm.lib;advapi32.lib;wsock32.lib;wxmsw29u_core.lib;wxbase29u.lib</AdditionalDependencies>
|
||||
</Link>
|
||||
<CustomBuildStep>
|
||||
<Command>copy /y "$(TargetPath)" "$(FS2PATH)/wxfred2_open_3_7_3.exe"</Command>
|
||||
<Command>copy /y "$(TargetPath)" "$(FS2PATH)/wxfred2_open_3_7_4.exe"</Command>
|
||||
<Message>Copying build...</Message>
|
||||
<Outputs>$(FS2PATH)\wxfred2_open_3_7_3.exe;%(Outputs)</Outputs>
|
||||
<Outputs>$(FS2PATH)\wxfred2_open_3_7_4.exe;%(Outputs)</Outputs>
|
||||
</CustomBuildStep>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
|
||||
@@ -170,14 +170,14 @@
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">fred2_open_3_7_3-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug SSE|Win32'">fred2_open_3_7_3_SSE-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug SSE2|Win32'">fred2_open_3_7_3_SSE2-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug AVX|Win32'">fred2_open_3_7_3_AVX-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">fred2_open_3_7_3</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release SSE|Win32'">fred2_open_3_7_3_SSE</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release SSE2|Win32'">fred2_open_3_7_3_SSE2</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release AVX|Win32'">fred2_open_3_7_3_AVX</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">fred2_open_3_7_4-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug SSE|Win32'">fred2_open_3_7_4_SSE-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug SSE2|Win32'">fred2_open_3_7_4_SSE2-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug AVX|Win32'">fred2_open_3_7_4_AVX-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">fred2_open_3_7_4</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release SSE|Win32'">fred2_open_3_7_4_SSE</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release SSE2|Win32'">fred2_open_3_7_4_SSE2</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release AVX|Win32'">fred2_open_3_7_4_AVX</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<CustomBuildStep />
|
||||
|
||||
@@ -169,14 +169,14 @@
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">fs2_open_3_7_3-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug SSE|Win32'">fs2_open_3_7_3_SSE-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug SSE2|Win32'">fs2_open_3_7_3_SSE2-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug AVX|Win32'">fs2_open_3_7_3_AVX-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">fs2_open_3_7_3</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release SSE|Win32'">fs2_open_3_7_3_SSE</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release SSE2|Win32'">fs2_open_3_7_3_SSE2</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release AVX|Win32'">fs2_open_3_7_3_AVX</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">fs2_open_3_7_4-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug SSE|Win32'">fs2_open_3_7_4_SSE-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug SSE2|Win32'">fs2_open_3_7_4_SSE2-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug AVX|Win32'">fs2_open_3_7_4_AVX-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">fs2_open_3_7_4</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release SSE|Win32'">fs2_open_3_7_4_SSE</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release SSE2|Win32'">fs2_open_3_7_4_SSE2</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release AVX|Win32'">fs2_open_3_7_4_AVX</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<CustomBuildStep />
|
||||
|
||||
@@ -190,7 +190,7 @@
|
||||
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
</Lib>
|
||||
<Bscmake>
|
||||
<AdditionalOptions>
|
||||
<AdditionalOptions>
|
||||
%(AdditionalOptions)</AdditionalOptions>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<OutputFile>$(IntDir)$(ProjectName).bsc</OutputFile>
|
||||
@@ -234,7 +234,7 @@
|
||||
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
</Lib>
|
||||
<Bscmake>
|
||||
<AdditionalOptions>
|
||||
<AdditionalOptions>
|
||||
%(AdditionalOptions)</AdditionalOptions>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<OutputFile>$(IntDir)$(ProjectName).bsc</OutputFile>
|
||||
@@ -278,7 +278,7 @@
|
||||
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
</Lib>
|
||||
<Bscmake>
|
||||
<AdditionalOptions>
|
||||
<AdditionalOptions>
|
||||
%(AdditionalOptions)</AdditionalOptions>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<OutputFile>$(IntDir)$(ProjectName).bsc</OutputFile>
|
||||
@@ -322,7 +322,7 @@
|
||||
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
</Lib>
|
||||
<Bscmake>
|
||||
<AdditionalOptions>
|
||||
<AdditionalOptions>
|
||||
%(AdditionalOptions)</AdditionalOptions>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<OutputFile>$(IntDir)$(ProjectName).bsc</OutputFile>
|
||||
@@ -1070,21 +1070,21 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="..\..\code\sound\phrases.xml">
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug AVX|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug AVX|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug AVX|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug SSE|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug SSE|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug SSE|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug SSE2|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug SSE2|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug SSE2|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release AVX|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release AVX|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release AVX|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release SSE|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release SSE|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release SSE|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release SSE2|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release SSE2|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release SSE2|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
|
||||
@@ -95,10 +95,10 @@
|
||||
<AdditionalDependencies>odbc32.lib;odbccp32.lib;comctl32.lib;rpcrt4.lib;wsock32.lib;winmm.lib;wxmsw28d_xrc.lib;wxmsw28d_html.lib;wxmsw28d_adv.lib;wxmsw28d_core.lib;wxbase28d_xml.lib;wxbase28d.lib;wxtiffd.lib;wxjpegd.lib;wxpngd.lib;wxzlibd.lib;wxregexd.lib;wxexpatd.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<CustomBuildStep>
|
||||
<Command>copy %(FullPath) "$(FS2PATH)/wxfred2_open_3_7_3-debug.exe"
|
||||
<Command>copy %(FullPath) "$(FS2PATH)/wxfred2_open_3_7_4-debug.exe"
|
||||
copy "$(ProjectDir)..\..\code\wxfred2\wxfred.xrc" "$(FS2PATH)\wxfred.xrc"</Command>
|
||||
<Message>Copying build...</Message>
|
||||
<Outputs>$(FS2PATH)/wxfred2_open_3_7_3-debug.exe;$(FS2PATH)\wxfred.xrc;%(Outputs)</Outputs>
|
||||
<Outputs>$(FS2PATH)/wxfred2_open_3_7_4-debug.exe;$(FS2PATH)\wxfred.xrc;%(Outputs)</Outputs>
|
||||
</CustomBuildStep>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
@@ -146,10 +146,10 @@ copy "$(ProjectDir)..\..\code\wxfred2\wxfred.xrc" "$(FS2PATH)\wxfred.xrc"</Comma
|
||||
<AdditionalDependencies>odbc32.lib;odbccp32.lib;comctl32.lib;rpcrt4.lib;wsock32.lib;winmm.lib;wxmsw28_xrc.lib;wxmsw28_html.lib;wxmsw28_adv.lib;wxmsw28_core.lib;wxbase28_xml.lib;wxbase28.lib;wxtiff.lib;wxjpeg.lib;wxpng.lib;wxzlib.lib;wxregex.lib;wxexpat.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<CustomBuildStep>
|
||||
<Command>copy %(FullPath) "$(FS2PATH)\wxfred2_open_3_7_3.exe"
|
||||
<Command>copy %(FullPath) "$(FS2PATH)\wxfred2_open_3_7_4.exe"
|
||||
copy "$(ProjectDir)..\..\code\wxfred2\wxfred.xrc" "$(FS2PATH)\wxfred.xrc"</Command>
|
||||
<Message>Copying build...</Message>
|
||||
<Outputs>$(FS2PATH)\wxfred2_open_3_7_3.exe;$(FS2PATH)\wxfred.xrc;%(Outputs)</Outputs>
|
||||
<Outputs>$(FS2PATH)\wxfred2_open_3_7_4.exe;$(FS2PATH)\wxfred.xrc;%(Outputs)</Outputs>
|
||||
</CustomBuildStep>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
|
||||
@@ -170,14 +170,14 @@
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">fred2_open_3_7_3-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug SSE|Win32'">fred2_open_3_7_3_SSE-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug SSE2|Win32'">fred2_open_3_7_3_SSE2-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug AVX|Win32'">fred2_open_3_7_3_AVX-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">fred2_open_3_7_3</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release SSE|Win32'">fred2_open_3_7_3_SSE</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release SSE2|Win32'">fred2_open_3_7_3_SSE2</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release AVX|Win32'">fred2_open_3_7_3_AVX</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">fred2_open_3_7_4-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug SSE|Win32'">fred2_open_3_7_4_SSE-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug SSE2|Win32'">fred2_open_3_7_4_SSE2-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug AVX|Win32'">fred2_open_3_7_4_AVX-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">fred2_open_3_7_4</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release SSE|Win32'">fred2_open_3_7_4_SSE</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release SSE2|Win32'">fred2_open_3_7_4_SSE2</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release AVX|Win32'">fred2_open_3_7_4_AVX</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<CustomBuildStep />
|
||||
|
||||
@@ -169,14 +169,14 @@
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">fs2_open_3_7_3-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug SSE|Win32'">fs2_open_3_7_3_SSE-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug SSE2|Win32'">fs2_open_3_7_3_SSE2-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug AVX|Win32'">fs2_open_3_7_3_AVX-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">fs2_open_3_7_3</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release SSE|Win32'">fs2_open_3_7_3_SSE</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release SSE2|Win32'">fs2_open_3_7_3_SSE2</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release AVX|Win32'">fs2_open_3_7_3_AVX</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">fs2_open_3_7_4-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug SSE|Win32'">fs2_open_3_7_4_SSE-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug SSE2|Win32'">fs2_open_3_7_4_SSE2-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug AVX|Win32'">fs2_open_3_7_4_AVX-DEBUG</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">fs2_open_3_7_4</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release SSE|Win32'">fs2_open_3_7_4_SSE</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release SSE2|Win32'">fs2_open_3_7_4_SSE2</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release AVX|Win32'">fs2_open_3_7_4_AVX</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<CustomBuildStep />
|
||||
|
||||
@@ -1070,21 +1070,21 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="..\..\code\sound\phrases.xml">
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug AVX|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug AVX|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug AVX|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug SSE|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug SSE|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug SSE|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug SSE2|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug SSE2|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug SSE2|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release AVX|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release AVX|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release AVX|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release SSE|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release SSE|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release SSE|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release SSE2|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release SSE2|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release SSE2|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
|
||||
@@ -95,10 +95,10 @@
|
||||
<AdditionalDependencies>odbc32.lib;odbccp32.lib;comctl32.lib;rpcrt4.lib;wsock32.lib;winmm.lib;wxmsw28d_xrc.lib;wxmsw28d_html.lib;wxmsw28d_adv.lib;wxmsw28d_core.lib;wxbase28d_xml.lib;wxbase28d.lib;wxtiffd.lib;wxjpegd.lib;wxpngd.lib;wxzlibd.lib;wxregexd.lib;wxexpatd.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<CustomBuildStep>
|
||||
<Command>copy %(FullPath) "$(FS2PATH)/wxfred2_open_3_7_3-debug.exe"
|
||||
<Command>copy %(FullPath) "$(FS2PATH)/wxfred2_open_3_7_4-debug.exe"
|
||||
copy "$(ProjectDir)..\..\code\wxfred2\wxfred.xrc" "$(FS2PATH)\wxfred.xrc"</Command>
|
||||
<Message>Copying build...</Message>
|
||||
<Outputs>$(FS2PATH)/wxfred2_open_3_7_3-debug.exe;$(FS2PATH)\wxfred.xrc;%(Outputs)</Outputs>
|
||||
<Outputs>$(FS2PATH)/wxfred2_open_3_7_4-debug.exe;$(FS2PATH)\wxfred.xrc;%(Outputs)</Outputs>
|
||||
</CustomBuildStep>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
@@ -146,10 +146,10 @@ copy "$(ProjectDir)..\..\code\wxfred2\wxfred.xrc" "$(FS2PATH)\wxfred.xrc"</Comma
|
||||
<AdditionalDependencies>odbc32.lib;odbccp32.lib;comctl32.lib;rpcrt4.lib;wsock32.lib;winmm.lib;wxmsw28_xrc.lib;wxmsw28_html.lib;wxmsw28_adv.lib;wxmsw28_core.lib;wxbase28_xml.lib;wxbase28.lib;wxtiff.lib;wxjpeg.lib;wxpng.lib;wxzlib.lib;wxregex.lib;wxexpat.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<CustomBuildStep>
|
||||
<Command>copy %(FullPath) "$(FS2PATH)\wxfred2_open_3_7_3.exe"
|
||||
<Command>copy %(FullPath) "$(FS2PATH)\wxfred2_open_3_7_4.exe"
|
||||
copy "$(ProjectDir)..\..\code\wxfred2\wxfred.xrc" "$(FS2PATH)\wxfred.xrc"</Command>
|
||||
<Message>Copying build...</Message>
|
||||
<Outputs>$(FS2PATH)\wxfred2_open_3_7_3.exe;$(FS2PATH)\wxfred.xrc;%(Outputs)</Outputs>
|
||||
<Outputs>$(FS2PATH)\wxfred2_open_3_7_4.exe;$(FS2PATH)\wxfred.xrc;%(Outputs)</Outputs>
|
||||
</CustomBuildStep>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
|
||||
Binary file not shown.
@@ -4426,7 +4426,7 @@
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = "3.7.3";
|
||||
CURRENT_PROJECT_VERSION = "3.7.4";
|
||||
DEAD_CODE_STRIPPING = NO;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
DEPLOYMENT_POSTPROCESSING = YES;
|
||||
@@ -4474,7 +4474,7 @@
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = "3.7.3";
|
||||
CURRENT_PROJECT_VERSION = "3.7.4";
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
DEPLOYMENT_POSTPROCESSING = YES;
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<Option virtualFolders="Freespace2/;" />
|
||||
<Build>
|
||||
<Target title="Debug">
|
||||
<Option output="../Debug/Freespace2/lib/fs2_open_3_7_3_debug" prefix_auto="1" extension_auto="1" />
|
||||
<Option output="../Debug/Freespace2/lib/fs2_open_3_7_4_debug" prefix_auto="1" extension_auto="1" />
|
||||
<Option working_dir="../freespaceDirectoryLink" />
|
||||
<Option object_output="../Debug/Freespace2/obj/" />
|
||||
<Option type="1" />
|
||||
@@ -24,7 +24,7 @@
|
||||
</Linker>
|
||||
</Target>
|
||||
<Target title="Release">
|
||||
<Option output="../Release/Freespace2/lib/fs2_open_3_7_3" prefix_auto="1" extension_auto="1" />
|
||||
<Option output="../Release/Freespace2/lib/fs2_open_3_7_4" prefix_auto="1" extension_auto="1" />
|
||||
<Option object_output="../Release/Freespace2/obj/" />
|
||||
<Option type="0" />
|
||||
<Option compiler="gcc" />
|
||||
|
||||
Reference in new issue
Block a user