Jump to content
The Dark Mod Forums

Search the Community

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

  • 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. Does anyone have an example of a mission where this check is done? It isn't a bad idea, and seems like something the core game should be doing, with the FMs providing whatever metadata they need to enable it. Something rings a bell recently with maybe some constant being available via script events?
  2. Renaming the Strings What I describe here is a bit of a fib, reflecting where I ended up, not the iterative process. And some renaming was refined after the first trial AI run. Before doing the translation, I’m going to rename all the FM-specific strings. Why? It’s fair to say the #str_ system was never a hit with DR developers, so features that would support it are scant. A way to make it less painful for mappers to inspect a post-conversion FM in DR is to change the #str_<5-numbers> to #str_<meaningful string>. By convention, <meaningful string> is limited to ASCII alphanumeric characters plus underscore, with no spaces. This generally does not include a version of the full English string (and there are length limitations), but something that clues the mapper. And groups things helpfully. More specifically, I’m going to rename all the FM-specific strings from #str_2xxxx to: #str_fm_<file_source><grouping_and_ordering>_<unique hint> The <grouping_and_ordering> substrings are chosen with an eye to both viewing in DR and group translation. (Later, I’ll talk about batch-processing strategies. The group-naming here does not use a “by scene” strategy.) So this is done first in english.lang and then the altered assets (in .map, .xd). As I search for “#str_” in assets, I am aware that some strings are TDM-level defined, so I should not rename them. These have stringID numbers under 20000, or in theory beginning with #str_main_menu. There were 2 of these found in airpocket: items with inv_name or inv_category given by #str_10052 and #str_02381. Specific Renamings and Examples I’ll be truncating example strings here for brevity and to reduce spoilers. The categories (and an example or two of each) follow. Darkmod.txt and Readme.txt. As mentioned, TDM doesn’t really handle translations of these. Just for completeness... "#str_20000" ==> "#str_fm_darkmod_txt__title" "Away 1: Air Pocket" "#str_20001" ==> "#str_fm_darkmod_txt_desc" "On the run from her husband, me and my girl. With a bribe to a ship's captain, we're away. What could go wrong now? Oh, dammit." Notice that here (and elsewhere) I’ve added an extra “_” before “title”. This is so, when sorted alphabetically, the title comes first before the description (in this case) or body. Mission Briefing. This tells a story, so be sure that its titles (if any), bodies, and pages are well-order to present to the AI. Since the briefing text is long and complex, I’ve opted not to include a #str <hint> for it. "#str_20026" ==> "#str_fm_mission_briefing_xd_pg1_body" "Life is sweet! It's been 3 days since Emily ran away with me, leaving behind her bastard husband. He's miles away now, as our tradeship Esmeralda plies herself down the coast.\n [...] \nAnyway, Emily's set up a cozy bunk for us in the bow galley.\n" Readables. Like the briefing, a readable often tells a story and should be well-ordered to present to the AI. I’ve chosen to skip hints for these. "#str_20024" ==> "#str_fm_airpocket_xd_sheet_appointment_to_service_pg2__title" "Further Instructions\n" "#str_20025" ==> "#str_fm_airpocket_xd_sheet_appointment_to_service_pg2_body" "\n\n\n\nAs agreed, the 2 new crewmates will bunk in the galley, and share the sea trunk nearest the door in the mess.\n\nCaptain Riggs\n" Inventory (mainly keys). The hints for these are usually just the full text, in lower case with punctuation dropped. They could include info about item class or difficulty, but I didn’t find it necessary here. "#str_20021" ==> "#str_fm_map_inv_key_captains_cabin" "Captain's Cabin" (I’ve went with “...fm_map...” here instead of “...fm_airpocket_map...”. I hope that works out. Too bad “map” itself has multiple TDM meanings, e.g., “hungarian.map”; in-game map. Also, since the order in which these inventory items are discovered in the game is pretty variable, I decided not to embed a numeral to force ordering.) Objectives. The objectives as coded in the .map file (and so generated english.lang #str_ numbers) are generally not listed in objective number order. It’s helpful to so reorder the rows. Also, because there are more than 9 objectives, I added a leading “0” to those with a single digit, for lexical ordering. The “obj<num>” is the DR/.map-internal objective number, which loosely corresponds to presentation to the game player, although objectives come and go. "#str_20008" ==> "#str_fm_map_obj01_no_hurt_or_loot_crew" "Rile neither the captain nor crew. No assaults by me or gratuitous thieving... not that there's much to steal." Thought messages. The I18N.pl script did not catch these, so they are manually added (and there’s no #str_2xxxx to begin with). I included an ordering digit after “msg”, roughly reflecting game occurrence (though difficulty and player actions will affect which of these appear and when): "fm_map_thought_msg1_sword_stolen" "My sword's been pilfered... I'm not surprised. It's likely still on-board somewhere." Ordering the Strings The #str_ lines in “english.lang” are extracted and put into ASCII alphanumeric order. I used Notepad++ with Edit/Line Operations/Sort Lines Lexigraphically Ascending. Any full-line grouping comments (beginning with //) will need to be manually repositioned after this. Programmatic Ideas to Better Support Renaming This would be helpful: A program that took the original 5-digit #str form of english.lang, and the renamed-#str english.lang form, and did the surgery on <fm>.map and *.xd . Or alternatively you could make a version of english.lang with an extra tab-separated field; this is what I created manually as a reference for myself, with lines like: "#str_20003" "#str_fm_map_inv_key_sea_trunk" "Sea Trunk" Then have a program that took that and did the surgery, using the first 2 fields. Or most ambitious of all, a version of I18N.pl that created alphanumeric #str_ in the first place, instead of 5-digit ones. Using something like the naming scheme above, this is mostly straightforward. However, for strings that are long sentences, if you still wanted to automatically summarize them into a few words for the #str <hint>, you’d probably need to call upon AI. Next Up I’ll make a version of this data available a little later on. Next post: prompt engineering!
  3. That's correct but many people just use the in-game mission downloader to check for new stuff without even looking at the forums, which is what I did. In the past a lot of missions that required a newer version of the game executable and assets would tell you this when you tried to start them up. I was just reporting on this and that you don't need to reinstall, just update via tdm_updater if you find this issue.
  4. Hrm I wasn't able to type on *after* the spoiler and accidentally already submitted the reply.. (Does this forum somewhere have a raw mode where you type text with tags around them or something instead of this broken WYSIWYG editor?) Anyway, what I was gonna add: This was a great mission and I already played Away1 - I'm really looking forward to Away2, want to see how the story goes on
  5. Starting the Conversion with I18N.pl Folks have found that it is best to do the conversion only when an FM is complete, which is certainly the case here. As a prerequisite, I installed and tested Strawberry Perl on my Win11 dev box. It worked this time, unlike in the distant past on a different, Win10 machine, where I tried and failed for 3 days to get it to work. Then, as specified in our wiki’s I18N page, I set up a directory with the airpocket.pk4, and a copy of TDM 2.13 strings/english.lang. (The wiki specification missed that last step, which I corrected.) Running the I18N.pl script generated the expected results in its “output” folder: an altered airpocket.pk4 and new airpocket_l10n.pk4. Within both, a /strings/ folder was now present with just an english.lang file, with 28 #str_ entries, covering: maps/airpocket.map xdata/airpocket.xd xdata/mission_briefing.xd darkmod.txt readme.txt However, I believe #str_ support for the last 2 was never implemented (and the output version of those files don’t include #str_ s). So this will be lowest priority for me. Also, I don’t see any auto-generated #str_ for the 5 player “thought messages”. Probably need to add these. English text for these is in the .map file (found by searching for tdm_message_no_art).
  6. This might be a thing we can do with modding! I went digging through the source again because this was hanging in the back of my mind, and there is no actual use of the cvars that are defined in the c++ code for how the player reacts to the flashbomb. Seeing that, I followed that cvar through the scripts in my TDM install instead. As it turns out, the white flash that occurs when you flash yourself is defined as a gui element in tdm_gui01.pk4\guis\playertools\flashbomb.gui. Most of the lines of this script are defining color values to fade from and to, as vector4's that presumably represent RGBA values. Everywhere in that script that says something along the lines of transition backcolor "1 1 1 1" "0 0 0 0" "4000"; , "1 1 1 1" represents fullbright, fully opaque white. Changing that to "0 0 0 1" would be fully opaque black, and doing that across the whole script might just solve the problem. The going-all-the-way solution would be to change this color value to a cvar that you can set through a menu accessibility option, but it'd probably be simpler to mod it out in the shorter term
  7. I noticed this myself and raised the interval to 10 min. If you want to remove it completely, find tdmup.pk4 in the TDM folder, open it with WinRAR or another zip tool, open the script folder and delete the autosave.script file.
  8. Might this not be better suited to https://forums.thedarkmod.com/index.php?/forum/58-tdm-tech-support/ or failing that make the text collapsable.
  9. @greebo, @Springheel: Would you consider licensing your work on the def files and script files in question as GPL?
  10. I personally still feel it's now a lost cause without first getting clarification over the licence for the def and script files from the original Doom 3, which is why, until such clarification is officially made I'm not doing anything further towards it. I believe that while currently Microsoft may turn a blind eye to copy and pasted text from these files in TDM due to its' non-commercial nature, the moment it were to become Libre then the ability to use it commercially could lead to problems. However to answer your question (bearing in mind I have a very limited knowledge of Doom 3/TDM modding other than what I learnt attempting to get a compiled cut-down version running). In terms of the game scripts the following are the only non-GPL header game scripts and you can comment them out from being loaded in source code: tdm_grandfather_clock.script tdm_turret.script tdm_audiograph.script tdm_camgoyle.script tdm_safe_lock.script tdm_safe.script Also Grayman put the values as comments in code for these two files so they can be easily created: tdm_soundprop.def tdm_ai_base.def It would be easier to seek out Greebo and Springheel and ask them to GPL their work since that would open up all the base def files without the task of re-creating them. I suspect that it would take a very long time to recreate all the def files, also bear in mind that some functionality is copy/paste from Doom 3 eula protected files (func_static for example). As regards the work done by Grayman, that would always remain NC-BY, however access to the SVN commits would allow you to diff remove his non-GPL edits from the .def files. The UI function calls for TDM are all within the GPL source code, and as the UI is all a text based language it probably wouldn't take more than a couple of days to re-create a basic (though not pretty) UI. There are many comments within the source code relating to the UI string references, so a relatively complete UI string language file can be re-created as well.
  11. The "issue" with the animation at least appears to be on the script side, so even those of us who only know enough to be dangerous can still play with it. In "tdm_ai_base.script" there are blocks to specify how animations are handled when an ai is blinded. It only plays the animation once across the torso and legs channels and the ends regardless if the ai is still blind or not. The result is it that rather quickly after the animation is complete, the ai seems to snap to idle and it is imo very hard to tell what state the ai is actually in. You kind of expect them to snap out of it, but they are actually still blind and just standing there: I am a very bad scripter, but by copy pasting the torso channel animations a few times and adding some pauses in between for the leg channel you already get what is imo a not perfect but a much more legible "I'm blind" response: The ai is covering their eyes the entire time, they switch between stumbling forward and standing in place, they change direction, etc. You can also much more clearly see the difference from the randomization at the end the blind timer: Again very bad at scripting. There is probably a much better way to handle this. For example it'd probably be better to pull the blind duration spawnargs from the ai and loop the animations for that length specifically and not repeat so many lines. Maybe introduce some kind of randomization to try and break up the "synchronized swimmer" look.
  12. Hi @Skaruts. I thought I would try this out for my next release. It seems pretty cool and I'd be happy to use it, but I'm having some issues (maybe user error but let me know ) The .pkignore editor in the 'Files' tab doesn't seem to work. It just shows a screen with 'TODO' on it. It created the .pkignore file, but I can't edit it anywhere within TDM Packer 2. The 'Test' functionality doesn't seem to do anything. I packed my mission up OK, but when I pressed the 'Test' button it launched my Test TDM instance (a fresh install of TDM 2.13 in a different location), but it didn't copy the newly packed mission to it. (EDIT: this seems to be working now, not sure what happened before). Feature requests: I like to version my releases and note the release number and timestamp in darkmod.txt and readme.txt. I was previously doing this with a tokenized search and replace in my build script. Would you be able to add something like this? Just some config where you could record a version number and it would insert it into any file with some sort of configurable token like [VERSION] or the build time with [TIMESTAMP]. Actually, this is also useful to name the .pk4 file after the release (e.g. lt4-0.2-beta.pk4). This is especially useful during beta testing when there are loads of different versions of the file flying around. Some sort of user feedback when you pack the file would be helpful, even if it's just a pop up that says 'Pack complete' or something. (EDIT: nevermind, I just noticed the console there. I had it collapsed or something before I think) This is all with version a0.3.2 on Windows.
  13. Double topic. See also topic: https://forums.thedarkmod.com/index.php?/topic/22754-thief-vr-legacy-of-shadow-announcement/
  14. i am having a hard time searching for specific keyword in bug tracker so i decided to wade into google search and found similar thread with similar issue : https://forums.thedarkmod.com/index.php?/topic/13723-key-drop-melee-animation-glitch/
  15. 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)
  16. Or, just get in contact with the owners of the IP and ask them since just because an IP lawyer in one jurisdiction says it would be okay, doesn't mean it would be okay globally. There are several packs out there of scripts/definition files which are licenced under free licences (CC0 and WTFPL mostly) and claim their freedom by recreating them using "clean-room way". In fact, I used them in getting TDM running with mostly free licenced files by selectively choosing which had clearly been written from scratch albeit with reference to the originals, and which were just direct copy and paste with claimed free licences (I didn't use them). Then it was a case of finding/replacing the core engine textures, sounds, etc. the engine required to launch with free alternatives (again checking the packs since some were just copied direct from the game files and claiming to be free). In the end, the only non-free licenced files that were still required were those from TDM itself. The result of this TDM version is the screenshot I posted some posts ago here: https://forums.thedarkmod.com/index.php?/topic/22346-libre-version-of-tdm/page/3/#findComment-500642 However, you will notice the giant cursor on the screen in the screenshot, why? because the only reference to hiding the cursor is within the UI files which come under the game eula, so I didn't add in the command to hide it in game. In the case of the script/def files, this "clean-room" approach has stood up in a court of law when I looked online, however you wouldn't really want to end up being in the position of ending up in court defending yourself in the first place. The flaw in the def/scripts that were recreated are that they all wrote their files using the originals as reference. So if the originals are under the game eula, and if the information contained is in some way protected, then all these "clean-room" files revert to the original game eula, as the authors didn't have the right to change the licence. I believe (with a pinch of salt )that if the core scripts/files were made GPL by idSoftware/Microsoft then as files based off of or using them as parents (basically all TDM scripts/defs as far as I can make out) then all of the TDM scripts and def files would automatically become GPL as their authors could also not claim their work was NC-BY since it was then based on GPL work.
  17. I looked for these .script and .def files in the source at https://svn.thedarkmod.com/publicsvn/darkmod_src/trunk/ but was unable to find them. Would someone help me out and provide a link?
  18. Regarding the existing Russian version of TDM's MasonAlternative font, this had a different origin than those Russian fonts processed by Riff_Keeper. Tels created this in 2012. He started from bitmaps of an ASCII Mason font, then used his Perl patch program to copy selected ASCII glyphs (that resemble in some way Cyrillic) to new font "MasonAlternative". See https://forums.thedarkmod.com/index.php?/topic/12863-translating-the-tdm-gui/page/15/#findComment-274617 In GIMP, he flipped or otherwise hand-edited to make them Cyrillic. He said, "There are still a few dozen missing, but this is enough to render the two headlines we have (New Mission and Setting)" https://forums.thedarkmod.com/index.php?/topic/12863-translating-the-tdm-gui/page/15/#findComment-274623 This accounts for the incomplete coverage. Speculatively, he took this approach because it couldn't find a Mason-style TTF font with both Russian characters and an acceptable license (e.g., public domain, or at the least freely redistributable for non-commercial use). @kalinovka,I wonder what the licensing is for your masonchronicles3.ttf.
  19. Evidently a significant portion of the Cyrillic work was done by Keeper_Riff (in conjunction with Tels) back in 2011. These folks are not active in TDM these days. Keeper_Riff outlined a workflow, starting with FontLab to edit TTF files... https://forums.thedarkmod.com/index.php?/topic/12863-translating-the-tdm-gui/page/12/#findComment-271548 Specifically Carleton: https://forums.thedarkmod.com/index.php?/topic/12863-translating-the-tdm-gui/page/4/#findComment-262135
  20. You might be missing the skin file. yourfm/skins/volta_containers.skin Yeah that's the downside of objects like this that have a lot of associated files. Those crates have: -volta_breakable_crate.def -volta_breakable_crate.script -volta_crate_break.prt (this is the particle that spawns) volta_fx.mtr -----> textures/darkmod/volta/crate_debris01 dds\textures\darkmod\volta_fx\ crate_debris01.dds - volta_containers.skin -All the flinders in \models\volta\crate - volta_containers.mtr models/darkmod/props/textures/crate01_d_breakable models/darkmod/props/textures/crate01_local models/darkmod/props/textures/crate01_s_breakable I think that's it. Hope this helps.
  21. I think I remember someone used seta in a script in some fm and this created a problem elsewhere because the setting was changed globally. Or maybe I'm confusing things.
  22. Did you have "irreversible" unchecked? Otherwise I guess it's a limitation of the objectives engine and could be worked around via other means, like an on-death script for each AI or a looping script that checks the kill statistic or every killed AI.
  23. Improved formatting: Thread 38 "Frontend" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffb98006c0 (LWP 1220544)] 0x00007ffff48d5d29 in ?? () from /lib/x86_64-linux-gnu/libGLdispatch.so.0 (gdb) bt #0 0x00007ffff48d5d29 in ?? () from /lib/x86_64-linux-gnu/libGLdispatch.so.0 #1 0x0000000000be43c7 in GLSLProgram::Destroy (this=0x10fe9290) at darkmod_src/renderer/backend/GLSLProgram.cpp:61 #2 0x0000000000bece3e in GLSLProgramManager::LoadFromGenerator(char const*, std::function<void (GLSLProgram*)> const&) (this=0x2107cc0 <programManagerInstance>, name=0x7fffb013a1f0 "ambientEnvironment", generator=...) at darkmod_src/renderer/backend/GLSLProgramManager.cpp:103 #3 0x0000000000bec407 in GLSLProgramManager::Load (this=0x2107cc0 <programManagerInstance>, name=..., defines=...) at darkmod_src/renderer/backend/GLSLProgramManager.cpp:74 #4 0x0000000000cc642f in GLSL_LoadMaterialStageProgram (name=0x7ffed4053f40 "ambientEnvironment") at darkmod_src/renderer/resources/Material.cpp:783 #5 0x0000000000cc9602 in idMaterial::ParseStage (this=0x7ffed40069b0, src=..., trpDefault=TR_REPEAT) at darkmod_src/renderer/resources/Material.cpp:1568 #6 0x0000000000ccd04e in idMaterial::ParseMaterial (this=0x7ffed40069b0, src=...) at darkmod_src/renderer/resources/Material.cpp:2470 #7 0x0000000000ccd626 in idMaterial::Parse (this=0x7ffed40069b0, text=0x7fffb97eda30 "\n\npainting03_L\n{\n\tqer_editorimage\tmodels/darkmod/props/textures/painting03_l_d_ed\n\twood\n\n\tdiffusemap\tmodels/darkmod/props/textures/painting03_l_d\n\tbumpmap\t\tmodels/darkmod/props/textures/painting01_loc"..., textLength=1329) at darkmod_src/renderer/resources/Material.cpp:2559 #8 0x000000000049631d in idDeclLocal::ParseLocal (this=0x57c0bd0) at darkmod_src/framework/DeclManager.cpp:2318 #9 0x000000000049263f in idDeclManagerLocal::FindType (this=0x16fdc00 <declManagerLocal>, type=DECL_MATERIAL, name=0x7ffed40c03f0 "painting03_l", makeDefault=true) at darkmod_src/framework/DeclManager.cpp:1235 #10 0x0000000000494300 in idDeclManagerLocal::FindMaterial (this=0x16fdc00 <declManagerLocal>, name=0x7ffed40c03f0 "painting03_l", makeDefault=true) at darkmod_src/framework/DeclManager.cpp:1633 #11 0x000000000049f3ed in idDeclSkin::Parse (this=0x7ffed4034ad0, text=0x7fffb97ee290 "\n\nportrait_with_skull02_torn\n{\nmodel models/darkmod/decorative/wall/painting01.lwo\nmodel models/darkmod/decorative/wall/painting01_m.lwo\nmodel models/darkmod/decorative/wall/painting01_l.lwo\nmodel mod"..., textLength=404) at darkmod_src/framework/DeclSkin.cpp:78 #12 0x000000000049631d in idDeclLocal::ParseLocal (this=0x59f3e10) at darkmod_src/framework/DeclManager.cpp:2318 #13 0x000000000049263f in idDeclManagerLocal::FindType (this=0x16fdc00 <declManagerLocal>, type=DECL_SKIN, name=0x7ffed408bc6c "portrait_with_skull02_torn", makeDefault=true) at darkmod_src/framework/DeclManager.cpp:1235 #14 0x0000000000494382 in idDeclManagerLocal::FindSkin (this=0x16fdc00 <declManagerLocal>, name=0x7ffed408bc6c "portrait_with_skull02_torn", makeDefault=true) at darkmod_src/framework/DeclManager.cpp:1643 --Type <RET> for more, q to quit, c to continue without paging-- #15 0x000000000055a6bb in idEntity::Event_SetSkin (this=0x7ffed408d324, skinname=0x7ffed408bc6c "portrait_with_skull02_torn") at darkmod_src/game/Entity.cpp:7114 #16 0x0000000000987646 in idClass::ProcessEventArgPtr (this=0x7ffed408d324, ev=0x1f5ef00 <EV_SetSkin>, data=0x7fffb97ee600) at darkmod_src/game/gamesys/Callbacks.cpp:26 #17 0x0000000000a5a847 in idInterpreter::CallEvent (this=0x7ffed408b444, func=0x7ffff7961388, argsize=132) at darkmod_src/game/script/Script_Interpreter.cpp:817 #18 0x0000000000a5b1f7 in idInterpreter::Execute (this=0x7ffed408b444) at darkmod_src/game/script/Script_Interpreter.cpp:1091 #19 0x0000000000a6a0ce in idThread::Execute (this=0x7ffed408b414) at darkmod_src/game/script/Script_Thread.cpp:949 #20 0x0000000000561c23 in idEntity::FrobAction (this=0x16762504, frobMaster=true, isFrobPeerAction=false) at darkmod_src/game/Entity.cpp:9544 #21 0x000000000067d033 in idPlayer::PerformFrob (this=0x156bf4e4, impulseState=EPressed, target=0x16762504, allowUseCurrentInvItem=true) at darkmod_src/game/Player.cpp:11843 #22 0x000000000067d916 in idPlayer::PerformFrob (this=0x156bf4e4) at darkmod_src/game/Player.cpp:12047 #23 0x000000000066884c in idPlayer::PerformImpulse (this=0x156bf4e4, impulse=41) at darkmod_src/game/Player.cpp:5935 #24 0x00000000006696f4 in idPlayer::EvaluateControls (this=0x156bf4e4) at darkmod_src/game/Player.cpp:6347 #25 0x000000000066e72d in idPlayer::Think (this=0x156bf4e4) at darkmod_src/game/Player.cpp:7616 #26 0x00000000005ba9dd in idGameLocal::RunFrame (this=0x16b3a40 <gameLocal>, clientCmds=0x7fffb97eebe0, timestepMs=17, minorTic=false) at darkmod_src/game/Game_local.cpp:3397 #27 0x00000000004cac3c in idSessionLocal::RunGameTic (this=0x17055a0 <sessLocal>, timestepMs=17, minorTic=false) at darkmod_src/framework/Session.cpp:2997 #28 0x00000000004cb020 in idSessionLocal::RunGameTics (this=0x17055a0 <sessLocal>) at darkmod_src/framework/Session.cpp:3043 #29 0x00000000004cb291 in idSessionLocal::FrontendThreadFunction (this=0x17055a0 <sessLocal>) at darkmod_src/framework/Session.cpp:3104 #30 0x00000000004cb6bc in operator() (__closure=0x0, x=0x17055a0 <sessLocal>) at darkmod_src/framework/Session.cpp:3186 #31 0x00000000004cb6e4 in _FUN () at darkmod_src/framework/Session.cpp:3188 #32 0x00007ffff769caa4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447 #33 0x00007ffff7729c3c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 (gdb) thread 1 [Switching to thread 1 (Thread 0x7ffff7ccf4c0 (LWP 1220498))] #0 0x00007ffff771b4cd in __GI___poll (fds=0x7fffffffd4e8, nfds=1, timeout=1000) at ../sysdeps/unix/sysv/linux/poll.c:29 warning: 29 ../sysdeps/unix/sysv/linux/poll.c: No such file or directory (gdb) bt #0 0x00007ffff771b4cd in __GI___poll (fds=0x7fffffffd4e8, nfds=1, timeout=1000) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007fffd661d9df in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.570.124.04 #2 0x00007fffd6603b11 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.570.124.04 #3 0x00007ffff3f7a1ec in ?? () from /lib/x86_64-linux-gnu/libGLX_nvidia.so.0 #4 0x00007ffff3f48500 in ?? () from /lib/x86_64-linux-gnu/libGLX_nvidia.so.0 #5 0x0000000000d95c36 in GLimp_SwapBuffers () at darkmod_src/sys/linux/glimp.cpp:76 #6 0x0000000000bf4ba0 in RB_SwapBuffers () at darkmod_src/renderer/backend/tr_backend.cpp:608 #7 0x000000000074adf1 in R_IssueRenderCommands (frameData=0x1fb31a0 <smpFrameData+96>) at darkmod_src/renderer/RenderSystem.cpp:173 #8 0x000000000074c6e6 in idRenderSystemLocal::EndFrame (this=0x1fa7c60 <tr>, frontEndMsec=0x0, backEndMsec=0x0) at darkmod_src/renderer/RenderSystem.cpp:768 #9 0x00000000004c9cb9 in idSessionLocal::UpdateScreen (this=0x17055a0 <sessLocal>, outOfSequence=false) at darkmod_src/framework/Session.cpp:2716 #10 0x000000000047477f in idCommonLocal::Frame (this=0x16de8c0 <commonLocal>) at darkmod_src/framework/Common.cpp:2479 #11 0x0000000000d99481 in main (argc=1, argv=0x7fffffffdd68) at darkmod_src/sys/posix/platform_linux.cpp:490
  24. Probably makes sense to discuss this issue here instead of in the generic Shadows of Northdale 1 thread (where the same issue occured). I compiled the latest Darkmod source (Debug build) and reproduced the crash with that. The crash indeed does *not* happen in the main thread, but the "Frontend" thread: Thread 38 "Frontend" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffb98006c0 (LWP 1220544)] 0x00007ffff48d5d29 in ?? () from /lib/x86_64-linux-gnu/libGLdispatch.so.0 (gdb) bt #0 0x00007ffff48d5d29 in ?? () from /lib/x86_64-linux-gnu/libGLdispatch.so.0 #1 0x0000000000be43c7 in GLSLProgram::Destroy (this=0x10fe9290) at darkmod_src/renderer/backend/GLSLProgram.cpp:61 #2 0x0000000000bece3e in GLSLProgramManager::LoadFromGenerator(char const*, std::function<void (GLSLProgram*)> const&) (this=0x2107cc0 <programManagerInstance>, name=0x7fffb013a1f0 "ambientEnvironment", generator=...) at darkmod_src/renderer/backend/GLSLProgramManager.cpp:103 #3 0x0000000000bec407 in GLSLProgramManager::Load (this=0x2107cc0 <programManagerInstance>, name=..., defines=...) at darkmod_src/renderer/backend/GLSLProgramManager.cpp:74 #4 0x0000000000cc642f in GLSL_LoadMaterialStageProgram (name=0x7ffed4053f40 "ambientEnvironment") at darkmod_src/renderer/resources/Material.cpp:783 #5 0x0000000000cc9602 in idMaterial::ParseStage (this=0x7ffed40069b0, src=..., trpDefault=TR_REPEAT) at darkmod_src/renderer/resources/Material.cpp:1568 #6 0x0000000000ccd04e in idMaterial::ParseMaterial (this=0x7ffed40069b0, src=...) at darkmod_src/renderer/resources/Material.cpp:2470 #7 0x0000000000ccd626 in idMaterial::Parse (this=0x7ffed40069b0, text=0x7fffb97eda30 "\n\npainting03_L\n{\n\tqer_editorimage\tmodels/darkmod/props/textures/painting03_l_d_ed\n\twood\n\n\tdiffusemap\tmodels/darkmod/props/textures/painting03_l_d\n\tbumpmap\t\tmodels/darkmod/props/textures/painting01_loc"..., textLength=1329) at darkmod_src/renderer/resources/Material.cpp:2559 #8 0x000000000049631d in idDeclLocal::ParseLocal (this=0x57c0bd0) at darkmod_src/framework/DeclManager.cpp:2318 #9 0x000000000049263f in idDeclManagerLocal::FindType (this=0x16fdc00 <declManagerLocal>, type=DECL_MATERIAL, name=0x7ffed40c03f0 "painting03_l", makeDefault=true) at darkmod_src/framework/DeclManager.cpp:1235 #10 0x0000000000494300 in idDeclManagerLocal::FindMaterial (this=0x16fdc00 <declManagerLocal>, name=0x7ffed40c03f0 "painting03_l", makeDefault=true) at darkmod_src/framework/DeclManager.cpp:1633 #11 0x000000000049f3ed in idDeclSkin::Parse (this=0x7ffed4034ad0, text=0x7fffb97ee290 "\n\nportrait_with_skull02_torn\n{\nmodel models/darkmod/decorative/wall/painting01.lwo\nmodel models/darkmod/decorative/wall/painting01_m.lwo\nmodel models/darkmod/decorative/wall/painting01_l.lwo\nmodel mod"..., textLength=404) at darkmod_src/framework/DeclSkin.cpp:78 #12 0x000000000049631d in idDeclLocal::ParseLocal (this=0x59f3e10) at darkmod_src/framework/DeclManager.cpp:2318 #13 0x000000000049263f in idDeclManagerLocal::FindType (this=0x16fdc00 <declManagerLocal>, type=DECL_SKIN, name=0x7ffed408bc6c "portrait_with_skull02_torn", makeDefault=true) at darkmod_src/framework/DeclManager.cpp:1235 #14 0x0000000000494382 in idDeclManagerLocal::FindSkin (this=0x16fdc00 <declManagerLocal>, name=0x7ffed408bc6c "portrait_with_skull02_torn", makeDefault=true) at darkmod_src/framework/DeclManager.cpp:1643 --Type <RET> for more, q to quit, c to continue without paging-- #15 0x000000000055a6bb in idEntity::Event_SetSkin (this=0x7ffed408d324, skinname=0x7ffed408bc6c "portrait_with_skull02_torn") at darkmod_src/game/Entity.cpp:7114 #16 0x0000000000987646 in idClass::ProcessEventArgPtr (this=0x7ffed408d324, ev=0x1f5ef00 <EV_SetSkin>, data=0x7fffb97ee600) at darkmod_src/game/gamesys/Callbacks.cpp:26 #17 0x0000000000a5a847 in idInterpreter::CallEvent (this=0x7ffed408b444, func=0x7ffff7961388, argsize=132) at darkmod_src/game/script/Script_Interpreter.cpp:817 #18 0x0000000000a5b1f7 in idInterpreter::Execute (this=0x7ffed408b444) at darkmod_src/game/script/Script_Interpreter.cpp:1091 #19 0x0000000000a6a0ce in idThread::Execute (this=0x7ffed408b414) at darkmod_src/game/script/Script_Thread.cpp:949 #20 0x0000000000561c23 in idEntity::FrobAction (this=0x16762504, frobMaster=true, isFrobPeerAction=false) at darkmod_src/game/Entity.cpp:9544 #21 0x000000000067d033 in idPlayer::PerformFrob (this=0x156bf4e4, impulseState=EPressed, target=0x16762504, allowUseCurrentInvItem=true) at darkmod_src/game/Player.cpp:11843 #22 0x000000000067d916 in idPlayer::PerformFrob (this=0x156bf4e4) at darkmod_src/game/Player.cpp:12047 #23 0x000000000066884c in idPlayer::PerformImpulse (this=0x156bf4e4, impulse=41) at darkmod_src/game/Player.cpp:5935 #24 0x00000000006696f4 in idPlayer::EvaluateControls (this=0x156bf4e4) at darkmod_src/game/Player.cpp:6347 #25 0x000000000066e72d in idPlayer::Think (this=0x156bf4e4) at darkmod_src/game/Player.cpp:7616 #26 0x00000000005ba9dd in idGameLocal::RunFrame (this=0x16b3a40 <gameLocal>, clientCmds=0x7fffb97eebe0, timestepMs=17, minorTic=false) at darkmod_src/game/Game_local.cpp:3397 #27 0x00000000004cac3c in idSessionLocal::RunGameTic (this=0x17055a0 <sessLocal>, timestepMs=17, minorTic=false) at darkmod_src/framework/Session.cpp:2997 #28 0x00000000004cb020 in idSessionLocal::RunGameTics (this=0x17055a0 <sessLocal>) at darkmod_src/framework/Session.cpp:3043 #29 0x00000000004cb291 in idSessionLocal::FrontendThreadFunction (this=0x17055a0 <sessLocal>) at darkmod_src/framework/Session.cpp:3104 #30 0x00000000004cb6bc in operator() (__closure=0x0, x=0x17055a0 <sessLocal>) at darkmod_src/framework/Session.cpp:3186 #31 0x00000000004cb6e4 in _FUN () at darkmod_src/framework/Session.cpp:3188 #32 0x00007ffff769caa4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447 #33 0x00007ffff7729c3c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 The main thread calls GLimp_SwapBuffers() at the same time: (gdb) thread 1 [Switching to thread 1 (Thread 0x7ffff7ccf4c0 (LWP 1220498))] #0 0x00007ffff771b4cd in __GI___poll (fds=0x7fffffffd4e8, nfds=1, timeout=1000) at ../sysdeps/unix/sysv/linux/poll.c:29 warning: 29 ../sysdeps/unix/sysv/linux/poll.c: No such file or directory (gdb) bt #0 0x00007ffff771b4cd in __GI___poll (fds=0x7fffffffd4e8, nfds=1, timeout=1000) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007fffd661d9df in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.570.124.04 #2 0x00007fffd6603b11 in ?? () from /lib/x86_64-linux-gnu/libnvidia-glcore.so.570.124.04 #3 0x00007ffff3f7a1ec in ?? () from /lib/x86_64-linux-gnu/libGLX_nvidia.so.0 #4 0x00007ffff3f48500 in ?? () from /lib/x86_64-linux-gnu/libGLX_nvidia.so.0 #5 0x0000000000d95c36 in GLimp_SwapBuffers () at darkmod_src/sys/linux/glimp.cpp:76 #6 0x0000000000bf4ba0 in RB_SwapBuffers () at darkmod_src/renderer/backend/tr_backend.cpp:608 #7 0x000000000074adf1 in R_IssueRenderCommands (frameData=0x1fb31a0 <smpFrameData+96>) at darkmod_src/renderer/RenderSystem.cpp:173 #8 0x000000000074c6e6 in idRenderSystemLocal::EndFrame (this=0x1fa7c60 <tr>, frontEndMsec=0x0, backEndMsec=0x0) at darkmod_src/renderer/RenderSystem.cpp:768 #9 0x00000000004c9cb9 in idSessionLocal::UpdateScreen (this=0x17055a0 <sessLocal>, outOfSequence=false) at darkmod_src/framework/Session.cpp:2716 #10 0x000000000047477f in idCommonLocal::Frame (this=0x16de8c0 <commonLocal>) at darkmod_src/framework/Common.cpp:2479 #11 0x0000000000d99481 in main (argc=1, argv=0x7fffffffdd68) at darkmod_src/sys/posix/platform_linux.cpp:490
  25. And some info can be found on this forum topics and wiki. Wiki article: https://wiki.thedarkmod.com/index.php?title=Parallax_mapping Topic: https://forums.thedarkmod.com/index.php?/topic/22574-experimental-support-of-parallax-mapping-in-213/
×
×
  • Create New...