Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to play with 10.0 data #1114

Open
grepwood opened this issue Nov 2, 2020 · 19 comments
Open

Unable to play with 10.0 data #1114

grepwood opened this issue Nov 2, 2020 · 19 comments

Comments

@grepwood
Copy link

grepwood commented Nov 2, 2020

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 c6d0fc0

@beo-code
Copy link

Same issue occurs for me.

@okk3
Copy link
Contributor

okk3 commented Dec 23, 2020

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

@beo-code
Copy link

beo-code commented Dec 23, 2020

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!

@okk3
Copy link
Contributor

okk3 commented Dec 23, 2020

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

@beo-code
Copy link

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

@okk3
Copy link
Contributor

okk3 commented Dec 23, 2020

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

@beo-code
Copy link

beo-code commented Dec 23, 2020

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;

@okk3
Copy link
Contributor

okk3 commented Dec 23, 2020

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.

@beo-code
Copy link

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
Copy link

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 ==========```

@okk3
Copy link
Contributor

okk3 commented Dec 23, 2020

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;
}

@beo-code
Copy link

beo-code commented Dec 23, 2020

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

You got this @okk3 I have faith! :)

@okk3
Copy link
Contributor

okk3 commented Dec 23, 2020

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.

@beo-code
Copy link

No problem at all.

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

Build errors continue...

@okk3
Copy link
Contributor

okk3 commented Dec 23, 2020

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

image

@beo-code
Copy link

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)'

@okk3
Copy link
Contributor

okk3 commented Dec 23, 2020

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

@beo-code
Copy link

beo-code commented Dec 23, 2020

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!

@FlowOverFail
Copy link

Any update on this @okk3 ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants