Code Monkey home page Code Monkey logo

graal-gonstruct's People

Contributors

ben0x539 avatar bjorn avatar fry avatar jlandrum avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

graal-gonstruct's Issues

Layer List Interface

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.

Slow bucket fill

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.

preferences handling should be generalised

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.

Tile selection

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.

Tile Identification

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.

Specific Command Handler Components For Menu Actions

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.

Multiple Layer Tile Selection

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.

Associate Edit/Delete Action With Hotkey

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.

NPC drag undo is broken

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.

Separate Transparent Tile

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.

Predefined 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.

Remember selected directory

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.

Flood fill with tiles

It should be possible to flood fill an area with a set of tiles instead of just a single tile

Custom Toolbar Icons

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.

Bug with dragging tiles

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.

Apply only specific tile definitions first

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.

Caching Directory Should Be Avoidable

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.

Caching

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).

Layer separation

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.