Commit graph

96 commits

Author SHA1 Message Date
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
Janis efcc14fc1c removed underscore from field and method traits because rust doesnt like it 2023-04-21 22:02:21 +02:00
Janis 903d05911a static class returns option<class>, not class 2023-04-21 22:01:46 +02:00
Janis 8c195f224b impl sync and send for types (🥴) as well as "AsObject" for casting for objects 2023-04-21 22:01:11 +02:00
Janis ed5c4a5702 dont derive copy from unsafecell type 2023-04-21 22:00:48 +02:00
Janis df079b7af6 enums only as repr(u8) 2023-04-21 22:00:35 +02:00
Janis 30cd320e66 formatting fixes 2023-04-21 19:07:07 +02:00
Janis 221ad25ff6 enum generation 2023-04-21 18:43:04 +02:00
Janis b51164304f renamed injected types with U/F/E/A prefix 2023-04-21 18:40:39 +02:00
Janis 7c0656c37f fix for FString 2023-04-21 18:18:22 +02:00
Janis fad2175aa2 enum name and variant names more readable 2023-04-21 18:18:05 +02:00
Janis 8d2f0ab142 UEnum, UFunction and UProperty injection 2023-04-21 17:58:49 +02:00
Janis 6ea9e81e29 representing Objects as transparent ´NonNull<UnsafeCell<u8>>´ 2023-04-21 17:33:09 +02:00
Janis 32bcc30b96 rust generation 2023-04-21 17:21:07 +02:00
Janis d1c0520316 calculating dependencies 2023-04-20 23:43:56 +02:00
Janis 211605c20c linting cleanup 2023-04-20 22:54:42 +02:00
Janis 08149329e1 parsing classes, structs and enums 2023-04-20 22:24:26 +02:00
Janis a574191066 restructured sdk generator with Package type, parsing struct types 2023-04-20 20:50:57 +02:00
Janis 69273c7e76 display for property and function types 2023-04-20 20:50:25 +02:00
Janis 2427494a0f cool features!!!!!!! 2023-04-20 20:49:21 +02:00
Janis 99a3effc4c handle possibility of missing static class (UMapProperty) 2023-04-20 20:48:54 +02:00
Janis 674a54afb9 fixes for wrong behavior 2023-04-20 20:48:27 +02:00
Janis 92a0b3f6cf propertyflags and funtionflags bitflag enums 2023-04-20 20:47:58 +02:00
Janis e197021c59 type classification enums 2023-04-20 20:46:57 +02:00
Janis f8f183c420 using pointer types now for every coreuobject type 2023-04-20 03:35:31 +02:00
Janis 724939e5da extracted fname and tarray from raw types into own modules
- tarray and fname are pretty independent from the rest of the type system
2023-04-20 02:36:46 +02:00
Janis e68aa9ec55 implemented traits for all v2 types 2023-04-20 01:15:53 +02:00
Janis 03c1c61d42 v2 type def 2023-04-20 00:41:48 +02:00
Janis a2233bb3b4 enum processing 2023-04-18 23:24:07 +02:00
Janis 8402f505bc safer tarray
- no longer unwrapping None ptr, instead creating slice from dangling nonnull
2023-04-18 23:23:57 +02:00
Janis fad1effa05 canonicalize UE4 name into legal rust token 2023-04-18 20:48:19 +02:00
Janis f12f48c83f removed deref impl as it was unsound
- started on sdk generator, can classify and sort objects into packages
- parse enums
2023-04-18 01:07:07 +02:00
Janis 41dbc1bdd0 safe object array 2023-04-18 01:07:00 +02:00
Janis 3d3b1b20c9 split into multiple files 2023-04-17 18:46:27 +02:00
Janis b7803bd453 can properly iterate over fnames 2023-04-17 18:21:42 +02:00