Difference between revisions of "Rollers"

From Valve Cut Content
Jump to: navigation, search
(Undo revision 5577 by QiXiaohui (talk))
(Tag: Undo)
Line 1: Line 1:
毛泽东
+
The earlier form of the Rollermine, the Roller and its variations are some of the earlier entities present in the Leak's source, and they come accompanied with two early models.
 +
==Model==
 +
There are two models present in the leak:
 +
<blockquote>
 +
"roller.mdl"<br>
 +
"roller_spikes.mdl"
 +
</blockquote>
  
毛泽东(1893年12月26日-1976年9月9日),字润之,湖南湘潭人[1]:3813。笔名子任,曾化名李德胜。中华民国大陆时期、中国共产党和中华人民共和国的重要政治家、军事家、战略家、外交家和诗人。自1945年中共七届一中全会出任中国共产党中央委员会主席至1976年逝世,是中华人民共和国历史上的第一代最高领导人[2]。
+
Roller is used by all of the unused Roller variations (including the base class Roller), and appears to be a default sphere, UVed with a cylinder map and two caps. It uses a less-refined texture, which also has its PSD<ref>With color differences from the VTF version</ref> included. In it, there is an alternate base texture which seems to be based on the side of a train.
  
毛泽东出生于湖南湘潭韶山冲,幼年进入私塾读书,也务过农。1918年毕业于湖南省立第一师范学校。1921年参与建立中国共产党,后参与第一次国共合作。1927年-1949年间,参与第一次国共内战、第二次国共合作、抗日战争、第二次国共内战,并扮演重要角色。1945年中国共产党第七次全国代表大会后出任中央委员会主席和中央军事委员会主席,成为党的最高领导人。1949年出任中华人民共和国中央人民政府主席,1954年至1959年转为担任中华人民共和国主席。曾先后兼任人民革命军事委员会主席、国防委员会主席、中国人民政治协商会议全国委员会主席暨名誉主席等职。
+
The JPG render present in the <code>/models/</code> folder doesn't have the caps of the current model, which would make more sense for the older Roller texture.
  
毛泽东是中国共产党创始人之一,中国人民解放军和中华人民共和国的主要缔造者和领导人,其终身担任中国共产党中央委员会主席、中国共产党中央军事委员会主席,被尊称为毛泽东主席、毛主席。在经济社会等方面,毛泽东于1949年起逐渐推行计划经济[3],1950年起推进了扫盲运动,1953年起推动社会主义改造和工业化,1954年主导制定了第一部《中华人民共和国宪法》,1958年提出开展“两弹一星”工程;毛泽东时代的中国人口总数由5亿多增长到9亿多,人口生育率高于世界平均水平、人口死亡率呈波动式下降[4][5],期间中国政府并未严格实行计划生育、曾一度鼓励生育[6][7]。与此同时,在政治文化等方面,1949年至1976年间,毛泽东主导或发动了土地改革运动、镇压反革命运动、三反五反运动、肃反运动、反右运动、大跃进、人民公社、四清运动、文化大革命等一系列政治和社会运动,中国国民经济及科教学术受到巨大冲击[8][9][10][11][12],中华传统文化及道德沦亡[13][14][15][16][17],民主、法制及宪政遭到严重破坏[12][18][19][20][21],据各方估计造成了数千万中国人的非正常死亡[22][23][24][25][26][27][28][29],亦有数千万中国人受到批斗和迫害[30][31][32][33][34]。
+
Roller_spikes is only used by the Rollerbull and Rollermine and is swapped out from Roller model when called for. Roller_spikes's sphere is identical UV-wise, but also has several spikes in it. The texture is more refined than Roller's, utilizing normal maps and a more complex base texture.
  
1976年9月9日,毛泽东在北京病逝,终年83岁,遗体安放在毛主席纪念堂至今。世界各地对毛泽东的評價历来褒貶不一、充满争议,而毛泽东时代的朝鲜战争、中苏交恶、越南战争、中美破冰、红色高棉夺权等也是冷战期间世界各国博弈的显现。中国共产党、中华人民共和国官方将毛泽东定位为党和国家的缔造者以及党和国家第一代领导集体的核心,毛泽东思想被列为中国共产党的主要指导思想之一。支持者认为毛泽东在中国工业化、反对帝国主义和霸权主义的运动中作出了重要贡献,降低了中国人口的文盲率,并促进了中国妇女地位的提升[35][36][37][38];反对者则批评毛泽东的独裁、极权和推行个人崇拜,谴责毛泽东时代的诸多运动造成了大量人员和财产损失、文物古迹的损毁以及给中国社会带来的浩劫和精神创伤
+
Both models have a default bone named "polymsh2", with roller_spikes additionally having one named "polymsh".
 +
===Gallery===
 +
<b>Renders</b>
 +
<gallery>
 +
Roller.jpg|Render included in the Leak
 +
roller_oldtex.png
 +
roller_OLDTEX (1).png
 +
Roller_Spikes.jpg|Roller_spikes render included in the leak (with noticeable texture differences)
 +
Roller_spikesrender.png
 +
</gallery>
 +
<b>Textures</b>
 +
<gallery>
 +
Roller_oldtexsheet.png|Roller texture
 +
roller_old.png|Used area of the alternative PSD Roller texture
 +
Roller_old_Full.png|The full alternative PSD texture
 +
rollermine_sheet_noalpha.png|Roller_spikes texture
 +
</gallery>
 +
 
 +
==Code==
 +
There are 5 cut Rollermine variants, with one being a base class that the others inherit from. They all use the Rollermine model as placeholder and some changes to the code may have to be made for them to function correctly.
 +
 
 +
The Rollerbull and Rollermine have the earliest copyright starting at 1996-2001, while the rest are 1999.
 +
 
 +
=== '''Roller''' ===
 +
{{Cut_Enemies|title1 = Roller|model = Uses leak roller model|texture = Ditto|ai = Basic; patrols a path}}
 +
Roller is a base class with the ability to patrol around a map using hint nodes. The class also has the ability to "Marco polo" close Rollers towards the one that initiated a Marco but it has been disabled with an Ifdef.
 +
 
 +
Upon spawning it, the class generates a randomized unique code that would be used as flavor sound when commanding the roller. Only the Rollerbuddy makes use of this, but does not use the derived version from this class instead using a copy of the code to do so.
 +
 
 +
Most inherited classes fall back to this upon being hit to wait until they are not moving for class specific behavior to resume.
 +
 
 +
=== '''Rollerbuddy''' ===
 +
{{Cut_Enemies|title1 = Rollerbuddy|model = Uses the same model as the base roller class|texture = Ditto|ai = Basic; commanded by player}}
 +
The Rollerbuddy follows the player and can be commanded with the roller wand weapon.
 +
 
 +
Left click tells the Rollerbuddy to move to a position, and right click toggles between follow mode and command mode.
 +
 
 +
Follow mode tells Rollerbuddy to stay close to the player, while command mode would have the Rollerbuddy stay at the position specified.
 +
 
 +
Upon being commanded, the Rollerbuddy plays back a series of tones that was randomly generated when it was spawned. Since the Rollerbuddy defaults to its own idle schedule, the inherited roller behavior is never called and may not wait until it has stopped moving to attempt to move to its destination again.
 +
 
 +
==='''Rollerdozer'''===
 +
{{Cut_Enemies|title1 = Rollerdozer|model = Uses the same model as the base roller class|texture = Ditto|ai = Basic; patrols a path, clears props if valid hint present}}
 +
The Rollerdozer defaults to patrolling behavior, while searching for physics props within a radius of the closest HINT_ROLLER_CLEANUP_POINT hint nodes to it placed on a map.
 +
 
 +
Upon locating some props, the Rollerdozer moves to the center of the node, selects the heaviest that it can push, and begins moving them away from the center of the hint node until either 5 seconds have passed or the prop is no longer being pushed away from the center. The Rollerdozer then locates the next prop to doze away, or it returns to patrol.
 +
 
 +
==='''Rollerbull'''===
 +
{{Cut_Enemies|title1 = Rollerbull|model = Uses leak roller and roller_spikes model as placeholder|texture = Ditto|ai = Crashes game}}
 +
The Rollerbull defaults to patrolling behavior. Judging by its name and the existing source code, it is inferred that the Rollerbull had blades instead of the normal protrusions.
 +
 
 +
Upon locating an enemy, the Rollerbull would jump in a random direction and attempt to attack the “best enemy” by charging towards it and ramming into it. If the enemy is too close to get up to speed to ram into it, the Rollerbull would back up a distance and try again.
 +
 
 +
Unlike the rest of the variants, this roller attempts to use base AI to find its enemy. Even the Rollermine does not make use of the “bestenemy” method as it has been commented out in the code.
 +
 
 +
This NPC has references to squad positions that are seemingly unused, being “guard”, “setup charge” and “charge”. Additionally it has an unused squad interaction that would cause all Rollerbull members of a squad to explode when a new enemy is sighted.
 +
 
 +
==='''Rollerturret'''===
 +
{{Cut_Enemies|title1 = Rollerturret|model = Uses leak roller model as placeholder|texture = Ditto|ai = Basic; patrols and fires at player}}
 +
The Rollerturret defaults to patrolling behavior. Upon acquiring an enemy, the Rollerturret stops patrolling and opens, as it can not attack while closed.
 +
 
 +
To attack, the Rollerturret fires a laser at its target. If the target is too far away, it will give chase. The Rollerturret's view distance changes based on if it is in an open or closed state.
 +
 
 +
== Sound ==
 +
The usage of sounds with specific naming conventions imply that the Rollerbull and Roller were one in the same at one point and was the first to be made out of the other roller variations in this state. Evidence for this is that the base Roller does not use any rol_ sounds, but the Rollerbull does and much of the rol_ sounds are specifically for Rollerbull behaviours even though there is a bull_ naming convention. Additionally much of the Rollermine code and sound events appear to be carry overs from the Rollerbull. There are no unique sounds for the Rollerdozer.
 +
 
 +
=== Roller ===
 +
{|border="1" cellpadding="0" cellspacing="0" class="article-table" style="width:50em; height: 400px; margin: 1px auto;"
 +
 +
  !Condition
 +
  !Directory
 +
  !Comments
 +
  !Creation date
 +
 +
|-
 +
  | rowspan="8" |Present
 +
  |npc/roller/power_up.wav
 +
  |referenced as NPC_Roller.PowerOn
 +
  | rowspan="2" |30/05/2001
 +
 +
|-
 +
  |npc/roller/shut_down.wav
 +
  |referenced as NPC_Roller.PowerOff
 +
 +
|-
 +
  |npc/roller/code1.wav
 +
  | rowspan="6" |Referenced in code, also used by the Rollerbuddy
 +
  |25/12/1998
 +
|-
 +
  |npc/roller/code2.wav
 +
  | rowspan="2" |9/10/2001
 +
|-
 +
  |npc/roller/code3.wav
 +
 +
|-
 +
  |npc/roller/code4.wav
 +
  |23/12/1998
 +
|-
 +
  |npc/roller/code5.wav
 +
  | rowspan="2" |9/10/2001
 +
|-
 +
  |npc/roller/code6.wav
 +
 +
|-
 +
  | rowspan="3" |Missing
 +
  |npc/roller/call1.wav
 +
  | rowspan="2" |referenced as NPC_Roller.Marco
 +
  | rowspan = "3" |
 +
|-
 +
  |npc/roller/call2.wav
 +
 +
|-
 +
  |npc/roller/call3.wav
 +
  |referenced as NPC_Roller.Polo
 +
|}
 +
 
 +
=== Roller buddy ===
 +
{|border="1" cellpadding="0" cellspacing="0" class="article-table" style="width:50em; height: 400px; margin: 1px auto;"
 +
 +
  !Condition
 +
  !Directory
 +
  !Comments
 +
  !Creation date
 +
 +
|-
 +
  |Miss-used
 +
  |npc/roller/remote_no.wav
 +
  |NPC_RollerBuddy.RemoteNo uses npc/roller/remote_yes.wav instead
 +
  |27/06/2001
 +
 +
|-
 +
  | rowspan="9" |Present
 +
  |npc/roller/confirm_move.wav
 +
  |referenced as NPC_RollerBuddy.Confirm
 +
  | rowspan="3" | 6/09/2001
 +
 +
|-
 +
  |npc/roller/remote_yes.wav
 +
  |referenced as NPC_RollerBuddy.RemoteYes
 +
 +
|-
 +
  |npc/roller/roll.wav
 +
  | rowspan="7" |referenced in code
 +
 +
|-
 +
  |npc/roller/code1.wav
 +
  |25/12/1998
 +
 +
|-
 +
  |npc/roller/code2.wav
 +
  | rowspan="2" |9/10/2001
 +
 +
|-
 +
  |npc/roller/code3.wav
 +
 +
|-
 +
  |npc/roller/code4.wav
 +
  |23/12/1998
 +
 +
|-
 +
  |npc/roller/code5.wav
 +
  | rowspan="2" |9/10/2001
 +
 +
|-
 +
  |npc/roller/code6.wav
 +
|}
 +
 
 +
=== Roller bull ===
 +
{|border="1" cellpadding="0" cellspacing="0" class="article-table" style="width:50em; height: 400px; margin: 1px auto;"
 +
 +
  !Condition
 +
  !Directory
 +
  !Comments
 +
  !Creation date
 +
 +
|-
 +
  |Miss-used
 +
  |npc/roller/test/rol_measure1.wav
 +
  |NPC_RollerBull.Measure uses npc/roller/test/rol_probe1.wav instead
 +
  | rowspan="3" |
 +
 +
|-
 +
  | rowspan="16" |Present
 +
  |npc/roller/test/rol_tossed1.wav
 +
  |referenced as NPC_RollerBull.Tossed
 +
 +
|-
 +
  |npc/roller/test/rol_swingbladetaunt1.wav
 +
  |referenced as NPC_RollerBull.Taunt
 +
 +
|-
 +
  |npc/roller/blade_out.wav
 +
  |referenced as NPC_RollerBull.OpenSpikes
 +
  | rowspan="2" |22/10/2001
 +
 +
|-
 +
  |npc/roller/blade_in.wav
 +
  |referenced as NPC_RollerBull.CloseSpikes
 +
 +
|-
 +
  |npc/roller/blade_cut.wav
 +
  |referenced as NPC_RollerBull.Cut
 +
  |1/11/2001
 +
 +
|-
 +
  |npc/roller/test/rol_summon1.wav
 +
  |referenced as NPC_RollerBull.Summon
 +
  | rowspan="5" |
 +
 +
|-
 +
  |npc/roller/test/rol_idle1.wav
 +
  | rowspan="4" |referenced as NPC_RollerBull.Idle
 +
 +
|-
 +
  |npc/roller/test/rol_idle2.wav
 +
 +
|-
 +
  |npc/roller/test/rol_idle3.wav
 +
 +
|-
 +
  |npc/roller/test/rol_idle4.wav
 +
 +
|-
 +
  |npc/roller/bark1.wav
 +
  | rowspan="3" |referenced as NPC_RollerBull.Bark
 +
  | rowspan="3" |29/10/2001
 +
 +
|-
 +
  |npc/roller/bark2.wav
 +
 +
|-
 +
  |npc/roller/bark3.wav
 +
 +
|-
 +
  |npc/roller/bull_slow.wav
 +
  | rowspan="3" |referenced in code
 +
  | rowspan="2" |6/11/2001
 +
 +
|-
 +
  |npc/roller/bull_fast.wav
 +
 +
|-
 +
  |npc/roller/bull_buzz.wav
 +
  |2/11/2001
 +
 +
|-
 +
  | rowspan="2" |Unused
 +
  |npc/roller/bull_power_up.wav
 +
  | rowspan="2" |related, but unused, same naming scheme as the Roller mine
 +
  | rowspan="2" |30/05/2001
 +
 +
|-
 +
  |npc/roller/bull_shut_down.wav
 +
|}
 +
 
 +
=== Roller turret ===
 +
{|border="1" cellpadding="0" cellspacing="0" class="article-table" style="width:50em; height: 50px; margin: 1px auto;"
 +
 +
  !Condition
 +
  !Directory
 +
  !Comments
 +
 +
|-
 +
  |missing
 +
  |npc/roller/turret_shoot.wav
 +
  |referenced as NPC_RollerTurret.Shoot
 +
|}
 +
 
 +
==References==
 +
{{Reflist}}
 +
[[Category:2003 Leaks]]
 +
[[Category:Combine]]
 +
[[Category:Half-Life 2]]

Revision as of 06:04, 19 June 2020

The earlier form of the Rollermine, the Roller and its variations are some of the earlier entities present in the Leak's source, and they come accompanied with two early models.

Model

There are two models present in the leak:

"roller.mdl"
"roller_spikes.mdl"

Roller is used by all of the unused Roller variations (including the base class Roller), and appears to be a default sphere, UVed with a cylinder map and two caps. It uses a less-refined texture, which also has its PSD[1] included. In it, there is an alternate base texture which seems to be based on the side of a train.

The JPG render present in the /models/ folder doesn't have the caps of the current model, which would make more sense for the older Roller texture.

Roller_spikes is only used by the Rollerbull and Rollermine and is swapped out from Roller model when called for. Roller_spikes's sphere is identical UV-wise, but also has several spikes in it. The texture is more refined than Roller's, utilizing normal maps and a more complex base texture.

Both models have a default bone named "polymsh2", with roller_spikes additionally having one named "polymsh".

Gallery

Renders

Textures

Code

There are 5 cut Rollermine variants, with one being a base class that the others inherit from. They all use the Rollermine model as placeholder and some changes to the code may have to be made for them to function correctly.

The Rollerbull and Rollermine have the earliest copyright starting at 1996-2001, while the rest are 1999.

Roller

Roller
Condition
Model Uses leak roller model
Texture Ditto
AI Basic; patrols a path

Roller is a base class with the ability to patrol around a map using hint nodes. The class also has the ability to "Marco polo" close Rollers towards the one that initiated a Marco but it has been disabled with an Ifdef.

Upon spawning it, the class generates a randomized unique code that would be used as flavor sound when commanding the roller. Only the Rollerbuddy makes use of this, but does not use the derived version from this class instead using a copy of the code to do so.

Most inherited classes fall back to this upon being hit to wait until they are not moving for class specific behavior to resume.

Rollerbuddy

Rollerbuddy
Condition
Model Uses the same model as the base roller class
Texture Ditto
AI Basic; commanded by player

The Rollerbuddy follows the player and can be commanded with the roller wand weapon.

Left click tells the Rollerbuddy to move to a position, and right click toggles between follow mode and command mode.

Follow mode tells Rollerbuddy to stay close to the player, while command mode would have the Rollerbuddy stay at the position specified.

Upon being commanded, the Rollerbuddy plays back a series of tones that was randomly generated when it was spawned. Since the Rollerbuddy defaults to its own idle schedule, the inherited roller behavior is never called and may not wait until it has stopped moving to attempt to move to its destination again.

Rollerdozer

Rollerdozer
Condition
Model Uses the same model as the base roller class
Texture Ditto
AI Basic; patrols a path, clears props if valid hint present

The Rollerdozer defaults to patrolling behavior, while searching for physics props within a radius of the closest HINT_ROLLER_CLEANUP_POINT hint nodes to it placed on a map.

Upon locating some props, the Rollerdozer moves to the center of the node, selects the heaviest that it can push, and begins moving them away from the center of the hint node until either 5 seconds have passed or the prop is no longer being pushed away from the center. The Rollerdozer then locates the next prop to doze away, or it returns to patrol.

Rollerbull

Rollerbull
Condition
Model Uses leak roller and roller_spikes model as placeholder
Texture Ditto
AI Crashes game

The Rollerbull defaults to patrolling behavior. Judging by its name and the existing source code, it is inferred that the Rollerbull had blades instead of the normal protrusions.

Upon locating an enemy, the Rollerbull would jump in a random direction and attempt to attack the “best enemy” by charging towards it and ramming into it. If the enemy is too close to get up to speed to ram into it, the Rollerbull would back up a distance and try again.

Unlike the rest of the variants, this roller attempts to use base AI to find its enemy. Even the Rollermine does not make use of the “bestenemy” method as it has been commented out in the code.

This NPC has references to squad positions that are seemingly unused, being “guard”, “setup charge” and “charge”. Additionally it has an unused squad interaction that would cause all Rollerbull members of a squad to explode when a new enemy is sighted.

Rollerturret

Rollerturret
Condition
Model Uses leak roller model as placeholder
Texture Ditto
AI Basic; patrols and fires at player

The Rollerturret defaults to patrolling behavior. Upon acquiring an enemy, the Rollerturret stops patrolling and opens, as it can not attack while closed.

To attack, the Rollerturret fires a laser at its target. If the target is too far away, it will give chase. The Rollerturret's view distance changes based on if it is in an open or closed state.

Sound

The usage of sounds with specific naming conventions imply that the Rollerbull and Roller were one in the same at one point and was the first to be made out of the other roller variations in this state. Evidence for this is that the base Roller does not use any rol_ sounds, but the Rollerbull does and much of the rol_ sounds are specifically for Rollerbull behaviours even though there is a bull_ naming convention. Additionally much of the Rollermine code and sound events appear to be carry overs from the Rollerbull. There are no unique sounds for the Rollerdozer.

Roller

Condition Directory Comments Creation date
Present npc/roller/power_up.wav referenced as NPC_Roller.PowerOn 30/05/2001
npc/roller/shut_down.wav referenced as NPC_Roller.PowerOff
npc/roller/code1.wav Referenced in code, also used by the Rollerbuddy 25/12/1998
npc/roller/code2.wav 9/10/2001
npc/roller/code3.wav
npc/roller/code4.wav 23/12/1998
npc/roller/code5.wav 9/10/2001
npc/roller/code6.wav
Missing npc/roller/call1.wav referenced as NPC_Roller.Marco
npc/roller/call2.wav
npc/roller/call3.wav referenced as NPC_Roller.Polo

Roller buddy

Condition Directory Comments Creation date
Miss-used npc/roller/remote_no.wav NPC_RollerBuddy.RemoteNo uses npc/roller/remote_yes.wav instead 27/06/2001
Present npc/roller/confirm_move.wav referenced as NPC_RollerBuddy.Confirm 6/09/2001
npc/roller/remote_yes.wav referenced as NPC_RollerBuddy.RemoteYes
npc/roller/roll.wav referenced in code
npc/roller/code1.wav 25/12/1998
npc/roller/code2.wav 9/10/2001
npc/roller/code3.wav
npc/roller/code4.wav 23/12/1998
npc/roller/code5.wav 9/10/2001
npc/roller/code6.wav

Roller bull

Condition Directory Comments Creation date
Miss-used npc/roller/test/rol_measure1.wav NPC_RollerBull.Measure uses npc/roller/test/rol_probe1.wav instead
Present npc/roller/test/rol_tossed1.wav referenced as NPC_RollerBull.Tossed
npc/roller/test/rol_swingbladetaunt1.wav referenced as NPC_RollerBull.Taunt
npc/roller/blade_out.wav referenced as NPC_RollerBull.OpenSpikes 22/10/2001
npc/roller/blade_in.wav referenced as NPC_RollerBull.CloseSpikes
npc/roller/blade_cut.wav referenced as NPC_RollerBull.Cut 1/11/2001
npc/roller/test/rol_summon1.wav referenced as NPC_RollerBull.Summon
npc/roller/test/rol_idle1.wav referenced as NPC_RollerBull.Idle
npc/roller/test/rol_idle2.wav
npc/roller/test/rol_idle3.wav
npc/roller/test/rol_idle4.wav
npc/roller/bark1.wav referenced as NPC_RollerBull.Bark 29/10/2001
npc/roller/bark2.wav
npc/roller/bark3.wav
npc/roller/bull_slow.wav referenced in code 6/11/2001
npc/roller/bull_fast.wav
npc/roller/bull_buzz.wav 2/11/2001
Unused npc/roller/bull_power_up.wav related, but unused, same naming scheme as the Roller mine 30/05/2001
npc/roller/bull_shut_down.wav

Roller turret

Condition Directory Comments
missing npc/roller/turret_shoot.wav referenced as NPC_RollerTurret.Shoot

References

  1. With color differences from the VTF version