mirror of
https://github.com/jmarshall23/DoomRTX.git
synced 2026-08-12 08:11:10 +02:00
Added multiplayer page.
Fixed numerous bugs with the alpha.
This commit is contained in:
+929
-7
@@ -3,6 +3,10 @@ windowDef Desktop {
|
||||
backcolor 0, 0, 0, 1
|
||||
float Button "0"
|
||||
float Menugui "1"
|
||||
float MPPage "0"
|
||||
float server_type "0"
|
||||
float dedicated "0"
|
||||
float lanSet "0"
|
||||
|
||||
onESC {
|
||||
set "cmd" "close" ;
|
||||
@@ -90,7 +94,7 @@ windowDef Desktop {
|
||||
resetTime "Anim" "0" ;
|
||||
resetTime "Click1" "0" ;
|
||||
set "Button1o::visible" "0" ;
|
||||
transition "Button2::matcolor" "1 1 1 0.4" "1 1 1 0" "200" ;
|
||||
transition "Button2::matcolor" "1 1 1 0.9" "1 1 1 0" "200" ;
|
||||
transition "Button3::matcolor" "1 1 1 0.4" "1 1 1 0" "200" ;
|
||||
transition "Button4::matcolor" "1 1 1 0.4" "1 1 1 0" "200" ;
|
||||
transition "Button5::matcolor" "1 1 1 0.9" "1 1 1 0" "200" ;
|
||||
@@ -100,9 +104,9 @@ windowDef Desktop {
|
||||
windowDef Button2 {
|
||||
rect 380, 465, 512, 48
|
||||
background "guis/assets/mainmenu/2"
|
||||
matcolor 1 ,1, 1, 0.4
|
||||
matcolor 1 ,1, 1, 0.9
|
||||
visible 1
|
||||
/*
|
||||
|
||||
onMouseEnter {
|
||||
set "Button2o::visible" "1" ;
|
||||
}
|
||||
@@ -110,15 +114,17 @@ windowDef Desktop {
|
||||
set "Button2o::visible" "0" ;
|
||||
}
|
||||
onAction {
|
||||
set "cmd" "play guisounds_click" ;
|
||||
set "Desktop::Button" "2" ;
|
||||
set "Desktop::MPPage" "0" ;
|
||||
resetTime "Anim" "0" ;
|
||||
resetTime "Click2" "0" ;
|
||||
set "Button2o::visible" "0" ;
|
||||
transition "Button1::matcolor" "1 1 1 0.9" "1 1 1 0" "200" ;
|
||||
transition "Button3::matcolor" "1 1 1 0.4" "1 1 1 0" "200" ;
|
||||
transition "Button4::matcolor" "1 1 1 0.4" "1 1 1 0" "200" ;
|
||||
transition "Button5::matcolor" "1 1 1 0.9" "1 1 1 0" "200" ;
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
windowDef Button3 {
|
||||
@@ -154,7 +160,7 @@ windowDef Desktop {
|
||||
resetTime "Click5" "0" ;
|
||||
set "Button5o::visible" "0" ;
|
||||
transition "Button1::matcolor" "1 1 1 0.9" "1 1 1 0" "200" ;
|
||||
transition "Button2::matcolor" "1 1 1 0.4" "1 1 1 0" "200" ;
|
||||
transition "Button2::matcolor" "1 1 1 0.9" "1 1 1 0" "200" ;
|
||||
transition "Button3::matcolor" "1 1 1 0.4" "1 1 1 0" "200" ;
|
||||
transition "Button4::matcolor" "1 1 1 0.4" "1 1 1 0" "200" ;
|
||||
}
|
||||
@@ -226,6 +232,611 @@ windowDef Desktop {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
windowDef Text2a {
|
||||
rect 354, 426, -572, 60
|
||||
text "Start Server"
|
||||
font "fonts/chain"
|
||||
textscale 0.75
|
||||
textalign 1
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
noevents 1
|
||||
|
||||
onMouseEnter {
|
||||
set "forecolor" "1 0.4 0 1" ;
|
||||
}
|
||||
onMouseExit {
|
||||
set "forecolor" "1 0.1 0.1 1" ;
|
||||
}
|
||||
onAction {
|
||||
set "cmd" "play guisounds_click" ;
|
||||
resetTime "HideMPRoot" "0" ;
|
||||
resetTime "ShowMPStart" "0" ;
|
||||
}
|
||||
}
|
||||
windowDef Text2b {
|
||||
rect 354, 471, -572, 60
|
||||
text "Join Server"
|
||||
font "fonts/chain"
|
||||
textscale 0.75
|
||||
textalign 1
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
noevents 1
|
||||
|
||||
onMouseEnter {
|
||||
set "forecolor" "1 0.4 0 1" ;
|
||||
}
|
||||
onMouseExit {
|
||||
set "forecolor" "1 0.1 0.1 1" ;
|
||||
}
|
||||
onAction {
|
||||
set "cmd" "play guisounds_click" ;
|
||||
resetTime "HideMPRoot" "0" ;
|
||||
resetTime "ShowMPJoin" "0" ;
|
||||
}
|
||||
}
|
||||
windowDef Text2c {
|
||||
rect 354, 516, -572, 60
|
||||
text "Server Browser"
|
||||
font "fonts/chain"
|
||||
textscale 0.75
|
||||
textalign 1
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
noevents 1
|
||||
|
||||
onMouseEnter {
|
||||
set "forecolor" "1 0.4 0 1" ;
|
||||
}
|
||||
onMouseExit {
|
||||
set "forecolor" "1 0.1 0.1 1" ;
|
||||
}
|
||||
onAction {
|
||||
set "cmd" "play guisounds_click" ;
|
||||
set "Desktop::lanSet" "0" ;
|
||||
resetTime "HideMPRoot" "0" ;
|
||||
resetTime "ShowMPBrowser" "0" ;
|
||||
set "cmd" "exec \"seta gui_filter_gameType 1\"" ;
|
||||
set "cmd" "exec \"seta gui_filter_game 1\"" ;
|
||||
resetTime "MPBrowserDelayedMasterRefresh" "0" ;
|
||||
}
|
||||
}
|
||||
windowDef Text2d {
|
||||
rect 354, 561, -572, 60
|
||||
text "Main Menu"
|
||||
font "fonts/chain"
|
||||
textscale 0.75
|
||||
textalign 1
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
noevents 1
|
||||
|
||||
onMouseEnter {
|
||||
set "forecolor" "1 0.4 0 1" ;
|
||||
}
|
||||
onMouseExit {
|
||||
set "forecolor" "1 0.1 0.1 1" ;
|
||||
}
|
||||
onAction {
|
||||
set "cmd" "play guisounds_close" ;
|
||||
resetTime "Main2" "0" ;
|
||||
}
|
||||
}
|
||||
|
||||
// Multiplayer - Start Server page
|
||||
windowDef MPStartTitle {
|
||||
rect 354, 420, 572, 36
|
||||
text "Start Server"
|
||||
font "fonts/chain"
|
||||
textscale 0.55
|
||||
textalign 1
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
visible 0
|
||||
noevents 1
|
||||
}
|
||||
windowDef MPStartPlayerLabel {
|
||||
rect 390, 457, 190, 24
|
||||
text "Player Name"
|
||||
font "fonts/chain"
|
||||
textscale 0.42
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
visible 0
|
||||
noevents 1
|
||||
}
|
||||
editDef MPStartPlayerName {
|
||||
rect 590, 457, 300, 24
|
||||
font "fonts/chain"
|
||||
textscale 0.42
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
hovercolor 1, 0.4, 0, 1
|
||||
backcolor 0, 0, 0, 0.25
|
||||
bordercolor 1, 0.1, 0.1, 0.5
|
||||
cvar "ui_name"
|
||||
maxchars 24
|
||||
visible 0
|
||||
noevents 1
|
||||
}
|
||||
windowDef MPStartServerLabel {
|
||||
rect 390, 489, 190, 24
|
||||
text "Server Name"
|
||||
font "fonts/chain"
|
||||
textscale 0.42
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
visible 0
|
||||
noevents 1
|
||||
}
|
||||
editDef MPStartServerName {
|
||||
rect 590, 489, 300, 24
|
||||
font "fonts/chain"
|
||||
textscale 0.42
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
hovercolor 1, 0.4, 0, 1
|
||||
backcolor 0, 0, 0, 0.25
|
||||
bordercolor 1, 0.1, 0.1, 0.5
|
||||
cvar "si_name"
|
||||
maxchars 32
|
||||
visible 0
|
||||
noevents 1
|
||||
}
|
||||
windowDef MPStartMapLabel {
|
||||
rect 390, 521, 190, 24
|
||||
text "Map"
|
||||
font "fonts/chain"
|
||||
textscale 0.42
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
visible 0
|
||||
noevents 1
|
||||
}
|
||||
choiceDef MPStartMapValue {
|
||||
rect 590, 521, 300, 24
|
||||
font "fonts/chain"
|
||||
textscale 0.42
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
choices "game/mp/d3dm3"
|
||||
values "game/mp/d3dm3"
|
||||
choiceType 1
|
||||
cvar "si_map"
|
||||
visible 0
|
||||
noevents 1
|
||||
}
|
||||
windowDef MPStartTypeLabel {
|
||||
rect 390, 553, 190, 24
|
||||
text "Server Type"
|
||||
font "fonts/chain"
|
||||
textscale 0.42
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
visible 0
|
||||
noevents 1
|
||||
}
|
||||
choiceDef MPStartServerType {
|
||||
rect 590, 553, 300, 24
|
||||
font "fonts/chain"
|
||||
textscale 0.42
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
hovercolor 1, 0.4, 0, 1
|
||||
choices "Internet;LAN"
|
||||
values "0;1"
|
||||
choiceType 1
|
||||
gui "server_type"
|
||||
visible 0
|
||||
noevents 1
|
||||
}
|
||||
windowDef MPStartDedicatedLabel {
|
||||
rect 390, 585, 190, 24
|
||||
text "Dedicated"
|
||||
font "fonts/chain"
|
||||
textscale 0.42
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
visible 0
|
||||
noevents 1
|
||||
}
|
||||
choiceDef MPStartDedicated {
|
||||
rect 590, 585, 300, 24
|
||||
font "fonts/chain"
|
||||
textscale 0.42
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
hovercolor 1, 0.4, 0, 1
|
||||
choices "Listen;Dedicated"
|
||||
values "0;1"
|
||||
choiceType 1
|
||||
gui "dedicated"
|
||||
visible 0
|
||||
noevents 1
|
||||
}
|
||||
windowDef MPStartPlayersLabel {
|
||||
rect 390, 617, 190, 24
|
||||
text "Max Players"
|
||||
font "fonts/chain"
|
||||
textscale 0.42
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
visible 0
|
||||
noevents 1
|
||||
}
|
||||
editDef MPStartPlayers {
|
||||
rect 590, 617, 80, 24
|
||||
font "fonts/chain"
|
||||
textscale 0.42
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
hovercolor 1, 0.4, 0, 1
|
||||
backcolor 0, 0, 0, 0.25
|
||||
bordercolor 1, 0.1, 0.1, 0.5
|
||||
cvar "si_maxPlayers"
|
||||
maxchars 2
|
||||
numeric 1
|
||||
visible 0
|
||||
noevents 1
|
||||
}
|
||||
windowDef MPStartGameType {
|
||||
rect 690, 617, 200, 24
|
||||
font "fonts/chain"
|
||||
textscale 0.42
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
text "Deathmatch only"
|
||||
visible 0
|
||||
noevents 1
|
||||
}
|
||||
choiceDef MPStartGameTypeValue {
|
||||
rect 0, 0, 1, 1
|
||||
choices "deathmatch"
|
||||
values "deathmatch"
|
||||
choiceType 1
|
||||
cvar "si_gameType"
|
||||
visible 0
|
||||
noevents 1
|
||||
}
|
||||
|
||||
choiceDef MPBrowserGameTypeFilterValue {
|
||||
rect 0, 0, 1, 1
|
||||
choices "Deathmatch"
|
||||
values "1"
|
||||
choiceType 1
|
||||
cvar "gui_filter_gameType"
|
||||
visible 0
|
||||
noevents 1
|
||||
}
|
||||
choiceDef MPBrowserGameFilterValue {
|
||||
rect 0, 0, 1, 1
|
||||
choices "Doom 3"
|
||||
values "1"
|
||||
choiceType 1
|
||||
cvar "gui_filter_game"
|
||||
visible 0
|
||||
noevents 1
|
||||
}
|
||||
windowDef MPStartLaunch {
|
||||
rect 390, 657, 250, 40
|
||||
text "Start Server"
|
||||
font "fonts/chain"
|
||||
textscale 0.55
|
||||
textalign 1
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
visible 0
|
||||
noevents 1
|
||||
|
||||
onMouseEnter {
|
||||
set "forecolor" "1 0.4 0 1" ;
|
||||
}
|
||||
onMouseExit {
|
||||
set "forecolor" "1 0.1 0.1 1" ;
|
||||
}
|
||||
onAction {
|
||||
set "cmd" "play guisounds_click" ;
|
||||
set "cmd" "exec \"seta si_gameType deathmatch\"" ;
|
||||
set "cmd" "exec \"seta si_map game/mp/d3dm3\"" ;
|
||||
resetTime "MPStartDelayedStart" "0" ;
|
||||
}
|
||||
}
|
||||
windowDef MPStartBack {
|
||||
rect 650, 657, 250, 40
|
||||
text "Back"
|
||||
font "fonts/chain"
|
||||
textscale 0.55
|
||||
textalign 1
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
visible 0
|
||||
noevents 1
|
||||
|
||||
onMouseEnter {
|
||||
set "forecolor" "1 0.4 0 1" ;
|
||||
}
|
||||
onMouseExit {
|
||||
set "forecolor" "1 0.1 0.1 1" ;
|
||||
}
|
||||
onAction {
|
||||
set "cmd" "play guisounds_close" ;
|
||||
resetTime "HideMPStart" "0" ;
|
||||
resetTime "Click2" "0" ;
|
||||
}
|
||||
}
|
||||
|
||||
// Multiplayer - Join Server page
|
||||
windowDef MPJoinTitle {
|
||||
rect 354, 420, 572, 40
|
||||
text "Join Server"
|
||||
font "fonts/chain"
|
||||
textscale 0.6
|
||||
textalign 1
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
visible 0
|
||||
noevents 1
|
||||
}
|
||||
windowDef MPJoinAddressLabel {
|
||||
rect 390, 477, 180, 30
|
||||
text "Direct IP"
|
||||
font "fonts/chain"
|
||||
textscale 0.5
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
visible 0
|
||||
noevents 1
|
||||
}
|
||||
editDef inetGame {
|
||||
rect 560, 477, 310, 30
|
||||
text "gui::inetGame"
|
||||
font "fonts/chain"
|
||||
textscale 0.5
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
hovercolor 1, 0.4, 0, 1
|
||||
backcolor 0, 0, 0, 0.25
|
||||
bordercolor 1, 0.1, 0.1, 0.5
|
||||
maxchars 64
|
||||
visible 0
|
||||
noevents 1
|
||||
|
||||
onEnter {
|
||||
set "cmd" "inetConnect" ;
|
||||
}
|
||||
}
|
||||
windowDef MPJoinDirectConnect {
|
||||
rect 390, 528, 250, 40
|
||||
text "Connect"
|
||||
font "fonts/chain"
|
||||
textscale 0.55
|
||||
textalign 1
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
visible 0
|
||||
noevents 1
|
||||
|
||||
onMouseEnter {
|
||||
set "forecolor" "1 0.4 0 1" ;
|
||||
}
|
||||
onMouseExit {
|
||||
set "forecolor" "1 0.1 0.1 1" ;
|
||||
}
|
||||
onAction {
|
||||
set "cmd" "play guisounds_click" ;
|
||||
set "cmd" "inetConnect" ;
|
||||
}
|
||||
}
|
||||
windowDef MPJoinInternetBrowser {
|
||||
rect 650, 528, 250, 40
|
||||
text "Master Servers"
|
||||
font "fonts/chain"
|
||||
textscale 0.55
|
||||
textalign 1
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
visible 0
|
||||
noevents 1
|
||||
|
||||
onMouseEnter {
|
||||
set "forecolor" "1 0.4 0 1" ;
|
||||
}
|
||||
onMouseExit {
|
||||
set "forecolor" "1 0.1 0.1 1" ;
|
||||
}
|
||||
onAction {
|
||||
set "cmd" "play guisounds_click" ;
|
||||
set "Desktop::lanSet" "0" ;
|
||||
resetTime "HideMPJoin" "0" ;
|
||||
resetTime "ShowMPBrowser" "0" ;
|
||||
set "cmd" "exec \"seta gui_filter_gameType 1\"" ;
|
||||
set "cmd" "exec \"seta gui_filter_game 1\"" ;
|
||||
resetTime "MPBrowserDelayedMasterRefresh" "0" ;
|
||||
}
|
||||
}
|
||||
windowDef MPJoinLANBrowser {
|
||||
rect 390, 585, 250, 40
|
||||
text "LAN Servers"
|
||||
font "fonts/chain"
|
||||
textscale 0.55
|
||||
textalign 1
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
visible 0
|
||||
noevents 1
|
||||
|
||||
onMouseEnter {
|
||||
set "forecolor" "1 0.4 0 1" ;
|
||||
}
|
||||
onMouseExit {
|
||||
set "forecolor" "1 0.1 0.1 1" ;
|
||||
}
|
||||
onAction {
|
||||
set "cmd" "play guisounds_click" ;
|
||||
set "Desktop::lanSet" "1" ;
|
||||
resetTime "HideMPJoin" "0" ;
|
||||
resetTime "ShowMPBrowser" "0" ;
|
||||
set "cmd" "exec \"seta gui_filter_gameType 1\"" ;
|
||||
set "cmd" "exec \"seta gui_filter_game 1\"" ;
|
||||
resetTime "MPBrowserDelayedLANRefresh" "0" ;
|
||||
}
|
||||
}
|
||||
windowDef MPJoinBack {
|
||||
rect 650, 585, 250, 40
|
||||
text "Back"
|
||||
font "fonts/chain"
|
||||
textscale 0.55
|
||||
textalign 1
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
visible 0
|
||||
noevents 1
|
||||
|
||||
onMouseEnter {
|
||||
set "forecolor" "1 0.4 0 1" ;
|
||||
}
|
||||
onMouseExit {
|
||||
set "forecolor" "1 0.1 0.1 1" ;
|
||||
}
|
||||
onAction {
|
||||
set "cmd" "play guisounds_close" ;
|
||||
resetTime "HideMPJoin" "0" ;
|
||||
resetTime "Click2" "0" ;
|
||||
}
|
||||
}
|
||||
|
||||
// Multiplayer - Server Browser / master server selection page
|
||||
windowDef MPBrowserTitle {
|
||||
rect 354, 420, 572, 30
|
||||
text "Server Selection"
|
||||
font "fonts/chain"
|
||||
textscale 0.55
|
||||
textalign 1
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
visible 0
|
||||
noevents 1
|
||||
}
|
||||
windowDef MPBrowserNote {
|
||||
rect 374, 452, 532, 24
|
||||
text "Master/LAN list - d3dm3 deathmatch only"
|
||||
font "fonts/chain"
|
||||
textscale 0.36
|
||||
textalign 1
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
visible 0
|
||||
noevents 1
|
||||
}
|
||||
listDef serverList {
|
||||
rect 374, 480, 532, 104
|
||||
font "fonts/chain"
|
||||
textscale 0.28
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
hovercolor 1, 0.4, 0, 1
|
||||
backcolor 0, 0, 0, 0.25
|
||||
bordercolor 1, 0.1, 0.1, 0.5
|
||||
listname "serverlist"
|
||||
tabstops "0,170,245,315,395"
|
||||
tabaligns "0,0,0,0,0"
|
||||
visible 0
|
||||
noevents 1
|
||||
|
||||
onAction {
|
||||
set "cmd" "serverList" ;
|
||||
}
|
||||
onEnter {
|
||||
set "cmd" "serverList" ;
|
||||
set "cmd" "LANConnect" ;
|
||||
}
|
||||
}
|
||||
windowDef MPBrowserRefreshMaster {
|
||||
rect 370, 596, 170, 32
|
||||
text "Refresh Master"
|
||||
font "fonts/chain"
|
||||
textscale 0.38
|
||||
textalign 1
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
visible 0
|
||||
noevents 1
|
||||
|
||||
onMouseEnter {
|
||||
set "forecolor" "1 0.4 0 1" ;
|
||||
}
|
||||
onMouseExit {
|
||||
set "forecolor" "1 0.1 0.1 1" ;
|
||||
}
|
||||
onAction {
|
||||
set "cmd" "play guisounds_click" ;
|
||||
set "Desktop::lanSet" "0" ;
|
||||
set "cmd" "exec \"seta gui_filter_gameType 1\"" ;
|
||||
set "cmd" "exec \"seta gui_filter_game 1\"" ;
|
||||
resetTime "MPBrowserDelayedMasterRefresh" "0" ;
|
||||
}
|
||||
}
|
||||
windowDef MPBrowserRefreshLAN {
|
||||
rect 550, 596, 130, 32
|
||||
text "Refresh LAN"
|
||||
font "fonts/chain"
|
||||
textscale 0.38
|
||||
textalign 1
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
visible 0
|
||||
noevents 1
|
||||
|
||||
onMouseEnter {
|
||||
set "forecolor" "1 0.4 0 1" ;
|
||||
}
|
||||
onMouseExit {
|
||||
set "forecolor" "1 0.1 0.1 1" ;
|
||||
}
|
||||
onAction {
|
||||
set "cmd" "play guisounds_click" ;
|
||||
set "Desktop::lanSet" "1" ;
|
||||
set "cmd" "exec \"seta gui_filter_gameType 1\"" ;
|
||||
set "cmd" "exec \"seta gui_filter_game 1\"" ;
|
||||
resetTime "MPBrowserDelayedLANRefresh" "0" ;
|
||||
}
|
||||
}
|
||||
windowDef MPBrowserSortMap {
|
||||
rect 690, 596, 110, 32
|
||||
text "Sort Map"
|
||||
font "fonts/chain"
|
||||
textscale 0.38
|
||||
textalign 1
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
visible 0
|
||||
noevents 1
|
||||
|
||||
onMouseEnter {
|
||||
set "forecolor" "1 0.4 0 1" ;
|
||||
}
|
||||
onMouseExit {
|
||||
set "forecolor" "1 0.1 0.1 1" ;
|
||||
}
|
||||
onAction {
|
||||
set "cmd" "play guisounds_click" ;
|
||||
set "cmd" "sortMap" ;
|
||||
}
|
||||
}
|
||||
windowDef MPBrowserJoinSelected {
|
||||
rect 810, 596, 110, 32
|
||||
text "Join"
|
||||
font "fonts/chain"
|
||||
textscale 0.38
|
||||
textalign 1
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
visible 0
|
||||
noevents 1
|
||||
|
||||
onMouseEnter {
|
||||
set "forecolor" "1 0.4 0 1" ;
|
||||
}
|
||||
onMouseExit {
|
||||
set "forecolor" "1 0.1 0.1 1" ;
|
||||
}
|
||||
onAction {
|
||||
set "cmd" "play guisounds_click" ;
|
||||
set "cmd" "serverList" ;
|
||||
set "cmd" "LANConnect" ;
|
||||
}
|
||||
}
|
||||
windowDef MPBrowserBack {
|
||||
rect 354, 642, 572, 40
|
||||
text "Back"
|
||||
font "fonts/chain"
|
||||
textscale 0.55
|
||||
textalign 1
|
||||
forecolor 1, 0.1, 0.1, 0
|
||||
visible 0
|
||||
noevents 1
|
||||
|
||||
onMouseEnter {
|
||||
set "forecolor" "1 0.4 0 1" ;
|
||||
}
|
||||
onMouseExit {
|
||||
set "forecolor" "1 0.1 0.1 1" ;
|
||||
}
|
||||
onAction {
|
||||
set "cmd" "play guisounds_close" ;
|
||||
resetTime "HideMPBrowser" "0" ;
|
||||
resetTime "Click2" "0" ;
|
||||
}
|
||||
}
|
||||
|
||||
windowDef Text5a {
|
||||
rect 352, 450, -572, 120
|
||||
text "Are you sure you\nwant to exit?"
|
||||
@@ -356,7 +967,7 @@ windowDef Desktop {
|
||||
set "Text1c::rect" "354 516 -572 60" ;
|
||||
set "Text1d::rect" "354 561 -572 60" ;
|
||||
set "Text1e::rect" "354 606 -572 60" ;
|
||||
transition "Button2::matcolor" "1 1 1 0" "1 1 1 0.4" "100" ;
|
||||
transition "Button2::matcolor" "1 1 1 0" "1 1 1 0.9" "100" ;
|
||||
}
|
||||
onTime 125 {
|
||||
transition "Button3::matcolor" "1 1 1 0" "1 1 1 0.4" "100" ;
|
||||
@@ -376,6 +987,317 @@ windowDef Desktop {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
windowDef Click2 {
|
||||
notime 1
|
||||
|
||||
onTime 0 {
|
||||
set "MPStartTitle::visible" "0" ;
|
||||
set "MPJoinTitle::visible" "0" ;
|
||||
set "MPBrowserTitle::visible" "0" ;
|
||||
}
|
||||
onTime 200 {
|
||||
set "Text2a::rect" "354 426 572 60" ;
|
||||
set "Text2a::noevents" "0" ;
|
||||
transition "Text2a::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
}
|
||||
onTime 250 {
|
||||
set "Text2b::rect" "354 471 572 60" ;
|
||||
set "Text2b::noevents" "0" ;
|
||||
transition "Text2b::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
}
|
||||
onTime 300 {
|
||||
set "Text2c::rect" "354 516 572 60" ;
|
||||
set "Text2c::noevents" "0" ;
|
||||
transition "Text2c::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
}
|
||||
onTime 350 {
|
||||
set "Text2d::rect" "354 561 572 60" ;
|
||||
set "Text2d::noevents" "0" ;
|
||||
transition "Text2d::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
}
|
||||
}
|
||||
|
||||
windowDef HideMPRoot {
|
||||
notime 1
|
||||
|
||||
onTime 0 {
|
||||
set "Text2a::noevents" "1" ;
|
||||
set "Text2b::noevents" "1" ;
|
||||
set "Text2c::noevents" "1" ;
|
||||
set "Text2d::noevents" "1" ;
|
||||
transition "Text2a::forecolor" "1 0.1 0.1 1" "1 0.1 0.1 0" "50" ;
|
||||
transition "Text2b::forecolor" "1 0.1 0.1 1" "1 0.1 0.1 0" "50" ;
|
||||
transition "Text2c::forecolor" "1 0.1 0.1 1" "1 0.1 0.1 0" "50" ;
|
||||
transition "Text2d::forecolor" "1 0.1 0.1 1" "1 0.1 0.1 0" "50" ;
|
||||
}
|
||||
onTime 50 {
|
||||
set "Text2a::rect" "354 426 -572 60" ;
|
||||
set "Text2b::rect" "354 471 -572 60" ;
|
||||
set "Text2c::rect" "354 516 -572 60" ;
|
||||
set "Text2d::rect" "354 561 -572 60" ;
|
||||
}
|
||||
}
|
||||
|
||||
windowDef ShowMPStart {
|
||||
notime 1
|
||||
|
||||
onTime 50 {
|
||||
set "Desktop::MPPage" "1" ;
|
||||
set "MPStartTitle::visible" "1" ;
|
||||
set "MPStartPlayerLabel::visible" "1" ;
|
||||
set "MPStartPlayerName::visible" "1" ;
|
||||
set "MPStartPlayerName::noevents" "0" ;
|
||||
set "MPStartServerLabel::visible" "1" ;
|
||||
set "MPStartServerName::visible" "1" ;
|
||||
set "MPStartServerName::noevents" "0" ;
|
||||
set "MPStartMapLabel::visible" "1" ;
|
||||
set "MPStartMapValue::visible" "1" ;
|
||||
set "MPStartTypeLabel::visible" "1" ;
|
||||
set "MPStartServerType::visible" "1" ;
|
||||
set "MPStartServerType::noevents" "0" ;
|
||||
set "MPStartDedicatedLabel::visible" "1" ;
|
||||
set "MPStartDedicated::visible" "1" ;
|
||||
set "MPStartDedicated::noevents" "0" ;
|
||||
set "MPStartPlayersLabel::visible" "1" ;
|
||||
set "MPStartPlayers::visible" "1" ;
|
||||
set "MPStartPlayers::noevents" "0" ;
|
||||
set "MPStartGameType::visible" "1" ;
|
||||
set "MPStartGameTypeValue::visible" "1" ;
|
||||
set "MPStartLaunch::visible" "1" ;
|
||||
set "MPStartLaunch::noevents" "0" ;
|
||||
set "MPStartBack::visible" "1" ;
|
||||
set "MPStartBack::noevents" "0" ;
|
||||
transition "MPStartTitle::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
transition "MPStartPlayerLabel::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
transition "MPStartPlayerName::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
transition "MPStartServerLabel::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
transition "MPStartServerName::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
transition "MPStartMapLabel::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
transition "MPStartMapValue::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
transition "MPStartTypeLabel::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
transition "MPStartServerType::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
transition "MPStartDedicatedLabel::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
transition "MPStartDedicated::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
transition "MPStartPlayersLabel::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
transition "MPStartPlayers::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
transition "MPStartGameType::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
transition "MPStartLaunch::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
transition "MPStartBack::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
}
|
||||
}
|
||||
|
||||
windowDef HideMPStart {
|
||||
notime 1
|
||||
|
||||
onTime 0 {
|
||||
set "MPStartPlayerName::noevents" "1" ;
|
||||
set "MPStartServerName::noevents" "1" ;
|
||||
set "MPStartServerType::noevents" "1" ;
|
||||
set "MPStartDedicated::noevents" "1" ;
|
||||
set "MPStartPlayers::noevents" "1" ;
|
||||
set "MPStartLaunch::noevents" "1" ;
|
||||
set "MPStartBack::noevents" "1" ;
|
||||
set "MPStartTitle::visible" "0" ;
|
||||
set "MPStartPlayerLabel::visible" "0" ;
|
||||
set "MPStartPlayerName::visible" "0" ;
|
||||
set "MPStartServerLabel::visible" "0" ;
|
||||
set "MPStartServerName::visible" "0" ;
|
||||
set "MPStartMapLabel::visible" "0" ;
|
||||
set "MPStartMapValue::visible" "0" ;
|
||||
set "MPStartTypeLabel::visible" "0" ;
|
||||
set "MPStartServerType::visible" "0" ;
|
||||
set "MPStartDedicatedLabel::visible" "0" ;
|
||||
set "MPStartDedicated::visible" "0" ;
|
||||
set "MPStartPlayersLabel::visible" "0" ;
|
||||
set "MPStartPlayers::visible" "0" ;
|
||||
set "MPStartGameType::visible" "0" ;
|
||||
set "MPStartGameTypeValue::visible" "0" ;
|
||||
set "MPStartLaunch::visible" "0" ;
|
||||
set "MPStartBack::visible" "0" ;
|
||||
}
|
||||
}
|
||||
|
||||
windowDef ShowMPJoin {
|
||||
notime 1
|
||||
|
||||
onTime 50 {
|
||||
set "Desktop::MPPage" "2" ;
|
||||
set "MPJoinTitle::visible" "1" ;
|
||||
set "MPJoinAddressLabel::visible" "1" ;
|
||||
set "inetGame::visible" "1" ;
|
||||
set "inetGame::noevents" "0" ;
|
||||
set "MPJoinDirectConnect::visible" "1" ;
|
||||
set "MPJoinDirectConnect::noevents" "0" ;
|
||||
set "MPJoinInternetBrowser::visible" "1" ;
|
||||
set "MPJoinInternetBrowser::noevents" "0" ;
|
||||
set "MPJoinLANBrowser::visible" "1" ;
|
||||
set "MPJoinLANBrowser::noevents" "0" ;
|
||||
set "MPJoinBack::visible" "1" ;
|
||||
set "MPJoinBack::noevents" "0" ;
|
||||
transition "MPJoinTitle::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
transition "MPJoinAddressLabel::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
transition "inetGame::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
transition "MPJoinDirectConnect::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
transition "MPJoinInternetBrowser::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
transition "MPJoinLANBrowser::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
transition "MPJoinBack::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
}
|
||||
}
|
||||
|
||||
windowDef HideMPJoin {
|
||||
notime 1
|
||||
|
||||
onTime 0 {
|
||||
set "inetGame::noevents" "1" ;
|
||||
set "MPJoinDirectConnect::noevents" "1" ;
|
||||
set "MPJoinInternetBrowser::noevents" "1" ;
|
||||
set "MPJoinLANBrowser::noevents" "1" ;
|
||||
set "MPJoinBack::noevents" "1" ;
|
||||
set "MPJoinTitle::visible" "0" ;
|
||||
set "MPJoinAddressLabel::visible" "0" ;
|
||||
set "inetGame::visible" "0" ;
|
||||
set "MPJoinDirectConnect::visible" "0" ;
|
||||
set "MPJoinInternetBrowser::visible" "0" ;
|
||||
set "MPJoinLANBrowser::visible" "0" ;
|
||||
set "MPJoinBack::visible" "0" ;
|
||||
}
|
||||
}
|
||||
|
||||
windowDef ShowMPBrowser {
|
||||
notime 1
|
||||
|
||||
onTime 50 {
|
||||
set "Desktop::MPPage" "3" ;
|
||||
set "MPBrowserTitle::visible" "1" ;
|
||||
set "MPBrowserNote::visible" "1" ;
|
||||
set "serverList::visible" "1" ;
|
||||
set "serverList::noevents" "0" ;
|
||||
set "MPBrowserRefreshMaster::visible" "1" ;
|
||||
set "MPBrowserRefreshMaster::noevents" "0" ;
|
||||
set "MPBrowserRefreshLAN::visible" "1" ;
|
||||
set "MPBrowserRefreshLAN::noevents" "0" ;
|
||||
set "MPBrowserSortMap::visible" "1" ;
|
||||
set "MPBrowserSortMap::noevents" "0" ;
|
||||
set "MPBrowserJoinSelected::visible" "1" ;
|
||||
set "MPBrowserJoinSelected::noevents" "0" ;
|
||||
set "MPBrowserBack::visible" "1" ;
|
||||
set "MPBrowserBack::noevents" "0" ;
|
||||
transition "MPBrowserTitle::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
transition "MPBrowserNote::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
transition "serverList::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
transition "MPBrowserRefreshMaster::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
transition "MPBrowserRefreshLAN::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
transition "MPBrowserSortMap::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
transition "MPBrowserJoinSelected::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
transition "MPBrowserBack::forecolor" "1 0.1 0.1 0" "1 0.1 0.1 1" "50" ;
|
||||
}
|
||||
}
|
||||
|
||||
windowDef HideMPBrowser {
|
||||
notime 1
|
||||
|
||||
onTime 0 {
|
||||
set "serverList::noevents" "1" ;
|
||||
set "MPBrowserRefreshMaster::noevents" "1" ;
|
||||
set "MPBrowserRefreshLAN::noevents" "1" ;
|
||||
set "MPBrowserSortMap::noevents" "1" ;
|
||||
set "MPBrowserJoinSelected::noevents" "1" ;
|
||||
set "MPBrowserBack::noevents" "1" ;
|
||||
set "MPBrowserTitle::visible" "0" ;
|
||||
set "MPBrowserNote::visible" "0" ;
|
||||
set "serverList::visible" "0" ;
|
||||
set "MPBrowserRefreshMaster::visible" "0" ;
|
||||
set "MPBrowserRefreshLAN::visible" "0" ;
|
||||
set "MPBrowserSortMap::visible" "0" ;
|
||||
set "MPBrowserJoinSelected::visible" "0" ;
|
||||
set "MPBrowserBack::visible" "0" ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
windowDef MPBrowserDelayedMasterRefresh {
|
||||
notime 1
|
||||
|
||||
onTime 100 {
|
||||
set "Desktop::lanSet" "0" ;
|
||||
set "cmd" "UpdateServers" ;
|
||||
set "cmd" "sortMap" ;
|
||||
set "cmd" "FilterServers" ;
|
||||
}
|
||||
}
|
||||
|
||||
windowDef MPBrowserDelayedLANRefresh {
|
||||
notime 1
|
||||
|
||||
onTime 100 {
|
||||
set "Desktop::lanSet" "1" ;
|
||||
set "cmd" "UpdateServers" ;
|
||||
set "cmd" "sortMap" ;
|
||||
set "cmd" "FilterServers" ;
|
||||
}
|
||||
}
|
||||
|
||||
windowDef MPStartDelayedStart {
|
||||
notime 1
|
||||
|
||||
onTime 100 {
|
||||
set "cmd" "startMultiplayer" ;
|
||||
}
|
||||
}
|
||||
|
||||
windowDef Main2 {
|
||||
notime 1
|
||||
|
||||
onTime 0 {
|
||||
set "Text2a::noevents" "1" ;
|
||||
set "Text2b::noevents" "1" ;
|
||||
set "Text2c::noevents" "1" ;
|
||||
set "Text2d::noevents" "1" ;
|
||||
resetTime "HideMPStart" "0" ;
|
||||
resetTime "HideMPJoin" "0" ;
|
||||
resetTime "HideMPBrowser" "0" ;
|
||||
transition "Text2a::forecolor" "1 0.1 0.1 1" "1 0.1 0.1 0" "50" ;
|
||||
transition "Text2b::forecolor" "1 0.1 0.1 1" "1 0.1 0.1 0" "50" ;
|
||||
transition "Text2c::forecolor" "1 0.1 0.1 1" "1 0.1 0.1 0" "50" ;
|
||||
transition "Text2d::forecolor" "1 0.1 0.1 1" "1 0.1 0.1 0" "50" ;
|
||||
}
|
||||
onTime 0 {
|
||||
transition "Button1::rect" "380 675 512 48" "380 405 512 48" "300" ;
|
||||
transition "Button2::rect" "380 675 512 48" "380 465 512 48" "300" ;
|
||||
transition "Button3::rect" "500 675 278 48" "500 525 278 48" "300" ;
|
||||
transition "Button4::rect" "506 675 256 48" "506 585 256 48" "300" ;
|
||||
transition "Button5::rect" "506 675 256 48" "506 645 256 48" "300" ;
|
||||
transition "PopUp::matcolor" "1 1 1 1" "1 1 1 0" "100" ;
|
||||
transition "PopUp::rect" "354 406.5 572 313.5" "354 660 572 60" "200" ;
|
||||
}
|
||||
onTime 50 {
|
||||
set "Text2a::rect" "354 426 -572 60" ;
|
||||
set "Text2b::rect" "354 471 -572 60" ;
|
||||
set "Text2c::rect" "354 516 -572 60" ;
|
||||
set "Text2d::rect" "354 561 -572 60" ;
|
||||
transition "Button1::matcolor" "1 1 1 0" "1 1 1 0.9" "100" ;
|
||||
}
|
||||
onTime 125 {
|
||||
transition "Button2::matcolor" "1 1 1 0" "1 1 1 0.9" "100" ;
|
||||
}
|
||||
onTime 200 {
|
||||
transition "Button3::matcolor" "1 1 1 0" "1 1 1 0.4" "100" ;
|
||||
}
|
||||
onTime 275 {
|
||||
transition "Button4::matcolor" "1 1 1 0" "1 1 1 0.4" "100" ;
|
||||
}
|
||||
onTime 300 {
|
||||
transition "Button5::matcolor" "1 1 1 0" "1 1 1 0.9" "100" ;
|
||||
set "Button1::noevents" "0" ;
|
||||
set "Button2::noevents" "0" ;
|
||||
set "Button3::noevents" "0" ;
|
||||
set "Button4::noevents" "0" ;
|
||||
set "Button5::noevents" "0" ;
|
||||
}
|
||||
}
|
||||
|
||||
windowDef Click5 {
|
||||
notime 1
|
||||
|
||||
@@ -421,7 +1343,7 @@ windowDef Desktop {
|
||||
transition "Button1::matcolor" "1 1 1 0" "1 1 1 0.9" "100" ;
|
||||
}
|
||||
onTime 125 {
|
||||
transition "Button2::matcolor" "1 1 1 0" "1 1 1 0.4" "100" ;
|
||||
transition "Button2::matcolor" "1 1 1 0" "1 1 1 0.9" "100" ;
|
||||
}
|
||||
onTime 200 {
|
||||
transition "Button3::matcolor" "1 1 1 0" "1 1 1 0.4" "100" ;
|
||||
|
||||
@@ -320,7 +320,7 @@ void idGameLocal::Init( void ) {
|
||||
botItemTable = FindEntityDef("bot_itemtable", false);
|
||||
if (botItemTable == NULL)
|
||||
{
|
||||
common->FatalError("Failed to find bot_itemtable decl!\n");
|
||||
common->Warning("Failed to find bot_itemtable decl!\n");
|
||||
}
|
||||
|
||||
// init all the bot systems.
|
||||
|
||||
@@ -15,9 +15,9 @@
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LocalDebuggerCommand>D:\projects\Doom3\Doom3.exe</LocalDebuggerCommand>
|
||||
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||
<LocalDebuggerCommandArguments>+set r_fullscreen 0 +set r_mode 9 +set sv_pure 0</LocalDebuggerCommandArguments>
|
||||
<LocalDebuggerCommandArguments>+set r_fullscreen 0 +set r_mode 9 +set sv_pure 0 +set fs_game e3</LocalDebuggerCommandArguments>
|
||||
<LocalDebuggerWorkingDirectory>D:\projects\Doom3</LocalDebuggerWorkingDirectory>
|
||||
<LocalDebuggerCommandArgumentsHistory>+set r_fullscreen 1 +set r_mode 9|+set r_fullscreen 1 +set r_mode 11|+set r_fullscreen0 +set r_mode 9|+set r_fullscreen 0 +set r_mode 9|+set r_fullscreen 0 +set r_mode 9 +set sv_pure 0|</LocalDebuggerCommandArgumentsHistory>
|
||||
<LocalDebuggerCommandArgumentsHistory>+set r_fullscreen 1 +set r_mode 11|+set r_fullscreen0 +set r_mode 9|+set r_fullscreen 0 +set r_mode 9|+set r_fullscreen 0 +set r_mode 9 +set sv_pure 0|+set r_fullscreen 0 +set r_mode 9 +set sv_pure 0 +set fs_game e3|</LocalDebuggerCommandArgumentsHistory>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Q4 Debug|x64'">
|
||||
<LocalDebuggerCommand>D:\projects\Doom3\Quake4.exe</LocalDebuggerCommand>
|
||||
|
||||
@@ -257,6 +257,7 @@ public:
|
||||
public:
|
||||
static void MakeNameCanonical(const char* name, char* result, int maxLength);
|
||||
idDeclLocal* FindTypeWithoutParsing(declType_t type, const char* name, bool makeDefault = true);
|
||||
int GetDeclFilePriority(const idDeclFile* declFile) const;
|
||||
|
||||
idDeclType* GetDeclType(int type) const { return declTypes[type]; }
|
||||
const idDeclFile* GetImplicitDeclFile(void) const { return &implicitDecls; }
|
||||
@@ -716,15 +717,24 @@ int idDeclFile::LoadAndParse() {
|
||||
|
||||
declType_t identifiedType = DECL_MAX_TYPES;
|
||||
|
||||
if ( token.Icmp( "clampTable" ) == 0 || token.Icmp( "snapTable" ) == 0 || token.Icmp( "soundtable" ) == 0 ) {
|
||||
identifiedType = DECL_TABLE;
|
||||
}
|
||||
|
||||
// get the decl type from the type name
|
||||
numTypes = declManagerLocal.GetNumDeclTypes();
|
||||
for (i = 0; i < numTypes; i++) {
|
||||
idDeclType* typeInfo = declManagerLocal.GetDeclType(i);
|
||||
if (typeInfo && typeInfo->typeName.Icmp(token) == 0) {
|
||||
identifiedType = (declType_t)typeInfo->type;
|
||||
break;
|
||||
if ( identifiedType == DECL_MAX_TYPES ) {
|
||||
for (i = 0; i < numTypes; i++) {
|
||||
idDeclType* typeInfo = declManagerLocal.GetDeclType(i);
|
||||
if (typeInfo && typeInfo->typeName.Icmp(token) == 0) {
|
||||
identifiedType = (declType_t)typeInfo->type;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
i = 0;
|
||||
}
|
||||
|
||||
if (i >= numTypes) {
|
||||
|
||||
@@ -813,11 +823,29 @@ int idDeclFile::LoadAndParse() {
|
||||
newDecl = declManagerLocal.FindTypeWithoutParsing(identifiedType, name, false);
|
||||
if (newDecl) {
|
||||
// update the existing copy
|
||||
if (newDecl->sourceFile != this || newDecl->redefinedInReload) {
|
||||
if (newDecl->sourceFile == this && newDecl->redefinedInReload) {
|
||||
src.Warning("%s '%s' previously defined at %s:%i", declManagerLocal.GetDeclNameFromType(identifiedType),
|
||||
name.c_str(), newDecl->sourceFile->fileName.c_str(), newDecl->sourceLine);
|
||||
continue;
|
||||
}
|
||||
if (newDecl->sourceFile != this) {
|
||||
if (declManagerLocal.GetDeclFilePriority(this) < declManagerLocal.GetDeclFilePriority(newDecl->sourceFile)) {
|
||||
src.Warning("%s '%s' previously defined at %s:%i", declManagerLocal.GetDeclNameFromType(identifiedType),
|
||||
name.c_str(), newDecl->sourceFile->fileName.c_str(), newDecl->sourceLine);
|
||||
continue;
|
||||
}
|
||||
|
||||
idDeclLocal** prev = &newDecl->sourceFile->decls;
|
||||
while (*prev) {
|
||||
if (*prev == newDecl) {
|
||||
*prev = newDecl->nextInFile;
|
||||
break;
|
||||
}
|
||||
prev = &(*prev)->nextInFile;
|
||||
}
|
||||
newDecl->nextInFile = this->decls;
|
||||
this->decls = newDecl;
|
||||
}
|
||||
if (newDecl->declState != DS_UNPARSED) {
|
||||
reparse = true;
|
||||
}
|
||||
@@ -1364,30 +1392,15 @@ void idDeclManagerLocal::RegisterDeclType(const char* typeName, declType_t type,
|
||||
RegisterDeclSubFolder
|
||||
===================
|
||||
*/
|
||||
// jmarshall
|
||||
void idDeclManagerLocal::RegisterDeclSubFolder(const char* folder, const char* extension, idList<idStr>& fileList) {
|
||||
// Find all
|
||||
{
|
||||
idFileList* list = fileSystem->ListFiles(folder, extension, true);
|
||||
idFileList* list = fileSystem->ListFilesTree(folder, extension, false);
|
||||
|
||||
for (int d = 0; d < list->GetNumFiles(); d++)
|
||||
{
|
||||
fileList.Append(va("%s/%s", folder, list->GetFile(d)));
|
||||
}
|
||||
|
||||
fileSystem->FreeFileList(list);
|
||||
for (int i = 0; i < list->GetNumFiles(); i++) {
|
||||
fileList.Append(list->GetFile(i));
|
||||
}
|
||||
|
||||
idFileList* dirList = fileSystem->ListFiles(folder, "/", true);
|
||||
for (int i = 0; i < dirList->GetNumFiles(); i++)
|
||||
{
|
||||
idStr dir = va("%s/%s", folder, dirList->GetFile(i));
|
||||
RegisterDeclSubFolder(dir, extension, fileList);
|
||||
}
|
||||
|
||||
fileSystem->FreeFileList(dirList);
|
||||
fileSystem->FreeFileList(list);
|
||||
}
|
||||
// jmarshall end
|
||||
|
||||
/*
|
||||
===================
|
||||
@@ -1425,7 +1438,7 @@ void idDeclManagerLocal::RegisterDeclFolder(const char* folder, const char* exte
|
||||
// jmarshall end
|
||||
|
||||
// load and parse decl files
|
||||
for (i = 0; i < fileList.Num(); i++) {
|
||||
for (i = fileList.Num() - 1; i >= 0; i--) {
|
||||
// jmarshall
|
||||
//fileName = declFolder->folder + "/" + fileList[ i ];
|
||||
fileName = fileList[i];
|
||||
@@ -1448,6 +1461,25 @@ void idDeclManagerLocal::RegisterDeclFolder(const char* folder, const char* exte
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
===================
|
||||
idDeclManagerLocal::GetDeclFilePriority
|
||||
===================
|
||||
*/
|
||||
int idDeclManagerLocal::GetDeclFilePriority(const idDeclFile* declFile) const {
|
||||
if (declFile == &implicitDecls) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
for (int i = 0; i < loadedFiles.Num(); i++) {
|
||||
if (loadedFiles[i] == declFile) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
/*
|
||||
===================
|
||||
idDeclManagerLocal::GetChecksum
|
||||
@@ -3124,4 +3156,4 @@ const rvDeclEffect* idDeclManagerLocal::EffectByIndex(int index, bool forceParse
|
||||
return (const rvDeclEffect*)DeclByIndex(DECL_EFFECT, index, forceParse);
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -121,6 +121,13 @@ bool idDeclTable::Parse(const char* text, const int textLength) {
|
||||
snap = false;
|
||||
clamp = false;
|
||||
|
||||
if ( !idStr::Icmpn( text, "snapTable", 9 ) ) {
|
||||
snap = true;
|
||||
}
|
||||
else if ( !idStr::Icmpn( text, "clampTable", 10 ) ) {
|
||||
clamp = true;
|
||||
}
|
||||
|
||||
#ifdef QUAKE4
|
||||
minValue = idMath::INFINITY;
|
||||
maxValue = -1.0e30f;
|
||||
@@ -179,6 +186,45 @@ bool idDeclTable::Parse(const char* text, const int textLength) {
|
||||
}
|
||||
|
||||
}
|
||||
else if ( token.type == TT_NUMBER || token == "." || token == "-" ) {
|
||||
src.UnreadToken( &token );
|
||||
|
||||
while ( 1 ) {
|
||||
bool errorFlag;
|
||||
|
||||
v = src.ParseFloat( &errorFlag );
|
||||
if ( errorFlag ) {
|
||||
MakeDefault();
|
||||
return false;
|
||||
}
|
||||
|
||||
values.Append( v );
|
||||
|
||||
#ifdef QUAKE4
|
||||
if ( v < minValue ) {
|
||||
minValue = v;
|
||||
}
|
||||
if ( v > maxValue ) {
|
||||
maxValue = v;
|
||||
}
|
||||
#endif
|
||||
|
||||
if ( !src.ReadToken( &token ) ) {
|
||||
break;
|
||||
}
|
||||
if ( token == "}" ) {
|
||||
break;
|
||||
}
|
||||
if ( token == "," ) {
|
||||
continue;
|
||||
}
|
||||
src.Warning( "expected comma or brace" );
|
||||
MakeDefault();
|
||||
return false;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
else {
|
||||
src.Warning("unknown token '%s'", token.c_str());
|
||||
MakeDefault();
|
||||
|
||||
@@ -487,6 +487,23 @@ static infoParm_t infoParms[] = {
|
||||
|
||||
static const int numInfoParms = sizeof(infoParms) / sizeof(infoParms[0]);
|
||||
|
||||
/*
|
||||
===============
|
||||
idMaterial::ApplySurfaceParm
|
||||
|
||||
Alpha E3 materials commonly use the Quake/id Tech 3-style
|
||||
"surfaceparm <flag>" wrapper instead of Doom 3's direct material flags.
|
||||
===============
|
||||
*/
|
||||
static bool ApplySurfaceParm( idMaterial *material, idToken *token, materialCoverage_t &coverage ) {
|
||||
if ( !token->Icmp( "trans" ) ) {
|
||||
coverage = MC_TRANSLUCENT;
|
||||
return true;
|
||||
}
|
||||
|
||||
return material->CheckSurfaceParm( token );
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
===============
|
||||
@@ -2797,16 +2814,37 @@ void idMaterial::ParseMaterial(idLexer& src) {
|
||||
src.SkipRestOfLine();
|
||||
continue;
|
||||
}
|
||||
else if ( !token.Icmp( "qer_trans" ) ) {
|
||||
src.SkipRestOfLine();
|
||||
continue;
|
||||
}
|
||||
// description
|
||||
else if (!token.Icmp("description")) {
|
||||
src.ReadTokenOnLine(&token);
|
||||
desc = token.c_str();
|
||||
continue;
|
||||
}
|
||||
else if ( !token.Icmp( "surfaceparm" ) ) {
|
||||
if ( src.ReadTokenOnLine( &token ) && ApplySurfaceParm( this, &token, coverage ) ) {
|
||||
src.SkipRestOfLine();
|
||||
continue;
|
||||
}
|
||||
src.Warning( "unknown surfaceparm '%s' in '%s'", token.c_str(), GetName() );
|
||||
src.SkipRestOfLine();
|
||||
continue;
|
||||
}
|
||||
// check for the surface / content bit flags
|
||||
else if (CheckSurfaceParm(&token)) {
|
||||
continue;
|
||||
}
|
||||
else if ( !token.Icmp( "nodraw" ) ) {
|
||||
SetMaterialFlag( MF_NOSHADOWS );
|
||||
continue;
|
||||
}
|
||||
else if ( !token.Icmp( "trans" ) ) {
|
||||
coverage = MC_TRANSLUCENT;
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
// polygonOffset
|
||||
|
||||
@@ -563,6 +563,8 @@ public:
|
||||
//BSM Nerve: Added for material editor
|
||||
bool Save(const char* fileName = NULL);
|
||||
|
||||
bool CheckSurfaceParm(idToken* token);
|
||||
|
||||
// returns the internal image name for stage 0, which can be used
|
||||
// for the renderer CaptureRenderToImage() call
|
||||
// I'm not really sure why this needs to be virtual...
|
||||
@@ -899,7 +901,6 @@ private:
|
||||
void ParseStage(idLexer& src, const textureRepeat_t trpDefault = TR_REPEAT);
|
||||
void ParseDeform(idLexer& src);
|
||||
void ParseDecalInfo(idLexer& src);
|
||||
bool CheckSurfaceParm(idToken* token);
|
||||
int GetExpressionConstant(float f);
|
||||
int GetExpressionTemporary(void);
|
||||
expOp_t* GetExpressionOp(void);
|
||||
|
||||
Reference in New Issue
Block a user