mykola2312
|
6030fc29ce
|
implement basic CLI with clap, list-entities and find-entities
|
2023-09-09 21:41:42 +03:00 |
|
mykola2312
|
7c2fbba153
|
implemented nested ESH editing
|
2023-09-09 17:19:31 +03:00 |
|
mykola2312
|
b8d48483f1
|
impl mutable IntoIter for EntityList
|
2023-09-09 16:19:39 +03:00 |
|
mykola2312
|
5709e81df0
|
implement decoding and encoding of Modifiers (they're same as Attributes but with different ESH name)
|
2023-09-09 16:09:47 +03:00 |
|
mykola2312
|
eff42b2605
|
Overhaul: migrated from anyhow to my own FError so error handling would be much better and precise
|
2023-09-09 15:37:45 +03:00 |
|
mykola2312
|
bf5810c4d7
|
little refactor
|
2023-09-09 14:42:18 +03:00 |
|
mykola2312
|
6c78133819
|
Test with skills values. Works fine
|
2023-09-09 02:12:02 +03:00 |
|
mykola2312
|
8ecd6c1292
|
Attributes decoding and encoding fully implemented and tested!
|
2023-09-09 01:54:49 +03:00 |
|
mykola2312
|
9468475d53
|
improve code functionality
|
2023-09-09 00:25:19 +03:00 |
|
mykola2312
|
33b1915b83
|
Player attributes decoding is complete and fully working
|
2023-09-08 23:28:58 +03:00 |
|
mykola2312
|
33e9cdaa75
|
Begun implementing Attributes, have added some string tables to work with
|
2023-09-08 20:57:45 +03:00 |
|
mykola2312
|
74f70c5171
|
remove silly size param from read_ctx because Decoder doesn't require it anymore
|
2023-09-08 19:54:41 +03:00 |
|
mykola2312
|
1fdcad3548
|
ReadStream now doesn't use Raw because &[u8] is more flexible and allow read ESH binaries, + cargo fmt
|
2023-09-08 19:52:01 +03:00 |
|
mykola2312
|
06ebdc6062
|
Update on reverse-engineering of player Attributes and Modifiers
|
2023-09-08 18:07:05 +03:00 |
|
mykola2312
|
3108ad11bb
|
Add new ESH type
|
2023-09-07 18:20:52 +03:00 |
|
mykola2312
|
03dccf3d4d
|
Decoder::decode now uses ReadStream mut reference instead of raw offset size, therefore less allocations needed, because there is only one ReadStream that being passed around decoders
|
2023-09-07 16:54:35 +03:00 |
|
mykola2312
|
0c04e466af
|
the same update but for DecoderOpt
|
2023-09-07 15:43:40 +03:00 |
|
mykola2312
|
a6bfa194b9
|
HUGE PERFOMANCE UPDATE: Now Decoder::encode uses mutable ref to WriteStream to write new data, instead of creating allocation every time something needs to be encoded
|
2023-09-07 15:20:23 +03:00 |
|
mykola2312
|
d060e5ca63
|
World encoding now fully on WriteStream to write all data to construct new save file
|
2023-09-07 14:45:48 +03:00 |
|
mykola2312
|
676b7b598f
|
impl cmp<str> for FString, so comparing to other string types will be as easy as now it is. Add get_type_idx for EntityList
|
2023-09-05 00:23:59 +03:00 |
|
mykola2312
|
88003c2997
|
modify IntoIterator that now it yields (id, &Entity)
|
2023-09-05 00:17:48 +03:00 |
|
mykola2312
|
201b51e85c
|
impl IntoIterator for EntityList, so entities can be easily iterated
|
2023-09-05 00:04:54 +03:00 |
|
mykola2312
|
5f63a69c38
|
realized that ent file isn't list of entities, but a single entity, however it 100% compatible with entity_file block, so dump_to_entfile implemented to assist in reverse-engineering
|
2023-09-04 13:02:32 +03:00 |
|
mykola2312
|
b01a11f9b9
|
add convert ability for EntityList to convert from world entity_file to separate ent file. Needs to be fixed
|
2023-09-04 10:19:40 +03:00 |
|
mykola2312
|
41c513f5e9
|
add CTag for const tag definitions. + cargo fmt
|
2023-09-04 09:58:19 +03:00 |
|
mykola2312
|
43c3bd11f6
|
EntityList decoding and encoding fully implemented, working and tested
|
2023-09-04 09:26:16 +03:00 |
|
mykola2312
|
35ce0e9076
|
EntityList decoding now fully works and tested
|
2023-09-04 07:38:59 +03:00 |
|
mykola2312
|
5ea616cd44
|
implemented EntityList decoding and encoding. But decoding has some bugs that needs to be fixed
|
2023-09-04 07:14:07 +03:00 |
|
mykola2312
|
4e8cc4a5e8
|
implement EntityList decoding. May need to deal with ESH-less entities from entity_file block
|
2023-09-04 03:08:14 +03:00 |
|
mykola2312
|
6d7b9f735b
|
update on EntityList decoding
|
2023-09-04 03:03:51 +03:00 |
|
mykola2312
|
ff900bf123
|
implement basic functionality of EntityList
|
2023-09-04 02:52:18 +03:00 |
|
mykola2312
|
226b8dcfb9
|
refactor DecoderOpt to DecoderCtx because it is not optional anymore, but it is a context (which makes more sense)
|
2023-09-03 09:04:39 +03:00 |
|
mykola2312
|
122ee7bfc0
|
implement Entity decoding and encoding
|
2023-09-03 02:20:59 +03:00 |
|
mykola2312
|
28c5bf6989
|
add EntityList that will decode types and entities and manage them
|
2023-09-03 01:45:47 +03:00 |
|
mykola2312
|
9b151e509b
|
fix
|
2023-09-03 01:08:29 +03:00 |
|
mykola2312
|
93f75c583f
|
move Opt to DecodeOpt trait because not so many objects need complex decoding
|
2023-09-03 01:07:34 +03:00 |
|
mykola2312
|
1620098672
|
add GAT to Decoder Opt (so there will be lifetime), introducce EntityList which will control behavior of entity decoding/encoding and management of entities
|
2023-09-03 00:52:29 +03:00 |
|
mykola2312
|
aa4a7da90c
|
got better idea with EntityOwner trait
|
2023-09-02 23:33:30 +03:00 |
|
mykola2312
|
c4a0c6b0c5
|
fix
|
2023-09-02 21:52:43 +03:00 |
|
mykola2312
|
7f0be36c30
|
fix
|
2023-09-02 21:52:41 +03:00 |
|
mykola2312
|
b190315920
|
deny rust 2018 idioms so no hidden lifetimes - I will be able to manage lifetimes better
|
2023-09-02 21:43:20 +03:00 |
|
mykola2312
|
535bcc8b94
|
impl Entity. todo!
|
2023-09-01 15:49:03 +03:00 |
|
mykola2312
|
10fd8bb7cc
|
Decoder now has Opt type of implementing additional info that required to deal with complex decoding and add more context to result objects
|
2023-09-01 15:12:05 +03:00 |
|
mykola2312
|
c49622e2ac
|
update on entity_file: successfully able to parse all entities, therefore reverse-engineering theory is complete and proved for entity_file
|
2023-09-01 02:31:29 +03:00 |
|
mykola2312
|
ea5874594f
|
update on entity_file
|
2023-09-01 01:15:05 +03:00 |
|
mykola2312
|
d8f1ef6dbd
|
cargo fmt
|
2023-08-31 13:51:41 +03:00 |
|
mykola2312
|
4d78a5ca8b
|
implement correct Hash for FString so indexing and hash maps would be working as intended
|
2023-08-31 13:51:13 +03:00 |
|
mykola2312
|
4df2803fdb
|
implement Display, PartialEq and Borrow for FString. May need to complete it so indexing by &str would be possible
|
2023-08-31 13:46:20 +03:00 |
|
mykola2312
|
a5d44bd730
|
implement Display for ESHValue
|
2023-08-31 13:03:47 +03:00 |
|
mykola2312
|
8fe330b368
|
fixed bug wihen WriteStream::write_bytes wrote data at wrong position. ESH encoding and decoding fully implemented and tested
|
2023-08-31 12:12:33 +03:00 |
|