Initial commit

This commit is contained in:
blendogames 2022-07-14 17:22:33 -07:00
commit a3ff3f2ed8
62 changed files with 1707 additions and 0 deletions

2
.gitattributes vendored Normal file
View file

@ -0,0 +1,2 @@
# Auto detect text files and perform LF normalization
* text=auto

17
base/def/ammo.def Normal file
View file

@ -0,0 +1,17 @@
entityDef ammo_types
{
"ammo_none" "0"
}
entityDef weapon_unarmed
{
"inv_name" "Unarmed"
"inv_weapon" "weapon_unarmed"
"weapon_scriptobject" "weapon_unarmed"
"ammoType" "ammo_none"
"ammoRequired" "0"
"clipSize" "0"
}

39
base/def/engine.def Normal file
View file

@ -0,0 +1,39 @@
entityDef worldspawn
{
"editor_color" "0 .5 .8"
"editor_mins" "?"
"editor_maxs" "?"
"no_stamina" "1"
"spawnclass" "idWorldspawn"
}
entityDef light
{
"editor_color" "0 1 0"
"editor_mins" "-8 -8 -8"
"editor_maxs" "8 8 8"
"spawnclass" "idLight"
}
entityDef info_player_start
{
"editor_color" "1 0 0"
"editor_mins" "-16 -16 0"
"editor_maxs" "16 16 64"
"editor_showangle" "1"
"spawnclass" "idPlayerStart"
}
entityDef info_player_deathmatch
{
"editor_color" "1 0 0"
"editor_mins" "-16 -16 0"
"editor_maxs" "16 16 64"
"editor_showangle" "1"
"spawnclass" "idPlayerStart"
}
entityDef damage_suicide
{
"damage" "1000000000"
}

28
base/def/player.def Normal file
View file

@ -0,0 +1,28 @@
model model_player
{
mesh models/player/player.md5mesh
anim idle models/player/idle.md5anim
}
entityDef player_doommarine
{
"spawnclass" "idPlayer"
"scriptobject" "player"
"model" "model_player"
"bone_hips" "bone"
"bone_chest" "bone"
"bone_head" "bone"
"def_weapon0" "weapon_unarmed"
"weapon0_allowempty" "1"
"weapon" "weapon_unarmed"
"current_weapon" "0"
}
entityDef player_doommarine_mp
{
"inherit" "player_doommarine"
}

16
base/default.cfg Normal file
View file

@ -0,0 +1,16 @@
//movement.
bind "w" "_forward"
bind "a" "_moveleft"
bind "d" "_moveright"
bind "s" "_back"
bind "CTRL" "_movedown"
bind "SPACE" "_moveup"
//use whatever item player is holding.
bind "MOUSE1" "_attack"
bind "F10" "quit"

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

View file

@ -0,0 +1,99 @@
!!ARBvp1.0 OPTION ARB_position_invariant ;
TEMP R0, R1, R2;
PARAM defaultTexCoord = { 0, 0.5, 0, 1 };
SUB R0, program.env[4], vertex.position;
DP3 result.texcoord[0].x, vertex.attrib[9], R0;
DP3 result.texcoord[0].y, vertex.attrib[10], R0;
DP3 result.texcoord[0].z, vertex.attrib[11], R0;
MOV result.texcoord[1], defaultTexCoord;
DP4 result.texcoord[1].x, vertex.attrib[8], program.env[10];
DP4 result.texcoord[1].y, vertex.attrib[8], program.env[11];
MOV result.texcoord[2], defaultTexCoord;
DP4 result.texcoord[2].x, vertex.position, program.env[9];
DP4 result.texcoord[3].x, vertex.position, program.env[6];
DP4 result.texcoord[3].y, vertex.position, program.env[7];
DP4 result.texcoord[3].w, vertex.position, program.env[8];
MOV result.texcoord[4], defaultTexCoord;
DP4 result.texcoord[4].x, vertex.attrib[8], program.env[12];
DP4 result.texcoord[4].y, vertex.attrib[8], program.env[13];
MOV result.texcoord[5], defaultTexCoord;
DP4 result.texcoord[5].x, vertex.attrib[8], program.env[14];
DP4 result.texcoord[5].y, vertex.attrib[8], program.env[15];
SUB R0, program.env[4], vertex.position;
DP3 R1, R0, R0;
RSQ R1, R1.x;
MUL R0, R0, R1.x;
SUB R1, program.env[5], vertex.position;
DP3 R2, R1, R1;
RSQ R2, R2.x;
MUL R1, R1, R2.x;
ADD R0, R0, R1;
DP3 result.texcoord[6].x, vertex.attrib[9], R0;
DP3 result.texcoord[6].y, vertex.attrib[10], R0;
DP3 result.texcoord[6].z, vertex.attrib[11], R0;
MAD result.color, vertex.color, program.env[16], program.env[17];
END
!!ARBfp1.0
OPTION ARB_precision_hint_fastest;
TEMP light, color, R1, R2, localNormal, specular;
PARAM subOne = { -1, -1, -1, -1 };
PARAM scaleTwo = { 2, 2, 2, 2 };
DP3 specular, fragment.texcoord[6],fragment.texcoord[6];
RSQ specular, specular.x;
MUL specular, specular.x, fragment.texcoord[6];
TEX light, fragment.texcoord[0], texture[0], CUBE;
MAD light, light, scaleTwo, subOne;
TEX localNormal, fragment.texcoord[1], texture[1], 2D;
MOV localNormal.x, localNormal.a;
MAD localNormal, localNormal, scaleTwo, subOne;
DP3 light, light, localNormal;
TXP R1, fragment.texcoord[3], texture[3], 2D;
MUL light, light, R1;
TXP R1, fragment.texcoord[2], texture[2], 2D;
MUL light, light, R1;
TEX R1, fragment.texcoord[4], texture[4], 2D;
MUL color, R1, program.env[0];
DP3 specular, specular, localNormal;
TEX R1, specular, texture[6], 2D;
MUL R1, R1, program.env[1];
TEX R2, fragment.texcoord[5], texture[5], 2D;
ADD R2, R2, R2;
MAD color, R1, R2, color;
MUL color, light, color;
MUL result.color, color, fragment.color;
END

14
base/glprogs/shadow.vp Normal file
View file

@ -0,0 +1,14 @@
!!ARBvp1.0
TEMP R0;
SUB R0, vertex.position, program.env[4];
MAD R0, R0.wwww, program.env[4], R0;
DP4 result.position.x, R0, state.matrix.mvp.row[0];
DP4 result.position.y, R0, state.matrix.mvp.row[1];
DP4 result.position.z, R0, state.matrix.mvp.row[2];
DP4 result.position.w, R0, state.matrix.mvp.row[3];
END

BIN
base/guis/assets/white.tga Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 812 B

7
base/guis/chat.gui Normal file
View file

@ -0,0 +1,7 @@
windowDef Desktop
{
rect 0, 0, 640, 480
backcolor 0, 0, 0, 0
menugui 1
}

7
base/guis/gameover.gui Normal file
View file

@ -0,0 +1,7 @@
windowDef Desktop
{
rect 0, 0, 640, 480
backcolor 0, 0, 0, 0
menugui 1
}

11
base/guis/intro.gui Normal file
View file

@ -0,0 +1,11 @@
windowDef Desktop
{
menugui 1
nocursor 0
rect 0,0,640,480
onTime 10
{
set "cmd" "startgame";
}
}

47
base/guis/mainmenu.gui Normal file
View file

@ -0,0 +1,47 @@
windowDef Desktop
{
rect 0, 0, 640, 480
backcolor 0, 1, 0, 1
menugui 1
onESC
{
set "cmd" "close" ;
}
windowDef text
{
rect 0,100,640,33
visible 1
text "Hello world"
textalign 1
textscale 2
}
windowDef startbutton
{
rect 500,300,120,40
visible 1
text "start"
textalign 1
textscale 0.7
backcolor 0,.5,1,1
onMouseEnter
{
set "startbutton::backcolor" "1 .6 0 1" ;
}
onMouseExit
{
set "startbutton::backcolor" "0 .5 1 1" ;
}
onAction
{
set "cmd" "startgame test1" ;
}
}
}

18
base/guis/map/loading.gui Normal file
View file

@ -0,0 +1,18 @@
windowDef Desktop
{
menugui 1
rect 0,0,640,480
backcolor 1,.5,0,1
visible 1
nocursor 1
windowDef text
{
rect 0,245,640,33
visible 1
text "Loading"
textalign 1
textscale 2
}
}

7
base/guis/mpmain.gui Normal file
View file

@ -0,0 +1,7 @@
windowDef Desktop
{
rect 0, 0, 640, 480
backcolor 0, 0, 0, 0
menugui 1
}

7
base/guis/mpmsgmode.gui Normal file
View file

@ -0,0 +1,7 @@
windowDef Desktop
{
rect 0, 0, 640, 480
backcolor 0, 0, 0, 0
menugui 1
}

7
base/guis/msg.gui Normal file
View file

@ -0,0 +1,7 @@
windowDef Desktop
{
rect 0, 0, 640, 480
backcolor 0, 0, 0, 0
menugui 1
}

42
base/guis/restart.gui Normal file
View file

@ -0,0 +1,42 @@
windowDef Desktop
{
rect 0, 0, 640, 480
backcolor .8, .5, .5, 1
menugui 1
windowDef text
{
rect 0,100,640,33
visible 1
text "Restart?"
textalign 1
textscale 2
}
windowDef startbutton
{
rect 500,300,120,40
visible 1
text "ok"
textalign 1
textscale 0.7
backcolor 0,.5,1,1
onMouseEnter
{
set "startbutton::backcolor" "1 .6 0 1" ;
}
onMouseExit
{
set "startbutton::backcolor" "0 .5 1 1" ;
}
onAction
{
set "cmd" "startgame test1" ;
}
}
}

7
base/guis/scoreboard.gui Normal file
View file

@ -0,0 +1,7 @@
windowDef Desktop
{
rect 0, 0, 640, 480
backcolor 0, 0, 0, 0
menugui 1
}

7
base/guis/spectate.gui Normal file
View file

@ -0,0 +1,7 @@
windowDef Desktop
{
rect 0, 0, 640, 480
backcolor 0, 0, 0, 0
menugui 1
}

7
base/guis/takenotes.gui Normal file
View file

@ -0,0 +1,7 @@
windowDef Desktop
{
rect 0, 0, 640, 480
backcolor 0, 0, 0, 0
menugui 1
}

242
base/maps/test1.cm Normal file
View file

@ -0,0 +1,242 @@
CM "1.00"
130023424
collisionModel "worldMap" {
vertices { /* numVertices = */ 32
/* 0 */ ( 1024 1024 -256 )
/* 1 */ ( -1024 1024 -256 )
/* 2 */ ( -1024 -1024 -256 )
/* 3 */ ( 1024 -1024 -256 )
/* 4 */ ( 1024 1024 -512 )
/* 5 */ ( -1024 1024 -512 )
/* 6 */ ( 1024 -1024 -512 )
/* 7 */ ( -1024 -1024 -512 )
/* 8 */ ( -1024 1024 512 )
/* 9 */ ( -1280 1024 512 )
/* 10 */ ( -1280 -1024 512 )
/* 11 */ ( -1024 -1024 512 )
/* 12 */ ( -1280 1024 -256 )
/* 13 */ ( -1280 -1024 -256 )
/* 14 */ ( 1280 1024 512 )
/* 15 */ ( 1024 1024 512 )
/* 16 */ ( 1024 -1024 512 )
/* 17 */ ( 1280 -1024 512 )
/* 18 */ ( 1280 1024 -256 )
/* 19 */ ( 1280 -1024 -256 )
/* 20 */ ( 1024 1280 512 )
/* 21 */ ( -1024 1280 512 )
/* 22 */ ( 1024 1280 -256 )
/* 23 */ ( -1024 1280 -256 )
/* 24 */ ( -1024 -1280 512 )
/* 25 */ ( 1024 -1280 512 )
/* 26 */ ( 1024 -1280 -256 )
/* 27 */ ( -1024 -1280 -256 )
/* 28 */ ( 1024 1024 768 )
/* 29 */ ( -1024 1024 768 )
/* 30 */ ( -1024 -1024 768 )
/* 31 */ ( 1024 -1024 768 )
}
edges { /* numEdges = */ 73
/* 0 */ ( 0 0 ) 0 0
/* 1 */ ( 0 1 ) 1 2
/* 2 */ ( 1 2 ) 1 2
/* 3 */ ( 2 3 ) 1 2
/* 4 */ ( 3 0 ) 1 2
/* 5 */ ( 0 4 ) 0 2
/* 6 */ ( 4 5 ) 0 2
/* 7 */ ( 5 1 ) 0 2
/* 8 */ ( 6 4 ) 0 2
/* 9 */ ( 3 6 ) 0 2
/* 10 */ ( 6 7 ) 0 2
/* 11 */ ( 7 5 ) 0 2
/* 12 */ ( 2 7 ) 0 2
/* 13 */ ( 8 9 ) 0 2
/* 14 */ ( 9 10 ) 0 2
/* 15 */ ( 10 11 ) 0 2
/* 16 */ ( 11 8 ) 1 2
/* 17 */ ( 8 1 ) 1 2
/* 18 */ ( 1 12 ) 0 2
/* 19 */ ( 12 9 ) 0 2
/* 20 */ ( 2 1 ) 1 2
/* 21 */ ( 11 2 ) 1 2
/* 22 */ ( 2 13 ) 0 2
/* 23 */ ( 13 12 ) 0 2
/* 24 */ ( 10 13 ) 0 2
/* 25 */ ( 14 15 ) 0 2
/* 26 */ ( 15 16 ) 1 2
/* 27 */ ( 16 17 ) 0 2
/* 28 */ ( 17 14 ) 0 2
/* 29 */ ( 14 18 ) 0 2
/* 30 */ ( 18 0 ) 0 2
/* 31 */ ( 0 15 ) 1 2
/* 32 */ ( 19 18 ) 0 2
/* 33 */ ( 17 19 ) 0 2
/* 34 */ ( 19 3 ) 0 2
/* 35 */ ( 3 0 ) 1 2
/* 36 */ ( 16 3 ) 1 2
/* 37 */ ( 20 21 ) 0 2
/* 38 */ ( 21 8 ) 0 2
/* 39 */ ( 8 15 ) 1 2
/* 40 */ ( 15 20 ) 0 2
/* 41 */ ( 20 22 ) 0 2
/* 42 */ ( 22 23 ) 0 2
/* 43 */ ( 23 21 ) 0 2
/* 44 */ ( 0 22 ) 0 2
/* 45 */ ( 15 0 ) 1 2
/* 46 */ ( 0 1 ) 1 2
/* 47 */ ( 1 23 ) 0 2
/* 48 */ ( 8 1 ) 1 2
/* 49 */ ( 16 11 ) 1 2
/* 50 */ ( 11 24 ) 0 2
/* 51 */ ( 24 25 ) 0 2
/* 52 */ ( 25 16 ) 0 2
/* 53 */ ( 16 3 ) 1 2
/* 54 */ ( 3 2 ) 1 2
/* 55 */ ( 2 11 ) 1 2
/* 56 */ ( 26 3 ) 0 2
/* 57 */ ( 25 26 ) 0 2
/* 58 */ ( 26 27 ) 0 2
/* 59 */ ( 27 2 ) 0 2
/* 60 */ ( 24 27 ) 0 2
/* 61 */ ( 28 29 ) 0 2
/* 62 */ ( 29 30 ) 0 2
/* 63 */ ( 30 31 ) 0 2
/* 64 */ ( 31 28 ) 0 2
/* 65 */ ( 28 15 ) 0 2
/* 66 */ ( 15 8 ) 1 2
/* 67 */ ( 8 29 ) 0 2
/* 68 */ ( 16 15 ) 1 2
/* 69 */ ( 31 16 ) 0 2
/* 70 */ ( 16 11 ) 1 2
/* 71 */ ( 11 8 ) 1 2
/* 72 */ ( 30 11 ) 0 2
}
nodes {
( 0 -1024 )
( 1 -1024 )
( 0 1024 )
( 1 1024 )
( -1 0 )
( 2 -256 )
( 2 512 )
( -1 0 )
( -1 0 )
( -1 0 )
( 1 1024 )
( 2 -256 )
( 2 512 )
( -1 0 )
( -1 0 )
( -1 0 )
( 2 512 )
( -1 0 )
( 2 -256 )
( -1 0 )
( -1 0 )
( 0 1024 )
( -1 0 )
( 2 -256 )
( 2 512 )
( -1 0 )
( -1 0 )
( -1 0 )
( 1 -1024 )
( 1 1024 )
( -1 0 )
( 2 -256 )
( 2 512 )
( -1 0 )
( -1 0 )
( -1 0 )
( -1 0 )
}
polygons /* polygonMemory = */ 2592 {
4 ( 44 -41 -40 45 ) ( 1 0 0 ) 1024 ( 1024 1024 -256 ) ( 1024 1280 512 ) "textures/walls/dev64"
4 ( -25 29 30 31 ) ( 0 1 0 ) 1024 ( 1024 1024 -256 ) ( 1280 1024 512 ) "textures/walls/dev64"
4 ( 68 -65 -64 69 ) ( 1 0 0 ) 1024 ( 1024 -1024 512 ) ( 1024 1024 768 ) "textures/walls/dev64"
4 ( 25 26 27 28 ) ( 0 0 1 ) 512 ( 1024 -1024 512 ) ( 1280 1024 512 ) "textures/walls/dev64"
4 ( -26 -31 -35 -36 ) ( -1 0 0 ) -1024 ( 1024 -1024 -256 ) ( 1024 1024 512 ) "textures/walls/dev64"
4 ( -34 -33 -27 36 ) ( 0 -1 0 ) 1024 ( 1024 -1024 -256 ) ( 1280 -1024 512 ) "textures/walls/dev64"
4 ( -30 -32 34 35 ) ( 0 0 -1 ) 256 ( 1024 -1024 -256 ) ( 1280 1024 -256 ) "textures/walls/dev64"
4 ( 32 -29 -28 33 ) ( 1 0 0 ) 1280 ( 1280 -1024 -256 ) ( 1280 1024 512 ) "textures/walls/dev64"
4 ( 8 -5 -4 9 ) ( 1 0 0 ) 1024 ( 1024 -1024 -512 ) ( 1024 1024 -256 ) "textures/walls/dev64"
4 ( -61 65 66 67 ) ( 0 1 0 ) 1024 ( -1024 1024 512 ) ( 1024 1024 768 ) "textures/walls/dev64"
4 ( 37 38 39 40 ) ( 0 0 1 ) 512 ( -1024 1024 512 ) ( 1024 1280 512 ) "textures/walls/dev64"
4 ( -38 -43 -47 -48 ) ( -1 0 0 ) 1024 ( -1024 1024 -256 ) ( -1024 1280 512 ) "textures/walls/dev64"
4 ( -46 -45 -39 48 ) ( 0 -1 0 ) -1024 ( -1024 1024 -256 ) ( 1024 1024 512 ) "textures/walls/dev64"
4 ( -42 -44 46 47 ) ( 0 0 -1 ) 256 ( -1024 1024 -256 ) ( 1024 1280 -256 ) "textures/walls/dev64"
4 ( -37 41 42 43 ) ( 0 1 0 ) 1280 ( -1024 1280 -256 ) ( 1024 1280 512 ) "textures/walls/dev64"
4 ( -1 5 6 7 ) ( 0 1 0 ) 1024 ( -1024 1024 -512 ) ( 1024 1024 -256 ) "textures/walls/dev64"
4 ( -62 -67 -71 -72 ) ( -1 0 0 ) 1024 ( -1024 -1024 512 ) ( -1024 1024 768 ) "textures/walls/dev64"
4 ( -70 -69 -63 72 ) ( 0 -1 0 ) 1024 ( -1024 -1024 512 ) ( 1024 -1024 768 ) "textures/walls/dev64"
4 ( -66 -68 70 71 ) ( 0 0 -1 ) -512 ( -1024 -1024 512 ) ( 1024 1024 512 ) "textures/walls/dev64"
4 ( 61 62 63 64 ) ( 0 0 1 ) 768 ( -1024 -1024 768 ) ( 1024 1024 768 ) "textures/walls/dev64"
4 ( -49 53 54 55 ) ( 0 1 0 ) -1024 ( -1024 -1024 -256 ) ( 1024 -1024 512 ) "textures/walls/dev64"
4 ( 20 -17 -16 21 ) ( 1 0 0 ) -1024 ( -1024 -1024 -256 ) ( -1024 1024 512 ) "textures/walls/dev64"
4 ( 1 2 3 4 ) ( 0 0 1 ) -256 ( -1024 -1024 -256 ) ( 1024 1024 -256 ) "textures/walls/dev64"
4 ( -2 -7 -11 -12 ) ( -1 0 0 ) 1024 ( -1024 -1024 -512 ) ( -1024 1024 -256 ) "textures/walls/dev64"
4 ( -10 -9 -3 12 ) ( 0 -1 0 ) 1024 ( -1024 -1024 -512 ) ( 1024 -1024 -256 ) "textures/walls/dev64"
4 ( -6 -8 10 11 ) ( 0 0 -1 ) 512 ( -1024 -1024 -512 ) ( 1024 1024 -512 ) "textures/walls/dev64"
4 ( 56 -53 -52 57 ) ( 1 0 0 ) 1024 ( 1024 -1280 -256 ) ( 1024 -1024 512 ) "textures/walls/dev64"
4 ( 49 50 51 52 ) ( 0 0 1 ) 512 ( -1024 -1280 512 ) ( 1024 -1024 512 ) "textures/walls/dev64"
4 ( -50 -55 -59 -60 ) ( -1 0 0 ) 1024 ( -1024 -1280 -256 ) ( -1024 -1024 512 ) "textures/walls/dev64"
4 ( -58 -57 -51 60 ) ( 0 -1 0 ) 1280 ( -1024 -1280 -256 ) ( 1024 -1280 512 ) "textures/walls/dev64"
4 ( -54 -56 58 59 ) ( 0 0 -1 ) 256 ( -1024 -1280 -256 ) ( 1024 -1024 -256 ) "textures/walls/dev64"
4 ( -13 17 18 19 ) ( 0 1 0 ) 1024 ( -1280 1024 -256 ) ( -1024 1024 512 ) "textures/walls/dev64"
4 ( 13 14 15 16 ) ( 0 0 1 ) 512 ( -1280 -1024 512 ) ( -1024 1024 512 ) "textures/walls/dev64"
4 ( -14 -19 -23 -24 ) ( -1 0 0 ) 1280 ( -1280 -1024 -256 ) ( -1280 1024 512 ) "textures/walls/dev64"
4 ( -22 -21 -15 24 ) ( 0 -1 0 ) 1024 ( -1280 -1024 -256 ) ( -1024 -1024 512 ) "textures/walls/dev64"
4 ( -18 -20 22 23 ) ( 0 0 -1 ) 256 ( -1280 -1024 -256 ) ( -1024 1024 -256 ) "textures/walls/dev64"
}
brushes /* brushMemory = */ 840 {
6 {
( 0 0 1 ) 512
( 0 1 0 ) 1024
( 1 0 0 ) 1280
( 0 0 -1 ) 256
( 0 -1 0 ) 1024
( -1 0 0 ) -1024
} ( 1024 -1024 -256 ) ( 1280 1024 512 ) "solid,opaque"
6 {
( 0 0 1 ) 512
( 0 1 0 ) 1280
( 1 0 0 ) 1024
( 0 0 -1 ) 256
( 0 -1 0 ) -1024
( -1 0 0 ) 1024
} ( -1024 1024 -256 ) ( 1024 1280 512 ) "solid,opaque"
6 {
( 0 0 1 ) 768
( 0 1 0 ) 1024
( 1 0 0 ) 1024
( 0 0 -1 ) -512
( 0 -1 0 ) 1024
( -1 0 0 ) 1024
} ( -1024 -1024 512 ) ( 1024 1024 768 ) "solid,opaque"
6 {
( 0 0 1 ) -256
( 0 1 0 ) 1024
( 1 0 0 ) 1024
( 0 0 -1 ) 512
( 0 -1 0 ) 1024
( -1 0 0 ) 1024
} ( -1024 -1024 -512 ) ( 1024 1024 -256 ) "solid,opaque"
6 {
( 0 0 1 ) 512
( 0 1 0 ) -1024
( 1 0 0 ) 1024
( 0 0 -1 ) 256
( 0 -1 0 ) 1280
( -1 0 0 ) 1024
} ( -1024 -1280 -256 ) ( 1024 -1024 512 ) "solid,opaque"
6 {
( 0 0 1 ) 512
( 0 1 0 ) 1024
( 1 0 0 ) -1024
( 0 0 -1 ) 256
( 0 -1 0 ) 1024
( -1 0 0 ) 1280
} ( -1280 -1024 -256 ) ( -1024 1024 512 ) "solid,opaque"
}
}

99
base/maps/test1.map Normal file
View file

@ -0,0 +1,99 @@
Version 2
// entity 0
{
"classname" "worldspawn"
"editor_drLastCameraPos" "-582.783 565.165 177.984"
"editor_drLastCameraAngle" "5.7 340.8 0"
// primitive 0
{
brushDef3
{
( 0 0 1 256 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/walls/dev64" 0 0 0
( 0 1 0 -1024 ) ( ( 0.015625 0 0 ) ( 0 0.015625 56 ) ) "textures/walls/dev64" 0 0 0
( 1 0 0 -1024 ) ( ( 0.015625 0 0 ) ( 0 0.015625 56 ) ) "textures/walls/dev64" 0 0 0
( 0 0 -1 -512 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/walls/dev64" 0 0 0
( 0 -1 0 -1024 ) ( ( 0.015625 0 0 ) ( 0 0.015625 56 ) ) "textures/walls/dev64" 0 0 0
( -1 0 0 -1024 ) ( ( 0.015625 0 0 ) ( 0 0.015625 56 ) ) "textures/walls/dev64" 0 0 0
}
}
// primitive 1
{
brushDef3
{
( 0 0 1 -512 ) ( ( 0.015625 0 0 ) ( 0 0.015625 32 ) ) "textures/walls/dev64" 0 0 0
( 0 1 0 -1024 ) ( ( 0.015625 0 60 ) ( 0 0.015625 60 ) ) "textures/walls/dev64" 0 0 0
( 1 0 0 1024 ) ( ( 0.015625 0 0 ) ( 0 0.015625 4 ) ) "textures/walls/dev64" 0 0 0
( 0 0 -1 -256 ) ( ( 0.015625 0 0 ) ( 0 0.015625 60 ) ) "textures/walls/dev64" 0 0 0
( 0 -1 0 -1024 ) ( ( 0.015625 0 4 ) ( 0 0.015625 60 ) ) "textures/walls/dev64" 0 0 0
( -1 0 0 -1280 ) ( ( 0.015625 0 0 ) ( 0 0.015625 60 ) ) "textures/walls/dev64" 0 0 0
}
}
// primitive 2
{
brushDef3
{
( 0 0 1 -512 ) ( ( 0.015625 0 0 ) ( 0 0.015625 60 ) ) "textures/walls/dev64" 0 0 0
( 0 1 0 -1024 ) ( ( 0.015625 0 32 ) ( 0 0.015625 60 ) ) "textures/walls/dev64" 0 0 0
( 1 0 0 -1280 ) ( ( 0.015625 0 0 ) ( 0 0.015625 4 ) ) "textures/walls/dev64" 0 0 0
( 0 0 -1 -256 ) ( ( 0.015625 0 0 ) ( 0 0.015625 32 ) ) "textures/walls/dev64" 0 0 0
( 0 -1 0 -1024 ) ( ( 0.015625 0 32 ) ( 0 0.015625 60 ) ) "textures/walls/dev64" 0 0 0
( -1 0 0 1024 ) ( ( 0.015625 0 0 ) ( 0 0.015625 60 ) ) "textures/walls/dev64" 0 0 0
}
}
// primitive 3
{
brushDef3
{
( 0 0 1 -512 ) ( ( 0.015625 0 60 ) ( 0 0.015625 28 ) ) "textures/walls/dev64" 0 0 0
( 0 1 0 -1280 ) ( ( 0.015625 0 0 ) ( 0 0.015625 60 ) ) "textures/walls/dev64" 0 0 0
( 1 0 0 -1024 ) ( ( 0.015625 0 32 ) ( 0 0.015625 4 ) ) "textures/walls/dev64" 0 0 0
( 0 0 -1 -256 ) ( ( 0.015625 0 60 ) ( 0 0.015625 0 ) ) "textures/walls/dev64" 0 0 0
( 0 -1 0 1024 ) ( ( 0.015625 0 36 ) ( 0 0.015625 60 ) ) "textures/walls/dev64" 0 0 0
( -1 0 0 -1024 ) ( ( 0.015625 0 4 ) ( 0 0.015625 60 ) ) "textures/walls/dev64" 0 0 0
}
}
// primitive 4
{
brushDef3
{
( 0 0 1 -512 ) ( ( 0.015625 0 32 ) ( 0 0.015625 28 ) ) "textures/walls/dev64" 0 0 0
( 0 1 0 1024 ) ( ( 0.015625 0 0 ) ( 0 0.015625 60 ) ) "textures/walls/dev64" 0 0 0
( 1 0 0 -1024 ) ( ( 0.015625 0 4 ) ( 0 0.015625 4 ) ) "textures/walls/dev64" 0 0 0
( 0 0 -1 -256 ) ( ( 0.015625 0 32 ) ( 0 0.015625 0 ) ) "textures/walls/dev64" 0 0 0
( 0 -1 0 -1280 ) ( ( 0.015625 0 36 ) ( 0 0.015625 60 ) ) "textures/walls/dev64" 0 0 0
( -1 0 0 -1024 ) ( ( 0.015625 0 32 ) ( 0 0.015625 60 ) ) "textures/walls/dev64" 0 0 0
}
}
// primitive 5
{
brushDef3
{
( 0 0 1 -768 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/walls/dev64" 0 0 0
( 0 1 0 -1024 ) ( ( 0.015625 0 0 ) ( 0 0.015625 8 ) ) "textures/walls/dev64" 0 0 0
( 1 0 0 -1024 ) ( ( 0.015625 0 0 ) ( 0 0.015625 8 ) ) "textures/walls/dev64" 0 0 0
( 0 0 -1 512 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/walls/dev64" 0 0 0
( 0 -1 0 -1024 ) ( ( 0.015625 0 0 ) ( 0 0.015625 8 ) ) "textures/walls/dev64" 0 0 0
( -1 0 0 -1024 ) ( ( 0.015625 0 0 ) ( 0 0.015625 8 ) ) "textures/walls/dev64" 0 0 0
}
}
}
// entity 1
{
"classname" "light"
"name" "light_1"
"origin" "384 0 256"
"light_center" "0 0 0"
"light_radius" "1728 2112 1600"
"_color" "0.63 0.63 0.63"
"nodiffuse" "0"
"noshadows" "0"
"nospecular" "0"
"parallel" "0"
}
// entity 2
{
"classname" "info_player_start"
"name" "info_player_start_1"
"origin" "0 -256 -256"
"angle" "90"
}

19
base/maps/test1.proc Normal file
View file

@ -0,0 +1,19 @@
mapProcFile003
model { /* name = */ "_area0" /* numSurfaces = */ 1
/* surface 0 */ { "textures/walls/dev64" /* numVerts = */ 24 /* numIndexes = */ 36
( -1024 1024 -256 16 -16 0 0 1 ) ( 1024 1024 -256 16 16 0 0 1 ) ( 1024 -1024 -256 -16 16 0 0 1 )
( -1024 -1024 -256 -16 -16 0 0 1 ) ( -1024 -1024 512 -16 -8 1 0 0 ) ( -1024 1024 512 16 -8 1 0 0 )
( -1024 1024 -256 16 4 1 0 0 ) ( -1024 -1024 -256 -16 4 1 0 0 ) ( 1024 -1024 512 16 -8 -1 0 0 )
( 1024 1024 -256 -16 4 -1 0 0 ) ( 1024 1024 512 -16 -8 -1 0 0 ) ( 1024 -1024 -256 16 4 -1 0 0 )
( -1024 1024 512 -16 -8 0 -1 0 ) ( 1024 1024 512 16 -8 0 -1 0 ) ( 1024 1024 -256 16 4 0 -1 0 )
( -1024 1024 -256 -16 4 0 -1 0 ) ( -1024 -1024 512 16 -8 0 1 0 ) ( 1024 -1024 -256 -16 4 0 1 0 )
( 1024 -1024 512 -16 -8 0 1 0 ) ( -1024 -1024 -256 16 4 0 1 0 ) ( -1024 1024 512 16 16 0 0 -1 )
( 1024 -1024 512 -16 -16 0 0 -1 ) ( 1024 1024 512 16 -16 0 0 -1 ) ( -1024 -1024 512 -16 16 0 0 -1 )
0 1 2 3 0 2 4 5 6 7 4 6 8 9 10 11 9 8
12 13 14 15 12 14 16 17 18 19 17 16 20 21 22 23 21 20
}
}

101
base/materials/engine.mtr Normal file
View file

@ -0,0 +1,101 @@
_default
{
{
map _default
}
}
_tracemodel
{
collision
}
textures/common/collision
{
qer_editorimage textures/common/collision.tga
noshadows
collision
}
console
{
{
map textures/gui/black.tga
linear
}
}
splashscreen
{
{
map textures/gui/black.tga
linear
}
}
gui/loading/launch
{
{
blend blend
map textures/gui/black.tga
}
}
textures/bigchars
{
{
blend blend
maskDepth
colored
nopicmip
linear
map textures/bigchars.tga
}
}
//fade to black. length determined by com_wipeSeconds
wipeMaterial
{
{
blend blend
alpha parm3
map _black
scale 1, -1
translate 0, -1
}
}
wipe2Material
{
{
blend blend
map _black
scale 1, -1
translate 0, -1
alpha 1.0 - parm3
}
}
textures/common/entityGui
{
qer_editorimage textures/common/entityGui.tga
discrete
playerclip
guiSurf entity
}
textures/common/entityGui2
{
qer_editorimage textures/common/entityGui2.tga
discrete
playerclip
guiSurf entity2
}
textures/common/entityGui3
{
qer_editorimage textures/common/entityGui3.tga
discrete
guiSurf entity3
playerclip
}

22
base/materials/lights.mtr Normal file
View file

@ -0,0 +1,22 @@
lights/defaultProjectedLight
{
lightFalloffImage _noFalloff
{
forceHighQuality
map textures/lights/light.tga
colored
zeroClamp
}
}
lights/defaultPointLight
{
lightFalloffImage makeintensity(textures/lights/lighta.tga)
{
forceHighQuality
map textures/lights/light.tga
colored
zeroClamp
}
}

4
base/materials/walls.mtr Normal file
View file

@ -0,0 +1,4 @@
textures/walls/dev64
{
diffusemap textures/walls/dev64
}

View file

@ -0,0 +1,33 @@
MD5Version 10 // Parameters used during export: Reorient: False; Scale: 1.0
commandline ""
numFrames 2
numJoints 2
frameRate 30
numAnimatedComponents 12
hierarchy {
"origin" -1 63 0 //
"bone" 0 63 6 //
}
bounds {
( -11.0000000000 -11.0000000000 -10.0000000000 ) ( 11.0000000000 11.0000000000 12.0000000000 )
( -11.0000000000 -11.0000000000 -10.0000000000 ) ( 11.0000000000 11.0000000000 12.0000000000 )
}
baseframe {
( 0.0000000000 0.0000000000 0.0000000000 ) ( -0.7071068287 -0.0000000000 -0.0000000000 )
( 0.0000000000 1.0000000000 0.0000000000 ) ( -0.0000000000 -0.0000000000 -0.0000000000 )
}
frame 0 {
0.0000000000 0.0000000000 0.0000000000 -0.7071068287 -0.0000000000 -0.0000000000
0.0000000000 1.0000000000 0.0000000000 -0.0000000000 -0.0000000000 -0.0000000000
}
frame 1 {
0.0000000000 0.0000000000 0.0000000000 -0.7071068287 -0.0000000000 -0.0000000000
0.0000000000 1.0000000000 0.0000000000 -0.0000000000 -0.0000000000 -0.0000000000
}

View file

@ -0,0 +1,79 @@
MD5Version 10 // Parameters used during export: Reorient: False; Scale: 1.0
commandline ""
numJoints 2
numMeshes 1
joints {
"origin" -1 ( 0.0000000000 0.0000000000 0.0000000000 ) ( -0.7071068287 -0.0000000000 -0.0000000000 )
"bone" 0 ( 0.0000000000 0.0000000000 1.0000000000 ) ( -0.7071068287 -0.0000000000 -0.0000000000 )
}
mesh {
// Cube
shader "textures/walls/dev64"
numverts 24
vert 0 ( 0.0000000000 0.0000000000 ) 0 1
vert 1 ( 1.0000000000 0.0000000000 ) 1 1
vert 2 ( 0.0000000000 1.0000000000 ) 2 1
vert 3 ( 1.0000000000 1.0000000000 ) 3 1
vert 4 ( 1.0000000000 0.0000000000 ) 4 1
vert 5 ( 0.0000000000 0.0000000000 ) 5 1
vert 6 ( 1.0000000000 1.0000000000 ) 6 1
vert 7 ( 0.0000000000 1.0000000000 ) 7 1
vert 8 ( 0.0000000000 1.0000000000 ) 8 1
vert 9 ( 1.0000000000 1.0000000000 ) 9 1
vert 10 ( 0.0000000000 0.0000000000 ) 10 1
vert 11 ( 0.0000000000 0.0000000000 ) 11 1
vert 12 ( 0.0000000000 1.0000000000 ) 12 1
vert 13 ( 1.0000000000 0.0000000000 ) 13 1
vert 14 ( 1.0000000000 1.0000000000 ) 14 1
vert 15 ( 0.0000000000 0.0000000000 ) 15 1
vert 16 ( 0.0000000000 1.0000000000 ) 16 1
vert 17 ( 1.0000000000 0.0000000000 ) 17 1
vert 18 ( 1.0000000000 1.0000000000 ) 18 1
vert 19 ( 0.0000000000 0.0000000000 ) 19 1
vert 20 ( 1.0000000000 0.0000000000 ) 20 1
vert 21 ( 0.0000000000 1.0000000000 ) 21 1
vert 22 ( 1.0000000000 0.0000000000 ) 22 1
vert 23 ( 1.0000000000 1.0000000000 ) 23 1
numtris 12
tri 0 8 10 9
tri 1 21 15 23
tri 2 16 11 18
tri 3 12 19 14
tri 4 2 0 6
tri 5 7 5 3
tri 6 10 22 9
tri 7 15 17 23
tri 8 11 13 18
tri 9 19 20 14
tri 10 0 4 6
tri 11 5 1 3
numweights 24
weight 0 0 1.0000000000 ( -1.0000000000 0.0000000000 1.0000000000 )
weight 1 1 1.0000000000 ( -1.0000000000 1.0000000000 1.0000000000 )
weight 2 0 1.0000000000 ( -1.0000000000 0.0000000000 -1.0000000000 )
weight 3 1 1.0000000000 ( -1.0000000000 1.0000000000 -1.0000000000 )
weight 4 0 1.0000000000 ( 1.0000000000 0.0000000000 1.0000000000 )
weight 5 1 1.0000000000 ( 1.0000000000 1.0000000000 1.0000000000 )
weight 6 0 1.0000000000 ( 1.0000000000 0.0000000000 -1.0000000000 )
weight 7 1 1.0000000000 ( 1.0000000000 1.0000000000 -1.0000000000 )
weight 8 0 1.0000000000 ( -1.0000000000 0.0000000000 1.0000000000 )
weight 9 1 1.0000000000 ( -1.0000000000 1.0000000000 1.0000000000 )
weight 10 0 1.0000000000 ( -1.0000000000 0.0000000000 -1.0000000000 )
weight 11 0 1.0000000000 ( 1.0000000000 0.0000000000 1.0000000000 )
weight 12 0 1.0000000000 ( 1.0000000000 0.0000000000 1.0000000000 )
weight 13 1 1.0000000000 ( 1.0000000000 1.0000000000 1.0000000000 )
weight 14 1 1.0000000000 ( 1.0000000000 1.0000000000 1.0000000000 )
weight 15 0 1.0000000000 ( 1.0000000000 0.0000000000 -1.0000000000 )
weight 16 0 1.0000000000 ( 1.0000000000 0.0000000000 -1.0000000000 )
weight 17 1 1.0000000000 ( 1.0000000000 1.0000000000 -1.0000000000 )
weight 18 1 1.0000000000 ( 1.0000000000 1.0000000000 -1.0000000000 )
weight 19 0 1.0000000000 ( -1.0000000000 0.0000000000 1.0000000000 )
weight 20 1 1.0000000000 ( -1.0000000000 1.0000000000 1.0000000000 )
weight 21 0 1.0000000000 ( -1.0000000000 0.0000000000 -1.0000000000 )
weight 22 1 1.0000000000 ( -1.0000000000 1.0000000000 -1.0000000000 )
weight 23 1 1.0000000000 ( -1.0000000000 1.0000000000 -1.0000000000 )
}

View file

View file

@ -0,0 +1,404 @@
scriptEvent void remove();
scriptEvent string getName();
scriptEvent void setName( string name );
scriptEvent void activate( entity activator );
scriptEvent void activateTargets( entity activator );
scriptEvent float numTargets();
scriptEvent entity getTarget( float num );
scriptEvent entity randomTarget( string ignoreName );
scriptEvent void bind( entity master );
scriptEvent void bindPosition( entity master );
scriptEvent void bindToJoint( entity master, string boneName, float rotateWithMaster );
scriptEvent void unbind();
scriptEvent void removeBinds();
scriptEvent void setOwner( entity owner );
scriptEvent void setModel( string modelName );
scriptEvent void setSkin( string skinName );
scriptEvent vector getWorldOrigin();
scriptEvent void setWorldOrigin( vector origin );
scriptEvent vector getOrigin();
scriptEvent void setOrigin( vector origin );
scriptEvent vector getAngles();
scriptEvent void setAngles( vector angles );
scriptEvent vector getLinearVelocity();
scriptEvent void setLinearVelocity( vector velocity );
scriptEvent vector getAngularVelocity();
scriptEvent void setAngularVelocity( vector velocity );
scriptEvent vector getSize();
scriptEvent void setSize( vector min, vector max );
scriptEvent vector getMins();
scriptEvent vector getMaxs();
scriptEvent float isHidden();
scriptEvent void hide();
scriptEvent void show();
scriptEvent float touches( entity other );
scriptEvent void clearSignal( float signalNum );
scriptEvent float getShaderParm( float parm );
scriptEvent void setShaderParm( float parm, float value );
scriptEvent void setShaderParms( float parm0, float parm1, float parm2, float parm3 );
scriptEvent void setColor( float red, float green, float blue );
scriptEvent vector getColor();
scriptEvent void cacheSoundShader( string shaderName );
scriptEvent float startSoundShader( string shaderName, float channel );
scriptEvent void stopSound( float channel, float netSync );
scriptEvent float startSound( string sound, float channel, float netSync );
scriptEvent void fadeSound( float channel, float newLevel, float fadeTime );
scriptEvent void setGuiParm( string key, string value );
scriptEvent void setGuiFloat( string key, float value );
scriptEvent string getNextKey( string prefix, string lastMatch );
scriptEvent void setKey( string key, string value );
scriptEvent string getKey( string key );
scriptEvent float getIntKey( string key );
scriptEvent float getFloatKey( string key );
scriptEvent vector getVectorKey( string key );
scriptEvent entity getEntityKey( string key );
scriptEvent void restorePosition();
scriptEvent float distanceTo( entity other );
scriptEvent float distanceToPoint( vector point );
scriptEvent void startFx( string fx );
scriptEvent void waitFrame();
scriptEvent void wait( float time );
scriptEvent float hasFunction( string functionName );
scriptEvent void callFunction( string functionName );
scriptEvent void setNeverDormant( float enable );
scriptEvent void terminate( float threadNumber );
scriptEvent void pause();
scriptEvent void waitFor( entity mover );
scriptEvent void waitForThread( float threadNumber );
scriptEvent void print( string text );
scriptEvent void println( string text );
scriptEvent void say( string text );
scriptEvent void assert( float condition );
scriptEvent void trigger( entity entityToTrigger );
scriptEvent void setcvar( string name, string value );
scriptEvent string getcvar( string name );
scriptEvent float random( float range );
scriptEvent float getTime();
scriptEvent void killthread( string threadName );
scriptEvent void threadname( string name );
scriptEvent entity getEntity( string name );
scriptEvent entity spawn( string classname );
scriptEvent void respawn( );
scriptEvent void copySpawnArgs( entity ent );
scriptEvent void setSpawnArg( string key, string value );
scriptEvent string SpawnString( string key, string default );
scriptEvent float SpawnFloat( string key, float default );
scriptEvent vector SpawnVector( string key, vector default );
scriptEvent void clearPersistantArgs();
scriptEvent void setPersistantArg( string key, string value );
scriptEvent string getPersistantString( string key );
scriptEvent float getPersistantFloat( string key );
scriptEvent vector getPersistantVector( string key );
scriptEvent vector angToForward( vector angles );
scriptEvent vector angToRight( vector angles );
scriptEvent vector angToUp( vector angles );
scriptEvent float sin( float degrees );
scriptEvent float cos( float degrees );
scriptEvent float sqrt( float square );
scriptEvent vector vecNormalize( vector vec );
scriptEvent float vecLength( vector vec );
scriptEvent float DotProduct( vector vec1, vector vec2 );
scriptEvent vector CrossProduct( vector vec1, vector vec2 );
scriptEvent vector VecToAngles( vector vec );
scriptEvent void onSignal( float signalNum, entity ent, string functionName );
scriptEvent void clearSignalThread( float signalNum, entity ent );
scriptEvent void setCamera( entity cameraEnt );
scriptEvent void firstPerson();
scriptEvent float trace( vector start, vector end, vector mins, vector maxs, float contents_mask, entity passEntity );
scriptEvent float tracePoint( vector start, vector end, float contents_mask, entity passEntity );
scriptEvent float getTraceFraction();
scriptEvent vector getTraceEndPos();
scriptEvent vector getTraceNormal();
scriptEvent entity getTraceEntity();
scriptEvent string getTraceJoint();
scriptEvent string getTraceBody();
scriptEvent void fadeIn( vector color, float time );
scriptEvent void fadeOut( vector color, float time );
scriptEvent void fadeTo( vector color, float alpha, float time );
scriptEvent void music( string shaderName );
scriptEvent void error( string text );
scriptEvent void warning( string text );
scriptEvent float strLength( string text );
scriptEvent string strLeft( string text, float num );
scriptEvent string strRight( string text, float num );
scriptEvent string strSkip( string text, float num );
scriptEvent string strMid( string text, float start, float num );
scriptEvent float strToFloat( string text );
scriptEvent void radiusDamage( vector origin, entity inflictor, entity attacker, entity ignore, string damageDefName, float dmgPower );
scriptEvent float isClient();
scriptEvent float isMultiplayer();
scriptEvent float getFrameTime();
scriptEvent float getTicsPerSecond();
scriptEvent void cacheSoundShader( string shaderName );
scriptEvent void debugLine( vector color, vector start, vector end, float lifetime );
scriptEvent void debugArrow( vector color, vector start, vector end, float size, float lifetime );
scriptEvent void debugCircle( vector color, vector origin, vector dir, float radius, float numSteps, float lifetime );
scriptEvent void debugBounds( vector color, vector mins, vector maxs, float lifetime );
scriptEvent void drawText( string text, vector origin, float scale, vector color, float align, float lifetime );
scriptEvent void start();
scriptEvent void stop();
scriptEvent void setShader( string shader );
scriptEvent float getLightParm( float parmNum );
scriptEvent void setLightParm( float parmNum, float value );
scriptEvent void setLightParms( float parm0, float parm1, float parm2, float parm3 );
scriptEvent void setRadiusXYZ( float x, float y, float z );
scriptEvent void setRadius( float radius );
scriptEvent void On();
scriptEvent void Off();
scriptEvent void fadeOutLight( float time );
scriptEvent void fadeInLight( float time );
scriptEvent void Toggle();
scriptEvent void launchMissiles( string projectilename, string sound, string launchbone, string targetbone, float numshots, float framedelay );
scriptEvent void startRagdoll();
scriptEvent void leftFoot();
scriptEvent void rightFoot();
scriptEvent void stopMoving();
scriptEvent void stopRotating();
scriptEvent void speed( float speed );
scriptEvent void time( float time );
scriptEvent void decelTime( float time );
scriptEvent void accelTime( float time );
scriptEvent void moveTo( entity targetEntity );
scriptEvent void moveToPos( vector pos );
scriptEvent void move( float angle, float distance );
scriptEvent void accelTo( float speed, float time );
scriptEvent void decelTo( float speed, float time );
scriptEvent void rotateDownTo( float axis, float angle );
scriptEvent void rotateUpTo( float axis, float angle );
scriptEvent void rotateTo( vector angles );
scriptEvent void rotate( vector angleSpeed );
scriptEvent void rotateOnce( vector angles );
scriptEvent void bob( float speed, float phase, vector distance );
scriptEvent void sway( float speed, float phase, vector angles );
scriptEvent void openPortal();
scriptEvent void closePortal();
scriptEvent void accelSound( string sound );
scriptEvent void decelSound( string sound );
scriptEvent void moveSound( string sound );
scriptEvent void enableSplineAngles();
scriptEvent void disableSplineAngles();
scriptEvent void removeInitialSplineAngles();
scriptEvent void startSpline( entity spline );
scriptEvent void stopSpline();
scriptEvent float isMoving();
scriptEvent float isRotating();
scriptEvent void enable();
scriptEvent void disable();
scriptEvent void open();
scriptEvent void close();
scriptEvent void lock( float locked );
scriptEvent float isOpen();
scriptEvent float isLocked();
scriptEvent void setFingerAngle( float angle );
scriptEvent void stopFingers();
scriptEvent void becomeNonSolid();
scriptEvent float isAtRest();
scriptEvent void enableDamage( float enable );
scriptEvent float getJointHandle( string jointname );
scriptEvent void clearAllJoints();
scriptEvent void clearJoint( float jointnum );
scriptEvent void setJointPos( float jointnum, float transform_type, vector pos );
scriptEvent void setJointAngle( float jointnum, float transform_type, vector angles );
scriptEvent vector getJointPos( float jointnum );
scriptEvent vector getJointAngle( float jointnum );
scriptEvent entity getOwner();
scriptEvent void nextWeapon();
scriptEvent void weaponState( string stateFunction, float blendFrames );
scriptEvent void useAmmo( float amount );
scriptEvent void addToClip( float amount );
scriptEvent float ammoInClip();
scriptEvent float ammoAvailable();
scriptEvent float totalAmmoCount();
scriptEvent float clipSize();
scriptEvent float isInvisible();
scriptEvent float playAnim( float channel, string animName );
scriptEvent float playCycle( float channel, string animName );
scriptEvent float animDone( float channel, float blendOutFrames );
scriptEvent void setBlendFrames( float channel, float blendFrame );
scriptEvent float getBlendFrames( float channel );
scriptEvent void weaponReady();
scriptEvent void weaponOutOfAmmo();
scriptEvent void weaponReloading();
scriptEvent void weaponHolstered();
scriptEvent void weaponRising();
scriptEvent void weaponLowering();
scriptEvent void flashlight( float enable );
scriptEvent void launchProjectiles( float num_projectiles, float spread, float fuseOffset, float launchPower, float dmgPower );
scriptEvent entity createProjectile();
scriptEvent float melee();
scriptEvent void setLightParm( float parmNum, float value );
scriptEvent void setLightParms( float parm0, float parm1, float parm2, float parm3 );
scriptEvent entity getWorldModel();
scriptEvent float getProjectileState();
scriptEvent void markUsed();
scriptEvent void SetConstraintPosition( string constraintName, vector position );
scriptEvent void enableEyeFocus();
scriptEvent void disableEyeFocus();
scriptEvent void leftFoot();
scriptEvent void rightFoot();
scriptEvent void stopAnim( float channel, float frames );
scriptEvent float playAnim( float channel, string animName );
scriptEvent float playCycle( float channel, string animName );
scriptEvent float idleAnim( float channel, string animName );
scriptEvent void setSyncedAnimWeight( float channel, float animindex, float weight );
scriptEvent void setBlendFrames( float channel, float blendFrame );
scriptEvent float getBlendFrames( float channel );
scriptEvent void animState( float channel, string stateFunction, float blendFrame );
scriptEvent string getAnimState( float channel );
scriptEvent float inAnimState( float channel, string stateFunc );
scriptEvent void finishAction( string action );
scriptEvent float animDone( float channel, float blendOutFrames );
scriptEvent void overrideAnim( float channel );
scriptEvent void preventPain( float duration );
scriptEvent void enableAnim( float channel, float blendFrames );
scriptEvent void disablePain();
scriptEvent void enablePain();
scriptEvent string getPainAnim();
scriptEvent void setAnimPrefix( string prefix );
scriptEvent float hasAnim( float channel, string animName );
scriptEvent void checkAnim( float channel, string animName );
scriptEvent string chooseAnim( float channel, string animName );
scriptEvent float animLength( float channel, string animName );
scriptEvent float animDistance( float channel, string animName );
scriptEvent float hasEnemies();
scriptEvent entity nextEnemy( entity lastEnemy );
scriptEvent entity closestEnemyToPoint( vector point );
scriptEvent void setNextState( string stateFunc );
scriptEvent void setState( string stateFunc );
scriptEvent string getState();
scriptEvent entity getHead();
scriptEvent float getButtons();
scriptEvent vector getMove();
scriptEvent vector getViewAngles();
scriptEvent void enableWeapon();
scriptEvent void disableWeapon();
scriptEvent string getCurrentWeapon();
scriptEvent string getPreviousWeapon();
scriptEvent void selectWeapon( string weapon );
scriptEvent entity getWeaponEntity();
scriptEvent string getIdealWeapon();
scriptEvent entity randomPath();
scriptEvent entity findEnemy( float onlyInFov );
scriptEvent entity findEnemyAI( float onlyInFov );
scriptEvent entity findEnemyInCombatNodes();
scriptEvent entity closestReachableEnemyOfEntity( entity team_mate );
scriptEvent entity heardSound( float ignore_team );
scriptEvent void setEnemy( entity enemy );
scriptEvent void clearEnemy();
scriptEvent void muzzleFlash( string jointname );
scriptEvent entity createMissile( string jointname );
scriptEvent entity attackMissile( string jointname );
scriptEvent entity fireMissileAtTarget( string jointname, string targetname );
scriptEvent entity launchMissile( vector origin, vector angles );
scriptEvent float attackMelee( string damageDef );
scriptEvent void directDamage( entity damageTarget, string damageDef );
scriptEvent void radiusDamageFromJoint( string jointname, string damageDef );
scriptEvent void attackBegin( string damageDef );
scriptEvent void attackEnd();
scriptEvent float meleeAttackToJoint( string joint, string damageDef );
scriptEvent entity randomPath();
scriptEvent float canBecomeSolid();
scriptEvent void becomeSolid();
scriptEvent void becomeNonSolid();
scriptEvent float becomeRagdoll();
scriptEvent void stopRagdoll();
scriptEvent void setHealth( float health );
scriptEvent float getHealth();
scriptEvent void allowDamage();
scriptEvent void ignoreDamage();
scriptEvent float getCurrentYaw();
scriptEvent void turnTo( float yaw );
scriptEvent void turnToPos( vector pos );
scriptEvent void turnToEntity( entity ent );
scriptEvent float moveStatus();
scriptEvent void stopMove();
scriptEvent void moveToCover();
scriptEvent void moveToEnemy();
scriptEvent void moveToEnemyHeight();
scriptEvent void moveOutOfRange( entity ent, float range );
scriptEvent void moveToAttackPosition( entity ent, string attack_anim );
scriptEvent void wander();
scriptEvent void moveToEntity( entity destination );
scriptEvent void moveToPosition( vector position );
scriptEvent void slideTo( vector position, float time );
scriptEvent float facingIdeal();
scriptEvent void faceEnemy();
scriptEvent void faceEntity( entity ent );
scriptEvent entity getCombatNode();
scriptEvent float enemyInCombatCone( entity combatNode, float use_current_enemy_location );
scriptEvent void waitMove();
scriptEvent vector getJumpVelocity( vector pos, float speed, float max_jump_height );
scriptEvent float entityInAttackCone( entity ent );
scriptEvent float canSee( entity ent );
scriptEvent float enemyRange();
scriptEvent float enemyRange2D();
scriptEvent void setTalkTarget( entity target );
scriptEvent entity getTalkTarget();
scriptEvent entity getEnemy();
scriptEvent vector getEnemyPos();
scriptEvent vector getEnemyEyePos();
scriptEvent vector predictEnemyPos( float time );
scriptEvent float canHitEnemy();
scriptEvent float canHitEnemyFromAnim( string anim );
scriptEvent float canHitEnemyFromJoint( string jointname );
scriptEvent float enemyPositionValid();
scriptEvent void chargeAttack( string damageDef );
scriptEvent float testChargeAttack();
scriptEvent float testAnimMoveTowardEnemy( string animname );
scriptEvent float testAnimMove( string animname );
scriptEvent float testMoveToPosition( vector position );
scriptEvent float testMeleeAttack();
scriptEvent float testAnimAttack( string animname );
scriptEvent void shrivel( float time );
scriptEvent void preBurn();
scriptEvent void burn();
scriptEvent void clearBurn();
scriptEvent void setSmokeVisibility( float particle_num, float on );
scriptEvent float numSmokeEmitters();
scriptEvent void waitAction( string name );
scriptEvent void stopThinking();
scriptEvent float getTurnDelta();
scriptEvent float getMoveType();
scriptEvent void setMoveType( float movetype );
scriptEvent void saveMove();
scriptEvent void restoreMove();
scriptEvent void allowMovement( float allow );
scriptEvent void enableClip();
scriptEvent void disableClip();
scriptEvent void enableGravity();
scriptEvent void disableGravity();
scriptEvent void enableAFPush();
scriptEvent void disableAFPush();
scriptEvent void setFlySpeed( float speed );
scriptEvent void setFlyOffset( float offset );
scriptEvent void clearFlyOffset();
scriptEvent entity getClosestHiddenTarget( string entity_type );
scriptEvent entity getRandomTarget( string entity_type );
scriptEvent float travelDistanceToPoint( vector destination );
scriptEvent float travelDistanceToEntity( entity destination );
scriptEvent float travelDistanceBetweenEntities( entity source, entity dest );
scriptEvent float travelDistanceBetweenPoints( vector source, vector dest );
scriptEvent void lookAt( entity focusEntity, float duration );
scriptEvent void lookAtEnemy( float duration );
scriptEvent void setBoneMod( float allowBoneMod );
scriptEvent void kill();
scriptEvent void wakeOnFlashlight( float enable );
scriptEvent void setTalkState( float state );
scriptEvent void locateEnemy();
scriptEvent void kickObstacles( entity kickEnt, float force );
scriptEvent entity getObstacle();
scriptEvent vector pushPointIntoAAS( vector pos );
scriptEvent float getTurnRate();
scriptEvent void setTurnRate( float rate );
scriptEvent void animTurn( float angle );
scriptEvent void allowHiddenMovement( float enable );
scriptEvent entity findActorsInBounds( vector mins, vector maxs );
scriptEvent float canReachPosition( vector pos );
scriptEvent float canReachEntity( entity ent );
scriptEvent float canReachEnemy();
scriptEvent vector getReachableEntityPosition( entity ent );

View file

@ -0,0 +1,7 @@
#include "script/doom_defs.script"
#include "script/doom_events.script"
#include "script/player.script"
#include "script/weapon_base.script"
#include "script/weapon_unarmed.script"

48
base/script/player.script Normal file
View file

@ -0,0 +1,48 @@
object player
{
void init();
boolean AI_FORWARD;
boolean AI_BACKWARD;
boolean AI_STRAFE_LEFT;
boolean AI_STRAFE_RIGHT;
boolean AI_ATTACK_HELD;
boolean AI_WEAPON_FIRED;
boolean AI_JUMP;
boolean AI_DEAD;
boolean AI_CROUCH;
boolean AI_ONGROUND;
boolean AI_ONLADDER;
boolean AI_RUN;
boolean AI_HARDLANDING;
boolean AI_SOFTLANDING;
boolean AI_RELOAD;
boolean AI_PAIN;
boolean AI_TELEPORT;
boolean AI_TURN_LEFT;
boolean AI_TURN_RIGHT;
void RaiseWeapon();
void Torso_Death();
void Legs_Death();
};
void player::init()
{
sys.waitFrame();
}
void player::RaiseWeapon()
{
sys.waitFrame();
}
void player::Torso_Death()
{
sys.waitFrame();
}
void player::Legs_Death()
{
sys.waitFrame();
}

View file

@ -0,0 +1,53 @@
object weapon_base {
boolean WEAPON_ATTACK;
boolean WEAPON_RELOAD;
boolean WEAPON_PICKER;
boolean WEAPON_NETRELOAD;
boolean WEAPON_NETENDRELOAD;
boolean WEAPON_NETFIRING;
boolean WEAPON_RAISEWEAPON;
boolean WEAPON_LOWERWEAPON;
boolean WEAPON_START_FIRING;
void EnterCinematic();
void ExitCinematic();
void NetCatchup();
void WeaponStolen();
void OwnerDied();
void UpdateSkin();
string GetFireAnim();
};
void weapon_base::EnterCinematic() {
}
void weapon_base::ExitCinematic() {
}
void weapon_base::NetCatchup() {
weaponState( "Idle", 0 );
}
void weapon_base::WeaponStolen() {
}
void weapon_base::OwnerDied() {
}
void weapon_base::UpdateSkin() {
if ( isInvisible() ) {
setSkin( getKey( "skin_invisible" ) );
} else {
setSkin( "" );
}
}
string weapon_base::GetFireAnim() {
return "fire";
}

View file

@ -0,0 +1,10 @@
object weapon_unarmed : weapon_base
{
void init();
};
void weapon_unarmed::init()
{
sys.waitFrame();
}

143
base/strings/english.lang Normal file
View file

@ -0,0 +1,143 @@
// string table
// english
//
{
"#str_04343" "Loading..."
"#str_04344" "Initializing events..."
"#str_04345" "Executing startup commands..."
"#str_04346" "Initializing sound..."
"#str_04347" "Initializing network..."
"#str_04348" "Initializing render system..."
"#str_04349" "Initializing user interface..."
"#str_04350" "Loading DLL..."
"#str_04351" "Initializing..."
"#str_06780" "There is a problem with the video card or driver."
"#str_07000" "PRESS A KEY..."
"#str_07001" "<empty>"
"#str_07018" "TAB"
"#str_07019" "ENTER"
"#str_07020" "ESCAPE"
"#str_07021" "SPACE"
"#str_07022" "BACKSPACE"
"#str_07023" "UPARROW"
"#str_07024" "DOWNARROW"
"#str_07025" "LEFTARROW"
"#str_07026" "RIGHTARROW"
"#str_07027" "ALT"
"#str_07028" "CTRL"
"#str_07029" "SHIFT"
"#str_07030" "LWIN"
"#str_07031" "RWIN"
"#str_07032" "MENU"
"#str_07033" "COMMAND"
"#str_07034" "CAPSLOCK"
"#str_07035" "SCROLL"
"#str_07036" "F1"
"#str_07037" "F2"
"#str_07038" "F3"
"#str_07039" "F4"
"#str_07040" "F5"
"#str_07041" "F6"
"#str_07042" "F7"
"#str_07043" "F8"
"#str_07044" "F9"
"#str_07045" "F10"
"#str_07046" "F11"
"#str_07047" "F12"
"#str_07048" "INS"
"#str_07049" "DEL"
"#str_07050" "PGDN"
"#str_07051" "PGUP"
"#str_07052" "HOME"
"#str_07053" "END"
"#str_07054" "MOUSE1"
"#str_07055" "MOUSE2"
"#str_07056" "MOUSE3"
"#str_07057" "MOUSE4"
"#str_07058" "MOUSE5"
"#str_07059" "MOUSE6"
"#str_07060" "MOUSE7"
"#str_07061" "MOUSE8"
"#str_07062" "JOY1"
"#str_07063" "JOY2"
"#str_07064" "JOY3"
"#str_07065" "JOY4"
"#str_07066" "JOY5"
"#str_07067" "JOY6"
"#str_07068" "JOY7"
"#str_07069" "JOY8"
"#str_07070" "JOY9"
"#str_07071" "JOY10"
"#str_07072" "JOY11"
"#str_07073" "JOY12"
"#str_07074" "JOY13"
"#str_07075" "JOY14"
"#str_07076" "JOY15"
"#str_07077" "JOY16"
"#str_07078" "JOY17"
"#str_07079" "JOY18"
"#str_07080" "JOY19"
"#str_07081" "JOY20"
"#str_07082" "JOY21"
"#str_07083" "JOY22"
"#str_07084" "JOY23"
"#str_07085" "JOY24"
"#str_07086" "JOY25"
"#str_07087" "JOY26"
"#str_07088" "JOY27"
"#str_07089" "JOY28"
"#str_07090" "JOY29"
"#str_07091" "JOY30"
"#str_07092" "JOY31"
"#str_07093" "JOY32"
"#str_07094" "AUX1"
"#str_07095" "AUX2"
"#str_07096" "AUX3"
"#str_07097" "AUX4"
"#str_07098" "AUX5"
"#str_07099" "AUX6"
"#str_07100" "AUX7"
"#str_07101" "AUX8"
"#str_07102" "AUX9"
"#str_07103" "AUX10"
"#str_07104" "AUX11"
"#str_07105" "AUX12"
"#str_07106" "AUX13"
"#str_07107" "AUX14"
"#str_07108" "AUX15"
"#str_07109" "AUX16"
"#str_07110" "KP_HOME"
"#str_07111" "KP_UPARROW"
"#str_07112" "KP_PGUP"
"#str_07113" "KP_LEFTARROW"
"#str_07114" "KP_5"
"#str_07115" "KP_RIGHTARROW"
"#str_07116" "KP_END"
"#str_07117" "KP_DOWNARROW"
"#str_07118" "KP_PGDN"
"#str_07119" "KP_ENTER"
"#str_07120" "KP_INS"
"#str_07121" "KP_DEL"
"#str_07122" "KP_SLASH"
"#str_07123" "KP_MINUS"
"#str_07124" "KP_PLUS"
"#str_07125" "KP_NUMLOCK"
"#str_07126" "KP_STAR"
"#str_07127" "KP_EQUALS"
"#str_07128" "PAUSE"
"#str_07129" "SEMICOLON"
"#str_07130" "APOSTROPHE"
"#str_07131" "MWHEELUP"
"#str_07132" "MWHEELDOWN"
"#str_07133" "<empty>"
"#str_07183" " or "
"#str_02916" "game saved."
"#str_07178" "quicksave"
}

BIN
base/textures/bigchars.tga Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 MiB

BIN
base/textures/gui/black.tga Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 812 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 812 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

17
license.md Normal file
View file

@ -0,0 +1,17 @@
Copyright (c) 2021 Blendo Games
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.

37
readme.md Normal file
View file

@ -0,0 +1,37 @@
# Doom3 Starter Kit
## About
This is a starter kit for making standalone projects with the [Doom 3 engine.](https://en.wikipedia.org/wiki/Id_Tech_4)
This kit includes:
- the minimal amount of art/data assets required to run the game.
- one test map.
Use this as a starting point for your projects, make cool stuff, enjoy!
## Usage
This package does not include the game executable. Because the Doom 3 engine is open-source, you have different options for getting the executable.
- I recommend the [dhewm3](https://dhewm3.org) source port. If you don't want to compile the executable yourself, you can [click here](https://github.com/dhewm/dhewm3/releases) to download the pre-compiled binaries.
- You can also try out the [original release of the Doom 3 source code.](https://github.com/id-Software/DOOM-3)
1. In the folder that has the game executable, place the 'base' folder.
2. Run the game executable.
## Why Doom 3?
I like the Doom 3 engine for a lot of reasons, including:
- It's [open-source](https://github.com/id-Software/DOOM-3)
- Its codebase is [nice and tidy](https://fabiensanglard.net/doom3)
- I've been using the [idTech game engines](https://en.wikipedia.org/wiki/Id_Tech) for various projects, such as [Quadrilateral Cowboy](http://blendogames.com/qc) (idTech4) and [Thirty Flights of Loving](http://blendogames.com/thirtyflightsofloving) (idTech2).
## Is this compatible with Doom 3 BFG Edition?
No.
## License
This package is licensed under the zlib license. Read the license details here: [LICENSE.md](https://github.com/blendogames/doom3_starterkit/blob/master/license.md)