DMIDE Unveiled!

For the past month I've been working long and hard on something I officially call DMIDE. DMIDE is an open-source, cross-platform integrated development environment for BYOND. DMIDE works in Mac OS X, Ubuntu, Fedora, Mandriva, Debian, Windows, and others. DMIDE is written entirely in Python, and it uses the wxWidgets GUI toolkit. Currently DMIDE is written and maintained by Crashed alone, but hopefully in the future the Python community within BYOND will be able to contribute towards later builds.



Thanks to Jon88 for this awesome CSS!

Posted by Crashed (Blog Administrator) on Saturday, July 21, 2007 09:27PM - 14 comments / Members say: yea +0, nay -0
(Edited on Friday, August 03, 2007 11:37AM)

Login to post a comment.

Upinflames:

Can I also be a tester?

I have Vista and XP.

Wednesday, August 01, 2007 09:04AM

QDirty:

Looks really nice, Good job!

Monday, July 23, 2007 08:13PM

Jp:

The lexer I wrote for you could probably have a few things done better, Crashed - for one thing, I'm not sure it'll handle continuation lines correctly. I know of at least one bug - . is always listed as an operator, even in situations where that doesn't make sense - for example, . = "foo" will translate to:

OPERATOR: .
OPERATOR: =
STRING: foo

NOT

IDENTIFIER: .
OPERATOR: =
STRING: foo

Although I'm sure you can work around that - any sequence of two 'operator' characters is wrong, I'm fairly sure, unless the first character is a ., in which case it should be an identifier.

In fact, just checking, I forget a token rule for the \ character, so it produces bugs - Easy enough to fix, I'm sure you can see how it would work. Somewhat harder, it can't handle continuation lines in the middle of strings correctly - although that shouldn't be a problem for syntax highlighting.

Monday, July 23, 2007 07:50PM

Flick:

Looks pretty nifty Crashed. What's it going to let me do that I can't do now? (Yes, I noticed a couple things in the screenies, I just figured I'd offer you an opportunity to explain. :)

P.S. I don't CHEAT! ;)

Monday, July 23, 2007 10:41AM

Xx Dark Wizard xX:

That vista screen shot looks nice.

Sunday, July 22, 2007 02:07PM

Crashed:

> Have you been thinking about perhaps making a DreamSeeker and BYOND pager client for Python? ;)

To put it short; impossible.

> [EDIT: What's the chance of me becoming a tester?]

Really likely. I need a group of people with all varieties of operating systems to test on.

Sunday, July 22, 2007 12:44PM

Flame Sage:

Have you been thinking about perhaps making a DreamSeeker and BYOND pager client for Python? ;)

[EDIT: What's the chance of me becoming a tester?]

Sunday, July 22, 2007 12:11PM
(Edited on Sunday, July 22, 2007 12:31PM)

Crashed:

Heh, I love it too. Jon88 put a lot of work on this CSS. I'm still not sure what kind of control I'll use for the icon editor, I've taken a look at wx.PaintDC and wx.ClientDC. I've talked to Tom about a DLL that'd be able to load and save .dmi files, to eliminate those troubles for me. And if I'm given enough flexibility, I could even go and create layers for the icons like you'd have in Photoshop. Also, I'd love to put the dmi editor, the interface editor, and even the map editor on the editor notebook. It'd be pretty neat to be able to split your code window in two or three, being able to see everything you'd need at once.

Sunday, July 22, 2007 04:56AM

Nadrew:

By the way, I love this CSS. The CSS2 stuff is really cool.

Saturday, July 21, 2007 10:28PM

Nadrew:

Looks pretty good so far, you went the opposite direction I did. I did the icon editor first and then the text editor stuff. The best way to do an icon editor for it is using libpng for all of the saving and loading (BYOND uses libpng itself). For the editor I used an OpenGL window that accepted mouse events to do things. It would open the icon as png, read the comments to split the icon_states and animation frames up then you load what you need into the OpenGL window and go from there.

I've never used Python so I'm not sure exactly how it would be done in it.

Saturday, July 21, 2007 10:25PM

Crashed:

Considering how slow I'm working, could be two months.

Saturday, July 21, 2007 09:46PM

Flame Sage:

When are you expected to have a build ready?

Saturday, July 21, 2007 09:45PM

Crashed:

Right now DMIDE is just a text editor. It can open DM environments and edit the code, but in true form it's a text editor. Right now I'm working on the lexer to get syntax highlighting, code folding, tab-suggestion, auto-completion, and other features into the editor. I do have a demo of it right now, but it's in such basic form that it's not worth trying.

Saturday, July 21, 2007 09:42PM

Flame Sage:

Interesting!
Which version of BYOND are you doing?
Does it have any 4.0 features?
(The Icon Editor)

Does the DMI editor even work yet?
What about the DMP?

Do you have a version we can try?

Saturday, July 21, 2007 09:40PM

 

 

Build Information

First sign of DMIDE on Mac. Gave Maz the source, he ran it, and it works no problem.
Mac OS X Screenshot

Recent screenshot of DMIDE running in Windows 2000 Professional.
Windows 2000 Pro Screenshot

Screenshot provided by Xx Dark Wizard xX in Windows Vista.
Windows Vista Screenshot

Screenshot provided by Koil in Windows XP.
Windows XP Screenshot

Old screenshot of DMIDE running in Ubuntu.
Ubuntu Screenshot