Release 3.3.0 beta 1

The projects speaking tube.
Add your two cents if you want to.
User avatar
Prot
Trained
Trained
Posts: 192
Joined: 29 Nov 2010, 12:41

Re: Release 3.3.0 beta 1

Post by Prot » 26 Mar 2019, 09:06

Berg wrote:
26 Mar 2019, 08:18
error |05:12:45: [loadSaveStructure:4984] Structure ECM1PylonMk1, x coord too near the edge of the map. id - 17
error |05:12:45: [loadSaveStructure:4990] Structure ECM1PylonMk1, y coord too near the edge of the map. id - 288
error |05:12:45: [loadSaveStructure:4990] Structure ECM1PylonMk1, y coord too near the edge of the map. id - 63
error |05:12:45: [loadSaveStructure:4984] Structure ECM1PylonMk1, x coord too near the edge of the map. id - 480

And its a mapmod the map is badly made.
I think editing rules.js is a mod
Prot wrote:
26 Mar 2019, 07:45
There is no mapmods, just clean map.
all this mods and bad maps.
No, there is not a mod causes this desync.
Here a clean map
8c-test.wz
(119.74 KiB) Downloaded 34 times
I clear every error i see, even

Code: Select all

error   |05:12:45: [loadSaveStructure:4984] Structure ECM1PylonMk1, x coord too near the edge of the map. id - 17

which is not an error from mapmod, It's just a structure placed close to the edge, not a mapmod.
Also i realign every object to the surface. And still map causes desync.

For now i 'm looking to code astar.cpp:631

Code: Select all

        uint32_t checksumMap = 0, checksumDangerMap = 0, factor = 0;
        for (int y = 0; y < mapHeight; ++y)
            for (int x = 0; x < mapWidth; ++x)
            {
                map[x + y * mapWidth] = fpathBaseBlockingTile(x, y, type.propulsion, type.owner, type.moveType);
                checksumMap ^= map[x + y * mapWidth] * (factor = 3 * factor + 1);
            }
        if (!isHumanPlayer(type.owner) && type.moveType == FMT_MOVE)
        {
            std::vector<bool> &dangerMap = blockMap->dangerMap;
            dangerMap.resize(mapWidth * mapHeight);
            for (int y = 0; y < mapHeight; ++y)
                for (int x = 0; x < mapWidth; ++x)
                {
                    dangerMap[x + y * mapWidth] = auxTile(x, y, type.owner) & AUXBITS_THREAT;
                    checksumDangerMap ^= dangerMap[x + y * mapWidth] * (factor = 3 * factor + 1);
                }
        }
        syncDebug("blockingMap(%d,%d,%d,%d) = %08X %08X", gameTime, psJob->propulsion, psJob->owner, psJob->moveType, checksumMap, checksumDangerMap);
Someone can tell me what is the "factor" variable do?
And how can i dump both version of array of two players "dangerMap" when desync is appear? I want to see diff of coordinates and auxbits that take something wrong.

Cyp
Evitcani
Evitcani
Posts: 749
Joined: 17 Jan 2010, 23:35

Re: Release 3.3.0 beta 1

Post by Cyp » 26 Mar 2019, 12:23

Maybe dump every danger map, with the hash as the filename (and hope it doesn't fill up the drive before it desynchs).

The factor is just a pseudorandom number, so each cell has a different factor contributing to the hash.

User avatar
Berg
Regular
Regular
Posts: 2167
Joined: 02 Sep 2007, 23:25
Location: Australia

Re: Release 3.3.0 beta 1

Post by Berg » 27 Mar 2019, 06:03

This is the map listed on this thread download/file.php?id=18152
It has a modified rules.js to me thats a mod

User avatar
Berg
Regular
Regular
Posts: 2167
Joined: 02 Sep 2007, 23:25
Location: Australia

Re: Release 3.3.0 beta 1

Post by Berg » 28 Mar 2019, 02:17

Well after a game on the fire map i was shooting the enemy through my walls with mg's on 3.3.0beta1 and also any other structure you care to mention
THe structures only block movement not bullets

User avatar
moltengear
Trained
Trained
Posts: 138
Joined: 22 Jul 2017, 15:05

Re: Release 3.3.0 beta 1

Post by moltengear » 28 Mar 2019, 03:18

Berg wrote:
28 Mar 2019, 02:17
Well after a game on the fire map i was shooting the enemy through my walls with mg's on 3.3.0beta1 and also any other structure you care to mention
THe structures only block movement not bullets
So even better! "We managed to improve the performance of the game. There will be less CPU load." :lecture: :good: :focus:

User avatar
moltengear
Trained
Trained
Posts: 138
Joined: 22 Jul 2017, 15:05

Re: Release 3.3.0 beta 1

Post by moltengear » 28 Mar 2019, 03:25

1) It happens that my menu disappears for a while. I can't even write a message.
But I can control the army with the mouse.

2) Seldom. Also, when updating the plant, I look and there is no one plant at all!

Bethrezen
Regular
Regular
Posts: 635
Joined: 25 Sep 2009, 02:05

Re: Release 3.3.0 beta 1

Post by Bethrezen » 04 Apr 2019, 02:40

I take it XP support still hasn't been sorted out ? because i just tried to run this but I'm just getting the this is not a valid win 32 application error.

unfortunate :(

pastdue
Warzone 2100 Team Member
Warzone 2100 Team Member
Posts: 208
Joined: 13 Aug 2017, 17:44

Re: Release 3.3.0 beta 1

Post by pastdue » 04 Apr 2019, 18:58

Bethrezen wrote:
04 Apr 2019, 02:40
I take it XP support still hasn't been sorted out ? because i just tried to run this but I'm just getting the this is not a valid win 32 application error.
Nope. We're still waiting on that vcpkg PR (that doesn't look like it's moving at the moment).

Ultimately, it's looking unlikely to arrive anytime soon.

Not to restate what several people have stated before, but: It isn't even remotely safe to be using Windows XP anymore, regardless of what measures you take. If you aren't interested in upgrading to a more modern (supported / security-patched) version of Windows, Linux will likely run quite well on your system. Various Linux distros have "Live" Boot DVDs so you can try it without installing it to your hard drive - here's a link to Ubuntu's tutorial on how to do it (just burn a DVD, or copy it to a USB drive - super simple to try): https://tutorials.ubuntu.com/tutorial/t ... ou-install

You could also dual-boot Windows XP and a modern version of Linux, and run Warzone in Linux that way. (Which would also give you the chance to experiment and gain familiarity with Linux.)

User avatar
moltengear
Trained
Trained
Posts: 138
Joined: 22 Jul 2017, 15:05

Re: Release 3.3.0 beta 1

Post by moltengear » 09 Apr 2019, 20:21

Not every player can create a host. Guys, is it possible for the server to take on the responsibility of the host when starting the game, and after that the transfer of messages is already only between players.
I think it would be good if there will be the ability to lock the player also on his ip and not only by his nickname.

User avatar
moltengear
Trained
Trained
Posts: 138
Joined: 22 Jul 2017, 15:05

Re: Release 3.3.0 beta 1

Post by moltengear » 25 Apr 2019, 08:08

Maybe use rapidjson? It is the fastest and has only a header file.
http://rapidjson.org/

User avatar
Berserk Cyborg
Code contributor
Code contributor
Posts: 770
Joined: 26 Sep 2016, 19:56

Re: Release 3.3.0 beta 1

Post by Berserk Cyborg » 02 May 2019, 23:27

I was able to reliably reproduce this desync on this map.

I used shared-research, advanced bases, and a local multiplayer connection with 6 Nullbots. It is important to note this seems to be only reproducible when a few bots are on this map since it causes a huge amount of lag.

First cheat in a transporter and fill it with units. Then position and disembark units rapidly as close to one of the many pits filled with water. Sometimes the desync happens in a few seconds after doing this but it can take a few minutes also.

If positioned close enough you will see the units momentarily fly across the screen when disembarking them. Included is a screenshot of how the transporter should be positioned.

desync.zip
(417.47 KiB) Downloaded 18 times

User avatar
Iluvalar
Regular
Regular
Posts: 1798
Joined: 02 Oct 2010, 18:44

Re: Release 3.3.0 beta 1

Post by Iluvalar » 03 May 2019, 05:14

Does modders have ability to set the accuracy nowaday ? Or is it still buggy out of pure lazyness ?
Heretic 2.3 improver and proud of it.

Post Reply