don't click here

SonLVL

Discussion in 'Engineering & Reverse Engineering' started by MainMemory, Feb 7, 2011.

  1. RetroKoH

    RetroKoH

    Member
    1,662
    22
    18
    Project Sonic 8x16
    The root folder... If anyone is really this confused about this, download a disassembly from the repository. You'll find folders for both SonLVL and SonEd2 where they should be. (That is... If the Mercurial isn't still down.)
     
  2. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,742
    338
    63
    SonLVL
    SonLVL Update:
    [​IMG]
    • Added "Select" mode for FG and BG editing.
    • Added NumericUpDown controls to ID and SubType dropdowns in object property grid.
    • Added support for loading multiple object definition INIs per game/level, separated by pipes. Items can be redefined in a later INI file, which will override any previous definitions of the item.
    • Changed window title format from "S2LVL - Emerald Hill Zone Act 1" to "SonLVL - S2 - Emerald Hill Zone Act 1".
    The multiple object definition files feature is intended to be used by hack authors, who may wish to define/redefine certain edited objects while still being able to easily use updated official definition files when they become available. But, like everything related to the object definition system, I expect the only person that will use it is me. In fact, this may be useful for S3 vs. S&K levels in S3K, if I ever get around to that.
     
  3. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,742
    338
    63
    SonLVL
    For everyone that doesn't understand how SonLVL is supposed to be set up, perhaps SCHG How-to:Set Up SonLVL can help you.
     
  4. Aerosol

    Aerosol

    Not here. Moderator
    11,163
    573
    93
    Not where I want to be.
    Sonic (?): Coming summer of 2055...?
    Nice to see, that. Thanks.
     
  5. Klyte

    Klyte

    Member
    2
    0
    0
    São Paulo - Brazil
    Kwytto Cat - Yod Abot Attack (STH1-16bit Hack)
    Well, I'm having a problem with the level converter tool. Always when I try to convert a level from S2b to S1 (and vice versa) this stack trace appears

    Code (Text):
    1. System.Collections.Generic.KeyNotFoundException: The supplied key was not present in the dictionary.
    2.    in System.ThrowHelper.ThrowKeyNotFoundException()
    3.    in System.Collections.Generic.Dictionary'2.get_Item(TKey key)
    4.    in SonicRetro.LevelConverter.MainForm.ConvertLevel() in C:\RetroSVN\Programs\LevelConverter\LevelConverter\MainForm.cs:line 196
    5.    in SonicRetro.LevelConverter.MainForm.button1_Click(Object sender, EventArgs e) in C:\RetroSVN\Programs\LevelConverter\LevelConverter\MainForm.cs:line 110
    6.    in System.Windows.Forms.Control.OnClick(EventArgs e)
    7.    in System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
    8.    in System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    9.    in System.Windows.Forms.Control.WndProc(Message& m)
    10.    in System.Windows.Forms.ButtonBase.WndProc(Message& m)
    11.    in System.Windows.Forms.Button.WndProc(Message& m)
    12.    in System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    13.    in System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    I don't know what info can help to solve this problem. If I can tell an useful info, just ask.
    About the ini file that I using to use to convert the levels, I can open it in SonLVL without have any issue.
     
  6. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,742
    338
    63
    SonLVL
    I need to update LevelConverter to use the new INI format. In the meantime, you could copy the INI and replace "tiles" with "tile8", "blocks" with "block16", and "chunks" with either "chunk128" (S2, S3K) or "chunk256" (S1).
     
  7. Klyte

    Klyte

    Member
    2
    0
    0
    São Paulo - Brazil
    Kwytto Cat - Yod Abot Attack (STH1-16bit Hack)
    Yes, worked!
    Thanks :)
     
  8. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,742
    338
    63
    SonLVL
    • Moved level data code to SonLVLAPI.dll
    • Fixed one or two bugs, and several that were introduced by the above change
    • Secret thing???
    • LevelConverter uses the current INI format
    • LevelConverter has the bug report feature too
     
  9. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,742
    338
    63
    SonLVL
    Minor SonLVL bugfix, and an extra program:
    SonED2ObjDefConverter will take a .lst file from SonED2 and produce a set of INI, XML and PNG files that can be used as object definitions in SonLVL. I do not recommend using this except as a starting point for more advanced definitions for several reasons:
    • The properties have no meaningful names (Property1, Property2, etc)
    • The property value names do not always convert well to the format SonLVL requires (alphanumeric only, no spaces)
    • Using art and mappings files (ImageFromMappings) (or a sprite number (ImageFromSprite) for SCDPC) is preferred to static PNG files (ImageFromBitmap) because the object graphics will always reflect the ingame appearance
    • Many objects have no graphics at all, simply displaying the "?" icon
    • There are no definitions for start positions (if you had them before, this will cause SonLVL to crash!) or S2/S3K rings
    • Objects that only work in certain levels are defined globally, and objects that you will never need to place in a level are also defined
    • Also there's something weird with the S2 spikes, no idea what's going on there
    If you wish to use this to expand the object definitions SonLVL comes with, that's great! If you're willing to share your results with me for inclusion in the "official" packages, even better!
     
  10. CaptainBritish

    CaptainBritish

    Member
    14
    0
    0
    Sonic Master Mix
    I've been playing with this for the last few hour or so since you recommended I use this over SonEd2, you've done a stellar job on it I must say. Though that said I do have a few minor niggles/suggestions for what you could change, primarily in the Tile/Block/Chunk editors. I realize this is still pretty early in development having only been added last patch so please forgive me if you've covered this before, never the less here we go:


    • My primary niggle with SonLVL is the inability to "paint" tiles into blocks and likewise into chunks, please correct me if I'm wrong but it seems the only way to drop in tiles/blocks is to select them from a drop-down list one-by-one. In SonEd2 simply being able to select a tile/block and then click it into place was a lot less time consuming.
    • If you were to implement the above, it would also be nice if you were to fill up some of the white space on the left with a scroll menu of the tiles or blocks you can place in the block or chunk. Perhaps a preview of the block's collision too? Just in-case I'm not making myself clear, here's a mockup of what I mean.
    • The lack of a collision view in the Chunk/Block editor is... Well, it's just something I'd like to see implemented!
    • Copy/paste abilities for tiles in blocks and blocks in chunks would be a nice feature too.

    Those are really the only problems I have with the program... But they're kind of putting me off using it right now, it's a lot nicer to edit levels in this as opposed to SonEd2 but far slower to build chunks. I'd LOVE to use this as my primary level editing program, if only for the built-in zoom feature, but seeing as I do most of my tile editing in SonED due to my incompetence with importing graphics the lack of a feature that lets me paint tiles into blocks and blocks into chunk is a HUGE drawback.

    Again, please forgive me if you've covered any of this before and I understand this is still a beta release. Just thought I'd try and provide some constructive feedback c:
     
  11. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,742
    338
    63
    SonLVL
    Those are all good suggestions. I will say that SonLVL displays the collision overlaid on the block/chunk preview if you have one of the collision paths enabled in the view menu, but perhaps you'd rather have separate collision preview images?
    Eventually I will probably add Draw and Select functionality like the Foreground and Background editors have.
     
  12. CaptainBritish

    CaptainBritish

    Member
    14
    0
    0
    Sonic Master Mix
    It does? I've tried enabling viewing Collision Path 1 under the view menu but that only shows collision on the level preview, not on the chunk/block preview.
     
  13. Uberham

    Uberham

    King Of Oblivion Member
    A few Aquatic Ruin things....

    Object 1F is the collapsing stone platform outcrop thingy.

    Object 83 (3 rotating platforms) Subtype appears to control rotation speed, I'ma check that out in a minute. Kinda, needs at least subtype 10 to work, anything over that appears to speed up the rotation.

    Object 15 (Swinging Platform) subtype 86 is the subtype for the platform coming off and floating like a raft, subtype also seems to control speed.
     
  14. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,742
    338
    63
    SonLVL
    Speaking of objects, since I really don't want to work on SonLVL proper right now, I'm making this instead:
    [​IMG]
    Will anyone besides me use it? I don't know. + - Probably not.  
     
  15. Alriightyman

    Alriightyman

    I am back... from the dead! Tech Member
    357
    11
    18
    Somewhere in hot, death Florida
    0101001101101111011011100110100101100011 00000010: 0101001100000011 01000101011001000110100101110100011010010110111101101110
    Actually, I most likely will.
    EDIT: Can it create a new object?
     
  16. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,742
    338
    63
    SonLVL
    It will be able to when I'm done with it.
     
  17. Alriightyman

    Alriightyman

    I am back... from the dead! Tech Member
    357
    11
    18
    Somewhere in hot, death Florida
    0101001101101111011011100110100101100011 00000010: 0101001100000011 01000101011001000110100101110100011010010110111101101110
    Awesome! That should help a lot!
     
  18. Uberham

    Uberham

    King Of Oblivion Member
    I'll probably have a tinker.
     
  19. Uberham

    Uberham

    King Of Oblivion Member
    Is it possible to indicate that in ARZ, the 2 "blank" tiles are to create a "splashing" effect, the first is a full length "splash" the second a half length "splash" for the waterfalls.

    EDIT: also, monitors have changed to an "unknown" object type for some reason.
     
  20. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,742
    338
    63
    SonLVL
    Assuming you're referring to some animated tiles in the level, you'd have to do that yourself. Add tiles to the art file and draw placeholder art where the animated tiles will go during gameplay.

    The best I can do is make invalid tiles (such as animated tiles) show up as 'X's like SonED2.