Commit Graph

317 Commits

Author SHA1 Message Date
Spirrwell
e34e9b9869
Split PVKII into its own engine branch (#1847)
* 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
2022-10-24 19:27:32 +00:00
nosoop
21740d9a26
Add functions for working with entity lumps (#1673) 2022-09-05 15:44:58 -07:00
peace-maker
a7cb35c2af
Add -m flag to checkout-deps to avoid downloading MySQL (#1753)
If you just want to build an extension or SourceMod core and not the MySQL extension, don't download the large MySQL library archive.
2022-04-20 14:34:47 +02:00
Nick Hastings
547ac5b026 Fix helpers module path lookup on newer Perl versions. 2021-12-13 13:16:14 -05:00
Nick Hastings
7328ce657b Missing ;s. 2021-12-13 12:59:20 -05:00
Nicholas Hastings
14c9ac8fdb
[Buildbot] Delete package after successful upload. (#1665)
* [Buildbot] Delete package after successful upload.

* Use autodie.

* ;
2021-12-13 17:52:26 +00:00
Asher Baker
47f135534d Upload libsourcepawn Breakpad symbols as well 2021-12-12 15:04:40 +00:00
Asher Baker
bb095097a2 Upload libsourcepawn debug symbols 2021-12-12 14:43:32 +00:00
Nick Hastings
09ea982bbd Make separate copy of makesig script for IDA 7.x. 2021-11-15 20:52:37 -05:00
Nick Hastings
c72ea03a86 Use MM:S master for Windows builds (already doing for Linux/Mac). 2021-10-13 10:36:36 -04:00
David Anderson
c4e33cab8c Update bootstrap.pl 2021-09-27 20:27:21 -07:00
David Anderson
bf0741e48a Use master for Metamod:Source builds. 2021-09-27 20:27:21 -07:00
David Anderson
a5f99c57e1 Add support for hl2sdk-mock. 2021-09-22 12:36:44 -07:00
komashchenko
f927455778
Removing old GeoIP.dat (#1533) 2021-07-17 11:32:02 +01:00
David Anderson
38eecd5ece Switch to python3 for ambuild. 2021-07-11 22:35:01 -07:00
peace-maker
d192527707
Fix unpacking of GeoLite2 database (#1516)
Apparently you can't unpack and uncompress in one go in Windows and tar -C doesn't affect the input file.
2021-06-30 12:32:40 +01:00
Accelerator
b0563a493c
Update GeoIP2 extension to new GeoLite2 .mmdb database format (#1245)
* 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>
2021-06-30 13:01:12 +02:00
peace-maker
845c20ad93
Start using Github Actions (#1488)
* 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.
2021-05-09 01:46:08 +02:00
peace-maker
5bc48b2ab3
Prefer python3 over python(2) in checkout-deps (#1424)
* 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
2021-03-07 13:50:15 +01:00
Erik Minekus
90b68f095f
Fix spcomp64 filename for Windows #1368 2020-10-19 19:02:20 +02:00
Headline
db56b14637
loader: preserve binary path for amd64 (#1358) 2020-10-02 16:01:30 -07:00
David Anderson
6e2c5a66b3 Remove use of the Dep API.
This is going away.
2020-08-24 20:48:57 -07:00
David Anderson
0bed34e0c7 Add x64 to official Windows builds. 2020-08-20 23:17:21 -07:00
David Anderson
f0d8a70b38 Fix tabs in BreakpadSymbols. 2020-08-19 00:43:12 -07:00
David Anderson
9acf2b5cda Use Python 3.8 on the Windows buildbot. 2020-08-19 00:39:54 -07:00
David Anderson
d49b92603a Another BreakpadSymbols fix. 2020-08-19 00:12:40 -07:00
David Anderson
aa01a22416 Fix BreakpadSymbols again. 2020-08-19 00:09:08 -07:00
David Anderson
50e43a9f98 Fix BreakpadSymbols. 2020-08-18 23:45:30 -07:00
David Anderson
ed325c7208 Trigger a full rebuild. 2020-08-18 23:42:36 -07:00
David Anderson
aac2c4a080 Trigger full reconfigures when requested. 2020-08-18 23:29:24 -07:00
David Anderson
785c6aa1cf Update to AMBuild 2.2.
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.
2020-08-18 23:09:43 -07:00
peace-maker
510bd261f8
core: Add Insurgency support for amd64 Windows (#1295)
* 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
2020-08-06 19:53:06 -07:00
WildCard65
9bbbf60268 Updated 'checkout-deps' to check for 'pip'/'pip3' prior to installing 'AMBuild' 2020-07-31 15:49:44 -07:00
Peace-Maker
37355f9c57 Remove cloning of Dota 2 SDK in CI
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.
2020-07-30 11:37:00 -07:00
Kyle Sanderson
353ced0e41
gamedata: align with core project values. (#1310)
* Rename blacklist.plugins.txt to blocklist.plugins.txt
* gamedata: adjust gamedata name.
* packagescript: adjust filename.
2020-07-14 18:40:28 -07:00
Fyren
75fa198321
Change bootstrap.pl and startbuild.pl to also take CXX. (#1280) 2020-05-27 21:18:49 -04:00
David Anderson
c9f574c27b Fix mac build. 2020-05-20 22:50:41 -07:00
David Anderson
ff018a9a5d Improve Travis coverage.
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.
2020-05-13 19:09:20 -07:00
peace-maker
bc89e54f6d
NPOTB: Always use hl2sdk-proxy-repo in checkout-deps (#1236) 2020-05-08 15:12:21 -07:00
JoinedSenses
a1436cd205 Add windows supported SDKs to powershell checkout-deps (#1116)
.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.
2019-11-04 12:34:56 +00:00
Michael Flaherty
dd81d7c78f
Incorperate Licensing Into Project Tree (#961) 2019-04-12 12:10:13 -07:00
Asher Baker
c501c837d0
Ignore SM site certificate when downloading GeoIP
Build servers don't have a root for it, and the address is internal
2019-01-19 12:34:23 +00:00
Asher Baker
590f71436f
Get GeoIP data from SM site for now 2019-01-19 12:18:36 +00:00
Nick Hastings
53c63def07 Use env vars to find MySQL src on Linux, macOS. 2018-06-07 20:40:14 -04:00
Nicholas Hastings
4637cf9221
Use MySQL 5.5 for MySQL extension. (#786) 2018-03-20 17:12:30 -04:00
Nicholas Hastings
29b1926432 A couple of fixups to last commit (NPOTB). 2017-12-29 04:55:56 -08:00
Nicholas Hastings
e0a154faa0 Add TF2 NextBot symbol data from Pelipoka to GDC (NPOTB). 2017-12-29 04:38:47 -08:00
Scott Ehlert
870e118150 Fix BreakpadSymbols script for 64-bit builds. 2017-12-20 02:07:30 -06:00
Scott Ehlert
ce1a4dcac0
64-bit support for CSGO on Linux and macOS (#705) 2017-12-20 01:56:23 -06:00
Asher Baker
c33bf330a0
Add doi, remove dota 2017-12-04 21:47:00 +00:00