Commit graph

52 commits

Author SHA1 Message Date
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
mykola2312
584d361095 cargo fmt 2023-08-29 23:01:44 +03:00
mykola2312
b43efe1abd successful attempt to decode sgd. Realized, that I need to implement some stream reading 2023-08-29 21:39:07 +03:00
mykola2312
889e2060b3 fix get_enc_size for FString 2023-08-29 19:26:11 +03:00
mykola2312
1c1c7754d4 refactor FString a little bit 2023-08-29 08:18:16 +03:00
mykola2312
e24f67843f FString ANSI decoding/encoding 2023-08-29 08:15:41 +03:00
mykola2312
0eb6de377c make FString pub 2023-08-29 07:56:52 +03:00
mykola2312
2ac56b9f01 encode in Decoder trait now returns Result, so encoding errors will be handled 2023-08-29 07:54:49 +03:00
mykola2312
0cd80927be FString proper encoding 2023-08-29 07:51:49 +03:00
mykola2312
650cbcaaca implement FString for ANSI and WCS2 (UTF-16 1251) encodings 2023-08-29 07:10:52 +03:00
mykola2312
1b05779355 update save.rs to use super instead of crate 2023-08-29 06:01:07 +03:00
mykola2312
edfa27a8d5 migrate from "crate::" to "super::" for more flexibility 2023-08-29 05:59:50 +03:00
mykola2312
cdd6ec023e change get_enc_len to get_enc_size because "size" is more appropriate term 2023-08-29 05:48:00 +03:00
mykola2312
ecfd10adbc add get_enc_len to Decoder trait 2023-08-28 19:04:57 +03:00
mykola2312
493376a805 update notes 2023-08-28 04:50:41 +03:00
mykola2312
17df24833f update on esh format 2023-08-28 00:51:26 +03:00
mykola2312
31455d04ba update notes 2023-08-28 00:45:27 +03:00
mykola2312
0cb2c64da5 add notes on sgd block 2023-08-27 22:34:15 +03:00
mykola2312
ee3c6d9ef6 fix identation in format.txt file 2023-08-27 21:20:00 +03:00
mykola2312
15b4b87d3b world size determination is now fully implemented. now Save::load can dynamically load World 2023-08-26 23:54:29 +03:00
mykola2312
7003a764d4 world decoding and encoding is fully implemented 2023-08-26 23:11:32 +03:00
mykola2312
5a3241e071 implement tag struct for decoding tags like <world> or <saveh> 2023-08-26 21:20:34 +03:00
mykola2312
f1ee4a3d29 impl Decoder 2023-08-26 18:32:08 +03:00
mykola2312
22fee005cd implement find_str and find_str_backwards 2023-08-26 17:34:54 +03:00
mykola2312
e698b825f6 add buffered writer to assemble_file. currently working on tag search in binary 2023-08-26 16:49:55 +03:00
mykola2312
22ccc2fa26 add reverse-engineering notes 2023-08-26 16:31:00 +03:00
mykola2312
8787394a26 implement assemble_file function which assembles, or to be more accurate - patches file on the fly 2023-08-26 16:08:33 +03:00
mykola2312
5aa3b9738c organize project structure 2023-08-25 04:05:06 +03:00
mykola2312
0456c34d56 compression done. now game accepts save files 2023-08-25 01:09:32 +03:00
mykola2312
5abbeea53e push it 2023-08-22 19:44:09 +03:00
mykola2312
6f441eaf39 push it 2023-08-22 12:44:43 +03:00
mykola2312
6b202eb725 decoding (decompressing) of all worlds segment 2023-08-22 11:19:29 +03:00
mykola2312
16f0779f29 some progress in decoding. need to decode all worlds 2023-08-22 10:51:14 +03:00
mykola2312
6edd70ecf5 improve code quality. currently working on world decoding 2023-08-22 09:54:29 +03:00
mykola2312
907ea77b4b push it 2023-08-21 23:15:04 +03:00