Commit graph

86 commits

Author SHA1 Message Date
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
mykola2312
bc339d57a6 implemented ESH encoding, but found out there was a critical bug in WriteStream. Needs to be fixed ASAP 2023-08-31 11:15:50 +03:00
mykola2312
c69ae933c0 implement full decoding of ESH values 2023-08-31 10:32:24 +03:00
mykola2312
1339b4da9e implement more ESH types 2023-08-31 09:43:45 +03:00
mykola2312
344ec241e7 add some ESH types to enum 2023-08-31 09:17:53 +03:00
mykola2312
71de729437 update on format 2023-08-31 08:53:40 +03:00
mykola2312
e03785e045 update on ESH data types 2023-08-31 08:36:24 +03:00
mykola2312
561e4a4dd3 some discoveries about ESH data types 2023-08-31 06:54:57 +03:00
mykola2312
628010e6c2 implement ESH 2023-08-31 00:17:20 +03:00
mykola2312
7ac969aff4 implement SSG (though it's unknown) 2023-08-30 23:57:03 +03:00
mykola2312
6597063d7c World::encode now uses ReadStream 2023-08-30 22:45:21 +03:00
mykola2312
2868f90a77 SGD decoding and encoding fully implemented and tested 2023-08-30 21:58:38 +03:00
mykola2312
3765844efb fix bug in read_bytes 2023-08-30 21:36:05 +03:00
mykola2312
cc8a49f8da fix bug in read_bytes 2023-08-30 21:36:03 +03:00
mykola2312
ee124abf64 implement encode for SGD 2023-08-30 21:30:56 +03:00
mykola2312
a52aed8934 start implementing SGD 2023-08-30 20:57:05 +03:00
mykola2312
236bf7fdca Tag now uses streamed read/write 2023-08-30 01:44:52 +03:00
mykola2312
4a60850712 implement WriteStream 2023-08-30 01:36:27 +03:00
mykola2312
69aa2ded18 update on sgd: found out that unk1 was actually a number of dialog lines 2023-08-30 00:36:15 +03:00
Микола
d2a9a9394b add license 2023-08-30 00:32:49 +03:00
mykola2312
a978269cd5 add README.md 2023-08-30 00:30:10 +03:00
mykola2312
26c99c529d test ReadStream with SGD decoding 2023-08-29 23:26:24 +03:00
mykola2312
aa0990e472 add visibility in impl ReadStream 2023-08-29 23:08:53 +03:00
mykola2312
36a6140ca9 implement ReadStream 2023-08-29 23:08:04 +03:00