Modding Help [SOLVED] Need help re-implementing a dungeon that uses the png system

Discussion in 'Starbound Modding' started by soldierfast90, May 18, 2017.

  1. soldierfast90

    soldierfast90 Pangalactic Porcupine

    Code down here:
    Code:
    [16:06:11.670] [Error] UniverseServer: exception caught: (DungeonException) Error loading dungeon '/dungeons/ue_humanbunker/ue_humanbunker.dungeon': (DungeonException) Exception (MapException) Key '13107200' not found in Map::get()
    [0] 12b628a Star::captureStack
    [1] 12b51a8 Star::StarException::StarException
    [2] 1384a46 Star::MapMixin<std::map<unsigned int,Star::Dungeon::Tile,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,Star::Dungeon::Tile> > > >::get
    [3] 1384828 Star::Dungeon::ImagePartReader::forEachTile
    [4] 1382f2d Star::Dungeon::Part::scanConnectors
    [5] 1376d86 Star::Dungeon::Part::Part
    [6] 136c5d7 std::_Ref_count_obj<Star::Dungeon::Part const >::_Ref_count_obj<Star::Dungeon::Part const ><Star::DungeonDefinition * &,Star::Json const &,std::shared_ptr<Star::Dungeon::ImagePartReader> >
    [7] 1372b2a std::make_shared<Star::Dungeon::Part const ,Star::DungeonDefinition * &,Star::Json const &,std::shared_ptr<Star::Dungeon::TMXPartReader> >
    [8] 1380f78 Star::Dungeon::parsePart
    [9] 1375494 Star::DungeonDefinition::DungeonDefinition
    [10] 137305d std::make_shared<Star::DungeonDefinition,Star::MapMixin<std::unordered_map<Star::String,Star::Json,Star::hash<Star::String,void>,std::equal_to<Star::String>,std::allocator<std::pair<Star::String const ,Star::Json> > > >,Star::String>
    [11] 13824b6 Star::DungeonDefinitions::readDefinition
    [12] 137860c <lambda_fab381630aca2e218e1f837b76d16368>::operator()
    [13] 137185f Star::LruCacheBase<Star::OrderedMapWrapper<std::unordered_map,Star::String,std::shared_ptr<Star::DungeonDefinition>,Star::BlockAllocator<std::pair<Star::String const ,std::shared_ptr<Star::DungeonDefinition> >,1024>,Star::hash<Star::String,void>,std::equal_to<Star::String> > >::get<<lambda_fab381630aca2e218e1f837b76d16368> >
    [14] 137e17a Star::DungeonDefinitions::get
    [15] 1375c64 Star::DungeonGenerator::DungeonGenerator
    [16] 16dbd0f Star::WorldServer::forcePlaceDungeon
    [17] 13529ab <lambda_717c212752e5a949a8faec70c0cf6529>::operator()
    [18] 1353943 std::_Func_impl<<lambda_717c212752e5a949a8faec70c0cf6529>,std::allocator<int>,void,Star::WorldServer *,std::shared_ptr<Star::Player> >::_Do_call
    [19] 163585a std::_Func_class<void,Star::WorldServer *,std::shared_ptr<Star::Player> >::operator()
    [20] 16338e5 <lambda_3c42d8d4d6558ce1ae345fab0caaef86>::operator()
    [21] 1636875 std::_Func_impl<<lambda_3c42d8d4d6558ce1ae345fab0caaef86>,std::allocator<int>,void,Star::WorldServerThread *,Star::WorldServer *>::_Do_call
    [22] 16ec40d Star::WorldServerThread::executeAction
    [23] 163d1f0 Star::UniverseServer::executeForClient
    [24] 1357773 Star::CommandProcessor::placeDungeon
    [25] 135612d Star::CommandProcessor::handleCommand
    [26] 135a858 Star::CommandProcessor::userCommand
    [27] 1623fec std::_Invoker_pmf_pointer::_Call<Star::String (__thiscall Star::CommandProcessor::*)(unsigned short,Star::String const &,Star::String const &),Star::CommandProcessor * &,unsigned short,Star::String,Star::String>
    [28] 1628f04 std::invoke<Star::String (__thiscall Star::CommandProcessor::*&)(unsigned short,Star::String const &,Star::String const &),Star::CommandProcessor * &,unsigned short,Star::String,Star::String>
    [29] 1625d22 std::_Invoke_ret<Star::String (__thiscall Star::CommandProcessor::*&)(unsigned short,Star::String const &,Star::String const &),Star::CommandProcessor * &,unsigned short,Star::String,Star::String>
    [30] 162405b std::_Call_binder<std::_Unforced,0,1,2,3,Star::String (__thiscall Star::CommandProcessor::*)(unsigned short,Star::String const &,Star::String const &),std::tuple<Star::CommandProcessor *,std::_Ph<1>,std::_Ph<2>,std::_Ph<3> >,std::tuple<unsigned short &&,Star::String &&,Star::String &&> >
    [31] 16237b6 std::_Binder<std::_Unforced,Star::String (__thiscall Star::CommandProcessor::*)(unsigned short,Star::String const &,Star::String const &),Star::CommandProcessor *,std::_Ph<1> const &,std::_Ph<2> const &,std::_Ph<3> const &>::operator()<unsigned short,Star::String,Star::String>
    [32] 1623f9f std::_Invoker_functor::_Call<std::_Binder<std::_Unforced,Star::String (__thiscall Star::CommandProcessor::*)(unsigned short,Star::String const &,Star::String const &),Star::CommandProcessor *,std::_Ph<1> const &,std::_Ph<2> const &,std::_Ph<3> const &> &,unsigned short,Star::String,Star::String>
    [33] 1628faf std::invoke<std::_Binder<std::_Unforced,Star::String (__thiscall Star::CommandProcessor::*)(unsigned short,Star::String const &,Star::String const &),Star::CommandProcessor *,std::_Ph<1> const &,std::_Ph<2> const &,std::_Ph<3> const &> &,unsigned short,Star::String,Star::String>
    [34] 1625dcf std::_Invoke_ret<Star::String,std::_Binder<std::_Unforced,Star::String (__thiscall Star::CommandProcessor::*)(unsigned short,Star::String const &,Star::String const &),Star::CommandProcessor *,std::_Ph<1> const &,std::_Ph<2> const &,std::_Ph<3> const &> &,unsigned short,Star::String,Star::String>
    [35] 16369e3 std::_Func_impl<std::_Binder<std::_Unforced,Star::String (__thiscall Star::CommandProcessor::*)(unsigned short,Star::String const &,Star::String const &),Star::CommandProcessor *,std::_Ph<1> const &,std::_Ph<2> const &,std::_Ph<3> const &>,std::allocator<int>,Star::String,unsigned short,Star::String,Star::String>::_Do_call
    [36] 133b7b7 std::_Func_class<Star::String,unsigned short,Star::String,Star::String>::operator()
    [37] 133d47c Star::ChatProcessor::handleCommand
    [38] 133be61 Star::ChatProcessor::broadcast
    [39] 164041c Star::UniverseServer::processChat
    [40] 1642523 Star::UniverseServer::run
    [41] 12b31bc Star::ThreadImpl::runThread
    [42] 74ed338a BaseThreadInitThunk
    [43] 774a9902 RtlInitializeExceptionChain
    [44] 774a98d5 RtlInitializeExceptionChain in connector entrance
    [0] 12b628a Star::captureStack
    [1] 12b51a8 Star::StarException::StarException
    [2] 137136e Star::DungeonException::format<Star::String,Star::OutputProxy>
    [3] 13825cc Star::DungeonDefinitions::readDefinition
    [4] 137860c <lambda_fab381630aca2e218e1f837b76d16368>::operator()
    [5] 137185f Star::LruCacheBase<Star::OrderedMapWrapper<std::unordered_map,Star::String,std::shared_ptr<Star::DungeonDefinition>,Star::BlockAllocator<std::pair<Star::String const ,std::shared_ptr<Star::DungeonDefinition> >,1024>,Star::hash<Star::String,void>,std::equal_to<Star::String> > >::get<<lambda_fab381630aca2e218e1f837b76d16368> >
    [6] 137e17a Star::DungeonDefinitions::get
    [7] 1375c64 Star::DungeonGenerator::DungeonGenerator
    [8] 16dbd0f Star::WorldServer::forcePlaceDungeon
    [9] 13529ab <lambda_717c212752e5a949a8faec70c0cf6529>::operator()
    [10] 1353943 std::_Func_impl<<lambda_717c212752e5a949a8faec70c0cf6529>,std::allocator<int>,void,Star::WorldServer *,std::shared_ptr<Star::Player> >::_Do_call
    [11] 163585a std::_Func_class<void,Star::WorldServer *,std::shared_ptr<Star::Player> >::operator()
    [12] 16338e5 <lambda_3c42d8d4d6558ce1ae345fab0caaef86>::operator()
    [13] 1636875 std::_Func_impl<<lambda_3c42d8d4d6558ce1ae345fab0caaef86>,std::allocator<int>,void,Star::WorldServerThread *,Star::WorldServer *>::_Do_call
    [14] 16ec40d Star::WorldServerThread::executeAction
    [15] 163d1f0 Star::UniverseServer::executeForClient
    [16] 1357773 Star::CommandProcessor::placeDungeon
    [17] 135612d Star::CommandProcessor::handleCommand
    [18] 135a858 Star::CommandProcessor::userCommand
    [19] 1623fec std::_Invoker_pmf_pointer::_Call<Star::String (__thiscall Star::CommandProcessor::*)(unsigned short,Star::String const &,Star::String const &),Star::CommandProcessor * &,unsigned short,Star::String,Star::String>
    [20] 1628f04 std::invoke<Star::String (__thiscall Star::CommandProcessor::*&)(unsigned short,Star::String const &,Star::String const &),Star::CommandProcessor * &,unsigned short,Star::String,Star::String>
    [21] 1625d22 std::_Invoke_ret<Star::String (__thiscall Star::CommandProcessor::*&)(unsigned short,Star::String const &,Star::String const &),Star::CommandProcessor * &,unsigned short,Star::String,Star::String>
    [22] 162405b std::_Call_binder<std::_Unforced,0,1,2,3,Star::String (__thiscall Star::CommandProcessor::*)(unsigned short,Star::String const &,Star::String const &),std::tuple<Star::CommandProcessor *,std::_Ph<1>,std::_Ph<2>,std::_Ph<3> >,std::tuple<unsigned short &&,Star::String &&,Star::String &&> >
    [23] 16237b6 std::_Binder<std::_Unforced,Star::String (__thiscall Star::CommandProcessor::*)(unsigned short,Star::String const &,Star::String const &),Star::CommandProcessor *,std::_Ph<1> const &,std::_Ph<2> const &,std::_Ph<3> const &>::operator()<unsigned short,Star::String,Star::String>
    [24] 1623f9f std::_Invoker_functor::_Call<std::_Binder<std::_Unforced,Star::String (__thiscall Star::CommandProcessor::*)(unsigned short,Star::String const &,Star::String const &),Star::CommandProcessor *,std::_Ph<1> const &,std::_Ph<2> const &,std::_Ph<3> const &> &,unsigned short,Star::String,Star::String>
    [25] 1628faf std::invoke<std::_Binder<std::_Unforced,Star::String (__thiscall Star::CommandProcessor::*)(unsigned short,Star::String const &,Star::String const &),Star::CommandProcessor *,std::_Ph<1> const &,std::_Ph<2> const &,std::_Ph<3> const &> &,unsigned short,Star::String,Star::String>
    [26] 1625dcf std::_Invoke_ret<Star::String,std::_Binder<std::_Unforced,Star::String (__thiscall Star::CommandProcessor::*)(unsigned short,Star::String const &,Star::String const &),Star::CommandProcessor *,std::_Ph<1> const &,std::_Ph<2> const &,std::_Ph<3> const &> &,unsigned short,Star::String,Star::String>
    [27] 16369e3 std::_Func_impl<std::_Binder<std::_Unforced,Star::String (__thiscall Star::CommandProcessor::*)(unsigned short,Star::String const &,Star::String const &),Star::CommandProcessor *,std::_Ph<1> const &,std::_Ph<2> const &,std::_Ph<3> const &>,std::allocator<int>,Star::String,unsigned short,Star::String,Star::String>::_Do_call
    [28] 133b7b7 std::_Func_class<Star::String,unsigned short,Star::String,Star::String>::operator()
    [29] 133d47c Star::ChatProcessor::handleCommand
    [30] 133be61 Star::ChatProcessor::broadcast
    [31] 164041c Star::UniverseServer::processChat
    [32] 1642523 Star::UniverseServer::run
    [33] 12b31bc Star::ThreadImpl::runThread
    [34] 74ed338a BaseThreadInitThunk
    [35] 774a9902 RtlInitializeExceptionChain
    [36] 774a98d5 RtlInitializeExceptionChain


    I'm getting a "Map" error and I have no idea how to fix it. I've had the dungeon file changed up so that the npc brushes are different than the removed npcs and made sure that the pngs are properly "linked".

    Essentially just trying to re-implement the USCM Bunker straight from Version Angry Koala and I can't really figure out what's wrong.

    Although according to the "Spikes" in the error log there looks to what appears to be 2 errors so uh yeah.
     
  2. bk3k

    bk3k Oxygen Tank

    Code:
    Key '13107200' not found in Map::get()
    The old dungeon format works similarly to shipworlds now. I'll take a stab at guessing that this is for a missing color mapping. Chances are there never was a key '13107200' but that was derived from appending the RGBA values. Again that's a guess.

    Supposing that isn't easy to figure out, I'd start fresh and try to slap it in without edits. Of course that WILL generate errors, but you can deal with the errors one at a time. Such as dealing with so and so NPC doesn't exist by using one of your NPCs. The difference will be you'll know right off the errors are missing assets, not the results of things you've changed in advance. So you're narrowing down the problems.

    Once you have it working, at that point start doing any edits you had in mind.

    Maybe it would be easier to convert from a Glad Giraffe dungeon? I don't know what's different per say, but I know this is from a far newer build. I already ran it through PNGGauntlet too (something the devs SHOULD be doing with the game's image assets but sadly don't).
     

    Attached Files:

  3. soldierfast90

    soldierfast90 Pangalactic Porcupine

    Huh must be something that changed that SB couldn't read after 1.0.

    The file you gave me works completely fine and the dungeon spawns perfectly when the parameters are changed to not have it die mid-spawn (like nonexistant treasurepools). Thanks man.

    Although I'd like to point out that in the angry koala dungeons, there's a "map" png which is the exact same as the "Key" png.
     
  4. lazarus78

    lazarus78 The Waste of Time

    The game has changed a LOT from the Koalah days. It is best not to refer to that when trying to make things now. You should refer to current examples. Avian village, avian tomb, human prison, glitch village, etc. All still use the png format.
     
  5. soldierfast90

    soldierfast90 Pangalactic Porcupine

    I'm aware of that. I checked the dungeons that still used the png system and compared them to the Angry Koala versions. Of course I didn't notice the fact that the map png no longer exists and probably some vital coding differences in the dungeon files. I never had the files for any of the more recent versions i.e Giraffe versions since the only files I copied and saved onto my computer was Angry Koala and a couple of minutes of salvaging the documents folder.
     
  6. lazarus78

    lazarus78 The Waste of Time

    ?? But you have the game... no? Steam or GOG, you have the current assets right there.
     
  7. soldierfast90

    soldierfast90 Pangalactic Porcupine

    I mean as in the old files, pre 1.0 and stuff from 2 years ago. I do have the current game on steam, latest version and stuff like that but when I meant salvaging Angry Koala, I meant old files and old character saves that I copied and pasted into documents from 2 years ago.

    I don't have any other pre-1.0 assets available to me.
     
  8. lazarus78

    lazarus78 The Waste of Time

    Well the current version still has some things that make use of the png dungeon format, so old versions should be necessary for reference purposes.
     
  9. soldierfast90

    soldierfast90 Pangalactic Porcupine

    Gah.

    I'm aware that the game still uses the png dungeon format for older dungeons and I meant that I took the old dungeons from Angry Koala and attempted to re-implement them by looking at the newer png dungeons and trying to see if the format is the same. I missed out on the fact that the map png was removed and other vital but small code differences in the dungeon files.

    Rightio, the problem is solved now and it's just a train of probably my terrible wording or something. Anyways, all's good.
     
  10. lazarus78

    lazarus78 The Waste of Time

    Ah, sorry, I misunderstood.
     
  11. bk3k

    bk3k Oxygen Tank

    Glad you got it figured out then.

    Too bad you probably don't have all the robots though. I don't think they're still around in the assets, but maybe I'm wrong. If you needed assets that where a part of this, let me know.
     
    Last edited: May 19, 2017
  12. soldierfast90

    soldierfast90 Pangalactic Porcupine

    Yeah the robots don't exist anymore in the files.

    Although I'd love to have the assets to later versions if you have the pak file or something as it'd probably make re-implementing some stuff easier since fixing the Angry Koala serpent droid is a pain.
     

Share This Page