Fehlende ReadMe im Editor

    • Offizieller Beitrag

    Moinmoin!
    Besonders viele Informationen über die Handhabung des Editors scheinen bei der Zip-Datei nicht vorhanden zu sein. David hat daher die ReadMe veröffentlicht, die ihm zugesandt wurde:


    Thief: Deadly Shadows
    Editor Information


    Installing the Editor:
    Unzip the editor release into your Thief install directory. The file structures should match, so that the files in the zip file inside System and Content go into your System and Content directories, respectively.


    This will overwrite four files:
    Default.ini
    T3.exe
    Ion Launcher.exe
    Content\T3\Books\English\String_Tags\Quotes.sch


    Running custom maps:
    By default, after installing the editor, the game will continue to run just as before. If you want to use the editor and run some of your own maps, you’ll need to make a few changes.
    Maps come in three formats, each with a different extension.
    .unr files are the version of the map used by the editor. This is the basic version with all the information. From it, you can generate the other two map types, but not vice-versa.
    .gmp files are an “un-cooked” version of the map, prepared for the game (information that is only necessary for the editor has been stripped out)
    .ibt files are “cooked” versions of the map. They incorporate most of their resources internally (which is why there is a lot of content included in the editor release. This content was already cooked into the .ibt files that shipped with the game, but is necessary if you want to run the .gmp versions). To use an .ibt file you need both it and the .gmp it came from originally.


    Unless you change some settings in your .ini files, you will only be able to run the .ibt versions (they will be chosen by default). Specifically, you need to run .gmp files (the standard when you’re working on making a level), you need to turn off block loading. The simplest way to do that (assuming you haven’t been editing these files already) is to edit your user.ini and put a semicolon ‘;’ in front of the line that reads:
    LoadFromResourceBlockFiles=true
    If you want more information on changing .ini files, see the appropriate section in this document.


    Custom Map Executable:
    Included in the editor release is the program “T3MainOptVersion.exe”. This is basically the same as the main game that shipped in your package, with a few exceptions:
    1. It is slower
    2. It allows you to run from the “play map” button in the editor.
    3. It is intended for debugging purposes, so game behavior may be slightly different.
    4. It is intended for debugging purposes, and may sometimes crash with an error (a “Viktoria” dialog will show up with some information). This is intended to warn you about something potentially very dangerous that although it might not be fatal in a normal game (thus it doesn’t crash there), but should be fixed.
    5. It logs a bunch of debugging information into your “My Documents” folder (where your Thief saved games go)
    6. It supports a debug console to assist you in debugging your maps, and provide some cheats that may be helpful (The “~” key should bring this up)


    This executable is intended to help map creators test their maps and make them work correctly. It is not recommended that you try to play normally with it.


    Building and playing a custom map:
    The editor is the executable “T3Ed.exe”. If you want to test the process of running a map, try the following:
    1. Open T3Ed.exe
    2. From your Content\Maps folder, open the map “Castle1.unr”
    3. Save it as “MyTestMap.unr”
    4. To play directly from the editor, hit the icon that looks like a joystick on the right side of the top toolbar. This will save the map as Autoplay.gmp and will start playing it.
    a. You must copy your T3MainOptVersion.exe OVER your T3Main.exe for this. A backup version of T3Main.exe, T3MainRelVersion.exe, is provided for later restore.
    b. When running, from the editor, a game window in full-screen you might not hear sounds(happe.
    5. To play it later from the command-line, choose “Export .gmp file”, then shut down the editor. You can then run “t3.exe” with the “MyTestMap” command-line(if you followed the instructions above for changing your .ini file)


    WARNING: If you run a map from the commandline, you can run one from a subdirectory of the “maps” directory by providing the subdirectory name.
    e.g. “t3 subdir\mymap”.
    However, the game cannot check subdirectories when changing between maps, so it is suggested that you not put your maps in subdirectories.
    If you want to run a map that is just in the maps directory (not a subdirectory of it), the name of the map is the only argument you need e.g. “t3 mymap”


    WARNING: If you don’t export the map as a .gmp, the game will be unable to find it, and will crash.


    Ini File settings:
    There are three primary ini files. EditorPrefs.ini, Default.ini, and User.ini.


    EditorPrefs.ini saves your window positions in the editor, and is automatically updated when you quit the editor.


    Default.ini contains most of the game settings. It is overridden by settings in user.ini.


    Qualifiers for the ini file:
    You can add qualifiers to settings so that they only get used in certain builds. Qualified settings will be matched above unqualified settings.


    E.g. the “e” qualifier is for the editor. With two settings:


    GenericSetting__e=”foo”
    GenericSetting=”bar”


    In the game, “GenericSetting” will be “bar” because it cannot match the “e” qualifier.
    In the editor, “GenericSetting” will be “foo” because it matches the “e” and that is the more highly-qualified setting.

    • Offizieller Beitrag

    Doppelpost, aber in diesem Fall geht es nicht anders, wegen der Länge.


    Teil zwei:


    Qualifiers:
    “t” – Thief: Deadly Shadows
    “d” – Deus Ex: Invisible War


    “e” – Editor
    “x” – Xbox Game
    “p” – PC Game


    “a” – English version
    “f” – French version
    “i” – Italian
    “g” – German
    “s” – Spanish


    The “t” and “d” qualifiers are unnecessary, since this editor release is only for “Thief: Deadly Shadows”. Adding a “t” qualifier will prioritize a line above an unqualified line, but there aren’t other options. The “d” qualifier will cause you to ignore the line. Similarly any config line with an “x” qualifier will always be ignored because this editor release does not work with the Xbox version of the game.


    So the useful qualifiers are:
    “e” or “p” (Pick only one. A line that has both will never be read)


    “a”, “f”, “i”, “g”, or “s”. (Pick only one. A line that has both will never be read)


    Language qualifiers are higher priority than the editor/game qualifiers.
    If you had the line
    GenericSetting__a=”baz”, it would be picked for both editor and game, since the “a” setting is more important than the editor setting.



    Map Tutorial


    This is a tutorial on how to use various features of the editor to construct a simple map. In the maps folder are a set of tutorial maps, named “Tutorial1”, “Tutorial2”, etc. The tutorial starts with Tutorial1.unr, which has had minimal work done to it, just to provide a starting area with which to work. Most of the placing of geometry uses standard Unreal conventions, so any documentation on using the editor for games like Unreal Tournament 2004 should apply to placing geometry.


    Lighting, Texturing, and placing the Player Start
    Starting with: Tutorial1.unr
    The geometry in this map hasn’t been built, so build that first.
    1. Under “Build” choose “Build All(As Per Settings)”


    To play the map, you need to place a player start so that the game knows where to create the player.
    1. Under “View” select “Show Actor Class Browser”
    2. Find “Marker”->”Keypoint”->”Navigation Point”->”Player Start”, and select it.
    3. Right-click on the map to place the Player Start in the room to the left. Don’t place it too close to the floor.


    To add some textures (other than the default texture):
    1. Under “View” select “Show Texture Browser”
    2. In that browser, under “File”, select “Import Matlib”, and import “T3_GEN.mlb”
    3. To texture a surface, select it in the 3-D view, and then choose a texture from the texture browser.


    To add lights:
    1. Right-click on a spot on the map and select “Add Light here”
    2. You could also add light figures from the Actor Class Browser, but for the purposes of this tutorial, just add a generic sourceless light using “Add Light Here”


    See the level as it would render in game:
    1. On the lower left viewport, the one with the 3-D view, click the gold “U” icon (the tooltip text says “Toggle Flesh Render Output”) to change it into a green ball that says “Ion”. This changes renderers to the in-game renderer and shows you what it looks like lit up. If it’s all black, you haven’t added your lights yet, or you forgot to build the geometry. (Adding and moving lights doesn’t require you to rebuild anything, but you have to have built the geometry in the first place)
    2. This does render more slowly, and not all sprites (icons for objects like particle emitters) show up, so you’re likely to want to edit in both modes.


    Tutorial2.unr contains the results of these changes.



    Travelling To and From other Maps


    Starting with: Tutorial2.unr


    Making the level save properly (in game):
    1. Under “View” choose “Level Properties”.
    2. Expand the bottom “Properties” header and then the “LevelInfo” header.
    3. Under there is a title. To properly save your level in game (and travel back to it from other maps), this title MUST match the name of the map file (tutorial1, tutorial2, tutorial3, etc)


    Create a travel volume (for out-going level changes):
    1. In the small hallway on the right, adjust the builder brush so that it’s a little smaller than the hallway, so that the volume will be distinct.
    2. Create a Volume (this is the 7th and final of the brush building icons on the left toolbar. It looks like a 3D translucent blue cube). Select “volume” (generic) as the volume type.
    3. Right-click on the volume and choose “Volume Properties”
    4. On the bottom line of the property window, where it says “Properties”, right-click and choose “Add Property”.
    5. In the “Property Categories” pane, scroll down to Teleport, and select it.
    6. Select “TeleportInfo” in the “Properties” pane then click “Add Property”
    7. As an example, here are the settings to take you outside Garrett’s apartment building.
    a. Set “TeleportDestination” to “ApartmentDoor”
    b. Set “TeleportMap” to “SouthQuarter1”
    c. Set “PromptForTeleport” to “True”
    d. Set “TeleportDisplayName” to “T_LevelEnterTextSouthQuarter1”


    Hook the out-going volume to take you back to the beginning of the map:
    1. For now use the same settings as those for taking you outside Garrett’s apartment building, with three changes:
    a. Set “TeleportMap” to the name of your map (Tutorial3 in the example)
    b. Set “TeleportDestination” to “InternalTeleport” (or pick a different name if you like)
    c. Set “TeleportDisplayName” to “T_LevelEnterTextTutorial”
    2. Add another PlayerStart.
    a. Edit the properties of that playerstart, and add the property “TeleportDestName” (category “Teleport”).
    b. Set that property to “InternalTeleport” (or whatever name you picked before)
    3. Export the map for game, since although you’ll play the autoplay version if you launch from the editor, it will need the real map as well.


    Adding travel confirmation strings:
    1. The teleport refers to a string “T_LevelEnterTextTutorial” which doesn’t exist. You can add it in Content\T3\Books\English\String_Tags\Misc.sch
    2. Similarly, when you change levels, it displays a quote. Those quotes can be edited (per level) in Content\T3\Books\English\String_Tags\Quotes.sch


    The results of these steps (except for the string tags) are in Tutorial3.unr



    Scripts and Links:


    Starting with: Tutorial3.unr


    Right now the teleport volume takes you back to the same map over and over. These instructions will tell you how to add a button with a custom script that will change the teleporter to take you just outside Garrett’s apartment.


    Add a switch:
    1. In the Actor Class Browser, select:
    WorldObj->Environmental->Switch->SquareButton
    2. Place that button on the wall (note, if you move the base of the button, the button itself will get updated to stay attached to it after you finish moving)


    Link the switch to the volume:
    1. Click on the “Create Links” icon. (two red circles connected to each other, on the left-hand tool bar). Select “TriggerScript” (not ‘~TriggerScript’, that will create a link in the opposite direction).
    2. Click on the button BASE, and then shift-click on the volume. It should draw a red “TriggerScript” link, originating from the button.
    3. Go back to normal mode (click the camera icon in the same pane that the “create links” icon was)


    Create a script to change the teleport info:
    1. Under “View” choose “Trigger Scripts”
    2. Click “New”
    3. Choose a name (TutorialTeleportScript is used for Tutorial4.unr, the ultimate result of this section).
    4. Click “Condition” and under “Frob”, choose “When I am frobbed by player”. This condition will fire when the object the script is on (the button) is frobbed(interacted with) by the player.
    5. Click “Action” and under “Properties” choose “Set Property to [Value] on linked objects of [LinkFlavor]”
    6. There are 3 properties to set, so add two more of those actions. (Note that most conditions and actions have tooltips if you want more information about them)
    7. For the first action:
    a. Click on “Property”, and choose “TeleportInfo”, then choose “TeleportMap”.
    b. Click on “Value” and replace “String” with “SouthQuarter1”
    c. Click on “LinkFlavor” and choose “TriggerScript” (again, not “~TriggerScript”, that represents a link in the other direction)
    8. Do the same for the other two actions, setting the properties “TeleportInfo.TeleportDestination” and “TeleportInfo.TeleportDisplayName” to the appropriate settings from the teleporter example in the previous section.
    8. Close this dialog and then either hit “Save and refresh” or close the trigger script browser with “ok” (This will take a short time)


    Add the script to the button:
    1. Right-click on the button BASE and edit the properties.
    2. Add the property “Scripts->TriggerScripts”.
    3. Click on the “Add” button for the “TriggerScripts” property, and expand the property. You should see three lines: “ButtonPush”, “ButtonMediumSound1”, and “None”.
    4. On the “None” line click the “…”. This will make sure the Trigger Script browser is up. Select the script you created, and then click “Use” (next to the “…”. That should fill in the line with the name of the script.
    5. Hit “Done”


    To Test:
    1. Save your map, and export the .gmp file.
    2. Use the play button to play it.


    (The results of this are saved as Tutorial4.unr)

    • Offizieller Beitrag

    Und hier der letzte Teil:


    Conversations:


    Starting with: Tutorial4.unr


    The simplest conversation set up is a radius-triggered conversation. It fires when the player gets within range.


    To take an existing radius triggered conversation and put it in the level:
    1. Find the conversation in the conversation browser (under View). In this case, use the conversation “SMCutterAndThugs” under the “SM2StoneCutter”.
    2. Look at the conversation to see which participants it uses. This uses three people, “SM2StoneCutterShopThug1”, “SM2StoneCutterShopThug2”, and “SM2StoneCutter”. Make sure to include the owner as well (the list on the left is of conversations grouped by owner, so the owner here is “SM2StoneCutter”).
    3. Place all 3 of these in the level. As an easy way to find them in the actor class browser, you can use the command (in the command bar at the bottom of the main editor window) to run the command (with the actor browser open):
    scc classvisiblename=sm2stonecuttershopthug1
    4. On the owner “SM2StoneCutter”, add the property
    “Conversations->ConvosToBind”.
    5. Add an element to that array and set it to the name of the conversation.
    6. Finally, conversations are associated with a particular mission. If you right-click on the conversation and hit “edit” you’ll see that it is valid in the “stonemarket” mission(you can also see that it is radius-triggered). In the main editor, under “View” you can edit “Level Properties”. In that property dialog, under the “LevelInfo” category, set “ConversationPackage” to “stonemarket”, so that it can use stonemarket conversations.
    7. If you play the map, it should play the conversation when you get close. Remember, if you launch from the editor, you probably won’t get sound if you’re in full-screen.
    8. Conversations can also be triggered via trigger scripts on volumes. You can create a volume, and put a script on it that fires when someone enters the volume… thus triggering the conversation. Most actual conversations in Thief are triggered this way.


    (Saved as Tutorial 5.unr)


    What about editing your own conversations?
    Doing this properly requires you to have the ability to add sounds to the game and edit the sound schemas. Since this is an even larger download than everything else combined, it is not included with the editor release. If you want the ability to edit your own conversations, you’ll need to download the additional sound editing package.


    Adding your own Textures:
    Our engine uses .dds files for textures. These can be created using Adobe’s Photoshop program. You’ll need to download plug-ins for it from nVidia’s website. You need both the Photoshop plug-in and the 3DSMax plug-in. Simply put the textures in the Content\T3\Textures directory. The naming convention is to end textures with a “_D” for Diffuse textures and “_N” for Normal map textures. Some code depends on following this naming convention.


    Adding your own Static Meshes:
    In order to create your own Static Meshes and Materials, you’ll need a copy of 3DSMax 5.1.
    Once you have that installed, you need to set up several things:
    1. Create an ION_ROOT enviroment variable and set it to where you installed Thief: Deadly Shadows. (e.g. “c:\Program Files\Thief – Deadly Shadows\”). You can edit these by right-clicking on My Computer, choosing Properties, Advanced, Environment Variables.
    2. Copy the scripts from the included “Utility\Max” directory into the scripts directory in 3DSMax.
    3. Copy the .dll files (msvcp71.dll, msvcr71.dll, and binkw32.dll) to the root directory of 3DSMax.
    4. In 3DSMax, under “Customize - Configure Paths”, add:
    a. Utility\Max\Plugins\HardwareShaders (use the full path, including drive letter)
    b. Utility\Max\Plugins
    c. Utility\Max\StdPlugs
    5. Set the 3DSMax viewport to use DirectX 8.1. (Under “Customize – Preferences”, choose “Viewports” and “Choose Driver”);
    6. To let 3DSMax know where the Ion Storm shaders are: In 3DSMax, under “Customize – Configure Paths – Bitmaps/Photometrics”, add:
    a. Content\T3\Textures (use the full path, including drive letter)
    b. Make sure to check “Add Subdirectories” before hitting ok.
    7. Restart 3DSMax.


    If you have any problems loading up plug-ins, you may have to change the order under “Configure Paths”. Some of our plug-ins are load-order dependent.


    To texture a mesh, on the “diffuse” channel use the “Ion Shader” and pick one of the .dds files. Textures are named with _D for Diffuse and _N for Normal maps.


    Note: If you want the object to sound like something, (sound like it was made of wood, stone, etc), there is a “category” option at the bottom of the material editor.


    Once the mesh is textured, you can export it using “Export Selected” and saving it as a “.tim” file. NOTE: The name of the file saved out will be the same as the name of the mesh. The name you enter in the box for export is ignored.


    If you want the mesh to have a physics model, then run the “Collision Maker” script and “Create Convex Hull”


    Adding your own Materials:
    Materials get added as parts of Material Libraries “.mlb” files, which correspond to 3DSMax “.mat” files. Once you’ve generated a “.mat”, you can use the “Mat Export” utility in 3DSMax (under “Utilities”->”More”->”Mat Export”) to save a .mat as a .mlb.
    Those should go in Content\T3\MatLibs



    Irre ich mich, oder ist das weit weniger detailliert, als bei DromEd? ;)


    [edit] Bis die Tutorials in die Page eingebunden werden, möchte ich das hier mal als Word-Datei zum Download anbieten: