Skip to content
This repository has been archived by the owner. It is now read-only.
Permalink
Browse files

Syncing inventory, animations, position, 8 key attributes

Created Package system
  • Loading branch information...
Koncord
Koncord committed Jan 12, 2016
1 parent e362e3e commit 1b259e2d3309cc3868f97b3bb5ca685e2d17ba50
Showing with 31,940 additions and 298 deletions.
  1. +1 −0 .gitignore
  2. +12 −0 CMakeLists.txt
  3. +47 −0 OpenMW-mp changelog
  4. +25 −0 TES3MPTeam.md
  5. +90 −0 apps/opencs/main.cpp
  6. +124 −0 apps/openmw-mp/CMakeLists.txt
  7. +395 −0 apps/openmw-mp/Networking.cpp
  8. +45 −0 apps/openmw-mp/Networking.hpp
  9. +80 −0 apps/openmw-mp/Player.cpp
  10. +56 −0 apps/openmw-mp/Player.hpp
  11. +93 −0 apps/openmw-mp/Script/API/PublicFnAPI.cpp
  12. +42 −0 apps/openmw-mp/Script/API/PublicFnAPI.hpp
  13. +238 −0 apps/openmw-mp/Script/API/TimerAPI.cpp
  14. +70 −0 apps/openmw-mp/Script/API/TimerAPI.hpp
  15. +31 −0 apps/openmw-mp/Script/Functions/Chat.cpp
  16. +56 −0 apps/openmw-mp/Script/Functions/Items.cpp
  17. +408 −0 apps/openmw-mp/Script/Functions/Stats.cpp
  18. +49 −0 apps/openmw-mp/Script/Functions/Timer.cpp
  19. +106 −0 apps/openmw-mp/Script/Functions/Translocations.cpp
  20. +235 −0 apps/openmw-mp/Script/LangLua/LangLua.cpp
  21. +56 −0 apps/openmw-mp/Script/LangLua/LangLua.hpp
  22. +182 −0 apps/openmw-mp/Script/LangLua/LuaFunc.cpp
  23. +99 −0 apps/openmw-mp/Script/LangNative/LangNative.cpp
  24. +28 −0 apps/openmw-mp/Script/LangNative/LangNative.hpp
  25. +458 −0 apps/openmw-mp/Script/LangPawn/LangPAWN.cpp
  26. +46 −0 apps/openmw-mp/Script/LangPawn/LangPAWN.hpp
  27. +154 −0 apps/openmw-mp/Script/LangPawn/PawnFunc.cpp
  28. +27 −0 apps/openmw-mp/Script/Language.hpp
  29. +20 −0 apps/openmw-mp/Script/Platform.hpp
  30. +109 −0 apps/openmw-mp/Script/Script.cpp
  31. +155 −0 apps/openmw-mp/Script/Script.hpp
  32. +225 −0 apps/openmw-mp/Script/ScriptFunction.cpp
  33. +72 −0 apps/openmw-mp/Script/ScriptFunction.hpp
  34. +120 −0 apps/openmw-mp/Script/ScriptFunctions.cpp
  35. +227 −0 apps/openmw-mp/Script/ScriptFunctions.hpp
  36. +44 −0 apps/openmw-mp/Script/SystemInterface.hpp
  37. +101 −0 apps/openmw-mp/Script/Types.hpp
  38. +201 −0 apps/openmw-mp/Utils.cpp
  39. +69 −0 apps/openmw-mp/Utils.hpp
  40. +23 −0 apps/openmw-mp/amx/CMakeLists.txt
  41. +3,798 −0 apps/openmw-mp/amx/amx.c
  42. +545 −0 apps/openmw-mp/amx/amx.h
  43. +164 −0 apps/openmw-mp/amx/amxaux.c
  44. +50 −0 apps/openmw-mp/amx/amxaux.h
  45. +1,448 −0 apps/openmw-mp/amx/amxcons.c
  46. +17 −0 apps/openmw-mp/amx/amxcons.h
  47. +500 −0 apps/openmw-mp/amx/amxcore.c
  48. +1,361 −0 apps/openmw-mp/amx/amxexec_gcc.c
  49. +1,274 −0 apps/openmw-mp/amx/amxfile.c
  50. +379 −0 apps/openmw-mp/amx/amxfloat.c
  51. +1,012 −0 apps/openmw-mp/amx/amxstring.c
  52. +480 −0 apps/openmw-mp/amx/amxtime.c
  53. +1,334 −0 apps/openmw-mp/amx/fpattern.c
  54. +184 −0 apps/openmw-mp/amx/fpattern.h
  55. +766 −0 apps/openmw-mp/amx/linux/binreloc.c
  56. +80 −0 apps/openmw-mp/amx/linux/binreloc.h
  57. +104 −0 apps/openmw-mp/amx/linux/getch.c
  58. +15 −0 apps/openmw-mp/amx/linux/getch.h
  59. +49 −0 apps/openmw-mp/amx/linux/sclinux.h
  60. +31 −0 apps/openmw-mp/amx/minGlue.h
  61. +877 −0 apps/openmw-mp/amx/minIni.c
  62. +152 −0 apps/openmw-mp/amx/minIni.h
  63. +159 −0 apps/openmw-mp/amx/osdefs.h
  64. +136 −0 apps/openmw-mp/main.cpp
  65. +2 −1 apps/openmw/CMakeLists.txt
  66. +5 −5 apps/openmw/engine.cpp
  67. +53 −11 apps/openmw/mwclass/npc.cpp
  68. +2 −0 apps/openmw/mwinput/inputmanagerimp.cpp
  69. +12 −1 apps/openmw/mwmechanics/actors.cpp
  70. +2 −2 apps/openmw/mwmechanics/character.cpp
  71. +20 −1 apps/openmw/mwmechanics/combat.cpp
  72. +28 −1 apps/openmw/mwmechanics/spellcasting.cpp
  73. +404 −0 apps/openmw/mwmp/DedicatedPlayer.cpp
  74. +60 −0 apps/openmw/mwmp/DedicatedPlayer.hpp
  75. +237 −0 apps/openmw/mwmp/GUIChat.cpp
  76. +101 −0 apps/openmw/mwmp/GUIChat.hpp
  77. +22 −0 apps/openmw/mwmp/GUILogin.cpp
  78. +23 −0 apps/openmw/mwmp/GUILogin.hpp
  79. +453 −0 apps/openmw/mwmp/LocalPlayer.cpp
  80. +48 −0 apps/openmw/mwmp/LocalPlayer.hpp
  81. +203 −0 apps/openmw/mwmp/Main.cpp
  82. +46 −0 apps/openmw/mwmp/Main.hpp
  83. +520 −76 apps/openmw/mwmp/Networking.cpp
  84. +54 −8 apps/openmw/mwmp/Networking.hpp
  85. +0 −152 apps/openmw/mwmp/Player.cpp
  86. +0 −40 apps/openmw/mwmp/Player.hpp
  87. +79 −0 cmake/FindTerra.cmake
  88. +6 −0 components/CMakeLists.txt
  89. +148 −0 components/openmw-mp/Base/BasePlayer.hpp
  90. +43 −0 components/openmw-mp/NetworkMessages.hpp
  91. +82 −0 components/openmw-mp/Packets/BasePacket.cpp
  92. +101 −0 components/openmw-mp/Packets/BasePacket.hpp
  93. +29 −0 components/openmw-mp/Packets/PacketAttack.cpp
  94. +22 −0 components/openmw-mp/Packets/PacketAttack.hpp
  95. +21 −0 components/openmw-mp/Packets/PacketAttribute.cpp
  96. +22 −0 components/openmw-mp/Packets/PacketAttribute.hpp
  97. +25 −0 components/openmw-mp/Packets/PacketAttributesAndStats.cpp
  98. +23 −0 components/openmw-mp/Packets/PacketAttributesAndStats.hpp
  99. +29 −0 components/openmw-mp/Packets/PacketBaseInfo.cpp
  100. +21 −0 components/openmw-mp/Packets/PacketBaseInfo.hpp
  101. +29 −0 components/openmw-mp/Packets/PacketCell.cpp
  102. +24 −0 components/openmw-mp/Packets/PacketCell.hpp
  103. +19 −0 components/openmw-mp/Packets/PacketCharGen.cpp
  104. +24 −0 components/openmw-mp/Packets/PacketCharGen.hpp
  105. +18 −0 components/openmw-mp/Packets/PacketChatMessage.cpp
  106. +21 −0 components/openmw-mp/Packets/PacketChatMessage.hpp
  107. +18 −0 components/openmw-mp/Packets/PacketCreateProjectile.cpp
  108. +23 −0 components/openmw-mp/Packets/PacketCreateProjectile.hpp
  109. +29 −0 components/openmw-mp/Packets/PacketDie.hpp
  110. +24 −0 components/openmw-mp/Packets/PacketDisconnect.hpp
  111. +20 −0 components/openmw-mp/Packets/PacketDrawState.cpp
  112. +23 −0 components/openmw-mp/Packets/PacketDrawState.hpp
  113. +24 −0 components/openmw-mp/Packets/PacketEquiped.cpp
  114. +21 −0 components/openmw-mp/Packets/PacketEquiped.hpp
  115. +20 −0 components/openmw-mp/Packets/PacketHandshake.cpp
  116. +21 −0 components/openmw-mp/Packets/PacketHandshake.hpp
  117. +21 −0 components/openmw-mp/Packets/PacketMainStats.cpp
  118. +22 −0 components/openmw-mp/Packets/PacketMainStats.hpp
  119. +24 −0 components/openmw-mp/Packets/PacketPosition.cpp
  120. +21 −0 components/openmw-mp/Packets/PacketPosition.hpp
  121. +30 −0 components/openmw-mp/Packets/PacketResurrect.hpp
  122. +5 −0 components/openmw-mp/Packets/PacketRotation.cpp
  123. +15 −0 components/openmw-mp/Packets/PacketRotation.hpp
  124. +24 −0 components/openmw-mp/Packets/PacketSendMyID.hpp
  125. +24 −0 components/openmw-mp/Packets/PacketSkill.cpp
  126. +25 −0 components/openmw-mp/Packets/PacketSkill.hpp
  127. +137 −0 components/openmw-mp/PacketsController.cpp
  128. +67 −0 components/openmw-mp/PacketsController.hpp
  129. +142 −0 extern/LuaBridge/LuaBridge.h
  130. +1,794 −0 extern/LuaBridge/Manual.html
  131. +363 −0 extern/LuaBridge/RefCountedObject.h
  132. +251 −0 extern/LuaBridge/RefCountedPtr.h
  133. +442 −0 extern/LuaBridge/detail/CFunctions.h
  134. +73 −0 extern/LuaBridge/detail/ClassInfo.h
  135. +204 −0 extern/LuaBridge/detail/Constructor.h
  136. +852 −0 extern/LuaBridge/detail/FuncTraits.h
  137. +114 −0 extern/LuaBridge/detail/Iterator.h
  138. +113 −0 extern/LuaBridge/detail/LuaException.h
  139. +143 −0 extern/LuaBridge/detail/LuaHelpers.h
  140. +1,215 −0 extern/LuaBridge/detail/LuaRef.h
  141. +1,136 −0 extern/LuaBridge/detail/Namespace.h
  142. +469 −0 extern/LuaBridge/detail/Stack.h
  143. +174 −0 extern/LuaBridge/detail/TypeList.h
  144. +125 −0 extern/LuaBridge/detail/TypeTraits.h
  145. +817 −0 extern/LuaBridge/detail/Userdata.h
  146. +28 −0 extern/LuaBridge/detail/dump.h
  147. +3 −0 files/mygui/CMakeLists.txt
  148. +23 −0 files/mygui/tes3mp_login.layout
  149. +4 −0 files/mygui/tes3mp_login.skin.xml
  150. +23 −0 files/tes3mp/files/scripts/include/tes3mp.callbacks.inc
  151. +30 −0 files/tes3mp/files/scripts/include/tes3mp.functions.inc
  152. 0 files/tes3mp/files/scripts/include/tes3mp.inc
  153. +10 −0 files/tes3mp/files/scripts/include/tes3mp.transloc.inc
  154. +15 −0 files/tes3mp/files/scripts/include/tes3mp.world.inc
  155. +96 −0 files/tes3mp/files/scripts/script.pwn
  156. +16 −0 files/tes3mp/tes3mp-client-default.cfg
  157. +12 −0 files/tes3mp/tes3mp-server-default.cfg
@@ -21,6 +21,7 @@ Doxygen
.project
.settings
.directory
.idea
## qt-creator
CMakeLists.txt.user*

@@ -345,6 +345,12 @@ endif (APPLE)

# Other files

configure_file(${OpenMW_SOURCE_DIR}/files/tes3mp/tes3mp-client-default.cfg
"${OpenMW_BINARY_DIR}/tes3mp-client-default.cfg")

configure_file(${OpenMW_SOURCE_DIR}/files/tes3mp/tes3mp-server-default.cfg
"${OpenMW_BINARY_DIR}/tes3mp-server-default.cfg")

configure_file(${OpenMW_SOURCE_DIR}/files/settings-default.cfg
"${OpenMW_BINARY_DIR}/settings-default.cfg")

@@ -454,6 +460,11 @@ IF(NOT WIN32 AND NOT APPLE)
INSTALL(FILES "${OpenMW_BINARY_DIR}/resources/version" DESTINATION "${SYSCONFDIR}" COMPONENT "openmw")
INSTALL(FILES "${OpenMW_BINARY_DIR}/gamecontrollerdb.txt" DESTINATION "${SYSCONFDIR}" COMPONENT "openmw")

INSTALL(FILES "${OpenMW_BINARY_DIR}/tes3mp-client-default" DESTINATION "${SYSCONFDIR}" COMPONENT "openmw")
INSTALL(FILES "${OpenMW_BINARY_DIR}/tes3mp-client.install" DESTINATION "${SYSCONFDIR}" RENAME "tes3mp-client.cfg" COMPONENT "openmw")
INSTALL(FILES "${OpenMW_BINARY_DIR}/tes3mp-server-default" DESTINATION "${SYSCONFDIR}" COMPONENT "openmw-mp")
INSTALL(FILES "${OpenMW_BINARY_DIR}/tes3mp-server.install" DESTINATION "${SYSCONFDIR}" RENAME "tes3mp-server.cfg" COMPONENT "openmw-mp")

IF(BUILD_OPENCS)
INSTALL(FILES "${OpenMW_BINARY_DIR}/openmw-cs.cfg" DESTINATION "${SYSCONFDIR}" COMPONENT "opencs")
ENDIF(BUILD_OPENCS)
@@ -473,6 +484,7 @@ if(WIN32)
"${OpenMW_SOURCE_DIR}/Docs/license/GPL3.txt"
"${OpenMW_SOURCE_DIR}/Docs/license/DejaVu Font License.txt"
"${OpenMW_BINARY_DIR}/settings-default.cfg"
"${OpenMW_BINARY_DIR}/tes3mp-client-default.cfg"
"${OpenMW_BINARY_DIR}/gamecontrollerdb.txt"
"${OpenMW_BINARY_DIR}/Release/openmw.exe"
DESTINATION ".")
@@ -0,0 +1,47 @@
Сделано:
0.0.1b
Пофикшен сегфолт при атаке НПЦ
Интерполляция движения
Lua скриптинг
Чат
0.0.1a
Анимация атаки.
Синхронизация атаки melee/throw/bow/crossbow
Синхронизация здоровья/маны/стамины/смерти
Синхронизация характеристик и навыков
0.0.1
Синхронизация рассовых признаков
Синхронизация положения в мире
Синхронизация состояния (оружие/заклинание/ничего)
Синхронизация анимации перемещния и прыжков


Сделать:
0.0.1b
Закончить пакет атаки (нокаут, нокдаун, заклинания и зачарования)
Улучшить синхронизацию координат при нокауте/нокдауне/смерти
Частичная синхронизация состояния предметов (не ломаемые)
Синхронизация заклинаний
0.0.2
Вампиризм
Оборотни
Синхронизация состояния предметов
Синхронизация замков
Открывание дверей
Отпирание дверей
Взаимодействие с активаторами (хук?)
0.0.2b
Чистка кода
0.0.3
Синхронизция контейнеров
Лут
Воровство у др. игроков.
Выбрасывание/подбор вещей.

Future
Отключаемая консоль (~)
клиентские скриптовые функции для синхронизации
Синхронизация погоды
Синхронизация времени
Синхронизация НПЦ
Трейд
@@ -0,0 +1,25 @@
Tes3mp Team
============

Programmers
-----------

Stanislav (Koncord) Zhukov - The main loafer and part-time Project Leader


Testers:
--------

Volk Milit aka Ja'Virr-Dar - Team Manager, Debian Linux
Shnatsel - Debian Linux
Goodevil - Mint and Xubuntu Linux


Public Relations and Translations
---------------------------------

Volk Milit aka Ja'Virr-Dar - Public relations & News Writer
Shnatsel - Translator & News Writer


Thanks to developers of OpenMW. They do amazing things.
@@ -0,0 +1,90 @@
#include "editor.hpp"

#include <exception>
#include <iostream>
#include <string>

#include <QApplication>
#include <QIcon>
#include <QMetaType>

#include "model/doc/messages.hpp"

#include "model/world/universalid.hpp"

#ifdef Q_OS_MAC
#include <QDir>
#endif

Q_DECLARE_METATYPE (std::string)

class Application : public QApplication
{
private:

bool notify (QObject *receiver, QEvent *event)
{
try
{
return QApplication::notify (receiver, event);
}
catch (const std::exception& exception)
{
std::cerr << "An exception has been caught: " << exception.what() << std::endl;
}

return false;
}

public:

Application (int& argc, char *argv[]) : QApplication (argc, argv) {}
};

int main(int argc, char *argv[])
{
#ifdef Q_OS_MAC
setenv("OSG_GL_TEXTURE_STORAGE", "OFF", 0);
#endif

try
{
// To allow background thread drawing in OSG
QApplication::setAttribute(Qt::AA_X11InitThreads, true);

Q_INIT_RESOURCE (resources);

qRegisterMetaType<std::string> ("std::string");
qRegisterMetaType<CSMWorld::UniversalId> ("CSMWorld::UniversalId");
qRegisterMetaType<CSMDoc::Message> ("CSMDoc::Message");

Application application (argc, argv);

#ifdef Q_OS_MAC
QDir dir(QCoreApplication::applicationDirPath());
if (dir.dirName() == "MacOS") {
dir.cdUp();
dir.cdUp();
dir.cdUp();
}
QDir::setCurrent(dir.absolutePath());
#endif

application.setWindowIcon (QIcon (":./openmw-cs.png"));

CS::Editor editor;

if(!editor.makeIPCServer())
{
editor.connectToIPCServer();
return 0;
}
return editor.run();
}
catch (std::exception& e)
{
std::cerr << "ERROR: " << e.what() << std::endl;
return 0;
}

}
@@ -0,0 +1,124 @@
project(openmw-mp)

add_subdirectory(amx)

option(BUILD_WITH_PAWN "Enable Pawn language" OFF)
if(BUILD_WITH_PAWN)
#set(Pawn_ROOT ${CMAKE_SOURCE_DIR}/external/pawn/)
set(Pawn_INCLUDES ${Pawn_ROOT}/include)
set(Pawn_LIBRARY ${Pawn_ROOT}/lib/libamx.a)
set(PawnScript_Sources
Script/LangPawn/LangPAWN.cpp
Script/LangPawn/PawnFunc.cpp)
set(PawnScript_Headers ${Pawn_INCLUDES}
Script/LangPawn/LangPAWN.hpp
)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DENABLE_PAWN -DPAWN_CELL_SIZE=64")
#include_directories(${Pawn_INCLUDES})
include_directories("./amx/linux")
endif(BUILD_WITH_PAWN)

option(BUILD_WITH_LUA "Enable Terra/Lua language" ON)
if(BUILD_WITH_LUA)
#set(Terra_ROOT ${CMAKE_SOURCE_DIR}/external/terra/)
find_package(Terra REQUIRED)
set(LuaScript_Sources
Script/LangLua/LangLua.cpp
Script/LangLua/LuaFunc.cpp)
set(LuaScript_Headers ${Terra_INCLUDES} ${CMAKE_SOURCE_DIR}/extern/LuaBridge ${CMAKE_SOURCE_DIR}/extern/LuaBridge/detail
Script/LangLua/LangLua.hpp)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DENABLE_LUA")
include_directories(${Terra_INCLUDES} ${CMAKE_SOURCE_DIR}/extern/LuaBridge)
endif(BUILD_WITH_LUA)

set(NativeScript_Sources
Script/LangNative/LangNative.cpp
)
set(NativeScript_Headers
Script/LangNative/LangNative.hpp
)

# local files
set(SERVER
main.cpp
Player.cpp
Networking.cpp
Utils.cpp
Script/Script.cpp Script/ScriptFunction.cpp
Script/ScriptFunctions.cpp
Script/Functions/Translocations.cpp Script/Functions/Stats.cpp Script/Functions/Items.cpp
Script/Functions/Timer.cpp Script/Functions/Chat.cpp
Script/API/TimerAPI.cpp Script/API/PublicFnAPI.cpp
${PawnScript_Sources}
${LuaScript_Sources}
${NativeScript_Sources}

)

set(SERVER_HEADER
Script/Types.hpp Script/Script.hpp Script/SystemInterface.hpp
Script/ScriptFunction.hpp Script/Platform.hpp
Script/ScriptFunctions.hpp Script/API/TimerAPI.hpp Script/API/PublicFnAPI.hpp
${PawnScript_Headers}
${LuaScript_Headers}
${NativeScript_Headers}
)
source_group(openmw-mp FILES ${SERVER} ${SERVER_HEADER})

include_directories("./")

# Main executable

add_executable(openmw-mp
${SERVER_FILES}
${SERVER} ${SERVER_HEADER}
${APPLE_BUNDLE_RESOURCES}
)
add_definitions(-std=gnu++11)

target_link_libraries(openmw-mp
${OSG_LIBRARIES}
${OPENTHREADS_LIBRARIES}
${OSGPARTICLE_LIBRARIES}
${OSGUTIL_LIBRARIES}
${OSGDB_LIBRARIES}
${OSGVIEWER_LIBRARIES}
${OSGGA_LIBRARIES}
${Boost_SYSTEM_LIBRARY}
${Boost_THREAD_LIBRARY}
${Boost_FILESYSTEM_LIBRARY}
${Boost_PROGRAM_OPTIONS_LIBRARY}
${BULLET_LIBRARIES}
${RakNet_LIBRARY}
components
amx
${Terra_LIBRARY}
${Pawn_LIBRARY}
)

if (USE_SYSTEM_TINYXML)
target_link_libraries(openmw-mp ${TINYXML_LIBRARIES})
endif()

if (UNIX)
target_link_libraries(openmw-mp dl)
# Fix for not visible pthreads functions for linker with glibc 2.15
if(NOT APPLE)
target_link_libraries(openmw-mp ${CMAKE_THREAD_LIBS_INIT})
endif(NOT APPLE)
endif(UNIX)

if (BUILD_WITH_CODE_COVERAGE)
add_definitions (--coverage)
target_link_libraries(openmw-mp gcov)
endif()

if (MSVC)
# Debug version needs increased number of sections beyond 2^16
if (CMAKE_CL_64)
set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /bigobj")
endif (CMAKE_CL_64)
add_definitions("-D_USE_MATH_DEFINES")
endif (MSVC)

0 comments on commit 1b259e2

Please sign in to comment.
You can’t perform that action at this time.