summaryrefslogtreecommitdiffstats
path: root/src/core/file_sys/ips_layer.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* ips_layer: Eliminate a redundant copy in Parse()Lioncash2020-09-221-2/+4
| | | | Prevents unnecessary copying of the line being parsed.
* Merge pull request #2581 from lioncash/hexZach Hilman2019-06-151-1/+1
|\ | | | | common/hex_util: Combine HexVectorToString() and HexArrayToString()
| * common/hex_util: Combine HexVectorToString() and HexArrayToString()Lioncash2019-06-121-1/+1
| | | | | | | | | | | | These can be generified together by using a concept type to designate them. This also has the benefit of not making copies of potentially very large arrays.
* | file_sys/ips_layer: Remove unnecessary reserve() callLioncash2019-06-131-1/+0
|/ | | | | | Given 'replace' is assigned to on the following line, this isn't necessary, given the underlying data is going to be overwritten entirely.
* global: Use std::optional instead of boost::optional (#1578)Frederic L2018-10-301-2/+2
| | | | | | | | | | | | | | | | * get rid of boost::optional * Remove optional references * Use std::reference_wrapper for optional references * Fix clang format * Fix clang format part 2 * Adressed feedback * Fix clang format and MacOS build
* ips_layer: Use rle_size instead of data_size in RLE patch applicationZach Hilman2018-10-251-1/+1
| | | | Prevents a potential bug when using RLE records in an IPS patch.
* Merge pull request #1461 from lioncash/warnbunnei2018-10-101-3/+3
|\ | | | | ips_layer: Silence truncation and conversion warnings
| * ips_layer: Silence truncation and conversion warningsLioncash2018-10-091-3/+3
| | | | | | | | Makes type conversions explicit to avoid compiler warnings.
* | ips_layer: Avoid constructing std::vector instances where not necessaryLioncash2018-10-091-6/+25
| | | | | | | | | | | | We can just compare the existing std::vector instance with a constexpr std::array containing the desired match. This is lighter resource-wise, as we don't need to allocate on the heap.
* | ips_layer: Remove unnecessary explicit std::pair constructor in std::arrayLioncash2018-10-091-5/+13
| | | | | | | | | | Makes the layout of the array consistent, by making all elements match, instead of special-casing the first one.
* | ips_layer: Add missing includesLioncash2018-10-091-1/+12
| | | | | | | | | | | | Adds missing includes to prevent potential compilation issues in the future. Also moves the definition of a struct into the cpp file, so that some includes don't need to be introduced within the header.
* | ips_layer: std::move data within PatchIPS() and Apply()Lioncash2018-10-091-2/+5
|/ | | | | We don't need to make a copy of the read data, so we can std::move it into the make_shared call here.
* ips_layer: Fix inaccuracies with comments and flagsZach Hilman2018-10-041-15/+49
| | | Specifically bugs/crashes that arise when putting them in positions that are legal but not typical, such as midline, between patch data, or between patch records.
* ips_layer: Deduplicate resource usageZach Hilman2018-10-041-23/+25
|
* ips_layer: Add support for escape sequences and midline commentsZach Hilman2018-10-041-7/+38
| | | | More accurately follows IPSwitch specification.
* ips_layer: Add IPSwitchCompiler to process IPSwitch formatZach Hilman2018-10-041-0/+142
|
* file_sys: Implement function to apply IPS patchesZach Hilman2018-10-011-0/+88