xenia-project / game-compatibility

https://xenia.jp
BSD 3-Clause "New" or "Revised" License
472 stars 145 forks source link

4C4107D5 - Star Wars Battlefront III (Build 70217) #397

Closed SonofUgly closed 5 years ago

SonofUgly commented 8 years ago

The game was never released, this is a leaked build. Tested on benvanik/xenia@d414517 Tested on benvanik/xenia@d52d2c4 (2016/2/18) Tested on benvanik/xenia@cfc65a0 (2017/8/7) Tested on xenia-project/xenia@8e9d50d (2018/5/24) Tested on xenia-project/xenia@b35fe93 (2018/6/1)

Issues:

Running default.xex crashes during loading Hangs after the first intro splash Corrupt textures in the main menu Heavy graphical glitches in-game

Running bf_gold.xenon.xex immediately closes xenia (Same issue as https://github.com/xenia-project/game-compatibility/issues/133#issuecomment-130126097)

Log:

Log (5MB) ~~Log (2017/8/7) (265KB) Log from bf_gold.xenon.xex~~ Log (9MB)

Screenshot:

Labels:

state-gameplay gpu-corrupt-drawing

frostygraybob commented 7 years ago

F> 00000028 Device::ResolvePath() F> 00000028 Device::ResolvePath() F> 00000028 Device::ResolvePath(\data\bf\menus) F> 00000028 Device::ResolvePath(\data\bf\menus) F> 00000028 Device::ResolvePath(\data\bf\menus) F> 00000028 Device::ResolvePath(\data\bf\menus) i> 00000028 RtlNtStatusToDosError(C000000F) i> 00000028 RtlNtStatusToDosError => 2 F> 00000028 Device::ResolvePath(\data\bf\menus) i> 00000028 RtlNtStatusToDosError(C000000F) i> 00000028 RtlNtStatusToDosError => 2 F> 00000028 Device::ResolvePath(\data\bf\menus) F> 00000028 Device::ResolvePath(\data\bf\menus) F> 00000028 Device::ResolvePath(\data\bf\menus) F> 00000028 Device::ResolvePath(\data\bf\menus) i> 00000028 RtlNtStatusToDosError(C000000F) i> 00000028 RtlNtStatusToDosError => 2 F> 00000028 Device::ResolvePath(\data\bf\menus) i> 00000028 RtlNtStatusToDosError(C000000F) i> 00000028 RtlNtStatusToDosError => 2 i> 00000028 VdSwap(BFAE3770, 4016F6B0, BFFF3008, 4016F700, BEEF0001, 4016F6A0(C4000000), 4016F694(00000006), 4016F69C(00000000), 4016F690(00000500), 4016F698(000002D0)) i> 00000004 XE_SWAP i> 00000028 XThread000000D0 (F) Stack: 40B30000-40B40000 K> 000000D0 XThread::Execute thid 15 (handle=000000D0, 'XThread2170 (000000D0)', native=00002170) F> 00000028 Device::ResolvePath(\pak\xenon) i> 00000028 RtlNtStatusToDosError(00000103) i> 00000028 RtlNtStatusToDosError => 3E5 i> 00000028 VdSwap(BFB01900, 4016F6B0, BFFF3008, 4016F700, BEEF0001, 4016F6A0(C4000000), 4016F694(00000006), 4016F69C(00000000), 4016F690(00000500), 4016F698(000002D0)) i> 00000028 VdSwap(BFB1FD10, 4016F6B0, BFFF3008, 4016F700, BEEF0001, 4016F6A0(C4000000), 4016F694(00000006), 4016F69C(00000000), 4016F690(00000500), 4016F698(000002D0)) G> 00000004 Generated vertex shader (120b) - hash B7640FBA7C354D60: / 0.0 / exec / 3 / vfetch_full r0.xyz1, r0.x, vf0, DataFormat=FMT_32_32_32_FLOAT, Stride=3, Signed=true, NumFormat=integer / 0.1 / alloc position / 1.0 / exec / 4 / dp4 oPos.x_, c0.zxyw, r0.zxyw / 5 / dp4 oPos._y, c1.zxyw, r0.zxyw / 6 / dp4 oPos.z, c2.zxyw, r0.zxyw / 7 / dp4 oPos.w, c3.zxyw, r0.zxyw / 1.1 / alloc interpolators / 2.0 / exece / 8 / max o0, c4, c4 / 2.1 / cnop

i> 00000004 XE_SWAP G> 00000004 Unimplemented GPU OPCODE: 0x5E COUNT: 1 !> 00000004 *** INDIRECT RINGBUFFER: Failed to execute packet. i> 00000028 RtlNtStatusToDosError(00000103) i> 00000028 RtlNtStatusToDosError => 3E5 i> 00000028 RtlNtStatusToDosError(00000103) i> 00000028 RtlNtStatusToDosError => 3E5 i> 00000028 VdSwap(BFB3FDC4, 4016F6B0, BFFF3008, 4016F700, BEEF0001, 4016F6A0(C4000000), 4016F694(00000006), 4016F69C(00000000), 4016F690(00000500), 4016F698(000002D0)) G> 00000004 Generated vertex shader (144b) - hash 34C684D4F1392D71: / 0.0 / exec / 3 / vfetch_full r0.xy, r0.x, vf0, DataFormat=FMT_32_32_FLOAT, Stride=4, Signed=true, NumFormat=integer, PrefetchCount=4 / 4 / vfetch_mini r0.x__y, Offset=2, DataFormat=FMT_32_32_FLOAT, Signed=true, NumFormat=integer / 0.1 / alloc position / 1.0 / exec / 5 / dp2add oPos.x___, r0.wxxx, c0.yxxx, c0.wwww / 6 / dp2add oPos._y__, r0.wxxx, c1.yxxx, c1.wwww / 7 / dp2add oPos._z, r0.wxxx, c2.yxxx, c2.wwww / 8 / dp2add oPos.___w, r0.wxxx, c3.yxxx, c3.wwww / 1.1 / alloc interpolators / 2.0 / exece / 9 / max o0.xy__, r0.yzzz, r0.yzzz / 10 / max o1, c4, c4 / 2.1 */ cnop

G> 00000004 Generated vertex shader (156b) - hash C23773ED7C14CD50: / 0.0 / exec / 3 / vfetch_full r0.xy, r0.x, vf0, DataFormat=FMT_32_32_FLOAT, Stride=8, Signed=true, NumFormat=integer, PrefetchCount=8 / 4 / vfetch_mini r1, Offset=2, DataFormat=FMT_32_32_32_32_FLOAT, Signed=true, NumFormat=integer / 5 / vfetch_mini r0.xy, Offset=6, DataFormat=FMT_32_32FLOAT, Signed=true, NumFormat=integer / 0.1 / alloc position / 1.0 / exec / 6 / dp2add oPos.x, r0.wxxx, c0.yxxx, c0.wwww / 7 / dp2add oPos.y, r0.wxxx, c1.yxxx, c1.wwww / 8 / dp2add oPos.z, r0.wxxx, c2.yxxx, c2.wwww / 9 / dp2add oPos._w, r0.wxxx, c3.yxxx, c3.wwww / 1.1 / alloc interpolators / 2.0 / exece / 10 / max o0.xy, r0.yzzz, r0.yzzz / 11 / max o1, r1, r1 / 2.1 / cnop

G> 00000004 Unimplemented GPU OPCODE: 0x5E COUNT: 1 !> 00000004 **** INDIRECT RINGBUFFER: Failed to execute packet. !> 000000BC Unable to read thread context for stack walk !> 00000028 Unable to read thread context for stack walk

It actually appears like the emulator is getting farther in the process, even attempting to call on the menu files. however we are once again foiled by the ring buffer error.

cocco1960 commented 6 years ago

I attached today the debugger in a just-compiled build of xenia and only for one try after I pressed continue on the debugger the main menu music just started. But when I try without the debugger it stop at 30 fps at the logo

cocco1960 commented 6 years ago

I think you have all stuff already installed I didn't used something different from the requirments in the README. I used visual studio debugger and after I started it I used the Xenia built-in debugger for look at specific game assembly. The event happens only sometimes when I pause the game in the xenia debugger in the end of the logo screen and when I resume the music starts for 5 seconds. It happened by itself only 3 times yesterday but I don't understand why it worked. I have tried all kind of stuff but I can't understand. I detached the debugger and it gave me error of unimplemented OP codes. I clicked ignore all the time and for the last time the music started by itself again. The only method that I used for making it playing was skipping two instuctions in the xenia debugger but it isn't an intelligent stuff. The point is that it happened only 3-4 times without touching anything and I don't know why. If I can I will record it today over and over until the point the music start again!

ghost commented 6 years ago

Alright. I checked it yesterday because I looked it up. I just wasnt sure what debugger you were using. I tried attaching xenia to a debugger for visual studio 17 and it didnt work. It would display the logo for FRD, then just sit still at a black screen. No sound, no music whatsoever. Im running on a R9 Fury X with a Ryzen 7 1700. If theres a difference on intel/nvidia PCs, I can try to test it out on my secondary computer

cocco1960 commented 6 years ago

Here it is the proof that the music starts: https://youtu.be/hIpSje4jy1Q The thing I noticed is that when the music starts the Logo doesn't have any sound! :/

SonofUgly commented 6 years ago

It now goes in-game. Can't really see anything, but from the second I played it ran smoothly at least. Labels: state-gameplay gpu-corrupt-drawing

FallenSeverlay commented 6 years ago

Jedi arena works very well, everything is smooth and without errors https://youtu.be/oVdKicoFA1Q

MattFiler commented 6 years ago

Ok so following up almost two years after my first comment on this thread... Battlefront III now runs great within Xenia, surprisingly maintaining a good framerate. It is prone to crashes (caused by inaccessible memory) and there are a number of large bugs with shaders and textures (almost seems like they're being loaded with an incorrect offset), but it's good progress and if you keep reloading eventually you'll be able to play for a bit. Progress!

ghost commented 6 years ago

Game constantly corrupts textures (for one second after Free Radical logo it's fine, but after while it corrupts everything) and has very strong white lightning on some levels (shader error? From looking at compat, i can see, that some games have or had similar "error"). Game however runs better (more stable FPS) than on my RGLoader "devkit". Tested on xenia-project/xenia@ab2edf9c

CDWimmer commented 6 years ago

Game runs great, 15-30FPS, ignoring the graphical errors that haven't changed since the screenshots above. Just extremely bright white in-game is all that's actually hindering any decent gameplay. Interesting that a 360 game has a pretty fleshed out video settings menu and says "quit to desktop" on the menu. A shame the "Accept" button appears to not save them.

Appears to be the remains of some kind of world editor in the files too, I wonder if that's accessible at all. Further, can some clever renaming and moving of files allow the loading of the test levels, or just setting disabled to false in the relevant files?

Also, somehow, trying to get to multiplayer through XBL actually caused Windows firewall to pop up so glad to see multiplayer is "possibly" feasible within Xenia at some point in its future? (Even if not for this game in particular)

MikeGs commented 5 years ago

I've noticed a huge performance bump with the implementation of the DX12 client, the game seems to be running constantly between 25 to 30 fps. Textures seem to load up with an offset, however i feel like more of them are actually loading up where, not that long ago, they would not even show up or load at all.

Great work!

PD: Also, as @gogglebot said, the Windows Firewall pop up seems to show up. I hope we have a chance of playing this in multiplayer.

illusion0001 commented 5 years ago

Closed due to the amount of irrelevant comments. New thread opened in #1304.