libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
10.17k stars 1.82k forks source link

Compressed ROMs produce different CRC and different game name for Netplay #11303

Open BrianAtwell opened 4 years ago

BrianAtwell commented 4 years ago

Description

Balloon_fight.7z will be listed as Balloon_fight.nes (0a1cac62) in netplay. The same ROM uncompressed (Balloon_fight.nes) will be listed as Balloon_fight (fd1bc987) in netplay.

When users try to connect to Balloon_fight.nes netplay game, an error message says that the filename and CRC do not match. Both uncompressed files are the same. Also the name Balloon_fight.nes and Balloon_fight to some users may not realize that it is different because the game named Balloon_fight will contain a Balloon_fight.nes file.

Expected behavior

Either the hash and name should match the uncompressed file. Then netplay would work for systems that decompress it on the fly.

Or the game name should also include the compressed extension (.7z). Users would know to compress their copy to match a user they are trying to connect with. It might be possible to apply different compression settings that the compression may also cause a different CRC. But they would need to contact the remote player to get the same version. This can be difficult on systems such as SNES mini using Hakchi where the ROMs are automatically compressed.

Or add to FAQ and release notes documentation that on the fly decompression netplay is not supported with decompressed original copy. Yes it says same content but decompressed content is the same.

Actual behavior

User A with Balloon_fight.7z with same Balloon_fight.nes file cannot netplay with user B with Balloon_fight.nes.

Steps to reproduce the bug

System A Compress single ROM as .7z on one system start netplay host. System B use original ROM try to connect to host on netplay. System B will get error message bad game name or CRC.

Version/Commit

RetroArch 1.8.4

Environment information

SNES classic Linux Windows

Work around

This section was added to help users use RetroArch in its current state. Assume netplay game names ending with a file extension are compressed. Ask other player for the compressed version. Assume netplay game names with no extension are uncompressed.

LibretroAdmin commented 2 years ago

@Cthulhu-throwaway Can this be closed or is this still relevant?