Jump to content


WFG Programming Team
  • Posts

  • Joined

  • Last visited

  • Days Won


s0600204 last won the day on September 12 2023

s0600204 had the most liked content!


About s0600204

Contact Methods

  • Website URL

Profile Information

  • Gender

Recent Profile Visitors

4.658 profile views

s0600204's Achievements


Triplicarius (5/14)



  1. Are you attempting to build with python 3.12 (or newer) installed globally? Then please see https://code.wildfiregames.com/D5227.
  2. *sigh* Enough. Both of you. I'm locking this thread for a few hours, in order to force a time out. Kindly get some sleep, fresh air, (or whatever) and come back tomorrow. Please do not continue this via Private Messages or elsewhere, or you may face temporary bans. @SKAcz: I hope the responses you received in good faith proved helpful, and Welcome to the 0 A.D. Community.
  3. Firstly, thanks for working on this. If we're excluding Windows-only binary files from the gitea repo, would the contents of ./build/bin be considered candidates for removal? And ./build/premake/premake5/bin/release/premake.exe? For Linux and macOS, the premake binary is (re)built as part of update-workspaces.sh, and I don't immediately see why we couldn't (eventually) do the same on Windows; The cxxtestgen executable only seems to exist to get around the need to install python, (which we require on *nix to also build spidermonkey - for Windows, python is bundled inside mozbuild, a required prerequisite on Windows-systems only); The svnversion executable looks to only be used during the creation of a release (and so would only need to be installed on whatever machine was assembling a Windows release), and likely wouldn't work if we start cutting releases from gitea anyhow.
  4. Incidentally, I've also tried looking into this. I'm pleased to say that (after spending more time than I care to admit on it) I can now successfully build sm91 using python 3.12. The bad news that is that my solution as-is is a mess, and probably won't work for others, particularly Windows or macOS users. It would be a lot easier, I'd imagine/hope, to patch SM102.
  5. Yes; corrected. @krt0143, add an empty <ProductionQueue/> element to your template.
  6. What you're looking for is the Builder component (<Builder></Builder>). Notably, the following mixin file, which is included into the definition of every unit that can build buildings: https://code.wildfiregames.com/source/0ad/browse/ps/trunk/binaries/data/mods/public/simulation/templates/mixins/builder.xml Note that this does provide civ-specificity: if your new structure template is named, say, brit/camp_example.xml, then adding it to the above file as structures/{civ}/camp_example will cause it to only appear in the build list of Britannic builders (builder units belonging to other civs - e.g. in-game allies - will be able to assist with construction once the foundation has been laid). The absence of, say, a mace/camp_example.xml template is silently ignored. That said, Athenian builders have an additional mixin for Athenian-only buildings: https://code.wildfiregames.com/source/0ad/browse/ps/trunk/binaries/data/mods/public/simulation/templates/mixins/civ/athen.xml You can also add it to specific unit templates, like how the Roman Army Camp is listed at the top of the "Basic"-rank variant of the Roman units that can build it: https://code.wildfiregames.com/source/0ad/browse/ps/trunk/binaries/data/mods/public/simulation/templates/units/rome/infantry_swordsman_b.xml
  7. Hi! Please follow the instructions here: https://trac.wildfiregames.com/wiki/ReportingErrors#Errors At first glance, it sounds like https://trac.wildfiregames.com/ticket/5265. (Which shouldn't be happening anymore, as it was resolved for Alpha 24.) What version of 0A.D. and macOS are you using?
  8. spidermonkey, when built as part of the pyrogenesis pre-build process, explicitly and intentionally disables the Intl api due to problems with the spidemonkey build process erroneously inserting an otherwise non-compatible version of the ICU headers into the include search paths of pyrogenesis, causing build failures. (See #5868) Subsequently, anything that uses the Intl api (e.g. <Date Instance>.toLocaleTimeString()) may not work as expected and (it seems) will fallback on using the local timezone of the computer upon which it is run. As 0 A.D. does not itself make use of this API, this has not been a problem until now. This is why you've had to use manual timezone offsets - the values of which will most likely only be correct for you and anyone else in your timezone, and only as long as you and your targets don't transition in or out of daylight saving time - instead of being able to leave timezone calculations to .toLocalTimeString(); and also why timezone identifiers are ignored and not validated. If/when D3127 is merged, it might be possible to re-enable the Intl api - people using a system-repo provided version of spidermonkey will most likely have access to it - but that will need testing and will not happen with the next release. Alternatively, it might be possible to consider building spidermonkey with the --with-system-icu flag instead of the --without-intl-api flag - which also prevents the issue with incorrect ICU headers - although some research may be needed to work out why the latter was used in preference to the former in the first place. (Added as part of the upgrade from SM24 to SM31 in r16214. In SM24 the Intl api was disabled by default; in SM31 it was enabled by default. As we don't use the api, perhaps it was to get a quicker build?)
  9. Yes. It's what's described as a "mixin", and it is used to add attributes common to many Athenian templates in a bid to reduce duplication. The template it refers to can be located in simulation/templates/mixins.
  10. Unsurprising. I'm a little busy at the moment with work, but I'll look into it when I get time. @ShadowOfHassen, hyperion's suggestion of working on top of a fork of 0ad.git is what I do for my two mods listed on mod.io. The script he provided (which works roughly the same as the script I wrote and use for the same task on my computer) detects which files have been altered, which means the output mod file will only contain files that have been modified by your commits. The script also supports auto-marking files that should be "deleted" (read: ignored) from mods that appear above it in the in-game mod list. As what you're attempting to do is modify not remove templates, this feature is probably not one you'll be using.
  11. See also: https://wildfiregames.com/forum/topic/22711-template-based-history-strings (was the announcement for the r19960 change that Stan` linked to above, in case it was unclear why that action was taken) https://mod.io/g/0ad/m/reference-suite-plus (contains many of the strings removed by r19960) (might not work with SVN/A27)
  12. Tough. The original poster got his answer; everything else appears to be just trolling and flaming.
  13. Was that with or without the differential Stan` mentioned above (D3127) applied? (Because that should now work...)
  14. Unfortunately SETUPTOOLS_USE_DISTUTILS=stdlib is not a long-term solution, as the python standard lib's distutils is deprecated as of python 3.10 and due to be removed as part of python 3.12 (scheduled to be released October 2023). If spidermonkey intends to keep using distutils past that point, they are going to have to use setuptools' vendored version. (And either spidermonkey, Debian, setuptools - or a combination of all three - are going to have to come up with an official solution to this.) @Itms with the caveat that as of writing this I haven't completed a full build of spidermonkey on my VM - so there may be failure later in the build - here's the patch:FixInstallScheme.diff Needless to say it's not suitable for applying on Windows systems (as that would, at a guess, use the "nt" scheme).
  15. Ok, I've now created a Bookworm VM myself, and my current findings: I can duplicate the build failure if python3-setuptools is installed from the Debian repos. Uninstalling it clears the issue. (@hyperion this is probably what you're missing.) My earlier patch doesn't work. The reason it doesn't work is because of how setuptools resolves the installation scheme - ask it to use "posix_prefix", and setuptools asks sysconfig what the preferred scheme is for "prefix", whereupon it gets the response "posix_local". So setuptools uses that scheme instead. That reason sysconfig returns that value is due to the modifications Debian has made to that module. (It's also where the detection of virtual environments takes place. And fails because this bit of the process isn't being run inside a virtualenv.) setuptools attempts to use "posix_prefix" on posix-y systems anyway under certain circumstances (which spidermonkey's build process meets), so my patch - even if it was correct - is redundant. @Itms I may have an alternate solution - albeit one that will conflict with the patch you've imported from SM - but I need to sleep right now so I shall have to get back to you with it.
  • Create New...