Commit Graph

50 Commits

Author SHA1 Message Date
Max
7710cfba59 Fix decompression logic... 2022-12-21 13:06:37 -06:00
Max
1a86e670ca Catch up, several fixes and QoL. 2022-12-16 14:22:34 -06:00
Max
619b89d2a9 Correct UniqueId/FontFace implementations. 2022-10-12 21:19:43 -05:00
Max
f2d751a4c9 Corrected UniqueId implementation.
Thanks @Anaminus!
2022-04-24 22:28:42 -05:00
Max
f8c914dd0b 0.522.0.5220281 (+ Font Type Support & Bug Fixes) 2022-04-14 20:52:05 -05:00
Max
034799a4de 0.513.0.5130420 + UniqueId
Caught up with latest API changes and implemented UniqueId.
2022-02-10 15:22:44 -06:00
Max
558ed05d1b MASSIVELY cleaned up package dependencies.
Stopped using Costura.Fody 5.0.0+ versions since they force an obnoxious amount of package dependencies. Project should be a lot more light-weight now.
2021-11-18 12:03:22 -06:00
Max
3355c44190 Add ScriptDebugger 2021-08-09 12:22:26 -05:00
Max
f421743b08 Use explicit Optional<T> type for OptionalCFrame. 2021-05-05 13:06:20 -05:00
Max
2e02c2e7ef Fixed some encoding errors. 2021-05-04 19:45:00 -05:00
Max
009d84f49f 0.476.0.421371 2021-05-01 17:40:09 -05:00
Max
81d901cbcd small whitespace cleanup 2021-02-22 11:47:30 -06:00
Max
b352e2568d Light maintenance 2021-02-18 13:15:08 -06:00
CloneTrooper1019
1acb895eaf 0.462.0.416719 2021-01-20 14:45:58 -06:00
CloneTrooper1019
988469ac04 0.454.0.413308 2020-10-30 15:07:11 -05:00
CloneTrooper1019
d1535c9a15 Small enhancements introduced from Rbx2Source migration. 2020-09-21 13:29:31 -05:00
CloneTrooper1019
2a114e70b0 Code Analysis feedback tweaks. 2020-09-14 11:20:34 -05:00
CloneTrooper1019
8bcc5a9dfa Bug fixes, debug tools for binary chunks. 2020-09-10 00:08:12 -05:00
CloneTrooper1019
1314be22bb Patched fatal flaw with property setter.
Turns out the property setter was failing to cover inheritance, so referent properties were being corrupted in the process. This should now be fixed.

I've also deprecated IsA<T>() in favor of using C#'s own `is` operator and stopped locking the parent of service classes to avoid saving issues.
2020-08-21 10:31:12 -05:00
CloneTrooper1019
2ff5d82218 More tweaks after pen-testing. 2020-08-20 02:03:05 -05:00
CloneTrooper1019
f4899b4ce6 General Misc Patches 2020-08-17 20:12:24 -05:00
CloneTrooper1019
297426bdb5 Optimizations and memory leak fixes 2020-08-17 00:33:59 -05:00
CloneTrooper1019
57fd3f8a25 Brought spec up to date, improvements to stability 2020-07-12 20:19:30 -05:00
CloneTrooper1019
e14b092aa7 Added read support for Instance Attributes.
This isn't 100% finished yet. I intend to add some better API for reading specific attributes, as well as write support (of course!)
2019-10-31 21:40:31 -05:00
Max G
506502a732
Small adjustments to BinaryRobloxFileWriter 2019-07-08 12:03:44 -05:00
Max G
b8a5971f18
Small tweak. 2019-07-07 10:27:07 -05:00
CloneTrooper1019
4e1fdc0a22 Bug fixes and improvements.
- Fixed an issue pertaining to implicit value casting in the property
reflection.
- Removed some unnecessary generated whitespace in the class data.
- Added some missing properties to the generated class data.
- Moved the Quaternion type into the DataTypes namespace.
2019-07-03 09:48:05 -05:00
CloneTrooper1019
de8df15d3f Large scale refactor to add class support!
Instance classes are now strongly typed with real property fields that
are derived from the JSON API Dump! This required a lot of reworking
across the board:

- Classes and Enums are auto-generated in the 'Generated' folder now.
This is done using a custom built-in plugin, which can be found in
the Plugins folder of this project.
- Property objects are now tied to .NET's reflection system. Reading
and writing from them will try to redirect into a field of the
Instance they are bound to.
- Property types that were loosely defined now have proper data types
(such as Color3uint8, Content, ProtectedString, SharedString, etc)
- Fixed an error with the CFrame directional vectors.
- The binary PRNT chunk now writes instances in child->parent order.
- Enums are now generated correctly, with up-to-date values.
- INST chunks are now referred to as 'Classes' instead of 'Types'.
- Unary operator added to Vector2 and Vector3.
- CollectionService tags can now be manipulated per-instance using
the Instance.Tags member.
- The Instance.Archivable property now works correctly.
- XML files now save/load metadata correctly.
- Cleaned up the property tokens directory.

I probably missed a few things, but that's a general overview of
everything that changed.
2019-06-30 17:01:19 -05:00
Max G
8e01f33d6b
Updated TypeId to be writable
This makes the reader function a tiny bit cleaner.
2019-06-18 15:49:41 -05:00
CloneTrooper1019
41c84dc49c Fixed some binary file save problems. 2019-06-10 20:28:15 -05:00
Max G
5b85043194
Cleaned up a minor thing. 2019-06-08 00:18:00 -05:00
CloneTrooper1019
47112242e7 Added write support for binary files!
Holy cow, this took a lot of work. I think I may need to do a few more
things before I consider this a 1.0 release, but I'm glad to have
finally overcome this hurdle!
2019-06-07 22:43:28 -05:00
CloneTrooper1019
9c3a673d95 Cleaning up some things. 2019-05-18 23:44:51 -05:00
CloneTrooper1019
34642f5656 Added support for saving XML files!
Support for binary files will be coming later.
2019-05-17 07:08:06 -05:00
CloneTrooper1019
45a84e34d0 Added support for SharedStrings and SSTR chunk type 2019-05-17 01:14:04 -05:00
Max G
32e80bdd9a
Color3 tables should use PascalCase 2019-03-31 02:07:15 -05:00
Max G
2e2815c1f0
Fixed enum property handler. 2019-02-27 01:50:23 -06:00
Max G
8d80fb72f7
Updated to reflect changes from BinaryReader.cs 2019-02-27 00:40:11 -06:00
Max G
d8faa0d842
Revert. 2019-02-27 00:37:37 -06:00
Max G
5d86c8d780
Updated to reflect changes from BinaryReader.ca 2019-02-27 00:35:20 -06:00
Max G
e49222cf00
Adjusted terminology, added some documentation. 2019-02-27 00:32:16 -06:00
Max G
f80d6942cc
Consistency adjustments 2019-02-24 21:17:53 -06:00
CloneTrooper1019
2be61916de Fixed some bugs, generally refining stuff. 2019-02-04 13:30:33 -06:00
CloneTrooper1019
f7184eb8f8 Convert datatypes to classes instead of structs. 2019-02-01 12:40:39 -06:00
CloneTrooper1019
795018e243 Switch root namespace to "RobloxFiles"
In case there are any future libraries written for Roblox in C#, I want to avoid running into any namespace collisions. Its best to keep everything pertaining to this project nested in its own unique namespace.
2019-02-01 11:19:20 -06:00
Max G
e3408b8307
Switch Reserved from int to byte[] 2019-01-31 04:53:28 -06:00
CloneTrooper1019
50561460ac Add support for XML files.
XML support is now implemented and should generally be working!
This library should be useable now, but I still need to set it up to
work as a NuGet package.
If there are any bugs, let me know!
2019-01-30 00:36:56 -06:00
Max G
5319ae72f9
Fixed an error with the CFrame orientation. 2019-01-29 04:25:33 -06:00
CloneTrooper1019
08c5032ca8 Generally working out the library's flow.
I've setup a system for supporting multiple implementations for Roblox's
file format. This will allow me to cover the binary format and xml
format under the same general-purpose object.

Haven't done much with the XML format yet, but I've been making some
adjustments to the binary format implementation so that its more evenly
branched out and doesn't retain more information than it needs to. I've
also fixed some issues with the data-types, and documented the Instance
object.
2019-01-29 03:50:55 -06:00
CloneTrooper1019
9cfd5b2211 Initial commit.
There's a lot of code at play here, so I haven't tested it yet.
A good chunk of the components are available though.
2019-01-25 18:39:37 -06:00