Jump to content
The Dark Mod Forums


  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by Geep

  1. With my method, you get the results for all the successful matches back in a convenient single temp file (i.e., tabbed pane); each match is a single line, that you can examine and, if of particular interest, click on to open the relevant file in a separate tab within Textpad. I'm not sure that 7zip->Textpad would deliver the same convenient summary, even if it might spare having to pre-expand the .pk4 trees.
  2. Maybe you have to duplicate the entire FM environment (the .pk4 if packaged) to get it to work?
  3. While Notepad++ does have a "Find in Files" feature, it's not well suited for this particular task (examining all the files of a particular type within a large directory tree). TextPad works well for Windows, but there's no doubt plenty of other ways to do it.
  4. Yeah, there's nothing in the syntax that tells you if the gui parameter is set in a gui script or the engine. Sometimes there's a comment in the script that helps out by saying, for instance, "// set by SDK". If you really need to know - say, you're writing a wiki article - then typically you'd do a full-text search for the parameter name within and across files. Namely, the search scope may include: FM-specific .gui files Core .gui (and sometimes .guicode) files Engine .cpp (and sometimes .h) files, of the source code retrieved from, for instance, github I use TextPad to do this. In the case of (2), I have a local copy of the latest official TDM distribution (currently 2.11), where I have replaced every .pk4 with its unzipped equivalent. Because TextPad can't look inside .pk4 files. In the case of "ModNotesText", method (2) found nothing except the line you indicated. Method (3) found this line in a version of the source code: \darkmod_src-trunk\darkmod_src-trunk\game\ModMenu.cpp(81): gui->SetStateString("ModNotesText", info != NULL ? info->GetModNotes() : ""); So, yes, it's set by the engine.
  5. Good catch. I fixed the .gui name, and added afterwards this brief explanation: The value here is a path to a custom video material shader. It is set at runtime by the engine, based on information the FM author provided in mainmenu_custom_defs.gui as, e.g.: #define MM_BRIEFING_VIDEO_MATERIAL_1 "video/tdm_briefing_video" (In older FMs, the video was chopped into parts, in which case the engine updates the value just-in-time. See comments in mainmenu_custom_defs.gui for details.) FYI, there is a similar system for debriefing videos.
  6. The subtitles of the Builder 1 and 2 shared vocal set are now available for eventual incorporation into TDM: testSubtitlesBuilder1and2.pk4 Under the wiki's "Voices", Builder 1 is described as "middle-aged; somewhat zealous; (suits builder guards, acolytes)". Note: The St. Lucia FM has a dozen-odd "conversation" subtitles for Builder 1 & 2 distributed with the core files, and already defined in tdm_sound_vocals_decls01.pk4\tdm_stlucia.subs. These are excluded from the work here. Statistics In file fm_root.subs there are 483 inlines, including: 61 with an explicit linebreak, intending 2 lines 422 without Four of these have explicit duration extensions, all from 0.25 to 0.49, for 17 cps. There are 11 SRTs, all with 2 messages. Of the 22 total SRT messages, there are: 14 with an explicit linebreak, intending 2 lines 8 without In all, there are 494 voice clips with subtitles, showing 505 messages. Corresponding Excel Spreadsheet SubtitlesBuilder1and2.xlsx As usual, this is based on Version 5 of the Excel Template for TDM bark subtitles.
  7. Sounds plausible. Perhaps you could file a bug report?
  8. You will find windowDef leftPageCurl {.... within each multipage .gui, for example: tdm_gui01.pke\guis\readables\sheets\sheet_paper_print_stone.gui (line 20) I was just using this as a syntax example. I am not responsible for the code itself. As to newish more numerous console warnings: It is certainly possible that some syntax forms that were previously accepted without complaint (at the time I wrote this wiki series) are now causing warnings.
  9. Yeah, but that line is used in a zillion .gui's, for example: tdm_gui01.pk4\guis\readables\sheets\sheet_paper_print_stone.gui(line 124): transition "leftPageCurl::matcolor" "1 1 1 0" "1 1 1 1" READABLE_FADE_TIME 0.5 0; What I said was accurate. But I'll rearrange the text to avoid future confusion.
  10. ??? I'm seeing READABLE_FADE_TIME on line 12 of readable.guicode for TDM 2.10 and 2.11, and also the version of 2.12dev I have installed (admittedly not the latest).
  11. What you are describing is a different use case (controlled by the mapper rather than the game player), but worthwhile.
  12. I suppose you could have the player rather than the guard cause the trigger, then somehow check in the script if the guard is being carried or is otherwise in the right place to kill. Possibly too hard to make that robust.
  13. Hm, I wasn't being too serious here, just riffing off stgatilov's note of the weariness of TDM veterans hearing the canned barks yet again. If there is an existing way for the player to suppress the audio of everything except "story" clips throughout the entire game, I'm unaware of it.
  14. @MirceaKitsune, looks like you're in luck: https://wiki.thedarkmod.com/index.php?title=Custom_Death
  15. I wonder if scripting would work. If the AI is $guard1, either $guard1.kill(); or $guard1.setHurt(0); Maybe you'd have to heal first with $guard1.setHurt(1); then immediately kill. Probably your script should check the AI_KNOCKEDOUT flag before some of that, to confirm unconsciousness.
  16. "I think we have an opportunity to enlarge the potential TDM community to include deaf players, or those who like to play games with sound off." Even for the existing TDM players, some degree of customization, e.g., font choice, would be an improvement. Nobody argues with that, provided the bar to expressing need is not too high. Certainly TDMs large number of CVars hints that a bit of complexity has been tolerated in the past to achieve improvements and allow for satisfying individual needs and preferences. The TDM subtitle system I feel was meant to eventually cover all game sounds, so yes. (If you're talking about screen-reader software, it will not understand game context.) That's one of 2 possible methods I mentioned to help implement per-subtitle visual cues. There are no doubt others. It's ok with me if things like cue customization doesn't start to happen until TDM 2.13. I'm just trying to lay out a pathway through the terrain, which sadly seems more fraught than ideal.
  17. @stgatilov, thanks for sharing your thoughts about the original ideas behind the 3 levels, which I had not previously seen put so well. I was surprised that you considered that some of an individual AI's barks might go under "effects" instead of "speech". @snatcher likewise thought that, in effect, an AI's barks should be divided, though draws the dividing line elsewhere. I agree with you about the primary existing TDM audience for subtitles: those players appreciating help with spoken English, specially in dialects. I think partially-impaired-hearing individuals will also benefit. But, given subtitles in TDM and our newly prototyped method of indicating speaker sound source, I think we have an opportunity to enlarge the potential TDM community to include deaf players, or those who like to play games with sound off. This does involve sound categorization and visual cues, beyond just toggling story/speech/effects. Such cues could be universal (seen the same by everyone), or controlled by new options, to accommodate personal interest (or lack thereof). Let me be more specific. Consider the 2-level visual cues that snatcher preferred (while leaving open where to draw the line between the 2, or whether 2 is really too few). Examples of universal+fixed, which for barks could be done by me in the .subs file, are: bracketed vs unbracketed white vs yellow font, done by string markup. (This has significant drawback and limitations). Alternatively, there is categorization performed engine-side and passed to the GUI as one or more variables. The results could be universal, or the passed value(s) could be affected by additional optional settings. Displayed results could be, for instance: white vs yellow font, done by text font color choice Stone vs Carleton font wide vs narrow font wide vs narrow background field two different background tints or opacities colored border around backgrounds, with two different colors (Also, without involving new GUI variables, the engine could add brackets to selected strings) Turning to what additional optional settings might look like, at the basic level, you could just have an option that turns visual cues on or off. So, for example, if the visual cue was font choice, turning the visual cue option to off would cause all subtitles to use the same default font. More specificity is, of course, possible. (Maybe too, stgatilov, you could sneak in a related option to suppress "Just you wait!" audio and only play story clips!) If the barks were to be subdivided by the engine into (in this discussion) 2 categories, it could be done by a new per-line option in the .subs file, e.g, -cue 1. Or the categorization could be done entirely automatically on-the-fly by the engine, at the moment it's looking at the AI's current state & most recent state transition, in order to select a sound shader to play. It would probably use the standardized state-transition names as found in the AI .def files, e.g. "snd_foundDeadMale" rather than AI-specific sound shader names. So there would be a list of "snd_..." to determine when g_cue=1 instead of the default g_cue=0.
  18. I appreciate your desire for simplicity, but since the current system has 3 categories, you are actually proposing to split the barks category, creating 4 in total - "story" (most vital info to know if you are to win) - ai barks, dangerous now - ai barks, not dangerous yet (but ai presence is important to know) - effects, generally ignorable Now, they don't all have to be visually distinguished... maybe 3 & 4 could be shown the same. Dunno.
  19. Effects in brackets might be OK. A concern with color field tint is color blindness accommodation, as well as problems translucency can cause. I guess another idea is to use one font for story, a different one for speech. Instead of making font a user choice. Dunno.
  20. There can be up to 3 subtitles seen at a time, stacked with translucent backdrops. If there are more the 3, then priorities are involved, with "story" highest and "effects" lowest. I agree that distinguishing more important from less important subtitles is desirable. One method was floated (background field width) but maybe that's not the answer. Could be background field color tint. I would not support putting all barks in brackets.
  21. A subtitling capability was developed that offers 3 "verbosity" categories: "story", "speech", and "effects". Roughly, "story" are FM-specific talk clips, while "speech" is for ai barks, and "effects" are more general sounds. "Effects" is not yet exposed as a setup choice, nor are any sounds so tagged. I have never seen an exact differentiation of the 3 categories... which is what the feedback request is about. At the time I started this thread, there was only a few demo phrases tagged as "story" or "speech" and given subtitles. I've made many more "speech" subtitles available for eventual incorporation into 2.12 (and others have done "story"), but I'm not doing that incorporation myself. As to purpose, I surmised they are - - to help low-hearing players - to help players for whom English is not native - to demystify more obscure ai dialects and, in conjunction with visual cues to sound source location (prototyped)... - for players with audio turned off - for deaf players Hope that helps
  22. An alternative view would be to interpret "verbosity speech" as "speech from humans, and noises from all ai that could harm me". That would exclude ravens and horses, but include everything else. Although the player himself and noises from fixed-location machine threats would then be edge cases. Among latter: pivoting security cams ("camgoyles") ticking sounds of mines?
  23. Feedback needed. I plan to do all the "verbosity speech" subtitles for 2.12 (assuming Feb 2023 as target date), while leaving any "verbosity effects" for later. So I need a consensus on what we would like to see covered, or not, by "verbosity speech". Importantly, when you turn on "speech" subtitles in TDM, what would you expect to see or not see? Easier cases: manbeast (hear at tdm_ai_humanoid_beasts02.pk4\sound\voices\monster\manbeast) I would call as "speech", because it's still spoken and in English. steambots and automaton (tdm_ai_steambots01.pk4\sound\sfx\ai\) I would call as "effects", because of the non-language sounds & no vocal cords. Animals and Monsters [no human language spoken; so probably "effects"?]: raven (tdm_sound_vocals04.pk4\sound\voices\animal\) elemental (tdm_sound_vocals04.pk4\sound\voices\monster\elemental) spider (tdm_sound_vocals04.pk4\sound\voices\monster\spider) horse (tdm_sound_vocals05.pk4\sound\voices\animal\horse) zombie (tdm_sound_vocals05.pk4\sound\voices\undead\zombie) werebeast (tdm_ai_humanoid_beasts01.pk4\sound\voices\monster\werebeast) Edge cases: player (tdm_sound_vocals01.pk4\sound\voices\player) [mostly grunts, groans, some hmmms] revenant (tdm_sound_vocals05.pk4\sound\voices\undead\revenant)[a little english, a little latin, and much unintelligible/multiple-voices/sounds/reverb]
  24. The subtitles of The Simpleton vocal set is now available for eventual incorporation into TDM: testSubtitlesSimpleton.pk4 "Vocal Script: Simpleton" says that he is "an uneducated, simple character, who speaks in a slow, measured voice. He goes about his life dealing with the here and now, and doesn’t think much about anything beyond what he’s doing. He could be a simple servant or labourer. For inspiration, think of the pirate with the wooden eye from 'Pirates of the Carribean', or Hank Hill from 'King of the Hill'. This is the default voice for common townsfolk, so don’t give him too much personality, or over-exaggerate it for laughs (even though some of the lines are played for comedic value)." Statistics In file fm_root.subs there are 496 inlines, including: 52 with an explicit linebreak, intending 2 lines 444 without Of these, 59 with explicit duration extensions, as follows: 37 from 0.25 to 0.49, for 17 cps 22 capped at 0.50 seconds, for 17-20 cps There are 3 SRTs, all representing vocalized tunes. Each has 2 messages, with a 2-second start message and later 2-second end message. None required an explicit linebreak. In all, there are 499 voice clips with subtitles, showing 502 messages. Corresponding Excel File SubtitlesSimpleton.xlsx As usual, this is based on Version 5 of the Excel Template for TDM bark subtitles.
  25. On the func_damage entity, set spawnarg def_damage with the name of the desired damage entity; see tdm_damage.def for name choices.
  • Create New...