Skip to content

Commit 671c486

Browse files
committed
Call virtual methods by vtable index instead of offset
1 parent eedc498 commit 671c486

2,618 files changed

Lines changed: 193806 additions & 88010 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/generated/app.rs

Lines changed: 872 additions & 872 deletions
Large diffs are not rendered by default.

src/generated/app/abscommand.rs

Lines changed: 36 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,47 @@ use crate::system::object::{IObject,Object}
1818
#[cfg(feature = "app-abscommand-types")]
1919
pub use __types::*;
2020

21+
#[cfg(feature="app-abscommand")]#[doc(hidden)]#[allow(non_snake_case,non_camel_case_types,clippy::too_many_arguments)]mod __AbsCommand_unity2_raw{use super:: * ;
22+
pub unsafe fn get_name(this:AbsCommand,__unity2_method_info: ::unity2::OptionalMethod,)-> ::unity2::Il2CppString{let __vt= ::unity2::Cast::get_class(this).raw().get_vtable();
23+
let __vi= *__vt.get(4usize).unwrap_or_else(||panic!("unity2: virtual slot {}
24+
out of range (vtable len {}
25+
) on the runtime class behind {}
26+
(method `{}
27+
`)",4usize,__vt.len(), <AbsCommand as::unity2::ClassIdentity> ::NAME,"get_Name",));
28+
let inner:extern "C" fn(AbsCommand, ::unity2::OptionalMethod,)-> ::unity2::Il2CppString= ::core::mem::transmute(__vi.method_ptr);
29+
let _=__unity2_method_info;
30+
let __mi: ::unity2::OptionalMethod= ::core::option::Option::Some(& *(__vi.method_info as*const::unity2::MethodInfo as*const()),);
31+
inner(this,__mi)}
32+
pub unsafe fn get_arg_num(this:AbsCommand,__unity2_method_info: ::unity2::OptionalMethod,)->i32{let __vt= ::unity2::Cast::get_class(this).raw().get_vtable();
33+
let __vi= *__vt.get(7usize).unwrap_or_else(||panic!("unity2: virtual slot {}
34+
out of range (vtable len {}
35+
) on the runtime class behind {}
36+
(method `{}
37+
`)",7usize,__vt.len(), <AbsCommand as::unity2::ClassIdentity> ::NAME,"get_ArgNum",));
38+
let inner:extern "C" fn(AbsCommand, ::unity2::OptionalMethod,)->i32= ::core::mem::transmute(__vi.method_ptr);
39+
let _=__unity2_method_info;
40+
let __mi: ::unity2::OptionalMethod= ::core::option::Option::Some(& *(__vi.method_info as*const::unity2::MethodInfo as*const()),);
41+
inner(this,__mi)}
42+
pub unsafe fn func(this:AbsCommand,args:crate::system::collections::generic::list_1::List_1<f32> ,__unity2_method_info: ::unity2::OptionalMethod,)->f32{let __vt= ::unity2::Cast::get_class(this).raw().get_vtable();
43+
let __vi= *__vt.get(24usize).unwrap_or_else(||panic!("unity2: virtual slot {}
44+
out of range (vtable len {}
45+
) on the runtime class behind {}
46+
(method `{}
47+
`)",24usize,__vt.len(), <AbsCommand as::unity2::ClassIdentity> ::NAME,"Func",));
48+
let inner:extern "C" fn(AbsCommand,crate::system::collections::generic::list_1::List_1<f32> , ::unity2::OptionalMethod,)->f32= ::core::mem::transmute(__vi.method_ptr);
49+
let _=__unity2_method_info;
50+
let __mi: ::unity2::OptionalMethod= ::core::option::Option::Some(& *(__vi.method_info as*const::unity2::MethodInfo as*const()),);
51+
inner(this,args,__mi)}
52+
}
53+
2154
#[cfg(feature="app-abscommand")]pub trait IAbsCommandMethods:IAbsCommand{#[doc="`get_Name()` overload"]fn get_name(self,)-> ::unity2::Il2CppString{unsafe{let __receiver= <AbsCommand as::unity2::FromIlInstance> ::from_il_instance(<Self as::unity2::SystemObject> ::as_instance(self),);
22-
::unity2::il2cpp_call!((::unity2::module_base()+0x27b4970usize)as*mut u8, ::unity2::Il2CppString;
23-
(AbsCommand)__receiver)}
55+
__AbsCommand_unity2_raw::get_name(__receiver, ::core::option::Option::None)}
2456
}
2557
#[doc="`get_ArgNum()` overload"]fn get_arg_num(self,)->i32{unsafe{let __receiver= <AbsCommand as::unity2::FromIlInstance> ::from_il_instance(<Self as::unity2::SystemObject> ::as_instance(self),);
26-
::unity2::il2cpp_call!((::unity2::module_base()+0x27b49c0usize)as*mut u8,i32;
27-
(AbsCommand)__receiver)}
58+
__AbsCommand_unity2_raw::get_arg_num(__receiver, ::core::option::Option::None)}
2859
}
2960
#[doc="`Func(crate::system::collections::generic::list_1::List_1<f32>)` overload"]fn func(self,args:impl::core::convert::Into<crate::system::collections::generic::list_1::List_1<f32> >)->f32{unsafe{let __receiver= <AbsCommand as::unity2::FromIlInstance> ::from_il_instance(<Self as::unity2::SystemObject> ::as_instance(self),);
30-
::unity2::il2cpp_call!((::unity2::module_base()+0x27b49d0usize)as*mut u8,f32;
31-
(AbsCommand)__receiver,(crate::system::collections::generic::list_1::List_1<f32>)::core::convert::Into::into(args))}
61+
__AbsCommand_unity2_raw::func(__receiver, ::core::convert::Into::into(args), ::core::option::Option::None)}
3262
}
3363
#[doc="`.ctor()` overload"]fn ctor(self,)->(){unsafe{let __receiver= <AbsCommand as::unity2::FromIlInstance> ::from_il_instance(<Self as::unity2::SystemObject> ::as_instance(self),);
3464
::unity2::il2cpp_call!((::unity2::module_base()+0x27b4a30usize)as*mut u8,();

src/generated/app/accessoryblankmenuitem.rs

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,38 @@ use crate::system::object::{IObject,Object}
1818
#[cfg(feature = "app-accessoryblankmenuitem-types")]
1919
pub use __types::*;
2020

21+
#[cfg(feature="app-accessoryblankmenuitem")]#[doc(hidden)]#[allow(non_snake_case,non_camel_case_types,clippy::too_many_arguments)]mod __AccessoryBlankMenuItem_unity2_raw{use super:: * ;
22+
pub unsafe fn get_name(this:AccessoryBlankMenuItem,__unity2_method_info: ::unity2::OptionalMethod,)-> ::unity2::Il2CppString{let __vt= ::unity2::Cast::get_class(this).raw().get_vtable();
23+
let __vi= *__vt.get(4usize).unwrap_or_else(||panic!("unity2: virtual slot {}
24+
out of range (vtable len {}
25+
) on the runtime class behind {}
26+
(method `{}
27+
`)",4usize,__vt.len(), <AccessoryBlankMenuItem as::unity2::ClassIdentity> ::NAME,"GetName",));
28+
let inner:extern "C" fn(AccessoryBlankMenuItem, ::unity2::OptionalMethod,)-> ::unity2::Il2CppString= ::core::mem::transmute(__vi.method_ptr);
29+
let _=__unity2_method_info;
30+
let __mi: ::unity2::OptionalMethod= ::core::option::Option::Some(& *(__vi.method_info as*const::unity2::MethodInfo as*const()),);
31+
inner(this,__mi)}
32+
pub unsafe fn build_attribute(this:AccessoryBlankMenuItem,__unity2_method_info: ::unity2::OptionalMethod,)->crate::app::basicmenuitem::BasicMenuItem_Attribute{let __vt= ::unity2::Cast::get_class(this).raw().get_vtable();
33+
let __vi= *__vt.get(8usize).unwrap_or_else(||panic!("unity2: virtual slot {}
34+
out of range (vtable len {}
35+
) on the runtime class behind {}
36+
(method `{}
37+
`)",8usize,__vt.len(), <AccessoryBlankMenuItem as::unity2::ClassIdentity> ::NAME,"BuildAttribute",));
38+
let inner:extern "C" fn(AccessoryBlankMenuItem, ::unity2::OptionalMethod,)->crate::app::basicmenuitem::BasicMenuItem_Attribute= ::core::mem::transmute(__vi.method_ptr);
39+
let _=__unity2_method_info;
40+
let __mi: ::unity2::OptionalMethod= ::core::option::Option::Some(& *(__vi.method_info as*const::unity2::MethodInfo as*const()),);
41+
inner(this,__mi)}
42+
}
43+
2144
#[cfg(feature="app-accessoryblankmenuitem")]pub trait IAccessoryBlankMenuItemMethods:IAccessoryBlankMenuItem{#[doc="`.ctor()` overload"]fn ctor(self,)->(){unsafe{let __receiver= <AccessoryBlankMenuItem as::unity2::FromIlInstance> ::from_il_instance(<Self as::unity2::SystemObject> ::as_instance(self),);
2245
::unity2::il2cpp_call!((::unity2::module_base()+0x27b4a40usize)as*mut u8,();
2346
(AccessoryBlankMenuItem)__receiver)}
2447
}
2548
#[doc="`GetName()` overload"]fn get_name(self,)-> ::unity2::Il2CppString{unsafe{let __receiver= <AccessoryBlankMenuItem as::unity2::FromIlInstance> ::from_il_instance(<Self as::unity2::SystemObject> ::as_instance(self),);
26-
::unity2::il2cpp_call!((::unity2::module_base()+0x27b4a50usize)as*mut u8, ::unity2::Il2CppString;
27-
(AccessoryBlankMenuItem)__receiver)}
49+
__AccessoryBlankMenuItem_unity2_raw::get_name(__receiver, ::core::option::Option::None)}
2850
}
2951
#[doc="`BuildAttribute()` overload"]fn build_attribute(self,)->crate::app::basicmenuitem::BasicMenuItem_Attribute{unsafe{let __receiver= <AccessoryBlankMenuItem as::unity2::FromIlInstance> ::from_il_instance(<Self as::unity2::SystemObject> ::as_instance(self),);
30-
::unity2::il2cpp_call!((::unity2::module_base()+0x27b4aa0usize)as*mut u8,crate::app::basicmenuitem::BasicMenuItem_Attribute;
31-
(AccessoryBlankMenuItem)__receiver)}
52+
__AccessoryBlankMenuItem_unity2_raw::build_attribute(__receiver, ::core::option::Option::None)}
3253
}
3354
}
3455

src/generated/app/accessorydata.rs

Lines changed: 40 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ use crate::system::valuetype::{IValueType,ValueType}
1919
;
2020

2121

22+
#[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/app/accessorydata/AccessoryData.md"))]#[::unity2::class(namespace="App",name="AccessoryData")]#[parent(crate::app::structdata_1::StructData_1<crate::app::accessorydata::AccessoryData>)]pub struct AccessoryData{#[offset(168)]#[rename(name="FlagName")]pub flag_name: ::unity2::Il2CppString,}
23+
24+
2225
#[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/app/accessorydata/AccessoryData_Kinds.md"))]#[repr(C)]#[derive(::core::clone::Clone, ::core::marker::Copy, ::core::fmt::Debug, ::core::cmp::PartialEq, ::core::cmp::Eq)]pub struct AccessoryData_Kinds{pub value:i32,}
2326
impl::unity2::ClassIdentity for AccessoryData_Kinds{const NAMESPACE: &'static str="App";
2427
const NAME: &'static str="AccessoryData.Kinds";
@@ -41,9 +44,6 @@ pub fn num()->Self{Self{value:4}
4144
}
4245

4346

44-
#[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/app/accessorydata/AccessoryData.md"))]#[::unity2::class(namespace="App",name="AccessoryData")]#[parent(crate::app::structdata_1::StructData_1<crate::app::accessorydata::AccessoryData>)]pub struct AccessoryData{#[offset(168)]#[rename(name="FlagName")]pub flag_name: ::unity2::Il2CppString,}
45-
46-
4747
#[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/app/accessorydata/AccessoryData_Masks.md"))]#[repr(C)]#[derive(::core::clone::Clone, ::core::marker::Copy, ::core::fmt::Debug, ::core::cmp::PartialEq, ::core::cmp::Eq)]pub struct AccessoryData_Masks{pub value:i32,}
4848
impl::unity2::ClassIdentity for AccessoryData_Masks{const NAMESPACE: &'static str="App";
4949
const NAME: &'static str="AccessoryData.Masks";
@@ -68,6 +68,39 @@ pub fn back()->Self{Self{value:8}
6868
#[cfg(feature = "app-accessorydata-types")]
6969
pub use __types::*;
7070

71+
#[cfg(feature="app-accessorydata")]#[doc(hidden)]#[allow(non_snake_case,non_camel_case_types,clippy::too_many_arguments)]mod __AccessoryData_unity2_raw{use super:: * ;
72+
pub unsafe fn on_build(this:AccessoryData,__unity2_method_info: ::unity2::OptionalMethod,)->(){let __vt= ::unity2::Cast::get_class(this).raw().get_vtable();
73+
let __vi= *__vt.get(4usize).unwrap_or_else(||panic!("unity2: virtual slot {}
74+
out of range (vtable len {}
75+
) on the runtime class behind {}
76+
(method `{}
77+
`)",4usize,__vt.len(), <AccessoryData as::unity2::ClassIdentity> ::NAME,"OnBuild",));
78+
let inner:extern "C" fn(AccessoryData, ::unity2::OptionalMethod,)->()= ::core::mem::transmute(__vi.method_ptr);
79+
let _=__unity2_method_info;
80+
let __mi: ::unity2::OptionalMethod= ::core::option::Option::Some(& *(__vi.method_info as*const::unity2::MethodInfo as*const()),);
81+
inner(this,__mi)}
82+
pub unsafe fn on_completed(this:AccessoryData,__unity2_method_info: ::unity2::OptionalMethod,)->(){let __vt= ::unity2::Cast::get_class(this).raw().get_vtable();
83+
let __vi= *__vt.get(5usize).unwrap_or_else(||panic!("unity2: virtual slot {}
84+
out of range (vtable len {}
85+
) on the runtime class behind {}
86+
(method `{}
87+
`)",5usize,__vt.len(), <AccessoryData as::unity2::ClassIdentity> ::NAME,"OnCompleted",));
88+
let inner:extern "C" fn(AccessoryData, ::unity2::OptionalMethod,)->()= ::core::mem::transmute(__vi.method_ptr);
89+
let _=__unity2_method_info;
90+
let __mi: ::unity2::OptionalMethod= ::core::option::Option::Some(& *(__vi.method_info as*const::unity2::MethodInfo as*const()),);
91+
inner(this,__mi)}
92+
pub unsafe fn get_debug_name(this:AccessoryData,__unity2_method_info: ::unity2::OptionalMethod,)-> ::unity2::Il2CppString{let __vt= ::unity2::Cast::get_class(this).raw().get_vtable();
93+
let __vi= *__vt.get(8usize).unwrap_or_else(||panic!("unity2: virtual slot {}
94+
out of range (vtable len {}
95+
) on the runtime class behind {}
96+
(method `{}
97+
`)",8usize,__vt.len(), <AccessoryData as::unity2::ClassIdentity> ::NAME,"GetDebugName",));
98+
let inner:extern "C" fn(AccessoryData, ::unity2::OptionalMethod,)-> ::unity2::Il2CppString= ::core::mem::transmute(__vi.method_ptr);
99+
let _=__unity2_method_info;
100+
let __mi: ::unity2::OptionalMethod= ::core::option::Option::Some(& *(__vi.method_info as*const::unity2::MethodInfo as*const()),);
101+
inner(this,__mi)}
102+
}
103+
71104
#[cfg(feature="app-accessorydata")]impl AccessoryData{#[doc="`Load()` overload"]pub fn load()->(){unsafe{::unity2::il2cpp_call!((::unity2::module_base()+0x27b4ab0usize)as*mut u8,();
72105
)}
73106
}
@@ -254,16 +287,13 @@ pub use __types::*;
254287
(AccessoryData)__receiver,(crate::app::goddata::GodData)::core::convert::Into::into(value))}
255288
}
256289
#[doc="`OnBuild()` overload"]fn on_build(self,)->(){unsafe{let __receiver= <AccessoryData as::unity2::FromIlInstance> ::from_il_instance(<Self as::unity2::SystemObject> ::as_instance(self),);
257-
::unity2::il2cpp_call!((::unity2::module_base()+0x27b4e00usize)as*mut u8,();
258-
(AccessoryData)__receiver)}
290+
__AccessoryData_unity2_raw::on_build(__receiver, ::core::option::Option::None)}
259291
}
260292
#[doc="`OnCompleted()` overload"]fn on_completed(self,)->(){unsafe{let __receiver= <AccessoryData as::unity2::FromIlInstance> ::from_il_instance(<Self as::unity2::SystemObject> ::as_instance(self),);
261-
::unity2::il2cpp_call!((::unity2::module_base()+0x27b4ed0usize)as*mut u8,();
262-
(AccessoryData)__receiver)}
293+
__AccessoryData_unity2_raw::on_completed(__receiver, ::core::option::Option::None)}
263294
}
264295
#[doc="`GetDebugName()` overload"]fn get_debug_name(self,)-> ::unity2::Il2CppString{unsafe{let __receiver= <AccessoryData as::unity2::FromIlInstance> ::from_il_instance(<Self as::unity2::SystemObject> ::as_instance(self),);
265-
::unity2::il2cpp_call!((::unity2::module_base()+0x27b4f70usize)as*mut u8, ::unity2::Il2CppString;
266-
(AccessoryData)__receiver)}
296+
__AccessoryData_unity2_raw::get_debug_name(__receiver, ::core::option::Option::None)}
267297
}
268298
#[doc="`CanEquip(crate::app::unit::Unit)` overload"]fn can_equip(self,unit:impl::core::convert::Into<crate::app::unit::Unit>)->bool{unsafe{let __receiver= <AccessoryData as::unity2::FromIlInstance> ::from_il_instance(<Self as::unity2::SystemObject> ::as_instance(self),);
269299
::unity2::il2cpp_call!((::unity2::module_base()+0x27b5400usize)as*mut u8,bool;
@@ -346,10 +376,10 @@ this}
346376
#[cfg(feature = "app-accessorydata")]
347377
#[doc(hidden)]
348378
pub mod prelude {
349-
pub use super::AccessoryData_Kinds;
350379
pub use super::AccessoryData;
351380
pub use super::IAccessoryData;
352381
pub use super::IAccessoryDataMethods;
382+
pub use super::AccessoryData_Kinds;
353383
pub use super::AccessoryData_Masks;
354384
pub use crate::app::structbase::IStructBase;
355385
pub use crate::app::structdata_1::IStructData_1;

0 commit comments

Comments
 (0)