mirror of
https://git.suyu.dev/suyu/Yucom.git
synced 2025-12-24 00:04:34 +01:00
lsteamclient: Update cxx.h to latest msvcp90 version.
CW-Bug-Id: #22729
This commit is contained in:
parent
03366c4d33
commit
6741a504f0
42 changed files with 1372 additions and 1257 deletions
|
|
@ -1110,16 +1110,14 @@ def handle_class(klass):
|
|||
|
||||
out(f'extern vtable_ptr {winclassname}_vtable;\n')
|
||||
out(u'\n')
|
||||
out(u'#ifndef __GNUC__\n')
|
||||
out(u'void __asm_dummy_vtables(void) {\n')
|
||||
out(u'#endif\n')
|
||||
out(f'DEFINE_RTTI_DATA0({winclassname}, 0, \".?AV{klass.name}@@\")\n')
|
||||
out(u'\n')
|
||||
out(f'__ASM_BLOCK_BEGIN({winclassname}_vtables)\n')
|
||||
out(f' __ASM_VTABLE({winclassname},\n')
|
||||
for method in sorted(klass.methods, key=lambda x: (x._index, -x._override)):
|
||||
out(f' VTABLE_ADD_FUNC({winclassname}_{method.name})\n')
|
||||
out(u' );\n')
|
||||
out(u'#ifndef __GNUC__\n')
|
||||
out(u'}\n')
|
||||
out(u'#endif\n')
|
||||
out(u'__ASM_BLOCK_END\n')
|
||||
out(u'\n')
|
||||
out(f'struct w_steam_iface *create_{winclassname}(void *u_iface)\n')
|
||||
out(u'{\n')
|
||||
|
|
@ -1314,6 +1312,25 @@ for _, klass in sorted(all_classes.items()):
|
|||
handle_class(klass)
|
||||
|
||||
|
||||
for name in sorted(set(k.name for k in all_classes.values())):
|
||||
with open(f"win{name}.c", "a") as file:
|
||||
out = file.write
|
||||
out(f'void init_win{name}_rtti( char *base )\n')
|
||||
out(u'{\n')
|
||||
out(u'#ifdef __x86_64__\n')
|
||||
|
||||
for _, klass in sorted(all_classes.items()):
|
||||
with open(f"win{klass.name}.c", "a") as file:
|
||||
out = file.write
|
||||
out(f' init_win{klass.full_name}_rtti( base );\n')
|
||||
|
||||
for name in sorted(set(k.name for k in all_classes.values())):
|
||||
with open(f"win{name}.c", "a") as file:
|
||||
out = file.write
|
||||
out(u'#endif /* __x86_64__ */\n')
|
||||
out(u'}\n')
|
||||
|
||||
|
||||
with open("steamclient_generated.h", "w") as file:
|
||||
out = file.write
|
||||
|
||||
|
|
@ -1344,6 +1361,15 @@ with open("steamclient_generated.c", "w") as file:
|
|||
out(u' if (!strcmp( iface_version, constructors[i].iface_version ))\n')
|
||||
out(u' return constructors[i].ctor;\n')
|
||||
out(u' return NULL;\n')
|
||||
out(u'}\n\n')
|
||||
|
||||
for name in sorted(set(k.name for k in all_classes.values())):
|
||||
out(f'extern void init_win{name}_rtti( char * );\n')
|
||||
out(u'\n')
|
||||
out(u'void init_rtti( char *base )\n')
|
||||
out(u'{\n')
|
||||
for name in sorted(set(k.name for k in all_classes.values())):
|
||||
out(f' init_win{name}_rtti( base );\n')
|
||||
out(u'}\n')
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue