30 Commits

Author SHA1 Message Date
a98c971306 Added some more overrides. 2021-04-28 20:03:58 +01:00
64c7d09b4b Added AddrSignedLo and AddrSignedHi label functions. 2021-04-28 19:40:37 +01:00
a5beaa479d Turned all heuristically found data locations used in the overrides to known data. 2021-04-28 16:48:34 +01:00
cd6f64cb34 Updated parse::line to support label functions.
Fixed single-argument "nop" not being parsed.
2021-04-28 15:25:56 +01:00
cb07f9cd60 Added better instruction argument override.
Added more instruction argument overrides.
2021-04-27 19:58:41 +01:00
e5fae97779 `Added overriding for certain positions. 2021-04-27 19:15:04 +01:00
23c98ecd47 nop now doesn't have any arguments if only 1 nop exists.
Renamed and added some data / functions.
2021-04-27 17:48:06 +01:00
c25f1f2092 Moved some foreign data from game to foreign. 2021-04-20 02:38:43 +01:00
cceddaaa1e Added some more data related to a currently wip function. 2021-04-19 05:09:52 +01:00
76a76439b7 Fixed major bug in range_disjoint.
Added some more data and functions.
2021-04-19 03:12:52 +01:00
6c2de4fd80 Renamed function table's comments to inline comments and added block comments.
Found some of C's standard library functions.
Added random functions found.
`dcb-decompiler` will now properly align inline comments.
2021-04-18 23:12:32 +01:00
b41bd32fbd Renamed known_* to game_* and split game_data into foreign_data.
Renamed `Found` to `DataKind`.
2021-04-06 18:54:12 +01:00
de384d3bbf Added drv-extractor bin.
Made all functions that take a reader take it by mutable reference.
2021-01-23 22:34:32 +00:00
2a1ed4c1eb Started documentation on filesystem. 2021-01-16 21:54:36 +00:00
62ab28982b Fixed some wrong data in known_data. 2021-01-16 16:51:47 +00:00
87bdcbaf19 Fixed some data being at wrong addresses. 2021-01-16 16:10:55 +00:00
72986f9ced Added all found A, B and C functions. 2021-01-15 00:00:46 +00:00
ab7a0903c3 Functions and data now have # prefixes and suffixes.
Function labels cannot be equal to it's starting position now.
2021-01-14 22:48:03 +00:00
92995bc62e Added new Marker type. 2021-01-14 16:46:05 +00:00
f56ef6b136 Made Data fully immutable and removed it's *Eq impl.
Moved `DataTable::search_instruction` to `Data`.
Completely revised `DataTable`'s implementation.
Fixed duplicate and mis-typed data in `known_data`.
2021-01-14 16:22:07 +00:00
25c32f977c Function table heuristics now take the known data table for filtering.
`Directive::decode_with_data` now returns a `Result`.
Fixed `DataType` not rounding strings to the next word.
`Data` now sorts by smallest first in case positions are equal.
Fixed `get_containing` in `DataTable` and added `get_starting_at`.
2021-01-13 22:33:10 +00:00
29643a72db Removed custom implementation of DataType.
Removed `DataType::AsciiChar` and added `DataType::AsciiStr`.
`inst::Inst::decode` now takes a data and func table.
2021-01-12 15:19:07 +00:00
c04eb2245a Changed all Encodable::encode impl declarations to be consistent. 2021-01-09 15:57:11 +00:00
38ea8db1db Split dcb into dcb-io, dcb-exe, dcb-util and dcb.
Also worked on `dcb-exe` slightly, but still not fully supported.
2020-11-11 17:56:37 +00:00
e62561f228 Discovered some extra functions and data relating to start and main_loop. 2020-11-01 17:14:43 +00:00
03d0b3425f Function comments & labels are now sorted ascending. 2020-11-01 05:54:02 +00:00
06f67c4cf0 Data and DataTable now acknowledge stacked / 'specialized' data locations.
Improved replacement of addresses with their labels somewhat.
Grealy extended the known data locations with hardware locations.
2020-11-01 05:51:55 +00:00
6f70c110c4 Data, DataTable, Func and FuncTable now just use String instead of providing a S: AsRef<str> generic.
Fixed `Pos` not decoding normal integers correctly.
Unwrapper all string-encoded hex values to simply hex values.
`Func` and `Data` now have some fields defaulted.
2020-11-01 04:28:38 +00:00
21c2019713 Modified DataTable and FuncTable to dynamically load the known functions instead of describing them in code.
Removed unecessary dependencies for `dcb` and `dcb-tools`.
`dcb::game::exe::Pos` is now deserialized properly as a hex-string.
2020-11-01 04:01:11 +00:00
402a653442 Now not ignoring certain utilities in resources/. 2020-10-21 01:29:50 +01:00