Giter Club home page Giter Club logo

versatile's Issues

Add "drag'n'put"

When placing tiles in grid-aligned mode, add an option to do the following:

  1. Position a tile with the cursor
  2. Press left mouse button
  3. Drag to another position
  4. Release mouse button
    VersaTile should then place a tile on each grid cell that was dragged over. Kinda like pixel painting

Copy & Paste for single tiles

Implement a copy&paste option for a single tile.

Proposal:
Middle-Clicking a tile will select it in the tileset view and switches into insert mode. This allows fast duplication with a low overhead

Rendering artefacts on ground tiles

when looking from top. See attached screenshot.

broken ground tiles

This might be a Z-Order/Buffer problem?

$ glxinfo | grep 'version'
server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
OpenGL core profile version string: 4.5.0 NVIDIA 375.66
OpenGL core profile shading language version string: 4.50 NVIDIA
OpenGL version string: 4.5.0 NVIDIA 375.66
OpenGL shading language version string: 4.50 NVIDIA
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 375.66
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
    GL_EXT_shader_implicit_conversions, GL_EXT_shader_integer_mix, 

Improve Ground Display

Always show a slightly visible ground grid and make an option to enable/disable the solid ground

Change the way tilesets with margin/padding are handled

Right now, VersaTile modifies the source texture on import. This may be unwanted behaviour if the user wants to rely on the original texture' setup.

Change it so the user can choose between a modified texture and a raw handling.

pro for unmodified:

  • Easier handling when models share the texture
  • May be easier for the artist

pro for modified:

  • User can spawn tiles larger than a single sprite, even when the source material has padding and margin
  • A bit easier handling in texture mapping

Fix export

The export right now is unbearably broken, although Assimp is used.

Proposal:
Remove Assimp, write own OBJ exporter with correct texture export

Snapping to grid (from topview)

It seems that there is an offset from the mouse position, when I try to place a tile from top view. I moved camera/grid upwards, and there was like one tile offset, it might be a bug?

Nomenclature: Sprite vs. Tile

Just for my under standing:

When it's 2D and in the right window then it's a sprite.
When it's 3D as part of a model then it's a tile.

Or the other way round?

Move position of vertices along plane of sprite, and UV coordinates

Currently single vertices can be moved orthogonally to their sprite but not in the other two directions. This would be a tremendously useful feature. My particular interest is in morphing tile-based meshes to make them slightly more organic.

In addition, the possibility to move the UV coords of single vertices with a similar interface would also be great. Could be used for avoiding texture stretching on slanted tiles for example, or for special effects (i.e. "truncating" a sprite).

It seems natural also that if these features are implemented they should really be paired with the possibility to flip the triangulation on a sprite.

Make option for autoflipping grid

Change the grid behaviour so it is possible to either have

  1. Auto-flipping (like it is implemented right now)
  2. Manual flipping via a hotkey

Also add an option for setting the horizontal grid threshold

Scrollable tile sheet

Feature Request:
Allow scrolling of the tile sheet when using very wide or tall tile sheets so all tiles are reachable.

Builds for Linux

Could you make binary builds for Linux?

Maybe you could setup Travis Ci for autobuild .AppImage package?

Cannot select tile

I current build from master

  • Ubuntu 16.04.2 LTS 64-bit
  • Qt Creator 4.3.1
  • Qt 5.9.1 64bit GCC

The tile in the red rectangle cannot be selected only larger groups around it.

cannot_select

Cannot build because of hardcoded paths in project

When I open the project in QtCreator it can't compile because of hard coded paths:

Cannot read /home/felix/projects/gl3w/gl3w.pri: No such file or directory

I am using

  • Ubuntu 16.04.2 LTS 64-bit
  • Qt Creator 3.5.1
  • libassimp-dev/xenial 3.2~dfsg-3 amd64

Sprite Group Library

Allow the user to save sprite groups into a library that can be associated with the model file or the sprite sheet

Improve tileset options

When creating a new model, add a preprocessing step for the tilesets to remove any margins and tile paddings from the sprite sheet, so more sprite sheets can be used.

Maybe also add an option for "previewing" the imported tile set with a grid on import.

"Edge Flip" Gizmo

An "edge flip" could be implemented so when an edge of a sprite is clicked, the sprite will rotate "backwards" around the opposite edge:

Flip Image

Custom Sprite Sheet Files

Allow the creation of custom sprite sheet files that store

  • the image
  • the minimal tile size
  • a preselection of tiles
  • predefined sprite groups

Open wiki

How about opening the wiki so we can collect snippets and How-Tos like how to build?

Save dialog does not work as expected

Current master version.
Repro:

  • Create new model
  • Click Save...
  • Select save location
  • Enter filename testname
  • Click Save...
  • Click Open
  • Locate save location
    --> No file to open.

I assume it's because of the missing file extension.

  1. Adding extension if missing
  2. Allow opening any file with any extension?

OpenGL problems

I have OpenGL 3.3 on Arch Linux, and I get this log when running it:

Change mesh, set mesh as clean.
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Unrecognized OpenGL version
Unrecognized OpenGL version

Another example texture

The example texture draws a connection to Crocotile3D which is there (obviously) but having a unique default texture would help the project to distinguish itself like Sprytile does. Maybe we find something with a free license (like CC0 or similar) which can be used for a good example model.

Segfault on texture load

64bit Linux.

VersaTile works fine with default tileset.

When a new image is selected as a new texture (either by creating a new file or by attempting to switch textures on an existing one), the following error pops up in console:

...
"FS SIMD8 shader: 107 inst, 0 loops, 350 cycles, 0:0 spills:fills, Promoted 1 constants, compacted 1712 to 1152 bytes."
"FS SIMD16 shader: 110 inst, 0 loops, 532 cycles, 0:0 spills:fills, Promoted 1 constants, compacted 1760 to 1200 bytes."
QPainter::begin: Cannot paint on an image with the QImage::Format_Indexed8 format
QPainter::setCompositionMode: Painter not active
QColor::setRgb: RGB parameters out of range
QColor::setRgb: RGB parameters out of range
QColor::setRgb: RGB parameters out of range
QColor::setRgb: RGB parameters out of range
QColor::setRgb: RGB parameters out of range
QColor::setRgb: RGB parameters out of range
QColor::setRgb: RGB parameters out of range
QColor::setRgb: RGB parameters out of range
QColor::setRgb: RGB parameters out of range
QColor::setRgb: RGB parameters out of range
QColor::setRgb: RGB parameters out of range
QColor::setRgb: RGB parameters out of range
QColor::setRgb: RGB parameters out of range
QColor::setRgb: RGB parameters out of range
QColor::setRgb: RGB parameters out of range
QColor::setRgb: RGB parameters out of range
...

and the preview is completely black (with horizontal grid lines visible on black). When I click to confirm loading, program segfaults.

This has been tested with both an indexed .png and a .bmp, with identical result.

Grouping

Allow grouping of tiles into a single, translate-only package. Those packages can be copy & pasted as a single object.

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.