Jump to content
The Dark Mod Forums

greebo

Root
  • Posts

    16747
  • Joined

  • Days Won

    54

Posts posted by greebo

  1. On 4/18/2026 at 4:36 PM, func_klaus said:

    @greebo I've been learning a lot from your code and the architecture of DarkRadiant. Never had a C++ unit test suite that ran so smoothly! Kudos to you for all the fine work on the project.

    Thanks for these words, I appreciate it a lot. For some things I guess it's better not to look at how it's done in DarkRadiant and to keep an open mind for better architecture 😄, but overall it has come a long way since we forked GtkRadiant.

    As far as development is concerned, I guess you're already doing a good job, so just keep it up. As usual in open-source development, the most useful fork will gain popularity, so I think we don't need to keep merging back into my upstream repo. But it might be useful to sync up with OrbWeaver's fork over at gitlab.com from time to time, and vice versa.

    As far as releases are concerned, in the past I just picked a suitable time between a couple of fixes and new features to call it a new release. I have some scripts and installers helping me do the thing on my local machine (but this is all Windows based and probably not of any use for you).

    There's also the darkradiant.net domain which could go into better hands, I'm still holding the domain account for that.

    (And before I forget, I've picked up from the wxWidgets release notes that there might be some sort of dark mode implemented for the Windows port, I know some around here might be quite happy about that.)

    • Like 2
  2. On 4/20/2026 at 8:42 PM, OrbWeaver said:

    I'm not sure how the web site works these days — is it Git based?

    The website is this Git repo here: https://github.com/codereader/codereader.github.io

    After pushing something, an automated action will take care of deploying the Jekyll site to github.io. That has all been done out-of-the-box by Github templates, I didn't have to do much other than setting up the DNS. There's an A record and a CNAME which point to github or codererader.github.io, respectively.

    It's been years since I set this up, but I'm sure there's an up-to-date guide on how to host website content on github.io.

    I'd almost bet there's a similar solution is offered by gitlab.com, probably it's just the DNS record which needs changing.

    • Thanks 1
  3. Thanks for doing the digging. Libxml2 is so widely used, that it's hard to imagine nobody else has this kind of trouble, so I'm still thinking it must be in the way we use it. Also, why just in Linux, it all doesn't make much sense. I agree it's not worth doing more investigations when an easier alternative is at hand.

    Yes, I'd add them to the libs, and I'm probably going to set the PUGIXML_HEADER_ONLY flag, at least in Windows.

  4. Oh boy. Thanks for investigating this, reading the issue description I suspected that the XPath queries might be failing, but I thought it was rather due to the libxml2 version used in newer Ubuntus. I recall now that the automated Ubuntu build on Github is not running the unit tests (couldn't get it to run and gave up at some point) - so I missed that this is breaking stuff.

    I searched around for existing code to find out what to pass for that encoding parameter in xmlReadFile, but I couldn't find anything useful, everybody seems to pass NULL as argument, which I ended up doing too.

    12 hours ago, OrbWeaver said:

    It makes me wonder if it would be better in the long term to ditch the reliance on libxml2 and instead use one of the light-weight C++ XML parsing libraries like RapidXml or pugixml instead

    I'm all for that, I was that close of doing it when I upgraded libxml2 for Windows. As long as it's supporting XPath and XML Tree manipulations, I'd go for the most light-weight one, maybe even header-only. Our libxml2 usage is confined to xmlutil, so it should be possible to switch. edit: I'd vote for pugixml, it seems to be still alive and has XPath support. It's what I've been using in the TDM game code too.

    But still, if it's the tree manipulations that break the queries, we can either try to find out what we are doing wrong here, or move away from pushing the .game data into the registry trees - it might not be necessary after all, since most (if not all) code is relying on the GameManager interface to get do the queries.

    For the moment being, I can revert the change to xmlReadFile, so that my repo is functional again.

    Are you still investigating this? You seem to have gotten quite far already.

  5. 16 hours ago, Skaruts said:

    I tried having separate portable DR installations for each project, but it seems DR isn't properly portable either, as the game setups are also stored globally. So that didn't work either.

    You can create shortcuts to DR, passing an fs_game=your_fm parameters to DarkRadiant.exe, e.g.

    DarkRadiant.exe fs_game=fms/yourmission

    It will override the setting saved to the user.xml file in your settings folder. Works with fs_game_base as well.

    • Thanks 2
  6. On 1/6/2024 at 7:21 AM, datiswous said:

    You can download a portable version of each, although the settings are shared, so it's not really portable.

    Since a few versions the settings are saved by minor version - so DR 3.7 is storing its settings in a "3.7" subfolder, and DR 3.8.0 is saving them in "3.8". (DR 3.7.1 and 3.7.2 would use the same "3.7" folder.)

    Settings are carried forward the first time you start a newer version. So, when DR 3.9 first starts up, it will use the settings of the highest previous version available, then store its settings in the "3.9" subfolder to not overwrite anything from previous versions. (This is similar to what's Blender is doing, at least I think it is.)

    What's correct though is that the "portable" version is not differing from the installed one in terms of where it stores it settings. They both behave the same. One could maybe vote for having the portable version to store its settings right next to the executable. But to support this, we'd need a configurable code path or maybe even a separate compilation for the portable edition.

    • Like 1
  7. On 1/7/2024 at 10:24 PM, demagogue said:

    Hopefully you can let me know if DR is something I can run on this laptop or not.

    Don't see much in the dump, I'm afraid. I can see it's been running into a critical failure, but that's it. Can you have a look at your darkradiant.log file, or maybe send it to me? Maybe it tells me something.

    (You already tried to remove your settings XML files from C:\Users\greebo\AppData\Roaming\DarkRadiant\3.8, I take it?

    You can back them up if you need them around. Just move the whole contents of the C:\Users\greebo\AppData\Roaming\DarkRadiant\ folder to somewhere else and start DR. In case you didn't try that already.)

  8. You will run into problems with worldspawn geometry, since the engines are usually working with single-precision floats. You'll not be able to distinguish anymore from planes that are 0.5 units apart (which sounds ok, but for angled intersections and sealing geometry this might not cut it, literally).

    (This question really is not so much about the editor, which is working with doubles to store geometry - even though the DR renderer is also operating on single precision floats - this provides a huge performance benefit over doubles).

    • Like 2
×
×
  • Create New...