Jump to content
The Dark Mod Forums

Search the Community

Searched results for '/tags/forums/system/' or tags 'forums/system/q=/tags/forums/system/&'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General Discussion
    • News & Announcements
    • The Dark Mod
    • Fan Missions
    • Off-Topic
  • Feedback and Support
    • TDM Tech Support
    • DarkRadiant Feedback and Development
    • I want to Help
  • Editing and Design
    • TDM Editors Guild
    • Art Assets
    • Music & SFX

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

  1. I'd like to encourage everybody to post their system configuration either here or in our wiki article. This way it's easier for newcomers to check whether their system is capable and what performance or problems are to be expected. Please include information like: - Operating System - CPU - System RAM - Video Card - Video Drivers (if that info is available) - Experienced Performance, Steps you had to perform to get it running or problematic driver versions, etc. If you're posting here, somebody from the team can transfer that info to the wiki article.
  2. I have updated my Refont program, to now have a function that can analyze a font DAT file for missing or problematic characters. As part of a broader inquiry, I've just applied that program, individually, to all current 'english' font DAT files. I'm reporting the overall results here. I'm sure this will not be a surprise to some of you, but may be to others. Background As you know, TDM fonts are based a bitmap system, derived from 256-character code pages, of which "English" and "Russian" are currently supported. "English" is actually Latin-1, with additional characters to cover more European languages in a single codepage. This is (in theory) quite good for major European languages, less so for less-prominent ones. For each font, bitmaps are distributed in 3 sizes (12, 24, 48 pt), with the engine doing interpolation scaling. Current Font Findings 12-pt Size for All Fonts Only ASCII (i.e., lower range 0-127) characters are provided, no European. For some fonts (stone, mason, mason_glow), the 12-pt DAT is not distributed, so the engine will substitute a larger size, which typically has better Latin-1 coverage. For Fonts Used in Main Menus, HUD, or Subtitles The numbers shown approximate the number of "characters needing work" Fontname Size-24 Size-48 carleton 20 16 carleton_condensed 20 35 mason -- 33 Since 24 pt is not distributed, engine uses 48 pt. stone 30 83 For Additional Fonts Used in FM Readables, Etc. Except for one font (treasure_map), all the remaining fonts are ASCII-only, i.e., no characters in the upper range. In the lower range, routinely the 24 and 48 pt sizes have equivalent coverage. Most of these fonts are fully or nearly complete, while some neglect certain punctuation symbols. The worst is "everette", with 24 "needing work" characters. Further details are here:
  3. "May his iron mold the current as we were molded. May his instrument expel all obstruction as we are his instruments." - Collected Sermons of Master Plumber Roto Rooter Few would dare cross the Bridgeport Plumber's Guild. Fewer still could glimpse their secrets and live. CC0 POLYHAVEN PLUMBER PACK BETA Includes: Fully modular pipe kit with optimized shadow mesh, two skin variations and near perfect grid snapping at grid level 4 Moveable plunger prop which is fully compatible with the AI weapon system Worry free CC0 license All credit to the great polyhaven.com for the original mid poly meshes - consider supporting them on patreon. I just decimated and then rebaked the assets as well as converted the maps from pbr and made the additional model and material variations.
  4. Is that really correct? Unless TDM team changed stuff from Doom 3 times, if you use Doom 3 as example, normal maps that represent outward surfaces, use OpenGL system, those that represent inward surfaces, aka holes, use D3D system. On real DirectX renders, outward surfaces, use the D3D system instead and the OGL one for inward, is inverted. And to reinforce this the original example by idSoftware, looks to use the OpenGL system see here cyan for top, purple for the bottom, in d3d is inverted. Thou like I said maybe the TDM team changed all of this by now... edit: Incorrect info so ignore it any mod is free to delete this if he/she wants.
  5. I most agree this is very confusing. The main light on my example, was not coming from the top but from the side and it looks correct to me, but your OGL example does look incorrect, if the light source is on the top right corner, so call me confused. edit: I made more testing, I was totally wrong and Wellingtoncrab is correct, it IS the D3D system, purple on the top for bumps, is the correct color, cyan in the top should be for holes. So my example is misleading and not correct.
  6. For the FM? For beta 1 it's here: https://drive.proton.me/urls/H1QBB04GA0#oBZTb1CmVFQb I've already done around 100 fixes though, so you might want to wait for beta 2 which should be ready in a couple of days hopefully. All links are in the first post of the beta thread here: https://forums.thedarkmod.com/index.php?/topic/22439-the-lieutenant-3-foreign-affairs-beta-testing/
  7. For the people eager to play with the latest state of development, two things are provided: regular dev builds source code SVN repository Development builds are created once per a few weeks from the current trunk. They can be obtained via tdm_installer. Just run the installer, check "Get Custom Version" on the first page, then select proper version in "dev" folder on the second page. Name of any dev version looks like devXXXXX-YYYY, where XXXXX and YYYY are SVN revision numbers from which the build was created. The topmost version in the list is usually the most recent one. Note: unless otherwise specified, savegames are incompatible between any two versions of TDM! Programmers can obtain source code from SVN repository. Trunk can be checked out from here: https://svn.thedarkmod.com/publicsvn/darkmod_src/trunk/ SVN root is: https://svn.thedarkmod.com/publicsvn/darkmod_src Build instructions are provided inside repository. Note that while you can build executable from the SVN repository, TDM installation of compatible version is required to run it. Official TDM releases are compatible with source code archives provided on the website, and also with corresponding release tags in SVN. A dev build is compatible with SVN trunk of revision YYYY, where YYYY is the second number in its version (as described above). If you only want to experiment with the latest trunk, using the latest dev build gives you the maximum chance of success. P.S. Needless to say, all of this comes with no support. Although we would be glad if you catch and report bugs before the next beta phase starts
  8. After some amount of work I'm happy to be able to share my Christmas gift for TDM! Or at least half of it, considering the other half is still only in design phase. I created an addon that implements detailed player functionality, inspired by the first DeusEx game (The Conspiracy). It's NOT a mission script but an addon, meaning you place the pk4 in your TDM directory to enable the system and it will automatically work in each and every FM. Note that due to using tdm_user_addons.script / user_addon_init() it may disable or get disabled by other addons you have installed... this is a design limitation which can hopefully be lifted at some point in the future. This plugin will be included in my cyberpunk total conversion The Dark Module and automatically active with it, but first I shall design it and make it available as a small independent addon for vanilla TDM. In the current initial release it implements just per-limb damage; The upcoming plan is to add a skill / augmentation system, allowing the player to use loot as skill points to enhance various body parts and gain new or improved abilities. Due to the scripting system being very limited in what it lets me modify, I'm still gathering documentation on how to implement those skills and which I can have. So until then detailed body damage with penalties remains the only part that's theoretically finished so far (further improvements are required here too)... including a HUD component above the lightgem showing the status of each body part: Green = full health, yellow = half health, red = (close to) no health, black = no health left. The individual limbs available: Head, Torso, Left Arm, Right Arm, Left Leg, Right Leg... arms and legs work in unity however. They each take damage with the player as well as healing together with them. The more damaged a group is, the more a respective penalty is applied to the player. Groups and penalties include: Head: When the head is damaged, the player begins to get dizzy and has their vision impaired. Currently the only effect replicates the flashbomb, causing white dots to appear around the player and disrupt their view until the head is healed. As the player can't live without a head, reaching 0 will cause instant death. More effects are possible and pending. Torso: Damage to the torso translates to damage to the cloak, increasing the player's lightgem and rendering them more visible even in dark spots. As the player can't live without a torso, reaching 0 will cause instant death. Given script limitations I'm unable to simulate lung damage and decrease / limit the amount of air the player has. Arms: Arm damage makes it difficult for the player to hold items: In-world objects being held will probabilistically get dropped, more often the worse your arms are hurt. When both arms reach 0 health, the player can no longer pick up anything in the world without instantly dropping it... you also become unable to use any weapons. Due to limitations in the scripting system, I'm unable to decrease the speed or accuracy of the blackjack / sword / bow as was desired. Legs: As expected leg damage will make the player walk more slowly. It was desired that when one leg is lost the player can no longer jump, whereas when both legs are gone you remain stuck in crouch mode until healed... due to limitations in the scripting system this part is also not possible at the moment. A crude limitation is the fact that limb damage is primarily based on the direction the player is walking toward... for example, increased likelihood of suffering damage to your right arm and leg if strafing right the moment you take the damage. The script system doesn't let you extract the vector direction of the last damage event, thus I can't use the real direction the hit came from when calculating which body part should absorb the most health loss. This means that even if an arrow comes from above and hits the player's head area, the player will only take damage to the legs if they're falling downward the moment they got hit... for the time being this provides a bare minimum amount of realism but is a very bitter implementation. For this reason it would be greatly appreciated if any of the code developers could join this discussion and verify if they can help with adding the necessary hooks to external scripts: With 2.09 getting periodic beta releases at this point in time, it would be a great opportunity to make changes to the builtin player script that allow an external function to modify more player variables. This includes the efficiency of weapons, if the player is allowed to jump or forced to always crouch, and I'd also really appreciate a hook to manipulate the breath so air can be lowered as if the player is underwater. I understand other priorities exist or if the work may be considered too much, however this would help in being able to finish this mod with the proper functionality and planned skill set. In the meantime let me know what you think of this idea and how I went about it! So far no new assets are included except the GUI graphics: Everything is done with less than 250 lines of script which I'd say is a good achievement I've attached the pk4 and since it's so lightweight I'll also add the main script straight in this post. player_damage_1.0.pk4 #define DAMAGE_WAIT 0.0166667 #define EXPOSURE_ARM_LEFT 2 #define EXPOSURE_ARM_RIGHT 2 #define EXPOSURE_LEG_LEFT 2 #define EXPOSURE_LEG_RIGHT 2 #define EXPOSURE_HEAD 3 #define EXPOSURE_TORSO 1 #define PENALTY_TORSO_LIGHTGEM 4 player self; float damage_gui; boolean dizzy; entity dizzy_particles; float bound(float val, float min, float max) { if(val < min) return min; if(val > max) return max; return val; } // Range based probability: Calculates a probability per frame independent of wait time (0 - 1 range at 1 chance per second) boolean prob(float x) { return sys.random(1) > x && sys.random(1) < DAMAGE_WAIT; } // Directional exposure calculator float dex(vector dir, float ex_front, float ex_back, float ex_right, float ex_left, float ex_up, float ex_down) { float maxvel = 100; float dir_front = bound(dir_x / maxvel, 0, 1) * ex_front; float dir_back = bound(-dir_x / maxvel, 0, 1) * ex_back; float dir_right = bound(dir_y / maxvel, 0, 1) * ex_right; float dir_left = bound(-dir_y / maxvel, 0, 1) * ex_left; float dir_up = bound(dir_z / maxvel, 0, 1) * ex_up; float dir_down = bound(-dir_z / maxvel, 0, 1) * ex_down; return dir_front + dir_back + dir_right + dir_left + dir_up + dir_down; } void player_damage_update_arm(float dmg_l, float dmg_r) { float hl_l = self.getFloatKey("health_arm_left"); float hl_r = self.getFloatKey("health_arm_right"); float hl = (hl_l + hl_r) / 2; if(dmg_l != 0 || dmg_r != 0) { hl_l = bound(hl_l - dmg_l, 0, 1); hl_r = bound(hl_r - dmg_r, 0, 1); hl = (hl_l + hl_r) / 2; self.setKey("health_arm_left", hl_l); self.setKey("health_arm_right", hl_r); self.setGuiFloat(damage_gui, "PlayerDamage_ItemArmLeft", hl_l); self.setGuiFloat(damage_gui, "PlayerDamage_ItemArmRight", hl_r); // Penalty #1: Disable the weapon once the arm are damaged to minimum health if(hl == 0) { self.selectWeapon(WEAPON_UNARMED); self.disableWeapon(); } else { self.enableWeapon(); } } // Penalty #2: Probabilistically drop held items based on arm damage if(hl == 0 || prob(hl)) if(self.heldEntity() != $null_entity) self.holdEntity($null_entity); } void player_damage_update_leg(float dmg_l, float dmg_r) { float hl_l = self.getFloatKey("health_leg_left"); float hl_r = self.getFloatKey("health_leg_right"); float hl = (hl_l + hl_r) / 2; if(dmg_l != 0 || dmg_r != 0) { hl_l = bound(hl_l - dmg_l, 0, 1); hl_r = bound(hl_r - dmg_r, 0, 1); hl = (hl_l + hl_r) / 2; self.setKey("health_leg_left", hl_l); self.setKey("health_leg_right", hl_r); self.setGuiFloat(damage_gui, "PlayerDamage_ItemLegLeft", hl_l); self.setGuiFloat(damage_gui, "PlayerDamage_ItemLegRight", hl_r); // #Penalty #1: Make movement slower self.setHinderance("health", 0.25 + hl * 0.75, 1); } } void player_damage_update_head(float dmg) { float hl = self.getFloatKey("health_head"); float time_current = sys.getTime(); if(dmg != 0) { hl = bound(hl - dmg, 0, 1); self.setKey("health_head", hl); self.setGuiFloat(damage_gui, "PlayerDamage_ItemHead", hl); // Penalty #1: Without a head the player dies if(hl == 0) self.damage(self, self, self.getOrigin(), "damage_suicide", 1); // Penalty #2: Simulate dizzyness starting at half health if(hl <= 0.5) { if(!dizzy) { dizzy_particles = sys.spawn("func_emitter"); dizzy_particles.setModel("flashbomb.prt"); dizzy_particles.setOrigin(self.getEyePos()); dizzy_particles.bind(self); dizzy = true; } } else { if(dizzy) { dizzy_particles.remove(); dizzy = false; } } } } void player_damage_update_torso(float dmg) { float hl = self.getFloatKey("health_torso"); if(dmg != 0) { hl = bound(hl - dmg, 0, 1); self.setKey("health_torso", hl); self.setGuiFloat(damage_gui, "PlayerDamage_ItemTorso", hl); // Penalty #1: Without a torso the player dies if(hl == 0) self.damage(self, self, self.getOrigin(), "damage_suicide", 1); // Penalty #2: Torso damage negatively affects the lightgem self.setLightgemModifier("damage", (1 - hl) * PENALTY_TORSO_LIGHTGEM); } } void player_damage() { sys.waitFrame(); self = $player1; damage_gui = self.createOverlay("guis/player_damage.gui", 1); float health_old = 100; // Init by sending a heal event filling the limbs to full health player_damage_update_arm(-1, -1); player_damage_update_leg(-1, -1); player_damage_update_head(-1); player_damage_update_torso(-1); while(1) { // sys.waitFrame(); sys.wait(DAMAGE_WAIT); float health_current = self.getHealth(); float dmg = (health_old - health_current) / 100; float dmg_arm_left = dmg * EXPOSURE_ARM_LEFT; float dmg_arm_right = dmg * EXPOSURE_ARM_RIGHT; float dmg_leg_left = dmg * EXPOSURE_LEG_LEFT; float dmg_leg_right = dmg * EXPOSURE_LEG_RIGHT; float dmg_head = dmg * EXPOSURE_HEAD; float dmg_torso = dmg * EXPOSURE_TORSO; // If this is damage and not healing, apply directional damage to each limb if(dmg > 0) { // Currently we estimate damage direction based on the player's velocity, we should fetch the real direction of a damage event when this becomes possible vector dir = self.getMove(); vector ang = self.getViewAngles(); // Protections based on the player's position and relation to the environment // protection_look: 1 when looking up, 0 when looking down // protection_low: Higher as the lower part of the body is exposed float protection_look = 1 - (90 + ang_x) / 180; float protection_low = 1; if(self.AI_CROUCH) protection_low = 0; else if(self.AI_ONGROUND) protection_low = 0.75; // Use the dex function to calculate directional exposure patterns, direction order: Front, back, right, left, up, down // Arms: Somewhat likely to be hit, no added protection // Legs: Somewhat likely to be hit, added protection when the player is crouching // Head: Unlikely to be hit, added protection when the player is looking down // Torso: Likely to be hit, no added protection float exposure_arm_left = bound(sys.random(0.375) + dex(dir, 0.5, 0.25, 0.0, 1.0, 0.0, 0.25), 0, 1); float exposure_arm_right = bound(sys.random(0.375) + dex(dir, 0.5, 0.25, 1.0, 0.0, 0.0, 0.25), 0, 1); float exposure_leg_left = bound(sys.random(0.375) + dex(dir, 0.75, 0.5, 0.0, 0.5, 0.0, 1.0) * protection_low, 0, 1); float exposure_leg_right = bound(sys.random(0.375) + dex(dir, 0.75, 0.5, 0.5, 0.0, 0.0, 1.0) * protection_low, 0, 1); float exposure_head = bound(sys.random(0.25) + dex(dir, 0.25, 0.75, 0.5, 0.5, 1.0, 0.0) * protection_look, 0, 1); float exposure_torso = bound(sys.random(0.5) + dex(dir, 0.75, 1.0, 0.0, 0.0, 0.0, 0.0), 0, 1); // Apply the exposure to damage, multiplied to simulate the sensitivity / resistance of each limb dmg_arm_left = exposure_arm_left * dmg * EXPOSURE_ARM_LEFT; dmg_arm_right = exposure_arm_right * dmg * EXPOSURE_ARM_RIGHT; dmg_leg_left = exposure_leg_left * dmg * EXPOSURE_LEG_LEFT; dmg_leg_right = exposure_leg_right * dmg * EXPOSURE_LEG_RIGHT; dmg_head = exposure_head * dmg * EXPOSURE_HEAD; dmg_torso = exposure_torso * dmg * EXPOSURE_TORSO; } player_damage_update_arm(dmg_arm_left, dmg_arm_right); player_damage_update_leg(dmg_leg_left, dmg_leg_right); player_damage_update_head(dmg_head); player_damage_update_torso(dmg_torso); health_old = health_current; } }
  9. Thought I would compile a list of tweaks & fixes from multiple sources for this game in an effort to help people get a playable experience, I will update this OP as we go. Minimum Requirements - Processor: Dual Core or Quad Core CPURAM: 4 GBGraphics: AMD Radeon 4800 series or NVidia GTS 250DirectX: Version 10Hard Drive: 20 GBRecommended Requirements - Operating Systems: Windows 7, Windows 8 (32nit or 64-bit)Processor: AMD FX 8000 series, Intel Quad i7 Core or better CPURAM: 4 GBGraphics: AMD Radeon HD R9 series, NVidia GTX 660 series or betterDirectX: Version 11First recommened tweak for ALL 64bit Windows users - (dont know if this applies to linux users, yet) The latest update (1.2 b4116.4) fixes the slowdown issue but if people still having issue or have lower end systems there is not a tick box to force the use opf the 32bit exe.Second Recommended Tweaks for ALL 32/64bit Windows users - Enable "Exclusive FullScreen", this should improve your framerate across the board. - for me my FPS (min/max/avg) jumped from 32/62/53 to 41/64/58Graphics tweaks to Make the game run better - First things first - If you are experiencing bad graphics on a machine that can easily afford to run it better/smoother, set SSAA ‘Super Sampling Anti-Aliasing’ to low or off. The higher you set this setting, the more lag you will encounter in the game.Don’t take things for granted - The problem is the optimization of the game, even if your PC can handle everything max'd out, try keeping SSAA to low if you want a smoother gameplay experience.Flickering shadows, glichy graphics & disappearing menu buttons - If you are experiencing flickering shadows, glitchy graphics & disappearing menu items, make sure you are running the game on updated or the latest drivers for your gfx card.SLI/Crossfire fix - For now, make sure you run the game on a single GPU as SLI/Crossfire may be causing the disappearing graphics and flickering shadows.Framerate issues - There are a few things you can try to improve your FPS for thief. Firstly make sure that your GPU drivers are up to date and your system is not overheating or running hot. If you are running SLI/Crossfire, try disabling to see if there is a difference in performance. If you are using a laptop, make sure that your power adapter is plugged and your power setting in windows is set to performance.Common sense - It goes without saying that your system should be good enough to handle the game’s processing and rendering needs. If you are running any third party applications in the background like Dxtory, Shadowplay or FRAPS etc, your going to see a perf drop.Crashes after loading a stage - If Thief crashed after loading, make sure you verify the integrity of the game cache in Steam especially if you pre-loaded the game and tried to start it as soon as it unlocked.You may have to verify the files twice to make it work! If that doesn’t work, there is another workaround. I am not sure about this fix but it has helped a few to get rid of the crash, so I think it’s worth of a shot.The game crash can be associated with the virtual memory size. You should increase your virtual memory page file size to fix the issue.Game crashes to desktop and reboot - Make sure you have latest patch for the game installed. It fixes these random crashes and loading issues. If you pre-loaded the game, make sure you verify the integrity of the game cache. You may have to verify the files twice to make it work!Blackscreen when launching thief - can be one of two things - is associated with the missing files of the game. Verify the game cache and re-verify if the need be to get it running.Make sure Windows pagefile is enabled (http://windows.microsoft.com/en-gb/w...#1TC=windows-7).Can’t Hear sound? No voices? (no, not the ones in your head) - Verify the integrity of the game cache. Download the language packs if need be. Make sure you have voices/music volume up in the sound settings of the game.You can also trying changing the advanced sound settings in Windows. Open Playback Devices, click on your Speakers and go to Properties. Now in enhancement levels, select CD/DVD quality and see if it helps.Thief won’t start? - Try logging into Steam after having logged out. It will help!Thief config tweaks - Disable motion blur - you will find relative file to edit in: Steam\steamapps\common\Thief\Engine\Config. You need to open the file by the name of “BaseEngine.ini” and then set the following values as such: "motionBlur=True" to "motionBlur=False""motionBluPause=True" to "motionBlurPause=False"Save the file and set it to "read-only".How to skip Intro Videos - Go to Thief\ThiefGame\Config and then Locate ThiefEngine.ini file and edit the following line"StartupMovies=PROG_GUI_Video.StartupVideoPlayer" to ";StartupMovies=PROG_GUI_Video.StartupVideoPlayer"Save the file and set it to "read-only".How to fix ‘Timed Fade’ option for HUD - While health, focus, inventory and ammo set to ‘Timed Fade’ option in game and HUD menu, the fade remains just 50% opacity. To fix this problem, go to ThiefGame\Config\ThiefUI.ini and find the lines- "mInvSelectionAlphaMin=XX" "mHealthAlphaMin=XX" "mFocusAlphaMin=XX" (XX being the default values) to "mInvSelectionAlphaMin=0.0f" "mHealthAlphaMin=0.0f" "mFocusAlphaMin=0.0f"Save the file and set it to "read-only".How to reduce Mouse Lag - The quick and easy fix to reduce mouse lag, run your game in Exclusive Fullscreen mode, go to graphic options and enable it. In case you don’t want to use this mode, then you must find BaseEndinge.ini and edit the following lines -"OneFrameThreadLag=TRUE" to "OneFrameThreadLag=FALSE"Save the file and set it to "read-only".Disable framerate smoothing - Go to Thief\ThiefGame\Config and then Locate ThiefEngine.ini file and edit the following lines"bSmoothFrameRate=TRUE" "MinSmoothedFrameRate=XX" "MaxSmoothedFrameRate=XX" (XX being the default values) to "bSmoothFrameRate=FALSE" "MinSmoothedFrameRate=0" "MaxSmoothedFrameRate=0"Save the file and set it to "read-only".Fix stuttering - can be done one of two ways -This tweak requires starting a new game, as changing the level streaming value will result in a crash upon loading if the save game file features a different level streaming value (such as starting the game with it on TRUE and changing it to FALSE along the way - switching from FALSE to TRUE will also result in a crash, so it's best to change this value only when starting a new game)! However, this should help eliminate both in-game and benchmark stuttering, as it does for the other games based on the UE3 engine.Go to Thief\ThiefGame\Config and then Locate ThiefEngine.ini file and edit the following lines -"bUseBackgroundLevelStreaming=XX" "UsePriorityStreaming=XX" "OnlyStreamInTextures=XX" to "bUseBackgroundLevelStreaming=FALSE" "UsePriorityStreaming=FALSE" "OnlyStreamInTextures=TRUE"Save the file and set it to "read-only".Improve texture streaming - Go to Thief\ThiefGame\Config and then Locate ThiefEngine.ini file and edit the following lines -"MipFadeInSpeed0=0.3" "MipFadeOutSpeed0=0.1" "MipFadeInSpeed1=2.0" "MipFadeOutSpeed1=1.0" to "MipFadeInSpeed0=0.0" "MipFadeOutSpeed0=0.0" "MipFadeInSpeed1=0.0" "MipFadeOutSpeed1=0.0"Save the file and set it to "read-only".Disable in-game fog - Go to Thief\ThiefGame\Config ThiefGame.ini and then find [Engine.WorldInfo] andgo to line 66And then change mbEnable=TRUE to mbEnable=FALSE and then save the file as read only.Reducing choppyness, aditional fix - Some users have reported that disabling Vsync the game is noticeably more fluid when compared to the default setting of double buffered.Game file hacks - (found on https://www.deadendthrills.com/forum/discussion/137/thief-tools-tweaks) 1. Goto Steam\steamapps\common\Thief\ThiefGame\CookedPCNG\ 2. Make a backup of thiefgame.u just in case 3. Download this utility: decompress.zip and unzip decompress.exe, put it anywhere. 4. Drag thiefgame.u onto decompress.exe you should now have a new thiefgame.u in \Steam\steamapps\common\Thief\ThiefGame\CookedPCNG\unpacked\ 5. Open \Steam\steamapps\common\Thief\ThiefGame\CookedPCNG\unpacked\thiefgame.u in a hex editor. (For example HxD) Disable Shroud and white flash - Goto Steam\steamapps\common\Thief\ThiefGame\CookedPCNG\Make a backup of thiefgame.u Download this utility: decompress.zip and unzip decompress.exe, put it anywhere.To disable shroud: Search for Hex-value: 00 00 00 00 00 00 00 00 00 CD CC 4C 3F 36 3D 00 Replace with Hex-value: 00 00 00 00 00 00 00 00 00 00 00 00 00 36 3D 00To disable white flash: Search for Hex-value: 3E 9C DE F4 3E 9C DE F4 3E CD CC CC 3E A4 3D 00 Replace with Hex-value: 3E 9C DE F4 3E 9C DE F4 3E 00 00 00 00 A4 3D 00Tweaking "in shadow" proxy light: - disabling this is not recommended, so I added tweaks to reduce the range of the light instead. Search for Hex-value: 00 00 00 00 00 B4 43 14 38 00 00 00 00 00 00 28 for half range (180), Replace with Hex-value: 00 00 00 00 00 34 43 14 38 00 00 00 00 00 00 28 for 1/4 range (90), Replace with Hex-value: 00 00 00 00 00 b4 42 14 38 00 00 00 00 00 00 28To Disable "in light" proxy light: Search for Hex-value: 00 00 00 00 00 96 43 14 38 00 00 00 00 00 00 28 Replace with Hex-value: 00 00 00 0A D7 23 3C 14 38 00 00 00 00 00 00 28Save and fire up the game. Dxtory and other tools not working - Fps monitoring/benchmarking tools cause the game to crash - For the time being, may I suggest that you try running the game without these tools. And if you have any fix of your own related to the issue, please post your finding.Trainer with NOCLIP mode - tbc
  10. ============== -= IRIS =- ============== WELLINGTONCRAB TDM v 2.10 REQ Ver. 1.2 *For Maureen* -=- "Carry the light of the Builder, Brother. Unto its end." -Valediction of the Devoted "What year is this? Am I dreaming?" -Plea of the Thief Dear Iris, I am old and broken. When we were young it felt like the words came easily. Now I find the ink has long dried on the pen and I'm as wanting for words as coin in my purse. I can tell we are nearing the end of the tale; time enough for one more job before the curtain call... ============== -Installation- Requires minimum version of TDM 2.10 -Iris does not support mods or the Unofficial Patch- Download and place the following .pk4 into you FMs directory: Iris Download ============== *Thank you for playing. Iris is a large mission which can either take as quickly or as long as you are compelled to play. I hope someone out there enjoys it and this initial release is not completely busted - I tried the best I could!* *Iris both is and isn't what it seems. If commenting please use spoiler tags where appropriate. If you are not certain if it would be appropriate a good assumption would be to use a spoiler tag* *Support TDM by rating missions on Thief Guild: https://www.thiefguild.com/* ============== WITH LASTING GRATITUDE: OBSTORTTE - Whose gameplay scripts from his thread laid the foundation which made the mission seem like something I could even pull off at all. Also fantastic tutorial videos! DRAGOFER - Who built upon that foundation and made it shine even brighter! And whom also provided immeasurable quantities of help and encouragement the past couple years on the TDM discord. ORBWEAVER & GIGAGOOGA - For generously offering their ambient music up for use. EPIFIRE - Who lent me his fine trash and trash receptacle models. AMADEUS - Who was the first person who wasn't me to play the damn thing and provided his excellent editorial services to improving the readers experience playing TESTERS AND TROUBLESHOOTERS: AMADEUS * DATISWOUS * SPOOKS * ALUMINUMHASTE * JAXA * JACKFARMER * WESP5 * ATE0ATE * MADTAFFER * STGATILOV * DRAGOFER * KINGSAL * KLATREMUS - What can I possibly say? Playing this thing over and over again could not have been easy. Deepest thanks and all apologies. -=THANKS TO ALL ON THE TDM DISCORD AND FORUM=- ==SEE README.TXT FOR ADDITIONAL ATTRIBUTIONS & INFORMATION== HONORABLE MENTION: GOLDWELL - If I hadn't by chance stumbled into Northdale back in 2018/2019 I would probably still be trying to get this thing to work in TDS, which means it probably would not exist - though more details on that in readme. ============== Boring Technical Information: *This mission makes use of volumetric lighting in several scenes. While optional if you wish to see this feature enable the "maps" lighting model and I recommend you also disable image sharpening. If you do not like the effect or are concerned about performance use stencil shadows* *Iris is a performance intensive mission and I recommend a GTX 1060 or equivalent. I find the performance similar to other demanding TDM missions on my machine, but mileage may vary and my apologies if this prevents anyone from enjoying the mission.* *Iris heavily modifies the behavior of AI in the game, how they relate/respond to each other and the player. So they may act even stranger than they do typically in TDM. Feedback on this is useful - as it can potentially be improved and expanded upon in future patches.* -=- This is my first release and it has been a long time coming! If I forgot anything please let me know! God Speed. 2.10 Features Used:
  11. In considering my possible upcoming TDM projects, such as upgrading some fonts to Latin-1 or "TDM Latin", I reviewed the current status of support for European Latin-based languages. Basically, for FMs, the translation system has fallen into disrepair and disuse (or perhaps kicked into the grave). Neither "converted" (i.e., #str using) FMs nor Language Packs are now being maintained and distributed by thedarkmod.com. As to other sites, for Cyrillic/Russian, DarkFate provides such resources. Are there any such sites in native Western European tongues, say, German, French, Italian, that likewise offer translated TDM FMs? So, turning back to thedarkmod.com, questions - - is Western Language support (outside the main menu system) officially dead? - if so, maybe it's time to stop pretending otherwise. - if not, should the converted #str system be revived, with better infrastructure? - or an alternative translation system be devised... if so, what? I'm just trying to identify work worth doing. (I started to draft a doc with a litany of problems with Western language support, and possible sub-projects to address them, but TL;DR. And really, not pertinent if support is considered dropped.) Thanks for your thoughts.
  12. There's been talk over the years on how we could improve texture quality, often to no avail as it requires new high-resolution replacements that need to be created and will look different and add a strain on system resources. The sharpness post-process filter was supposed to improve that, but even with it you see ugly blurry pixels on any nearby surface. Yet there is a way, a highly efficient technique used by some engines in the 90's notably the first Unreal engine, and as it did wonders then it can still do so today: Detail textures. Base concept: You have a grayscale pattern for various surfaces, such as metal scratches or the waves of polished wood or the stucco of a rough rock, usually only a few highly generic patterns are needed. Each pattern is overlayed on top of corresponding textures several times, every iteration at a smaller... as with model LOD smaller iterations fade with camera distance as to not waste resources, the closer you get the more detail you see. This does wonders in making any texture look much sharper without changing the resolution of the original image, and because the final mixture is unique you don't perceive any repetitiveness! Here's a good resource from UE5 which seems to support them to this day: https://dev.epicgames.com/documentation/en-us/unreal-engine/adding-detail-textures-to-unreal-engine-materials Who else agrees this is something we can use and would greatly improve graphical fidelity? No one's ever going to replace every texture with a higher resolution version in vanilla TDM; Without this technique we'll always be stuck with early 2000's graphics, with it we have a magic way of making it look close to AAA games today! Imagine being able to see all those fine scratches on a guard's helmet as light shines on it, the thousands of little holes on a brick, the waves of wood as you lean into a table... all without even losing much performance nor a considerable increase in the size of game data. It's like the best deal one could hope for! The idTech 4 material system should already have what we need, namely the ability to mix any textures at independent sizes; Unlike the old days when only a diffuse texture was used, the pattern would now need to be applied to both albedo / specular / normal maps, to my knowledge there are shader keywords to combine each. Needless to say it would require editing every single material to specify its detail texture with a base scale and rotation: It would be painful but doable with a text injection script... I made a bash script to add cubemap reflections once, if it were worth it I could try adapting it to inject the base notation for details. A few changes will be needed of course: Details must be controlled by a main menu setting activating this system and specifying the level of detail, materials properties can't be controlled by cvars. Ultimately we may need to overlay them in realtime, rather than permanently modifying every material at load time which may have a bigger performance impact; We want each iteration to fade with distance and only appear a certain length from the camera, the effect will cause per-pixel lighting to have to render more detail per light - surface interaction so we'll need to control the pixel density.
  13. That may be where @Amadeus got the folder provided to me earlier. Tels folder has - - .xcf files, not found in earlier work - for any given system font (stone, carleton, manon) and size(particularly 24 or 48), often more .tga/.dds files than earlier work (which originally had just ASCII characters). (You can open the files in GIMP to be even more definitive).
  14. I think this is a slippery slope fallacy. Just because the ability to customize exists does not mean most mappers will use it. On the contrary, if one considers the customization that are already available, we see that the overwhelming majority of mappers stick to the defaults. The exceptions are interesting also. Kingsal's the only mapper that readily comes to mind who habitually deviates from presets seemingly just for the sake of being different. However everything they make is clearly in service of cohesive visions. Hazard Pay, no matter how you feel about it, unarguably loses a great deal of its survival horror character if you take away the napalm arrows or the punishing save system. The Voltas don't need to use Thief style elemental crystals in place of TDMs arrow model, but the fact that they are there makes a definite statement about the author's awareness of their inspiration for their work in TDM from the original games, which in turn draws attention to other, subtler creative choices. I think it's also telling that some of kingsal's modifications have been adopted by other authors. As OrbWeaver said, "If the defaults are widely disliked, they should be changed." However, how can the community come to a consensus unless there are maps to showcase the advantages of new innovations? Requesting, or worse requiring, players to go in and manually change settings in order to experience a new mechanic is never going to gain any traction. Certainly it is not worth the effort of creating an entire map built around a new paradigm.
  15. I agree entirely. Unless a mission is aiming to present a completely different gameplay experience (like making a rapid-fire archery-based combat mission instead of a stealth mission), I see no reason why things like bow aiming should vary on a mission-by-mission basis. If the defaults are widely disliked, they should be changed. If they are a matter of taste and there is no agreement on what the value should be, they should be configurable by the player and take effect in all missions. Imagine if every desktop application made its own tweaks to your keyboard layout or mouse acceleration because the author didn't personally approve of the default values. It would be a horrible user experience. Some applications actually do this with fonts, and yes, it's horrible. Potentially useful functionality made inaccessible because the author decided to ignore system font choices and DPI, and impose his hand-picked non-scalable 10pt font which I can barely read.
  16. Completely disagree it was a very good idea that unfortunately came too early with idSoftware RAGE 1 because hardware was still and is not truly ready for it. Megatexture is for textures, what UE5 nanite is for geometry, it permits huge amounts of texture data in a level and even totally unique textures per each surface, no repetition unlike older methods. MT isn't simple a giant texture slapped unto a level, it is a type of virtual texturing system, the MT is a huge "texture" but it's data, is not all drawn on a level at the same time, like a normal one is, it is broken into smaller squared peace's and those peace's into even smaller ones for LOD aka mipmapping, then those peace's are streamed in, in real time has the player moves around. Again IMO It is a very cool idea and if the hardware was fast enough, to stream it fast and it was possible to compress the MT data, to very small amounts and still keep good quality, it would be a fantastic system for very unique levels. Rage 1 world may look bad at close distance, but at medium to large distances imo it looks fantastic and totally unique.
  17. Thought it would be a good idea to collate a useful list for new and old mappers alike and this post will update as we go. Abandoned works: Any WIP projects that were abandoned by the original author - http://forums.thedarkmod.com/topic/12713-abandoned-works/ Darkradiant & Darkmod shortcut settings: Some example settings for new mappers - http://forums.thedarkmod.com/topic/15152-darkradiant-and-darkmod-shortcut-folder-settings/ Darkradiant howto, must knows, tips and faqs - http://forums.thedarkmod.com/topic/12558-usefull-important-editing-links/?do=findComment&comment=272581 Info for Beginners: Newbie DarkRadiant Questions - http://forums.thedar...iant-questions/ Dark Radient Must Know Basic Intro - http://wiki.thedarkm...now_Basic_Intro Editing Tips for Beginners - http://wiki.thedarkm...s_for_Beginners Editing FAQ (Troubleshooting & How-To) - http://wiki.thedarkmod.com/index.php?title=Editing_FAQ_-_Troubleshooting_%26_How-To Sotha's excellent Mapping Tutorial series: http://forums.thedarkmod.com/topic/18680-lets-map-tdm-with-sotha-the-bakery-job/ Springheel's New Mapper's Workshop: http://forums.thedarkmod.com/topic/18945-tdm-new-mappers-workshop/ Inspiration: Collection of screenshots and images people have found online - http://forums.thedarkmod.com/topic/11610-darkmod-inspiration-thread/ Mapping Resources: List of Voice actors available for voice recording - http://modetwo.net/d...6-voice-actors/ Lengthy collection of city reference pictures - http://modetwo.net/d...rence-pictures/ Collection of texture resource sites - http://modetwo.net/d...ture-resources/ Free Ambient Tracks - http://skeksisnetlabel.wordpress.com/2009/12/30/10-songs-for-free-download-vol-10-full-moon-over-noricum/ Mapping Tools: 3 useful tools for texture creation - http://forums.thedarkmod.com/topic/18581-must-have-tools-for-the-descerning-mapper/ Modular Building: What is Modular building - http://forums.thedarkmod.com/topic/14832-modular-building-techniques/ Working example tutorial on modular building - http://forums.thedarkmod.com/topic/18680-lets-map-tdm-with-sotha-the-bakery-job/ Springheels new modular models - http://forums.thedarkmod.com/topic/18683-using-springheels-205-modules/ Some related mapper recipies - Easy Vaults - http://forums.thedarkmod.com/topic/14859-easy-vault-recipe/?hl=%2Beasy+%2Brecipe Easy Outdoors - http://forums.thedarkmod.com/topic/16159-easy-outdoors-recipe/?hl=%2Beasy+%2Brecipe Easy Caverns - http://forums.thedarkmod.com/topic/14469-quick-caverns-recipe/?hl=recipe Easy Alert Ai - http://forums.thedarkmod.com/topic/17157-easy-alert-ai-recipe/?hl=%2Beasy+%2Brecipe Easy Alert Ai Custom Behavour - http://forums.thedarkmod.com/topic/17160-easy-alert-ai-custom-behavior-recipe/?hl=recipe Tutorials: Collection of video tutorials for DR - http://modetwo.net/d...in-darkradiant/ Using Lighting and detail effectively: - http://forums.thedar...l-and-lighting/ Voice Actors list: List of available voice actors - http://forums.thedarkmod.com/topic/12556-list-of-available-voice-actors/ Usefull Console commands: A list of console commands for testing in-game - http://wiki.thedarkm...Useful_Controls
  18. So this online store I bought a pair of headphones from decided to gift me 12$ today. Since the voucher would expire in in two weeks unless used and I had nothing else to get, I decided to spend it on a 17$ gamepad so I'd have one of these as well. I understand they should work fine under Linux these days, plus it supports both dinput and xinput so I'm not concerned. I never played any FPS or most games using something other than the keyboard and mouse, this feels like an interesting opportunity to try it out. TDM is one of the games I might enjoy playing with such a thing, especially since it doesn't require super-fast reactions till I get used to it like a deathmatch shooter. So until the device arrives tomorrow, I figured I'd ask how well I can expect TDM to run on such a thing! Especially now that we have a new rendering and input management system for the upcoming TDM 2.10. There's a few things I wanted to know. One is if both looking around as well as movement using the finger pads is supported. I remember some games allowed walking more slowly if you only pushed the pad slightly; Does this mean it's possible to sneak by only moving the pad a bit, in a way that affects how much guards hear you? Otherwise I was curious if force feedback (vibration) is implemented and used. For TDM this mainly makes sense when you take damage, are in radius of a sound that has the shake effect, and other potential situations I might be missing now. Is gamepad vibration a feature in the engine at least?
  19. One of the problems with the old #str_number system, that would not be automatically solved in the new #str_phrase system, is lack of versioning/history. For example, suppose in the FM I provide a new string: #str_Mother! which (by magic TBD, ideally in DR) generates this placeholder in all the .lang files: "#str_Mother!" "Mother!" The translator in the fr.lang file later does this: "#str_Mother!" "Mere!" Still later, the FM author revises the string in DR: "str_Mother!!!" In a naive implementation, this breaks the link to the existing translation(s), which becomes orphan in all the .langs, and creates a new entry: "#str_Mother!!!" "Mother!!!" OK, how could we do better? Case 1 (as above): the FM author knows the change is trivial, and so (at revision time in DR) might ask the translations to be retained but marked for review. So maybe the fr.lang files gets: // WAS UNTIL 2025-01-01: "#str_Mother!" "Mere!" "#str_Mother!!!" "Mere!" // Needs minor review with removal of the orphans (after they become comments and moved to before their replacements) Case 2, where the revision is not trivial: the FM author (at revision time in DR) might ask the translations to be replaced by english but marked for review, e.g.: #str_Mother of Pearl! causes the fr.lang files to have (with orphan removal as case 1): // WAS UNTIL 2025-01-01: "#str_Mother!" "Mere!" "#str_Mother of Pearl!" "Mother of Pearl!" // NEEDS REDO Then the translator could eventually fix it: // WAS UNTIL 2025-01-01: "#str_Mother!" "Mere!" "#str_Mother of Pearl!" "Nacre!" // Done 2025-03-14 by Henri
  20. I was looking into this a bit more and conclude that the translation system in itself is actually an universal external data system. So instead of xdata, you could use a #str_someword and then reference to that in the /strings/fm/english.lang file. Well I guess it's probably not really news for some of us. Edit: This actually works fine: File english.lang for Thief's Den "#str_Nobody crosses me! Must get back Frothley's scepter Creep stole off me." "Nobody crosses me! Must get back Frothley's scepter Creep stole off me." Then in the objective editor you add #str_ before every objective text. This way it's easier and you can still see which is which.
  21. That is one reason. That is 2 more reasons. You'd like a script that, if you had to run it again, would "do the right thing". Unfortunately, that right thing is very hard to program, and needs IMHO to be both bidirectional and with a better method of string version control, to support both the FM author's updates and potentially multiple translators. Yes, another reason. Currently, it is my understanding that updating an FM (from the non-converted copy) and running the conversion script again causes mis-alignment of newly-generated #str values and previous .lang #str values. Another important cause of "nobody is making these language packs" is that Dark Radiant at best tolerates converted FMs. It offers no special translation support, as expressed in this code comment: "...we don't have any support for parsing the mod-specific translation data...." [from DR's DifficultySettingsManager.cpp]. That's where we are now. So officially give up on FM Western translations? Or improve the #str system to make it work for everyone? Or invent a new system? A new system. What would that look like to the FM author? To a non-author translator
  22. Oh, some implementations might work a little differently from what I remember the term megatexture referring to. From what I used to know, it meant turning the entire level into a single model or set that uses a single enormous texture. While the concept may have its upsides, there are two major issues that negate any benefit in my view: The first is system resources, you don't benefit from any reuse as every pixel is unique, the only way to do it at scale is with a gigantic image thus a huge performance drop in pretty much every department. The second issue is that level design becomes far harder and more specialized... while here in TDM we only need to draw a bunch of brushes and place some modules to make a level, an engine based on megatextures would require level designers to sculpt and paint the entire world in software like Blender which is far more difficult and we likely wouldn't have even half of the FM creators we do today, even for those that know how to do it imagine the task of manually painting every brick on every home and so on.
  23. Megatextures were a horrible idea for obvious reasons, not sure why ID chose to learn that the hard way. The concept from what I remember is the whole map uses a single gigantic texture... instead of how we independently pick a couple of 1024 px brick materials for a few brushes and surfaces, the whole map acts as one model with one material and a single texture which probably needs to be 1 million x 1 million pixels even for a small level. This is ridiculous from a perspective of system resources with 100's of GB's of storage and huge (v)RAM requirements and hours of loading time, as well as raising the skills required for level editing since you now need mappers to also be texture artists and sculpt / paint their levels instead of just placing stuff. The only thinkable benefit is there's no repetition since every pixel on every part of the world is unique, but who notices any similarity with independent texturing if it's done right anyway? Detail textures have yet another advantage there: Since you scale the pattern independently on top of the original texture, you can make every surface appear as if it has unique pixels like megatextures. Hence why I'd advice having the details be very high-res, 4k or 8k even 16k if we can take it: Yes that's enormous, but remember we'd only have a few patterns probably no more than 15 in total, and can store them as grayscale then use a single image to modify both albedo / specular / normal (heightmap to normalmap): Map the detail in world space rather than the brush or model UV map, and the resulting pattern on every surface in the world will always be unique since the original and detail textures will be out of sync.
  24. This is how i18n typically works in code: Developers write the strings in English (or their native language), but mark all the strings with a function/macro which identifies them for translation. In C++ this might be _("blah") or tr("blah") — something which is short and easy to write. A tool (which may be integrated into the build system), extracts all the strings marked for translation into a big list of translatable strings. This list is then provided to the translators, who do not need to be developers or compile the code themselves. They just create a translation for each listed string and send back a file in the appropriate format (which may or may not be created with the help of translation tools, perhaps with a GUI). At runtime, the code looks up each translatable string, finds the corresponding translated string in the chosen language, and shows the translated version. At no point do developers (who in this case would be mission authors) have to mess around with manually choosing string IDs. All they do is use the appropriate function/macro/syntax to mark particular strings as translatable. String IDs may be used internally but are completely invisible to developers. I suggest that any system that involves instructions like "search the list of known strings for a similar string" or "manually choose a string ID between 20000 and 89999 and then write it as #str_23456" are over-complicated, un-ergonomic and doomed to be largely ignored by mappers.
  25. Since due to the nature of this forum, file/image sharing is used quite frequently, I thought to present some alternatives to the widely used Gdrive, which I don't like so much, especially since the last TOS change. File Sharing To share large files there are several options that also do not require registration. The first is File Hosting Online, which supports files up to 25 Gb, encrypted and also includes a Virus Scan that ensures safe use Another good option is Gofile, free to use, privacy focused and unlimited Bandwith. No refistry needed. While the files are accesed or downloaded at least one time a week, they are never deleted, otherwise inactive files are deleted after 10 days. If you prefer to use P2P, that means to share files directly from PC to other, without a hoster in the middle, there are also very good options, which permits to share files and folders without limites of type and size. The most easy to use is O&O File Direct, a small Desktop app (sadly only Windows), very easy to use 1 Open the app and drag the files/folders you like to share in its window 2 Optional adjust the days and amount of permited downloads and if you want a password 3 Share the link which apears in the app Done The only limits are, that the receptor only can download your files, when your PC is online, on the other hand this permits that you can stop the download in any moment, going offline or shutting down the PC. The other limit is, that the files to share can't be in a protected folder. Her are an Example with a list of Search Enines (Html file 423,56 Kb). While I am online, you can download it https://file.direct/f/pmjVFnjfkjFTKTt5 Videos One of the best options is Streamable (need a free account, inactive videos are deleted after 90 days in the free version) Alternatively you can use Streamja, a simple Video sharer with good privacy, free account optional (nick, mail) Images Ok, there are a lot of Image sharer, most used the known Imgur, because of this I add only one which offers some advantages over Imgur. ImgBox (free account) is a reliable platform to share and host images like Imgur, but it make it very easy to upload and post dozend of images simultaneous, selecting all the images you want and drag them on the window, offering coresponding bulk codes from the selected images to post them with one click for forums (BBcode), Html and others, fullsize or thumbnails. More since Imgur used since some time the hated webm formats for gif images, hardly accepted in most forums.
×
×
  • Create New...