Commit graph

84 commits

Author SHA1 Message Date
Janis 2b8d3942da precise setter function calling in case more than 1 trait is implemented (collision) 2023-06-26 12:56:00 +02:00
Janis 5b8ec05589 absolute paths and getters for path/type name 2023-06-26 12:55:30 +02:00
Janis d4505e58d4 use pkg name instead of placeholder string 2023-06-26 10:54:53 +02:00
Janis 1ab11164d3 override method_param/field name if it collides 2023-06-26 10:54:49 +02:00
Janis 9511f49163 dedup iter adapter 2023-06-26 10:39:59 +02:00
Janis 15b8ec562c sdk-builder: debug print tokens for each type 2023-06-26 00:14:18 +02:00
Janis 572fe68591 sdk-builder: cleanup/fixes 2023-06-25 19:11:55 +02:00
Janis df4cc0677b implement super-type fields and methods 2023-06-25 16:36:22 +02:00
Janis ab003e4cdc super-class and name accessor thru unrealtype wrapper 2023-06-25 16:26:22 +02:00
Janis 9ebaf8cd5d generate method trait 2023-06-25 13:43:52 +02:00
Janis b4492dbfd5 initial commit (already containing way too much) of sdk builder
sdk-builder builds the sdk from the serialized RON file
initially only rust will be supported, but C++ and even C, Kotlin or Zig will be easy to add.
2023-06-24 01:02:42 +02:00
Janis 2ccddaf20d display for primitive types 2023-06-24 01:02:27 +02:00
Janis ce7bef559b msvc toolchain 2023-06-21 18:57:14 +02:00
Janis 95d434841e sdk serializer dll 2023-06-21 18:57:07 +02:00
Janis f57d3491e4 old sdk generator dll 2023-06-21 18:56:57 +02:00
Janis 679f97397a pdb helper for finding UE4 globals 2023-06-21 18:56:35 +02:00
Janis 953bfa10ef serialization to RON, filtering out empty packages, deduplicating dependencies,
recover when failing to find field type
2023-06-21 18:55:12 +02:00
Janis 8886be1cb9 added lib targets 2023-06-19 18:36:39 +02:00
Janis 36af2ae124 moving to workspace 2023-06-19 18:36:15 +02:00
Janis 555cbb79a2 serialization of packages 2023-06-19 16:47:03 +02:00
Janis 47dbb8e3d1 serialization of UStructs/UClasses/AActors 2023-06-19 16:12:49 +02:00
Janis e74ed77703 unreal type stores object ref to object, and wrapper for accessing dependencies 2023-06-19 16:11:58 +02:00
Janis 74940c5696 convert package UObject into PackageRefs 2023-06-19 16:11:25 +02:00
Janis 2131aa59af actor as seperate struct type 2023-06-19 16:10:55 +02:00
Janis b3608b2968 use existing functions for parsing property
- this means not being able to resolve the type of the field is a hard error
2023-06-17 16:51:21 +02:00
Janis 46a5b9bb0e parse ufunction into ClassMethod 2023-06-17 16:49:46 +02:00
Janis 77df17392c stuff that i mostly dont remember but refactoring in progress init consequences
of not looking at this for a month and not having commited anything before...........
2023-06-17 16:49:07 +02:00
Janis eef7ce3cfc refactor in progress 2023-05-25 19:56:24 +02:00
Janis 4af21ba271 removed old files/modules 2023-05-23 09:52:06 +02:00
Janis b1bf442a27 idkkkkkkkkkkkkkkk 2023-05-23 00:29:19 +02:00
Janis 1e059a3b92 fname new doesnt need static str, return tuples for methods, constr for structs 2023-05-12 18:09:07 +02:00
Janis 285ae4b56f linting warning disabled, add all super classes to dependencies 2023-05-12 14:05:59 +02:00
Janis 1badd4c698 proper enumeration of names and finding names in tabl e 2023-05-12 13:24:22 +02:00
Janis f88c890210 getter for fnames, partial sdk generation, canon arg names 2023-05-12 12:13:20 +02:00
Janis 406146e772 serial number accessor, moved weakptr to ark-sdk 2023-04-23 19:50:22 +02:00
Janis 396ee1e809 allocator api for TArray, fixes
- check if class is AActor when checking if type is an actor type with A prefix
- param types public, with public fields
- sort types alphabetically when generating files
2023-04-23 05:12:48 +02:00
Janis 813b0bdaf6 fixes
- get by index for objectarray
- tassetptr type
- lowercase function parameters to avoid aliasing with type names
- filter out empty packages
- fix objectflags for ark/ue4.5
2023-04-22 21:37:23 +02:00
Janis 0987e57963 renamed field getters, unsafe cast
- renamed field getter functions to just the field, and field_mut for &mut
getters
- made casting `unsafe` to make sure it explicitly is checked each time
- fixed injected types being NonNull<T>
2023-04-22 02:13:14 +02:00
Janis ab27f8ba82 smol 2023-04-22 01:19:31 +02:00
Janis 720065242c made GObjects generic with respect to the object type 2023-04-22 01:19:15 +02:00
Janis 3be8219eca pointer helper types that the sdk uses 2023-04-22 01:02:45 +02:00
Janis a0d296053c filter out and dont process default/anon types 2023-04-22 01:02:27 +02:00
Janis f2366991f1 various fixes
- only generate at most 256 variants for an enum
- only generate methods trait for classes, also depend on AsUObject trait
- declare func variable in methods as mut
- swap out params
2023-04-22 01:01:00 +02:00
Janis 3f16ac51c6 deriving eq and partial eq, and clone for structs
- public access to tuple field
- casting in AsPtr fix
- generate_find_object relies on external implementation
2023-04-21 23:01:48 +02:00
Janis 06c1a519d3 allow access to inner uobject for casting 2023-04-21 23:01:18 +02:00
Janis 0d4dbfe552 unique method and field names for classes and structs 2023-04-21 22:11:34 +02:00
Janis b1945fda35 move casting of types to into process_event function 2023-04-21 22:03:25 +02:00
Janis c8702b3322 create sdk dir 2023-04-21 22:03:17 +02:00
Janis 93d42f6be7 correct casting 2023-04-21 22:03:11 +02:00
Janis f8096cbba5 suppress format warnings 2023-04-21 22:02:39 +02:00