Commit Graph

147 Commits

Author SHA1 Message Date
d155117a7e 0.401.0.338533 2019-09-11 15:21:08 -05:00
1d692ff92d 0.398.0.332127 2019-08-22 00:07:04 -05:00
ee510c81fb 0.397.0.329146 2019-08-14 16:02:31 -05:00
5d5da0d6f0 Add CollisionFidelity to stop output spewing
TODO: The CollisionFidelity property needs to derive from the
PhysicalConfigData.
2019-08-13 01:21:40 -05:00
f867c75d87 0.396.0.327208 2019-08-07 17:04:26 -05:00
7160fd19e5 0.395.0.324413 2019-07-31 20:57:56 -05:00
6605bf69cc 0.394.0.322464 2019-07-24 23:22:20 -05:00
3d8a32eddf 0.393.0.319623 2019-07-19 11:47:15 -05:00
3d07b70061 Create LICENSE 2019-07-15 07:53:06 -05:00
561f3b5456 0.392.0.317745 2019-07-12 15:50:50 -05:00
506502a732 Small adjustments to BinaryRobloxFileWriter 2019-07-08 12:03:44 -05:00
b8a5971f18 Small tweak. 2019-07-07 10:27:07 -05:00
cf4cf829d7 Minor fixes and tweaks. 2019-07-04 18:26:53 -05:00
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
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
8e01f33d6b Updated TypeId to be writable
This makes the reader function a tiny bit cleaner.
2019-06-18 15:49:41 -05:00
8821731aab Removed unused function. 2019-06-10 20:28:15 -05:00
41c84dc49c Fixed some binary file save problems. 2019-06-10 20:28:15 -05:00
5b85043194 Cleaned up a minor thing. 2019-06-08 00:18:00 -05:00
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
cb063d1ada Fixed some minor issues. 2019-05-25 18:45:54 -05:00
9c3a673d95 Cleaning up some things. 2019-05-18 23:44:51 -05:00
34642f5656 Added support for saving XML files!
Support for binary files will be coming later.
2019-05-17 07:08:06 -05:00
45a84e34d0 Added support for SharedStrings and SSTR chunk type 2019-05-17 01:14:04 -05:00
32e80bdd9a Color3 tables should use PascalCase 2019-03-31 02:07:15 -05:00
2e2815c1f0 Fixed enum property handler. 2019-02-27 01:50:23 -06:00
8d80fb72f7 Updated to reflect changes from BinaryReader.cs 2019-02-27 00:40:11 -06:00
d8faa0d842 Revert. 2019-02-27 00:37:37 -06:00
5d86c8d780 Updated to reflect changes from BinaryReader.ca 2019-02-27 00:35:20 -06:00
e49222cf00 Adjusted terminology, added some documentation. 2019-02-27 00:32:16 -06:00
f80d6942cc Consistency adjustments 2019-02-24 21:17:53 -06:00
47bdbeb25d ReadItem should be ReadInstance in exceptions 2019-02-04 21:39:47 -06:00
2be61916de Fixed some bugs, generally refining stuff. 2019-02-04 13:30:33 -06:00
ebd56d22a7 Restore m41 here for consistency. 2019-02-04 06:17:27 -06:00
23c222338a Added this[] overloads to Instance & RobloxFile. 2019-02-03 07:28:54 -06:00
f7184eb8f8 Convert datatypes to classes instead of structs. 2019-02-01 12:40:39 -06:00
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
4e15b2a635 Allow cleaned up NuGet packages through .gitignore
NuGet packages tend to be installed with a lot of unnecessary dependencies, but I was able to clean it up manually through the csproj file. This should allow the project to work correctly out of the box, without needing to install the lz4 package manually.
2019-02-01 10:53:01 -06:00
07380e2fb3 Use the Value of Nullable<T> for these XML properties.
I was using a `T?` result for some of these values, and forgot to take their actual value if they aren't null.
2019-02-01 10:15:55 -06:00
65f4b4329b Removed debug code from static BrickColor initializer 2019-01-31 04:58:10 -06:00
e3408b8307 Switch Reserved from int to byte[] 2019-01-31 04:53:28 -06:00
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
5319ae72f9 Fixed an error with the CFrame orientation. 2019-01-29 04:25:33 -06:00
3692d412fa Github forgot to commit this line...? 2019-01-29 03:51:24 -06:00
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
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
b4825c146f Initial commit 2019-01-25 18:36:02 -06:00