This is perhaps an issue spread over all the sdk branches. The detection of little endianess only ever works for gcc, there's nothing for msvc. From my short research, it seems msvc doesn't/never tell the preprocessor anything about the CPU brand. So instead we're going to assume if the CPU is a x86 or x86_64 processor it's most likely intel so i386-family, therefore little endian. Even if there's room for error, this is still marginally better than not having anything defined.
* Fix compilation for windows, setup ambuild
* Add built tier1 and mathlib for win64
* Ensure compilation is working on windows and linux
* Add -fPIC
* Add compiled libs, with optimisation enabled
* Added windows lib
* Fix hl2sdk for windows
* Longs are the devil
* Fix up threadtools functions
* Add updated libs
* Rework lib naming, and package script
* Update lib directory according to new packaging
---------
Co-authored-by: Kenzzer <kenzzer@users.noreply.github.com>
TF2's VScript update appears to add a new member to the overlay
interface. Discovered by cross-referencing VDebugOverlay003
argument counts / inferred types in disassembly on Windows.
NDebugOverlay::ScreenText was affected by this change differently
on Windows and Linux, so it suggests an overload.
* fix conflicting return type
Example bad compile:
```c
[ 6%] Building CXX object CMakeFiles/TFTrue.dir/AutoUpdater.cpp.o
In file included from /home/steph/TFTrue/SDK.h:38,
from /home/steph/TFTrue/AutoUpdater.h:27,
from /home/steph/TFTrue/AutoUpdater.cpp:19:
/home/steph/TFTrue/hl2sdk-tf2/game/shared/gamemovement.h:45:24: error: conflicting return type specified for ‘virtual const Vector& CGameMovement::GetPlayerMins(bool) const’
45 | virtual const Vector& GetPlayerMins( bool ducked ) const;
| ^~~~~~~~~~~~~
In file included from /home/steph/TFTrue/hl2sdk-tf2/game/shared/gamemovement.h:15,
from /home/steph/TFTrue/SDK.h:38,
from /home/steph/TFTrue/AutoUpdater.h:27,
from /home/steph/TFTrue/AutoUpdater.cpp:19:
/home/steph/TFTrue/hl2sdk-tf2/game/shared/igamemovement.h:122:17: note: overridden function is ‘virtual Vector IGameMovement::GetPlayerMins(bool) const’
122 | virtual Vector GetPlayerMins( bool ducked ) const = 0;
| ^~~~~~~~~~~~~
In file included from /home/steph/TFTrue/SDK.h:38,
from /home/steph/TFTrue/AutoUpdater.h:27,
from /home/steph/TFTrue/AutoUpdater.cpp:19:
/home/steph/TFTrue/hl2sdk-tf2/game/shared/gamemovement.h:46:24: error: conflicting return type specified for ‘virtual const Vector& CGameMovement::GetPlayerMaxs(bool) const’
46 | virtual const Vector& GetPlayerMaxs( bool ducked ) const;
| ^~~~~~~~~~~~~
In file included from /home/steph/TFTrue/hl2sdk-tf2/game/shared/gamemovement.h:15,
from /home/steph/TFTrue/SDK.h:38,
from /home/steph/TFTrue/AutoUpdater.h:27,
from /home/steph/TFTrue/AutoUpdater.cpp:19:
/home/steph/TFTrue/hl2sdk-tf2/game/shared/igamemovement.h:123:17: note: overridden function is ‘virtual Vector IGameMovement::GetPlayerMaxs(bool) const’
123 | virtual Vector GetPlayerMaxs( bool ducked ) const = 0;
| ^~~~~~~~~~~~~
In file included from /home/steph/TFTrue/SDK.h:38,
from /home/steph/TFTrue/AutoUpdater.h:27,
from /home/steph/TFTrue/AutoUpdater.cpp:19:
/home/steph/TFTrue/hl2sdk-tf2/game/shared/gamemovement.h:47:24: error: conflicting return type specified for ‘virtual const Vector& CGameMovement::GetPlayerViewOffset(bool) const’
47 | virtual const Vector& GetPlayerViewOffset( bool ducked ) const;
| ^~~~~~~~~~~~~~~~~~~
In file included from /home/steph/TFTrue/hl2sdk-tf2/game/shared/gamemovement.h:15,
from /home/steph/TFTrue/SDK.h:38,
from /home/steph/TFTrue/AutoUpdater.h:27,
from /home/steph/TFTrue/AutoUpdater.cpp:19:
/home/steph/TFTrue/hl2sdk-tf2/game/shared/igamemovement.h:124:18: note: overridden function is ‘virtual Vector IGameMovement::GetPlayerViewOffset(bool) const’
124 | virtual Vector GetPlayerViewOffset( bool ducked ) const = 0;
| ^~~~~~~~~~~~~~~~~~~
gmake[2]: *** [CMakeFiles/TFTrue.dir/build.make:82: CMakeFiles/TFTrue.dir/AutoUpdater.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:95: CMakeFiles/TFTrue.dir/all] Error 2
gmake: *** [Makefile:103: all] Error 2
```
This should've been updated when this was updated:
5ad032f350
* part 2
* Get rid of warnings
-macro expansion producing 'defined' has undefined behaviour
-conversion from 'int' to 'float', possible loss of data
* Get rid of errors
-conversion from 'int' to 'float', possible loss of data