Commit Graph

322 Commits (experimental)

Author SHA1 Message Date
Koncord 465a05bad0 [Client] Add ability to look like a creature for the DedicatedPlayers 8 years ago
Koncord a4e45de6ca [General] Fix playersCount 8 years ago
David Cernat 6a21ec1fdc [General] Rename PlayerPos into PlayerPosition 8 years ago
David Cernat 7b07d6651f [General] Add and use PlayerBounty packet and matching script functions 8 years ago
Koncord 6e8750b9e4 [General] Change list players to vector players 8 years ago
Koncord 9643eb6026 [Master] Notify server about announce state
Rename structure Server to QueryData
8 years ago
David Cernat 2eaa25e7d4 [General] Update version to 0.6-alpha 8 years ago
David Cernat f4c3a28141 [General] Finalize ActorCellChange packet structure 8 years ago
Koncord 546bb42abb [General] Add Master Packets 8 years ago
Koncord 5854f680f0 [General] Add Master data types 8 years ago
Koncord 41005b1add [General] Add orderChannel to packets 8 years ago
David Cernat f2e8e14665 [General] Add shouldSend boolean to mwmp::Attack 8 years ago
David Cernat cc2250815d [General] Add packet data for attacks on and by Actors 8 years ago
David Cernat b1a394cd02 [General] Change chars into bools in mwmp::Attack for clarity 8 years ago
David Cernat a650683bae [General] Add and use Target struct in mwmp::Attack 8 years ago
David Cernat 9882ceedf3 [General] Remove attackerGuid from mwmp::Attack because it is redundant 8 years ago
David Cernat caf5428532 [General] Rename mwmp::Attack vars in preparation for Actor support 8 years ago
David Cernat 2397afc6ce [General] Move mwmp::Attack to BaseStructs 8 years ago
David Cernat 9f226253d4 [General] Rename mwmp::Attack's refid into refId for consistency 8 years ago
David Cernat f0f0b2dcc9 [General] Send and read ActorSpeech packets 8 years ago
David Cernat 1fb11dafef [General] Send and read ActorStatsDynamic packets 8 years ago
David Cernat 870886192b [General] Rename DYNAMICSTATS into STATS_DYNAMIC 8 years ago
David Cernat ca8fd1aa72 [General] Remove ActorHeadRotation packet because it would be too spammy 8 years ago
David Cernat 2872675f5e [General] Send and read ActorAnimPlay packets 8 years ago
David Cernat e7960eee76 [General] Rename DrawState packets into AnimFlags ones for clarity 8 years ago
David Cernat d2fe777f89 [General] Send and read ActorDrawState packets 8 years ago
David Cernat 10ad5b2a99 [General] Remove BaseActor's AnimStates that are no longer needed 8 years ago
David Cernat 0d196af685 [General] Add placeholders for 7 new ActorPackets 8 years ago
David Cernat 7700b82952 [General] Clean up BaseEvent and BaseStructs 8 years ago
David Cernat 7662297334 [General] Use ESM::Position to store BaseActor's movement 8 years ago
David Cernat 742d6f653a [General] Add ActorPosition packet 8 years ago
David Cernat b6c3830ea0 [General] Rename WorldObject's pos into position for consistency 8 years ago
David Cernat 174f316787 [General] Rename PacketActorFrame into PacketActorTest 8 years ago
David Cernat a5d0486c82 [General] Set actor data correctly 8 years ago
David Cernat c52084a028 [General] Use BaseActorLists in ActorPackets 8 years ago
David Cernat 4f3d05eed2 [General] Add ActorList class 8 years ago
David Cernat 070c6a3bd4 [General] Add ActorPacketController & make controller var names clearer 8 years ago
David Cernat b8ca2382c7 [General] Remove variables that are not going to be used in ActorFrame 8 years ago
David Cernat d3f3fb5d05 [Client] Correctly implement movement animation sync for NPCs 8 years ago
David Cernat d829d219c3 [General] Add (very) partial animation sync for NPCs 8 years ago
David Cernat 67ec81ad0c [Client] Use utility function for converting strings in mwmp::Cell 8 years ago
David Cernat d24cde16dd [General] Add simple BaseActor and LocalActor classes 8 years ago
David Cernat 8f18dc87c4 [General] Model ActorList on Container more closely by including action 8 years ago
David Cernat 8c2469bf6d [General] Add placeholder ActorList, ActorAuthority & ActorFrame packets 8 years ago
David Cernat 2bd81c3de0 [Client] Use mpNum for every WorldObject 8 years ago
David Cernat ddedcac510 [General] Read and write mpNums in world packets 8 years ago
David Cernat 8cc61b6048 [General] Generate mpNums on the server when forwarding ID_OBJECT_PLACE 8 years ago
Koncord 1d2a6d9056 [Server] Rename dontRead to avoidReading 8 years ago
Koncord 4daf471874 [General] Add dontRead flag 8 years ago
Koncord 48a59cf9e9 [General] Add new class BasePacketProcessor 8 years ago
Koncord 3d294500ba [General] Use std::replace() instead for-each in Utils::convertPath() 8 years ago
Koncord 435d9780a7 [General] Fix PacketPreInit 8 years ago
Koncord 690211ad99 [General] Extract BaseEvent & BasePlayer from packets to functions
Move Send and Read functions to BasePacket
8 years ago
Koncord 0c1905e842 [General] Add PreInit packet 8 years ago
Koncord 0d53a6916d [General] Move repeated code in Packet() to base class 8 years ago
Koncord c353e18645 [General] Move Utils from server to components
Rewrite CRC32 functions to the Boost equivalent
8 years ago
David Cernat 5c269a5f8d [General] Rename ID_GAME_DIE and ID_GAME_RESURRECT 8 years ago
David Cernat 4aaa9ed694 [General] Update version to 0.5.2 8 years ago
David Cernat e6bc7ad463 [General] Make all flying players fly correctly, including TCL users 8 years ago
David Cernat 060e440ab2 [General] Update version to 0.5.1 8 years ago
Koncord 715422aff6 [General] Fix memory leak in Log dtor 8 years ago
Koncord e3f4c63ea6 [General] Delete invalid & redundant code 8 years ago
Koncord 059043fea9 [General] Change signature of BaseEvent::action 8 years ago
Koncord 158e9b3b09 [Server] Add ability to set password to server from config & scripts 8 years ago
David Cernat 3e50cf60e7 [General] Update version to 0.5.0 8 years ago
David Cernat a4526605a6 [General] Remove goldValue from ContainerItem because it is never useful 8 years ago
David Cernat 4f2b88df8a [General] Remove owner var from ContainerItem because it is always empty 8 years ago
David Cernat 941d6269c1 [General] Slightly reorder variables in ID_OBJECT_PLACE 8 years ago
David Cernat 27c4015f50 [General] Remove unused packet placeholder ID_OBJECT_HEALTH 8 years ago
David Cernat 3b604a432e [General] Restructure ID_CONTAINER to allow multiple containers at once 8 years ago
David Cernat c8cbfbef62 [General] Sketch out server requests to players for container data 8 years ago
David Cernat 6144ca95d8 Set version to 0.4.2 8 years ago
David Cernat 5038353792 [General] Rename BaseEvent's state into doorState & adjust related funcs 8 years ago
David Cernat d8a9a5f6c9 [General] Send item owner in ID_CONTAINER 8 years ago
David Cernat 3614b21e10 [General] Send charge and goldValue in ID_CONTAINER 8 years ago
David Cernat 182b238b5f [General] Rename WorldEvent into BaseEvent 8 years ago
David Cernat 75392297b5 [General] Use vector::at in most places 8 years ago
David Cernat 60d6a6d463 [Client] See when other players remove items from containers 8 years ago
David Cernat f314b13edf [General] Rename item health into charge, for consistency with OpenMW 8 years ago
David Cernat ecc456fea9 [General] Include charge int in WorldObject & send it w/ ID_OBJECT_PLACE 8 years ago
David Cernat 04d45b9dbb [General] Rename packets to show they are for players only, not NPCs 8 years ago
David Cernat 9f8bed9be1 [General] Add action types to WorldEvent's ContainerChanges 8 years ago
David Cernat a07e616878 [General] Add ContainerItem and ContainerChanges structs to WorldEvent 8 years ago
David Cernat 6328ffb9aa [General] In ID_GAME_ATTRIBUTE & ID_GAME_SKILL, rename GAME into PLAYER 8 years ago
David Cernat 9130c1f302 [General] Rename ID_CONTAINER_ADD into ID_CONTAINER 8 years ago
David Cernat d2cf96af99 [General] Repurpose the unused ID_CONTAINER_REMOVE into ID_OBJECT_HEALTH 8 years ago
David Cernat c1427b2558 [General] Simultaneously send loads & unloads in ID_PLAYER_CELL_STATE 8 years ago
David Cernat 958ff06ca8 [General] Rename ID_DOOR_ACTIVATE into ID_DOOR_STATE 8 years ago
David Cernat 2c5cc82f49 [Server] Add script functions for getting world object placement info 8 years ago
David Cernat 15ed4b8da6 [Components] Use 24 hour format instead of 12 for log file timestamps 8 years ago
David Cernat 8bc6dfe590 [General] Remove duplicate constructor in PacketObjectUnlock 8 years ago
David Cernat 9f1e491a75 [General] Make WorldEvents store information about multiple objects 8 years ago
David Cernat 244da19a51 [General] Turn ID_PLAYER_CELL_LOAD into ID_PLAYER_CELL_STATE for clarity 8 years ago
David Cernat 4dc0ba21ec [General] Fix packet ID for ID_PLAYER_CELL_LOAD 8 years ago
David Cernat 97aabf4a7d [General] Sketch out sending of cell loading/unloading info in packets 8 years ago
David Cernat 158d606477 [General] Leave one blank line at the end of every tes3mp code file 8 years ago
David Cernat 63c8a98083 [General] Stop using virtual functions in BasePlayer 8 years ago
David Cernat 1d9c6ddd81 [General] Add placeholders for the new packet ID_PLAYER_CELL_LOAD 8 years ago
David Cernat 35e453dec3 [General] Sketch out most of functionality for journal saving/loading 8 years ago
David Cernat d308897f95 Rename PacketItems, PacketSpells into InventoryChanges, SpellbookChanges 8 years ago
David Cernat e2c595fc5d Add preliminary structure for journal changes 8 years ago
David Cernat e9b22814b9 Create placeholder for ID_GAME_JOURNAL 8 years ago
David Cernat a69f294ef0 Rename ID_GAME_CELL into ID_PLAYER_CELL_CHANGE 8 years ago
David Cernat 83277a1512 Send spellbook in LocalPlayer CharGen & change UPDATE action name to SET 8 years ago
David Cernat 33e85c54de Rename BasePlayer Inventory & Spellbook into PacketItems & PacketSpells
This avoids confusion when either of those is used to store and send a single item, and no longer requires coming up with confusing variable names like realSpellbook or realInventory for actual full spellbooks and inventories.
8 years ago
David Cernat 78c6ab2a99 Clean up client Networking by putting item & spell logic in LocalPlayer 8 years ago
David Cernat 253ded1ee3 Use new getFilenameStamp() method to generate timestamps for filenames 8 years ago
David Cernat 3932654d5d Use log filenames w/ timestamps instead of adding numbers to their ends 8 years ago
Koncord b5c586d5b7 Add and implement ID_MASTER_QUERY 8 years ago
Koncord 6311745595 Update version 8 years ago
Koncord 7595b33461 Implement spellbook 8 years ago
Koncord 6e6237541a Fix "comparison between signed and unsigned integer expressions" 8 years ago
Koncord 561a88d441 Fix "comparison between signed and unsigned integer expressions" 8 years ago
Koncord efb40b3c66 Remove redundant code 8 years ago
Koncord 11be8ed005 Rename copyOldLog to renameOldLog 8 years ago
Koncord f7b4aea85b add function for keeping old logs 8 years ago
Koncord 7b3e487f91 Register packet ActiveSkills in packet controller 8 years ago
Koncord b1bb552b65 Add packet ActiveSkills 8 years ago
David Cernat 9e290ad799 Fix spacing irregularities 8 years ago
David Cernat 95efb77e53 Implement sending of ID_GAME_SPELLBOOK from client 8 years ago
David Cernat 6ea5f08e9c Create placeholder for ID_GAME_SPELLBOOK 8 years ago
David Cernat 6c8c0827ea Move RequestData() method to BasePacket 8 years ago
David Cernat fd6dd5daa8 Fix packetID for new packet 8 years ago
David Cernat ae39daf76a Add and implement ID_MUSIC_PLAY 8 years ago
Koncord 19240b825d Fix macro for MSVC 8 years ago
Koncord b57ed2c119 Fix parameter type mismatch 8 years ago
Koncord e2522fa366 Simplify LOG macros 8 years ago
David Cernat 6cd959fac8 Rename BasePlayer's GetCell() into getCell() 8 years ago
David Cernat fa9d6e810e Use lowerCamelCase in tes3mp client function names like OpenMW does 8 years ago
David Cernat f7b5e5e638 Ignore packets from server that try to move LocalPlayer to invalid cells 8 years ago
Koncord 56959ebfda Implement magic 8 years ago
Koncord 37e9cafbf7 Add new API function: SetConsoleAllow
example:
tes3mp.SetConsoleAllow(pid, 0) -- disallow console to the player

The console is allowed by default
8 years ago
Koncord adb49b7c7d Add New GUI dialog: ListBox
Example:

local GUI_LISTBOX = 42

function OnPlayerSendMessage(pid, message)
    if message == "/lb" then
        local items = "consectetur adipiscing elit\nsed do eiusmod tempor incididunt ut labore\net dolore magna aliqua." -- items can be separated through newline
        local label = "Lorem ipsum dolor sit amet"
        tes3mp.ListBox(pid, GUI_LISTBOX, label, items)
    end
end

function OnGUIAction(pid, idGui, data)
    if idGui == GUI_LISTBOX then
        print("ID: " .. idGui .. " data: " .. tostring(data)) -- if value higher than last item id
    end
end
8 years ago
David Cernat 41504bd02a Use more accurate position for ID_OBJECT_PLACE 8 years ago
David Cernat 937bf97883 Send gold values correctly with ID_OBJECT_PLACE 8 years ago
David Cernat 180aa3f2f3 Send item count ID_WORLD_OBJECT_PLACE 8 years ago
David Cernat 46397a7dac Add and implement ID_OBJECT_ANIM_PLAY 8 years ago
David Cernat fd4085725e Set version to 0.3.0 8 years ago
David Cernat c205e793cb Add and implement ID_SCRIPT_MEMBER_SHORT 8 years ago
David Cernat 97468980af Add and implement 3 new WorldPackets for ingame script variable values 8 years ago
David Cernat 385b5f39e3 Add and implement ID_OBJECT_ROTATE 8 years ago
David Cernat 54ed9a7ab4 Implement ID_OBJECT_MOVE and send it from ingame scripts 8 years ago
David Cernat 0fb9b6eefb On second thought, rename ID_OBJECT_MOVE_WORLD into ID_OBJECT_MOVE 8 years ago
David Cernat 947a677801 Replace ID_ACTIVATOR_ACTIVATE with ID_OBJECT_MOVE_WORLD 8 years ago
David Cernat c25ebc34b3 Shorten WorldPacket IDs by removing WORLD from them 8 years ago
David Cernat bdb53e1cb4 Implement ID_WORLD_DOOR_ACTIVATE and send it from MWBase::World 8 years ago
David Cernat 7264f13b8e Implement ID_WORLD_OBJECT_SCALE and send it from ingame scripts 8 years ago
David Cernat 52d156e136 Make server able to receive the 5 new WorldPackets 8 years ago
David Cernat 4f0a3e8aa1 Add placeholders for 5 new WorldPackets 8 years ago
David Cernat b6111d16cc Add and implement ID_WORLD_VIDEO_PLAY 8 years ago