You are not logged in.
Here are some screenshots from the Brickset Editor I am working on. The tool will allow you to load or repair brickset files and manipulate the bricks they contain. All that you see is functional, and a pre-alpha version is available for testing.
Last edited by Celdecea (2010-05-27 02:05:09)
Offline
I can't wait to try that out!
Offline
Heya,
Good news!
Can you tell me which:
- Language (C, C++, ...)
- API (if c/C++)
thanks in advance.
Offline
this would be super-cool - tapping all the sprite sheet locations in the brickset is the main barrier to me make my level : -( but =- )))
done
Offline
the editor is open source?
done
Offline
- Language (C, C++, ...)
- API (if c/C++)
The alpha/beta prototypes are in VB.NET 2003 (Windows XP or newer), and once finished someone with much more time than I can port it to C/GTK. I've kept the usage of the framework itself to a minimum so the hardest part would be the interface.
At this time, my only goal is a working tool to speed the brickset job up. After beta release I'll decide if the final product will be cross-platform or whether it should be coded in C++.
the editor is open source?
Yes. However, since it uses a different language than OpenSNC it will be treated as a distinct project. All of the source and graphics I used to make the program will be open and available from beta release onward.
Offline
Awesome.
Your tool may reduce drastically the time needed to create a brickset.
Offline
Awesome.
Your tool may reduce drastically the time needed to create a brickset.
I know, right? I can actually make a custom level now!
Offline
Finally, an easy-to-use brickset editor. When's the release date? This summer?
I'm ready and waiting for you!
Offline
...When's the release date? This summer?
Alpha in a week or two; those who don't mind an occasional crash are encouraged to try it out and report some bugs. ![]()
Offline
Well, please make a 64-bit binary and have it Windows 7 ready, if you don't mind.
I'm ready and waiting for you!
Offline
A pre-alpha version has been released. Much of the program is working but there are plenty of bugs. The files can be downloaded from SourceForge.
Back up your files before using test software!
Well, please make a 64-bit binary and have it Windows 7 ready, if you don't mind.
I have a 64-bit Vista machine in the household, but the person attached to it is held fast by what seams like barnacle cement. As soon as I can get my hands on it I'll drop a 64-bit .NET 4.0 binary, which should work with Windows 7. However, I have no way of knowing for sure.
Last edited by Celdecea (2010-04-30 07:26:53)
Offline
I tried it.
It's already excellent, Celdecea!
Offline
Great, great, great. ![]()
Your tool has a lot of potential. ![]()
I have a few suggestions:
Unfortunately it doesn't work under Wine ![]()
The tool could show graphically which bricks have already been defined. It could (for example) draw transparent blue rectangles in the places where there are existing bricks. If the user clicks in one of them, he/she could modify the selected brick
If I click in a "free area" of the image (i.e., a place where no bricks have been defined), I could be able to create a new brick without having to press Ctrl+B
I couldn't find a way to resize an existing brick using the mouse once it's been created. It seems that the only way to do it is by modifying the Sprite rectangle manually in the "Sprites" tab. Can we resize it in the image directly?
The "Animations" tab could have a play button. Once the user clicks on it, a small window would be opened to play it. This would be useful to test if the animation is smooth.
Ctrl + mouse wheel to zoom-in / zoom-out
I've also found a few bugs (specially when loading an existing brickset):

PS: the file exists.

Exotic Paradise. Maybe I should always put the brickset editor in the same folder of the game engine?

Chilly Winter Zone.
Offline
Hello,
Please try the newest release from this download page. One of the bugs remains a mystery to me, so I've set up a bug report here. I would like to get more feedback on this one.
I don't know much about Wine, but would this link help?
Thanks
Last edited by Celdecea (2010-05-03 06:09:48)
Offline
Not really a problem, but it may misguide the user:
---------------------------
frmBricksetEditor::SetBrickFile
---------------------------
A brick angle was detected outside of the rangle 0-359. The value could still be correct.
Path: C:\opensnc-win-build87
File: themes\desert1.brk
Line: 1567
Would you like the angle to be automatically corrected? If you choose No, the brick will be discarded. You may also Cancel loading the brickset.
---------------------------
Sim Não Cancelar
---------------------------it says there is a problem on line 1567. Line 1567, however, is a '}'
Regarding the "mystery bug":
- load an existing brickset like desert1.brk or island.brk
- select a brick on the list and...
- crash!
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.ArgumentException: Invalid parameter used.
at System.Drawing.Bitmap..ctor(String filename)
at BricksetEditor.frmBricksetEditor.CreateTabPage(String vSpriteFile)
at BricksetEditor.frmBricksetEditor.RefreshSelectedBrickRectangle(Sprite& vSprite)
at BricksetEditor.frmBricksetEditor.SetBrick(Int32 vBrickID)
at BricksetEditor.frmBricksetEditor.listBricks_SelectedIndexChanged(Object sender, EventArgs e)
at System.Windows.Forms.ListView.OnSelectedIndexChanged(EventArgs e)
at System.Windows.Forms.ListView.WmReflectNotify(Message& m)
at System.Windows.Forms.ListView.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase: file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------
BricksetEditor
Assembly Version: 1.0.3771.39454
Win32 Version: 1.0.3771.39454
CodeBase: file:///C:/opensnc-win-build87/BricksetEditor.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase: file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
----------------------------------------
System
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase: file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
System.Drawing
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase: file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 7.0.5000.0
Win32 Version: 7.10.6001.4
CodeBase: file:///c:/windows/assembly/gac/microsoft.visualbasic/7.0.5000.0__b03f5f7f11d50a3a/microsoft.visualbasic.dll
----------------------------------------
OpenSNC_Library
Assembly Version: 1.0.3771.39454
Win32 Version: 1.0.3771.39454
CodeBase: file:///C:/opensnc-win-build87/OpenSNC_Library.DLL
----------------------------------------
Accessibility
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/accessibility/1.0.5000.0__b03f5f7f11d50a3a/accessibility.dll
----------------------------------------
************** JIT Debugging **************
To enable just in time (JIT) debugging, the config file for this
application or machine (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the machine
rather than being handled by this dialog.Offline
Regarding the "mystery bug"
- load an existing brickset like desert1.brk or island.brk
- select a brick on the list and...
- crash!
Sorry, I meant to say I cannot reproduce it. Your stack trace tells me where its failing, but I need to know about the variable "string filename" being passed to the bitmap constructor. If you can, please break the app on the crash and inspect that value.
If you try this on the newest version you should be told this value. Sorry for the confusion.
Try
tPicture.BackgroundImage = New Bitmap(CStr(tPicture.Tag))
Catch ex As Exception
MsgBox("Failed to load the following picture: " & vbCrLf & vbCrLf & _
"Image File: " & tSourceFile & vbCrLf & _
"Sprite File: " & vSpriteFile & vbCrLf & vbCrLf & _
"The exception was: " & ex.Message, _
MsgBoxStyle.Critical, "frmBricksetEditor::CreateTabPage")
Exit Function
End TryEDIT: I've noticed you are using a different character set than I. This gives me a hint.
Last edited by Celdecea (2010-05-09 14:04:47)
Offline
Sorry, Celdecea: my mistake. I was using the old version on the previous post.
I've downloaded the latest version and I loved the .brk file integration
. The problem, however, persists: I tried to open desert1.brk (by double clicking the file) and the program crashes. It gives me an error message when I select a brick on the list:
---------------------------
frmBricksetEditor::CreateTabPage
---------------------------
Failed to load the following picture:
Image File: C:\opensnc-win-build87\images/desert1.png
Sprite File: images/desert1.png
The exception was: Invalid parameter used.
---------------------------
OK
---------------------------Immediately after, here's what happens:
---------------------------
BricksetEditor.exe - Common Language Runtime Debugging Services
---------------------------
Application has encountered a user-defined breakpoint.
Process id=0xf00 (3840), Thread id=0xf20 (3872).
Click ABORT to terminate the application.
Click RETRY to debug the application.
Click IGNORE to ignore the breakpoint.
---------------------------
Anular Repetir Ignorar
---------------------------Finally, it gives me an unhandled exception ("Object reference not set to an instance of an object"). Details:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at BricksetEditor.frmBricksetEditor.RefreshSelectedBrickRectangle(Sprite& vSprite)
at BricksetEditor.frmBricksetEditor.SetBrick(Int32 vBrickID)
at BricksetEditor.frmBricksetEditor.listBricks_SelectedIndexChanged(Object sender, EventArgs e)
at System.Windows.Forms.ListView.OnSelectedIndexChanged(EventArgs e)
at System.Windows.Forms.ListView.WmReflectNotify(Message& m)
at System.Windows.Forms.ListView.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase: file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------
BricksetEditor
Assembly Version: 0.1.4.0
Win32 Version: 0.1.4.0
CodeBase: file:///C:/Documents%20and%20Settings/Alexandre/Desktop/BricksetEditor.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase: file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
----------------------------------------
System
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase: file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
System.Drawing
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase: file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 7.0.5000.0
Win32 Version: 7.10.6001.4
CodeBase: file:///c:/windows/assembly/gac/microsoft.visualbasic/7.0.5000.0__b03f5f7f11d50a3a/microsoft.visualbasic.dll
----------------------------------------
OpenSNC_Library
Assembly Version: 0.1.4.0
Win32 Version: 0.1.4.0
CodeBase: file:///C:/Documents%20and%20Settings/Alexandre/Desktop/OpenSNC_Library.DLL
----------------------------------------
Accessibility
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/accessibility/1.0.5000.0__b03f5f7f11d50a3a/accessibility.dll
----------------------------------------
************** JIT Debugging **************
To enable just in time (JIT) debugging, the config file for this
application or machine (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the machine
rather than being handled by this dialog.---------------------------------------
EDIT: there's another bug. I tried to open template.brk and it gives me the following error message:
---------------------------
frmBricksetEditor::SetBrickFile
---------------------------
An invalid brick z-index was encountered. Bricks must have a zindex between 0.0 and 1.0 (default 0.5).
Path: C:\opensnc-win-build87
File: themes\template.brk
Line: 13
Would you like set the zindex to 0.5 (the default)? If you choose No, the brick will be discarded. You may also Cancel loading the brickset.
---------------------------
Sim Não Cancelar
---------------------------Line 13, however, is the highlighted line below:
# CATEGORY ZERO: OBSTACLES
brick 0
{
type OBSTACLE
behavior DEFAULT
angle 0
zindex 0.4sprite
{
source_file images/template.png
source_rect 315 157 96 48
frame_size 96 48
template.brk also crashes when the program tries to load the image.
Last edited by Alexandre (2010-05-12 00:27:35)
Offline
Hello,
A new version has been released and can be downloaded from this page. A few bugs have been fixed, and hopefully your crashes will go away.
The zindex problem is possibly related to the comma being treated as a decimal in your locality. I added a special function which checks for this. If you still receive an error because of the zindex please let me know.
The brick-select crash may be related to the forwards and backwards slash. It seems to work on my system but not on yours, so I must assume the problem is related to the locality like before. I've tried a very small hack to see if it will work on your system. Please let me know how it goes.
Thanks.
Offline
Hello,
It's working now.
Nice job!
Some minor bugs still exist:
The example.brk brickset (from Sonic and the Magical Stone) worked. Some bricks, however, don't work:

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.ArgumentException: '25' is not a valid value for 'Value'. 'Value' should be between 'Minimum' and 'Maximum'.
at System.Windows.Forms.NumericUpDown.set_Value(Decimal value)
at BricksetEditor.frmBricksetEditor.UpdateBehaviorFields()
at BricksetEditor.frmBricksetEditor.SetBrick(Int32 vBrickID)
at BricksetEditor.frmBricksetEditor.listBricks_SelectedIndexChanged(Object sender, EventArgs e)
at System.Windows.Forms.ListView.OnSelectedIndexChanged(EventArgs e)
at System.Windows.Forms.ListView.WmReflectNotify(Message& m)
at System.Windows.Forms.ListView.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase: file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------
BricksetEditor
Assembly Version: 0.1.5.0
Win32 Version: 0.1.5.0
CodeBase: file:///C:/Documents%20and%20Settings/Alexandre/Desktop/BricksetEditor.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase: file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
----------------------------------------
System
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase: file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
System.Drawing
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase: file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 7.0.5000.0
Win32 Version: 7.10.6001.4
CodeBase: file:///c:/windows/assembly/gac/microsoft.visualbasic/7.0.5000.0__b03f5f7f11d50a3a/microsoft.visualbasic.dll
----------------------------------------
OpenSNC_Library
Assembly Version: 0.1.5.0
Win32 Version: 0.1.5.0
CodeBase: file:///C:/Documents%20and%20Settings/Alexandre/Desktop/OpenSNC_Library.DLL
----------------------------------------
Accessibility
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/accessibility/1.0.5000.0__b03f5f7f11d50a3a/accessibility.dll
----------------------------------------
************** JIT Debugging **************
To enable just in time (JIT) debugging, the config file for this
application or machine (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the machine
rather than being handled by this dialog.Here's brick 33:
# -----------------------
# Moveable platforms
# -----------------------
brick 33
{
type PASSABLE
behavior CIRCULAR 0 0 0.25 0.25
angle 0
sprite
{
source_file images/example.png
source_rect 433 392 16 16
frame_size 16 16
animation
{
repeat TRUE
fps 8
data 0
}
}
}The same error happens for bricks: 34, 35, 36.
A similar problem occurs in EggCorridor.brk (from the same game). It says that '1262' is not a valid value for 'Value', and that 'Value' should be between 'Minimum' and 'Maximum'. Here's the corresponding brick:
brick 68
{
type PASSABLE
behavior DEFAULT
angle 0
sprite
{
source_file images/eggbase.png
source_rect 9 1262 17 64
frame_size 17 64
animation
{
repeat TRUE
fps 8
data 0
}
}
}1262 + 64 does not exceed the image height. The same error occurs for a few other bricksets too.
Also, something should be done to prevent users from using absolute paths in the sprite image. ![]()
Offline
I have finally tried it... but, um... how do I animate? I want to make a City zone with flashing lights... and I can't find out how to 'link' the bricks into an animation.
Offline
...prevent users from using absolute paths in the sprite image.
Currently the path will change to relative when the brickset is saved, please let me know if there is any issue with it. I'll go ahead and enter a feature suggestion for an earlier option.
The other issue will be fixed in the next release. Thanks for your feedback! I learned quite a bit about internationalization this week.
...how do I animate? ...how to 'link' the bricks into an animation...
Forgive me! I almost have some documentation completed! To make an animation, drag a box around all the frames. Go to the animations tab and change the frame size (lines will appear in the box to guide you). Then click on the question mark in the filmstrip to make a new frame.
Good luck! Let me know how it goes. ![]()
Offline
Alexandre wrote:...prevent users from using absolute paths in the sprite image.
Currently the path will change to relative when the brickset is saved, please let me know if there is any issue with it. I'll go ahead and enter a feature suggestion for an earlier option.
The other issue will be fixed in the next release. Thanks for your feedback! I learned quite a bit about internationalization this week.
SilverstepP wrote:...how do I animate? ...how to 'link' the bricks into an animation...
Forgive me! I almost have some documentation completed! To make an animation, drag a box around all the frames. Go to the animations tab and change the frame size (lines will appear in the box to guide you). Then click on the question mark in the filmstrip to make a new frame.
Good luck! Let me know how it goes.
It works perfectly! Thanks!
Offline
Okay. It DID work perfectly...
Until I tried to load my brickset. It said 'conversion from string 0' or something... I know what happened however. If you make a image for a brickset and add to it, you must start ALL OVER... even if the original bricks haven't been moved. It's a minor setback, however, as I could always copy and paste the new bricks from a newly created brk file with new bricks to the old brk file...
Still, it is a bit of a setback. I will get a picture of it as soon as I can...
Offline
I know you are working in make better this tool. I used it. Great.
But it can´t do backgrounds... when will be this able to do it? continue working!! this has LOTS of advantages!! ![]()
Piece of cake...!
Offline