Commit Graph

34 Commits

Author SHA1 Message Date
Lioncash 0d2b2f45a8 CStringExtras: Prevent potential out of bounds reads with CompareCaseInsensitive
The strcasecmp and _stricmp functions expect the passed in strings to
be null-terminated, however we we're also exposing a std::string_view
overload for that function. std::string_view instances aren't required
to be null-terminated, so this makes the interface a little unsafe.

We can use std::lexicographical_compare() to provide the same behavior
and also properly handle the case of non-null-terminated strings.
2019-09-14 16:43:04 -04:00
Lioncash f9079f0215 Runtime: Make use of std::make_unique where applicable
Makes use of the C++14 make_unique allocation function to allocate class
instances where applicable instead of a reset with a new operator within
it.

This doesn't touch cases where buffers are allocated, given make_unique
would zero-initialize them.
2019-09-12 04:09:48 -04:00
Lioncash d3d629d405 RuntimeCommon: Use const on member functions where applicable
Adds missing const qualifiers on class member functions that don't
modify instance state.
2019-08-14 09:25:39 -04:00
Jack Andersen 7a3da1f7a6 Massive fmtlib refactor 2019-07-19 18:27:21 -10:00
Jack Andersen 636c82a568 New code style refactor 2018-12-07 19:30:43 -10:00
Phillip Stephens 8b25548482 Various bug fixes, implement `CMain::WarpTo` 2018-09-20 20:41:57 -07:00
Phillip Stephens 56a48cd624 Initial DNAMP3 fixes various missing loader imps 2018-07-08 16:03:35 -07:00
Jack Andersen 21505e46ce CLineRenderer fixes 2017-11-15 17:24:20 -10:00
Jack Andersen 2df95c01cf General resource handling bug fixes 2017-11-14 18:12:13 -10:00
Jack Andersen f7ec7bdc0c string_view refactor 2017-11-12 20:19:18 -10:00
Jack Andersen 8df8b99fb1 Iterator and MSVC fixes 2017-11-06 22:08:26 -10:00
Phillip Stephens 44df36d64a CGameArea imps 2017-11-04 19:08:05 -07:00
Jack Andersen bb10aa9844 CResFactory bug fixes 2017-10-27 21:08:48 -10:00
Jack Andersen 2f4cddd3d2 Lots of CResFactory fixes 2017-10-27 00:10:32 -10:00
Jack Andersen 8346f56595 Finish CResFactory; better smart-pointer use for resources 2017-10-26 00:09:51 -10:00
Jack Andersen 7c3fb4174f Finish CPakFile and CResLoader 2017-10-25 19:37:46 -10:00
Phillip Stephens 870e8c80ee Refactor ResId into CAssetId 2017-08-12 22:26:14 -07:00
Jack Andersen 28b1b38a67 Lots of work on CAutoMapper 2017-04-14 19:32:25 -10:00
Jack Andersen b8613d61f8 Tons of save-related fixes 2017-02-07 20:48:43 -10:00
Phillip Stephens 777419ad4e Remove IAllocator, CMemory and CGameAllocator 2016-12-23 22:08:48 -08:00
Jack Andersen 9b6ab93ae5 Remove unnecessary and RVO-detrimental moves 2016-10-02 18:39:31 -10:00
Jack Andersen 0aaeed2aeb const_cast refactor 2016-08-28 18:22:54 -10:00
Jack Andersen abff623cf6 Prep MP1::CMain for testing 2016-04-15 10:42:40 -10:00
Jack Andersen 8608b52774 CModelData imps 2016-04-14 11:42:47 -10:00
Jack Andersen 6e160560fa CMoviePlayer initial implementation 2016-03-06 17:12:32 -10:00
Jack Andersen 783fb4c4fe Humungous refactor 2016-03-04 13:04:53 -10:00
Phillip Stephens af69c9d3ab Rename namespaces 2016-02-13 01:02:47 -08:00
Jack Andersen e423db32ee Major scoped-enum refactor 2015-11-20 15:16:07 -10:00
Phillip Stephens 1e55a59568 Rename base DvdRequest class to IDvdRequest
Add CAi stubs
2015-10-29 00:52:15 -07:00
Jack Andersen d1faf4e72d Windows refactors 2015-08-30 17:44:42 -10:00
Jack Andersen ce42cdd3be various input class implementations 2015-08-27 14:11:31 -10:00
Jack Andersen acb3c549f5 IOWinManager implementation optimizations 2015-08-25 20:38:45 -10:00
Jack Andersen e9de110cee All CResLoader methods in-place 2015-08-23 13:58:07 -10:00
Jack Andersen f3b5b9f49a various implementation 2015-08-22 20:42:29 -10:00