Commit Graph
63 Commits
Author SHA1 Message Date
Samuele Lorefice 8678ee6c85 Added DNAArrayAttribute to the generation and AddArrayField method. Disabled Array checking in AddNormalField and done Array checking at the main logic 2025-03-11 18:44:09 +01:00
Samuele Lorefice fbc0f9be49 Changed String extensions to retunr char size as a 1 byte (cpp size) instead of 2 bytes (C# size) 2025-03-11 18:42:12 +01:00
Samuele Lorefice 9cbed0a8b8 Imported static Kaitai.BlendFile, compressing bunch of lines 2025-03-11 18:41:27 +01:00
Samuele Lorefice b6760ab27a Fixed wrong attribute position being modified. Regenerated code files 2025-03-07 19:18:52 +01:00
Samuele Lorefice 73e98f5c5d Regenerated code files 2025-03-07 19:13:29 +01:00
Samuele Lorefice 26add1559f Fixed wrong name determination in field-count value coupling 2025-03-07 19:11:17 +01:00
Samuele Lorefice bfa185c8e4 Added count field type argument to the list attribute 2025-03-06 19:41:37 +01:00
Samuele Lorefice e11cd54096 Fioxed dictionary being recreated every step of the for loop. 2025-03-06 19:14:59 +01:00
Samuele Lorefice 9e1d65d08d Added start offset param to the field conversion methods, started implementing list conversions 2025-03-06 19:11:50 +01:00
Samuele Lorefice fb50e3fa44 Fixed list length value returning always zero.
Added separated pointer and count memory offsets to list attributes.
Tried handling them
2025-03-06 19:11:03 +01:00
Samuele Lorefice 0bc7f73aee Moved pointer and struct conversion to a separate method 2025-03-06 18:32:21 +01:00
Samuele Lorefice 02aa7db319 Changed attribute builder to derive from correct class, also added method to pass base class parameters using string refs. Regenerated the files 2025-03-06 17:37:55 +01:00
Samuele Lorefice a784eed61d General code cleanup in reader class. Added stub methods for extracting data retrieval to a separate method. 2025-03-05 18:43:39 +01:00
Samuele Lorefice 8e4eac0568 Regenerated codefiles 2025-03-04 18:48:04 +01:00
Samuele Lorefice 8bbfb49720 Fixed a critical bug in Array field name generation. Added DNAAttribute and DNAListAttribute classes 2025-03-04 18:47:55 +01:00
Samuele Lorefice b70bcd4d02 Reordered parameters in Attributes 2025-03-04 18:33:17 +01:00
Samuele Lorefice a8bf5e6e82 Added DnaListAttribute generation 2025-03-04 18:27:53 +01:00
Samuele Lorefice 0dccefb7e4 added method to create ListFields and generation of Lists 2025-03-04 17:40:57 +01:00
Samuele Lorefice d986670268 Added queue for log messages and logger on a separate thread, added telemetry. 2025-02-27 23:44:51 +01:00
Samuele Lorefice 30cdc7a23d Changed code gen to use latest lang version 2025-02-27 23:44:10 +01:00
Samuele Lorefice 7a0ad7e968 Added IsClass and FilterFields methods to streamline types creation, added more documentation 2025-02-27 20:57:12 +01:00
Samuele Lorefice bdc9624d13 Added derive from class parts to the attribute building process. Added static Lists of substrings for attribute filtering. 2025-02-26 19:24:14 +01:00
Samuele Lorefice 80234eb599 Fixed a bug in AttributeBuilder where setting the derived type would not be applied if there wasn't one already set up. 2025-02-26 19:23:33 +01:00
Samuele Lorefice 55f3d411b3 Added documentation to Attribute builder. Added Inheritance methods. Added a base DNA attribute to GenerateTypeDeclarations method. 2025-02-26 18:59:14 +01:00
Samuele Lorefice 1a34d70f8d added heuristcs substrings 2025-02-26 17:37:49 +01:00
Samuele Lorefice 869fd3b794 Made AttributeBuilder not a singleton, replaced multiple methods per attribute with a single method that returns all the attributes in a single sweep. 2025-02-26 17:03:15 +01:00
Samuele Lorefice 4166482022 Fixed naming of variables in the code generator class 2025-02-26 16:01:16 +01:00
Samuele Lorefice 5aeaf064ce Added todo 2025-02-25 18:44:48 +01:00
Samuele Lorefice 9081c9b32e Unrolled loops so the debugger works 2025-02-25 18:27:37 +01:00
Samuele Lorefice 91b74a24dd Created a builder for attributes in code generator 2025-02-25 16:32:38 +01:00
Samuele Lorefice 23cec0bd0f Replaced longs with built in IntPtr type. 2025-02-25 16:32:08 +01:00
Samuele Lorefice 315cd6eb44 Added ToPointer ByteArray extension method 2025-02-25 16:31:28 +01:00
Samuele Lorefice b5e0793692 Added check to avoid storing nullpointers in the pointers map. Updated comments. 2025-02-21 17:04:13 +01:00
Samuele Lorefice 9a0024884c Optimized memory usage 2025-02-20 21:20:10 +01:00
Samuele Lorefice f383debd18 Added memoryOffset value to DNAFieldAttribute, regenerated files. 2025-02-20 21:00:55 +01:00
Samuele Lorefice b171b65aa5 Added handling of pointers, huge memory improvements 2025-02-20 19:58:33 +01:00
Samuele Lorefice 6d565377a4 Added more documentation and started pointer handling 2025-02-20 18:41:27 +01:00
Samuele Lorefice d95c81f3f2 Added memory address management 2025-02-20 17:33:55 +01:00
Samuele Lorefice c0533a0d69 More documentation added in the FillObject method. 2025-02-20 15:09:00 +01:00
Samuele Lorefice e618527135 Added documentation to Reader class in BlendFile. Extracted method for Filling an object with data from a block, given an offset 2025-02-20 15:04:12 +01:00
Samuele Lorefice 7403dd7776 Added extra parameter 2025-02-18 16:27:50 +01:00
Samuele Lorefice ebcc629feb Added Reader class to BlendFile library 2025-01-23 16:47:32 +01:00
Samuele Lorefice 2bd93ab3bb Renamed BlenderBlend class into BlendFile 2025-01-23 16:28:34 +01:00
Samuele Lorefice b7cd60e4cf General cleanup of the generator code 2025-01-23 16:23:09 +01:00
Samuele Lorefice 31690354f8 Cleaned up usings 2025-01-23 16:20:01 +01:00
Samuele Lorefice 0674e6b136 - Modified DNAClassAttribute to also support usage on structs
- Added auto generation of DNAClass attributes on file generation
- Regenerated all files
2025-01-23 16:15:50 +01:00
Samuele Lorefice 7c0708b377 Added BaseType "Attribute" to DNAClassAttribute generator function and regenerated the source. 2025-01-23 16:09:33 +01:00
Samuele Lorefice bf1eb8201c Regenerated all the files 2025-01-22 20:24:55 +01:00
Samuele Lorefice 162f888600 Added runtime generation of the attribute classes and marking of field metadata 2025-01-22 20:24:42 +01:00
Samuele Lorefice 439cea385f Regenerated files 2025-01-22 18:11:19 +01:00
Samuele Lorefice 5f15635cd8 Fixed array generation expression, removed compat types as they are being remapped 2025-01-22 18:11:09 +01:00
Samuele Lorefice 9a949dbeab Added Type stubbing 2025-01-22 17:56:49 +01:00
Samuele Lorefice 2d6159e331 added uint64_t compat file 2025-01-22 17:40:14 +01:00
Samuele Lorefice 3bcbde6bb2 Added skip for pointer to functions, added int64_t compat type 2025-01-22 17:09:33 +01:00
Samuele Lorefice d5533ac251 Corrected operators for uchar to use the internal type for operations, defined int8_t compat type 2025-01-22 16:29:54 +01:00
Samuele Lorefice 0a51b6e052 More cleanup 2025-01-22 03:03:49 +01:00
Samuele Lorefice 98f66f196e Added AutoGenerated header, switched to CodeCompileUnit, added global usings 2025-01-22 02:35:20 +01:00
Samuele Lorefice fa78292a67 Added Generation Output 2025-01-22 02:23:29 +01:00
Samuele Lorefice 83b207b799 Added string extension class 2025-01-22 02:23:16 +01:00
Samuele Lorefice 85631f707c More Cleanup 2025-01-22 02:22:39 +01:00
Samuele Lorefice 56c5654c52 Refactoring and reorg of Program file 2025-01-22 02:12:27 +01:00
Samuele Lorefice d1742775ad Renamed library project, cleaned up code 2025-01-22 01:57:46 +01:00
Samuele Lorefice 2a051cf098 Base files 2025-01-22 00:44:41 +01:00