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. As a hobby I often do low level reverse engineering, exploring different types of CPU architectures, and in this process I quite often witness very inefficient C++ compiled code which makes me think that C++ users more often than not have no idea what they're doing, because they don't look at the disassembly where it's the most important, many of them don't even know how to read it which is just miserable TBH. So in the conclusion I can confirm that badly written C++ code can waste performance for nothing.
  2. Yeah, we get this kind of post every few years, about porting to whatever shiny new other engine is out there. For reasons already discussed, "porting" isn't even a good term for it, since you'd just be making an entirely new game practically from scratch. Just look at the size of our source code. The reason we moved to the Doom3 engine it in the first place was only because Thief Deadly Shadows didn't allow us to properly make good FMs. But now we can make FMs and it's open source. If there is some cool tech that the CryEngine or Unreal engines have, it's gonna be about infinitely easier to just port that cool tech into the TDM engine than vice versa, and in fact we've done that for a lot of cool new tech like soft shadows and ambient occlusion and the like. So that's really the way to go if you want to update the tech. And we're open source so you can do that. Anyway, all that said, one can still make a cool new TDM-inspired game in CryEngine, and I'd even encourage that to someone up to the challenge. For example I'd love to see a cyberpunk or modern stealth game, and that'd be good project for a new engine. I just think if they're making an entirely new game already, why not just make an entirely new game. Well one thing that might be cool is if someone made a game in another engine that could parse a TDM .pk4 file and open up as a map in itself. So then once you've made it, it already as all of our maps ready to play in it. I have an idea that that might not work well though, especially for custom things people put in the map. Also again, we can already play those maps now. If you're going to all that effort, let's have a new cool game with new cool maps!
  3. I have switched our Matrix4 class to use the Eigen library internally (more specifically, an Eigen::Transform which can represent geometric transformations which decompose to a 4x4 Matrix). The advantages of Eigen are: It's a well-tested and respected linear algebra library, which means we don't need to maintain our own code to perform already-solved problems like matrix multiplication. It can potentially use SIMD instructions (SSE, AVX etc) to improve performance. I haven't yet looked into whether this happens automatically or whether we have to explicitly enable these optimisations. It is header-only, so should not present any build issues on the various platforms. Our Matrix4 class still exists but it is now just a syntactic wrapper around the Eigen implementation, and several methods which performed matrix maths manually have now been changed to forward directly to Eigen methods like inverse(), transpose() etc. Since Matrix4 is now well covered by unit tests, I am pretty confident that nothing is broken because of this change, although it's still possible of course. @greebo Next time you pull from my master branch, you will need to do two things: Issue the git submodule update -i command (or GUI equivalent, if you're using one) to populate the external/eigen directory with the Eigen git repository. Update include paths in the VS project so that external/eigen is added to the header file search paths. Since it's already cross-platform and header-only, and the only current usage is with an existing class wrapper, I hope no other changes should be required on Windows.
  4. Announcing the release of “A House of Locked Secrets” for The Dark Mod! Download Download the latest version of the Dark Mod here: http://www.thedarkmod.com/download-the-mod/ Download the mission here: Mediafire: http://www.mediafire.com/download/4awe6e756m12p71/ahouseoflockedsecrets.pk4 Southquarter: http://www.southquarter.com/tdm/fms/ahouseoflockedsecrets.pk4Taaki: http://darkmod.taaaki.za.net/fms/ahouseoflockedsecrets.pk4Fidcal.com: http://www.fidcal.com/darkuser/missions/ahouseoflockedsecrets.pk4 The mission should also shortly be up on the in-game downloader. General Notes -A House of Locked Secrets is a campaign, with two levels. -The mission is also a sequel to the Dark Mod FM “Requiem”. While you don’t need to have played Requiem to enjoy this mission, it is recommended, as it will help you better understand the lore of this corner of the TDM universe. -There is a companion novella to this series, Shadowcursed, available at Amazon.com or Smashwords.com. If you beat this FM, you can get a coupon code for 50% off the price! -The map you get of the manor is an automap which tells you which room you are currently in. Use it, along with the compass to help find your way. -Most inventory items in the game can be dropped, so no need to carry them around after they are no longer of any use. -If you use noclip or other console commands while playing, there is a good chance that you will break the intended flow of gameplay. Credits Mapping and Readables: Gelo R. Fleisher Voice Acting: Amber Collins, Bikerdude, Commander, Goldwell, Mortem Desino Additional scripting: Obsttorte, SteveL Additional textures and assets: Bikerdude, Crowind, Fidcal, Flanders, Goldwell, Grayman, Kyyrma, Melan, Nielsen, Sotha, Springheel Additional map optimization: Bikerdude Custom Soundtrack: Sarah Eide - www.saraheide.com Additional Music: cmusounddesign, Gigagooga, Lee Rosevere, Leonardo Badinella, Marianne Lihannah, NewEonOrchestra, Sarah Eide, Tabias Scot, Zoro. Additional Sounds: club20sound, ERH, geoneo0, Grayman, kevinkace, nothayama, qubodup, SoundsExciting, speedygonzo, swiftoid, viznoman. Testers: Airship Ballet, AluminumHaste, Baal, Bikerdude, Deadlove, demagogue, Diego, Dunedain19, gnartsch, Goldwell, Lowenz, Lux, nbohr1more, Oldjim, PranQster, SteveL, Xarg A note from the author After a lot of work ‘A House of Locked Secrets’ is finally ready for everyone to play. More than anything else, this FM was a team project. If the official TDM campaign never gets released, you might consider this to be the unofficial one, as almost everybody on the core TDM team lent a hand toward its completion. Of the many contributors, I especially want to thank SteveL whose custom code turned what was just an idea in my head into the FM you now get to play. I also want to thank Bikerdude, who performed a lot of optimization work on the map, and Goldwell whose voice brought to life many of the mission’s characters. If you like the music in the FM, check out the work of Sarah Eide (www.saraheide.com) who composed most of the custom soundtrack. Also, Marianne Lihannah makes a return from Requiem with a few songs, so check out her work too (www.funeralsinger.net). They'd both love to hear from you, so if you liked their music, let them know! On a personal note, I hope that this FM will give you a few hours of enjoyment, and if it does, feel free to drop me a line either in this forum thread, my work blog, or via email. In the future, other writing and game projects seem set to take up a lot of my time, so I give permission for anyone (preferably the TDM team) to update both Requiem and A House of Locked Secrets to fix any bugs or compatibility issues. I just ask that fixes be limited to correcting for glitches or for issues that come up due to future TDM releases. I do give permission for people to make visual & gameplay changes too but ask that you release these changes in a separate version than my release, and I ask that you make no changes to the story, readables, and plot. With that all out of the way, I want to thank you again for downloading and playing ‘A House of Locked Secrets’; I hope you enjoy it. God bless, Gelo “Moonbo” Fleisher
  5. I'll probably try Thief 3 for the first time in forever after snobel finishes making a Linux version of Sneaky Upgrade. https://www.ttlg.com/forums/showthread.php?t=138607&page=82 https://www.ttlg.com/forums/showthread.php?t=153010
  6. 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
  7. That kind of sounds like the issue described here: https://forums.thedarkmod.com/index.php?/topic/23024-strange-behaviour-in-darkradiant-certain-map-objects-untethered-from-vertex-origin/ A couple of us have experienced it but we're not sure what's causing it. In your case do the origins end up at 0,0,0?
  8. 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
  9. ============== -= 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:
  10. Sorry, I think it should be #include "guis/mainmenu_briefing_preamble.gui" At least that's what I see in some existing gui files: the guis subdirectory is important. I think it is irrelevant. Just like in C/C++, C preprocessor runs before the main language and does simple textual transforms only. It does not know the main language at all. It understands only directives (lines starting from #) and some strings which were #define-d beforehand. After preprocessor is over, the main language starts working, and it only sees what is produced by preprocessor, it has no way to know about the directives. So in the first example it will check if the current mission is indeed 1. If it is not, it will remove the section inside #if from the source code, the Doom 3 GUI language will not even know it was there. If it is, then the section will survive. Then it will handle the #include, which basically says "please copy/paste the contents of that file here". In the second example, the preprocessor has no freaking idea what the first line means. It is not a directive. So it will leave it as is, regardless of which mission it runs now. The it will handle the #include, i.e. copy/paste the file contents regardless of which mission is now. Given that Doom 3 GUi language only allows to use if-s inside event handlers, the second approach is only valid if you use it inside a single script event handler. Which is often too small. But then the parts which are not specific to either mission will be included/present twice, no? In fact, if #include sounds complicated to you, you can just do everything without it. Imagine that file2.gui contains the full GUI code for mission 1, and file2.gui contains the full GUI code for mission 2. Just put contents of both files into mainmenu_briefing.gui surrounded by appropriate #if MM_CURRENTMISSION == ? and #endif. Preprocessor will process each #if and drop the ones which are false. Since #include is just a command for preprocessor to copy/paste, it works effectively the same way. It just allows you to have one mission per file instead of one megafile with the stuff for all missions (well, as long as paths are correct).
  11. https://www.ttlg.com/forums/showthread.php?t=134733
  12. So can you just use a mainmenu_briefing.gui file with only above code and have these seperate files that have the full gui code in them for the specific briefings for each mission? Sorry it's just a bit difficult for me to wrap my head around it. Is there an example of a campaign using advanced gui? I'm writing this draft for updated campaign documentation: https://wiki.thedarkmod.com/index.php?title=User:Datiswous
  13. Hmm yeah newdark also works for both thief 1 and 2 and also the gold version it seems. https://www.ttlg.com/forums/showthread.php?t=141148 latest version seems to be from 2019.
  14. 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.)
  15. No, it is not up-to-date. You can use gui::CurrentMission, but it is not flexible enough. You need to set defines to enable/disable mission stages, like briefing or briefing video. You can't enabled defines depending on GUI variable, you can only enable them depending on define like MM_CURRENTMISSION. I'd suggest the following way to set up campaign: Forget about campaign and concentrate on the first mission. Set up the first mission as you normally do. Save the customized files somewhere. Set up the second mission as you normally do. Save the files somewhere. Set up the third mission. Now look at all the differences in GUI code between three variants, and wrap them into #ifdef-s by MM_CURRENTMISSION however is more comfortable for you. For instance, if you need to separately enable/disable stages or change menu backgrounds, you can make 3 sections in mainmenu_custom_defs.gui inside #ifdef-s. If you want to play different briefing video, you can do #ifdef around MM_BRIEFING_VIDEO_MATERIAL_1 and set it to different stuff depending on the define. If you want to make GUI briefings with custom GUI code, you can put them into mainmenu_briefing_1.gui, mainmenu_briefing_2.gui, mainmenu_briefing_3.gui, then include one of these files based on MM_CURRENTMISSION inside mainmenu_briefing.gui. Of course you can avoid this copying around and keeping 3 versions if you understand how it works and how you plan to manage it.
  16. On the upside this might make some people actually happy: https://forums.thedarkmod.com/index.php?/profile/34053-xolvix/&status=4090&type=status
  17. I started using Unexpected Keyboard for Android phone.

    It's pretty cool, because it has an actual Ctrl key, which you can use to do cut, copy and paste actions via x, c and v. pretty handy in the forums, to move quoted text around for example.

  18. Hm third mission doesn't work and there is a bug.. False alarm! It works with the full campaign. There's just one issue. After finishing mission 3, or if you quit the mission halfway, if you then start again, it will load the briefing of the previously played mission (instead of the briefing from the first mission). Then after the briefing, it starts the first mission correctly. You have to restart tdm to fix this. I'm not sure if this can be fixed with some gui code, or that I have to file a bug report. It is also present in Hidden Hands Blood & Metal. I'm currently playing on tdm 2.13
  19. If you still have the game's product code you can add it to steam and then you can install it via it's download. I think this is how I got Prey (2006) in Steam. I still have the discs for T1 (not Gold) and 2 so could give it a try.. What is actually better about the original Thief 1 in comparison to Gold?
  20. Finally found it!!! A coin on the market stand in Arcade Alley. I absolutely refused to use the cheat code, and it paid off.
  21. i ditched the TDM unwinder changes completely in favor of the method used by msys2 clang. the libstdc++ dll now uses the static unwinder by default which means C++ code that relies on the dll (needed if throwing exceptions across dll boundaries) no longer requires the libgcc dll, it is wholly standalone like clangs libc++. this could probably use some refinement because it does run the risk of duplicate symbols because the libstdc++ dll now has the C unwinder symbols linked in. one way to get around this would be with C++ wrappers around the unwinders so that the the symbols dont collide when linking with libgcc_eh and libstdc++ so something along this line #ifdef __cplusplus C++ wrapper for say _Unwind_Resume with a different symbol (something like _unw_resume maybe) #else standard C _Unwind_Resume #endif
  22. This doesn't work. I get a black screen with a cursor and in the console I get an error stating it cannot find the file referenced in the first #include, although the file is present with that name in that location. I think maybe it's only possible to #include a gui from an external file if the file where you place the include already has some gui code?
  23. No, this code you are supposed to write yourself. Just put the following inside mainmenu_briefing.gui: #if MM_CURRENTMISSION == 1 #include "mainmenu_briefing_preamble.gui" #elif MM_CURRENTMISSION == 2 #include "mainmenu_briefing_riddle.gui" #elif MM_CURRENTMISSION == 3 #include "mainmenu_briefing_final.gui" #endif
  24. What code do you use to reference which gui files to use per MM_CURRENTMISSION ? I cannot find this info in mainmenu_briefing_1.gui .
  25. There is a post over on TTLG: https://www.ttlg.com/forums/showthread.php?t=153145 Just re-checked, it was also just "an idea" and the scripts he posted mainly resolve around the enemy movement speed. I was so hooked up on that idea that I didn't remember this in the first place, sorry!
×
×
  • Create New...