* Initial PVKII branch support
* Change PVKII code to 23, DOTA uses 22 in MM
* Bunch more SE_PVKII preprocessor that was missed
* Add some missing SOURCE_ENGINE_PVKII cases
* Update PVKII FireOutput signature for Linux
* Update checkout-deps with 'pvkii'
* Fix FireOutput signature for PVKII, accidentally used one from newer build
* Change PVKII code to 10, and bump others by 1
* Only check against SE_SDK2013 here, like Metamod
* More SE_PVKII preprocessor cleanup
* Add support for Maxmind GeoIP2 database files (#913).
* Copy/paste error.
* Mark GeoipCode3 as deprecated.
* Fix build when compiling with AMBuild.
* Replace loose libmaxminddb files with submodule.
* Fix Linux build.
* One more hack for submodule.
* Actually fix Linux build.
* GeoIP2 extension to sourcemod
* Update basevotes
When a player leaves during a voteban, he will be banned anyway. Also added a cvar with a ban time setting.
* Update basevotes.sp
* Update AMBuilder
* ke::AString to std::string
* Update extension.cpp
* Update AMBuilder
* Added coordination natives
Added GeoipLatitude, GeoipLongitude, GeoipDistance natives.
* Create osdefs.h
* Update maxminddb_config.h
* Update extension.cpp
* Update extension.cpp
* Added automatic search for database file
* Fix automatic search for database file
* Update extension.cpp
* Update geoip.inc
* .gitmodules revert
* Update geoip.inc
* Update libmaxminddb to version 1.5.2
* Update extension.cpp
* Check language in the DB
* Removed langCount variable
* Determination of the client's language
* Update geoip.inc
* Update geoip.inc
* Update extension.cpp
* Update geoip.inc
* Update extension.cpp
* space instead of tab in .inc
* Update extension.cpp
* Update geoip.inc
* Optimizing length measurement region code
* Update package script to fetch the new GeoLite2 database
This package is the last CC-BY-SA licensed GeoLite2-City database extracted from https://src.fedoraproject.org/rpms/geolite2 from december 2019.
This doubles the download size for SM packages, but it's what we have to deal with atm :(
* Fix potentially returning uninitialized memory in GeoipRegionCode
If the lookup failed, we'd copy back whatever is on the stack in the ccode buffer.
Co-authored-by: Nick Hastings <nshastings@gmail.com>
Co-authored-by: Headline <michaelwflaherty@me.com>
Co-authored-by: Accelerator74 <dmitry@447751-accele74.tmweb.ru>
Co-authored-by: Peace-Maker <peace-maker@wcfan.de>
* Start using Github Actions
Build on windows and linux. Cannot build for macos,
since the builders only support xcode 10+ which dropped
x86 support.
* Build sourcepawn tooling as separate package
Upload build artifacts containing only spcomp and the includes.
This adds a new `--scripting-only` flag to configure.py which skips
everything and goes straight to building spcomp and packaging the
include folder with it.
* Only run the workflows for the master branch
* Split common operations into PackageHelpers file
Don't duplicate the code for packaging releases for the tooling-only packages. Instead use a common `PackageHelpers` class which provides the functionality common to both packages.
This replaces the explicit list of files to package with a directory scan, so we don't have to list them all.
The pgsql sql-init-scripts were missing from the release package before, so they were added here as well. Three scripts from the testsuite were missing from the explicit list (mapdisplayname, floats, findmap), so they're now included.
* Fix Python 2 compatibility
os.scandir is Python 3 only.
* Prefer python3 over python(2) in checkout-deps
We require Python 3 and don't want to accidentally use Python 2 if both are available.
* Use python3 in travis build
* Install python3-pip package on travis trusty image
* Fix pip detection in checkout-deps.sh
This is a pretty big diff because SourceMod had lots of multi-arch
workarounds that can now go away. I've also changed 'x64' to 'x86_64' in
many places since this is how AMBuild normalizes it, and it's far too
late to pick the shorter string, so we might as well suck it up.
The --target-archs parameter has been replaced with --targets. It works
the same way.
The default behavior for SDK inclusion is now "present" instead of
"all" since this lowers the burden of storing many SDKs. Official builds
will still be made with --sdks=all.
* Add basic Insurgency support on Windows x64
This allows SourceMod to load on x64 Insurgency. There are still a lot of variable truncation warnings that have to be dealt with.
* Fix 32bit builds
* Compile MySQL extension as well
The hack for __iob_func being removed from the core runtime, but required by the old mysql we're building against can be simplified a lot due to the `_ReturnAddress` intrinsic available since MSVC 2015.
* Don't include the offset we want to extract in the signature
SourceMod doesn't support Source 1 Dota 2 anymore and neither Source 2. Speed up CI by only cloning the hl2sdks that are tested.
This adds a `-s sdk1,sdk2` parameter to the checkout-deps.sh script similar to the `-SDKs` option of the powershell script to select specific sdks to update instead of all.
Our official builds use clang-3.4 (for macOS) and clang-3.8 for Linux.
Linux uses libstdc++-4.9. Make sure these two compilers are being tested
and that libstdc++-4.9 is being used for STL.
Add a macOS builder to get coverage there. This will use a newer
clang than we actually use, but as opposed to the linux builder will
test the platform-specific bits.
Finally, use the latest GCC and clang versions from a bionic image, so
we have some coverage of a popular distribution.
.sh version has this bit:
```
if [ $ismac -eq 0 ]; then
# Add these SDKs for Windows or Linux
sdks+=( orangebox blade episode1 bms )
# Add more SDKs for Windows only
if [ $iswin -eq 1 ]; then
sdks+=( darkm swarm bgt eye contagion )
fi
fi
```
Added these to the SDK list.