Giter Club home page Giter Club logo

blackdesert-somethinglovely-map's Introduction

Famme's BDO Tools

somethinglovely.net by Famme (Discord: fffam)

An interactive map for Black Desert Online. The website has been sunset as a result of not being in a position to stay current with game updates.

Horses, crates & tradepack tools are just embeds for the following jsfiddle pages:

All code & original assets are to be considered MIT-licensed (images within horses & icons are copyright Pearl Abyss Corp). You may use any of the code, or rehost the website in its entirety.


Installation

To run locally:

  • gulp

To build (into dist folder):

  • gulp build

Updating data

The data is all in data.json. Nodes are listed in custom object format, all other layers are in standard GeoJSON FeatureCollection format. Should all be pretty obvious once prettified.

Updating map tiles

https://mega.nz/file/7t5yBTpb#kG8wK4gp6JKZf4W-qreqPQ8l9m0RdaowxDHBLk0rV8o (3.9GB) and https://mega.nz/file/b4pz3CBD#Fr9EWgL77kpCe2Iteai0lZhuS36YTJKaUt1NLw5f0BI (58KB).

Time estimates:

  • 5 mins work
  • 1 hour wait to extract tiles
  • 10 mins work (more if you need to install WSL/bash)
  • 6 hour wait to convert to giant singular map png
  • 30 mins to combine in photoshop
  • 2 hour to split into leaflet tiles

Steps:

  1. Download latest PAZ files (i.e. just patch game)

  2. Get paz_browser from BDO Data/PazExtractor and put it in BDO paz folder

  3. Run it and Search > mapdata_realexplore then extract mapdata_realexplore.xml and mapdata_realexplore2.xml

  4. Run it and extract rader*.dds (search rader*.dds, then press A to select all)

  5. Wait for extraction to finish (ETA: 60 minutes, set an alert)

  6. Put all of the dds map tiles into a folder called 'rader'

  7. Copy the 5 radar script files (radar-combine.sh, radar-combine-fast.sh, radar-convert.sh, radar-getbounds.js and radar-sort.js) into the folder above 'rader'

  8. In linux (probably WSL - https://docs.microsoft.com/en-us/windows/wsl/install-win10), make sure imagemagick is installed (sudo apt-get update followed by sudo apt-get install imagemagick)

  9. Increase the width/height/disk/memory limits in the ImageMagick policy.xml (probably in /etc/ImageMagick-6/). Change width/height from 16KP to 256KP. Change Memory from 256MiB to 16GiB. Change Disk to 16GiB.

  10. Create the empty folders alongside rader:

  • rader-sorted
  • rader-slices
  1. Put the blank.png in the same folder as radar-sort.sh

  2. In bash, run the scripts in the following order (or chain execute them with &&):
    radar-convert.sh (converts the dds texture files to png. ETA: 20m)
    radar-sort.sh (copies the png tiles to a folder with new names that are 0-indexed.) ETA: 30m)
    radar-combine-fast.sh (uses imagemagick's montage to stitch the tiles together. ETA: 4 hours, run it overnight)
    NOTES:
    radar-getbounds.js is just to check the map grid bounds
    radar-combine-fast.sh is slow, but its just faster than the other version because it combines the tiles in strips as an intermediate step

  3. Open Map (Combined).psb in photoshop

  4. With the map_{DATE} layer selected, go Layer > Smart Objects > Relink to File and select the new map.png that was created from step 11. The original linked image path will probably be broken by default.

  5. Adjust the layer mask for the map layer, and for the Ocean Overlay layer to make the map look good. Then save the file (Ctrl-S), then also export the file as a 100% JPEG (File > Save a Copy... > Select JPEG) and save as map.jpg

  6. Run the slicer script to convert to leaflet map tiles:
    ./magick-slicer.sh map.jpg

  7. [OPTIONAL BUT ADVISED] Once sliced, optimise the filesizes of the tiles (using ImageOptim on OSX or an equivalent tool on Linux/Win)
    find ./Map_files -type f -iname \*jpg -print0 | xargs -0 -t -n 100 /Applications/ImageOptim\ 2.app/Contents/MacOS/ImageOptim

  8. compress the files into a tarball
    mv ./Map_files tiles-new
    tar -zcvf tiles-new.tar.gz tiles-new

  9. Upload tarbarll to server, then ssh into server and unpack the tarball
    scp tiles-new.tar.gz [email protected]:/home/www/somethinglovely.net/bdo
    tar xzvf tiles-new.tar.gz

  10. swap the old tiles for the new ones
    mv tiles2 tiles2-old && mv tiles-new tiles2

blackdesert-somethinglovely-map's People

Contributors

fffam avatar

Recommend Projects

  • React photo React

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

  • Vue.js photo Vue.js

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

  • Typescript photo Typescript

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

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

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

Recommend Topics

  • javascript

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

  • web

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

  • server

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

  • Machine learning

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

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

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

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

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

  • D3 photo D3

    Data-Driven Documents codes.