Jump to content
  • 0

[solved] mangos-one manual core upgrade


Valanar

Question

Suppose someone were to manually change code in the core and successfully compiled a new version. What files would you need a copy and to where?

For example,

Suppose you wanted to add additional functionality to the EventAI. These changes get placed into game.lib as those scripts are part of that project. When compiled game.lib is placed into MaNGOS-One/win/VC100/game_Win32_Release/game.lib. Perhaps that's linked inside of another object library like ACE.lib?

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

Sorry for the delay writing back. Yes it is Windows. And you mention copying back the script library. which dll is that when recompiling the core?

the mangos DLLs and the scriptdev dll's are normally in the bin folder under mangos after building (on my system.... mangos/bin/win32_release

Link to comment
Share on other sites

I figured it out I think. When the core is rebuilt, the 5 main scripting files are placed into dep/lib/win32_release and the 2 mangosd and 3 realmd files are placed into bin/win32_released. When scriptdev2 is recompiled, those 4 mangosd files are all placed into bin/win32_release. Sound right?

Link to comment
Share on other sites

Yes I understand that but after the core is already built and you want to make changes to the core (like the EventAI, or PVP, etc), what object libraries do you need to move around from the win32_release folders under win for the changes to go in? Or are the DLLs in the main folder or the bin folder already pointing to these libraries?

Link to comment
Share on other sites

I see you're working on Windows, so I bet you're using the Visual Studio projects.

When you make changes to code, just rebuild the relevant projects. In most cases, that will be the mangos project for starters (the core). After that, rebuild the scripting library if you touched relevant headers (or just when in doubt). Then copy the new mangosd executable and the scripting DLL and you should be fine.

The game.lib you mention is one of the static libraries that are built along the way (think of a static libraries as 'containers with compiled code'). Several of them are eventually linked together to form the core's executable and scripting DLL, so no need to copy any of those. They are basically just temporary files that are used to create the exe and DLL files.

In theory, and depending on your changes, it might be needed to rebuild more than just the two projects I mentioned. If you fiddled with ACE for example, you'll have to rebuild ACE etc too, and perhaps the realm project etc. But I'd say those are rare cases. I don't think I've ever had to rebuild more than the core and scriptdev2.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use