asarium
a1a8a53a65
Add validation when parsing a file spec
...
This issue was spotted by Taranis who encountered an assertion caused by
an empty file name. This check will make sure that every string parsed
as a file name will at least contain one character.
2016-03-10 18:33:43 +01:00
MageKing17
91dbf8b751
Improve consistency/flexibility of version-specific comments.
...
matches_version_specific_tag() now uses the previously-FRED-only scan_fso_version_string() function, meaning it now supports version-specific comments with as few numbers as ;;FSO 3;; to as many numbers as ;;FSO 3.7.3.20151106;;, instead of you being required to supply exactly 3 numbers.
2015-11-20 03:22:45 -08:00
MageKing17
238dbc5749
Makes vsprintf() stop chopping off the last character. Fixes issue #298 .
...
Also fixes saving missions in FRED, since it uses the same function.
2015-08-22 03:38:16 -07:00
asarium
51832fd563
Fix SCP_string version of vsprintf
...
The previous version didn't use the c-library which would cause incompatibilities with formats that assume all format specified to be supported.
2015-08-20 22:52:49 +02:00
asarium
eb765b0c99
Fir format warnings in parselo.cpp
2015-08-19 11:26:29 +02:00
Goober5000
bd3cd7eb18
Merge pull request #195 from Echelon9/fix/sort-uniq-includes
...
Review and refactor #include's
2015-08-19 00:05:02 -04:00
Echelon9
8c2c451e8e
Simplify duplicative parse/ includes.
2015-06-22 20:24:31 +10: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
z64555
99a06b4839
Organizes required_string(); Doxy's required_string() and required_string_one_of()
2015-06-10 09:00:33 -05:00
asarium
88a85e4024
Improve gamesnd modular parsing
...
As requested by jg18, this improves the sound.tbl parser to properly handle +nocreate. If the file name of an entry should not be changed you have to specify <same>.
2015-05-08 08:48:17 +02:00
asarium
9aed627ce7
Replace longjmp with exceptions
...
Also added a EditorConfig file
2015-04-24 15:03:59 +02:00
MageKing17
83414b238d
Remove required_string_3() and required_string_4().
...
Replaced with usage of required_string_one_of(). (required_string_either() not removed due to different behavior.)
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11321 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-23 12:09:06 +10:00
MageKing17
a233f62afb
Remove some redundant code in parselo.cpp.
...
7 cases in stuff_string() (both versions) were using identical code. Consolidated into one branch for clarity.
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11320 387891d4-d844-0410-90c0-e4c51a9137d3
2015-04-23 12:08:31 +10:00
The_E
0808c3459f
If a text file to be read by the engine is in Unicode, abort. Could be something important we're missing.
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11288 387891d4-d844-0410-90c0-e4c51a9137d3
2015-03-22 13:04:55 +10:00
Goober5000
87e8170268
add optional_string_one_of, which is useful to have
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11211 387891d4-d844-0410-90c0-e4c51a9137d3
2015-01-14 17:29:43 +10:00
Goober5000
f7353121e6
m!m's fix for Mantis #3131 : contrary to the xt change from r11138, NULL is only returned on vm_malloc failure (so should never happen in normal execution)
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11179 387891d4-d844-0410-90c0-e4c51a9137d3
2014-11-25 19:15:56 +10:00
niffiwan
866667a977
Fix mantis 3126 (from MageKing17)
...
Remove limit of 32 tbms being loaded for any given table type
2014-10-24 19:35:47 +10:00
Goober5000
dff2156c18
xt branch: more string safety
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11138 387891d4-d844-0410-90c0-e4c51a9137d3
2014-10-13 18:23:41 +10:00
Goober5000
f23a3c5843
SCP_string is useful here too
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11137 387891d4-d844-0410-90c0-e4c51a9137d3
2014-10-13 18:23:40 +10:00
Goober5000
dd353a74d8
add an Assertion about a buffer overflow vulnerability in split_str
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11037 387891d4-d844-0410-90c0-e4c51a9137d3
2014-09-09 20:37:02 +10:00
Echelon9
cba4cc9943
Fix cppcheck (performance) Prefer prefix ++/-- operators for non-primitive types.
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11015 387891d4-d844-0410-90c0-e4c51a9137d3
2014-08-23 13:05:06 +10:00
niffiwan
e6b8a433f1
Fix mantis 3097 (valgrind)
...
Don't read past the start of the string
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11009 387891d4-d844-0410-90c0-e4c51a9137d3
2014-08-23 13:05:05 +10:00
Echelon9
01df45e37e
Fix Coverity 1093613 Negative array index read in stuff_loadout_list()
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11003 387891d4-d844-0410-90c0-e4c51a9137d3
2014-08-17 18:50:11 +10:00
niffiwan
7defc6aeeb
Fix mantis 3086 (from Yarn)
...
Add special case to avoid crash from mismatched quotes in
tstrings.tbl German text
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10977 387891d4-d844-0410-90c0-e4c51a9137d3
2014-08-11 18:54:04 +10:00
niffiwan
e93c1e94b6
Fix Coverity ID 1228858 Missing varargs init or cleanup
...
In required_string_one_of(int arg_count, ...)
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10948 387891d4-d844-0410-90c0-e4c51a9137d3
2014-07-27 13:03:04 +10:00
Goober5000
469e566b20
another localization patch by Yarn: disable character remapping when the game is running in Polish
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10932 387891d4-d844-0410-90c0-e4c51a9137d3
2014-07-24 19:45:29 +10:00
The_E
a5a1a0ff3b
Patch for Mantis 3069 by MageKing17: Fixes help.tbl error reporting
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10925 387891d4-d844-0410-90c0-e4c51a9137d3
2014-07-24 19:45:28 +10:00
Goober5000
905f0999c2
Yarn's patch which allows FreeSpace fonts to support all characters that exist in both Code Page 437 and Windows-1252
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10923 387891d4-d844-0410-90c0-e4c51a9137d3
2014-07-24 19:45:27 +10:00
The_E
3eaf02c022
Fixes an unintended linebreak removal in previous commit
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10922 387891d4-d844-0410-90c0-e4c51a9137d3
2014-07-24 19:45:27 +10:00
The_E
5bff2754c2
From MageKing17: Fixes for a couple of clang warnings.
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10921 387891d4-d844-0410-90c0-e4c51a9137d3
2014-07-24 19:45:27 +10:00
Goober5000
fe4b949c06
fix Mantis #3072 (crashes when using different languages)
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10908 387891d4-d844-0410-90c0-e4c51a9137d3
2014-07-14 19:02:31 +10:00
Goober5000
2fe0ec8ef0
Yarn's patch for Mantis #3049 (character remapping in tstrings.tbl)
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10894 387891d4-d844-0410-90c0-e4c51a9137d3
2014-07-14 19:02:31 +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
8e1c4be1b6
quotes can span multiple lines as well, so let's keep track of that flag (fixes Mantis #3001 )
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10753 387891d4-d844-0410-90c0-e4c51a9137d3
2014-06-06 16:51:17 +10:00
Goober5000
ff675c3653
New method of handling quotes and comments that examines lines character by character like most languages do, instead of just searching for the start of a comment. If a comment character is inside a quoted string, it will not kick off a new comment. (This actually fixes the core design flaw that caused semicolons to truncate messages, so the $semicolon tag is technically no longer necessary. It will still be kept, of course.) Fixes Mantis #3001 .
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10492 387891d4-d844-0410-90c0-e4c51a9137d3
2014-03-14 19:50:32 +10:00
Goober5000
0eb5606527
the #define already has a (char)
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10491 387891d4-d844-0410-90c0-e4c51a9137d3
2014-03-14 19:50:31 +10:00
niffiwan
7d846defa5
Coverity 110733[01]: Negative array index read in get_string_or_variable()
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10218 387891d4-d844-0410-90c0-e4c51a9137d3
2013-12-15 12:23:02 +10:00
Goober5000
f3c902c39b
add wing_bash_ship_name, which handles the hash symbol thing, accommodates Blue Planet's capship trick, and works in FRED and while we're at it, do a little bit of const'ing
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10198 387891d4-d844-0410-90c0-e4c51a9137d3
2013-12-08 19:52:57 +10:00
niffiwan
f301cefe2c
redo r9978 with BUF-1 instead of x[BUF+1]
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9994 387891d4-d844-0410-90c0-e4c51a9137d3
2013-10-31 19:25:03 +10:00
niffiwan
f5757f8591
Coverity 1093664: Out-of-bounds write
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9978 387891d4-d844-0410-90c0-e4c51a9137d3
2013-10-27 13:51:49 +10:00
niffiwan
0e561c822a
Coverity 1093500: Missing break in switch
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9977 387891d4-d844-0410-90c0-e4c51a9137d3
2013-10-27 13:51:49 +10:00
Goober5000
bce047db1e
fix handling of multi-line comments, and add !* and *! as a possible option
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9945 387891d4-d844-0410-90c0-e4c51a9137d3
2013-10-16 19:46:02 +10:00
Goober5000
69e1d4e36b
the adjustment should be fixed this way, since most people don't count from 0 to n-1
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9846 387891d4-d844-0410-90c0-e4c51a9137d3
2013-09-29 22:12:22 +10:00
The_E
52381d05db
Small adjustment to the error message here to minimize confusion
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9844 387891d4-d844-0410-90c0-e4c51a9137d3
2013-09-29 22:12:22 +10:00
The_E
16e60920cf
Changes an Assert to an Assertion in order to provide better feedback in case stuff_int_list fails due to too many entries in the passed list of integers
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9843 387891d4-d844-0410-90c0-e4c51a9137d3
2013-09-29 22:12:22 +10:00
Goober5000
8cf10e86f8
remove Bobboau's "better error messages" which were never fully implemented and are more distracting than helpful
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9802 387891d4-d844-0410-90c0-e4c51a9137d3
2013-09-20 19:46:41 +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
Goober5000
3550b720cb
remove requirement that game_settings.tbl should specify a campaign filename with an extension
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9771 387891d4-d844-0410-90c0-e4c51a9137d3
2013-09-13 20:18:31 +10:00
Goober5000
8926a4de06
Yarn's patch to make version checking work correctly
...
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9640 387891d4-d844-0410-90c0-e4c51a9137d3
2013-06-11 19:22:14 +10:00
Goober5000
2e2c1afe38
there is actually a way to check for extra sound values per Mantis #2048 , and here it is
2012-12-17 05:54:18 +00:00