Clone of UAS2 @ https://github.com/drudgedance/uas2

main.html 6.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <title>UAS2: UAS2 Documentation</title>
  6. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  7. <link href="doxygen.css" rel="stylesheet" type="text/css"/>
  8. </head>
  9. <body>
  10. <!-- Generated by Doxygen 1.6.2 -->
  11. <div class="navigation" id="top">
  12. <div class="tabs">
  13. <ul>
  14. <li class="current"><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  15. <li><a href="annotated.html"><span>Classes</span></a></li>
  16. <li><a href="files.html"><span>Files</span></a></li>
  17. </ul>
  18. </div>
  19. </div>
  20. <div class="contents">
  21. <h1>UAS2 Documentation </h1><h2><a class="anchor" id="UAS2Intro">
  22. Introduction</a></h2>
  23. <p>The Universal Asheron's Call Server project seeks to create an emulation server of the online game Asheron's Call while respecting the legal privileges retained by the game's developers.</p>
  24. <p>UAS2 is a continuation of the UAS project, which can be found at <a href="http://sourceforge.net/projects/acemulator/.">http://sourceforge.net/projects/acemulator/.</a> The goal of UAS2 is to continue to develop the appropriate framework for an Asheron's Call server. The collection of data that may be used to populate this framework is tasked to a sister project, UAS2db, which can also can found in the source.</p>
  25. <p>The project source is located at <a href="http://sourceforge.net/projects/uas2.">http://sourceforge.net/projects/uas2.</a></p>
  26. <h2><a class="anchor" id="UAS2Classes">
  27. Class Overview</a></h2>
  28. <p>The entry point of the UAS2 application is WinMain in <a class="el" href="_win_main_8cpp.html">WinMain.cpp</a>.</p>
  29. <p>There are several top-level processess: </p>
  30. <ul>
  31. <li>
  32. <p class="startli"><a class="el" href="classc_master_server.html">cMasterServer</a>: Controls the loading and unloading of world data (threaded). </p>
  33. <ul>
  34. <li>
  35. The MasterServer thread is created as the game server is started. </li>
  36. </ul>
  37. <p class="endli"></p>
  38. </li>
  39. <li>
  40. <p class="startli"><a class="el" href="classc_character_server.html">cCharacterServer</a>: Receives and processes communication between the server and client when the client is NOT in-world. </p>
  41. <ul>
  42. <li>
  43. Client login to and logout from the server. </li>
  44. <li>
  45. Character creation and deletion. </li>
  46. </ul>
  47. <p class="endli"></p>
  48. </li>
  49. <li>
  50. <p class="startli"><a class="el" href="classc_world_server.html">cWorldServer</a>: Receives and processes communication between the server and client concerning avatar actions when the client is in-world.<br/>
  51. </p>
  52. <ul>
  53. <li>
  54. Client character communication with the server.<br/>
  55. (The Client/Server protocol used can be found on the <a href="http://decal.insanity-inc.org/protocol/Documentation.aspx">Decal Documentation website</a>) </li>
  56. </ul>
  57. <p class="endli"></p>
  58. </li>
  59. <li>
  60. cMonsterServer: Processes monster actions that are to be sent to the client. Located in <a class="el" href="c_monster_server_8cpp.html">cMonsterServer.cpp</a>. </li>
  61. </ul>
  62. <p>There are several types of objects. The base object class is <a class="el" href="classc_object.html">cObject</a>. Most objects derive from this class. </p>
  63. <ul>
  64. <li>
  65. <p class="startli">The avatar object is implemented in the <a class="el" href="classc_avatar.html">cAvatar</a> class.</p>
  66. <p class="endli"></p>
  67. </li>
  68. <li>
  69. <p class="startli">Monster objects are implemented in the <a class="el" href="classc_monster.html">cMonster</a> class. Monster AI is dictated by SimpleAI, while cMonsterServer (<a class="el" href="c_monster_server_8cpp.html">cMonsterServer.cpp</a>) processes and sends the data.</p>
  70. <p class="endli"></p>
  71. </li>
  72. <li>
  73. <p class="startli">World Objects (objects, generally static, loaded in the world) are implemented in their respective classes. All world objects are initialized using a constructor when the world is loaded. </p>
  74. <ul>
  75. <li>
  76. These classes include: <a class="el" href="classc_altar.html">cAltar</a>, <a class="el" href="classc_chest.html">cChest</a>, <a class="el" href="classc_covenant.html">cCovenant</a>, <a class="el" href="classc_door.html">cDoor</a>, <a class="el" href="classc_hooks.html">cHooks</a>, <a class="el" href="classc_house.html">cHouse</a>, <a class="el" href="classc_lifestone.html">cLifestone</a>, <a class="el" href="classc_merchant_sign.html">cMerchantSign</a>, <a class="el" href="classc_portal.html">cPortal</a>, <a class="el" href="classc_storage.html">cStorage</a>, <a class="el" href="classc_world_object.html">cWorldObject</a> </li>
  77. </ul>
  78. <p class="endli"></p>
  79. </li>
  80. <li>
  81. Item Objects (non-static, usually inventoriable objects) are implemented in their respective classes. <ul>
  82. <li>
  83. These classes include: <a class="el" href="classc_ammo.html">cAmmo</a>, <a class="el" href="classc_armor.html">cArmor</a>, <a class="el" href="classc_books.html">cBooks</a>, <a class="el" href="classc_clothes.html">cClothes</a>, <a class="el" href="classc_foci.html">cFoci</a>, <a class="el" href="classc_gems.html">cGems</a>, <a class="el" href="classc_healing_con.html">cHealingCon</a>, <a class="el" href="classc_healing_kits.html">cHealingKits</a>, <a class="el" href="classc_jewelry.html">cJewelry</a>, <a class="el" href="classc_lockpicks.html">cLockpicks</a>, <a class="el" href="classc_mana_stones.html">cManaStones</a>, <a class="el" href="classc_misc.html">cMisc</a>, <a class="el" href="classc_pack.html">cPack</a>, <a class="el" href="classc_plants.html">cPlants</a>, <a class="el" href="classc_pyreals.html">cPyreals</a>, <a class="el" href="classc_salvage.html">cSalvage</a>, <a class="el" href="classc_scrolls.html">cScrolls</a>, <a class="el" href="classc_shield.html">cShield</a>, <a class="el" href="classc_spell_comps.html">cSpellComps</a>, <a class="el" href="classc_trade_notes.html">cTradeNotes</a>, <a class="el" href="classc_wands.html">cWands</a>, <a class="el" href="classc_weapon.html">cWeapon</a>. </li>
  84. </ul>
  85. </li>
  86. </ul>
  87. <p>The class <a class="el" href="classc_portal_dat.html">cPortalDat</a> handles the loading of information from the portal.dat file.<br/>
  88. The class <a class="el" href="classc_land_block.html">cLandBlock</a> handles the loading of information from the cell.dat file.<br/>
  89. </p>
  90. <h2><a class="anchor" id="UAS2DB">
  91. UAS2DB Overview</a></h2>
  92. <p>UAS2DB is the collection of raw data to be used to populate the world of Asheron's Call.</p>
  93. <p>The data is predominantely in the form of raw packet data, so as to capture and store all possible relevant information.</p>
  94. <p>To be usable by UAS2, the relevant data must be extracted and converted into MySQL form and ultimately uploaded to the UAS2 database. The UAS2 Capture Tool, or any similar tool, is intended to perform this function. </p>
  95. </div>
  96. <hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
  97. <a href="http://www.doxygen.org/index.html">
  98. <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
  99. </body>
  100. </html>