fuzziqersoftware / newserv

Phantasy Star Online game server, proxy, and reverse-engineering tools
MIT License
161 stars 36 forks source link

[Episode 3] Only first banner image loads #464

Open RaikohKatsushiro opened 5 months ago

RaikohKatsushiro commented 5 months ago

Bug: When providing multiple images (with non-conflicting bit masks) in config.json, only the first one actually appears in the lobby, in all of the places represented by all of the bit masks in the array of images.

To reproduce

  1. Put the following on config.json:
    "Episode3LobbyBanners": [
    [1, 0x00000020, "1.bmp"],
    [1, 0x01000000, "2.bmp"],
    [1, 0x04000000, "3.bmp"],
    ],
  2. Run the server, see the logs saying that all 3 images were successfully loaded.
  3. Go online, enter lobby, and see image "1.bmp" is in all 3 places represented by the 3 bitmasks.

Game version: Episode 3 via Dolphin (cannot test on actual GC hardware).

Thanks!

fuzziqersoftware commented 5 months ago

I've done some further research on the Ep3 media update command and refined the GVM encoder. Unfortunately, some of this research leads to further restrictions: images must be square and both dimensions must be a power of two. But the end result is that this now seems to work with arbitrary banners; I can now load two different banners in the same lobby and they both appear. Please try out the latest master version and let me know if it works for you.

RaikohKatsushiro commented 5 months ago

Not sure when I'll be able to attempt building from source, but in worst case I'll check it out on the next release. Thanks!

Matt-Swift commented 4 months ago

I haven't been able to get this one to work with decode-gvm.

Gigobooma.zip

These are the files being used, but no matter how I load them, I always get the same one twice. There's not many differences between the two files - one has a black background and one is transparent.

Config is as such:

  "Episode3LobbyBanners": [
    [1, 0x00000001, "Gigoboomareal.gvm.prs"],
    [1, 0x00400000, "Gigobooma.gvm.prs"]
  ],