Search the Community
Searched results for '/tags/forums/code' or tags 'forums/codeq=/tags/forums/code&'.
-
Greetings everyone! I recently got into TDM and am already having a lot of fun playing through and ghosting missions. However, coming from Thief, I am mostly relying on the rules and my experience with that game, while there are clearly differences in how TDM works. Right now, there is talk in the ghosting discussion thread on TTLG to amend the ruleset and include clarifications pertaining to TDM. So I wanted to drop by and ask: is there an active TDM ghosting community already and have any rules for this playstyle been developed? I would also like to ask someone to take a look at the draft of this addendum to see whether everything looks correct: https://www.ttlg.com/forums/showthread.php?t=148487&page=16&p=2473352&viewfull=1#post2473352 Thanks!
-
Currently Darkmod does not utilize the full potential of its high dynamic range rendering. When light gets bright colors get clipped. As I mentioned before, this makes highlights hard to manage and makes bloom option less useful (in my opinion). At least that's what I see on my old ass monitor that doesn't support HDR. I'll preface this with a disclaimer, that I have no idea what I'm doing. I also do not claim, that this code is ideal, or even good. I simply asked MS Copilot to modify the tonemap.frag.glsl file for me. It added a new color curve, that can be modified: Alternative set of ABCDEF values, should give slightly more contrast: All the footage and screenshots below were done with bloom set to the max.
- 81 replies
-
- 1
-
-
- color management
- tonemapping
-
(and 5 more)
Tagged with:
-
Many forums with an off-topic subforum end up with some political talk in there.
-
The Problem Readables are available in a wide range of TDM bitmap fonts. Unfortunately, the majority of these fonts lack non-ASCII glyphs for European languages, and it would be a prohibitively lengthy task to craft them. This is one of several translation hurdles. (Another is soliciting, organizing, and distributing the work of human translators; see “AI for Translations: An Exploration” for work on an alternative. This also promotes the use of meaningful alphanumeric #str_ IDs - possibly automatically generated – instead of traditional numeric.) A Proposed Solution Suppose that when a particular page of readable is shown, it is shown first is English, with the mapper-specified font (e.g., Camberic), and then, after a number of seconds, shown in the current user-selected language, with a different font (e.g., Stone), one that offers the needed diacritics? And with the translated font size scaled down to accommodate potentially more-lengthy translated strings? Both the English and translated text can be viewed in sequence. That opens the door to “quick and dirty” default translations, e.g., machine translation. In particular, the reader may sometimes be able to work-around any layout problems and sub-optimal translation by consulting the English text. (Nevertheless, default translations may sometimes miss subtle nuanced hints, so the ability to improve them with tweaked text is a necessity.) The Proposed Mechanics Recall that the game engine currently passes these values to a readable’s gui: gui::title gui::body With a multipage readables, the content of these parameters changes as pages are flipped. For clarity, it is proposed to replace them with: gui::titleEnglish gui::bodyEnglish gui::titleTranslated gui::bodyTranslated The latter 2 would be just like gui::title and gui::body, except that they would serve empty strings when the current language is English or there is no translation available in the current language (and so be used for gui code program logic, to suppress a transition). Observe that this behavior does not substitute an English string for a missing non-English string. Skip the remainder of this section if details are not of interest. Each stock readable .gui would need a one-time conversion to use them. Instead of the traditional 2 winDef overlays for text, there would be 4, corresponding to the 4 text-passing parameters just mentioned. This allows the translated text to fade in while the English text fades out, when an onTime event starts the transition (at 2 seconds in this example). Here is the fragment of .gui code that has been altered: Aspects of this Design – Transition from English The transition is timed, so no extra “Translate” button is shown, nor a hard-to-come-by hot key required. If you want to see the English again, you would briefly navigate away from the page to another, then return; or, if a single-page, close and re-open it. A simple implementation (as the code above and example below) uses a fixed, hard-coded time. Alternative Mechanism. At some cost to code clarity, it is probably possible to get by with just the 2 normal text-passing parameters (gui::title and gui::body) and their traditional 2 overlays, though additional variable(s) would be needed for tight time-synchronization between engine and gui; and overlapping fade-in/fade-out between English and translation would not be possible. Advanced Version. In the longer term, timing could be made more flexible, by passing it as parameter from the engine, e.g.: “gui::transitionTime” Where does this value come from? While it could somehow encoded into the .xd file by the mapper, I prefer a different approach. Have the engine calculate it from character or word count of the body, with user-specified globals for reading rate and min and max bounds, e.g.: sys_readablesWordsPerSecTransTime sys_readablesMinTransTime sys_readablesMaxTransTime A drawback of a timed transition is that additional reading time is needed to get to the translations, which may, with immobile readables, increase risk of discovery by guards. So having these additional user controls would let a user get to the translations faster, even skip the English entirely by setting bounds to zero. A Simulated Example – FM “readableTranslationFadeIn” In the absence of engine support for the 4 text-passing parameters, it is still possible to make an approximately-functional mockup using some hard coding. However, this prototype DOES NOT suppress the transition when the current language is English. That is, it shows (rather than prevents) an English-to-English transition with change of font & font-scale. TDM with the languages set to “Francais” (French). The first screen shot shows page 1 of a 3-page scroll, momentarily displayed in English with Camberic title and body. After a few seconds, it transitions to the second screen shot, in French in Stone font. With accents. While shown here as a scroll, this approach should be easily adaptable to books and sheets. About the Example’s Implementation The screen shots are from a prototype FM: readableTranslationFadeIn Notable files are: guis/readables/scrolls/scroll_calig_camberic.gui, a custom override of the standard Camberic scroll readable, with the translation transition mechanism from above, plus additional simulation fakery described below. strings/all.lang, a UTF-8 file containing 6 #str_ (2 per scroll page – title & body) in each language section. Only the [English] and [French] sections were implemented. The English example content was loosely derived from the St. Lucia FM. The English text (without #str_ structuring) was manually converted to UTF-8 French using Google Translate (website, not API). strings/english.lang & french.lang. These were generated from all.lang using my gen_lang_plus program to create the 8-bit “ANSI” versions as required, e.g., ISO-8859-15 encoding for French. xdata/readableTranslationFadeIn.xd, that contains the #str_IDs for the 3 scroll pages. Within scroll_calig_camberic, this simulation had this fakery: “gui::title” and “gui::body” were stand-ins for hypothetical parameters “gui::titleTranslated” and “gui::bodyTranslated”; The English text was hard-coded, and the appropriate content selected by actual parameter “gui::curPage”, to make up for missing hypothetical parameters “gui::titleEnglish” and “gui::bodyEnglish”. The READABLE_FADE_TIME is currently set to 2 seconds for testing. Probably 5-6 seconds would be better during game play. Aspects of the Design – Font Scaling As mentioned earlier, the translated font is scaled to make the text smaller than the original, to accommodate languages that need more room. A simple implementation (like in the example code) uses fixed values with “textscale”. So the textscale for the two Translated winDef overlays is smaller than for the 2 English winDef overlays. Specifically, in the example GUI code, the text scaling factors from the original Camberic readable were retained: textscale 0.4 // titleEnglish textscale 0.31 // bodyEnglish and supplemented by (with a different font, namely Stone): textscale 0.33 // titleTranslated textscale 0.24 // bodyTranslated The goal is to keep the rendered text smaller than the original English rendering for languages with more characters per sentence. These values, while hard-coded, will differ across readables (due to different starting fonts), and would need to be experimentally determined. But this treatment, with just a fixed scaling value that is independent of both text content and current language, is unlikely to be very satisfactory. Better ideas, needing additional engine modifications, will be considered in a follow-on post. Additional Considerations When Authoring the XD File. Recall that TDM is relatively inflexible when using #str_ within an .xd file. So this form will not work: "page1_body" : { "" "" "#str_fm_scroll_camberic_pg1_body_parish_inspection_excerpts" } Instead use "page1_body" : "#str_fm_scroll_camberic_pg1_body_parish_inspection_excerpts" With the 2 leading linebreaks moved into the #str content as leading \n\n. When Testing. If there is a mismatch between the TDM Language setting and the PC’s language setting (e.g., under Windows), then some characters may turn out wrong or indicated as missing (e.g., as boxes). The degree will vary by language, and is unlikely to be seen in the initial English render (because that’s almost all in ASCII, common to all the ISO encodings.) Even with such mismatches, the translation can be reviewed as to overall length and where linebreaks occur. Be aware that direct editing of *.lang files is not recommended, and could risk converting from a particular “ANSI” raw 8-bit encoding into “UTF-8”. Applying this Technique More Broadly. A few fonts have oddball glyphs for certain characters, e.g., a skull and crossbones in Treasure Map. This would require special handling during translation. For Briefings, Objectives, and Messages, similar approaches can be conceived. However, for each of these (and different from readables), only one particular font is routinely offered. And there are alternative designs to be considered. For instance, the English and Translated text could be shown simultaneously side-by-side in various ways, instead of sequentially. The Objectives have the additional complication that the font size is already user-adjustable.
-
ttlg seems to down again at least for me I tried different forums but got same message that there is a problem connecting to site!
-
There are currently nearly 200 missions to the game. That's a lot. So I made a list of the ones you shouldn't miss. If you're a beginner, do not start with the best missions. Play a few others first to learn how the game and controls work, and how you can use some items to interact with objects on the map. You will appreciate them more that way. Tastes vary. My subjective assessment is based on how enthusiastic and interested I was during the mission. Generally, I appreciate the unusual circumstances. If I felt lost too many times or needed hints to solve the plot, those were clear disadvantages. I don't like the needle in the haystack type elements. (Secrets are fine.) The list isn't a quality line. I don't want to add precise ratings, that's not the point. I have a message for those whose missions didn't end up here: Don't worry. Others may judge differently. In any case, some missions may be added here with some editing. A few didn't make it here only because of the obscure wording in the descriptions of objectives. Give me tips if you think something is missing from the list. 200 missions are a lot, I might have skipped some gems. BEST MISSIONS -A House of Locked Secrets: Very funny, diverse and memorable, sometimes nonsensical. The best mission. 4 hrs -Seeking Lady Leicester: It's probably the second best mission, but I won't argue with anyone who ranks it first. Knowing how to rotate items is essential to play this mission (middle mouse button). 6 hrs -Volta 2, Cauldron of the Gods 2.5 hrs -Volta 3: Gemcutter 3 hrs -Penny Dreadful 1: The grail of regrets 1.5-2 hrs -Penny Dreadful 2: All the way up 3 hrs -The Painter's Wife: A monumental mission. The size doesn't mean this is the best one. -Hazard Pay 2 hrs -Now and Then 5.5 hrs -Black Mage 3 hrs -Requiem: The mission is excellent and imaginative. But it's painfully difficult to move without being noticed at certain points. 4 hrs -Crucible of Omens: Behind closed doors: Excellent mission, the only problem is that it's difficult to navigate between the different parts, and it's hard to find your way back to places. Having a route back to the first part, which could be opened from the later part of the map, would have helped the flow. 5 hrs RECOMMENDED MISSIONS -Iris I hesitated a lot whether to put this in the list of best missions. But the first part of the mission offers so many options, it's rather a caricature of the genre. And the environment isn't very good either. Less would have been more. The second part of the mission is much better. I appreciate the innovative element. 7 hrs -Chronicles of Skulduggery 0: To Catch a Thief -Chronicles of Skulduggery 2: A Precarious Position 2.5 hrs -Chronicles of Skulduggery 3: Sacricide: Good, traditional mission but the story is too black and white. -No Honor Among Thieves: The end isn't satisfying, but otherwise this is a good mission chain. 5.5 hrs -Shadows of Northdale act 2. 3 hrs -The Last Night on Crookshank Lane 4 hrs -Penny Dreadful 3 -Mother Rose Funny. It's not for beginners! 40 min -A Score to Settle -Sir Talbot's Collateral -Talbot 2: Return to the City 1.5 hrs -Talbot 3: Fiasco at Fauchard street 1.5 hrs -Thomas Porter 1, Knighton Manor: Good jokes. -Thomas Porter 2, The Beleaguered Fence -Thomas Porter 3, Glenham Tower -King of Diamonds -Accountant 2: The code is good. -Golden Skull: 30 min -Vengeance for a Thief 1-3 -The Factory Heist -A Good Neighbor -Snowed Inn -Langhorne Lodge -Heart of Saint Mattis 3-4 hrs -Perilous Refuge 2.5 hrs -The Hare in the Snare: Part 1 -Rightful Property -Alberic's Curse 1.5 hrs -A Night in Altham: A strange mission. 9 hrs -By the Cookbook 1 hour -Wizard's Treasure 1 hour -A Night to Remember 1.5 hrs -Lord Edgars Bathhouse 1.5 hrs -Last Offering: How much you enjoy it depends largely on what equipment you choose at the beginning. 1 hour -The Rift: Quite cool, but the music isn't on the ambient channel so it's not possible to make it quiet. 1 hour -Briarwood Cathedral 1.5 hrs -The Threepenny Revue: 45 min -Mission of Mercy 1 hour
-
Hello! Tracking down information on software and plug-ins that work with D3 / TDM can be a tough. So I have created a thread here where people can post what software/ plug-ins/ tutorials or other references they've had success or failure with in TDM. 3DS MAX 2013 64bit .ase - Default .ASE model exporter works. However you have to open the .ase file in text edit and manual change the *BITMAP line on each material to read something like: "//base/textures/common/collision" which allows the engine to read the correct material path. md5.mesh / animation - Beserker's md5 exporter/importers for 3dsmax. http://www.katsbits.com/tools, Importing and exporting works. The model must be textured, UV'd, with a skin modifier attached to the bones to export. PM me (Kingsal) for help with this. Imported models using the script will not be weighted appropriately, so this is not recommended if you are simply trying to edit existing tdm content. (Use blender instead) MAYA 2011 32bit md5.mesh - So far I've not had any luck with Maya 2011. I am using Greebo's MayaImportx86 for Maya 2011. I've got the importer working however I get a "Unexpected Internal Failure(kFailure)" and the import fails. This could be due to something finicky in Maya that I am not doing correctly. Will keep trying.. Blender 2.7 about - Blender is commonly used and pretty well supported on the forums/ wiki. Various versions may work as well - https://www.blender.org/download/ md5.mesh / animation Blender MD5 importer/exporter (io_scene_md5.zip): https://sourceforge.net/projects/blenderbitsbobs/files/ Sotha's guide Blender Male/ Female rigs by Arcturus - Here Edit by Dragofer: more links found in this post.
-
============== -= IRIS =- ============== WELLINGTONCRAB TDM v 2.11 REQ Ver. 1.3 *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.11 **Dev build dev17056-10800 (2.13) fixes several visual effects which have been broken in the mission since the release of 2.11. For that reason playing with that version or later is currently recommended** -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: *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:
- 427 replies
-
- 24
-
-
-
I tried to post on TTLG Forums first, but despite registering i am still unable to make new posts so i asked elsewhere. Meanwhile I figured the problem by simply scaling down cutscenes resolution. My native screen resolution is 1280x800 and cutscenes in that format work well. Sorry for any double posting or using wrong forums for posting my question. Thank you for all the replies and help so far.
-
to bad IBM newer released the OS2 source code, could have become a real threat to microsoft if it had been updated to support newer microsoft api's instead of the shipped win 3.11 model. one thing that was better to an allmost morbid degree was OS2's dos which at the time was real 32 bit and ran miles better than plain dos . where it lacked was support for anything but opengl for gaming which would have been ok if the industry had supported that. instead opengl was sometimes left years behind directx because of backward compatibility (opengl is still laregely backwards compatible with even the oldest code and only realy starts to bitch when strings get to long "newer gfx cards have this problem" easily remedied though). as for directx backwards compatibility started to become a problem after dx7/8 where you had to jump through hoops of compatibility settings to even get your game to run and in some cases you had to wait until someone developed a wrapper because many of the earlier models invited use of less than savory code. did not help either that many gfx card makers straight up lied about supporting said model when it was only faked
-
Main post updated with the new version and changelog. I intended to avoid modifying sound files to increase their loudness, but idTech4 doesn't seem to care about ReplayGain tags...
-
And I thought you fixed your problem: https://www.thiefguild.com/topics/95063/thief-the-black-parade-cutscenes-problem By the way, I can only recommend to patch your clean Thief Gold installation with TFix Lite instead of TFix. That way, you will avoid any potential issue with the mods you may or may not have enabled in the full TFix. Best for a fan mission install to use TFix Lite. And, another by the way: You will have much better luck to find help with your problem on forums which are dedicated to Thief Gold. This forum is for the Dark Mod. Try https://www.ttlg.com/ , for example.
-
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
- 3 replies
-
- 15
-
-
-
Thomas Porter is back in a TDM FM called... LQD is a medium sized FM, made for the TDM unusual contest 2013, where Thomas Porter sets out to get rid of the Lich Queen once and for all! Will he succeed, or will the evil Lich Queen get her sinister revenge on Thomas? The mission was created by me, Sotha. Betatesters: Bikerdude, nbohr1more and Obsttorte are thanked for their efforts on improving this work. Big thanks to TylerVocal for excellent voice acting. Thanks to freesound audio artists: Amliebsh (39222), Steveygos93 (80401), Jackie4ever (83095) and Klankbeeld (133100). Immense thanks for the developer team and everyone contributing to the mod. Release notes: *This mission has player character narration. There is no way to control the volume of the player lines in TDM 1.08 and they are at 100% volume at all times. For optimal experience, be sure to set SFX and ambient close to 100% volume in the in-game audio settings and fine tune the volume to nice levels from you operating system's mixer. That way the world sounds match the player voice in volume and your gameplay experience is not reduced by very loud player narrative. *This mission involves using objects with other objects. Normally objects are used like this: push R to drop the item into your hands, move the item where you want to place or use it. *This mission has a video briefing, so you have the habit of skipping the TDM logo which is visible before the briefing, do not skip it or you will miss the briefing. Download link: Use the ingame downloader to get it. As always, it is not recommended to read the thread further before you have completed the mission. Someone will fail to use spoiler tags. [spoiler] This will be hidden [/spoiler] Enjoy! Please remember to give comments and vote! -Sotha.
-
I am pleased to announce the release of our new fan mission, The Hare in the Snare: Part 1 Mission type: City Missions + Inn/Tavern Description: People are being abducted off the streets and a Watch Captain requires the services of a thief to help him find out why. Download link (version 4): https://drive.proton.me/urls/ME63JDKPJ8#cz8NexM0DR75 Credits: Mapping and original characters: @Frost_Salamander Story, readables, custom models, voices and cinematics: @Kerry000 Menu title track produced and mixed by @JackFarmer with selected gigagooga sound samples Beta testers: @Cambridge Spy @Zerg Rush @Amadeus @Acolytesix @Lzocast @wesp5 @nbohr1more @Kerry000 @ate0ate @Wellingtoncrab @prjames Additional thanks: @Dragofer, @nbohr1moreand @peter_spyfor technical help @Springheel for the modules and tutorials @kingsalfor allowing @Kerry000to abuse his manbeast everyone else on Discord and the TDM forums who offered assistance Requirements and notes: This mission requires TDM 2.09. Earlier versions will probably work but you might see one or two missing models. You may experience some FPS drops in some areas with lower-end hardware. Mid-range and above should be fine. If you have issues, I highly recommend you use shadow maps instead of stencil (settings -> advanced -> shadows implementation). It makes a big difference. Screenshots:
- 102 replies
-
- 19
-
-
-
yes it's down on my end too, i rarely get maintenance schedule info on ttlg so http status code 200 seems unreliable for web monitoring, we should watch for status code 301 dan grab that "Forums are currently offline" text element , I use powershell to monitor thing like this the website may return 200 OK which indicates the status is up but the most important thing is the content, status code 200 does not represent the actual up state
-
That's reassuring; the length of the play-testing, not so much. I guess that speaks for the current state of the AI, however improved it got over the years. I'd like to mention the blackjack bashing again. The noise does in fact propagate towards AIs, but the real volume value is so low for them that functionally it is useless, despite sounding pretty loud for the player. This is another big stinker that I'm more familiar with: sound indicators. For starters, NPCs footsteps don't travel far enough to serve as a mechanic. This is thankfully rather easy to solve by increasing the volume of their steps, but it needs testing to not go overboard. But the worst indicators are the player's... Leaving aside the questionable blackjack noises, there is an indicator that is absolutely broken: jumping. Jumping always makes the loudest sound possible for AI, no matter if you are creeping+crouching, crouching, crouching+walking, creeping, walking or standing in place. You'd think that's fine because Thief does the same, but TDM has hidden jump modifiers (the other movement states have pm_stepvol_X cvars) that makes the perceived jump noise quieter depending on the movement state. This is baffling because TDM has an elegant "fall quietly when crouching" mechanic that actually makes less noise, whereas in Thief you have to carefully slide off your lower ball or you wake up the whole neighborhood. I don't mean to sound bitter, but it wasn't long that we were debating whether the new, upcoming tone mapping looked good or bad. Where's the discussion about this!? Your own footsteps aren't being honest to you! There is other aspects that could do with a real good cleanup. Pretty much all player footsteps' perceived volume is too quiet, and if you tinker with the values, you have to take in mind the real noise registered by AI (doesn't seem to be much info about this in the wiki) plus keep a close eye ear to every file sound's loudness; water and metal files have clipping (they go beyond 0db). Some materials even recycle sounds. I recall Amadeus found good CC0 sounds for ice and broken glass footsteps, but looking at the .sndshd files, sound design hasn't been touched in years... I have a quick&dirty "mod" with pumped up AI and player footstep volume, a left-over from when Daft Mugi, others and me tried to clean this up, but everyone has lost steam. I guess I've made a brief return here because with the DS FM playthroughs, TDM came to mind and it generally makes you think "Deadly Shadows but better"; the exciment dies out once I look at the files' guts, though. And partially, the rather apathetic mood in the forums Kudos to the active modders.
-
It seems your observations are, once again, correct. minDistance and maxDistance play a role in audio volume but have no role to play in propagation. I can see in the source code footsteps propagation follow this path: [Player.cpp] PlayPlayerFootStepSound() [Entity.cpp] PropSoundDirect() [Entity.cpp] PropSoundS() [SndProp.cpp] Propagate() There's this comment in Propagate(): // Calculate the range, assuming perceived loudness of a sound doubles every 7 dB // (we want to overestimate a bit. With the current settings, cutoff for a footstep // at 50dB is ~15 meters ( ~45 ft ) And then this: range = pow(2.0f, ((vol0 - m_SndGlobals.MaxRangeCalVol) / 7.0f) ) * m_SndGlobals.MaxRange * s_METERS_TO_DOOM; So the game is calculating a range based on the (dynamic) sound volume, (static) range values, and a fixed assumption. MaxRange and MaxRangeCalVol are set in def/tdm_soundprop.def: "editor_float maxrange" "Range in meters above which sound propagation is not calculated for the calibrated sound volume. NOTE: Values of maxrange 2.2 and cal 30 means a whisper of 30dB SWL gets cutoff after travelling 2.2 [m] (~7ft). maxrange has no bearing on how AI are alerted, just which AI have the potential of hearing the sound; it's just for optimization, although if it's set too low then sounds will be cutoff when the AI should have heard them." "maxrange" "3" "editor_float maxrange_cal" "Volume calibration value for MaxRange (see 'maxrange')." "maxrange_cal" "30"
-
This post differentiates between "gratis" ("at no monetary cost") and "libre" ("with little or no restriction") per https://en.wikipedia.org/wiki/Gratis_versus_libre * A libre version of TDM could: ** Qualify TDM for an article on the LibreGameWiki *** TDM is currently listed as rejected https://libregamewiki.org/Libregamewiki:Rejected_games_list because "Media is non-commercial (under CC-BY-NC-SA 3.0). The engine is free though (modified Doom 3) (2013-10-19)" ** Qualify for software repositories like Debian *** TDM is currently listed as unsuitable https://wiki.debian.org/Games/Unsuitable#The_Dark_Mod because 1) "The gamedata is very large (2.3 GB)", and 2) "The license of the gamedata (otherwise it must go into non-free with the engine into contrib)" and links to https://svn.thedarkmod.com/publicsvn/darkmod_src/trunk/LICENSE.txt Questions: 1) tdm_installer.linux64 is 4.2 MB (unzipped), which is far from the 2.3 GB which is said to be too large. Yes, the user can use it to download data that is non-libre, but so can any web browser too. If the installer itself is completely libre, does anyone know the reason why it cannot be accepted into the Debian repository? 2) If adding the installer to the repository is not a viable solution, would it be possible to package the engine with a small and beginner friendly mission built only from libre media/gamedata into a "TDM-libre" release, and add user friendly functionality to download the 2.3 GB media/gamedata using "TDM-libre" (similar to mission downloading)? 3) Would such a "TDM-libre" release be acceptable for the Debian repository? 4) Would such a "TDM-libre" release be acceptable for LibreGameWiki? 5) Would the work be worth it? * Pros: Exposure in channels covering libre software (e.g. the LibreGameWiki). Distribution in channels allowing only libre software (e.g. the Debian repository). * Cons: The work required for the modifictions and release of "TDM-libre". Possible maintenance of "TDM-libre". I'm thinking that the wider reach may attract more volunteers to work on TDM, which may eventually make up for this work and hopefully be net positive. 6) Are there any TDM missions that are libre already today? If not, would anyone be willing to work on one to fulfill this? I'll contribute in any way I can. 7) I found the following related topics on the forum: * https://forums.thedarkmod.com/index.php?/topic/16226-graphical-installers-for-tdm/ (installing only the updater) * https://forums.thedarkmod.com/index.php?/topic/16640-problems-i-had-with-tdm-installation-on-linux-w-solutions/ (problems with installation on Linux) * https://forums.thedarkmod.com/index.php?/topic/17743-building-tdm-on-debian-8-steamos-tdm-203/ (Building TDM on Debian 8 / SteamOS) * https://forums.thedarkmod.com/index.php?/topic/18592-debian-packaging/ (Dark Radiant) ... but if there are other related previous discussions, I'd appreciate any links to them. Any thoughts or comments?
-
I tested this further but now with a mission. fms/mission.pk4 > sound > a.sndshd fms/mission.pk4 > sound > b.sndshd a wins. I would appreciate an assessment by @stgatilov. Based on the below source code logic (FileSystem.cpp), shouldn't b be parsed first and win?
-
T3EnhancEd installer. Anyone have a working copy?
taffernicus replied to New Horizon's topic in Off-Topic
this is all i got : i found a cached version , This IP address appears in many posts on ttlg : web.archive.org/web/20151020170814if_/http://95.31.27.16/editors/t3ed/T3EnhancED.exe example ttlg post : Tafferpatcher: unofficial complete patch for Thief 2 - TTLG Forums This most likely belongs to a user named djriff(djriff@yandex.ru), his ftp name was ftp://djriff.homeftp.net There is one more from darklurker mirror, but it is completely down. I found another one from mirror named darkfate, but from several user posts, they encountered the same corruption issue with the file from darkfate.com/darkfate.ru -
Variable Scaling, based on Specific Translated Language and/or Text Content With fixed textscale values discussed previously, a translated multipage readable that ideally would have the appearance of smooth text flow across pages will often have per-page underflow (ugly) or overflow (data loss), requiring lots of per-language #str editing (that is, word moving) to correct. An alternative approach is to vary the textscale on each page, to nicely-approximate smooth text flow (at of course the expense of consistent font size among the pages). There are 3 approaches: Fully automatic. It is true that at some point, the engine has all the information it needs about how each English string is laid out, e.g., where – after text wrapping - the last rendered row is within the readable's margin, and the last character within that row. It could similarly do trial layouts for the current non-English language, iteratively adjusting the textscale until the layout matches. I don't really know, but this strikes me as hard. I'll concentrate on alternatives. Semi automatic. The engine is still involved, but just does a simple ratio calculation based on the string (English versus current language) alone, ignoring layout. The very simplest form would just look at character counts. It would not iterate, but provide a "good first guess", and rely on manual verification and, if needed, tweaking by per-language scaling adjustment and/or #str editing. Manual. The engine does not itself calculate variability, but you can do your own per-language scaling adjustments, which the engine will pass on to the GUI. Such adjustments may be faster for you than #str editing alone. (Arguably, with the fixed-scaling system, you can override a given .gui with a custom version, and tweak it's scaling at you wish. The proposed manual-variable implementation will avoid custom .gui overrides.) I'll consider how the semi-automatic and manual systems could be implemented. Aside: Scaling with "@aspect"? Besides dynamic horizontal and vertical scaling by changing "textscale", the GUI system offers an alternative. You can append a horizontal scaling factor, to the "font" gui parameter, e.g.: font "fonts/stone@aspect=16:9" If you were to specify "@aspect=4:3", that would be a scaling of 1.0, i.e., no scaling. In the engine code (DeviceContext.cpp), the scaling is calculated (for @aspect=X:Y) as params.scale.x = float(4 * Y) / (3 * X); X and Y are decimal numbers, so don't have to be integers. Can the "font" GUI parameter string value (particularly, aspect value) be changed dynamically? No example of that was found. Since "font" is a non-register, probably not. As a workaround, you could have a set of overlapping winDefs with different @aspects, that you would select among, hiding all but one. Sounds like a nightmare. (Also, the Carleton font has a Carleton Condensed relative, which pre-dates the @aspect system and can be considered deprecated by @aspect.) Recap: Scaling with "textscale" As we have seen, this factor, which takes a decimal number, scales the font proportionately in both vertical and horizontal directions. Importantly, it can be changed dynamically. This can be observed with the Objectives GUI, based on a global user value setting. In tdm_objectives_core.gui: // overall multiplier which scales: // * box sizes // * text height and font #define OBJ_SIZE_MULT "gui::objectiveTextSize" I will pursue a similar approach to passing a scaling factor from the engine to the .gui as a "gui::" float. A Division of Responsibilities between GUI and Engine Code The readables .gui does not know what the current language is, and even if you passed it in as string from the existing global CVAR, its values (e.g., "english") could not be used in .gui logic because the .gui code cannot really do string comparisons. Nor can it count the number of characters in a string. While there may be workarounds (e.g., represent language choice as an integer enumeration; maybe associate an object script with the readable to perform calculations), a more straightforward approach is to have the GUI and engine collaborate. Recall in our readableTranslationFadeIn example FM with the Camberic scroll, we used these fixed values for translated text in Stone font that would be of equivalent layout length (when no translation expansion is present): textscale 0.33 // for titleTranslated textscale 0.24 // for bodyTranslated Let's give them #def names In the .gui: #define EQUIVALENT_SIZE_STONE_FONT_TITLE 0.33 #define EQUIVALENT_SIZE_STONE_FONT_BODY 0.24 Further, let's create two new values passed from the engine, and give them #def names too: #define TITLE_TEXT_RATIO "gui::readableTitleTextRatio" #define BODY_TEXT_RATIO "gui::readableBodyTextRatio" Let's interpret the ratio as (speaking loosely) "English text length"/"Translated text length". So that an expanded translation text causes a value less than 1.0, and a corresponding scale-down of the Stone font. Then the translated part of the gui would have: textscale EQUIVALENT_SIZE_STONE_FONT_TITLE * TITLE_TEXT_RATIO textscale EQUIVALENT_SIZE_STONE_FONT_BODY * BODY_TEXT_RATIO What the "Text Ratios" Mean with a "Manual" Approach Simply put, the definition of every applicable non-English #str_ value could take an optional tab-separated third parameter, the text ratio. If not stated, 1.0 is the default. Thus, in all.lang, you might have... [English] "#str_fm_scroll_camberic_pg1_title_dear_reverend_bernard" "Dear Reverend Bernard -" ... [French] "#str_fm_scroll_camberic_pg1_title_dear_reverend_bernard" "Cher Révérend Bernard," 0.95 ... So, the creation process of files like french.lang would have to propagate this new third parameter. (Hand-editing can take care of this in the short term.) Then the engine, when parsing files like french.lang and applying them to the readable's .xd entry, would have to pick up the specified ratio values and then deliver them, consistent with the current TDM language. What the "Text Ratios" Mean with a "Semi-Automatic" Approach This would be similar to the "manual" approach, except the ratio delivered to the .gui is a composite of the manual value specified in the *.lang file, and a calculation performed by the engine. The simplest calculation would be: gui::readable...TextRatio = (Count of English characters / count of Translated characters) * manual .lang file ratio As before, 1.0 is the default value for the optional third #str parameter. The difference here is that, because of the engine making a "good first guess", there will be far less need for the user to specify that third parameter. Possible Improvements. Since the penalty for underflow (ugliness) is much less than overflow (words not seen), perhaps there should be an engine-applied fudge factor that would bias away from overflow: gui::readable...TextRatio = FUDGE_FACTOR * (Count of English characters / count of Translated characters) * manual .lang file ratio where FUDGE_FACTOR could be, oh, 0.98 for body and 0.90 for title. Beyond that, one could imagine more sophisticated variants of this calculation. For instance, it might use font character-pixel-widths instead of character counts. Or employ heuristics with average-word-length or space-char-frequency to guess at word-wraps and number of lines. At the extreme, this heads toward the "fully automatic" approach.
-
That might be a fun exercise to try. You have a part of the city hub, with your apartment, a store to spend loot, and a job list where you can pick the next mission, either linearly or maybe you can have several FMs to choose from, and when you finish the mission, it brings you back to the hub with the loot added to your total to spend. I wonder if you could do that without needing to change the source code. It'd be really interesting to try out! But if it did require source code change, maybe you could put it out as a patch and the hub mission. It's worth looking into.
-
Websites prove their identity via certificates, which are valid for a set time period. The certificate for forums.thedarkmod.com expired on 10/18/2024. Error code: SEC_ERROR_EXPIRED_CERTIFICATE
-
Just to complicate your life, there are 3 additional aspects to consider about the circa-2014 Mason files, and subsequent circa-2017 improvements to the 'english' version perhaps applicable to your work. (These issues are covered in the wiki "Mason Font" article, with a bit more in my "Analysis of 2.12 TDM Fonts", https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/. The 2017 changes can be seen in the *current* 2.13 TDM English Mason files.) 1) Need for custom DAT-scaling on certain Mason characters The source TTF had upper-case and lower-case characters that were early-on considered too similar to size. So (before 2014) in the DAT, selective per-character scaling was used to differentiate them. See https://wiki.thedarkmod.com/index.php?title=Font_Metrics_%26_DAT_File_Format#Per-Character_Font_Scaling for details. As you add new characters, you should do likewise (relatively easy with refont). 2) Creating the "glow" of mason_glow How Tels created the glow (for 'english' carleton & mason) is discussed in reasonable detail here: https://forums.thedarkmod.com/index.php?/topic/12863-translating-the-tdm-gui/page/5/#findComment-262661 That could be done for Russian too, which I recall currently fakes a glow, and possibly would require a minor GUI or engine code change to use. Note: To best accommodate glow and retain GIMP-visualization-alignment between base and glow characters, Tels moved some base characters within their bitmap, to keep their glyphs 2-3 pixels away from any bitmap edge. You should consider this when placing new base glyphs. Note: For the 3 mason bitmaps doubled in size circa-2017 as discussed next, the mason_glow bitmaps were also doubled. 3) Extensive bitmap editing to solve main menu character jaggedness. On Oct. 5, 2017, @Springheel in https://forums.thedarkmod.com/index.php?/topic/19129-menu-update/#findComment-412921 said: "Looking at the Mason fonts, it looks like they were super low res to begin with, and were then just resized [presumably referring to per-character scaling], making them even worse. I'll see what I can do." [Further on, referring to fonts in the TDM menu system:] "It appears that resizing the dds file to make it higher res is possible, so I'll proceed." Later, on Oct 13, 2017, he concluded within a "More detailed list of changes: "Updated the menu fonts, which were surprisingly bad before" Unfortunately, I couldn't find details on how this work was actually done. I assume the bitmap editing was all done in GIMP. It started with doubling the size of certain bitmaps from 256x256 to 512x512. This was done for the first 3 bitmaps (i.e., those with ASCII, some Latin-1). Then characters were made more crisp and smooth-edged. How? Dunno. Also, some odd but harmless artifacts happened within GIMP (noted in https://forums.thedarkmod.com/index.php?/topic/22427-analysis-of-212-tdm-fonts/page/3/#findComment-499660)