Tool Name: SonLVL OS: Windows, Linux (Mono) Author(s): MainMemory, FraGag (KENSSharp compression library) Description 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
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?
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.
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.
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.
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.
Twirl indicates that Sonic/Tails will use a twirling animation instead of the normal springing animation.
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.
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.
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).
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.
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.
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:
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.
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
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.
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.