Jun 25, 2011, 10:12 PM | |
MLLE - Playing catch-up with DJazz
MLLE, short for Multi-Layer Level Editor, is an alternative to JCS that I am currently developing. It allows opening, viewing, editing, and saving of levels compatible with any version of the Jazz 2 engine, including Battery Check, Animaniacs: A Gigantic Adventure, and all OEM versions of Jazz 2 itself, as well as free conversion among those versions. It allows the creation of levels for JJ2+ that use multiple tilesets, custom palettes, and various other features. It is also intended to eventually subsume the functions of Reworder and make various other improvements on the JCS featureset.
You can download the most recent (December 14th, 2017) test release here. Last edited by Violet CLM; Dec 14, 2017 at 06:11 PM. |
Jun 27, 2011, 07:08 PM | |
Update: hard to show with a screenshot, but all animation properties are now working properly. Next up, reading data3 from .j2t files for those .1% of tilesets with pure black pixels. |
Jun 27, 2011, 07:11 PM | |
It's possible he used a screen-shot of the editing display and superimposed it onto the parallax display in an image editor. Not too hard if you know how to get rid of the Jazz Blue.
__________________
drop by my SoundCloud or something if you want, it's my life's pride |
Jun 28, 2011, 02:27 AM | ||
Quote:
I guess we can also expect built-in Reworder functions and full support of meta-animations? And let me ask, is there or will there be something indicating which layer are certain tiles on? Like, every other layer than the one being worked on becoming translucent? It can get really confusing in levels with many layers of the same scrolling speed. When I was working in a level editor of some other game, I often found myself erasing all the work I've just done because of finding out I was working on a background layer all the time instead of the sprite layer. That issue wouldn't be as annoying in here, because JCS has the "B" key (that other one didn't have a copy paste option), but it's a good idea to get rid of it anyway, for the sake of user friendliness.
__________________
I am an official JJ2+ programmer and this has been an official JJ2+ statement. |
Jun 28, 2011, 02:43 AM | |
Well, I knew you'd like it, but really I'm more interested in invisible masked tiles that aren't invisible in JCS. Assuming I know what you mean by "meta-animations," they're in -- they're really very simple to program -- and other stuff will happen as time goes on. I've considered transparencing non-active layers, or at least ones farther front than the active layer (so 1-3 when editing 4, say), but for now I think the easier option is just to have a simple JCS-like mode with only one layer visible at a time, if only because I actually know how to program that. :# Reworder functions will make it in at some point, though don't be surprised if I release a prototype before getting there.
|
Jun 28, 2011, 05:08 AM | ||
Quote:
What else do you have in so far, Violet?
__________________
Mystic Legends http://www.mysticlegends.org/ The Price of Admission - Hoarfrost Hollow - Sacrosanct - other - stuff |
Jun 28, 2011, 12:01 PM | |
Perhaps... a new level editor, as judging from the title, or the screenshot, or the posts following the OP?
__________________
Mystic Legends http://www.mysticlegends.org/ The Price of Admission - Hoarfrost Hollow - Sacrosanct - other - stuff |
Jun 29, 2011, 01:12 PM | |
Perhaps so! What else do I have in... really, what you see is what I've got. It reads and stores every last bit of data from a .j2l and its .j2t (even if I don't know what some bytes are for), displays eight layers at the proper parallax speeds relative to one another and scrolls around (with autospeed not yet implemented), reads and displays event names from JCS.ini, and is not remotely interactive. Data3 is in; next I should add support for 1.24 and 1.10o levels, and then saving, and also speed up the drawing function at some point before things get much more complicated.
|
Jul 3, 2011, 08:44 PM | |
Still no saving, but here's an early render of a version I neglected to mention in the last post: .lvl and .til files from Animaniacs: A Gigantic Adventure! Events aren't being read properly because AGA uses an earlier version of the .j2l format which has a much more complicated event structure, but graphically it looks good. TSF, 1.10o, and Battery Check are all working fine too.
ETA: oh yes, and this pretty much puts the kibosh on all edited JCS screenshot theories. ETA2: A line of code for your amusement: Code:
for (byte k = 0; k < 4; k++) alphaAtlas[i % 10 * 128 + i % 1030 / 10 * 40960 + j % 128 + j / 128 * 1280 + k] /*= alphatile[j + k]*/ = (k == 3) ? (j2l.J2T.TransparencyMaskJJ2_Style[Array.BinarySearch(j2l.J2T.TransparencyMaskOffset, 0, (int)j2l.J2T.data3Counter, j2l.J2T.TransparencyMaskAddress[i])][j / 4] == 1) ? ((transp) ? (byte)192 : (byte)255) : (byte)0 : pixel[k]; Code:
for (byte k = 0; k < 4; k++) alphaAtlas[i % 10 * 128 + i % 1030 / 10 * 40960 + j % 128 + j / 128 * 1280 + k] /*= alphatile[j + k]*/ = (k == 3) ? (((source == TransparencySource.JCS_Style) ? J2T.TransparencyMaskJCS_Style : J2T.TransparencyMaskJJ2_Style)[Array.BinarySearch(J2T.TransparencyMaskOffset, 0, (int)J2T.data3Counter, J2T.TransparencyMaskAddress[i])][j / 4] == 1) ? ((transp) ? (byte)192 : (byte)255) : (byte)0 : (((source == TransparencySource.JCS_Style) ? J2T.TransparencyMaskJCS_Style : J2T.TransparencyMaskJJ2_Style)[Array.BinarySearch(J2T.TransparencyMaskOffset, 0, (int)J2T.data3Counter, J2T.TransparencyMaskAddress[i])][j / 4] == 1) ? pixel[k] : (i == 0 && k == 0) ? (byte)72 : PinkTransparentColors[k] ; Last edited by Violet CLM; Jul 21, 2011 at 09:34 PM. |
Jul 4, 2011, 12:42 AM | |
lol noob. I use Paint.NET.
__________________
drop by my SoundCloud or something if you want, it's my life's pride |
Jul 20, 2011, 11:58 PM | |
Nothing is finalized, and there's a whole lot of missing functionality (e.g. displaying the tileset, any editing tools at all), but I managed to embed the level display in an editor window, so that's progress! Progress with working scrollbars, no less!
|
Jul 21, 2011, 03:06 AM | |
If I can make a suggestion, I would appreciate an option to turn off the darkening of tiles where events are, so that only the text remains.
__________________
"So unless I overwrote my heart with yours, I think not. But I might have." - Violet CLM Two Games Joined releases: Control / Splinter (twin singles) || Ballistic Bunny (EP) || Beyond (maxi-single) || Beyond: Remixed (remix EP) || Inner Monsters OST (mini-album) || Shadows (album) |
Jul 21, 2011, 04:42 AM | |
Well I'll be, I want this thing.
Gimme now.
__________________
drop by my SoundCloud or something if you want, it's my life's pride |
Jul 21, 2011, 10:56 AM | |
Obi1: Not implemented yet by any means, but I don't imagine it'll present any serious difficulty since I'm already rendering levels at any resolution at all and the two are pretty much the same.
DoubleDJ: Right now the way I'm doing the event text makes that more difficult than it should be, but said way is also getting increasingly unsustainable the more I think about it, so hopefully I'll find a way to make that possible. It won't show up against all backgrounds very well, but I guess that's why it would be an option. EDIT: Stopped derping and started rendering the different difficulty levels by appealing directly to GL.Color4, rather than wasting time generating every texture four times, so now I feel much more comfortable continuing to use textures for event names. Consider this an easy addition! Jake: Not a high priority, but sure, that can happen. I think something similar is in that big thread full of interface suggestions. I'll probably put up a downloadable version once the very most basic level editing functionality is in place, mostly just to get reports of whether it messes up loading or saving any particular level, since I'm only really testing it on a pretty small set and conceivably there's something I just haven't thought of. From there, priorities will continue along the lines of replicating everything else JCS does and then building off of that, aside from certain features that just complement each other well (no point in adding an Undo button and then not adding Redo until some time later). Version changing is the exception so far because it has to be well integrated with saving. ETA: If anyone wants to be super duper helpful, I don't know how Animaniacs events work, nor the structure of 1.00g/h .LEV files at all, but would love to write code supporting them given some proper specs. ETA2: A question for y'all. As you've probably noticed, tile 0 uses a different color in JCS than the transparency of every other tile. However, the difference is between 72,48,168 and 79,48,168, and that's really small. Would it be best to make a more dramatic difference, leave the colors as is, or make all transparency look the same? Last edited by Violet CLM; Jul 21, 2011 at 03:51 PM. |
Jul 21, 2011, 05:52 PM | |
I think you should make tile 0 all black in the tileset display.
__________________
drop by my SoundCloud or something if you want, it's my life's pride |
Jul 21, 2011, 08:47 PM | |
I really do not find that attractive at all.
|
Jul 22, 2011, 05:12 AM | |
What... only in the tileset display, not the editing display. Or did you program it differently?
__________________
drop by my SoundCloud or something if you want, it's my life's pride |
Jul 22, 2011, 12:37 PM | |
In JCS, at least, the same transparency color scheme is used for both tileset and level display, and that's definitely the simplest to program, but a black square certainly could be hacked in. That said, I think the best approach is consistency, since it's reassuring when the tiles you select look the same as the tiles you place. Also the Jazz purple is a pretty rare color as far as tileset design goes, whereas black... well...
|
Jul 22, 2011, 03:28 PM | |
I have really no idea how difficult it would be, but what about making it changeable by the user? I mean, the colours would be the same normally, but the user could set an option to put them in contrast...
__________________
Mercatura musicae delenda est. There is a flame untamed Deep in my heart Unyielding, pure Ain Soph 'tis measureless Our right divine: Aspire to all horizons To seek nature ov things Retreat within yourself To find the primal breath Behemoth - Transmigrating Beyond Realms ov Amenti |
Jul 22, 2011, 05:09 PM | |
Oh, yeah, I could do that too. This is going to have such a glorious .ini file at this rate.
|
Jul 22, 2011, 08:10 PM | |
Or you put an alternating white and grey checkerboard in place of tile 0. It's the generally accepted depiction of transparency.
__________________
drop by my SoundCloud or something if you want, it's my life's pride |
Jul 23, 2011, 08:20 AM | |
I guess choice is always nice.
__________________
drop by my SoundCloud or something if you want, it's my life's pride |
Jul 23, 2011, 10:59 AM | |
comment: you have such a wonderful variety of terrible, awful tilesets. i hope you still have the green pikachu one.
question: will this end up compatible with linux? will it at least be runnable on wine? i guess you probably don't know, that's fine. i dearly look forward to making ridiculous animated crap not being a pain in the butt. thanks in advance. one feature i would personally like that i don't believe has been mentioned: the ability to show tile masks at the same time as their graphics (by overlaying the mask with 75% transparency or somesuch). |
Jul 23, 2011, 12:02 PM | |
I think Mac/Linux compatibility will be possible, but I haven't started in on it yet. One thing I believe I'll need to do is make it a lot clearer what endianness I expect when working with the .j2l and .j2t files.
Animations: Yeah, I don't really know how that's going to work, so I'll probably look through the giant idea thread for interface suggestions. People apparently don't like sliders, and you should be able to delete animated tiles without messing up all the lower ones, but I don't presently know what else should happen on that front. Masks: That's an interesting idea and I'll see how it would look. |
Aug 1, 2011, 11:33 AM | |
Another interface question, y'all: JCS uses Control+V to toggle displaying events (and similarly Ctrl+M for masks). Does anyone use this shortcut? I'd really be more comfortable with Control+V meaning "paste," and finding some other key combo for toggling event display, although nothing else would be quite as intuitive.
ETA: actually, screw it. Paste wouldn't be a useful hotkey anyway. Last edited by Violet CLM; Aug 1, 2011 at 01:25 PM. |
Aug 1, 2011, 12:41 PM | |
Never used these shortcuts myself, though I am aware they exist.
__________________
"So unless I overwrote my heart with yours, I think not. But I might have." - Violet CLM Two Games Joined releases: Control / Splinter (twin singles) || Ballistic Bunny (EP) || Beyond (maxi-single) || Beyond: Remixed (remix EP) || Inner Monsters OST (mini-album) || Shadows (album) |
Aug 1, 2011, 01:39 PM | |
It wouldn't hurt to add Ctrl+C and Ctrl+V as alternatives to grab and paste for newer users, I think.
__________________
Mystic Legends http://www.mysticlegends.org/ The Price of Admission - Hoarfrost Hollow - Sacrosanct - other - stuff |
Aug 1, 2011, 10:39 PM | |
Ah, but Ctrl+N is New (Level), and that's actually a fairly standardized usage.
Anyway, I'm putting that off by working on the event selection window. This time around, you'll get to define your own personal event tree (although of course the old JCS categories will come as default). Also you can't type things that aren't numbers in the edit boxes; fun stuff! Not totally sure what to do with that stupid Illuminate Surroundings checkbox; maybe I'll just leave it in in hopes that blur will someday make it work for events besides Extra Live. |
Aug 2, 2011, 04:11 AM | |
So in JCS you can? I never noticed :B
__________________
"So unless I overwrote my heart with yours, I think not. But I might have." - Violet CLM Two Games Joined releases: Control / Splinter (twin singles) || Ballistic Bunny (EP) || Beyond (maxi-single) || Beyond: Remixed (remix EP) || Inner Monsters OST (mini-album) || Shadows (album) |
«
Previous Thread
|
Next Thread
»
Thread Tools | |
|
|
All times are GMT -8. The time now is 03:22 PM.
Jazz2Online © 1999-INFINITY (Site Credits). Jazz Jackrabbit, Jazz Jackrabbit 2, Jazz Jackrabbit Advance and all related trademarks and media are ™ and © Epic Games. Lori Jackrabbit is © Dean Dodrill. J2O development powered by Loops of Fury and Chemical Beats. Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Original site design by Ovi Demetrian. DrJones is the puppet master. Eat your lima beans, Johnny.