[Bug 46923] X-Tension, X-Beyond The Frontier: Dynamic light breaks after opening up a menu

wine-bugs at winehq.org wine-bugs at winehq.org
Tue Apr 2 08:02:17 CDT 2019


https://bugs.winehq.org/show_bug.cgi?id=46923

--- Comment #4 from Non <19non91 at gmail.com> ---
In short: After commit addc611b2ac56d4fc59a9df8f129f96ea4105773 I couldn't
reproduce the bug.



I've built wine from git, commit 56404595d5c42168d4fd4c1ec3a1b802a6aab5c1 and
it indeed got fixed. That was really fast.

In the modding community few smart minds created tools to disassemble some of
the game code and translate it to the C equivalent.

I thought I could check what causes the problem in the menu function, and found
this game code, which strangely runs two times in a row:

 TMENU.me_Inst3D[TMENU.me_NumInst3D] = B3D_LightAlloc();
 if(TMENU.me_Inst3D)
 {
  B3D_LightSetColor(TMENU.me_Inst3D[TMENU.me_NumInst3D], 175, 175, 175);
  B3D_InstSetPos(TMENU.me_Inst3D[TMENU.me_NumInst3D], -1100000000, 330000000,
-330000000);
  B3D_InstAddToScene(TMENU.me_Inst3D[TMENU.me_NumInst3D],
TMENU.me_CompScene3D);
  TMENU.me_Path[TMENU.me_NumInst3D] = -1;
  TMENU.me_NumInst3D = TMENU.me_NumInst3D + 1;
 }

I don't know how this B3D functions implemented in exe file, but I thought I
should try to skip this code altogether. So I've made JUMP in asm, which skips
this code and after that menus started to work fine without breaking dynamic
lights. Although light colors in the game gone a little odd.

Was working on workaround scripts for posting in WineDB (extract game files,
patch binary file, pack them back), and you fixed it for good before I could
finish.

Thanks, Paul. :)

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list