-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
nifxml spec formalization #75
Commits on May 15, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 4034c3f - Browse repository at this point
Copy the full SHA 4034c3fView commit details
Commits on May 16, 2018
-
Configuration menu - View commit details
-
Copy full SHA for b8adcdd - Browse repository at this point
Copy the full SHA b8adcddView commit details -
Configuration menu - View commit details
-
Copy full SHA for 46c95e2 - Browse repository at this point
Copy the full SHA 46c95e2View commit details -
Configuration menu - View commit details
-
Copy full SHA for e137e0c - Browse repository at this point
Copy the full SHA e137e0cView commit details -
NiPhysXScene, NiPhysXSceneDesc, NiPhysX particles
Scene/SceneDesc were relatively old and unused and also quite complex to implement so they never got ported to XML from the 010 templates. Note: Half the files that actually use Scene/SceneDesc are in Empire Earth III, which its version 20.2.0.8 behaves differently for these blocks than other 20.2.0.8 versions. The only way to tell the difference is by the file extension, which is .nifcache. This is beyond the scope of nif.xml, and so only the game files that match the version conditions of Gamebryo proper are supported.
Configuration menu - View commit details
-
Copy full SHA for c9334fe - Browse repository at this point
Copy the full SHA c9334feView commit details
Commits on May 17, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 138594e - Browse repository at this point
Copy the full SHA 138594eView commit details -
Several objects used separate center/radius when it's actually an NiBound object. This was apparent with the addition of additional data to NiBound for custom 20.3.0.9 versions for Divinity 2.
Configuration menu - View commit details
-
Copy full SHA for be3ce67 - Browse repository at this point
Copy the full SHA be3ce67View commit details -
Fixes for 20.3.0.9 custom versions
Only MdlManBinary.nif cannot be read for Divinity 2, and it appears to be some kind of rig filled with custom classes serialized to NIF. There is no desire to decode this single NIF with 10 custom classes. Also the Divinity 2 XML files that have a Gamebryo header are ignored as they appear to just contain XML strings in more custom classes.
Configuration menu - View commit details
-
Copy full SHA for fcf42db - Browse repository at this point
Copy the full SHA fcf42dbView commit details -
"union" can be a reserved keyword
In C++ and other langs, this compound member gets generated to "union" which clashes with the reserved keyword.
Configuration menu - View commit details
-
Copy full SHA for ed01a5b - Browse repository at this point
Copy the full SHA ed01a5bView commit details -
Fixes for 10.2.0.1/10.3.0.1/10.4.0.1 custom versions
Enhanced support for WorldShift. In order to not complicate the objects, I fudged the official version conditions slightly to accommodate 10.4.0.1 given that no official versions exist between 10.2 and 20.0. Aside from the new custom block, only modified the conditions that were already there.
Configuration menu - View commit details
-
Copy full SHA for af2a5b8 - Browse repository at this point
Copy the full SHA af2a5b8View commit details
Commits on May 18, 2018
-
Initial implementation for niftools#69
Made `<version>` mean distinct combination of header values which produce identical block layouts. This meant splitting up several main Versions into many based on User Version or Bethesda Version. id = Used to uniquely identify this collection of NIF versions. Can also be used for enum generation, map/dictionary keys. user = List of User Versions which are functionally equivalent bsver = List of Bethesda Versions which are functionally equivalent custom = If user/bsver are default but the Version is actually specific to a developer and not an official Gamebryo version supported = Whether or not the XML fully supports reading/writing of this version. ext = List of custom file extensions associated with this version.
Configuration menu - View commit details
-
Copy full SHA for eb4dfe6 - Browse repository at this point
Copy the full SHA eb4dfe6View commit details -
The attempt here was to exclude Bethesda from several rows on NiBoneLODController, since in the XML it inherits from NiBoneLODController for its own custom block that does not have those rows. The reasoning is actually that it does *not* inherit from NiBoneLODController in the engine, but the inheritance will stay fudged here for now.
Configuration menu - View commit details
-
Copy full SHA for cfe82da - Browse repository at this point
Copy the full SHA cfe82daView commit details -
Formalization of what makes type and member name strings valid requires the removal of non-alphanumerics with the exception of the colon.
Configuration menu - View commit details
-
Copy full SHA for 3268ab6 - Browse repository at this point
Copy the full SHA 3268ab6View commit details
Commits on May 27, 2018
-
Simplifying BSVertexData conds
They were kept separate for clarity in actual code using the enumerations; clarity that doesn't transfer over to XML which is using the raw integers. ``` (A & X) != 0 && (A & Y) != 0 && (A & Z) == 0 ``` Is the same as ``` (A & (X|Y|Z)) == (X|Y) ``` Basically != 0 you want that particular bit on the RHS of the expression, and == 0 you do not. Anything tested you put on the LHS. Also switched the order of HalfVector3/Vector3 as the larger type should come first.
Configuration menu - View commit details
-
Copy full SHA for 2f1101f - Browse repository at this point
Copy the full SHA 2f1101fView commit details -
Primary version indicators for niftools#69
A concise way of listing which versions are most important to each game. Each game should have only one set of `{{}}`. Note: In the case of Oblivion, there are two "primary" versions.. 20.0.0.4 (10) is used for KF and 20.0.0.5 is used for NIF. Thus I changed the "game name" to `{{Oblivion KF}}` for 20.0.0.4 (10).
Configuration menu - View commit details
-
Copy full SHA for 8bc5416 - Browse repository at this point
Copy the full SHA 8bc5416View commit details
Commits on May 28, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 01f2b1d - Browse repository at this point
Copy the full SHA 01f2b1dView commit details
Commits on May 31, 2018
-
Initial linting fixes for niftools#74
First batch of fixed issues detected by the new linter. Also some slight cleanup, plus an interitance fix a Bethesda particle class.
Configuration menu - View commit details
-
Copy full SHA for 08d7323 - Browse repository at this point
Copy the full SHA 08d7323View commit details -
Initial Commit for niftools#71
First-pass implementation of `since`/`until` and `versions`. Avoided nearly all Bethesda blocks for now, as they require the token system or would become absurdly repetitious.
Configuration menu - View commit details
-
Copy full SHA for 1d62f16 - Browse repository at this point
Copy the full SHA 1d62f16View commit details -
NiMesh DEM cleanup and decoding
Moved all the DEM specific stuff out of NiMesh and into compounds. Did some decoding while I was at it. There are many small customizations to other blocks for DEM, but I am not including them in this commit. Regardless, the existing XML only worked for DEM1 and now at least some DEM2 will load fully.
Configuration menu - View commit details
-
Copy full SHA for 74c1aac - Browse repository at this point
Copy the full SHA 74c1aacView commit details -
Added custom version 10.2.0.0, 1
Added V10_2_0_0__1 and scoped NiFurSpringController to it since it is a custom block only for that game.
Configuration menu - View commit details
-
Copy full SHA for 986bbc8 - Browse repository at this point
Copy the full SHA 986bbc8View commit details
Commits on Jun 1, 2018
-
[Linting] Inherited duplicates
Fixed inherited duplicate names, as well as the layout of BSTriShape for Particle emitter geometry data in SSE. Left the name for Dynamic Data as "Vertices" though it is technically just called "Dynamic Data" in engine. It contains the vertices and bitangent X for any BSDynamicTriShape, so the naming is apt.
Configuration menu - View commit details
-
Copy full SHA for 90330d0 - Browse repository at this point
Copy the full SHA 90330d0View commit details
Commits on Jun 2, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 1ee21f2 - Browse repository at this point
Copy the full SHA 1ee21f2View commit details -
Configuration menu - View commit details
-
Copy full SHA for dfaa8fc - Browse repository at this point
Copy the full SHA dfaa8fcView commit details -
[Linting] Unknown comments, descriptions
Removed redundant descriptions for unknown values, removed incorrect descriptions for previously unknown values. Any custom extension unknowns were prefixed with their relevant game. Anything that was "Unk" was changed to "Unknown" for consistency. A few inherited duplicates were also fixed in the process.
Configuration menu - View commit details
-
Copy full SHA for 437817a - Browse repository at this point
Copy the full SHA 437817aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7631ae4 - Browse repository at this point
Copy the full SHA 7631ae4View commit details -
[Linting] Inherited duplicate name from 7631ae4
Hey look at that, linting helped immediately. Too bad I forgot to lint before committing the last commit.
Configuration menu - View commit details
-
Copy full SHA for d6da9e6 - Browse repository at this point
Copy the full SHA d6da9e6View commit details
Commits on Jun 4, 2018
-
Remove ver/userver/userver2 for niftools#76
The `ver` attribute was never actually formalized and just meant as a shorcut for using both ver1/ver2 on the same version. `userver` was almost never used and `userver2` was becoming increasingly uncommon as most comparisons were switched to inequalities. To make things easier, these should just be part of the expression.
Configuration menu - View commit details
-
Copy full SHA for 513d223 - Browse repository at this point
Copy the full SHA 513d223View commit details
Commits on Jun 5, 2018
-
Initial commit for niftools#70
Tokens are grouped by name and associated with a list of attributes. Only listed attributes should be processed for tokens of that name. Order of token groups matters. Token strings can themselves include tokens, so any token group used in other tokens needs to come after.
Configuration menu - View commit details
-
Copy full SHA for 9c7061f - Browse repository at this point
Copy the full SHA 9c7061fView commit details -
Using tokens from niftools#70 it is now feasible to version the Bethesda blocks.
Configuration menu - View commit details
-
Copy full SHA for fd66c97 - Browse repository at this point
Copy the full SHA fd66c97View commit details -
Configuration menu - View commit details
-
Copy full SHA for 30010df - Browse repository at this point
Copy the full SHA 30010dfView commit details -
Configuration menu - View commit details
-
Copy full SHA for d886631 - Browse repository at this point
Copy the full SHA d886631View commit details -
Remove
cond
for type checking, addonlyT
andexcludeT
for nifto……ols#76 The `cond` attribute was being overloaded with multiple functions. Conditions should be actual expressions, using local or inherited data. Type checking inside of `cond` would also mean that you could do both in one expression, such as `cond="NiParticleSystem && Num Vertices > 0"` which doesn't make any sense. So, `onlyT` and `excludeT` were made to serve that function. Two attributes also means not having to use the unary not (!) in order negate the meaning. Existing logic can simply alias the attributes to cond if need be.
Configuration menu - View commit details
-
Copy full SHA for fe3b87c - Browse repository at this point
Copy the full SHA fe3b87cView commit details -
Rename count to countable, add
size
to basicFor niftools#76 `bool` type is something that has to be dealt with as it changes size. Also it's marked as countable which should probably be analyzed... It shouldn't be used in array counts.
Configuration menu - View commit details
-
Copy full SHA for 120f476 - Browse repository at this point
Copy the full SHA 120f476View commit details -
Configuration menu - View commit details
-
Copy full SHA for 04fe24d - Browse repository at this point
Copy the full SHA 04fe24dView commit details -
Add versions to a few Bethesda-only compounds
Follow-up to fd66c97 for niftools#70
Configuration menu - View commit details
-
Copy full SHA for f023ad3 - Browse repository at this point
Copy the full SHA f023ad3View commit details
Commits on Jun 6, 2018
-
Remove
arr3
from legacy objectWas completely unsupported and undocumented and unused by any software. Replaced with arithmetic even though the decoding is likely wrong anyway. For niftools#76
Configuration menu - View commit details
-
Copy full SHA for 29d0245 - Browse repository at this point
Copy the full SHA 29d0245View commit details -
Replaced global tokens and XML entity operators
For niftools#70 Have not decided on the non-escaped entities such as `==`, `|`, `||`, etc. yet, as at least `==` is much more readable than `#EQ#`. Replaced all Version, User Version, etc. with their global tokens. Also cleaned up NiTexturingProperty in the process.
Configuration menu - View commit details
-
Copy full SHA for 4970fcb - Browse repository at this point
Copy the full SHA 4970fcbView commit details -
Move and Rename User Version 2, change ExportInfo to BSStreamHeader
Now that any usage of `User Version 2` was actually just a `#BSVER#` token, reorganized the header information for Bethesda NIFs into the correct layout, and renamed the member to a more appropriate BS Version. The global for #BSVER# uses the member of operator `\`, but as it is a token now it is free to be used however one wishes. I split #BSSTREAMHEADER# into its own token in case the expression is ever reused (it used to be on multiple members before this reorganization). Also put `Max Filepath` into BSStreamHeader where it belonged.
Configuration menu - View commit details
-
Copy full SHA for bcd9413 - Browse repository at this point
Copy the full SHA bcd9413View commit details
Commits on Jun 7, 2018
-
For niftools#70 and niftools#76 Adopting the token syntax of the other tokens, TEMPLATE and ARG can now be treated the same as other tokens and differentiated from regular identifiers in a generic manner.
Configuration menu - View commit details
-
Copy full SHA for f23d16f - Browse repository at this point
Copy the full SHA f23d16fView commit details -
For niftools#76 Also reorganized the basic types to be in a logical order.
Configuration menu - View commit details
-
Copy full SHA for f64419a - Browse repository at this point
Copy the full SHA f64419aView commit details
Commits on Jun 8, 2018
-
Add
convertible
, splitcountable
For niftools#76 The signed integeral types were marked as countable even though they should not be used for array sizes. A negative value cannot be passed into an array size. They are still integral though, so countable was split into `countable` and `integral`. In addition, added `boolean` to designate types that can toggle the presence of another member. Also reordered items for `convertible` so that the referenced types come before the type referencing it, i.e. larger types first.
Configuration menu - View commit details
-
Copy full SHA for 1aa013d - Browse repository at this point
Copy the full SHA 1aa013dView commit details -
[Linting] Types that cannot be used as array sizes
For niftools#74 Implemented thanks to changes done in niftools#76 for differentiating integral and "countable" i.e. can be used for sizes. Marking types as boolean was also in niftools#76, yet there were no errors for this lint; all the `cond` references that were not complex expressions were already boolean types.
Configuration menu - View commit details
-
Copy full SHA for 70edce1 - Browse repository at this point
Copy the full SHA 70edce1View commit details
Commits on Jun 14, 2018
-
For niftools#70 Their use was discussed as being useful for shifting and masking values before sending as an ARG.
Configuration menu - View commit details
-
Copy full SHA for 331d2c7 - Browse repository at this point
Copy the full SHA 331d2c7View commit details -
Add
bitfield
type, remove 'Flags'For niftools#3, niftools#76 Replaces all Flags types with real enums (where there were only two options) or a new bitfield type. Bitfield mimics the bitfield syntax of C structs (Compounds), but also acts like Enum/Bitflags with the `storage` attribute in that the entire structure can simply be aliased to a basic type like `ushort`. The `type` on each Bitfield member does **NOT denote size**. Each member only takes up the bits that are defined by `width` and `pos`. The `type` information is for casting for getters and setters. That means for C structs, code generation would not use the type on each member, but the storage type instead.
Configuration menu - View commit details
-
Copy full SHA for cd1af9c - Browse repository at this point
Copy the full SHA cd1af9cView commit details
Commits on Jun 17, 2018
-
Finally added bhkPlaneShape, used once in SSE. Added bhkCylinderShape which is possible to export from the official FO4 exporter. Cleaned up much of the class descriptions and also added `binary="true"` to the padding bytes.
Configuration menu - View commit details
-
Copy full SHA for 24b6ce0 - Browse repository at this point
Copy the full SHA 24b6ce0View commit details -
Clean up and remove unnecessary XML comments
Try to use element text whenever possible, and remove any unnecessary XML comments. Soon the XML will be regenerated and so the XML comments need to be well formed and in predictable locations.
Configuration menu - View commit details
-
Copy full SHA for a58bd61 - Browse repository at this point
Copy the full SHA a58bd61View commit details -
Improved NiAdditionalGeometryData
Named the compounds correctly after the actual structs, separated the "Has Data" bool from the compound as it's not actually part of the struct, but before it in a for loop during (de)serialize. Combined NiAdditionalGeometryData and the BS version into one compound when possible. But the block can actually no longer be found in any official files, so the BS version is not very important.
Configuration menu - View commit details
-
Copy full SHA for 83df1e5 - Browse repository at this point
Copy the full SHA 83df1e5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8f3b2d0 - Browse repository at this point
Copy the full SHA 8f3b2d0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 34ae18e - Browse repository at this point
Copy the full SHA 34ae18eView commit details -
Rename
binary
/abstract
booleans from 1 to trueFor niftools#76 For reduced ambiguity. Adapting for this in Python is as easy as ```py # XML Booleans XML_TRUE = ["true", "1"] XML_FALSE = ["false", "0"] # Example self.is_abstract = get('abstract') in XML_TRUE ``` Note "True" and "False" are not valid booleans in XML. Only lowercase.
Configuration menu - View commit details
-
Copy full SHA for 7fb1233 - Browse repository at this point
Copy the full SHA 7fb1233View commit details
Commits on Jun 19, 2018
-
bhk block cleanup, decoding, inheritance fixes
Havok serialization is separate from inheritance and so certain shapes that are actually convex were not considered such by nif.xml, which in turn excludes them from uses of `template="bhkConvexShape"`. Created a fake base class to fix these issues. Also, bhkConvexTransformShape no longer inheriting bhkTransformShape was more correct anyway, as the Ref type could be made more specific (bhkConvexShape). Did some comment/description cleanup and some minor decoding.
Configuration menu - View commit details
-
Copy full SHA for 285b1cb - Browse repository at this point
Copy the full SHA 285b1cbView commit details -
FO4 DLC uses BSLightingShaderPropertyUShortController in 2 NIFs, but according to the CK it is not actually a functional block and spits out constant warnings. It is still needed in nif.xml for serialization though. FO4 also adds two booleans for Env Map shader type for SSR. These were previously marked as an Unknown Short. These booleans are *not* synced with their values in the BGSM files except for generated meshes such as SCOL and precombined.
Configuration menu - View commit details
-
Copy full SHA for 639bea6 - Browse repository at this point
Copy the full SHA 639bea6View commit details
Commits on Jun 25, 2018
-
For niftools#76. `calc` does not need to be supported and is only used for pre-serialization preparation of the data. This can also be done by hand. Some revisions also need to be made for niftools#70 and niftools#73 to account for another attribute with its own expression grammar and tokens. However, the tokens introduced for `calc` will not be added to the tokens in the XML and will need to be explicitly supported if supporting `calc`. They are: 1D array size (uses regex): `#LEN[(.*?)]#` 2D array size (uses regex): `#LEN2[(.*?)]#` Ternary `?`: `#THEN#` Ternary `:`: `#ELSE#` Also removes any unnecessary `calculated` without replacement. Additionally, `calc` is used to limit array size for the time being, though it's possible this should be done with its own attribute, such as `maxlen`.
Configuration menu - View commit details
-
Copy full SHA for 121ba5f - Browse repository at this point
Copy the full SHA 121ba5fView commit details -
NiSkinPartition (Bethesda) decoding and cleanup
Unknown Short for FO3+ was two values, a byte and a bool. Renamed "Num Skin Partition Blocks" and "Skin Partition Blocks" and combined the Partitions array into one row, as having a row separate for SSE was unnecessary.
Configuration menu - View commit details
-
Copy full SHA for 61d2b79 - Browse repository at this point
Copy the full SHA 61d2b79View commit details -
Explicit ver1/ver2 for BS 20.2
Specifying ver1/ver2 even for `vercond="#BS...` for FO3 and later allows early rejection of that member for any non-BS 20.2 NIFs.
Configuration menu - View commit details
-
Copy full SHA for 8d73ad0 - Browse repository at this point
Copy the full SHA 8d73ad0View commit details
Commits on Jun 26, 2018
-
Use a correct bitfield for NiGeometryData flags now that we know what the unknown values are for Bethesda bhk data. (NiGeometryData that gets used in a bhk shape)
Configuration menu - View commit details
-
Copy full SHA for 086024b - Browse repository at this point
Copy the full SHA 086024bView commit details
Commits on Jun 28, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 1d26f7a - Browse repository at this point
Copy the full SHA 1d26f7aView commit details
Commits on Jun 29, 2018
-
bhk Emulate Havok CInfo for World Obj, Entity, Rigid Body
Split up the Rigid Body CInfo into multiple compounds for each Havok version (though left 550/660 combined). Followed suit with bhkWorldObject and bhkEntity. Having each in their own CInfo simplifies both naming and versioning at the cost of repetition. The bhkRigidBodyCInfo variants will need some kind of shared parent, but compound inheritance is currently not part of the XML spec. It would have to be done with custom types in niflib. The shared parent will be needed for getting/setting the same info on different CInfo versions.
Configuration menu - View commit details
-
Copy full SHA for 12e7286 - Browse repository at this point
Copy the full SHA 12e7286View commit details -
For Name-based APIs, naming all NiBound fields consistently helps with generic treatment of NiBound getting and setting for any NiObject.
Configuration menu - View commit details
-
Copy full SHA for 8d8a4ae - Browse repository at this point
Copy the full SHA 8d8a4aeView commit details -
FO4 skin instance and shader decoding
FO4 changed the Color3 to a Color4 for Skin Tint. Leaving as separate Alpha for now however. Also found out the point of the BSSkin::Instance array which is non-uniform scaling.
Configuration menu - View commit details
-
Copy full SHA for 20dab6b - Browse repository at this point
Copy the full SHA 20dab6bView commit details -
Added `default` to a large number of members, as well as `calc` to a few members to enforce array sizes based on other data. Also fixed a few `type` issues. This is a first pass in a much larger effort, using data analysis to gather the most commonly used values.
Configuration menu - View commit details
-
Copy full SHA for 7887f4e - Browse repository at this point
Copy the full SHA 7887f4eView commit details
Commits on Jul 1, 2018
-
BSWaterShaderProperty flags correction
The previous decoding was all guesswork, though did align somewhat. Enough to know that the decoding from FO4 applies to Skyrim as well.
Configuration menu - View commit details
-
Copy full SHA for 847607f - Browse repository at this point
Copy the full SHA 847607fView commit details
Commits on Jul 2, 2018
-
Configuration menu - View commit details
-
Copy full SHA for c76b429 - Browse repository at this point
Copy the full SHA c76b429View commit details
Commits on Jul 16, 2018
-
Cleaned up class naming e.g. Descriptor->CInfo to match the engine and other classes already named that way. Added hk/bhk to front of type names where appropriate. Changed Info/Property names to be consistent e.g. "Rigid Body Info", "Entity Info" instead of CInfo. Changed all "Unused" fields to a consistent naming scheme, using byte array types and binary="true". Class hierarchy fixes. Class documentation complete overhaul. Some existing naming collides with new naming of different fields, e.g. bhkMoppBvTreeShape "Scale" used to be "Shape Scale" and now "Scale" is "MOPP Code" -> "Scale".
Configuration menu - View commit details
-
Copy full SHA for 111598d - Browse repository at this point
Copy the full SHA 111598dView commit details -
Made a correct bitfield using `uint64` as the underlying type, split into nibbles for the sizes and offsets of the vertex attributes. Changed VertexFlags to VertexAttributes and it no longer has the empty nibble in front. ARG passing of the BSVertexDesc is treated as the underlying numeric value of the bitfield, so that the attributes can be passed into BSVertexData using `#RSH# 44` instead of the member accessor syntax. This makes the first use of the basic `uint64` type, so (de)serialization now requires support of 64-bit values.
Configuration menu - View commit details
-
Copy full SHA for 2954bb4 - Browse repository at this point
Copy the full SHA 2954bb4View commit details
Commits on Jul 19, 2018
-
Also use `true` instead of `1` to match other XML booleans.
Configuration menu - View commit details
-
Copy full SHA for b35b74b - Browse repository at this point
Copy the full SHA b35b74bView commit details -
Rename StringIndex to NiFixedString, add NiTFixedStringMap
The correct name for StringIndex is NiFixedString. Also added NiTFixedStringMap which is used once in the NiPhysX module.
4Configuration menu - View commit details
-
Copy full SHA for 97a81c8 - Browse repository at this point
Copy the full SHA 97a81c8View commit details
Commits on Jul 24, 2018
-
Second default values pass, plus some general changes to accommodate them.
Configuration menu - View commit details
-
Copy full SHA for 6091a89 - Browse repository at this point
Copy the full SHA 6091a89View commit details
Commits on Jul 26, 2018
-
For niftools#72 Renamed modules from Gamebryo: NiParticle, NiPSParticle. As of Gamebryo 2.5, old NiParticle was renamed NiParticleOld and the new NiMesh-based particle system was named NiParticle. I didn't like this naming scheme given NiParticleOld is more important to us. Ni Modules not in Gamebryo: NiCustom, NiLegacy These are to handle third party blocks and blocks from NetImmerse (pre-Gamebryo). Ignored from Gamebryo: NiCollision, NiPortal, NiPhysXParticle These were instead absorbed into other modules. Bethesda modules: BSMain, BSAnimation, BSParticle, BSHavok, BSLegacy Animation, Particle, Havok, and Legacy are not modules used by Bethesda. Legacy is for Morrowind-specific blocks (NetImmerse). In addition, BSShader is a module for all the shader related blocks and that has all been folded into BSMain.
Configuration menu - View commit details
-
Copy full SHA for b22220b - Browse repository at this point
Copy the full SHA b22220bView commit details -
For niftools#72 So that first party modules can be singled out if needed.
Configuration menu - View commit details
-
Copy full SHA for 46370f8 - Browse repository at this point
Copy the full SHA 46370f8View commit details
Commits on Jul 27, 2018
-
Improved class descriptions and fixed Flags values and defaults.
Configuration menu - View commit details
-
Copy full SHA for c885774 - Browse repository at this point
Copy the full SHA c885774View commit details
Commits on Aug 1, 2018
-
Default Values Pass 3, Subclass Defaults
For niftools#76 Implement initial subclass defaults. Had to add additional attribute to deal with versioning of defaults, like block versioning. Added more defaults to normal fields. Added default to Vertex Color array, also enforcing that members with `arr1` can have a `default`.
Configuration menu - View commit details
-
Copy full SHA for 0f0790f - Browse repository at this point
Copy the full SHA 0f0790fView commit details
Commits on Aug 4, 2018
-
Specify SizedString vs NiFixedString where appropriate. The compound type `string` is an extra level of indirection in many cases, where the block can never be used on versions less than 20.1.0.3 where the CString to NiFixedString transition happened. NiFixedString is a basic type, so using it where possible is recommended over the `string` compound type. `string` could NOT be changed when dealing with multiple rows with the same name but version exclusive, such as "Accum Root Name". Changed ShortString to ExportString as it was already documented as being exclusive to the Bethesda stream header. Added SizedString with ushort length type, for the SSF File path.
Configuration menu - View commit details
-
Copy full SHA for 8778358 - Browse repository at this point
Copy the full SHA 8778358View commit details
Commits on Aug 13, 2018
-
BSGeometrySegmentData - Combined rows which did not be separated by version. Adopted better naming from FO4. AspectFlags type for NiParticlesData for BS. Changed the unused W component of what should be a Vector4 for Vertex to 'Unused W' for all rows. Should seriously consider making these all Vector4s for endian correctness. Misc comment cleanup.
Configuration menu - View commit details
-
Copy full SHA for b0aafaa - Browse repository at this point
Copy the full SHA b0aafaaView commit details -
For niftools#70 and niftools#76 Added tokens for range attribute strings. Did initial pass of ranges, many from Bethesda's official export scripts for FO4, which limit the values in the UI. Also have begun using data analysis to find implied min/max ranges (as well as sane defaults).
Configuration menu - View commit details
-
Copy full SHA for aa05717 - Browse repository at this point
Copy the full SHA aa05717View commit details -
Configuration menu - View commit details
-
Copy full SHA for a8a425b - Browse repository at this point
Copy the full SHA a8a425bView commit details
Commits on Aug 31, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 1889e4e - Browse repository at this point
Copy the full SHA 1889e4eView commit details -
The way that BSPackedCombinedSharedGeomDataExtra refers to the shared geometry was decoded. It stores the hash of the filename and the offset to the data.
Configuration menu - View commit details
-
Copy full SHA for 218799a - Browse repository at this point
Copy the full SHA 218799aView commit details
Commits on Sep 1, 2018
-
NetImmerse NiParticle (called NiOldParticle after Gamebryo 1.1) was severely undecoded. This affects several NetImmerse games like Morrowind and Freedom Force. The per-particle info in NiOldParticle actually remained identical to the class in NiParticle, which is named "NiParticleInfo". It did however have a different name in NetImmerse which was "NiPerParticleData". Since they were the same data, the two compounds were merged and NiPSysData was updated.
Configuration menu - View commit details
-
Copy full SHA for fdcba77 - Browse repository at this point
Copy the full SHA fdcba77View commit details
Commits on Sep 2, 2018
-
Misc decoding, custom blocks for WorldShift, Guild 2
Decoded some unknown fields and blocks for WorldShift and Guild 2. NiSourceTexture is now correctly decoded. The unknown byte actually controls whether the image data Ref gets serialized or not, but it was always 1. The addition of another conditional value increases the complexity for Pixel Data to 3 rows, all exclusive by version or condition.
Configuration menu - View commit details
-
Copy full SHA for 63609e6 - Browse repository at this point
Copy the full SHA 63609e6View commit details
Commits on Nov 2, 2018
-
[Linting] Reorder defaults to keep ancestor types above children
Even though in these cases it doesn't matter because of version exclusivity, keep them ordered by type instead of grouped by version.
Configuration menu - View commit details
-
Copy full SHA for 6ca49fd - Browse repository at this point
Copy the full SHA 6ca49fdView commit details
Commits on Dec 2, 2018
-
Renamed BSLightingShaderPropertyShaderType and its associated name field ("Skyrim Shader Type" -> "Shader Type"). BSDistantObjectInstancedNode is mostly undecoded but fully readable. Treatment of shader flags is preliminary and will change over time.
Configuration menu - View commit details
-
Copy full SHA for 02799d8 - Browse repository at this point
Copy the full SHA 02799d8View commit details
Commits on Apr 23, 2019
-
Rename value to bit for bitflags
So that "value" can be used for bit patterns (collections of individual bits).
Configuration menu - View commit details
-
Copy full SHA for 7b15bfe - Browse repository at this point
Copy the full SHA 7b15bfeView commit details -
Configuration menu - View commit details
-
Copy full SHA for eb53e98 - Browse repository at this point
Copy the full SHA eb53e98View commit details -
Configuration menu - View commit details
-
Copy full SHA for cd92042 - Browse repository at this point
Copy the full SHA cd92042View commit details -
Configuration menu - View commit details
-
Copy full SHA for 45c15ad - Browse repository at this point
Copy the full SHA 45c15adView commit details