├── .clang-format ├── .editorconfig ├── .gitattributes ├── .github └── workflows │ ├── build-ubuntu.yml │ ├── build-windows-cmake.yml │ ├── build-windows-solution.yml │ └── clang-lint.yml ├── .gitignore ├── CHANGELOG.md ├── CMakeLists.txt ├── CMakePresets.json ├── LICENSE.rtf ├── README.md ├── brushes ├── circular_1.png ├── circular_1_small.png ├── circular_2.png ├── circular_2_small.png ├── circular_3.png ├── circular_3_small.png ├── circular_4.png ├── circular_4_small.png ├── circular_5.png ├── circular_5_small.png ├── circular_6.png ├── circular_6_small.png ├── circular_7.png ├── circular_7_small.png ├── door_locked.png ├── door_locked_small.png ├── door_magic.png ├── door_magic_small.png ├── door_normal.png ├── door_normal_small.png ├── door_quest.png ├── door_quest_small.png ├── eraser.png ├── eraser_small.png ├── gem_edit.png ├── gem_move.png ├── icon │ ├── rme_icon.ico │ ├── rme_icon.png │ └── rme_icon.xpm ├── no_logout.png ├── no_logout_small.png ├── no_pvp.png ├── no_pvp_small.png ├── optional_border.png ├── optional_border_small.png ├── protection_zone.png ├── protection_zone_small.png ├── pvp_zone.png ├── pvp_zone_small.png ├── rectangular_1.png ├── rectangular_1_small.png ├── rectangular_2.png ├── rectangular_2_small.png ├── rectangular_3.png ├── rectangular_3_small.png ├── rectangular_4.png ├── rectangular_4_small.png ├── rectangular_5.png ├── rectangular_5_small.png ├── rectangular_6.png ├── rectangular_6_small.png ├── rectangular_7.png ├── rectangular_7_small.png ├── window_hatch.png ├── window_hatch_small.png ├── window_normal.png └── window_normal_small.png ├── cmake ├── LoggingHelper.cmake ├── MessageColors.cmake ├── remeres.ico └── remeres.rc ├── data ├── clients.xml ├── creatures │ ├── monsters.xml │ └── npcs.xml ├── items │ └── items.xml ├── materials │ ├── borders.xml │ ├── borders │ │ └── borders.xml │ ├── brushs.xml │ ├── brushs │ │ ├── animals.xml │ │ ├── brushes.xml │ │ ├── constructions.xml │ │ ├── decorations.xml │ │ ├── doodads.xml │ │ ├── fields.xml │ │ ├── flowers.xml │ │ ├── grass.xml │ │ ├── grounds.xml │ │ ├── holes.xml │ │ ├── natural_products.xml │ │ ├── plants.xml │ │ ├── statues.xml │ │ ├── stones.xml │ │ ├── tiny_borders.xml │ │ ├── trees.xml │ │ └── walls.xml │ ├── materials.xml │ ├── tilesets.xml │ └── tilesets │ │ ├── addons_and_quest_items.xml │ │ ├── animals.xml │ │ ├── architecture.xml │ │ ├── archway.xml │ │ ├── banners.xml │ │ ├── blank.xml │ │ ├── boats.xml │ │ ├── borders.xml │ │ ├── bottom.xml │ │ ├── bridges.xml │ │ ├── common.xml │ │ ├── constructions.xml │ │ ├── containers.xml │ │ ├── contest_prizes.xml │ │ ├── corpses.xml │ │ ├── creature_outfits.xml │ │ ├── creature_products.xml │ │ ├── crystals.xml │ │ ├── decorations.xml │ │ ├── depots.xml │ │ ├── desert.xml │ │ ├── dools.xml │ │ ├── equipments_amulets.xml │ │ ├── equipments_armors.xml │ │ ├── equipments_boots.xml │ │ ├── equipments_helmets.xml │ │ ├── equipments_legs.xml │ │ ├── equipments_rings.xml │ │ ├── equipments_shields.xml │ │ ├── exterior.xml │ │ ├── festive_items.xml │ │ ├── fields.xml │ │ ├── fluid_containers.xml │ │ ├── food.xml │ │ ├── full_grounds.xml │ │ ├── furniture.xml │ │ ├── grass.xml │ │ ├── grounds_mountains.xml │ │ ├── grounds_nature.xml │ │ ├── grounds_ornamented.xml │ │ ├── grounds_tiny_borders.xml │ │ ├── hangables.xml │ │ ├── interior.xml │ │ ├── kitchen.xml │ │ ├── levers.xml │ │ ├── magic_fields.xml │ │ ├── magical_items.xml │ │ ├── mountains.xml │ │ ├── musical_instruments.xml │ │ ├── natural_products.xml │ │ ├── nature.xml │ │ ├── nature_brushes.xml │ │ ├── nature_flowers.xml │ │ ├── nature_grass.xml │ │ ├── nature_holes.xml │ │ ├── nature_plants.xml │ │ ├── nature_steppe_plants.xml │ │ ├── nature_stones.xml │ │ ├── nature_stones_crystals.xml │ │ ├── nature_tiny_borders.xml │ │ ├── nature_trees.xml │ │ ├── nature_underground_plants.xml │ │ ├── oldschool.xml │ │ ├── pipes.xml │ │ ├── plants_and_flowers.xml │ │ ├── potions.xml │ │ ├── quest_objects.xml │ │ ├── raillings.xml │ │ ├── refuse.xml │ │ ├── remains.xml │ │ ├── rocks.xml │ │ ├── roofs.xml │ │ ├── rubbish.xml │ │ ├── runes.xml │ │ ├── sea.xml │ │ ├── signs.xml │ │ ├── skulls_bones.xml │ │ ├── snow.xml │ │ ├── splash.xml │ │ ├── stairs.xml │ │ ├── statues.xml │ │ ├── store.xml │ │ ├── taming_items.xml │ │ ├── teleports.xml │ │ ├── tools.xml │ │ ├── trash.xml │ │ ├── trinkets.xml │ │ ├── trophies.xml │ │ ├── unknown.xml │ │ ├── utilities.xml │ │ ├── valuables.xml │ │ ├── walls.xml │ │ ├── weapons_ammo.xml │ │ ├── weapons_axe.xml │ │ ├── weapons_club.xml │ │ ├── weapons_distance.xml │ │ ├── weapons_replica.xml │ │ ├── weapons_spellbook.xml │ │ ├── weapons_sword.xml │ │ ├── weapons_wand_and_rod.xml │ │ └── writeables.xml └── menubar.xml ├── icons ├── avoidable.png ├── avoidable.xpm ├── circular_1.png ├── circular_1.xpm ├── circular_2.png ├── circular_2.xpm ├── circular_3.png ├── circular_3.xpm ├── circular_4.png ├── circular_4.xpm ├── circular_5.png ├── circular_5.xpm ├── circular_6.png ├── circular_6.xpm ├── circular_7.png ├── circular_7.xpm ├── house_exit.png ├── house_exit.xpm ├── mini_borderize.png ├── mini_borderize.xpm ├── mini_change.png ├── mini_change.xpm ├── mini_copy.png ├── mini_copy.xpm ├── mini_cut.png ├── mini_cut.xpm ├── mini_delete.png ├── mini_delete.xpm ├── mini_draw.png ├── mini_draw.xpm ├── mini_erase.png ├── mini_erase.xpm ├── mini_fill.png ├── mini_fill.xpm ├── mini_move.png ├── mini_move.xpm ├── mini_paste.png ├── mini_paste.xpm ├── mini_randomize.png ├── mini_randomize.xpm ├── mini_remote.png ├── mini_remote.xpm ├── mini_replace.png ├── mini_replace.xpm ├── mini_rotate.png ├── mini_rotate.xpm ├── mini_select.png ├── mini_select.xpm ├── mini_switch.png ├── mini_switch.xpm ├── mini_unselect.png ├── mini_unselect.xpm ├── monsters.png ├── monsters.xpm ├── moveable.png ├── moveable.xpm ├── nologout_zone.png ├── nologout_zone.xpm ├── nopvp_zone.png ├── nopvp_zone.xpm ├── npcs.png ├── npcs.xpm ├── pickupable.png ├── pickupable.xpm ├── pickupable_moveable.png ├── pickupable_moveable.xpm ├── position_go.png ├── position_go.xpm ├── protected_zone.png ├── protected_zone.xpm ├── pvp_zone.png ├── pvp_zone.xpm ├── rectangular_1.png ├── rectangular_1.xpm ├── rectangular_2.png ├── rectangular_2.xpm ├── rectangular_3.png ├── rectangular_3.xpm ├── rectangular_4.png ├── rectangular_4.xpm ├── rectangular_5.png ├── rectangular_5.xpm ├── rectangular_6.png ├── rectangular_6.xpm ├── rectangular_7.png ├── rectangular_7.xpm ├── toolbar_hooks.png ├── toolbar_hooks.xpm ├── toolbar_moveables.png ├── toolbar_moveables.xpm ├── toolbar_pickupables.png └── toolbar_pickupables.xpm ├── remeres.exe.manifest ├── rme_icon.ico ├── source ├── CMakeLists.txt ├── about_window.cpp ├── about_window.h ├── action.cpp ├── action.h ├── actions_history_window.cpp ├── actions_history_window.h ├── add_item_window.cpp ├── add_item_window.h ├── add_tileset_window.cpp ├── add_tileset_window.h ├── application.cpp ├── application.h ├── artprovider.cpp ├── artprovider.h ├── basemap.cpp ├── basemap.h ├── browse_tile_window.cpp ├── browse_tile_window.h ├── brush.cpp ├── brush.h ├── brush_enums.h ├── brush_tables.cpp ├── carpet_brush.cpp ├── carpet_brush.h ├── client_assets.cpp ├── client_assets.h ├── common.cpp ├── common.h ├── common_windows.cpp ├── common_windows.h ├── complexitem.cpp ├── complexitem.h ├── con_vector.h ├── const.h ├── container_properties_window.cpp ├── container_properties_window.h ├── copybuffer.cpp ├── copybuffer.h ├── dat_debug_view.cpp ├── dat_debug_view.h ├── dcbutton.cpp ├── dcbutton.h ├── definitions.h ├── doodad_brush.cpp ├── doodad_brush.h ├── editor.cpp ├── editor.h ├── editor_tabs.cpp ├── editor_tabs.h ├── enums.h ├── eraser_brush.cpp ├── filehandle.cpp ├── filehandle.h ├── find_item_window.cpp ├── find_item_window.h ├── graphics.cpp ├── graphics.h ├── ground_brush.cpp ├── ground_brush.h ├── gui.cpp ├── gui.h ├── gui_ids.h ├── house.cpp ├── house.h ├── house_brush.cpp ├── house_brush.h ├── house_exit_brush.cpp ├── house_exit_brush.h ├── iomap.cpp ├── iomap.h ├── iomap_otbm.cpp ├── iomap_otbm.h ├── iomap_otmm.cpp ├── iomap_otmm.h ├── iominimap.cpp ├── iominimap.h ├── item.cpp ├── item.h ├── item_attributes.cpp ├── item_attributes.h ├── items.cpp ├── items.h ├── light_drawer.cpp ├── light_drawer.h ├── live_action.cpp ├── live_action.h ├── live_client.cpp ├── live_client.h ├── live_packets.h ├── live_peer.cpp ├── live_peer.h ├── live_server.cpp ├── live_server.h ├── live_socket.cpp ├── live_socket.h ├── live_tab.cpp ├── live_tab.h ├── main.h ├── main_menubar.cpp ├── main_menubar.h ├── main_toolbar.cpp ├── main_toolbar.h ├── map.cpp ├── map.h ├── map_allocator.h ├── map_display.cpp ├── map_display.h ├── map_drawer.cpp ├── map_drawer.h ├── map_region.cpp ├── map_region.h ├── map_tab.cpp ├── map_tab.h ├── map_window.cpp ├── map_window.h ├── materials.cpp ├── materials.h ├── minimap_window.cpp ├── minimap_window.h ├── mkpch.cpp ├── monster.cpp ├── monster.h ├── monster_brush.cpp ├── monster_brush.h ├── monsters.cpp ├── monsters.h ├── mt_rand.cpp ├── mt_rand.h ├── net_connection.cpp ├── net_connection.h ├── npc.cpp ├── npc.h ├── npc_brush.cpp ├── npc_brush.h ├── npcs.cpp ├── npcs.h ├── numbertextctrl.cpp ├── numbertextctrl.h ├── old_properties_window.cpp ├── old_properties_window.h ├── otml.h ├── outfit.h ├── palette_brushlist.cpp ├── palette_brushlist.h ├── palette_common.cpp ├── palette_common.h ├── palette_house.cpp ├── palette_house.h ├── palette_monster.cpp ├── palette_monster.h ├── palette_npc.cpp ├── palette_npc.h ├── palette_waypoints.cpp ├── palette_waypoints.h ├── palette_window.cpp ├── palette_window.h ├── palette_zones.cpp ├── palette_zones.h ├── pngfiles.cpp ├── pngfiles.h ├── position.h ├── positionctrl.cpp ├── positionctrl.h ├── preferences.cpp ├── preferences.h ├── process_com.cpp ├── process_com.h ├── properties_window.cpp ├── properties_window.h ├── protobuf │ ├── CMakeLists.txt │ └── appearances.proto ├── raw_brush.cpp ├── raw_brush.h ├── replace_items_window.cpp ├── replace_items_window.h ├── result_window.cpp ├── result_window.h ├── rme-install ├── rme_forward_declarations.h ├── rme_net.cpp ├── rme_net.h ├── selection.cpp ├── selection.h ├── settings.cpp ├── settings.h ├── spawn_monster.cpp ├── spawn_monster.h ├── spawn_monster_brush.cpp ├── spawn_monster_brush.h ├── spawn_npc.cpp ├── spawn_npc.h ├── spawn_npc_brush.cpp ├── spawn_npc_brush.h ├── sprite_appearances.cpp ├── sprite_appearances.h ├── sprites.h ├── table_brush.cpp ├── table_brush.h ├── templatemap76-74.cpp ├── templatemap81.cpp ├── templatemap854.cpp ├── templatemapclassic.cpp ├── templates.h ├── threads.h ├── tile.cpp ├── tile.h ├── tileset.cpp ├── tileset.h ├── tileset_window.cpp ├── tileset_window.h ├── town.cpp ├── town.h ├── updater.cpp ├── updater.h ├── wall_brush.cpp ├── wall_brush.h ├── waypoint_brush.cpp ├── waypoint_brush.h ├── waypoints.cpp ├── waypoints.h ├── welcome_dialog.cpp ├── welcome_dialog.h ├── zone_brush.cpp ├── zone_brush.h ├── zones.cpp └── zones.h ├── tools ├── Tibia.otfi └── convert_png2cpp.py ├── vcpkg.json └── vcproj ├── Project ├── RME.rc ├── RME.vcxproj └── rme_icon.ico └── RME.sln /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | # General configuration 4 | [*] 5 | charset = utf-8 6 | end_of_line = lf 7 | indent_style = tab 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.{cpp,h,lua,xml}] 12 | indent_style = tab 13 | indent_size = 4 14 | 15 | [**.{.cpp,.h}] 16 | # Options not ubiquitous, but useful 17 | indent_brace_style = K&R 18 | spaces_around_brackets = none 19 | 20 | [.travis.yml] 21 | indent_style = space 22 | indent_size = 2 23 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | text eol=lf 2 | -------------------------------------------------------------------------------- /.github/workflows/clang-lint.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: Clang-format 3 | on: 4 | pull_request: 5 | paths: 6 | - "source/**" 7 | - ".github/workflows/clang-lint.yml" 8 | push: 9 | paths: 10 | - "source/**" 11 | jobs: 12 | build: 13 | runs-on: ubuntu-latest 14 | steps: 15 | - name: Cancel Previous Runs 16 | if: github.ref != 'refs/heads/main' 17 | uses: fkirc/skip-duplicate-actions@master 18 | with: 19 | concurrent_skipping: "same_content" 20 | cancel_others: true 21 | 22 | - name: Set up Git 23 | if: ${{ github.ref != 'refs/heads/main' }} 24 | run: | 25 | git config --global user.email "github-actions[bot]@users.noreply.github.com" 26 | git config --global user.name "GitHub Actions" 27 | 28 | - name: Actions checkout 29 | if: ${{ github.ref != 'refs/heads/main' }} 30 | uses: actions/checkout@v3 31 | with: 32 | repository: ${{ github.event.pull_request.head.repo.full_name }} 33 | ref: ${{ github.event.pull_request.head.ref }} 34 | token: ${{ secrets.GITHUB_TOKEN }} 35 | 36 | - name: Run clang format lint 37 | if: ${{ github.ref != 'refs/heads/main' }} 38 | uses: DoozyX/clang-format-lint-action@v0.16.2 39 | with: 40 | source: "source" 41 | extensions: "cpp,hpp,h" 42 | clangFormatVersion: 16 43 | inplace: true 44 | 45 | - name: Run add and commit 46 | if: ${{ github.ref != 'refs/heads/main' }} 47 | uses: EndBug/add-and-commit@v9 48 | with: 49 | author_name: GitHub Actions 50 | author_email: github-actions[bot]@users.noreply.github.com 51 | message: "Code format - (Clang-format)" 52 | env: 53 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 54 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # CMake 2 | CMakeCache.txt 3 | CMakeFiles 4 | cmake_install.cmake 5 | Makefile 6 | build/ 7 | build.*/ 8 | build-debug 9 | build-release 10 | CMakeLists.txt.user* 11 | 12 | # RME 13 | remeres 14 | rme 15 | rme.cfg 16 | data/user 17 | world 18 | 19 | # Visual Studio 20 | *.MAP 21 | *.user 22 | *.APS 23 | *.opensdf 24 | *.sdf 25 | *.suo 26 | *.obj 27 | *.db 28 | *.opendb 29 | *.vs 30 | 31 | vcproj/ 32 | vcproj/generated/ 33 | vcproj/ipch/ 34 | vcproj/Beta Release/ 35 | vcproj/Debug/ 36 | vcproj/Release/ 37 | vcproj/x64/ 38 | vcproj/Project/Beta Release/ 39 | vcproj/Project/Debug/ 40 | vcproj/Project/Release/ 41 | vcproj/Project/x64/ 42 | vcproj/Installer/Beta Release/ 43 | vcproj/Installer/Debug/ 44 | vcproj/Installer/Release/ 45 | vcpkg_installed/ 46 | .vscode/ 47 | *.filters 48 | *.users 49 | 50 | # Xcode 51 | xcuserdata 52 | .DS_STORE 53 | 54 | # CLion 55 | .idea/ 56 | cmake-build-debug/ 57 | 58 | # User 59 | *.dll 60 | *.exe 61 | *.pdb 62 | *.rar 63 | *.lzma 64 | *.dat 65 | *.manifest 66 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | What is this? 2 | ============= 3 | 4 | This is a map editor for OpenTibia, which is an open source implementation of the MMORPG Tibia (which can be found at [tibia.com](http://tibia.com)). 5 | You can find the project for hosting your own server at [Canary](https://github.com/opentibiabr/canary). 6 | 7 | Getting Started 8 | ========= 9 | * [Gitbook](https://docs.opentibiabr.com/opentibiabr/projects/remeres-map-editor). 10 | * [Wiki](https://github.com/opentibiabr/remeres-map-editor/wiki). 11 | 12 | I want to contribute 13 | ==================== 14 | 15 | Contributions are very welcome, if you would like to make any changes, fork this project and create a pull request in our [pull request tracker](https://github.com/opentibiabr/remeres-map-editor/pulls). 16 | 17 | Bugs 18 | ====== 19 | 20 | Have you found a bug? Please create an issue in our [bug tracker](https://github.com/opentibiabr/remeres-map-editor/issues). 21 | 22 | Other Applications 23 | ========== 24 | 25 | * To host your MMORPG game server, you can use [Canary](https://github.com/opentibiabr/canary). 26 | * To play your MMORPG game, you can use [OTClient](https://github.com/mehah/otclient). 27 | * To map your MMORPG game, you can use this map editor. 28 | 29 | Download 30 | ======== 31 | 32 | You can find the releases in [opentibiabr remere's map editor](https://github.com/opentibiabr/remeres-map-editor/releases). 33 | -------------------------------------------------------------------------------- /brushes/circular_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/circular_1.png -------------------------------------------------------------------------------- /brushes/circular_1_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/circular_1_small.png -------------------------------------------------------------------------------- /brushes/circular_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/circular_2.png -------------------------------------------------------------------------------- /brushes/circular_2_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/circular_2_small.png -------------------------------------------------------------------------------- /brushes/circular_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/circular_3.png -------------------------------------------------------------------------------- /brushes/circular_3_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/circular_3_small.png -------------------------------------------------------------------------------- /brushes/circular_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/circular_4.png -------------------------------------------------------------------------------- /brushes/circular_4_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/circular_4_small.png -------------------------------------------------------------------------------- /brushes/circular_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/circular_5.png -------------------------------------------------------------------------------- /brushes/circular_5_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/circular_5_small.png -------------------------------------------------------------------------------- /brushes/circular_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/circular_6.png -------------------------------------------------------------------------------- /brushes/circular_6_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/circular_6_small.png -------------------------------------------------------------------------------- /brushes/circular_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/circular_7.png -------------------------------------------------------------------------------- /brushes/circular_7_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/circular_7_small.png -------------------------------------------------------------------------------- /brushes/door_locked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/door_locked.png -------------------------------------------------------------------------------- /brushes/door_locked_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/door_locked_small.png -------------------------------------------------------------------------------- /brushes/door_magic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/door_magic.png -------------------------------------------------------------------------------- /brushes/door_magic_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/door_magic_small.png -------------------------------------------------------------------------------- /brushes/door_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/door_normal.png -------------------------------------------------------------------------------- /brushes/door_normal_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/door_normal_small.png -------------------------------------------------------------------------------- /brushes/door_quest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/door_quest.png -------------------------------------------------------------------------------- /brushes/door_quest_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/door_quest_small.png -------------------------------------------------------------------------------- /brushes/eraser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/eraser.png -------------------------------------------------------------------------------- /brushes/eraser_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/eraser_small.png -------------------------------------------------------------------------------- /brushes/gem_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/gem_edit.png -------------------------------------------------------------------------------- /brushes/gem_move.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/gem_move.png -------------------------------------------------------------------------------- /brushes/icon/rme_icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/icon/rme_icon.ico -------------------------------------------------------------------------------- /brushes/icon/rme_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/icon/rme_icon.png -------------------------------------------------------------------------------- /brushes/no_logout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/no_logout.png -------------------------------------------------------------------------------- /brushes/no_logout_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/no_logout_small.png -------------------------------------------------------------------------------- /brushes/no_pvp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/no_pvp.png -------------------------------------------------------------------------------- /brushes/no_pvp_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/no_pvp_small.png -------------------------------------------------------------------------------- /brushes/optional_border.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/optional_border.png -------------------------------------------------------------------------------- /brushes/optional_border_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/optional_border_small.png -------------------------------------------------------------------------------- /brushes/protection_zone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/protection_zone.png -------------------------------------------------------------------------------- /brushes/protection_zone_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/protection_zone_small.png -------------------------------------------------------------------------------- /brushes/pvp_zone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/pvp_zone.png -------------------------------------------------------------------------------- /brushes/pvp_zone_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/pvp_zone_small.png -------------------------------------------------------------------------------- /brushes/rectangular_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/rectangular_1.png -------------------------------------------------------------------------------- /brushes/rectangular_1_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/rectangular_1_small.png -------------------------------------------------------------------------------- /brushes/rectangular_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/rectangular_2.png -------------------------------------------------------------------------------- /brushes/rectangular_2_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/rectangular_2_small.png -------------------------------------------------------------------------------- /brushes/rectangular_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/rectangular_3.png -------------------------------------------------------------------------------- /brushes/rectangular_3_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/rectangular_3_small.png -------------------------------------------------------------------------------- /brushes/rectangular_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/rectangular_4.png -------------------------------------------------------------------------------- /brushes/rectangular_4_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/rectangular_4_small.png -------------------------------------------------------------------------------- /brushes/rectangular_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/rectangular_5.png -------------------------------------------------------------------------------- /brushes/rectangular_5_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/rectangular_5_small.png -------------------------------------------------------------------------------- /brushes/rectangular_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/rectangular_6.png -------------------------------------------------------------------------------- /brushes/rectangular_6_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/rectangular_6_small.png -------------------------------------------------------------------------------- /brushes/rectangular_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/rectangular_7.png -------------------------------------------------------------------------------- /brushes/rectangular_7_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/rectangular_7_small.png -------------------------------------------------------------------------------- /brushes/window_hatch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/window_hatch.png -------------------------------------------------------------------------------- /brushes/window_hatch_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/window_hatch_small.png -------------------------------------------------------------------------------- /brushes/window_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/window_normal.png -------------------------------------------------------------------------------- /brushes/window_normal_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/brushes/window_normal_small.png -------------------------------------------------------------------------------- /cmake/LoggingHelper.cmake: -------------------------------------------------------------------------------- 1 | function(log_info MSG) 2 | message(STATUS "${MsgOk}${MSG}${MsgClr}") 3 | endfunction() 4 | 5 | function(log_war MSG) 6 | message(STATUS "${MsgWar}${MSG}${MsgClr}") 7 | endfunction() 8 | 9 | function(log_err MSG) 10 | message(SEND_ERROR "${MsgErr}${MSG}${MsgClr}") 11 | endfunction() 12 | 13 | function(log_fatal MSG) 14 | message(FATAL_ERROR "${MsgErr}${MSG}${MsgClr}") 15 | endfunction() 16 | 17 | function(log_option_enabled OPTION) 18 | message(STATUS "${MsgBold}Enabled:${MsgClr} ${MsgOk}${OPTION}${MsgClr}") 19 | endfunction() 20 | 21 | function(log_option_disabled OPTION) 22 | message(STATUS "${MsgBold}Disabled:${MsgClr} ${MsgWar}${OPTION}${MsgClr}") 23 | endfunction() 24 | 25 | function(log_program_missing PROGRAM) 26 | message(SEND_ERROR "${MsgErr}Unable to find ${PROGRAM}${MsgClr}") 27 | endfunction() 28 | -------------------------------------------------------------------------------- /cmake/MessageColors.cmake: -------------------------------------------------------------------------------- 1 | if(NOT WIN32) 2 | string(ASCII 27 Esc) 3 | set(ColorReset "${Esc}[m") 4 | set(ColorBold "${Esc}[1m") 5 | set(ColorRed "${Esc}[31m") 6 | set(ColorYellow "${Esc}[33m") 7 | set(ColorGreen "${Esc}[32m") 8 | 9 | set(MsgErr "${ColorRed}${ColorBold}") 10 | set(MsgWar "${ColorYellow}${ColorBold}") 11 | set(MsgOk "${ColorGreen}${ColorBold}") 12 | set(MsgClr "${ColorReset}") 13 | endif() 14 | -------------------------------------------------------------------------------- /cmake/remeres.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/cmake/remeres.ico -------------------------------------------------------------------------------- /cmake/remeres.rc: -------------------------------------------------------------------------------- 1 | MAINICON ICON "remeres.ico" 2 | -------------------------------------------------------------------------------- /data/clients.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /data/materials/borders.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /data/materials/brushs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /data/materials/brushs/animals.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /data/materials/brushs/brushes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /data/materials/brushs/constructions.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /data/materials/brushs/decorations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /data/materials/brushs/fields.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /data/materials/brushs/holes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /data/materials/brushs/natural_products.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /data/materials/brushs/plants.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /data/materials/brushs/statues.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /data/materials/brushs/tiny_borders.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /data/materials/materials.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /data/materials/tilesets/animals.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /data/materials/tilesets/archway.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /data/materials/tilesets/banners.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /data/materials/tilesets/boats.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /data/materials/tilesets/bottom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /data/materials/tilesets/bridges.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /data/materials/tilesets/common.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /data/materials/tilesets/constructions.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /data/materials/tilesets/containers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /data/materials/tilesets/contest_prizes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /data/materials/tilesets/creature_outfits.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /data/materials/tilesets/crystals.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /data/materials/tilesets/decorations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /data/materials/tilesets/depots.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /data/materials/tilesets/desert.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /data/materials/tilesets/equipments_amulets.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /data/materials/tilesets/equipments_armors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /data/materials/tilesets/equipments_boots.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /data/materials/tilesets/equipments_legs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /data/materials/tilesets/equipments_rings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /data/materials/tilesets/equipments_shields.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /data/materials/tilesets/festive_items.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /data/materials/tilesets/fields.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /data/materials/tilesets/fluid_containers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /data/materials/tilesets/food.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /data/materials/tilesets/full_grounds.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /data/materials/tilesets/furniture.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /data/materials/tilesets/grass.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /data/materials/tilesets/grounds_mountains.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /data/materials/tilesets/kitchen.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /data/materials/tilesets/levers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /data/materials/tilesets/magic_fields.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /data/materials/tilesets/magical_items.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /data/materials/tilesets/musical_instruments.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /data/materials/tilesets/natural_products.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /data/materials/tilesets/nature_brushes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /data/materials/tilesets/nature_flowers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /data/materials/tilesets/nature_grass.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /data/materials/tilesets/nature_holes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /data/materials/tilesets/nature_plants.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /data/materials/tilesets/nature_steppe_plants.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /data/materials/tilesets/nature_stones_crystals.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /data/materials/tilesets/nature_underground_plants.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /data/materials/tilesets/oldschool.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /data/materials/tilesets/pipes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /data/materials/tilesets/plants_and_flowers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /data/materials/tilesets/potions.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /data/materials/tilesets/quest_objects.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /data/materials/tilesets/raillings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /data/materials/tilesets/refuse.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /data/materials/tilesets/remains.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /data/materials/tilesets/rocks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /data/materials/tilesets/rubbish.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /data/materials/tilesets/runes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /data/materials/tilesets/skulls_bones.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /data/materials/tilesets/snow.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /data/materials/tilesets/splash.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /data/materials/tilesets/store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /data/materials/tilesets/taming_items.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /data/materials/tilesets/teleports.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /data/materials/tilesets/tools.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /data/materials/tilesets/trash.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /data/materials/tilesets/trophies.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /data/materials/tilesets/utilities.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /data/materials/tilesets/valuables.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /data/materials/tilesets/weapons_ammo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /data/materials/tilesets/weapons_axe.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /data/materials/tilesets/weapons_club.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | -------------------------------------------------------------------------------- /data/materials/tilesets/weapons_distance.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /data/materials/tilesets/weapons_replica.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /data/materials/tilesets/weapons_spellbook.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /data/materials/tilesets/weapons_sword.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /data/materials/tilesets/weapons_wand_and_rod.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /icons/avoidable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/avoidable.png -------------------------------------------------------------------------------- /icons/avoidable.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *avoidable_xpm[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 4 1 ", 5 | " c black", 6 | ". c #ED1C24", 7 | "X c magenta", 8 | "o c white", 9 | /* pixels */ 10 | "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", 11 | "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", 12 | "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", 13 | "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", 14 | "XXXX XXXXXXXXXXXX XXXX", 15 | "XXX oooo XXXXXXXXXX oooo XXX", 16 | "XX oooooo XXXXXXXX oooooo XX", 17 | "X ooo ooo XXXXXX ooo ooo X", 18 | "X ooo XX ooo XXXXXX ooo XX ooo X", 19 | "X oo XXXX oo XXXXXX oo XXXX oo X", 20 | "X oo XXXX oo XXXXXX oo XXXX oo X", 21 | "X oo XXXX oo XXXXXX oo XXXX oo X", 22 | "X ooo XX ooo XXXXXX ooo XX ooo X", 23 | "X oo XX oo XXXXXX oo XX oo X", 24 | "XX ooo ooo XXXXXXXX ooo ooo XX", 25 | "XX oooooo XXXXXXXX oooooo XX", 26 | "XXX oooo XXXXXXXXXX oooo XXX", 27 | "XXXX oo XXXXXXXXXXXX oo XXXX", 28 | "XXXXX XX XXXX XX XXXXX", 29 | "XXXXXXXXXX ... XX ... XXXXXXXXXX", 30 | "XXXXXXXXXX ... XX ... XXXXXXXXXX", 31 | "XXXXX .... .... XXXXX", 32 | "XXXXX ooooo ...... ooooo XXXXX", 33 | "XXXXX ooooooo .... ooooooo XXXXX", 34 | "XXXXX oooo .... oooo XXXXX", 35 | "XXXXXXXX ...... XXXXXXXX", 36 | "XXXXXXXXXX .... .... XXXXXXXXXX", 37 | "XXXXXXXXXX ... X ... XXXXXXXXXX", 38 | "XXXXXXXXXX ... XX ... XXXXXXXXXX", 39 | "XXXXXXXXXXX XXXX XXXXXXXXXXX", 40 | "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", 41 | "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 42 | }; 43 | -------------------------------------------------------------------------------- /icons/circular_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/circular_1.png -------------------------------------------------------------------------------- /icons/circular_1.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *circular_1_xpm[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 3 1 ", 5 | " c #086A9B", 6 | ". c #1C779F", 7 | "X c None", 8 | /* pixels */ 9 | "XXXXXXXXXXXXXXXX", 10 | "XXXXXXXXXXXXXXXX", 11 | "XXXXXXXXXXXXXXXX", 12 | "XXXXXXXXXXXXXXXX", 13 | "XXXXXXXXXXXXXXXX", 14 | "XXXXXXXXXXXXXXXX", 15 | "XXXXXXXXXXXXXXXX", 16 | "XXXXXXX XXXXXXX", 17 | "XXXXXXX .XXXXXXX", 18 | "XXXXXXXXXXXXXXXX", 19 | "XXXXXXXXXXXXXXXX", 20 | "XXXXXXXXXXXXXXXX", 21 | "XXXXXXXXXXXXXXXX", 22 | "XXXXXXXXXXXXXXXX", 23 | "XXXXXXXXXXXXXXXX", 24 | "XXXXXXXXXXXXXXXX" 25 | }; 26 | -------------------------------------------------------------------------------- /icons/circular_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/circular_2.png -------------------------------------------------------------------------------- /icons/circular_2.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *circular_2_xpm[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 14 1 ", 5 | " c #016699", 6 | ". c #04689A", 7 | "X c #06699A", 8 | "o c #0C6D9B", 9 | "O c #0E6F9C", 10 | "+ c #18759E", 11 | "@ c #1B769F", 12 | "# c #227BA0", 13 | "$ c #3888A4", 14 | "% c #7DA9BF", 15 | "& c #7EABC1", 16 | "* c #7FABC2", 17 | "= c #A9C3C8", 18 | "- c None", 19 | /* pixels */ 20 | "----------------", 21 | "----------------", 22 | "----------------", 23 | "----------------", 24 | "----------------", 25 | "----------------", 26 | "------&..&------", 27 | "------ .@.------", 28 | "------ #$O------", 29 | "------%O+=------", 30 | "----------------", 31 | "----------------", 32 | "----------------", 33 | "----------------", 34 | "----------------", 35 | "----------------" 36 | }; 37 | -------------------------------------------------------------------------------- /icons/circular_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/circular_3.png -------------------------------------------------------------------------------- /icons/circular_3.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *circular_3_xpm[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 28 1 ", 5 | " c #006699", 6 | ". c #016699", 7 | "X c #016799", 8 | "o c #04699A", 9 | "O c #06699A", 10 | "+ c #076A9A", 11 | "@ c #086B9B", 12 | "# c #096B9B", 13 | "$ c #0C6D9B", 14 | "% c #0D6D9B", 15 | "& c #15739D", 16 | "* c #19759E", 17 | "= c #1E789F", 18 | "- c #2C7DA6", 19 | "; c #2C7EA7", 20 | ": c #3083A3", 21 | "> c #3584A9", 22 | ", c #3B86A9", 23 | "< c #4690A7", 24 | "1 c #5096A9", 25 | "2 c #5499AA", 26 | "3 c #599BAB", 27 | "4 c #5C9BB0", 28 | "5 c #639FB1", 29 | "6 c #6BA6AF", 30 | "7 c #7DB1B2", 31 | "8 c #82B4B3", 32 | "9 c None", 33 | /* pixels */ 34 | "9999999999999999", 35 | "9999999999999999", 36 | "9999999999999999", 37 | "9999999999999999", 38 | "9999999999999999", 39 | "999999;..;999999", 40 | "99999;..&O>99999", 41 | "99999.O:1 c #217AA0", 22 | ", c #247BA3", 23 | "< c #267DA1", 24 | "1 c #297DA3", 25 | "2 c #3586A4", 26 | "3 c #3C89A8", 27 | "4 c #408CA6", 28 | "5 c #418DA6", 29 | "6 c #458FA7", 30 | "7 c #448DA8", 31 | "8 c #5297AA", 32 | "9 c #5398A9", 33 | "0 c #5D9EAC", 34 | "q c #64A2AD", 35 | "w c #6AA6AE", 36 | "e c #6CA7AF", 37 | "r c #72ABB0", 38 | "t c #7CB0B2", 39 | "y c #82B4B3", 40 | "u c #8AB8B5", 41 | "i c #97C1B7", 42 | "p c #A2C7B9", 43 | "a c #BFD9BF", 44 | "s c #91B3C4", 45 | "d c #97B6C4", 46 | "f c #96B9CA", 47 | "g c #97BACB", 48 | "h c #99BBCA", 49 | "j c #98BACB", 50 | "k c #AFC5CA", 51 | "l c #B1C6C9", 52 | "z c None", 53 | /* pixels */ 54 | "zzzzzzzzzzzzzzzz", 55 | "zzzzzzzzzzzzzzzz", 56 | "zzzzzzzzzzzzzzzz", 57 | "zzzzzzzzzzzzzzzz", 58 | "zzzzzg:..:hzzzzz", 59 | "zzzzg...$#.hzzzz", 60 | "zzzz=.@>25-,zzzz", 61 | "zzzz.O<60e9.zzzz", 62 | "zzzzO-3qyirXzzzz", 63 | "zzzz&&9tpl33zzzz", 64 | "zzzzsO-wi5-lzzzz", 65 | "zzzzzd2OX6lzzzzz", 66 | "zzzzzzzzzzzzzzzz", 67 | "zzzzzzzzzzzzzzzz", 68 | "zzzzzzzzzzzzzzzz", 69 | "zzzzzzzzzzzzzzzz" 70 | }; 71 | -------------------------------------------------------------------------------- /icons/circular_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/circular_5.png -------------------------------------------------------------------------------- /icons/circular_5.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *circular_5_xpm[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 69 1 ", 5 | " c #006699", 6 | ". c #016799", 7 | "X c #026799", 8 | "o c #04689A", 9 | "O c #04699A", 10 | "+ c #06699A", 11 | "@ c #066A9A", 12 | "# c #076A9A", 13 | "$ c #086B9B", 14 | "% c #0E6D9D", 15 | "& c #0E6E9E", 16 | "* c #0F6E9E", 17 | "= c #106F9C", 18 | "- c #10709C", 19 | "; c #10709D", 20 | ": c #17749E", 21 | "> c #1E789F", 22 | ", c #20799F", 23 | "< c #1C76A0", 24 | "1 c #2379A1", 25 | "2 c #257CA0", 26 | "3 c #267DA1", 27 | "4 c #297EA1", 28 | "5 c #2F82A2", 29 | "6 c #2E80A4", 30 | "7 c #3183A3", 31 | "8 c #3485A4", 32 | "9 c #3586A4", 33 | "0 c #3988A4", 34 | "q c #3988A5", 35 | "w c #3986AC", 36 | "e c #3C88AD", 37 | "r c #408CA6", 38 | "t c #4088AB", 39 | "y c #4690A7", 40 | "u c #4C93A8", 41 | "i c #4F95A9", 42 | "p c #5197A9", 43 | "a c #5599AA", 44 | "s c #5E9EAC", 45 | "d c #5F9FAC", 46 | "f c #61A0AC", 47 | "g c #65A3AD", 48 | "h c #6BA6AE", 49 | "j c #6FA5B4", 50 | "k c #73ABB0", 51 | "l c #74ACB0", 52 | "z c #78AEB1", 53 | "x c #7CA8BD", 54 | "c c #7FACC2", 55 | "v c #86ADBD", 56 | "b c #80B3B3", 57 | "n c #82B4B3", 58 | "m c #8DBBB5", 59 | "M c #8EBBB5", 60 | "N c #94BFB7", 61 | "B c #9BC3B8", 62 | "V c #9CC4B8", 63 | "C c #A1C6B9", 64 | "Z c #AFCFBC", 65 | "A c #B3D1BD", 66 | "S c #BED8BF", 67 | "D c #82AFC5", 68 | "F c #83AFC6", 69 | "G c #88B1C4", 70 | "H c #9DBCC4", 71 | "J c #A1BDC3", 72 | "K c #CDE1C2", 73 | "L c None", 74 | /* pixels */ 75 | "LLLLLLLLLLLLLLLL", 76 | "LLLLLLLLLLLLLLLL", 77 | "LLLLLLLLLLLLLLLL", 78 | "LLLLLF& =FLLLLL", 79 | "LLLLw ++ eLLLL", 80 | "LLLc +:254OGLLL", 81 | "LLL& $,9ypa30pgkzf LLL", 83 | "LLL ;7uhbNBz LLL", 84 | "LLL&;rfbVASu6LLL", 85 | "LLLxO0hMZKC+HLLL", 86 | "LLLLt+5lMs=jLLLL", 87 | "LLLLLv2 9JLLLLL", 88 | "LLLLLLLLLLLLLLLL", 89 | "LLLLLLLLLLLLLLLL", 90 | "LLLLLLLLLLLLLLLL" 91 | }; 92 | -------------------------------------------------------------------------------- /icons/circular_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/circular_6.png -------------------------------------------------------------------------------- /icons/circular_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/circular_7.png -------------------------------------------------------------------------------- /icons/house_exit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/house_exit.png -------------------------------------------------------------------------------- /icons/house_exit.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *house_exit_xpm[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 3 1 ", 5 | " c black", 6 | ". c magenta", 7 | "X c white", 8 | /* pixels */ 9 | "................................", 10 | "................................", 11 | "..... ....", 12 | "..... XXX X X X XXX ....", 13 | "..... X X X X X ....", 14 | "..... XX X X X ....", 15 | "..... X X X X X ....", 16 | "..... XXX X X X X ....", 17 | "..... ....", 18 | "................................", 19 | "................................", 20 | "........... ...........", 21 | "........... XXXXXX ..........", 22 | "........... XXXXX ..........", 23 | "........... XXXX ..........", 24 | "........... XXX ..........", 25 | "........... XX ..........", 26 | "........... XX ..........", 27 | "........... XX ..........", 28 | "........... XX ..........", 29 | "........... XX ..........", 30 | "........... XX ..........", 31 | "........... XX ..........", 32 | "........... XX ..........", 33 | "............ XX ..........", 34 | "............. ...........", 35 | ".............. .............", 36 | "............... .............", 37 | "................ .............", 38 | "................. .............", 39 | ".................. .............", 40 | "................................" 41 | }; 42 | -------------------------------------------------------------------------------- /icons/mini_borderize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/mini_borderize.png -------------------------------------------------------------------------------- /icons/mini_borderize.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *mini_borderize_xpm[] = { 3 | "16 16 2 1", 4 | " c None", 5 | ". c #26B48D", 6 | " ", 7 | " .... .... .... ", 8 | " .... .... .... ", 9 | " .... .... ", 10 | " ... ... ", 11 | " ", 12 | " .. .. ", 13 | " .. .. ", 14 | " .. .. ", 15 | " .. .. ", 16 | " ", 17 | " ... ... ", 18 | " .... .... ", 19 | " .... .... .... ", 20 | " .... .... .... ", 21 | " "}; 22 | -------------------------------------------------------------------------------- /icons/mini_change.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/mini_change.png -------------------------------------------------------------------------------- /icons/mini_copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/mini_copy.png -------------------------------------------------------------------------------- /icons/mini_cut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/mini_cut.png -------------------------------------------------------------------------------- /icons/mini_cut.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *mini_cut_xpm[] = { 3 | "16 16 74 1", 4 | " c None", 5 | ". c #3E7BA7", 6 | "+ c #87AECB", 7 | "@ c #9DBCD5", 8 | "# c #4C85AE", 9 | "$ c #AEC8DE", 10 | "% c #93B6D1", 11 | "& c #6797BB", 12 | "* c #C0D4E6", 13 | "= c #99B9D3", 14 | "- c #97B8D3", 15 | "; c #5087AF", 16 | "> c #CEDEED", 17 | ", c #8FB3CE", 18 | "' c #C3D6E7", 19 | ") c #548AB2", 20 | "! c #D3E2F1", 21 | "~ c #8EB3CF", 22 | "{ c #DCE9F5", 23 | "] c #598FB6", 24 | "^ c #DDE9F5", 25 | "/ c #B4CDE2", 26 | "( c #6194B9", 27 | "_ c #32699D", 28 | ": c #427EB1", 29 | "< c #2C689E", 30 | "[ c #6797BC", 31 | "} c #D0E0F0", 32 | "| c #5F91B6", 33 | "1 c #60AADC", 34 | "2 c #549ED0", 35 | "3 c #65B3EA", 36 | "4 c #99BAD8", 37 | "5 c #E1EBF8", 38 | "6 c #5789AE", 39 | "7 c #326A9C", 40 | "8 c #5EA5D6", 41 | "9 c #60ADE4", 42 | "0 c #9BBDDC", 43 | "a c #A5CDEF", 44 | "b c #67B7EF", 45 | "c c #5DA6D8", 46 | "d c #4A8ABE", 47 | "e c #417EA8", 48 | "f c #326E96", 49 | "g c #66B0E7", 50 | "h c #74A2CA", 51 | "i c #67B1E5", 52 | "j c #2D5E94", 53 | "k c #4D8DB8", 54 | "l c #3B70AF", 55 | "m c #4482B5", 56 | "n c #5AA4D6", 57 | "o c #4182AE", 58 | "p c #66B6EC", 59 | "q c #366EA7", 60 | "r c #376CAC", 61 | "s c #5195C4", 62 | "t c #4078B7", 63 | "u c #5197C7", 64 | "v c #5AA6D8", 65 | "w c #366CA6", 66 | "x c #3568A8", 67 | "y c #57A0D1", 68 | "z c #366A8E", 69 | "A c #3F75B4", 70 | "B c #2F5E9F", 71 | "C c #63B2E7", 72 | "D c #4F92BF", 73 | "E c #62ABDD", 74 | "F c #3262A2", 75 | "G c #3161A0", 76 | "H c #3F76B6", 77 | "I c #3465A4", 78 | " . ", 79 | " + ", 80 | " @ # ", 81 | " $ %& ", 82 | " * =- ", 83 | " ;> ,' ", 84 | " )!~{ ", 85 | " ]^/( ", 86 | " _:<[}| ", 87 | " :123456 ", 88 | " 78 90abc ", 89 | " de fghijkl ", 90 | " mnopqrs t ", 91 | " uvw xy zA ", 92 | " BCDEF ", 93 | " GHI "}; 94 | -------------------------------------------------------------------------------- /icons/mini_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/mini_delete.png -------------------------------------------------------------------------------- /icons/mini_draw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/mini_draw.png -------------------------------------------------------------------------------- /icons/mini_draw.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *mini_draw_xpm[] = { 3 | "16 16 59 1", 4 | " c None", 5 | ". c #C49A1D", 6 | "+ c #BD9014", 7 | "@ c #DBC175", 8 | "# c #EEE0A9", 9 | "$ c #B98A16", 10 | "% c #F2E7BD", 11 | "& c #E7CD62", 12 | "* c #B58417", 13 | "= c #DBC174", 14 | "- c #F3E7BD", 15 | "; c #F0DB71", 16 | "> c #F3E8BE", 17 | ", c #F8E87E", 18 | "' c #D1AC3E", 19 | ") c #D2AE40", 20 | "! c #AE7B1A", 21 | "~ c #DAC073", 22 | "{ c #F3E9BE", 23 | "] c #D5B344", 24 | "^ c #F4E9BF", 25 | "/ c #DABB4B", 26 | "( c #B2AC98", 27 | "_ c #C0981E", 28 | ": c #ECDA92", 29 | "< c #E2C656", 30 | "[ c #B2AC9A", 31 | "} c #B2AC9E", 32 | "| c #B2AC9B", 33 | "1 c #B4A57C", 34 | "2 c #B98B1A", 35 | "3 c #DDBE4F", 36 | "4 c #C19732", 37 | "5 c #83A1A7", 38 | "6 c #919EA9", 39 | "7 c #CFD2CD", 40 | "8 c #FCF2D3", 41 | "9 c #F2E5C0", 42 | "0 c #B39F6E", 43 | "a c #8095A4", 44 | "b c #96BAD4", 45 | "c c #85A0B9", 46 | "d c #658AB4", 47 | "e c #7992AC", 48 | "f c #728492", 49 | "g c #7F97A5", 50 | "h c #809BAF", 51 | "i c #86A9C6", 52 | "j c #89AFD6", 53 | "k c #799DC9", 54 | "l c #5B8CD5", 55 | "m c #4D71A6", 56 | "n c #6C859C", 57 | "o c #627C97", 58 | "p c #597493", 59 | "q c #516C90", 60 | "r c #4B668C", 61 | "s c #506D9A", 62 | "t c #B2A16E", 63 | " ", 64 | " .+", 65 | " @#$", 66 | " @%&*", 67 | " =-;* ", 68 | " =>,' ", 69 | " =>,)! ", 70 | " ~{,]! ", 71 | " ~^,/! ", 72 | " (_:, c #F9B0C1", 17 | ", c #E99FB0", 18 | "' c #E9A1B2", 19 | ") c #DC8798", 20 | "! c #EE99AA", 21 | "~ c #A50223", 22 | "{ c #F8F8F8", 23 | "] c #F5F5F5", 24 | "^ c #E89DAE", 25 | "/ c #D98495", 26 | "( c #DB8697", 27 | "_ c #ED98A9", 28 | ": c #A10222", 29 | "< c #F6F6F6", 30 | "[ c #F2F2F2", 31 | "} c #D68192", 32 | "| c #D88394", 33 | "1 c #EA95A6", 34 | "2 c #9F0222", 35 | "3 c #F4F4F4", 36 | "4 c #EFEFEF", 37 | "5 c #D27D8E", 38 | "6 c #D47F90", 39 | "7 c #E792A3", 40 | "8 c #9D0221", 41 | "9 c #F3F3F3", 42 | "0 c #ECECEC", 43 | "a c #CECECE", 44 | "b c #D0D0D0", 45 | "c c #E38E9F", 46 | "d c #9B0221", 47 | "e c #F1F1F1", 48 | "f c #E9E9E9", 49 | "g c #CACACA", 50 | "h c #CCCCCC", 51 | "i c #DCDCDC", 52 | "j c #F0F0F0", 53 | "k c #E6E6E6", 54 | "l c #C6C6C6", 55 | "m c #C8C8C8", 56 | "n c #D8D8D8", 57 | "o c #E3E3E3", 58 | "p c #C2C2C2", 59 | "q c #C4C4C4", 60 | "r c #D4D4D4", 61 | "s c #E1E1E1", 62 | "t c #BFBFBF", 63 | "u c #C0C0C0", 64 | "v c #D1D1D1", 65 | "w c #DFDFDF", 66 | " ", 67 | " .+ ", 68 | " @#$+% ", 69 | " &*=-#$+; ", 70 | " >,'=-#)!~", 71 | " {]^,'=/(_:", 72 | " <[[[^,}|12 ", 73 | " 3444445678 ", 74 | " 900000abcd ", 75 | " efffffghi ", 76 | " jkkkkklmn ", 77 | " joooopqr ", 78 | " jsstuv ", 79 | " waaa ", 80 | " ", 81 | " "}; 82 | -------------------------------------------------------------------------------- /icons/mini_fill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/mini_fill.png -------------------------------------------------------------------------------- /icons/mini_move.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/mini_move.png -------------------------------------------------------------------------------- /icons/mini_move.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *mini_move_xpm[] = { 3 | "16 16 51 1", 4 | " c None", 5 | ". c #409EE9", 6 | "+ c #3D9BE6", 7 | "@ c #90DCFF", 8 | "# c #3996E1", 9 | "$ c #8DD9FE", 10 | "% c #83CFFD", 11 | "& c #1574BF", 12 | "* c #8AD6FC", 13 | "= c #308AD5", 14 | "- c #85D1FB", 15 | "; c #2C84CF", 16 | "> c #80CCF8", 17 | ", c #277EC9", 18 | "' c #7DC9F7", 19 | ") c #1D78C3", 20 | "! c #6CBAE9", 21 | "~ c #72BFE9", 22 | "{ c #2277C1", 23 | "] c #79C5F5", 24 | "^ c #67B3EF", 25 | "/ c #78C4F4", 26 | "( c #71C0F1", 27 | "_ c #5EB4E7", 28 | ": c #57AFE3", 29 | "< c #48A1DB", 30 | "[ c #54ACE1", 31 | "} c #53ABE0", 32 | "| c #52AAE0", 33 | "1 c #50A9DF", 34 | "2 c #3A95D4", 35 | "3 c #61B7E6", 36 | "4 c #1C6FBA", 37 | "5 c #77C3F4", 38 | "6 c #49AEE6", 39 | "7 c #42A9E3", 40 | "8 c #1769B4", 41 | "9 c #3BB1EC", 42 | "0 c #1363AE", 43 | "a c #1262AD", 44 | "b c #2CB3F3", 45 | "c c #0D5BA6", 46 | "d c #0D5CA7", 47 | "e c #1EB6FA", 48 | "f c #0956A1", 49 | "g c #13B8FE", 50 | "h c #02B2FE", 51 | "i c #10B7FE", 52 | "j c #05519C", 53 | "k c #0CB6FF", 54 | "l c #024D98", 55 | " . ", 56 | " +@+ ", 57 | " #$%$# ", 58 | " &&&*&&& ", 59 | " = &-& = ", 60 | " ;; &>& ;; ", 61 | " ,',,,)!),,,~, ", 62 | "{]^/(_:<[}|123{ ", 63 | " 4544446444474 ", 64 | " 88 898 88 ", 65 | " 0 aba 0 ", 66 | " cddeddc ", 67 | " fghif ", 68 | " jkj ", 69 | " l ", 70 | " "}; 71 | -------------------------------------------------------------------------------- /icons/mini_paste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/mini_paste.png -------------------------------------------------------------------------------- /icons/mini_paste.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *mini_paste_xpm[] = { 3 | "16 16 74 1", 4 | " c None", 5 | ". c #A1A1A1", 6 | "+ c #A87838", 7 | "@ c #9D8A6F", 8 | "# c #969696", 9 | "$ c #FBFBFB", 10 | "% c #A67536", 11 | "& c #F7E8D0", 12 | "* c #878787", 13 | "= c #F4F4F4", 14 | "- c #E9E9E9", 15 | "; c #A37234", 16 | "> c #EBCB94", 17 | ", c #E3B567", 18 | "' c #A39170", 19 | ") c #777777", 20 | "! c #9F6E32", 21 | "~ c #E9C792", 22 | "{ c #DFB064", 23 | "] c #DFAF63", 24 | "^ c #9B692F", 25 | "/ c #E5C48F", 26 | "( c #DAAB60", 27 | "_ c #DAAA5F", 28 | ": c #B8A586", 29 | "< c #96642B", 30 | "[ c #E2BF8D", 31 | "} c #D5A55C", 32 | "| c #D5A45B", 33 | "1 c #9C9C9C", 34 | "2 c #FDFDFD", 35 | "3 c #C2C2C2", 36 | "4 c #915F28", 37 | "5 c #DEBB89", 38 | "6 c #D09F57", 39 | "7 c #D09E56", 40 | "8 c #959595", 41 | "9 c #EBEBEB", 42 | "0 c #EAEAEA", 43 | "a c #8D5925", 44 | "b c #DAB686", 45 | "c c #CA9852", 46 | "d c #CA9751", 47 | "e c #8D8D8D", 48 | "f c #EDEDED", 49 | "g c #885321", 50 | "h c #D6B283", 51 | "i c #C4924E", 52 | "j c #C4914D", 53 | "k c #858585", 54 | "l c #EEEEEE", 55 | "m c #834E1E", 56 | "n c #D2AE7F", 57 | "o c #BF8C49", 58 | "p c #BE8B48", 59 | "q c #7B7B7B", 60 | "r c #7E491A", 61 | "s c #CEAA7C", 62 | "t c #BA8645", 63 | "u c #B98544", 64 | "v c #727272", 65 | "w c #EFEFEF", 66 | "x c #7A4417", 67 | "y c #CBA67A", 68 | "z c #B58141", 69 | "A c #686868", 70 | "B c #F0F0F0", 71 | "C c #764015", 72 | "D c #C8A378", 73 | "E c #606060", 74 | "F c #F1F1F1", 75 | "G c #733D13", 76 | "H c #585858", 77 | "I c #515151", 78 | " .... ", 79 | "+++@#$$#@+++ ", 80 | "%&&*=--=*&&% ", 81 | ";>,'))))',>; ", 82 | "!~{]]]]]]{~! ", 83 | "^/(___:....... ", 84 | "<[}|||122222213 ", 85 | "4567778290--2888", 86 | "abcddde2f90-222e", 87 | "ghijjjk2lf90--2k", 88 | "mnopppq2llf90-2q", 89 | "rstuuuv2wllf902v", 90 | "xyzzzzA2Bwllf92A", 91 | "CDDDDDE2FBwllf2E", 92 | "GGGGGGH22222222H", 93 | " IIIIIIIIII"}; 94 | -------------------------------------------------------------------------------- /icons/mini_randomize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/mini_randomize.png -------------------------------------------------------------------------------- /icons/mini_randomize.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *mini_randomize_xpm[] = { 3 | "16 16 7 1", 4 | " c None", 5 | ". c #000000", 6 | "+ c #E1EBFF", 7 | "@ c #001540", 8 | "# c #C1D5FF", 9 | "$ c #A1BFFF", 10 | "% c #81AAFF", 11 | " .. ", 12 | " .++++. ", 13 | " .++++++++. ", 14 | " .++++++.+++++. ", 15 | ".+++++++@+++++#.", 16 | ".###++++++++#$$.", 17 | ".#####++++#$%@$.", 18 | ".######+#$%%%@$.", 19 | ".#####@#$@%%%%$.", 20 | ".###@#@#$@%@%%$.", 21 | ".#@#@###$%%@%@$.", 22 | ".#@#####$%%%%@$.", 23 | " .######$@%%%%. ", 24 | " .####$@%%. ", 25 | " .##$%. ", 26 | " .. "}; 27 | -------------------------------------------------------------------------------- /icons/mini_remote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/mini_remote.png -------------------------------------------------------------------------------- /icons/mini_replace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/mini_replace.png -------------------------------------------------------------------------------- /icons/mini_rotate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/mini_rotate.png -------------------------------------------------------------------------------- /icons/mini_select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/mini_select.png -------------------------------------------------------------------------------- /icons/mini_select.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *mini_select_xpm[] = { 3 | "16 16 14 1", 4 | " c None", 5 | ". c #8AA4F1", 6 | "+ c #6587ED", 7 | "@ c #C2CFF8", 8 | "# c #5D7FE4", 9 | "$ c #4567CC", 10 | "% c #395BBE", 11 | "& c #2648AC", 12 | "* c #2244AB", 13 | "= c #2749B8", 14 | "- c #2D4FC5", 15 | "; c #3C5EDF", 16 | "> c #5C70C0", 17 | ", c #4163E9", 18 | " ", 19 | " .+@++@++@++@+. ", 20 | " #@@@@@@@@@@@@# ", 21 | " @@@@@@@@@@@@@@ ", 22 | " $@@@@@@@@@@@@$ ", 23 | " %@@@@@@@@@@@@% ", 24 | " @@@@@@@@@@@@@@ ", 25 | " &@@@@@@@@@@@@& ", 26 | " *@@@@@@@@@@@@* ", 27 | " @@@@@@@@@@@@@@ ", 28 | " =@@@@@@@@@@@@= ", 29 | " -@@@@@@@@@@@@- ", 30 | " @@@@@@@@@@@@@@ ", 31 | " ;@@@@@@@@@@@@; ", 32 | " >,@,,@,,@,,@,> ", 33 | " "}; 34 | -------------------------------------------------------------------------------- /icons/mini_switch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/mini_switch.png -------------------------------------------------------------------------------- /icons/mini_unselect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/mini_unselect.png -------------------------------------------------------------------------------- /icons/mini_unselect.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *mini_unselect_xpm[] = { 3 | "16 16 14 1", 4 | " c None", 5 | ". c #F1AF8A", 6 | "+ c #ED9665", 7 | "@ c #F8D6C2", 8 | "# c #E48E5D", 9 | "$ c #CC7645", 10 | "% c #BE6939", 11 | "& c #AC5626", 12 | "* c #AB5422", 13 | "= c #B85E27", 14 | "- c #C5682D", 15 | "; c #DF7E3C", 16 | "> c #C0855C", 17 | ", c #E98641", 18 | " ", 19 | " .+@++@++@++@+. ", 20 | " #@@@@@@@@@@@@# ", 21 | " @@@@@@@@@@@@@@ ", 22 | " $@@@@@@@@@@@@$ ", 23 | " %@@@@@@@@@@@@% ", 24 | " @@@@@@@@@@@@@@ ", 25 | " &@@@@@@@@@@@@& ", 26 | " *@@@@@@@@@@@@* ", 27 | " @@@@@@@@@@@@@@ ", 28 | " =@@@@@@@@@@@@= ", 29 | " -@@@@@@@@@@@@- ", 30 | " @@@@@@@@@@@@@@ ", 31 | " ;@@@@@@@@@@@@; ", 32 | " >,@,,@,,@,,@,> ", 33 | " "}; 34 | -------------------------------------------------------------------------------- /icons/monsters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/monsters.png -------------------------------------------------------------------------------- /icons/moveable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/moveable.png -------------------------------------------------------------------------------- /icons/moveable.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *moveable_xpm[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 5 1 ", 5 | " c #010101", 6 | ". c gray2", 7 | "X c magenta", 8 | "o c #FBFBFB", 9 | "O c white", 10 | /* pixels */ 11 | "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", 12 | "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", 13 | "XXXXXXXXXXXXXXXX XXXXXXXXXXXXXX", 14 | "XXXXXXXXXXXXXX OO .XXXXXXXXXXX", 15 | "XXXXXXXXXXX OOOOOO XXXXXXXXX", 16 | "XXXXXXXXXX OOOOOOOOOOOO XXXXXXXX", 17 | "XXXXXXXXXX OOOOOOOO XXXXXXXX", 18 | "XXXXXXXXXX OO OOOO Oo XXXXXXXX", 19 | "XXXXXXXXXX OOOO OOOO XXXXXXXX", 20 | "XXXXXXXXXX OOOOOO OOOOO XXXXXXXX", 21 | "XXXXXXXXXX OOOOOO OOOOO XXXXXXXX", 22 | "XXXXXXXXXX OOOOOO OOOOO XXXXXXXX", 23 | "XXXXXXXXXX OOOOOO OOOOO XXXXXXXX", 24 | "XXXXXXXXXXX OOOO OOO XXXXXXXXX", 25 | "XXXXXXXXXXXXX OO O XXXXXXXXXXX", 26 | "XXXXXXXXXXXXXXX XXXXXXXXXXXXX", 27 | "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", 28 | "XXXXXXXXXXXXX XXXXXXXXXXXXXXXXXX", 29 | "XXXXXXXXXXXX O XXXXXXXXXXXXXXXXX", 30 | "XXXXXXXXXXX OOO XXXXXXXXXXXXXXXX", 31 | "XXXXXXXXXXX O XXXXXXXXXXXXXXXX", 32 | "XXXXXXXXX XX O XX XXXXXXXXXXXXXX", 33 | "XXXXXXXX O OOO O XXXXXXXXXXXXX", 34 | "XXXXXXX OOOOOOOOOOO XXXXXXXXXXXX", 35 | "XXXXXXXX O OOO O XXXXXXXXXXXXX", 36 | "XXXXXXXXX XX O XX XXXXXXXXXXXXXX", 37 | "XXXXXXXXXXXX O XXXXXXXXXXXXXXXXX", 38 | "XXXXXXXXXXX OOO XXXXXXXXXXXXXXXX", 39 | "XXXXXXXXXXXX O XXXXXXXXXXXXXXXXX", 40 | "XXXXXXXXXXXXX XXXXXXXXXXXXXXXXXX", 41 | "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", 42 | "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 43 | }; 44 | -------------------------------------------------------------------------------- /icons/nologout_zone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/nologout_zone.png -------------------------------------------------------------------------------- /icons/nopvp_zone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/nopvp_zone.png -------------------------------------------------------------------------------- /icons/npcs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/npcs.png -------------------------------------------------------------------------------- /icons/pickupable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/pickupable.png -------------------------------------------------------------------------------- /icons/pickupable.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *pickupable_xpm[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 6 1 ", 5 | " c #010101", 6 | ". c gray1", 7 | "X c #040404", 8 | "o c magenta", 9 | "O c #FBFBFB", 10 | "+ c #FEFEFE", 11 | /* pixels */ 12 | "oooooooooooooooooooooooooooooooo", 13 | "oooooooooooooooooooooooooooooooo", 14 | "ooooooooooooooooooo ooooooooooo", 15 | "ooooooooooooooooo ++ Xoooooooo", 16 | "ooooooooooooooX ++++++ Xoooooo", 17 | "ooooooooooooo ++++++++++++ ooooo", 18 | "ooooooooooooo ++++++++ ooooo", 19 | "ooooooooooooo ++ ++++ +O ooooo", 20 | "ooooooooooooo ++++ ++++ ooooo", 21 | "ooooooooooooo ++++++ +++++ ooooo", 22 | "ooooooooooooo ++++++ +++++ ooooo", 23 | "ooooooooooooo ++++++ +++++ ooooo", 24 | "ooooooooooooo ++++++ +++++ ooooo", 25 | "oooooooooooooo ++++ +++ oooooo", 26 | "oooooooooooooooo ++ + oooooooo", 27 | "oooooooooooooooooo ooooo ooo", 28 | "oooooooooo ooooooooooo ++ oo", 29 | "ooooooooo +++++ ooo +++ oo", 30 | "oooooooo +++++++++++++ X +++ ooo", 31 | "ooooo ++++++++++++++ ++++ oooo", 32 | "oooo ++ +++++++X ++++ ooooo", 33 | "ooo ++++ +++++++++++++++ oooooo", 34 | "oo ++++++ +++++++++++++ ooooooo", 35 | "oooX++++++ +X oooooooo", 36 | "oooo O++++O oooooooooooooooooo", 37 | "ooooo ++++++ ooooooooooooooooooo", 38 | "oooooo +++++Xooooooooooooooooooo", 39 | "ooooooo +++ oooooooooooooooooooo", 40 | "oooooooo + ooooooooooooooooooooo", 41 | "ooooooooo oooooooooooooooooooooo", 42 | "oooooooooooooooooooooooooooooooo", 43 | "oooooooooooooooooooooooooooooooo" 44 | }; 45 | -------------------------------------------------------------------------------- /icons/pickupable_moveable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/pickupable_moveable.png -------------------------------------------------------------------------------- /icons/pickupable_moveable.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *pickupable_moveable_xpm[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 6 1 ", 5 | " c #010101", 6 | ". c gray1", 7 | "X c #040404", 8 | "o c magenta", 9 | "O c #FBFBFB", 10 | "+ c white", 11 | /* pixels */ 12 | "oooooooooooooooooooooooooooooooo", 13 | "oooooooooooooooooooooooooooooooo", 14 | "oooooooooooooooooooooo oooooooo", 15 | "oooooooo ooooooooooo ++ Xooooo", 16 | "ooooooo + ooooooo ++++++ Xooo", 17 | "oooooo +++ ooooo ++++++++++++ oo", 18 | "oooooo + ooooo +++++++O oo", 19 | "oooo oo + oo ooo ++ ++++ +O oo", 20 | "ooo + +++ + oo ++++ ++++ oo", 21 | "oo +++++++++++ o ++++++ +++++ oo", 22 | "ooo + +++ + oo ++++++ +++++ oo", 23 | "oooo oo + oo ooo ++++++ +++++ oo", 24 | "ooooooo + oooooo ++++++ +++++ oo", 25 | "oooooo +++ oooooo ++++ +++ ooo", 26 | "ooooooo + ooooooooo ++ + ooooo", 27 | "oooooooo oooooooooooo ooooooo", 28 | "ooooooooooooooooooooooooooo ooo", 29 | "oooooooooo ooooooooooo ++ oo", 30 | "ooooooooo +O+++ ooo +++ oo", 31 | "oooooooo +++++++++++++ X +++ ooo", 32 | "ooooo ++++++++++++++ ++++ oooo", 33 | "oooo ++ O++++++ ++++ ooooo", 34 | "ooo ++++ +++++++++++++++ oooooo", 35 | "oo ++++++ +++++++++++++ ooooooo", 36 | "ooo ++++++ + oooooooo", 37 | "oooo O++++O oooooooooooooooooo", 38 | "ooooo ++++++ ooooooooooooooooooo", 39 | "oooooo +++++Xooooooooooooooooooo", 40 | "ooooooo +++ oooooooooooooooooooo", 41 | "oooooooo + ooooooooooooooooooooo", 42 | "ooooooooo oooooooooooooooooooooo", 43 | "oooooooooooooooooooooooooooooooo" 44 | }; 45 | -------------------------------------------------------------------------------- /icons/position_go.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/position_go.png -------------------------------------------------------------------------------- /icons/position_go.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *position_go_xpm[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 50 1 ", 5 | " c #1F7B00", 6 | ". c #1E7B03", 7 | "X c #1F7D00", 8 | "o c #217D00", 9 | "O c #257F00", 10 | "+ c #2B8301", 11 | "@ c #358707", 12 | "# c #3B8B0F", 13 | "$ c #438F15", 14 | "% c #458F17", 15 | "& c #49911B", 16 | "* c #519721", 17 | "= c #579828", 18 | "- c #5B9B29", 19 | "; c #5E9F3A", 20 | ": c #619D2F", 21 | "> c #639F31", 22 | ", c #659F31", 23 | "< c #5CA03C", 24 | "1 c #67A133", 25 | "2 c #6BA337", 26 | "3 c #6DA337", 27 | "4 c #6FA53D", 28 | "5 c #5FA143", 29 | "6 c #62A346", 30 | "7 c #68A546", 31 | "8 c #66A548", 32 | "9 c #74AB4F", 33 | "0 c #7CAF55", 34 | "q c #81B35A", 35 | "w c #80B361", 36 | "e c #82B567", 37 | "r c #85B666", 38 | "t c #85B66A", 39 | "y c #89B86B", 40 | "u c #8EBA6F", 41 | "i c #90BC74", 42 | "p c #96C180", 43 | "a c #97C282", 44 | "s c #98C283", 45 | "d c #9EC588", 46 | "f c #A1C68A", 47 | "g c #A1C78A", 48 | "h c #A5C88D", 49 | "j c #A9CA90", 50 | "k c #A8CB90", 51 | "l c #AACB91", 52 | "z c #ADCD94", 53 | "x c #B0CE96", 54 | "c c None", 55 | /* pixels */ 56 | "cccccccccccccccc", 57 | "cccccccccccccccc", 58 | "cccccccccccccccc", 59 | "cccccccccccccccc", 60 | "ccccccc2,ccccccc", 61 | "ccccccc>q=cccccc", 62 | "ccc431:0l9%ccccc", 63 | "ccc2xzllig7@cccc", 64 | "ccc>zuytwes c #2F82A2", 22 | ", c #3485A3", 23 | "< c #3787A4", 24 | "1 c #3D8BA5", 25 | "2 c #418DA6", 26 | "3 c #438EA6", 27 | "4 c #4B93A8", 28 | "5 c #4E95A9", 29 | "6 c #599BAB", 30 | "7 c #5A9CAB", 31 | "8 c #66A3AD", 32 | "9 c #72AAB0", 33 | "0 c None", 34 | /* pixels */ 35 | "0000000000000000", 36 | "0000000000000000", 37 | "0000000000000000", 38 | "000 000", 39 | "000 o@ 000", 40 | "000 X+%= 000", 41 | "000 o@*-> 000", 42 | "000 o$-;,1 000", 43 | "000 X@*;,24 000", 44 | "000 +*;,256 000", 45 | "000 O%-,2578 000", 46 | "000 +->15689 000", 47 | "000 000", 48 | "0000000000000000", 49 | "0000000000000000", 50 | "0000000000000000" 51 | }; 52 | -------------------------------------------------------------------------------- /icons/rectangular_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/rectangular_6.png -------------------------------------------------------------------------------- /icons/rectangular_6.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *rectangular_6_xpm[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 48 1 ", 5 | " c #006699", 6 | ". c #016699", 7 | "X c #016799", 8 | "o c #05699A", 9 | "O c #086B9B", 10 | "+ c #096B9B", 11 | "@ c #0F6F9C", 12 | "# c #11709C", 13 | "$ c #12719D", 14 | "% c #14729D", 15 | "& c #17749E", 16 | "* c #18749E", 17 | "= c #1D779F", 18 | "- c #1F799F", 19 | "; c #20799F", 20 | ": c #267DA1", 21 | "> c #277DA1", 22 | ", c #2A7FA1", 23 | "< c #2B80A2", 24 | "1 c #2D81A2", 25 | "2 c #2F82A2", 26 | "3 c #3485A3", 27 | "4 c #3686A4", 28 | "5 c #3787A4", 29 | "6 c #3C8AA5", 30 | "7 c #3D8BA5", 31 | "8 c #418DA6", 32 | "9 c #438EA6", 33 | "0 c #458FA7", 34 | "q c #4B93A8", 35 | "w c #4C94A8", 36 | "e c #4E95A9", 37 | "r c #5498AA", 38 | "t c #599BAB", 39 | "y c #5A9CAB", 40 | "u c #5B9DAB", 41 | "i c #62A1AD", 42 | "p c #66A3AD", 43 | "a c #6AA6AE", 44 | "s c #70A9AF", 45 | "d c #72AAB0", 46 | "f c #79AFB1", 47 | "g c #7DB1B2", 48 | "h c #87B7B4", 49 | "j c #8AB9B5", 50 | "k c #95BFB7", 51 | "l c #A1C7B9", 52 | "z c None", 53 | /* pixels */ 54 | "zzzzzzzzzzzzzzzz", 55 | "zzzzzzzzzzzzzzzz", 56 | "zz zz", 57 | "zz +$&= zz", 58 | "zz o$*;>1 zz", 59 | "zz O$=>156 zz", 60 | "zz O%-,360w zz", 61 | "zz o$-<48qru zz", 62 | "zz @=,58wtia zz", 63 | "zz O%>48wupsf zz", 64 | "zz #;36wupdgh zz", 65 | "zz %:40ridgjk zz", 66 | "zz =36qtafhkl zz", 67 | "zz ... zz", 68 | "zzzzzzzzzzzzzzzz", 69 | "zzzzzzzzzzzzzzzz" 70 | }; 71 | -------------------------------------------------------------------------------- /icons/rectangular_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/rectangular_7.png -------------------------------------------------------------------------------- /icons/rectangular_7.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *rectangular_7_xpm[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 68 1 ", 5 | " c #006699", 6 | ". c #016699", 7 | "X c #016799", 8 | "o c #05699A", 9 | "O c #086B9B", 10 | "+ c #096B9B", 11 | "@ c #0F6F9C", 12 | "# c #11709C", 13 | "$ c #12719D", 14 | "% c #14729D", 15 | "& c #17749E", 16 | "* c #18749E", 17 | "= c #1D779F", 18 | "- c #1F799F", 19 | "; c #20799F", 20 | ": c #217AA0", 21 | "> c #247CA0", 22 | ", c #267DA1", 23 | "< c #277DA1", 24 | "1 c #2A7FA1", 25 | "2 c #2B80A2", 26 | "3 c #2D81A2", 27 | "4 c #2F82A2", 28 | "5 c #3183A3", 29 | "6 c #3485A3", 30 | "7 c #3586A4", 31 | "8 c #3686A4", 32 | "9 c #3787A4", 33 | "0 c #3C8AA5", 34 | "q c #3D8BA5", 35 | "w c #418DA6", 36 | "e c #438EA6", 37 | "r c #458FA7", 38 | "t c #4B93A8", 39 | "y c #4C94A8", 40 | "u c #4E95A9", 41 | "i c #5197A9", 42 | "p c #5498AA", 43 | "a c #5599AA", 44 | "s c #599BAB", 45 | "d c #5A9CAB", 46 | "f c #5B9DAB", 47 | "g c #61A0AC", 48 | "h c #62A1AD", 49 | "j c #66A3AD", 50 | "k c #6AA6AE", 51 | "l c #70A9AF", 52 | "z c #71AAB0", 53 | "x c #72AAB0", 54 | "c c #76ADB1", 55 | "v c #79AFB1", 56 | "b c #7DB1B2", 57 | "n c #80B3B3", 58 | "m c #86B6B4", 59 | "M c #87B7B4", 60 | "N c #8AB9B5", 61 | "B c #90BCB6", 62 | "V c #95BFB7", 63 | "C c #96C0B7", 64 | "Z c #9EC5B9", 65 | "A c #A1C7B9", 66 | "S c #A6CABA", 67 | "D c #ACCDBB", 68 | "F c #B5D3BD", 69 | "G c #B9D5BE", 70 | "H c #C3DBC0", 71 | "J c #D0E3C3", 72 | "K c None", 73 | /* pixels */ 74 | "KKKKKKKKKKKKKKKK", 75 | "K K", 76 | "K +#&=:: K", 77 | "K o#*:,359 K", 78 | "K O#=,390er K", 79 | "K O%-190ryia K", 80 | "K o#-29etafgj K", 81 | "K #=29eyagkzc K", 82 | "K O*,9eyfjzvnm K", 83 | "K #:30tdjzbMBV K", 84 | "K *,9rpgzbNVAS K", 85 | "K =30tfkvMVADF.K", 86 | "K :5eigznBZDGH K", 87 | "K :9rajcmCSGHJ K", 88 | "K ... K", 89 | "KKKKKKKKKKKKKKKK" 90 | }; 91 | -------------------------------------------------------------------------------- /icons/toolbar_hooks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/toolbar_hooks.png -------------------------------------------------------------------------------- /icons/toolbar_hooks.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *toolbar_hooks_xpm[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 3 1 ", 5 | " c None", 6 | ". c black", 7 | "X c white", 8 | /* pixels */ 9 | " ......... ", 10 | " .XXXXXXX. ", 11 | " .XXXXXXX. ", 12 | " .XX...XX. ", 13 | " .XXX.XXX. ", 14 | " .XXXXX. ", 15 | " .XXX. ", 16 | " .XXXX. ", 17 | " .XXXX. ", 18 | " .. ..XXX. ", 19 | " .XX. .XXX. ", 20 | " .XXX...XXX. ", 21 | " .XXXXXXXX. ", 22 | " .XXXXXXX. ", 23 | " .XXXXX. ", 24 | " ..... " 25 | }; 26 | -------------------------------------------------------------------------------- /icons/toolbar_moveables.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/toolbar_moveables.png -------------------------------------------------------------------------------- /icons/toolbar_moveables.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *toolbar_moveable_xpm[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 3 1 ", 5 | " c None", 6 | ". c black", 7 | "X c white", 8 | /* pixels */ 9 | " . ", 10 | " .X. ", 11 | " .XXX. ", 12 | " .XXXXX. ", 13 | " .X.XXX.X. ", 14 | " .XX.X.XX. ", 15 | " .X.XX.XX. ", 16 | " .XXX.X.X. ", 17 | " . .X. .X. ", 18 | " .X..X..X. ", 19 | " .XXXXXXXXX. ", 20 | " .X..X..X. ", 21 | " . .X. . ", 22 | " .XXX. ", 23 | " .X. ", 24 | " . " 25 | }; 26 | -------------------------------------------------------------------------------- /icons/toolbar_pickupables.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/icons/toolbar_pickupables.png -------------------------------------------------------------------------------- /icons/toolbar_pickupables.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static const char *toolbar_pickupables_xpm[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 9 1 ", 5 | " c None", 6 | ". c black", 7 | "X c #010101", 8 | "o c #040404", 9 | "O c gray2", 10 | "+ c #FBFBFB", 11 | "@ c #FDFDFD", 12 | "# c #FEFEFE", 13 | "$ c white", 14 | /* pixels */ 15 | " . ", 16 | " .$. ", 17 | " .$$$. ", 18 | " .$$$$$. ", 19 | " .$.$$$.$. ", 20 | " .$$.$.$$. ", 21 | " .$$.$$. ", 22 | " .$.$. . ", 23 | " ........ .$.", 24 | " ..$$$$$$$.o$$.", 25 | " .$.+$$$o..$$$. ", 26 | ".$$$.$$$$$$$$. ", 27 | " .$$$.o...... ", 28 | " .$$$. ", 29 | " .$. ", 30 | " . " 31 | }; 32 | -------------------------------------------------------------------------------- /remeres.exe.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /rme_icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/rme_icon.ico -------------------------------------------------------------------------------- /source/about_window.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #ifndef RME_ABOUT_WINDOW_H_ 19 | #define RME_ABOUT_WINDOW_H_ 20 | 21 | #include "main.h" 22 | 23 | class GamePanel; 24 | 25 | class AboutWindow : public wxDialog { 26 | public: 27 | AboutWindow(wxWindow* parent); 28 | ~AboutWindow(); 29 | 30 | void OnClickOK(wxCommandEvent &); 31 | void OnClickLicense(wxCommandEvent &); 32 | 33 | void OnTetris(wxCommandEvent &); 34 | void OnSnake(wxCommandEvent &); 35 | 36 | private: 37 | wxSizer* topsizer; 38 | GamePanel* game_panel; 39 | 40 | DECLARE_EVENT_TABLE() 41 | }; 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /source/add_item_window.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #ifndef RME_ADD_ITEM_WINDOW_H_ 19 | #define RME_ADD_ITEM_WINDOW_H_ 20 | 21 | #include "main.h" 22 | 23 | #include "common_windows.h" 24 | 25 | class ContainerItemButton; 26 | class ContainerItemPopupMenu; 27 | 28 | class AddItemWindow : public ObjectPropertiesWindowBase { 29 | public: 30 | AddItemWindow(wxWindow* parent, TilesetCategoryType categoryType, Tileset* tilesetItem, wxPoint = wxDefaultPosition); 31 | 32 | void OnItemClicked(wxMouseEvent &event); 33 | void SetItemIdToItemButton(uint16_t id); 34 | void OnChangeItemId(wxCommandEvent &WXUNUSED(event)); 35 | 36 | void OnClickOK(wxCommandEvent &); 37 | void OnClickCancel(wxCommandEvent &); 38 | 39 | protected: 40 | int item_id; 41 | 42 | wxSpinCtrl* item_id_field; 43 | wxStaticText* item_id_label; 44 | wxStaticText* item_name_label; 45 | DCButton* item_button; 46 | 47 | TilesetCategoryType category_type; 48 | Tileset* tileset_item; 49 | 50 | DECLARE_EVENT_TABLE(); 51 | }; 52 | 53 | #endif 54 | -------------------------------------------------------------------------------- /source/add_tileset_window.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #ifndef RME_ADD_TILESET_WINDOW_H_ 19 | #define RME_ADD_TILESET_WINDOW_H_ 20 | 21 | #include "main.h" 22 | 23 | #include "common_windows.h" 24 | 25 | class ContainerItemButton; 26 | class ContainerItemPopupMenu; 27 | 28 | class AddTilesetWindow : public ObjectPropertiesWindowBase { 29 | public: 30 | AddTilesetWindow(wxWindow* parent, TilesetCategoryType categoryType, wxPoint = wxDefaultPosition); 31 | 32 | void OnItemClicked(wxMouseEvent &event); 33 | void SetItemIdToItemButton(uint16_t id); 34 | void OnChangeItemId(wxCommandEvent &WXUNUSED(event)); 35 | 36 | void OnClickOK(wxCommandEvent &); 37 | void OnClickCancel(wxCommandEvent &); 38 | 39 | private: 40 | wxTextCtrl* tileset_name_field; 41 | wxSpinCtrl* item_id_field; 42 | 43 | wxStaticText* item_id_label; 44 | wxStaticText* item_name_label; 45 | 46 | TilesetCategoryType category_type; 47 | DCButton* item_button; 48 | 49 | DECLARE_EVENT_TABLE(); 50 | }; 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /source/copybuffer.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #ifndef RME_COPYBUFFER_H_ 19 | #define RME_COPYBUFFER_H_ 20 | 21 | #include "position.h" 22 | #include "basemap.h" 23 | 24 | class Editor; 25 | 26 | class CopyBuffer { 27 | public: 28 | CopyBuffer(); 29 | virtual ~CopyBuffer(); 30 | 31 | // In-editor implantation 32 | void copy(Editor &editor, int floor); 33 | void cut(Editor &editor, int floor); 34 | void paste(Editor &editor, const Position &toPosition); 35 | bool canPaste() const; 36 | // Returns the upper-left corner of the copybuffer 37 | Position getPosition() const; 38 | 39 | // Clears the copybuffer (eg. resets it) 40 | void clear(); 41 | 42 | size_t GetTileCount(); 43 | 44 | BaseMap &getBufferMap(); 45 | 46 | private: 47 | Position copyPos; 48 | BaseMap* tiles; 49 | }; 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /source/dat_debug_view.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #ifndef RME_DAT_DEBUG_VIEW_H_ 19 | #define RME_DAT_DEBUG_VIEW_H_ 20 | 21 | class DatDebugViewListBox; 22 | 23 | class DatDebugView : public wxPanel { 24 | public: 25 | DatDebugView(wxWindow* parent); 26 | ~DatDebugView(); 27 | 28 | void OnTextChange(wxCommandEvent &); 29 | void OnClickList(wxCommandEvent &); 30 | 31 | protected: 32 | DatDebugViewListBox* item_list; 33 | wxTextCtrl* search_field; 34 | 35 | DECLARE_EVENT_TABLE() 36 | }; 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /source/dcbutton.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #ifndef RME_DC_BUTTON_H 19 | #define RME_DC_BUTTON_H 20 | 21 | class Sprite; 22 | class GameSprite; 23 | class EditorSprite; 24 | 25 | enum { 26 | DC_BTN_NORMAL, 27 | DC_BTN_TOGGLE, 28 | }; 29 | 30 | enum RenderSize { 31 | RENDER_SIZE_16x16, 32 | RENDER_SIZE_32x32, 33 | RENDER_SIZE_64x64, 34 | }; 35 | 36 | class DCButton : public wxPanel { 37 | public: 38 | DCButton(); 39 | DCButton(wxWindow* parent, wxWindowID id, wxPoint pos, int type, RenderSize sz, int sprite_id); 40 | virtual ~DCButton(); 41 | 42 | void SetValue(bool val); 43 | bool GetValue() const; 44 | 45 | void SetSprite(int id); 46 | 47 | void OnPaint(wxPaintEvent &); 48 | void OnClick(wxMouseEvent &); 49 | 50 | protected: 51 | void SetOverlay(Sprite* espr); 52 | 53 | int type; 54 | bool state; // pressed/unpressed 55 | RenderSize size; 56 | Sprite* sprite; 57 | Sprite* overlay; 58 | 59 | DECLARE_DYNAMIC_CLASS(DCButton) 60 | DECLARE_EVENT_TABLE() 61 | }; 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /source/enums.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #ifndef RME_ENUMS_H 19 | #define RME_ENUMS_H 20 | 21 | enum Direction { 22 | NORTH = 0, 23 | EAST = 1, 24 | SOUTH = 2, 25 | WEST = 3, 26 | 27 | DIRECTION_FIRST = NORTH, 28 | DIRECTION_LAST = WEST 29 | }; 30 | 31 | enum Item_t : uint16_t { 32 | ITEM_STAIRS = 469, 33 | ITEM_NOTHING_SPECIAL = 470, 34 | 35 | ITEM_FIRST = ITEM_STAIRS, 36 | ITEM_LAST = ITEM_NOTHING_SPECIAL 37 | }; 38 | 39 | IMPLEMENT_INCREMENT_OP(Direction) 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /source/house_exit_brush.cpp: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #include "main.h" 19 | 20 | #include "house_exit_brush.h" 21 | #include "house.h" 22 | #include "basemap.h" 23 | 24 | //============================================================================= 25 | // House Exit Brush 26 | 27 | HouseExitBrush::HouseExitBrush() : 28 | Brush(), 29 | draw_house(0) { 30 | //// 31 | } 32 | 33 | HouseExitBrush::~HouseExitBrush() { 34 | //// 35 | } 36 | 37 | void HouseExitBrush::setHouse(House* house) { 38 | draw_house = house->id; 39 | } 40 | 41 | uint32_t HouseExitBrush::getHouseID() const { 42 | return draw_house; 43 | } 44 | 45 | bool HouseExitBrush::canDraw(BaseMap* map, const Position &position) const { 46 | Tile* tile = map->getTile(position); 47 | if (!tile || !tile->hasGround()) { 48 | return false; 49 | } 50 | if (tile->isHouseTile() || tile->isBlocking()) { 51 | return false; 52 | } 53 | return true; 54 | } 55 | 56 | void HouseExitBrush::undraw(BaseMap* map, Tile* tile) { 57 | // Never called 58 | ASSERT(false); 59 | } 60 | 61 | void HouseExitBrush::draw(BaseMap* map, Tile* tile, void* parameter) { 62 | // Never called 63 | ASSERT(false); 64 | } 65 | -------------------------------------------------------------------------------- /source/iomap.cpp: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #include "main.h" 19 | #include "gui.h" 20 | 21 | void IOMap::error(const wxString format, ...) { 22 | va_list argp; 23 | va_start(argp, format); 24 | errorstr.PrintfV(format, argp); 25 | va_end(argp); 26 | }; 27 | 28 | void IOMap::warning(const wxString format, ...) { 29 | wxString s; 30 | va_list argp; 31 | va_start(argp, format); 32 | s.PrintfV(format, argp); 33 | va_end(argp); 34 | warnings.push_back(s); 35 | }; 36 | 37 | bool IOMap::queryUser(const wxString &title, const wxString &text) { 38 | return g_gui.PopupDialog(title, text, wxYES | wxNO) == wxID_YES; 39 | } 40 | -------------------------------------------------------------------------------- /source/live_packets.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #ifndef LIVE_PACKETS_H 19 | #define LIVE_PACKETS_H 20 | 21 | enum LivePacketType { 22 | PACKET_HELLO_FROM_CLIENT = 0x10, 23 | PACKET_READY_CLIENT = 0x11, 24 | 25 | PACKET_REQUEST_NODES = 0x20, 26 | PACKET_CHANGE_LIST = 0x21, 27 | PACKET_ADD_HOUSE = 0x23, 28 | PACKET_EDIT_HOUSE = 0x24, 29 | PACKET_REMOVE_HOUSE = 0x25, 30 | 31 | PACKET_CLIENT_TALK = 0x30, 32 | PACKET_CLIENT_UPDATE_CURSOR = 0x31, 33 | 34 | PACKET_HELLO_FROM_SERVER = 0x80, 35 | PACKET_KICK = 0x81, 36 | PACKET_ACCEPTED_CLIENT = 0x82, 37 | PACKET_CHANGE_CLIENT_VERSION = 0x83, 38 | PACKET_SERVER_TALK = 0x84, 39 | 40 | PACKET_NODE = 0x90, 41 | PACKET_CURSOR_UPDATE = 0x91, 42 | PACKET_START_OPERATION = 0x92, 43 | PACKET_UPDATE_OPERATION = 0x93, 44 | PACKET_CHAT_MESSAGE = 0x94, 45 | }; 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /source/map_allocator.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #ifndef RME_MAP_ALLOCATOR_H 19 | #define RME_MAP_ALLOCATOR_H 20 | 21 | #include "tile.h" 22 | #include "map_region.h" 23 | 24 | class BaseMap; 25 | 26 | class MapAllocator { 27 | 28 | public: 29 | MapAllocator() { } 30 | ~MapAllocator() { } 31 | 32 | // shorthands for tiles 33 | Tile* operator()(TileLocation* location) { 34 | return allocateTile(location); 35 | } 36 | // free 37 | void operator()(Tile* t) { 38 | freeTile(t); 39 | } 40 | 41 | // 42 | Tile* allocateTile(TileLocation* location) { 43 | return newd Tile(*location); 44 | } 45 | void freeTile(Tile* t) { 46 | delete t; 47 | } 48 | 49 | // 50 | Floor* allocateFloor(int x, int y, int z) { 51 | return newd Floor(x, y, z); 52 | } 53 | void freeFloor(Floor* f) { 54 | delete f; 55 | } 56 | 57 | // 58 | QTreeNode* allocateNode(BaseMap &map) { 59 | return newd QTreeNode(map); 60 | } 61 | void freeNode(QTreeNode* qt) { 62 | delete qt; 63 | } 64 | }; 65 | 66 | #endif 67 | -------------------------------------------------------------------------------- /source/map_tab.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #ifndef RME_MAP_TAB_H_ 19 | #define RME_MAP_TAB_H_ 20 | 21 | #include "editor_tabs.h" 22 | #include "application.h" 23 | #include "map_window.h" 24 | 25 | class MapTab : public EditorTab, public MapWindow { 26 | public: 27 | MapTab(MapTabbook* aui, Editor* editor); 28 | // Constructs a newd window, but it uses the same internal editor as 'other' 29 | // AND the same parent, aui_notebook etc. 30 | MapTab(const MapTab* other); 31 | ~MapTab(); 32 | 33 | bool IsUniqueReference() const; 34 | bool HasSameReference(MapTab* other) const; 35 | 36 | // Properties 37 | MapWindow* GetView() const; 38 | MapCanvas* GetCanvas() const; 39 | wxWindow* GetWindow() const; 40 | wxString GetTitle() const; 41 | Editor* GetEditor() const; 42 | Map* GetMap() const; 43 | 44 | void VisibilityCheck(); 45 | 46 | // Event handlers 47 | void OnSwitchEditorMode(EditorMode mode); 48 | 49 | protected: 50 | struct InternalReference { 51 | Editor* editor; 52 | int owner_count; 53 | }; 54 | MapTabbook* aui; 55 | InternalReference* iref; 56 | }; 57 | 58 | inline bool MapTab::HasSameReference(MapTab* other) const { 59 | return other->iref == iref; 60 | } 61 | 62 | #endif 63 | -------------------------------------------------------------------------------- /source/minimap_window.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #ifndef RME_MINIMAP_WINDOW_H_ 19 | #define RME_MINIMAP_WINDOW_H_ 20 | 21 | class MinimapWindow : public wxPanel { 22 | public: 23 | MinimapWindow(wxWindow* parent); 24 | virtual ~MinimapWindow(); 25 | 26 | void OnPaint(wxPaintEvent &); 27 | void OnEraseBackground(wxEraseEvent &) { } 28 | void OnMouseClick(wxMouseEvent &); 29 | void OnSize(wxSizeEvent &); 30 | void OnClose(wxCloseEvent &); 31 | 32 | void DelayedUpdate(); 33 | void OnDelayedUpdate(wxTimerEvent &event); 34 | void OnKey(wxKeyEvent &event); 35 | 36 | protected: 37 | wxPen* pens[256]; 38 | wxTimer update_timer; 39 | int last_start_x; 40 | int last_start_y; 41 | 42 | DECLARE_EVENT_TABLE() 43 | }; 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /source/mkpch.cpp: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #include "main.h" 19 | -------------------------------------------------------------------------------- /source/mt_rand.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #ifndef RME_MT_RAND_H_ 19 | #define RME_MT_RAND_H_ 20 | 21 | void mt_seed(unsigned long s); 22 | unsigned long mt_randi(); 23 | double mt_randd(); 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /source/npc_brush.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #ifndef RME_NPC_BRUSH_H 19 | #define RME_NPC_BRUSH_H 20 | 21 | #include "brush.h" 22 | 23 | //============================================================================= 24 | // NpcBrush, place npcs 25 | 26 | class NpcBrush : public Brush { 27 | public: 28 | NpcBrush(NpcType* type); // Create a RAWBrush of the specified type 29 | virtual ~NpcBrush(); 30 | 31 | bool isNpc() const { 32 | return true; 33 | } 34 | NpcBrush* asNpc() { 35 | return static_cast(this); 36 | } 37 | 38 | virtual bool canDraw(BaseMap* map, const Position &position) const; 39 | virtual void draw(BaseMap* map, Tile* tile, void* parameter); 40 | virtual void undraw(BaseMap* map, Tile* tile); 41 | 42 | NpcType* getType() const { 43 | return npc_type; 44 | } 45 | 46 | virtual int getLookID() const; // We don't have a look type, this will always return 0 47 | virtual std::string getName() const; 48 | virtual bool canDrag() const { 49 | return false; 50 | } 51 | virtual bool canSmear() const { 52 | return true; 53 | } 54 | virtual bool oneSizeFitsAll() const { 55 | return true; 56 | } 57 | 58 | protected: 59 | NpcType* npc_type; 60 | }; 61 | 62 | #endif 63 | -------------------------------------------------------------------------------- /source/outfit.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #ifndef RME_OUTFIT_H_ 19 | #define RME_OUTFIT_H_ 20 | 21 | struct Outfit { 22 | Outfit() : 23 | lookType(0), lookItem(0), lookMount(0), lookAddon(0), lookHead(0), lookBody(0), lookLegs(0), lookFeet(0) { } 24 | ~Outfit() { } 25 | std::string name; 26 | int lookType; 27 | int lookItem; 28 | int lookMount; 29 | int lookAddon; 30 | int lookHead; 31 | int lookBody; 32 | int lookLegs; 33 | int lookFeet; 34 | 35 | uint32_t getColorHash() const { 36 | return lookHead << 24 | lookBody << 16 | lookLegs << 8 | lookFeet; 37 | } 38 | }; 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /source/positionctrl.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #ifndef _RME_POSITION_CTRL_H_ 19 | #define _RME_POSITION_CTRL_H_ 20 | 21 | #include "numbertextctrl.h" 22 | 23 | class PositionCtrl : public wxStaticBoxSizer { 24 | public: 25 | PositionCtrl(wxWindow* parent, const wxString &label, int x, int y, int z, int maxx = rme::MapMaxWidth, int maxy = rme::MapMaxHeight, int maxz = rme::MapMaxLayer); 26 | ~PositionCtrl() = default; 27 | 28 | long GetX() const { 29 | return x_field->GetIntValue(); 30 | } 31 | long GetY() const { 32 | return y_field->GetIntValue(); 33 | } 34 | long GetZ() const { 35 | return z_field->GetIntValue(); 36 | } 37 | Position GetPosition() const; 38 | 39 | void SetX(long value) { 40 | x_field->SetIntValue(value); 41 | } 42 | void SetY(long value) { 43 | y_field->SetIntValue(value); 44 | } 45 | void SetZ(long value) { 46 | z_field->SetIntValue(value); 47 | } 48 | void SetPosition(Position pos); 49 | 50 | bool Enable(bool enable = true); 51 | 52 | void OnClipboardText(wxClipboardTextEvent &); 53 | 54 | protected: 55 | NumberTextCtrl* x_field = nullptr; 56 | NumberTextCtrl* y_field = nullptr; 57 | NumberTextCtrl* z_field = nullptr; 58 | }; 59 | 60 | #endif 61 | -------------------------------------------------------------------------------- /source/process_com.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #ifdef _USE_PROCESS_COM 19 | 20 | #ifndef RME_PROCESS_COMMUNICATION_H_ 21 | #define RME_PROCESS_COMMUNICATION_H_ 22 | 23 | #include "wx/ipc.h" 24 | 25 | class RMEProcessConnection : public wxConnection { 26 | public: 27 | RMEProcessConnection(); 28 | ~RMEProcessConnection(); 29 | 30 | bool OnExec(const wxString &topic, const wxString &fileName); 31 | }; 32 | 33 | class RMEProcessServer : public wxServer { 34 | public: 35 | RMEProcessServer(); 36 | ~RMEProcessServer(); 37 | 38 | wxConnectionBase* OnAcceptConnection(const wxString &topic); 39 | }; 40 | 41 | class RMEProcessClient : public wxClient { 42 | wxConnectionBase* proc; 43 | 44 | public: 45 | RMEProcessClient(); 46 | ~RMEProcessClient(); 47 | 48 | wxConnectionBase* OnMakeConnection(); 49 | }; 50 | 51 | #endif 52 | 53 | #endif 54 | -------------------------------------------------------------------------------- /source/protobuf/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ***************************************************************************** 2 | # Project protobuf 3 | # ***************************************************************************** 4 | project(protobuf) 5 | 6 | find_package(Protobuf REQUIRED) 7 | find_package(Threads) 8 | 9 | include_directories(${PROTOBUF_INCLUDE_DIRS}) 10 | 11 | file(GLOB ProtoFiles 12 | "${CMAKE_CURRENT_SOURCE_DIR}/**/*.proto" 13 | "${CMAKE_CURRENT_SOURCE_DIR}/*.proto" 14 | ) 15 | 16 | if (MSVC AND BUILD_STATIC_LIBRARY) 17 | add_library(${PROJECT_NAME} STATIC ${ProtoFiles}) 18 | else() 19 | add_library(${PROJECT_NAME} ${ProtoFiles}) 20 | endif() 21 | 22 | target_link_libraries(${PROJECT_NAME} 23 | PUBLIC 24 | protobuf::libprotobuf 25 | ) 26 | target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) 27 | 28 | if (MSVC AND BUILD_STATIC_LIBRARY) 29 | set_property(TARGET ${PROJECT_NAME} PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") 30 | endif() 31 | 32 | protobuf_generate(TARGET ${PROJECT_NAME} LANGUAGE cpp) 33 | -------------------------------------------------------------------------------- /source/raw_brush.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #ifndef RME_RAW_BRUSH_H 19 | #define RME_RAW_BRUSH_H 20 | 21 | #include "brush.h" 22 | 23 | //============================================================================= 24 | // RAWBrush, draw items like SimOne's editor 25 | 26 | class RAWBrush : public Brush { 27 | public: 28 | RAWBrush(uint16_t itemid); // Create a RAWBrush of the specified type 29 | virtual ~RAWBrush(); 30 | 31 | bool isRaw() const { 32 | return true; 33 | } 34 | RAWBrush* asRaw() { 35 | return static_cast(this); 36 | } 37 | 38 | virtual bool canDraw(BaseMap* map, const Position &position) const { 39 | return true; 40 | } 41 | virtual void draw(BaseMap* map, Tile* tile, void* parameter); 42 | virtual void undraw(BaseMap* map, Tile* tile); 43 | 44 | virtual bool canDrag() const { 45 | return true; 46 | } 47 | virtual int getLookID() const; 48 | virtual std::string getName() const; 49 | std::shared_ptr getItemType() const { 50 | return itemtype; 51 | } 52 | uint16_t getItemID() const; 53 | 54 | protected: 55 | std::shared_ptr itemtype; 56 | }; 57 | 58 | #endif 59 | -------------------------------------------------------------------------------- /source/result_window.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #ifndef RME_RESULT_WINDOW_H_ 19 | #define RME_RESULT_WINDOW_H_ 20 | 21 | #include "main.h" 22 | 23 | class SearchResultWindow : public wxPanel { 24 | public: 25 | SearchResultWindow(wxWindow* parent); 26 | virtual ~SearchResultWindow(); 27 | 28 | void Clear(); 29 | void AddPosition(wxString description, Position pos); 30 | 31 | void OnClickResult(wxCommandEvent &); 32 | void OnClickExport(wxCommandEvent &); 33 | void OnClickClear(wxCommandEvent &); 34 | 35 | protected: 36 | wxListBox* result_list; 37 | 38 | DECLARE_EVENT_TABLE() 39 | }; 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /source/rme_forward_declarations.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #ifndef RME_FORWARD_H 19 | #define RME_FORWARD_H 20 | 21 | class Map; 22 | class Tile; 23 | class TileLocation; 24 | class Item; 25 | class container; 26 | class SpawnMonster; 27 | class SpawnNpc; 28 | struct Outfit; 29 | class House; 30 | class Monster; 31 | class Npc; 32 | class BaseMap; 33 | class Waypoint; 34 | class Waypoints; 35 | class Tileset; 36 | class Town; 37 | class Position; 38 | class Editor; 39 | class GUI; 40 | class Selection; 41 | class CopyBuffer; 42 | class ItemType; 43 | class Monsters; 44 | class Npcs; 45 | class ItemDatabase; 46 | class QTreeNode; 47 | class Floor; 48 | class Action; 49 | 50 | class Brush; 51 | 52 | #include 53 | 54 | typedef std::vector HouseExitList; 55 | typedef std::vector TileVector; 56 | typedef std::unordered_set TileSet; 57 | typedef std::vector ItemVector; 58 | typedef std::vector BrushVector; 59 | 60 | #endif 61 | -------------------------------------------------------------------------------- /source/spawn_monster.cpp: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #include "main.h" 19 | 20 | #include "tile.h" 21 | #include "spawn_monster.h" 22 | 23 | SpawnMonster::SpawnMonster(int size) : 24 | size(0), 25 | selected(false) { 26 | setSize(size); 27 | } 28 | 29 | SpawnMonster* SpawnMonster::deepCopy() const { 30 | SpawnMonster* copy = new SpawnMonster(size); 31 | copy->selected = selected; 32 | return copy; 33 | } 34 | 35 | void SpawnsMonster::addSpawnMonster(Tile* tile) { 36 | ASSERT(tile->spawnMonster); 37 | 38 | auto it = spawnsMonster.insert(tile->getPosition()); 39 | ASSERT(it.second); 40 | } 41 | 42 | void SpawnsMonster::removeSpawnMonster(Tile* tile) { 43 | ASSERT(tile->spawnMonster); 44 | spawnsMonster.erase(tile->getPosition()); 45 | #if 0 46 | SpawnMonsterPositionList::iterator iter = begin(); 47 | while(iter != end()) { 48 | if(*iter == tile->getPosition()) { 49 | spawnsMonster.erase(iter); 50 | return; 51 | } 52 | ++iter; 53 | } 54 | ASSERT(false); 55 | #endif 56 | } 57 | 58 | std::ostream &operator<<(std::ostream &os, const SpawnMonster &spawnMonster) { 59 | os << &spawnMonster << ":: -> " << spawnMonster.getSize() << std::endl; 60 | return os; 61 | } 62 | -------------------------------------------------------------------------------- /source/spawn_npc.cpp: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #include "main.h" 19 | 20 | #include "tile.h" 21 | #include "spawn_npc.h" 22 | 23 | SpawnNpc::SpawnNpc(int size) : 24 | size(0), 25 | selected(false) { 26 | setSize(size); 27 | } 28 | 29 | SpawnNpc* SpawnNpc::deepCopy() const { 30 | SpawnNpc* copy = new SpawnNpc(size); 31 | copy->selected = selected; 32 | return copy; 33 | } 34 | 35 | void SpawnsNpc::addSpawnNpc(Tile* tile) { 36 | ASSERT(tile->spawnNpc); 37 | 38 | auto it = spawnsNpc.insert(tile->getPosition()); 39 | ASSERT(it.second); 40 | } 41 | 42 | void SpawnsNpc::removeSpawnNpc(Tile* tile) { 43 | ASSERT(tile->spawnNpc); 44 | spawnsNpc.erase(tile->getPosition()); 45 | #if 0 46 | SpawnNpcPositionList::iterator iter = begin(); 47 | while(iter != end()) { 48 | if(*iter == tile->getPosition()) { 49 | spawnsNpc.erase(iter); 50 | return; 51 | } 52 | ++iter; 53 | } 54 | ASSERT(false); 55 | #endif 56 | } 57 | 58 | std::ostream &operator<<(std::ostream &os, const SpawnNpc &spawnNpc) { 59 | os << &spawnNpc << ":: -> " << spawnNpc.getSize() << std::endl; 60 | return os; 61 | } 62 | -------------------------------------------------------------------------------- /source/spawn_npc_brush.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #ifndef RME_SPAWN_NPC_BRUSH_H 19 | #define RME_SPAWN_NPC_BRUSH_H 20 | 21 | #include "brush.h" 22 | 23 | //============================================================================= 24 | // SpawnNpcBrush, place spawns npc 25 | 26 | class SpawnNpcBrush : public Brush { 27 | public: 28 | SpawnNpcBrush(); // Create a RAWBrush of the specified type 29 | virtual ~SpawnNpcBrush(); 30 | 31 | bool isSpawnNpc() const { 32 | return true; 33 | } 34 | SpawnNpcBrush* asSpawnNpc() { 35 | return static_cast(this); 36 | } 37 | 38 | virtual bool canDraw(BaseMap* map, const Position &position) const; 39 | virtual void draw(BaseMap* map, Tile* tile, void* parameter); // parameter is brush size 40 | virtual void undraw(BaseMap* map, Tile* tile); 41 | 42 | virtual int getLookID() const; // We don't have a look, sorry! 43 | virtual std::string getName() const; 44 | virtual bool canDrag() const { 45 | return true; 46 | } 47 | virtual bool canSmear() const { 48 | return false; 49 | } 50 | virtual bool oneSizeFitsAll() const { 51 | return true; 52 | } 53 | }; 54 | 55 | #endif 56 | -------------------------------------------------------------------------------- /source/templatemap76-74.cpp: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #include "main.h" 19 | 20 | #include "templates.h" 21 | 22 | ConversionMap getReplacementMapFrom760To740() { 23 | ConversionMap replacement_map; 24 | return replacement_map; 25 | } 26 | -------------------------------------------------------------------------------- /source/templates.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #ifndef RME_MAP_TEMPLATES_H_ 19 | #define RME_MAP_TEMPLATES_H_ 20 | 21 | #include "common.h" 22 | 23 | struct ConversionMap { 24 | // Many to Many 25 | typedef std::map, std::vector> MTM; 26 | // Single to Many 27 | typedef std::map> STM; 28 | 29 | MTM mtm; 30 | STM stm; 31 | }; 32 | 33 | ConversionMap getReplacementMapFrom800To810(); 34 | ConversionMap getReplacementMapFrom760To740(); 35 | ConversionMap getReplacementMapFrom854To854(); 36 | ConversionMap getReplacementMapClassic(); 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /source/threads.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #ifndef RME_THREAD_H_ 19 | #define RME_THREAD_H_ 20 | 21 | #include "main.h" 22 | 23 | class Thread : public wxThread { 24 | public: 25 | Thread(wxThreadKind); 26 | 27 | void Execute(); // Calls "Create" and then "Run" 28 | }; 29 | 30 | class JoinableThread : public Thread { 31 | public: 32 | JoinableThread() : 33 | Thread(wxTHREAD_JOINABLE) { } 34 | }; 35 | 36 | class DetachedThread : public Thread { 37 | public: 38 | DetachedThread() : 39 | Thread(wxTHREAD_DETACHED) { } 40 | }; 41 | 42 | inline Thread::Thread(wxThreadKind kind) : 43 | wxThread(kind) { } 44 | 45 | inline void Thread::Execute() { 46 | Create(); 47 | Run(); 48 | } 49 | 50 | #endif 51 | -------------------------------------------------------------------------------- /source/tileset_window.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #ifndef RME_TILESET_WINDOW_H_ 19 | #define RME_TILESET_WINDOW_H_ 20 | 21 | #include "main.h" 22 | 23 | #include "common_windows.h" 24 | 25 | class ContainerItemButton; 26 | class ContainerItemPopupMenu; 27 | 28 | class TilesetWindow : public ObjectPropertiesWindowBase { 29 | public: 30 | TilesetWindow(wxWindow* parent, const Map* map, const Tile* tile, Item* item, wxPoint = wxDefaultPosition); 31 | 32 | void OnChangePalette(wxCommandEvent &event); 33 | 34 | void OnClickOK(wxCommandEvent &); 35 | void OnClickCancel(wxCommandEvent &); 36 | 37 | protected: 38 | // tileset 39 | wxChoice* palette_field; 40 | wxChoice* tileset_field; 41 | 42 | DECLARE_EVENT_TABLE(); 43 | }; 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /source/waypoint_brush.cpp: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #include "main.h" 19 | 20 | #include "waypoint_brush.h" 21 | #include "waypoints.h" 22 | #include "basemap.h" 23 | 24 | //============================================================================= 25 | // Waypoint Brush 26 | 27 | WaypointBrush::WaypointBrush() : 28 | Brush() { 29 | //// 30 | } 31 | 32 | WaypointBrush::~WaypointBrush() { 33 | //// 34 | } 35 | 36 | void WaypointBrush::setWaypoint(Waypoint* wp) { 37 | if (wp) { 38 | waypoint_name = wp->name; 39 | } else { 40 | waypoint_name = ""; 41 | } 42 | } 43 | 44 | std::string WaypointBrush::getWaypoint() const { 45 | return waypoint_name; 46 | } 47 | 48 | bool WaypointBrush::canDraw(BaseMap* map, const Position &position) const { 49 | return map->getTile(position) != nullptr; 50 | } 51 | 52 | void WaypointBrush::undraw(BaseMap* map, Tile* tile) { 53 | // Never called 54 | ASSERT(false); 55 | } 56 | 57 | void WaypointBrush::draw(BaseMap* map, Tile* tile, void* parameter) { 58 | // Never called 59 | ASSERT(false); 60 | } 61 | -------------------------------------------------------------------------------- /source/waypoints.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #ifndef RME_WAYPOINTS_H_ 19 | #define RME_WAYPOINTS_H_ 20 | 21 | #include "position.h" 22 | 23 | class Waypoint { 24 | public: 25 | std::string name; 26 | Position pos; 27 | }; 28 | 29 | typedef std::map WaypointMap; 30 | 31 | class Waypoints { 32 | public: 33 | Waypoints(Map &map) : 34 | map(map) { } 35 | virtual ~Waypoints(); 36 | 37 | void addWaypoint(Waypoint* wp); 38 | Waypoint* getWaypoint(std::string name); 39 | Waypoint* getWaypoint(const Position &position); 40 | void removeWaypoint(std::string name); 41 | 42 | WaypointMap waypoints; 43 | 44 | WaypointMap::iterator begin() { 45 | return waypoints.begin(); 46 | } 47 | WaypointMap::const_iterator begin() const { 48 | return waypoints.begin(); 49 | } 50 | WaypointMap::iterator end() { 51 | return waypoints.end(); 52 | } 53 | WaypointMap::const_iterator end() const { 54 | return waypoints.end(); 55 | } 56 | 57 | private: 58 | Map ↦ 59 | }; 60 | 61 | #endif 62 | -------------------------------------------------------------------------------- /source/zone_brush.cpp: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #include "main.h" 19 | 20 | #include "zone_brush.h" 21 | #include "zones.h" 22 | #include "basemap.h" 23 | 24 | //============================================================================= 25 | // Zone Brush 26 | 27 | ZoneBrush::ZoneBrush() : 28 | FlagBrush(0) { 29 | //// 30 | } 31 | 32 | ZoneBrush::~ZoneBrush() { 33 | //// 34 | } 35 | 36 | void ZoneBrush::setZone(unsigned int id) { 37 | zoneId = id; 38 | } 39 | 40 | unsigned int ZoneBrush::getZone() const { 41 | return zoneId; 42 | } 43 | 44 | bool ZoneBrush::canDraw(BaseMap* map, const Position &position) const { 45 | return map->getTile(position) != nullptr && zoneId != 0; 46 | } 47 | 48 | void ZoneBrush::undraw(BaseMap* map, Tile* tile) { 49 | tile->removeZone(zoneId); 50 | } 51 | 52 | void ZoneBrush::draw(BaseMap* map, Tile* tile, void* parameter) { 53 | if (tile->hasGround()) { 54 | tile->addZone(zoneId); 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /source/zone_brush.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #ifndef RME_ZONE_BRUSH_H 19 | #define RME_ZONE_BRUSH_H 20 | 21 | #include "brush.h" 22 | 23 | //============================================================================= 24 | // ZoneBrush, draws zones simply 25 | 26 | class ZoneBrush : public FlagBrush { 27 | public: 28 | ZoneBrush(); 29 | virtual ~ZoneBrush(); 30 | 31 | bool isZone() const { 32 | return true; 33 | } 34 | ZoneBrush* asZone() { 35 | return static_cast(this); 36 | } 37 | 38 | // Not used 39 | virtual bool load(pugi::xml_node node, wxArrayString &warnings) { 40 | return true; 41 | } 42 | 43 | virtual bool canDraw(BaseMap* map, const Position &position) const; 44 | virtual void draw(BaseMap* map, Tile* tile, void* parameter); 45 | virtual void undraw(BaseMap* map, Tile* tile); 46 | 47 | unsigned int getZone() const; 48 | void setZone(unsigned int id); 49 | virtual int getLookID() const { 50 | return 0; 51 | } // We don't have a graphic 52 | virtual std::string getName() const { 53 | return "Zone Brush"; 54 | } 55 | 56 | protected: 57 | unsigned int zoneId; 58 | }; 59 | 60 | #endif 61 | -------------------------------------------------------------------------------- /source/zones.cpp: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #include "main.h" 19 | 20 | #include "zones.h" 21 | #include "map.h" 22 | 23 | Zones::~Zones() { 24 | zones.clear(); 25 | } 26 | 27 | bool Zones::addZone(const std::string &name, unsigned int id) { 28 | if (hasZone(name)) { 29 | return false; 30 | } 31 | if (used_ids.find(id) != used_ids.end()) { 32 | return false; 33 | } 34 | zones.emplace(name, id); 35 | used_ids.insert(id); 36 | return true; 37 | } 38 | 39 | bool Zones::addZone(const std::string &name) { 40 | return addZone(name, generateID()); 41 | } 42 | 43 | bool Zones::hasZone(const std::string &name) { 44 | return zones.find(name) != zones.end(); 45 | } 46 | 47 | bool Zones::hasZone(unsigned int id) { 48 | return used_ids.find(id) != used_ids.end(); 49 | } 50 | 51 | void Zones::removeZone(const std::string &name) { 52 | if (!hasZone(name)) { 53 | return; 54 | } 55 | used_ids.erase(zones[name]); 56 | zones.erase(name); 57 | } 58 | 59 | unsigned int Zones::generateID() { 60 | unsigned int id = 1; 61 | while (used_ids.find(id) != used_ids.end()) { 62 | id++; 63 | } 64 | return id; 65 | } 66 | -------------------------------------------------------------------------------- /source/zones.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // This file is part of Remere's Map Editor 3 | ////////////////////////////////////////////////////////////////////// 4 | // Remere's Map Editor is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // Remere's Map Editor is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License 15 | // along with this program. If not, see . 16 | ////////////////////////////////////////////////////////////////////// 17 | 18 | #ifndef RME_ZONES_H_ 19 | #define RME_ZONES_H_ 20 | 21 | typedef std::map ZoneMap; 22 | 23 | class Zones { 24 | public: 25 | Zones(Map &map) : 26 | map(map) { } 27 | virtual ~Zones(); 28 | 29 | unsigned int getZoneID(std::string name) const { 30 | auto it = zones.find(name); 31 | if (it == zones.end()) { 32 | return 0; 33 | } 34 | return it->second; 35 | } 36 | bool addZone(const std::string &name); 37 | bool addZone(const std::string &name, unsigned int id); 38 | bool hasZone(const std::string &name); 39 | bool hasZone(unsigned int id); 40 | void removeZone(const std::string &name); 41 | 42 | ZoneMap zones; 43 | 44 | ZoneMap::iterator begin() { 45 | return zones.begin(); 46 | } 47 | ZoneMap::const_iterator begin() const { 48 | return zones.begin(); 49 | } 50 | ZoneMap::iterator end() { 51 | return zones.end(); 52 | } 53 | ZoneMap::const_iterator end() const { 54 | return zones.end(); 55 | } 56 | 57 | private: 58 | Map ↦ 59 | std::unordered_set used_ids; 60 | 61 | unsigned int generateID(); 62 | }; 63 | 64 | #endif 65 | -------------------------------------------------------------------------------- /tools/Tibia.otfi: -------------------------------------------------------------------------------- 1 | DatSpr 2 | extended: false 3 | transparency: false 4 | frame-durations: false 5 | frame-groups: false 6 | metadata-file: Tibia.dat 7 | sprites-file: Tibia.spr -------------------------------------------------------------------------------- /tools/convert_png2cpp.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | """ 3 | Converts all .png files into this directory to a .h & one .cpp 4 | file. 5 | """ 6 | import sys 7 | import os 8 | import os.path 9 | import re 10 | import array 11 | import glob 12 | 13 | r = re.compile("^([a-zA-Z._][a-zA-Z._0-9]*)[.][pP][nN][gG]$") 14 | 15 | header_file = open("pngfiles.h", "wb") 16 | source_file = open("pngfiles.cpp", "wb") 17 | 18 | header_file.write("#ifndef __PNG_HEADER_FILE_H__\n") 19 | header_file.write("#define __PNG_HEADER_FILE_H__\n") 20 | 21 | png_files = glob.glob("*.png") 22 | 23 | for path in png_files: 24 | filename = os.path.basename(path) 25 | m = r.match(filename) 26 | # Allow only filenames that make sense 27 | # as C variable names 28 | if not(m): 29 | print "Skipped file (unsuitable filename): " + filename 30 | continue 31 | 32 | # Read PNG file as character array 33 | bytes = array.array('B', open(path, "rb").read()) 34 | count = len(bytes) 35 | 36 | # Output to header 37 | header_file.write("extern unsigned char " + m.group(1) + "_png[" + str(count) + "];\n") 38 | # Create the C file 39 | text = "/* " + filename + " - " + str(count) + " bytes */\nunsigned char " + m.group(1) + "_png[" + str(count) + "] = {\n" 40 | 41 | # Iterate the characters, we want 42 | # lines like: 43 | # 0x01, 0x02, .... (8 values per line maximum) 44 | i = 0 45 | count = len(bytes) 46 | for byte in bytes: 47 | # Every new line starts with two whitespaces 48 | if (i % 8) == 0: 49 | text += " " 50 | # Then the hex data (up to 8 values per line) 51 | text += "0x%02x" % (byte) 52 | # Separate all but the last values 53 | if (i + 1) < count: 54 | text += ", " 55 | if (i % 8) == 7: 56 | text += '\n' 57 | i += 1 58 | 59 | # Now conclude the C source 60 | text += "};\n/* End Of File */\n" 61 | 62 | source_file.write(text) 63 | 64 | header_file.write("#endif //__PNG_HEADER_FILE_H__\n") 65 | 66 | -------------------------------------------------------------------------------- /vcpkg.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "remeres", 3 | "version-string": "1.0.0", 4 | "dependencies": [ 5 | "asio", 6 | "pugixml", 7 | "freeglut", 8 | "nlohmann-json", 9 | "fmt", 10 | "wxwidgets", 11 | "opengl", 12 | "protobuf", 13 | "liblzma", 14 | "spdlog" 15 | ], 16 | "builtin-baseline": "6760f636e7bcd0dd034c5c0906f6174009465c29" 17 | } 18 | -------------------------------------------------------------------------------- /vcproj/Project/RME.rc: -------------------------------------------------------------------------------- 1 | IDI_ICON1 ICON DISCARDABLE "rme_icon.ico" -------------------------------------------------------------------------------- /vcproj/Project/rme_icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opentibiabr/remeres-map-editor/6d501a5ad2fbc038fe9a69fff266c55b87b7e10a/vcproj/Project/rme_icon.ico -------------------------------------------------------------------------------- /vcproj/RME.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.30225.117 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RME", "Project\RME.vcxproj", "{7AA6C5AC-C8C4-40EF-A0B3-3569B9819163}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Win32 = Debug|Win32 11 | Debug|x64 = Debug|x64 12 | Release|Win32 = Release|Win32 13 | Release|x64 = Release|x64 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {7AA6C5AC-C8C4-40EF-A0B3-3569B9819163}.Debug|Win32.ActiveCfg = Debug|Win32 17 | {7AA6C5AC-C8C4-40EF-A0B3-3569B9819163}.Debug|Win32.Build.0 = Debug|Win32 18 | {7AA6C5AC-C8C4-40EF-A0B3-3569B9819163}.Debug|x64.ActiveCfg = Debug|x64 19 | {7AA6C5AC-C8C4-40EF-A0B3-3569B9819163}.Debug|x64.Build.0 = Debug|x64 20 | {7AA6C5AC-C8C4-40EF-A0B3-3569B9819163}.Release|Win32.ActiveCfg = Release|Win32 21 | {7AA6C5AC-C8C4-40EF-A0B3-3569B9819163}.Release|Win32.Build.0 = Release|Win32 22 | {7AA6C5AC-C8C4-40EF-A0B3-3569B9819163}.Release|x64.ActiveCfg = Release|x64 23 | {7AA6C5AC-C8C4-40EF-A0B3-3569B9819163}.Release|x64.Build.0 = Release|x64 24 | {7AA6C5AC-C8C4-40EF-A0B3-3569B9819163}.Release|x64.Deploy.0 = Release|x64 25 | EndGlobalSection 26 | GlobalSection(SolutionProperties) = preSolution 27 | HideSolutionNode = FALSE 28 | EndGlobalSection 29 | EndGlobal 30 | --------------------------------------------------------------------------------