Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Josh @ Dreamland

751
Issues Help Desk / Re: Mac help
« on: May 24, 2013, 03:17:16 PM »
I think XCode ships with 100% of all libraries ever written for OSX. I also think TGMG made sure Install.py took care of the rest of the setup and binary acquisition.

752
Announcements / Re: Huge speed increase
« on: May 24, 2013, 03:03:16 PM »
forthevin: Apparently either I was hallucinating last night or the GNU for Windows implementation includes the POSIX usleep() method. Could you refactor your code to use that? Other parts of the engine on Windows are already using it, so apparently it's not an issue.

EDIT: Also, check if that implementation contains nanosleep() in <time.h>.
Some of this shit might need to work with <features.h> to make sure it builds on everything, but frankly, I'm just sick of this mess.

753
General ENIGMA / Re: Innacurate Framerate Counter
« on: May 24, 2013, 02:52:43 PM »
That might be okay. What I'm thinking is using usleep, which apparently some holy GNU implemented in MinGW. Sleep is not guaranteed to return, ever, but I believe usleep is.

754
General ENIGMA / Re: Shader Factory
« on: May 24, 2013, 02:29:02 PM »
If that shader factory can export Cg scripts, then I see every reason to make sure we can support its format in our shader API, when we get around to writing one.

755
General ENIGMA / Re: EGMJS (ENIGMA HTML5)
« on: May 24, 2013, 02:27:31 PM »
The new compiler is set up in a way that makes it cater to multiple languages. When TGMG and I are done with schoolwork, we will collaborate to get EGMJS working. In the meantime, I fear it's a crapshoot. Maybe Ism can help with some Java-side bugs.

756
General ENIGMA / Re: Innacurate Framerate Counter
« on: May 24, 2013, 02:25:19 PM »
I was being dramatic, forthevin. The scheduler doesn't care how long you ask it to sleep; if you're not using the CPU when you're given it, it's going to forget about you. But Sleep() cannot take a value less than one, meaning your game, by definition, cannot use Sleep() and have a framerate higher than (or even equal to) 1000.

757
General ENIGMA / Re: EGMJS (ENIGMA HTML5)
« on: May 24, 2013, 02:28:21 AM »
Holy crap. Was that working with the latest LGM?

758
General ENIGMA / Re: Innacurate Framerate Counter
« on: May 24, 2013, 12:46:56 AM »
Oh, listen to you.

Quote
perhaps 73 step events per second and 30 locked draw events
In an engine without threading. Physics systems do that sometimes. With threading.

Quote
:(
Quote
because ENIGMA may just decide your game does not need more than 53fps
Boo-hoo; ENIGMA won't let my game run faster than 53.

You're as bad as polyfuck. Neither of you two fucking understand how an operating system works, so you blame (and try to compensate for) features of the OS you don't understand in the engine. Here's what's happening:

Exhibit A: User with IQ of 6
  • Exhibit A wants to test ENIGMA's POOOOOWAAAAAAAAAAAAAAAAAAAAAAAH
  • Exhibit A creates a new game and sets the FPS to NINE THOUSAAAAAAAAAAAAAAAAAAND
  • Exhibit A presses Run
  • Compile takes a really long time because Exhibit A has never built any piece of the engine before
  • While Exhibit A is looking for the firefox button in his 50-page start menu, compile finishes
  • The empty game begins
    • The event loop begins, and then terminates immediately because, oh yeah, IT'S FUCKING EMPTYYYYYYYYYYY
    • The draw loop begins. It clears the screen to gray and exits, because, oh yeah, IT'S ALSO FUCKING EMPTYYYYYYYYY
    • The necessary amount of time required to sleep is calculated. This value equates to 1000 / (NINE THOUSAAAAAAAAAAAAAAAAAAND) = 0 milliseconds
    • The max of that time and 1 is taken to prevent Sleep() from aborting the game and/or crashing Windows, and Sleep() is invoked.
    • Since 6 microseconds have passed, the scheduler sticks the process at the end of the wait queue and forgets about it for a few thousand years
    • After the few thousand years (or about 17 milliseconds, if you aren't watching as an electron) pass, the scheduler remembers, OH SHIT
    • The scheduler removes your game from the waiting queue and returns context to it
    • This loop continues, resulting in a framerate of 53
  • Why is my game running at 53 FPS? ENIGMA IS SO CRUEL :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(
  • I'm going to kill myself, but not before crying about how bad ENIGMA is on the internet

:( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(
:( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(
:( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(
:( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(
:( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(
:( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(
:( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(
:( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(
:( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(
:( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(
:( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(
:( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(
:( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(
:( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(
:( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(
:( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(
:( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(
:( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(
:( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(
:( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(
:( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(
:( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(
:( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(
:( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(
:( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(
:( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :( :(

759
Proposals / Re: While we (as in forthevin) are moving shit
« on: May 23, 2013, 02:42:33 PM »
Is it just me, or is that snippet tag a bit ugly? Maybe I'll add a teletype tag in the near future.

760
Proposals / Re: While we (as in forthevin) are moving shit
« on: May 23, 2013, 02:41:22 PM »
By aliased, I assume you mean #define'd? There is another way we have aliased function in the past, but it might not bode as well with -flto when I finally get around to passing that flag. I believe we did it for make_color; we just used int (*const make_color)(unsigned char,unsigned char,unsigned char) = make_color_rgb;, which, as you know, copies the function pointer to a new variable. I'm not really a fan of this, as I believe it forces the compiler to make both functions use CALL, but I could be mistaken (especially if we add a const in after that asterisk).

I am personally fine with macros, at very least for now.

761

762
Issues Help Desk / Re: file_find functions
« on: May 23, 2013, 01:41:50 PM »
That's fine. I've committed the fix now; you should be able to use those functions.

763
Issues Help Desk / Re: file_find functions
« on: May 23, 2013, 12:50:51 PM »
Unfortunately, I was unable to test the functions before committing them due to my current platform. Hang tight, I'll fix that.

764
Issues Help Desk / Re: file_find functions
« on: May 23, 2013, 08:51:11 AM »
Assuming home is a variant or string, you don't need to keep casting it to string(), but other than that, you are fine. The issue is that forthevin moved the header into the enigma_user namespace, but did not move the source (or, more likely, the implementation of that particular function was in another castle).

I'll fix that real quick; hang tight.

EDIT: Seems this has nothing to do with forthevin. The function just wasn't implemented.

EDIT2: I have implemented those functions and get_environment_variable(), which I recommend you use in place of getenv()

765
Issues Help Desk / Re: file_find functions
« on: May 22, 2013, 07:25:43 PM »
ENIGMA depends on file_find functions in the compiler, so they are almost certainly implemented in the engine. What platform aren't they working on?