SonLVL

Discussion in 'Utilities' started by MainMemory, Mar 29, 2011.

  1. MainMemory

    MainMemory Well-Known Member Exiled

    Joined:
    Mar 29, 2011
    Messages:
    923
    Tool Name: SonLVL

    OS: Windows, Linux (Mono)

    Author(s): MainMemory, FraGag (KENSSharp compression library)

    Description

    [​IMG]

    SonLVL is a level editor for disassemblies of Sonic 1, Sonic 2 and Sonic 3 & Knuckles (additionally supporting S&K Collection and Sonic CD PC). It is designed based on Visual Studio, for people that don't like SonED2's interface. It uses art and mappings data from the disassembly to display objects more accurately than SonED2 can.

    Download Updater | Source Code | Latest program/ini .zip files (alternative to updater)

    SCHG How-to:Set Up SonLVL
     
    Last edited by a moderator: Feb 2, 2015
    ProjectFM, jubbalub, FireRat and 2 others like this.
  2. FireRat

    FireRat Do Not Interact With This User, Anywhere!!! Exiled

    Joined:
    Oct 31, 2009
    Messages:
    535
    Ill test that, now Ill download... why the Hivebrain's disassembly is not supported?
     
  3. theocas

    theocas #! Member

    Joined:
    Apr 10, 2010
    Messages:
    375
    Looks nice, although someone needs to make this stuff for OS X, or at least Linux. I tried it, seems like solid work! I like it.

    Because you're a wanker =P But no really, the Hivebrain disasm is terribly outdated, isn't it?
     
  4. MainMemory

    MainMemory Well-Known Member Exiled

    Joined:
    Mar 29, 2011
    Messages:
    923
    Because it takes too long to convert the INI/CS files, because a lot of files moved, and labels changed. I've said on Retro, you guys could convert them yourself, and put them on the SVN for everyone to use. If it was SonED2 I guarantee somebody would.


    Edit: And it would work on Linux, except that Mono's GDI+ is buggy, and corrupts the graphics.
     
    Last edited by a moderator: Mar 30, 2011
  5. Hitaxas

    Hitaxas Retro 80's themed Paladins Twich streamer Member

    Joined:
    Aug 13, 2007
    Messages:
    167
    This reminds me, I am still having an issue with saving the levels using this program.

    This happens after I save then attempt to reopen the level. It shows up scrambled in the built game, shows up fine in SonED2.
     
    Last edited by a moderator: Mar 30, 2011
  6. MainMemory

    MainMemory Well-Known Member Exiled

    Joined:
    Mar 29, 2011
    Messages:
    923
    And I told you, it's a bug in KENSSharp, talk to FraGag about it.
     
  7. rika_chou

    rika_chou Adopt Member

    Joined:
    Aug 11, 2007
    Messages:
    689
    Personally I think this level editor looks very promising as it is now. It certainly has come a long way in a very short time.


    I really like more than anything the way you can use graphics/mappings for the objects. The way SonED2 does this makes adding new graphics for objects a bit of a hassle.


    Keep up the good work on this. :)
     
  8. jspamax

    jspamax Newcomer Exiled

    Joined:
    Jan 10, 2008
    Messages:
    21
    can someone tell me the difference with a 'Red Spring' and a 'Red Spring Twirl'?
     
  9. OrdosAlpha

    OrdosAlpha RIGHT! Naebody move! Root Admin

    Joined:
    Aug 5, 2007
    Messages:
    1,793
    Location:
    Glasgow, Scotland
    Sad, but true.


    I personally prefer this level editor over SonEd2. Much cleaner and being able to work in a maximised window is a plus. And, as Rika mentioned, adding objects is a lot easier than it is in SonED2. A real winner.
     
  10. MainMemory

    MainMemory Well-Known Member Exiled

    Joined:
    Mar 29, 2011
    Messages:
    923
    Twirl indicates that Sonic/Tails will use a twirling animation instead of the normal springing animation.
     
    Last edited by a moderator: Apr 9, 2011
  11. MainMemory

    MainMemory Well-Known Member Exiled

    Joined:
    Mar 29, 2011
    Messages:
    923
    So it's been a while since I posted here, but S2LVL has been renamed to SonLVL, and can now edit and import art, and edit collision.
     
  12. Crash

    Crash Well-Known Member Member

    Joined:
    Jul 15, 2010
    Messages:
    302
    Location:
    Australia
    Hey MainMemory, I don't know if you keep up with this thread, but when I open a Project 128 level up it inserts an extra blank chunk into the chunk list and all the chunks in the layout view are displayed wrong.
     
  13. Spanner

    Spanner The Tool Member

    Joined:
    Aug 9, 2007
    Messages:
    2,569
    Are there SonLVL definitions already made for Project 128? They would use Sonic 2-like definitions (if they exist, which I'm not entirely sure).
     
  14. MainMemory

    MainMemory Well-Known Member Exiled

    Joined:
    Mar 29, 2011
    Messages:
    923
    They do exist, and they use Sonic 1 definitions, with Sonic 2 overrides for chunk and layout format. The problem is, SonLVL checks the game type to determine whether to automatically add a blank chunk. I've changed it to check the chunk format, and uploaded it.
     
  15. Crash

    Crash Well-Known Member Member

    Joined:
    Jul 15, 2010
    Messages:
    302
    Location:
    Australia
    There also seems to be a similar problem with displaying the collision, there's only an option for path 1 and it doesn't work.
     
  16. MainMemory

    MainMemory Well-Known Member Exiled

    Joined:
    Mar 29, 2011
    Messages:
    923
    Hi, it's been a while since I've posted here, but I should probably start posting updates here too.


    There have been several new things since my last post:


    LevelConverter allows you to change level data from one game's formats to another.


    There's also a SonED2 object definition converter that converts SonED2 object definition files to SonLVL definition files.


    And I'm in the process of writing a tool to make writing object definitions easier:


    [​IMG]
     
  17. MainMemory

    MainMemory Well-Known Member Exiled

    Joined:
    Mar 29, 2011
    Messages:
    923
    SonLVL Update 449 includes the following changes:

    • Changed format of xflip and yflip parameters in XML ImageRef class.


    Additionally, the Object Definition Editor is now available for public use. As usual, this does not mean it has been thoroughly tested (I did test it a bit though), so it may crash.
     
  18. MainMemory

    MainMemory Well-Known Member Exiled

    Joined:
    Mar 29, 2011
    Messages:
    923
    More updates:

    • There was an API bug that prevented angles from being loaded or saved (affects SonLVL and LevelConverter).
    • The tile list now uses the colors of the palette line you have selected instead of defaulting to line 3 (SonLVL).
    • You can now add an INI file named <ininame>.user.ini (for example S2LVL.user.ini for S2LVL.ini) which will add/overwrite groups/values from the default INI (SonLVL, LevelConverter, ObjDefEditor).


    For that last item, let's say your Sonic 2 hack has HTZ using completely separate art than EHZ, you have an ini file containing extra object definitions for all levels, and you've added HPZ. Your S2LVL.user.ini file might look like this:



    Code:
    objlst=obj.ini|objCustom.ini ; replaces "objlst" value in default ini
    
    [Hill Top Zone Act 1] ; already exists in default ini, so the values will be added or replace
    
    tiles=../art/kosinski/HTZ.bin ; replaces "tiles" value
    
    blocks=../mappings/16x16/HTZ.bin
    
    colind1=../collision/HTZ primary 16x16 collision index.bin
    
    colind2=../collision/HTZ secondary 16x16 collision index.bin
    
    [Hill Top Zone Act 2]
    
    tiles=../art/kosinski/HTZ.bin
    
    blocks=../mappings/16x16/HTZ.bin
    
    colind1=../collision/HTZ primary 16x16 collision index.bin
    
    colind2=../collision/HTZ secondary 16x16 collision index.bin
    
    [Hidden Palace Zone Act 1] ; doesn't exist in default ini, so these values all get added to a new group
    
    tiles=../art/kosinski/HPZ.bin
    
    blocks=../mappings/16x16/HPZ.bin
    
    chunks=../mappings/128x128/HPZ.bin
    
    layout=../level/layout/HPZ_1.bin
    
    objects=../level/objects/HPZ_1.bin
    
    rings=../level/rings/HPZ_1.bin
    
    palette=../art/palettes/SonicAndTails.bin:0:0:16|../art/palettes/HPZ.bin:0:16:48
    
    palette2=Water|../art/palettes/HPZ Underwater.bin:0:0:64
    
    colind1=../collision/HPZ primary 16x16 collision index.bin
    
    colind2=../collision/HPZ secondary 16x16 collision index.bin
    
    objlst=objHPZ.ini
     
  19. MainMemory

    MainMemory Well-Known Member Exiled

    Joined:
    Mar 29, 2011
    Messages:
    923
    Update with an entire row's worth of keyboard shortcuts:

    • Q = Disable collision viewing
    • W = View collision path 1
    • E = View collision path 2
    • R = Toggle viewing of angle values
    • T = Toggle objects above/below high plane
    • Y = Toggle viewing of low plane
    • U = Toggle viewing of high plane
    • I = Toggle grid
    • O = Toggle HUD
    • P = Toggle viewing of objects from all timezones (Sonic CD only)
    • [ = View previous palette
    • ] = View next palette
    • - = Zoom out
    • + = Zoom in


    Additionally, the resize level function has been moved to an item in the Edit menu.
     
  20. MainMemory

    MainMemory Well-Known Member Exiled

    Joined:
    Mar 29, 2011
    Messages:
    923
    SonLVL, the object definition editor, the SonED2 objdef converter, and most of the object definition files have updated.


    All three programs now support a "default subtype" value, which means that objects which require a certain subtype can now be placed without having to specify.


    The "Remember State" and "Debug" checkboxes in the object definition editor did not actually do anything. This has been corrected.


    SonLVL's Objects tab now has a list of object types on the left side, which can be dragged in to the level to place that object.