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

646
General ENIGMA / Re: 'Call the inherited event' is not working
« on: July 01, 2013, 07:26:16 AM »
That action has, to my knowledge, never been implemented.

Everyone seems to be waiting for me to do it.

647
General ENIGMA / Re: Use Paths in ENIGMA.
« on: June 30, 2013, 06:58:43 AM »
HaRRi, have you tried just defining an empty path_start() at the global scope, then defining an actual path_start inside the structure your path extension creates? The this object will be the current instance cast to your structure; to get an object_basic/higher tier, you'll just need to access the instance event iterator.

It could be a temporary solution (since this damn compiler is taking so long).

648
Issues Help Desk / Re: Problems Compiling NaturalGM
« on: June 29, 2013, 07:34:04 PM »
Have you tried checking out from Spirit's own GitHub repository here? It might be more current than the ENIGMA organization's copy.

649
General ENIGMA / Re: License Exemptions
« on: June 28, 2013, 05:47:02 PM »
Spoken like gentlemen. I'll seek some third party help, likely at 11th's recommended site.

650
General ENIGMA / Re: License Exemptions
« on: June 28, 2013, 08:35:12 AM »
You're still assuming I could obtain a patent on any part of ENIGMA. Part of the requirements for obtaining a patent is that you actually have something unique. ENIGMA is a compiler, in the most generic sense. It wouldn't be very patent-worthy even if GM didn't exist.

We've been throwing around the idea of calling in some third-party help for writing this exception, but I'd want to try to request that help in a way that doesn't make this problem look completely petty. To an outside observer, it'd just look like me being a selfish child. A lot of this discussion is myself trying to figure out if that's in fact what I am being.

651
General ENIGMA / Re: License Exemptions
« on: June 28, 2013, 07:30:23 AM »
Quote
First of all, WINE uses LGPL 2.1, not MIT
http://www.winehq.org/license
They switched some time after they got fucked in the ass. They are the inspiration for this preemptive wave.

I am ecstatic that their switch caused the CrossOver team to reconsider their position. I was furious a few years back when I discovered the license rape.

Quote from: Wikipedia
The Wine project originally released Wine under the same MIT License as the X Window System, but owing to concern about proprietary versions of Wine not contributing their changes back to the core project,[16] work as of March 2002 has used the LGPL for its licensing.

I will be sore about that for the rest of my life. To the point of being offended that you would imply it never happened.


The LGPL will let you link against proprietary code given only the stipulation that it be possible to dynamically replace the LGPL code with other code. In other words, it must be linked. We could use LGPL, but then we'd still need the exception, and then people could have proprietary versions of ENIGMA wherein the only disadvantage is that the user's game has a bunch of DLLs lying around. As game size approaches infinity, the number of fucks given about DLL count approaches zero.

Quote
Now, what about patents?
You could release your code as open source, but then sue me for using it because you hold a patent on a concept it implements.
The GPL is inherently anti-patent; not only would this be against the spirit of GPL, it would also be against the license. The GPL was written specifically to prevent patents.

Quote from: The GNU GPL
If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.

The GPL isn't just a contract for its users; it is a contract for its developers. I warn each and every prospective contributor of the magnitude of their agreement to this license, before I offer them any help in developing.

If you wish to participate in the GPL community, you must relinquish control of your patents on GPL code.


Your other license suggestions have merit, but they are not without risks—we are subject to the changes of the licenses by the controlling parties, which may be more tailored to the needs of Apache or Mozilla than to the needs of ENIGMA. The GPL is not tailored to the needs of ENIGMA, but it is guaranteed to be more strict. We can always grant more rights; we can't take them away. The point of this exception is to be extremely cautious with granting rights.

652
General ENIGMA / Re: License Exemptions
« on: June 27, 2013, 09:48:20 AM »
You have the jist of it, yes.

Ism and I talked about this for a while, but we ultimately didn't get anywhere. It comes down to a simple choice between three unattractive options:

1) Let no one link closed-source: No users can release proprietary games.
2) Let everyone link closed-source: We'll be the next WINE → Crossover Office
3) Explicitly decide who links closed-source: This list can change at any time, so who would trust us? We'd need legal bodies out the wazoo. And then we'd look like the assholes.

I looked into creating an organization for us, but it seems to be exactly what we don't need—in some states, an LLC fizzles with the founder. The point of the legal body was to avoid exactly that. I need to make sure that in the event of mine and Ism's inexplicable disappearance, that someone can pick up the torch and continue carrying this project (and all its resources) forward. Canonical would be unharmed if Shuttleworth vanished (I might argue it'd be better off). ENIGMA needs to be roughly the same with respect to Ism and myself.


A simple solution to the "We have too many code-holding contributors!" problem is to allow multiple licenses in ENIGMA. The standard GPL, for full-blooded Stallman contributors; the X11 license for people who want to write some small and very isolated code and wash their hands of it; the GPL + exemption Ism is proposing, for people who like granting just enough rights for other people to make assholes of themselves; and finally, the GPL + exemption I am proposing, which lets only users of a trusted few IDEs build games closed-source.

The idea is that all the licenses except GPL and my exemption allow linking with closed-source code in all cases. The vanilla GPL doesn't use any, which is why we will try to avoid it in the engine (and warn people when they include code under that license). But if they are using shitloads of Ism's extremely-loosely-exempted GPL code, with only a dash of my strictly-exempted code (which is largely too important to exclude—I would be licensing the resource and instance management systems under such a license), they'd still be forced to use the most strict of all licenses.

The hierarchy of that is, again, GPL → Josh's Exception → Ism's Exception → X11.

653
General ENIGMA / Re: Overuse of the CPU ?
« on: June 25, 2013, 11:09:03 AM »
What's your GL support look like? It's possible something is being done software side which should not be. Also, what is the room speed of your game? High room speeds mean high CPU usage, just by virtue of doing something many times per second.

654
Issues Help Desk / Re: Error Loading file.
« on: June 25, 2013, 06:42:47 AM »
If I had to guess, I'd say this is the result of Robert fixing GM8.1 file reading by telling the GM8.0 reader to accept GM8.1 files.

Just a bug; someone will fix it. Could you provide the file? I'm not sure if any of us have access to a copy of GM8.

655
Issues Help Desk / Re: Problem with instance_deactivate_region
« on: June 23, 2013, 09:40:27 PM »
{{sofixit}}

656
Issues Help Desk / Re: Problem with instance_deactivate_region
« on: June 23, 2013, 08:11:47 PM »
Josh committed that long before you made your post. And those are the only _region based functions; I searched neighboring functions and found no similar constructs. Not to imply there wouldn't be any had I read through all the code, but I fix things on an as-notified basis.

657
Issues Help Desk / Re: ENIGMA JS
« on: June 23, 2013, 08:08:39 PM »
Probably because no one has maintained that port since TGMG (also the Android maintainer) left.

Don't worry; someone will pick it up again, sooner or later.

658
Issues Help Desk / Re: "Having a Turd" on OS X
« on: June 23, 2013, 12:51:27 PM »
Definitely closer to the order of days. I'm pleased with the results I have been getting so far, but judging from past experience, I'm not nearly out of the woods, yet.

I'm a little surprised it missed sound_isplaying. It shouldn't be able to parse all the other sound functions, and not that one. Maybe something else is amiss.

659
Issues Help Desk / Re: "Having a Turd" on OS X
« on: June 23, 2013, 06:38:50 AM »
I'm actually working on that very component at the moment. With a little luck, that'll take care of issues on OS X, too, but I can't promise anything.

You might be fine to just ignore it, if it actually read a reasonable number of definitions.


Oh, I should add, the output of the compiler in this case used to be this:

Code: [Select]
ERROR in parsing engine file: The parser isn't happy. Don't worry, it's never fucking happy. Have a turd.
             /
            |    |
             \    \
      |       |    |
       \     /    /     \
    \   |   |    |      |
     | /     /\   \    /
    / |     /# \   |  |
   |   \   *    `      \
    \    /   =  # `     |
     |  | #     ___/   /
    /   _`---^^^   `. |
   |  .*     #  =    | \
     |  =   #      __/
    .\____-------^^  `.
   /      #         #  \
  |   =          =     |
  \___    #     #___--^
      ^^^^^^^^^^^
Continuing anyway.

Then one of our less heterosexual developers replaced the turd string with "ERROR: Unknown". True story.

660
Issues Help Desk / Re: Problem with instance_deactivate_region
« on: June 23, 2013, 05:46:58 AM »
While that code is 150% fatter than it needs to be, it is correct.

The player gets deactivated because the view does not instantly move to encompass the player. When your code starts, there is no player, and the view is still at (0,0). You then create a player, because one does not exist, but you create him outside of the view. You then deactivate everything outside the view, which hasn't moved.

That's why creating the player after calling your deactivation code will fix it.