Commit Graph
335 Commits
Author SHA1 Message Date
NotnHeavy 0bc9aa46e6 Update checkout-deps files to install hl2sdk-mock (#2102) 2024-01-22 15:30:15 +00:00
B3none 30415e299e Updated ProfFileParser.class.php to PSR-12 2023-11-30 21:58:49 -08:00
Nick Hastings ef74b51c8b Probably fix build 2023-11-20 19:54:41 -05:00
Nick Hastings e74aa099bc Add debugging to bootstrap script 2023-11-20 19:40:09 -05:00
Nick Hastings 8140cb2d6b Tweak build script 🐍 2023-11-20 19:37:22 -05:00
David Anderson 4b2d8b53fa Fix macOS scripting SDK build.
This also enables universal spcomp binaries with arm64 support.
2023-11-04 23:01:44 -07:00
PlayBoy31 8c9fd3746b Fix missing submodules (#2074)
* add --recursive for missing submodules
2023-11-02 21:02:15 -07:00
Nicholas Hastings 17462cbe5a Fix build using wrong dir in bootstrapping 2023-10-21 19:02:51 -04:00
Nick Hastings 2c6ef5825f Update from Clang 13 to Clang 14 for Linux build 2023-10-16 13:21:02 -04:00
David Anderson cb1dae5aab Fix minimal rebuilds on buildbot. 2023-10-13 21:28:33 -07:00
David Anderson fac3138ff5 Fix typo. 2023-10-13 14:14:47 -07:00
David Anderson ab9e86910c Switch bootstrap.pl to Python. 2023-10-13 14:04:56 -07:00
peace-maker 4e6774befb Add sanity check for syntax errors in translations (#1978)
The pull request should be blocked on basic typos breaking the SMC file.
2023-04-09 19:25:50 +02:00
peace-maker 4eecc80b9a Fix translations workflow (#1963)
* Fix translations workflow

* Temporarily trigger workflow for PRs

* Trigger without a PR

* Just work please

* Update github-app-token dependency

* Update workflow step name

* Disable on PRs again
2023-03-30 02:28:03 +02:00
Kyle SandersonandPeace-Maker 48150e0c7a Bring languages into the tree (#1625)
* translations: bring languages into tree

* Update translation phrases changed since 2021

* Update packaging script to include all translations

* Update languages.cfg

* Add Latin American Spanish translations

This is a copy of spanish for now.

* Ignore "en" when looking for translation folders

English is the default and doesn't use a subfolder.

* Only add each translation folder once

Korean "ko" is in there twice.

* Compare language coverage to english

All phrases are compared to the english baseline files and any differences
are reported. The differences are pushed to a Github Project as well for
an easier overview.

Thank you to @nosoop for sharing the Python SMC parser!

* Add link to README

---------

Co-authored-by: Peace-Maker <[email protected]>
2023-03-29 16:23:05 +02:00
Corey D 43cdc65708 Add Ghidra MakeSig script (#1926) 2023-02-05 04:46:52 +00:00
peace-maker 4320d7b17a Get sdktools and sdkhooks/dhooks to load on hl2sdk-mock (#1892)
* Build SDKTools for hl2sdk-mock

* Fix loading of extensions using advanced naming scheme for hl2sdk-mock

* Fix error on missing sv_visiblemaxplayers convar

* Build SDKHooks for hl2sdk-mock

* Fix x86_64 SourcePawn VM filename

* SDKHooks: Ignore missing IEntityListeners list in hl2sdk-mock
2022-12-22 18:39:12 +01:00
zer0.k 3a315e88c2 Update MM:S version in CI, dependency checkout scripts and sample extensions (#1885)
* Update MM:S version in CI, dependency checkout scripts and sample extensions

* Update MM:S version in CI, dependency checkout scripts and sample extensions

* Fix EOL problems
2022-12-19 18:15:45 +01:00
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
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 <[email protected]>
Co-authored-by: Headline <[email protected]>
Co-authored-by: Accelerator74 <[email protected]>
Co-authored-by: Peace-Maker <[email protected]>
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