From 5a7e5cbe45ca6739730641888834a5440d3c1477 Mon Sep 17 00:00:00 2001 From: Daniel Gibson Date: Sat, 10 Apr 2021 16:00:23 +0200 Subject: [PATCH] Q4: Fix links within Wiki 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) --- quake4/AbandonedPages.html | 470 +++++++++--------- .../Adding_Fonts_to_use_in_Quake_4_GUIs.html | 20 +- quake4/AdvancedScriptTutorial.html | 16 +- quake4/AnimationExamples.html | 16 +- quake4/Animations.html | 16 +- quake4/ArtExamples.html | 16 +- quake4/ArtReference.html | 16 +- quake4/ArtReference_CreatingCreatures.html | 18 +- quake4/ArtReference_CreatingModels.html | 20 +- quake4/ArtReference_CreatingTextures.html | 16 +- quake4/ArtReference_Q4Shaders.html | 18 +- ...ArtReference_Q4Shaders_AnimatedStrips.html | 20 +- .../ArtReference_Q4Shaders_Definitions.html | 16 +- .../ArtReference_Q4Shaders_Extra_Passes.html | 22 +- quake4/ArtReference_Q4Shaders_Guides.html | 50 +- quake4/ArtReference_Q4Shaders_Models.html | 18 +- quake4/ArtReference_Q4Shaders_SkinFiles.html | 16 +- quake4/ArtReference_Q4Shaders_Tables.html | 20 +- quake4/ArtReference_Q4Shaders_Textures.html | 16 +- quake4/ArtReference_SpecularMaps.html | 16 +- quake4/ArtReference_playerModels.html | 16 +- quake4/AutoDownload.html | 16 +- quake4/BasicScriptTutorial.html | 28 +- quake4/Basic_FX_file_structure.html | 18 +- quake4/Benchmarking.html | 18 +- quake4/CommunityResources.html | 16 +- quake4/ConsoleCommand_ReloadScript.html | 16 +- quake4/Contact.html | 16 +- quake4/DamageDefinition.html | 16 +- quake4/DebugHud.html | 16 +- quake4/Debugging.html | 16 +- quake4/Declaration.html | 20 +- quake4/DeclarationType.html | 20 +- quake4/DeclarationTypes.html | 16 +- quake4/Declarations.html | 20 +- quake4/Def_Flags.html | 72 +-- quake4/Def_Types.html | 16 +- quake4/DefinitionFile.html | 24 +- quake4/DefinitionFileExamples.html | 18 +- quake4/DefinitionFiles.html | 24 +- quake4/DownloadableContent.html | 18 +- quake4/Effect_Creation_Walkthrough.html | 16 +- quake4/Effects_Performance.html | 18 +- quake4/EntityDefinition.html | 16 +- quake4/Entity_ActorDefault.html | 16 +- quake4/Entity_FuncElevator.html | 16 +- quake4/Entity_FuncFX.html | 16 +- quake4/Entity_FuncMover.html | 16 +- quake4/Entity_FuncSpawner.html | 16 +- quake4/Entity_MonsterBerserker.html | 16 +- quake4/Entity_TargetNull.html | 16 +- quake4/Entity_TriggerOnce.html | 16 +- quake4/ExampleMaps.html | 16 +- quake4/FXEditor.html | 16 +- quake4/FXEditor_Tab_-_Alpha.html | 18 +- quake4/FXEditor_Tab_-_Color.html | 16 +- quake4/FXEditor_Tab_-_Electricity.html | 22 +- quake4/FXEditor_Tab_-_Emitter.html | 28 +- quake4/FXEditor_Tab_-_Length.html | 16 +- quake4/FXEditor_Tab_-_Motion.html | 16 +- quake4/FXEditor_Tab_-_Offset.html | 18 +- quake4/FXEditor_Tab_-_Orbit.html | 20 +- quake4/FXEditor_Tab_-_Origin.html | 18 +- quake4/FXEditor_Tab_-_Physics.html | 16 +- quake4/FXEditor_Tab_-_Rotate.html | 16 +- quake4/FXEditor_Tab_-_Size.html | 16 +- quake4/FXEditor_Tab_-_Sprite.html | 22 +- quake4/FXEditor_Tab_-_Trail.html | 16 +- quake4/FX_Entity_Editor.html | 28 +- quake4/FindPage.html | 18 +- .../Floats,_Definevec4,_and_NamedEvents.html | 24 +- quake4/FontExamples.html | 16 +- quake4/Font_Information.html | 24 +- quake4/GUIEditor.html | 16 +- quake4/GUI_Parms.html | 16 +- quake4/GUI_Variables.html | 16 +- quake4/GameCode.html | 16 +- quake4/GameCodeByConcept.html | 20 +- quake4/GameCodeByFile.html | 16 +- quake4/GettingStarted.html | 16 +- ...idelines_for_GUI_Editing_and_Creation.html | 20 +- ...ngar2_-_Rhodes_and_planting_the_bombs.html | 16 +- quake4/HelpContents.html | 16 +- quake4/HelpOnFormatting.html | 18 +- quake4/HelpOnSearching.html | 16 +- quake4/HitscanDefinition.html | 16 +- quake4/HitscanWeapons.html | 16 +- quake4/HowToPackageScripts.html | 16 +- ..._Repairbot_Ambience_and_the_Tetranode.html | 64 +-- quake4/InstaGib.html | 16 +- quake4/LevelEditor.html | 16 +- quake4/LevelEditor_AITethers.html | 16 +- quake4/LevelEditor_BasicRoom.html | 16 +- quake4/LevelEditor_ChangeList.html | 16 +- quake4/LevelEditor_Clipping.html | 20 +- quake4/LevelEditor_DifficultySettings.html | 16 +- quake4/LevelEditor_EntityReference.html | 16 +- quake4/LevelEditor_KeyboardShortcuts.html | 196 ++++---- quake4/LevelEditor_Loading.html | 18 +- quake4/LevelEditor_MPMapDefs.html | 20 +- quake4/LevelEditor_Performance.html | 18 +- quake4/LevelEditor_Q4Conversion.html | 16 +- quake4/LevelEditor_Troubleshooting.html | 16 +- quake4/LinuxSDK.html | 16 +- quake4/MakeAMod-DMSP.html | 16 +- quake4/MakeAMod-InstaGib.html | 44 +- quake4/MakeAMod.html | 16 +- quake4/MapDefinition.html | 16 +- quake4/ModDirectory.html | 16 +- quake4/ModView.html | 16 +- quake4/ModelDefinition.html | 16 +- quake4/ModelExportBlock.html | 16 +- quake4/MultiplayerEntityDefinitions.html | 16 +- ...2_-_Network_Guardian_Battle_scripting.html | 16 +- quake4/NetworkDemos.html | 18 +- quake4/Notes_about_Envelopes_Tables.html | 20 +- quake4/Notes_about_Origins.html | 20 +- quake4/OldUpdates.html | 16 +- quake4/OrphanedPages.html | 16 +- quake4/PK4File.html | 16 +- quake4/PackagingMods.html | 16 +- quake4/PageSize.html | 16 +- quake4/Placing_a_GUI_In_a_Map.html | 18 +- quake4/Quake4SDK.html | 22 +- quake4/RandomPage.html | 16 +- quake4/RecentChanges.html | 58 +-- quake4/ScriptError_RunawayLoopError.html | 18 +- quake4/ScriptError_UnknownValueError.html | 20 +- quake4/ScriptErrors.html | 16 +- quake4/ScriptEvent_GetWorldOrigin.html | 16 +- quake4/ScriptEvent_SetWorldOrigin.html | 16 +- quake4/ScriptEvent_getName.html | 16 +- quake4/ScriptEvent_getTime.html | 18 +- quake4/ScriptEvent_println.html | 16 +- quake4/ScriptEvent_spawn.html | 16 +- quake4/ScriptEvent_wait.html | 16 +- quake4/ScriptEvent_waitFrame.html | 16 +- quake4/ScriptFile.html | 18 +- quake4/ScriptFile_Events.html | 18 +- quake4/ScriptFiles.html | 16 +- quake4/ScriptFunction_println.html | 16 +- quake4/ScriptSyntax.html | 22 +- quake4/ScriptVariable.html | 16 +- quake4/Scripting_Actions_and_Animations.html | 44 +- quake4/Scripting_FAQ.html | 16 +- quake4/Scripting_ScriptsAndEntities.html | 36 +- quake4/ServerAdmin.html | 16 +- quake4/SiteNavigation.html | 16 +- quake4/Sounds.html | 16 +- quake4/Sounds_ShaderCreation.html | 16 +- quake4/Sounds_SoundPlacement.html | 16 +- quake4/SystemInfo.html | 14 +- quake4/SystemObject.html | 16 +- quake4/SystemPagesGroup.html | 16 +- quake4/The_Properties_of_a_segment.html | 46 +- quake4/TitleIndex.html | 342 ++++++------- quake4/Tutorial_ScriptEntities.html | 22 +- quake4/Using_the_FX_Editor.html | 18 +- quake4/Using_the_GUIEditor.html | 24 +- quake4/WantedPages.html | 16 +- quake4/WordIndex.html | 18 +- quake4/fs_game_base.html | 16 +- 162 files changed, 2027 insertions(+), 2027 deletions(-) diff --git a/quake4/AbandonedPages.html b/quake4/AbandonedPages.html index 42ee994..285322c 100644 --- a/quake4/AbandonedPages.html +++ b/quake4/AbandonedPages.html @@ -88,19 +88,19 @@ function actionsMenuInit(title) { - + - - - - + + + + diff --git a/quake4/ArtReference_CreatingTextures.html b/quake4/ArtReference_CreatingTextures.html index 2543abd..db58b99 100644 --- a/quake4/ArtReference_CreatingTextures.html +++ b/quake4/ArtReference_CreatingTextures.html @@ -88,7 +88,7 @@ function actionsMenuInit(title) { - + @@ -100,16 +100,16 @@ function actionsMenuInit(title) { - - - - + + + + diff --git a/quake4/ArtReference_Q4Shaders.html b/quake4/ArtReference_Q4Shaders.html index a7134c8..e510ba7 100644 --- a/quake4/ArtReference_Q4Shaders.html +++ b/quake4/ArtReference_Q4Shaders.html @@ -88,19 +88,19 @@ function actionsMenuInit(title) { - + - - - - + + + + diff --git a/quake4/ArtReference_Q4Shaders_AnimatedStrips.html b/quake4/ArtReference_Q4Shaders_AnimatedStrips.html index 44fe431..8cd64f3 100644 --- a/quake4/ArtReference_Q4Shaders_AnimatedStrips.html +++ b/quake4/ArtReference_Q4Shaders_AnimatedStrips.html @@ -88,21 +88,21 @@ function actionsMenuInit(title) { - + - - - - + + + + diff --git a/quake4/ArtReference_Q4Shaders_Extra_Passes.html b/quake4/ArtReference_Q4Shaders_Extra_Passes.html index 88c000d..a2b58e5 100644 --- a/quake4/ArtReference_Q4Shaders_Extra_Passes.html +++ b/quake4/ArtReference_Q4Shaders_Extra_Passes.html @@ -88,19 +88,19 @@ function actionsMenuInit(title) { - + - - - - + + + +

ArtReference Q4Shaders Extra Passes (last edited 2005-11-04 21:51:06 by MattVainio)

diff --git a/quake4/ArtReference_Q4Shaders_Guides.html b/quake4/ArtReference_Q4Shaders_Guides.html index 9b16612..1eff7ce 100644 --- a/quake4/ArtReference_Q4Shaders_Guides.html +++ b/quake4/ArtReference_Q4Shaders_Guides.html @@ -88,19 +88,19 @@ function actionsMenuInit(title) { - + - - - - + + + +

ArtReference Q4Shaders Guides (last edited 2006-01-22 23:56:06 by MattBreit)

diff --git a/quake4/ArtReference_Q4Shaders_Models.html b/quake4/ArtReference_Q4Shaders_Models.html index 0892319..27fe128 100644 --- a/quake4/ArtReference_Q4Shaders_Models.html +++ b/quake4/ArtReference_Q4Shaders_Models.html @@ -88,19 +88,19 @@ function actionsMenuInit(title) { - + - - - - + + + +

ArtReference Q4Shaders Models (last edited 2005-11-04 21:39:05 by MattVainio)

diff --git a/quake4/ArtReference_Q4Shaders_SkinFiles.html b/quake4/ArtReference_Q4Shaders_SkinFiles.html index 0b32bb1..096ccbd 100644 --- a/quake4/ArtReference_Q4Shaders_SkinFiles.html +++ b/quake4/ArtReference_Q4Shaders_SkinFiles.html @@ -88,19 +88,19 @@ function actionsMenuInit(title) { - + - - - - + + + +

ArtReference Q4Shaders SkinFiles (last edited 2005-11-04 21:40:37 by MattVainio)

diff --git a/quake4/ArtReference_Q4Shaders_Tables.html b/quake4/ArtReference_Q4Shaders_Tables.html index 994d91c..1788e4b 100644 --- a/quake4/ArtReference_Q4Shaders_Tables.html +++ b/quake4/ArtReference_Q4Shaders_Tables.html @@ -88,19 +88,19 @@ function actionsMenuInit(title) { - + - - - - + + + + diff --git a/quake4/ArtReference_SpecularMaps.html b/quake4/ArtReference_SpecularMaps.html index cbe614d..cc0845a 100644 --- a/quake4/ArtReference_SpecularMaps.html +++ b/quake4/ArtReference_SpecularMaps.html @@ -88,7 +88,7 @@ function actionsMenuInit(title) { - + @@ -112,16 +112,16 @@ function actionsMenuInit(title) { - - - - + + + + diff --git a/quake4/ArtReference_playerModels.html b/quake4/ArtReference_playerModels.html index d32cf12..148038c 100644 --- a/quake4/ArtReference_playerModels.html +++ b/quake4/ArtReference_playerModels.html @@ -88,19 +88,19 @@ function actionsMenuInit(title) { - + - - - - + + + +

ArtReference playerModels (last edited 2006-02-22 20:26:08 by AndrewWeldon)

diff --git a/quake4/AutoDownload.html b/quake4/AutoDownload.html index 037be19..2cac40a 100644 --- a/quake4/AutoDownload.html +++ b/quake4/AutoDownload.html @@ -88,19 +88,19 @@ function actionsMenuInit(title) { - + - - - - + + + +

AutoDownload (last edited 2006-12-03 19:08:18 by TimotheeBesset)

diff --git a/quake4/BasicScriptTutorial.html b/quake4/BasicScriptTutorial.html index 4a146cd..58f2cb7 100644 --- a/quake4/BasicScriptTutorial.html +++ b/quake4/BasicScriptTutorial.html @@ -88,7 +88,7 @@ function actionsMenuInit(title) { - + @@ -98,16 +98,16 @@ function actionsMenuInit(title) { - - - - + + + +

If you’re not familiar with C-style programming, that all looks like a lot of jive. If you are familiar, go ahead and skip to the next header because this is probably old hat to you.

What you just wrote is called a function. Functions are called from the map by triggers—something we’ll get into later. Functions can also be called by other functions, but that’s getting way ahead. Let’s break it down.

The void is the return type, this is what a function gives back to you when it’s done. This function doesn’t give anything back, so we use the word “void” to represent that.

The next part is the function name. The () at the end are where 'parameters' go. If we need to send data to a function, we do it with parameters. Right now, we don’t need any, so the parentheses are empty.

You’ll notice the entire function is wrapped in squirrely braces, these right here: { } This is a must. If you forget them, even one of them, your stuff won’t work.

The next line, the one with the // slashes, is a comment. Comments are just for us, the compiler never sees them. You can write whatever you’d like in a comment. They are not mandatory, but good comments help you remember just what you were doing in a function.

Finally we get to the meat. This line calls a function from the SystemObject, called "sys.” Sys represents the game system, and can do quite a lot for us, which you’ll see later. Right now, sys is using the Print Line function, println. println takes in one parameter, which is a line of text that you wanted printed to the console. It’s very simple.

Notice that the line ends with a semicolon! Semicolons are the only way the compiler knows to stop reading commands from that line. You must include them at the end of your lines, or your stuff won’t run. Especially during these early steps of learning scripting, nine times out of ten when your scripts don’t compile, you forgot a semicolon.

Calling your script from game with triggers

-

At this point, you should save and close the script file. Now it’s time to open up the editor. Open up an empty map suitable for gameplay, a room with a light and an InfoPlayerStart. Create a new brush, right click it and change it to a trigger_once.

A trigger is an invisible brush that is activated by certain conditions. Usually this boils down to the player touching it and something happening. In our case, we want the trigger to call a function for us. So let’s set that key value on the entity.

Very straightforward. Notice here we don’t have to include the void or parentheses from the script file. Just the name of the function will do for now.

That should do it! Save and BSP your map, then run that level in game. If all went well, you should see “Hello Stroggos!” on screen. If you aren’t running in developer mode, or if con_showPrint is set to 0, you’ll have to open the console to see the message.

Did it not work for you?

+

At this point, you should save and close the script file. Now it’s time to open up the editor. Open up an empty map suitable for gameplay, a room with a light and an InfoPlayerStart. Create a new brush, right click it and change it to a trigger_once.

A trigger is an invisible brush that is activated by certain conditions. Usually this boils down to the player touching it and something happening. In our case, we want the trigger to call a function for us. So let’s set that key value on the entity.

Very straightforward. Notice here we don’t have to include the void or parentheses from the script file. Just the name of the function will do for now.

That should do it! Save and BSP your map, then run that level in game. If all went well, you should see “Hello Stroggos!” on screen. If you aren’t running in developer mode, or if con_showPrint is set to 0, you’ll have to open the console to see the message.

Did it not work for you?

Further Changes to the Script and the Map

-

Now that you've got your script running, let's work a little further. We will modify our script and our map to change things up and spawn in a monster.

First, open the editor and add a target_null to the map. Place the target_null on the map in a place where you'd like the monster to spawn. Remember that monster origins are at the centered at the feet of the monster so place the origin target_null even with the ground unless you want the monster to fall out of the sky.

Give that target_null a name you'll remember. For our example we'll use targetMonster.

Go back to your script and add a few lines to the function we wrote earlier.

+

Now that you've got your script running, let's work a little further. We will modify our script and our map to change things up and spawn in a monster.

First, open the editor and add a target_null to the map. Place the target_null on the map in a place where you'd like the monster to spawn. Remember that monster origins are at the centered at the feet of the monster so place the origin target_null even with the ground unless you want the monster to fall out of the sky.

Give that target_null a name you'll remember. For our example we'll use targetMonster.

Go back to your script and add a few lines to the function we wrote earlier.