commit a3ff3f2ed8755c145fcfc1864dd42508ff26b1d9 Author: blendogames Date: Thu Jul 14 17:22:33 2022 -0700 Initial commit diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/base/def/ammo.def b/base/def/ammo.def new file mode 100644 index 0000000..d302fea --- /dev/null +++ b/base/def/ammo.def @@ -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" +} \ No newline at end of file diff --git a/base/def/engine.def b/base/def/engine.def new file mode 100644 index 0000000..02f4f11 --- /dev/null +++ b/base/def/engine.def @@ -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" +} \ No newline at end of file diff --git a/base/def/player.def b/base/def/player.def new file mode 100644 index 0000000..963b64a --- /dev/null +++ b/base/def/player.def @@ -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" +} diff --git a/base/default.cfg b/base/default.cfg new file mode 100644 index 0000000..98ba612 --- /dev/null +++ b/base/default.cfg @@ -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" \ No newline at end of file diff --git a/base/fonts/english/fontImage_12.dat b/base/fonts/english/fontImage_12.dat new file mode 100644 index 0000000..bed38ee Binary files /dev/null and b/base/fonts/english/fontImage_12.dat differ diff --git a/base/fonts/english/fontImage_24.dat b/base/fonts/english/fontImage_24.dat new file mode 100644 index 0000000..841ff66 Binary files /dev/null and b/base/fonts/english/fontImage_24.dat differ diff --git a/base/fonts/english/fontImage_48.dat b/base/fonts/english/fontImage_48.dat new file mode 100644 index 0000000..d811045 Binary files /dev/null and b/base/fonts/english/fontImage_48.dat differ diff --git a/base/fonts/english/font_0_12.tga b/base/fonts/english/font_0_12.tga new file mode 100644 index 0000000..231e3c3 Binary files /dev/null and b/base/fonts/english/font_0_12.tga differ diff --git a/base/fonts/english/font_0_24.tga b/base/fonts/english/font_0_24.tga new file mode 100644 index 0000000..f5605e9 Binary files /dev/null and b/base/fonts/english/font_0_24.tga differ diff --git a/base/fonts/english/font_0_48.tga b/base/fonts/english/font_0_48.tga new file mode 100644 index 0000000..43c1656 Binary files /dev/null and b/base/fonts/english/font_0_48.tga differ diff --git a/base/fonts/english/font_1_24.tga b/base/fonts/english/font_1_24.tga new file mode 100644 index 0000000..a178522 Binary files /dev/null and b/base/fonts/english/font_1_24.tga differ diff --git a/base/fonts/english/font_1_48.tga b/base/fonts/english/font_1_48.tga new file mode 100644 index 0000000..20cdebc Binary files /dev/null and b/base/fonts/english/font_1_48.tga differ diff --git a/base/fonts/english/font_2_48.tga b/base/fonts/english/font_2_48.tga new file mode 100644 index 0000000..7a70184 Binary files /dev/null and b/base/fonts/english/font_2_48.tga differ diff --git a/base/fonts/english/font_3_48.tga b/base/fonts/english/font_3_48.tga new file mode 100644 index 0000000..f1226c9 Binary files /dev/null and b/base/fonts/english/font_3_48.tga differ diff --git a/base/fonts/english/font_4_48.tga b/base/fonts/english/font_4_48.tga new file mode 100644 index 0000000..1300be1 Binary files /dev/null and b/base/fonts/english/font_4_48.tga differ diff --git a/base/glprogs/interaction.vfp b/base/glprogs/interaction.vfp new file mode 100644 index 0000000..b7dddb1 --- /dev/null +++ b/base/glprogs/interaction.vfp @@ -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 + diff --git a/base/glprogs/shadow.vp b/base/glprogs/shadow.vp new file mode 100644 index 0000000..c33f351 --- /dev/null +++ b/base/glprogs/shadow.vp @@ -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 diff --git a/base/guis/assets/white.tga b/base/guis/assets/white.tga new file mode 100644 index 0000000..f5d8059 Binary files /dev/null and b/base/guis/assets/white.tga differ diff --git a/base/guis/chat.gui b/base/guis/chat.gui new file mode 100644 index 0000000..dd5aba3 --- /dev/null +++ b/base/guis/chat.gui @@ -0,0 +1,7 @@ +windowDef Desktop +{ + rect 0, 0, 640, 480 + + backcolor 0, 0, 0, 0 + menugui 1 +} \ No newline at end of file diff --git a/base/guis/gameover.gui b/base/guis/gameover.gui new file mode 100644 index 0000000..dd5aba3 --- /dev/null +++ b/base/guis/gameover.gui @@ -0,0 +1,7 @@ +windowDef Desktop +{ + rect 0, 0, 640, 480 + + backcolor 0, 0, 0, 0 + menugui 1 +} \ No newline at end of file diff --git a/base/guis/intro.gui b/base/guis/intro.gui new file mode 100644 index 0000000..8676cc3 --- /dev/null +++ b/base/guis/intro.gui @@ -0,0 +1,11 @@ +windowDef Desktop +{ + menugui 1 + nocursor 0 + rect 0,0,640,480 + + onTime 10 + { + set "cmd" "startgame"; + } +} \ No newline at end of file diff --git a/base/guis/mainmenu.gui b/base/guis/mainmenu.gui new file mode 100644 index 0000000..c0aaf65 --- /dev/null +++ b/base/guis/mainmenu.gui @@ -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" ; + } + } +} + + diff --git a/base/guis/map/loading.gui b/base/guis/map/loading.gui new file mode 100644 index 0000000..7b9e0ae --- /dev/null +++ b/base/guis/map/loading.gui @@ -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 + } + +} diff --git a/base/guis/mpmain.gui b/base/guis/mpmain.gui new file mode 100644 index 0000000..dd5aba3 --- /dev/null +++ b/base/guis/mpmain.gui @@ -0,0 +1,7 @@ +windowDef Desktop +{ + rect 0, 0, 640, 480 + + backcolor 0, 0, 0, 0 + menugui 1 +} \ No newline at end of file diff --git a/base/guis/mpmsgmode.gui b/base/guis/mpmsgmode.gui new file mode 100644 index 0000000..dd5aba3 --- /dev/null +++ b/base/guis/mpmsgmode.gui @@ -0,0 +1,7 @@ +windowDef Desktop +{ + rect 0, 0, 640, 480 + + backcolor 0, 0, 0, 0 + menugui 1 +} \ No newline at end of file diff --git a/base/guis/msg.gui b/base/guis/msg.gui new file mode 100644 index 0000000..dd5aba3 --- /dev/null +++ b/base/guis/msg.gui @@ -0,0 +1,7 @@ +windowDef Desktop +{ + rect 0, 0, 640, 480 + + backcolor 0, 0, 0, 0 + menugui 1 +} \ No newline at end of file diff --git a/base/guis/restart.gui b/base/guis/restart.gui new file mode 100644 index 0000000..69ff566 --- /dev/null +++ b/base/guis/restart.gui @@ -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" ; + } + } +} + + diff --git a/base/guis/scoreboard.gui b/base/guis/scoreboard.gui new file mode 100644 index 0000000..dd5aba3 --- /dev/null +++ b/base/guis/scoreboard.gui @@ -0,0 +1,7 @@ +windowDef Desktop +{ + rect 0, 0, 640, 480 + + backcolor 0, 0, 0, 0 + menugui 1 +} \ No newline at end of file diff --git a/base/guis/spectate.gui b/base/guis/spectate.gui new file mode 100644 index 0000000..dd5aba3 --- /dev/null +++ b/base/guis/spectate.gui @@ -0,0 +1,7 @@ +windowDef Desktop +{ + rect 0, 0, 640, 480 + + backcolor 0, 0, 0, 0 + menugui 1 +} \ No newline at end of file diff --git a/base/guis/takenotes.gui b/base/guis/takenotes.gui new file mode 100644 index 0000000..dd5aba3 --- /dev/null +++ b/base/guis/takenotes.gui @@ -0,0 +1,7 @@ +windowDef Desktop +{ + rect 0, 0, 640, 480 + + backcolor 0, 0, 0, 0 + menugui 1 +} \ No newline at end of file diff --git a/base/maps/test1.cm b/base/maps/test1.cm new file mode 100644 index 0000000..2373376 --- /dev/null +++ b/base/maps/test1.cm @@ -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" + } +} diff --git a/base/maps/test1.map b/base/maps/test1.map new file mode 100644 index 0000000..1bc46e1 --- /dev/null +++ b/base/maps/test1.map @@ -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" +} diff --git a/base/maps/test1.proc b/base/maps/test1.proc new file mode 100644 index 0000000..71bb1f5 --- /dev/null +++ b/base/maps/test1.proc @@ -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 +} + +} + diff --git a/base/materials/engine.mtr b/base/materials/engine.mtr new file mode 100644 index 0000000..8aae518 --- /dev/null +++ b/base/materials/engine.mtr @@ -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 +} \ No newline at end of file diff --git a/base/materials/lights.mtr b/base/materials/lights.mtr new file mode 100644 index 0000000..de5eacd --- /dev/null +++ b/base/materials/lights.mtr @@ -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 + } +} + diff --git a/base/materials/walls.mtr b/base/materials/walls.mtr new file mode 100644 index 0000000..a03f9ed --- /dev/null +++ b/base/materials/walls.mtr @@ -0,0 +1,4 @@ +textures/walls/dev64 +{ + diffusemap textures/walls/dev64 +} \ No newline at end of file diff --git a/base/models/player/idle.md5anim b/base/models/player/idle.md5anim new file mode 100644 index 0000000..8f5a9aa --- /dev/null +++ b/base/models/player/idle.md5anim @@ -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 +} + diff --git a/base/models/player/player.md5mesh b/base/models/player/player.md5mesh new file mode 100644 index 0000000..0345980 --- /dev/null +++ b/base/models/player/player.md5mesh @@ -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 ) +} + diff --git a/base/script/doom_defs.script b/base/script/doom_defs.script new file mode 100644 index 0000000..e69de29 diff --git a/base/script/doom_events.script b/base/script/doom_events.script new file mode 100644 index 0000000..abe9110 --- /dev/null +++ b/base/script/doom_events.script @@ -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 ); + + + diff --git a/base/script/doom_main.script b/base/script/doom_main.script new file mode 100644 index 0000000..46185a3 --- /dev/null +++ b/base/script/doom_main.script @@ -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" \ No newline at end of file diff --git a/base/script/player.script b/base/script/player.script new file mode 100644 index 0000000..c4bf236 --- /dev/null +++ b/base/script/player.script @@ -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(); +} diff --git a/base/script/weapon_base.script b/base/script/weapon_base.script new file mode 100644 index 0000000..3a7fc2c --- /dev/null +++ b/base/script/weapon_base.script @@ -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"; +} diff --git a/base/script/weapon_unarmed.script b/base/script/weapon_unarmed.script new file mode 100644 index 0000000..2da19f9 --- /dev/null +++ b/base/script/weapon_unarmed.script @@ -0,0 +1,10 @@ + +object weapon_unarmed : weapon_base +{ + void init(); +}; + +void weapon_unarmed::init() +{ + sys.waitFrame(); +} diff --git a/base/strings/english.lang b/base/strings/english.lang new file mode 100644 index 0000000..5323610 --- /dev/null +++ b/base/strings/english.lang @@ -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" "" + "#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" "" + "#str_07183" " or " + + "#str_02916" "game saved." + "#str_07178" "quicksave" + +} diff --git a/base/textures/bigchars.tga b/base/textures/bigchars.tga new file mode 100644 index 0000000..9dfbe8e Binary files /dev/null and b/base/textures/bigchars.tga differ diff --git a/base/textures/gui/black.tga b/base/textures/gui/black.tga new file mode 100644 index 0000000..3820ad8 Binary files /dev/null and b/base/textures/gui/black.tga differ diff --git a/base/textures/lights/light.tga b/base/textures/lights/light.tga new file mode 100644 index 0000000..d8b754f Binary files /dev/null and b/base/textures/lights/light.tga differ diff --git a/base/textures/lights/lighta.tga b/base/textures/lights/lighta.tga new file mode 100644 index 0000000..a996347 Binary files /dev/null and b/base/textures/lights/lighta.tga differ diff --git a/base/textures/walls/dev64.tga b/base/textures/walls/dev64.tga new file mode 100644 index 0000000..12aca0c Binary files /dev/null and b/base/textures/walls/dev64.tga differ diff --git a/base/ui/assets/guicursor_arrow.tga b/base/ui/assets/guicursor_arrow.tga new file mode 100644 index 0000000..77d640e Binary files /dev/null and b/base/ui/assets/guicursor_arrow.tga differ diff --git a/base/ui/assets/guicursor_hand.tga b/base/ui/assets/guicursor_hand.tga new file mode 100644 index 0000000..cc7ff4c Binary files /dev/null and b/base/ui/assets/guicursor_hand.tga differ diff --git a/base/ui/assets/scrollbar_down.tga b/base/ui/assets/scrollbar_down.tga new file mode 100644 index 0000000..01641c9 Binary files /dev/null and b/base/ui/assets/scrollbar_down.tga differ diff --git a/base/ui/assets/scrollbar_left.tga b/base/ui/assets/scrollbar_left.tga new file mode 100644 index 0000000..ace423f Binary files /dev/null and b/base/ui/assets/scrollbar_left.tga differ diff --git a/base/ui/assets/scrollbar_right.tga b/base/ui/assets/scrollbar_right.tga new file mode 100644 index 0000000..31518d5 Binary files /dev/null and b/base/ui/assets/scrollbar_right.tga differ diff --git a/base/ui/assets/scrollbar_thumb.tga b/base/ui/assets/scrollbar_thumb.tga new file mode 100644 index 0000000..a9b3fe2 Binary files /dev/null and b/base/ui/assets/scrollbar_thumb.tga differ diff --git a/base/ui/assets/scrollbar_up.tga b/base/ui/assets/scrollbar_up.tga new file mode 100644 index 0000000..709125c Binary files /dev/null and b/base/ui/assets/scrollbar_up.tga differ diff --git a/base/ui/assets/scrollbarh.tga b/base/ui/assets/scrollbarh.tga new file mode 100644 index 0000000..a25da04 Binary files /dev/null and b/base/ui/assets/scrollbarh.tga differ diff --git a/base/ui/assets/scrollbarv.tga b/base/ui/assets/scrollbarv.tga new file mode 100644 index 0000000..f457911 Binary files /dev/null and b/base/ui/assets/scrollbarv.tga differ diff --git a/license.md b/license.md new file mode 100644 index 0000000..cf57765 --- /dev/null +++ b/license.md @@ -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. \ No newline at end of file diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..40d3b44 --- /dev/null +++ b/readme.md @@ -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)