The HUD is complete (actually, I forgot to add key display, will do that later).
All weapon pickup models have been added in. Modeldef has been subdivided to make things easier for me.
|
|
@ -3,3 +3,7 @@ server bool flak_betaudamage = false;
|
|||
server bool flak_pulsereload = false;
|
||||
server bool flak_enforcerreload = false;
|
||||
user bool flak_redeemerreadout = true;
|
||||
user int flak_colorprefs = 0;
|
||||
user color flak_colorcustom = "ff ff ff";
|
||||
user float flak_opacity = 0.8;
|
||||
user color flak_bgcolor = "00 00 00";
|
||||
|
|
|
|||
|
|
@ -394,6 +394,10 @@ HardwareShader Texture "models/tloc1_.png"
|
|||
{
|
||||
Shader "shaders/glsl/AmbientGlow_Brightmapped.fp"
|
||||
}
|
||||
HardwareShader Texture "models/tloc2_.png"
|
||||
{
|
||||
Shader "shaders/glsl/AmbientGlow_Brightmapped.fp"
|
||||
}
|
||||
HardwareShader Texture "invis00"
|
||||
{
|
||||
Shader "shaders/glsl/MeshEnviroMap.fp"
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 819 B |
|
Before Width: | Height: | Size: 313 B After Width: | Height: | Size: 268 B |
|
Before Width: | Height: | Size: 238 B After Width: | Height: | Size: 193 B |
|
Before Width: | Height: | Size: 306 B After Width: | Height: | Size: 248 B |
|
Before Width: | Height: | Size: 300 B After Width: | Height: | Size: 245 B |
|
Before Width: | Height: | Size: 279 B After Width: | Height: | Size: 237 B |
|
Before Width: | Height: | Size: 316 B After Width: | Height: | Size: 243 B |
|
Before Width: | Height: | Size: 332 B After Width: | Height: | Size: 263 B |
|
Before Width: | Height: | Size: 235 B After Width: | Height: | Size: 214 B |
|
Before Width: | Height: | Size: 351 B After Width: | Height: | Size: 282 B |
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 264 B |
|
Before Width: | Height: | Size: 113 B After Width: | Height: | Size: 136 B |
|
Before Width: | Height: | Size: 147 B After Width: | Height: | Size: 150 B |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 958 B |
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.7 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 830 B |
BIN
graphics/hud/Skul.png
Normal file
|
After Width: | Height: | Size: 1,005 B |
|
Before Width: | Height: | Size: 9.9 KiB After Width: | Height: | Size: 9.9 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 4.7 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
12
menudef.txt
|
|
@ -3,6 +3,12 @@ OptionValue "BetaToggle"
|
|||
0, "Normal"
|
||||
1, "Beta"
|
||||
}
|
||||
OptionValue "ColorPrefs"
|
||||
{
|
||||
0, "Team"
|
||||
1, "Player"
|
||||
2, "Custom"
|
||||
}
|
||||
OptionMenu "UTOptionMenu"
|
||||
{
|
||||
Title "UT Options"
|
||||
|
|
@ -18,6 +24,12 @@ OptionMenu "UTOptionMenu"
|
|||
Option "Enforcer Reloading", "flak_enforcerreload", "YesNo"
|
||||
Option "Pulsegun Reloading", "flak_pulsereload", "YesNo"
|
||||
Option "Redeemer Target Visuals", "flak_redeemerreadout", "YesNo"
|
||||
StaticText " "
|
||||
StaticText "HUD Options", "Gold"
|
||||
Option "Color Choice", "flak_colorprefs", "ColorPrefs"
|
||||
ColorPicker "Custom Color", "flak_colorcustom"
|
||||
Slider "HUD Opacity", "flak_opacity", 0.5, 1, 0.05, 2
|
||||
ColorPicker "Background Color", "flak_bgcolor"
|
||||
}
|
||||
|
||||
AddOptionMenu "OptionsMenu"
|
||||
|
|
|
|||
24
modeldef.chainsaw
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
Model "UTChainsaw"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "ChainSawPick_d.3d"
|
||||
Skin 1 "JChainSawPick1.png"
|
||||
Offset -1.68 -4 12
|
||||
Scale -0.168 0.14 0.14
|
||||
AngleOffset 180
|
||||
ROTATING
|
||||
|
||||
FrameIndex CSWP A 1 0
|
||||
}
|
||||
|
||||
Model "UTChainsaw"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "ChainSawPick_d.3d"
|
||||
Skin 1 "JChainSawPick1.png"
|
||||
Offset -1.68 -4 6
|
||||
Scale -0.168 0.14 0.14
|
||||
AngleOffset 180
|
||||
|
||||
FrameIndex CSWP B 1 0
|
||||
}
|
||||
48
modeldef.eightball
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
Model "UTRocketAmmo"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "RocketPackMesh_d.3d"
|
||||
Skin 0 "JRocketPack1.png"
|
||||
Scale 0.072 -0.0864 0.072
|
||||
AngleOffset 270
|
||||
ZOffset 6
|
||||
|
||||
FrameIndex RPAK A 0 0
|
||||
}
|
||||
|
||||
Model "UTRocketAmmo2"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "UTRocket_d.3d"
|
||||
Skin 0 "JuRocket1_.png"
|
||||
Scale -0.0822 0.0685 0.07
|
||||
ZOffset 6
|
||||
|
||||
FrameIndex RCKT A 0 0
|
||||
}
|
||||
|
||||
Model "UTRocketLauncher"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "Eight2Pick_d.3d"
|
||||
Skin 1 "Eight_t.png"
|
||||
Offset 0 4 12
|
||||
Scale -0.24 0.288 0.24
|
||||
PitchOffset 90
|
||||
AngleOffset 90
|
||||
ROTATING
|
||||
|
||||
FrameIndex EBLP A 1 0
|
||||
}
|
||||
Model "UTRocketLauncher"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "Eight2Pick_d.3d"
|
||||
Skin 1 "Eight_t.png"
|
||||
Offset 0 4 6
|
||||
Scale -0.24 0.288 0.24
|
||||
PitchOffset 90
|
||||
AngleOffset 90
|
||||
|
||||
FrameIndex EBLP B 1 0
|
||||
}
|
||||
37
modeldef.enforcer
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
Model "EClip"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "EClipM_d.3d"
|
||||
Skin 0 "JEClip.png"
|
||||
Scale -0.0864 0.072 0.072
|
||||
PitchOffset 90
|
||||
ZOffset 2.5
|
||||
|
||||
FrameIndex ECLP A 0 0
|
||||
}
|
||||
|
||||
Model "Enforcer"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "MagPick_d.3d"
|
||||
Skin 1 "Jautot1.png"
|
||||
Scale -0.1 0.12 0.1
|
||||
PitchOffset 90
|
||||
AngleOffset 270
|
||||
ZOffset 12
|
||||
ROTATING
|
||||
|
||||
FrameIndex ENFP A 1 0
|
||||
}
|
||||
Model "Enforcer"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "MagPick_d.3d"
|
||||
Skin 1 "Jautot1.png"
|
||||
Scale -0.1 0.12 0.1
|
||||
PitchOffset 90
|
||||
AngleOffset 270
|
||||
ZOffset 6
|
||||
|
||||
FrameIndex ENFP B 1 0
|
||||
}
|
||||
754
modeldef.flak
Normal file
|
|
@ -0,0 +1,754 @@
|
|||
Model "FlakAmmo"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "flakammom_d.3d"
|
||||
Skin 0 "jfa1.png"
|
||||
PitchOffset 90
|
||||
Scale 0.12 0.1 0.1
|
||||
ZOffset 4
|
||||
|
||||
FrameIndex FAMO A 0 0
|
||||
}
|
||||
|
||||
Model "FlakAmmo2"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "flakslugm_d.3d"
|
||||
Skin 0 "jflakslugel1_.png"
|
||||
PitchOffset 90
|
||||
Scale 0.048 0.04 0.04
|
||||
ZOffset 2
|
||||
|
||||
FrameIndex FSLG A 0 0
|
||||
}
|
||||
|
||||
Model "FlakSlug"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "flakslugm_d.3d"
|
||||
Skin 0 "jflakslugel1.png"
|
||||
RollOffset 90
|
||||
Scale 0.048 0.04 0.04
|
||||
PITCHFROMMOMENTUM
|
||||
|
||||
FrameIndex FSLG A 0 0
|
||||
}
|
||||
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "chunkm_d.3d"
|
||||
Skin 0 "chunk_a00.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH1 A 0 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "chunkm_d.3d"
|
||||
Skin 0 "chunk_a01.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH1 B 0 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "chunkm_d.3d"
|
||||
Skin 0 "chunk_a02.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH1 C 0 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "chunkm_d.3d"
|
||||
Skin 0 "chunk_a03.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH1 D 0 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "chunkm_d.3d"
|
||||
Skin 0 "chunk_a04.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH1 E 0 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "chunkm_d.3d"
|
||||
Skin 0 "chunk_a05.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH1 F 0 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "chunkm_d.3d"
|
||||
Skin 0 "chunk_a06.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH1 G 0 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "chunkm_d.3d"
|
||||
Skin 0 "chunk_a07.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH1 H 0 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "chunkm_d.3d"
|
||||
Skin 0 "chunk_a08.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH1 I 0 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "chunkm_d.3d"
|
||||
Skin 0 "chunk_a09.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH1 J 0 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "chunkm_d.3d"
|
||||
Skin 0 "chunk_a10.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH1 K 0 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "chunkm_d.3d"
|
||||
Skin 0 "chunk_a11.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH1 L 0 0
|
||||
}
|
||||
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "chunk2m_d.3d"
|
||||
Skin 1 "chunk_a00.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH2 A 1 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "chunk2m_d.3d"
|
||||
Skin 1 "chunk_a01.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH2 B 1 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "chunk2m_d.3d"
|
||||
Skin 1 "chunk_a02.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH2 C 1 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "chunk2m_d.3d"
|
||||
Skin 1 "chunk_a03.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH2 D 1 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "chunk2m_d.3d"
|
||||
Skin 1 "chunk_a04.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH2 E 1 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "chunk2m_d.3d"
|
||||
Skin 1 "chunk_a05.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH2 F 1 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "chunk2m_d.3d"
|
||||
Skin 1 "chunk_a06.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH2 G 1 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "chunk2m_d.3d"
|
||||
Skin 1 "chunk_a07.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH2 H 1 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "chunk2m_d.3d"
|
||||
Skin 1 "chunk_a08.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH2 I 1 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "chunk2m_d.3d"
|
||||
Skin 1 "chunk_a09.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH2 J 1 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "chunk2m_d.3d"
|
||||
Skin 1 "chunk_a10.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH2 K 1 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "chunk2m_d.3d"
|
||||
Skin 1 "chunk_a11.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH2 L 1 0
|
||||
}
|
||||
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 2 "chunk3m_d.3d"
|
||||
Skin 2 "chunk_a00.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH3 A 2 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 2 "chunk3m_d.3d"
|
||||
Skin 2 "chunk_a01.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH3 B 2 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 2 "chunk3m_d.3d"
|
||||
Skin 2 "chunk_a02.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH3 C 2 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 2 "chunk3m_d.3d"
|
||||
Skin 2 "chunk_a03.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH3 D 2 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 2 "chunk3m_d.3d"
|
||||
Skin 2 "chunk_a04.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH3 E 2 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 2 "chunk3m_d.3d"
|
||||
Skin 2 "chunk_a05.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH3 F 2 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 2 "chunk3m_d.3d"
|
||||
Skin 2 "chunk_a06.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH3 G 2 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 2 "chunk3m_d.3d"
|
||||
Skin 2 "chunk_a07.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH3 H 2 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 2 "chunk3m_d.3d"
|
||||
Skin 2 "chunk_a08.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH3 I 2 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 2 "chunk3m_d.3d"
|
||||
Skin 2 "chunk_a09.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH3 J 2 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 2 "chunk3m_d.3d"
|
||||
Skin 2 "chunk_a10.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH3 K 2 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 2 "chunk3m_d.3d"
|
||||
Skin 2 "chunk_a11.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH3 L 2 0
|
||||
}
|
||||
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 3 "chunk4m_d.3d"
|
||||
Skin 3 "chunk_a00.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH4 A 3 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 3 "chunk4m_d.3d"
|
||||
Skin 3 "chunk_a01.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH4 B 3 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 3 "chunk4m_d.3d"
|
||||
Skin 3 "chunk_a02.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH4 C 3 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 3 "chunk4m_d.3d"
|
||||
Skin 3 "chunk_a03.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH4 D 3 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 3 "chunk4m_d.3d"
|
||||
Skin 3 "chunk_a04.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH4 E 3 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 3 "chunk4m_d.3d"
|
||||
Skin 3 "chunk_a05.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH4 F 3 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 3 "chunk4m_d.3d"
|
||||
Skin 3 "chunk_a06.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH4 G 3 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 3 "chunk4m_d.3d"
|
||||
Skin 3 "chunk_a07.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH4 H 3 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 3 "chunk4m_d.3d"
|
||||
Skin 3 "chunk_a08.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH4 I 3 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 3 "chunk4m_d.3d"
|
||||
Skin 3 "chunk_a09.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH4 J 3 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 3 "chunk4m_d.3d"
|
||||
Skin 3 "chunk_a10.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH4 K 3 0
|
||||
}
|
||||
Model "FlakChunk"
|
||||
{
|
||||
Path "models"
|
||||
Model 3 "chunk4m_d.3d"
|
||||
Skin 3 "chunk_a11.png"
|
||||
Scale 0.06 0.06 0.06
|
||||
ZOffset 2
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex FCH4 L 3 0
|
||||
}
|
||||
|
||||
Model "FlakCannon"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "flak2pick_d.3d"
|
||||
Skin 1 "flak_t.png"
|
||||
AngleOffset 90
|
||||
PitchOffset 90
|
||||
Scale 0.14 0.168 0.14
|
||||
Offset 0 -18.9 0
|
||||
ZOffset 12
|
||||
ROTATING
|
||||
|
||||
FrameIndex FPCK A 1 0
|
||||
}
|
||||
Model "FlakCannon"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "flak2pick_d.3d"
|
||||
Skin 1 "flak_t.png"
|
||||
AngleOffset 90
|
||||
PitchOffset 90
|
||||
Scale 0.14 0.168 0.14
|
||||
Offset 0 -18.9 0
|
||||
ZOffset 11
|
||||
|
||||
FrameIndex FPCK B 1 0
|
||||
}
|
||||
|
||||
Model "FlakCannon"
|
||||
{
|
||||
Path "models"
|
||||
Model 2 "Flat_d.3d"
|
||||
Skin 2 "Flakmuz.png"
|
||||
PitchOffset 90
|
||||
Scale 0.08 0.08 0.08
|
||||
Offset 4.0 -25.0 -7.5
|
||||
|
||||
FrameIndex FMUZ A 0 0
|
||||
}
|
||||
|
||||
Model "FlakCannon"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "flakm_d.3d"
|
||||
SurfaceSkin 0 0 "flak_t1.png"
|
||||
SurfaceSkin 0 1 "flak_t2.png"
|
||||
SurfaceSkin 0 2 "flak_t3.png"
|
||||
SurfaceSkin 0 3 "flak_t4.png"
|
||||
SurfaceSkin 0 4 "flakammoledbase.png"
|
||||
AngleOffset 180
|
||||
PitchOffset 90
|
||||
Scale 0.2 0.1 0.2
|
||||
Offset 5.6 -7.6 -10.4
|
||||
|
||||
// select
|
||||
FrameIndex FLKS A 0 0
|
||||
FrameIndex FLKS B 0 1
|
||||
FrameIndex FLKS C 0 2
|
||||
FrameIndex FLKS D 0 3
|
||||
FrameIndex FLKS E 0 4
|
||||
FrameIndex FLKS F 0 5
|
||||
FrameIndex FLKS G 0 6
|
||||
FrameIndex FLKS H 0 7
|
||||
FrameIndex FLKS I 0 8
|
||||
FrameIndex FLKS J 0 9
|
||||
FrameIndex FLKS K 0 10
|
||||
FrameIndex FLKS L 0 11
|
||||
FrameIndex FLKS M 0 12
|
||||
FrameIndex FLKS N 0 13
|
||||
FrameIndex FLKS O 0 14
|
||||
FrameIndex FLKS P 0 15
|
||||
FrameIndex FLKS Q 0 16
|
||||
FrameIndex FLKS R 0 17
|
||||
FrameIndex FLKS S 0 18
|
||||
FrameIndex FLKS T 0 19
|
||||
FrameIndex FLKS U 0 20
|
||||
FrameIndex FLKS V 0 21
|
||||
FrameIndex FLKS W 0 22
|
||||
FrameIndex FLKS X 0 23
|
||||
FrameIndex FLKS Y 0 24
|
||||
FrameIndex FLKS Z 0 25
|
||||
FrameIndex FKS2 A 0 26
|
||||
FrameIndex FKS2 B 0 27
|
||||
FrameIndex FKS2 C 0 28
|
||||
FrameIndex FKS2 D 0 29
|
||||
// loading
|
||||
FrameIndex FLKL A 0 30
|
||||
FrameIndex FLKL B 0 31
|
||||
FrameIndex FLKL C 0 32
|
||||
FrameIndex FLKL D 0 33
|
||||
FrameIndex FLKL E 0 34
|
||||
FrameIndex FLKL F 0 35
|
||||
FrameIndex FLKL G 0 36
|
||||
FrameIndex FLKL H 0 37
|
||||
FrameIndex FLKL I 0 38
|
||||
FrameIndex FLKL J 0 39
|
||||
FrameIndex FLKL K 0 40
|
||||
FrameIndex FLKL L 0 41
|
||||
FrameIndex FLKL M 0 42
|
||||
FrameIndex FLKL N 0 43
|
||||
FrameIndex FLKL O 0 44
|
||||
// fire
|
||||
FrameIndex FLKF A 0 46
|
||||
FrameIndex FLKF B 0 47
|
||||
FrameIndex FLKF C 0 48
|
||||
FrameIndex FLKF D 0 49
|
||||
FrameIndex FLKF E 0 50
|
||||
FrameIndex FLKF F 0 51
|
||||
FrameIndex FLKF G 0 52
|
||||
FrameIndex FLKF H 0 53
|
||||
FrameIndex FLKF I 0 54
|
||||
FrameIndex FLKF J 0 55
|
||||
// altfire
|
||||
FrameIndex FLKA A 0 57
|
||||
FrameIndex FLKA B 0 58
|
||||
FrameIndex FLKA C 0 59
|
||||
FrameIndex FLKA D 0 60
|
||||
FrameIndex FLKA E 0 61
|
||||
FrameIndex FLKA F 0 62
|
||||
FrameIndex FLKA G 0 63
|
||||
FrameIndex FLKA H 0 64
|
||||
FrameIndex FLKA I 0 65
|
||||
FrameIndex FLKA J 0 66
|
||||
FrameIndex FLKA K 0 67
|
||||
// idle
|
||||
FrameIndex FLKI A 0 80
|
||||
// deselect
|
||||
FrameIndex FLKD A 0 82
|
||||
FrameIndex FLKD B 0 83
|
||||
FrameIndex FLKD C 0 84
|
||||
FrameIndex FLKD D 0 85
|
||||
FrameIndex FLKD E 0 86
|
||||
FrameIndex FLKD F 0 87
|
||||
FrameIndex FLKD G 0 88
|
||||
FrameIndex FLKD H 0 89
|
||||
FrameIndex FLKD I 0 90
|
||||
FrameIndex FLKD J 0 91
|
||||
}
|
||||
350
modeldef.ges
Normal file
|
|
@ -0,0 +1,350 @@
|
|||
Model "BioAmmo"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "BioAmmoM_d.3d"
|
||||
Skin 0 "Jbammo1.png"
|
||||
Scale -0.08 0.096 0.08
|
||||
AngleOffset 270
|
||||
ZOffset 4
|
||||
|
||||
FrameIndex BIOA A 0 0
|
||||
}
|
||||
|
||||
Model "BioGel"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "BioGelm_d.3d"
|
||||
Skin 0 "Jgreen.png"
|
||||
Scale 0.08 0.096 0.08
|
||||
RollOffset 90
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
// Flying
|
||||
FrameIndex GELF A 0 0
|
||||
FrameIndex GELF B 0 1
|
||||
FrameIndex GELF C 0 2
|
||||
FrameIndex GELF D 0 3
|
||||
FrameIndex GELF E 0 4
|
||||
FrameIndex GELF F 0 5
|
||||
FrameIndex GELF G 0 6
|
||||
FrameIndex GELF H 0 7
|
||||
FrameIndex GELF I 0 8
|
||||
FrameIndex GELF J 0 9
|
||||
FrameIndex GELF K 0 10
|
||||
FrameIndex GELF L 0 11
|
||||
FrameIndex GELF M 0 12
|
||||
// Hit
|
||||
FrameIndex GELH A 0 14
|
||||
FrameIndex GELH B 0 15
|
||||
FrameIndex GELH C 0 16
|
||||
FrameIndex GELH D 0 17
|
||||
FrameIndex GELH E 0 18
|
||||
FrameIndex GELH F 0 19
|
||||
FrameIndex GELH G 0 20
|
||||
FrameIndex GELH H 0 21
|
||||
FrameIndex GELH I 0 22
|
||||
FrameIndex GELH J 0 23
|
||||
// Drip
|
||||
FrameIndex GELD A 0 24
|
||||
FrameIndex GELD B 0 25
|
||||
FrameIndex GELD C 0 26
|
||||
FrameIndex GELD D 0 27
|
||||
FrameIndex GELD E 0 28
|
||||
FrameIndex GELD F 0 29
|
||||
FrameIndex GELD G 0 30
|
||||
FrameIndex GELD H 0 31
|
||||
FrameIndex GELD I 0 32
|
||||
FrameIndex GELD J 0 33
|
||||
FrameIndex GELD K 0 34
|
||||
FrameIndex GELD L 0 35
|
||||
FrameIndex GELD M 0 36
|
||||
// Slide
|
||||
FrameIndex GELS A 0 37
|
||||
FrameIndex GELS B 0 38
|
||||
FrameIndex GELS C 0 39
|
||||
FrameIndex GELS D 0 40
|
||||
FrameIndex GELS E 0 41
|
||||
FrameIndex GELS F 0 42
|
||||
FrameIndex GELS G 0 43
|
||||
// Shrivel
|
||||
FrameIndex GELX A 0 44
|
||||
FrameIndex GELX B 0 45
|
||||
FrameIndex GELX C 0 46
|
||||
FrameIndex GELX D 0 47
|
||||
FrameIndex GELX E 0 48
|
||||
FrameIndex GELX F 0 49
|
||||
FrameIndex GELX G 0 50
|
||||
FrameIndex GELX H 0 51
|
||||
FrameIndex GELX I 0 52
|
||||
FrameIndex GELX J 0 53
|
||||
FrameIndex GELX K 0 54
|
||||
FrameIndex GELX L 0 55
|
||||
}
|
||||
|
||||
Model "BioSplash"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "BioGelm_d.3d"
|
||||
Skin 0 "Jgreen.png"
|
||||
Scale 0.08 0.096 0.08
|
||||
RollOffset 90
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
// Flying
|
||||
FrameIndex GELF A 0 0
|
||||
FrameIndex GELF B 0 1
|
||||
FrameIndex GELF C 0 2
|
||||
FrameIndex GELF D 0 3
|
||||
FrameIndex GELF E 0 4
|
||||
FrameIndex GELF F 0 5
|
||||
FrameIndex GELF G 0 6
|
||||
FrameIndex GELF H 0 7
|
||||
FrameIndex GELF I 0 8
|
||||
FrameIndex GELF J 0 9
|
||||
FrameIndex GELF K 0 10
|
||||
FrameIndex GELF L 0 11
|
||||
FrameIndex GELF M 0 12
|
||||
// Hit
|
||||
FrameIndex GELH A 0 14
|
||||
FrameIndex GELH B 0 15
|
||||
FrameIndex GELH C 0 16
|
||||
FrameIndex GELH D 0 17
|
||||
FrameIndex GELH E 0 18
|
||||
FrameIndex GELH F 0 19
|
||||
FrameIndex GELH G 0 20
|
||||
FrameIndex GELH H 0 21
|
||||
FrameIndex GELH I 0 22
|
||||
FrameIndex GELH J 0 23
|
||||
// Drip
|
||||
FrameIndex GELD A 0 24
|
||||
FrameIndex GELD B 0 25
|
||||
FrameIndex GELD C 0 26
|
||||
FrameIndex GELD D 0 27
|
||||
FrameIndex GELD E 0 28
|
||||
FrameIndex GELD F 0 29
|
||||
FrameIndex GELD G 0 30
|
||||
FrameIndex GELD H 0 31
|
||||
FrameIndex GELD I 0 32
|
||||
FrameIndex GELD J 0 33
|
||||
FrameIndex GELD K 0 34
|
||||
FrameIndex GELD L 0 35
|
||||
FrameIndex GELD M 0 36
|
||||
// Slide
|
||||
FrameIndex GELS A 0 37
|
||||
FrameIndex GELS B 0 38
|
||||
FrameIndex GELS C 0 39
|
||||
FrameIndex GELS D 0 40
|
||||
FrameIndex GELS E 0 41
|
||||
FrameIndex GELS F 0 42
|
||||
FrameIndex GELS G 0 43
|
||||
// Shrivel
|
||||
FrameIndex GELX A 0 44
|
||||
FrameIndex GELX B 0 45
|
||||
FrameIndex GELX C 0 46
|
||||
FrameIndex GELX D 0 47
|
||||
FrameIndex GELX E 0 48
|
||||
FrameIndex GELX F 0 49
|
||||
FrameIndex GELX G 0 50
|
||||
FrameIndex GELX H 0 51
|
||||
FrameIndex GELX I 0 52
|
||||
FrameIndex GELX J 0 53
|
||||
FrameIndex GELX K 0 54
|
||||
FrameIndex GELX L 0 55
|
||||
}
|
||||
|
||||
Model "BioGlob"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "BioGelm_d.3d"
|
||||
Skin 0 "Jgreen.png"
|
||||
Scale 0.08 0.096 0.08
|
||||
RollOffset 90
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
// Flying
|
||||
FrameIndex GELF A 0 0
|
||||
FrameIndex GELF B 0 1
|
||||
FrameIndex GELF C 0 2
|
||||
FrameIndex GELF D 0 3
|
||||
FrameIndex GELF E 0 4
|
||||
FrameIndex GELF F 0 5
|
||||
FrameIndex GELF G 0 6
|
||||
FrameIndex GELF H 0 7
|
||||
FrameIndex GELF I 0 8
|
||||
FrameIndex GELF J 0 9
|
||||
FrameIndex GELF K 0 10
|
||||
FrameIndex GELF L 0 11
|
||||
FrameIndex GELF M 0 12
|
||||
// Hit
|
||||
FrameIndex GELH A 0 14
|
||||
FrameIndex GELH B 0 15
|
||||
FrameIndex GELH C 0 16
|
||||
FrameIndex GELH D 0 17
|
||||
FrameIndex GELH E 0 18
|
||||
FrameIndex GELH F 0 19
|
||||
FrameIndex GELH G 0 20
|
||||
FrameIndex GELH H 0 21
|
||||
FrameIndex GELH I 0 22
|
||||
FrameIndex GELH J 0 23
|
||||
// Drip
|
||||
FrameIndex GELD A 0 24
|
||||
FrameIndex GELD B 0 25
|
||||
FrameIndex GELD C 0 26
|
||||
FrameIndex GELD D 0 27
|
||||
FrameIndex GELD E 0 28
|
||||
FrameIndex GELD F 0 29
|
||||
FrameIndex GELD G 0 30
|
||||
FrameIndex GELD H 0 31
|
||||
FrameIndex GELD I 0 32
|
||||
FrameIndex GELD J 0 33
|
||||
FrameIndex GELD K 0 34
|
||||
FrameIndex GELD L 0 35
|
||||
FrameIndex GELD M 0 36
|
||||
// Slide
|
||||
FrameIndex GELS A 0 37
|
||||
FrameIndex GELS B 0 38
|
||||
FrameIndex GELS C 0 39
|
||||
FrameIndex GELS D 0 40
|
||||
FrameIndex GELS E 0 41
|
||||
FrameIndex GELS F 0 42
|
||||
FrameIndex GELS G 0 43
|
||||
// Shrivel
|
||||
FrameIndex GELX A 0 44
|
||||
FrameIndex GELX B 0 45
|
||||
FrameIndex GELX C 0 46
|
||||
FrameIndex GELX D 0 47
|
||||
FrameIndex GELX E 0 48
|
||||
FrameIndex GELX F 0 49
|
||||
FrameIndex GELX G 0 50
|
||||
FrameIndex GELX H 0 51
|
||||
FrameIndex GELX I 0 52
|
||||
FrameIndex GELX J 0 53
|
||||
FrameIndex GELX K 0 54
|
||||
FrameIndex GELX L 0 55
|
||||
}
|
||||
|
||||
Model "BioRifle"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "BRifle2Pick_d.3d"
|
||||
Skin 1 "JBRifle2.png"
|
||||
Scale -0.1 0.12 0.1
|
||||
PitchOffset 90
|
||||
AngleOffset 270
|
||||
ZOffset 12
|
||||
ROTATING
|
||||
|
||||
FrameIndex BIOP A 1 0
|
||||
}
|
||||
Model "BioRifle"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "BRifle2Pick_d.3d"
|
||||
Skin 1 "JBRifle2.png"
|
||||
Scale -0.1 0.12 0.1
|
||||
PitchOffset 90
|
||||
AngleOffset 270
|
||||
ZOffset 10
|
||||
|
||||
FrameIndex BIOP B 1 0
|
||||
}
|
||||
|
||||
Model "BioRifle"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "BRifle2_d.3d"
|
||||
SurfaceSkin 0 0 "JBRifle21.png"
|
||||
SurfaceSkin 0 1 "JBRifle22.png"
|
||||
SurfaceSkin 0 2 "JBRifle23.png"
|
||||
SurfaceSkin 0 3 "JBRifle24.png"
|
||||
RollOffset -8.4375
|
||||
PitchOffset 94.21875
|
||||
Scale 0.125 0.06 0.125
|
||||
Offset 9.8 -17.6 -10.4
|
||||
|
||||
// select
|
||||
FrameIndex BIOS A 0 0
|
||||
FrameIndex BIOS B 0 1
|
||||
FrameIndex BIOS C 0 2
|
||||
FrameIndex BIOS D 0 3
|
||||
FrameIndex BIOS E 0 4
|
||||
FrameIndex BIOS F 0 5
|
||||
FrameIndex BIOS G 0 6
|
||||
FrameIndex BIOS H 0 7
|
||||
FrameIndex BIOS I 0 8
|
||||
FrameIndex BIOS J 0 9
|
||||
FrameIndex BIOS K 0 10
|
||||
FrameIndex BIOS L 0 11
|
||||
FrameIndex BIOS M 0 12
|
||||
FrameIndex BIOS N 0 13
|
||||
FrameIndex BIOS O 0 14
|
||||
FrameIndex BIOS P 0 15
|
||||
FrameIndex BIOS Q 0 16
|
||||
FrameIndex BIOS R 0 17
|
||||
FrameIndex BIOS S 0 18
|
||||
FrameIndex BIOS T 0 19
|
||||
FrameIndex BIOS U 0 20
|
||||
FrameIndex BIOS V 0 21
|
||||
// idle
|
||||
FrameIndex BIOI A 0 22
|
||||
// charging
|
||||
FrameIndex BIOC A 0 41
|
||||
FrameIndex BIOC B 0 42
|
||||
FrameIndex BIOC C 0 43
|
||||
FrameIndex BIOC D 0 44
|
||||
FrameIndex BIOC E 0 45
|
||||
FrameIndex BIOC F 0 46
|
||||
FrameIndex BIOC G 0 47
|
||||
FrameIndex BIOC H 0 48
|
||||
FrameIndex BIOC I 0 49
|
||||
FrameIndex BIOC J 0 50
|
||||
FrameIndex BIOC K 0 51
|
||||
FrameIndex BIOC L 0 52
|
||||
FrameIndex BIOC M 0 53
|
||||
FrameIndex BIOC N 0 54
|
||||
FrameIndex BIOC O 0 55
|
||||
FrameIndex BIOC P 0 56
|
||||
FrameIndex BIOC Q 0 57
|
||||
FrameIndex BIOC R 0 58
|
||||
FrameIndex BIOC S 0 59
|
||||
FrameIndex BIOC T 0 60
|
||||
FrameIndex BIOC U 0 61
|
||||
FrameIndex BIOC V 0 62
|
||||
FrameIndex BIOC W 0 63
|
||||
FrameIndex BIOC X 0 64
|
||||
FrameIndex BIOC Y 0 65
|
||||
FrameIndex BIOC Z 0 66
|
||||
FrameIndex BIC2 A 0 67
|
||||
FrameIndex BIC2 B 0 68
|
||||
FrameIndex BIC2 C 0 69
|
||||
FrameIndex BIC2 D 0 70
|
||||
FrameIndex BIC2 E 0 71
|
||||
// full
|
||||
FrameIndex BIOM A 0 70
|
||||
// empty
|
||||
FrameIndex BIOE A 0 71
|
||||
// fire
|
||||
FrameIndex BIOF A 0 72
|
||||
FrameIndex BIOF B 0 73
|
||||
FrameIndex BIOF C 0 74
|
||||
FrameIndex BIOF D 0 75
|
||||
FrameIndex BIOF E 0 76
|
||||
FrameIndex BIOF F 0 77
|
||||
FrameIndex BIOF G 0 78
|
||||
FrameIndex BIOF H 0 79
|
||||
FrameIndex BIOF I 0 80
|
||||
// deselect
|
||||
FrameIndex BIOD A 0 80
|
||||
FrameIndex BIOD B 0 81
|
||||
FrameIndex BIOD C 0 82
|
||||
FrameIndex BIOD D 0 83
|
||||
FrameIndex BIOD E 0 84
|
||||
FrameIndex BIOD F 0 85
|
||||
FrameIndex BIOD G 0 86
|
||||
FrameIndex BIOD H 0 87
|
||||
FrameIndex BIOD I 0 88
|
||||
FrameIndex BIOD J 0 89
|
||||
}
|
||||
21
modeldef.impact
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
Model "ImpactHammer"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "ImpPick_d.3d"
|
||||
Skin 1 "JImpPick1.png"
|
||||
Scale -0.24 0.2 0.2
|
||||
ZOffset 12
|
||||
ROTATING
|
||||
|
||||
FrameIndex IMPP A 1 0
|
||||
}
|
||||
Model "ImpactHammer"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "ImpPick_d.3d"
|
||||
Skin 1 "JImpPick1.png"
|
||||
Scale -0.24 0.2 0.2
|
||||
ZOffset 6
|
||||
|
||||
FrameIndex IMPP B 1 0
|
||||
}
|
||||
39
modeldef.minigun
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
Model "MiniAmmo"
|
||||
{
|
||||
|
||||
Path "models"
|
||||
Model 0 "MiniAmmom_d.3d"
|
||||
Skin 0 "JM21.png"
|
||||
Offset 2 0 8
|
||||
PitchOffset 90
|
||||
AngleOffset 90
|
||||
Scale 0.12 -0.134 0.12
|
||||
|
||||
FrameIndex MAMO A 0 0
|
||||
}
|
||||
|
||||
Model "Minigun"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "MinigunPick_d.3d"
|
||||
Skin 1 "Mini_t.png"
|
||||
Scale -0.2 0.24 0.2
|
||||
PitchOffset 90
|
||||
AngleOffset 270
|
||||
ZOffset 12
|
||||
ROTATING
|
||||
|
||||
FrameIndex MGNP A 1 0
|
||||
}
|
||||
Model "Minigun"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "MinigunPick_d.3d"
|
||||
Skin 1 "Mini_t.png"
|
||||
Scale -0.2 0.24 0.2
|
||||
PitchOffset 90
|
||||
AngleOffset 270
|
||||
ZOffset 6
|
||||
|
||||
FrameIndex MGNP B 1 0
|
||||
}
|
||||
323
modeldef.misc
Normal file
|
|
@ -0,0 +1,323 @@
|
|||
Model "UTTeleportFog"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "Tele2_d.3d"
|
||||
Skin 0 "JTele2_01.png"
|
||||
Scale 0.24 0.2 0.2
|
||||
PitchOffset 90
|
||||
ZOffset 10
|
||||
DONTCULLBACKFACES
|
||||
|
||||
FrameIndex TELE A 0 0
|
||||
FrameIndex TELE B 0 2
|
||||
FrameIndex TELE C 0 4
|
||||
FrameIndex TELE D 0 6
|
||||
FrameIndex TELE E 0 8
|
||||
FrameIndex TELE F 0 10
|
||||
FrameIndex TELE G 0 12
|
||||
FrameIndex TELE H 0 14
|
||||
FrameIndex TELE I 0 16
|
||||
FrameIndex TELE J 0 18
|
||||
FrameIndex TELE K 0 20
|
||||
FrameIndex TELE L 0 22
|
||||
FrameIndex TELE M 0 24
|
||||
FrameIndex TELE N 0 26
|
||||
FrameIndex TELE O 0 28
|
||||
FrameIndex TELE P 0 30
|
||||
FrameIndex TELE Q 0 32
|
||||
FrameIndex TELE R 0 34
|
||||
FrameIndex TELE S 0 36
|
||||
FrameIndex TELE T 0 38
|
||||
FrameIndex TELE U 0 40
|
||||
FrameIndex TELE V 0 42
|
||||
FrameIndex TELE W 0 44
|
||||
FrameIndex TELE X 0 46
|
||||
FrameIndex TELE Y 0 48
|
||||
FrameIndex TELE Z 0 50
|
||||
FrameIndex TEL2 A 0 52
|
||||
FrameIndex TEL2 B 0 54
|
||||
FrameIndex TEL2 C 0 56
|
||||
FrameIndex TEL2 D 0 58
|
||||
FrameIndex TEL2 E 0 60
|
||||
FrameIndex TEL2 F 0 62
|
||||
FrameIndex TEL2 G 0 64
|
||||
FrameIndex TEL2 H 0 66
|
||||
FrameIndex TEL2 I 0 68
|
||||
}
|
||||
|
||||
Model "UTHealthPack"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "hbox_d.3d"
|
||||
SurfaceSkin 0 0 "jhbox1.png"
|
||||
SurfaceSkin 0 1 "FIZZHP00"
|
||||
Scale -0.2 0.2 0.2
|
||||
AngleOffset 90
|
||||
ZOffset 14
|
||||
|
||||
FrameIndex HBOX A 0 0
|
||||
}
|
||||
|
||||
Model "UTHealthBox"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "hboxbeta_d.3d"
|
||||
SurfaceSkin 0 0 "jhboxbeta1.png"
|
||||
SurfaceSkin 0 1 "FIZZHP10"
|
||||
SurfaceSkin 0 2 "FIZZHP10"
|
||||
Scale -0.096 0.08 0.08
|
||||
PitchOffset 90
|
||||
ZOffset 4
|
||||
|
||||
FrameIndex HBOX B 0 0
|
||||
}
|
||||
|
||||
Model "UTMedBox"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "MedBox_d.3d"
|
||||
SurfaceSkin 0 0 "JMedBox1.png"
|
||||
SurfaceSkin 0 1 "FIZZHP10"
|
||||
Scale -0.072 0.06 0.06
|
||||
PitchOffset 90
|
||||
ZOffset 5
|
||||
|
||||
FrameIndex HBOX C 0 0
|
||||
}
|
||||
|
||||
Model "UTHealthBonus"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "Vial_d.3d"
|
||||
SurfaceSkin 0 0 "JVial0.png"
|
||||
SurfaceSkin 0 1 "FIZZHP20"
|
||||
SurfaceSkin 0 2 "FIZZHP20"
|
||||
Scale -0.048 0.04 0.04
|
||||
PitchOffset 90
|
||||
ZOffset 8
|
||||
DONTCULLBACKFACES
|
||||
|
||||
FrameIndex VIAL A 0 0
|
||||
}
|
||||
|
||||
Model "UTArmorBonus"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "bossheadm_d.3d"
|
||||
Skin 0 "bossheadT.png"
|
||||
Scale -0.072 0.072 0.06
|
||||
AngleOffset 180
|
||||
PitchOffset 110
|
||||
ZOffset 6
|
||||
|
||||
FrameIndex XANH A 0 0
|
||||
}
|
||||
|
||||
Model "UTThighPads"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "ThighPads_d.3d"
|
||||
Skin 0 "JThighPads_01.png"
|
||||
Scale -0.096 0.08 0.08
|
||||
PitchOffset 90
|
||||
ZOffset 12
|
||||
ROTATING
|
||||
|
||||
FrameIndex THIG A 0 0
|
||||
}
|
||||
|
||||
Model "UTBodyArmor"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "Armor2M_d.3d"
|
||||
Skin 0 "Jarmor2.png"
|
||||
Scale -0.134 0.134 0.12
|
||||
PitchOffset 90
|
||||
ZOffset 12
|
||||
|
||||
FrameIndex UARM A 0 0
|
||||
}
|
||||
|
||||
Model "UTShieldBelt"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "ShieldBeltMeshM_d.3d"
|
||||
Skin 0 "AUbelt1.png"
|
||||
Scale -0.12 0.1 0.1
|
||||
AngleOffset 180
|
||||
PitchOffset 90
|
||||
ZOffset 4
|
||||
|
||||
FrameIndex BELT A 0 0
|
||||
}
|
||||
|
||||
Model "UDamage"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "UDamage_d.3d"
|
||||
Skin 0 "GoldSkin2.png"
|
||||
Scale 0.192 0.16 0.16
|
||||
PitchOffset 90
|
||||
ZOffset 24
|
||||
ROTATING
|
||||
|
||||
FrameIndex UDAM A 0 0
|
||||
}
|
||||
Model "UDamage"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "UDamageB_d.3d"
|
||||
Skin 1 "Judamage1.png"
|
||||
Scale 0.192 0.16 0.16
|
||||
PitchOffset 90
|
||||
ZOffset 24
|
||||
ROTATING
|
||||
|
||||
FrameIndex UDAM B 1 0
|
||||
}
|
||||
|
||||
Model "UTRedSkull"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "RelicSkull_d.3d"
|
||||
Skin 0 "JRelicSkull_01r.png"
|
||||
Scale 0.12 0.1 0.1
|
||||
PitchOffset 90
|
||||
ZOffset 12
|
||||
ROTATING
|
||||
|
||||
FrameIndex USKL A 0 15
|
||||
}
|
||||
Model "UTGoldSkull"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "RelicSkull_d.3d"
|
||||
Skin 0 "JRelicSkull_01g.png"
|
||||
Scale 0.12 0.1 0.1
|
||||
PitchOffset 90
|
||||
ZOffset 12
|
||||
ROTATING
|
||||
|
||||
FrameIndex USKL B 0 15
|
||||
}
|
||||
Model "UTBlueSkull"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "RelicSkull_d.3d"
|
||||
Skin 0 "JRelicSkull_01b.png"
|
||||
Scale 0.12 0.1 0.1
|
||||
PitchOffset 90
|
||||
ZOffset 12
|
||||
ROTATING
|
||||
|
||||
FrameIndex USKL C 0 15
|
||||
}
|
||||
Model "UTRedKey"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "DomR_d.3d"
|
||||
Skin 0 "RedSkin2.png"
|
||||
Scale 0.048 0.04 0.04
|
||||
PitchOffset 90
|
||||
ZOffset 16
|
||||
ROTATING
|
||||
|
||||
FrameIndex UKEY A 0 0
|
||||
}
|
||||
Model "UTGoldKey"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "MercSymbol_d.3d"
|
||||
Skin 0 "GoldSkin2.png"
|
||||
Scale 0.096 0.08 0.08
|
||||
PitchOffset 90
|
||||
ZOffset 16
|
||||
ROTATING
|
||||
|
||||
FrameIndex UKEY B 0 0
|
||||
}
|
||||
Model "UTBlueKey"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "DomB_d.3d"
|
||||
Skin 0 "BlueSkin2.png"
|
||||
Scale 0.048 0.04 0.04
|
||||
PitchOffset 90
|
||||
ZOffset 16
|
||||
ROTATING
|
||||
|
||||
FrameIndex UKEY C 0 0
|
||||
}
|
||||
|
||||
Model "UTBackpack"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "Backpack2_d.3d" // cheaply edited out of SelectionMale1 (offsets weren't even readjusted)
|
||||
Skin 0 "bpak.png"
|
||||
Offset -20 12 -16
|
||||
Scale -0.36 0.3 0.3
|
||||
ROTATING
|
||||
|
||||
FrameIndex BPAK A 0 0
|
||||
}
|
||||
|
||||
Model "UTInvisibility"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "invis2M_d.3d"
|
||||
SurfaceSkin 0 0 "jinvis.png"
|
||||
Scale -0.12 0.1 0.1
|
||||
PitchOffset 90
|
||||
ZOffset 9
|
||||
|
||||
FrameIndex INVS A 0 0
|
||||
}
|
||||
Model "UTInvisibilityX"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "invis2M_d.3d"
|
||||
SurfaceSkin 0 1 "invis00"
|
||||
Scale -0.12 0.1 0.1
|
||||
PitchOffset 90
|
||||
ZOffset 9
|
||||
|
||||
FrameIndex INVS A 0 0
|
||||
}
|
||||
|
||||
Model "UTMapRevealer"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "TranslatorMesh_d.3d"
|
||||
Skin 0 "JTranslator1.png"
|
||||
Scale -0.096 0.08 0.08
|
||||
PitchOffset 90
|
||||
ZOffset 4
|
||||
|
||||
FrameIndex TRNS A 0 0
|
||||
}
|
||||
|
||||
Model "ShieldingSuit"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "ToxSuit_d.3d"
|
||||
Skin 0 "ShieldSuit.png"
|
||||
Scale -0.12 0.12 0.134
|
||||
PitchOffset 180
|
||||
ZOffset 24
|
||||
ROTATING
|
||||
|
||||
FrameIndex SSUT A 0 0
|
||||
}
|
||||
|
||||
Model "Searchlight"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "BigFlash_d.3d"
|
||||
Skin 0 "JBigFlash1.png"
|
||||
Scale -0.084 0.084 0.07
|
||||
PitchOffset 90
|
||||
AngleOffset 180
|
||||
ZOffset 9
|
||||
|
||||
FrameIndex SLIT A 0 0
|
||||
}
|
||||
254
modeldef.pulse
Normal file
|
|
@ -0,0 +1,254 @@
|
|||
Model "PulseAmmo"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "PAmmo_d.3d"
|
||||
Skin 0 "JPammo_01.png"
|
||||
Scale -0.072 0.06 0.06
|
||||
PitchOffset 90
|
||||
ZOffset 6
|
||||
|
||||
FrameIndex PAMO A 0 0
|
||||
}
|
||||
|
||||
Model "PulseGun"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "PulsePickup_d.3d"
|
||||
Skin 1 "JPulsePickup_01.png"
|
||||
AngleOffset 270
|
||||
PitchOffset 90
|
||||
Scale -0.16 0.192 0.16
|
||||
ZOffset 12
|
||||
ROTATING
|
||||
|
||||
FrameIndex PGNP A 1 0
|
||||
}
|
||||
Model "PulseGun"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "PulsePickup_d.3d"
|
||||
Skin 1 "JPulsePickup_01.png"
|
||||
AngleOffset 270
|
||||
PitchOffset 90
|
||||
Scale -0.16 0.192 0.16
|
||||
ZOffset 8
|
||||
|
||||
FrameIndex PGNP B 1 0
|
||||
}
|
||||
|
||||
Model "PulseGun"
|
||||
{
|
||||
Path "models"
|
||||
Model 2 "Flat_d.3d"
|
||||
Skin 2 "MuzzyPulse.png"
|
||||
PitchOffset 90
|
||||
Scale 0.08 0.08 0.08
|
||||
Offset 8.5 -25.0 -4.5
|
||||
|
||||
FrameIndex PMUZ A 0 0
|
||||
}
|
||||
|
||||
Model "PulseGun"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "PulseGunR_d.3d"
|
||||
SurfaceSkin 0 0 "AmmoLedBase.png"
|
||||
SurfaceSkin 0 1 "JPulseGun_02.png"
|
||||
SurfaceSkin 0 2 "JPulseGun_03.png"
|
||||
PitchOffset 90
|
||||
Scale 0.26 0.195 0.26
|
||||
Offset 0.0 -7.5 -8.0
|
||||
|
||||
// Select
|
||||
FrameIndex PGNS A 0 2
|
||||
FrameIndex PGNS B 0 3
|
||||
FrameIndex PGNS C 0 4
|
||||
FrameIndex PGNS D 0 5
|
||||
FrameIndex PGNS E 0 6
|
||||
FrameIndex PGNS F 0 7
|
||||
FrameIndex PGNS G 0 8
|
||||
FrameIndex PGNS H 0 9
|
||||
FrameIndex PGNS I 0 10
|
||||
FrameIndex PGNS J 0 11
|
||||
FrameIndex PGNS K 0 12
|
||||
FrameIndex PGNS L 0 13
|
||||
FrameIndex PGNS M 0 14
|
||||
FrameIndex PGNS N 0 15
|
||||
FrameIndex PGNS O 0 16
|
||||
FrameIndex PGNS P 0 17
|
||||
FrameIndex PGNS Q 0 18
|
||||
FrameIndex PGNS R 0 19
|
||||
FrameIndex PGNS S 0 20
|
||||
FrameIndex PGNS T 0 21
|
||||
FrameIndex PGNS U 0 22
|
||||
FrameIndex PGNS V 0 23
|
||||
FrameIndex PGNS W 0 24
|
||||
// Cooldown
|
||||
FrameIndex PGNC A 0 40
|
||||
FrameIndex PGNC B 0 41
|
||||
FrameIndex PGNC C 0 42
|
||||
FrameIndex PGNC D 0 43
|
||||
FrameIndex PGNC E 0 44
|
||||
FrameIndex PGNC F 0 45
|
||||
FrameIndex PGNC G 0 46
|
||||
FrameIndex PGNC H 0 47
|
||||
FrameIndex PGNC I 0 48
|
||||
FrameIndex PGNC J 0 49
|
||||
FrameIndex PGNC K 0 50
|
||||
FrameIndex PGNC L 0 51
|
||||
FrameIndex PGNC M 0 52
|
||||
FrameIndex PGNC N 0 53
|
||||
FrameIndex PGNC O 0 54
|
||||
FrameIndex PGNC P 0 55
|
||||
FrameIndex PGNC Q 0 56
|
||||
FrameIndex PGNC R 0 57
|
||||
FrameIndex PGNC S 0 58
|
||||
FrameIndex PGNC T 0 59
|
||||
FrameIndex PGNC U 0 60
|
||||
FrameIndex PGNC V 0 61
|
||||
FrameIndex PGNC W 0 62
|
||||
FrameIndex PGNC X 0 63
|
||||
FrameIndex PGNC Y 0 64
|
||||
// Reload
|
||||
FrameIndex PGNR A 0 65
|
||||
FrameIndex PGNR B 0 66
|
||||
FrameIndex PGNR C 0 67
|
||||
FrameIndex PGNR D 0 68
|
||||
FrameIndex PGNR E 0 69
|
||||
FrameIndex PGNR F 0 70
|
||||
FrameIndex PGNR G 0 71
|
||||
FrameIndex PGNR H 0 72
|
||||
FrameIndex PGNR I 0 73
|
||||
FrameIndex PGNR J 0 74
|
||||
FrameIndex PGNR K 0 75
|
||||
FrameIndex PGNR L 0 76
|
||||
FrameIndex PGNR M 0 77
|
||||
FrameIndex PGNR N 0 78
|
||||
FrameIndex PGNR O 0 79
|
||||
FrameIndex PGNR P 0 80
|
||||
FrameIndex PGNR Q 0 81
|
||||
FrameIndex PGNR R 0 82
|
||||
FrameIndex PGNR S 0 83
|
||||
FrameIndex PGNR T 0 84
|
||||
FrameIndex PGNR U 0 85
|
||||
FrameIndex PGNR V 0 86
|
||||
FrameIndex PGNR W 0 87
|
||||
FrameIndex PGNR X 0 88
|
||||
FrameIndex PGNR Y 0 89
|
||||
FrameIndex PGNR Z 0 90
|
||||
FrameIndex PGR2 A 0 91
|
||||
FrameIndex PGR2 B 0 92
|
||||
FrameIndex PGR2 C 0 93
|
||||
FrameIndex PGR2 D 0 94
|
||||
FrameIndex PGR2 E 0 95
|
||||
FrameIndex PGR2 F 0 96
|
||||
FrameIndex PGR2 G 0 97
|
||||
FrameIndex PGR2 H 0 98
|
||||
FrameIndex PGR2 I 0 99
|
||||
FrameIndex PGR2 J 0 100
|
||||
FrameIndex PGR2 K 0 101
|
||||
FrameIndex PGR2 L 0 102
|
||||
FrameIndex PGR2 M 0 103
|
||||
FrameIndex PGR2 N 0 104
|
||||
FrameIndex PGR2 O 0 105
|
||||
FrameIndex PGR2 P 0 106
|
||||
FrameIndex PGR2 Q 0 107
|
||||
FrameIndex PGR2 R 0 108
|
||||
FrameIndex PGR2 S 0 109
|
||||
FrameIndex PGR2 T 0 110
|
||||
FrameIndex PGR2 U 0 111
|
||||
FrameIndex PGR2 V 0 112
|
||||
FrameIndex PGR2 W 0 113
|
||||
FrameIndex PGR2 X 0 114
|
||||
// Bolt Start
|
||||
FrameIndex PGBS A 0 115
|
||||
FrameIndex PGBS B 0 116
|
||||
FrameIndex PGBS C 0 117
|
||||
FrameIndex PGBS D 0 118
|
||||
FrameIndex PGBS E 0 119
|
||||
// Bolt Loop
|
||||
FrameIndex PGBL A 0 120
|
||||
FrameIndex PGBL B 0 121
|
||||
FrameIndex PGBL C 0 122
|
||||
FrameIndex PGBL D 0 123
|
||||
FrameIndex PGBL E 0 124
|
||||
FrameIndex PGBL F 0 125
|
||||
FrameIndex PGBL G 0 126
|
||||
FrameIndex PGBL H 0 127
|
||||
FrameIndex PGBL I 0 128
|
||||
FrameIndex PGBL J 0 129
|
||||
// Bolt End
|
||||
FrameIndex PGBE A 0 130
|
||||
FrameIndex PGBE B 0 131
|
||||
FrameIndex PGBE C 0 132
|
||||
FrameIndex PGBE D 0 133
|
||||
FrameIndex PGBE E 0 134
|
||||
// Idle
|
||||
FrameIndex PGNI A 0 135
|
||||
FrameIndex PGNI B 0 138
|
||||
FrameIndex PGNI C 0 141
|
||||
FrameIndex PGNI D 0 144
|
||||
FrameIndex PGNI E 0 147
|
||||
FrameIndex PGNI F 0 150
|
||||
FrameIndex PGNI G 0 153
|
||||
FrameIndex PGNI H 0 156
|
||||
FrameIndex PGNI I 0 159
|
||||
FrameIndex PGNI J 0 162
|
||||
FrameIndex PGNI K 0 165
|
||||
FrameIndex PGNI L 0 168
|
||||
FrameIndex PGNI M 0 171
|
||||
FrameIndex PGNI N 0 174
|
||||
FrameIndex PGNI O 0 177
|
||||
FrameIndex PGNI P 0 180
|
||||
FrameIndex PGNI Q 0 183
|
||||
FrameIndex PGNI R 0 186
|
||||
FrameIndex PGNI S 0 189
|
||||
FrameIndex PGNI T 0 192
|
||||
FrameIndex PGNI U 0 195
|
||||
FrameIndex PGNI V 0 198
|
||||
FrameIndex PGNI W 0 201
|
||||
FrameIndex PGNI X 0 204
|
||||
FrameIndex PGNI Y 0 207
|
||||
FrameIndex PGNI Z 0 210
|
||||
// Fire Loop
|
||||
FrameIndex PGNF A 0 215
|
||||
FrameIndex PGNF B 0 216
|
||||
FrameIndex PGNF C 0 217
|
||||
FrameIndex PGNF D 0 218
|
||||
FrameIndex PGNF E 0 219
|
||||
FrameIndex PGNF F 0 220
|
||||
FrameIndex PGNF G 0 221
|
||||
FrameIndex PGNF H 0 222
|
||||
FrameIndex PGNF I 0 223
|
||||
FrameIndex PGNF J 0 224
|
||||
FrameIndex PGNF K 0 225
|
||||
FrameIndex PGNF L 0 226
|
||||
FrameIndex PGNF M 0 227
|
||||
FrameIndex PGNF N 0 228
|
||||
FrameIndex PGNF O 0 229
|
||||
FrameIndex PGNF P 0 230
|
||||
FrameIndex PGNF Q 0 231
|
||||
FrameIndex PGNF R 0 232
|
||||
FrameIndex PGNF S 0 233
|
||||
FrameIndex PGNF T 0 234
|
||||
FrameIndex PGNF U 0 235
|
||||
FrameIndex PGNF V 0 236
|
||||
FrameIndex PGNF W 0 237
|
||||
FrameIndex PGNF X 0 238
|
||||
FrameIndex PGNF Y 0 239
|
||||
FrameIndex PGNF Z 0 240
|
||||
FrameIndex PGF2 A 0 241
|
||||
FrameIndex PGF2 B 0 242
|
||||
FrameIndex PGF2 C 0 243
|
||||
FrameIndex PGF2 D 0 244
|
||||
FrameIndex PGF2 E 0 245
|
||||
FrameIndex PGF2 F 0 246
|
||||
FrameIndex PGF2 G 0 247
|
||||
FrameIndex PGF2 H 0 248
|
||||
FrameIndex PGF2 I 0 249
|
||||
FrameIndex PGF2 J 0 250
|
||||
FrameIndex PGF2 K 0 251
|
||||
FrameIndex PGF2 L 0 252
|
||||
FrameIndex PGF2 M 0 253
|
||||
FrameIndex PGF2 N 0 254
|
||||
}
|
||||
50
modeldef.rifle
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
Model "RifleAmmo"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "BulletBoxM_d.3d"
|
||||
Skin 0 "BulletBoxT.png"
|
||||
Scale -0.084 0.07 0.07
|
||||
PitchOffset 90
|
||||
AngleOffset 180
|
||||
ZOffset 3
|
||||
|
||||
FrameIndex SBOX A 0 0
|
||||
}
|
||||
|
||||
Model "RifleAmmo2"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "RifleRoundM_d.3d"
|
||||
Skin 0 "RifleR1.png"
|
||||
Scale -0.024 0.02 0.02
|
||||
PitchOffset 90
|
||||
ZOffset 4
|
||||
|
||||
FrameIndex SRND A 0 0
|
||||
}
|
||||
|
||||
Model "SniperRifle"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "RiflePick_d.3d"
|
||||
Skin 1 "JRifle2.png"
|
||||
Scale -0.2 0.24 0.2
|
||||
PitchOffset 90
|
||||
AngleOffset 270
|
||||
ZOffset 12
|
||||
ROTATING
|
||||
|
||||
FrameIndex SRFP A 1 0
|
||||
}
|
||||
Model "SniperRifle"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "RiflePick_d.3d"
|
||||
Skin 1 "JRifle2.png"
|
||||
Scale -0.2 0.24 0.2
|
||||
PitchOffset 90
|
||||
AngleOffset 270
|
||||
ZOffset 6
|
||||
|
||||
FrameIndex SRFP B 1 0
|
||||
}
|
||||
35
modeldef.ripper
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
Model "RipperAmmo"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "BladeHopperM_d.3d"
|
||||
Skin 0 "BladeHopperT.png"
|
||||
PitchOffset 90
|
||||
Scale -0.12 0.1 0.1
|
||||
ZOffset 10
|
||||
|
||||
FrameIndex BHOP A 0 0
|
||||
}
|
||||
|
||||
Model "Ripper2"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "RazPick2_d.3d"
|
||||
Skin 1 "JRazorw.png"
|
||||
Scale -0.24 0.2 0.2
|
||||
PitchOffset 90
|
||||
ZOffset 12
|
||||
ROTATING
|
||||
|
||||
FrameIndex RZRP A 1 0
|
||||
}
|
||||
Model "Ripper2"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "RazPick2_d.3d"
|
||||
Skin 1 "JRazorw.png"
|
||||
Scale -0.24 0.2 0.2
|
||||
PitchOffset 90
|
||||
ZOffset 6
|
||||
|
||||
FrameIndex RZRP B 1 0
|
||||
}
|
||||
305
modeldef.shock
Normal file
|
|
@ -0,0 +1,305 @@
|
|||
Model "ShockAmmo"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "ShockCoreM_d.3d"
|
||||
Skin 0 "JShockCore.png"
|
||||
PitchOffset 90
|
||||
Scale -0.132 0.11 0.11
|
||||
ZOffset 12
|
||||
|
||||
FrameIndex SHOA A 0 0
|
||||
}
|
||||
|
||||
Model "EnhancedShockAmmo"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "ShockCoreM_d.3d"
|
||||
Skin 0 "JSShockCore.png"
|
||||
PitchOffset 90
|
||||
Scale -0.132 0.11 0.11
|
||||
ZOffset 12
|
||||
|
||||
FrameIndex SHOA A 0 0
|
||||
}
|
||||
|
||||
Model "ShockRifleWave"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "shockrwm_d.3d"
|
||||
Skin 0 "shocktt1.png"
|
||||
|
||||
FrameIndex SWAV A 0 0
|
||||
FrameIndex SWAV B 0 1
|
||||
}
|
||||
|
||||
Model "SuperShockRifleWave"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "shockrwm_d.3d"
|
||||
Skin 0 "sshocktt1.png"
|
||||
|
||||
FrameIndex SWAV A 0 0
|
||||
FrameIndex SWAV B 0 1
|
||||
}
|
||||
|
||||
Model "ShockBeamRing"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "utringex_d.3d"
|
||||
Skin 0 "asaring.png"
|
||||
DONTCULLBACKFACES
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
Scale 1.2 1.0 1.0
|
||||
|
||||
FrameIndex SRNG A 0 0
|
||||
FrameIndex SRNG B 0 1
|
||||
FrameIndex SRNG C 0 2
|
||||
FrameIndex SRNG D 0 3
|
||||
FrameIndex SRNG E 0 4
|
||||
FrameIndex SRNG F 0 5
|
||||
FrameIndex SRNG G 0 6
|
||||
FrameIndex SRNG H 0 7
|
||||
FrameIndex SRNG I 0 8
|
||||
}
|
||||
|
||||
Model "SuperShockBeamRing"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "utringex_d.3d"
|
||||
Skin 0 "ASasRing.png"
|
||||
DONTCULLBACKFACES
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
Scale 1.2 1.0 1.0
|
||||
|
||||
FrameIndex SRNG A 0 0
|
||||
FrameIndex SRNG B 0 1
|
||||
FrameIndex SRNG C 0 2
|
||||
FrameIndex SRNG D 0 3
|
||||
FrameIndex SRNG E 0 4
|
||||
FrameIndex SRNG F 0 5
|
||||
FrameIndex SRNG G 0 6
|
||||
FrameIndex SRNG H 0 7
|
||||
FrameIndex SRNG I 0 8
|
||||
}
|
||||
|
||||
Model "ShockBlastRing"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "utringex_d.3d"
|
||||
Skin 0 "ppurplering.png"
|
||||
DONTCULLBACKFACES
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
Scale 1.2 1.0 1.0
|
||||
|
||||
FrameIndex SRNG A 0 0
|
||||
FrameIndex SRNG B 0 1
|
||||
FrameIndex SRNG C 0 2
|
||||
FrameIndex SRNG D 0 3
|
||||
FrameIndex SRNG E 0 4
|
||||
FrameIndex SRNG F 0 5
|
||||
FrameIndex SRNG G 0 6
|
||||
FrameIndex SRNG H 0 7
|
||||
FrameIndex SRNG I 0 8
|
||||
}
|
||||
|
||||
Model "SuperShockBlastRing"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "utringex_d.3d"
|
||||
Skin 0 "ASasRing.png"
|
||||
DONTCULLBACKFACES
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
Scale 1.2 1.0 1.0
|
||||
|
||||
FrameIndex SRNG A 0 0
|
||||
FrameIndex SRNG B 0 1
|
||||
FrameIndex SRNG C 0 2
|
||||
FrameIndex SRNG D 0 3
|
||||
FrameIndex SRNG E 0 4
|
||||
FrameIndex SRNG F 0 5
|
||||
FrameIndex SRNG G 0 6
|
||||
FrameIndex SRNG H 0 7
|
||||
FrameIndex SRNG I 0 8
|
||||
}
|
||||
|
||||
Model "ShockRifle"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "asmd2pick_d.3d"
|
||||
Skin 1 "asmd_t.png"
|
||||
AngleOffset 270
|
||||
PitchOffset 90
|
||||
Scale -0.14 0.18 0.14
|
||||
ZOffset 12
|
||||
ROTATING
|
||||
|
||||
FrameIndex ASMP A 1 0
|
||||
}
|
||||
Model "ShockRifle"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "asmd2pick_d.3d"
|
||||
Skin 1 "asmd_t.png"
|
||||
AngleOffset 270
|
||||
PitchOffset 90
|
||||
Scale -0.14 0.18 0.14
|
||||
ZOffset 4
|
||||
|
||||
FrameIndex ASMP B 1 0
|
||||
}
|
||||
|
||||
Model "ShockRifle"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "asmd2m_d.3d"
|
||||
SurfaceSkin 0 0 "asmd_t1.png"
|
||||
SurfaceSkin 0 1 "asmd_t2.png"
|
||||
SurfaceSkin 0 2 "asmd_t3.png"
|
||||
SurfaceSkin 0 3 "asmd_t3.png"
|
||||
SurfaceSkin 0 4 "asmd_t4.png"
|
||||
PitchOffset 90
|
||||
Scale 0.15 0.12 0.15
|
||||
Offset 4.9 -16.6 -7.1
|
||||
|
||||
// select
|
||||
FrameIndex ASMS A 0 0
|
||||
FrameIndex ASMS B 0 1
|
||||
FrameIndex ASMS C 0 2
|
||||
FrameIndex ASMS D 0 3
|
||||
FrameIndex ASMS E 0 4
|
||||
FrameIndex ASMS F 0 5
|
||||
FrameIndex ASMS G 0 6
|
||||
FrameIndex ASMS H 0 7
|
||||
FrameIndex ASMS I 0 8
|
||||
FrameIndex ASMS J 0 9
|
||||
FrameIndex ASMS K 0 10
|
||||
FrameIndex ASMS L 0 11
|
||||
FrameIndex ASMS M 0 12
|
||||
FrameIndex ASMS N 0 13
|
||||
FrameIndex ASMS O 0 14
|
||||
// idle
|
||||
FrameIndex ASMI A 0 15
|
||||
// deselect
|
||||
FrameIndex ASMD A 0 17
|
||||
FrameIndex ASMD B 0 18
|
||||
FrameIndex ASMD C 0 19
|
||||
FrameIndex ASMD D 0 20
|
||||
FrameIndex ASMD E 0 21
|
||||
FrameIndex ASMD F 0 22
|
||||
FrameIndex ASMD G 0 23
|
||||
// fire
|
||||
FrameIndex ASMF A 0 30
|
||||
FrameIndex ASMF B 0 31
|
||||
FrameIndex ASMF C 0 32
|
||||
FrameIndex ASMF D 0 33
|
||||
FrameIndex ASMF E 0 34
|
||||
FrameIndex ASMF F 0 35
|
||||
FrameIndex ASMF G 0 36
|
||||
FrameIndex ASMF H 0 37
|
||||
FrameIndex ASMF I 0 38
|
||||
FrameIndex ASMF J 0 39
|
||||
// altfire
|
||||
FrameIndex ASMA A 0 40
|
||||
FrameIndex ASMA B 0 41
|
||||
FrameIndex ASMA C 0 42
|
||||
FrameIndex ASMA D 0 43
|
||||
FrameIndex ASMA E 0 44
|
||||
FrameIndex ASMA F 0 45
|
||||
FrameIndex ASMA G 0 46
|
||||
FrameIndex ASMA H 0 47
|
||||
FrameIndex ASMA I 0 48
|
||||
FrameIndex ASMA J 0 49
|
||||
}
|
||||
|
||||
Model "EnhancedShockRifle"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "asmd2pick_d.3d"
|
||||
Skin 1 "sasmd_t.png"
|
||||
AngleOffset 270
|
||||
PitchOffset 90
|
||||
Scale -0.14 0.18 0.14
|
||||
ZOffset 12
|
||||
ROTATING
|
||||
|
||||
FrameIndex ASMP A 1 0
|
||||
}
|
||||
Model "EnhancedShockRifle"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "asmd2pick_d.3d"
|
||||
Skin 1 "sasmd_t.png"
|
||||
AngleOffset 270
|
||||
PitchOffset 90
|
||||
Scale -0.14 0.18 0.14
|
||||
ZOffset 4
|
||||
|
||||
FrameIndex ASMP B 1 0
|
||||
}
|
||||
|
||||
Model "EnhancedShockRifle"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "asmd2m_d.3d"
|
||||
SurfaceSkin 0 0 "sasmd_t1.png"
|
||||
SurfaceSkin 0 1 "sasmd_t2.png"
|
||||
SurfaceSkin 0 2 "sasmd_t3.png"
|
||||
SurfaceSkin 0 3 "sasmd_t3.png"
|
||||
SurfaceSkin 0 4 "sasmd_t4.png"
|
||||
PitchOffset 90
|
||||
Scale 0.15 0.12 0.15
|
||||
Offset 4.9 -16.6 -7.1
|
||||
|
||||
// select
|
||||
FrameIndex ASMS A 0 0
|
||||
FrameIndex ASMS B 0 1
|
||||
FrameIndex ASMS C 0 2
|
||||
FrameIndex ASMS D 0 3
|
||||
FrameIndex ASMS E 0 4
|
||||
FrameIndex ASMS F 0 5
|
||||
FrameIndex ASMS G 0 6
|
||||
FrameIndex ASMS H 0 7
|
||||
FrameIndex ASMS I 0 8
|
||||
FrameIndex ASMS J 0 9
|
||||
FrameIndex ASMS K 0 10
|
||||
FrameIndex ASMS L 0 11
|
||||
FrameIndex ASMS M 0 12
|
||||
FrameIndex ASMS N 0 13
|
||||
FrameIndex ASMS O 0 14
|
||||
// idle
|
||||
FrameIndex ASMI A 0 15
|
||||
// deselect
|
||||
FrameIndex ASMD A 0 17
|
||||
FrameIndex ASMD B 0 18
|
||||
FrameIndex ASMD C 0 19
|
||||
FrameIndex ASMD D 0 20
|
||||
FrameIndex ASMD E 0 21
|
||||
FrameIndex ASMD F 0 22
|
||||
FrameIndex ASMD G 0 23
|
||||
// fire
|
||||
FrameIndex ASMF A 0 30
|
||||
FrameIndex ASMF B 0 31
|
||||
FrameIndex ASMF C 0 32
|
||||
FrameIndex ASMF D 0 33
|
||||
FrameIndex ASMF E 0 34
|
||||
FrameIndex ASMF F 0 35
|
||||
FrameIndex ASMF G 0 36
|
||||
FrameIndex ASMF H 0 37
|
||||
FrameIndex ASMF I 0 38
|
||||
FrameIndex ASMF J 0 39
|
||||
// altfire
|
||||
FrameIndex ASMA A 0 40
|
||||
FrameIndex ASMA B 0 41
|
||||
FrameIndex ASMA C 0 42
|
||||
FrameIndex ASMA D 0 43
|
||||
FrameIndex ASMA E 0 44
|
||||
FrameIndex ASMA F 0 45
|
||||
FrameIndex ASMA G 0 46
|
||||
FrameIndex ASMA H 0 47
|
||||
FrameIndex ASMA I 0 48
|
||||
FrameIndex ASMA J 0 49
|
||||
}
|
||||
27
modeldef.transloc
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
Model "Translocator"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "Trans3loc_d.3d"
|
||||
SurfaceSkin 1 0 "tloc1_.png"
|
||||
SurfaceSkin 1 1 "tloc2_.png"
|
||||
Scale -0.0552 0.046 0.046
|
||||
AngleOffset 180
|
||||
PitchOffset 90
|
||||
ZOffset 12
|
||||
ROTATING
|
||||
|
||||
FrameIndex TLCP A 1 0
|
||||
}
|
||||
Model "Translocator"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "Trans3loc_d.3d"
|
||||
SurfaceSkin 1 0 "tloc1_.png"
|
||||
SurfaceSkin 1 1 "tloc2_.png"
|
||||
Scale -0.0552 0.046 0.046
|
||||
AngleOffset 180
|
||||
PitchOffset 90
|
||||
ZOffset 6
|
||||
|
||||
FrameIndex TLCP B 1 0
|
||||
}
|
||||
2259
modeldef.txt
125
modeldef.warhead
Normal file
|
|
@ -0,0 +1,125 @@
|
|||
Model "WarheadAmmo"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "missile_d.3d"
|
||||
Skin 0 "jmissile_01_.png"
|
||||
Scale -0.21 0.2 0.2
|
||||
PitchOffset 90
|
||||
ZOffset 21
|
||||
|
||||
FrameIndex WMIS A 0 0
|
||||
}
|
||||
|
||||
Model "ShockWave"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "shockwavem_d.3d"
|
||||
Skin 0 "shockt1.png"
|
||||
|
||||
FrameIndex RWAV A 0 0
|
||||
FrameIndex RWAV B 0 1
|
||||
}
|
||||
|
||||
Model "WarShell"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "missile_d.3d"
|
||||
Skin 0 "jmissile_01.png"
|
||||
Scale -0.21 0.2 0.2
|
||||
Offset -13 0 0
|
||||
AngleOffset 180
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex WMIS A 0 0
|
||||
}
|
||||
Model "GuidedWarShell"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "missile_d.3d"
|
||||
Skin 0 "jmissile_01.png"
|
||||
Scale -0.21 0.2 0.2
|
||||
Offset -13 0 0
|
||||
AngleOffset 180
|
||||
USEACTORPITCH
|
||||
USEACTORROLL
|
||||
|
||||
FrameIndex WMIS A 0 0
|
||||
}
|
||||
|
||||
Model "WarheadLauncher"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "whpick_d.3d"
|
||||
Skin 1 "jwhpick1.png"
|
||||
Scale -0.2 0.24 0.24
|
||||
ZOffset 12
|
||||
AngleOffset 180
|
||||
ROTATING
|
||||
|
||||
FrameIndex RDMP A 1 0
|
||||
}
|
||||
Model "WarheadLauncher"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "whpick_d.3d"
|
||||
Skin 1 "jwhpick1.png"
|
||||
Scale -0.2 0.24 0.24
|
||||
AngleOffset 180
|
||||
ZOffset 11
|
||||
|
||||
FrameIndex RDMP B 1 0
|
||||
}
|
||||
|
||||
Model "WarheadLauncher"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "warhead_d.3d"
|
||||
SurfaceSkin 0 0 "jwarhead1.png"
|
||||
SurfaceSkin 0 1 "jwarhead2.png"
|
||||
SurfaceSkin 0 2 "jwarhead3.png"
|
||||
SurfaceSkin 0 3 "jwarhead4.png"
|
||||
Scale 0.1 0.06 0.1
|
||||
PitchOffset 2.8125
|
||||
RollOffset 22.5
|
||||
Offset 4.5 -7.8 -4.2
|
||||
|
||||
// select
|
||||
FrameIndex WARS A 0 0
|
||||
FrameIndex WARS B 0 1
|
||||
FrameIndex WARS C 0 2
|
||||
FrameIndex WARS D 0 3
|
||||
FrameIndex WARS E 0 4
|
||||
FrameIndex WARS F 0 5
|
||||
FrameIndex WARS G 0 6
|
||||
FrameIndex WARS H 0 7
|
||||
FrameIndex WARS I 0 8
|
||||
FrameIndex WARS J 0 9
|
||||
FrameIndex WARS K 0 10
|
||||
FrameIndex WARS L 0 11
|
||||
FrameIndex WARS M 0 12
|
||||
FrameIndex WARS N 0 13
|
||||
FrameIndex WARS O 0 14
|
||||
// idle
|
||||
FrameIndex WARI A 0 15
|
||||
FrameIndex WARI B 0 16
|
||||
FrameIndex WARI C 0 17
|
||||
FrameIndex WARI D 0 18
|
||||
FrameIndex WARI E 0 19
|
||||
// deselect
|
||||
FrameIndex WARD A 0 20
|
||||
FrameIndex WARD B 0 21
|
||||
FrameIndex WARD C 0 22
|
||||
FrameIndex WARD D 0 23
|
||||
FrameIndex WARD E 0 24
|
||||
FrameIndex WARD F 0 25
|
||||
FrameIndex WARD G 0 26
|
||||
// fire
|
||||
FrameIndex WARF A 0 28
|
||||
FrameIndex WARF B 0 29
|
||||
FrameIndex WARF C 0 30
|
||||
FrameIndex WARF D 0 31
|
||||
FrameIndex WARF E 0 32
|
||||
FrameIndex WARF F 0 33
|
||||
FrameIndex WARF G 0 34
|
||||
}
|
||||
BIN
models/ImpPick_a.3d
Normal file
BIN
models/ImpPick_d.3d
Normal file
BIN
models/ImpactHammer_a.3d
Normal file
BIN
models/ImpactHammer_d.3d
Normal file
|
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 75 KiB |
BIN
models/tloc2.png
|
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 75 KiB |
BIN
models/tloc2_.png
Normal file
|
After Width: | Height: | Size: 83 KiB |
|
|
@ -29,12 +29,9 @@ Currently implemented:
|
|||
- Shielding Suit (hybrid of U1 asbestos/toxin suits, radsuit)
|
||||
- Searchlight (light amplification visor)
|
||||
- Enhanced Shock Rifle (slot 4, limited ammo, invulnerability sphere)
|
||||
|
||||
In progress:
|
||||
|
||||
- UT HUD
|
||||
|
||||
To be done:
|
||||
In progress:
|
||||
|
||||
- Impact Hammer (slot 1)
|
||||
- Chainsaw (slot 1)
|
||||
|
|
|
|||
40
textcolo.txt
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
// Guarantee there's dark variants of team colors (yes, even black and white)
|
||||
DarkBlack
|
||||
{
|
||||
#090909 #282828
|
||||
Console:
|
||||
#000000 #191919 0 127
|
||||
#050505 #282828 128 256
|
||||
Flat:
|
||||
#000000
|
||||
}
|
||||
|
||||
DarkPurple
|
||||
{
|
||||
#110011 #670067
|
||||
Console:
|
||||
#000000 #4F004D 0 127
|
||||
#800080 #808080 128 256
|
||||
Flat:
|
||||
#4C3366
|
||||
}
|
||||
|
||||
DarkOrange
|
||||
{
|
||||
#100000 #804000
|
||||
Console:
|
||||
#100000 #482000 0 127
|
||||
#804000 #807F7F 128 256
|
||||
Flat:
|
||||
#805500
|
||||
}
|
||||
|
||||
DarkWhite
|
||||
{
|
||||
#121212 #808080
|
||||
Console:
|
||||
#000000 #404040 0 127
|
||||
#808080 #808080 128 256
|
||||
Flat:
|
||||
#707070
|
||||
}
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
Sprite "CSWPA0",1,1{}
|
||||
Sprite "CSWPB0",1,1{}
|
||||
|
|
@ -1,2 +1,4 @@
|
|||
Sprite "RPAKA0",1,1{}
|
||||
Sprite "RCKTA0",1,1{}
|
||||
Sprite "EBLPA0",1,1{}
|
||||
Sprite "EBLPB0",1,1{}
|
||||
|
|
|
|||
|
|
@ -1 +1,3 @@
|
|||
Sprite "ECLPA0",1,1{}
|
||||
Sprite "ENFPA0",1,1{}
|
||||
Sprite "ENFPB0",1,1{}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,2 @@
|
|||
Sprite "IMPPA0",1,1{}
|
||||
Sprite "IMPPB0",1,1{}
|
||||
|
|
@ -1 +1,3 @@
|
|||
Sprite "MAMOA0",1,1{}
|
||||
Sprite "MGNPA0",1,1{}
|
||||
Sprite "MGNPB0",1,1{}
|
||||
|
|
|
|||
|
|
@ -1 +1,3 @@
|
|||
Sprite "BHOPA0",1,1{}
|
||||
Sprite "RZRPA0",1,1{}
|
||||
Sprite "RZRPB0",1,1{}
|
||||
|
|
|
|||
|
|
@ -1,2 +1,4 @@
|
|||
Sprite "SBOXA0",1,1{}
|
||||
Sprite "SRNDA0",1,1{}
|
||||
Sprite "SRFPA0",1,1{}
|
||||
Sprite "SRFPB0",1,1{}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,2 @@
|
|||
Sprite "TLCPA0",1,1{}
|
||||
Sprite "TLCPB0",1,1{}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
GameInfo
|
||||
{
|
||||
AddEventHandlers = "RedeemerHUDHandler", "UTMenuHandler"
|
||||
AddEventHandlers = "RedeemerHUDHandler", "UTMainHandler"
|
||||
PlayerClasses = "UTPlayer"
|
||||
StatusBarClass = "UTHud"
|
||||
BackpackType = "UTBackpack"
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
Class Tier3Ammo : RandomSpawner replaces Shell
|
||||
Class Tier3Ammo : RandomSpawner2 replaces Shell
|
||||
{
|
||||
Default
|
||||
{
|
||||
|
|
@ -7,7 +7,7 @@ Class Tier3Ammo : RandomSpawner replaces Shell
|
|||
}
|
||||
}
|
||||
Class Tier3Ammo2 : Tier3Ammo replaces ShellBox {}
|
||||
Class Tier3Weapon : RandomSpawner replaces Shotgun
|
||||
Class Tier3Weapon : RandomSpawner2 replaces Shotgun
|
||||
{
|
||||
Default
|
||||
{
|
||||
|
|
@ -26,7 +26,7 @@ Class BioAmmo : UTAmmo
|
|||
Inventory.Amount 25;
|
||||
Inventory.MaxAmount 100;
|
||||
Ammo.BackpackAmount 50;
|
||||
Ammo.BackpackMaxAmount 200;
|
||||
Ammo.BackpackMaxAmount 100;
|
||||
Ammo.DropAmount 25;
|
||||
UTAmmo.UsedInSlot AMMO_SLOT3;
|
||||
}
|
||||
|
|
@ -437,6 +437,7 @@ Class BioRifle : UTWeapon
|
|||
Inventory.PickupMessage "You got the GES BioRifle.";
|
||||
Weapon.UpSound "ges/select";
|
||||
Weapon.SlotNumber 3;
|
||||
Weapon.SelectionOrder 7;
|
||||
Weapon.AmmoType "BioAmmo";
|
||||
Weapon.AmmoUse 1;
|
||||
Weapon.AmmoType2 "BioAmmo";
|
||||
|
|
|
|||
|
|
@ -1,11 +1,20 @@
|
|||
Class UTChainsaw : Weapon replaces Chainsaw
|
||||
Class UTChainsaw : UTWeapon replaces Chainsaw
|
||||
{
|
||||
Default
|
||||
{
|
||||
Tag "Chainsaw";
|
||||
Inventory.PickupMessage "It's been twenty five years since I've seen one of these."; // was five years in UT99
|
||||
Weapon.UpSound "";
|
||||
Weapon.UpSound "chainsaw/select";
|
||||
Weapon.SlotNumber 1;
|
||||
Weapon.SelectionOrder 9;
|
||||
+WEAPON.MELEEWEAPON;
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
CSWP A -1;
|
||||
Stop;
|
||||
CSWP B -1;
|
||||
Stop;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ Class UTRocketAmmo : UTAmmo
|
|||
Inventory.Amount 12;
|
||||
Inventory.MaxAmount 48;
|
||||
Ammo.BackpackAmount 12;
|
||||
Ammo.BackpackMaxAmount 96;
|
||||
Ammo.BackpackMaxAmount 48;
|
||||
Ammo.DropAmount 12;
|
||||
UTAmmo.UsedInSlot AMMO_SLOT9;
|
||||
}
|
||||
|
|
@ -45,10 +45,19 @@ Class UTRocketLauncher : UTWeapon
|
|||
Inventory.PickupMessage "You got the Rocket Launcher.";
|
||||
Weapon.UpSound "";
|
||||
Weapon.SlotNumber 9;
|
||||
Weapon.SelectionOrder 1;
|
||||
Weapon.AmmoType "UTRocketAmmo";
|
||||
Weapon.AmmoUse 1;
|
||||
Weapon.AmmoType2 "UTRocketAmmo";
|
||||
Weapon.AmmoUse2 1;
|
||||
Weapon.AmmoGive 6;
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
EBLP A -1;
|
||||
Stop;
|
||||
EBLP B -1;
|
||||
Stop;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -52,10 +52,19 @@ Class Enforcer : UTWeapon replaces Pistol
|
|||
Inventory.PickupMessage "You picked up an Enforcer.";
|
||||
Weapon.UpSound "";
|
||||
Weapon.SlotNumber 2;
|
||||
Weapon.SelectionOrder 8;
|
||||
Weapon.AmmoType "MiniAmmo";
|
||||
Weapon.AmmoUse 1;
|
||||
Weapon.AmmoType2 "MiniAmmo";
|
||||
Weapon.AmmoUse2 1;
|
||||
Weapon.AmmoGive 30;
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
ENFP A -1;
|
||||
Stop;
|
||||
ENFP B -1;
|
||||
Stop;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
Class Tier5Ammo : RandomSpawner replaces RocketAmmo
|
||||
Class Tier5Ammo : RandomSpawner2 replaces RocketAmmo
|
||||
{
|
||||
Default
|
||||
{
|
||||
|
|
@ -6,7 +6,7 @@ Class Tier5Ammo : RandomSpawner replaces RocketAmmo
|
|||
DropItem "UTRocketAmmo2", 255, 1;
|
||||
}
|
||||
}
|
||||
Class Tier5Ammo2 : RandomSpawner replaces RocketBox
|
||||
Class Tier5Ammo2 : RandomSpawner2 replaces RocketBox
|
||||
{
|
||||
Default
|
||||
{
|
||||
|
|
@ -15,7 +15,7 @@ Class Tier5Ammo2 : RandomSpawner replaces RocketBox
|
|||
}
|
||||
}
|
||||
|
||||
Class Tier5Weapon : RandomSpawner replaces RocketLauncher
|
||||
Class Tier5Weapon : RandomSpawner2 replaces RocketLauncher
|
||||
{
|
||||
Default
|
||||
{
|
||||
|
|
@ -33,7 +33,7 @@ Class FlakAmmo : UTAmmo
|
|||
Inventory.Amount 10;
|
||||
Inventory.MaxAmount 50;
|
||||
Ammo.BackpackAmount 20;
|
||||
Ammo.BackpackMaxAmount 100;
|
||||
Ammo.BackpackMaxAmount 50;
|
||||
Ammo.DropAmount 10;
|
||||
UTAmmo.UsedInSlot AMMO_SLOT8;
|
||||
}
|
||||
|
|
@ -456,7 +456,7 @@ Class FlakCannon : UTWeapon
|
|||
action void A_Loading( bool first = false )
|
||||
{
|
||||
if ( first ) A_PlaySound("flak/load",CHAN_WEAPON);
|
||||
else A_PlaySound("flak/reload",CHAN_WEAPON);
|
||||
else A_PlaySound("flak/reload",CHAN_5);
|
||||
}
|
||||
action void A_FireChunks()
|
||||
{
|
||||
|
|
@ -531,6 +531,7 @@ Class FlakCannon : UTWeapon
|
|||
Inventory.PickupMessage "You got the Flak Cannon.";
|
||||
Weapon.UpSound "flak/select";
|
||||
Weapon.SlotNumber 8;
|
||||
Weapon.SelectionOrder 2;
|
||||
Weapon.AmmoType "FlakAmmo";
|
||||
Weapon.AmmoUse 1;
|
||||
Weapon.AmmoType2 "FlakAmmo";
|
||||
|
|
@ -564,12 +565,12 @@ Class FlakCannon : UTWeapon
|
|||
Fire:
|
||||
FLKF A 1 A_FireChunks();
|
||||
FLKF BCDEFGHIJ 1;
|
||||
FLKF JJ 4;
|
||||
FLKF J 4;
|
||||
Goto Loading;
|
||||
AltFire:
|
||||
FLKA A 1 A_FireSlug();
|
||||
FLKA BCDEFGHIJK 2;
|
||||
FLKA KKK 4;
|
||||
FLKA K 4;
|
||||
Goto Loading;
|
||||
Select:
|
||||
FLKS A 1 A_Raise(int.max);
|
||||
|
|
|
|||
|
|
@ -6,7 +6,16 @@ Class ImpactHammer : UTWeapon replaces Fist
|
|||
Inventory.PickupMessage "You got the Impact Hammer.";
|
||||
Weapon.UpSound "";
|
||||
Weapon.SlotNumber 1;
|
||||
Weapon.SelectionOrder 9;
|
||||
+WEAPON.MELEEWEAPON;
|
||||
+INVENTORY.UNTOSSABLE;
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
IMPP A -1;
|
||||
Stop;
|
||||
IMPP B -1;
|
||||
Stop;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
Class Tier6Ammo : RandomSpawner replaces Cell
|
||||
Class Tier6Ammo : RandomSpawner2 replaces Cell
|
||||
{
|
||||
Default
|
||||
{
|
||||
|
|
@ -6,7 +6,7 @@ Class Tier6Ammo : RandomSpawner replaces Cell
|
|||
DropItem "RifleAmmo2", 255, 1;
|
||||
}
|
||||
}
|
||||
Class Tier6Ammo2 : RandomSpawner replaces CellPack
|
||||
Class Tier6Ammo2 : RandomSpawner2 replaces CellPack
|
||||
{
|
||||
Default
|
||||
{
|
||||
|
|
@ -15,7 +15,7 @@ Class Tier6Ammo2 : RandomSpawner replaces CellPack
|
|||
}
|
||||
}
|
||||
|
||||
Class Tier6Weapon : RandomSpawner replaces PlasmaRifle
|
||||
Class Tier6Weapon : RandomSpawner2 replaces PlasmaRifle
|
||||
{
|
||||
Default
|
||||
{
|
||||
|
|
@ -31,9 +31,9 @@ Class MiniAmmo : UTAmmo
|
|||
Tag "Large Bullets";
|
||||
Inventory.PickupMessage "You picked up 50 bullets.";
|
||||
Inventory.Amount 50;
|
||||
Inventory.MaxAmount 200;
|
||||
Inventory.MaxAmount 199;
|
||||
Ammo.BackpackAmount 100;
|
||||
Ammo.BackpackMaxAmount 400;
|
||||
Ammo.BackpackMaxAmount 199;
|
||||
Ammo.DropAmount 50;
|
||||
UTAmmo.UsedInSlot AMMO_SLOT2|AMMO_SLOT7;
|
||||
}
|
||||
|
|
@ -53,10 +53,19 @@ Class Minigun : UTWeapon
|
|||
Inventory.PickupMessage "You got the Minigun.";
|
||||
Weapon.UpSound "";
|
||||
Weapon.SlotNumber 7;
|
||||
Weapon.SelectionOrder 3;
|
||||
Weapon.AmmoType "MiniAmmo";
|
||||
Weapon.AmmoUse 1;
|
||||
Weapon.AmmoType2 "MiniAmmo";
|
||||
Weapon.AmmoUse2 1;
|
||||
Weapon.AmmoGive 50;
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
MGNP A -1;
|
||||
Stop;
|
||||
MGNP B -1;
|
||||
Stop;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
Class Tier4Ammo : RandomSpawner replaces ClipBox
|
||||
Class Tier4Ammo : RandomSpawner2 replaces ClipBox
|
||||
{
|
||||
Default
|
||||
{
|
||||
|
|
@ -7,7 +7,7 @@ Class Tier4Ammo : RandomSpawner replaces ClipBox
|
|||
}
|
||||
}
|
||||
|
||||
Class Tier4Weapon : RandomSpawner replaces Chaingun
|
||||
Class Tier4Weapon : RandomSpawner2 replaces Chaingun
|
||||
{
|
||||
Default
|
||||
{
|
||||
|
|
@ -23,9 +23,9 @@ Class PulseAmmo : UTAmmo
|
|||
Tag "Pulse Cell";
|
||||
Inventory.PickupMessage "You picked up a Pulse Cell.";
|
||||
Inventory.Amount 25;
|
||||
Inventory.MaxAmount 200;
|
||||
Inventory.MaxAmount 199;
|
||||
Ammo.BackpackAmount 50;
|
||||
Ammo.BackpackMaxAmount 400;
|
||||
Ammo.BackpackMaxAmount 199;
|
||||
Ammo.DropAmount 25;
|
||||
UTAmmo.UsedInSlot AMMO_SLOT5;
|
||||
}
|
||||
|
|
@ -422,6 +422,7 @@ Class PulseGun : UTWeapon
|
|||
Inventory.PickupMessage "You got a Pulse Gun";
|
||||
Weapon.UpSound "pulse/select";
|
||||
Weapon.SlotNumber 5;
|
||||
Weapon.SelectionOrder 5;
|
||||
Weapon.AmmoType "PulseAmmo";
|
||||
Weapon.AmmoUse 1;
|
||||
Weapon.AmmoType2 "PulseAmmo";
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ Class RipperAmmo : UTAmmo
|
|||
Inventory.Amount 25;
|
||||
Inventory.MaxAmount 75;
|
||||
Ammo.BackpackAmount 50;
|
||||
Ammo.BackpackMaxAmount 150;
|
||||
Ammo.BackpackMaxAmount 75;
|
||||
Ammo.DropAmount 25;
|
||||
UTAmmo.UsedInSlot AMMO_SLOT6;
|
||||
}
|
||||
|
|
@ -27,10 +27,19 @@ Class Ripper2 : UTWeapon
|
|||
Inventory.PickupMessage "You got the Ripper.";
|
||||
Weapon.UpSound "";
|
||||
Weapon.SlotNumber 6;
|
||||
Weapon.SelectionOrder 4;
|
||||
Weapon.AmmoType "RipperAmmo";
|
||||
Weapon.AmmoUse 1;
|
||||
Weapon.AmmoType2 "RipperAmmo";
|
||||
Weapon.AmmoUse2 1;
|
||||
Weapon.AmmoGive 15;
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
RZRP A -1;
|
||||
Stop;
|
||||
RZRP B -1;
|
||||
Stop;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ Class ShockAmmo : UTAmmo
|
|||
Inventory.Amount 10;
|
||||
Inventory.MaxAmount 50;
|
||||
Ammo.BackpackAmount 20;
|
||||
Ammo.BackpackMaxAmount 100;
|
||||
Ammo.BackpackMaxAmount 50;
|
||||
Ammo.DropAmount 10;
|
||||
UTAmmo.UsedInSlot AMMO_SLOT4;
|
||||
}
|
||||
|
|
@ -838,6 +838,7 @@ Class ShockRifle : UTWeapon
|
|||
Inventory.PickupMessage "You got the ASMD Shock Rifle.";
|
||||
Weapon.UpSound "shock/select";
|
||||
Weapon.SlotNumber 4;
|
||||
Weapon.SelectionOrder 6;
|
||||
Weapon.AmmoType "ShockAmmo";
|
||||
Weapon.AmmoUse 1;
|
||||
Weapon.AmmoType2 "ShockAmmo";
|
||||
|
|
@ -944,6 +945,7 @@ Class EnhancedShockRifle : UTWeapon replaces InvulnerabilitySphere
|
|||
Inventory.PickupMessage "You got an Enhanced Shock Rifle!";
|
||||
Weapon.UpSound "shock/select";
|
||||
Weapon.SlotNumber 4;
|
||||
Weapon.SelectionOrder 6;
|
||||
+INVENTORY.ALWAYSPICKUP;
|
||||
Weapon.AmmoType "EnhancedShockAmmo";
|
||||
Weapon.AmmoUse 1;
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ Class RifleAmmo : UTAmmo
|
|||
Inventory.Amount 10;
|
||||
Inventory.MaxAmount 50;
|
||||
Ammo.BackpackAmount 20;
|
||||
Ammo.BackpackMaxAmount 100;
|
||||
Ammo.BackpackMaxAmount 50;
|
||||
Ammo.DropAmount 10;
|
||||
UTAmmo.UsedInSlot AMMO_SLOT10;
|
||||
}
|
||||
|
|
@ -44,10 +44,19 @@ Class SniperRifle : UTWeapon
|
|||
Inventory.PickupMessage "You got the Sniper Rifle.";
|
||||
Weapon.UpSound "";
|
||||
Weapon.SlotNumber 0;
|
||||
Weapon.SelectionOrder 5;
|
||||
Weapon.AmmoType "RifleAmmo";
|
||||
Weapon.AmmoUse 1;
|
||||
Weapon.AmmoType2 "RifleAmmo";
|
||||
Weapon.AmmoUse2 1;
|
||||
Weapon.AmmoGive 8;
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
SRFP A -1;
|
||||
Stop;
|
||||
SRFP B -1;
|
||||
Stop;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,16 @@ Class Translocator : UTWeapon
|
|||
Tag "Translocator";
|
||||
Inventory.PickupMessage "You got the Translocator Source Module.";
|
||||
Weapon.SlotNumber 1;
|
||||
Weapon.SelectionOrder 10;
|
||||
+INVENTORY.UNTOSSABLE;
|
||||
+WEAPON.NO_AUTO_SWITCH;
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
TLCP A -1;
|
||||
Stop;
|
||||
TLCP B -1;
|
||||
Stop;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -184,21 +184,43 @@ Class UTAmmo : Ammo
|
|||
}
|
||||
}
|
||||
|
||||
// Random Spawner that passes through dropped status to items
|
||||
Class RandomSpawner2 : RandomSpawner
|
||||
{
|
||||
override void PostSpawn( Actor spawned )
|
||||
{
|
||||
if ( !bDROPPED ) return;
|
||||
if ( spawned is 'Inventory' ) Inventory(spawned).bTOSSED = bDROPPED;
|
||||
if ( spawned is 'UTWeapon' )
|
||||
{
|
||||
spawned.SetState(spawned.ResolveState("Spawn")+1);
|
||||
Inventory(spawned).bALWAYSPICKUP = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Class UTWeapon : Weapon
|
||||
{
|
||||
virtual ui void PreRender() {}
|
||||
virtual ui void PostRender() {}
|
||||
|
||||
override Inventory CreateTossable( int amt )
|
||||
{
|
||||
if ( Ammo1 && (Ammo1.Amount <= 0) ) return null;
|
||||
Inventory d = Super.CreateTossable(amt);
|
||||
if ( d && (d.GetClass() == GetClass()) )
|
||||
{
|
||||
d.SetState(d.ResolveState("Spawn")+1);
|
||||
d.bALWAYSPICKUP = true;
|
||||
}
|
||||
return d;
|
||||
}
|
||||
|
||||
override bool SpecialDropAction( Actor dropper )
|
||||
{
|
||||
SetState(ResolveState("Spawn")+1);
|
||||
return true;
|
||||
bALWAYSPICKUP = true;
|
||||
return false;
|
||||
}
|
||||
|
||||
override void Tick()
|
||||
|
|
@ -401,12 +423,14 @@ Class UTBlueKey : BlueCard replaces BlueCard
|
|||
}
|
||||
}
|
||||
|
||||
Class UTMenuHandler : StaticEventHandler
|
||||
Class UTMainHandler : StaticEventHandler
|
||||
{
|
||||
ui TextureID tex;
|
||||
transient int lastfrag;
|
||||
|
||||
override void WorldLoaded( WorldEvent e )
|
||||
{
|
||||
lastfrag = int.min;
|
||||
if ( gamestate != GS_LEVEL || e.IsSaveGame ) return;
|
||||
if ( level.levelname ~== "Modder Test Map" )
|
||||
{
|
||||
|
|
@ -439,6 +463,8 @@ Class UTMenuHandler : StaticEventHandler
|
|||
override void PostUiTick()
|
||||
{
|
||||
if ( gametic <= 0 ) StartMenu();
|
||||
if ( !(StatusBar is 'UTHUD') ) return;
|
||||
UTHUD(StatusBar).lastfrag = lastfrag;
|
||||
}
|
||||
|
||||
override void RenderOverlay( RenderEvent e )
|
||||
|
|
@ -448,4 +474,10 @@ Class UTMenuHandler : StaticEventHandler
|
|||
Screen.Dim("Black",1.0,0,0,Screen.GetWidth(),Screen.GetHeight());
|
||||
Screen.DrawTexture(tex,true,0,0,DTA_VirtualWidth,1024,DTA_VirtualHeight,768);
|
||||
}
|
||||
}
|
||||
|
||||
override void WorldThingDamaged( WorldEvent e )
|
||||
{
|
||||
if ( (e.Thing.Health <= 0) && e.DamageSource && (e.DamageSource != e.Thing) && e.DamageSource.player && (e.DamageSource.player == players[consoleplayer]) )
|
||||
lastfrag = gametic;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,23 +1,465 @@
|
|||
// An almost 1:1 recreation of the UT HUD, uses player color for tinting
|
||||
// An almost 1:1 recreation of the UT HUD
|
||||
// Because this requires some flexibility, it barely makes use of the Statusbar
|
||||
// functions and instead uses the raw Screen API.
|
||||
Class ViewTracer : LineTracer
|
||||
{
|
||||
Actor ignore;
|
||||
|
||||
override ETraceStatus TraceCallback()
|
||||
{
|
||||
if ( Results.HitType == TRACE_HitActor )
|
||||
{
|
||||
if ( (Results.HitActor == ignore) || !Results.HitActor.player || !Results.HitActor.bSHOOTABLE || Results.HitActor.bINVISIBLE ) return TRACE_Skip;
|
||||
return TRACE_Stop;
|
||||
}
|
||||
else if ( (Results.HitType == TRACE_HitWall) && (Results.Tier == TIER_Middle) )
|
||||
{
|
||||
if ( !Results.HitLine.sidedef[1] ) return TRACE_Stop;
|
||||
return TRACE_Skip;
|
||||
}
|
||||
return TRACE_Stop;
|
||||
}
|
||||
}
|
||||
|
||||
Class UTHud : BaseStatusBar
|
||||
{
|
||||
TextureID AmmoBar, Boxes[4], Keys[4], BigNum[12], Flash, Slots[10], Icons[14], Uses[14], Man[5], Woman[5], WeaponBox;
|
||||
Class<Weapon> IconClasses[14];
|
||||
double HScale;
|
||||
Color tintcolor, bgcolor;
|
||||
double opacity;
|
||||
int lastfrag, lastpickup, lastslot;
|
||||
ViewTracer vtracer;
|
||||
Actor lastseen;
|
||||
int lastseentic;
|
||||
|
||||
// For easier UT Canvas drawing
|
||||
Color DrawColor, WhiteColor, GoldColor;
|
||||
double CurX, CurY;
|
||||
double FracTic;
|
||||
|
||||
override void Init()
|
||||
{
|
||||
Super.Init();
|
||||
SetSize(0,1280,960);
|
||||
SetSize(0,320,200);
|
||||
vtracer = new("ViewTracer");
|
||||
// Set defaults
|
||||
DrawColor = WhiteColor = "White";
|
||||
GoldColor = "Gold";
|
||||
// Load textures
|
||||
AmmoBar = TexMan.CheckForTexture("AmoBar",TexMan.Type_Any);
|
||||
Boxes[0] = TexMan.CheckForTexture("AmoBox",TexMan.Type_Any);
|
||||
Boxes[1] = TexMan.CheckForTexture("ArmoBox",TexMan.Type_Any);
|
||||
Boxes[2] = TexMan.CheckForTexture("HPBox",TexMan.Type_Any);
|
||||
Boxes[3] = TexMan.CheckForTexture("FragBox",TexMan.Type_Any);
|
||||
Keys[0] = TexMan.CheckForTexture("RKey",TexMan.Type_Any);
|
||||
Keys[1] = TexMan.CheckForTexture("BKey",TexMan.Type_Any);
|
||||
Keys[2] = TexMan.CheckForTexture("GKey",TexMan.Type_Any);
|
||||
Keys[3] = TexMan.CheckForTexture("Skul",TexMan.Type_Any);
|
||||
BigNum[0] = TexMan.CheckForTexture("Big0",TexMan.Type_Any);
|
||||
BigNum[1] = TexMan.CheckForTexture("Big1",TexMan.Type_Any);
|
||||
BigNum[2] = TexMan.CheckForTexture("Big2",TexMan.Type_Any);
|
||||
BigNum[3] = TexMan.CheckForTexture("Big3",TexMan.Type_Any);
|
||||
BigNum[4] = TexMan.CheckForTexture("Big4",TexMan.Type_Any);
|
||||
BigNum[5] = TexMan.CheckForTexture("Big5",TexMan.Type_Any);
|
||||
BigNum[6] = TexMan.CheckForTexture("Big6",TexMan.Type_Any);
|
||||
BigNum[7] = TexMan.CheckForTexture("Big7",TexMan.Type_Any);
|
||||
BigNum[8] = TexMan.CheckForTexture("Big8",TexMan.Type_Any);
|
||||
BigNum[9] = TexMan.CheckForTexture("Big9",TexMan.Type_Any);
|
||||
BigNum[10] = TexMan.CheckForTexture("BigColon",TexMan.Type_Any);
|
||||
BigNum[11] = TexMan.CheckForTexture("BigMinus",TexMan.Type_Any);
|
||||
Flash = TexMan.CheckForTexture("HFlash",TexMan.Type_Any);
|
||||
Slots[0] = TexMan.CheckForTexture("SlotImp",TexMan.Type_Any);
|
||||
Slots[1] = TexMan.CheckForTexture("SlotAuto",TexMan.Type_Any);
|
||||
Slots[2] = TexMan.CheckForTexture("SlotBio",TexMan.Type_Any);
|
||||
Slots[3] = TexMan.CheckForTexture("SlotASMD",TexMan.Type_Any);
|
||||
Slots[4] = TexMan.CheckForTexture("SlotPuls",TexMan.Type_Any);
|
||||
Slots[5] = TexMan.CheckForTexture("SlotRip",TexMan.Type_Any);
|
||||
Slots[6] = TexMan.CheckForTexture("SlotMini",TexMan.Type_Any);
|
||||
Slots[7] = TexMan.CheckForTexture("SlotFlak",TexMan.Type_Any);
|
||||
Slots[8] = TexMan.CheckForTexture("Slot8bal",TexMan.Type_Any);
|
||||
Slots[9] = TexMan.CheckForTexture("SlotRifl",TexMan.Type_Any);
|
||||
Icons[0] = TexMan.CheckForTexture("IconImp",TexMan.Type_Any);
|
||||
Icons[1] = TexMan.CheckForTexture("IconAuto",TexMan.Type_Any);
|
||||
Icons[2] = TexMan.CheckForTexture("IconBio",TexMan.Type_Any);
|
||||
Icons[3] = TexMan.CheckForTexture("IconASMD",TexMan.Type_Any);
|
||||
Icons[4] = TexMan.CheckForTexture("IconPuls",TexMan.Type_Any);
|
||||
Icons[5] = TexMan.CheckForTexture("IconRip",TexMan.Type_Any);
|
||||
Icons[6] = TexMan.CheckForTexture("IconMini",TexMan.Type_Any);
|
||||
Icons[7] = TexMan.CheckForTexture("IconFlak",TexMan.Type_Any);
|
||||
Icons[8] = TexMan.CheckForTexture("Icon8bal",TexMan.Type_Any);
|
||||
Icons[9] = TexMan.CheckForTexture("IconRifl",TexMan.Type_Any);
|
||||
Icons[10] = TexMan.CheckForTexture("IconSaw",TexMan.Type_Any);
|
||||
Icons[11] = TexMan.CheckForTexture("IconTrns",TexMan.Type_Any);
|
||||
Icons[12] = TexMan.CheckForTexture("IconWarH",TexMan.Type_Any);
|
||||
Icons[13] = TexMan.CheckForTexture("IconASMD",TexMan.Type_Any);
|
||||
Uses[0] = TexMan.CheckForTexture("UseImp",TexMan.Type_Any);
|
||||
Uses[1] = TexMan.CheckForTexture("UseAuto",TexMan.Type_Any);
|
||||
Uses[2] = TexMan.CheckForTexture("UseBio",TexMan.Type_Any);
|
||||
Uses[3] = TexMan.CheckForTexture("UseASMD",TexMan.Type_Any);
|
||||
Uses[4] = TexMan.CheckForTexture("UsePuls",TexMan.Type_Any);
|
||||
Uses[5] = TexMan.CheckForTexture("UseRip",TexMan.Type_Any);
|
||||
Uses[6] = TexMan.CheckForTexture("UseMini",TexMan.Type_Any);
|
||||
Uses[7] = TexMan.CheckForTexture("UseFlak",TexMan.Type_Any);
|
||||
Uses[8] = TexMan.CheckForTexture("Use8bal",TexMan.Type_Any);
|
||||
Uses[9] = TexMan.CheckForTexture("UseRifl",TexMan.Type_Any);
|
||||
Uses[10] = TexMan.CheckForTexture("UseSaw",TexMan.Type_Any);
|
||||
Uses[11] = TexMan.CheckForTexture("UseTrns",TexMan.Type_Any);
|
||||
Uses[12] = TexMan.CheckForTexture("UseWarH",TexMan.Type_Any);
|
||||
Uses[13] = TexMan.CheckForTexture("UseASMD",TexMan.Type_Any);
|
||||
IconClasses[0] = "ImpactHammer";
|
||||
IconClasses[1] = "Enforcer";
|
||||
IconClasses[2] = "BioRifle";
|
||||
IconClasses[3] = "ShockRifle";
|
||||
IconClasses[4] = "PulseGun";
|
||||
IconClasses[5] = "Ripper2";
|
||||
IconClasses[6] = "Minigun";
|
||||
IconClasses[7] = "FlakCannon";
|
||||
IconClasses[8] = "UTRocketLauncher";
|
||||
IconClasses[9] = "SniperRifle";
|
||||
IconClasses[10] = "UTChainsaw";
|
||||
IconClasses[11] = "Translocator";
|
||||
IconClasses[12] = "WarheadLauncher";
|
||||
IconClasses[13] = "EnhancedShockRifle";
|
||||
Man[0] = TexMan.CheckForTexture("Man",TexMan.Type_Any);
|
||||
Man[1] = TexMan.CheckForTexture("ManArmo",TexMan.Type_Any);
|
||||
Man[2] = TexMan.CheckForTexture("ManPad",TexMan.Type_Any);
|
||||
Man[3] = TexMan.CheckForTexture("ManBoot",TexMan.Type_Any);
|
||||
Man[4] = TexMan.CheckForTexture("ManBelt",TexMan.Type_Any);
|
||||
Woman[0] = TexMan.CheckForTexture("Woman",TexMan.Type_Any);
|
||||
Woman[1] = TexMan.CheckForTexture("WomanArm",TexMan.Type_Any);
|
||||
Woman[2] = TexMan.CheckForTexture("WomanPad",TexMan.Type_Any);
|
||||
Woman[3] = TexMan.CheckForTexture("WomanBot",TexMan.Type_Any);
|
||||
Woman[4] = TexMan.CheckForTexture("WomanBlt",TexMan.Type_Any);
|
||||
WeaponBox = TexMan.CheckForTexture("WpSel",TexMan.Type_Any);
|
||||
}
|
||||
|
||||
override void Draw( int state, double TicFrac )
|
||||
{
|
||||
Super.Draw(state,TicFrac);
|
||||
if ( (CPlayer.ReadyWeapon is 'UTWeapon') )
|
||||
UTWeapon(CPlayer.ReadyWeapon).PreRender();
|
||||
if ( (state == HUD_StatusBar) || (state == HUD_Fullscreen) )
|
||||
{
|
||||
BeginHUD();
|
||||
DrawUTHUD(TicFrac);
|
||||
FracTic = TicFrac;
|
||||
DrawUTHUD();
|
||||
}
|
||||
if ( (CPlayer.ReadyWeapon is 'UTWeapon') )
|
||||
UTWeapon(CPlayer.ReadyWeapon).PostRender();
|
||||
}
|
||||
|
||||
private Color LerpColor( Color a, Color b, double x )
|
||||
{
|
||||
return Color(a.a,int(a.r*(1.-x)+b.r*x),int(a.g*(1.-x)+b.g*x),int(a.b*(1.-x)+b.b*x));
|
||||
}
|
||||
|
||||
private void UTDrawTintedTex( TextureID tx, double sx = 1.0, Color tint = Color("Black") )
|
||||
{
|
||||
double ss = (HScale*sx);
|
||||
double dw = (Screen.GetWidth()/ss), dh = (Screen.GetHeight()/ss);
|
||||
double dx = CurX/ss, dy = CurY/ss;
|
||||
Screen.DrawTexture(tx,false,dx,dy,DTA_VirtualWidthF,dw,DTA_VirtualHeightF,dh,DTA_KeepRatio,true,DTA_Alpha,opacity,DTA_FillColor,bgcolor);
|
||||
Screen.DrawTexture(tx,false,dx,dy,DTA_VirtualWidthF,dw,DTA_VirtualHeightF,dh,DTA_KeepRatio,true,DTA_AlphaChannel,true,DTA_FillColor,(tint!="Black")?tint:tintcolor);
|
||||
}
|
||||
private void UTDrawColorTex( TextureID tx, double sx = 1.0, double alpha = 1.0 )
|
||||
{
|
||||
double ss = (HScale*sx);
|
||||
double dw = (Screen.GetWidth()/ss), dh = (Screen.GetHeight()/ss);
|
||||
double dx = CurX/ss, dy = CurY/ss;
|
||||
Screen.DrawTexture(tx,false,dx,dy,DTA_VirtualWidthF,dw,DTA_VirtualHeightF,dh,DTA_KeepRatio,true,DTA_AlphaChannel,true,DTA_Alpha,alpha,DTA_FillColor,DrawColor);
|
||||
}
|
||||
private void UTDrawPlainTex( TextureID tx, double sx = 1.0, double alpha = 1.0 )
|
||||
{
|
||||
double ss = (HScale*sx);
|
||||
double dw = (Screen.GetWidth()/ss), dh = (Screen.GetHeight()/ss);
|
||||
double dx = CurX/ss, dy = CurY/ss;
|
||||
Screen.DrawTexture(tx,false,dx,dy,DTA_VirtualWidthF,dw,DTA_VirtualHeightF,dh,DTA_KeepRatio,true,DTA_Alpha,alpha);
|
||||
}
|
||||
|
||||
private bool UTDrawWeaponIcon( Weapon w, bool use, bool pending, double sx = 1.0 )
|
||||
{
|
||||
for ( int i=0; i<14; i++ )
|
||||
{
|
||||
if ( !(w is IconClasses[i]) ) continue;
|
||||
if ( use ) UTDrawTintedTex(Uses[i],sx);
|
||||
else if ( pending ) UTDrawTintedTex(Icons[i],sx);
|
||||
else UTDrawTintedTex(Icons[i],sx,tintcolor/2);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// UT's implementation doesn't seem to translate well to this, so I improvised a bit and made something not so ugly
|
||||
private void UTDrawBigNum( int value, double sx = 1.0 )
|
||||
{
|
||||
double step = 25*HScale*sx;
|
||||
double ss = (HScale*sx);
|
||||
double dw = (Screen.GetWidth()/ss), dh = (Screen.GetHeight()/ss);
|
||||
String digits = String.Format("%d",min(abs(value),9999));
|
||||
double flen = 3*step;
|
||||
double len = digits.length()*step;
|
||||
CurX += (flen-len)*0.5;
|
||||
if ( digits.CharAt(0) == "1" ) CurX -= 0.5*step;
|
||||
if ( value < 0 )
|
||||
{
|
||||
Screen.DrawTexture(BigNum[11],false,CurX/ss,CurY/ss,DTA_VirtualWidthF,dw,DTA_VirtualHeightF,dh,DTA_KeepRatio,true,DTA_AlphaChannel,true,DTA_FillColor,DrawColor);
|
||||
CurX += step;
|
||||
}
|
||||
for ( int i=0; i<digits.length(); i++ )
|
||||
{
|
||||
Screen.DrawTexture(BigNum[digits.CharCodeAt(i)-0x30],false,CurX/ss,CurY/ss,DTA_VirtualWidthF,dw,DTA_VirtualHeightF,dh,DTA_KeepRatio,true,DTA_AlphaChannel,true,DTA_FillColor,DrawColor);
|
||||
CurX += step;
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawUTHUD( double TicFrac )
|
||||
private void DrawAmmo()
|
||||
{
|
||||
Inventory ammotype1, ammotype2;
|
||||
[ammotype1, ammotype2] = GetCurrentAmmo();
|
||||
CurX = Screen.GetWidth()-128*HScale;
|
||||
CurY = Screen.GetHeight()-64*HScale;
|
||||
UTDrawTintedTex(Boxes[0]);
|
||||
CurX += 8*HScale;
|
||||
CurY += 14*HScale;
|
||||
DrawColor = WhiteColor;
|
||||
if ( ammotype1 ) UTDrawBigNum(ammotype1.Amount);
|
||||
if ( ammotype2 && (ammotype2 != ammotype1) )
|
||||
{
|
||||
CurX = Screen.GetWidth()-128*HScale;
|
||||
CurY = Screen.GetHeight()-128*HScale;
|
||||
UTDrawTintedTex(Boxes[0]);
|
||||
CurX += 8*HScale;
|
||||
CurY += 14*HScale;
|
||||
UTDrawBigNum(ammotype2.Amount);
|
||||
}
|
||||
}
|
||||
private void DrawStatus()
|
||||
{
|
||||
CurX = Screen.GetWidth()-128*HScale;
|
||||
CurY = 0;
|
||||
Color dollcolor = tintcolor;
|
||||
DamageAmplifier d;
|
||||
UTArmor b, a, t, s;
|
||||
//UTJumpBoots j;
|
||||
d = DamageAmplifier(CPlayer.mo.FindInventory("DamageAmplifier"));
|
||||
b = UTArmor(CPlayer.mo.FindInventory("UTArmorBonus"));
|
||||
a = UTArmor(CPlayer.mo.FindInventory("UTBodyArmor"));
|
||||
t = UTArmor(CPlayer.mo.FindInventory("UTThighPads"));
|
||||
//b = CPlayer.mo.FindInventory("UTJumpBoots"));
|
||||
s = UTArmor(CPlayer.mo.FindInventory("UTShieldBelt"));
|
||||
if ( d && !d.isBlinking() ) dollcolor = d.BlendColor;
|
||||
if ( CPlayer.GetGender() == 1 )
|
||||
{
|
||||
UTDrawTintedTex(Woman[0],1.0,dollcolor);
|
||||
DrawColor = dollcolor;
|
||||
if ( a ) UTDrawColorTex(Woman[1],1.0,a.Amount/double(a.MaxAmount));
|
||||
if ( t ) UTDrawColorTex(Woman[2],1.0,t.Amount/double(t.MaxAmount));
|
||||
//if ( j ) UTDrawColorTex(Woman[3],1.0,b.Amount/double(b.MaxAmount));
|
||||
DrawColor = GoldColor;
|
||||
if ( s ) UTDrawColorTex(Woman[4],1.0,s.Amount/double(s.MaxAmount));
|
||||
}
|
||||
else
|
||||
{
|
||||
UTDrawTintedTex(Man[0],1.0,dollcolor);
|
||||
DrawColor = dollcolor;
|
||||
if ( a ) UTDrawColorTex(Man[1],1.0,a.Amount/double(a.MaxAmount));
|
||||
if ( t ) UTDrawColorTex(Man[2],1.0,t.Amount/double(t.MaxAmount));
|
||||
//if ( j ) UTDrawColorTex(Man[3],1.0,b.Amount/double(b.MaxAmount));
|
||||
DrawColor = GoldColor;
|
||||
if ( s ) UTDrawColorTex(Man[4],1.0,s.Amount/double(s.MaxAmount));
|
||||
}
|
||||
DrawColor = WhiteColor;
|
||||
CurX = Screen.GetWidth()-268*HScale;
|
||||
UTDrawTintedTex(Boxes[1]);
|
||||
int allarmor = 0;
|
||||
if ( b ) allarmor += b.amount;
|
||||
if ( a ) allarmor += a.amount;
|
||||
if ( t ) allarmor += t.amount;
|
||||
if ( s ) allarmor += s.amount;
|
||||
CurX += 8*HScale;
|
||||
CurY += 14*HScale;
|
||||
UTDrawBigNum(Min(199,allarmor));
|
||||
CurX = Screen.GetWidth()-268*HScale;
|
||||
CurY = 64*HScale;
|
||||
if ( CPlayer.mo.Health < CPlayer.mo.SpawnHealth()/2 )
|
||||
{
|
||||
Color blinkcolor;
|
||||
double blinky = ((gametic+fractic)/Thinker.TICRATE)*1.5;
|
||||
blinky = blinky-floor(blinky);
|
||||
blinkcolor = LerpColor(tintcolor,WhiteColor,blinky);
|
||||
UTDrawTintedTex(Boxes[2],1.0,blinkcolor);
|
||||
DrawColor = LerpColor(WhiteColor,blinkcolor,blinky);
|
||||
CurX += 8*HScale;
|
||||
CurY += 14*HScale;
|
||||
UTDrawBigNum(max(0,CPlayer.mo.Health));
|
||||
}
|
||||
else
|
||||
{
|
||||
UTDrawTintedTex(Boxes[2]);
|
||||
CurX += 8*HScale;
|
||||
CurY += 14*HScale;
|
||||
UTDrawBigNum(Clamp(CPlayer.mo.Health,0,199));
|
||||
}
|
||||
}
|
||||
private void DrawWeapons()
|
||||
{
|
||||
double BaseX = 128*HScale;
|
||||
double WeapScale = 0.8*HScale;
|
||||
double BaseY = Screen.GetHeight()-64*WeapScale;
|
||||
double WeaponOffset = 128*WeapScale;
|
||||
let cw = CPlayer.ReadyWeapon;
|
||||
let pw = CPlayer.PendingWeapon;
|
||||
if ( cw )
|
||||
{
|
||||
int slot = cw.SlotNumber?(cw.SlotNumber-1):9;
|
||||
CurX = BaseX+slot*WeaponOffset;
|
||||
CurY = BaseY;
|
||||
UTDrawWeaponIcon(cw,true,false,0.8);
|
||||
CurX = BaseX+slot*WeaponOffset;
|
||||
CurY = BaseY;
|
||||
UTDrawPlainTex(WeaponBox,0.8);
|
||||
}
|
||||
if ( pw && (pw != WP_NOCHANGE) )
|
||||
{
|
||||
int slot = pw.SlotNumber?(pw.SlotNumber-1):9;
|
||||
CurX = BaseX+slot*WeaponOffset-64*WeapScale;
|
||||
CurY = BaseY-32*WeapScale;
|
||||
DrawColor = GoldColor;
|
||||
UTDrawColorTex(Flash,0.8);
|
||||
}
|
||||
Weapon wslots[10];
|
||||
for ( Inventory i = CPlayer.mo.Inv; i; i=i.Inv )
|
||||
{
|
||||
if ( !(i is 'Weapon') ) continue;
|
||||
let w = Weapon(i);
|
||||
int slot = w.SlotNumber?(w.SlotNumber-1):9;
|
||||
if ( !wslots[slot] ) wslots[slot] = w;
|
||||
else if ( (wslots[slot] != cw) && ((wslots[slot] != pw)
|
||||
|| (wslots[slot].SelectionOrder > w.SelectionOrder)) )
|
||||
wslots[slot] = w;
|
||||
}
|
||||
for ( int i=0; i<10; i++ )
|
||||
{
|
||||
CurX = BaseX+i*WeaponOffset;
|
||||
CurY = BaseY;
|
||||
if ( !wslots[i] )
|
||||
{
|
||||
UTDrawTintedTex(Slots[i],1.6,tintcolor/2);
|
||||
}
|
||||
else if ( wslots[i] != cw )
|
||||
{
|
||||
if ( !UTDrawWeaponIcon(wslots[i],false,wslots[i]==pw,0.8) )
|
||||
UTDrawTintedTex(Slots[i],1.6,tintcolor/2);
|
||||
}
|
||||
}
|
||||
for ( int i=0; i<10; i++ )
|
||||
{
|
||||
if ( !wslots[i] ) continue;
|
||||
CurX = BaseX+i*WeaponOffset+4*WeapScale;
|
||||
CurY = BaseY+4*WeapScale;
|
||||
DrawColor = GoldColor;
|
||||
UTDrawColorTex(BigNum[(i==9)?0:(i+1)],0.6);
|
||||
if ( !wslots[i].Ammo1 ) return;
|
||||
CurY = BaseY+52*WeapScale;
|
||||
Vector2 ss = (0.6875,0.5)*WeapScale;
|
||||
double dw = (Screen.GetWidth()/ss.x), dh = (Screen.GetHeight()/ss.y);
|
||||
double dx = CurX/ss.x, dy = CurY/ss.y;
|
||||
Vector2 bs = TexMan.GetScaledSize(AmmoBar);
|
||||
double ddw = bs.x*(wslots[i].Ammo1.Amount/double(wslots[i].Ammo1.MaxAmount));
|
||||
int cx, cy, cw, ch;
|
||||
[cx,cy,cw,ch] = Screen.GetClipRect();
|
||||
Screen.SetClipRect(CurX,CurY,ddw*ss.x,bs.y*ss.y);
|
||||
Screen.DrawTexture(AmmoBar,false,dx,dy,DTA_VirtualWidthF,dw,DTA_VirtualHeightF,dh,DTA_KeepRatio,true);
|
||||
Screen.SetClipRect(cx,cy,cw,ch);
|
||||
}
|
||||
}
|
||||
private void DrawFragCount()
|
||||
{
|
||||
CurX = 0;
|
||||
CurY = Screen.GetHeight()-64*HScale;
|
||||
DrawColor = tintcolor;
|
||||
double whiten = ((gametic+fractic)-lastfrag)/Thinker.TICRATE;
|
||||
if ( whiten < 3.0 )
|
||||
{
|
||||
if ( tintcolor == GoldColor )
|
||||
DrawColor = WhiteColor;
|
||||
else DrawColor = GoldColor;
|
||||
CurX -= 64*HScale;
|
||||
CurY -= 32*HScale;
|
||||
UTDrawColorTex(Flash);
|
||||
CurX += 64*HScale;
|
||||
CurY += 32*HScale;
|
||||
whiten = 4*whiten-int(4*whiten);
|
||||
DrawColor = lerpcolor(tintcolor,DrawColor,whiten);
|
||||
}
|
||||
UTDrawTintedTex(Boxes[3],1.0,DrawColor);
|
||||
CurX += 44*HScale;
|
||||
CurY += 14*HScale;
|
||||
DrawColor = WhiteColor;
|
||||
UTDrawBigNum((deathmatch||teamplay)?CPlayer.fragcount:CPlayer.killcount);
|
||||
}
|
||||
private void DrawIdentifyInfo()
|
||||
{
|
||||
double lalpha = 2.0-((gametic+fractic)-lastseentic)/Thinker.TICRATE;
|
||||
if ( !lastseen || (lalpha <= 0) ) return;
|
||||
String cl1 = "Teal", cl2 = "Cyan";
|
||||
if ( deathmatch && (lastseen.player.GetTeam() < teams.size()) )
|
||||
{
|
||||
cl2 = teams[lastseen.player.GetTeam()].mName;
|
||||
cl1 = String.Format("Dark%s",cl2);
|
||||
}
|
||||
String tname = String.Format("\c[%s]Name:\c[%s] %s",cl1,cl2,lastseen.player.GetUserName());
|
||||
CurX = (Screen.GetWidth()-confont.StringWidth(tname)*CleanXFac)*0.5;
|
||||
CurY = Screen.GetHeight()*0.75;
|
||||
Screen.DrawText(confont,Font.CR_UNTRANSLATED,CurX,CurY,tname,DTA_CleanNoMove,true,DTA_Alpha,lalpha/2.);
|
||||
if ( !deathmatch || (lastseen.IsTeammate(CPlayer.mo)) )
|
||||
{
|
||||
CurY += 1.2*confont.GetHeight()*CleanYFac;
|
||||
tname = String.Format("\c[%s]Health:\c[%s] %d",cl1,cl2,lastseen.Health);
|
||||
Screen.DrawText(confont,Font.CR_UNTRANSLATED,CurX,CurY,tname,DTA_CleanNoMove,true,DTA_Alpha,lalpha/2.);
|
||||
}
|
||||
}
|
||||
|
||||
override void Tick()
|
||||
{
|
||||
Super.Tick();
|
||||
vtracer.ignore = CPlayer.mo;
|
||||
vtracer.trace(CPlayer.mo.Vec2OffsetZ(0,0,CPlayer.viewz),CPlayer.mo.CurSector,(cos(CPlayer.mo.angle)*cos(CPlayer.mo.pitch),sin(CPlayer.mo.angle)*cos(CPlayer.mo.pitch),-sin(CPlayer.mo.pitch)),1000,0);
|
||||
if ( vtracer.Results.HitType != TRACE_HitActor ) return;
|
||||
lastseen = vtracer.Results.HitActor;
|
||||
lastseentic = gametic;
|
||||
}
|
||||
|
||||
private void DrawUTHUD()
|
||||
{
|
||||
if ( players[consoleplayer].camera is 'GuidedWarShell' ) return;
|
||||
HScale = Screen.GetWidth()/1280.;
|
||||
switch ( CVar.GetCVar('flak_colorprefs',CPlayer).GetInt() )
|
||||
{
|
||||
case 0:
|
||||
if ( CPlayer.GetTeam() >= Teams.Size() )
|
||||
tintcolor = Color("White");
|
||||
else tintcolor = Color(Teams[CPlayer.GetTeam()].mName);
|
||||
break;
|
||||
case 1:
|
||||
tintcolor = CPlayer.GetColor();
|
||||
break;
|
||||
case 2:
|
||||
tintcolor = Color(CVar.GetCVar('flak_colorcustom',CPlayer).GetString());
|
||||
break;
|
||||
}
|
||||
opacity = CVar.GetCVar('flak_opacity',CPlayer).GetFloat();
|
||||
bgcolor = Color(CVar.GetCVar('flak_bgcolor',CPlayer).GetString());
|
||||
// Display Weapons
|
||||
DrawWeapons();
|
||||
// Display Frag count
|
||||
DrawFragCount();
|
||||
// Draw Ammo
|
||||
DrawAmmo();
|
||||
// Draw Health/Armor status
|
||||
DrawStatus();
|
||||
// Display Identification Info
|
||||
if ( CPlayer == players[consoleplayer] ) DrawIdentifyInfo();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -584,6 +584,7 @@ Class WarheadLauncher : UTWeapon replaces BFG9000
|
|||
Inventory.PickupMessage "You got the Redeemer.";
|
||||
Weapon.UpSound "warhead/select";
|
||||
Weapon.SlotNumber 0;
|
||||
Weapon.SelectionOrder 0;
|
||||
Weapon.AmmoType "WarheadAmmo";
|
||||
Weapon.AmmoUse 1;
|
||||
Weapon.AmmoType2 "WarheadAmmo";
|
||||
|
|
@ -591,6 +592,7 @@ Class WarheadLauncher : UTWeapon replaces BFG9000
|
|||
Weapon.AmmoGive 1;
|
||||
Inventory.RespawnTics 2100;
|
||||
+INVENTORY.ALWAYSPICKUP;
|
||||
+WEAPON.NOAUTOFIRE;
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -609,15 +611,13 @@ Class WarheadLauncher : UTWeapon replaces BFG9000
|
|||
}
|
||||
Wait;
|
||||
Fire:
|
||||
WARI A 3;
|
||||
WARF A 3 A_WarheadFire();
|
||||
WARF BCDEFG 3 A_WarheadSmoke();
|
||||
WARF A 4 A_WarheadFire();
|
||||
WARF BCDEFG 4 A_WarheadSmoke();
|
||||
WARI A 5;
|
||||
Goto Idle;
|
||||
AltFire:
|
||||
WARI A 3;
|
||||
WARF A 3 A_WarheadAlt();
|
||||
WARF BCDEFG 3 A_WarheadSmoke();
|
||||
WARF A 4 A_WarheadAlt();
|
||||
WARF BCDEFG 4 A_WarheadSmoke();
|
||||
WARI A 1 A_JumpIf(!invoker.Guided,1);
|
||||
Wait;
|
||||
WARI A 30;
|
||||
|
|
|
|||