otclient icon indicating copy to clipboard operation
otclient copied to clipboard

Unable to play with 10.0 data

Open grepwood opened this issue 4 years ago • 19 comments

Steps to reproduce (include any configuration/script required to reproduce)

  1. Download Tibia 10.0, extract Tibia.dat and Tibia.spr to things/data/1000
  2. Try to connect to any server, even one that doesn't exist
  3. OTClient will complain the data is corrupt: ERROR: Failed to read dat '/things/1000/Tibia.dat': corrupt data (id: 625, category: 0, count: 255, lastAttr: 3)'

Expected behaviour

Should work.

Actual behaviour

Doesn't work.

Environment

Compiled for Linux from commit https://github.com/edubart/otclient/commit/c6d0fc0f71a3986ceb61dbff971a8ac63c8e1623

grepwood avatar Nov 02 '20 01:11 grepwood

Same issue occurs for me.

beo-code avatar Dec 23 '20 08:12 beo-code

Hello,

There are a few ways to debug the situation.

First: I have no clue about the data structure of this specific .dat file, or basically anything that involves anything from newer Tibia (anything above 7.7). I'm pretty familiar with OTClients source code though. I don't think someone will come over with ready to implement code and share it, so I'll just try and help you guys to get this running so we can drop a PR later on.

in thingtype.cpp you will find the function void ThingType::unserialize(uint16 clientId, ThingCategory category, const FileStreamPtr& fin)

There we have this lovely piece of code someone I don't know wrote:

        if(g_game.getClientVersion() >= 1000) {
            /* In 10.10+ all attributes from 16 and up were
             * incremented by 1 to make space for 16 as
             * "No Movement Animation" flag.
             */
            if(attr == 16)
                attr = ThingAttrNoMoveAnimation;
            else if(attr > 16)
                attr -= 1;
        }

Maybe we should check how the real tibia client reads the .dat file, or any other open source software capable of reading and processing the file.

I think though, reading through the comments of that if statement, that versions 10.10 + got that incrementation of all attributes, the check though is starting after the version 10.0, which is the one you're trying to run.

I'd just rewrite the if statment like below and try it out:

        if(g_game.getClientVersion() >= 1010) {
            /* In 10.10+ all attributes from 16 and up were
             * incremented by 1 to make space for 16 as
             * "No Movement Animation" flag.
             */
            if(attr == 16)
                attr = ThingAttrNoMoveAnimation;
            else if(attr > 16)
                attr -= 1;
        }

If any of you can test that I'd be very grateful.

Best Wishes Okke

okk3 avatar Dec 23 '20 12:12 okk3

Hi Okke, Thanks for your assistance!

I made the change as advised and recompiled. The below error is the newest.

ERROR: Failed to read dat '/things/1000/Tibia.dat': corrupt data (id: 111, category: 0, count: 255, lastAttr: 131)'

A different ID and lastAttr now.

I then tried and change line 65 and recompiled again, with the same result as above.

        } else if(g_game.getClientVersion() >= 1000) {
            if(attr == ThingAttrNoMoveAnimation)
                attr = 16;
            else if(attr >= ThingAttrPickupable)
                attr += 1;
        }

to } else if(g_game.getClientVersion() >= 1010) {

I look forward to your future contributions!

beo-code avatar Dec 23 '20 13:12 beo-code

Hello again boys,

I think I found the missing part, I'm not sure though, anyways: I came up with a suggestion.

Please reroll the code on thingtype.cpp to original, instead of 1010 use only 1000.

Now on thingtypemanager.cpp use this as the function loadDat:

bool ThingTypeManager::loadDat(std::string file)
{
    m_datLoaded = false;
    m_datSignature = 0;
    m_contentRevision = 0;
    try {
        file = g_resources.guessFilePath(file, "dat");

        FileStreamPtr fin = g_resources.openFile(file);

        m_datSignature = fin->getU32();
        m_contentRevision = static_cast<uint16_t>(m_datSignature);

        for(int category = 0; category < ThingLastCategory; ++category) {
            int count = fin->getU16() + 1;
            m_thingTypes[category].clear();
            m_thingTypes[category].resize(count, m_nullThingType);
        }

        m_marketCategories.clear();
        for(int category = 0; category < ThingLastCategory; ++category) {
            uint16 firstId = 1;
            if(category == ThingCategoryItem)
                firstId = 100;
            for(uint16 id = firstId; id < m_thingTypes[category].size(); ++id) {
                ThingTypePtr type(new ThingType);
                type->unserialize(id, (ThingCategory)category, fin);
                m_thingTypes[category][id] = type;
                if (type->isMarketable()) {
                    auto marketData = type->getMarketData();
                    m_marketCategories.insert(marketData.category);
                }
            }
        }

        m_datLoaded = true;
        g_lua.callGlobalField("g_things", "onLoadDat", file);
        return true;
    } catch(stdext::exception& e) {
        g_logger.error(stdext::format("Failed to read dat '%s': %s'", file, e.what()));
        return false;
    }
}

After testing this please let me know what happened.

Thanks in advance, Okke

okk3 avatar Dec 23 '20 15:12 okk3

Hi @okk3

I did as you suggested and 2 errors when building.

1>C:\Users\User\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.cpp(119,9): error C2065: 'm_marketCategories': undeclared identifier 1>C:\Users\User\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.cpp(130,21): error C2065: 'm_marketCategories': undeclared identifier

beo-code avatar Dec 23 '20 15:12 beo-code

Add this std::set<int> m_marketCategories; to thingtypemanager.h under ItemTypeList m_itemTypes; (Yes, under the private part of the class).

Oh, also add m_marketCategories.clear(); to void ThingTypeManager::terminate() in thingtypemanager.cpp

okk3 avatar Dec 23 '20 15:12 okk3

Hi @okk3 Unfortunately, more errors this time!

1>------ Build started: Project: otclient, Configuration: Release x64 ------
1>animatedtext.cpp
1>client.cpp
1>container.cpp
1>creature.cpp
1>creatures.cpp
1>effect.cpp
1>game.cpp
1>houses.cpp
1>item.cpp
1>itemtype.cpp
1>localplayer.cpp
1>luafunctions.cpp
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\game.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\game.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\game.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\houses.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\houses.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\houses.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\effect.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\effect.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\effect.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\item.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\item.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\item.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\luafunctions.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\luafunctions.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\luafunctions.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\itemtype.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\itemtype.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\itemtype.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\container.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\container.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\container.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\localplayer.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\localplayer.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\creatures.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\creatures.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\localplayer.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\creatures.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\creature.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\creature.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\creature.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\animatedtext.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\animatedtext.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\animatedtext.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\client.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\client.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\client.cpp)
1>luavaluecasts.cpp
1>map.cpp
1>mapio.cpp
1>mapview.cpp
1>minimap.cpp
1>missile.cpp
1>outfit.cpp
1>player.cpp
1>protocolgame.cpp
1>protocolgameparse.cpp
1>protocolgamesend.cpp
1>spritemanager.cpp
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\minimap.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\minimap.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\minimap.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\map.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\map.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\map.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\luavaluecasts.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\luavaluecasts.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\luavaluecasts.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\protocolgamesend.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\protocolgamesend.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\protocolgamesend.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\mapview.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\mapview.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\mapview.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\protocolgame.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\protocolgame.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\protocolgame.cpp)
1>statictext.cpp
1>thing.cpp
1>thingtype.cpp
1>thingtypemanager.cpp
1>tile.cpp
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\mapio.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\mapio.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\mapio.cpp)
1>uicreature.cpp
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\outfit.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\outfit.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\outfit.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\protocolgameparse.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\protocolgameparse.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\protocolgameparse.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\player.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\player.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\player.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\missile.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\missile.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\missile.cpp)
1>uiitem.cpp
1>uimap.cpp
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\spritemanager.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\spritemanager.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\spritemanager.cpp)
1>uiminimap.cpp
1>uiprogressrect.cpp
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\statictext.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\statictext.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\statictext.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\thing.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\thing.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\thing.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\thingtype.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\thingtype.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\thingtype.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\thingtypemanager.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\thingtypemanager.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\thingtypemanager.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\tile.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\tile.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\tile.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\uicreature.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\uicreature.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\uicreature.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\uiitem.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\uiitem.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\uiitem.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\uimap.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\uimap.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\uimap.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\uiminimap.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\uiminimap.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\uiminimap.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\uiprogressrect.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\uiprogressrect.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(84,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\uiprogressrect.cpp)
1>Done building project "otclient.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

thingtypemanager.cpp

void ThingTypeManager::terminate()
{
    for(auto& m_thingType : m_thingTypes)
        m_thingType.clear();
    m_itemTypes.clear();
    m_reverseItemTypes.clear();
    m_nullThingType = nullptr;
    m_nullItemType = nullptr;
    m_marketCategories.clear();
}

thingtypemanager.h

private:
    ThingTypeList m_thingTypes[ThingLastCategory];
    ItemTypeList m_reverseItemTypes;
    ItemTypeList m_itemTypes;
    std::set<int> m_marketCategories;

beo-code avatar Dec 23 '20 16:12 beo-code

Alright, we're on a good path, now add this to your thingtypemanager.h under ItemTypeList findItemTypesByString(std::string str); (This time on the public part of the class):

    std::set<int> getMarketCategories()
    {
        return m_marketCategories;
    }

Oh and by the way, on your thingtypemanager.cpp in the function terminate() please put m_marketCategories.clear(); above m_nullThingType = nullptr; just so you clear the memory before setting anything to null pointer.

okk3 avatar Dec 23 '20 16:12 okk3

Added this - provides the same result when building. I feel like we're closing in!

    ItemTypeList findItemTypesByString(const std::string& name);

    std::set<int> getMarketCategories()
    {
        return m_marketCategories;
    }

beo-code avatar Dec 23 '20 16:12 beo-code

Sorry, new log file, looks like they are different this time round

1>animatedtext.cpp
1>client.cpp
1>container.cpp
1>creature.cpp
1>creatures.cpp
1>effect.cpp
1>game.cpp
1>houses.cpp
1>item.cpp
1>itemtype.cpp
1>localplayer.cpp
1>luafunctions.cpp
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\animatedtext.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\animatedtext.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\animatedtext.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\animatedtext.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\animatedtext.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\animatedtext.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\animatedtext.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\animatedtext.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\animatedtext.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\houses.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\houses.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\effect.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\effect.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\houses.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\houses.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\houses.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\houses.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\houses.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\houses.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\houses.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\effect.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\effect.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\effect.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\effect.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\effect.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\effect.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\effect.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\item.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\item.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\localplayer.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\localplayer.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\item.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\item.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\item.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\item.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\item.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\item.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\item.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\localplayer.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\localplayer.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\localplayer.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\creatures.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\creatures.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\localplayer.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\localplayer.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\localplayer.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\localplayer.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\luafunctions.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\luafunctions.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\creatures.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\creatures.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\container.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\container.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\creatures.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\creatures.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\creatures.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\creatures.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\creatures.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\luafunctions.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\luafunctions.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\luafunctions.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\luafunctions.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\luafunctions.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\luafunctions.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\luafunctions.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\container.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\container.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\container.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\container.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\container.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\container.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\container.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\itemtype.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\itemtype.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\creature.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\creature.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\itemtype.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\itemtype.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\itemtype.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\creature.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\creature.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\creature.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\itemtype.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\itemtype.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\itemtype.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\itemtype.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\creature.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\creature.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\creature.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\creature.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\game.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\game.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\game.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\game.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\game.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\game.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\game.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\game.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\game.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\client.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\client.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\client.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\client.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\client.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\client.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\client.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\client.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\client.cpp)
1>luavaluecasts.cpp
1>map.cpp
1>mapio.cpp
1>mapview.cpp
1>minimap.cpp
1>missile.cpp
1>outfit.cpp
1>player.cpp
1>protocolgame.cpp
1>protocolgameparse.cpp
1>protocolgamesend.cpp
1>spritemanager.cpp
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\mapio.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\mapio.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\mapio.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\mapio.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\mapio.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\mapio.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\mapio.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\mapio.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\mapio.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\map.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\map.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\map.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\map.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\map.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\map.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\map.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\map.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\map.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\mapview.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\mapview.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\mapview.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\mapview.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\mapview.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\mapview.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\mapview.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\mapview.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\mapview.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\luavaluecasts.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\luavaluecasts.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\luavaluecasts.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\luavaluecasts.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\luavaluecasts.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\luavaluecasts.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\luavaluecasts.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\luavaluecasts.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\luavaluecasts.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\outfit.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\outfit.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\outfit.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\outfit.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\outfit.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\outfit.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\outfit.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\outfit.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\outfit.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\minimap.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\minimap.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\minimap.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\minimap.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\minimap.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\minimap.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\minimap.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\minimap.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\minimap.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\player.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\player.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\player.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\player.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\player.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\player.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\player.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\player.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\player.cpp)
1>statictext.cpp
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\missile.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\missile.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\missile.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\missile.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\missile.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\missile.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\missile.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\missile.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\missile.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\protocolgamesend.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\protocolgamesend.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\protocolgamesend.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\protocolgamesend.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\protocolgamesend.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\protocolgamesend.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\protocolgamesend.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\protocolgamesend.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\protocolgamesend.cpp)
1>thing.cpp
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\protocolgameparse.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\protocolgameparse.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\protocolgame.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\protocolgame.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\protocolgameparse.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\protocolgameparse.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\protocolgameparse.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\protocolgameparse.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\protocolgameparse.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\protocolgameparse.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\protocolgameparse.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\protocolgame.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\protocolgame.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\protocolgame.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\protocolgame.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\protocolgame.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\protocolgame.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\protocolgame.cpp)
1>thingtype.cpp
1>thingtypemanager.cpp
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\spritemanager.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\spritemanager.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\spritemanager.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\spritemanager.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\spritemanager.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\spritemanager.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\spritemanager.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\spritemanager.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\spritemanager.cpp)
1>tile.cpp
1>uicreature.cpp
1>uiitem.cpp
1>uimap.cpp
1>uiminimap.cpp
1>uiprogressrect.cpp
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\statictext.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\statictext.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\statictext.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\statictext.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\statictext.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\statictext.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\statictext.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\statictext.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\statictext.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\thing.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\thing.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\thing.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\thing.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\thing.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\thing.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\thing.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\thing.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\thing.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\thingtype.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\thingtype.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\thingtype.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\thingtype.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\thingtype.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\thingtype.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\thingtype.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\thingtype.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\thingtype.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\thingtypemanager.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\thingtypemanager.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\thingtypemanager.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\thingtypemanager.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\thingtypemanager.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\thingtypemanager.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\thingtypemanager.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\thingtypemanager.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\thingtypemanager.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\tile.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\tile.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\tile.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\tile.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\tile.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\tile.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\tile.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\tile.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\tile.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\uicreature.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\uicreature.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\uicreature.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\uicreature.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\uicreature.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\uicreature.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\uicreature.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\uicreature.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\uicreature.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\uiprogressrect.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\uiprogressrect.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\uiprogressrect.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\uiprogressrect.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\uiprogressrect.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\uiprogressrect.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\uiprogressrect.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\uiprogressrect.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\uiprogressrect.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\uiitem.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\uiitem.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\uiitem.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\uiitem.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\uiitem.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\uiitem.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\uiitem.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\uiitem.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\uiitem.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\uiminimap.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\uiminimap.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\uiminimap.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\uiminimap.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\uiminimap.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\uiminimap.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\uiminimap.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\uiminimap.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\uiminimap.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\uimap.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\uimap.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,10): error C2976: 'std::set': too few template arguments (compiling source file ..\src\client\uimap.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\uimap.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(87,19): error C2079: 'ThingTypeManager::m_marketCategories' uses undefined class 'std::set' (compiling source file ..\src\client\uimap.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(53,5): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\uimap.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\uimap.cpp)
1>C:\Users\DB\Documents\GitHub\otclient\3m-otclient\src\client\thingtypemanager.h(52,19): error C2027: use of undefined type 'std::set' (compiling source file ..\src\client\uimap.cpp)
1>c:\vcpkg\installed\x64-windows\include\boost\detail\container_fwd.hpp(139): message : see declaration of 'std::set' (compiling source file ..\src\client\uimap.cpp)
1>Done building project "otclient.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========```

beo-code avatar Dec 23 '20 16:12 beo-code

Alright, now let's add to your luavaluecasts.h file:

// set
template<typename T>
int push_luavalue(const std::set<T>& vec);

template<typename T>
bool luavalue_cast(int index, std::set<T>& vec);

below:

// vector
template<typename T>
int push_luavalue(const std::vector<T>& vec);

template<typename T>
bool luavalue_cast(int index, std::vector<T>& vec);

and also we want this:

template<typename T>
int push_luavalue(const std::set<T>& set)
{
    g_lua.createTable(set.size(), 0);
    int i = 1;
    for (const T& v : set) {
        push_internal_luavalue(v);
        g_lua.rawSeti(i);
        i++;
    }
    return 1;
}

template<typename T>
bool luavalue_cast(int index, std::set<T>& set)
{
    if (g_lua.isTable(index)) {
        g_lua.pushNil();
        while (g_lua.next(index < 0 ? index - 1 : index)) {
            T value;
            if (luavalue_cast(-1, value))
                set.insert(value);
            g_lua.pop();
        }
        return true;
    }
    return false;
}

below:

template<typename T>
bool luavalue_cast(int index, std::vector<T>& vec)
{
    if(g_lua.isTable(index)) {
        g_lua.pushNil();
        while(g_lua.next(index < 0 ? index-1 : index)) {
            T value;
            if(luavalue_cast(-1, value))
                vec.push_back(value);
            g_lua.pop();
        }
        return true;
    }
    return false;
}

okk3 avatar Dec 23 '20 16:12 okk3

Added both to client\luavaluecasts.h Issue building still persists. I can attach log files if required.

You got this @okk3 I have faith! :)

beo-code avatar Dec 23 '20 16:12 beo-code

Oh my god, I think there might be an issue with the code you pasted in: it's not inside client/luavaluecasts.h but inside framework/luaengine/luavaluecasts.h

Stupidity of mine to not define it properly.

Please re-read the comment I've edited before this one.

It's the plague of doing stuff on the issues page of GitHub in a very fast-paced rythm, I'm sorry.

okk3 avatar Dec 23 '20 16:12 okk3

No problem at all.

I've added your final changes to framework/luaengine/luavaluecasts.h https://pastebin.com/gHg4Hv7H

Build errors continue...

beo-code avatar Dec 23 '20 16:12 beo-code

what if you use #include <set> to framework/luaengine/luavaluecasts.h

image

okk3 avatar Dec 23 '20 16:12 okk3

So, the good news is that it builds! Bad news is that I still receive the same error when trying to login using 10.00 :( image ERROR: Failed to read dat '/things/1000/Tibia.dat': corrupt data (id: 625, category: 0, count: 255, lastAttr: 3)'

beo-code avatar Dec 23 '20 16:12 beo-code

Okay that's a plus already, I'll read some more source code and come back at you when I find something "feasible".

okk3 avatar Dec 23 '20 16:12 okk3

Honestly, I appreciate everything you're doing @okk3. Once again, I am more than happy to pay a small sum of $20 for not only the resolution, but your contribution to the community.

I look forward to hearing back from you soon!

beo-code avatar Dec 23 '20 16:12 beo-code

Any update on this @okk3 ?

FlowOverFail avatar Mar 31 '21 21:03 FlowOverFail