~dokomix/dokomix/+git/taisei:desync-investigation

Last commit made on 2021-06-02
Get this branch:
git clone -b desync-investigation https://git.launchpad.net/~dokomix/dokomix/+git/taisei

Branch merges

Branch information

Name:
desync-investigation
Repository:
lp:~dokomix/dokomix/+git/taisei

Recent commits

6d16d57... by laochailan <email address hidden>

fix a replay desync in the reimu_b code between clang and gcc

The desync was caused by implementation specific behavior with complex numbers. Depending on the compiler, multiplying a complex-type number 1+0*I by -1 will either yield -1-0*I (gcc) or -1+0*I (clang). Complex functions with a branch cut along the negative real axis, such as carg will respond drastically to such a difference in zero sign.

In the case of carg, the difference incurred by this is exactly M_TAU, which is irrelevant in most applications. In reimu_b, however there was one instance where the branch cut of carg was not handled (carg(a/b) != carg(a) - carg(b)). Even without the zero-sign inconsistency, this was a bug causing bullets to be absorbed by gaps that should not have been.

This commit fixes said bug (and simplifies two instances of unproblematic but needlessly complicated math). The result is that (i) the gaps now function properly, and (ii) new replays do not desync between gcc and clang anymore. Note, that this change slightly breaks replay compatibility to older replays that showed the buggy behavior of the gaps.

f598bd7... by Andrei Alexeyev <email address hidden>

upkeep: disable GNU extensions for the RNG checker

eca29bd... by Andrei Alexeyev <email address hidden>

taskmgr: fix taskmgr_finalize_and_wait not finishing all the jobs

d5f99b0... by Andrei Alexeyev <email address hidden>

enemy_classes: fix rng usage

a05cc2e... by Alice D <email address hidden>

Switch CI test builds (#299)

* Squashing Switch CI commits.

add switch CI test build

make consistent with other PR

pre-emptive PR changes

* fix merge issue

* use emsdk env var for folder paths (since i'm already in there)

* remove stray comment

6ae34cd... by Alice D <email address hidden>

Merge pull request #296 from taisei-project/emscripten-ci-test

Emscripten CI test builds

fcdbed3... by Alice D <email address hidden>

add cache back to emscripten latest test, with explicit tags, skipping if stable == latest

44e6d18... by Alice D <email address hidden>

remove cache for latest emsdk

d67c541... by Alice D <email address hidden>

more PR changes (whoops)

6eea1ce... by Alice D <email address hidden>

better step names