Skip to content

Commit c4e453e

Browse files
authored
race: Add ghost mode transparency amount setting (#226)
Resolves #187 Add `ghostalphalevel` setting to race to control ghost mode transparency.
1 parent a38d3cb commit c4e453e

File tree

3 files changed

+10
-2
lines changed

3 files changed

+10
-2
lines changed

[gamemodes]/[race]/race/meta.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,13 @@
145145
desc="Set to true to make vehicle semi-transparent when collisions are disabled."
146146
/>
147147

148+
<setting name="*ghostalphalevel" value="180"
149+
friendlyname="Ghost alpha level"
150+
accept="0-255"
151+
group="Graphics"
152+
desc="Amount of transparency when collisions are disabled. Acceptable values are from 0 (fully transparent) to 255 (fully opaque)."
153+
/>
154+
148155
<setting name="*randommaps" value="false"
149156
friendlyname="Random maps"
150157
accept="false,true"

[gamemodes]/[race]/race/modes/base.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -489,7 +489,7 @@ function RaceMode.playerFreeze(player, bRespawn, bDontFix)
489489

490490
-- Setup ghost mode for this vehicle
491491
Override.setCollideOthers( "ForGhostCollisions", vehicle, g_MapOptions.ghostmode and 0 or nil )
492-
Override.setAlpha( "ForGhostAlpha", {player, vehicle}, g_MapOptions.ghostmode and g_GameOptions.ghostalpha and 180 or nil )
492+
Override.setAlpha( "ForGhostAlpha", {player, vehicle}, g_MapOptions.ghostmode and g_GameOptions.ghostalpha and g_GameOptions.ghostalphalevel or nil )
493493

494494
-- Show non-ghost vehicles as semi-transparent while respawning
495495
Override.setAlpha( "ForRespawnEffect", {player, vehicle}, bRespawn and not g_MapOptions.ghostmode and 120 or nil )

[gamemodes]/[race]/race/race_server.lua

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ function cacheGameOptions()
9191
g_GameOptions.defaultduration = getNumber('race.duration',6000) * 1000
9292
g_GameOptions.ghostmode = getBool('race.ghostmode',false)
9393
g_GameOptions.ghostalpha = getBool('race.ghostalpha',false)
94+
g_GameOptions.ghostalphalevel = getNumber('race.ghostalphalevel',180)
9495
g_GameOptions.randommaps = getBool('race.randommaps',false)
9596
g_GameOptions.statskey = getString('race.statskey','name')
9697
g_GameOptions.vehiclecolors = getString('race.vehiclecolors','file')
@@ -905,7 +906,7 @@ function updateGhostmode()
905906
local vehicle = RaceMode.getPlayerVehicle(player)
906907
if vehicle then
907908
Override.setCollideOthers( "ForGhostCollisions", vehicle, g_MapOptions.ghostmode and 0 or nil )
908-
Override.setAlpha( "ForGhostAlpha", {player, vehicle}, g_MapOptions.ghostmode and g_GameOptions.ghostalpha and 180 or nil )
909+
Override.setAlpha( "ForGhostAlpha", {player, vehicle}, g_MapOptions.ghostmode and g_GameOptions.ghostalpha and g_GameOptions.ghostalphalevel or nil )
909910
end
910911
end
911912
end

0 commit comments

Comments
 (0)