SpaceManiac / SpacemanDMM

A BYOND language smartness provider, map renderer, and more.
https://marketplace.visualstudio.com/items?itemName=platymuus.dm-langclient
GNU General Public License v3.0
83 stars 83 forks source link

"Failed to load" on every minimap subcommand; Several default passes not working well with /tg/ maps #381

Closed GregariousJB closed 8 months ago

GregariousJB commented 8 months ago

Thought I'd update the maps on the /tg/ wiki, but I'm hitting some snags.

"Failed to load only-powernet" "Failed to load random" etc

The full output:

λ dmm-tools.exe minimap random D:\projects\tgstation\_maps\map_files\MetaStation\MetaStation.dmm
parsing tgstation.dme
random
Failed to load random:
1:1: error: i/o error opening file
- The system cannot find the file specified. (os error 2)
D:\projects\tgstation\_maps\map_files\MetaStation\MetaStation.dmm
    rendering from 1,1,1 to 255,255,1
    generating z=1
bad icon: "icons/obj/pipes_n_cables/structures.dmi", state: "l2-1-8"
bad icon: "icons/obj/pipes_n_cables/structures.dmi", state: "l2-4"
bad icon: "icons/obj/pipes_n_cables/structures.dmi", state: "l2-2-8"
bad icon: "icons/obj/pipes_n_cables/structures.dmi", state: "l2-4-8"
bad icon: "icons/turf/mining.dmi", state: "smoothrocks-2"
bad icon: "icons/turf/mining.dmi", state: "smoothrocks-39"
bad icon: "icons/turf/mining.dmi", state: "smoothrocks-74"
bad icon: "icons/turf/mining.dmi", state: "smoothrocks-4"
bad icon: "icons/turf/mining.dmi", state: "smoothrocks-46"
bad icon: "icons/turf/mining.dmi", state: "smoothrocks-95"
bad icon: "icons/turf/mining.dmi", state: "smoothrocks-137"
bad icon: "icons/turf/mining.dmi", state: "smoothrocks-21"
bad icon: "icons/obj/doors/airlocks/centcom/centcom.dmi", state: "fill_closed"
bad icon: "icons/obj/doors/airlocks/hatch/maintenance.dmi", state: "fill_closed"
bad icon: "icons/obj/doors/airlocks/highsec/highsec.dmi", state: "fill_closed"
bad icon: "icons/obj/doors/airlocks/vault/vault.dmi", state: "fill_closed"
bad icon: "icons/obj/doors/airlocks/hatch/centcom.dmi", state: "fill_closed"
bad icon: "icons/obj/storage/crates.dmi", state: "laundry_door"
bad icon: "icons/obj/storage/crates.dmi", state: "crate_door"
bad icon: "icons/obj/storage/crates.dmi", state: "hydrocrate_door"
bad icon: "icons/obj/machines/wallmounts.dmi", state: "fire_overlay"
bad icon: "icons/obj/machines/wallmounts.dmi", state: "fire_off"
bad icon: "icons/obj/storage/crates.dmi", state: "trashcart_door"
bad icon: "icons/obj/storage/crates.dmi", state: "crateopen_open"
bad icon: "icons/obj/storage/crates.dmi", state: "securecrate_door"
bad icon: "icons/obj/storage/crates.dmi", state: "locked"
bad icon: "icons/obj/storage/crates.dmi", state: "weaponcrate_door"
bad icon: "icons/obj/storage/crates.dmi", state: "gold_door"
bad icon: "icons/obj/storage/crates.dmi", state: "silver_door"
bad icon: "icons/obj/storage/crates.dmi", state: "engi_e_crate_door"
bad icon: "icons/obj/storage/crates.dmi", state: "freezer_door"
bad icon: "icons/obj/storage/crates.dmi", state: "engi_crate_door"
bad icon: "icons/obj/storage/crates.dmi", state: "o2crate_door"
bad icon: "icons/obj/storage/crates.dmi", state: "wooden_door"
bad icon: "icons/obj/storage/crates.dmi", state: "trashbin_door"
bad icon: "icons/obj/storage/crates.dmi", state: "necrocrate_door"
bad icon: "icons/obj/storage/crates.dmi", state: "robo_door"
bad icon: "icons/obj/storage/closet.dmi", state: "cardboard_door"
bad icon: "icons/obj/storage/crates.dmi", state: "medicalcrate_door"
bad icon: "icons/obj/storage/crates.dmi", state: "coffin_door"
bad icon: "icons/obj/clothing/head/default.dmi", state: "beret_badge"
bad icon: "icons/obj/clothing/head/hats.dmi", state: "beret_badge"
bad icon: "icons/obj/clothing/under/shorts_pants_shirts.dmi", state: "buttondown_slacks"
bad icon: "icons/obj/clothing/suits/costume.dmi", state: "messyworn_shirt_gamer"
bad icon: "icons/obj/poster.dmi", state: "poster4_legit"
bad icon: "icons/obj/poster.dmi", state: "poster32"
bad icon: "icons/obj/poster.dmi", state: "poster18_legit"
bad icon: "icons/obj/poster.dmi", state: "poster41"
bad icon: "icons/obj/poster.dmi", state: "poster26_legit"
bad icon: "icons/obj/poster.dmi", state: "poster25"
bad icon: "icons/obj/poster.dmi", state: "poster36"
bad icon: "icons/obj/poster.dmi", state: "poster2_legit"
bad icon: "icons/obj/poster.dmi", state: "poster10_legit"
bad icon: "icons/obj/poster.dmi", state: "poster42"
bad icon: "icons/obj/poster.dmi", state: "poster21_legit"
bad icon: "icons/obj/poster.dmi", state: "poster24"
bad icon: "icons/obj/poster.dmi", state: "poster16_legit"
bad icon: "icons/obj/poster.dmi", state: "poster7_legit"
bad icon: "icons/obj/poster.dmi", state: "poster5_legit"
bad icon: "icons/obj/poster.dmi", state: "poster43"
bad icon: "icons/obj/poster.dmi", state: "poster1_legit"
bad icon: "icons/obj/poster.dmi", state: "poster3"
bad icon: "icons/obj/poster.dmi", state: "poster34_legit"
bad icon: "icons/obj/poster.dmi", state: "poster32_legit"
bad icon: "icons/obj/poster.dmi", state: "poster28_legit"
bad icon: "icons/obj/poster.dmi", state: "poster5"
bad icon: "icons/obj/poster.dmi", state: "poster2"
bad icon: "icons/obj/poster.dmi", state: "poster12_legit"
bad icon: "icons/obj/poster.dmi", state: "poster19"
bad icon: "icons/obj/poster.dmi", state: "poster1"
bad icon: "icons/obj/poster.dmi", state: "poster9_legit"
bad icon: "icons/obj/poster.dmi", state: "poster8"
bad icon: "icons/obj/poster.dmi", state: "poster23_legit"
bad icon: "icons/obj/poster.dmi", state: "poster35_legit"
bad icon: "icons/obj/poster.dmi", state: "poster13_legit"
bad icon: "icons/obj/poster.dmi", state: "poster22"
bad icon: "icons/obj/poster.dmi", state: "poster35"
bad icon: "icons/obj/poster.dmi", state: "poster27"
bad icon: "icons/obj/poster.dmi", state: "poster33"
bad icon: "icons/obj/poster.dmi", state: "poster11_legit"
bad icon: "icons/obj/poster.dmi", state: "poster6"
bad icon: "icons/obj/poster.dmi", state: "poster6_legit"
bad icon: "icons/obj/poster.dmi", state: "poster15"
bad icon: "icons/obj/poster.dmi", state: "poster27_legit"
bad icon: "icons/obj/poster.dmi", state: "poster12"
bad icon: "icons/obj/poster.dmi", state: "poster34"
bad icon: "icons/obj/poster.dmi", state: "poster11"
bad icon: "icons/obj/poster.dmi", state: "poster14_legit"
bad icon: "icons/obj/poster.dmi", state: "poster23"
bad icon: "icons/obj/poster.dmi", state: "poster28"
bad icon: "icons/obj/poster.dmi", state: "poster21"
bad icon: "icons/obj/poster.dmi", state: "poster31"
bad icon: "icons/obj/poster.dmi", state: "poster40"
bad icon: "icons/obj/poster.dmi", state: "poster39"
bad icon: "icons/obj/poster.dmi", state: "poster16"
bad icon: "icons/obj/poster.dmi", state: "poster18"
bad icon: "icons/obj/poster.dmi", state: "poster29"
bad icon: "icons/obj/poster.dmi", state: "poster9"
bad icon: "icons/obj/poster.dmi", state: "poster17"
bad icon: "icons/obj/poster.dmi", state: "poster30"
bad icon: "icons/obj/poster.dmi", state: "poster37"
error loading icon: icons/obj/flora/plants.dmi
  The system cannot find the path specified. (os error 3)
    saving data/minimaps/MetaStation-1.png

Also tried:

After entering list-passes it shows "random" as a default pass, which I assume means it is handled automatically, but since the resulting image had randomized "?" items all over the place I wanted to test to see if it would work using the subcommand. I also toyed with other passes but each one of them gives the above error. The image seems to be 80% correct otherwise, with the other 20% being incorrect turfs, piping, and randomized items that shouldn't be there.

Examples: All the random "?" items in this map: MetaStation-1 (2)

This bright green turf can be seen sometimes in-game, so I think this is less of a SpacemanDMM issue and more of a /tg/ mapping issue. IceBoxStation-3 (2)

Am I correct in assuming this has something to do with the SS13 WebMaps site not showing any /tg/ maps? Do they do something bonkers with their maps that makes it difficult to work with them?

SpaceManiac commented 8 months ago

"Failed to load only-powernet" and "... random" are because you passed them in filename position. You want something like:

dmm-tools.exe minimap --enable only-powernet _maps/map_files/MetaStation/MetaStation.dmm
# OR
dmm-tools.exe minimap --disable random,pretty _maps/map_files/MetaStation/MetaStation.dmm

As to the way the output looks - the base output of the renderer is that it looks just like it does in the map editor. The render passes do the job of making things look like they do in game. But they have to be manually coded and have not been updated in some time.

The webmap uses SpacemanDMM at its core, but it's also been modified (per-codebase) by its host. Issues specific to the webmap should be reported there.

GregariousJB commented 8 months ago

"Failed to load only-powernet" and "... random" are because you passed them in filename position. You want something like:

dmm-tools.exe minimap --enable only-powernet _maps/map_files/MetaStation/MetaStation.dmm
# OR
dmm-tools.exe minimap --disable random,pretty _maps/map_files/MetaStation/MetaStation.dmm

This would've been nice to know. It's not mentioned in the --help or in the project readme.

SpaceManiac commented 8 months ago

dmm-tools minimap --help has it, and the dmm-tools README has it, but I welcome you to open a PR to the docs if you desire.

GregariousJB commented 8 months ago

dmm-tools minimap --help has it, and the dmm-tools README has it, but I welcome you to open a PR to the docs if you desire.

really