Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

534507D6 - Sonic the Hedgehog #285

Open
Ichigo14 opened this issue Dec 9, 2015 · 132 comments
Open

534507D6 - Sonic the Hedgehog #285

Ichigo14 opened this issue Dec 9, 2015 · 132 comments
Labels
gpu-drawing-corrupt Graphics objects are garbled, glitchy, or corrupted in some way. issue-cluttered Issue is cluttered and needs to be replaced with a new one. state-playable Title can be reasonably played from start to finish with little to no issues. vsync-off-speedup Game speed changes when vsync is disabled or vsync interval is changed.

Comments

@Ichigo14
Copy link

Ichigo14 commented Dec 9, 2015

Marketplace

Issues:

Ingame with major glitches.

sonic3
sonic
sonic2

Labels:

state-gameplay, gpu-corrupt-drawing

@Razzile Razzile added state-gameplay Title has functional gameplay. gpu-drawing-corrupt Graphics objects are garbled, glitchy, or corrupted in some way. labels Dec 9, 2015
@Ichigo14

This comment has been minimized.

@cmexp

This comment has been minimized.

@theoldsport

This comment has been minimized.

@theoldsport
Copy link

theoldsport commented May 4, 2016

@cmexp Oh... well that's cheating! I guess my screenshot is a more accurate representation of how the game currently runs (unmodded)

@cmexp
Copy link

cmexp commented May 4, 2016

To be fair, it's only the graphics that are fixed. The physics are still all over the place in the modded game.

@Parovozik
Copy link

@SilverSzymonPL This half-playable (Sound OK, but some broken graphics and game mechanics)
LvL Crysis City (Vulkan) https://www.youtube.com/watch?v=CjHccEYhz5g
LvL Ocean Wave (OpenGL) https://www.youtube.com/watch?v=h_Jr5GbuSI8

@HorrorTroll
Copy link

HorrorTroll commented Jan 18, 2017

image
image
image
image
image
image
image
image
image

It work everything right texture all of NPC, the camera have a little buggy on wave ocean like before. The rings, sonic spikes on head it has been many error!!

Updated: Main meny background have black on half, no gun effect when robotnik shoot. Chaos Emerald is just a shape, not like the old build. Tree, flower is buggy, water is not animation. Background is just a black!!! Tails is normal now not buggy anymore!!

Use light chip on wave ocean, jump on 3 springs, jump to the whale head it will be a black screen and lose a life!!

This is the test on OpenGL in build (xenia-project/xenia@5b8b339)

On Vulkan test is just a black screen only hear the sound, button working!!!

@Irixion
Copy link

Irixion commented Mar 27, 2017

AMD GPU here. The retail release doesn't crash while using Vulkan, but has depth issues when using the cache.arc hack linked above.

untitled

Using the game vanilla just gives me a black screen. HUD elements work however.

@jthecodebuilder
Copy link

I have a Nvidia GPU, not AMD.

@Irixion
Copy link

Irixion commented Apr 10, 2017

Try updating your build, it shouldn't crash now. For me, it was just a temporary regression for one or two builds. Really hoping that AMD users will see some more parity with their nVidia counterparts. GL runs like molasses compared to the Vulkan...though without game modification the game doesn't draw any 3D assets.

@Irixion
Copy link

Irixion commented Apr 20, 2017

https://gist.githubusercontent.com/Irixion/30a55942162bccdb5046357d3e4e70cb/raw/e29c7bbab465fad78d65e0bf5bfb8289a53be698/xenia.log

Here's the log. Specifically this bit:

w> 00000004 GPU: Write to unknown register (045E = 00000004)
w> 00000004 GPU: Write to unknown register (045E = 00000004)
w> 00000004 GPU: Write to unknown register (045E = 00000004)
w> 00000004 GPU: Write to unknown register (045E = 00000004)

Lots of unknown register warnings.

@ActualMandM
Copy link

On latest master, it crashes at beginning loading on Vulkan. Using AMD GPU and CPU

Windows 10 (64 bit)
AMD FX(tm)-6300 Six-Core Processor
AMD Radeon (TM) R7 360 Series

Log file:
xenia.txt

@Parovozik
Copy link

Parovozik commented Apr 22, 2017

Tested on (xenia-project/xenia@cecc666)

Issues:

Vulkan. Color bug, invisible hair on Sonic
OpenGL. Invisible hair on Sonic
Core. Black screen bug if uses triple jump-pad (not freeze, not crash, game restarting from last checkpoit), black screen bug on dolphin (there auto change character but go on restart from last checkpoint). Sometimes blackscreen bug on circle-jump. Sometimes no physics (collision?) and Sonic falls through (example qte on jumping), but if locked 30fps then this works more good (but slow-mo ingame speed)
Audio - OK. Performance is good.

Logs:

Sonic_Vulkan_60FPS.txt
Sonic_Vulkan_30FPS.txt
Sonic_OpenGL.txt

Video:

YouTube_Sonic_Vulkan

Screenshots:

Vulkan:
desktop 04 23 2017 - 01 48 39 02 mp4_snapshot_01 26_ 2017 04 23_02 22 13
Vulkan:
desktop 04 23 2017 - 01 48 39 02 mp4_snapshot_00 42_ 2017 04 23_02 23 36
OpenGL:
desktop 04 23 2017 - 02 00 41 04 mp4_snapshot_01 18_ 2017 04 23_02 24 09

Labels:

gpu-corrupt-drawing
gpu-missing-drawing
cpu-timing (?)
state-gameplay

@Irixion
Copy link

Irixion commented Apr 23, 2017

@slashiee Your issue is caused by AMD's drivers. Upgrading to the latest drivers causes it to crash on my system as well. Removing them and letting Windows install them allows it to function properly.

@Parovozik The black screen "bug" is a crash handler in the game. It just kills you when it doesn't know what to do and reloads from the last checkpoint. As far as collision, the game's logic runs at 60 fps. If capped to 30, some unusual things may happen.

@Irixion
Copy link

Irixion commented May 10, 2017

https://www.youtube.com/watch?v=eTrbLqsxncc - Vulkan

https://www.youtube.com/watch?v=fOsP-yF-mXI - OpenGL

On the latest build, using the modified cache.arc file.

@Parovozik
Copy link

Parovozik commented May 14, 2017

Tested on (xenia-project/xenia@84758a3)
Now colors more correct, but still bugs as triple-jump-pad and etc

Video:

YouTube_Sonic2006_Vulkan

Screenshot:

xenia sonic2006 vk60 mp4_snapshot_00 53_ 2017 05 14_03 03 57

@Irixion

This comment has been minimized.

@Irixion
Copy link

Irixion commented May 14, 2017

https://www.youtube.com/watch?v=R344TIDtbss

screenie

Without the cache modification this is all I get.

@AllanCat
Copy link

AllanCat commented Jul 10, 2017

Workaround

I've just fixed the jump pad and camera error by rolling back this part in xenia-cpu:

  1. Commented out OPCODE_SPLAT in constant_propagation_pass.cc
    This is the main reason that cause various games's camera and vertices go wrong (PR#514)

You can find the exactly changes on my forked branch (Sorry about the space indentation lol)

Video

https://www.youtube.com/watch?v=AaJQHpAxCxQ
Everything seems back to normal, the game is pretty much playable now 💯

btw I don't know if this fixes/breaks the other games, also I have literally zero acknowledge of 360 emulation so I'd called this a workaround. That'd be cool if some developers can look into these codes. Should I raise a PR or Issue?

Edited: Deleted my change to ppc_emit_fpu since I can't reproduce nan's error, maybe it's just me missing something.

@ActualMandM
Copy link

I still have no clue on how to get this game working on Vulkan. Even on my new computer, it crashes on boot. OpenGL works fine, though.

GeForce GTX 1060 6GB
Intel Core i5-7600K @ 3.80GHz
16GB RAM DD4-2133MHz

image

@Irixion
Copy link

Irixion commented Jul 12, 2017

I have the same card. Though, make sure your drivers are up to date and that Vulkan is installed. Also, sometimes Xenia crashes for no reason when the log file exists. Try deleting that. Also try extracting the ISO's contents, and using the cache.arc replacement that's linked in this thread.

@ActualMandM
Copy link

@AllanCat Cache file works, thanks!

image

@Irixion
Copy link

Irixion commented Jul 12, 2017

There's only a couple of things that are still off with the game, though it's very close to perfect emulation. Hoping the Vulkan thread gets unlocked so we can discuss things. You're my hero @AllanCat

@gibbed
Copy link
Member

gibbed commented Jul 12, 2017

@Irixion While it's nice a temporary workaround was found, reverting changes blindly is not going to be accepted as a PR. This however, can be taken note of and be investigated when a contributor has time to.

@AllanCat
Copy link

AllanCat commented Jul 12, 2017

Got some time messing around with cache file. You can get it from here

  1. Fixed map graphic issue as the original cache hack didn't render it properly. (core/render_radermap.lub)
  2. OpenGL Speed up(by set GenerateCSMLevels and GenerateCSMObjects to 1), I'd say about ~20% faster though it still slows down at various situations(Too Much Water). At least it runs almost 60fps in crysis city and wave ocean.

Also by reducing audio buffer (kMaximumQueuedFrames in audio_sysrem.h) the latency feels better.

Video: https://www.youtube.com/watch?v=pOpKpM-N7xY
At this point I think I've already gone too far and done what I can with this game. Cheer up :D

@Irixion
Copy link

Irixion commented Jul 12, 2017

@owner Feels like there's regression with that in there though. The audio buffer (kMaximumQueuedFrames in audio_sysrem.h) though needs to be adjusted for Vulkan--the audio is slightly out of sync with the video.

@AllanCat Some levels set CSM levels for terrain and objects on their own. Xenia doesn't seem to be generating any shadow maps though, so levels look flat on both backends. However, how did you manage to edit the lub file? Did you use chunkspy?

There's some miscolouration on effects, things like flames for example. There's also some effects (such as bloom) that are misaligned (to the right) of where they should be. Not sure if the gpu corrupt tag is the right one for that.

@AllanCat
Copy link

AllanCat commented Jul 13, 2017

@Irixion
There's exactly one unluac fork that supports for lua5.0, it still has problem about for loop. Here I'm just bypassing the error:
decompile\Registers.java

  public Target getTarget(int register, int line) {
    if(!isLocal(register, line)) {
      //throw new IllegalStateException("No declaration exists in register " + register + " at line " + line);
      //
      decls[register][line] = new Declaration("_TMP_", 0, 0);
    }
    return new VariableTarget(decls[register][line]);
  }

This is a bit off topic, I think we can discuss on other place(discord or so). Thanks!

@AllanCat
Copy link

AllanCat commented Jul 18, 2017

Did some more researches about what works and what not, here's my progress so far:

Video:

https://www.youtube.com/watch?v=6GcLpbTM2QA

Reports:

Xenia issues:

Found three spots which broke a lot of games, still need to fix them instead of just reverting the commits. (mentioned here and here)

Common issues:

  1. Not supporting MSAA caused game crash(vulkan) or glitched(gl).
    Fixed by removing all MSAA parameters in cache file. Note that's probably the reason makes other games not working too.

  2. Building&Character's shadow isn't cut correctly so that the whole ground became dark gray.
    Fixed by removing all shadow effects, this speed up openGL a lot.

Vulkan issues:

  1. Color is darker than console/gl.
    It's been noted maybe something wrong with channel swapping, hoping that can be fixed soon.

  2. Some reflecting effect has wrong color map(like sea in town, Sonic's shoes and Amy's ring gloves)
    This is probably caused by Vulkan not supporting k_2_10_10_10_FLOAT color format(GL can mapped this to GL_RGB10_A2), maybe we need to convert k_2_10_10_10_FLOAT to other formats.

OpenGL issues:

  1. Missing textures for all people in game, even Alise and Eggman.
    I really don't know why. orz.

Screenshots:

Some screenshots about the issues mentioned above:
https://imgur.com/a/K35Xb

@xenia-project xenia-project deleted a comment from Lumadash Sep 19, 2019
@xenia-project xenia-project deleted a comment from jthecodebuilder Sep 19, 2019
@xenia-project xenia-project deleted a comment from AllanCat Sep 19, 2019
@xenia-project xenia-project deleted a comment from AlexS2412 Sep 19, 2019
@xenia-project xenia-project deleted a comment from Parovozik Sep 19, 2019
@xenia-project xenia-project deleted a comment from NimbusSkye Sep 19, 2019
@KBouder
Copy link

KBouder commented Sep 21, 2019

Thank you for pointing that out Slashiee, I didn't realize it was an RTX specific issue (although every emulator issue I've had thus far has been due to RTX). I should have learned by now 😛

@xenia-project xenia-project deleted a comment from MuhammadIlaahi Sep 23, 2019
@xenia-project xenia-project deleted a comment from MANGOM1LK Sep 23, 2019
@xenia-project xenia-project deleted a comment from NimbusSkye Sep 23, 2019
@xenia-project xenia-project deleted a comment from lumo93 Dec 6, 2019
@xenia-project xenia-project deleted a comment from lumo93 Dec 6, 2019
@WaggishOhio383
Copy link

WaggishOhio383 commented Sep 27, 2020

I've been making good progress through the game without many glitches. The few that occurred weren't to the point that the game was unplayable. However, near the start of Shadow's story, I've encountered a glitch that makes the level impossible to complete. The level starts you out on a glider that you use to navigate a decent portion of the stage. However, instead of spawning me riding the glider, I start the level standing on top of the glider, which isn't moving, with no way to ride the glider and advance in the stage. I've attached a screenshot below to show what I mean:

Screenshot (73)

Here's a clip of what is supposed to happen: https://youtu.be/wL0TSwXfx0M?t=8473
(If the URL doesn't work properly, the section starts at 2:21:13)

Specs of my computer below in case that could be contributing to the problem:

  • Ryzen 7 2700X
  • AMD Radeon RX 590
  • Crucial Ballistix 16GB DDR4 3200

Edit: After looking through some of the comments that were hidden before and I didn't notice, I see this issue has actually been brought up before. Apologies for the double post.

Edit 2: After doing a bit more troubleshooting, I discovered that if you move around a bit on top of the glider and then hold down Y, it allows you to board the glider and ride it through the level properly. Figured I would post this here in case anyone else comes with the same problem and wants to know how to complete the level.

@strangermoon
Copy link

demo works ok without slows. sometimes crash when too many falling.
1

@Dnzl638
Copy link

Dnzl638 commented Oct 22, 2021

The game looks as intended, works without crashes, music plays at normal speed but only the gameplay speed is halved. Is it because my GPU is insufficient? Or is it possible to fix it?

Asus X550V

CPU: Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz, 2592 Mhz, 4 Cores, 8 Threads
GPU: Nvidia Geforce GTX 950M
RAM: 16GB

@Mafiu0
Copy link

Mafiu0 commented Dec 18, 2021

Game runs perfectly but there are a few slowdowns in Soleanna and Kingdom Valley. I have checked my CPU utilisation and I do no think it's insufficient (it's around 40%).

@Margen67 Margen67 added vsync-off-speedup Game speed changes when vsync is disabled or vsync interval is changed. issue-cluttered Issue is cluttered and needs to be replaced with a new one. labels Jan 23, 2022
@xenia-project xenia-project deleted a comment from abrarplayz Oct 12, 2022
@lipe993
Copy link

lipe993 commented Jan 17, 2023

I have the same problem as @Deniztendo638, the music goes fine, but the game runs in 20ish fps and 1 second of input delay, I don't know if the problem is my computer.

Motherboard: Asus TUF GAMING B550M-PLUS
CPU: AMD Ryzen 5 5600G
GPU: none, I use integrated graphics
Ram: 8gb

@Megasonic999
Copy link

Megasonic999 commented May 12, 2023

It works just fine for me, it just has minor graphic glitches that can be fixed by pressing f5.
Just a little thing: When playing as Shadow in kingdom valley, you have to press the Y button to start riding the craft, and if you fail at to get in, you fall.
But normally the stage starts with Shadow already on the craft. It happens only in kingdom valley. But I guess it's just a minor issue.

@ARONAR1
Copy link

ARONAR1 commented Jun 20, 2023

Xenia Team, please change the status of the game to "Playable". Works great from start to finish.

@SpareEnderboy
Copy link

if there was an fps counter my pc would need to measure sonic 06 in seconds per frame
(dell optiplex 3080, 16gb ram)

@Margen67 Margen67 added state-playable Title can be reasonably played from start to finish with little to no issues. and removed state-gameplay Title has functional gameplay. labels Feb 3, 2024
@ConnorStocky17
Copy link

First game i've tried. Game runs absolutely fine, just have a slight issue with a delay in sound input. Cinematics seem to be okay, just delays during gameplay.

12th Gen Intel(R) Core(TM) i5-12400F
32gb RAM

@eunhon93

This comment was marked as off-topic.

@Pipi86
Copy link

Pipi86 commented Apr 11, 2024

First game i've tried. Game runs absolutely fine, just have a slight issue with a delay in sound input. Cinematics seem to be okay, just delays during gameplay.

12th Gen Intel(R) Core(TM) i5-12400F 32gb RAM

Just open the Xenia config file, and change the cvar named "apu_max_queued_frames" from the default 64 to 32, so it should like this:
apu_max_queued_frames = 32

that number helped me in every game i've tried with xenia without any side effect.

@SkullGrunt128
Copy link

SkullGrunt128 commented Apr 23, 2024

manage to get the game running fine, missing some weird textures here and there. but this happened during the final boss. cant see anything aside sonic eyes.
image

@AVoidKnight
Copy link

AVoidKnight commented Apr 29, 2024

changing apu to direct3d12 fixes this problem
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
gpu-drawing-corrupt Graphics objects are garbled, glitchy, or corrupted in some way. issue-cluttered Issue is cluttered and needs to be replaced with a new one. state-playable Title can be reasonably played from start to finish with little to no issues. vsync-off-speedup Game speed changes when vsync is disabled or vsync interval is changed.
Projects
None yet
Development

No branches or pull requests