GithubHelp home page GithubHelp logo

forgottenmapeditor's People

Contributors

asamy avatar comedinha avatar edubart avatar tosty33 avatar

Stargazers

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

Watchers

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

forgottenmapeditor's Issues

New Map/File Manager

Working on some File Manager stuff.

First thing is a FileDialog API.
Basically a function that works like this:

FileDialog.show(title, filter, action)

it returns false if its busy, returns nil if nothing is selected.
Action is a function(path) which is defined if a path is selected.

filedialog1

And a map manager for loading/saving files to make room for some extra features, like a minimap preview and recent maps.
Thinking of removing the map description/positions into separate window or something.
mapmanager

add support for .sec format

  1. Add the ability to be able to save the map in the .sec format created for pyOT.
  2. Add the ability to load and edit maps in the .sec format
  3. Add instance support

Id be happy with only the first bullet point.

Visual problems

Some problems:

  • Z Issue with Zones and borders - BorderItems overlap zones, making them standout.
  • "Player view" - The roof above the center of the camera dissappears as if it was ingame, This should be an camera option in camera settings or something.
  • The transparency of roofs/caves should be available as option at a toolbar.
  • Large map view is a bit strange,You move, and it resets the map for each step you take. I dont know if its a RenderToTexture approach or a gradual vertex loading
    There has to be a faster way to render it. that could include multiple floors.
    I'll try to see if i can find any solution

Item search functions

Hello,
I'm planning to start working on Search Widget soon, but I found out that there are two missing functions for it:

  • findItemTypesByName - I know that there's already 'findItemTypeByName' function, but what if there are more items with the same name (for ex. wooden chair)?
  • findItemTypesByString - useful function for autocomplete feature, for ex. findItemTypesByString('cha') will return all items with 'cha' in name.

Minimap bug

Hello,
I've found out that the minimap isn't updating after deleting everything on a tile.

Map View rectangle

Goes crazy when trying to render on nothing and/or just opened the application and loaded up everything.

File with version

On start up put a file loads with version...
Exemple: tibia1010.dat (so will allow changing versions to edit different maps.."

VERSION    = 870  -- Most important for loading Tibia files correctly.
OTB_FILE   = "/data/materials/items"..VERSION..".otb"
XML_FILE   = "/data/materials/items"..VERSION..".xml"
MON_FILE   = "/data/materials/monster"..VERSION.."/monsters.xml"
NPC_FOLDER = "/data/materials/npc"..VERSION..""
OTBM_FILE  = "/data/materials/map.otbm"
DAT_FILE   = "/data/materials/Tibia"..VERSION..".dat"
SPR_FILE   = "/data/materials/Tibia"..VERSION..".spr"

Item Animations

There's problem with showing items on map. They are animated only on first two zoom levels (16, 24), but they should be animated also on default zoom level (32).

Floor bug

Hello,
I've found out that there is bug in viewing floors.

When I set map editor to floor 7 and focus camera in the temple, I get this:
1
But when I focus camera on a tile without upper floor, I can see the upper floors of buildings:
2
I think that it should be done in RME way:
3
Only floor 7 should be seen, no matter of tile that's in the center.

Load monsters

In 10.10 after load map get this error on load monsters and npcs:

ERROR: protected lua call failed: LUA ERROR:
C++ call failed: cannot place creature at 1690 2880 0 65535 65535 255 1 (increment radius)
stack traceback:
    [C]: ?
    [C]: in function 'loadSpawns'
    /mapeditor_filebrowser/filebrowser.lua:126: in function 'openMap'
    /mapeditor_filebrowser/filebrowser.lua:25: in function 'v'
    /mapeditor_filebrowser/filebrowser.lua:48: in function 'openFile'
    /mapeditor_filebrowser/filebrowser.lua:68: in function </mapeditor_filebrowser/filebrowser.lua:68>

On put monsters get same error...

Loading Map

  1. g_map.loadOtbm("test.otbm")
    This function should be added to Manage Files panel.
  2. After using this function map is not cleaned (left items from previous map).
  3. Towns are not loaded.
  4. Item Pallete is not loaded after Load Core Files (I have to change to other pallete and back againt to Grounds).
  5. Search result and Manage Files exit/minimize buttons doesn't work
  6. Can't move map from minimap.
  7. Ctrl + G = go to (feature)

UIMap:movePixels bug

Hello,
There's bug with movePixels function.

When I use:
movePixels(16, 0)
The map is moved by 16 pixels in right direction. But when I use that function again nothing happens.

Also when I use movePixels(32, 0) after moving the map by 16 pixels, the map is moved by only 16 pixels.

Spawn related functions

Hello,
I've found out that there are missing functions that could be added:

Spawn:getCreatures() - function that returns all creatures on spawn
g_creatures.getSpawns() - function that returns all spawns on map

Shift Spread, Scrolling, and More (Issues, Bugs, Features)

A lot of features that RME has needs to be implemented onto here.

  • Being able to move around the map with middle mouse button smoother,
  • holding shift and putting a large area of something down,
  • the ability to change the lists to look like RME's Raw Pallete,
  • enable or disable animations
  • smoother removing abilities
  • being able to scroll up and down in a pallete
  • the pallete title should always be seen as to not loose what you're currently using
  • having 'others' as a fail safe to see every item,
  • jump to brush option,
  • the ability for anyone to create their own palletes,
  • items such as doors replacing floors should be fixed.
  • ground floors shouldn't stack
  • able to modify items ( changing the action id, and other options )
  • framerate issues from simply trying to put down ground floors
  • seeing the item you're placing instead of the 'drop cursor'
  • having a more zoomed in area without causing the sprites to mess up (currently too zoomed out to see what a person is doing)
  • removal tool (right click and able to hit delete)
  • 'peer' ability (hovering over the item to see its name and id),
  • holding mouse button shouldn't delete items already on the tile,
  • whenever choosing an item it should always then go into 'pencil' mode,
  • able to mass select an area by shift + holding mouse,
  • items in the item pallete seem too zoomed out (they look blurry)

Undo / Redo - issues

When using a ground pallette and you drag it over the same tile more than once, upper items will disappear, and they are not recognized by the undo operation. So they arent revertable

Update:
Seems to be an general Brush issue, grounds should replace the current ground and not add as an new item.

Undo and redo only works for 1 tile at the time, a better thing to do is to make a framework for "map edits"
Example:
MapEditor:preformAction(tiles, action(tile))

MapEditor.preformAction stored the action and the "previous state" of that tile, that way be able revert all changes in one Undo/Redo

Save Error

On save:
books go to under tables
not save signs
not save some uids and aids
not save map version (give error on open with rme)

Automatic updates using lua-git?

I was thinking about a way for people to use github as a form of autoimplementing modules.

At this source: https://github.com/mkottman/lua-git
Its a lua module for git which maybe could be used in the init script to update, ofc, a user has to agree if he wants to use automatic updates. Also if people wants additional plugins, there could be a list of some recommended source which could be merged.

Minimap window

Hello,
I think that good idead is to add ability to open minimap in new window (like in RME). For some people It's very useful feature - for example: when you have 2 screens, you can put FME on first screen and window with mini map on second.

I know that it's not very important feature, but leave it here. Maybe someone will do it in freetime :-)

Y U NO Tutorial

you should Fallen, already got you 3 ppl to follow you xP

Save map node bug

Save and load map on last get this error:

ERROR: protected lua call failed: LUA ERROR:
C++ call failed: Unknown map data node 15
stack traceback:
    [C]: ?
    [C]: in function 'loadOtbm'
    /mapeditor_filebrowser/filebrowser.lua:150: in function 'openMap'
    /mapeditor_filebrowser/filebrowser.lua:50: in function 'v'
    /mapeditor_filebrowser/filebrowser.lua:73: in function 'openFile'
    /mapeditor_filebrowser/filebrowser.lua:93: in function </mapeditor_filebrowser/filebrowser.lua:93>
Starting down...

On open server:

>> Loading map
> Map size: 2600x2900.
Duplicate uniqueId 60053
FATAL: [OTBM loader] Unknown map node.
> ERROR: Failed to load map
>> No services running. The server is NOT online.

I check on mapio.cpp and not have extra node

Customizable Item Pallete's

Being able to create new pallet's with ease and being able to make it into rows. Sort of like RME raw area, it shows the item, the id, and so forth,

Bug - fast mapping

Hello,
This is what I get when I try to create straight line by moving the mouse quickly:
abc
Reason? I don't know, maybe too many functions are called. Also when I do it, I get about 80-100% core usage, so I think that something needs to be optimized.

Live Mapping

Again, yes a RME feature, but since it is buggy on RME it could be implemented onto here. It would give users more of a reason to use FME over RME. Some ideas for it are

  • Have a users name over their cursor,
  • Have it be easy to create and join sessions,
  • Whitelist ips ( Have only selected ips able to connect ) ,
  • Blacklist ips,
  • Able to change your name with ease,

More will be added on when ideas are came across.

Zones

Hello,
Here are some of my suggestions for zones:

  • Zone color should be only applied to grounds and walls
  • Opacity of zone color should be set to ~25-50%

Also some new functions for them will be useful:

  • g_map.getZones(pos)
  • g_map.setZone(zoneId, pos)
  • g_map.removeZone(zoneId, pos)
  • UIMap:toggleShowingZones()
  • UIMap:toggleShowindZone(id)

Error on save houses and spawns

In save houses (button save enabled) get this error:

ERROR: protected lua call failed: LUA ERROR:
C++ call failed: failed to save houses XML /data/materials/Map-house.xml: 
stack traceback:
    [C]: ?
    [C]: in function 'save'
    /mapeditor_filebrowser/filebrowser.lua:95: in function 'saveMap'
    ...apeditor_filebrowser/filebrowser.otui:58: [@onClick]:2: in function <...apeditor_filebrowser/filebrowser.otui:58: [@onClick]:1>

In save spawns (button save enabled) get this error:

ERROR: protected lua call failed: LUA ERROR:
C++ call failed: failed to save spawns XML /data/materials/Map-spawn.xml: 
stack traceback:
    [C]: ?
    [C]: in function 'saveSpawns'
    /mapeditor_filebrowser/filebrowser.lua:96: in function 'saveMap'
    ...apeditor_filebrowser/filebrowser.otui:58: [@onClick]:2: in function <...apeditor_filebrowser/filebrowser.otui:58: [@onClick]:1>

On create a new map no get errors...

Error on load npc

Get the error on load npc:

--> Loading NPCs...
ERROR: Unable to load module 'mapeditor_startup': LUA ERROR:
C++ call failed: cannot load creature buffer: Error document empty.
stack traceback:
    [C]: ?
    [C]: in function 'loadNpcs'
    /mapeditor_startup/startup.lua:44: in function 'startup'
    /mapeditor_startup/startup.otmod:8:[@onLoad]:2: in main chunk
    [C]: in function 'ensureModuleLoaded'
    /init.lua:42: in main chunk

This is loading a folder with *.xml?

Needed functions

Hello,
I think that some new functions will be needed:

  • UIMap:move(x, y) - function for moving map in x and y axis by certain amount of pixels. Now there's only 'setCameraPosition' function that isn't too smooth.
  • Functions for drawing ghosted items on map tiles, useful for brushes :-)
    Example from RME:
    http://i.imgur.com/0MUMtmz.png

Selection brush

So lets say you can select an free amount of tiles, then preform regular actions on them, like replaceWith, remove, Add, Autoborder, Zone, MoveWithXYZOffset
You can make diffrent selections, Save them as a file and so on to be able to work between multiple files, a certain selection can be saved as an OTBM file,
The selection brushes would be pretty simple, Area, Pen, Magic Wand (aka paint bucket)
This would compensate the lack of using multiple files at once, as you can simple store a selection and import it when opening another file.
Selections can also have a role in redo/undo as the previous tiles can be stored in the selection while in memory.

A selection would be an array of positions with from/to stackpos in the memory.

Some really cool features with this would be sort of "Create House", "Randomize items" (for grass, bushes, etc) , "Protect/Isolate", aka allow only to place items inside the selection or dont allow editing withing the selection.

The selection should be sorted in an X/Y manner so you can preform example autobordering/position related functions

Anoter UIMap:movePixels bug

Hello,
I've found another bug in movePixels function. For example: I have map like this:
pre
It looks good, but when I use movePixels function, I get effect like this:
aft

Undo and Redo

These functions are missing. Let's hope they'll be implemented in the near future.

Hotkeys - with sets.

we all know that mappers must shift between items every so often, that they get tired of it.
To solve this is quite simple.
You have your keys from (0 to 9 or others) which all can contain an brush/item.
Its would be located at the bottom at the screen with a Combobox as the most left side of the toolbar.
That combo box is a list of your own sets which you can switch from.
A create new /remove button for the sets can be located at the side of the box.
The items can from the pallettes can be drag and dropped into the a slot.
Alternatively the scroll button could switch the item selected in the toolbar, instead of zooming, where zooming could be done with ctrl+scrolling.
The combobox should also allow quick filtering by typing when the control is selected.

This would really increase the speed for mappers that likes RAW.

To simplify a bit: Imagine the minecraft item bar, but scrolling trough items, and list of custom sets.

Thing related functions

Hello,
I've found that there are 4 missing functions that should be added:

  • g_things.getThingNameById(id)
  • g_things.getThingIdByName(name)
  • g_map.colorThing(thing, {r, g, b, a})
  • g_map.removeThingColor(thing)

Last 2 functions will be useful for "selection tool" that I'm planning to work on.

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.