- Joined
- Sep 12, 2010
- Messages
- 3,135
- Reaction score
- 409
- Points
- 123
- Location
- Rome
- Website
- www.tuttovola.org
Will the torrents be repacked as well with the new content?
C x O 255 255 255Cities
W o D 255 0 0Water
M o M 0 255 0Mountains
A x W 0 0 255Airports
But as noted, with this I was only able to let the selection dialog work - no rendering of the Labels (yet).
...kind of :lol:Did you try debugging the new OVP D3D7 code to check what GetSurfaceMarkerLegend() returns in the struct?
//...
const GraphicsClient::LABELTYPE *lspec;
DWORD dummy, nl = gc->GetSurfaceMarkerLegend(hObj, &lspec);
for (auto i = 0; i<nl; ++i) {
++dummy;
}
//...
...kind of :lol:
The following...
...was inserted in some other project[1] I had lying around. But other that that, I did exactly that!PHP://... const GraphicsClient::LABELTYPE *lspec; DWORD dummy, nl = gc->GetSurfaceMarkerLegend(hObj, &lspec); for (auto i = 0; i<nl; ++i) { ++dummy; } //...
[1]...it wasn't OVP D3D7 :lol:
Didn't check the "empty" / "no config files" scenario, just started with your suggestion and tweaked them until it "fitted".Did it come up empty, then?
Didn't check the "empty" / "no config files" scenario, just started with your suggestion and tweaked them until it "fitted".
I tweaked the Label.cfg until the returned structure was plausible, so GetSurfaceMarkerLegend() works in general, but does not read the Label.cfg according to the documentation.What I meant was if you already tried the GetSurfaceMarkerLegend() call with your tweak (the one where you've got selection entries) and checked what was inside the struct. And whether it was empty or not.
Thing is: if it is not empty, I bet the D3D7 OVP client renders the labels, because the code suggests so. If it was empty - although you used the "showing entries" Label.cfg - there is some bug in Orbiter, at least in the OVP layer.
c:\Orbiter\D3D9ClientDevelop(Orbiter BETA r67)\Orbitersdk\include\GraphicsAPI.h(1675): warning C4091: 'typedef ': ignored on left of 'oapi::GraphicsClient::LABELTYPE' when no variable is declared (compiling source file AtmoControls.cpp)
1669| [COLOR="Red"]typedef[/COLOR] struct LABELTYPE {
1670| char labelId; // label type id
1671| char markerId; // marker shape id
1672| COLORREF col; // label colour
1673| char *name; // label type name
1674| bool active; // label type active?
1675| };
Will the torrents be repacked as well with the new content?
Seems OK so far.Please let me know if there are still problems.
...now the 'S' makes much more sense, than with my guess :lol:<markerid> is a character defining the marker shape: ‘S’ (square), ‘O’ (circle), ‘D’ (Delta) or ‘N’ (Nabla)
Seems OK so far.
But is it true that the inline engine currently (r.68) does not render the new labels?
Seems OK so far.
But is it true that the inline engine currently (r.68) does not render the new labels?
There's your problem. With "try cache" it doesn't work, but with "archive only" it does.Well it does for me :shrug: Are you sure that you
- set orbiter to accept compressed archives (Extra->Visualisation parameters->Planet rendering options->Tile sources: load from compressed archive only or Try cache first, then archive)
- enabled surface markers (Ctrl-F9->Planetarium->Markers->Surface)?
I just checked out a fresh #68 to make sure, and the inline client does render the new labels ok.
There's your problem. With "try cache" it doesn't work, but with "archive only" it does.
Thanks Xyon.Eventually - I mean, this is on my to-do list, but I have been struggling to find the time.
A new beta commit #69 should fix the missing labels when cache+archive loading is active. To add more beef to the commit I also implemented some experimental font sizing trickery.
There is also a new OVP commit #60 that implements the changes in the D3D7 client.