ryzom / ryzomcore

Ryzom Core is the open-source project related to the Ryzom game. This community repository is synchronized with the Ryzom Forge repository, based on the Core branch.
https://wiki.ryzom.dev
GNU Affero General Public License v3.0
331 stars 89 forks source link

White box on character selection screen #151

Closed ryzom-pipeline closed 10 years ago

ryzom-pipeline commented 10 years ago

Original report by Cédric Ochs (Bitbucket: [Cédric OCHS](https://bitbucket.org/Cédric OCHS), ).


I noticed that problem since months (or years ?). In character selection screen, we can see a white box under "Play" button. This problem doesn't appear in Windows official client but is present with Ryzom Core client.

This white box seems to be declared in line 725 in code/ryzom/client/data/gamedev/interfaces_v3/out_v2_select.xml :

#!xml
<view type="bitmap" id="black2" posparent="black" posref="MM MM" sizeref="wh" w="-2" h="-2" inherit_gc_alpha="true" scale="true" texture="blank.tga" global_color="false"/>

But why its render is different ? I compared a lot of classes related to UI and there is not much differences :(

ryzom-pipeline commented 10 years ago

Original comment by Meelis Mägi (Bitbucket: [Meelis Mägi](https://bitbucket.org/Meelis Mägi), ).


It's patchlet webig window that is not initialized. Original 32bit client works, so bug creeped in proably in GUI split changeset.

File client/src/interface_v3/interface_manger.cpp, line 730. If you move // Initialize the web browser block below parseInterface() line, patchlet loads.

Does windows client compiled from latest Ryzom Core sources work? Windows official client is probably before GUI split also

ryzom-pipeline commented 10 years ago

Original comment by Cédric Ochs (Bitbucket: [Cédric OCHS](https://bitbucket.org/Cédric OCHS), ).


Yes, you're right, Windows official client doesn't yet use the NeL GUI classes, while Ryzom Core one does. Thanks for the hints !

Btw I noticed some parsing errors in both clients, "web_start" can't be parsed correctly because doesn't have a "type" attribute.

ryzom-pipeline commented 10 years ago

Original comment by Jan Boon (Bitbucket: [Jan Boon](https://bitbucket.org/Jan Boon), ).


This has been there since before the GUI split.

ryzom-pipeline commented 10 years ago

Original comment by Meelis Mägi (Bitbucket: [Meelis Mägi](https://bitbucket.org/Meelis Mägi), ).


This will fix the patchlet.

#!c++

--- /home/max/src/ryzom.hg/code/ryzom/client/src/interface_v3/interface_manager.cpp 2014-04-25 18:23:59.836511214 +0300
+++ /home/max/src/ryzomcore.hg/code/ryzom/client/src/interface_v3/interface_manager.cpp 2014-04-25 18:43:41.832503527 +0300
@@ -727,16 +727,6 @@

    //NLMEMORY::CheckHeap (true);
-   // Initialize the web browser
-   {
-       CGroupHTML *pGH = dynamic_cast<CGroupHTML*>( CWidgetManager::getInstance()->getElementFromId(GROUP_BROWSER));
-       if (pGH)
-       {
-           pGH->setActive(true);
-           pGH->browse(ClientCfg.PatchletUrl.c_str());
-       }
-   }
-

    if (ClientCfg.XMLOutGameInterfaceFiles.size()==0)
    {
@@ -771,6 +761,16 @@
 //     elt->setActive(false);
 // }

+   // Initialize the web browser
+   {
+       CGroupHTML *pGH = dynamic_cast<CGroupHTML*>( CWidgetManager::getInstance()->getElementFromId(GROUP_BROWSER));
+       if (pGH)
+       {
+           pGH->setActive(true);
+           pGH->browse(ClientCfg.PatchletUrl.c_str());
+       }
+   }
+
    // Init the action manager
    {
ryzom-pipeline commented 10 years ago

Original comment by Cédric Ochs (Bitbucket: [Cédric OCHS](https://bitbucket.org/Cédric OCHS), ).


@nimetu I just tried your patch, it works perfectly :D Thank you so much, I'll apply it !

ryzom-pipeline commented 10 years ago

Original comment by Cédric Ochs (Bitbucket: [Cédric OCHS](https://bitbucket.org/Cédric OCHS), ).


And I just compared with Ryzom private client code and they had the same order than your patch :p

ryzom-pipeline commented 10 years ago

Original comment by Cédric Ochs (Bitbucket: [Cédric OCHS](https://bitbucket.org/Cédric OCHS), ).


Fixed #151: White box on character selection screen (a big thanks to nimetu for the patch!)

ryzom-pipeline commented 10 years ago

Original comment by Jorge Araya Navarro (Bitbucket: [Jorge Araya Navarro](https://bitbucket.org/Jorge Araya Navarro), ).


Oh cool, hope this hits the "compatibility" branch soon I'm tired of watching that white box :)

ryzom-pipeline commented 10 years ago

Original comment by Cédric Ochs (Bitbucket: [Cédric OCHS](https://bitbucket.org/Cédric OCHS), ).


Done :)