ENIGMA Forums
General fluff => General ENIGMA => Topic started by: antidote on August 18, 2009, 01:27:17 pm
-
Well not yet, I've been thinking about writing this little beauty for a while now, I believe that if we were able to actually get a decent Editor going specifically for Enigma that this would help boon support for the project.
Currently all I have is a simple PNG file which is meant to be edited with ideas for features.
Feel free add your ideas
Dev's would be nice, especially Linux dev's, since I'm still learning C++ I certainly can't pull of a project like this by myself yet. As well as a good hosting site with decent SVN support and bugtracking.
Also I'm only going to work out the specifics of the main editor for now, Object Editor and the Script editor will be handled later I want to get an idea of what people want in an IDE for enigma.
-
How is LateralGM deficient, in your opinion?
-
It isn't, It's just that i'd just like to take a crack at making an IDE. Sorry if I offended.
EDIT:
Well I guess I can't say that, LGM just feels a little tacked on atm
-
Actually LGM isn't "tacked on". We're both essentially the same project, an "alternative GM". However, we figured it would be most efficient if we split up into 2 teams - one to develop an IDE, and the other to develop the compiler. Originally the project was going to be entirely in Java, but then Josh offered to make it in C, and he was making very rapid progress, so I gave it to him.
Since the IDE and the compiler are completely separate, you're welcome to develop your own IDE. I'd love to help, but I don't know C++; only C. I exclusively use Linux, and wrote most of the Linux UI code for Enigma (in C - I think Josh has upgraded it to C++ since then).
For SVN hosting, I'd recommend sourceforge or google. LateralGM uses opensvn.csie.org (since it was one of the first to offer Trac), but they have a lot of downtime, and sourceforge has since added the ability to use trac.
Having 2 IDEs is a good thing because then it gives the user choice, and there's no monopoly on the IDE.
-
I can see it feeling that way because everything that goes on between LGM and ENIGMA is basically a hack.
We tried making ENIMGA a DLL for LGM to load, but that didn't go so well.
You and I probably need to try that again, Ism.
It also doesn't help that Java performs differently on every computer I've tried it on.
-
ENIMGA
By the way Antidote, did you index that 2-colour PNG?
-
I was honestly bound to make that typo at some point.
Also, I don't see a problem with LGM, but I'm all for an official IDE. The hard part will be the room and path editors, I imagine.
-
GTK+ is how I would expect it to go, since it's a great cross-platform toolkit for interfaces and such. And the alternate would be coding a different interface for each OS, which would be a pain.
-
wxWidgets or XUL might also be possibilities, although XUL is a little bloated as it is now.
-
If I had to choose one, it'd be wxWidgets, I imagine. I've used wxWidgets applications without ever knowing they were cross platform. That's more than I can say for so much as one GTK application. I mean, aside from the obvious GIMP, whose main toolbar... WINDOW... is so inconvenient and tedious to find that it isn't worth using it at all (until recently, as it now floats on top, but still kinda wreaks), who everyone knows is GTK, even the ones who don't know what GTK is. Let's look at Pidgin.
One fine day, I'm on Pidgin, as I need to speak to Ism on LGM matters. My contact list isn't enormous, but it's convenient to just type the first few letters of the name you're looking for and hit enter. I do that for all my Windows applications.
So I get as far as the first letter, when the box that pops up freezes. Won't accept input. But it had selected her name.
So I press Enter. Nothing happens.
So I press Escape. Nothing happens.
Each time I forgot in any GTK app, I'd be stuck waiting for five seconds for the damn box to go away. That includes GIMP's file selector.
Oh, and in my getting mad about the little things, I didn't even mention that GTK has a 17 or so MB runtime, that basically every program that uses it comes with an updated version of. The compiler's big enough; MinGW is roughly 10MB zipped. ENIGMA adds another couple to that. Can't really say I want a 19 MB runner if it can be avoided.
However. Despite it all, GTK is relatively clean, and ENIGMA could use an interface that can be natively compiled without incident, or breaking GPL rules. So no matter what runtime/API anyone uses, I'd be happy to see an interface.
Though as the above suggests, I'm partial to wx. I started making a UI one day before I realized what a task it'd be. Did I mention Code::Blocks has a built-in wxWidgets WYSI(basically)WYG editor?
-
I would like GTK. Josh, I've never had those problems. Must be just you. :/
You could also use Qt instead if you need another option.
-
You're a Linux user. The Developers care what their stuff looks like on Linux, and Linux endorses GTK, so your pidgin download isn't 20MB.
-
I wish that GTK search box was better documented.
-
GTK+ for Windows is a nightmare. I have to agree with Josh on this one.
The simple concept of installable "runtime" is ugly enough. Specially since far fewer people have GTK+ compared to the number of people with Java or .NET installed.
wxWidgets is not perfect, but it is better than GTK+.
-
You're a Linux user. The Developers care what their stuff looks like on Linux, and Linux endorses GTK, so your pidgin download isn't 20MB.
I was a Windows user as well until Win7 stopped working and I've neglected to reinstall it
I suppose we shall go with wxWidgets. Either that or Qt. Those are the only three things you should consider at all, and Qt is #3.
Does Firefox use XUL? I thought it did.
-
Firefox does use XUL. The problem with XUL is that xulrunner isn't really very mature and Mozilla makes it with the attitude that you'll have the XUL runtime and then write XUL apps, similar to GTK on windows (at least that's how I see it).
Using Qt seems like a big mess to me as well. They have some kind of C++ preprocessor that's specific to Qt, just for fancy features not everybody will use.
wxWidgets is pretty big, but it looks better than GTK, Qt or XUL. It doesn't need a runtime on windows (although it does need the dlls or statically linked libraries in the exe), it's plain C++ with a pretty good architecture and its target audience seems to include us.
-
^ That
Retro --
I have to say though, don't use "we" in this stuff. I like to use we so I don't feel all alone with this code, but this one's antidote's undertaking, it should seem. If he wants to write an IDE, he'll use what he's comfortable with. And although I'd like to present wx as a seemingly better alternative to GTK, it's ultimately up to whoever takes it upon themselves to code it.
(That's why I refrain from screaming over every Java headache)
-
Sorry i haven't posted in a while, but almost as soon as I posted this It got put on the back burner due to more important things (like preparing to leave job corps. and losing my Dev machine in the process)
Also @score_under: Don't complain at least it isn't a Bitmap but i don't think i did.
Edit:
On a different note I've decided to use wxWidgets instead(it supports GTK+ and is better documented) Once i get home (Sep. 25!) and set my Dev machine back up (In the laundry room no less -_-) i'll get to work on this and see what peoples opinions are once they have something tangible.
-
I'll say something now.
I absolutely hate GTK's file browsing on Windows.
-
I'll say something now.
I absolutely hate GTK's file browsing on Windows.
It's exactly as it is in GNOME.
-
Sounds good, antidote. R4 should be out before then.
a2h-- Why just on Windows?
<_< Retro stole my thunder
-
Nautilus is wonderful. It's better than Windows Explorer.
-
That's not saying much.
-
That's not saying much.
I laughed, but seriously. Would you rather have Dolphin (KDE's file manager, not the emulator)?
Thunar is pretty cool. Erm... Mac? Browser/whatever it is?
That's just about most of them. I mean, 7-zip is technically a file manager too.
-
Sounds good, antidote. R4 should be out before then.
a2h-- Why just on Windows?
<_< Retro stole my thunder
Because inconsistencies in such things (i.e. with the standard open/save dialogs) annoy me to no end.
-
I lol'd, you do realise that you can simply make your own dialogs right? <.<
@josh: Mwuahahahah *rubs hands together greedily*
-
I lol'd, you do realise that you can simply make your own dialogs right? <.<
You can for WinAPI and Qt too, but does anyone ever bother?
-
You bring up a valid point <.<
-
I gave the championship title for worst save/load dialog that will ever exist to Blender.
As long as it doesn't look like that, I'll greet whatever it is with a smile.
Mild inconvenience is one thing, but Blender's type-the-filename-yourself-and-don't-expect-to-be-in-the-same-directory-next-time-you-see-this-dialog interface kills me. And there's no navigation at all. It starts you in C:\Program Files\Blender\1000\different\folders\location of exe\ and then expects you to navigate to the folder you want from there. I resorted to copying and pasting the path to the folder I wanted in its open box.
Only then did I find out it stores a history for the dangerously observant.
-
I have no clue what API Blender was made in. :/
It's essentially the default X dialogs, pretty much.
-
Also @score_under: Don't complain at least it isn't a Bitmap but i don't think i did.
In this case, the monochrome indexed PNG is ~7.7% the size of the original. Meaning that if the original takes a minute to load, the monochrome indexed PNG will take 4.7 seconds to load. :P
This is why I love indexed PNGs.
-
The PNG is an awesome file format. I wish alpha transparency could be used on indexed images, though (with alpha as part of the palette).
-
It's essentially the default X dialogs
X has dialogs? When I was programming the X code for Enigma, I certainly don't remember seeing any of that.
-
It's essentially the default X dialogs
X has dialogs? When I was programming the X code for Enigma, I certainly don't remember seeing any of that.
He probably meant default Qt or GTK dialogs.... (X does not have any preset dialogs, although you can certainly make your own).
Also, why do we from the UK still talk about "colour" yet when we're talking about a dialog box, we don't call it a "dialogue box"? There's one for you to think about for a few seconds then throw an answer that should have been obvious to me in the first place. :P
-
Also, why do we from the UK still talk about "colour" yet when we're talking about a dialog box, we don't call it a "dialogue box"?
I do...
-
]He probably meant default Qt or GTK dialogs.... (X does not have any preset dialogs, although you can certainly make your own).
I thought X had dialogs, too? :/
I know it has simple things like right-click context menus and the like, and I thought it had message boxes as well.
I've been messing with all the various desktops lately (GNOME, KDE, Xfce, LXDE, JWM, X by itself) in my arch install (which I've reinstalled many times) and I could have sworn that a lot of default X applications had certain dialogs that were the same.
-
X has nothing but a basic window, with flags if I recall correctly.
...It also had some terrible-ass keyboard event handling code. Ism did the windows, and looking at her code, it was a bitch. I did the keyboard, and lemme tell you. WAS. NOT. FUN.
Also if I recall correctly, Blender uses only the code necessary to make a window and a GL context, and the rest of their UI is custom-drawn. Probably took them a couple 9001 years.
-
Hi everyone,
I was writing an IDE like the one you describe (C++ and WxWidgets) back in 2007, it could open .gm6 files and show you the project tree with icons, and show you some sprites on Sprite Editor. That was about it.
If you are interested, check out http://sourceforge.net/projects/opengm/develop, and browse the CVS Repository. The project is under /ide folder, and you can find some precompiled binaries under /binaries folder. You also need to download the folder "resources" with all of its contents in the same folder as the binary.
Since its Opensource, you can use the code freely, if you are interested, or i can give you full write access to the repository. Otherwise , you can still use my code for inspiration, in case you need it XD
What i am interested is in seeing this project go on :P i'm very interested, i love GM and i love C++ so this is like my ideal application XP. Also this is a formal request for Josh to let me join the team and help with the development of ENIGMA. Please, let me know your thougts.
Thanks in advance.
Yours,
Brandnew, Admin from ComunidadGM.org, GM Lover and C++ intermediate-skills programmer.
-
@brandnew: looks interesting, You answered some of my problems for reading in a GM project (I was going to need to write a reader/writer from scratch <.<)
-
brandnew:
I could certainly use an additional team member. Heh, you're the first to put in a formal request to be one. But sure, I could use all the help I can get.
Right now I'm up to my eyeballs in homework. I have an essay to be writing for English that I've been putting off to work on ENIGMA. Hopefully my grade doesn't suffer for it. I should be working on that now.
I... have no formal process for adding someone to the team. I will certainly give your interface a look as soon as this essay is out of my face. (I'll want time to distract myself so I can proofread it after).
I should probably have edited this with my thoughts before you read it. In case not, though, letting you know I'll look at it ASAP.
-
Well, I'm at home getting ready to start developing ENIGMA-IDE however I'm in the process of installing Ubuntu
-
Awesome :D so, im at your orders whenever you want me to get started. I can help with functions perhaps?
@brandnew: looks interesting, You answered some of my problems for reading in a GM project (I was going to need to write a reader/writer from scratch <.<)
I'm glad the code gets to be actually seen by someone xD
Cheers
~Brandnew.
-
Heh, I downloaded the source before I left for school a couple days ago, but it had dependencies you only pre-built for Windows, so I had to go before I could compile it. Haven't had enough time to partition off to doing so since (Am presently working on parser and biology homework, mostly the latter), but I'll have it compiled at some point. >_<"
-
Well I haven't gotten much done yet, however I have created a Source Forge page for it (nothing in the SVN yet)
https://sourceforge.net/projects/enigma-ide/
-
Well I haven't gotten much done yet, however I have created a Source Forge page for it (nothing in the SVN yet)
https://sourceforge.net/projects/enigma-ide/
It's not official, so I'd say you should add a note about that.
-
It's not official, so I'd say you should add a note about that.
good point, although I felt that it was implied.
EDIT:
Well, I've finally started to actually work on this.
Currently I'm working on the code editor so that I can figure out what needs to be done about the Syntax hi-lighter (Scintilla?)
Not much is really done atm just a basic window and a multiline textbox. I also haven't figured out how to handle multiple instances of the code editor, I was thinking about using a tabbing system to organize them but that seems like it would bug alot of people when they need to view several at once.
Also works beautifully on Linux ;)
Edit2:
if you look at the SVN you'll notice that i have added the beginnings of a Code editor (which is VERY sloppy ATM) but please disregard the rev # it's actually revision 1 <.< I was having trouble with svn (never did over teh webz it before)
-
Well, i thought I'd say I'm back to programming Enigma-IDE, however I'm now using Qt because it's less bloated AND is better documented.