fry / graal-gonstruct Goto Github PK
View Code? Open in Web Editor NEWAn unoffical level editor replacement for the online game Graal
Home Page: http://londeroth.org/~fry/gonstruct/
An unoffical level editor replacement for the online game Graal
Home Page: http://londeroth.org/~fry/gonstruct/
A layer tab, or at least half a tab (possibly in the tools tab) needs to be added to the side-panel, presenting a Photoshop-like interface (with previews, if possible, not really required though) to select, reorder and toggle visibility of individual layers.
If the Graal NW format supports it in some way, naming layers would also be an option.
It seems bucket fill is awfully slow(takes about 1-2 seconds to execute and fill), even when it's just a single tile or such.
Right now adding new settings is a huge amount of work and we should eventually figure out a more generalised way to add preferences so that only one line of code needs to be changed for serialising, deserialising, displaying and updating preferences.
Should be an option to disable the large transparent polygon in tile selection/dragging as large selections can get quite laggy... and it's merely aesthetics.
Should be defaulted to the grass tile(0x1FF ?) if the option to remember is left unchecked.
A way to click a tile in the level itself and have it highlighted(and scrolled to) in the tileset. This can help with finding obscure and well-hidden tiles in pics1, for example.
The handling code for responses to menu/toolbar actions should be moved from window into subcomponents that exist only inside window and do nothing more than categorize the code and attempt to clean up the window class a bit. See gobby source for reference.
The ability to select tiles from all layers. Ctrl+left mouse? For example, I have a house, the base is on layer 1, the roof/windows is on layer 2, and random things like chimney or some such is on layer 3. Currently in order to move the whole house I have to select the tiles on each level and move them separately. Instead, you should be able to hold ctrl+left mouse while selecting which will select the tiles from ALL layers, and allow you to move the selection like normal.
The option to delete tiles in Edit/Delete currently has no hotkey set, it needs to be set to the "Delete" key on the keyboard. It might makes sense to actually let the user modify the hotkeys, in case their keyboard doesn't have a delete key, for example.
Not entirely sure what's going on, but something simple like lining up five NPCs in a row, moving al of them to the side, and then undoing five times doesn't work as I'd expect, that is the NPCs aren't back in the row after a number of undo attempts. It seems undo moves them all to the same place. Valgrind is also reporting errors as that happens.
For better layer editing, a transparent tile should be selectable by the user and used where appropriate. A possibly method to set said tile would be selecting it from the tileset or level and pressing a button in a side-panel menu.
Uses for such a tile would be automatically filling new layers with it, or allowing partly defined tile objects.
Group should probably start on Standard as default, as it's the most used.
Objects should not be alphabetical, but load by the order they are saved in the file itself.
The ability to jump to objects by pressing a key. Pressing 'P' will jump to platform, then again it will go to the next 'P' object, like platform SW and so on... Widely used by level makers for quick navigation.
Gonstruct should remember the last used directory for things like saving. For example I have added a Graal directory, but every time I go to save it defaults to either bin/ or %user%/ instead of Graal/.
Or at least if you have a graal/ directory specified, it should default to there. I don't think anyone has interest in using bin/ or %user%/ to save graal-related files.
It should be possible to flood fill an area with a set of tiles instead of just a single tile
Many of the toolbar actions need custom-made icons that are not taken directly from Graal. Examples include the "Tilesets", "NPCs", "Links" or "Signs" buttons.
Ideal format for the icons would be SVG, otherwise 32x32 would be acceptable, too.
When you right click to copy+drag a tile on any layer above layer 0, it just does a regular drag the first time you do it and you have to move it one tile off and put it back where it was before you can actually copy+drag it away without deleting the tile from that spot.
If I have a tile main tile definition for the image pics2.png, for prefix: "overworld_", and then a main tiledef for pics1.png, for prefix: ""(apply to all levels), pics1.png will still be used even if my level starts with "overworld_", if it is the first in the list. Tiledefs should be applied by their prefixes and how specific they are, rather than order in the list.
It take like 5 min for the actual view of the level to load, any ideas?
There should be a way to either prevent the caching of the Graal directory structure, to abort it, or to reset the directory without the scan actually happening. Perhaps through a dialog or command line option.
Additionally, caching the directory should ignore all errors (permissions, etc.) instead of throwing it.
I've already talked to Loriel about this, but I thought I'd write it here just in case. Graal already keeps a cache of its directory in FILENAMECACHE.txt in its folder. An option to use that file instead of actually having to cache the directory each time could speed things up a lot. An option, I say, in case someone doesn't want to use the Graal directory, or doesn't want the hassle of dealing with the way Graal caches(only updates when Graal handles a file[saving, downloading], not when you place a file in the folder itself).
https://developer.gnome.org/gio/stable/gio-GResource.html
https://developer.gnome.org/gio/stable/glib-compile-resources.html
Possible complications are probably that thing not being widely-enough available, non non-recent or non-linux systems, but glib-compile-resources
seems to do the same thing as make_images.rb
.
A way to separate, visually, your current layers from another. It's impossible to tell, for example, a grass on layer 2 from grass on layer 1. Proposal? An option to enable layer separation(option should be with layers, not in preferences, as I imagine it's something that will be turned on and off a lot as you work with layers)... layers < current layer should be darkened, layers > current layer should be transparent(though that may be hard to see...).
http://i37.tinypic.com/1531kzb.jpg
Not as appealing as I had imagined, but it does exactly what it needs to do -- I can tell what tiles are under, and what are above my current layer.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.