* Fix AcceptEntityInput on 64 bit by using struct from SDK instead of pointer math. * Fix from Malifox. Not sure what it does but it is supposedly related to the AcceptEntityInput crash. * Fix episode1 and darkm sdk paths
73 lines
2.1 KiB
Python
73 lines
2.1 KiB
Python
# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
|
|
import os
|
|
|
|
project = builder.LibraryProject('sdktools.ext')
|
|
project.sources += [
|
|
'extension.cpp',
|
|
'variant-t.cpp',
|
|
'inputnatives.cpp',
|
|
'output.cpp',
|
|
'outputnatives.cpp',
|
|
'tempents.cpp',
|
|
'tenatives.cpp',
|
|
'teamnatives.cpp',
|
|
'trnatives.cpp',
|
|
'vcaller.cpp',
|
|
'vcallbuilder.cpp',
|
|
'vdecoder.cpp',
|
|
'vglobals.cpp',
|
|
'vhelpers.cpp',
|
|
'vnatives.cpp',
|
|
'voice.cpp',
|
|
'vsound.cpp',
|
|
'clientnatives.cpp',
|
|
'hooks.cpp',
|
|
'gamerulesnatives.cpp',
|
|
'vstringtable.cpp',
|
|
'../../public/smsdk_ext.cpp',
|
|
'../../public/CDetour/detours.cpp',
|
|
'../../public/asm/asm.c',
|
|
'../../public/libudis86/decode.c',
|
|
'../../public/libudis86/itab.c',
|
|
'../../public/libudis86/syn-att.c',
|
|
'../../public/libudis86/syn-intel.c',
|
|
'../../public/libudis86/syn.c',
|
|
'../../public/libudis86/udis86.c',
|
|
]
|
|
|
|
for sdk_name in SM.sdks:
|
|
sdk = SM.sdks[sdk_name]
|
|
if sdk['name'] in ['mock']:
|
|
continue
|
|
|
|
for cxx in builder.targets:
|
|
if not cxx.target.arch in sdk['platforms'][cxx.target.platform]:
|
|
continue
|
|
|
|
binary = SM.HL2ExtConfig(project, builder, cxx, 'sdktools.ext.' + sdk['extension'], sdk)
|
|
binary.compiler.cxxincludes += [
|
|
os.path.join(builder.sourcePath, 'public', 'jit'),
|
|
os.path.join(builder.sourcePath, 'public', 'jit', 'x86'),
|
|
]
|
|
|
|
if sdk['name'] in ('episode1', 'darkm'):
|
|
binary.compiler.cxxincludes += [os.path.join(builder.options.hl2sdk_root, sdk['path'], 'game_shared')]
|
|
binary.compiler.cxxincludes += [os.path.join(builder.options.hl2sdk_root, sdk['path'], 'dlls')]
|
|
else:
|
|
binary.compiler.cxxincludes += [
|
|
os.path.join(builder.options.hl2sdk_root, sdk['path'], 'game', 'shared'),
|
|
os.path.join(builder.options.hl2sdk_root, sdk['path'], 'game', 'server'),
|
|
]
|
|
|
|
#binary.sources += [os.path.join(builder.options.hl2sdk_root, sdk['path'], 'game', 'server', 'variant_t.cpp')]
|
|
|
|
binary.compiler.defines += ['HAVE_STRING_H']
|
|
|
|
if sdk['name'] != 'episode1':
|
|
binary.compiler.defines += ['HOOKING_ENABLED']
|
|
|
|
if binary.compiler.behavior == 'gcc':
|
|
binary.compiler.cxxflags += ['-Wno-invalid-offsetof']
|
|
|
|
SM.extensions += builder.Add(project)
|