games/pioneer: Update to 0.0.20180203

Changelog:
https://github.com/pioneerspacesim/pioneer/blob/master/Changelog.txt

Additional port changes:
* Removed the patch that has been committed upstream:
  patch-data_modules_SearchRescue_SearchRescue.lua
* Slight whitespace reformatting.

PR:		225722
Submitted by:	lightside <lightside@gmx.com> (maintainer)
Approved by:	tcberner (mentor, implicit)
This commit is contained in:
Yuri Victorovich 2018-02-10 11:17:38 +00:00
parent 09ef9b523b
commit 5580f8029c
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=461383
3 changed files with 7 additions and 94 deletions

View File

@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= pioneer
PORTVERSION= 0.0.${GH_TAGNAME}
PORTREVISION= 1
DISTVERSION= 0.0.${GH_TAGNAME}
CATEGORIES= games
MAINTAINER= lightside@gmx.com
@ -35,11 +34,9 @@ LIB_DEPENDS= libsigc-2.0.so:devel/libsigc++20 \
libassimp.so:multimedia/assimp
USES= autoreconf compiler:c++11-lib gmake pkgconfig
USE_GITHUB= yes
GH_ACCOUNT= pioneerspacesim
GH_TAGNAME= 20171001
GH_TAGNAME= 20180203
USE_GL= gl
USE_SDL= image2 sdl2
@ -62,9 +59,8 @@ SUB_FILES= pkg-message
OPTIONS_DEFINE= DOCS MODELCOMPILER NOGPUJOBS PROFILER SERVERAGENT
OPTIONS_DEFAULT= MODELCOMPILER
DOCS_SUB_LIST= QUICKSTART_PATH="${DOCSDIR}"
DOCS_SUB_LIST_OFF= \
QUICKSTART_PATH="https://raw.githubusercontent.com/${GH_ACCOUNT}/${GH_PROJECT}/${GH_TAGNAME}"
DOCS_SUB_LIST= QUICKSTART_PATH="${DOCSDIR}"
DOCS_SUB_LIST_OFF= QUICKSTART_PATH="https://raw.githubusercontent.com/${GH_ACCOUNT}/${GH_PROJECT}/${GH_TAGNAME}"
MODELCOMPILER_DESC= Build/install modelcompiler tool
MODELCOMPILER_PLIST_FILES= bin/${PORTNAME}-modelcompiler
NOGPUJOBS_DESC= Disable EnableGPUJobs for config.ini by default

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1506816107
SHA256 (pioneerspacesim-pioneer-0.0.20171001-20171001_GH0.tar.gz) = 154118bd3dac2f9b8ea43a837bcb967abcc8c3a8ee5ab61d35183bae85e8b0db
SIZE (pioneerspacesim-pioneer-0.0.20171001-20171001_GH0.tar.gz) = 210900753
TIMESTAMP = 1518258401
SHA256 (pioneerspacesim-pioneer-0.0.20180203-20180203_GH0.tar.gz) = 19aa89e8ec0221b937b9279e0d4897b3016e0ce80858d03600d3e80cd7daa907
SIZE (pioneerspacesim-pioneer-0.0.20180203-20180203_GH0.tar.gz) = 212872392

View File

@ -1,83 +0,0 @@
Fix SAR selection of ship sizes for missions
https://github.com/pioneerspacesim/pioneer/commit/008e30a857036a8cc40c42bf89ef68e65b47a41e
--- data/modules/SearchRescue/SearchRescue.lua.orig 2017-10-01 00:01:47 UTC
+++ data/modules/SearchRescue/SearchRescue.lua
@@ -613,7 +613,20 @@ local createTargetShipParameters = funct
---- loading drive, weapons etc.
if flavour.id == 1 or flavour.id == 6 then
for i,shipdef in pairs(shipdefs) do
- if shipdef.capacity / 10 < 1 then shipdefs[i] = nil end
+
+ -- get mass of hyperdrive if this ship has a default drive
+ -- if no default drive assume lowest mass drive
+ -- higher mass drives will only be fitted later at ship creation if capacity is huge
+ local drive = Equipment.hyperspace['hyperdrive_'..tostring(shipdef.hyperdriveClass)]
+ if not drive then
+ local drives = {}
+ for i = 9, 1, -1 do
+ table.insert(drives, Equipment.hyperspace['hyperdrive_'..tostring(i)])
+ end
+ table.sort(drives, function (a,b) return a.capabilities.mass < b.capabilities.mass end)
+ drive = drives[1]
+ end
+ if (shipdef.capacity-drive.capabilities.mass) / 10 < 1 then shipdefs[i] = nil end
end
elseif flavour.pickup_pass > 0 then
for i,shipdef in pairs(shipdefs) do
@@ -661,7 +674,16 @@ local createTargetShipParameters = funct
if flavour.id == 1 or flavour.id == 6 then
local any_pass = rand:Integer(0,1)
if any_pass > 0 then
- pickup_pass = rand:Integer(1, math.min((shipdef.capacity / 10)+1, max_pass))
+ local drive = Equipment.hyperspace['hyperdrive_'..tostring(shipdef.hyperdriveClass)]
+ if not drive then
+ local drives = {}
+ for i = 9, 1, -1 do
+ table.insert(drives, Equipment.hyperspace['hyperdrive_'..tostring(i)])
+ end
+ table.sort(drives, function (a,b) return a.capabilities.mass < b.capabilities.mass end)
+ drive = drives[1]
+ end
+ pickup_pass = rand:Integer(1, math.min(((shipdef.capacity-drive.capabilities.mass) / 10)+1, max_pass))
else
pickup_pass = 0
end
@@ -709,22 +731,25 @@ local createTargetShip = function (missi
ship:SetPattern(pattern)
-- load a hyperdrive
- local default_drive = Equipment.hyperspace['hyperdrive_'..tostring(shipdef.hyperdriveClass)]
- if default_drive then
- ship:AddEquip(default_drive)
- else
- local drive
+ -- 1st try: default drive for this ship class
+ -- 2nd try: largest drive possible that doesn't take more than a 10th of available room
+ -- fallback: smallest drive
+ local drives = {}
+ local drive = Equipment.hyperspace['hyperdrive_'..tostring(shipdef.hyperdriveClass)]
+ if not drive then
for i = 9, 1, -1 do
- drive = Equipment.hyperspace['hyperdrive_'..tostring(i)]
- if shipdef.capacity / 10 > drive.capabilities.mass then
- ship:AddEquip(drive)
- break
- end
+ table.insert(drives, Equipment.hyperspace['hyperdrive_'..tostring(i)])
end
- if not drive then
- ship:AddEquip(Equipment.hyperspace['hyperdrive_1'])
+ table.sort(drives, function (a,b) return a.capabilities.mass < b.capabilities.mass end)
+ for i = #drives, 1, -1 do
+ local test_drive = drives[i]
+ if shipdef.capacity / 10 > test_drive.capabilities.mass then
+ drive = test_drive
+ end
end
end
+ if not drive then drive = drives[1] end
+ ship:AddEquip(drive)
-- add thruster fuel
if mission.flavour.id == 2 or mission.flavour.id == 4 or mission.flavour.id == 5 then