This article's documentation is for anything that uses the Source engine. Click here for more information.

Weapon cubemap: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
m (Classifying as model entity)
 
(53 intermediate revisions by 18 users not shown)
Line 1: Line 1:
{{otherlang2
{{LanguageBar}}
|ko=Weapon_cubemap:ko
{{Ent not in fgd}}
}}
[[File:weapon_cubemap_Demonstration.png|thumb|300px|right|weapon_cubemap in {{hl2|4}}.]]
{{DISPLAYTITLE:weapon_cubemap}}
{{CD|CWeaponCubemap|base=CBaseCombatWeapon|file1=1}}
'''weapon_cubemap''' is a weapon entity available in older [[Source]] engine games. It has been stripped out in games running on newer [[Source]] engine branches, such as [[Portal 2]], [[Left 4 Dead 2]] and [[Counter-Strike Global Offensive]] for an unknown reason. Though, a small mod has been made for '''Counter-Strike Global Offensive''' that restores it, made by '''TopHattWaffle''' and '''Zool Smith''', which can be [https://www.youtube.com/watch?v=TsGp9t9kYk4 found here].
{{This is a|model entity|name=weapon_cubemap|engine=Source|game=Half-Life 2 series|game1=Portal series|game2=Portal 2: Community Edition}}


This entity gives the player a set of spheres {{file|preset=2|models/shadertest/envballs|mdl}}, each with different reflective surfaces. It is used for checking [[cubemaps]].


==Entity description==
The commands to get it (typed into the console) are either {{cmd|impulse|81}} or {{cmd|give|weapon_cubemap}}.
[[Image:Surf_prejefuck0000.jpg|thumb|300px|right|weapon_cubemap in [[Counter-Strike: Source]]]]
These commands are considered cheats, meaning that {{cmd|sv_cheats}} must be enabled for them to work.<br>
This entity gives the player a set of spheres (<code>models/shadertest/envballs.mdl</code>), each with different reflective surfaces. It is used for checking [[cubemaps]].
You can switch to this weapon (after having received it) by typing {{code|preset=1|use weapon_cubemap}}.


The commands to receive the weapon_cubemap (typed into the console) is either <code>[[impulse]] 81</code> or <code>give weapon_cubemap</code>.
{{tip|To equip and draw the weapon for quick work, developers can bind this command to a specific key. For instance, typing {{cmd|bind|"X" "impulse 81"; "use weapon_cubemap"}} will bind it to the X key. (You may need to press it twice the first time you use it in a map.)}}
These commands are considered cheats, meaning that [[Sv_cheats|sv_cheats]] must be set to 1, or developer mode must be enabled, for them to work.
{{tip|Changing weapon_cubemap's viewmodel to an invisible model (such as blackout.mdl) can be an easy method of hiding the players HUD and weapon at the same time without needing {{ent|player_speedmod}}.}}
You can switch to this weapon (after having received it) by typing <code>use weapon_cubemap</code>.
{{note|{{p2}} does have it in a working condition but needs the model from another game}}


{{tip|To equip and draw the weapon for quick work, developers can bind this command to a specific key. For instance, typing <code>bind "X" "impulse 81"; "use weapon_cubemap"</code> will bind it to the X key. (You may need to press it twice the first time you use it in a map.)}}
== Workarounds ==
If your game does not have <code>weapon_cubemap</code>, rifle scopes could be used, such as the [[weapon hunting rifle spawn|hunting rifle]] in {{l4d2|4}}, the [[weapon awp|AWP]] in {{csgo|4|nt=1}} or the [[weapon_crossbow|crossbow]] in {{bms|4}}, as alternatives.


Community mods have been made to implement it into games that do not support it natively:
* {{tf2|2}}: Create a [[VScript]] file named {{file|weapon_cubemap|nut}} inside {{path|tf/scripts/vscripts/}}, paste in the following code and then type <code>script_execute weapon_cubemap</code> and switch to melee.
::<source lang=js>
local player = GetListenServerHost()
local cubemap = "models/shadertest/envballs.mdl"
PrecacheModel(cubemap)
for (local i = 0; i < 8; i++)
{
    local weapon = NetProps.GetPropEntityArray(player, "m_hMyWeapons", i)
    if (weapon && weapon.GetSlot() == 2)
weapon.SetCustomViewModel(cubemap)
}
</source>
* {{csgo}} [https://www.youtube.com/watch?v=TsGp9t9kYk4 Counter-Strike: Global Offensive]: Tutorial by TopHattWaffle and Zool Smith
* {{l4d2}} [https://steamcommunity.com/sharedfiles/filedetails/?id=1832861982 Left 4 Dead 2]: Tutorial by MrFunreal
* {{bms}} [https://steamcommunity.com/sharedfiles/filedetails/?id=3342667300 Weapon_Cubemap (Dev Tool)]: A simple replacement for the [[weapon_assassin_glock|assassin glock]] by Jofoyo
== FGD Code ==
<pre>
@PointClass base(Weapon,Targetname, Parentname) studio("models/shadertest/envballs.mdl") = weapon_cubemap : "Cubemap preview spheres"[]
</pre>
[[Category:Cubemaps]]
[[Category:Level Design]]
[[Category:Level Design]]
[[Category:Entities]]
[[Category:Weapons]]

Latest revision as of 04:36, 19 May 2025

English (en)한국어 (ko)Translate (Translate)
Icon-NotInFGD.png
This entity is not in the FGD by default.
See below for instructions on making it available.
weapon_cubemap in Half-Life 2 Half-Life 2.
C++ Class hierarchy
CWeaponCubemap
CBaseCombatWeapon
CBaseAnimating
CBaseEntity
C++ weapon_cubemap.cpp

weapon_cubemap is a model entity available in Half-Life 2 series Half-Life 2 series, Portal series Portal series, and Portal 2: Community Edition Portal 2: Community Edition.

This entity gives the player a set of spheres 🖿models/shadertest/envballs.mdl, each with different reflective surfaces. It is used for checking cubemaps.

The commands to get it (typed into the console) are either impulse 81 or give weapon_cubemap. These commands are considered cheats, meaning that sv_cheats must be enabled for them to work.
You can switch to this weapon (after having received it) by typing use weapon_cubemap.

Tip.pngTip:To equip and draw the weapon for quick work, developers can bind this command to a specific key. For instance, typing bind "X" "impulse 81"; "use weapon_cubemap" will bind it to the X key. (You may need to press it twice the first time you use it in a map.)
Tip.pngTip:Changing weapon_cubemap's viewmodel to an invisible model (such as blackout.mdl) can be an easy method of hiding the players HUD and weapon at the same time without needing player_speedmod.
Note.pngNote:Portal 2 does have it in a working condition but needs the model from another game

Workarounds

If your game does not have weapon_cubemap, rifle scopes could be used, such as the hunting rifle in Left 4 Dead 2 Left 4 Dead 2, the AWP in Counter-Strike: Global Offensive CS:GO or the crossbow in Black Mesa Black Mesa, as alternatives.

Community mods have been made to implement it into games that do not support it natively:

  • Team Fortress 2 Team Fortress 2: Create a VScript file named 🖿weapon_cubemap.nut inside 🖿tf/scripts/vscripts/, paste in the following code and then type script_execute weapon_cubemap and switch to melee.
local player = GetListenServerHost()
local cubemap = "models/shadertest/envballs.mdl"
PrecacheModel(cubemap)
for (local i = 0; i < 8; i++)
{
    local weapon = NetProps.GetPropEntityArray(player, "m_hMyWeapons", i)
    if (weapon && weapon.GetSlot() == 2)
		weapon.SetCustomViewModel(cubemap)
}

FGD Code

@PointClass base(Weapon,Targetname, Parentname) studio("models/shadertest/envballs.mdl") = weapon_cubemap : "Cubemap preview spheres"[]