Commit graph

180 commits

Author SHA1 Message Date
FateJH
249eb96cc5 hack testing; RepairMessage is suitable for a progress bar for now but it needs replacing with the correct operation and the last part feels wrong 2017-10-13 14:58:21 -04:00
FateJH
7fcac7fc25 automated doors, IFF locks, and bases thus that only permissible doors can be opened by players of correct faction alignment; Base is just a prototype example, hastily created for this functionality; LocalService will eventually be used for doors messages (and other things) 2017-10-13 14:58:21 -04:00
FateJH
fa633aa79d started doors 2017-10-13 14:58:21 -04:00
FateJH
5de1c4e202 created Definition for cert_terminal, involving the definition itself and an entry in GlobalDefinitions; wired up the three terminals in the closest HART building such that the player can get and let go of certifications; fixed typo in certification enum; added a comment to PSAM 2017-10-04 22:12:05 -04:00
FateJH
92b6883fa0 switched NumberPoolAccessorActor out for UniqueNumberSystem; created file that enumerates object types for future reference
cleaned up folder object/guid, except for contents of objects/guid/selectors
2017-09-27 22:12:36 -04:00
Fate-JH
bf178a1b34 Merge branch 'master' into continents 2017-09-23 21:57:48 -04:00
FateJH
61535bc232 moved files from /continent/ to /zones/; separated Actor for managing items on the ground; added comments 2017-09-23 20:34:41 -04:00
FateJH
186c4ccba9 introduced a 'more elegant' method of adding objects to the Zones via ServerObjectBuilder; pushed information about specifics of Zone into ZoneMap object; shuffled around initialization responsibility to make this agreeable 2017-09-22 21:34:08 -04:00
FateJH
2076100b50 reorganized initialization of Zones and Terminals 2017-09-21 22:38:41 -04:00
FateJH
981acadae5 using three Terminals known to the continent home3 2017-09-21 12:24:28 -04:00
FateJH
0c7c4dc58f prototyping utility addition to Zones; resolved issue with Avatar registration causing onFailure case to fire on success 2017-09-20 23:19:19 -04:00
FateJH
402d4c5b3e renamed Continent* to Zone*; fleshed out example loading fucntionality 2017-09-19 20:51:48 -04:00
FateJH
ce8d61a4d3 transferred control of dropping and collecting objects to the Continent scope; solve a bug that had to do with collecting dropped equipment 2017-09-16 02:04:34 -04:00
FateJH
99b019714b added basic Continent management system as a service; hooked it into WSA, at least as far as home3 is concerned; transferred GUID test functions to continent-level 2017-09-15 22:26:36 -04:00
FateJH
a0252e8d9a DetailedCharData now divides Lists using pattern matching; restored spontaneous avatar in WSA 2017-09-08 19:58:20 -04:00
FateJH
69af5124ba added an Enumeration of certifications 2017-09-08 19:58:20 -04:00
FateJH
db8d3fc7ca optional field spacing data (CCRIDER sample) 2017-09-08 19:58:20 -04:00
FateJH
4c5e67ca89 more accomodations for bep field decoding/encoding 2017-09-08 19:58:20 -04:00
FateJH
2b70b98e35 checked BR6, BR12, and BR18 field Codecs against bep values; corrected extra field in BR18 Codec 2017-09-08 19:58:20 -04:00
Fate-JH
d19cae7fdf Merge pull request #161 from Fate-JH/locker-container
Locker Container
2017-09-01 08:39:09 -04:00
FateJH
2710e3cfc9 removed excessive character initialization procedure during select screen period 2017-08-30 20:25:24 -04:00
FateJH
85a6eb00fd added a LockerContainer global definition; adjusted how the lockers inhabit the fifthtSlot on players and how they are accessed; fixed converter tests to account for contents and added a quick content test; Live players will now register and unregister the contents of their fifthslot 2017-08-30 20:20:33 -04:00
FateJH
294d5335c9 initial RelatedA0 and RelatedB0 packets
modified HandleGamePacket so that it should encode properly; modified CSA so that it attempt to detect packets that encode into ByteVectors that are 'too big' and will attempt to split them up

separated the ControlPacket tests into invdividual files and wrote tests for RelatedA0, RelatedB0, and HandleGamePacket

proof of concept MTU packet split in CSA; example in WSA @ character select

modified session pipeline to accept n queued Actors rather than just two; special packet decoder in progress

some effort separating useful sub-operations in encryption/decryption/encoding/decoding functions; introduced PacketCodingActor , devoted to encoding and decoding packets; simplified CSA so that it is devoted just to encrypting and decrypting
2017-08-25 21:20:07 -04:00
FateJH
02ee06fd97 corrected missing Tile size for CUD and Laze Pointer; changed MoveItem tests to account for spatial inconsistency between modular holster slots and regional inventory cells 2017-08-18 09:40:29 -04:00
FateJH
4bcef8ce98 new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory

more work on player classes; moving PacketResolution to another branch

decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy

transferring basic files from another branch

converted from get/set to accessor/mutator; resolved conflict from name changes

refactored basic components such as GUID and location/orientation

utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes

GUID assurance, now with less object creation

test files; changes to how AmmoBox initializes

sorry, a little bit of everything, so much I forgot to write it all down

switched to a unified fire mode object internal to a Tool

importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet

created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder

swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages

fixed major logic issue with NumberPool; added comments to NumberSource files

NumberSource tests

simplified and made more consistent the method naming convention of NumberSources

comments for NumberSelectors

starting on NumberSelector tests

modifications that should better support number pools; added a pool hub that acts on a predefined source

adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient

small additions to Tools; filled out simple tests for other three Selectors

added object lookup notation for the pool hub

added more NumberSelector tests; removed the word 'Number' from subclass names

re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub

changes to NumberPool classes; tests on NumberPool classes

changes to NumberPool classes; tests on NumberPool classes2

some robust testing for NumberPoolHub, plus necessary modifications to other files

register and unregister functions now use Success and Failure conditions, save for one true thrown Exception

reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions

error message text

the same thing as the last commit, but with NumberPools rather than NumberPoolHub

various types of freeform registration

added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub

get numbers from an Array of indices, not the list of Numbers, in SimplePool

added a class to represent the four types of recovery kits

comments on Kit files

created package for supporting equipment classes; renamed /definition/ package

adding class for items that construct deployables, the router telepad included

added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)

added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox

auto-sort for loading and fitting former inventory content back into the inventory

method of finding first available position to fit an certain size block in the inventory

changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests

wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'

adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations

initial work on implants; shuffled classes to better accommodate the new implant system, I think

wrote some tests for Implants; fixing Implant logic

wrote tests for Player class and made adjustments where necessary

basic initialization during Player creation based on exo-suit type

three wrapper Actors for the normal classes

comments on code

modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task

changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol

LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory

example of packet conversion can be found with AmmoBoxDefinition

added conversion for ToolDefinition

added all Equipment packet conversion functionality; started working on Avatar-related conversions

continued effort towards a working Player packet conversion test

subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics

the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type

separated converters from definitions into files

changed some configuration information to final; added a bunch of converters, not fully tested though

changed function names in converters

replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data

added partial support for LockerContainer; changed Equipment defaults to a common value

changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA

added a seat definition and renovated how the weapon controlled from a seat can be found

comments to files mainly; non-essential functionality to some classes, mostly access determination

moved converter tests to their own test file

write more of this test

added ServiceManager, as it is useful

pool range changes

added AvatarService, as it is useful

straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)

chnages to task resolution operation

complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA

separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests

added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function

GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work

updated tests to GlobalDefinitions entries; Terminal works but I don't like it

played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile

modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between

fixed recovery options so that they do not cause more messages

trailing newline

InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions

remove yet-unsupported Terminal messaging

made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better

re-organized function calls to preserved items removed from holster slots on exo-suit change

moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned

issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it

a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now

restored the registration portion of tasking back to where it previously was (and better?)

NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)

re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation

order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition

common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal

added error catching messages; stopped odd double-registering issue early

resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one

wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem

added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA

modified Tool structure, exposing the AmmoSlot list a bit more

stuff stuff Tool ammo slot changes to default and comments

basic loadout framework for Infantry; need to integrate

initial work on FavoritesRequest packet

tests for FavoritesRequest packet

increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts

refactored the tasking for adding Equipment and removing Equipment

updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted

untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure

added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association

the current avatar is properly registered and there is something of a workflow with the messages and packets

corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy

working Loadout loading

added identification functions to GlobalDefinitions; echo ObjectDelete back to client

accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations

separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA

better handling of ReloadMessage and MoveItemMessage

framework for better support involving dropping and picking up items

code comments and small modifications, such as the location and structure of the Terminal Equipment definitions

wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing

added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps

modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'

more comments; improved checks for MoveItemMessage; squared distances as necessary

subtle changes to login scripting so that test character is always offered

re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-08-15 23:10:59 -04:00
FateJH
e071f6ea56 changing three FLoat values for orientation into a Vector3; all tests updated 2017-07-10 15:19:47 -04:00
FateJH
9095564e68 changed Codecs so that all known 8-bit angle data is now read as a 0-360 Float value; added a mreaure of testing to CodecTests 2017-07-06 17:33:06 -04:00
FateJH
434171bcc4 This is a combination of 32 commits for object-create logic. 2017-05-21 23:31:09 -04:00
Fate-JH
861a611707 Merge pull request #149 from Fate-JH/deploy-request
Packet: DeployRequestMessage
2017-05-14 14:10:01 -04:00
Fate-JH
f87edd7057 Merge branch 'master' into minor-updates 2017-05-13 11:45:11 -04:00
FateJH
f316aa95c5 clarified fields in constructor; added working tests; added match case statement in WSA 2017-05-12 14:57:29 -04:00
Fate-JH
9a1a4a1dd1 Merge pull request #141 from Fate-JH/projectile-state
Packet: ProjectileStateMessage
2017-05-07 13:33:49 -04:00
Fate-JH
e092ad6980 Merge pull request #139 from Fate-JH/unuse-item
Packet: UnuseItemMessage
2017-05-05 08:51:43 -04:00
Fate-JH
9a1c1338e4 Merge pull request #138 from Fate-JH/targeting-request
Packet: TargetingImplantRequestMessage
2017-05-04 19:17:53 -04:00
FateJH
8434d17910 modified DeployObjectMessage to reflect new data found by SouNourS; changed DOM tests; added match case in WSA 2017-05-03 23:22:19 -04:00
FateJH
939e0ed688 added tests for: VoiceHost*, CharacterInfoMessage, CharacterCreateRequestMessage, CharacterRequestMessage, and KeepAliveMessage; modified test for ObjectDetectedMessage 2017-05-03 23:20:20 -04:00
FateJH
08f9f6a75f clarifying field names; updating comments; adding match cases in WSA 2017-05-02 21:21:55 -04:00
FateJH
bdd7d0ec36 clarifying the fields of this packet; adding working tests; adding WSA match case; reset starting continent back to home3 (my mistake) 2017-05-02 08:38:11 -04:00
SouNourS
ed9bc36b56 Merge branch 'master' into Updates 2017-05-02 09:26:55 +02:00
FateJH
5ceded71c1 comments in class; added a match case in WSA; short test, to at least show a full working sample 2017-05-02 00:51:54 -04:00
Fate-JH
96b2cfab8c Merge branch 'master' into battleplan 2017-05-02 00:06:34 -04:00
Fate-JH
f1dfc20cb3 Merge pull request #128 from Fate-JH/object-create-updates
Object Create Message Update #2
2017-04-30 00:19:36 -04:00
FateJH
ef1a869449 added tests for detailed entry in battle plan; identified specifics of one of stroke types; added case to accept BattleplanMessages in WSA 2017-04-28 23:03:50 -04:00
FateJH
331406a849 renamed classes in BattleplanMessage to more appropriate names; added an Enumeration class for action numbers; queued up a bunch of test data for later 2017-04-28 09:11:15 -04:00
Fate-JH
34490db890 Merge pull request #130 from Fate-JH/begin-zoning
Packet: BeginZoningMessage
2017-04-24 07:52:10 -04:00
Fate-JH
aa190e6696 Merge pull request #129 from Fate-JH/child-state
Packet: ChildObjectStateMessage
2017-04-24 07:51:30 -04:00
FateJH
9f783572cd initial work on BeginZoningMessage; working tests (not like there's anything to test in the tests) 2017-04-21 00:24:44 -04:00
FateJH
749d2d2c50 fleshed out field details of COSM 2017-04-20 08:37:51 -04:00
FateJH
2394280643 true ObjectCreateMessage packet and ObjectCreateDetailedMessage packet have been made separate; some case objects for the former, mostly CE, have been added; all tests accounted 2017-04-19 20:24:40 -04:00
SouNourS
eaf61d3c3a Some little mod 2017-04-11 14:03:56 +02:00