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

166
Off-Topic / Re: Restructuring the Community
« on: September 26, 2014, 08:43:06 PM »
Not everyone that contributes to a project will be a shining ray of professionalism, especially in the world of open-source. We're non-profit; we don't have a job or a duty. As with most FOSS projects, ENIGMA is a meritocracy. I'm not going to ignore the elephant in the room and acknowledge that you're all talking largely about Robert. Not everything Robert says is a weathered pearl of maturity and insight. This doesn't matter; his intentions for the project are good, and overall he is having a positive impact on the course of the project. Should I tell him to shape up or ship out? That would be a huge mistake. I don't care if 90% of people who come here on scouting missions see the community in an "unprofessional" state and leave—my job here is to maximize contributing members first, and other members second. In essence, I'd trade a ten—hell, a hundred Aegars for one Robert. I apologize if it seems excessively blunt, but the truth often is. The same goes for any of our other contributors.

Now, if you are calling to question my maturity and professionalism, I'd appreciate if you confronted me about it directly. I acknowledge a tendency toward anarchy. As it relates to contributors, see my above remarks. As it relates to other members, well, other members are people, and people will be people. It's a grab bag.

I could ban people who don't spell out the word "you," or who don't audit their speech for respectfulness and positivity, but I believe in freedom of speech first, and a comfortable environment for everyone who might come along, second. If you have a problem with the subject matter or tone of a thread, don't visit it. If it's saying something genuinely slanderous or distasteful, report it. I have had to edit out sexual content in the past, and we've had one user who was actually persistently, unjustifiably rude enough to constitute a ban. This user literally said nothing constructive or truthful in any of his posts; all he did was bash other members. I try to avoid bans in general, but I weigh rules by their merit. I haven't seen anyone make this forum a genuinely intolerable place to be.

Again, if you feel that someone is doing that, please exercise the report button. I'm not going to issue warns for "GayMaker: Stupido" any faster than I will for "Internet Exploder" or "Micro$oft," and the same goes for any names you can come up with for "ENIGMA." Actually, some people were already calling it "enigger" in the past, which was inspired by a particularly rude member who, fortunately for the rest of the community, only directed his rage at ENIGMA, me, and other contributors. The words reflect poorly on their speakers. It isn't my job nor my place to delete things others say where they are lawful in doing so. I prefer to point out my thoughts on their behavior.

If there is something in particular you would like me to address, feel free to let me know. As stated, I don't issue bans for opinions.

167
Announcements / Re: Licensing, the ultimatum
« on: September 24, 2014, 11:54:40 PM »
I'm starting to think you're right. We're going to hit the half-year mark in short order without a reply. Even for free help, that's pretty abysmal. :P

168
Developing ENIGMA / EGM Migration
« on: September 21, 2014, 04:18:25 PM »
I'm going to spend the rest of today getting the plugin building on my current dev machine. Ism gave the green light last week for a backwards-incompatible change to the EGM format, and then volunteered to handle backporting in the form of converters. Maybe that's okay for now, but I want to avoid another incarnation of the problem to avoid wearing Ism out, at very least. It's sad; even GMX is writing plain-text for its rooms and objects; we have some catchup to do.

169
Developing ENIGMA / Re: Change
« on: September 21, 2014, 01:28:29 PM »
The first chunk is out for review now at enigma-dev/#825. If you have anything to test that with, please do so (and feel free to give me some files to keep handy for testing).

170
Developing ENIGMA / Re: Change
« on: September 20, 2014, 10:17:53 PM »
I cannot believe how ugly this file was. Robert, did inheriting stacked events (key press, mouse button, etc) even work? Or would overriding them cause a compile error? Or both events to fire? This is literally the ugliest ball of for loops I've seen in my entire life. I can't believe it achieves a desired effect.

171
Developing ENIGMA / Change
« on: September 20, 2014, 03:22:29 PM »
While it seems that the massive changes that were flooding in over the summer have wound down (to a degree), I am still skeptical of this, and so I am changing my compiler-related plans to accommodate all the contributions that rolled in over the summer, as well as any new ones.

There are a couple changes I started rolling out in the other compiler branch that are becoming harder and harder to merge in as changes continue to be made upstream.

I was in the process of gutting the extension system and the relevant compiler chunks to try to splice in a hook system (see my notes on the Wiki from years ago) when I realized that the warnings I corrected in the compiler were starting to trickle back in, and that (on a very related note) Robert made an absolute war zone of write_object_data.cpp trying to add support for inheritance. I stepped back to address that, and realized that the best move is for me to make all of my non-parser compiler changes in master and naively hope that they propagate painlessly, which has been the development policy for a while, now.

In other words, gentlemen, it's Josh's turn to break things carelessly. I know it isn't ideal, but I've been too reserved about these changes in the past. I have merged enigma-dev/#819 after its (minor) review, as it seems not to seriously break anything important. If I can get you guys to stay on top of my future pull requests, we can probably make it through this next week without anything serious failing. I will exercise the maximum amount of diligence possible given our lack of a regression test suite, which I will probably begin to set up while I'm at it (see my current implementation here).

You will see my first commit sometime tonight or tomorrow. It will do three things, listed here in order of increasing impact:
  • Fix the warnings in module_write_fonts.cpp and small warnings elsewhere
  • Separate write_object_data.cpp into multiple helper functions and recode as needed to make non-hideous
  • Move ALL C++ codegen and module export logic into a new class, compile_context. This has already been done in the compiler branch.

The purpose of the move is so we don't have contention on globals in the event that we need to run two compiles or two parses. This is less important than the smaller, more-intricate move which will be made in the commit after that one, which will move all logic involving interaction with the parse system into helper functions. This includes the following:
  • All logic which directly requests the parsing of code.
  • All logic which requests information about user-defined variables.
  • All logic which attempts to reflect or coerce type information or code metrics.

The connecting factor, of course, is that the parser is somehow involved in all of those operations. The connecting symptom is that ENIGMA sucks at all of those operations. The reason for this move, therefore, is to make it so that once this is all said and done, the new parser will be a drop-in replacement for the old. My original approach was to do the replacement in a branch where I would not have to touch the old logic, but that's just not going to cut it for the reasons I've already hinted at.

I am going to finish mincing write_object_data.cpp, now.

TL;DR: Keep an eye out for my future pull requests. Please check them for breaking changes as they roll out.

172
Off-Topic / Re: 2.5 billion for an indie game
« on: September 19, 2014, 07:55:02 PM »
No; I'm upset that all the good Minecraft was doing for people is about to come to a screeching halt. Redstone, especially command blocks, is the best thing that ever happened to computer games in the field of learning. Microsoft is going to eviscerate it and shit on its entrails.

173
Off-Topic / Re: I'm officially not . . .
« on: September 19, 2014, 06:57:01 PM »
Congrats! We still call some of our colleges universities. There's some distinction between the two, but it's fallen out of the public lexicon. But we say "college," not "uni." You go to college by attending a university.

174
Off-Topic / Re: 2.5 billion for an indie game
« on: September 19, 2014, 06:35:55 PM »
No.

No, no.

NO.

NO. NO. NO.

NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO.

NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO. NO.

NONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONON ONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONO NONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONON ONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONO NONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONON ONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONO NONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONON ONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONO NONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONON ONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONO NONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONON ONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONO NONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONON ONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONO NONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONON ONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONO NONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONON ONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONO NONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONON ONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONO NONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONON ONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONO NONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONONON

FUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU

175
General ENIGMA / Re: Searching In Resources
« on: September 14, 2014, 10:33:00 PM »
I believe "filter tree" actually means "prune tree," and it hides non-matching paths. And yeah, regex is a must.

My concern with losing the DND editor is how existing DND tiles will render when loaded. Once upon a time, Robert was looking into embedding DND into the code editor rich-text style, but...

176
Ideas and Design / Re: In need of a Sonic fangame engine for Enigma
« on: September 14, 2014, 05:18:41 PM »
We had one on the EDC that polygone posted a long time ago. It's possible the author had him take it down, as I don't see it, anymore. It worked fine, at the time.

177
General ENIGMA / Re: Searching In Resources
« on: September 14, 2014, 10:19:18 AM »
But I'll be honest Josh I also think we should have a preference for the object events to be expandable by default even when not searching, users can toggle it from preferences which is also default functionality of Eclipse class files.

I suggested that.
If you could show events in the resource tree... wow. I never even considered how powerful that'd be. I'd recommend putting it in a different view which can be toggled, though, as I believe common users would be annoyed by the expandability of objects. I hate in Eclipse that if I try to recursively expand, I get a whole bunch of shit I don't care about (because it's all text files). But that'd be a super cool feature, especially for search.

I said a couple of the other things you said, but it sounds like you have the right idea on those, so I won't reiterate.

As for what should happen when you click on an event of an object node, try not to reimplement the object editor in the resource tree. Just open the object editor to that event. You can include groupings in the tree if you really want, but try to avoid code duplication. Showing the code editor won't work when other DND is involved.

As for the icons, I can do that. There's already a wrench icon for use in the JE quick-find; it's not used elsewhere. Go ahead and use it for consistency.

178
General ENIGMA / Re: Searching In Resources
« on: September 13, 2014, 09:19:46 PM »
If you could show events in the resource tree... wow. I never even considered how powerful that'd be. I'd recommend putting it in a different view which can be toggled, though, as I believe common users would be annoyed by the expandability of objects. I hate in Eclipse that if I try to recursively expand, I get a whole bunch of shit I don't care about (because it's all text files). But that'd be a super cool feature, especially for search.

Yoyo's execution is poor; their results page looks bloated (it's wide and tall; why?) and ugly (it doesn't even expand the whole way; looks like poor CSS). And unless you can float it, or it's always on top, it looks easy to lose. If it's always on top, then it's just annoying because it's always in the way. Copying results to the clipboard could be useful, but the results are overly verbose, too. I'd go resource:line:position: full text of line with terms highlighted, eg,

shader0:vertex:2:11: something whatever passthrough whatever shader0:fragment:2:11: something whatever passthrough whatever object0:Create:1:0: this line literally just says "ass", you ass

And you may as well keep them in a separate window, unless you can get the total space down (possibly by putting the options all in a single column and the results to the right, or in a row—search box spanning above—with results to the bottom).


Now that I've said that, let me again state that I LOVE the idea of the Eclipse feature. If I may...



Tell me that doesn't look nice.

Now, let me pitch you this: do what I did for JoshEdit: Have a QuickFind dialog which searches in anything, with a wrench to configure advanced settings. Have a small button that does the full-text search, and a small wrench icon that configures it. You can even have that configuration dialog offer a plain-text results list, but I think that's overkill.

Good luck on the implementation; this feature sounds killer.

179
General ENIGMA / Re: Need some advice on fullscreen + views
« on: September 10, 2014, 10:52:51 PM »
I'm actually annoyed by the ill-defined, uncustomizable behavior of the engine when the screen size changes. There's no reason to force rendering on a fixed-size canvas to up- or down-scale. I believe GM allowed options to scale or render at (0, 0), which is stupid; why can't we center it? Why can't we allow users to let the card scale the textures and draw the lines as normal? Why can't we offer threshold scaling, eg, take the largest fitting of .5x, 1x, 2x, 3x..., then render it centered? Why not just let the user define the render logic around the drawing size? There are a lot of modes that make sense.

Handling view boundaries for users complicates this, because we logically need to be in charge of that until the user manually assigns to the view variables, which we don't facilitate. So we have the classic UI problem of "how do we scale these widgets?" (here, views). Once we've scaled to get accurate view coordinates, we then have the problem of how we want to project the world onto this space. GM's answer is surfaces; ENIGMA originally let the user handle that, but now, as I understand, also uses surfaces. It's annoying.

Anyway, that concludes my rant. The short version is, I don't have an answer for you because the current answer is ill-specified and generally lousy. Sorry.

180
Developing ENIGMA / Re: Android
« on: September 08, 2014, 10:37:40 AM »
It seems that to work around problems of the C:/Documents and Settings/John Doe/My Documents/My Games/super cool game/game.exe ilk, ld just takes EVERYTHING after -o to be the output name. So that's one issue.

I can't tell from what you told me over IRC if it's finding all the objects correctly or not. It'd help to have a dump of the OBJECTS variable.