Commit Graph
85 Commits
Author SHA1 Message Date
asarium 4274a6da76 Add unit test setup 2016-08-15 11:40:08 +02:00
m!m 22c0255277 Fix a bunch of 64-bit MSVC warnings (#709)
* Fix a bunch of 64-bit warnings

* Fix Linux compilation error

* Fix Mac error

* Fix some issues

* Fix more GCC warnings

* Remote unwanted change

* Remove accidentally readded file

* Fix wrong limit check

* Use BEAM_INDEX macro for getting beam object index

* Fix 32-bit warning

* Use BEAM_INDEX instead of pointer arithmetic
2016-08-09 11:08:54 -07:00
asarium 7cf42b6811 Fix directory creation for nested mod folders.
The launcher passes the mod folders as relative paths using / as the
directory separator. That path is copied into the cf_root path and when
cf_create_directory tries to create the directory, mkdir_recursive can't
handle the / in the path and tries to create two path elements at once
which is not supported by mkdir.

These changes fix that by converting mod paths to the native format
(from the / format, so it's a No-op on Unix) before using it in
cf_create_root().
2016-07-30 21:53:15 +02:00
asarium 54cb475d30 Unify config handling on all platforms
This will use SDL_GetPrefPath to determine a suitable config directory which will be used for all runtime writing. Additionally all platforms will now use the configuration ini files, the Windows registry will be deprecated. For better compatibility with current installs there is a "legacy mode" which will work like the current install. It will be used as long as the launcher doesn't write the configuration file to the new location. Migrating old installs requires copying the existing pilot files to the new location and copying any existing configuration data.
2016-03-16 19:42:52 +01:00
Goober5000 505de1b905 linux compatibility 2015-10-25 19:51:50 -04:00
Goober5000 b82d0c579d convert qsort to std::sort 2015-10-25 19:16:36 -04:00
asarium 7efd107bfa Fix format warning and syntax error 2015-10-14 18:07:45 +02:00
asarium 14f1ceec4d Fix "unused return" warnings 2015-10-14 17:41:31 +02:00
Echelon9 c5493bb480 Scripted sort and uniq on (internal) project includes. Improves search time and as a by product removed a number of duplicative includes. 2015-06-22 20:24:30 +10:00
Echelon9 55af81050d Fix Mantis 3059: Coverity 1204289 String not null terminated in cf_search_root_pack()
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10808 387891d4-d844-0410-90c0-e4c51a9137d3
2014-06-14 20:29:36 +10:00
niffiwan 3b77e65f5f Raise MAX_PATH_LEN to 256 so FSO can run in long paths
Specifically avoid one issue with running FSO in the default Steam dir
Converted some magic 128/127 numbers to MAX_PATH_LEN
Convert some Int3() into more friendly errors
Stopgap measure until proper fix added with compressed VP support
Fix mantis 3028

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10772 387891d4-d844-0410-90c0-e4c51a9137d3
2014-06-09 13:48:52 +10:00
Goober5000 138e6b853f yeesh... a veritable cascade of const-correctness
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9783 387891d4-d844-0410-90c0-e4c51a9137d3
2013-09-13 20:18:32 +10:00
niffiwan 9ebbd7efce Fix for mantis 2814: don't check filename lengths when deleting .csg files Also change win32 to check for last . in filenames, not the 1st
git-svn-id: svn://svn.icculus.org/fs2open/trunk@9613 387891d4-d844-0410-90c0-e4c51a9137d3
2013-04-14 13:00:34 +10:00
FUBAR-BDHR 13efc81b22 Need to back out temporary commit 9553 or it looks in inferno\inferno and \inferno for pilots.
git-svn-id: svn://svn.icculus.org/fs2open/trunk@9563 387891d4-d844-0410-90c0-e4c51a9137d3
2013-03-18 20:26:06 +10:00
Zacam 11140adf51 aaaaaaaaand finally, lets make sure that we can actually see the "Inferno" directory for all those pilot files. *sighs* That had better be everything.
git-svn-id: svn://svn.icculus.org/fs2open/trunk@9553 387891d4-d844-0410-90c0-e4c51a9137d3
2013-03-18 20:24:46 +10:00
Zacam 759b080814 pre-Antipodes Staging Merge: "Inferno" build options go away, INF_BUILD settings now "default" settings. Fixed and made consistent across all projects the Build Output names ("Debug" used for Debug builds at the very end of the file name before the extension and after other options such as SSE, where applicable) Other unused #defines or #ifdefs removed: DEMO build Related, STANDALONE_ONLY_BUILD (already covered by -standalone command line flag)
git-svn-id: svn://svn.icculus.org/fs2open/trunk@9549 387891d4-d844-0410-90c0-e4c51a9137d3
2013-03-18 20:24:46 +10:00
Echelon9 52093cf6c6 Documentation: Pass cleaning up a few functions with partial docs 2012-10-08 15:53:14 +00:00
Echelon9 1da3f30ff4 warning C4018: '<' : signed/unsigned mismatch 2012-04-15 09:02:10 +00:00
Echelon9 4820ef1fdf warning C6246: Local declaration of 'i' hides declaration of the same name in outer scope. For additional information, see previous declaration at line '1037' 2012-04-15 07:55:27 +00:00
Echelon9 b74f0dd2a1 warning C6246: Local declaration of 'i' hides declaration of the same name in outer scope. For additional information, see previous declaration at line '832' 2012-04-15 07:44:11 +00:00
Zacam 83045f7d4c Some more Parity/drift correction between Antipodes and Trunk: cfile update for better handling. 2011-09-09 14:06:29 +00:00
The_E 834e383c26 Marking a bunch of PVS Studio warnings as false alarms. While the warnings are technically correct, none of these are in places where performance matters. 2011-09-04 12:31:33 +00:00
Goober5000 09bb4ab771 PVS-Studio fix: V804 Decreased performance. The 'strlen' function is called twice in the specified expression to calculate length of the same string. 2011-09-03 01:15:20 +00:00
Goober5000 ee4e1f2afa PVS-Studio fix: V805 Decreased performance. It is inefficient to identify an empty string by using 'strlen(str) != 0' construct. A more efficient way is to check: str[0] != '\0'.
(and sorry Kazan, you don't get to call your for statement a work of art if you use strlen inefficiently)
2011-09-03 01:05:00 +00:00
The_E 0525e871d0 PVS Studio related: Mark false alarms as such. 2011-08-30 17:46:49 +00:00
Echelon9 80a027a400 PVS-Studio fix: V803 Decreased performance. In case 'tvs' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator.
For further discussion see, http://www.viva64.com/en/b/0093/

The scenarios where it will improve performance are under Debug builds. This improvement will however allow quicker use of other profiling tools that need to run on Debug builds.

Note. Code with size_t does not see the performance improvement comparison to iterators due to absence of array overrun check.
2011-08-28 08:31:25 +00:00
The_E 7f5c3d343e Valathil's code cleanup patch. 2011-07-20 18:04:43 +00:00
Goober5000 0244c64214 a wee bit more is needed 2011-07-06 05:06:22 +00:00
Goober5000 b175a91843 make things compile 2011-07-06 04:44:25 +00:00
The_E eaf03bb480 And -safeloading bites the dust too. 2011-07-02 19:43:02 +00:00
The_E bafed3f964 Fix compiler warnings re: signed/unsigned mismatch 2011-06-18 21:36:05 +00:00
The_E 2f01d3f0ce Bumping the max number of files CFile can handle to 2^16 2011-06-16 17:09:30 +00:00
taylor f06ef36ca6 more sane memory reserve 2010-05-29 15:53:28 +00:00
portej05 b9a95040f7 Remove name concatenation issue from cfilesystem (hopefully mantis 2042 solved, but that callstack changes depending on whether dbg_filter.cfg is there) 2009-11-22 15:05:33 +00:00
portej05 98f337f701 safe_strings - from Antipodes build #1 2009-07-27 16:06:24 +00:00
portej05 6a8d45c93d Replace most instances of std::vector with SCP_vector. Memory is now all run through vm_malloc and vm_free.
Watch it go up AND down in mission.
2009-07-11 07:07:57 +00:00
portej05 719825f80d The big CVS comment removal. This chops approx. 3.5mb off a full checkout.
I've tested this through compiling and through hand checking. 
Normalises line endings in ALL files to \n.
2009-06-20 08:08:20 +00:00
Goober5000 6e4021888d add apostrophes to contractions, lol 2009-04-10 07:49:12 +00:00
karajorma d8a1a68c16 Fix multiplayer for Inferno builds. 2009-03-17 20:25:36 +00:00
phreak 6a3cf80be0 Add additional filename extension filters to fix Mantis #1484 2008-10-11 12:08:09 +00:00
taylor 6d085d6d22 be sure to skip filenames that are too long in cf_get_file_list() too, since we still need them to be of a certain size later 2008-04-01 06:30:05 +00:00
taylor d6c6430efb tweaks for slightly more efficient file matching
minor cleanup
2008-03-20 17:45:31 +00:00
taylor 6b24116d1a this should allow a more graceful handling of 0-byte VP files so that they don't cause hangs/crashes 2008-02-22 02:40:30 +00:00
taylor 40d3516892 make the chcksum spew in logs always have a full 8-set of values
skip over files found on system which are over the max filename length, prevents several crashes (partial for Mantis #1182)
2007-05-28 19:45:14 +00:00
taylor 54e820b01c cleanup of chcksum stuff (works properly on 64-bit systems now)
add chksum support for VPs, both a startup in debug builds, and via cmdline option (-verify_vps)
little cleanup in cmdline.cpp (get rid of the remaining "fix bugs" crap)
2007-04-11 18:21:23 +00:00
taylor 2f38c8ce54 a little better error handling for cf_exists_full()
add a cf_exists_full_ext() which can find a series of extensions and returns true if any of them exist
use cf_exists_full_ext() for eventmusic file checks (to check for ogg and wav)
get rid of SPM hack, it's wrong (just commented out for now though)
fix a bunch of bugs in cf_find_file_location_ext():
 - try to handle files with multiple periods a bit better (for the wav files like: blah_1.5.wav)
 - load issue with finding incorrect files by mistake
 - prevent finding different file types in various paths/roots
2007-03-22 20:22:45 +00:00
taylor ed073ec841 add the number of files that CFILE is going to try and use in each root to the debug info
optimizations for cf_find_file_location_ext()
2007-02-09 23:57:24 +00:00
taylor 303d820966 various small cleanup and speedup changes
add a cf_find_file_location_ext() function, which you can pass a filename and a list of extensions and it will search for all of them at once
2006-08-27 18:01:45 +00:00
taylor 848445805b include CF_TYPE_PLAYERS in special pilot path consideration, prevents moddirs from always getting and empty data/players/ 2006-07-28 02:44:17 +00:00
taylor 380b0de996 extra safety check when creating a default path string, filename is optional be we need to available if root0 is missing (CFILE not initted yet)
fix that crazy compiler<->constructor<->linker<->server.txt deal caused by some bad code and a freaky link thing in freespace.cpp
2006-04-16 05:28:10 +00:00