Commit graph

55 commits

Author SHA1 Message Date
Kp 88c740b3a5 Record briefing without modification 2015-01-18 01:58:31 +00:00
Kp 43abfdf431 Split set_briefing_filename 2015-01-18 01:58:31 +00:00
Kp e9e69a1a1a Use ntstring copy_if in set_briefing_filename 2015-01-18 01:58:30 +00:00
Kp f7815810e8 Use RAIIPHYSFS_File to manage PHYSFS_File
Fixes a few leaks on error paths.
2015-01-17 18:31:42 +00:00
Kp 68d705a85a Use bool conversion to test PHYSFS_File pointer 2015-01-17 18:31:42 +00:00
Kp d443e28147 Reuse mle_path as Mission_path 2015-01-15 04:30:03 +00:00
Kp b175c944ef Simplify mle_path 2015-01-14 02:26:20 +00:00
Kp ea3c789f64 Fix Windows build break due to strchr losing const
Mingw32 headers and Apple libc++ both strip const from strchr.  Store
the result into a const char* to restore const to the pointer.
2015-01-14 02:26:20 +00:00
Kp 24bdbfb933 Move mle path carefully 2015-01-13 04:19:42 +00:00
Kp 1c4c33513b Copy secret level name without modification 2015-01-12 00:26:03 +00:00
Kp ddc40a6634 Copy level name without modification 2015-01-12 00:26:03 +00:00
Kp b6a3735f53 Add convenience d_strnicmp for literal right side 2015-01-12 00:26:03 +00:00
Kp 5402e8c546 Add unchecked_partial_range for ranges without end 2015-01-11 05:08:30 +00:00
Kp ac1340e3c9 Use ntstring for mission_name 2014-12-22 04:35:48 +00:00
Kp 1344fb2779 Fix crash choosing jukebox directory
newmenu_listbox1 returns immediately
2014-12-22 04:35:47 +00:00
Kp 2766114959 Make PHYSFSX_gets_line_t::line_t be array<> 2014-12-20 04:36:10 +00:00
Kp 7c24f6896f Stop briefing search on dot or null
Mission names are passed in without an extension.  Short mission names
read beyond the end of the buffer, causing AddressSanitizer to kill the
program.

Reported by btb: https://github.com/dxx-rebirth/dxx-rebirth/issues/20
2014-12-08 03:54:11 +00:00
Kp 73b0a016a8 Fix loading robots-?.mvl
Rework movie loading to fix loading built-in robot movies.  The previous
code always ignored loading the last entry in the movie array, which was
blank until 18f6919b33.  The last entry
was unused after d38a3d1362, so it was
removed, which caused the code to skip the robots entry.

Commit d38a3d1362 broke unloading add-on
movies by removing the strcpy which saved their name.  Add code to save
the name to extra_robot_movie_mission and call it when switching
missions.

Reported by btb: https://github.com/dxx-rebirth/dxx-rebirth/pull/17
2014-12-06 17:56:56 +00:00
Kp f206b3b127 Reduce inclusion of object.h 2014-11-23 04:36:58 +00:00
Kp 82b4a078bd Fix buffer size mismatch on Win32 2014-10-19 17:17:54 +00:00
Kp a8f853aa7a Pass d_event arg by const& 2014-10-04 22:36:13 +00:00
Kp 3c199e3b91 Propagate for variables in similar/main/mission.cpp 2014-09-26 02:42:10 +00:00
Kp 703f60ac3f Fix -Wtype-limits warnings 2014-09-21 21:41:55 +00:00
Kp e8f4b20d1d Use special type for PHYSFSX_fgets 2014-09-07 20:07:20 +00:00
Kp e00224d44d Fix signature of sort predicate 2014-08-30 22:38:26 +00:00
Kp c371559007 Move mission get_parm_value::buf onto caller stack 2014-08-26 03:19:29 +00:00
Kp 94550355a8 Use make_unique instead of bare new 2014-08-24 18:28:09 +00:00
Kp fea751bc62 Use std::string for mission path 2014-08-24 17:45:30 +00:00
Kp 0e211ebe32 Use vector<> for mle[] 2014-08-24 17:41:02 +00:00
Kp ff1ce23d76 Initialize mission->filename consistently 2014-08-24 17:03:52 +00:00
Kp 3f3c3f8a33 Remove useless second sort of mission list 2014-08-24 03:46:18 +00:00
Kp 8d835f8e34 Reduce inclusion of compiler-begin.h 2014-08-24 03:36:35 +00:00
Kp e9e02355cc Fix crash on exiting game 2014-08-16 18:32:24 +00:00
Kp d945a95d47 Use std::default_delete<Mission> for Mission_ptr 2014-08-16 04:22:01 +00:00
Kp 621f947241 Switch builtin_mission_filename to d_fname 2014-08-16 04:20:48 +00:00
Kp b8ee7b23df Use std::swap in promote(mle) 2014-08-16 04:18:49 +00:00
Kp 13b233b7d7 Fix Windows build 2014-07-26 22:53:41 +00:00
Kp af912ea84d Use unique_ptr for level_names 2014-07-25 02:54:31 +00:00
Kp d1eaa1819c Use unique_ptr for secret_level_names 2014-07-25 02:54:31 +00:00
Kp 3bf30f9cf7 Use unique_ptr for secret_level_table 2014-07-25 02:54:31 +00:00
Kp 6020c9c013 Use d_fname for DOS filenames 2014-07-25 02:54:31 +00:00
Kp 79708e14f4 Use unique_ptr for alternate_ham_file 2014-07-25 01:48:36 +00:00
Kp 6826e966a7 Use unique_ptr for Current_mission 2014-07-22 23:48:23 +00:00
Kp e19d43f92f Fix crash parsing bad mission file 2014-07-22 23:48:23 +00:00
zico ad7cb106bc Changed custom D1X license to GPLv3 2014-06-01 19:55:23 +02:00
Kp 073f00974a Eliminate uses of the typedef struct X { ... } X; pattern
C++ does not require this pattern.

import re, fileinput
to = re.compile(r'^typedef struct ([a-z_A-Z]+)\s*{')
tc = re.compile(r'^}(.*?)\s*([a-z_A-Z]+);$')
osn = None
for line in fileinput.input(inplace=True):
	m = to.match(line)
	if m:
		osn = m.group(1)
		print 'struct %s\n{' % osn
		continue
	if osn:
		m = tc.match(line)
		if m:
			csn = m.group(2)
			if osn == csn:
				print '}%s;' % m.group(1)
				osn = None
				continue
			else:
				osn = None
	print line,
2013-12-28 22:48:07 +00:00
Kp 4e7e3fa0c8 Remove get_parm_value use for type=anarchy mission loader 2013-12-20 03:16:32 +00:00
Kp 38a5c03d5d Add type checking for newmenu_listbox 2013-12-17 03:58:17 +00:00
Kp 50d14ea3b0 Move ending tmp buffer onto load_mission stack 2013-12-08 18:26:20 +00:00
Kp cebd52442b Move briefing tmp buffer onto load_mission stack 2013-12-08 18:26:20 +00:00