mirror of
https://github.com/dhewm/iddevnet.git
synced 2024-11-24 21:32:49 +00:00
5a7e5cbe45
it's more or less usable now! all images (except for the ones of moinmoin itself) are still missing. possibly articles are missing as well, haven't checked yet (and the lost downloads are missing, of course)
260 lines
16 KiB
HTML
260 lines
16 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||
<html>
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
|
||
<meta name="robots" content="index,nofollow">
|
||
|
||
<title>Sounds SoundPlacement - Quake 4 SDK Documentation</title>
|
||
<script type="text/javascript" src="wiki/common/js/common.js"></script>
|
||
|
||
<script type="text/javascript">
|
||
<!--// common functions
|
||
|
||
// We keep here the state of the search box
|
||
searchIsDisabled = false;
|
||
|
||
function searchChange(e) {
|
||
// Update search buttons status according to search box content.
|
||
// Ignore empty or whitespace search term.
|
||
var value = e.value.replace(/\s+/, '');
|
||
if (value == '' || searchIsDisabled) {
|
||
searchSetDisabled(true);
|
||
} else {
|
||
searchSetDisabled(false);
|
||
}
|
||
}
|
||
|
||
function searchSetDisabled(flag) {
|
||
// Enable or disable search
|
||
document.getElementById('fullsearch').disabled = flag;
|
||
document.getElementById('titlesearch').disabled = flag;
|
||
}
|
||
|
||
function searchFocus(e) {
|
||
// Update search input content on focus
|
||
if (e.value == 'Search') {
|
||
e.value = '';
|
||
e.className = '';
|
||
searchIsDisabled = false;
|
||
}
|
||
}
|
||
|
||
function searchBlur(e) {
|
||
// Update search input content on blur
|
||
if (e.value == '') {
|
||
e.value = 'Search';
|
||
e.className = 'disabled';
|
||
searchIsDisabled = true;
|
||
}
|
||
}
|
||
|
||
function actionsMenuInit(title) {
|
||
// Initialize action menu
|
||
for (i = 0; i < document.forms.length; i++) {
|
||
var form = document.forms[i];
|
||
if (form.className == 'actionsmenu') {
|
||
// Check if this form needs update
|
||
var div = form.getElementsByTagName('div')[0];
|
||
var label = div.getElementsByTagName('label')[0];
|
||
if (label) {
|
||
// This is the first time: remove label and do buton.
|
||
div.removeChild(label);
|
||
var dobutton = div.getElementsByTagName('input')[0];
|
||
div.removeChild(dobutton);
|
||
// and add menu title
|
||
var select = div.getElementsByTagName('select')[0];
|
||
var item = document.createElement('option');
|
||
item.appendChild(document.createTextNode(title));
|
||
item.value = 'show';
|
||
select.insertBefore(item, select.options[0]);
|
||
select.selectedIndex = 0;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
//-->
|
||
</script>
|
||
|
||
|
||
<link rel="stylesheet" type="text/css" charset="utf-8" media="all" href="wiki/modern/css/common.css">
|
||
<link rel="stylesheet" type="text/css" charset="utf-8" media="screen" href="wiki/modern/css/screen.css">
|
||
<link rel="stylesheet" type="text/css" charset="utf-8" media="print" href="wiki/modern/css/print.css">
|
||
<link rel="stylesheet" type="text/css" charset="utf-8" media="projection" href="wiki/modern/css/projection.css">
|
||
|
||
<!-- css only for MSIE browsers -->
|
||
<!--[if IE]>
|
||
<link rel="stylesheet" type="text/css" charset="utf-8" media="all" href="wiki/modern/css/msie.css">
|
||
<![endif]-->
|
||
|
||
|
||
|
||
<link rel="Start" href="./Quake4SDK.html">
|
||
<link rel="Alternate" title="Wiki Markup" href="./Sounds_SoundPlacement?action=raw">
|
||
<link rel="Alternate" media="print" title="Print View" href="./Sounds_SoundPlacement?action=print">
|
||
<link rel="Appendix" title="image1.jpg" href="./Sounds_SoundPlacement?action=AttachFile&do=view&target=image1.jpg">
|
||
<link rel="Appendix" title="image2.jpg" href="./Sounds_SoundPlacement?action=AttachFile&do=view&target=image2.jpg">
|
||
<link rel="Search" href="./FindPage.html">
|
||
<link rel="Index" href="./TitleIndex.html">
|
||
<link rel="Glossary" href="./WordIndex.html">
|
||
<link rel="Help" href="./HelpOnFormatting.html">
|
||
</head>
|
||
|
||
<body lang="en" dir="ltr">
|
||
|
||
<div id="header">
|
||
<div id="logo"><a href="./Quake4SDK.html"><img src="wiki/common/moinmoin.png" alt="MoinMoin Logo"></a></div>
|
||
|
||
<form id="searchform" method="get" action="">
|
||
<div>
|
||
<input type="hidden" name="action" value="fullsearch">
|
||
<input type="hidden" name="context" value="180">
|
||
<label for="searchinput">Search:</label>
|
||
<input id="searchinput" type="text" name="value" value="" size="20"
|
||
onfocus="searchFocus(this)" onblur="searchBlur(this)"
|
||
onkeyup="searchChange(this)" onchange="searchChange(this)" alt="Search">
|
||
<input id="titlesearch" name="titlesearch" type="submit"
|
||
value="Titles" alt="Search Titles">
|
||
<input id="fullsearch" name="fullsearch" type="submit"
|
||
value="Text" alt="Search Full Text">
|
||
</div>
|
||
</form>
|
||
<script type="text/javascript">
|
||
<!--// Initialize search form
|
||
var f = document.getElementById('searchform');
|
||
f.getElementsByTagName('label')[0].style.display = 'none';
|
||
var e = document.getElementById('searchinput');
|
||
searchChange(e);
|
||
searchBlur(e);
|
||
//-->
|
||
</script>
|
||
|
||
<ul id="username"><li><a href="./Sounds_SoundPlacement?action=login" id="login">Login</a></li></ul>
|
||
<div id="locationline">
|
||
|
||
|
||
<ul id="pagelocation">
|
||
<li><a class="backlink" title="Click to do a full-text search for this title" href="./Sounds_SoundPlacement?action=fullsearch&value=linkto%3A%22Sounds+SoundPlacement%22&context=180">Sounds SoundPlacement</a></li>
|
||
</ul>
|
||
|
||
</div>
|
||
|
||
|
||
<ul id="navibar">
|
||
<li class="wikilink"><a href="./GettingStarted.html">GettingStarted</a></li><li class="wikilink"><a href="./ScriptFile.html">ScriptFile</a></li><li class="wikilink"><a href="./MakeAMod.html">MakeAMod</a></li><li class="wikilink"><a href="./LevelEditor.html">LevelEditor</a></li><li class="wikilink"><a href="./FXEditor.html">FXEditor</a></li><li class="wikilink"><a href="./GUIEditor.html">GUIEditor</a></li><li class="wikilink"><a href="./Sounds.html">Sounds</a></li><li class="wikilink"><a href="./Animations.html">Animations</a></li><li class="wikilink"><a href="./ArtReference.html">ArtReference</a></li><li class="wikilink"><a href="./DownloadableContent.html">DownloadableContent</a></li><li class="wikilink"><a href="./RecentChanges.html">RecentChanges</a></li><li class="wikilink"><a href="./FindPage.html">FindPage</a></li><li class="wikilink"><a href="./HelpContents.html">HelpContents</a></li><li class="current"><a href="./Sounds_SoundPlacement.html">Sounds SoundPlacement</a></li>
|
||
</ul>
|
||
|
||
<div id="pageline"><hr style="display:none;"></div>
|
||
|
||
<ul class="editbar"><li><span class="disabled">Immutable Page</span></li><li><a href="./Sounds_SoundPlacement?action=info">Info</a></li><li><a href="./Sounds_SoundPlacement?action=AttachFile">Attachments</a></li><li>
|
||
<form class="actionsmenu" method="get" action="">
|
||
<div>
|
||
<label>More Actions:</label>
|
||
<select name="action"
|
||
onchange="if ((this.selectedIndex != 0) &&
|
||
(this.options[this.selectedIndex].disabled == false)) {
|
||
this.form.submit();
|
||
}
|
||
this.selectedIndex = 0;">
|
||
<option value="raw">Raw Text</option>
|
||
<option value="print">Print View</option>
|
||
<option value="RenderAsDocbook">Render as Docbook</option>
|
||
<option value="refresh">Delete Cache</option>
|
||
<option value="show" disabled class="disabled">------------</option>
|
||
<option value="SpellCheck">Check Spelling</option>
|
||
<option value="LikePages">Like Pages</option>
|
||
<option value="LocalSiteMap">Local Site Map</option>
|
||
<option value="show" disabled class="disabled">------------</option>
|
||
<option value="RenamePage" disabled class="disabled">Rename Page</option>
|
||
<option value="DeletePage" disabled class="disabled">Delete Page</option>
|
||
<option value="show" disabled class="disabled">------------</option>
|
||
<option value="MyPages">My Pages</option>
|
||
<option value="SubscribeUser">Subscribe User</option>
|
||
<option value="show" disabled class="disabled">------------</option>
|
||
<option value="Despam">Remove Spam</option>
|
||
<option value="PackagePages">Package Pages</option>
|
||
</select>
|
||
<input type="submit" value="Do">
|
||
</div>
|
||
<script type="text/javascript">
|
||
<!--// Init menu
|
||
actionsMenuInit('More Actions:');
|
||
//-->
|
||
</script>
|
||
</form>
|
||
</li></ul>
|
||
|
||
</div>
|
||
|
||
<div id="page" lang="en" dir="ltr">
|
||
<div dir="ltr" id="content" lang="en"><span class="anchor" id="top"></span>
|
||
<span class="anchor" id="line-1"></span><p class="line867">
|
||
<h1 id="head-00f8f014c3d5a3568fb9283187f83b9d90eede59">Quake 4 Sound Placement</h1>
|
||
<span class="anchor" id="line-2"></span><span class="anchor" id="line-3"></span><p class="line867">
|
||
<h2 id="head-1303067f6a6a8105664f8e9ce404d227c1c1d809">Ambient Sounds:</h2>
|
||
<span class="anchor" id="line-4"></span><p class="line874">When you place ambient sounds and edit reverb data in Quake 4, it is all done in real-time while the game is actually running. The following screeshot is what all of the audio tools looks like while you’re placing them in the game environment. <span class="anchor" id="line-5"></span><span class="anchor" id="line-6"></span><p class="line867"><img class="attachment" src="./Sounds_SoundPlacement?action=AttachFile&do=get&target=image1.jpg" title="attachment:image1.jpg" /> <span class="anchor" id="line-7"></span><span class="anchor" id="line-8"></span><ol type="1"><li>This is the audio editor. This is the place where you edit the majority of speaker data in the game. <span class="anchor" id="line-9"></span></li><li>This is the actual game running in windowed mode <span class="anchor" id="line-10"></span></li><li>This is the reverb editor for OpenAL use. <span class="anchor" id="line-11"></span><span class="anchor" id="line-12"></span></li></ol><p class="line874">Ready to get going? Good! Start the game and run in windowed mode (r_fullscreen 0, then vidrestart), load the map you wish to start placing ambient sounds in. You might want to kill all the monsters in the level by bringing the console down and typing “killmonsters” and going invulnerable by typing “god”. That way you will be able to go through the level without being bothered. You might also want to bind a key to “noclip” so you can get to hard to reach spaces easily. <span class="anchor" id="line-13"></span><span class="anchor" id="line-14"></span><p class="line862">Now bring down the console and type “editsounds”. This will open up the sound editor that allows you to preview and place ambient sounds throughout the level. It will analyze the shader file for all of the sound’s attributes (meaning volume & radius settings), but you can make changes to each individual speaker that you place in the world. <span class="anchor" id="line-15"></span><span class="anchor" id="line-16"></span><p class="line867"><img class="attachment" src="./Sounds_SoundPlacement?action=AttachFile&do=get&target=image2.jpg" title="attachment:image2.jpg" /> <span class="anchor" id="line-17"></span><span class="anchor" id="line-18"></span><p class="line874">As you can see, the majority of the tool itself is self-explanatory. If you wish to select a specific speaker while playing, just click on the speaker like you’re shooting it in the game environment. You can also choose certain speakers from the pulldown menu. You might want to make sure you’re in “noclip” mode though. If you choose a speaker that is up in the sky, the player will fall to his/her demise. <span class="anchor" id="line-19"></span><span class="anchor" id="line-20"></span><p class="line874">It’s always a good idea to immediately play through the level like normal after you finish placing ambient sounds. This makes sure that your ambient sounds aren’t too overpowering. <span class="anchor" id="line-21"></span><span class="anchor" id="line-22"></span><span class="anchor" id="line-23"></span><p class="line867">
|
||
<h2 id="head-32f8110bfe6b8d66ae167da4e6a38eee79ab0ee2">Editing Reverb:</h2>
|
||
<span class="anchor" id="line-24"></span><p class="line874">If you are running the game in OpenAL, then you can edit reverb settings in your maps as well by typing “editreverb” on the console. The reverb data is derived from portal data in your map, so if you update the portal data, you MUST updated the reverb information. Generally, the reverb-pass should be the last thing you do before you call the map “final”. <span class="anchor" id="line-25"></span><span class="anchor" id="line-26"></span><span class="anchor" id="line-27"></span><p class="line867">
|
||
<h2 id="head-bae5fdba4cea9e58a58bf4558ec9cc3e8b0ebccb">World Objects and Animations:</h2>
|
||
<span class="anchor" id="line-28"></span><p class="line874">This is a process that can get very involved, so prepare thyself! The way to do this is to start the game, drop the console down, and start Modview. This will open our in-house model/animation viewer tool. Load up the model and/or animation you wish to attach a sound to, note the frame numbers you wish the sound effects to occur on, then open the appropriate .def file (in this case, the gladiator.def file) that is home to the animation you wish to edit. Add whichever sound shaders to the model definition like this: <span class="anchor" id="line-29"></span><span class="anchor" id="line-30"></span><pre>"snd_sight" "gladiator_alert"
|
||
<span class="anchor" id="line-31"></span>"snd_stomp" "gladiator_footsteps_run"
|
||
<span class="anchor" id="line-32"></span>"snd_punch" "gladiator_punch"
|
||
<span class="anchor" id="line-33"></span>"snd_swing" "gladiator_swing"
|
||
<span class="anchor" id="line-34"></span></pre><span class="anchor" id="line-35"></span><p class="line874">Next, find the specific animation in the .def file then use something like this to edit: <span class="anchor" id="line-36"></span><span class="anchor" id="line-37"></span><pre>anim range_attack1 models/monsters/gladiator/gla_blaster_strafe.md5anim
|
||
<span class="anchor" id="line-38"></span>{ frame 6,21 sound snd_stomp
|
||
<span class="anchor" id="line-39"></span> frame 1,25 sound snd_breathe
|
||
<span class="anchor" id="line-40"></span> frame 4,25 sound snd_servo
|
||
<span class="anchor" id="line-41"></span>}
|
||
<span class="anchor" id="line-42"></span></pre><span class="anchor" id="line-43"></span><p class="line874">This shows that for the animation for the gladiator’s range_attack1, the stomp sound will occur on frame 6 and 21, and his breathing falls on frame 1 and 25, while his servo sounds fire off on frame 4 and 25. <span class="anchor" id="line-44"></span><span class="anchor" id="bottom"></span></div><p id="pageinfo" class="info" lang="en" dir="ltr">Sounds SoundPlacement (last edited 2005-11-04 17:29:09 by <span title="EricBiessman @ 67.129.250.254[67.129.250.254]"><a class="nonexistent" href="./EricBiessman.html" title="EricBiessman @ 67.129.250.254[67.129.250.254]">EricBiessman</a></span>)</p>
|
||
|
||
<div id="pagebottom"></div>
|
||
</div>
|
||
|
||
|
||
<div id="footer">
|
||
<ul class="editbar"><li><span class="disabled">Immutable Page</span></li><li><a href="./Sounds_SoundPlacement?action=info">Info</a></li><li><a href="./Sounds_SoundPlacement?action=AttachFile">Attachments</a></li><li>
|
||
<form class="actionsmenu" method="get" action="">
|
||
<div>
|
||
<label>More Actions:</label>
|
||
<select name="action"
|
||
onchange="if ((this.selectedIndex != 0) &&
|
||
(this.options[this.selectedIndex].disabled == false)) {
|
||
this.form.submit();
|
||
}
|
||
this.selectedIndex = 0;">
|
||
<option value="raw">Raw Text</option>
|
||
<option value="print">Print View</option>
|
||
<option value="RenderAsDocbook">Render as Docbook</option>
|
||
<option value="refresh">Delete Cache</option>
|
||
<option value="show" disabled class="disabled">------------</option>
|
||
<option value="SpellCheck">Check Spelling</option>
|
||
<option value="LikePages">Like Pages</option>
|
||
<option value="LocalSiteMap">Local Site Map</option>
|
||
<option value="show" disabled class="disabled">------------</option>
|
||
<option value="RenamePage" disabled class="disabled">Rename Page</option>
|
||
<option value="DeletePage" disabled class="disabled">Delete Page</option>
|
||
<option value="show" disabled class="disabled">------------</option>
|
||
<option value="MyPages">My Pages</option>
|
||
<option value="SubscribeUser">Subscribe User</option>
|
||
<option value="show" disabled class="disabled">------------</option>
|
||
<option value="Despam">Remove Spam</option>
|
||
<option value="PackagePages">Package Pages</option>
|
||
</select>
|
||
<input type="submit" value="Do">
|
||
</div>
|
||
<script type="text/javascript">
|
||
<!--// Init menu
|
||
actionsMenuInit('More Actions:');
|
||
//-->
|
||
</script>
|
||
</form>
|
||
</li></ul>
|
||
|
||
<ul id="credits">
|
||
<li><a href="http://moinmoin.wikiwikiweb.de/">MoinMoin Powered</a></li><li><a href="http://www.python.org/">Python Powered</a></li><li><a href="http://validator.w3.org/check?uri=referer">Valid HTML 4.01</a></li>
|
||
</ul>
|
||
|
||
|
||
</div>
|
||
</body>
|
||
</html>
|
||
|