Flak Cannon time.
|
|
@ -9,11 +9,12 @@ This mod requires GZDoom 3.4.0 or later.
|
|||
|
||||
- Stinger (slot 3) (replaces shotgun)
|
||||
- Backpack (replaces backpack, identical to Doom Tournament version)
|
||||
- Unreal 1 HUD
|
||||
- Translator (has to be spawned in, since it would only be useful for mappers)
|
||||
|
||||
## In progress
|
||||
|
||||
- Unreal 1 HUD
|
||||
- Translator (has to be spawned in, since it would only be useful for mappers)
|
||||
- Flak Cannon (slot 6) (replaces rocket launcher)
|
||||
|
||||
## Planned
|
||||
|
||||
|
|
@ -22,7 +23,6 @@ This mod requires GZDoom 3.4.0 or later.
|
|||
- Automag (slot 2) (replaces pistol)
|
||||
- ASMD (slot 4) (replaces shotgun)
|
||||
- Eightball (slot 5) (replaces rocket launcher)
|
||||
- Flak Cannon (slot 6) (replaces rocket launcher)
|
||||
- Razorjack (slot 7) (replaces chaingun)
|
||||
- GES Bio Rifle (slot 8) (replaces plasma rifle)
|
||||
- Rifle (slot 9) (replaces plasma rifle)
|
||||
|
|
|
|||
BIN
brightmaps/JPickup1.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
12
gldefs.txt
|
|
@ -46,3 +46,15 @@ HardwareShader Texture "models/JTaryPick1.png"
|
|||
{
|
||||
Shader "shaders/glsl/AmbientGlow.fp"
|
||||
}
|
||||
/*Brightmap Texture "models/JPickup1.png"
|
||||
{
|
||||
Map "brightmaps/JPickup1.png"
|
||||
}*/
|
||||
HardwareShader Texture "models/JPickup1_.png"
|
||||
{
|
||||
Shader "shaders/glsl/AmbientGlow_Brightmapped.fp"
|
||||
}
|
||||
HardwareShader Texture "models/Jflakshel1_.png"
|
||||
{
|
||||
Shader "shaders/glsl/AmbientGlow.fp"
|
||||
}
|
||||
|
|
|
|||
BIN
graphics/BlueSky.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
167
modeldef.flak
Normal file
|
|
@ -0,0 +1,167 @@
|
|||
Model "UFlakBox"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "flakboxMesh_d.3d"
|
||||
Skin 0 "JPickup1_.png"
|
||||
Scale 0.09 0.09 0.108
|
||||
ZOffset 6
|
||||
RollOffset 180
|
||||
|
||||
FrameIndex FBOX A 0 0
|
||||
}
|
||||
|
||||
Model "UFlakAmmo"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "FlakSh_d.3d"
|
||||
Skin 0 "Jflakshel1_.png"
|
||||
Scale 0.2 0.24 0.2
|
||||
ZOffset 2.25
|
||||
RollOffset -90
|
||||
|
||||
FrameIndex FSHL B 0 0
|
||||
}
|
||||
|
||||
Model "UFlakCannon"
|
||||
{
|
||||
Path "models"
|
||||
Model 1 "FlakPick_d.3d"
|
||||
Skin 1 "Jflak1.png"
|
||||
ZOffset 4
|
||||
AngleOffset -90
|
||||
Scale 0.12 0.12 0.134
|
||||
|
||||
FrameIndex FLKP B 1 0
|
||||
|
||||
ZOffset 12
|
||||
ROTATING
|
||||
FrameIndex FLKP A 1 0
|
||||
}
|
||||
|
||||
Model "UFlakCannon"
|
||||
{
|
||||
Path "models"
|
||||
Model 0 "flak_d.3d"
|
||||
SurfaceSkin 0 0 "Jflak1.png"
|
||||
Scale 0.1 -0.08 0.1
|
||||
AngleOffset -90
|
||||
Offset 5 -9 -5
|
||||
|
||||
// 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 FLS2 A 0 26
|
||||
FrameIndex FLS2 B 0 27
|
||||
FrameIndex FLS2 C 0 28
|
||||
FrameIndex FLS2 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
|
||||
// Still
|
||||
FrameIndex FLKI A 0 45
|
||||
// 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 56
|
||||
FrameIndex FLKA B 0 57
|
||||
FrameIndex FLKA C 0 58
|
||||
FrameIndex FLKA D 0 59
|
||||
FrameIndex FLKA E 0 60
|
||||
FrameIndex FLKA F 0 61
|
||||
FrameIndex FLKA G 0 62
|
||||
FrameIndex FLKA H 0 63
|
||||
FrameIndex FLKA I 0 64
|
||||
FrameIndex FLKA J 0 65
|
||||
FrameIndex FLKA K 0 66
|
||||
// Eject
|
||||
FrameIndex FLKE A 0 67
|
||||
FrameIndex FLKE B 0 68
|
||||
FrameIndex FLKE C 0 69
|
||||
FrameIndex FLKE D 0 70
|
||||
FrameIndex FLKE E 0 71
|
||||
FrameIndex FLKE F 0 72
|
||||
FrameIndex FLKE G 0 73
|
||||
FrameIndex FLKE H 0 74
|
||||
FrameIndex FLKE I 0 75
|
||||
FrameIndex FLKE J 0 76
|
||||
FrameIndex FLKE K 0 77
|
||||
FrameIndex FLKE L 0 78
|
||||
FrameIndex FLKE M 0 79
|
||||
FrameIndex FLKE N 0 80
|
||||
FrameIndex FLKE O 0 81
|
||||
FrameIndex FLKE P 0 82
|
||||
FrameIndex FLKE Q 0 83
|
||||
FrameIndex FLKE R 0 84
|
||||
FrameIndex FLKE S 0 85
|
||||
// Down2
|
||||
FrameIndex FLD2 A 0 86
|
||||
FrameIndex FLD2 B 0 87
|
||||
FrameIndex FLD2 C 0 88
|
||||
FrameIndex FLD2 D 0 89
|
||||
FrameIndex FLD2 E 0 90
|
||||
FrameIndex FLD2 F 0 91
|
||||
FrameIndex FLD2 G 0 92
|
||||
FrameIndex FLD2 H 0 93
|
||||
FrameIndex FLD2 I 0 94
|
||||
FrameIndex FLD2 J 0 95
|
||||
FrameIndex FLD2 K 0 96
|
||||
FrameIndex FLD2 L 0 97
|
||||
FrameIndex FLD2 M 0 98
|
||||
FrameIndex FLD2 N 0 99
|
||||
FrameIndex FLD2 O 0 100
|
||||
// Still2
|
||||
FrameIndex FLI2 A 0 101
|
||||
// Down
|
||||
FrameIndex FLKD A 0 104
|
||||
FrameIndex FLKD B 0 105
|
||||
FrameIndex FLKD C 0 106
|
||||
FrameIndex FLKD D 0 107
|
||||
FrameIndex FLKD E 0 108
|
||||
FrameIndex FLKD F 0 109
|
||||
}
|
||||
|
|
@ -57,7 +57,7 @@ Model "Stinger"
|
|||
Model 2 "StingerM_d.3d"
|
||||
SurfaceSkin 2 2 "FireEffect18.png"
|
||||
SurfaceSkin 2 3 "FireEffect18.png"
|
||||
Scale 0.1 -0.05 0.1
|
||||
Scale 0.1 -0.08 0.1
|
||||
AngleOffset 89
|
||||
Offset 6.8 -13.2 -10.6
|
||||
DONTCULLBACKFACES
|
||||
|
|
@ -82,7 +82,7 @@ Model "Stinger"
|
|||
Model 0 "StingerM_d.3d"
|
||||
SurfaceSkin 0 0 "Sting1.png"
|
||||
SurfaceSkin 0 1 "Sting1.png"
|
||||
Scale 0.1 -0.05 0.1
|
||||
Scale 0.1 -0.08 0.1
|
||||
AngleOffset 89
|
||||
Offset 6.8 -13.2 -10.6
|
||||
|
||||
|
|
|
|||
BIN
models/FlakPick_a.3d
Normal file
BIN
models/FlakPick_d.3d
Normal file
BIN
models/FlakSh_a.3d
Normal file
BIN
models/FlakSh_d.3d
Normal file
BIN
models/JPickup1.png
Normal file
|
After Width: | Height: | Size: 56 KiB |
BIN
models/JPickup1_.png
Normal file
|
After Width: | Height: | Size: 73 KiB |
BIN
models/Jflak1.png
Normal file
|
After Width: | Height: | Size: 103 KiB |
BIN
models/Jflakshel1.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
models/Jflakshel1_.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
models/flak_a.3d
Normal file
BIN
models/flak_d.3d
Normal file
BIN
models/flakboxMesh_a.3d
Normal file
BIN
models/flakboxMesh_d.3d
Normal file
113
textures.flak
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
Sprite "FBOXA0",1,1{}
|
||||
Sprite "FSHLA0",1,1{}
|
||||
Sprite "FSHLB0",1,1{}
|
||||
Sprite "FLKPA0",1,1{}
|
||||
Sprite "FLKPB0",1,1{}
|
||||
Sprite "FLKSA0",1,1{}
|
||||
Sprite "FLKSB0",1,1{}
|
||||
Sprite "FLKSC0",1,1{}
|
||||
Sprite "FLKSD0",1,1{}
|
||||
Sprite "FLKSE0",1,1{}
|
||||
Sprite "FLKSF0",1,1{}
|
||||
Sprite "FLKSG0",1,1{}
|
||||
Sprite "FLKSH0",1,1{}
|
||||
Sprite "FLKSI0",1,1{}
|
||||
Sprite "FLKSJ0",1,1{}
|
||||
Sprite "FLKSK0",1,1{}
|
||||
Sprite "FLKSL0",1,1{}
|
||||
Sprite "FLKSM0",1,1{}
|
||||
Sprite "FLKSN0",1,1{}
|
||||
Sprite "FLKSO0",1,1{}
|
||||
Sprite "FLKSP0",1,1{}
|
||||
Sprite "FLKSQ0",1,1{}
|
||||
Sprite "FLKSR0",1,1{}
|
||||
Sprite "FLKSS0",1,1{}
|
||||
Sprite "FLKST0",1,1{}
|
||||
Sprite "FLKSU0",1,1{}
|
||||
Sprite "FLKSV0",1,1{}
|
||||
Sprite "FLKSW0",1,1{}
|
||||
Sprite "FLKSX0",1,1{}
|
||||
Sprite "FLKSY0",1,1{}
|
||||
Sprite "FLKSZ0",1,1{}
|
||||
Sprite "FLS2A0",1,1{}
|
||||
Sprite "FLS2B0",1,1{}
|
||||
Sprite "FLS2C0",1,1{}
|
||||
Sprite "FLS2D0",1,1{}
|
||||
Sprite "FLKLA0",1,1{}
|
||||
Sprite "FLKLB0",1,1{}
|
||||
Sprite "FLKLC0",1,1{}
|
||||
Sprite "FLKLD0",1,1{}
|
||||
Sprite "FLKLE0",1,1{}
|
||||
Sprite "FLKLF0",1,1{}
|
||||
Sprite "FLKLG0",1,1{}
|
||||
Sprite "FLKLH0",1,1{}
|
||||
Sprite "FLKLI0",1,1{}
|
||||
Sprite "FLKLJ0",1,1{}
|
||||
Sprite "FLKLK0",1,1{}
|
||||
Sprite "FLKLL0",1,1{}
|
||||
Sprite "FLKLM0",1,1{}
|
||||
Sprite "FLKLN0",1,1{}
|
||||
Sprite "FLKLO0",1,1{}
|
||||
Sprite "FLKIA0",1,1{}
|
||||
Sprite "FLKFA0",1,1{}
|
||||
Sprite "FLKFB0",1,1{}
|
||||
Sprite "FLKFC0",1,1{}
|
||||
Sprite "FLKFD0",1,1{}
|
||||
Sprite "FLKFE0",1,1{}
|
||||
Sprite "FLKFF0",1,1{}
|
||||
Sprite "FLKFG0",1,1{}
|
||||
Sprite "FLKFH0",1,1{}
|
||||
Sprite "FLKFI0",1,1{}
|
||||
Sprite "FLKFJ0",1,1{}
|
||||
Sprite "FLKAA0",1,1{}
|
||||
Sprite "FLKAB0",1,1{}
|
||||
Sprite "FLKAC0",1,1{}
|
||||
Sprite "FLKAD0",1,1{}
|
||||
Sprite "FLKAE0",1,1{}
|
||||
Sprite "FLKAF0",1,1{}
|
||||
Sprite "FLKAG0",1,1{}
|
||||
Sprite "FLKAH0",1,1{}
|
||||
Sprite "FLKAI0",1,1{}
|
||||
Sprite "FLKAJ0",1,1{}
|
||||
Sprite "FLKAK0",1,1{}
|
||||
Sprite "FLKEA0",1,1{}
|
||||
Sprite "FLKEB0",1,1{}
|
||||
Sprite "FLKEC0",1,1{}
|
||||
Sprite "FLKED0",1,1{}
|
||||
Sprite "FLKEE0",1,1{}
|
||||
Sprite "FLKEF0",1,1{}
|
||||
Sprite "FLKEG0",1,1{}
|
||||
Sprite "FLKEH0",1,1{}
|
||||
Sprite "FLKEI0",1,1{}
|
||||
Sprite "FLKEJ0",1,1{}
|
||||
Sprite "FLKEK0",1,1{}
|
||||
Sprite "FLKEL0",1,1{}
|
||||
Sprite "FLKEM0",1,1{}
|
||||
Sprite "FLKEN0",1,1{}
|
||||
Sprite "FLKEO0",1,1{}
|
||||
Sprite "FLKEP0",1,1{}
|
||||
Sprite "FLKEQ0",1,1{}
|
||||
Sprite "FLKER0",1,1{}
|
||||
Sprite "FLKES0",1,1{}
|
||||
Sprite "FLD2A0",1,1{}
|
||||
Sprite "FLD2B0",1,1{}
|
||||
Sprite "FLD2C0",1,1{}
|
||||
Sprite "FLD2D0",1,1{}
|
||||
Sprite "FLD2E0",1,1{}
|
||||
Sprite "FLD2F0",1,1{}
|
||||
Sprite "FLD2G0",1,1{}
|
||||
Sprite "FLD2H0",1,1{}
|
||||
Sprite "FLD2I0",1,1{}
|
||||
Sprite "FLD2J0",1,1{}
|
||||
Sprite "FLD2K0",1,1{}
|
||||
Sprite "FLD2L0",1,1{}
|
||||
Sprite "FLD2M0",1,1{}
|
||||
Sprite "FLD2N0",1,1{}
|
||||
Sprite "FLD2O0",1,1{}
|
||||
Sprite "FLI2A0",1,1{}
|
||||
Sprite "FLKDA0",1,1{}
|
||||
Sprite "FLKDB0",1,1{}
|
||||
Sprite "FLKDC0",1,1{}
|
||||
Sprite "FLKDD0",1,1{}
|
||||
Sprite "FLKDE0",1,1{}
|
||||
Sprite "FLKDF0",1,1{}
|
||||
|
|
@ -6,4 +6,4 @@ Texture "-kinsie-",128,128
|
|||
WorldPanning
|
||||
Patch "-noflat-",0,0{}
|
||||
}
|
||||
Sprite "BPAKA0",0,0{}
|
||||
Sprite "BPAKA0",1,1{}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,117 @@
|
|||
Class UFlakBox : Ammo
|
||||
{
|
||||
Default
|
||||
{
|
||||
Tag "Flak Shell Box";
|
||||
Inventory.Icon "I_Flak";
|
||||
Inventory.PickupMessage "You picked up 10 Flak Shells.";
|
||||
Inventory.Amount 10;
|
||||
Inventory.MaxAmount 50;
|
||||
Ammo.BackpackAmount 5;
|
||||
Ammo.BackpackMaxAmount 100;
|
||||
Ammo.DropAmount 5;
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
FBOX A -1;
|
||||
Stop;
|
||||
}
|
||||
}
|
||||
|
||||
Class UFlakAmmo : UFlakBox
|
||||
{
|
||||
Default
|
||||
{
|
||||
Tag "Flak Shell";
|
||||
Inventory.Icon "I_Flak";
|
||||
Inventory.PickupMessage "You picked up a Flak Shell.";
|
||||
Inventory.Amount 1;
|
||||
Ammo.DropAmount 1;
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
FSHL B -1;
|
||||
Stop;
|
||||
}
|
||||
}
|
||||
|
||||
Class UFlakCannon : UnrealWeapon
|
||||
{
|
||||
bool bLoaded;
|
||||
action void A_Loading( bool first = false )
|
||||
{
|
||||
invoker.bLoaded = true;
|
||||
if ( first ) A_PlaySound("uflak/load",CHAN_WEAPON);
|
||||
else A_PlaySound("uflak/reload",CHAN_6);
|
||||
}
|
||||
Default
|
||||
{
|
||||
Tag "Flak Cannon";
|
||||
Inventory.PickupMessage "You got the Flak Cannon.";
|
||||
Weapon.UpSound "uflak/select";
|
||||
Weapon.SlotNumber 6;
|
||||
Weapon.SelectionOrder 4;
|
||||
Weapon.AmmoType "UFlakBox";
|
||||
Weapon.AmmoUse 1;
|
||||
Weapon.AmmoType2 "UFlakBox";
|
||||
Weapon.AmmoUse2 1;
|
||||
Weapon.AmmoGive 10;
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
FLKP A -1;
|
||||
Stop;
|
||||
FLKP B -1;
|
||||
Stop;
|
||||
Select:
|
||||
FLKS A 1 A_Raise(int.max);
|
||||
Wait;
|
||||
Ready:
|
||||
FLKS ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 A_WeaponReady(WRF_NOFIRE);
|
||||
FLS2 ABCD 1 A_WeaponReady(WRF_NOFIRE);
|
||||
FLKL A 1 A_Loading(true);
|
||||
FLKL BCEFGIJKMNO 1;
|
||||
Goto Idle;
|
||||
Loading:
|
||||
FLKL A 1 A_Loading();
|
||||
FLKL BCEFGIJKMNO 1;
|
||||
Goto Idle;
|
||||
Idle:
|
||||
FLKI A 1
|
||||
{
|
||||
A_CheckReload();
|
||||
A_WeaponReady();
|
||||
}
|
||||
Wait;
|
||||
Idle2:
|
||||
FLI2 A 1
|
||||
{
|
||||
A_CheckReload();
|
||||
A_WeaponReady();
|
||||
}
|
||||
Wait;
|
||||
Fire:
|
||||
FLKI A 0 A_JumpIf(!invoker.bLoaded,"Loading");
|
||||
FLKF ABCDEFGHIJ 1;
|
||||
FLKE ABCDEFGHIJKLMNS 1;
|
||||
FLKE S 0 A_JumpIfNoAmmo("Idle2");
|
||||
Goto Loading;
|
||||
AltFire:
|
||||
FLKI A 0 A_JumpIf(!invoker.bLoaded,"Loading");
|
||||
FLKA ABCDEFGHIJK 2;
|
||||
FLKA K 0 A_JumpIfNoAmmo("Idle2");
|
||||
Goto Loading;
|
||||
Deselect:
|
||||
FLKD A 0 A_JumpIfNoAmmo("Deselect2");
|
||||
FLKD ABCDEF 1;
|
||||
FLKD F 1 A_Lower(int.max);
|
||||
Wait;
|
||||
Deselect2:
|
||||
FLD2 ABCDEF 1;
|
||||
FLD2 F 1 A_Lower(int.max);
|
||||
Wait;
|
||||
}
|
||||
}
|
||||
|
|
@ -115,7 +115,7 @@ Class UTranslator : UnrealInventory
|
|||
String ttxt;
|
||||
if ( bShowHint && (Hint.length() > 0) ) ttxt = String.Format("Hint: %s",Hint);
|
||||
else if ( NewMessage.length() > 0 ) ttxt = NewMessage;
|
||||
else ttxt = "I'd just like to interject for a moment. What you're referring to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.";
|
||||
else ttxt = "No new messages.";
|
||||
BrokenLines lines = tfnt.BreakLines(ttxt,220);
|
||||
int th = tfnt.GetHeight();
|
||||
CurX += 20;
|
||||
|
|
|
|||