don't click here

E02 Multiplatform 2D Game Engine and Sonic the Hedgehog Example Game

Discussion in 'Fangaming Discussion' started by Stealth, Nov 14, 2012.

  1. Stealth

    Stealth

    Tech Member
    594
    30
    28
    Sonic Mania, HCGE, Sonic Megamix, SonED2, [...]
    I made a few other points, but that is the leading one, yeah. It's not something I've felt especially inclined to allocate time to at the expense of other considerations


    Actually, to be quite blunt, the thing it shows the most is that by and large, people are sheep. Current dominance and actual benefits notwithstanding (I am not arguing either thing), if it weren't that people were just flocking to what's new and shiney, they would be more receptive to logical explanation as to why I haven't done it yet, and the fact that I didn't say that I would never ever do it. I don't see how this is so offensive that I get dismissive post edits and walls of text about how I'm somehow doing it wrong; it seems pretty unreasonable to me


    And don't drop flat-out lies. In terms of context, you can't possibly know any less well than I do that a phrase like "only purists care about shit like that" is in any context, and especially in the context of your own post, stated offensively. In fact, you knew it so well that you picked it right out in response to me calling you on it. If you meant no offense, wouldn't you have no idea what I was talking about, or at least express what you thought it was in a more unsure manner?


    Hi, thanks :P


    It's been a little while since I've looked. Naturally, I don't necessarily want anything absolute top-of-the-line, since I want to target most people might own, but I know there's a point when too low is too low in this case. To be less vague, I had at one point been looking at the Droid X, until I found out most of those apparently weren't manufactured properly. Some disclosure, though- for the immediate future, I'm not sure I'll have much time to work on creating the port if I did have one. I will be making efforts to support more platforms, though


    I'd have to check that out, but I know it's still dependent on how frequently you can afford to upgrade your PC :P
     
  2. steveswede

    steveswede

    Member
    5,032
    2
    16
    Ask my hand
    Fighting against the Unitary State of Europe
    Well do you consider yourself as a purist? I can tell you that I've never considered you a purist so I ain't lying there.

    Example:

    And how did I guess that it was the purist comment, well I have conflicting opinion on what purists want. Purists request bugs and restrictions to be applied and even staple moves to be removed because nostalgia is more important than evolution which I see as a restriction to the Sonic series and I've always spoke out how backward it is to do that. If I saw you as a purist I wouldn't have gone into detail about how to deal with multiple screen resolutions without sacrificing dropping the 4:3 aspect or locking resolutions, I would have been short and blunt and said something like your purist attitude is restricting the potential of your engine or what's the point of this engine if all it's going to do is emulate what old tech can do, I don't see the point.

    Anyway lets leave at that shall we. You said that I was lying, I'm telling you I'm not and if you can't accept that at face value then it's your prerogative. No point me repeating myself if your mind is set.
     
  3. Stealth

    Stealth

    Tech Member
    594
    30
    28
    Sonic Mania, HCGE, Sonic Megamix, SonED2, [...]
    Well, considering the entire post was an argument directed specifically against the Sonic 1 boss arena thing I mentioned only as a singular example to illustrate one sort of issue that could possibly arise, I really don't think it was much of a stretch to get the impression that that's what you were saying. That's all I have to say about that


    Actually, I don't recall any details about dealing with it from a technical perspective, more just the implication that I should "deal with" 4:3 being "obsolete" and people being "sick of playing games with massive boarders at the side just because the purists want their precious single screen boss arena at 4:3 in a classic Sonic title that is nothing more than 5% of the game". I'll keep that and the other nice little tidbits you've thrown in throughout our correspondence in mind, though, for when I port E02 to a system for which no language is available other than whining. It'll come in handy
     
  4. Tets

    Tets

    one rude dude Oldbie
    918
    96
    28
    In my limited experience programming, I've learned that multiple resolution support can be, and often is, a pain in the ass. Especially if you're working with code that is over a decade old. It's a can of worms that I'm not surprised Stealth wants to just leave alone. While I agree that widescreen would be a great addition to E02, the impression I'm getting is that it wouldn't be worth it considering all the incompatibilities that would suddenly arise. I'm not against it being the developer's responsibility to make their game play nicely with all resolution options, but that's only one part of the equation, so to speak.

    Not much else to say. It's always great to see E02 still being updated. Ogg Vorbis playback is a very cool addition, and I see it also allows for looping.
     
  5. Well, I for one am glad to see this being updated. For some reason, I see this version being a lot easier to fiddle around with. I've been nitpicking around in it, and I'm actually getting the hang of using it, and the scripting isn't too hard to understand. I will probably be porting my game over to this engine once I learn it a little more. Great job on this it is absolutely amazing!
     
  6. Mr Lange

    Mr Lange

    A wise guy eh. I know how to DEAL with wise guys. Member
    1,286
    11
    18
    The Land of Waldos
    Sonic Utopia, Sonic Overture
    I don't give a shit about widescreen and none of you should care about it. Focus on the development features, that is what really needs work right now.
     
  7. Falk

    Falk

    Member
    1,570
    15
    18
    Welp, didn't mean for this thread to balloon out this way*, which is why I ~very carefully picked my words~, I.e. 'in general and not specific to E02'.

    There's just so much misinformation going around regarding resolution/aspect ratios (for example drawing at 16:10 and then cropping horizontally/vertically for 4:3/16:9, *cough*) that I just felt the need to put in my own two cents based on what the current standards are as far as aspect ratios go. Like I also said in that same post, obviously E02 has very different goals.

    Essentially it's pretty much in the same ballpark as having directional stereo sounds as a feature - it didn't exist in the original implementation, yet is an option to pretty up a retro experience while remaining true to it.

    *edit: especially not in the 'oh let's dig out S2HD all over again' way.
     
  8. BlazeHedgehog

    BlazeHedgehog

    A "Community Enigma"? Oldbie
    1,472
    18
    18
    Boo, saw this on the Wii Homebrew Browser and thought "man that is cool that I can just download everything on my Wii like this" but I guess it doesn't even work anymore because the version of E02 is too old to play the game data it downloads.

    Edit: Oh wait, there's a way to update it! Maybe that should be made clearer, I dunno. And/or the latest version sent to the Homebrew Browser guys for hosting.

    Edit 2: Aw, the Wii version doesn't have this update :P
     
  9. Stealth

    Stealth

    Tech Member
    594
    30
    28
    Sonic Mania, HCGE, Sonic Megamix, SonED2, [...]
    Sorry, man, but-

    The main menu says very clearly "New E02 version available" when the updates check isn't bypassed and you're running an old version


    I happen to have forgotten this time, but they don't update every day even if I had remembered, and they've even ignored at least one on a previous occasion (note that the version they have doesn't even have the option to skip the updates test - that's not due to me not trying), and you technically should have been covered by the in-program update system. tangentially- the Homebrew Browser isn't entirely reliable if you have another way to update your program (such as E02's in-program download system), because HBB checks for an unequal date, and not a later date, meaning that if you were to update your local E02 before HBB caught up, HBB would erroneously report that it has an update


    It does, but what you seem to have run into is, in fact, another downloads system error, similar to the one I found due to sonicblur's report. Among the multitude of things I had to do to make this release before I became unable to do so for a long period of time, I appear to have forgotten to update the file download listings for the update system downloads. If you're getting the same error I just did (a missing alias), that's a very clear indication that something is wrong, in contrast to "the wii version [not having] this update", and that's what you should have reported

    I've just fixed it, but it unfortunately won't do you or anyone else who's already done the in-program update much immediate good. You'd have three options- wait for the Homebrew Browser people to catch up and update from there, delete E02 (which, if not done manually, would delete all downloaded games too), re-download the old Homebrew Browser version, and then perform the in-program update again, or perform a manual install from the manual download package, which never had an error

    -----

    One thing I'd like to note is that, given the number of people that generally view these updates, I'm somewhat disturbed by how long it takes error reports to come in, and how improperly they're given, on top of that. I'm wondering just how many people are actually downloading these things, finding an error that can easily be remedied, and just dismissing the whole thing rather than making reports so that they or at least someone else can get a hold of a working version. I am grateful to those who actually do take the time to make reports

    -----

    Finally, while I'm here, I'd also like to go ahead and say that I'm very happy to see people that are expressing genuine interest in developing with E02. If you need any help, remember that I also have a forum and an IRC channel, both listed in the starting post for this thread. I'll be glad to help whenever I can

    -----
    Edit: Apparently the board didn't accept the download link I tried to insert
    Edit2: Upon further inspection, the Wii version keymap file for the Sonic example was being overwritten by a different file when downloaded from the in-program interface. I've fixed that issue as well, and re-downloading should take care of it. Alternatively, you can modify the existing key map from the interface, but using this method, you'll only be allowed one controller at a time per player as opposed to the three allowed by the proper keymap file. You may also edit it manually to enable two- or three-controller-per-player support, of course
     
  10. Aerosol

    Aerosol

    Not here. Moderator
    11,183
    595
    93
    Not where I want to be.
    Sonic (?): Coming summer of 2055...?
    I don't understand the clamoring for widescreen. I can't even stand to play Sonic games in widescreen!
     
  11. I tried using E02 a while back, and I got completely lost. I'll give it another try since you said you re-did the interface, but do you think it would be possible if you or somebody else who knows the process were to put up something like a set of tutorial videos showing how to do a Sonic game with this? I think that's probably what most people here would want to do first with your engine, and I at least am a visual learner and have an easier time if I can visually see how somethings done, so a video that shows the process would be incredibly helpful.
     
  12. Stealth

    Stealth

    Tech Member
    594
    30
    28
    Sonic Mania, HCGE, Sonic Megamix, SonED2, [...]
    That's a pretty broad request to make. "do a Sonic game" is almost as unspecific as it gets- I have absolutely no idea what you want, or where I would start

    I'm certainly capable of making videos of specific features of the level, tile, object, and sprite editors, for example, but player, enemy, item, and event creation, for example, are very much code-driven, and there is no better illustration of how that's done than the working and thoroughly-commented scripts in the Sonic Example Game

    I can help you find your way around and figure out the specifics of any particular feature, but you'll have to tell me exactly what you're doing and ask me specific questions. First of all, you need to choose a place to start. If you haven't, that's probably a major reason you seem to be overwhelmed by E02. I couldn't even begin to tell you what to do, because I don't even know if you're primarily interested in graphics, layout, coding for core gameplay, enemies and objects...

    While we're on the subject, though, I guess I can throw this old and extremely basic one out there, for all the good it'll do right now:

    [youtube]http://www.youtube.com/watch?v=6DomElfg2pM[/youtube]​

    That illustrates, very quickly and very briefly, loading level files that aren't directly integrated into a game (which you don't really need to do if you're just starting out and using the example), and importing new art (that's already correctly formatted) into an existing level

    If everyone that wants to look into using E02 will tell me exactly what they're interested in trying to do at this moment, I can start making comments and consider other options. I can't guarantee anything particularly fancy for right now, though, since I'm actually about to start a job that will occupy the majority of my time
     
  13. Aerosol

    Aerosol

    Not here. Moderator
    11,183
    595
    93
    Not where I want to be.
    Sonic (?): Coming summer of 2055...?
    Well I'll be making a Sonic fangame with it. The groundwork is essentially laid out already, but a bit of help navigating the myriad of files wouldn't hurt. I'll formulate some more pointed questions for you later. Congratulations on your new job, too!

    EDIT: Heads-up. E02 hung when downloading common.def for the Sonic template.
     
  14. Stealth

    Stealth

    Tech Member
    594
    30
    28
    Sonic Mania, HCGE, Sonic Megamix, SonED2, [...]
    One thing that might help would be to have a look at the ReadMe file, which is in the game root folder ("/sonic") and online here. The last thing in the file is a complete file listing with some general descriptions and relevant links into the E02 documentation (assuming you've downloaded it from the E02 interface or manually placed it into the "/docs" folder, or are viewing it online)


    Thanks! I'm very excited about it, myself. As far as the warning goes, it's a contract project that will require the majority of my attention for the duration, but I'll continue to provide what support I can, and I'll be returning to things like E02 once it's done

    The downloads do seem to hiccup on occasion and I don't know why. The display will also occasionally freeze on a particular filename, even though it's still downloading. This happens especially in the windows version, and will occur every single time if you switch focus from the E02 window during a download. Vista and above absolutely abhore the way it works right now, and will report that E02 has "stopped responding", going so far as to (if you've switched away from the window) forceably hang or close E02 completely. It's not because E02 has stopped -working-, but what is actually happening is that Windows expects "messages" to be read and sent very frequently by every application, and since E02 is single-threaded, operations like file loading and socket read/write keep the program occupied for "large" periods of time, preventing messages from being sent as often as Windows wants. In essense, it throws a tantrum over nothing. I'll probably have to look into it at some point because it's extremely annoying and understandably confuses people
     
  15. Mr Lange

    Mr Lange

    A wise guy eh. I know how to DEAL with wise guys. Member
    1,286
    11
    18
    The Land of Waldos
    Sonic Utopia, Sonic Overture
    Here's my wishlist.

    A level editor that feels less like an Intellivision interface and more ui intuitive. Something at least more resemblent of say Game Maker's level editor. The tile selection screen you have now is a nightmare. It is also straining to work with 8x8 tiles all the time. Or maybe there's a way to work with larger chunks? If there is, it is certainly not easy to find. I couldn't even figure out how to place objects, or if that is even a concept.

    More sound features. Ogg support is a great step up. I'd like to see rate control (pitch), maybe support for loop points. And dare I say vgm/vgz support?

    While it appears to already be more capable than the Genesis at graphics, I'd still like to have more room to work with since, you know, this isn't really the Genesis. Instead of just a few planes, move a bit closer to the modern paradigm, and have layers. Even if it's just 16 non-specific layers it'd be much better.

    Anything to make scripting more accessible. I can write code, but I can't write in what is basically assembly.
     
  16. BlazeHedgehog

    BlazeHedgehog

    A "Community Enigma"? Oldbie
    1,472
    18
    18
    Yeah, but... when you start up E02 it brings up a "checking for updates" menu and it downloads something, that, at a glance, seems like it would be the newest version of the game. It's not entirely clear that you have to manually select update from the menu or that is what that menu option even does. For all I knew, that was just text saying what was contained in the update, not the update itself.


    I actually ran in to a problem with the HBB yesterday where it kept claiming the file I downloaded (eDuke32, I think) had an update even though I could sit there and keep clicking "update" forever. I notice ZSNES, VBA and FCEU all keep telling me there are updates when I launch in to them but HBB says I am up to date.

    The reason I reported it the way I did is because I did not realize I actually had to download something other than Mettrix. In a way, it turned in to a happy accident that I ended up being right and the files were not yet up to date. :P

    We're only human and can only report what we experience, Stealth. I apologize that I am not providing the "professional quality" bug reports you obviously are expecting. :P

    For what it's worth, I have never been a fan of the download system you have in place here - it is confusing and needlessly complicates the process of playing these games. I suppose it is nice to have a system that updates itself to the most recent version, but it does not seem to be user friendly at all.

    Playing more of it on the Wii version, I am legitimately surprised at these loading times. I know they'd be less than a quarter of this if I was playing it on a PC, but for the fidelity on display here, a 5-7+ second load time to get in to a level seems rather excessive. It also happens whenever you die, enter or exit a special stage, or change acts, though seemingly not quite as severe as that initial load.

    I am also not a fan of the fact that if I use a Gamecube controller, I am relegated to using the tiny, uncomfortable d-pad instead of the analog stick. I like to save on batteries for my Wiimote whenever I can, but this is not an elegant solution. Trying to use a Classic Controller Pro as I type this, the d-pad on that cannot be used to control the game, either. Wiimote or bust, it seems, even though the rest of the buttons on the CC Pro work (this is not a dramatic surprise as other homebrew apps have trouble with the CC Pro, too - something about it is different vs. the regular CC).

    Also: real disorienting that you go from holding the Wiimote like a NES controller in the game itself to vertical position for the main E02 menu.

    Most of the other problems I have aren't really relevant to E02 as an engine, but I will say this: this is a pretty mean level. Tons of enemies, underwater sections without tons of air, etc. I very nearly got a game over.
     
  17. Stealth

    Stealth

    Tech Member
    594
    30
    28
    Sonic Mania, HCGE, Sonic Megamix, SonED2, [...]
    Uhh.. well, actually I was just asking how I can help you use the current E02. I won't be able to even start on another major update for several months, and I already have enough planned to keep me busy with it for a good long while, so I'm not exactly fishing for requests. I know for a fact that the things on my list will address the majority of concerns that will be raised, anyway


    I will most certainly be addressing the interface. It's only now progressed to a point where I can put more effort into that, rather than focusing entirely on the core engine instead. It's not exactly something that I can discuss right now, since I won't have the time to put much real thought into it (and as I said regarding other issues, it's very important that I do before I implement anything, and thus, without the forethought, I can't make claims about what exactly is going to happen), but I can say this - I wouldn't expect absolute and strict adherence to anything like Game Maker. The impression that I get is that the designers of those systems were more concerned about interface than about functionality and efficiency in performance, and that attitude is what has stifled those things- performance most especially. In contrast, I am designing E02's interface for its engine, rather than designing its engine for its interface. I will be working toward making the editing interfaces as usable as possible, but most certainly not at the expense of the engine itself

    Also, I'm not exactly sure what you mean by "intellivision", unless you're commenting on the graphics in the video above, which I threw together with extreme haste just because I needed something for illustrating technical matters other than graphics capability. The editor interface shown in the video is also the old interface, which has been replaced by a new larger and better-looking one as of this newest release. Even that is far from the end of the story


    It's listed in the Level Editor documentation and highlighted in the last few iterations of the What's New. There was always a copy/paste feature that allowed selecting level regions to copy to the clipboard and paste into other locations in the level, but what's more like what you're looking for is called "Stamps". They are groupings of 8x8 tiles in any rectangular size and shape that can be "freely placed" (along the 8x8 grid), not very much unlike the construction of a level in Game Maker (to my understanding). The features for creating and managing them are currently very basic, though, but they're all explained in that document. For a quick look, start the template, go to Gemstone Garden zone, press CTRL+TAB to enter the level editor, and press Q to switch to "Stamp Mode". After that, cycle through stamps with A/Z or the mouse wheel, and play around with placing them by moving, clicking, and dragging the mouse


    That used to require "Debug Mode", but as of this release, it is a feature of the editor. While in the Level Editor, Press 4 to switch to the Object Editor, and while there, press Q to switch from "editing mode" to "placement mode". You will notice than an object appears below the cursor, which is the object you will place when clicking the mouse button. Use A/Z or the mouse wheel to cycle between objects that are available to place in the current level


    Combination rate/ptich control for ogg and wav is a possibility (although not individually), but I haven't decided on a specific implementation. "Loop points" are already supported by breaking the song into an "intro" piece and a "loop" piece, as demonstrated by the Character Select Menu, the Special Stage, and the Bonus Stage. If you are looking for even more control over music playback, you should strongly consider using XM, which is demonstrated in Green Hill Zone, as well as speeding up the song for Super Sneakers. I have extreme doubt that I will ever add direct support for vgm, as the scope of E02 is far beyond reproducing existing Sega console games, and XM is a much better and more generic solution to the issue of runtime music control


    If "layers" and "planes" aren't the same thing, then I have no idea what you're talking about, unless it has something to do with the pixel-level free-placement of terrain objects in Game Maker vs the use of tiles, which is one of the things that contributes to its extremely poor performance. E02 does, however, already support the use of as many tile planes as necessary, however, I would strongly discourage their overuse, as each one will bog down the game with more processing overhead (as can already be seen when the two-layer "outside" background of Gemstone Garden is being displayed in the Wiz version). If you want your game to run well on every platform that E02 supports, you'd do well to make heavy use of trickery such as complex line scrolling within a single tile plane, tile animation, and even a few regular objects, to provide the illusion of a great number of scrolling layers, instead of actually relying on using three, four,...ten tile planes, regardless of how much faster any one plane is than the methods used in other development systems. How you do it is up to you, but please be aware that no matter how hard I work to make E02 as efficient as possible, end performance of the game still hinges majorly on how the game developer uses it


    I'm sorry, but although there might be a change in the environment in which you enter the code, the style of coding is almost completely set at this point, for all the looking ahead I can do at the moment. The script was designed to be immediately interpretable, requiring no compilation, and as such, it does (in nature) happen to resemble assembly programming more than it does something like C. However, I have taken major steps to make it much more simple to read and write than it was when it was first created, and there are aspects of it that are, conversely more similar to C than assembly, such as the use of expressions in conjunction with the free use of any variable rather than requiring the use of a processor register to mediate (although I do happen to have referred to my global variables as "Registers"), and the use of "If" blocks, "Do/While" blocks, and "Switch" statements. Some of the benefits of its assembly-like qualities are the ability to break processing in the middle of a function to allow the rest of the game to run and return to the exact point of interruption later (sort of a form of "multitasking", I guess, which also reduces the number of tests that are required to maintain, for example, object state), and the "StateSwitch" command (effectively a "jump table", which is much faster than multiple "If" blocks and the standard "Switch") I didn't (conciously) have any particular language in mind as a target when designing it, but rather, its effectiveness, so it appears to have become some sort of hybrid

    ----

    Long story short, though- yeah, I'm not in a position to discuss future features right now. I can't even take much time to think adequately about the plans I've already made. If you have specific questions regarding the use of the current version of E02, I can probably help you. It will be even simpler to use in the future, but getting started now ensures that you will have already learned the most important aspects of the system and will already have a jump on getting your project done. If you apply yourself, you may even be able to complete something entirely before I'm able to make the next release
     
  18. Stealth

    Stealth

    Tech Member
    594
    30
    28
    Sonic Mania, HCGE, Sonic Megamix, SonED2, [...]
    Quite honestly, I would have thought the word "Available" would have been the big tip-off, as opposed to something more like "Received", maybe. The thing downloading at the beginning is the version number file (named "Ver"), and the display box is a side-effect of using exactly the same download code that's used when receiving any other file


    Well, thanks for bringing it to my attention :P


    I do tend to ask for all available information, which would include the error message you experienced :P

    I honestly don't know what's so "unfriendly" about it. The interface itself was only integrated so that it'd be easier to manage getting and staying up-to-date with "official" games, coincidentally, on the Wii

    If you'd like to be able to skip straight into the game, and this is something that I was expecting that the majority of developers would have done anyway, you can make a separate install of E02 for each game, and change the name of the game's ".gdf" file to "default.gdf", and that game will load right away when you start E02. No loader interface (unless you press, again on the Wii, the home button)


    There isn't really much I can do about that, considering it's related heavily to the storage hardware. Load times are comparatively ridiculous on the Wii, PSP, and Wiz due almost exclusively to the data transfer rate. The best I could do is, on a game-per-game basis, restrict the loading of level tiles and layout to the first load of a single level, but that wouldn't work out in situations where they happen to be modified during gameplay, and would do absolutely nothing for switching from level-to-level, including from normal level to bonus/special stage


    Here is another implementation-related problem. I can't implement analogue control methods until I am satisfied with how I plan to expose them to the script system. I don't currently have them implemented in the same manner as digital because I don't want to run the risk of having to change something around when it comes time to implement them properly


    My original reasoning was that most interfaces seem to be geared toward vertical wiimote orientation, even though horizontal is more suitable for gameplay. Although I could easily change the orientation to horizontal for the menu, there's no guarantee that each game will be suited to or set up for horizontal orientation rather than vertical, and there will be a point of disorientation no matter what I do

    You're telling it to the guy who could've done worse. You'd have to talk to Markey about that :P
     
  19. Stealth

    Stealth

    Tech Member
    594
    30
    28
    Sonic Mania, HCGE, Sonic Megamix, SonED2, [...]
    It seems I forgot to address this one. I don't own a Classic Controller of any type, so I can't be 100% certain that it actually functions correctly. If this isn't due to some strange variance in that particular brand of controller, it could be as simple as bad keymap settings- on the game select menu, move to the name of the game whose controls you want to modify, and (on the Wii), press the B button (should work on any Player 1 controller). From inside, you can attempt to change the directional settings for the Classic Controller by moving to each control entry, pressing the start or + button to select it, and then pressing the corresponding Classic Controller button

    ---

    I should also add that, to an extent, load time can be reduced by "packing" the game. This will remove all comments and whitespace from the scripts (which greatly increase the size of the files used in the Sonic template due to formatting and detailed commenting), and convert functions to a format that requires even less processing. The actual amount of time shaved off will depend heavily on how much of that sort of excess space/pre-processing can be removed. The Sonic Example is, obviously, distributed non-packed so that it can be modified, built onto, and harvested for functionality
     
  20. Mr Lange

    Mr Lange

    A wise guy eh. I know how to DEAL with wise guys. Member
    1,286
    11
    18
    The Land of Waldos
    Sonic Utopia, Sonic Overture
    Alright that's all legitimate, I'd be stupid to argue those points. Thank you for pointing out the features I missed in the level editor, guess I'll have to really study those docs. I also did not realize you could have any number of planes.
    By loop point support, I also mean recognizing loop points for triggering events by script. But its not that important.
    If you're going to stick with XM support, then I'd recommend supporting the other common tracker formats as well. XM is limited compared to some of the other common ones.