diff --git a/Documentation/Materials/commands/rgbgen.md b/Documentation/Materials/commands/rgbgen.md index 71f3d39b..1e8672d7 100644 --- a/Documentation/Materials/commands/rgbgen.md +++ b/Documentation/Materials/commands/rgbgen.md @@ -22,8 +22,9 @@ entity, oneMinusEntity, fromVertex, and lightingDiffuse. Follow this up with a vector of the color that you'd like the vertex colors to be set as. An example for green would be: - -` rgbGen const 0.0 1.0 0.0` +``` + rgbGen const 0.0 1.0 0.0 +``` #### identityLighting {#identitylighting} diff --git a/Documentation/Materials/commands/skyparms.md b/Documentation/Materials/commands/skyparms.md index 74a04ac6..7b521f1f 100644 --- a/Documentation/Materials/commands/skyparms.md +++ b/Documentation/Materials/commands/skyparms.md @@ -31,22 +31,23 @@ clouds. This has not be tested in a long time, so it probably doesn't actually work. Set to "-" to ignore. ### Example Sky Material {#example_sky_material} - -`   // Vera Visions Material` -`   {` -`       qer_editorImage textures/skies/dune.tga` -`       skyParms textures/skies/dune/bg 256 -` -`       noPicMip` -`       noMipmaps` -`       ` -`       surfaceParm sky` -`       surfaceParm noimpact` -`       surfaceParm nolightmap` -`       surfaceParm nodlight` -`       {` -`           program skybox` -`           map $cube:textures/skies/dune/bg` -`           map textures/skies/clouds/dunecloud.tga` -`           map textures/skies/clouds/dunecloud_layer.tga` -`       }` -`   }` \ No newline at end of file +``` +   // Vera Visions Material +   { +       qer_editorImage textures/skies/dune.tga +       skyParms textures/skies/dune/bg 256 - +       noPicMip +       noMipmaps +        +       surfaceParm sky +       surfaceParm noimpact +       surfaceParm nolightmap +       surfaceParm nodlight +       { +           program skybox +           map $cube:textures/skies/dune/bg +           map textures/skies/clouds/dunecloud.tga +           map textures/skies/clouds/dunecloud_layer.tga +       } +   } +``` \ No newline at end of file diff --git a/Documentation/Materials/commands/tcmod.md b/Documentation/Materials/commands/tcmod.md index 55511968..0d21de44 100644 --- a/Documentation/Materials/commands/tcmod.md +++ b/Documentation/Materials/commands/tcmod.md @@ -21,8 +21,10 @@ precision, and that can disturb other operations. Texture coordinates are modified in the order in which **tcMods** are specified. In otherwords, if you see: -` tcMod scale 0.5 0.5` -` tcMod scroll 1 1` +``` + tcMod scale 0.5 0.5 + tcMod scroll 1 1 +``` Then the texture coordinates will be **scaled then**scrolled'''. diff --git a/Documentation/style.css b/Documentation/style.css new file mode 100644 index 00000000..3d392928 --- /dev/null +++ b/Documentation/style.css @@ -0,0 +1,1877 @@ +/* The standard CSS for doxygen 1.9.3 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +p.reference, p.definition { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +ul.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; + column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +th p.starttd, th p.intertd, th p.endtd { + font-size: 100%; + font-weight: 700; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +p.interli { +} + +p.interdd { +} + +p.intertd { +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.navtab { + border-right: 1px solid #A3B4D7; + padding-right: 15px; + text-align: right; + line-height: 110%; +} + +div.navtab table { + border-spacing: 0; +} + +td.navtab { + padding-right: 6px; + padding-left: 6px; +} +td.navtabHL { + background-image: none; + background-repeat:repeat-x; + padding-right: 6px; + padding-left: 6px; +} + +td.navtabHL a, td.navtabHL a:visited { + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} + +a.navtab { + font-weight: bold; +} + +div.qindex{ + text-align: center; + width: 100%; + line-height: 140%; + font-size: 130%; + color: #A0A0A0; +} + +dt.alphachar{ + font-size: 180%; + font-weight: bold; +} + +.alphachar a{ + color: black; +} + +.alphachar a:hover, .alphachar a:visited{ + text-decoration: none; +} + +.classindex dl { + padding: 25px; + column-count:1 +} + +.classindex dd { + display:inline-block; + margin-left: 50px; + width: 90%; + line-height: 1.15em; +} + +.classindex dl.odd { + background-color: #F8F9FC; +} + +@media(min-width: 1120px) { + .classindex dl { + column-count:2 + } +} + +@media(min-width: 1320px) { + .classindex dl { + column-count:3 + } +} + + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +.contents a.qindexHL:visited { + color: #FFFFFF; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +a.code.hl_class { /* style for links to class names in code snippets */ } +a.code.hl_struct { /* style for links to struct names in code snippets */ } +a.code.hl_union { /* style for links to union names in code snippets */ } +a.code.hl_interface { /* style for links to interface names in code snippets */ } +a.code.hl_protocol { /* style for links to protocol names in code snippets */ } +a.code.hl_category { /* style for links to category names in code snippets */ } +a.code.hl_exception { /* style for links to exception names in code snippets */ } +a.code.hl_service { /* style for links to service names in code snippets */ } +a.code.hl_singleton { /* style for links to singleton names in code snippets */ } +a.code.hl_concept { /* style for links to concept names in code snippets */ } +a.code.hl_namespace { /* style for links to namespace names in code snippets */ } +a.code.hl_package { /* style for links to package names in code snippets */ } +a.code.hl_define { /* style for links to macro names in code snippets */ } +a.code.hl_function { /* style for links to function names in code snippets */ } +a.code.hl_variable { /* style for links to variable names in code snippets */ } +a.code.hl_typedef { /* style for links to typedef names in code snippets */ } +a.code.hl_enumvalue { /* style for links to enum value names in code snippets */ } +a.code.hl_enumeration { /* style for links to enumeration names in code snippets */ } +a.code.hl_signal { /* style for links to Qt signal names in code snippets */ } +a.code.hl_slot { /* style for links to Qt slot names in code snippets */ } +a.code.hl_friend { /* style for links to friend names in code snippets */ } +a.code.hl_dcop { /* style for links to KDE3 DCOP names in code snippets */ } +a.code.hl_property { /* style for links to property names in code snippets */ } +a.code.hl_event { /* style for links to event names in code snippets */ } +a.code.hl_sequence { /* style for links to sequence names in code snippets */ } +a.code.hl_dictionary { /* style for links to dictionary names in code snippets */ } + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +ul { + overflow: visible; +} + +#side-nav ul { + overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ +} + +#main-nav ul { + overflow: visible; /* reset ul rule for the navigation bar drop down lists */ +} + +.fragment { + text-align: left; + direction: ltr; + overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ + overflow-y: hidden; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + margin-right: 9px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #FFFFFF; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: none; +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl, img.inline { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +.compoundTemplParams { + color: #4665A2; + font-size: 80%; + line-height: 120%; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +blockquote.DocNodeRTL { + border-left: 0; + border-right: 2px solid #9CAFD4; + margin: 0 4px 0 24px; + padding: 0 16px 0 12px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight, .memTemplItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: none; + background-repeat: repeat-x; + background-color: #E2E8F2; + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #DFE5F1; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + +} + +.overload { + font-family: "courier new",courier,monospace; + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image: none; + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype, .tparams .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir, .tparams .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #9CAFD4; + border-bottom: 1px solid #9CAFD4; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +.arrow { + color: #9CAFD4; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #728DC1; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image: none; + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: none; + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image: none; + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image: none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image: none; + background-repeat:repeat-x; + background-color: white; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +.PageDocRTL-title div.headertitle { + text-align: right; + direction: rtl; +} + +dl { + padding: 0 0 0 0; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */ +dl.section { + margin-left: 0px; + padding-left: 0px; +} + +dl.section.DocNodeRTL { + margin-right: 0px; + padding-right: 0px; +} + +dl.note { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #D0C000; +} + +dl.note.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #FF0000; +} + +dl.warning.DocNodeRTL, dl.attention.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00D000; +} + +dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #00D000; +} + +dl.deprecated { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #505050; +} + +dl.deprecated.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #505050; +} + +dl.todo { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00C0E0; +} + +dl.todo.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #00C0E0; +} + +dl.test { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #3030E0; +} + +dl.test.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #3030E0; +} + +dl.bug { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #C08050; +} + +dl.bug.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectrow +{ + height: 56px; +} + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; + padding-left: 0.5em; +} + +#projectname +{ + font: 200% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 90% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; + text-align:right; + width:52px; +} + +dl.citelist dd { + margin:2px 0 2px 72px; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +.PageDocRTL-title div.toc { + float: left !important; + text-align: right; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +.PageDocRTL-title div.toc li { + background-position-x: right !important; + padding-left: 0 !important; + padding-right: 10px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +span.emoji { + /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html + * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort; + */ +} + +span.obfuscator { + display: none; +} + +.PageDocRTL-title div.toc li.level1 { + margin-left: 0 !important; + margin-right: 0; +} + +.PageDocRTL-title div.toc li.level2 { + margin-left: 0 !important; + margin-right: 15px; +} + +.PageDocRTL-title div.toc li.level3 { + margin-left: 0 !important; + margin-right: 30px; +} + +.PageDocRTL-title div.toc li.level4 { + margin-left: 0 !important; + margin-right: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + /*white-space: nowrap;*/ + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #FFFFFF; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #FFFFFF; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #FFFFFF; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #FFFFFF; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + +.DocNodeRTL { + text-align: right; + direction: rtl; +} + +.DocNodeLTR { + text-align: left; + direction: ltr; +} + +table.DocNodeRTL { + width: auto; + margin-right: 0; + margin-left: auto; +} + +table.DocNodeLTR { + width: auto; + margin-right: auto; + margin-left: 0; +} + +code.JavaDocCode + direction:ltr; +} + +tt, code, kbd, samp +{ + display: inline-block; + direction:ltr; +} +/* @end */ + +u { + text-decoration: underline; +} + +.tabs, .tabs2, .tabs3 { + background-image: none; +} + +.tablist li { + background-image: none; +} + +.tablist a:hover { + background-image: none; + background-color: #283A5D; + color: white; + text-shadow: none; +} + +.tablist li.current a { + background-image: none; + background-color: #283A5D; + color: white; + text-shadow: none; +} + +#nav-tree { + background-image: none; + background-color: white; +} + +#nav-tree .selected { + background-image: none; + background-color: #283A5D; +} + +.ui-resizable-e { + background-image: none; + background-color: #283A5D; + width: 1px; +} diff --git a/Doxyfile b/Doxyfile index 655406ce..5ef9c166 100644 --- a/Doxyfile +++ b/Doxyfile @@ -1230,7 +1230,7 @@ HTML_FOOTER = # obsolete. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_STYLESHEET = +HTML_STYLESHEET = Documentation/style.css # The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined # cascading style sheets that are included after the standard style sheets diff --git a/src/client/cmd.qc b/src/client/cmd.qc index c6a934f7..bb91decb 100644 --- a/src/client/cmd.qc +++ b/src/client/cmd.qc @@ -147,7 +147,7 @@ CMD_ListModels(void) int i = 0i; int actual_count = 0i; - for (int i = -4096; i < 4096; i++) { + for (i = -4096; i < 4096; i++) { tmp = modelnameforindex(i); if (strlen(tmp) > 1) { @@ -168,7 +168,7 @@ CMD_ListSounds(void) float length; float total_length = 0.0f; - for (int i = 0; i < 4096; i++) { + for (i = 0; i < 4096; i++) { tmp = soundnameforindex(i); length = soundlength(tmp); @@ -189,7 +189,7 @@ CMD_ListParticles(void) int i = 0i; int actual_count = 0i; - for (int i = -4096; i < 4096; i++) { + for (i = -4096; i < 4096; i++) { tmp = particleeffectquery(i, 0); if (strlen(tmp) > 1) { diff --git a/src/gs-entbase/server/button_target.qc b/src/gs-entbase/server/button_target.qc index e2845f00..30139080 100644 --- a/src/gs-entbase/server/button_target.qc +++ b/src/gs-entbase/server/button_target.qc @@ -44,7 +44,7 @@ public: void button_target(void); virtual void Respawn(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity,triggermode_t); virtual void Damage(void); }; @@ -80,7 +80,7 @@ button_target::Respawn(void) } void -button_target::Trigger(entity act, int status) +button_target::Trigger(entity act, triggermode_t status) { /* make unusable */ PlayerUse = __NULL__; diff --git a/src/gs-entbase/server/cycler.qc b/src/gs-entbase/server/cycler.qc index 0ede7bc1..5dedaafb 100644 --- a/src/gs-entbase/server/cycler.qc +++ b/src/gs-entbase/server/cycler.qc @@ -41,7 +41,6 @@ public: virtual void Respawn(void); virtual void Pain(void); - }; void diff --git a/src/gs-entbase/server/env_beverage.qc b/src/gs-entbase/server/env_beverage.qc index 208ea3e2..a7fdc7b5 100644 --- a/src/gs-entbase/server/env_beverage.qc +++ b/src/gs-entbase/server/env_beverage.qc @@ -66,7 +66,7 @@ public: virtual void Restore(string,string); virtual void SpawnKey(string,string); virtual void Spawned(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); private: int m_iUses; @@ -140,7 +140,7 @@ env_beverage::Spawned(void) } void -env_beverage::Trigger(entity act, int unused) +env_beverage::Trigger(entity act, triggermode_t unused) { if (m_bReady == false || m_iUses <= 0) { return; diff --git a/src/gs-entbase/server/env_explosion.qc b/src/gs-entbase/server/env_explosion.qc index 17b7db82..168fa95f 100644 --- a/src/gs-entbase/server/env_explosion.qc +++ b/src/gs-entbase/server/env_explosion.qc @@ -58,7 +58,7 @@ public: /* overrides */ virtual void Save(float); virtual void Restore(string,string); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void SpawnKey(string,string); virtual void Respawn(void); @@ -118,7 +118,7 @@ env_explosion::Respawn(void) } void -env_explosion::Trigger(entity act, int state) +env_explosion::Trigger(entity act, triggermode_t state) { FX_Explosion(origin); diff --git a/src/gs-entbase/server/env_fade.qc b/src/gs-entbase/server/env_fade.qc index a6cf8539..e76062da 100644 --- a/src/gs-entbase/server/env_fade.qc +++ b/src/gs-entbase/server/env_fade.qc @@ -54,7 +54,7 @@ public: /* overrides */ virtual void Save(float); virtual void Restore(string,string); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void SpawnKey(string,string); }; @@ -104,7 +104,7 @@ env_fade::SpawnKey(string strKey, string strValue) } void -env_fade::Trigger(entity eAct, int iState) +env_fade::Trigger(entity eAct, triggermode_t iState) { /* Half-Life ignores states entirely for env_fade's being triggered */ WriteByte(MSG_MULTICAST, SVC_CGAMEPACKET); diff --git a/src/gs-entbase/server/env_global.qc b/src/gs-entbase/server/env_global.qc index 08f52aac..9647a98a 100644 --- a/src/gs-entbase/server/env_global.qc +++ b/src/gs-entbase/server/env_global.qc @@ -48,7 +48,7 @@ public: virtual void Restore(string,string); virtual void SpawnKey(string,string); virtual void Spawned(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual int GlobalPresent(string); virtual void AddNewGlobal(string,globalstate_t); @@ -119,7 +119,7 @@ env_global::Spawned(void) } void -env_global::Trigger(entity act, int state) +env_global::Trigger(entity act, triggermode_t state) { globalstate_t iOldValue = GetGlobalValue(m_strGlobalState); globalstate_t newValue = 0; diff --git a/src/gs-entbase/server/env_hudhint.qc b/src/gs-entbase/server/env_hudhint.qc index b9daede7..ecd4312f 100644 --- a/src/gs-entbase/server/env_hudhint.qc +++ b/src/gs-entbase/server/env_hudhint.qc @@ -51,7 +51,7 @@ public: virtual void Save(float); virtual void Restore(string,string); virtual void SpawnKey(string,string); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); }; @@ -93,7 +93,7 @@ env_hudhint::SpawnKey(string strKey, string strValue) } void -env_hudhint::Trigger(entity act, int state) +env_hudhint::Trigger(entity act, triggermode_t state) { env_hudhint_send(act, m_strMessage, spawnflags); } diff --git a/src/gs-entbase/server/env_message.qc b/src/gs-entbase/server/env_message.qc index c043ccc9..d22e560d 100644 --- a/src/gs-entbase/server/env_message.qc +++ b/src/gs-entbase/server/env_message.qc @@ -55,7 +55,7 @@ public: virtual void SpawnKey(string,string); virtual void Respawn(void); - virtual void Play(entity,int); + virtual void Play(entity, triggermode_t); }; @@ -119,7 +119,7 @@ env_message::Respawn(void) } void -env_message::Play(entity act, int state) +env_message::Play(entity act, triggermode_t state) { WriteByte(MSG_MULTICAST, SVC_CGAMEPACKET); WriteByte(MSG_MULTICAST, EV_MESSAGE); diff --git a/src/gs-entbase/server/env_render.qc b/src/gs-entbase/server/env_render.qc index 3fc482d6..d6776855 100644 --- a/src/gs-entbase/server/env_render.qc +++ b/src/gs-entbase/server/env_render.qc @@ -81,7 +81,7 @@ env_render:NSRenderableEntity public: void env_render(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); }; @@ -91,7 +91,7 @@ env_render::env_render(void) } void -env_render::Trigger(entity act, int state) +env_render::Trigger(entity act, triggermode_t state) { for (entity e = world; (e = find(e, ::targetname, target));) { diff --git a/src/gs-entbase/server/env_shake.qc b/src/gs-entbase/server/env_shake.qc index 4780f10e..7dd8b7da 100644 --- a/src/gs-entbase/server/env_shake.qc +++ b/src/gs-entbase/server/env_shake.qc @@ -49,7 +49,7 @@ public: virtual void Save(float); virtual void Restore(string,string); virtual void SpawnKey(string,string); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); }; @@ -115,7 +115,7 @@ env_shake::SpawnKey(string strKey, string strValue) } void -env_shake::Trigger(entity act, int state) +env_shake::Trigger(entity act, triggermode_t state) { Client_ShakeOnce(origin, m_flRadius, m_flDuration, m_flFrequency, m_flAmplitude); } diff --git a/src/gs-entbase/server/env_shooter.qc b/src/gs-entbase/server/env_shooter.qc index bccb2b77..be4b3103 100644 --- a/src/gs-entbase/server/env_shooter.qc +++ b/src/gs-entbase/server/env_shooter.qc @@ -60,7 +60,7 @@ public: virtual void SpawnKey(string,string); virtual void Respawn(void); virtual void ShootGib(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); }; @@ -213,7 +213,7 @@ env_shooter::ShootGib(void) } void -env_shooter::Trigger(entity act, int state) +env_shooter::Trigger(entity act, triggermode_t state) { switch (state) { case TRIG_OFF: diff --git a/src/gs-entbase/server/env_spark.qc b/src/gs-entbase/server/env_spark.qc index d0d4bdfc..21613c26 100644 --- a/src/gs-entbase/server/env_spark.qc +++ b/src/gs-entbase/server/env_spark.qc @@ -60,7 +60,7 @@ public: virtual void SpawnKey(string,string); virtual void Spawned(void); virtual void Respawn(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void CreateSpark(void); virtual void TimedSpark(void); @@ -124,7 +124,7 @@ env_spark::Respawn(void) } void -env_spark::Trigger(entity act, int state) +env_spark::Trigger(entity act, triggermode_t state) { if (!HasSpawnFlags(EVSPARK_TOGGLE)) { CreateSpark(); diff --git a/src/gs-entbase/server/func_areaportal.qc b/src/gs-entbase/server/func_areaportal.qc index 2bd78bf4..9a5c53bb 100644 --- a/src/gs-entbase/server/func_areaportal.qc +++ b/src/gs-entbase/server/func_areaportal.qc @@ -43,7 +43,7 @@ public: /* overrides */ virtual void Respawn(void); virtual void SpawnKey(string,string); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void Input(entity,string,string); virtual void PortalOpen(void); @@ -86,7 +86,7 @@ func_areaportal::SpawnKey(string strKey, string strValue) } void -func_areaportal::Trigger(entity act, int state) +func_areaportal::Trigger(entity act, triggermode_t state) { if (state == TRIG_OFF) { PortalClose(); diff --git a/src/gs-entbase/server/func_breakable.qc b/src/gs-entbase/server/func_breakable.qc index 7f826d9c..fc097142 100644 --- a/src/gs-entbase/server/func_breakable.qc +++ b/src/gs-entbase/server/func_breakable.qc @@ -139,7 +139,7 @@ public: virtual void Respawn(void); virtual void Pain(void); virtual void Death(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void Explode(void); virtual void Touch(entity); @@ -355,7 +355,7 @@ func_breakable::Death(void) } void -func_breakable::Trigger(entity act, int state) +func_breakable::Trigger(entity act, triggermode_t state) { if (GetHealth() > 0) Death(); diff --git a/src/gs-entbase/server/func_brush.qc b/src/gs-entbase/server/func_brush.qc index 23a2a469..d41b82de 100644 --- a/src/gs-entbase/server/func_brush.qc +++ b/src/gs-entbase/server/func_brush.qc @@ -50,7 +50,7 @@ public: virtual void Save(float); virtual void Restore(string,string); virtual void Respawn(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void SpawnKey(string,string); }; @@ -123,7 +123,7 @@ func_brush::Respawn(void) } void -func_brush::Trigger(entity act, int state) +func_brush::Trigger(entity act, triggermode_t state) { /* collision */ switch (m_iSolidity) { diff --git a/src/gs-entbase/server/func_button.qc b/src/gs-entbase/server/func_button.qc index 96e23e89..ee6b9bac 100644 --- a/src/gs-entbase/server/func_button.qc +++ b/src/gs-entbase/server/func_button.qc @@ -117,7 +117,7 @@ public: virtual void MoveAway(void); virtual void Touch(entity); virtual void Blocked(entity); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void DeathTrigger(void); virtual void PlayerUse(void); virtual void SetMovementDirection(void); @@ -412,7 +412,7 @@ func_button::MoveAway(void) /* TODO: Handle state */ void -func_button::Trigger(entity act, int state) +func_button::Trigger(entity act, triggermode_t state) { if (GetMaster() == FALSE) return; diff --git a/src/gs-entbase/server/func_conveyor.qc b/src/gs-entbase/server/func_conveyor.qc index 60069f82..65f37016 100644 --- a/src/gs-entbase/server/func_conveyor.qc +++ b/src/gs-entbase/server/func_conveyor.qc @@ -45,7 +45,7 @@ public: virtual void Save(float); virtual void Restore(string,string); virtual void Respawn(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void Touch(entity); virtual void SetMovementDirection(void); virtual void Input(entity, string, string); @@ -143,7 +143,7 @@ func_conveyor::Touch(entity eToucher) } void -func_conveyor::Trigger(entity act, int state) +func_conveyor::Trigger(entity act, triggermode_t state) { switch (state) { case TRIG_ON: diff --git a/src/gs-entbase/server/func_door.qc b/src/gs-entbase/server/func_door.qc index b3e080af..8e6a7dfd 100644 --- a/src/gs-entbase/server/func_door.qc +++ b/src/gs-entbase/server/func_door.qc @@ -88,7 +88,7 @@ public: virtual void Arrived(void); virtual void Returned(void); virtual void Respawn(void); - virtual void Trigger(entity, int); + virtual void Trigger(entity, triggermode_t); virtual void Blocked(entity); virtual void Touch(entity); virtual void PlayerUse(void); @@ -560,7 +560,7 @@ func_door::MoveAway(void) } void -func_door::Trigger(entity act, int triggerstate) +func_door::Trigger(entity act, triggermode_t triggerstate) { if (GetMaster() == 0) return; diff --git a/src/gs-entbase/server/func_door_rotating.qc b/src/gs-entbase/server/func_door_rotating.qc index 32dac4d2..2a039219 100644 --- a/src/gs-entbase/server/func_door_rotating.qc +++ b/src/gs-entbase/server/func_door_rotating.qc @@ -104,7 +104,7 @@ public: virtual void Returned(void); virtual void Back(void); virtual void Away(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void Use(void); virtual void Touch(entity); virtual void Blocked(entity); @@ -506,7 +506,7 @@ func_door_rotating::Away(void) } void -func_door_rotating::Trigger(entity act, int state) +func_door_rotating::Trigger(entity act, triggermode_t state) { if (GetMaster() == FALSE) { return; diff --git a/src/gs-entbase/server/func_guntarget.qc b/src/gs-entbase/server/func_guntarget.qc index 0310a5a3..765094fc 100644 --- a/src/gs-entbase/server/func_guntarget.qc +++ b/src/gs-entbase/server/func_guntarget.qc @@ -46,7 +46,7 @@ public: virtual void SpawnKey(string,string); virtual void Spawned(void); virtual void Respawn(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void Death(void); virtual void NextPath(void); @@ -227,7 +227,7 @@ func_guntarget::Stop(void) } void -func_guntarget::Trigger(entity act, int state) +func_guntarget::Trigger(entity act, triggermode_t state) { switch (state) { case TRIG_OFF: diff --git a/src/gs-entbase/server/func_mortar_field.qc b/src/gs-entbase/server/func_mortar_field.qc index 3cae31ad..50eafd3f 100644 --- a/src/gs-entbase/server/func_mortar_field.qc +++ b/src/gs-entbase/server/func_mortar_field.qc @@ -57,7 +57,7 @@ public: /* overrides */ virtual void Save(float); virtual void Restore(string,string); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void Respawn(void); virtual void SpawnKey(string,string); @@ -228,7 +228,7 @@ func_mortar_field::FireControlled(void) } void -func_mortar_field::Trigger(entity act, int state) +func_mortar_field::Trigger(entity act, triggermode_t state) { switch (m_iType) { case 0: diff --git a/src/gs-entbase/server/func_pendulum.qc b/src/gs-entbase/server/func_pendulum.qc index c205fc21..9ed6f792 100644 --- a/src/gs-entbase/server/func_pendulum.qc +++ b/src/gs-entbase/server/func_pendulum.qc @@ -64,7 +64,7 @@ public: virtual void Restore(string,string); virtual void SpawnKey(string,string); virtual void Respawn(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void customphysics(void); }; @@ -141,7 +141,7 @@ func_pendulum::Respawn(void) } void -func_pendulum::Trigger(entity act, int state) +func_pendulum::Trigger(entity act, triggermode_t state) { switch (state) { case TRIG_OFF: diff --git a/src/gs-entbase/server/func_plat.qc b/src/gs-entbase/server/func_plat.qc index b6ca9f32..3bbcb0da 100644 --- a/src/gs-entbase/server/func_plat.qc +++ b/src/gs-entbase/server/func_plat.qc @@ -58,7 +58,7 @@ public: virtual void Save(float); virtual void Restore(string,string); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void Respawn(void); virtual void Touch(entity); virtual void SpawnKey(string,string); @@ -179,7 +179,7 @@ func_plat::MoveToggle(void) } void -func_plat::Trigger(entity act, int state) +func_plat::Trigger(entity act, triggermode_t state) { if (HasSpawnFlags(FNCPLAT_TRIGGER)) return; diff --git a/src/gs-entbase/server/func_platrot.qc b/src/gs-entbase/server/func_platrot.qc index ba160e71..1c9c1d26 100644 --- a/src/gs-entbase/server/func_platrot.qc +++ b/src/gs-entbase/server/func_platrot.qc @@ -61,7 +61,7 @@ public: virtual void Save(float); virtual void Restore(string,string); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void Respawn(void); virtual void Touch(entity); virtual void SpawnKey(string,string); @@ -222,7 +222,7 @@ func_platrot::MoveToggle(void) } void -func_platrot::Trigger(entity act, int state) +func_platrot::Trigger(entity act, triggermode_t state) { if (HasSpawnFlags(FNCPLAT_TRIGGER)) return; diff --git a/src/gs-entbase/server/func_rotating.qc b/src/gs-entbase/server/func_rotating.qc index 75c54046..92dffa73 100644 --- a/src/gs-entbase/server/func_rotating.qc +++ b/src/gs-entbase/server/func_rotating.qc @@ -79,7 +79,7 @@ public: virtual void Restore(string,string); virtual void SpawnKey(string,string); virtual void Respawn(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void Rotate(void); virtual void Blocked(entity); @@ -171,7 +171,7 @@ func_rotating::Respawn(void) /* TODO: Handle state */ void -func_rotating::Trigger(entity act, int state) +func_rotating::Trigger(entity act, triggermode_t state) { if (vlen(avelocity) > 0) { ClearVelocity(); diff --git a/src/gs-entbase/server/func_tracktrain.qc b/src/gs-entbase/server/func_tracktrain.qc index d51d084e..660d1c64 100644 --- a/src/gs-entbase/server/func_tracktrain.qc +++ b/src/gs-entbase/server/func_tracktrain.qc @@ -69,7 +69,7 @@ public: virtual void SpawnKey(string,string); virtual void Spawned(void); virtual void Respawn(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void SoundMove(void); virtual void SoundStop(void); @@ -351,7 +351,7 @@ func_tracktrain::PathNext(void) /* TODO: Handle state? */ void -func_tracktrain::Trigger(entity act, int state) +func_tracktrain::Trigger(entity act, triggermode_t state) { PathMove(); } diff --git a/src/gs-entbase/server/func_train.qc b/src/gs-entbase/server/func_train.qc index 1d3c12b6..b0b0748e 100644 --- a/src/gs-entbase/server/func_train.qc +++ b/src/gs-entbase/server/func_train.qc @@ -72,7 +72,7 @@ public: virtual void SpawnKey(string,string); virtual void Spawned(void); virtual void Respawn(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void SoundMove(void); virtual void SoundStop(void); @@ -304,7 +304,7 @@ func_train::PathNext(void) /* TODO: Handle state? */ void -func_train::Trigger(entity act, int state) +func_train::Trigger(entity act, triggermode_t state) { PathMove(); } diff --git a/src/gs-entbase/server/func_wall_toggle.qc b/src/gs-entbase/server/func_wall_toggle.qc index c4fdc1fb..6918c14c 100644 --- a/src/gs-entbase/server/func_wall_toggle.qc +++ b/src/gs-entbase/server/func_wall_toggle.qc @@ -44,7 +44,7 @@ public: virtual void Save(float); virtual void Restore(string,string); virtual void Respawn(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void Input(entity,string,string); }; @@ -97,7 +97,7 @@ func_wall_toggle::Respawn(void) } void -func_wall_toggle::Trigger(entity act, int state) +func_wall_toggle::Trigger(entity act, triggermode_t state) { switch (state) { case TRIG_OFF: diff --git a/src/gs-entbase/server/game_counter.qc b/src/gs-entbase/server/game_counter.qc index 22661cf9..e18258e5 100644 --- a/src/gs-entbase/server/game_counter.qc +++ b/src/gs-entbase/server/game_counter.qc @@ -53,7 +53,7 @@ public: /* overrides */ virtual void Save(float); virtual void Restore(string,string); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void Respawn(void); virtual void SpawnKey(string,string); @@ -133,7 +133,7 @@ game_counter::GetCount(void) } void -game_counter::Trigger(entity act, int state) +game_counter::Trigger(entity act, triggermode_t state) { if (GetMaster() == FALSE) return; diff --git a/src/gs-entbase/server/game_counter_set.qc b/src/gs-entbase/server/game_counter_set.qc index 3413912d..0ad5a9cc 100644 --- a/src/gs-entbase/server/game_counter_set.qc +++ b/src/gs-entbase/server/game_counter_set.qc @@ -46,7 +46,7 @@ public: virtual void Save(float); virtual void Restore(string,string); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void Respawn(void); virtual void SpawnKey(string,string); @@ -96,7 +96,7 @@ game_counter_set::Respawn(void) } void -game_counter_set::Trigger(entity act, int state) +game_counter_set::Trigger(entity act, triggermode_t state) { if (GetMaster() == FALSE) return; diff --git a/src/gs-entbase/server/game_player_equip.qc b/src/gs-entbase/server/game_player_equip.qc index dbbe8f57..867137b2 100644 --- a/src/gs-entbase/server/game_player_equip.qc +++ b/src/gs-entbase/server/game_player_equip.qc @@ -56,7 +56,7 @@ public: virtual void Save(float); virtual void Restore(string,string); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void SpawnKey(string,string); virtual void SpawnUnit(string,vector); @@ -136,7 +136,7 @@ game_player_equip::SpawnUnit(string cname, vector org) } void -game_player_equip::Trigger(entity act, int state) +game_player_equip::Trigger(entity act, triggermode_t state) { int total, i, count, x; string cname; diff --git a/src/gs-entbase/server/game_text.qc b/src/gs-entbase/server/game_text.qc index 6c048150..2fdb6788 100644 --- a/src/gs-entbase/server/game_text.qc +++ b/src/gs-entbase/server/game_text.qc @@ -66,7 +66,7 @@ public: virtual void Save(float); virtual void Restore(string,string); virtual void SpawnKey(string,string); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); }; @@ -180,7 +180,7 @@ game_text::SpawnKey(string strKey, string strValue) } void -game_text::Trigger(entity act, int state) +game_text::Trigger(entity act, triggermode_t state) { WriteByte(MSG_MULTICAST, SVC_CGAMEPACKET); WriteByte(MSG_MULTICAST, EV_TEXT); diff --git a/src/gs-entbase/server/infodecal.qc b/src/gs-entbase/server/infodecal.qc index e77d4802..21a78cad 100644 --- a/src/gs-entbase/server/infodecal.qc +++ b/src/gs-entbase/server/infodecal.qc @@ -50,7 +50,7 @@ public: virtual void SpawnKey(string,string); virtual void Respawn(void); virtual void Spawned(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); }; @@ -134,7 +134,7 @@ infodecal::Respawn(void) } void -infodecal::Trigger(entity act, int state) +infodecal::Trigger(entity act, triggermode_t state) { switch (state) { case TRIG_OFF: diff --git a/src/gs-entbase/server/light.qc b/src/gs-entbase/server/light.qc index c96adad0..d03bcea7 100644 --- a/src/gs-entbase/server/light.qc +++ b/src/gs-entbase/server/light.qc @@ -84,7 +84,7 @@ public: virtual void Spawned(void); virtual void Respawn(void); virtual void RestoreComplete(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); }; @@ -215,7 +215,7 @@ light::Respawn(void) } void -light::Trigger(entity act, int state) +light::Trigger(entity act, triggermode_t state) { switch (state) { case TRIG_OFF: diff --git a/src/gs-entbase/server/monstermaker.qc b/src/gs-entbase/server/monstermaker.qc index 1f77aec4..12df4b4d 100644 --- a/src/gs-entbase/server/monstermaker.qc +++ b/src/gs-entbase/server/monstermaker.qc @@ -64,7 +64,7 @@ public: virtual void Restore(string,string); virtual void SpawnKey(string,string); virtual void Respawn(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void Spawner(void); virtual void TurnOn(void); @@ -263,7 +263,7 @@ monstermaker::Spawner(void) } void -monstermaker::Trigger(entity act, int state) +monstermaker::Trigger(entity act, triggermode_t state) { switch (state) { case TRIG_OFF: diff --git a/src/gs-entbase/server/multi_manager.qc b/src/gs-entbase/server/multi_manager.qc index 0ff26a6f..53a024bc 100644 --- a/src/gs-entbase/server/multi_manager.qc +++ b/src/gs-entbase/server/multi_manager.qc @@ -101,7 +101,7 @@ public: virtual void SpawnKey(string,string); virtual void Spawned(void); virtual void Respawn(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); }; void @@ -287,7 +287,7 @@ multi_manager::Respawn(void) } void -multi_manager::Trigger(entity act, int state) +multi_manager::Trigger(entity act, triggermode_t state) { static void mm_enttrigger (void) { multi_manager_sub wow = (multi_manager_sub)self; diff --git a/src/gs-entbase/server/multisource.qc b/src/gs-entbase/server/multisource.qc index 79642358..9fe95e1b 100644 --- a/src/gs-entbase/server/multisource.qc +++ b/src/gs-entbase/server/multisource.qc @@ -38,7 +38,7 @@ public: virtual void Respawn(void); virtual int QueryTargets(void); virtual int GetValue(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); }; @@ -54,7 +54,7 @@ multisource::Respawn(void) } void -multisource::Trigger(entity act, int unused) +multisource::Trigger(entity act, triggermode_t unused) { if (QueryTargets() == FALSE) { NSLog("[^1MULTISOURCE^7] %s is inactive.", targetname); diff --git a/src/gs-entbase/server/path_corner.qc b/src/gs-entbase/server/path_corner.qc index 6684d3b6..d145be3f 100644 --- a/src/gs-entbase/server/path_corner.qc +++ b/src/gs-entbase/server/path_corner.qc @@ -61,7 +61,7 @@ public: virtual void Restore(string,string); virtual void SpawnKey(string,string); virtual void Respawn(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); }; @@ -139,7 +139,7 @@ path_corner::Respawn(void) } void -path_corner::Trigger(entity act, int state) +path_corner::Trigger(entity act, triggermode_t state) { entity a; diff --git a/src/gs-entbase/server/player_loadsaved.qc b/src/gs-entbase/server/player_loadsaved.qc index f772ff20..a001bd22 100644 --- a/src/gs-entbase/server/player_loadsaved.qc +++ b/src/gs-entbase/server/player_loadsaved.qc @@ -47,7 +47,7 @@ public: virtual void Save(float); virtual void Restore(string,string); virtual void SpawnKey(string,string); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void ReloadSave(void); @@ -121,7 +121,7 @@ player_loadsaved::ReloadSave(void) } void -player_loadsaved::Trigger(entity act, int unused) +player_loadsaved::Trigger(entity act, triggermode_t unused) { WriteByte(MSG_MULTICAST, SVC_CGAMEPACKET); WriteByte(MSG_MULTICAST, EV_FADE); diff --git a/src/gs-entbase/server/player_weaponstrip.qc b/src/gs-entbase/server/player_weaponstrip.qc index f8ad2d80..31a7b343 100644 --- a/src/gs-entbase/server/player_weaponstrip.qc +++ b/src/gs-entbase/server/player_weaponstrip.qc @@ -30,7 +30,7 @@ player_weaponstrip:NSPointTrigger public: void player_weaponstrip(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); }; void @@ -39,7 +39,7 @@ player_weaponstrip::player_weaponstrip(void) } void -player_weaponstrip::Trigger(entity act, int unused) +player_weaponstrip::Trigger(entity act, triggermode_t unused) { NSClientPlayer pl; diff --git a/src/gs-entbase/server/random_speaker.qc b/src/gs-entbase/server/random_speaker.qc index 0556a48b..4da333fd 100644 --- a/src/gs-entbase/server/random_speaker.qc +++ b/src/gs-entbase/server/random_speaker.qc @@ -54,7 +54,7 @@ public: virtual void Restore(string,string); virtual void SpawnKey(string,string); virtual void Respawn(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void PlaySample(void); virtual void Enable(void); @@ -130,7 +130,7 @@ random_speaker::Respawn(void) } void -random_speaker::Trigger(entity act, int state) +random_speaker::Trigger(entity act, triggermode_t state) { if (GetMaster() == FALSE) return; diff --git a/src/gs-entbase/server/random_trigger.qc b/src/gs-entbase/server/random_trigger.qc index 9b707b57..2e76fcfa 100644 --- a/src/gs-entbase/server/random_trigger.qc +++ b/src/gs-entbase/server/random_trigger.qc @@ -46,7 +46,7 @@ public: virtual void Restore(string,string); virtual void SpawnKey(string,string); virtual void Respawn(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); }; @@ -119,7 +119,7 @@ random_trigger::Respawn(void) } void -random_trigger::Trigger(entity act, int state) +random_trigger::Trigger(entity act, triggermode_t state) { float r; diff --git a/src/gs-entbase/server/scripted_sentence.qc b/src/gs-entbase/server/scripted_sentence.qc index 82cfd9a5..1fd79007 100644 --- a/src/gs-entbase/server/scripted_sentence.qc +++ b/src/gs-entbase/server/scripted_sentence.qc @@ -49,7 +49,7 @@ public: virtual void Save(float); virtual void Restore(string,string); virtual void SpawnKey(string,string); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); }; @@ -128,7 +128,7 @@ scripted_sentence::SpawnKey(string strKey, string strValue) } void -scripted_sentence::Trigger(entity act, int unused) +scripted_sentence::Trigger(entity act, triggermode_t unused) { entity spe; spe = find(world, ::targetname, m_strSpeaker); diff --git a/src/gs-entbase/server/scripted_sequence.qc b/src/gs-entbase/server/scripted_sequence.qc index b68de6d7..cb68c3dc 100644 --- a/src/gs-entbase/server/scripted_sequence.qc +++ b/src/gs-entbase/server/scripted_sequence.qc @@ -103,7 +103,7 @@ public: /* overrides */ virtual void Save(float); virtual void Restore(string,string); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void Respawn(void); virtual void SpawnKey(string,string); @@ -315,7 +315,7 @@ scripted_sequence::RunOnEntity(entity targ) } void -scripted_sequence::Trigger(entity act, int unused) +scripted_sequence::Trigger(entity act, triggermode_t unused) { NSMonster f; diff --git a/src/gs-entbase/server/speaker.qc b/src/gs-entbase/server/speaker.qc index b7743c80..14c06c59 100644 --- a/src/gs-entbase/server/speaker.qc +++ b/src/gs-entbase/server/speaker.qc @@ -78,7 +78,7 @@ public: virtual void Restore(string,string); virtual void SpawnKey(string,string); virtual void Respawn(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void Announce(void); @@ -170,7 +170,7 @@ speaker::Announce(void) } void -speaker::Trigger(entity eAct, int foo) +speaker::Trigger(entity eAct, triggermode_t foo) { ScheduleThink(Announce, 0.0f); } diff --git a/src/gs-entbase/server/targ_speaker.qc b/src/gs-entbase/server/targ_speaker.qc index 442850e9..a00cb3e8 100644 --- a/src/gs-entbase/server/targ_speaker.qc +++ b/src/gs-entbase/server/targ_speaker.qc @@ -46,7 +46,7 @@ public: virtual void Restore(string,string); virtual void SpawnKey(string,string); virtual void Respawn(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); }; @@ -102,7 +102,7 @@ targ_speaker::Respawn(void) } void -targ_speaker::Trigger(entity act, int state) +targ_speaker::Trigger(entity act, triggermode_t state) { if (GetMaster() == FALSE) return; diff --git a/src/gs-entbase/server/trigger_auto.qc b/src/gs-entbase/server/trigger_auto.qc index 3289407a..01376cc6 100644 --- a/src/gs-entbase/server/trigger_auto.qc +++ b/src/gs-entbase/server/trigger_auto.qc @@ -37,7 +37,7 @@ This entity was introduced in Half-Life (1998). class trigger_auto:NSPointTrigger { - int m_iTriggerState; + triggermode_t m_iTriggerState; float m_flDelay; public: @@ -66,7 +66,7 @@ void trigger_auto::Save(float handle) { super::Save(handle); - SaveInt(handle, "m_iTriggerState", m_iTriggerState); + SaveFloat(handle, "m_iTriggerState", m_iTriggerState); SaveFloat(handle, "m_flDelay", m_flDelay); } @@ -75,7 +75,7 @@ trigger_auto::Restore(string strKey, string strValue) { switch (strKey) { case "m_iTriggerState": - m_iTriggerState = ReadInt(strValue); + m_iTriggerState = ReadFloat(strValue); break; case "m_flDelay": m_flDelay = ReadFloat(strValue); @@ -88,7 +88,7 @@ trigger_auto::Restore(string strKey, string strValue) void trigger_auto::RestoreComplete(void) { - ScheduleThink(Processing, 0.25f); + //ScheduleThink(Processing, 0.0f); } void @@ -96,7 +96,7 @@ trigger_auto::SpawnKey(string strKey, string strValue) { switch (strKey) { case "triggerstate": - m_iTriggerState = stoi(strValue); + m_iTriggerState = stof(strValue); break; case "delay": m_flDelay = stof(strValue); @@ -111,22 +111,42 @@ trigger_auto::Respawn(void) { InitPointTrigger(); - /* deliberately add a bit more time in case we're first in the ent-lump */ - ScheduleThink(Processing, 0.25f); + /* deliberately add a bit more time in case we're first in the ent-lump + also we'll only do this in multiplayer games. SP games will call + trigger_auto_trigger() for when one player has fully joined */ + if (cvar("sv_playerslots") > 1) + ScheduleThink(Processing, 0.25f); } void trigger_auto::Processing(void) { - if (m_strGlobalState) + if (m_strGlobalState) { if (GetGlobalValue(m_strGlobalState) == 0) return; + } UseTargets(this, m_iTriggerState, m_flDelay); - print(sprintf("%S %i %f\n", target, m_iTriggerState, m_flDelay)); + print(sprintf("%S %d %f %f\n", target, m_iTriggerState, m_flDelay, time)); if (HasSpawnFlags(1)) { NSLog("^2trigger_auto::^3Processing^7: %s triggerer removed self", target); Destroy(); } } + +void +trigger_auto_trigger(void) +{ + static bool called = false; + trigger_auto loop; + + /* don't do it more than once */ + if (called) + return; + + for (loop = __NULL__; (loop = (trigger_auto)find(loop, ::classname, "trigger_auto"));) { + loop.Processing(); + } + called = true; +} diff --git a/src/gs-entbase/server/trigger_cdaudio.qc b/src/gs-entbase/server/trigger_cdaudio.qc index 510d7cb3..33fda0d0 100644 --- a/src/gs-entbase/server/trigger_cdaudio.qc +++ b/src/gs-entbase/server/trigger_cdaudio.qc @@ -38,7 +38,7 @@ public: virtual void Restore(string,string); virtual void SpawnKey(string,string); virtual void Respawn(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void Touch(entity); }; @@ -88,7 +88,7 @@ trigger_cdaudio::Respawn(void) } void -trigger_cdaudio::Trigger(entity act, int unused) +trigger_cdaudio::Trigger(entity act, triggermode_t unused) { if (!(act.flags & FL_CLIENT)) { return; diff --git a/src/gs-entbase/server/trigger_changelevel.qc b/src/gs-entbase/server/trigger_changelevel.qc index dd61a2ce..93d9af24 100644 --- a/src/gs-entbase/server/trigger_changelevel.qc +++ b/src/gs-entbase/server/trigger_changelevel.qc @@ -89,7 +89,7 @@ public: virtual void SpawnKey(string,string); virtual void Spawned(void); virtual void Respawn(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void Input(entity,string,string); virtual void Change(void); @@ -249,7 +249,7 @@ trigger_changelevel::Change(void) } void -trigger_changelevel::Trigger(entity act, int unused) +trigger_changelevel::Trigger(entity act, triggermode_t unused) { if (GetMaster() == FALSE) return; diff --git a/src/gs-entbase/server/trigger_changetarget.qc b/src/gs-entbase/server/trigger_changetarget.qc index dc31dfed..492a9dfe 100644 --- a/src/gs-entbase/server/trigger_changetarget.qc +++ b/src/gs-entbase/server/trigger_changetarget.qc @@ -38,7 +38,7 @@ public: virtual void Save(float); virtual void Restore(string,string); virtual void SpawnKey(string,string); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); }; @@ -80,7 +80,7 @@ trigger_changetarget::SpawnKey(string strKey, string strValue) } void -trigger_changetarget::Trigger(entity act, int state) +trigger_changetarget::Trigger(entity act, triggermode_t state) { NSEntity f; diff --git a/src/gs-entbase/server/trigger_counter.qc b/src/gs-entbase/server/trigger_counter.qc index 62f0a447..969c635b 100644 --- a/src/gs-entbase/server/trigger_counter.qc +++ b/src/gs-entbase/server/trigger_counter.qc @@ -49,7 +49,7 @@ public: virtual void Restore(string,string); virtual void SpawnKey(string,string); virtual void Respawn(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void Touch(entity); }; @@ -105,7 +105,7 @@ trigger_counter::Respawn(void) } void -trigger_counter::Trigger(entity act, int state) +trigger_counter::Trigger(entity act, triggermode_t state) { if (act.classname == "func_pushable" && !HasSpawnFlags(TRCNT_PUSHABLES)) return; diff --git a/src/gs-entbase/server/trigger_endsection.qc b/src/gs-entbase/server/trigger_endsection.qc index 8101bbd0..4196a39a 100644 --- a/src/gs-entbase/server/trigger_endsection.qc +++ b/src/gs-entbase/server/trigger_endsection.qc @@ -31,7 +31,7 @@ trigger_endsection:NSBrushTrigger public: void trigger_endsection(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void Respawn(void); }; @@ -48,7 +48,7 @@ trigger_endsection::Respawn(void) } void -trigger_endsection::Trigger(entity act, int state) +trigger_endsection::Trigger(entity act, triggermode_t state) { if (GetMaster() == FALSE) return; diff --git a/src/gs-entbase/server/trigger_hurt.qc b/src/gs-entbase/server/trigger_hurt.qc index b454d50e..0a6de232 100644 --- a/src/gs-entbase/server/trigger_hurt.qc +++ b/src/gs-entbase/server/trigger_hurt.qc @@ -74,7 +74,7 @@ public: virtual void Spawned(void); virtual void Save(float); virtual void Restore(string,string); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void Touch(entity); virtual void Respawn(void); virtual void SpawnKey(string,string); @@ -194,7 +194,7 @@ trigger_hurt::Respawn(void) } void -trigger_hurt::Trigger(entity act, int state) +trigger_hurt::Trigger(entity act, triggermode_t state) { switch (state) { case TRIG_OFF: diff --git a/src/gs-entbase/server/trigger_once.qc b/src/gs-entbase/server/trigger_once.qc index 10bc87ea..280fe18d 100644 --- a/src/gs-entbase/server/trigger_once.qc +++ b/src/gs-entbase/server/trigger_once.qc @@ -43,9 +43,9 @@ class trigger_once:NSBrushTrigger { public: void trigger_once(void); - + + /* overrides */ virtual void Spawned(void); - virtual void Save(float); virtual void Restore(string,string); virtual void Touch(entity); @@ -64,6 +64,25 @@ trigger_once::trigger_once(void) m_strOnTrigger = __NULL__; } +void +trigger_once::Spawned(void) +{ + super::Spawned(); + + if (m_strOnTrigger) + m_strOnTrigger = CreateOutput(m_strOnTrigger); + + if (m_strOnStartTouch) + m_strOnStartTouch = CreateOutput(m_strOnStartTouch); +} + +void +trigger_once::Respawn(void) +{ + InitBrushTrigger(); + m_iValue = 0; +} + void trigger_once::Save(float handle) { @@ -102,26 +121,6 @@ trigger_once::SpawnKey(string strKey, string strValue) break; } } - -void -trigger_once::Spawned(void) -{ - super::Spawned(); - - if (m_strOnTrigger) - m_strOnTrigger = CreateOutput(m_strOnTrigger); - - if (m_strOnStartTouch) - m_strOnStartTouch = CreateOutput(m_strOnStartTouch); -} - -void -trigger_once::Respawn(void) -{ - InitBrushTrigger(); - m_iValue = 0; -} - void trigger_once::Touch(entity eToucher) { diff --git a/src/gs-entbase/server/trigger_playerfreeze.qc b/src/gs-entbase/server/trigger_playerfreeze.qc index 5afd674c..df4ae3f7 100644 --- a/src/gs-entbase/server/trigger_playerfreeze.qc +++ b/src/gs-entbase/server/trigger_playerfreeze.qc @@ -37,7 +37,7 @@ public: void trigger_playerfreeze(void); virtual void Respawn(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void customphysics(void); }; @@ -53,7 +53,7 @@ trigger_playerfreeze::Respawn(void) } void -trigger_playerfreeze::Trigger(entity act, int state) +trigger_playerfreeze::Trigger(entity act, triggermode_t state) { if (GetMaster() == FALSE) return; diff --git a/src/gs-entbase/server/trigger_push.qc b/src/gs-entbase/server/trigger_push.qc index 0ef5ca4f..787e0650 100644 --- a/src/gs-entbase/server/trigger_push.qc +++ b/src/gs-entbase/server/trigger_push.qc @@ -46,7 +46,7 @@ public: virtual void Restore(string,string); virtual void SpawnKey(string,string); virtual void Respawn(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity,triggermode_t); virtual void Touch(entity); virtual void SetMovementDirection(void); @@ -112,7 +112,7 @@ trigger_push::Respawn(void) } void -trigger_push::Trigger(entity act, int state) +trigger_push::Trigger(entity act, triggermode_t state) { switch (state) { case TRIG_OFF: diff --git a/src/gs-entbase/server/trigger_relay.qc b/src/gs-entbase/server/trigger_relay.qc index 1fc1cd1a..560d8793 100644 --- a/src/gs-entbase/server/trigger_relay.qc +++ b/src/gs-entbase/server/trigger_relay.qc @@ -41,13 +41,13 @@ class trigger_relay:NSPointTrigger { private: - int m_iTriggerState; + triggermode_t m_iTriggerState; int m_iEnabled; public: void trigger_relay(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity,triggermode_t); virtual void Respawn(void); virtual void SpawnKey(string,string); @@ -58,7 +58,7 @@ public: void trigger_relay::trigger_relay(void) { - m_iTriggerState = + m_iTriggerState = 0; m_iEnabled = 0; } @@ -66,7 +66,7 @@ void trigger_relay::Save(float handle) { super::Save(handle); - SaveInt(handle, "m_iTriggerState", m_iTriggerState); + SaveFloat(handle, "m_iTriggerState", m_iTriggerState); SaveInt(handle, "m_iEnabled", m_iEnabled); } @@ -75,7 +75,7 @@ trigger_relay::Restore(string strKey, string strValue) { switch (strKey) { case "m_iTriggerState": - m_iTriggerState = ReadInt(strValue); + m_iTriggerState = ReadFloat(strValue); break; case "m_iEnabled": m_iEnabled = ReadInt(strValue); @@ -101,15 +101,22 @@ void trigger_relay::Respawn(void) { m_iEnabled = TRUE; + m_iValue = FALSE; } void -trigger_relay::Trigger(entity act, int state) +trigger_relay::Trigger(entity act, triggermode_t state) { - if (m_iEnabled == FALSE) + if (m_iEnabled == FALSE) { + NSLog("trigger_relay (%s) has already been triggered", targetname); return; - if (HasSpawnFlags(TRLY_ONCE)) - m_iEnabled = FALSE; + } + if (HasSpawnFlags(TRLY_ONCE)) { + m_iEnabled = FALSE; + } + + m_iValue = TRUE; + NSLog("trigger_relay (%s) will trigger %s with state %d", targetname, target, m_iTriggerState); UseTargets(act, m_iTriggerState, m_flDelay); } diff --git a/src/gs-entbase/shared/ambient_generic.qc b/src/gs-entbase/shared/ambient_generic.qc index 7da26fba..ad2e71af 100644 --- a/src/gs-entbase/shared/ambient_generic.qc +++ b/src/gs-entbase/shared/ambient_generic.qc @@ -74,8 +74,8 @@ public: virtual void Respawn(void); virtual void EvaluateEntity(void); virtual float SendEntity(entity,float); - virtual void UseNormal(entity,int); - virtual void UseLoop(entity,int); + virtual void UseNormal(entity,triggermode_t); + virtual void UseLoop(entity, triggermode_t); #else virtual void ReceiveEntity(float,float); virtual float predraw(void); @@ -258,7 +258,7 @@ ambient_generic::Respawn(void) } void -ambient_generic::UseNormal(entity act, int state) +ambient_generic::UseNormal(entity act, triggermode_t state) { NSLog("Sound once: %S Volume: %f; Radius: %d; Pitch: %d", \ m_strActivePath, m_flVolume, m_flRadius, m_flPitch); @@ -280,7 +280,7 @@ ambient_generic::UseNormal(entity act, int state) } void -ambient_generic::UseLoop(entity act, int state) +ambient_generic::UseLoop(entity act, triggermode_t state) { if (m_bToggle == TRUE) { NSLog("^2ambient_generic::^3UseLoop^7: %s stops `%s`", @@ -311,12 +311,12 @@ ambient_generic::EvaluateEntity(void) if (ATTR_CHANGED(m_bLoops)) SetSendFlags(AMBIENT_ENABLED); - SAVE_STATE(origin); - SAVE_STATE(m_strActivePath); - SAVE_STATE(m_flVolume); - SAVE_STATE(m_flRadius); - SAVE_STATE(m_flPitch); - SAVE_STATE(m_bLoops); + SAVE_STATE(origin) + SAVE_STATE(m_strActivePath) + SAVE_STATE(m_flVolume) + SAVE_STATE(m_flRadius) + SAVE_STATE(m_flPitch) + SAVE_STATE(m_bLoops) } float diff --git a/src/gs-entbase/shared/env_beam.qc b/src/gs-entbase/shared/env_beam.qc index 56073fcf..c12c8a62 100644 --- a/src/gs-entbase/shared/env_beam.qc +++ b/src/gs-entbase/shared/env_beam.qc @@ -85,7 +85,7 @@ public: virtual void SpawnKey(string,string); virtual void EvaluateEntity(void); virtual float SendEntity(entity,float); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); nonvirtual void CastLaser(void); nonvirtual void LaunchBeam(void); nonvirtual void EndBeam(void); @@ -258,7 +258,7 @@ env_beam::StopBeam(void) } void -env_beam::Trigger(entity act, int state) +env_beam::Trigger(entity act, triggermode_t state) { /* if toggle isn't enabled, it can only ever get activated */ if (m_flLifeTime > 0 && HasSpawnFlags(BEAM_TOGGLE) == false) { @@ -429,10 +429,10 @@ env_beam::predraw(void) { /* only draw when active. */ if (!m_iActive) - return; + return (PREDRAW_NEXT); if (autocvar(r_skipBeams, 0)) - return; + return (PREDRAW_NEXT); /* primitive representation */ #if 0 @@ -452,7 +452,6 @@ env_beam::predraw(void) float progression = (i / (BEAM_COUNT-1)); vector point; vector jitter; - float strength; float a = 1.0f; /* our steps from a - b */ diff --git a/src/gs-entbase/shared/env_bubbles.qc b/src/gs-entbase/shared/env_bubbles.qc index f06c8ab2..b5e7d9e7 100644 --- a/src/gs-entbase/shared/env_bubbles.qc +++ b/src/gs-entbase/shared/env_bubbles.qc @@ -81,7 +81,7 @@ public: virtual void Restore(string,string); virtual void EvaluateEntity(void); virtual float SendEntity(entity,float); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void Input(entity,string,string); #else virtual void EmitBubbles(void); @@ -167,7 +167,7 @@ env_bubbles::Input(entity eAct, string strKey, string strData) } void -env_bubbles::Trigger(entity eAct, int iState) +env_bubbles::Trigger(entity eAct, triggermode_t iState) { switch (iState) { case TRIG_OFF: @@ -196,12 +196,12 @@ env_bubbles::EvaluateEntity(void) if (ATTR_CHANGED(m_bEnabled)) SetSendFlags(BUBBLES_ENABLED); - SAVE_STATE(origin); - SAVE_STATE(angles); - SAVE_STATE(m_iDensity); - SAVE_STATE(m_flFrequency); - SAVE_STATE(m_flCurrent); - SAVE_STATE(m_bEnabled); + SAVE_STATE(origin) + SAVE_STATE(angles) + SAVE_STATE(m_iDensity) + SAVE_STATE(m_flFrequency) + SAVE_STATE(m_flCurrent) + SAVE_STATE(m_bEnabled) } float env_bubbles::SendEntity(entity ePVSent, float flChanged) diff --git a/src/gs-entbase/shared/env_fog_controller.qc b/src/gs-entbase/shared/env_fog_controller.qc index 41266b72..38eb0069 100644 --- a/src/gs-entbase/shared/env_fog_controller.qc +++ b/src/gs-entbase/shared/env_fog_controller.qc @@ -109,7 +109,7 @@ public: #else virtual float SendEntity(entity,float); virtual void EvaluateEntity(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void Respawn(void); virtual void Save(float); virtual void Restore(string,string); @@ -303,19 +303,19 @@ env_fog_controller::EvaluateEntity(void) if (ATTR_CHANGED(m_vecFogDir)) SetSendFlags(ENVFOG_CHANGED_DIR); - SAVE_STATE(m_iFogActive); - SAVE_STATE(m_iFogBlend); - SAVE_STATE(m_flFogStart); - SAVE_STATE(m_flFogEnd); - SAVE_STATE(m_flFogMaxDensity); - SAVE_STATE(m_flFogFarZ); - SAVE_STATE(m_vecFogColor); - SAVE_STATE(m_vecFogColor2); - SAVE_STATE(m_vecFogDir); + SAVE_STATE(m_iFogActive) + SAVE_STATE(m_iFogBlend) + SAVE_STATE(m_flFogStart) + SAVE_STATE(m_flFogEnd) + SAVE_STATE(m_flFogMaxDensity) + SAVE_STATE(m_flFogFarZ) + SAVE_STATE(m_vecFogColor) + SAVE_STATE(m_vecFogColor2) + SAVE_STATE(m_vecFogDir) } void -env_fog_controller::Trigger(entity eAct, int iState) +env_fog_controller::Trigger(entity eAct, triggermode_t iState) { switch (iState) { case TRIG_OFF: diff --git a/src/gs-entbase/shared/env_laser.qc b/src/gs-entbase/shared/env_laser.qc index b488877d..9315e4ed 100644 --- a/src/gs-entbase/shared/env_laser.qc +++ b/src/gs-entbase/shared/env_laser.qc @@ -73,7 +73,7 @@ public: virtual void SpawnKey(string,string); virtual void EvaluateEntity(void); virtual float SendEntity(entity,float); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); nonvirtual void CastLaser(void); #else virtual float predraw(void); @@ -176,7 +176,7 @@ env_laser::CastLaser(void) } void -env_laser::Trigger(entity act, int state) +env_laser::Trigger(entity act, triggermode_t state) { switch (state) { case TRIG_OFF: @@ -317,10 +317,10 @@ env_laser::predraw(void) { /* only draw when active. */ if (!m_iActive) - return; + return (PREDRAW_NEXT); if (autocvar(r_skipBeams, 0)) - return; + return (PREDRAW_NEXT); /* primitive representation */ #if 0 @@ -340,7 +340,6 @@ env_laser::predraw(void) float progression = (i / (LASER_COUNT-1)); vector point; vector jitter; - float strength; float a = 1.0f; /* our steps from a - b */ diff --git a/src/gs-entbase/shared/env_projectedtexture.qc b/src/gs-entbase/shared/env_projectedtexture.qc index 70173e99..6bc19cfb 100644 --- a/src/gs-entbase/shared/env_projectedtexture.qc +++ b/src/gs-entbase/shared/env_projectedtexture.qc @@ -84,7 +84,7 @@ public: virtual void ReceiveEntity(float,float); virtual float predraw(void); #else - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void Respawn(void); virtual float SendEntity(entity,float); virtual void SpawnKey(string,string); @@ -166,12 +166,12 @@ env_projectedtexture::EvaluateEntity(void) SetSendFlags(PRTEXFL_CHANGED_ANGLES); } - SAVE_STATE(origin); - SAVE_STATE(angles); + SAVE_STATE(origin) + SAVE_STATE(angles) } void -env_projectedtexture::Trigger(entity act, int state) +env_projectedtexture::Trigger(entity act, triggermode_t state) { switch (state) { case TRIG_OFF: diff --git a/src/gs-entbase/shared/env_sprite.qc b/src/gs-entbase/shared/env_sprite.qc index 834bd44c..181d768b 100644 --- a/src/gs-entbase/shared/env_sprite.qc +++ b/src/gs-entbase/shared/env_sprite.qc @@ -81,7 +81,7 @@ public: #ifdef SERVER virtual void Spawned(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void EvaluateEntity(void); virtual float SendEntity(entity,float); virtual void SpawnKey(string,string); @@ -125,15 +125,15 @@ env_sprite::EvaluateEntity(void) SetSendFlags(SPRITE_CHANGED_MATERIAL); } - SAVE_STATE(origin); - SAVE_STATE(modelindex); - SAVE_STATE(m_flFramerate); - SAVE_STATE(scale); - SAVE_STATE(m_iRenderMode); - SAVE_STATE(m_iRenderFX); - SAVE_STATE(m_vecRenderColor); - SAVE_STATE(m_flRenderAmt); - SAVE_STATE(m_strMaterial); + SAVE_STATE(origin) + SAVE_STATE(modelindex) + SAVE_STATE(m_flFramerate) + SAVE_STATE(scale) + SAVE_STATE(m_iRenderMode) + SAVE_STATE(m_iRenderFX) + SAVE_STATE(m_vecRenderColor) + SAVE_STATE(m_flRenderAmt) + SAVE_STATE(m_strMaterial) } float @@ -213,7 +213,7 @@ env_sprite::NetworkOnce(void) /* TODO: Implement state */ void -env_sprite::Trigger(entity act, int state) +env_sprite::Trigger(entity act, triggermode_t state) { if (HasSpawnFlags(ENVS_PLAYONCE)) { NetworkOnce(); diff --git a/src/gs-entbase/shared/func_illusionary.qc b/src/gs-entbase/shared/func_illusionary.qc index 62d955f2..2aea943e 100644 --- a/src/gs-entbase/shared/func_illusionary.qc +++ b/src/gs-entbase/shared/func_illusionary.qc @@ -36,7 +36,7 @@ public: #ifdef SERVER virtual void Respawn(void); virtual float SendEntity(entity,float); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); #else virtual void Init(void); #endif @@ -56,7 +56,7 @@ func_illusionary::SendEntity(entity pvsent, float fl) } void -func_illusionary::Trigger(entity act, int state) +func_illusionary::Trigger(entity act, triggermode_t state) { switch (state) { case TRIG_OFF: diff --git a/src/gs-entbase/shared/func_ladder.qc b/src/gs-entbase/shared/func_ladder.qc index eac67425..3af3f0b7 100644 --- a/src/gs-entbase/shared/func_ladder.qc +++ b/src/gs-entbase/shared/func_ladder.qc @@ -33,14 +33,14 @@ public: virtual void Respawn(void); #ifdef SERVER - virtual void Trigger(entity, int); + virtual void Trigger(entity, triggermode_t); #endif }; #ifdef SERVER void -func_ladder::Trigger(entity act, int state) +func_ladder::Trigger(entity act, triggermode_t state) { switch (state) { case TRIG_OFF: diff --git a/src/gs-entbase/shared/func_monitor.qc b/src/gs-entbase/shared/func_monitor.qc index 33948f52..dcb5e0cb 100644 --- a/src/gs-entbase/shared/func_monitor.qc +++ b/src/gs-entbase/shared/func_monitor.qc @@ -99,7 +99,7 @@ public: virtual void EvaluateEntity(void); virtual float SendEntity(entity,float); virtual void SpawnKey(string,string); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void Input(entity, string, string); #endif }; @@ -225,7 +225,7 @@ func_monitor::EvaluateEntity(void) if (ATTR_CHANGED(origin)) { SetSendFlags(MONITORFL_CHANGED_BASE); } - SAVE_STATE(origin); + SAVE_STATE(origin) /* this monitor is disabled */ if (!m_iValue) @@ -276,7 +276,7 @@ func_monitor::EvaluateEntity(void) } void -func_monitor::Trigger(entity act, int state) +func_monitor::Trigger(entity act, triggermode_t state) { switch (state) { case TRIG_OFF: diff --git a/src/gs-entbase/shared/func_wall.qc b/src/gs-entbase/shared/func_wall.qc index e5f0a1cb..5929b264 100644 --- a/src/gs-entbase/shared/func_wall.qc +++ b/src/gs-entbase/shared/func_wall.qc @@ -36,7 +36,7 @@ public: #ifdef SERVER virtual void Respawn(void); virtual float SendEntity(entity,float); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); #else virtual void Init(void); #endif @@ -57,7 +57,7 @@ func_wall::SendEntity(entity pvsent, float fl) } void -func_wall::Trigger(entity act, int state) +func_wall::Trigger(entity act, triggermode_t state) { switch (state) { case TRIG_OFF: diff --git a/src/gs-entbase/shared/info_particle_system.qc b/src/gs-entbase/shared/info_particle_system.qc index 4482c638..e97dcc4d 100644 --- a/src/gs-entbase/shared/info_particle_system.qc +++ b/src/gs-entbase/shared/info_particle_system.qc @@ -67,7 +67,7 @@ public: virtual void EvaluateEntity(void); virtual float SendEntity(entity,float); virtual void SpawnKey(string,string); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void Input(entity, string, string); #endif }; @@ -172,12 +172,12 @@ info_particle_system::EvaluateEntity(void) SetSendFlags(PARTSYSFL_CHANGED_ANGLES); } - SAVE_STATE(origin); - SAVE_STATE(angles); + SAVE_STATE(origin) + SAVE_STATE(angles) } void -info_particle_system::Trigger(entity act, int state) +info_particle_system::Trigger(entity act, triggermode_t state) { switch (state) { case TRIG_OFF: diff --git a/src/gs-entbase/shared/light_dynamic.qc b/src/gs-entbase/shared/light_dynamic.qc index 94ac21eb..eca2deb2 100644 --- a/src/gs-entbase/shared/light_dynamic.qc +++ b/src/gs-entbase/shared/light_dynamic.qc @@ -94,7 +94,7 @@ public: virtual void RendererRestarted(void); virtual void LightChanged(float); #else - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void Respawn(void); virtual float SendEntity(entity,float); virtual void EvaluateEntity(void); @@ -236,12 +236,12 @@ light_dynamic::EvaluateEntity(void) SetSendFlags(DLIGHTFL_CHANGED_ANGLES); } - SAVE_STATE(origin); - SAVE_STATE(angles); + SAVE_STATE(origin) + SAVE_STATE(angles) } void -light_dynamic::Trigger(entity act, int state) +light_dynamic::Trigger(entity act, triggermode_t state) { switch (state) { case TRIG_OFF: diff --git a/src/gs-entbase/shared/prop_rope.qc b/src/gs-entbase/shared/prop_rope.qc index ffc6dac1..e970ae5e 100644 --- a/src/gs-entbase/shared/prop_rope.qc +++ b/src/gs-entbase/shared/prop_rope.qc @@ -232,12 +232,12 @@ prop_rope::EvaluateEntity(void) SetSendFlags(PROPROPE_CHANGED_FLAGS); } - SAVE_STATE(m_flSag); - SAVE_STATE(m_flSwingFactor); - SAVE_STATE(m_iSegments); - SAVE_STATE(origin); - SAVE_STATE(m_vecTarget); - SAVE_STATE(flags); + SAVE_STATE(m_flSag) + SAVE_STATE(m_flSwingFactor) + SAVE_STATE(m_iSegments) + SAVE_STATE(origin) + SAVE_STATE(m_vecTarget) + SAVE_STATE(flags) } float diff --git a/src/gs-entbase/shared/prop_vehicle_driveable.qc b/src/gs-entbase/shared/prop_vehicle_driveable.qc index 698d9f20..204db543 100644 --- a/src/gs-entbase/shared/prop_vehicle_driveable.qc +++ b/src/gs-entbase/shared/prop_vehicle_driveable.qc @@ -838,13 +838,13 @@ prop_vehicle_driveable::EvaluateEntity(void) if (ATTR_CHANGED(flags)) SetSendFlags(VEHFL_FLAGS); - SAVE_STATE(origin); - SAVE_STATE(angles); - SAVE_STATE(modelindex); - SAVE_STATE(velocity); - SAVE_STATE(m_flTurn); - SAVE_STATE(m_eDriver); - SAVE_STATE(flags); + SAVE_STATE(origin) + SAVE_STATE(angles) + SAVE_STATE(modelindex); + SAVE_STATE(velocity) + SAVE_STATE(m_flTurn) + SAVE_STATE(m_eDriver) + SAVE_STATE(flags) } float diff --git a/src/gs-entbase/shared/trigger_camera.qc b/src/gs-entbase/shared/trigger_camera.qc index 56dca420..446a390d 100644 --- a/src/gs-entbase/shared/trigger_camera.qc +++ b/src/gs-entbase/shared/trigger_camera.qc @@ -59,7 +59,7 @@ public: #else virtual void NextPath(void); virtual void GoToTarget(void); - virtual void Trigger(entity,int); + virtual void Trigger(entity, triggermode_t); virtual void Respawn(void); virtual void SpawnKey(string,string); virtual float SendEntity(entity,float); @@ -190,8 +190,8 @@ trigger_camera::EvaluateEntity(void) SetSendFlags(OCAMFL_CHANGED_ANGLES); } - SAVE_STATE(origin); - SAVE_STATE(angles); + SAVE_STATE(origin) + SAVE_STATE(angles) } void @@ -258,7 +258,7 @@ trigger_camera::NextPath(void) /* TODO: Handle state? */ void -trigger_camera::Trigger(entity act, int state) +trigger_camera::Trigger(entity act, triggermode_t state) { m_eLooker = act; NSLog("Triggering it on %s\n", act.netname); diff --git a/src/server/entry.qc b/src/server/entry.qc index 08e463df..d12ce911 100644 --- a/src/server/entry.qc +++ b/src/server/entry.qc @@ -152,6 +152,8 @@ PutClientInServer(void) if (t.Trigger) t.Trigger(self, TRIG_TOGGLE); } + + trigger_auto_trigger(); } /** Run before game physics have taken place. diff --git a/src/shared/NSBrushTrigger.h b/src/shared/NSBrushTrigger.h index 6b724e8b..c1ea274a 100644 --- a/src/shared/NSBrushTrigger.h +++ b/src/shared/NSBrushTrigger.h @@ -25,6 +25,9 @@ class NSBrushTrigger:NSEntity public: void NSBrushTrigger(void); + /* overrides */ + virtual int GetValue(void); + /** Sets up a brush trigger volume based on the brush information. */ - virtual void InitBrushTrigger(void); + nonvirtual void InitBrushTrigger(void); }; diff --git a/src/shared/NSBrushTrigger.qc b/src/shared/NSBrushTrigger.qc index 34cd2a45..3176cfad 100644 --- a/src/shared/NSBrushTrigger.qc +++ b/src/shared/NSBrushTrigger.qc @@ -19,6 +19,16 @@ NSBrushTrigger::NSBrushTrigger(void) { } +int +NSBrushTrigger::GetValue(void) +{ + if (GetSolid() == SOLID_NOT) { + return (1); + } + + return (0); +} + void NSBrushTrigger::InitBrushTrigger(void) { diff --git a/src/shared/NSClientPlayer.qc b/src/shared/NSClientPlayer.qc index 0ba8b2d3..a59952e9 100644 --- a/src/shared/NSClientPlayer.qc +++ b/src/shared/NSClientPlayer.qc @@ -45,7 +45,7 @@ NSClientPlayer::IsPlayer(void) bool NSClientPlayer::IsFakeSpectator(void) { - if (GetFlags() & FL_FAKESPEC) + if (HasFlags(FL_FAKESPEC)) return (true); return (false); @@ -199,7 +199,7 @@ NSClientPlayer::predraw(void) RenderFire(); /* if we're inside of a vehicle, it may want to hide or show us regardless */ - if (localplayer && flags & FL_INVEHICLE) { + if (localplayer && HasFlags(FL_INVEHICLE)) { NSVehicle veh = (NSVehicle)vehicle; if (veh) @@ -1004,7 +1004,7 @@ NSClientPlayer::InputUse_Down(void) last_used = eRad; /* Some entities want to support Use spamming */ - if (!(flags & FL_USE_RELEASED)) { + if (HasFlags(FL_USE_RELEASED) == false) { sound(this, CHAN_ITEM, "common/wpn_select.wav", 0.25, ATTN_IDLE); } } else { @@ -1023,7 +1023,7 @@ Called when we let go of the +use button void NSClientPlayer::InputUse_Up(void) { - if (!(flags & FL_USE_RELEASED)) { + if (HasFlags(FL_USE_RELEASED) == false) { _NSClientPlayer_unuseworkaround(last_used); last_used = world; flags |= FL_USE_RELEASED; @@ -1073,7 +1073,7 @@ NSClientPlayer::Footsteps_Update(void) step_time = time + 2.0f; } else { /* make it so we step once we land */ - if (!(GetFlags() & FL_ONGROUND) && !(GetFlags() & FL_ONLADDER)) { + if (HasFlags(FL_ONGROUND | FL_ONLADDER) == false) { step_time = 0.0f; return; } @@ -1086,9 +1086,10 @@ NSClientPlayer::Footsteps_Update(void) traceline(origin + view_ofs, origin + [0,0,-48], MOVE_NORMAL, this); tex_name = getsurfacetexture(trace_ent, getsurfacenearpoint(trace_ent, trace_endpos)); - if (!(GetFlags() & FL_ONGROUND) && (!GetFlags() & FL_ONLADDER)) { + /* don't step in air */ + if (HasFlags(FL_ONGROUND | FL_ONLADDER) == false) { return; - } else if (GetFlags() & FL_ONLADDER) { + } else if (HasFlags(FL_ONLADDER) && HasFlags(FL_ONGROUND) == false) { /* play ladder sounds */ if (step) StartSoundDef("step_ladder.left", CHAN_BODY, true); else @@ -1097,6 +1098,8 @@ NSClientPlayer::Footsteps_Update(void) /* switch between feet */ step = 1 - step; return; + } else if (HasFlags(FL_ONLADDER) && HasFlags(FL_ONGROUND)) { /* at a ladder, but not moving */ + return; } if (step) { diff --git a/src/shared/NSEntity.h b/src/shared/NSEntity.h index 6f1dea5a..dd467ca2 100644 --- a/src/shared/NSEntity.h +++ b/src/shared/NSEntity.h @@ -259,6 +259,8 @@ public: nonvirtual vector GetAbsoluteMaxs(void); /** Returns a flag bitfield that the entity associates with. */ nonvirtual float GetFlags(void); + /** Returns true if the entity has the specified flags. */ + nonvirtual float HasFlags(float); /** Returns an absolute value of when the entity will be think again. Any result should be tested against `::GetTime()`. */ nonvirtual float GetNextThinkTime(void); diff --git a/src/shared/NSEntity.qc b/src/shared/NSEntity.qc index c01cc11e..4e91899a 100644 --- a/src/shared/NSEntity.qc +++ b/src/shared/NSEntity.qc @@ -595,6 +595,13 @@ float NSEntity::GetFlags( void ) { return ( flags ); } +bool NSEntity::HasFlags(float bits) { + if ( flags & bits ) + return (true); + + return (false); +} + float NSEntity::GetNextThinkTime( void ) { return ( nextthink ); } diff --git a/src/shared/NSPhysicsEntity.qc b/src/shared/NSPhysicsEntity.qc index 2dacb0a4..ca8b3eb8 100644 --- a/src/shared/NSPhysicsEntity.qc +++ b/src/shared/NSPhysicsEntity.qc @@ -146,18 +146,18 @@ NSPhysicsEntity::EvaluateEntity(void) SetSendFlags(PHYENT_CHANGED_VELOCITY); } - SAVE_STATE(origin); - SAVE_STATE(angles); - SAVE_STATE(modelindex); - SAVE_STATE(solid); - SAVE_STATE(movetype); - SAVE_STATE(size); - SAVE_STATE(frame); - SAVE_STATE(skin); - SAVE_STATE(effects); - SAVE_STATE(m_iBody); - SAVE_STATE(scale); - SAVE_STATE(velocity); + SAVE_STATE(origin) + SAVE_STATE(angles) + SAVE_STATE(modelindex) + SAVE_STATE(solid) + SAVE_STATE(movetype) + SAVE_STATE(size) + SAVE_STATE(frame) + SAVE_STATE(skin) + SAVE_STATE(effects) + SAVE_STATE(m_iBody) + SAVE_STATE(scale) + SAVE_STATE(velocity) if (ATTR_CHANGED(m_iRenderMode)) { SetSendFlags(PHYENT_CHANGED_RENDERMODE); diff --git a/src/shared/NSPointTrigger.h b/src/shared/NSPointTrigger.h index c35e5d88..060c206a 100644 --- a/src/shared/NSPointTrigger.h +++ b/src/shared/NSPointTrigger.h @@ -26,5 +26,5 @@ public: void NSPointTrigger(void); /** Sets up a point entity trigger with no size. */ - virtual void InitPointTrigger(void); + nonvirtual void InitPointTrigger(void); }; diff --git a/src/shared/NSTrigger.h b/src/shared/NSTrigger.h index 368cb6e4..3be58de8 100644 --- a/src/shared/NSTrigger.h +++ b/src/shared/NSTrigger.h @@ -31,36 +31,25 @@ typedef enum GLOBAL_DEAD } globalstate_t; +typedef enum +{ + USE_TOGGLE, + USE_CONTINOUS +} usetype_t; + +typedef enum +{ + TRIG_OFF, + TRIG_ON, + TRIG_TOGGLE +} triggermode_t; + + /** NSTrigger handles all the non-input as well as Legacy (Quake, GoldSource) style trigger behaviour. It also deals with masters, touches, blocking and so on. */ class NSTrigger:NSIO { -private: - /* not needed to be saved right now */ - float m_flTouchTime; - bool m_beingTouched; - entity m_eTouchLast; - - nonvirtual void _TouchHandler(void); - nonvirtual void _BlockedHandler(void); - -#ifdef SERVER - string m_oldstrTarget; /* needed due to trigger_changetarget */ - - string m_strGlobalState; - string m_strKillTarget; - string m_strMessage; - string m_strMaster; - int m_iUseType; - int m_iValue; - - /* legacy trigger architecture */ - float m_flDelay; -#else - float team; -#endif - public: void NSTrigger(void); @@ -87,19 +76,19 @@ public: virtual void Input(entity,string,string); /** Called whenever we're legacy triggered by another object or function. */ - virtual void Trigger(entity,int); - - /** When called will trigger its legacy targets with a given delay. */ - nonvirtual void UseTargets(entity,int, float); - - /** Sets the legacy target for this entity. */ - nonvirtual void SetTriggerTarget(string); + virtual void Trigger(entity, triggermode_t); /* master feature */ /** Returns what we will pass onto other's `::GetMaster()` calls if we're their master. */ /* multisource overrides this, so keep virtual */ virtual int GetValue(void); + /** When called will trigger its legacy targets with a given delay. */ + nonvirtual void UseTargets(entity,int,float); + + /** Sets the legacy target for this entity. */ + nonvirtual void SetTriggerTarget(string); + /** Returns whether our master allows us to be triggered. */ nonvirtual int GetMaster(void); @@ -120,19 +109,30 @@ public: /** Retrives the team value of a given entity. */ nonvirtual float GetTeam(void); - #endif -}; -enum -{ - USE_TOGGLE, - USE_CONTINOUS -}; +private: + /* not needed to be saved right now */ + float m_flTouchTime; + bool m_beingTouched; + entity m_eTouchLast; -enum -{ - TRIG_OFF, - TRIG_ON, - TRIG_TOGGLE -}; + nonvirtual void _TouchHandler(void); + nonvirtual void _BlockedHandler(void); + +#ifdef SERVER + string m_oldstrTarget; /* needed due to trigger_changetarget */ + + string m_strGlobalState; + string m_strKillTarget; + string m_strMessage; + string m_strMaster; + int m_iUseType; + int m_iValue; + + /* legacy trigger architecture */ + float m_flDelay; +#else + float team; +#endif +}; \ No newline at end of file diff --git a/src/shared/NSTrigger.qc b/src/shared/NSTrigger.qc index b6f533bd..12568a67 100644 --- a/src/shared/NSTrigger.qc +++ b/src/shared/NSTrigger.qc @@ -36,7 +36,7 @@ NSTrigger::NSTrigger(void) #ifdef SERVER /* legacy trigger architecture */ void -NSTrigger::Trigger(entity act, int state) +NSTrigger::Trigger(entity act, triggermode_t state) { NSLog("^2%s::^3Input^7: Triggerd by %s with no consequence", classname, act.classname);