You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The original cpp-libawd was created by other developers, that are no longer active on this project.
I have given my best to expand the cpp-libawd to include more awd features, but I never gotten comfortable with some of the coding-style used, so i am going to make a big refactor, to be able to comfortable be working on this.
Here is a overview over features and coding-style i like to introduce for next version cpp-libawd 3.0.
For the AwayExtensionsFlashPro, I already have a modified version of the cpp-libawd.
A big reason for the refactor of libawd is to get back to one version that can be used both for AwayExtensionsFlashPro3dsmax and AwayExtensionsFlashPro.
List of features that the new cpp-libawd should support:
cross platform compatible
support export and import all AWD3.0 features.
support export and import of AWDProjects (AWD-files that share assets)
helper functions:
create texture-atlas
convert color-materials to texture-materials (printing colors into texture-atlas)
merge meshes (incl create texture-atlas and maintain animations)
reduce joint-per-vert for skinning data
remove unneeded bones from skeleton
better helpers for file-handling and path-manipulation
better geometry-utility, that allow to easily create AWDSubgeometries with custom streams
well documented code (documentation created with doxygen).
Coding style / Design-Descisions:
General: Keep in mind that the cpp-awdlib should be easily portable to python.
Strings: At the moment the cpp-libawd handles all strings as char-pointers. I do not like char-pointers, when there is something available like std::string. Most occurrences of char-pointer will be replaced with std::string.
Namespace: To provide name-clashes with other libraries, the complete code will be placed into the namespace “AWD”. [edit:]Besides the AWD namespace, functions, types and classes will be grouped by "sub-namespaces" that are all inside the AWD-namespace.
Lists: The cpp-libawd makes no use of std::vector. Instead c-style lists are used. Many c-style lists will be replaced with std::vector.
GeometryUtil: in the new version, the user will no longer need to access the geometyUtil directly. We will now feed the AWDGeometry with the data, and than call AWDGeometry.process().
Sources: Code will be distribute over more files, because this will make working on the cpp-awdlib easier.
Type-casting: The cpp-libawd often needs to cast a AWDBlock into a class derived from AWDBlock. At the moment it uses c-style casting for this. This will be replaced with cpp-style casting (dynamic_cast<>)
Comments on this decisions are highly appreciated.
The text was updated successfully, but these errors were encountered:
Hey again
Ye. cross platform is one of my main concerns. Right now, i can only test on windows, but i am thinking about buying some mac-stuff. The AwayExtensionFlashPro already is working cross-platform (using a modified version of libAWD), so i think (better: hope) that the changes i am making right now will work cross platform.
+1 for the utility for converting coordinate systems, but for now i will not have time to include this extra feature. Its definitive something i want to see in future, and i will keep it in mind.
For help on specific features:
I would be glad for help, but i think it will need to wait until i got the base-structure for the libawd all setup. I am doing a lot of comments with more or less detailed todo-instructions right now, so maybe once i pushed the update, you can have a look at the source and maybe you find something where you think you will be able to jump in.
I only have one draft AWD3 -specs. This draft is specific for the new features that are added for flash-pro export.
The draft is not 100% up to date. The final specification for AWD3 will be included in the doxygen-generated documentation. AWD3 Specs
best copy-paste the content of AWD.md in any markdown editor/reader.
Refactor cpp-libawd
The original cpp-libawd was created by other developers, that are no longer active on this project.
I have given my best to expand the cpp-libawd to include more awd features, but I never gotten comfortable with some of the coding-style used, so i am going to make a big refactor, to be able to comfortable be working on this.
Here is a overview over features and coding-style i like to introduce for next version cpp-libawd 3.0.
For the AwayExtensionsFlashPro, I already have a modified version of the cpp-libawd.
cpp-libawd in AwayExtensionsFlashPro
A big reason for the refactor of libawd is to get back to one version that can be used both for AwayExtensionsFlashPro3dsmax and AwayExtensionsFlashPro.
List of features that the new cpp-libawd should support:
Coding style / Design-Descisions:
Comments on this decisions are highly appreciated.
The text was updated successfully, but these errors were encountered: