-
Posts
17.575 -
Joined
-
Last visited
-
Days Won
557
Everything posted by Stan`
-
I'm not the sole decider for this, but what do you expect for the "official" part? As opposed to say, community balancers. There is indeed a lot of writing to be done on 0 A.D. whether it's in the game or in the documentation, but you currently do not need more permissions that you currently have There is also the design document, that has never been updated to reflect the current state of the game that could benefit from a polish. Then there are the side tasks like adding new tips to the game https://code.wildfiregames.com/D4189 @Nescio did a very good job standardizing unit tooltips and whatnot and perfecting the english style guide. There were also some more debatable changes like changing stone to rock and and metal to ore in the editor but overall it brought a layer of consistency which is welcome. Now I must warn you though, this is a thankless job, and it will often happen that stuff gets in and needs to be corrected afterwards.
-
Ah yeah, I thought you wanted to give up on the project See also https://trac.wildfiregames.com/wiki/TranslatingMods
-
less precise sorting in range manager
Stan` replied to real_tabasco_sauce's topic in Game Development & Technical Discussion
It could also be a compiler difference @phosit is using GCC while @real_tabasco_sauce is using MSVC. Maybe gcc has a harder time optimizing that specific code (would be a first, since it's usually the converse but who knows) The more logical explanation is the cause of the slowdown is not correctly identified, could be the sorting, could be the computation or something else. -
No worries. No they are not. They are replaced when the game is running. Each translated string acts as a key that is used to find a translation, if none is found the default string is displayed. How so?
-
Once the strings have been extracted in the pot file, unless there are conflicts between two strings, calling the translate method anywhere will replace it by the correct translated version, you can grep for translate in the code base to see usage examples.
-
You can extract json files as well, like the options.json file.
-
https://trac.wildfiregames.com/wiki/Localization https://trac.wildfiregames.com/wiki/EnglishStyleGuide Basically every monday and friday we generate the translation templates and we pull new translations from Transifex. You have to tell the scripts which generate the templates to pull the strings from your code depending on where you put it. You can use translateWithContext for that particular purpose https://trac.wildfiregames.com/wiki/Implementation_of_Internationalization_and_Localization#JavaScriptTranslationCacheSystem
-
If you are playing with IAs, you cannot rejoin.
-
A new git-based development environment
Stan` replied to Itms's topic in Game Development & Technical Discussion
Well you can request an account for Itms on gitea.itms.ovh, and look at every nook and cranny if there are broken/missing things. You can help with the request above your post I suppose. -
You forgot the space between -cr and /Users
-
This might help
-
Can you right click and then open ? If not you are gonna have to use the command line. The reason is that macOS recent version don't trust you "the user" to make safe decisions, and so it restricts every application by telling you they are corrupted when they aren't.
-
Can you take a screenshot ?
-
There is also https://replay-pallas.wildfiregames.ovh/ that allow you to share replays with other people to get an idea using as many replays as possible to someone's rating.
-
Hey, Triggers are special events that are "triggered" when specific actions are met e.g: tasking units to gather wood. See https://trac.wildfiregames.com/wiki/Triggers
-
less precise sorting in range manager
Stan` replied to real_tabasco_sauce's topic in Game Development & Technical Discussion
Well is it faster ? -
less precise sorting in range manager
Stan` replied to real_tabasco_sauce's topic in Game Development & Technical Discussion
int reverseMostSignificantBit(uint64_t n) { if (n == 0) return -1; // If n is 0, there is no significant bit set. int msb = 63; // Start with the highest bit position (63 for 64-bit numbers) uint64_t mask = 1ULL << 63; // Initialize the mask to check the highest bit while (mask > 0 && !(n & mask)) { msb--; mask >>= 1; // Move the mask to the next lower bit } return msb; } That's a naive way for that function. I must say I'm not yet convinced of your approach but we'll see. Another simpler version depending on the number size, might make a speed difference. int mostSignificantBit(uint64_t n) { if (n == 0) return -1; // If n is 0, there is no significant bit set. int msb = 0; while (n >>= 1) { msb++; } return msb; } -
Yeah sorry that's because when running in that mod it doesn't read configs from the old location so it acts like a new install. If you move the folder to another PC though since all the config files are in that folder that will never happen. With regards to the slowdown my guess is that it resetted the graphics options so it might have set the quality too high for your hardware. You can copy the old config from the appdata folder and put it in binaries/logs/ If the savegame took longer to load and you're moving from an ssd in c:/ to a hdd: in d:/ yeah that might explain the loading speed
-
less precise sorting in range manager
Stan` replied to real_tabasco_sauce's topic in Game Development & Technical Discussion
A good question one should ask is whether all the calls to that function are justified, whether they can be cached or batched. -
less precise sorting in range manager
Stan` replied to real_tabasco_sauce's topic in Game Development & Technical Discussion
In a non visual replay iirc isqrt takes about 1% of a match. -
You should put it after not before
-
less precise sorting in range manager
Stan` replied to real_tabasco_sauce's topic in Game Development & Technical Discussion
So... It's worse than without the patch? -
reading screen resolution in GUI scripts
Stan` replied to Vantha's topic in Game Development & Technical Discussion
let screen = guiObj.parent.getComputedSize(); let h = screen.bottom - screen.top; let w = screen.right - screen.left; let iw = h * 2; Just pick the highest element in the page you can grab.