games/spring: Remove expired port
2023-11-30 games/spring: Fails to build and marked broken for several months
This commit is contained in:
parent
bf234f895b
commit
c470081849
16 changed files with 1 additions and 429 deletions
1
MOVED
1
MOVED
|
@ -8240,3 +8240,4 @@ games/quake3||2023-12-31|Has expired: BROKEN for more than 4 years on all suppor
|
|||
audio/xmradio||2023-12-31|Has expired: Requires defunct bktr
|
||||
editors/xi-core||2023-12-31|Has expired: Project is currently discontinued, one depend port broken (editors/xi-term set to deprecation too). Upstream recommends editors/lapce
|
||||
editors/pdfedit||2023-12-31|Has expired: BROKEN on all supported versions for 2 years after the EOL of 12
|
||||
games/spring||2023-12-31|Has expired: Fails to build and marked broken for several months
|
||||
|
|
|
@ -930,7 +930,6 @@
|
|||
SUBDIR += spellcast
|
||||
SUBDIR += spicetrade
|
||||
SUBDIR += spider
|
||||
SUBDIR += spring
|
||||
SUBDIR += starfighter
|
||||
SUBDIR += starlanes
|
||||
SUBDIR += steelstorm
|
||||
|
|
|
@ -1,94 +0,0 @@
|
|||
PORTNAME= spring
|
||||
PORTVERSION= 106.0.1
|
||||
CATEGORIES= games
|
||||
|
||||
MAINTAINER= amdmi3@FreeBSD.org
|
||||
COMMENT= Project aiming to create a new and versatile RTS Engine
|
||||
WWW= https://springrts.com/
|
||||
|
||||
LICENSE= GPLv2+ BSD3CLAUSE BSD2CLAUSE
|
||||
LICENSE_COMB= multi
|
||||
LICENSE_FILE= ${WRKSRC}/LICENSE
|
||||
|
||||
DEPRECATED= Fails to build and marked broken for several months
|
||||
EXPIRATION_DATE=2023-11-30
|
||||
|
||||
LIB_DEPENDS= libfreetype.so:print/freetype2 \
|
||||
libIL.so:graphics/devil \
|
||||
libogg.so:audio/libogg \
|
||||
libvorbis.so:audio/libvorbis \
|
||||
libminizip.so:archivers/minizip \
|
||||
libfontconfig.so:x11-fonts/fontconfig \
|
||||
libcurl.so:ftp/curl \
|
||||
libunwind.so:devel/libunwind \
|
||||
libjsoncpp.so:devel/jsoncpp
|
||||
BUILD_DEPENDS= 7zz:archivers/7-zip
|
||||
|
||||
BROKEN_FreeBSD_13= ld: error: undefined symbol: streflop_libm::__inline_isnanf(float)
|
||||
BROKEN_FreeBSD_14= ld: error: undefined symbol: streflop_libm::__inline_isnanf(float)
|
||||
ONLY_FOR_ARCHS= amd64
|
||||
ONLY_FOR_ARCHS_REASON= relies on x86 floating-point math and amd64 atomic ops
|
||||
|
||||
USE_GITHUB= yes
|
||||
GH_TUPLE= spring:Python:b69a4ea:Python/AI/Interfaces/Python \
|
||||
spring:AAI:fba6d98:AAI/AI/Skirmish/AAI \
|
||||
spring:CircuitAI:307daf7:CircuitAI/AI/Skirmish/CircuitAI \
|
||||
spring:HughAI:2866476:HughAI/AI/Skirmish/HughAI \
|
||||
spring:KAIK:2d9333e:KAIK/AI/Skirmish/KAIK \
|
||||
spring:Shard:c551e5e:Shard/AI/Skirmish/Shard \
|
||||
spring:SpringMapConvNG:0ddd86e:SprintMapConvNG/tools/mapcompile \
|
||||
spring:pr-downloader:68b7dae:pr_downloader/tools/pr-downloader \
|
||||
spring:pyunitsync:8dfe0bc:pyunitsync/tools/unitsync/python
|
||||
|
||||
USES= cmake compiler:c++17-lang desktop-file-utils gl localbase:ldflags \
|
||||
openal:al pkgconfig sdl shared-mime-info xorg
|
||||
USE_GL= gl glu glew
|
||||
USE_SDL= sdl2
|
||||
USE_XORG= x11 xcursor
|
||||
CMAKE_ARGS= -DDATADIR:STRING="share/${PORTNAME}" \
|
||||
-DDOCDIR:STRING="share/doc/${PORTNAME}" \
|
||||
-DAI_TYPES:STRING="NATIVE" \
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_Git=TRUE \
|
||||
-Wno-dev
|
||||
|
||||
.if defined(WITH_SYNC_DEBUG)
|
||||
CFLAGS= # empty
|
||||
CXXFLAGS= # empty
|
||||
CMAKE_ARGS+= -DTRACE_SYNC=true -DSYNCDEBUG=true -DSYNCCHECK=true
|
||||
CMAKE_BUILD_TYPE=DEBUG
|
||||
.endif
|
||||
|
||||
# The check-target fails right now: https://springrts.com/mantis/view.php?id=4736
|
||||
TEST_TARGET= check
|
||||
|
||||
PORTDATA= *
|
||||
|
||||
OPTIONS_DEFINE= MANPAGES
|
||||
OPTIONS_DEFAULT=MANPAGES
|
||||
OPTIONS_SUB= yes
|
||||
|
||||
MANPAGES_CMAKE_BOOL= ENABLE_MANPAGES
|
||||
MANPAGES_BUILD_DEPENDS= asciidoc:textproc/asciidoc \
|
||||
xsltproc:textproc/libxslt \
|
||||
${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl:textproc/docbook-xsl \
|
||||
bash:shells/bash
|
||||
|
||||
post-extract:
|
||||
# build system expects 2 digit version
|
||||
@${ECHO_CMD} ${PORTVERSION:R} > ${WRKSRC}/VERSION
|
||||
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -i '' -e 's|LEGACY|OPENGL4|' ${WRKSRC}/doc/manpages/spring.6.txt
|
||||
.if defined(WITH_OPTIONAL_GS4)
|
||||
# allows minimal runtest with older hardware
|
||||
@${REINPLACE_CMD} -e '/GLEW_ARB_geometry_shader4/ s|CHECK_REQ_EXT|CHECK_OPT_EXT|' ${WRKSRC}/rts/Rendering/GlobalRendering.cpp
|
||||
.endif
|
||||
@${REINPLACE_CMD} -e 's|/etc/\(spring/datadir\)|${PREFIX}/\1|g' \
|
||||
${WRKSRC}/rts/System/FileSystem/DataDirLocater.cpp
|
||||
@${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
|
||||
${WRKSRC}/rts/build/cmake/*.cmake
|
||||
# XXX: recheck if this is still needed
|
||||
@${REINPLACE_CMD} -e 's|x1F3F|x0F3F|g' \
|
||||
${WRKSRC}/rts/System/Sync/FPUCheck.cpp
|
||||
|
||||
.include <bsd.port.mk>
|
|
@ -1,21 +0,0 @@
|
|||
TIMESTAMP = 1647541925
|
||||
SHA256 (spring-spring-106.0.1_GH0.tar.gz) = 2097642f8f5d77a5e61ecfea9159e835c4a78085b8ddf4ecaee1891589a98d37
|
||||
SIZE (spring-spring-106.0.1_GH0.tar.gz) = 9950280
|
||||
SHA256 (spring-Python-b69a4ea_GH0.tar.gz) = e6e0afd2b42c2ec66d0ce1bb5fbfeedc1d5d21646004c4bbf38997f1b64bd7cb
|
||||
SIZE (spring-Python-b69a4ea_GH0.tar.gz) = 29499
|
||||
SHA256 (spring-AAI-fba6d98_GH0.tar.gz) = 091d2d8ff43fb383e0584b74e7b692aec355715e29dd4d9c6e63b4fb237a5c89
|
||||
SIZE (spring-AAI-fba6d98_GH0.tar.gz) = 148147
|
||||
SHA256 (spring-CircuitAI-307daf7_GH0.tar.gz) = 23189c84cd8966dae042edc9cfcb860bfc23d1250f0d84470dceef9a604a1da8
|
||||
SIZE (spring-CircuitAI-307daf7_GH0.tar.gz) = 1455519
|
||||
SHA256 (spring-HughAI-2866476_GH0.tar.gz) = d0535163fec89d9db8c4e74a6b0cd1eb78f364130a0a936718bb77ecdb7a754e
|
||||
SIZE (spring-HughAI-2866476_GH0.tar.gz) = 126578
|
||||
SHA256 (spring-KAIK-2d9333e_GH0.tar.gz) = 64a82bd9fedaaf0b7b8802ed71f5b53f833d583f54dddb3ffd539ec767daf7b9
|
||||
SIZE (spring-KAIK-2d9333e_GH0.tar.gz) = 97982
|
||||
SHA256 (spring-Shard-c551e5e_GH0.tar.gz) = 3c0328a33332c3b8fe9152f2ebf839eee8cebcbd4326fe6745afc327c8114f4d
|
||||
SIZE (spring-Shard-c551e5e_GH0.tar.gz) = 358900
|
||||
SHA256 (spring-SpringMapConvNG-0ddd86e_GH0.tar.gz) = c9840de87cd37cab8bc2e2fc15cad3b177369a0dc8da41c7b8d4513d6355ca31
|
||||
SIZE (spring-SpringMapConvNG-0ddd86e_GH0.tar.gz) = 21487
|
||||
SHA256 (spring-pr-downloader-68b7dae_GH0.tar.gz) = 4931f0d4d514f7c201f2df85b3696cceb4190309e96edd37891ef6bec14b98b7
|
||||
SIZE (spring-pr-downloader-68b7dae_GH0.tar.gz) = 835836
|
||||
SHA256 (spring-pyunitsync-8dfe0bc_GH0.tar.gz) = a2fc49738d825016fdbe85b72de3542320f5bf8a640e1651cbb3661a682da281
|
||||
SIZE (spring-pyunitsync-8dfe0bc_GH0.tar.gz) = 131086
|
|
@ -1,11 +0,0 @@
|
|||
--- doc/CMakeLists.txt.orig 2020-12-26 12:45:43 UTC
|
||||
+++ doc/CMakeLists.txt
|
||||
@@ -1,6 +1,7 @@
|
||||
+option(ENABLE_MANPAGES "Enable manpages" FALSE)
|
||||
|
||||
### make and install the man pages
|
||||
-if (UNIX)
|
||||
+if (UNIX AND ENABLE_MANPAGES)
|
||||
find_package(SevenZip)
|
||||
set(AsciiDoc_FIND_QUIETLY TRUE)
|
||||
find_package(AsciiDoc)
|
|
@ -1,8 +0,0 @@
|
|||
--- doc/manpages/make_manpages.sh.orig 2020-12-26 12:45:43 UTC
|
||||
+++ doc/manpages/make_manpages.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/usr/bin/env bash
|
||||
|
||||
ORIG_DIR=$(pwd)
|
||||
|
|
@ -1,61 +0,0 @@
|
|||
--- ./AI/Skirmish/CircuitAI/CMakeLists.txt.orig 2021-01-01 16:10:55 UTC
|
||||
+++ ./AI/Skirmish/CircuitAI/CMakeLists.txt
|
||||
@@ -9,7 +9,7 @@ if (WIN32) # spring::condition_variable_any requireme
|
||||
elseif (APPLE)
|
||||
set(additionalSources ${additionalSources} ${CMAKE_SOURCE_DIR}/rts/System/Platform/Mac/Signal.cpp)
|
||||
else ()
|
||||
- set(additionalSources ${additionalSources} ${CMAKE_SOURCE_DIR}/rts/System/Platform/Linux/Futex.cpp)
|
||||
+ #set(additionalSources ${additionalSources} ${CMAKE_SOURCE_DIR}/rts/System/Platform/Linux/Futex.cpp)
|
||||
endif ()
|
||||
set(additionalLibraries ${Cpp_AIWRAPPER_TARGET} CUtils)
|
||||
#set(additionalLibraries ${Cpp_AIWRAPPER_TARGET} CUtils ${SDL2_LIBRARY})
|
||||
--- rts/System/CMakeLists.txt.orig 2020-12-26 12:45:43 UTC
|
||||
+++ rts/System/CMakeLists.txt
|
||||
@@ -140,7 +140,7 @@ set(sources_engine_System_Threading_Mac
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/Platform/Mac/Signal.cpp"
|
||||
)
|
||||
set(sources_engine_System_Threading_Linux
|
||||
- "${CMAKE_CURRENT_SOURCE_DIR}/Platform/Linux/Futex.cpp"
|
||||
+ "${CMAKE_CURRENT_SOURCE_DIR}/Platform/Mac/Signal.cpp"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/Platform/Linux/ThreadSupport.cpp"
|
||||
)
|
||||
set(sources_engine_System_Threading_Windows
|
||||
--- rts/System/Platform/Linux/Futex.h.orig 2020-12-26 12:45:43 UTC
|
||||
+++ rts/System/Platform/Linux/Futex.h
|
||||
@@ -8,7 +8,7 @@
|
||||
#include "System/Misc/SpringTime.h"
|
||||
|
||||
|
||||
-
|
||||
+#ifndef __FreeBSD__
|
||||
class spring_futex
|
||||
{
|
||||
private:
|
||||
@@ -32,6 +32,7 @@ class spring_futex (public)
|
||||
protected:
|
||||
native_type mtx;
|
||||
};
|
||||
+#endif
|
||||
|
||||
/*FIXME
|
||||
class recursive_futex
|
||||
--- rts/System/Threading/SpringThreading.h.orig 2020-12-26 12:45:43 UTC
|
||||
+++ rts/System/Threading/SpringThreading.h
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
#if defined(_WIN32)
|
||||
#include "System/Platform/Win/CriticalSection.h"
|
||||
-#elif defined(__APPLE__) || !defined(USE_FUTEX)
|
||||
+#elif defined(__APPLE__) || defined(__FreeBSD__) || !defined(USE_FUTEX)
|
||||
#include "System/Platform/Mac/Signal.h"
|
||||
#elif !defined(__APPLE__) && defined(USE_FUTEX)
|
||||
#include "System/Platform/Linux/Futex.h"
|
||||
@@ -37,7 +37,7 @@ namespace spring {
|
||||
typedef CriticalSection recursive_mutex;
|
||||
typedef win_signal signal;
|
||||
typedef std::condition_variable_any condition_variable;
|
||||
-#elif defined(__APPLE__) || !defined(USE_FUTEX)
|
||||
+#elif defined(__APPLE__) || defined(__FreeBSD__) || !defined(USE_FUTEX)
|
||||
typedef std::mutex mutex;
|
||||
typedef std::recursive_mutex recursive_mutex;
|
||||
typedef mac_signal signal;
|
|
@ -1,13 +0,0 @@
|
|||
https://github.com/spring/spring/pull/558
|
||||
|
||||
--- rts/System/GlobalRNG.h.orig 2021-01-01 16:12:22 UTC
|
||||
+++ rts/System/GlobalRNG.h
|
||||
@@ -100,6 +100,8 @@ template<typename RNG, bool synced> class CGlobalRNG {
|
||||
typedef typename RNG::val_type rng_val_type;
|
||||
typedef typename RNG::res_type rng_res_type;
|
||||
|
||||
+ using result_type = rng_res_type;
|
||||
+
|
||||
static_assert(std::numeric_limits<float>::digits == 24, "sign plus mantissa bits should be 24");
|
||||
|
||||
void Seed(rng_val_type seed) { SetSeed(seed); }
|
|
@ -1,19 +0,0 @@
|
|||
--- rts/System/Platform/Linux/ThreadSupport.cpp.orig 2021-01-01 16:12:22 UTC
|
||||
+++ rts/System/Platform/Linux/ThreadSupport.cpp
|
||||
@@ -7,6 +7,7 @@
|
||||
#include <csignal>
|
||||
#include <fstream>
|
||||
#include <sys/syscall.h>
|
||||
+#include <pthread_np.h>
|
||||
|
||||
#include "System/Log/ILog.h"
|
||||
#include "System/Platform/Threading.h"
|
||||
@@ -42,7 +43,7 @@ enum LinuxThreadState {
|
||||
* There is no glibc wrapper for this system call, so you have to write one:
|
||||
*/
|
||||
static int gettid() {
|
||||
- return syscall(SYS_gettid);
|
||||
+ return pthread_getthreadid_np();
|
||||
}
|
||||
|
||||
/**
|
|
@ -1,21 +0,0 @@
|
|||
--- rts/System/Platform/Misc.cpp.orig 2021-01-01 16:12:22 UTC
|
||||
+++ rts/System/Platform/Misc.cpp
|
||||
@@ -29,7 +29,9 @@
|
||||
#include <mach-o/dyld.h>
|
||||
|
||||
#elif defined( __FreeBSD__)
|
||||
+ #include <sys/types.h>
|
||||
#include <sys/sysctl.h>
|
||||
+ #include <ifaddrs.h>
|
||||
|
||||
#else
|
||||
|
||||
@@ -714,7 +716,7 @@ namespace Platform
|
||||
return (GetMacType(macAddr, 0), macAddr);
|
||||
}
|
||||
|
||||
- #elif defined(__APPLE__)
|
||||
+ #elif defined(__APPLE__) || defined (__FreeBSD__)
|
||||
|
||||
std::array<uint8_t, 6> GetRawMacAddr() {
|
||||
// TODO: http://lists.freebsd.org/pipermail/freebsd-hackers/2004-June/007415.html
|
|
@ -1,11 +0,0 @@
|
|||
--- rts/build/cmake/FindSevenZip.cmake.orig 2020-12-26 12:45:43 UTC
|
||||
+++ rts/build/cmake/FindSevenZip.cmake
|
||||
@@ -23,7 +23,7 @@ ENDIF (SEVENZIP_BIN)
|
||||
set(progfilesx86 "ProgramFiles(x86)")
|
||||
|
||||
find_program(SEVENZIP_BIN
|
||||
- NAMES 7z 7za
|
||||
+ NAMES 7zz
|
||||
HINTS "${MINGWDIR}" "${MINGWLIBS}/bin" "$ENV{${progfilesx86}}/7-zip" "$ENV{ProgramFiles}/7-zip" "$ENV{ProgramW6432}/7-zip"
|
||||
PATH_SUFFIXES bin
|
||||
DOC "7zip executable"
|
|
@ -1,11 +0,0 @@
|
|||
--- rts/build/cmake/UtilVersion.cmake.orig 2022-01-10 23:00:52 UTC
|
||||
+++ rts/build/cmake/UtilVersion.cmake
|
||||
@@ -183,7 +183,7 @@ macro (fetch_spring_version dir prefix)
|
||||
# Try to fetch version through VERSION file
|
||||
get_version_from_file(${prefix}_VERSION "${dir}/VERSION")
|
||||
if (${${prefix}_VERSION-NOTFOUND})
|
||||
- message (FATAL_ERROR "Failed to fetch ${prefix} version.")
|
||||
+ message (FATAL_ERROR "Failed to fetch ${prefix} version from ${dir}/VERSION.")
|
||||
else ()
|
||||
message (STATUS "${prefix} version fetched from VERSION file: ${${prefix}_VERSION}")
|
||||
endif ()
|
|
@ -1,119 +0,0 @@
|
|||
--- AI/Skirmish/CircuitAI/src/circuit/setup/SetupManager.cpp.orig 2021-01-01 16:10:55 UTC
|
||||
+++ AI/Skirmish/CircuitAI/src/circuit/setup/SetupManager.cpp
|
||||
@@ -26,6 +26,8 @@
|
||||
#include "Info.h"
|
||||
|
||||
#include <regex>
|
||||
+#include <algorithm>
|
||||
+#include <random>
|
||||
|
||||
namespace circuit {
|
||||
|
||||
@@ -183,7 +185,9 @@ void CSetupManager::PickStartPos(CCircuitAI* circuit,
|
||||
c.distDivIncome = center.distance(cl.position) / income;
|
||||
validClusters.push_back(std::make_pair(kv.first, c));
|
||||
}
|
||||
- std::random_shuffle(validClusters.begin(), validClusters.end());
|
||||
+ std::random_device rd;
|
||||
+ std::minstd_rand g(rd());
|
||||
+ std::shuffle(validClusters.begin(), validClusters.end(), g);
|
||||
|
||||
auto cmp = [](const std::pair<int, SCluster>& a, const std::pair<int, SCluster>& b) {
|
||||
if (a.second.count < b.second.count) {
|
||||
--- ./AI/Skirmish/CircuitAI/src/circuit/util/math/EncloseCircle.cpp.orig 2021-01-01 16:10:55 UTC
|
||||
+++ ./AI/Skirmish/CircuitAI/src/circuit/util/math/EncloseCircle.cpp
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "util/utils.h"
|
||||
|
||||
#include <algorithm>
|
||||
+#include <random>
|
||||
#include <assert.h>
|
||||
|
||||
namespace circuit {
|
||||
@@ -48,7 +49,9 @@ void CEncloseCircle::MakeCircle(const std::vector<AIFl
|
||||
}
|
||||
// Randomize order
|
||||
// TODO: Read why shuffle??
|
||||
- std::random_shuffle(shuffled.begin(), shuffled.end());
|
||||
+ std::random_device rd;
|
||||
+ std::minstd_rand g(rd());
|
||||
+ std::shuffle(shuffled.begin(), shuffled.end(), g);
|
||||
|
||||
// Progressively add points to circle or recompute circle
|
||||
decltype(shuffled)::iterator it = shuffled.begin();
|
||||
--- rts/Game/GameSetup.cpp.orig 2021-01-01 16:12:22 UTC
|
||||
+++ rts/Game/GameSetup.cpp
|
||||
@@ -255,7 +255,7 @@ void CGameSetup::LoadStartPositions(bool withoutMap)
|
||||
// Server syncs these later, so we can use unsynced rng
|
||||
CGlobalUnsyncedRNG rng;
|
||||
rng.Seed(HsiehHash(setupText.c_str(), setupText.length(), 1234567));
|
||||
- std::random_shuffle(teamStartNums.begin(), teamStartNums.begin() + teamStartingData.size(), rng);
|
||||
+ std::shuffle(teamStartNums.begin(), teamStartNums.begin() + teamStartingData.size(), rng);
|
||||
}
|
||||
|
||||
for (size_t i = 0; i < teamStartingData.size(); ++i)
|
||||
--- rts/Rendering/Env/Decals/DecalsDrawerGL4.cpp.orig 2021-01-01 19:08:25 UTC
|
||||
+++ rts/Rendering/Env/Decals/DecalsDrawerGL4.cpp
|
||||
@@ -338,7 +338,7 @@ void CDecalsDrawerGL4::DetectMaxDecals()
|
||||
decals.resize(maxDecals);
|
||||
freeIds.resize(maxDecals - 1); // idx = 0 is invalid, so -1
|
||||
std::iota(freeIds.begin(), freeIds.end(), 1); // start with 1, 0 is illegal
|
||||
- std::random_shuffle(freeIds.begin(), freeIds.end(), guRNG);
|
||||
+ std::shuffle(freeIds.begin(), freeIds.end(), guRNG);
|
||||
groups.reserve(maxDecalGroups);
|
||||
}
|
||||
|
||||
--- rts/Sim/Misc/SimObjectIDPool.cpp.orig 2020-12-26 12:45:43 UTC
|
||||
+++ rts/Sim/Misc/SimObjectIDPool.cpp
|
||||
@@ -25,8 +25,8 @@ void SimObjectIDPool::Expand(unsigned int baseID, unsi
|
||||
std::generate(newIDs.begin(), newIDs.begin() + numIDs, [&baseID]() { return (baseID++); });
|
||||
|
||||
// randomize so that Lua widgets can not easily determine counts
|
||||
- std::random_shuffle(newIDs.begin(), newIDs.begin() + numIDs, gsRNG);
|
||||
- std::random_shuffle(newIDs.begin(), newIDs.begin() + numIDs, gsRNG);
|
||||
+ std::shuffle(newIDs.begin(), newIDs.begin() + numIDs, gsRNG);
|
||||
+ std::shuffle(newIDs.begin(), newIDs.begin() + numIDs, gsRNG);
|
||||
|
||||
// lambda capture ("[n = baseID]() mutable { return (n++); }") requires std=c++14
|
||||
baseID -= numIDs;
|
||||
--- rts/Sim/Projectiles/ProjectileHandler.cpp.orig 2020-12-26 12:45:43 UTC
|
||||
+++ rts/Sim/Projectiles/ProjectileHandler.cpp
|
||||
@@ -66,6 +66,18 @@ ProjMemPool projMemPool;
|
||||
CProjectileHandler projectileHandler;
|
||||
|
||||
|
||||
+namespace {
|
||||
+ template<class RandomIt, class RandomFunc>
|
||||
+ void random_shuffle(RandomIt first, RandomIt last, RandomFunc&& r)
|
||||
+ {
|
||||
+ typename std::iterator_traits<RandomIt>::difference_type i, n;
|
||||
+ n = last - first;
|
||||
+ for (i = n-1; i > 0; --i) {
|
||||
+ using std::swap;
|
||||
+ swap(first[i], first[r(i+1)]);
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
|
||||
void CProjectileHandler::Init()
|
||||
{
|
||||
@@ -106,8 +118,8 @@ void CProjectileHandler::Init()
|
||||
freeProjectileIDs[false].push_back(i);
|
||||
}
|
||||
|
||||
- std::random_shuffle(freeProjectileIDs[ true].begin(), freeProjectileIDs[ true].end(), gsRNG);
|
||||
- std::random_shuffle(freeProjectileIDs[false].begin(), freeProjectileIDs[false].end(), guRNG);
|
||||
+ ::random_shuffle(freeProjectileIDs[ true].begin(), freeProjectileIDs[ true].end(), gsRNG);
|
||||
+ ::random_shuffle(freeProjectileIDs[false].begin(), freeProjectileIDs[false].end(), guRNG);
|
||||
}
|
||||
|
||||
for (int modelType = 0; modelType < MODELTYPE_OTHER; ++modelType) {
|
||||
@@ -395,7 +407,7 @@ void CProjectileHandler::AddProjectile(CProjectile* p)
|
||||
|
||||
// generate (newSize - oldSize) new id's starting from oldSize
|
||||
std::for_each(freeIDs.begin(), freeIDs.end(), [k = oldSize](int& id) mutable { id = k++; });
|
||||
- std::random_shuffle(freeIDs.begin(), freeIDs.end(), rngFunc);
|
||||
+ ::random_shuffle(freeIDs.begin(), freeIDs.end(), rngFunc);
|
||||
}
|
||||
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
Spring is a full 3D RTS game engine, designed, in its basis, to
|
||||
be able to run the content of the game Total Annihilation and deliver
|
||||
a similar, but improved, gaming experience.
|
||||
|
||||
Games can be intense and very large scaled, with fight of, literally,
|
||||
hundreds of unit and the mods allow very wide arrays of different
|
||||
strategies and tactics.
|
|
@ -1,17 +0,0 @@
|
|||
[
|
||||
{ type: install
|
||||
message: <<EOM
|
||||
To finalize installation of Spring, you need to get at least one
|
||||
map and at least one mod, and place those into your ~/.spring. Also,
|
||||
if you wish to play mods based on Total Annihilation, you'll need
|
||||
OTA content as well.
|
||||
|
||||
For further instructions, see:
|
||||
|
||||
http://springrts.com/wiki/Read_Me_First
|
||||
|
||||
Alternatively, you can use games/springlobby port which allows you
|
||||
to download maps and setup single- and multiplayer games.
|
||||
EOM
|
||||
}
|
||||
]
|
|
@ -1,15 +0,0 @@
|
|||
bin/mapcompile
|
||||
bin/mapdecompile
|
||||
bin/pr-downloader
|
||||
bin/spring
|
||||
bin/spring-dedicated
|
||||
bin/spring-headless
|
||||
lib/libunitsync.so
|
||||
share/applications/spring.desktop
|
||||
%%MANPAGES%%share/man/man6/spring-dedicated.6.gz
|
||||
%%MANPAGES%%share/man/man6/spring-headless.6.gz
|
||||
%%MANPAGES%%share/man/man6/spring-opengl4.6.gz
|
||||
%%MANPAGES%%share/man/man6/spring.6.gz
|
||||
share/mime/packages/spring.xml
|
||||
share/pixmaps/application-x-spring-demo.png
|
||||
share/pixmaps/spring.png
|
Loading…
Reference in a new issue