Discussion in 'Engineering & Reverse Engineering' started by AURORA☆FIELDS, Oct 13, 2014.



    The cute one here Tech Member
    So, there was apparently a quite big bug in detecting the directory you launching SoniPlane from. Instead of the right directory it would use C:/Windows/System32 which would lead to lot of confusion and possible issues. This however, only occurred when I checked on school computer, my PC and laptop handled it correctly, hence why only now I found out. This has been (hopefully) fixed with an update I did, however I need help checking it works right. Both SoniPlane and SoniPlane Downloader has been updated with this fix.

    Update beta 1.0.2
    (* = fixed bug, + = added feature, - = removed feature)

    + Redesigned file selection button.
    + Icons for on/off switches.
    + Output of data in SoniPlane folder
    + Program icon
    * Not updating update checker status with very fast internet connection.
    * Hopefully fixed lauch path detection
    - Removed "No backups" screen


    The cute one here Tech Member
    Update beta 1.0.3
    (* = fixed bug, + = added feature, - = removed feature)

    + SoniPlane now runs under Java 7 instead of Java 8 like before (Convenience for the user)
    * Improved textfields and fixed bunch of bugs
    * Improved file chooser


    The cute one here Tech Member
    Update beta 1.0.4
    (* = fixed bug, + = added feature, - = removed feature)

    + select multiple tiles
    + added new information to debug screen
    + moving parts of plane with mouse
    + new advanced manager for program parts
    + optimizations
    * not closing when opening a project too quickly
    * made sure SoniPlane not trying to launch when using incorrect directory
    * system information output now outputs Bytes, KiloBytes, MegaBytes and Terabytes depending on the size of each drive/memory unit
    - Menu entries for shifting plane position

    So, here is some update as to what I am doing: I am optimizing code, making code less hardcoded, making the program more intuitive, and fixing bugs. I am doing these to make the program more usable, and to prepare it for being added new features. I will spend probably next few weeks finishing the implementation for a new feature; separate windows for separate parts of the program. It would allow you to move, resize, minimize/maximise different things on the plane editor, such as the tile display and palette editor. This is implemented in favor or of creating clipboards for tiles, palettes, and plane mappings, or other necessary things. This is to easily and safely implement importing tiles, palette, and plane mappings or copying/cutting. This will be complex however, so it will be a lot of work, so far just only 10% of the feature has been implemented. Also, I will in the future need help testing the program for intuity or bugs, so if you wish to provide any help drop me a message.

    I also found out that whatever I do, if you try to use Open with -> Java on either SoniPlane.jar or Downloader.jar, it wont get the right directory for the program. Unfortunately there is nothing I can do, you must either create a script to launch the program (as explained in the opening post), or make Java the primary program to open .jar extentions with


    The cute one here Tech Member
    Update beta 1.1
    (* = fixed bug, + = added feature, - = removed feature)

    + Windows have borders
    + Windows can be resized and moved
    + Windows can be minimized and maximized
    + cursor images can be customized
    + proper hotkeys for menu functions
    + when project is loaded the taskbar will blink until the app is focused.
    + save states added
    * commandline would not work properly
    * all tiles were not rendered properly
    * now all menu items are grayed out instead of hidden when not used
    * program reset is now CTRL+ESC


    The cute one here Tech Member
    Help wanted

    While working on SoniPlane, and making it more extensive and more compatible for extending it, I ran into some huge bugs, issues, inconsistencies and limitations. Overall, I ran into a point where I figured I should rather than try to work hard and make hacky solutions to hopefully make it work, I decided to rewrite it instead.

    The restart will be on a lot improved engine, OpenGL (to draw everything I want properly and efficiently, avoiding slowdown and annoying bugs like in the earlier versions), using LWJGL (May change, but for now its the best option I know of), and I will finally fix a lot of the annoying bugs, make the code readable, up to the Java standards, compatible, efficient, and make a mod/extension api, to make users able to add their own features they'd like! But, that is an awful lot of work and something I could definitely not make, especially considering I am way more busy than when I started SoniPlane originally, so to try do that all AND make sure it WORKS 100%, would take even up to one YEAR!

    I don't know about you, but that's awfully long and that's exactly the reason why I ask YOU to help make this a thing faster! In other words, I am inviting you to join a core development team to work on SoniPlane and possibly specify in certain areas, such as UI, Graphics, API, core, additional features. Anyone with some expertise with Java is eligible to join the team (except for the graphics people, who need to be able to draw something half-decent), and will have to have something to show they are capable of working on SoniPlane in any form. I will keep the team size at first small, so I have less people to deal with and can coordinate more.

    So, what are my plans? well, I mentioned some stuff earlier, but here is more complete list:
    • Launcher tool that can check everything is correct, see if there is updates, open up a downloader tool if updates are needed, and load SoniPlane itself along with needed mods and extensions and whatnot.
    • API to allow modification of almost anything in SoniPlane, and include most functions the user would need (to minimize need for Java supplied functions, you see why later)
    • Mod Database, so the users can submit their modifications for others to use. Also would need checking to reject mods which use SoniPlane directly or most Java functions (some would need to be allowed, such as String's)
    • Automatic error reporting (with option to turn off) and troubleshooting guide for common issues.
    • Proper Javadocs, and easily readable online source code (also hopefully an easy way to see what changed since last version)(Github is fine but its clunky and ugly to some extent)
    • Completely rewritten engine and better way of handling [input everything here].
    • Java versions of compressors (gets rid of the need for WINE on Linux and OSX)
    • Cross-platform compatibility.
    • Easy-to-use UI and window handling.
    • Graphics that don't look horrible and/or bland.

    I don't expect to do a release anytime soon, nor would I expect constant work towards SoniPlane, but I aim towards releasing the tool as soon as possible with still keeping quality at the best. If you want to ask me further questions, I am occasionally at IRC; #ssrg - or just message me here!