Jump to content


  • Posts

  • Joined

  • Last visited

Personal Information

  • Location
    Thüringen / Deutschland

DorHans's Achievements


Scavenger (2/15)



  1. Hi Anatinus, thanks for reporting this issue. I simply fogot the symbol for the gyrocopter, sorry. Made a new release version 1.11.2020.0206. Enjoy!
  2. Thanks, Bubo. Feedback is always appreciated, especially the good one.
  3. Version 1.11 Happy new year! Based on the idea from dynamis_dk, I added an option to render the biome map. Big thanks to the Fun Pimps for outputting these files with the current random gen! There's also a new option to render the prefabs. This option needs to know the folder, where 7 Days to Die is installed (I call this directory "game folder" or "game root"). Please check the settings and choose your installation folder. As the names of the prefabs easily overlap each other, I also added new bigger TileSizes. The picture above is made witch "DoubleSize". Please be aware, the resulting picture is limited to about 20000 by 20000 pixel. You will get an error message, if the TileSize is to big. To create larger images, I would have to reprogram the whole thing.
  4. Happy Holidays! Hey guys, long time no see. The ttp file format is a topic on its own, so I decided to ditch this part and implement a simple text search. With version 1.10 you will have your ingame waypoints, but no spawnpoint (bed symbol), no dropped backpack and no quick marker. @dynamis_dk I really like the idea to include the biome map and the prefabs. Would like to include this in the next release. Well, my commenting skills aren't the best. But if you want to know how the map is rendered you just need this file: https://github.com/DorHans/7DTD-SMR/blob/master/7DTD-SingleMapRenderer/src/Core/MapRenderer.cs The method getAllTilesFromMapFile will read all tiles from the map file and returns a dictionary. The key consists of the x-z-coordinates of this tile (or chunk). The value is a 512 byte array, which is the raw bitmap data. The method renderTiles extracts the x and z coordinates, creates a bitmap from the raw data and draws this into the map. If you want to code yourself, you can change the method RenderWholeMap. The variables minX, maxX, minY, maxY, sizeX and sizeY control the size of the resulting image. (E.g. a 4k map would be something like: min=-128, max=127, size=4096) @Lain I haven't used NitroGEN, so I don't know what files it generates. I assume it doesn't generate a map file. So it would be out of the scope for this tool. Maybe Damocles could add an option to output a height map as well. Enjoy your holidays!
  5. Definitely yes, but not this month. Tbh, I haven't played in months. So thanks for letting me know, there is a new version.
  6. Hi guys and gals, what have I been up to lately? I've been trying to render a map from the region files. From what I have observed, and that may be incorrect, the game saves data the following way: It creates the "hub cell data", which I think is for the distant terrain. These files contain the names of POIs, "asphalt" and some binary data. Maybe the height and/or biome map? The creation takes some time, but I expect that you see this data, when you use "Editing Tools" (Random Gen World Previewer). Each hub seems to represent 9 regions. The actual blocks are stored in your region files. Each region is 512 x 512 blocks big and reaches from the bedrock to the sky. The region is divided in 32 x 32 = 1024 chunks, each of them being 16 x 16 blocks big. When you first step into a region, the game creates an empty region file and only generates the chunks around you. From where I stand, the map gets rendered 4 chunks in each direction. The region files contains additional 4 chunks in each direction. This may be because of my view distance being 9? Beyond that point the chunks aren't created or saved. There is a console command called "visitmap", with that you can force the creation of specific regions and chunks. The command expects two X-Z block coordinate pairs. If you want to create the region 0,0 you have to type "visitmap 0 0 511 511". It than creates and checks all 1024 chunks in that region. Here are some numbers. These are only estimates, as I don't want to spend so much time testing this out. A random world is about 40 x 40 = 1600 regions big. Each region consists of 1024 chunks, resulting in about 1.6 million chunks. The visitmap command can compute about 22 chunks per second (on my system). Generation of the whole world would take 74,000 seconds or 20 hours. Each region file takes about 8-10 MB, so the whole world would be 12-15 GB. Rendering the map is a lot faster, and happens at about 1100 chunks per seconds (on my system) -- resulting in about 26 minutes for the whole world. The image would be 20,000 x 20,000 pixels and about 130 MB big. TLDR: It is possible to render a map from region files, but -- and that's a huge butt -- it takes a tremendous amount of time to create the regions. Currently it can only render the terrain, no blocks or decorations. Maybe because blocks can be painted, and therefore the map color must be extracted from the texture? And it also renders underwater terrain. The code is very experimental and far away from production use. So don't expect a release in the near future. Finally something to look at. The four images on the left are a comparison between the rendered regions and the ingame map. I hope, you can see the limitations mentioned above. The right image shows what additional information you may get. The magenta overlay marks the chunks saved in the region file, that are not on your ingame map. Nice, but pretty much useless? Any thoughts on this feature? Any wishes? Maybe extend your ingame map with information from region files? You know a faster way to generate the whole world?
  7. Thank you guys for all your feedback! It' always a pleasure to read, even if you find it useless. And thanks, Eihwaz, very nice spotlight. I like how you explain every option and detail. This reminds me of writing a short wiki on github...
  8. Version 1.9 Yesterday I released version 1.9 which features a RegionViewer (in the menu under "Experimental"). I don't know if it is useful or not. So tell me if you have an idea. Currently it takes your selected map and renders each region individually. When you select a region from the list, you will see the rendered image and a grid overlay. Each grid cell represents a chunk and has a X and Z value.
  9. Hi Darkweaver, for a list of included symbols see post #22. There you will also find information on how to use your own symbols. And thanks for mentioning, the ingame waypoints broke again. I hope to fix this issue this weekend. No promises made!
  10. Sorry for answering this late. You are right, I completely forgot to commit the app.config. But you don't really need it anyway, it is almost empty. And yes, you also need the FunPimps.dll from the binary release. As for the POIs / waypoints: A POI is just a map marker with a name, symbol and coordinates. All waypoints, you've added to your map, are read from from player profile (.ttp). The POIs are read from a csv file (plain text file with default encoding). These symbols are static and not accessible from ingame. 1000,760,book,store This line will add a book symbol with the name "store" at 1000 north / 760 east to the rendered map. I assume, that airdrops are saved in the chunk files. So you might end up reading all 7rg files, searching for airdrop blocks, extract their coordinates and create an instance of the POI class for each airdrop. It is possible, but requires some work. @Pr00ch: Well, uncovering the map is not that simple. First you would need the game to create all region files. Then you would parse these files for the highest terrain block. Then you would need the material of that block. Then you need the color of that material. Then you need the orientation of the block (a block in a mountain slope has a different color than in a plain). Then you might compute the color of that pixel on your map. Since we have an ingame preview of the map, I don't really see the need for that.
  11. Hi Llathrum, the map rendering still works with the very first version of this tool. I assume you have problems with the UI changes since version 1.4. I think you tried to open a map using the "Browse" button. Please see this screenshot. To choose the map, you want to export, you just have to select it from the combo box. In my case it is a "Random Gen" game I called "GreenForest". Below the combo box you will see the path to your map file. The button labeled "Browse" does search for a poi file (points of interest). This feature was implemented shortly before in game waypoints were introduced. (see post #22) So, please try again by selecting your save game from the combo box.
  12. Bad news is, that I don't own a console. So I have to rely on others to provide data and test the program. But I like the idea. You could have a look at your PS4 save game and see if it contains a *.map file. You then just open this file with the SinglePlayer Map Renderer. If this doesn't work you may send me an example. (Or upload it to a cloud storage ...) Well, what this tool really does, it takes your ingame map and exports it as a png file. It does not render maps from region files or generate regions from a seed. And it also doesn't support multiplayer.
  13. Good news, waypoint rendering is back. Almost on time with the release of Alpha 15. So, go out and explore the world!
  14. Just tested with the latest experimental build (Alpha 15 b78) and it is compatible. Well, I don't really expect the Fun Pimps to change their map storage. But they changed their save file format, so no waypoint rendering at the moment. Beware of spoilers as I uploaded the Navezgane map here: https://1drv.ms/f/s!ApcUH5b5Fus_02NG_HWZ-NQXXnOI
  15. If it works for you, use it. Please note, that pixels are stored in System.Windows.Media.PixelFormats.Bgr555 (https://www.theimagingsource.com/support/documentation/ic-imaging-control-cpp/PixelformatRGB555.htm). Your compare method doesn't really compare the brightness, but the pixel with more red in it will win.
  • Create New...