Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
_DISPLAYORDER Question
#3
Ah, the good old memories of a man who feels like he's got dementia!  Youngster, let me tell you a story!

Back in the early days of the world; back when I was just a little child roaming the foggy hills of creation, there was a God which walked amongst us.  This God was named Galleon and all his creations were good.  It's only thanks to the grace that Galleon bestowed upon us that mankind, the pitiful programmers that we were, managed to learn the power and control PRINT "Hello World" could bring to our pitiful BASless existence!

In those early days, Galleon began working within what he called the "SDL Framework", and all was good -- at first!  Over time, the very programmers that had been drawn to the tools which Galleon had created with his own hard blood, sweat, and tears, turned against his works!  "Lord Galleon," they protested, "we can not stand to have to package library files with our executables!  You must do something to allow us to create stand-alone EXEs!  Nobody wants to have to archive all their work up into packages to share it, and even as programmers, we're not able to figure out how to place those required files into the PATH on our OS!"

And Lo!  Galleon heard the cries of the masses and swapped out the SDL Framework for a newer GL Framework.  And the people rejoiced!

Or not...   People are peoples, first and foremost.  They cry out in dissatisfaction; nor in contentment.  A great mass of voices rose to the heavens again!  "Lord Galleon, this routine isn't working as it used to.  I don't think this has been implemented in the swap-over!  GL SUCKS -- MY STAND ALONE EXE IS TOO LARGE NOW!!"

And Lord Galleon was bewildered by the people's many voices.  It had taken years to create the SDL Framework, and yet the peoples weren't willing to give even a few paltry months to give time to fully convert over to the new GL Framework?  Feeling as if he was rushing to put out flames of discontent, Lord Galleon dropped things that he was attempting to work upon, to answer the relentless calls to "fix" that which others felt was broken.  Many ambitious new commands which were destined to be great additions to the tools which Galleon had created, were put on hold and only partially implemented.

The single unbroken vision which was "QB64" was shattered, and became "Dirty".  There was creation of what was known as "Stable Builds", and then there was the shadow of darkness which was the "Dirty Builds", which contained ideas in embryo!  Concepts which were all part of the great plan that was Galleon's, but which hadn't fully became part of existence.... yet!

And yet, the masses were not satisfied.  No matter how hard Galleon ran around in circles attempting to fix things, so he could move on in the forward direction that he envisioned (such as porting programs to Android devices), the peoples kept relentlessly crying out in protest over one minute issue after another!!

Finally, as Galleon received a job offer upon the other end of the continent where he existed, He decided, "Enough is enough.  The greatness that is *I*, is done!  Do with my works what you will!"  And thus, he walked out into the sunset, seldom if ever heard from again.



And for those who can't piece together what happened via "Steve Story Time", let me break it down simply.

_DisplayOrder, _GL, _Hardware, and _Hardware1 were all added into the language back when we transitioned over from SDL to GL.  For those folks who remember the "Dirty Builds" back in those days, those were the versions which Galleon used to push development updates and changes into the language, until they reached a point that he felt was stable enough to become part of the main language.

In some of those Dirty Builds, there were options which I remember for _COPYIMAGE(handle, 34) and _LOADIMAGE(image$, 34).  This old timer remembers Galleon even provided a demo of a zebra and a spaceship (I think it was a spaceship.  I swear, I don't remember fully now, but I absolutely remember that zebra model!), and how you could rotate the images and display them with various Z-order using the _DISPLAYORDER command.  

_Hardware was created with _COPYIMAGE(handle, 33)
_Hardware1 worked exactly the same, but it was placed upon a separate page via _COPYIMAGE(handle, 34)

It was that toggle between 33 and 34 which specified which of the hardware layers our resources rendered to, and then we could set the Z-order with _DISPLAYORDER.

**I** swear, I remember seeing those commands with that syntax.  I even remember writing up a demo and sharing it on the old .net forums which Galleon maintained, which did the same thing as his zebra demo, but with various colored boxes instead.  There was a red box, blue box, white box, and you could toggle their Z-order with just a few keystrokes and place whichever one you wanted on top of another...

But, back in those final days of the language, just as things were getting swapped over from SDL to GL, there also existed massived server issues.  If you guys remember, our forums would crash every so often and disappear.  The codebase wasn't on github back then, but on Google Code instead -- and Google Code was shutting down and forcing migrations.  You could post work on the forums on Monday, view it until Thursday, then have the forums go down and when they went back up two weeks later, notice that what you'd shared just evaporated...

Somewhere in that time, _HARDWARE1 just.... evaporated.  It *was* a part of the language.  It was accessed via _COPYIMAGE(handle, 34), as far as my poor old memories assure me.   It's just that sometime between when it was first added, and *NOW*, it...  poofed!  I've asked about it several times, and me and the other devs have looked into it a couple of times, and it's just... missing, as far as I can tell you!  

(Think that's odd?  WE have whole commands that were under development which went missing such as the _MOUSEPIPEINPUT, and other commands that are only partially implemented behind the scenes such as _FPS.)  As far as I can piece together, what happened was:  Galleon was working on adding these new additions into the language, but they were part of the "Dirty builds" and not considered "Stable" yet.  When Google Code transferred the codebase over to Github, we only got the "Stable" version of stuff.   Things in development such as _HARDWARE1 never got pushed over and didn't make the transition, and that -- along with everyone's whining and complaining -- was enough for Galleon to just decide "I'm done.  /Blah!"

With Galleon leaving, the rest of us tried to pick up the pieces and learn the language and continue one as much as possible like before.  Things such as _HARDWARE1 hadn't never actually became part of the "Stable" language (though it'd already been documented and was part of the "Dirty Builds", and as such they just kind of got lost in the shuffle of learning the codebase and rebuilding and expanding the language as we could.  Honestly, I think it was probably several years before anyone even asked about, "What the heck happened to _HARDWARE1?", and at that point 99.9% of the user base had completely forgotten it existed.

The plan was always to reimplement that extra Z-layer so folks could have more flexibility in writing their programs, but life happens.  Fellippe walked away.  RC burned down our home (again).  Developers only have so much time to devote to working on the language, which is a hobby for them, and as of yet, _HARDWARE1 is still a missing command option.  It's never been removed from the wiki, as the plan is to put it back into the language, but at the moment, it's just... lost.  I don't recall now if there's stubs for it in the codebase, or half-finished implementations, or if it's just all been reverted out of the language, but at one point, *IT DID EXIST AS PART OF OUR LANGUAGE*.

It just doesn't exist right now, anymore.  

Unless, of course, some other dev knows where the heck it's been hiding at and how to interact with it.  *MY* old memories assure me of _COPYIMAGE(handle, 34), but it may have been worked on sometime in the past X years of missing development notes and now have plans for a completely different implementation.  I honestly don't know what the BLEEP its status is anymore.  It used to exist.  Our wiki goes back far enough to document its existence.  It just doesn't exist currently.

I blame Mars.  Those dang aliens are sabotaging us, just to keep us from building spaceships to go conquer their world with QB64PE!  They evaporated it from the current codebase!
Reply


Messages In This Thread
_DISPLAYORDER Question - by TerryRitchie - 09-14-2023, 09:26 PM
RE: _DISPLAYORDER Question - by TerryRitchie - 09-14-2023, 10:58 PM
RE: _DISPLAYORDER Question - by SMcNeill - 09-14-2023, 11:26 PM
RE: _DISPLAYORDER Question - by GareBear - 09-15-2023, 12:43 AM
RE: _DISPLAYORDER Question - by TerryRitchie - 09-15-2023, 03:53 AM
RE: _DISPLAYORDER Question - by mnrvovrfc - 09-15-2023, 01:18 AM
RE: _DISPLAYORDER Question - by SMcNeill - 09-15-2023, 04:11 AM
RE: _DISPLAYORDER Question - by TerryRitchie - 09-15-2023, 04:17 AM



Users browsing this thread: 1 Guest(s)