Added brightmaps. Added environment map shader. Began working on Biorifle.
BIN
brightmaps/ASMD_t.png
Normal file
|
After Width: | Height: | Size: 802 B |
BIN
brightmaps/ASMD_t1.png
Normal file
|
After Width: | Height: | Size: 718 B |
BIN
brightmaps/ASMD_t3.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
brightmaps/ASMD_t4.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
brightmaps/JBRifle2.png
Normal file
|
After Width: | Height: | Size: 819 B |
BIN
brightmaps/JBRifle21.png
Normal file
|
After Width: | Height: | Size: 601 B |
BIN
brightmaps/JBRifle22.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
brightmaps/JBRifle23.png
Normal file
|
After Width: | Height: | Size: 733 B |
BIN
brightmaps/JBRifle24.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
brightmaps/JBammo1.png
Normal file
|
After Width: | Height: | Size: 233 B |
BIN
brightmaps/JShockCore.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
brightmaps/Jwarhead2.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
brightmaps/Jwarhead4.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
brightmaps/Jwhpick1.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
60
gldefs.txt
Normal file
|
|
@ -0,0 +1,60 @@
|
||||||
|
HardwareShader Texture "models/Jgreen.png"
|
||||||
|
{
|
||||||
|
Shader "shaders/glsl/MeshEnviroMap.fp"
|
||||||
|
}
|
||||||
|
Brightmap Texture "models/JBRifle2.png"
|
||||||
|
{
|
||||||
|
Map "brightmaps/JBRifle2.png"
|
||||||
|
}
|
||||||
|
Brightmap Texture "models/JBRifle21.png"
|
||||||
|
{
|
||||||
|
Map "brightmaps/JBRifle21.png"
|
||||||
|
}
|
||||||
|
Brightmap Texture "models/JBRifle22.png"
|
||||||
|
{
|
||||||
|
Map "brightmaps/JBRifle22.png"
|
||||||
|
}
|
||||||
|
Brightmap Texture "models/JBRifle23.png"
|
||||||
|
{
|
||||||
|
Map "brightmaps/JBRifle23.png"
|
||||||
|
}
|
||||||
|
Brightmap Texture "models/JBRifle24.png"
|
||||||
|
{
|
||||||
|
Map "brightmaps/JBRifle24.png"
|
||||||
|
}
|
||||||
|
Brightmap Texture "models/JBammo1.png"
|
||||||
|
{
|
||||||
|
Map "brightmaps/JBammo1.png"
|
||||||
|
}
|
||||||
|
Brightmap Texture "models/ASMD_t.png"
|
||||||
|
{
|
||||||
|
Map "brightmaps/ASMD_t.png"
|
||||||
|
}
|
||||||
|
Brightmap Texture "models/ASMD_t1.png"
|
||||||
|
{
|
||||||
|
Map "brightmaps/ASMD_t1.png"
|
||||||
|
}
|
||||||
|
Brightmap Texture "models/ASMD_t3.png"
|
||||||
|
{
|
||||||
|
Map "brightmaps/ASMD_t3.png"
|
||||||
|
}
|
||||||
|
Brightmap Texture "models/ASMD_t4.png"
|
||||||
|
{
|
||||||
|
Map "brightmaps/ASMD_t4.png"
|
||||||
|
}
|
||||||
|
Brightmap Texture "models/JShockCore.png"
|
||||||
|
{
|
||||||
|
Map "brightmaps/JShockCore.png"
|
||||||
|
}
|
||||||
|
Brightmap Texture "models/Jwarhead2.png"
|
||||||
|
{
|
||||||
|
Map "brightmaps/Jwarhead2.png"
|
||||||
|
}
|
||||||
|
Brightmap Texture "models/Jwarhead4.png"
|
||||||
|
{
|
||||||
|
Map "brightmaps/Jwarhead4.png"
|
||||||
|
}
|
||||||
|
Brightmap Texture "models/Jwhpick1.png"
|
||||||
|
{
|
||||||
|
Map "brightmaps/Jwhpick1.png"
|
||||||
|
}
|
||||||
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 1.9 KiB |
226
modeldef.txt
|
|
@ -1,7 +1,229 @@
|
||||||
|
//=============================================================================
|
||||||
|
// GES BIORIFLE
|
||||||
|
//=============================================================================
|
||||||
|
|
||||||
|
Model "BioAmmo"
|
||||||
|
{
|
||||||
|
Path "models"
|
||||||
|
Model 0 "BioAmmoM_d.3d"
|
||||||
|
Skin 0 "Jbammo1.png"
|
||||||
|
Scale -0.08 0.08 0.08
|
||||||
|
ZOffset 4
|
||||||
|
|
||||||
|
FrameIndex BIOA A 0 0
|
||||||
|
}
|
||||||
|
|
||||||
|
Model "BioGel"
|
||||||
|
{
|
||||||
|
Path "models"
|
||||||
|
Model 0 "BioGelm_d.3d"
|
||||||
|
Skin 0 "Jgreen.png"
|
||||||
|
Scale 0.08 0.08 0.08
|
||||||
|
RollOffset 90
|
||||||
|
DONTCULLBACKFACES
|
||||||
|
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.1 0.1
|
||||||
|
PitchOffset 90
|
||||||
|
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.1 0.1
|
||||||
|
PitchOffset 90
|
||||||
|
ZOffset 12
|
||||||
|
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
// SHOCK RIFLE
|
// SHOCK RIFLE
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
|
|
||||||
|
Model "ShockAmmo"
|
||||||
|
{
|
||||||
|
Path "models"
|
||||||
|
Model 0 "ShockCoreM_d.3d"
|
||||||
|
Skin 0 "JShockCore.png"
|
||||||
|
PitchOffset 90
|
||||||
|
Scale -0.11 0.11 0.11
|
||||||
|
ZOffset 12
|
||||||
|
|
||||||
|
FrameIndex SHOA A 0 0
|
||||||
|
}
|
||||||
|
|
||||||
Model "ShockRifleWave"
|
Model "ShockRifleWave"
|
||||||
{
|
{
|
||||||
Path "models"
|
Path "models"
|
||||||
|
|
@ -21,7 +243,7 @@ Model "ShockBeamRing"
|
||||||
DONTCULLBACKFACES
|
DONTCULLBACKFACES
|
||||||
USEACTORPITCH
|
USEACTORPITCH
|
||||||
USEACTORROLL
|
USEACTORROLL
|
||||||
Scale 1.0 0.9 1.0
|
Scale 1.2 1.0 1.2
|
||||||
|
|
||||||
FrameIndex SRNG A 0 0
|
FrameIndex SRNG A 0 0
|
||||||
FrameIndex SRNG B 0 1
|
FrameIndex SRNG B 0 1
|
||||||
|
|
@ -42,7 +264,7 @@ Model "ShockBlastRing"
|
||||||
DONTCULLBACKFACES
|
DONTCULLBACKFACES
|
||||||
USEACTORPITCH
|
USEACTORPITCH
|
||||||
USEACTORROLL
|
USEACTORROLL
|
||||||
Scale 1.0 0.9 1.0
|
Scale 1.2 1.0 1.2
|
||||||
|
|
||||||
FrameIndex SRNG A 0 0
|
FrameIndex SRNG A 0 0
|
||||||
FrameIndex SRNG B 0 1
|
FrameIndex SRNG B 0 1
|
||||||
|
|
|
||||||
BIN
models/BRifle2Pick_a.3d
Normal file
BIN
models/BRifle2Pick_d.3d
Normal file
BIN
models/BRifle2_a.3d
Normal file
BIN
models/BRifle2_d.3d
Normal file
BIN
models/BioAmmoM_a.3d
Normal file
BIN
models/BioAmmoM_d.3d
Normal file
BIN
models/BioGelm_a.3d
Normal file
BIN
models/BioGelm_d.3d
Normal file
BIN
models/JBRifle2.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
models/JBRifle21.png
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
models/JBRifle22.png
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
models/JBRifle23.png
Normal file
|
After Width: | Height: | Size: 44 KiB |
BIN
models/JBRifle24.png
Normal file
|
After Width: | Height: | Size: 50 KiB |
BIN
models/JBammo1.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
models/Jgreen.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
|
|
@ -12,7 +12,7 @@ Currently implemented:
|
||||||
|
|
||||||
In progress:
|
In progress:
|
||||||
|
|
||||||
- N/A
|
- GES Biorifle (slot 3)
|
||||||
|
|
||||||
To be done:
|
To be done:
|
||||||
|
|
||||||
|
|
@ -21,7 +21,6 @@ To be done:
|
||||||
- Translocator (slot 1)
|
- Translocator (slot 1)
|
||||||
- Enforcer (slot 2)
|
- Enforcer (slot 2)
|
||||||
- Dual Enforcers (slot 2)
|
- Dual Enforcers (slot 2)
|
||||||
- GES Biorifle (slot 3)
|
|
||||||
- Pulsegun (slot 5)
|
- Pulsegun (slot 5)
|
||||||
- Ripper (slot 6)
|
- Ripper (slot 6)
|
||||||
- Minigun (slot 7)
|
- Minigun (slot 7)
|
||||||
|
|
|
||||||
7
shaders/glsl/MeshEnviroMap.fp
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
// imitation of the Unreal Engine 1.x bMeshEnviroMap effect, not 1:1 but gets close
|
||||||
|
vec4 Process( vec4 color )
|
||||||
|
{
|
||||||
|
vec3 eyedir = normalize(uCameraPos.xyz-pixelpos.xyz);
|
||||||
|
vec3 norm = reflect(eyedir,normalize(vWorldNormal.xyz));
|
||||||
|
return getTexel(norm.xz*0.5)*color;
|
||||||
|
}
|
||||||
11
sndinfo.txt
|
|
@ -46,3 +46,14 @@ $pitchshift warhead/explode 0
|
||||||
$pitchshift warhead/fly 0
|
$pitchshift warhead/fly 0
|
||||||
$pitchshift warhead/select 0
|
$pitchshift warhead/select 0
|
||||||
$pitchshift warhead/fire 0
|
$pitchshift warhead/fire 0
|
||||||
|
|
||||||
|
ges/hit gelhit
|
||||||
|
ges/select gelselec
|
||||||
|
ges/fire gelshot
|
||||||
|
ges/charge bioaltrep
|
||||||
|
ges/explode explg02
|
||||||
|
$pitchshift ges/hit 0
|
||||||
|
$pitchshift ges/select 0
|
||||||
|
$pitchshift ges/fire 0
|
||||||
|
$pitchshift ges/charge 0
|
||||||
|
$pitchshift ges/explode 0
|
||||||
|
|
|
||||||
BIN
sounds/BioAltRp.wav
Normal file
BIN
sounds/Explg02.wav
Normal file
BIN
sounds/GelHit.wav
Normal file
BIN
sounds/GelSelec.wav
Normal file
BIN
sounds/GelShot.wav
Normal file
131
textures.ges
Normal file
|
|
@ -0,0 +1,131 @@
|
||||||
|
Sprite "BIOAA0",1,1{}
|
||||||
|
Sprite "GELFA0",1,1{}
|
||||||
|
Sprite "GELFB0",1,1{}
|
||||||
|
Sprite "GELFC0",1,1{}
|
||||||
|
Sprite "GELFD0",1,1{}
|
||||||
|
Sprite "GELFE0",1,1{}
|
||||||
|
Sprite "GELFF0",1,1{}
|
||||||
|
Sprite "GELFG0",1,1{}
|
||||||
|
Sprite "GELFH0",1,1{}
|
||||||
|
Sprite "GELFI0",1,1{}
|
||||||
|
Sprite "GELFJ0",1,1{}
|
||||||
|
Sprite "GELFK0",1,1{}
|
||||||
|
Sprite "GELFL0",1,1{}
|
||||||
|
Sprite "GELFM0",1,1{}
|
||||||
|
Sprite "GELHA0",1,1{}
|
||||||
|
Sprite "GELHB0",1,1{}
|
||||||
|
Sprite "GELHC0",1,1{}
|
||||||
|
Sprite "GELHD0",1,1{}
|
||||||
|
Sprite "GELHE0",1,1{}
|
||||||
|
Sprite "GELHF0",1,1{}
|
||||||
|
Sprite "GELHG0",1,1{}
|
||||||
|
Sprite "GELHH0",1,1{}
|
||||||
|
Sprite "GELHI0",1,1{}
|
||||||
|
Sprite "GELHJ0",1,1{}
|
||||||
|
Sprite "GELDA0",1,1{}
|
||||||
|
Sprite "GELDB0",1,1{}
|
||||||
|
Sprite "GELDC0",1,1{}
|
||||||
|
Sprite "GELDD0",1,1{}
|
||||||
|
Sprite "GELDE0",1,1{}
|
||||||
|
Sprite "GELDF0",1,1{}
|
||||||
|
Sprite "GELDG0",1,1{}
|
||||||
|
Sprite "GELDH0",1,1{}
|
||||||
|
Sprite "GELDI0",1,1{}
|
||||||
|
Sprite "GELDJ0",1,1{}
|
||||||
|
Sprite "GELDK0",1,1{}
|
||||||
|
Sprite "GELDL0",1,1{}
|
||||||
|
Sprite "GELDM0",1,1{}
|
||||||
|
Sprite "GELSA0",1,1{}
|
||||||
|
Sprite "GELSB0",1,1{}
|
||||||
|
Sprite "GELSC0",1,1{}
|
||||||
|
Sprite "GELSD0",1,1{}
|
||||||
|
Sprite "GELSE0",1,1{}
|
||||||
|
Sprite "GELSF0",1,1{}
|
||||||
|
Sprite "GELSG0",1,1{}
|
||||||
|
Sprite "GELXA0",1,1{}
|
||||||
|
Sprite "GELXB0",1,1{}
|
||||||
|
Sprite "GELXC0",1,1{}
|
||||||
|
Sprite "GELXD0",1,1{}
|
||||||
|
Sprite "GELXE0",1,1{}
|
||||||
|
Sprite "GELXF0",1,1{}
|
||||||
|
Sprite "GELXG0",1,1{}
|
||||||
|
Sprite "GELXH0",1,1{}
|
||||||
|
Sprite "GELXI0",1,1{}
|
||||||
|
Sprite "GELXJ0",1,1{}
|
||||||
|
Sprite "GELXK0",1,1{}
|
||||||
|
Sprite "GELXL0",1,1{}
|
||||||
|
Sprite "BIOSA0",1,1{}
|
||||||
|
Sprite "BIOSB0",1,1{}
|
||||||
|
Sprite "BIOSC0",1,1{}
|
||||||
|
Sprite "BIOSD0",1,1{}
|
||||||
|
Sprite "BIOSE0",1,1{}
|
||||||
|
Sprite "BIOSF0",1,1{}
|
||||||
|
Sprite "BIOSG0",1,1{}
|
||||||
|
Sprite "BIOSH0",1,1{}
|
||||||
|
Sprite "BIOSI0",1,1{}
|
||||||
|
Sprite "BIOSJ0",1,1{}
|
||||||
|
Sprite "BIOSK0",1,1{}
|
||||||
|
Sprite "BIOSL0",1,1{}
|
||||||
|
Sprite "BIOSM0",1,1{}
|
||||||
|
Sprite "BIOSN0",1,1{}
|
||||||
|
Sprite "BIOSO0",1,1{}
|
||||||
|
Sprite "BIOSP0",1,1{}
|
||||||
|
Sprite "BIOSQ0",1,1{}
|
||||||
|
Sprite "BIOSR0",1,1{}
|
||||||
|
Sprite "BIOSS0",1,1{}
|
||||||
|
Sprite "BIOST0",1,1{}
|
||||||
|
Sprite "BIOSU0",1,1{}
|
||||||
|
Sprite "BIOSV0",1,1{}
|
||||||
|
Sprite "BIOIA0",1,1{}
|
||||||
|
Sprite "BIOCA0",1,1{}
|
||||||
|
Sprite "BIOCB0",1,1{}
|
||||||
|
Sprite "BIOCC0",1,1{}
|
||||||
|
Sprite "BIOCD0",1,1{}
|
||||||
|
Sprite "BIOCE0",1,1{}
|
||||||
|
Sprite "BIOCF0",1,1{}
|
||||||
|
Sprite "BIOCG0",1,1{}
|
||||||
|
Sprite "BIOCH0",1,1{}
|
||||||
|
Sprite "BIOCI0",1,1{}
|
||||||
|
Sprite "BIOCJ0",1,1{}
|
||||||
|
Sprite "BIOCK0",1,1{}
|
||||||
|
Sprite "BIOCL0",1,1{}
|
||||||
|
Sprite "BIOCM0",1,1{}
|
||||||
|
Sprite "BIOCN0",1,1{}
|
||||||
|
Sprite "BIOCO0",1,1{}
|
||||||
|
Sprite "BIOCP0",1,1{}
|
||||||
|
Sprite "BIOCQ0",1,1{}
|
||||||
|
Sprite "BIOCR0",1,1{}
|
||||||
|
Sprite "BIOCS0",1,1{}
|
||||||
|
Sprite "BIOCT0",1,1{}
|
||||||
|
Sprite "BIOCU0",1,1{}
|
||||||
|
Sprite "BIOCV0",1,1{}
|
||||||
|
Sprite "BIOCW0",1,1{}
|
||||||
|
Sprite "BIOCX0",1,1{}
|
||||||
|
Sprite "BIOCY0",1,1{}
|
||||||
|
Sprite "BIOCZ0",1,1{}
|
||||||
|
Sprite "BIC2A0",1,1{}
|
||||||
|
Sprite "BIC2B0",1,1{}
|
||||||
|
Sprite "BIC2C0",1,1{}
|
||||||
|
Sprite "BIC2D0",1,1{}
|
||||||
|
Sprite "BIC2E0",1,1{}
|
||||||
|
Sprite "BIOMA0",1,1{}
|
||||||
|
Sprite "BIOEA0",1,1{}
|
||||||
|
Sprite "BIOFA0",1,1{}
|
||||||
|
Sprite "BIOFB0",1,1{}
|
||||||
|
Sprite "BIOFC0",1,1{}
|
||||||
|
Sprite "BIOFD0",1,1{}
|
||||||
|
Sprite "BIOFE0",1,1{}
|
||||||
|
Sprite "BIOFF0",1,1{}
|
||||||
|
Sprite "BIOFG0",1,1{}
|
||||||
|
Sprite "BIOFH0",1,1{}
|
||||||
|
Sprite "BIOFI0",1,1{}
|
||||||
|
Sprite "BIODA0",1,1{}
|
||||||
|
Sprite "BIODB0",1,1{}
|
||||||
|
Sprite "BIODC0",1,1{}
|
||||||
|
Sprite "BIODD0",1,1{}
|
||||||
|
Sprite "BIODE0",1,1{}
|
||||||
|
Sprite "BIODF0",1,1{}
|
||||||
|
Sprite "BIODG0",1,1{}
|
||||||
|
Sprite "BIODH0",1,1{}
|
||||||
|
Sprite "BIODI0",1,1{}
|
||||||
|
Sprite "BIODJ0",1,1{}
|
||||||
1
textures.misc
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
Sprite "BLOBA0",1,1{}
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
Sprite "SHOAA0",1,1{}
|
||||||
Sprite "SWAVA0",1,1{}
|
Sprite "SWAVA0",1,1{}
|
||||||
Sprite "SWAVB0",1,1{}
|
Sprite "SWAVB0",1,1{}
|
||||||
Sprite "SRNGA0",1,1{}
|
Sprite "SRNGA0",1,1{}
|
||||||
|
|
|
||||||
BIN
textures/-noflat-.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
|
|
@ -3,6 +3,7 @@ version "3.3"
|
||||||
#include "zscript/mk_matrix.zsc"
|
#include "zscript/mk_matrix.zsc"
|
||||||
#include "zscript/mk_coordutil.zsc"
|
#include "zscript/mk_coordutil.zsc"
|
||||||
#include "zscript/utcommon.zsc"
|
#include "zscript/utcommon.zsc"
|
||||||
|
#include "zscript/biorifle.zsc"
|
||||||
#include "zscript/shockrifle.zsc"
|
#include "zscript/shockrifle.zsc"
|
||||||
#include "zscript/flakcannon.zsc"
|
#include "zscript/flakcannon.zsc"
|
||||||
#include "zscript/warheadlauncher.zsc"
|
#include "zscript/warheadlauncher.zsc"
|
||||||
|
|
|
||||||
233
zscript/biorifle.zsc
Normal file
|
|
@ -0,0 +1,233 @@
|
||||||
|
Class BioAmmo : Ammo
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Tag "Biosludge Ammo";
|
||||||
|
Inventory.PickupMessage "You picked up the Biosludge Ammo.";
|
||||||
|
Inventory.PickupSound "ut/ammo";
|
||||||
|
Inventory.Amount 25;
|
||||||
|
Inventory.MaxAmount 100;
|
||||||
|
Ammo.BackpackAmount 50;
|
||||||
|
Ammo.BackpackMaxAmount 200;
|
||||||
|
Ammo.DropAmount 25;
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
BIOA A -1;
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Class BioHitbox : Actor
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
Class BioLight : DynamicLight
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
Class BioGel : Actor
|
||||||
|
{
|
||||||
|
Actor l, b;
|
||||||
|
enum EHitType
|
||||||
|
{
|
||||||
|
HIT_NONE,
|
||||||
|
HIT_WALL,
|
||||||
|
HIT_CEILING,
|
||||||
|
HIT_FLOOR
|
||||||
|
};
|
||||||
|
int hittype;
|
||||||
|
int deadtimer;
|
||||||
|
Line atline;
|
||||||
|
int atside;
|
||||||
|
|
||||||
|
override void PostBeginPlay()
|
||||||
|
{
|
||||||
|
Super.PostBeginPlay();
|
||||||
|
vel.z += 6;
|
||||||
|
deadtimer = -1;
|
||||||
|
}
|
||||||
|
action void A_SetToSlope( double dang, bool ceil = false )
|
||||||
|
{
|
||||||
|
vector3 fnormal;
|
||||||
|
if ( ceil ) fnormal = invoker.CurSector.floorplane.Normal;
|
||||||
|
else fnormal = invoker.CurSector.ceilingplane.Normal;
|
||||||
|
vector2 fnormalp1 = ((fnormal.x != 0) || (fnormal.y != 0))?(fnormal.x,fnormal.y).Unit():(0,0);
|
||||||
|
vector2 fnormalp2 = ((fnormal.x,fnormal.y).Length(),fnormal.z);
|
||||||
|
double fang = atan2(fnormalp1.y,fnormalp1.x); // floor angle (not pitch!)
|
||||||
|
double fpitch = atan2(fnormalp2.x,fnormalp2.y); // floor pitch
|
||||||
|
double ddiff1 = cos(fang-(dang-90));
|
||||||
|
double ddiff2 = cos(fang-dang);
|
||||||
|
invoker.pitch = -fpitch*ddiff2;
|
||||||
|
invoker.roll = fpitch*ddiff1;
|
||||||
|
invoker.angle = dang;
|
||||||
|
}
|
||||||
|
// align self to what surface was hit, currently does not support 3d floors + slopes properly
|
||||||
|
virtual void AlignSelf()
|
||||||
|
{
|
||||||
|
Vector3 normal;
|
||||||
|
FLineTraceData d;
|
||||||
|
A_NoGravity();
|
||||||
|
A_PlaySound("ges/hit");
|
||||||
|
A_SetSize(0.1,0);
|
||||||
|
if ( BlockingLine )
|
||||||
|
{
|
||||||
|
atline = BlockingLine;
|
||||||
|
normal = (-BlockingLine.delta.y,BlockingLine.delta.x,0).unit();
|
||||||
|
atside = 1;
|
||||||
|
if ( !BlockingLine.sidedef[1] || (CurSector == BlockingLine.frontsector) )
|
||||||
|
{
|
||||||
|
atside = 0;
|
||||||
|
normal *= -1;
|
||||||
|
}
|
||||||
|
angle = atan2(normal.y,normal.x);
|
||||||
|
pitch = 0;
|
||||||
|
roll = 0;
|
||||||
|
LineTrace(angle+180,8,0,data:d);
|
||||||
|
SetOrigin(d.HitLocation+normal*0.5,false);
|
||||||
|
hittype = HIT_WALL;
|
||||||
|
}
|
||||||
|
else if ( pos.z <= floorz+4 )
|
||||||
|
{
|
||||||
|
normal = cursector.floorplane.Normal;
|
||||||
|
pitch = asin(-normal.z);
|
||||||
|
angle = atan2(normal.y,normal.x);
|
||||||
|
roll = FRandom[GES](0,360);
|
||||||
|
SetOrigin((pos.x,pos.y,floorz)+normal*0.5,false);
|
||||||
|
hittype = HIT_FLOOR;
|
||||||
|
}
|
||||||
|
else if ( pos.z >= ceilingz-8 )
|
||||||
|
{
|
||||||
|
normal = cursector.ceilingplane.Normal;
|
||||||
|
pitch = asin(-normal.z);
|
||||||
|
angle = atan2(normal.y,normal.x);
|
||||||
|
roll = FRandom[GES](0,360);
|
||||||
|
SetOrigin((pos.x,pos.y,ceilingz)+normal*0.5,false);
|
||||||
|
if ( normal dot (0,0,-1) > 0.7 )
|
||||||
|
hittype = HIT_CEILING;
|
||||||
|
else hittype = HIT_FLOOR;
|
||||||
|
}
|
||||||
|
else SetStateLabel("Crash");
|
||||||
|
}
|
||||||
|
action void A_DropDrip()
|
||||||
|
{
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
action void A_GelExplode()
|
||||||
|
{
|
||||||
|
if ( invoker.atline ) invoker.atline.RemoteActivate(target,invoker.atside,SPAC_Impact,pos);
|
||||||
|
A_Explode(Random[GES](15,20)*Scale.x,Min(250,Scale.x*75));
|
||||||
|
A_PlaySound("ges/explode",CHAN_VOICE);
|
||||||
|
// TODO particles
|
||||||
|
}
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Obituary "%o drank a glass of %k's dripping green load.";
|
||||||
|
RenderStyle "Add";
|
||||||
|
Radius 4;
|
||||||
|
Height 4;
|
||||||
|
Scale 2;
|
||||||
|
Speed 20;
|
||||||
|
PROJECTILE;
|
||||||
|
-NOGRAVITY;
|
||||||
|
+SKYEXPLODE;
|
||||||
|
+FORCERADIUSDMG;
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
GELF ABCDEFGHIJKLM 1 Bright;
|
||||||
|
Loop;
|
||||||
|
Death:
|
||||||
|
GELH A 1 Bright AlignSelf();
|
||||||
|
GELH BCDEFGHIJ 1 Bright;
|
||||||
|
GELH J 0 Bright A_SetTics(Random[GES](10,30));
|
||||||
|
GELH J -1 Bright
|
||||||
|
{
|
||||||
|
if ( invoker.hittype == HIT_WALL ) return ResolveState("Slide");
|
||||||
|
else if ( invoker.hittype == HIT_CEILING ) return ResolveState("Drip");
|
||||||
|
return ResolveState(null);
|
||||||
|
}
|
||||||
|
Stop;
|
||||||
|
Drip:
|
||||||
|
GELD ABCDEFGH 4 Bright;
|
||||||
|
GELD I 4 Bright A_DropDrip();
|
||||||
|
GELD JKLM 4 Bright;
|
||||||
|
GELD M -1 Bright;
|
||||||
|
Wait;
|
||||||
|
Slide:
|
||||||
|
GELS ABCDEFG 3 Bright;
|
||||||
|
Wait;
|
||||||
|
Crash:
|
||||||
|
XDeath:
|
||||||
|
#### # 1 A_SetTics(Random[GES](1,3)); // TODO EXPLOSION
|
||||||
|
TNT1 A 1 A_GelExplode();
|
||||||
|
Stop;
|
||||||
|
Shrivel:
|
||||||
|
GELX ABCDEFGHIJKL 1 Bright; // UNUSED
|
||||||
|
Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Class BioGlob : BioGel
|
||||||
|
{
|
||||||
|
override void AlignSelf()
|
||||||
|
{
|
||||||
|
Super.AlignSelf();
|
||||||
|
// TODO splashes
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Class BioSplash : BioGel
|
||||||
|
{
|
||||||
|
override void AlignSelf()
|
||||||
|
{
|
||||||
|
Super.AlignSelf();
|
||||||
|
if ( hittype == HIT_CEILING ) hittype = HIT_FLOOR;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Class BioRifle : UTWeapon
|
||||||
|
{
|
||||||
|
Default
|
||||||
|
{
|
||||||
|
Tag "GES Bio Rifle";
|
||||||
|
Inventory.PickupMessage "You got the GES BioRifle.";
|
||||||
|
Weapon.SlotNumber 3;
|
||||||
|
Weapon.AmmoType "BioAmmo";
|
||||||
|
Weapon.AmmoUse 1;
|
||||||
|
Weapon.AmmoType2 "BioAmmo";
|
||||||
|
Weapon.AmmoUse2 1;
|
||||||
|
Weapon.AmmoGive 25;
|
||||||
|
}
|
||||||
|
States
|
||||||
|
{
|
||||||
|
Spawn:
|
||||||
|
BIOP A -1;
|
||||||
|
Stop;
|
||||||
|
BIOP B -1;
|
||||||
|
Stop;
|
||||||
|
Ready:
|
||||||
|
BIOS ABCDEFGHIJKLMNOPQRSTUV 1;
|
||||||
|
Idle:
|
||||||
|
BIOI A 1 A_WeaponReady();
|
||||||
|
Goto Idle;
|
||||||
|
Fire:
|
||||||
|
BIOF ABCDEFGHI 1;
|
||||||
|
Goto Idle;
|
||||||
|
AltFire:
|
||||||
|
BIOC ABCDEFGHIJKLMNOPQRSTUVWXYZ 1;
|
||||||
|
BIC2 ABCDE 1;
|
||||||
|
BIOM A 1;
|
||||||
|
BIOE A 1;
|
||||||
|
Goto Idle;
|
||||||
|
Select:
|
||||||
|
BIOS A 1 A_Raise(int.max);
|
||||||
|
Wait;
|
||||||
|
Deselect:
|
||||||
|
BIOD ABCDEFGHIJ 1;
|
||||||
|
BIOD J 1 A_Lower(int.max);
|
||||||
|
Wait;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -3,7 +3,6 @@ Class FlakAmmo : Ammo
|
||||||
Default
|
Default
|
||||||
{
|
{
|
||||||
Tag "Flak Shells";
|
Tag "Flak Shells";
|
||||||
Inventory.Icon "I_FLAK";
|
|
||||||
Inventory.PickupMessage "You picked up 10 Flak Shells.";
|
Inventory.PickupMessage "You picked up 10 Flak Shells.";
|
||||||
Inventory.PickupSound "ut/ammo";
|
Inventory.PickupSound "ut/ammo";
|
||||||
Inventory.Amount 10;
|
Inventory.Amount 10;
|
||||||
|
|
@ -118,8 +117,8 @@ Class FlakChunk : Actor
|
||||||
Default
|
Default
|
||||||
{
|
{
|
||||||
Obituary "%o was ripped to shreds by %k's Flak Cannon.";
|
Obituary "%o was ripped to shreds by %k's Flak Cannon.";
|
||||||
Radius 2;
|
Radius 4;
|
||||||
Height 2;
|
Height 4;
|
||||||
Speed 80;
|
Speed 80;
|
||||||
DamageFunction Random[Flak](12,18);
|
DamageFunction Random[Flak](12,18);
|
||||||
DamageType 'Shredded';
|
DamageType 'Shredded';
|
||||||
|
|
@ -294,8 +293,8 @@ Class FlakSlug : Actor
|
||||||
{
|
{
|
||||||
Obituary "%o was ripped to shreds by %k's Flak Cannon.";
|
Obituary "%o was ripped to shreds by %k's Flak Cannon.";
|
||||||
DamageType 'FlakDeath';
|
DamageType 'FlakDeath';
|
||||||
Radius 2;
|
Radius 4;
|
||||||
Height 2;
|
Height 4;
|
||||||
Speed 40;
|
Speed 40;
|
||||||
PROJECTILE;
|
PROJECTILE;
|
||||||
-NOGRAVITY;
|
-NOGRAVITY;
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,7 @@ Class ShockAmmo : Ammo
|
||||||
{
|
{
|
||||||
Default
|
Default
|
||||||
{
|
{
|
||||||
Tag "Flak Shells";
|
Tag "ShockCore";
|
||||||
Inventory.Icon "I_ASMD";
|
|
||||||
Inventory.PickupMessage "You picked up a Shock Core.";
|
Inventory.PickupMessage "You picked up a Shock Core.";
|
||||||
Inventory.PickupSound "ut/ammo";
|
Inventory.PickupSound "ut/ammo";
|
||||||
Inventory.Amount 10;
|
Inventory.Amount 10;
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@ Class WarheadAmmo : Ammo
|
||||||
Default
|
Default
|
||||||
{
|
{
|
||||||
Tag "Redeemer Missile";
|
Tag "Redeemer Missile";
|
||||||
Inventory.Icon "I_WARH";
|
|
||||||
Inventory.PickupMessage "You picked up a Redeemer Missile.";
|
Inventory.PickupMessage "You picked up a Redeemer Missile.";
|
||||||
Inventory.PickupSound "ut/ammo";
|
Inventory.PickupSound "ut/ammo";
|
||||||
Inventory.Amount 1;
|
Inventory.Amount 1;
|
||||||
|
|
@ -193,8 +192,8 @@ Class WarShell : Actor
|
||||||
Default
|
Default
|
||||||
{
|
{
|
||||||
Obituary "%o was vaporized by %k's Redeemer!!";
|
Obituary "%o was vaporized by %k's Redeemer!!";
|
||||||
Radius 2;
|
Radius 4;
|
||||||
Height 2;
|
Height 4;
|
||||||
Speed 5;
|
Speed 5;
|
||||||
DamageType 'RedeemerDeath';
|
DamageType 'RedeemerDeath';
|
||||||
PROJECTILE;
|
PROJECTILE;
|
||||||
|
|
|
||||||