Jump to content
The Dark Mod Forums

Search the Community

Showing results for '/tags/forums/pk4/'.

  • 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. Find attached to this post v0.5, a release candidate. Install instructions: Delete previous versions from your TDM folder Download the pk4 file Move the pk4 file to your TDM folder What's new: Code reorganization / improvements Added random squeaky sounds (small chance of happening) Known issues: I am unable to detect double doors therefore manipulating double doors remains a little noisy. I am unable to intercept the moment a door gets unlocked therefore unlocking locked doors remains a little noisy. Feedback appreciated. Just play a mission normally. If after a while you don't "feel anything" then it probably feels natural at that point. z_Thiefy_Doors_Mod_v0.5.pk4
  2. FONT NOTE: Starting with this test FM, to improve readability, the Carleton subtitle is compressed in width to 75% of its size in previous test FMs. The backing field is similarly reduced in width. These are implemented in the FM's custom-override guis/tdm_subtitles_common.gui. If desired, you may copy that file to previous test FMs to propagate the change. The subtitles for The Lady (aka Noblewoman) vocal set are now available: testSubtitlesLady.pk4 The wiki's "Vocal script: Lady" suggests these traits: As usual, the testing FM serves as the vehicle to provide these subtitles for eventual incorporation into TDM. Statistics In file fm_root.subs there are 243 "inline" subtitles, including: 37 with an explicit linebreak, intending 2 lines 206 without 17 of the inlines have explicit duration extensions, as follows: 11 from 0.25 to 0.49, for 17 cps presentation rate 6 capped at 0.50 seconds, for 17-20 cps none with more than 0.50 seconds There are 2 SRTs, each with 2 messages that respectively indicate start and end of singing/humming. No duration extension was needed, and none of the 4 messages contained a linebreak. In all, in this vocal set captioning, there are 245 voice clips with subtitles, showing 247 messages. Corresponding Excel File LadySubtitles.xlsx This is based on Version 5 of the Excel Template for TDM bark subtitles, which was also featured in the preceding work for Average Jack, The Pro, The Maiden, The Grumbler, and The Mature Builder.
  3. As suggested, here is a thread for the following status update chain: As I take it, we could possibly make some content protection setup for authors by using the encryption hooks in our zip libraries. To what degree we would cater to that is hard to say but I am on the side of making it easier for semi-pros or professionals to release TDM missions without fear of losing their assets to the community. That said, missions can include distribution clauses in the readme so you can still legally enforce your ownership of custom assets in your pk4 pack. Obviously we would need to carefully review the license terms if the mission author wanted us to include these non-free assets in the core mod but if their request is that only TDM can use the assets then that's no different than the many commercial texture assets we include that have non-commercial clauses that don't allow TDM to simply offer them as a Texture Pack (etc). Edit: Thread closed. See discussion here: http://forums.thedarkmod.com/topic/18924-securing-assets/
  4. Author note: It's hard to believe it's already been a year since Act 1 came out! Well during this mission the player will be following Corbin into the Grimwood district to followup on a lead from last night (Act 1) .. the mysterious tablet! This mission is my first time including full EFX support as well as a HD briefing video file, additionally a new script has been added crafted by the talented Obsttorte which has loot flying towards the player when you pick it up. On a level design front I have tried to change things up a bit by really catering towards a number of play styles, this mission can be completely ghosted or you can use the tools at your disposal to wreak havoc on the citizens of Northdale. For the first time I have tried to create more sandbox environments which don't offer clear answers handed directly to you, so if you're having trouble figuring something out try a different method. This mission takes between 1 - 2 hours to finish depending on the difficulty you play on and how thoroughly you explore. I hope you enjoy your night in Northdale! - Goldwell Voice actors Fen Phoenix Goldwell Random_taffer Yandros Beta testers Amadeus Boiler's Hiss Cambridge Spy Chakkman Crowind Epifire Kingsal SquadaFroinx Custom Assets Andreas Rocha DrK Epifire Grayman Kingsal MalachiAD Obsttorte Sotha Springheel SquadaFroinx Purgator With special thanks to Epifire for creating a large collection of custom models, Grayman for helping out with coding, Kingsal for drawing the ingame map and Moonbo for his script revision on the briefing video. Available via in-game downloader MIRROR File Size: 417 mb EDIT: If you are having performance issues please consult this post by Nbohr1more which may address your issue http://forums.thedarkmod.com/topic/19936-fan-mission-shadows-of-northdale-act-ii-by-goldwell-20190320/page-2?do=findComment&comment=436271
  5. By way of introduction, Penny Dreadful is a fan mission series dealing with the exploits and misfortunes of Gerald Foxley, lowlife and common opportunist. To stick with the theme of lurid and disreputable pulp literature, these missions were planned to be nasty, brutish and short, which sort of worked in PD1, was not entirely working in PD2, and went out the window with PD3, which ended up much bigger than I ever expected. The series also allows me to experiment with gameplay ideas which do not completely fit TDM standards: Foxley is slightly worse at stealth than the TDM baseline, and can't pick locks: you will need to find different ways of getting into places. In the first episode, The Grail of Regrets, what started out as a routine case of extortion ended with Gerald in the possession of the eponymous Grail. In the second, All the Way Up, these newfound fortunes proved to be shorter than anticipated, as Messer Montrose, a corrupt nobleman, and his ally, the local Bailiff conspired to rob Foxley of the prize to further their own ends. The Grail is now in the hands of Archibald Flint, a powerful crime boss ruling from a mansion on Fiddler's Hill, an infamous den of thieves. However, to get close to him, Foxley has to remove a few obstacles in the way... Erasing the Trail "Kill a man and take his life; wound him, and restore his pride." -- alleyway proverb. "In a city where every window is an eye and every doorway a whispering mouth, it is hard to keep a secret. When I learned of crime lord Archibald Flint's involvement in robbing me of the Grail of Regrets, I knew I'd have to strike quick, and strike first. But I failed. By the time I got near his place on Fiddler's Hill, every gate to his hilltop mansion was locked, every alley patrolled by thieves eager to kill. Two days later, I watched my tenement go up in smoke and flames. The hunt was on, and it wouldn't be over until they'd have their quarry dead or captured. Flint's main enforcer is a man named Grunt, known to communicate in written orders after his throat was cut in some altercation... a real bloodhound. I will have to deal with him one way or another to get the heat off of my back, and allow me to reach Flint himself... Flint is also looking for my dead body, and I'm planning to have it delivered right to his doorstep. Another underworld figure, Almsmaster Quandt, lives a few streets from Grunt's mansion, and he is said to be my spitting image, an uncanny resemblance. Wonder if Flint will recognise the difference... well, time to find out. Sometimes the only way to deal with a hornet's nest is to kick it over. This night, I am back in the middle of it. I have already run into a pair of sentinels, but I slipped into a small garden and jammed the lock behind me with a bit of wire. Hope they don't raise the whole neighbourhood, or this will be over real quick. Time to get moving." Download links: Mega (200 MB)mission downloader!***Performance warning***: as usual, this mission pushes the limits a bit (although less than PD2). The hardware requirements exceed the TDM baseline, and the loading time is fairly long. Optimalisation should be credited to Bikerdude, while the remaining problems are all mine. High-resolution player map (for printing, etc.): Notes: Erasing the Trail is intended to be an open-ended city exploration mission, where you can approach your objectives from multiple angles, and discover multiple solutions to complete them; some more straightforward, some more obscure.Gerald Foxley is a rank amateur who can't pick locks. You will have to find alternate means to break into places.There is no poll to rate the mission because I do not believe in them. Your comments are welcome in writing, however!You can find my concept art in the PK4 file. These images obviously contain heavy spoilers.This mission series predates, and is thus unrelated to the Penny Dreadful TV series. Special thanks: to our testers, Aluminumhaste, Kingsal, Nbohr1more, Oldjim, Skacky and Premier; gigagooga for several new ambient sounds, and sound conversions (Fabrice Hautecloque from Ishar III, tension loops from Golgo 13: the TV series);Yandros, Bikerdude and Goldchocobo for voice acting;epifire! for custom models;The Canon Texture project for texture work.
  6. The electronic keypad is something I've wanted for a long time, along with laser tripped alarms which are next on my TODO list. I'm happy to announce they're a feature I just finished as part of a futuristic campaign I began working on! The version included here is extracted into an individual pk4 for other mappers to use. I may improve mine over time like using a GUI for the screen, for now this is a simple but finished version which does exactly everything intended. It consists of the custom script and def, models created and exported from DR reusing existing sounds and textures (only text labels had to be created), as well as prefabs for model sources and quickly placing a keypad on your map (broken or unpowered versions included). The device is operated using 12 buttons forming a numeric keypad inspired by old mobile phones, stand close look at each key and frob to input: Give your keypad a "text" spawnarg to set a password (multiple codes supported), entities targeted via "trigger_on_success" will execute when the correct code was typed, you may also set "trigger_on_fail" spawnargs to trigger targets when a bad code was written. Existing input can be cancelled with * and must be confirmed using the # key at the end, once unlocked pressing any key will re-trigger targets and lock the device back up. One aspect I'm unhappy with: I couldn't find a way for the script to directly access the entity triggering it. Because of this I had to define an additional "atdm:target_callobjectfunction" targeted by buttons which itself targets the keypad. This is only an annoyance for sanity's sake as I hoped I'd only need the keypad entity and individual buttons, yet there's also a little yellow cube sticking around which every button has to go through. Let me know if you're aware of a way to work around this; I know the script can use sys.onSignal(SIG_TRIGGER, self, "foo::bar") to run a function when triggered, but there doesn't seem to be a way to access the entity doing the triggering which is required to know which button was pressed and get its symbol. Here's the initial version with a few screenshots of how it looks and works. Feel free to use them in your FM's and share the result here! I'd love to see missions where you need to find codes in readables and remember them to access places, even having to piece them together from different sources... remember you can also use short passwords which are typed like an SMS hence the letters on the keys, for example "abe" would be "11122" (a = 1, b = 11, e = 22) 0 acts as space though I wouldn't write long sentences as they can be annoying to type in. electronic_keypad_v1.0.pk4
  7. I've not seen this on the wiki or in the forums after a search, so I'm leaving it here in case anyone ever needs it for reference (ie, me, if I forget the password to my TDM notes blog). If I have missed anything, or put something in the wrong place, or misunderstood the function of any particular file or location or there's a better comment on file/function - please let me know so I can update the note. Thanks. ps, Biker - 12 pages?! are you using a CRT monitor at 640x480 on your 386sx to surf the web? Don't hate the player - hate the game [directory structure] ty for fixing the spoilers, tho.
    1. Tarhiel

      Tarhiel

      Awesome, congratulations!!! :o

    2. Bikerdude

      Bikerdude

      Yup, all the remianing bugs were ironed out, so it nigh on perfect now.

    3. AluminumHaste

      AluminumHaste

      version 2.1 is now uploaded to mirrors ready to download.

  8. Hello TDM-ers. I am encountering an issue where textures seem to partially disappear. I tried searching the forums, but, I don't know what to search for. The missing textures are a worldspawn brush acting as a roof with {for now} flat iron texture. There are other worldspawn brushes right below to create an attic ceiling with roof framework board texture. These gaps appeared a few edits ago. I can't "undo" to get back before whatever edit did this. The gaps are only visible during play and are not visible during editing. Closing and reopening DR and TDM do not fix anything. Some of the brushes overlap in areas behind the play area but I have never seen an issue doing that. The attached image has the effect I am now seeing. Ideas on where to start debugging this? Very much appreciated. Clint
  9. Hi guys, through the "cheats" topic I got the idea, that it would be quite useful, if there were tags for missions (the post was about removing the killing restriction in some missions to suit the prefered play style). I don't know how easy or difficult this is, but with them, it would be quite convenient to pick missions with playstyles, environment, etc one does want to use. This could also be expanded to other mission properties. I remember a discussion about climbable drains, handles on doors, that cannot be picked and other things the map author chooses for himself. That way these things would be clearer and as I said before, it is easier to choose missions with playstyles that suit oneself. What do think?
  10. (I apologize for the odd poll question layout. I wasn't able to add five yes-no questions, because polls are limited to three questions.) Hi everyone, I've recently been working on some patches for issues that I've read about from players on the TDM and TTLG forums — and Discord. My goal is to make it as easy as possible for players, especially new players and those who need usability/accessibility options, to find what they need in order to have a better TDM experience. I've already written the GUI and game engine code for these settings, which I've been using in my personal build. The reason for this poll and discussion is to both guide the finalization of my work and collect data to help inform the dev team. Which patches I submit depend on the outcome of this poll, discussion, and what the dev team agrees to accept. Once decided, I can coordinate with the dev team. I've attached screenshots of what the new settings menu would look like if all of the settings are accepted. Below, I have detailed each menu setting, so you can have an easier time understanding each one. Very important to keep in mind: None of these settings change TDM default behavior. They are all opt-in. If you are already happy with the behavior of 2.10, 2.11, etc. and these menu settings are accepted, nothing will change for you. Rename "Always Run" to "Run Mode" with options "None, Always, Toggle" After 2.11 was released, @i30817 requested that "toggle run" be added to the settings menu. Its cvar is already in TDM as "in_toggleRun" (same as Doom 3). I propose renaming the "Always Run" setting to "Run Mode" with options: "None", "Always", and "Toggle". None = in_alwaysRun 0; in_toggleRun 0 Always = in_alwaysRun 1; in_toggleRun 0 Toggle = in_alwaysRun 0; in_toggleRun 1 Show Blackjack Helper @Wellingtoncrab suggested that the new blackjack helper be added to the settings menu. Its cvar was added to 2.11 as "tdm_blackjack_indicate". More info: It's the new blackjack helper added to 2.11. When the game detects that the blackjack can be used for a successful hit or KO, the blackjack will rise slightly. I propose a "Yes/No" setting for this. Slider for "View: Head Bob" @ChronA requested a way to disable head bobbing, because a viewer watching him play was having severe motion sickness. Also, there was a bug in TDM that made setting the head bob in the console not stick after loading a saved game. (Even with 2.11, if a mission overrides the "tdm_player_thief.def" file and sets "pm_bobroll", "pm_bobpitch", "pm_bobup", and other cvars, it will override player preferences.) As far back as 2008, players have had trouble setting head bob. Another one from 2018. At the end of 2022, @Shadowex3 registered just to voice the need for a way to control head bob. I propose that a slider be added to adjust the amount of head bob. This would use a new "pm_headbob_mod" cvar with a value between 0.0 and 1.0 (default 1.0, no change). The "pm_headbob_mod" would be a multiplier for "pm_bobroll", "pm_bobpitch", and "pm_bobup". The advantage to this approach is that missions like Volta 2 and Hazard Pay would not need to adjust their "tdm_player_thief.def" files for head bob to work properly. And, the player can still adjust "pm_bobroll", "pm_bobpitch", and "pm_bobup" as they like. Slider for "View: Mantle Roll" This is similar to head bob for those who are sensitive to motion. Its cvar was added to 2.11 as "pm_mantle_roll_mod". A Thief player on Discord said, "2.11 will have a cvar to tune down the mantling animation at last." I propose that a slider be added for "pm_mantle_roll_mod". Auto-Search Bodies @Zaratul requested the "auto-search bodies" feature from Thief 1 & 2. Its cvar was added to 2.12 dev16783-10307 as "tdm_autosearch_bodies". I did a poll on the a Thief Discord server and roughly 20% of players there use the Thief auto-search bodies feature. I propose a menu setting for this, so that players coming from Thief 1 & 2 can easily find it.
  11. I was starting it using TheDarkMod.exe Checking the updater log there are a lot of errors Would it be best to uninstall the whole thing and start afresh This is an example from the log File D:\CD Games\Doom3\darkmod\fms\training_mission\training_mission.pk4 is matching version 1.02. File D:\CD Games\Doom3\darkmod\tdm_ai_animals01.pk4 has mismatching size, expected 1639065 but found 13880313. File D:\CD Games\Doom3\darkmod\tdm_ai_base01.pk4 has mismatching size, expected 22673 but found 23230. File D:\CD Games\Doom3\darkmod\tdm_ai_humanoid_builders01.pk4 has mismatching size, expected 27868994 but found 28421705. File D:\CD Games\Doom3\darkmod\tdm_ai_humanoid_guards01.pk4 has mismatching size, expected 43129852 but found 39784047. File D:\CD Games\Doom3\darkmod\tdm_ai_humanoid_heads01.pk4 has mismatching size, expected 3362879 but found 5180586. File D:\CD Games\Doom3\darkmod\tdm_ai_humanoid_nobles01.pk4 has mismatching size, expected 5159157 but found 9962246. File D:\CD Games\Doom3\darkmod\tdm_ai_humanoid_pagans01.pk4 has mismatching size, expected 3269086 but found 3269125. File D:\CD Games\Doom3\darkmod\tdm_ai_humanoid_townsfolk01.pk4 has mismatching size, expected 20717831 but found 26826656. File D:\CD Games\Doom3\darkmod\tdm_ai_humanoid_undead01.pk4 has mismatching size, expected 6145462 but found 6144609. File D:\CD Games\Doom3\darkmod\tdm_ai_monsters_spiders01.pk4 has mismatching size, expected 2063351 but found 8785828. File D:\CD Games\Doom3\darkmod\tdm_ai_steambots01.pk4 has mismatching size, expected 1585745 but found 1876676. File D:\CD Games\Doom3\darkmod\tdm_base01.pk4 has mismatching size, expected 401764 but found 617027. File D:\CD Games\Doom3\darkmod\tdm_defs01.pk4 has mismatching size, expected 198181 but found 242572. File D:\CD Games\Doom3\darkmod\tdm_env01.pk4 has mismatching size, expected 38867555 but found 40470258. File D:\CD Games\Doom3\darkmod\tdm_fonts01.pk4 has mismatching size, expected 1419558 but found 6608391. File D:\CD Games\Doom3\darkmod\tdm_game01.pk4 has mismatching size, expected 1838102 but found 2302328. File D:\CD Games\Doom3\darkmod\tdm_game02.pk4 has mismatching size, expected 3116498 but found 3683658. File D:\CD Games\Doom3\darkmod\tdm_gui01.pk4 has mismatching size, expected 26769764 but found 23960019. File D:\CD Games\Doom3\darkmod\tdm_gui_credits01.pk4 has mismatching size, expected 47326560 but found 47368235. File D:\CD Games\Doom3\darkmod\tdm_models01.pk4 has mismatching size, expected 36429226 but found 40117088. File D:\CD Games\Doom3\darkmod\tdm_models02.pk4 has mismatching size, expected 250527858 but found 280094264. File D:\CD Games\Doom3\darkmod\tdm_models03.pk4 is missing. File D:\CD Games\Doom3\darkmod\tdm_models_decls01.pk4 has mismatching size, expected 89647 but found 117691. File D:\CD Games\Doom3\darkmod\tdm_player01.pk4 has mismatching size, expected 4989801 but found 5689119. File D:\CD Games\Doom3\darkmod\tdm_prefabs01.pk4 has mismatching size, expected 678774 but found 1613791. File D:\CD Games\Doom3\darkmod\tdm_sound_ambient01.pk4 has mismatching size, expected 28904546 but found 31027355. File D:\CD Games\Doom3\darkmod\tdm_sound_ambient02.pk4 has mismatching size, expected 166911412 but found 168080004. File D:\CD Games\Doom3\darkmod\tdm_sound_ambient03.pk4 has mismatching size, expected 35229987 but found 32317944. File D:\CD Games\Doom3\darkmod\tdm_sound_ambient_decls01.pk4 has mismatching size, expected 7691 but found 8025. File D:\CD Games\Doom3\darkmod\tdm_sound_sfx01.pk4 has mismatching size, expected 7019043 but found 9052714. File D:\CD Games\Doom3\darkmod\tdm_sound_sfx02.pk4 has mismatching size, expected 8626862 but found 9658967. CRC calculated for zip file D:\CD Games\Doom3\darkmod\tdm_sound_vocals01.pk4 = 8a09de13 File D:\CD Games\Doom3\darkmod\tdm_sound_vocals01.pk4 is matching version 1.02. File D:\CD Games\Doom3\darkmod\tdm_sound_vocals02.pk4 has mismatching size, expected 67172110 but found 100292941. File D:\CD Games\Doom3\darkmod\tdm_sound_vocals03.pk4 has mismatching size, expected 46675832 but found 33770193. File D:\CD Games\Doom3\darkmod\tdm_sound_vocals04.pk4 has mismatching size, expected 76938115 but found 76804702. File D:\CD Games\Doom3\darkmod\tdm_sound_vocals05.pk4 has mismatching size, expected 5732980 but found 6723082. File D:\CD Games\Doom3\darkmod\tdm_sound_vocals06.pk4 has mismatching size, expected 25227313 but found 33710213. File D:\CD Games\Doom3\darkmod\tdm_sound_vocals_decls01.pk4 has mismatching size, expected 24457 but found 40800. File D:\CD Games\Doom3\darkmod\tdm_textures_base01.pk4 has mismatching size, expected 2796651 but found 5687449. File D:\CD Games\Doom3\darkmod\tdm_textures_carpet01.pk4 has mismatching size, expected 16976519 but found 12938314. File D:\CD Games\Doom3\darkmod\tdm_textures_decals01.pk4 has mismatching size, expected 21636342 but found 34133324. File D:\CD Games\Doom3\darkmod\tdm_textures_door01.pk4 has mismatching size, expected 38304257 but found 32981534. File D:\CD Games\Doom3\darkmod\tdm_textures_fabric01.pk4 has mismatching size, expected 27846708 but found 10613534. File D:\CD Games\Doom3\darkmod\tdm_textures_glass01.pk4 has mismatching size, expected 8832878 but found 8222276. File D:\CD Games\Doom3\darkmod\tdm_textures_metal01.pk4 has mismatching size, expected 68932873 but found 100091919. File D:\CD Games\Doom3\darkmod\tdm_textures_nature01.pk4 has mismatching size, expected 76641357 but found 81942206. File D:\CD Games\Doom3\darkmod\tdm_textures_nature02.pk4 is missing. File D:\CD Games\Doom3\darkmod\tdm_textures_paint_paper01.pk4 has mismatching size, expected 3601837 but found 2750286. File D:\CD Games\Doom3\darkmod\tdm_textures_plaster01.pk4 has mismatching size, expected 29599724 but found 29464795. File D:\CD Games\Doom3\darkmod\tdm_textures_roof01.pk4 has mismatching size, expected 23636097 but found 35490286. File D:\CD Games\Doom3\darkmod\tdm_textures_sfx01.pk4 has mismatching size, expected 2177146 but found 2070999. File D:\CD Games\Doom3\darkmod\tdm_textures_stone_brick01.pk4 has mismatching size, expected 122725937 but found 192861831. File D:\CD Games\Doom3\darkmod\tdm_textures_stone_cobblestones01.pk4 has mismatching size, expected 78866086 but found 98925246. File D:\CD Games\Doom3\darkmod\tdm_textures_stone_flat01.pk4 has mismatching size, expected 54715083 but found 72576293. File D:\CD Games\Doom3\darkmod\tdm_textures_stone_natural01.pk4 has mismatching size, expected 60795390 but found 60326145. File D:\CD Games\Doom3\darkmod\tdm_textures_stone_sculpted01.pk4 has mismatching size, expected 43597719 but found 108450860. File D:\CD Games\Doom3\darkmod\tdm_textures_window01.pk4 has mismatching size, expected 18100805 but found 31131541. File D:\CD Games\Doom3\darkmod\tdm_textures_wood01.pk4 has mismatching size, expected 77302839 but found 82925802. File D:\CD Games\Doom3\darkmod\tdm_textures_wood02.pk4 is missing. Ignoring updater executable: D:\CD Games\Doom3\darkmod\tdm_update.exe. File D:\CD Games\Doom3\darkmod\tdm_update.linux has mismatching size, expected 3753330 but found 1719849. File D:\CD Games\Doom3\darkmod\tdmlauncher.exe has mismatching size, expected 326656 but found 382464. File D:\CD Games\Doom3\darkmod\tdmlauncher.linux has mismatching size, expected 108656 but found 874674. Trying to match against version: 1.03 File D:\CD Games\Doom3\darkmod\AUTHORS.txt has mismatching size, expected 2702 but found 3246. File D:\CD Games\Doom3\darkmod\DoomConfig.cfg exists, local changes are allowed, skipping. CRC calculated for file D:\CD Games\Doom3\darkmod\LICENSE.txt = 28424ad0 File D:\CD Games\Doom3\darkmod\LICENSE.txt is matching version 1.03. CRC calculated for file D:\CD Games\Doom3\darkmod\TDM_icon.ico = d585a57f File D:\CD Games\Doom3\darkmod\TDM_icon.ico is matching version 1.03. CRC calculated for file D:\CD Games\Doom3\darkmod\config.spec = 0 File D:\CD Games\Doom3\darkmod\config.spec is matching version 1.03. File D:\CD Games\Doom3\darkmod\darkmod.ini has mismatching size, expected 767 but found 722. File D:\CD Games\Doom3\darkmod\description.txt has mismatching size, expected 43 but found 42.
  12. Awesome! Post is up! https://forums.thedarkmod.com/index.php?/topic/22200-beta-testing-the-house-of-delisle/#comment-487365 Thanks!
  13. Nope. Didn't install from AUR: [hyeron@Daemon darkmod]$ yaourt -Ss darkmod aur/doom3-darkmod 1.07-3 (Out of Date) (11) DOOM III mod based on the Thief series by Looking Glass Studios And as stated in the OP, I reinstalled from scratch once I saw the problems in game: [hyeron@Daemon darkmod]$ ls AUTHORS.txt tdm_player01.pk4 Darkmod.cfg tdm_prefabs01.pk4 Darkmod.log tdm_sound_ambient01.pk4 LICENSE.txt tdm_sound_ambient02.pk4 TDM_icon.ico tdm_sound_ambient03.pk4 TheDarkMod.exe tdm_sound_ambient_decls01.pk4 config.spec tdm_sound_sfx01.pk4 crc_info.txt tdm_sound_sfx02.pk4 currentfm.txt tdm_sound_vocals01.pk4 darkmod.ico tdm_sound_vocals02.pk4 darkmod.ini tdm_sound_vocals03.pk4 description.txt tdm_sound_vocals04.pk4 fms tdm_sound_vocals05.pk4 gamex86.so tdm_sound_vocals06.pk4 maps tdm_sound_vocals07.pk4 screenshots tdm_sound_vocals_decls01.pk4 tdm_ai_animals01.pk4 tdm_textures_base01.pk4 tdm_ai_base01.pk4 tdm_textures_carpet01.pk4 tdm_ai_humanoid_builders01.pk4 tdm_textures_decals01.pk4 tdm_ai_humanoid_females01.pk4 tdm_textures_door01.pk4 tdm_ai_humanoid_guards01.pk4 tdm_textures_fabric01.pk4 tdm_ai_humanoid_heads01.pk4 tdm_textures_glass01.pk4 tdm_ai_humanoid_mages01.pk4 tdm_textures_metal01.pk4 tdm_ai_humanoid_nobles01.pk4 tdm_textures_nature01.pk4 tdm_ai_humanoid_pagans01.pk4 tdm_textures_paint_paper01.pk4 tdm_ai_humanoid_townsfolk01.pk4 tdm_textures_plaster01.pk4 tdm_ai_humanoid_undead01.pk4 tdm_textures_roof01.pk4 tdm_ai_monsters_spiders01.pk4 tdm_textures_sfx01.pk4 tdm_ai_steambots01.pk4 tdm_textures_stone_brick01.pk4 tdm_base01.pk4 tdm_textures_stone_cobblestones01.pk4 tdm_defs01.pk4 tdm_textures_stone_flat01.pk4 tdm_env01.pk4 tdm_textures_stone_natural01.pk4 tdm_fonts01.pk4 tdm_textures_stone_sculpted01.pk4 tdm_game01.pk4 tdm_textures_window01.pk4 tdm_game02.pk4 tdm_textures_wood01.pk4 tdm_gui01.pk4 tdm_update.exe tdm_gui_credits01.pk4 tdm_update.linux tdm_mirrors.txt tdm_update.log tdm_models01.pk4 tdm_version_info.txt tdm_models02.pk4 thedarkmod.x86 tdm_models_decls01.pk4 Unless my goldfish memory's playing tricks on me, the only folders used for doom3 and TDM are /opt/doom3 and ~/.doom3 [hyeron@Daemon .doom3]$ pwd&&find -iname *upda* /home/hyeron/.doom3 ./darkmod/tdm_update.log ./darkmod/tdm_update.linux ./darkmod/tdm_update.exe [hyeron@Daemon .doom3]$ [hyeron@Daemon doom3]$ pwd&&find -iname *upda* /opt/doom3 [hyeron@Daemon doom3]$
  14. can somebody fix the mainpage of our site? http://forums.thedarkmod.com/topic/19469-new-layout-error/

    1. nbohr1more
    2. Springheel

      Springheel

      It's under construction at the moment.

       

  15. The subtitles for The Mature Builder (aka Builder 3) vocal set are now available: testSubstitlesMatureBuilder.pk4 The wiki's "Vocal script: Builder3" suggests these traits for this cleric: "strong, intimidating voice, determined; archaic language; patient, talks about servitude, orthodoxy." Compared to other builders, this one seems to enjoy quoting scripture more often and at more length. As usual, the testing FM serves as the vehicle to provide these subtitles for eventual incorporation into TDM. Statistics In file fm_root.subs there are 315 "inline" subtitless, categorized as: - 52 with an explicit linebreak, intending 2 lines - 263 without 3 of the inlines have explicit duration extensions, as follows: - 2 from 0.25 to 0.49, for 17 cps presentation rate - 1 capped at 0.50 seconds, for 17-20 cps - none with more than 0.50 seconds There are 9 SRTs, including: - 8 with 2 messages - 1 with 4 messages None of these were given a duration extension. Of the 20 total SRT messages, there are: - 12 with an explicit linebreak, intending 2 lines - 8 without In all, in this vocal set captioning, there are 324 voice clips with subtitles, showing 335 messages. Corresponding Excel File MatureBuilderSubtitles.xlsx This is based on Version 5 of the Excel Template for TDM bark subtitles, which was also featured in the preceding work for Average Jack, The Pro, The Maiden, and The Grumbler.
  16. Experimenting with TDM on Steam Link on Android. see topic http://forums.thedarkmod.com/topic/19432-tdm-on-steam-link-for-android/

    1. freyk

      freyk

      Did the TDM team removed D3's internal Joypad feature? (tdm works only with systemkey binders for joysicks)

    2. freyk

      freyk

      Thanks to shadrach, i got my joypad working in TDM on steam link!

  17. I'm trying to update to 1.0.3 on a linux box. It almost looks like the checksums on the server are wrong? [07:47]dormouse:~/.doom3$ ./tdm_update.linux TDM Updater v0.41 © 2009 by tels & greebo. Part of The Dark Mod (http://www.thedarkmod.com). base/gamex86.so found, checking existence of darkmod folder...found Changed working directory to darkmod/, continuing update process. 100% [========================================================================================== Analysing mirrors: done, found 5 servers. Fetching checksums from server... 100% [========================================================================================= done. Comparing checksums: fms/training_mission/training_mission.pk4 is ok. tdm_ai_animals01.pk4 is ok. tdm_ai_base01.pk4 is ok. tdm_ai_humanoid_builders01.pk4 is ok. tdm_ai_humanoid_females01.pk4 is ok. tdm_ai_humanoid_guards01.pk4 is ok. tdm_ai_humanoid_heads01.pk4 is ok. tdm_ai_humanoid_nobles01.pk4 is ok. tdm_ai_humanoid_pagans01.pk4 is ok. tdm_ai_humanoid_townsfolk01.pk4 is ok. tdm_ai_humanoid_undead01.pk4 is ok. tdm_ai_monsters_spiders01.pk4 is ok. tdm_ai_steambots01.pk4 is ok. tdm_base01.pk4 is ok. tdm_defs01.pk4 checksum mismatch, getting it. tdm_env01.pk4 is ok. tdm_fonts01.pk4 is ok. tdm_game01.pk4 is ok. tdm_game02.pk4 is ok. tdm_gui01.pk4 is ok. tdm_gui_credits01.pk4 is ok. tdm_models01.pk4 checksum mismatch, getting it. tdm_models02.pk4 is ok. tdm_models_decls01.pk4 is ok. tdm_player01.pk4 is ok. tdm_prefabs01.pk4 is ok. tdm_sound_ambient01.pk4 is ok. tdm_sound_ambient02.pk4 is ok. tdm_sound_ambient03.pk4 is ok. tdm_sound_ambient_decls01.pk4 is ok. tdm_sound_sfx01.pk4 checksum mismatch, getting it. tdm_sound_sfx02.pk4 is ok. tdm_sound_vocals01.pk4 is ok. tdm_sound_vocals02.pk4 is ok. tdm_sound_vocals03.pk4 is ok. tdm_sound_vocals04.pk4 is ok. tdm_sound_vocals05.pk4 is ok. tdm_sound_vocals06.pk4 is ok. tdm_sound_vocals07.pk4 is ok. tdm_sound_vocals_decls01.pk4 is ok. tdm_textures_base01.pk4 is ok. tdm_textures_carpet01.pk4 is ok. tdm_textures_decals01.pk4 is ok. tdm_textures_door01.pk4 is ok. tdm_textures_fabric01.pk4 is ok. tdm_textures_glass01.pk4 is ok. tdm_textures_metal01.pk4 is ok. tdm_textures_nature01.pk4 is ok. tdm_textures_paint_paper01.pk4 is ok. tdm_textures_plaster01.pk4 checksum mismatch, getting it. tdm_textures_roof01.pk4 is ok. tdm_textures_sfx01.pk4 is ok. tdm_textures_stone_brick01.pk4 is ok. tdm_textures_stone_cobblestones01.pk4 is ok. tdm_textures_stone_flat01.pk4 is ok. tdm_textures_stone_natural01.pk4 is ok. tdm_textures_stone_sculpted01.pk4 is ok. tdm_textures_window01.pk4 is ok. tdm_textures_wood01.pk4 is ok. AUTHORS.txt is ok. DoomConfig.cfg exists, skipping it. LICENSE.txt is ok. TDM_icon.ico is ok. config.spec checksum mismatch, getting tdm_shared_stuff.zip. tdm_update.linux checksum mismatch, getting tdm_update_linux.zip. tdm_update.exe checksum mismatch, getting tdm_update_win.zip. done, need to download 7 files. Getting tdm_defs01.pk4 from http://www.southquarter.com/ (1/7) 100% [=================================================================================================== tdm_defs01.pk4 Warning! Checksum mismatch after download, file is corrupt. Expected: fbfb07f but got 0fbfb07f. Trying next mirror. Getting tdm_defs01.pk4 from http://www.keepofmetalandgold.com/ (2/7) 100% [=================================================================================================== tdm_defs01.pk4 Warning! Checksum mismatch after download, file is corrupt. Expected: fbfb07f but got 0fbfb07f. Trying next mirror. Getting tdm_defs01.pk4 from http://roggen.jmnet.us/ (3/7) 100% [=================================================================================================== tdm_defs01.pk4 Warning! Checksum mismatch after download, file is corrupt. Expected: fbfb07f but got 0fbfb07f. Trying next mirror. Getting tdm_defs01.pk4 from http://www.fidcal.com/ (4/7) 100% [=================================================================================================== tdm_defs01.pk4 Warning! Checksum mismatch after download, file is corrupt. Expected: fbfb07f but got 0fbfb07f. Trying next mirror. Getting tdm_defs01.pk4 from http://www.shadowdarkkeep.com/ (5/7) 100% [=================================================================================================== tdm_defs01.pk4 Warning! Checksum mismatch after download, file is corrupt. Expected: fbfb07f but got 0fbfb07f. Trying next mirror. Getting tdm_models01.pk4 from http://www.fidcal.com/ (6/7) 81% [===================================================================================================
  18. id Studio did a poor job in defining its categorization of variable nomenclature, so in subsequent documentation and discussions there are divergent views (or just slop). In my series, I had to choose something, and went with what I thought would be clearest for the GUI programmer: Properties, which are either Registers (like true variables) Non-registers (like tags) User Variables (also true variables) I see that your view is more along these lines (which perhaps reflects C++ internals?): Flags (like my non-registers) Properties, which are either Built-in (like my registers) Custom (like user Variables) Also, elsewhere, you refer to "registers" as temporaries. I am willing to consider that there could be temporary registers during expression evaluation, but by my interpretation those would be in addition to named property registers. I'm not sure where to go next with this particular aspect, but at least can state it.
  19. As far as your question 2 is concerned: I can neither look at fidcal, not at taakis server. However I see the following on southquarter, which did not make it into the mirrors list ever. But I can't tell you WHY they never got added there. http://www.southquarter.com/tdm/fms/ alchemist_l10n.pk4 antr_l10n.pk4 betrayal_l10n.pk4 blackbog_l10n.pk4 claw_l10n.pk4 closemouthed_shadows_l10n.pk4 fauchard_l10n.pk4 flakebridge_l10n.pk4 glenham_tower_l10n.pk4 holetower_l10n.pk4 kneipe24_l10n.pk4 (should read sneak_destroy_l10n.pk4 by noe ?) knighton_manor_l10n.pk4 living_expenses_l10n.pk4 lockdown1_2_1_l10n.pk4 madmountain_l10n.pk4 mandrasola_l10n.pk4 outpost_l10n.pk4 pandoras_box_l10n.pk4 parcel_l10n.pk4 patently_dangerous_l10n.pk4 phrase_book_l10n.pk4 rake_off_l10n.pk4 remembrance_l10n.pk4 ReturnToTheCityV2_l10n.pk4 rift_l10n.pk4 rightful_l10n.pk4 samhain_l10n.pk4 siegeshop_l10n.pk4 somewhere1.1_l10n.pk4 sons_of_baltona_1_l10n.pk4 stalban_l10n.pk4 storm_l10n.pk4 swing_v1_2_l10n.pk4 thecreeps_l10n.pk4 thiefs_den_l10n.pk4 training_mission_l10n.pk4 transaction_l10n.pk4 vfat1_l10n.pk4 winterharvest_l10n.pk4
  20. I waited a few mins then tried it again. Hope this helps. Double checked the path and the texture is there. DOOM 1.3.1.1304 win-x86 Jan 16 2007 15:36:51 2999 MHz Intel CPU with MMX & SSE & SSE2 & SSE3 & HTT 1024 MB System Memory 512 MB Video Memory Winsock Initialized Found interface: {4DC414A2-0764-405C-99FC-B6621E9155B0} Realtek RTL8139/810x F amily Fast Ethernet NIC - 68.119.228.103/255.255.248.0 Sys_InitNetworking: adding loopback interface doom using MMX & SSE & SSE2 & SSE3 for SIMD processing enabled Flush-To-Zero mode enabled Denormals-Are-Zero mode ------ Initializing File System ------ Loaded pk4 C:\Program Files\DOOM 3\base\game00.pk4 with checksum 0xf07eb555 Loaded pk4 C:\Program Files\DOOM 3\base\game01.pk4 with checksum 0x51c6981f Loaded pk4 C:\Program Files\DOOM 3\base\game02.pk4 with checksum 0xf3ec6f7 Loaded pk4 C:\Program Files\DOOM 3\base\game03.pk4 with checksum 0x5d4230ea Loaded pk4 C:\Program Files\DOOM 3\base\pak000.pk4 with checksum 0x28d208f1 Loaded pk4 C:\Program Files\DOOM 3\base\pak001.pk4 with checksum 0x40244be0 Loaded pk4 C:\Program Files\DOOM 3\base\pak002.pk4 with checksum 0xc51ecdcd Loaded pk4 C:\Program Files\DOOM 3\base\pak003.pk4 with checksum 0xcd79d028 Loaded pk4 C:\Program Files\DOOM 3\base\pak004.pk4 with checksum 0x765e4f8b Loaded pk4 C:\Program Files\DOOM 3\base\pak005.pk4 with checksum 0x8ffc3621 Loaded pk4 C:\Program Files\DOOM 3\base\pak006.pk4 with checksum 0x95b65ab Loaded pk4 C:\Program Files\DOOM 3\base\pak007.pk4 with checksum 0x666bdb3c Loaded pk4 C:\Program Files\DOOM 3\base\pak008.pk4 with checksum 0x23ae5993 Current search path: C:\Program Files\DOOM 3/base C:\Program Files\DOOM 3\base\pak008.pk4 (3 files) C:\Program Files\DOOM 3\base\pak007.pk4 (38 files) C:\Program Files\DOOM 3\base\pak006.pk4 (48 files) C:\Program Files\DOOM 3\base\pak005.pk4 (63 files) C:\Program Files\DOOM 3\base\pak004.pk4 (5137 files) C:\Program Files\DOOM 3\base\pak003.pk4 (4676 files) C:\Program Files\DOOM 3\base\pak002.pk4 (6120 files) C:\Program Files\DOOM 3\base\pak001.pk4 (8972 files) C:\Program Files\DOOM 3\base\pak000.pk4 (2698 files) C:\Program Files\DOOM 3\base\game03.pk4 (2 files) C:\Program Files\DOOM 3\base\game02.pk4 (2 files) C:\Program Files\DOOM 3\base\game01.pk4 (2 files) C:\Program Files\DOOM 3\base\game00.pk4 (2 files) game DLL: 0x0 in pak: 0x0 Addon pk4s: file system initialized. -------------------------------------- ----- Initializing Decls ----- ------------------------------ ------- Initializing renderSystem -------- using ARB renderSystem renderSystem initialized. -------------------------------------- 5206 strings read from strings/english.lang Couldn't open journal files execing editor.cfg execing default.cfg execing DoomConfig.cfg couldn't exec autoexec.cfg 5206 strings read from strings/english.lang ----- Initializing Sound System ------ sound system initialized. -------------------------------------- ----- R_InitOpenGL ----- Initializing OpenGL subsystem ...registered window class ...registered fake window class ...initializing QGL ...calling LoadLibrary( 'opengl32' ): succeeded ...calling CDS: ok ...created window @ 0,0 (1024x768) Initializing OpenGL driver ...getting DC: succeeded ...PIXELFORMAT 10 selected ...creating GL context: succeeded ...making context current: succeeded ------- Input Initialization ------- Initializing DirectInput... mouse: DirectInput initialized. keyboard: DirectInput initialized. ------------------------------------ sound: STEREO ...using GL_ARB_multitexture ...using GL_ARB_texture_env_combine ...using GL_ARB_texture_cube_map ...using GL_ARB_texture_env_dot3 ...using GL_ARB_texture_env_add ...using GL_ARB_texture_non_power_of_two ...using GL_ARB_texture_compression ...using GL_EXT_texture_compression_s3tc ...using GL_EXT_texture_filter_anisotropic maxTextureAnisotropy: 16.000000 ...using GL_1.4_texture_lod_bias X..GL_EXT_shared_texture_palette not found ...using GL_EXT_texture3D ...using GL_EXT_stencil_wrap ...using GL_NV_register_combiners ...using GL_EXT_stencil_two_side X..GL_ATI_fragment_shader not found X..GL_ATI_text_fragment_shader not found ...using GL_ARB_vertex_buffer_object ...using GL_ARB_vertex_program ...using GL_ARB_fragment_program ...using EXT_depth_bounds_test ---------- R_NV20_Init ---------- --------------------------------- ----------- R200_Init ----------- Not available. ---------- R_ARB2_Init ---------- Available. --------------------------------- ----- R_ReloadARBPrograms ----- glprogs/test.vfp glprogs/test.vfp glprogs/interaction.vfp glprogs/interaction.vfp glprogs/bumpyEnvironment.vfp glprogs/bumpyEnvironment.vfp glprogs/ambientLight.vfp glprogs/ambientLight.vfp glprogs/shadow.vp glprogs/R200_interaction.vp glprogs/nv20_bumpAndLight.vp glprogs/nv20_diffuseColor.vp glprogs/nv20_specularColor.vp glprogs/nv20_diffuseAndSpecularColor.vp glprogs/environment.vfp glprogs/environment.vfp glprogs/arbVP_glasswarp.txt: File not found glprogs/arbFP_glasswarp.txt: File not found ------------------------------- using ARB_vertex_buffer_object memory using ARB2 renderSystem found DLL in pak file: C:\Program Files\DOOM 3\base\game03.pk4/gamex86.dll copy gamex86.dll to C:\Program Files\DOOM 3\base\gamex86.dll game using MMX & SSE & SSE2 & SSE3 for SIMD processing enabled Flush-To-Zero mode enabled Denormals-Are-Zero mode --------- Initializing Game ---------- gamename: baseDOOM-1 gamedate: Jan 16 2007 Initializing event system ...473 event definitions Initializing class hierarchy ...142 classes, 191092 bytes for event callbacks Initializing scripts Compiled 'interpolateShaderParm': 1565.8 ms ---------- Compile stats ---------- Memory usage: Strings: 79, 9648 bytes Statements: 67875, 1357500 bytes Functions: 2109, 250532 bytes Variables: 147376 bytes Mem used: 2476344 bytes Static data: 2277552 bytes Allocated: 3281600 bytes Thread size: 7068 bytes ...6 aas types game initialized. -------------------------------------- -------- Initializing Session -------- WARNING: idChoiceWindow::InitVars: gui 'guis/mainmenu.gui' window 'SNDBPrimary ' references undefined cvar 's_driver' session initialized -------------------------------------- --- Common Initialization Complete --- ------------- Warnings --------------- during DOOM 3 initialization... WARNING: idChoiceWindow::InitVars: gui 'guis/mainmenu.gui' window 'SNDBPrimary ' references undefined cvar 's_driver' 1 warnings guid set to qNdGbBZc//c ============= ReloadEngine start ============= --------- Game Map Shutdown ---------- -------------------------------------- Shutting down sound hardware idRenderSystem::Shutdown() Shutting down OpenGL subsystem ...wglMakeCurrent( NULL, NULL ): success ...deleting GL context: success ...releasing DC: success ...destroying window ...resetting display ...shutting down QGL ...unloading OpenGL DLL ------------ Game Shutdown ----------- --------- Game Map Shutdown ---------- -------------------------------------- Shutdown event system -------------------------------------- ------ Initializing File System ------ Loaded pk4 C:\Program Files\DOOM 3\base\game00.pk4 with checksum 0xf07eb555 Loaded pk4 C:\Program Files\DOOM 3\base\game01.pk4 with checksum 0x51c6981f Loaded pk4 C:\Program Files\DOOM 3\base\game02.pk4 with checksum 0xf3ec6f7 Loaded pk4 C:\Program Files\DOOM 3\base\game03.pk4 with checksum 0x5d4230ea Loaded pk4 C:\Program Files\DOOM 3\base\pak000.pk4 with checksum 0x28d208f1 Loaded pk4 C:\Program Files\DOOM 3\base\pak001.pk4 with checksum 0x40244be0 Loaded pk4 C:\Program Files\DOOM 3\base\pak002.pk4 with checksum 0xc51ecdcd Loaded pk4 C:\Program Files\DOOM 3\base\pak003.pk4 with checksum 0xcd79d028 Loaded pk4 C:\Program Files\DOOM 3\base\pak004.pk4 with checksum 0x765e4f8b Loaded pk4 C:\Program Files\DOOM 3\base\pak005.pk4 with checksum 0x8ffc3621 Loaded pk4 C:\Program Files\DOOM 3\base\pak006.pk4 with checksum 0x95b65ab Loaded pk4 C:\Program Files\DOOM 3\base\pak007.pk4 with checksum 0x666bdb3c Loaded pk4 C:\Program Files\DOOM 3\base\pak008.pk4 with checksum 0x23ae5993 Loaded pk4 C:\Program Files\DOOM 3\thiefs_den\darkmod.pk4 with checksum 0xae7f 9fe1 Loaded pk4 C:\Program Files\DOOM 3\thiefs_den\game01-base.pk4 with checksum 0x d29e6284 Loaded pk4 C:\Program Files\DOOM 3\thiefs_den\thiefs_den.pk4 with checksum 0xb 87d41de Current search path: C:\Program Files\DOOM 3/thiefs_den C:\Program Files\DOOM 3\thiefs_den\thiefs_den.pk4 (44 files) C:\Program Files\DOOM 3\thiefs_den\game01-base.pk4 (2 files) C:\Program Files\DOOM 3\thiefs_den\darkmod.pk4 (2 files) C:\Program Files\DOOM 3/base C:\Program Files\DOOM 3\base\pak008.pk4 (3 files) C:\Program Files\DOOM 3\base\pak007.pk4 (38 files) C:\Program Files\DOOM 3\base\pak006.pk4 (48 files) C:\Program Files\DOOM 3\base\pak005.pk4 (63 files) C:\Program Files\DOOM 3\base\pak004.pk4 (5137 files) C:\Program Files\DOOM 3\base\pak003.pk4 (4676 files) C:\Program Files\DOOM 3\base\pak002.pk4 (6120 files) C:\Program Files\DOOM 3\base\pak001.pk4 (8972 files) C:\Program Files\DOOM 3\base\pak000.pk4 (2698 files) C:\Program Files\DOOM 3\base\game03.pk4 (2 files) C:\Program Files\DOOM 3\base\game02.pk4 (2 files) C:\Program Files\DOOM 3\base\game01.pk4 (2 files) C:\Program Files\DOOM 3\base\game00.pk4 (2 files) game DLL: 0x0 in pak: 0x0 Addon pk4s: file system initialized. -------------------------------------- background thread already running ----- Initializing Decls ----- ------------------------------ ------- Initializing renderSystem -------- renderSystem initialized. -------------------------------------- 5166 strings read from strings/english.lang Couldn't open journal files execing editor.cfg execing default.cfg execing DoomConfig.cfg couldn't exec autoexec.cfg 5166 strings read from strings/english.lang ----- Initializing Sound System ------ sound system initialized. -------------------------------------- ----- R_InitOpenGL ----- Initializing OpenGL subsystem ...initializing QGL ...calling LoadLibrary( 'opengl32' ): succeeded ...calling CDS: ok ...created window @ 0,0 (1024x768) Initializing OpenGL driver ...getting DC: succeeded ...PIXELFORMAT 10 selected ...creating GL context: succeeded ...making context current: succeeded ------- Input Initialization ------- Initializing DirectInput... mouse: DirectInput initialized. keyboard: DirectInput initialized. ------------------------------------ sound: STEREO ...using GL_ARB_multitexture ...using GL_ARB_texture_env_combine ...using GL_ARB_texture_cube_map ...using GL_ARB_texture_env_dot3 ...using GL_ARB_texture_env_add ...using GL_ARB_texture_non_power_of_two ...using GL_ARB_texture_compression ...using GL_EXT_texture_compression_s3tc ...using GL_EXT_texture_filter_anisotropic maxTextureAnisotropy: 16.000000 ...using GL_1.4_texture_lod_bias X..GL_EXT_shared_texture_palette not found ...using GL_EXT_texture3D ...using GL_EXT_stencil_wrap ...using GL_NV_register_combiners ...using GL_EXT_stencil_two_side X..GL_ATI_fragment_shader not found X..GL_ATI_text_fragment_shader not found ...using GL_ARB_vertex_buffer_object ...using GL_ARB_vertex_program ...using GL_ARB_fragment_program ...using EXT_depth_bounds_test ---------- R_NV20_Init ---------- --------------------------------- ----------- R200_Init ----------- Not available. ---------- R_ARB2_Init ---------- Available. --------------------------------- ----- R_ReloadARBPrograms ----- glprogs/test.vfp glprogs/test.vfp glprogs/interaction.vfp glprogs/interaction.vfp glprogs/bumpyEnvironment.vfp glprogs/bumpyEnvironment.vfp glprogs/ambientLight.vfp glprogs/ambientLight.vfp glprogs/shadow.vp glprogs/R200_interaction.vp glprogs/nv20_bumpAndLight.vp glprogs/nv20_diffuseColor.vp glprogs/nv20_specularColor.vp glprogs/nv20_diffuseAndSpecularColor.vp glprogs/environment.vfp glprogs/environment.vfp glprogs/arbVP_glasswarp.txt: File not found glprogs/arbFP_glasswarp.txt: File not found ------------------------------- using ARB_vertex_buffer_object memory using ARB2 renderSystem found DLL in pak file: C:\Program Files\DOOM 3\thiefs_den\darkmod.pk4/gamex86. dll copy gamex86.dll to C:\Program Files\DOOM 3\thiefs_den\gamex86.dll WARNING: CVar 'pm_crouchviewheight' declared multiple times with different ini tial value WARNING: CVar 'pm_usecylinder' declared multiple times with different initial value WARNING: CVar 'pm_walkspeed' declared multiple times with different initial va lue WARNING: CVar 'gamedate' declared multiple times with different initial value WARNING: CVar 'g_version' declared multiple times with different initial value game using MMX & SSE & SSE2 & SSE3 for SIMD processing enabled Flush-To-Zero mode enabled Denormals-Are-Zero mode --------- Initializing Game ---------- gamename: baseDOOM-1 gamedate: Jan 17 2008 Initializing event system ...700 event definitions Initializing class hierarchy ...160 classes, 313600 bytes for event callbacks Initializing scripts Compiled 'weapon_base::ExitCinematic': 323.8 ms ---------- Compile stats ---------- Memory usage: Strings: 38, 4880 bytes Statements: 24183, 483660 bytes Functions: 1192, 125472 bytes Variables: 81980 bytes Mem used: 1199856 bytes Static data: 2277552 bytes Allocated: 2827252 bytes Thread size: 7068 bytes ...8 aas types game initialized. -------------------------------------- Parsing material files ------------ RCF Server started ----------- -------- Initializing Session -------- WARNING: Couldn't load sound 'sound.wav' using default session initialized -------------------------------------- ============= ReloadEngine end =============== WARNING: Unknown string id #str_07186 WARNING: Unknown string id #str_07186 ]dmap jjmodeltest ---- dmap ---- --- LoadDMapFile --- loading maps/jjmodeltest 6 total world brushes 0 total world triSurfs 0 patches 4 entities 38 planes 0 areaportals size: -416, -448, -416 to 416, 512, 448 ############### entity 0 ############### --- FaceBSP --- 36 faces 80 leafs 0.0 seconds faceBsp ----- MakeTreePortals ----- ----- FilterBrushesIntoTree ----- 6 total brushes 24 cluster references --- FloodEntities --- 8 flooded leafs --- FillOutside --- 24 solid leafs 48 leafs filled 8 inside leafs ----- ClipSidesByTree ----- --- FloodAreas --- area 0 has 8 leafs 1 areas ----- PutPrimitivesInAreas ----- ----- BuildLightShadows ----- ----- CreateLightShadow 05BDBCD0 ----- 0.0 seconds for BuildLightShadows ----- OptimizeEntity ----- ----- OptimizeAreaGroups Results ----- 48 tris in 12 tris after edge removal optimization 12 tris after final t junction fixing ----- FixGlobalTjunctions ----- ############### entity 2 ############### --- FaceBSP --- 6 faces 20 leafs 0.0 seconds faceBsp ----- MakeTreePortals ----- ----- FilterBrushesIntoTree ----- 1 total brushes 4 cluster references ----- ClipSidesByTree ----- --- FloodAreas --- area 0 has 16 leafs 1 areas ----- PutPrimitivesInAreas ----- ----- OptimizeEntity ----- ----- OptimizeAreaGroups Results ----- 32 tris in 12 tris after edge removal optimization 12 tris after final t junction fixing ----- FixGlobalTjunctions ----- ----- WriteOutputFile ----- writing maps/jjmodeltest.proc 0 total shadow triangles 0 total shadow verts ----------------------- 1 seconds for dmap --------- Game Map Shutdown ---------- -------------------------------------- WARNING: Unknown string id #str_07186 WARNING: Unknown string id #str_07186 collision data: 2 models 44 vertices (1 KB) 82 edges (2 KB) 38 polygons (2 KB) 7 brushes (0 KB) 4 nodes (0 KB) 38 polygon refs (0 KB) 7 brush refs (0 KB) 24 internal edges 0 sharp edges 0 contained polygons removed 0 polygons merged 8 KB total memory used 1 msec to load collision data. ------------------------------------- 0 seconds to create collision map no entities in map that use aas48 ======================================== =============== no entities in map that use aas96 ======================================== =============== no entities in map that use aas_guardian ======================================== =============== no entities in map that use aas_mancubus ======================================== =============== no entities in map that use aas_sabaoth ======================================== =============== no entities in map that use aas_cyberdemon ======================================== =============== no entities in map that use aas32 ======================================== =============== no entities in map that use aas100 ]map jjmodeltest WARNING: Unknown string id #str_07191 guid set to qNdGbBZc//c --------- Game Map Shutdown ---------- -------------------------------------- reloading guis/mainmenu.gui. reloading guis/restart.gui. reloading guis/gameover.gui. reloading guis/msg.gui. reloading guis/takeNotes.gui. reloading guis/intro.gui. reloading guis/netmenu.gui. --------- Map Initialization --------- Map: jjmodeltest ----------- Game Map Init ------------ collision data: 2 models 44 vertices (1 KB) 82 edges (2 KB) 38 polygons (2 KB) 7 brushes (0 KB) 4 nodes (0 KB) 38 polygon refs (0 KB) 7 brush refs (0 KB) 24 internal edges 0 sharp edges 0 contained polygons removed 0 polygons merged 8 KB total memory used 1 msec to load collision data. map bounds are (832.0, 960.0, 864.0) max clip sector is (52.0, 60.0, 54.0) 0 bytes passage memory used to build PVS 0 msec to calculate PVS 1 areas 0 portals 0 areas visible on average 4 bytes PVS data [Load AAS] loading maps/jjmodeltest.aas48 [Load AAS] loading maps/jjmodeltest.aas96 [Load AAS] loading maps/jjmodeltest.aas_guardian [Load AAS] loading maps/jjmodeltest.aas_mancubus [Load AAS] loading maps/jjmodeltest.aas_sabaoth [Load AAS] loading maps/jjmodeltest.aas_cyberdemon [Load AAS] loading maps/jjmodeltest.aas32 [Load AAS] loading maps/jjmodeltest.aas100 Entering doom_main() Exiting doom_main() Spawning entities loaded collision model models/darkmod/dungeon/j_dngn_crss_01a.lwo ...5 entities spawned, 0 inhibited ==== Processing events ==== WARNING: idChoiceWindow:: gui 'guis/mpmain.gui' window 'OS6Primary' has value count unequal to choices count WARNING: idChoiceWindow:: gui 'guis/mpmain.gui' window 'EAXPrimary' has value count unequal to choices count WARNING: idChoiceWindow::InitVars: gui 'guis/mpmain.gui' window 'SNDBPrimary' references undefined cvar 's_driver' -------------------------------------- SpawnPlayer: 0 WARNING: Couldn't load sound 'sound/sfx/bubbles1.ogg' using default WARNING: Couldn't load sound 'sound/sfx/bubbles2.ogg' using default WARNING: Couldn't load sound 'sound/sfx/bubbles3.ogg' using default WARNING: Couldn't load sound 'sound/sfx/bubbles11.ogg' using default WARNING: Couldn't load sound 'sound/sfx/bubbles12.ogg' using default WARNING: Couldn't load sound 'sound/sfx/bubbles13.ogg' using default WARNING: Couldn't load sound 'sound/sfx/tools/misc/pagan_orb_return1.ogg' usin g default WARNING: Couldn't load sound 'sound/sfx/movement/footsteps/human_snow01.ogg' u sing default WARNING: Couldn't load sound 'sound/sfx/movement/footsteps/human_snow02.ogg' u sing default WARNING: Couldn't load sound 'sound/sfx/movement/footsteps/human_snow03.ogg' u sing default WARNING: Couldn't load sound 'sound/sfx/movement/footsteps/human_snow04.ogg' u sing default glprogs/heatHaze.vfp glprogs/heatHaze.vfp glprogs/heatHazeWithMask.vfp glprogs/heatHazeWithMask.vfp removed 12 degenerate triangles WARNING: Couldn't load sound 'sound/ambient/ambience/underwater.ogg' using def ault WARNING: Couldn't load gui: 'guis/underwater.gui' ----- idRenderModelManagerLocal::EndLevelLoad ----- 0 models purged from previous level, 28 models kept. --------------------------------------------------- ----- idImageManager::EndLevelLoad ----- WARNING: Couldn't load image: textures/darkmod/decals/vegetation/tropical_broa dleaf WARNING: Couldn't load image: itemhighlightshell 0 purged from previous 176 kept from previous 217 new loaded all images loaded in 9.2 seconds ---------------------------------------- ----- idSoundCache::EndLevelLoad ----- 2543k referenced 3805k purged ---------------------------------------- sound: missing efxs/jjmodeltest.efx ----------------------------------- 10781 msec to load jjmodeltest idRenderWorld::GenerateAllInteractions, msec = 0, staticAllocCount = 0. interactionTable size: 42824 bytes 6 interaction take 672 bytes ------------- Warnings --------------- during jjmodeltest... WARNING: Couldn't load gui: 'guis/underwater.gui' WARNING: Couldn't load image: itemhighlightshell WARNING: Couldn't load image: textures/darkmod/decals/vegetation/tropical_broa dleaf WARNING: Couldn't load sound 'sound/ambient/ambience/underwater.ogg' using def ault WARNING: Couldn't load sound 'sound/sfx/bubbles1.ogg' using default WARNING: Couldn't load sound 'sound/sfx/bubbles11.ogg' using default WARNING: Couldn't load sound 'sound/sfx/bubbles12.ogg' using default WARNING: Couldn't load sound 'sound/sfx/bubbles13.ogg' using default WARNING: Couldn't load sound 'sound/sfx/bubbles2.ogg' using default WARNING: Couldn't load sound 'sound/sfx/bubbles3.ogg' using default WARNING: Couldn't load sound 'sound/sfx/movement/footsteps/human_snow01.ogg' u sing default WARNING: Couldn't load sound 'sound/sfx/movement/footsteps/human_snow02.ogg' u sing default WARNING: Couldn't load sound 'sound/sfx/movement/footsteps/human_snow03.ogg' u sing default WARNING: Couldn't load sound 'sound/sfx/movement/footsteps/human_snow04.ogg' u sing default WARNING: Couldn't load sound 'sound/sfx/tools/misc/pagan_orb_return1.ogg' usin g default WARNING: idChoiceWindow:: gui 'guis/mpmain.gui' window 'EAXPrimary' has value count unequal to choices count WARNING: idChoiceWindow:: gui 'guis/mpmain.gui' window 'OS6Primary' has value count unequal to choices count WARNING: idChoiceWindow::InitVars: gui 'guis/mpmain.gui' window 'SNDBPrimary' references undefined cvar 's_driver' 18 warnings ]condump testmodel02 Dumped console text to testmodel02.txt.
  21. I just built a tiny command-line program, "buildSubtitleShaders.exe", to expedite creation of the specialized sound shaders needed by my testSubtitles.... You point the program at a directory of .oggs, and its spits out the completed .sndshd file. Basically, it does what datiswous (and similarly, me) did in Excel earlier, as shown above. I've used it to now generate The Lord sound shaders. Details - This was a rather trivial VS 2020/C++ 17 console program. The only minor complexity was in programmatically truncating the directory path down to what TDM wants, namely, a path starting with "sound/..." There's some sanity-checking to make sure the path provided (either implicitly or explicitly) is of TDM-compliant-form. This runs under Win11; because of file path issues, it might need to be tweaked to work right under Linux. To use with stock tdm-distributed sounds, you would point it at an unzipped .pk4 directory of interest, and generate the needed file. At run (i.e., testing) time, because of the truncated directory path, it works fine against the usual zipped .pk4, like every other sound shader. At some point I'll probably post source to github. Going on now to try to build a similar program to gather sound file durations, for import into Excel as a csv file. Will be trickier.
  22. In the beta-testing forum, 'Baal' reported TDM 2.05-beta crashing under Linux. This is my report on the investigation of that problem, with suggested fixes and work-arounds. TLDR: Believe it or not, this all comes down to a bunch of bad timestamps in some zip files! Three of the four 'tdm_update_2.0{0-3}_to_2.0{1-4}.zip' files used to update TDM from a "base" 2.00 installation to version 2.04 have illegal timestamps on several of the files within the zip file! These need to be fixed and the mirrors need to update before this problem will start to go away. Also, this problem may linger, semi-dormant, for any Linux users who have already updated their TDM installation using any of the 3 bad files (or for any Linux 2.05-beta testers since that update file is affected too). But the back-story is far more involved, so for those interested, please read on.... Details: This gets a bit hairy, so bear with me, folks! Baal had helpfully reported both the output of the debugger after a crash and several missions for which the crash occurred. Using that information, I was able to easily duplicate the crashing. (The simpler missions that I had been testing with prior to that time did not exhibit the sort of crashes that Baal was seeing.) Running the same missions as Baal, I was greeted with the exact same sort of crashing (under 32-bit Slackware 14.2 Linux in my case). With taaaki having granted me access to the 2.05-beta source code, I was able to track this down more precisely by building a proper 'debug' build. Even though it was obvious where the crash was occurring now, the cause was not immediately evident. (This was made more difficult by my total inexperience with the TDM code, especially in the area of the crash -- resource file processing). Of course, a simple hack to prevent the crash was possible, but that would simply be "treating the symptoms" rather than "curing the disease" and I really hate it when people do that (myself included!). And even such a quick hack would have meant that the resource in question failed to load ("WARNING:Couldn't load image: models/darkmod/props/textures/gaslight1_d"), which would then have unknown (to me, as a non-modeler) ramifications later on during game-play. I suppose a missing resource would simply not be rendered, but for all I know, that might have just caused a crash later on in some other part of the code! So the "root" cause had to be determined, which meant digging deeper. All of the crashing missions seemed to crash right after loading the "gaslight1" resource, so I spent some time trying to understand what might be wrong with that particular resource and the files it's comprised of. That turned out to be a "red herring", unfortunately. There's nothing special about that resource -- it just happened to be the 1st one affected by this issue that was loaded in the missions that Baal happened to be testing. Eventually, by digging around more in the code (oh, how I hate C++) and testing, I became suspicious of the timestamps on the resource files. It's not intuitive at all (to me), but the processing of some of these TDM "resources" is based on timestamps. More specifically, getting that bogus timestamp from a file within a PK4 file results in the low-level 'ReadFile()' routine returning a timestamp of -1, which screws things up further down the line in very subtle ways that ultimately manifests itself as an unprotected attempt to write to a null pointer, thereby crashing the game! Once I understood that, I soon realized that there were several "child" resource files (i.e. files within the PK4 "parent" file) with "weird" timestamps, including one of the aforementioned "gaslight1" files. A digression to explain something important for those unaware.... Unix (and Linux) OSes commonly store time values as "seconds since UTC midnight on 01 Jan 1970". Under a 32-bit Linux OS (regardless of whether it runs on a 64-bit CPU or a 32-bit CPU), the timestamps are stored as a 32-bit signed integer. This leaves a maximum date/time of '2^31 - 1' (i.e. 2,147,483,647) seconds since 01 Jan 1970. That means that it's only practical until the date/time shown: ==> TZ='-0000' date --date '@2147483647' Tue Jan 19 03:14:07 2038 This is the well-known "Y2038" problem. On a 64-bit Linux OS, the timestamps are, unsurprisingly, stored as a 64-bit signed integer. This leaves a maximum date well past all of our lifetimes, even for those who plan to have a Futurama-style head-in-a-jar someday. So until TDM becomes a native 64-bit app on Linux, that particular part of this problem could continue, due to inattention to timestamping of files. --------------------------------- Now back to the main story... When I looked at several of the resource files contained within the various PK4 files, I saw many with the timestamp "12-31-2077 18:59". That's completely illegal and unrepresentable on a 32-bit Linux system! But I found that when I extracted the resource files from those PK4 files, those odd timestamps were conveniently(?) converted to the maximum timestamp value, yielding the aforementioned date/time of 19 Jan 2038 03:14:07. And TDM runs fine like that! Furthermore, if you replace the original PK4 file with one that you create yourself (after Linux has "fixed" the timestamps by way of file extraction) by re-zipping the extracted resource files, then TDM will run fine with that new PK4 file too. OK, those are nice work-arounds, but it's still just "treating the symptoms". Aside: My cursory testing with Windows (XP Home SP3) shows that it seems to treat timestamps differently. The PK4 files with the bogus timestamps show up in Windows (using WinZip) as "12/31/2077 6:59 PM", so that is presumably a legal timestamp to Windows. (A quick Internet search turned up nothing obvious.) Unfortunately, I next turned my attention toward the 'tdm_update' app, thinking that it was the most likely culprit, since I'd seen some console output about it "Performing cleanup steps and correcting bad dates in PK4 files". I spent a long time looking through that mostly uncommented, C++ code (did I mention how much I hate C++ code?), hacking away to add console and log output, and hacking it to only run the "correct bad dates in PK4 files" step. That turned out to be mostly a waste of time. I could not get it to corrupt any of the files it handled such that they had an egregiously wrong timestamp (but more on that later). I next started downloading, from each of the common TDM mirrors, various PK4 files which, on my system, contained files with bogus timestamps. But I saw no evidence of bogus timestamps in any of the downloaded files, suggesting that something else was afoot here. So I went back and did a test install of 2.00 followed by a 2.00 -> 2.04 upgrade. When it finished, there were many files within various PK4 files that had the bogus ("31-Dec-2077 18:59:58") timestamps! Now, finally, I could smell blood! At this point, I was still suspicious of the 'tdm_update' process and its functionality designed to alter the timestamps of the files in the PK4 file. But some more checking and pondering led me to the zip files that the 'tdm_update' process uses. Eureka!!! That's it! Those 'tdm_update_2.0{0-3}_to_2.0{1-4}.zip' files are full of bad timestamps! Now I was finally at the real source of these problems! Those bad timestamps are filtering down into the resource files causing mayhem for Linux users who just happen to load the wrong mission! The bad timestamps in the 'tdm_update_2.0{0-3}_to_2.0{1-4}.zip' files are especially egregious! They're essentially all "15-31-2107 31:63" (the 15th month, 31st day of year 2107 at 31:63)! What the heck? Various expletives deleted here... A little research (actually done well prior to this point, while I was still head-scratching) told me that Zip files use the old IBM/MS-DOS format for date+time representation (for those of us old enough to have worked with it but just young enough to still remember having done so!). In essence, those bogus timestamps have every bit set! So, basically: Year (7 bits): 127 (2107-1980)Month (4 bits): 15Day (5 bits): 31Hour (5 bits): 31Minute (6 bits): 63Seconds (5 bits): {seconds}/2Why those timestamps are getting set that way is still a mystery to me. Suggested Fix: Whoever built those 5 'tdm_update_2.0{0-4}_to_2.0{1-5}.zip' files needs to take a look at their system and/or the source (another SVN tree?) for those files used in the zip files! Find the reason for the bogus, illegal timestamps on the input (resource) files and re-generate all 5 zip files. Actually, the 1st one ('tdm_update_2.00_to_2.01.zip') has no bad timestamps and could be skipped. Make sure the updated files get picked up by all known TDM mirror sites. Then we need to strongly suggest to all Linux users of TDM that they revert to the TDM 2.00 distribution and upgrade again, using only newly downloaded 'tdm_update_2.0{0-3}_to_2.0{1-4}.zip' files, to TDM 2.04. Aftermath: Now, having identified the real problem, what are the ramifications? Fortunately, this doesn't seem to affect Windows users, presumably due to Windows' use of a different timestamp method than Unix/Linux. I didn't know initially how or if this affects users on a 64-bit Linux OS but with 32-bit ("multi-lib") capability installed. All my testing was done on native 32-bit Slackware 14.2. But I went ahead and installed 64-bit Slackware 14.2 with 32-bit "multilib" capability added on, using a spare partition of my "TDM testing" HDD. My suspicion was confirmed -- that environment is equally (i.e. badly) affected by these bogus timestamps, so I suspect that these problems would, left unchecked, affect all Linux users who load the "wrong" missions with 2.05. I downloaded the same file ('tdm_update_2.03_to_2.04.zip') from 3 mirrors ('mirror.helium.in-berlin.de', 'www.fidcal.com', and 'darkmod.taaaki.za.net') and they all have the same bogus, illegal timestamps, so this is not just a bad mirror somewhere. A potentially bigger issue is that all those "broken" PK4 files are presumably out there "in the wild". And, even in 2.04, this problem exists! Therefore, I suspect some of these resource files with a bad timestamp are little "time-bombs" just waiting for a Linux user to run a mission that (either now or in the future) uses that object, especially if it applies either the 'makeAlpha' or 'makeIntensity' operation. In other words, this problem could, in theory, be the source of any number of TDM crashes at mission loadup on Linux systems. Eventually, this problem will work itself out, but it could linger for a long time unless Linux users do a wholesale re-install from 2.00 up, and only after all the update zip files have been repaired. Fortunately, we may have been a bit luckier with the 2.04 resources -- I loaded over a dozen missions in 2.04 and none of them crashed, indicating that none of them accessed any of the objects (at least on initial load) using the bad timestamps, at least in ways that trigger the crash (i.e. by applying either the 'makeAlpha' or 'makeIntensity' operation). But of course, there are far more untested missions that could cause a crash -- I simply don't know how to generate a list of resources that a given mission uses, otherwise I'd simply scan them all looking for "bad" objects. As hinted at above, this problem also exists in the zip file that updates a 2.04 installation to 2.05-beta, so that file needs to be fixed as well as the 4 previous ones. Work-Arounds: Until the relevant zip files are "repaired", Linux users with adequate disk space could simply extract the content of all the PK4 (zip-format) files into the same directory containing the PK4 files -- i.e. their run-time directory -- optionally deleting the original PK4 files. My tests show that there should be no need to eliminate, move, or re-name the PK4 files. The extracted content seems to be used in preference to equivalent content buried in a PK4 file. Optionally, those extracted files could be re-compressed into PK4 files, but there seems to be little point in doing so. Alternatively, a hack could be placed into the TDM code to allow TDM to continue running when it encounters any resources with one of these bogus timestamps, but that's not something I'd recommend (and it would be required in at least 2 spots). Other Issues and Thoughts: The 'tdm_update' app, while not the prime culprit here, is certainly still "suspect" in that it failed to correct the bad timestamps. I need to look into that more at some later date. It also seems to needlessly alter files' timestamps by 1 hour, which may be due to its failure to respect 'daylight saving time'. But I've seen differences of more than 1 hour too, always an integer number of hours (2 or 3, but never more, IIRC). In short, I'm still somewhat suspicious of that app's alteration of timestamps. And I wonder what led to the 'tdm_update' process being given the capability to re-generate PK4 files with embedded files having "bad" ('timestamp_year = 1980' or 'timestamp is in the future') timestamps. Why should that even be needed? It seems like another case of "treat the symptoms" without "curing the disease", but I'll admit that I don't know the history there and could be wrong. In looking into this, I've discovered some timestamp code with origins in the Doom3 engine that is not ready for 64-bit OSes! It probably wouldn't hurt to put some more protection ("hardening") in various spots in the code, like this spot where a null pointer is not checked for. Far better, IMHO, to abort TDM abruptly on someone's PC with an intelligent error message (hoping TDM will have been run from a shell window of sorts, so that such a message will be seen) than to crash and expect them (or someone else) to run TDM under a debugger. I've seen all kinds of weird warnings in the TDM console and in the shell's console from which I run TDM. I suspect that some of them may have been manifestations of this same problem, just for resources that didn't happen to cause a crash. There's so much "noise" in both the TDM (in-game) console and in the shell window from which it runs that it's hard to see legitimate problems! Closing Thoughts: My thanks to Baal for bringing this problem to our attention, running under the debugger to narrow it down, and reporting various missions that were affected by this issue. To those who've read this whole report, you have both my respect and gratitude! I've undoubtedly missed something in this lengthy explanation, so if anyone has questions, please let me know.
×
×
  • Create New...