Jump to content

hyperion

WFG Programming Team
  • Posts

    936
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by hyperion

  1. Variants can also be actors, so one level of indirection might do the trick for you.
  2. Gorgeous and with fantastic sound https://www.youtube.com/c/play0ad
  3. Right in-game scenario editor is Atlas (-atlas option). Well, appimages have exactly one payload application but that could also be a shell script passing args to pyrogenesis unless there is an option -editor in which case it would run ActorEditor or in case of -h, --help print the readme.txt in binaries/system.
  4. Ha, creative use of github Quick notes looking at the yml: 0ad tarballs don't get checked for checksum mismatch No checksum generated for the app image ActorEditor doesn't look accessible 0ad.appdata.xml belongs into /usr/share/metainfo/ instead
  5. Maybe use "go to work on resources" or similar for now even if a somewhat poor fit, so there is a slim chance it makes it into a26 still and file a bug on trac with the commands needed to cover Chinese properly.
  6. Thanks, I probably have a rough idea now. on commit to trunk: for each builder in freebsd windows-v2015 linux-gcc7 linux-clang7 macos: restore snapshot ${builder}:trunk do partial build on success: run tests on failure: go boink update snapshot ${builder}:trunk on failure: go boink keep logs Well, except macos, hurray to MacStadium Should be possible to use worktrees if careful, but clones are robuster. Another hack to save another 30+ GB $ git checkout $(git commit-tree -p HEAD $(git hash-object -t tree /dev/null) < /dev/null) save/restore snapshot $ git checkout HEAD^ The combination would shrink your repo to a couple kB and the snapshot to basically only build artifacts. PS: windows-v2015 has c++17 support?
  7. https://trac.wildfiregames.com/wiki/JenkinsSetup isn't really helpful in understanding the current setup or what you want to do, neither zfs, docker, phab integration, full/partial builds, machines nor test runs are mentioned. Anyway I thought worktree support was added a few years back, whether this might be of use here I don't know
  8. Well, if you can't figure out the right path, worst case you could patch ColladaManager to not dlopen but to link directly to collada, then it would behave like the other deps.
  9. libCollada.so is dynamically loaded by 0ad and not via linker, so location must match 0ad-libdir for it to be found. I never dealt with app images, but your --libdir and --bindir settings look wrong (libdir in particular). I'd assume you can use the default values just fine. Edit: fix hard to parse typo
  10. Using entityid as order is just one possibility, straight forward and easy to understand. Nothing inherent. Basically you have two types of events, those that have or might have side effects and those who don't (at least wrt simulation). The removal of a corpse for instance is a case of the latter. For events with side effects you must guarantee the same order of execution every single time, however you do it.
  11. It was removed. The main reason might have been it being deemed sexist.
  12. Cloned, loaded and crashed Tried with A25, see below for the errors: ERROR: JavaScript error: globalscripts/Templates.js line 21 simulation/data/civs/east.json doesn't contain Name loadCivFiles@globalscripts/Templates.js:21:11 loadCivData@gui/common/functions_utility.js:37:28 @gui/gamesetup/gamesetup.js:13:30 onPress@gui/pregame/MainMenuItems.js:90:13 performButtonAction@gui/pregame/MainMenuItemHandler.js:77:9 pressButton@gui/pregame/MainMenuItemHandler.js:63:10 ERROR: JavaScript error: gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Sliders/RelicCount.js line 51 can't access lexical declaration 'g_CivData' before initialization @gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Sliders/RelicCount.js:51:1 onPress@gui/pregame/MainMenuItems.js:90:13 performButtonAction@gui/pregame/MainMenuItemHandler.js:77:9 pressButton@gui/pregame/MainMenuItemHandler.js:63:10 TIMER| gamesetup/gamesetup.xml: 61.2914 ms TIMER| common/global.xml: 271.786 us ERROR: JavaScript error: globalscripts/Templates.js line 21 simulation/data/civs/east.json doesn't contain Name loadCivFiles@globalscripts/Templates.js:21:11 loadCivData@gui/common/functions_utility.js:37:28 init@gui/gamesettings/GameSettings.js:24:13 SetupWindow@gui/gamesetup/SetupWindow.js:29:39 init@gui/gamesetup/gamesetup.js:47:18 onPress@gui/pregame/MainMenuItems.js:90:13 performButtonAction@gui/pregame/MainMenuItemHandler.js:77:9 pressButton@gui/pregame/MainMenuItemHandler.js:63:10 ERROR: GUI page 'page_gamesetup.xml': Failed to call init() function
  13. Quick notes only header sorting: changing sort order might cause changes. IIRC curl on at least on windows isn't safe and we can't assume the code base to be free of "order hacks" loops: std::ranges::iota is c++23
  14. Human reaction time is around 200ms, some gamer are even faster. 50ms with 150ms net delay sound like a very nice target indeed.
  15. Just because teams aren't locked doesn't mean there can't be defaults. Looks like a bug.
  16. c-style ps_stringutils_stringFromDouble as for str, I don't like this as a namespace name, I'd prefer a proper name. If it's to long in certain TU due to heavy use just use using or alias.
  17. When logging in there there should be a checkbox for staying logged in, otherwise after a certain timeout you will be automatically log out.
  18. Changing CC always has it's price and shouldn't be done lightly. The c++ core guidelines linked by @vladislavbelov earlier would otherwise be an ideal basis to start with as a parent for CC. auto: I like where the CC speaks of using auto in moderation. old style for loops: well, one could theoretically argue anyone with any coding experience in any language knows how they work at a glance which might be of minor help in maintenance but personally I don't mind. misc: moving lib/* to ps/* is fine with me, this is a historic curiosity that could stay but if someone wants to do all the cleanup, review, testing and committing - sure. The alternative is to split lib/* into an own repo and depend on it, so as to align with the original intent but I see this as the lesser approach here. I also have a preference for free functions over the CStr approach.
  19. Parsing xml isn't very fast, also you have a whole inheritance chain of xml files for a template. Once you have done all work you have an in memory representation which you could just dump bit by bit to disk and read back which is much faster. Well, it's not exactly as easy but explains the basic idea quite well. The code is open, for the gory details I suggest you start digging into it.
  20. This was changed at some point so you can't hide 200 units in a fort.
  21. I think there is bug where if water height is much different to terrain height the view rect in the minimap gets rendered out of proportion.
  22. Agreed, just changing the default isn't the best way. Some UI changes to properly promote forwarding without confusing users certainly would be better. Rewarding hosts with a "first class host badge" is probably already a good incentive. But we shouldn't assume people to be stupid and properly tell them the drawbacks of each method. There simply doesn't exist a just works solution without wfg hosting the games or proxying all traffic. So implicitly pretending otherwise wont help casting a good light on 0ad. I faintly recall @Langbart having written a guide somewhere ... Forwarding requires you to have sufficient rights to configure your router. Stun is a technique which allows you in some cases to bypass this limitation. So quick'n dirty solution only in the sense that it's easily abused as a one trick pony. The biggest problem is only some people will be able to connect to you while others can't depending on their ISP, this giving the illusion of all is well when it's not.
×
×
  • Create New...