Jump to content
The Dark Mod Forums

Search the Community

Searched results for '/tags/forums/code' or tags 'forums/codeq=/tags/forums/code&'.

  • 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. For the people eager to play with the latest state of development, two things are provided: regular dev builds source code SVN repository Development builds are created once per a few weeks from the current trunk. They can be obtained via tdm_installer. Just run the installer, check "Get Custom Version" on the first page, then select proper version in "dev" folder on the second page. Name of any dev version looks like devXXXXX-YYYY, where XXXXX and YYYY are SVN revision numbers from which the build was created. The topmost version in the list is usually the most recent one. Note: unless otherwise specified, savegames are incompatible between any two versions of TDM! Programmers can obtain source code from SVN repository. Trunk can be checked out from here: https://svn.thedarkmod.com/publicsvn/darkmod_src/trunk/ SVN root is: https://svn.thedarkmod.com/publicsvn/darkmod_src Build instructions are provided inside repository. Note that while you can build executable from the SVN repository, TDM installation of compatible version is required to run it. Official TDM releases are compatible with source code archives provided on the website, and also with corresponding release tags in SVN. A dev build is compatible with SVN trunk of revision YYYY, where YYYY is the second number in its version (as described above). If you only want to experiment with the latest trunk, using the latest dev build gives you the maximum chance of success. P.S. Needless to say, all of this comes with no support. Although we would be glad if you catch and report bugs before the next beta phase starts
  2. https://www.ttlg.com/forums/showthread.php?t=153139
  3. There's now an editable fan mission list on the wiki, for the sake of tracking missions made for The Dark Mod. Please read and follow the guidelines, and help keep the list up to date! Direct link, but also accessible from the wiki title page: http://wiki.thedarkmod.com/index.php?title=Fan_Missions_for_The_Dark_Mod Discussion of changes (format, policies, entries, etc.) can take place in this thread. --------------------------------------- There is also now a wiki page to track upcoming fan missions: http://wiki.thedarkmod.com/index.php?title=Upcoming_Fan_Missions Submissions, progress, and any discussion for missions under construction can take place here: http://forums.thedarkmod.com/topic/11639-upcoming-fan-missions/
  4. I did do a quick search for this but wasn’t able to find anyone asking the question - @stgatilovDoes the engine have any code to allow NPC's to climb up and down ladders..? if not how hard would it be to implement? @ArcturusI assume the climbing animation and then blend blending animations would be doable? And on a related note, what is the steepest incline/stairs NPC's can currently pathfind up/down..?
  5. Installed this mission and now my game will not start at all, I get a blue screen page with all this in it... TDM 2.12/64 #10651 (1435:10651) win-x86_64 Feb 24 2024 17:13:42 3311 MHz Intel CPU with SSE & SSE2 & SSE3 & SSSE3 & SSE41 & AVX Winsock Initialized Found interface: {7E4AFCE4-2858-4AA4-9EC9-B91694C33FCD} Intel(R) 82579LM Gigabit Network Connection #2 - 0.0.0.0 NULL netmask - skipped Found interface: {2340C0DC-39A7-4482-8282-B77A8FDCFC8A} Realtek RTL8168C(P)/8111C(P) Family PCI-E Gigabit Ethernet NIC (NDIS 6.20) - 192.168.1.168/255.255.255.0 Found interface: {DEAB3071-3FD2-4C63-B353-E5E60D5C3C17} Bluetooth Device (Personal Area Network) #5 - 0.0.0.0 NULL netmask - skipped Sys_InitNetworking: adding loopback interface Found Intel CPU, features: SSE SSE2 SSE3 SSSE3 SSE41 AVX TDM using AVX for SIMD processing. Found 0 new missions and 0 packages. ------ Initializing File System ------ Current search path: [M] C:\All Games\TDM 2.10/fms/vr_vol1 [M] C:\All Games\TDM 2.10\fms\vr_vol1\vr_vol1.pk4 (167 files - 0xda24df0e) [C] C:\All Games\TDM 2.10/ [C] C:\All Games\TDM 2.10\tdm_textures_wood01.pk4 (382 files - 0x54c704d0) [C] C:\All Games\TDM 2.10\tdm_textures_window01.pk4 (399 files - 0x50a48869) [C] C:\All Games\TDM 2.10\tdm_textures_stone_sculpted01.pk4 (466 files - 0x90cfd856) [C] C:\All Games\TDM 2.10\tdm_textures_stone_natural01.pk4 (141 files - 0x4d0836ff) [C] C:\All Games\TDM 2.10\tdm_textures_stone_flat01.pk4 (302 files - 0x671a22d2) [C] C:\All Games\TDM 2.10\tdm_textures_stone_cobblestones01.pk4 (271 files - 0xc46ab14f) [C] C:\All Games\TDM 2.10\tdm_textures_stone_brick01.pk4 (527 files - 0x8ac69a5e) [C] C:\All Games\TDM 2.10\tdm_textures_sfx01.pk4 (69 files - 0x6589664a) [C] C:\All Games\TDM 2.10\tdm_textures_roof01.pk4 (69 files - 0x24547b7) [C] C:\All Games\TDM 2.10\tdm_textures_plaster01.pk4 (142 files - 0x9747529e) [C] C:\All Games\TDM 2.10\tdm_textures_paint_paper01.pk4 (67 files - 0xa4a95a09) [C] C:\All Games\TDM 2.10\tdm_textures_other01.pk4 (127 files - 0x36932451) [C] C:\All Games\TDM 2.10\tdm_textures_nature01.pk4 (292 files - 0x8baa85ff) [C] C:\All Games\TDM 2.10\tdm_textures_metal01.pk4 (509 files - 0x441d098f) [C] C:\All Games\TDM 2.10\tdm_textures_glass01.pk4 (51 files - 0x3f3721e) [C] C:\All Games\TDM 2.10\tdm_textures_fabric01.pk4 (43 files - 0x649daf73) [C] C:\All Games\TDM 2.10\tdm_textures_door01.pk4 (177 files - 0xb0130166) [C] C:\All Games\TDM 2.10\tdm_textures_decals01.pk4 (474 files - 0xe2ff12c6) [C] C:\All Games\TDM 2.10\tdm_textures_carpet01.pk4 (131 files - 0xb4446f55) [C] C:\All Games\TDM 2.10\tdm_textures_base01.pk4 (436 files - 0xbe13aef2) [C] C:\All Games\TDM 2.10\tdm_standalone.pk4 (4 files - 0xb3f36d20) [C] C:\All Games\TDM 2.10\tdm_sound_vocals_decls01.pk4 (341 files - 0x7ceaaf6d) [C] C:\All Games\TDM 2.10\tdm_sound_vocals07.pk4 (1111 files - 0x67d07bcc) [C] C:\All Games\TDM 2.10\tdm_sound_vocals06.pk4 (696 files - 0x44c85e78) [C] C:\All Games\TDM 2.10\tdm_sound_vocals05.pk4 (119 files - 0x6cf23214) [C] C:\All Games\TDM 2.10\tdm_sound_vocals04.pk4 (2869 files - 0xd7ec1256) [C] C:\All Games\TDM 2.10\tdm_sound_vocals03.pk4 (743 files - 0xb3f2e0f1) [C] C:\All Games\TDM 2.10\tdm_sound_vocals02.pk4 (1299 files - 0x5092940e) [C] C:\All Games\TDM 2.10\tdm_sound_vocals01.pk4 (82 files - 0xf4d326b2) [C] C:\All Games\TDM 2.10\tdm_sound_sfx02.pk4 (605 files - 0x31673482) [C] C:\All Games\TDM 2.10\tdm_sound_sfx01.pk4 (987 files - 0x1be1f1f2) [C] C:\All Games\TDM 2.10\tdm_sound_ambient_decls01.pk4 (8 files - 0x9404877c) [C] C:\All Games\TDM 2.10\tdm_sound_ambient03.pk4 (24 files - 0xd28ca9ec) [C] C:\All Games\TDM 2.10\tdm_sound_ambient02.pk4 (163 files - 0x84efad22) [C] C:\All Games\TDM 2.10\tdm_sound_ambient01.pk4 (220 files - 0xee228c81) [C] C:\All Games\TDM 2.10\tdm_prefabs01.pk4 (1018 files - 0xaf4d4650) [C] C:\All Games\TDM 2.10\tdm_player01.pk4 (127 files - 0xd983fc45) [C] C:\All Games\TDM 2.10\tdm_models_decls01.pk4 (101 files - 0x7acb73c6) [C] C:\All Games\TDM 2.10\tdm_models02.pk4 (2262 files - 0x357310a0) [C] C:\All Games\TDM 2.10\tdm_models01.pk4 (3357 files - 0xea32fa8c) [C] C:\All Games\TDM 2.10\tdm_gui_credits01.pk4 (49 files - 0xbff51863) [C] C:\All Games\TDM 2.10\tdm_gui01.pk4 (760 files - 0xbb24734e) [C] C:\All Games\TDM 2.10\tdm_fonts01.pk4 (696 files - 0x7c5027bf) [C] C:\All Games\TDM 2.10\tdm_env01.pk4 (176 files - 0x8bd4045b) [C] C:\All Games\TDM 2.10\tdm_defs01.pk4 (194 files - 0xde333662) [C] C:\All Games\TDM 2.10\tdm_base01.pk4 (208 files - 0xaf435101) [C] C:\All Games\TDM 2.10\tdm_ai_steambots01.pk4 (52 files - 0xc6279c12) [C] C:\All Games\TDM 2.10\tdm_ai_monsters_spiders01.pk4 (80 files - 0xc50c13ac) [C] C:\All Games\TDM 2.10\tdm_ai_humanoid_undead01.pk4 (55 files - 0x25e463ad) [C] C:\All Games\TDM 2.10\tdm_ai_humanoid_townsfolk01.pk4 (104 files - 0xa6f7c573) [C] C:\All Games\TDM 2.10\tdm_ai_humanoid_pagans01.pk4 (10 files - 0x566fb35a) [C] C:\All Games\TDM 2.10\tdm_ai_humanoid_nobles01.pk4 (51 files - 0x5ca54cab) [C] C:\All Games\TDM 2.10\tdm_ai_humanoid_mages01.pk4 (8 files - 0x5e7a666b) [C] C:\All Games\TDM 2.10\tdm_ai_humanoid_heads01.pk4 (100 files - 0x45ec787e) [C] C:\All Games\TDM 2.10\tdm_ai_humanoid_guards01.pk4 (379 files - 0xbc2cde8d) [C] C:\All Games\TDM 2.10\tdm_ai_humanoid_females01.pk4 (172 files - 0xc7de4598) [C] C:\All Games\TDM 2.10\tdm_ai_humanoid_builders01.pk4 (91 files - 0x6dea9b57) [C] C:\All Games\TDM 2.10\tdm_ai_humanoid_beasts02.pk4 (229 files - 0x886c9a98) [C] C:\All Games\TDM 2.10\tdm_ai_humanoid_beasts01.pk4 (23 files - 0xba9da54c) [C] C:\All Games\TDM 2.10\tdm_ai_base01.pk4 (9 files - 0x1de319e8) [C] C:\All Games\TDM 2.10\tdm_ai_animals01.pk4 (82 files - 0x91388f45) File System Initialized. -------------------------------------- Couldn't open journal files ----- Initializing Decls ----- ------------------------------ I18N: SetLanguage: 'english'. I18N: Found no character remapping for english. I18N: 1334 strings read from strings/english.lang I18N: 'strings/fm/english.lang' not found. execing default.cfg Gamepad modifier button assigned to 6 execing Darkmod.cfg execing DarkmodKeybinds.cfg execing DarkmodPadbinds.cfg Gamepad modifier button assigned to 6 Couldn't exec mission.cfg - file does not exist. Couldn't exec autoexec.cfg - file does not exist. I18N: SetLanguage: 'english'. I18N: Found no character remapping for english. I18N: 1334 strings read from strings/english.lang I18N: 'strings/fm/english.lang' not found. ----- Initializing OpenAL ----- Setup OpenAL device and context OpenAL: found device 'OpenAL Soft on TOSHIBA-TV (NVIDIA High Definition Audio)' [ACTIVE] OpenAL: found device 'OpenAL Soft on Speakers (Realtek High Definition Audio)' OpenAL: found device 'OpenAL Soft on Realtek Digital Output(Optical) (Realtek High Definition Audio)' OpenAL: found device 'OpenAL Soft on Realtek Digital Output (Realtek High Definition Audio)' OpenAL: device 'OpenAL Soft on TOSHIBA-TV (NVIDIA High Definition Audio)' opened successfully OpenAL: HRTF is available OpenAL vendor: OpenAL Community OpenAL renderer: OpenAL Soft OpenAL version: 1.1 ALSOFT 1.21.1 OpenAL: found EFX extension OpenAL: HRTF is disabled (reason: 0 = ALC_HRTF_DISABLED_SOFT) OpenAL: found 256 hardware voices ----- Initializing OpenGL ----- Initializing OpenGL subsystem ...getting default gamma ramp: success ...registered window class ...registered fake window class ...calling CDS: ok ...created window @ 0,0 (1600x900) Initializing OpenGL driver ...getting DC: succeeded ...PIXELFORMAT 12 selected ...creating GL context: core-fc ...making context current: succeeded ...initializing QGL ------- Input Initialization ------- Initializing DirectInput... mouse: DirectInput initialized. keyboard: DirectInput initialized. ------------------------------------ OpenGL vendor: NVIDIA Corporation OpenGL renderer: NVIDIA GeForce GTX 970/PCIe/SSE2 OpenGL version: 3.3.0 NVIDIA 560.94 core Checking required OpenGL features... v - using GL_VERSION_3_3 v - using GL_EXT_texture_compression_s3tc v - using WGL_VERSION_1_0 v - using WGL_ARB_pixel_format Checking optional OpenGL extensions... v - using GL_EXT_texture_filter_anisotropic maxTextureAnisotropy: 16.000000 v - using GL_ARB_stencil_texturing v - using GL_EXT_depth_bounds_test v - using GL_ARB_buffer_storage v - using GL_ARB_texture_storage v - using GL_ARB_multi_draw_indirect v - using GL_ARB_vertex_attrib_binding X - GL_ARB_compatibility not found v - using GL_KHR_debug v - using WGL_EXT_swap_control Max active texture units in fragment shader: 32 Max combined texture units: 192 Max anti-aliasing samples: 32 Max geometry output vertices: 1024 Max geometry output components: 1024 Max vertex attribs: 16 ---------- R_ReloadGLSLPrograms_f ----------- Linking GLSL program cubeMap ... Linking GLSL program bumpyEnvironment ... Linking GLSL program environment ... Linking GLSL program fog ... Linking GLSL program oldStage ... Linking GLSL program blend ... Linking GLSL program soft_particle ... Linking GLSL program gaussian_blur ... Linking GLSL program testImageCube ... --------------------------------- Font fonts/english/stone in size 12 not found, using size 24 instead. --------- Initializing Game ---------- The Dark Mod 2.12/64, win-x86_64, code revision 10651 Build date: Feb 24 2024 Initializing event system ...890 event definitions Initializing class hierarchy ...173 classes, 897120 bytes for event callbacks Initializing scripts --------- Game Map Shutdown ---------- --------- Game Map Shutdown done ----- ERROR:Error: file script/virtual_rooms.script, line 42: Unknown value "getPersistentFloat" -------------------------------------- Error during initialization. Error: file script/virtual_rooms.script, line 42: Unknown value "getPersistentFloat" Shutting down OpenGL subsystem ...wglMakeCurrent( NULL, NULL success ...deleting GL context: success ...releasing DC: success ...destroying window ...resetting display ...restoring hardware gamma: success ...shutting down QGL Which to me is all rather meaningless.
  6. Greetings everyone! I recently got into TDM and am already having a lot of fun playing through and ghosting missions. However, coming from Thief, I am mostly relying on the rules and my experience with that game, while there are clearly differences in how TDM works. Right now, there is talk in the ghosting discussion thread on TTLG to amend the ruleset and include clarifications pertaining to TDM. So I wanted to drop by and ask: is there an active TDM ghosting community already and have any rules for this playstyle been developed? I would also like to ask someone to take a look at the draft of this addendum to see whether everything looks correct: https://www.ttlg.com/forums/showthread.php?t=148487&page=16&p=2473352&viewfull=1#post2473352 Thanks!
  7. yeah the proton runtimes are usually better atleast for some games a few of the more obscure older games must use wine because of some directx shenaningans vulkan cannot handle. been on off linux for decades myself my first try was with the now defunct corel linux. corel's linux distro was actually really nice and sported a more streamlined environment than what was usually the norm back then. After that i had a stint with mandrake linux for some years and was actually hired to setup a workstation environment for a small company who needed someone with knowledge of setting up samba. also had a few test runs with BSD with the now defunct PC-BSD (actually still exist but is now called ghost bsd). i kinda like BSD but it does suffer from comming late to the game because of a lawsuit by SCO who accused them of stealing code which was debunked but cost them precious time so they newer really got big in the desktop environment. instead they started focussing on the server market with some success. there have been a few attempts at catching up with linux but so far without much success. ghostbsd is quite nice though if you have compatible hardware (which means something a good deal older than what we have now). NomadBSD is another one but it is mostly used as a live environment (you can still install it but expect some hardware problems on newer systems). lutris has been rather weird at times. some distros had major stability problems with it over some patch levels. Actually the worst experience i had with it was on ZorinOS but i guess they got it sorted. it crashed constantly when i last used Zorin and the gui was completely bonkers i could barely see what i needed to input because the scaling was all over the place lol. Then i hit on Solus and everything worked right clean and was a joy to use, sadly a kernel update broke my install because it mucked up the gfx card drivers for nvidia cards. luckily it is now fixed and working rather well i must say .
  8. This is an experimental GUI app for managing and packing Dark Mod missions. It's a successor to FM Packer but with a GUI, that I've been working on for some time. It's now at a stage where I feel somewhat comfortable sharing. Having a GUI unlocks potential for more in depth management of fms, which I intend to explore in the future. You can download the binaries here: https://github.com/Skaruts/tdm_packer_2/releases Currently: it can pack your selected mission into the pk4 at a click of a button it provides an editor for a .pkignore file where you specify which files to exclude from the pk4 it gives you a handy tree view of both the included and excluded files (Shift+LMB to fully expand/contract branches) it can launch TDM or DarkRadiant for the selected mission, or run a second installation of TDM to test your pk4 in isolation (see the menu Settings->Paths) it automatically writes your map sequence into the appropriate file all maps, except the ones in the map sequence, are auto excluded from the pk4 Important: This is still an experimental alpha version, so backup your missions before using it. Note: For now I provided binaries for Windows and Linux. I don't have a Linux system to test the binaries yet, though, so they may or may not work properly. As a last resort, one can still run this app from the source code by running the Godot Engine itself from the terminal with the "--path path/to/project" argument. (Godot itself is just a simple executable and requires no installation.)
  9. hmm another small problem creept up from behind when doing SDL3 builds. SDL3 removed the old hardware gamma ramps from the library so dhewm uses a shader based version. unfortunatly for my hybrid GLSL/ARB interaction renderer it only works in ARB mode because it is hacked into the interaction shader stage instead of the material shader stage and sadly i do not have an implementation of this hack in GLSL . I have a rough idea how to do it but i lack some skills in regards to working with hardware shader code. i do however have an old codepiece which i used in quake as a replacement for the old gamma ramp code but it needs a little work. what it does is actually really simple, it uses the same code as overbrights but scales the output with the gamma value. also overbrights tended to use a texture this code foregoes that completely as it is unneeded and instead outputs to a fullscreen quad. it works somewhat good in quake but there are two values in dhewm brightness+gamma so i might have to get creative.
  10. Version 2 has been released. Nothing fancy: one bug-fix and minor adjustments. The original download link and the original name remain the same. Just download and overwrite. The download link can be found in the opening post. 1) Sword carries over missions There is a bug in the source code in file "def\tdm_campaign.def". At the end of the file "weapon_limit_sword" should be "weapon_limit_shortsword". I manually fixed this in all maps/rooms in version 2. 2) The zombie in room 5 (Purgatory) is easier to kill now Some people find the rope swing mechanic too challenging and this should alleviate frustration to some extent. 3) Fixed misalignment of the lamps in room 8 (Gallery) An oversight on my part. Really minor stuff. ------------------------------------------------------------------------ In-game downloader The current internal name of the mission is "fms/vr_rooms" and I here request this to be changed to "fms/virtual_rooms_vol1" (or "fms/vr_vol1" if it needs to be shorter). This change means you all will have duplicates if version 2 gets updated in the repository. My advise if/when this happens is: Close the game Go to "fms/" and delete the "vr_rooms" folder A proper naming convention is important for collaborative initiatives (instructions, tutorials, organization, support...). Thanks all for your understanding.
  11. jaxa

    2016+ CPU/GPU News

    The accidentally released FSR4 code uses INT8 to run on RDNA2/3, instead of FP8 for the version that has been officially released for RDNA4. https://videocardz.com/newz/gamers-run-fsr-4-on-rdna2-gpus-better-image-quality-but-10-20-lower-performance
  12. A set of some 200 missions is a lot to sift through to find what one likes. I never used your site but if it provided functionality to search missions for parameters like approximate playtime, series v standalone, and tags like undead, spiders, mansion, city, etc, then it sounds plenty useful. Can the functionality be incorporated into the main web page? Perhaps even integrated to fetch underlying data from the wiki (so that trusted editors can keep the parameters up to date)?
  13. ============== -= IRIS =- ============== WELLINGTONCRAB TDM v 2.11 REQ Ver. 1.3 *For Maureen* -=- "Carry the light of the Builder, Brother. Unto its end." -Valediction of the Devoted "What year is this? Am I dreaming?" -Plea of the Thief Dear Iris, I am old and broken. When we were young it felt like the words came easily. Now I find the ink has long dried on the pen and I'm as wanting for words as coin in my purse. I can tell we are nearing the end of the tale; time enough for one more job before the curtain call... ============== -Installation- Requires minimum version of TDM 2.11 **Dev build dev17056-10800 (2.13) fixes several visual effects which have been broken in the mission since the release of 2.11. For that reason playing with that version or later is currently recommended** -Iris does not support mods or the Unofficial Patch- Download and place the following .pk4 into you FMs directory: Iris Download ============== *Thank you for playing. Iris is a large mission which can either take as quickly or as long as you are compelled to play. I hope someone out there enjoys it and this initial release is not completely busted - I tried the best I could!* *Iris both is and isn't what it seems. If commenting please use spoiler tags where appropriate. If you are not certain if it would be appropriate a good assumption would be to use a spoiler tag* *Support TDM by rating missions on Thief Guild: https://www.thiefguild.com/* ============== WITH LASTING GRATITUDE: OBSTORTTE - Whose gameplay scripts from his thread laid the foundation which made the mission seem like something I could even pull off at all. Also fantastic tutorial videos! DRAGOFER - Who built upon that foundation and made it shine even brighter! And whom also provided immeasurable quantities of help and encouragement the past couple years on the TDM discord. ORBWEAVER & GIGAGOOGA - For generously offering their ambient music up for use. EPIFIRE - Who lent me his fine trash and trash receptacle models. AMADEUS - Who was the first person who wasn't me to play the damn thing and provided his excellent editorial services to improving the readers experience playing TESTERS AND TROUBLESHOOTERS: AMADEUS * DATISWOUS * SPOOKS * ALUMINUMHASTE * JAXA * JACKFARMER * WESP5 * ATE0ATE * MADTAFFER * STGATILOV * DRAGOFER * KINGSAL * KLATREMUS - What can I possibly say? Playing this thing over and over again could not have been easy. Deepest thanks and all apologies. -=THANKS TO ALL ON THE TDM DISCORD AND FORUM=- ==SEE README.TXT FOR ADDITIONAL ATTRIBUTIONS & INFORMATION== HONORABLE MENTION: GOLDWELL - If I hadn't by chance stumbled into Northdale back in 2018/2019 I would probably still be trying to get this thing to work in TDS, which means it probably would not exist - though more details on that in readme. ============== Boring Technical Information: *Iris is a performance intensive mission and I recommend a GTX 1060 or equivalent. I find the performance similar to other demanding TDM missions on my machine, but mileage may vary and my apologies if this prevents anyone from enjoying the mission.* *Iris heavily modifies the behavior of AI in the game, how they relate/respond to each other and the player. So they may act even stranger than they do typically in TDM. Feedback on this is useful - as it can potentially be improved and expanded upon in future patches.* -=- This is my first release and it has been a long time coming! If I forgot anything please let me know! God Speed. 2.10 Features Used:
  14. for those still dabling in retro hardware heres some interresting sites https://windowsupdaterestored.com/ windows updates for win 9x to xp https://www.techpowerup.com/forums/threads/tpus-nostalgic-hardware-club.108251/ links to various sites with old software and information on setting up older systems hardware.
  15. the 1.2 code was incomplete (missing parts of the release sources) but i noticed there had been an attempt at adding back the missing parts by copying them off from the release sources. the recreation work is in a seperate archive marked as unclean. the 1.2 code seems to mostly deal with AI nodes physics and a few common functions so not to bad (could probably make a patch instead). sadly the code uses msvc 6.0 so i would have to either install that on a seperate machine or upgrade the code for use with a more modern compiler before i can make any assumption about its viability.
  16. There are currently nearly 200 missions to the game. That's a lot. So I made a list of the ones you shouldn't miss. If you're a beginner, do not start with the best missions. Play a few others first to learn how the game and controls work, and how you can use some items to interact with objects on the map. You will appreciate them more that way. Tastes vary. My subjective assessment is based on how enthusiastic and interested I was during the mission. Generally, I appreciate the unusual circumstances. If I felt lost too many times or needed hints to solve the plot, those were clear disadvantages. I don't like the needle in the haystack type elements. (Secrets are fine.) The list isn't a quality line. I don't want to add precise ratings, that's not the point. I have a message for those whose missions didn't end up here: Don't worry. Others may judge differently. In any case, some missions may be added here with some editing. A few didn't make it here only because of the obscure wording in the descriptions of objectives. Give me tips if you think something is missing from the list. 200 missions are a lot, I might have skipped some gems. BEST MISSIONS -A House of Locked Secrets: Very funny, diverse and memorable, sometimes nonsensical. The best mission. 4 hrs -Seeking Lady Leicester: It's probably the second best mission, but I won't argue with anyone who ranks it first. Knowing how to rotate items is essential to play this mission (middle mouse button). 6 hrs -Volta 2, Cauldron of the Gods 2.5 hrs -Volta 3: Gemcutter 3 hrs -Penny Dreadful 1: The grail of regrets 1.5-2 hrs -Penny Dreadful 2: All the way up 3 hrs -The Painter's Wife: A monumental mission. The size doesn't mean this is the best one. -Hazard Pay 2 hrs -Now and Then 5.5 hrs -Black Mage 3 hrs -Requiem: The mission is excellent and imaginative. But it's painfully difficult to move without being noticed at certain points. 4 hrs -Crucible of Omens: Behind closed doors: Excellent mission, the only problem is that it's difficult to navigate between the different parts, and it's hard to find your way back to places. Having a route back to the first part, which could be opened from the later part of the map, would have helped the flow. 5 hrs RECOMMENDED MISSIONS -Iris I hesitated a lot whether to put this in the list of best missions. But the first part of the mission offers so many options, it's rather a caricature of the genre. And the environment isn't very good either. Less would have been more. The second part of the mission is much better. I appreciate the innovative element. 7 hrs -Chronicles of Skulduggery 0: To Catch a Thief -Chronicles of Skulduggery 2: A Precarious Position 2.5 hrs -Chronicles of Skulduggery 3: Sacricide: Good, traditional mission but the story is too black and white. -No Honor Among Thieves: The end isn't satisfying, but otherwise this is a good mission chain. 5.5 hrs -Shadows of Northdale act 2. 3 hrs -The Last Night on Crookshank Lane 4 hrs -Penny Dreadful 3 -Mother Rose Funny. It's not for beginners! 40 min -A Score to Settle -Sir Talbot's Collateral -Talbot 2: Return to the City 1.5 hrs -Talbot 3: Fiasco at Fauchard street 1.5 hrs -Thomas Porter 1, Knighton Manor: Good jokes. -Thomas Porter 2, The Beleaguered Fence -Thomas Porter 3, Glenham Tower -King of Diamonds -Accountant 2: The code is good. -Golden Skull: 30 min -Vengeance for a Thief 1-3 -The Factory Heist -A Good Neighbor -Snowed Inn -Langhorne Lodge -Heart of Saint Mattis 3-4 hrs -Perilous Refuge 2.5 hrs -The Hare in the Snare: Part 1 -Rightful Property -Alberic's Curse 1.5 hrs -A Night in Altham: A strange mission. 9 hrs -By the Cookbook 1 hour -Wizard's Treasure 1 hour -A Night to Remember 1.5 hrs -Lord Edgars Bathhouse 1.5 hrs -Last Offering: How much you enjoy it depends largely on what equipment you choose at the beginning. 1 hour -The Rift: Quite cool, but the music isn't on the ambient channel so it's not possible to make it quiet. 1 hour -Briarwood Cathedral 1.5 hrs -The Threepenny Revue: 45 min -Mission of Mercy 1 hour
  17. Maybe it's nothing, but I saw on other renderdef example that backcolor 0 ,0 ,0 ,0 was also applied inside the renderdef as well. For example: Maybe backcolor 0,0,0,0 means transparent? Here it says backcolor 0,0,0,0 means black but transparent: https://wiki.thedarkmod.com/index.php?title=GUI_Scripting:_Syntax,_Semantics,_%26_Usage I don't really understand all the code, so can't see if it's related.
  18. probably needs some fine tuning , not sure if the BFG versions uses the old openal SDK or was updated to the openalsoft version also ? might explain some of it i reckon. i do have a version of dhewm with atleast some of the mentioned GLSL functionality (interaction shaders for now). It uses a hybrid GLSL/ARB renderer and works quite ok on my own port but ran into a few snags with dhewm3 cause it uses a hack for enabling hardware gamma with SDL3 which bypasses the code used for splitting up the hybrid renderer between ARB and GLSL parts. So gamma is broken in SDL3 builds until i can get a GLSL version of the shader used. sadly thats a bit beyond me as i come from the C world and only started to learn some basic C++ due to the release of the idtech 4 source code. And i newer really got my feet wet with hardware shaders.
  19. hmm its actually rather advanced and unfortunatly a bit of a pain to setup. one example is hrtf (headphone surround) which requires mapping sound locations with a tool they provide. https://deepwiki.com/kcat/openal-soft/5.3-gui-configuration-tool lists a good deal of which steps needed. for all other cases it is probably better to ask on the github forums for it. attached my own config for dhewm3 which sounds somewhat ok. drop it next to the dhewm3 executable. if you feel up to experimenting you can add your own settings to it alsoft.zip
  20. By "IP", I'm thinking you mean my machine's address (not intellectual property). Yes, if an AI was not privacy-preserving, and actively monitoring for and reporting IRL criminal activity (likely many are), and misconstrued what I was doing, then I see your point. For my particular FM, the phrases don't really imply any criminal acts, just clues. This is not the case for all FMs. In those cases, when untrustworthy AI systems allow rich prompts, it's probably a good idea to specifically indicate you are writing for a fictional mission within a PC game. Also, the activity itself, translating into a fixed suite of multiple languages, is probably not something an actual criminal enterprise would do. Talking in the forums about your FM under development would also show that your intentions are not real-world crimes, and I'd like to think ward off all but the most wrong-headed prosecutions.
  21. The Problem Readables are available in a wide range of TDM bitmap fonts. Unfortunately, the majority of these fonts lack non-ASCII glyphs for European languages, and it would be a prohibitively lengthy task to craft them. This is one of several translation hurdles. (Another is soliciting, organizing, and distributing the work of human translators; see “AI for Translations: An Exploration” for work on an alternative. This also promotes the use of meaningful alphanumeric #str_ IDs - possibly automatically generated – instead of traditional numeric.) A Proposed Solution Suppose that when a particular page of readable is shown, it is shown first is English, with the mapper-specified font (e.g., Camberic), and then, after a number of seconds, shown in the current user-selected language, with a different font (e.g., Stone), one that offers the needed diacritics? And with the translated font size scaled down to accommodate potentially more-lengthy translated strings? Both the English and translated text can be viewed in sequence. That opens the door to “quick and dirty” default translations, e.g., machine translation. In particular, the reader may sometimes be able to work-around any layout problems and sub-optimal translation by consulting the English text. (Nevertheless, default translations may sometimes miss subtle nuanced hints, so the ability to improve them with tweaked text is a necessity.) The Proposed Mechanics Recall that the game engine currently passes these values to a readable’s gui: gui::title gui::body With a multipage readables, the content of these parameters changes as pages are flipped. For clarity, it is proposed to replace them with: gui::titleEnglish gui::bodyEnglish gui::titleTranslated gui::bodyTranslated The latter 2 would be just like gui::title and gui::body, except that they would serve empty strings when the current language is English or there is no translation available in the current language (and so be used for gui code program logic, to suppress a transition). Observe that this behavior does not substitute an English string for a missing non-English string. Skip the remainder of this section if details are not of interest. Each stock readable .gui would need a one-time conversion to use them. Instead of the traditional 2 winDef overlays for text, there would be 4, corresponding to the 4 text-passing parameters just mentioned. This allows the translated text to fade in while the English text fades out, when an onTime event starts the transition (at 2 seconds in this example). Here is the fragment of .gui code that has been altered: Aspects of this Design – Transition from English The transition is timed, so no extra “Translate” button is shown, nor a hard-to-come-by hot key required. If you want to see the English again, you would briefly navigate away from the page to another, then return; or, if a single-page, close and re-open it. A simple implementation (as the code above and example below) uses a fixed, hard-coded time. Alternative Mechanism. At some cost to code clarity, it is probably possible to get by with just the 2 normal text-passing parameters (gui::title and gui::body) and their traditional 2 overlays, though additional variable(s) would be needed for tight time-synchronization between engine and gui; and overlapping fade-in/fade-out between English and translation would not be possible. Advanced Version. In the longer term, timing could be made more flexible, by passing it as parameter from the engine, e.g.: “gui::transitionTime” Where does this value come from? While it could somehow encoded into the .xd file by the mapper, I prefer a different approach. Have the engine calculate it from character or word count of the body, with user-specified globals for reading rate and min and max bounds, e.g.: sys_readablesWordsPerSecTransTime sys_readablesMinTransTime sys_readablesMaxTransTime A drawback of a timed transition is that additional reading time is needed to get to the translations, which may, with immobile readables, increase risk of discovery by guards. So having these additional user controls would let a user get to the translations faster, even skip the English entirely by setting bounds to zero. A Simulated Example – FM “readableTranslationFadeIn” In the absence of engine support for the 4 text-passing parameters, it is still possible to make an approximately-functional mockup using some hard coding. However, this prototype DOES NOT suppress the transition when the current language is English. That is, it shows (rather than prevents) an English-to-English transition with change of font & font-scale. TDM with the languages set to “Francais” (French). The first screen shot shows page 1 of a 3-page scroll, momentarily displayed in English with Camberic title and body. After a few seconds, it transitions to the second screen shot, in French in Stone font. With accents. While shown here as a scroll, this approach should be easily adaptable to books and sheets. About the Example’s Implementation The screen shots are from a prototype FM: readableTranslationFadeIn Notable files are: guis/readables/scrolls/scroll_calig_camberic.gui, a custom override of the standard Camberic scroll readable, with the translation transition mechanism from above, plus additional simulation fakery described below. strings/all.lang, a UTF-8 file containing 6 #str_ (2 per scroll page – title & body) in each language section. Only the [English] and [French] sections were implemented. The English example content was loosely derived from the St. Lucia FM. The English text (without #str_ structuring) was manually converted to UTF-8 French using Google Translate (website, not API). strings/english.lang & french.lang. These were generated from all.lang using my gen_lang_plus program to create the 8-bit “ANSI” versions as required, e.g., ISO-8859-15 encoding for French. xdata/readableTranslationFadeIn.xd, that contains the #str_IDs for the 3 scroll pages. Within scroll_calig_camberic, this simulation had this fakery: “gui::title” and “gui::body” were stand-ins for hypothetical parameters “gui::titleTranslated” and “gui::bodyTranslated”; The English text was hard-coded, and the appropriate content selected by actual parameter “gui::curPage”, to make up for missing hypothetical parameters “gui::titleEnglish” and “gui::bodyEnglish”. The READABLE_FADE_TIME is currently set to 2 seconds for testing. Probably 5-6 seconds would be better during game play. Aspects of the Design – Font Scaling As mentioned earlier, the translated font is scaled to make the text smaller than the original, to accommodate languages that need more room. A simple implementation (like in the example code) uses fixed values with “textscale”. So the textscale for the two Translated winDef overlays is smaller than for the 2 English winDef overlays. Specifically, in the example GUI code, the text scaling factors from the original Camberic readable were retained: textscale 0.4 // titleEnglish textscale 0.31 // bodyEnglish and supplemented by (with a different font, namely Stone): textscale 0.33 // titleTranslated textscale 0.24 // bodyTranslated The goal is to keep the rendered text smaller than the original English rendering for languages with more characters per sentence. These values, while hard-coded, will differ across readables (due to different starting fonts), and would need to be experimentally determined. But this treatment, with just a fixed scaling value that is independent of both text content and current language, is unlikely to be very satisfactory. Better ideas, needing additional engine modifications, will be considered in a follow-on post. Additional Considerations When Authoring the XD File. Recall that TDM is relatively inflexible when using #str_ within an .xd file. So this form will not work: "page1_body" : { "" "" "#str_fm_scroll_camberic_pg1_body_parish_inspection_excerpts" } Instead use "page1_body" : "#str_fm_scroll_camberic_pg1_body_parish_inspection_excerpts" With the 2 leading linebreaks moved into the #str content as leading \n\n. When Testing. If there is a mismatch between the TDM Language setting and the PC’s language setting (e.g., under Windows), then some characters may turn out wrong or indicated as missing (e.g., as boxes). The degree will vary by language, and is unlikely to be seen in the initial English render (because that’s almost all in ASCII, common to all the ISO encodings.) Even with such mismatches, the translation can be reviewed as to overall length and where linebreaks occur. Be aware that direct editing of *.lang files is not recommended, and could risk converting from a particular “ANSI” raw 8-bit encoding into “UTF-8”. Applying this Technique More Broadly. A few fonts have oddball glyphs for certain characters, e.g., a skull and crossbones in Treasure Map. This would require special handling during translation. For Briefings, Objectives, and Messages, similar approaches can be conceived. However, for each of these (and different from readables), only one particular font is routinely offered. And there are alternative designs to be considered. For instance, the English and Translated text could be shown simultaneously side-by-side in various ways, instead of sequentially. The Objectives have the additional complication that the font size is already user-adjustable.
  22. well of i go to visit my mom. ill be back in a day or two . slowly started porting the old daikatana source code to more modern compilers (msvc for now but i do plan on doing a cmake based build system sometime in the future). probably gonna use some of the fixes we made over the years to idtech 2, kmquake2 horde mode anyone (though i guess getting overwhelmed by 100000000 monsters while fighting the stupid sidekick AI will make people want to murder me so...). lets see what i can dig up that makes sense for it.
  23. btw. and hush... i have the full original source code for daikatana both the alpha versions and the final. i actually stumbled upon it on the wayback machine while using a vpn (does not show otherwise) so at some point when john romero released it for one "lucky guy" to work on modernizing the code it seems the link he sent for the fella fell through the cracks on the internet and ended up in some obscure corner as hidden. as for why i was able to see and download it im not sure but its rather interresting to study the work that went on with the old quake2 base before it became the daikatana base. as far as i can see it has a directx renderer as well (disabled i guess) and the source was ported to C++.
  24. For the most part they are , freepascal is still maintained and even though pascal is mostly passed on in favour of csharp (which is mostly due to a small userbase with knowledge of coding in it) there are those who swear by it. Djgpp was the goto for many years for those coding for dos/OS2. Unfortunatly it only runs on operating systems that support 16 bit. While windows 10 and before it windows 7 supported emulating 16 bit mode it ran rather poorly, and it only ran on the 32 bit versions. Watcom on the other hand supports building dos/os2 code from windows NT and even linux and is also still in development (as open watcom v2). It also supports building code for some of the more obscure operating systems like qnx.
  25. We shouldn't turn off animation blending. Without it there's annoying jump from one animation to another. We need more blending, not less. Let's do a different hack. The problem is that origin bone rotation is driven by code and it finishes rotation in 1/3 of a second. We can't make it significantly slower without messing up AI. My first hack was to simply make character move slower than origin. So the origin would finish rotation, stop and then the character would continue moving for the rest of the animation. But we can animate the origin bone too. Since we want the origin rotation to be longer, we can counter-animate it. So while the game code rotates it 90 degrees one way, we can apply rotation in the animation file the other way to counter it. So we end up with 90-60=30 degrees movement for 1/3 of the animation. Then when the code stops moving the origin, the animation file can continue rotating it for the remaining 60 degress. We end up with this stupid looking animation: In the game however origin now rotates for the whole duration of the animation (1 second). This is what it looks like with blending set to "0" in float delta = getTurnDelta(); if ( delta > 10 && hasAnim(ANIMCHANNEL_LEGS, "turn_left")) { animState( ANIMCHANNEL_LEGS, "Legs_TurnLeft", 0 ); } if ( delta < -10 && hasAnim(ANIMCHANNEL_LEGS, "turn_right")) { animState( ANIMCHANNEL_LEGS, "Legs_TurnRight", 0 ); } Here's with blending set to "4" (current Dark Mod default). There's some jerkiness. I applied some more tweaking in Blender to mitigate some of that: With blending set to "6": Those values in: animState( ANIMCHANNEL_LEGS, "Legs_TurnLeft",4 etc., they seem to drive only the "ease in"? I'm a little confused about how they work.
×
×
  • Create New...