I'm replying through a webmail, so please bear with me.

Quoting Kyle <[EMAIL PROTECTED]>:
> 1. The Linux host runs fine, the Windows client crashes with an empty
> random table. This is because it is unable to place its characters on
> the map, and uses up all 1024 random numbers in the table trying.

Good catch! I did notice the 2 separately but hadn't linked the 2.

> and sent. The other values that are placed in the table are never used
> unless the server / client get out of sync. This seems like non-optimal
> behavior.

You mean, like adding some signature to validate that a random number is used in
the correct place or something?

> 3. Character placement fails because the client is always placing the
> character in the ground. The only reasons I can see for this happening
> is if either the random values are messed up or if what is considered
> ground is messed up. When debugging this, it shows that it is trying
> positions such as 20636071, 60589966.

This works under linux, but I did find something suspicious (again) in Action. I
can't attach a patch nor commit right now, so I'll just explain. Action::Push
has a weird way to do the memcpy, using &tmp instead of tmp. The same was
happening with PopDouble. I guess lodesi just copy'n'pasted code without
noticing.

I'm not sure how this impacts the network.

> off from anything. One thing I have noticed is that RAND_MAX is defined
> differently on Windows (MSVC) and Linux. This would affect a lot of
> things in RandomSync I believe, and might explain some bugs.

Might be worth checking what the definition is for mingw.

Best regards,
Kurosu

_______________________________________________
Wormux-dev mailing list
Wormux-dev@gna.org
https://mail.gna.org/listinfo/wormux-dev

Répondre à