4 years agoReally rough first pass at RelayNetwork. ar2_develop
Andy []
Really rough first pass at RelayNetwork.

4 years agoModuleTransceiver: First pass at adding IScienceDataTransmitter members.
Andy []
ModuleTransceiver: First pass at adding IScienceDataTransmitter members.

4 years agoFirst pass at Two-way Link. Also renamed Tx/RxTransmitter to Tx/RxTransceiver in One-way Link.
Andy Wilkinson []
First pass at Two-way Link. Also renamed Tx/RxTransmitter to Tx/RxTransceiver in One-way Link.

4 years agoOneWayLink: Removed NOMINAL_SNR because it's actually silly.
Andy Wilkinson []
OneWayLink: Removed NOMINAL_SNR because it's actually silly.

4 years agoRenamed Transceiver's Throughput to AvailableThroughput.
Andy Wilkinson []
Renamed Transceiver's Throughput to AvailableThroughput.

4 years agoRenamed Transmitter to Transceiver.
Andy Wilkinson []
Renamed Transmitter to Transceiver.

4 years agocsproj: New and moved files
Andy Wilkinson []
csproj: New and moved files

4 years agoChannelDB: Moved to Utility
Andy Wilkinson []
ChannelDB: Moved to Utility

4 years agoChannel: Moved to Models/
Andy Wilkinson []
Channel: Moved to Models/

4 years agoOneWayLink: First pass.
Andy Wilkinson []
OneWayLink: First pass.

4 years agoITransmitter: Added Power property for post-throttle power.
Andy Wilkinson []
ITransmitter: Added Power property for post-throttle power.

4 years agocfg: Added ModuleTransmitter test data.
Andy Wilkinson []
cfg: Added ModuleTransmitter test data.

4 years agoModuleAntenna: Changed to use SecurePartModule.
Andy Wilkinson []
ModuleAntenna: Changed to use SecurePartModule.

4 years agoModuleTransmitter: First pass.
Andy Wilkinson []
ModuleTransmitter: First pass.

4 years agoModuleAntenna: Fixed handling when channelName is invalid or not defined.
Andy Wilkinson []
ModuleAntenna: Fixed handling when channelName is invalid or not defined.

4 years agoChannelDB: Switched to the new Singleton abstract from ToadicusTools.
Andy Wilkinson []
ChannelDB: Switched to the new Singleton abstract from ToadicusTools.

4 years agoActive code generation makes commit messages hard.
Andy []
Active code generation makes commit messages hard.

4 years agoProbably finished up channel loading for now.
Andy []
Probably finished up channel loading for now.

4 years agoA mess more AR2.0 inital passes.
Andy []
A mess more AR2.0 inital passes.

4 years agoAR 2.0 Interfaces: Initial pass.
Andy Wilkinson []
AR 2.0 Interfaces: Initial pass.

4 years agoVersion 1.3 1.3
Andy Wilkinson []
Version 1.3

4 years agoARFlightController: Fixed self destruct methods.
Andy Wilkinson []
ARFlightController: Fixed self destruct methods.

4 years agoARFlightController: Fixed a logic error around vesselHasOptimalConnection and added a bunch of debug code.
Andy Wilkinson []
ARFlightController: Fixed a logic error around vesselHasOptimalConnection and added a bunch of debug code.

4 years agoNow tracking toolbarIcon.
Andy []
Now tracking toolbarIcon.

4 years agoARFlightController: Destroy the behavior when not in flight. Should get restarted next time?
Andy []
ARFlightController: Destroy the behavior when not in flight. Should get restarted next time?

4 years agoARFlightController: Added toolbar button for visually tracking connection status (red/yellow/green).
Andy []
ARFlightController: Added toolbar button for visually tracking connection status (red/yellow/green).

4 years agoAssembly: Moved ToadicusTools dependency definition to AssemblyInfo.cs
Andy []
Assembly: Moved ToadicusTools dependency definition to AssemblyInfo.cs

4 years agoARConfiguration: Added toggle for ModuleLimitedDataTransmitter.fixedPowerCost.
Andy []
ARConfiguration: Added toggle for ModuleLimitedDataTransmitter.fixedPowerCost.

4 years agoModuleLimitedDataTransmitter: Added option to fix power cost and degrade data performance at long range.
Andy []
ModuleLimitedDataTransmitter: Added option to fix power cost and degrade data performance at long range.

4 years agoARConfiguration: print version name in window title, and to the log on startup.
Andy Wilkinson []
ARConfiguration: print version name in window title, and to the log on startup.

4 years agoVersion 1.2 1.2
Andy Wilkinson []
Version 1.2

4 years agoModuleLimitedDataTransmitter: Improved GUI presentation of relays when not connected.
Andy Wilkinson []
ModuleLimitedDataTransmitter: Improved GUI presentation of relays when not connected.

4 years agoAntennaRelay: Added tracking of first body to block line of sight.
Andy Wilkinson []
AntennaRelay: Added tracking of first body to block line of sight.

4 years agoARFlightController: No longer incapacitates KerbalEVAs.
Andy Wilkinson []
ARFlightController: No longer incapacitates KerbalEVAs.

4 years agoModuleLimitedDataTransmitter: Scale packetResource with the throttle.
Andy Wilkinson []
ModuleLimitedDataTransmitter: Scale packetResource with the throttle.

4 years agoARFlightController: Changed the control mask to ALL_SHIP_CONTROLS. Added event listeners to make sure we return control when leaving flight or changing vessels.
Andy []
ARFlightController: Changed the control mask to ALL_SHIP_CONTROLS. Added event listeners to make sure we return control when leaving flight or changing vessels.

4 years agoARFlightController: Changed up the locking logic to hopefully remove the locks in all relevant scenarios.
Andy []
ARFlightController: Changed up the locking logic to hopefully remove the locks in all relevant scenarios.

4 years agoRevert "Enabled MSBuild engine because of reasons."
Andy []
Revert "Enabled MSBuild engine because of reasons."

This reverts commit 2ee7cb4f6a3db2dd220a96cde4dcfdc0de1b5b03.

Conflicts:
ARFlightController.cs

4 years agoARConfiguration: Changed config assignment to be persistent, and added handling for requireConnectionForControl.
Andy []
ARConfiguration: Changed config assignment to be persistent, and added handling for requireConnectionForControl.

4 years agoARFlightController: New MonoBehaviour to require connectivity for probe control.
Andy []
ARFlightController: New MonoBehaviour to require connectivity for probe control.

4 years agoRelayExtensions: Added Vessel.HasConnectedRelay.
Andy []
RelayExtensions: Added Vessel.HasConnectedRelay.

4 years agoEnabled MSBuild engine because of reasons.
Andy []
Enabled MSBuild engine because of reasons.

4 years agoVersion 1.1 1.1
Andy Wilkinson []
Version 1.1

4 years agoAdded assembly dependency on ToadicusTools.
Andy Wilkinson []
Added assembly dependency on ToadicusTools.

4 years agoAdded packet size throttle.
Andy Wilkinson []
Added packet size throttle.

4 years agoConfig updated to MM 2.0.
Andy Wilkinson []
Config updated to MM 2.0.

4 years agoAdded a configuration window to the spacecenter for the toggling of options, and cleaned up some failure reporting a bit.
Andy Wilkinson []
Added a configuration window to the spacecenter for the toggling of options, and cleaned up some failure reporting a bit.

4 years agoAntennaRelay: Added optional line of sight checking.
Andy []
AntennaRelay: Added optional line of sight checking.

4 years agoMinor .csproj changes.
Andy []
Minor .csproj changes.

4 years agocsproj changes for Linux compat.
Andy Wilkinson []
csproj changes for Linux compat.

4 years agoAdded compile links to the ModuleDB wrappers and Interface.
Andy []
Added compile links to the ModuleDB wrappers and Interface.

4 years agoAdded csproj to see if I can't make my workflow better.
Andy []
Added csproj to see if I can't make my workflow better.

4 years agoAdded using ToadicusTools.
Andy []
Added using ToadicusTools.

4 years agoMoved ARTools and some Vessel extensions to ToadicusTools.
Andy []
Moved ARTools and some Vessel extensions to ToadicusTools.

4 years agoFixed AssemblyInfo legal.
Andy []
Fixed AssemblyInfo legal.

4 years agoRelicensed to Modified BSD.
Andy []
Relicensed to Modified BSD.

4 years agoMoved EventSniffer to ToadicusTools.
Andy []
Moved EventSniffer to ToadicusTools.

4 years agoModuleLimitedDataTransmitter: Changes to TransmitData to hopefully improve performance when transmitting directly from an experiment dialog.
Andy []
ModuleLimitedDataTransmitter: Changes to TransmitData to hopefully improve performance when transmitting directly from an experiment dialog.

4 years agoVersion 1.0.0 1.0.0
Andy Wilkinson []
Version 1.0.0

4 years agoModuleLimitedDataTransmitter.cs: Changed the AntennaRelay call for the changes there. Added some debug-only events.
Andy Wilkinson []
ModuleLimitedDataTransmitter.cs: Changed the AntennaRelay call for the changes there. Added some debug-only events.

4 years agoProtoAntennaRelay.cs: Added new Vessel override to get vessel from the ProtoPartSnapshot, and adjusted the ctor to work with the AntennaRelay changes.
Andy Wilkinson []
ProtoAntennaRelay.cs: Added new Vessel override to get vessel from the ProtoPartSnapshot, and adjusted the ctor to work with the AntennaRelay changes.

4 years agoAntennaRelay: Changed vessel property to virtual.
Andy Wilkinson []
AntennaRelay: Changed vessel property to virtual.

4 years agoAntennaRelay.cs: Changed reference tracking to an IAntennaRelay module, now fetching vessel thence, to avoid stale vessel references. Removed the IAntennaRelay IComparer.
Andy Wilkinson []
AntennaRelay.cs: Changed reference tracking to an IAntennaRelay module, now fetching vessel thence, to avoid stale vessel references. Removed the IAntennaRelay IComparer.

4 years agoRelayDatabase: Added a new API method to dirty a vessel's cache from outside. Added cache hit/miss tracking. Added some debug-only events.
Andy Wilkinson []
RelayDatabase: Added a new API method to dirty a vessel's cache from outside. Added cache hit/miss tracking. Added some debug-only events.

4 years agoRelayDatabase:
Andy []
RelayDatabase:
* Added new CheckedVesselsTable to keep track of vessels as we check them instead of relays.
* Added listeners for onVesselDestroy and onPartCouple to improve reliability. Hopefully.

4 years agoChange vessel.name to vessel.vesselName.
Andy []
Change vessel.name to vessel.vesselName.

4 years agoEventSniffer: Debug-only class to help sniff out GameEvents. This probably doesn't belong here.
Andy []
EventSniffer: Debug-only class to help sniff out GameEvents. This probably doesn't belong here.

4 years agoAntennaRelay: Major surgery on FindNearestRelay to improve performance and reliability. Hopefully.
Andy []
AntennaRelay: Major surgery on FindNearestRelay to improve performance and reliability. Hopefully.

4 years agoARTools: New helper methods to do min on variable-length sets of IComparables and to restart Stopwatches.
Andy []
ARTools: New helper methods to do min on variable-length sets of IComparables and to restart Stopwatches.

4 years agoVersion 0.6.3
Andy Wilkinson []
Version 0.6.3

4 years agoRelayDatabase: ContainsKey now only checks relayDatabase. Also added some debugging lines to getVesselRelays.
Andy []
RelayDatabase: ContainsKey now only checks relayDatabase. Also added some debugging lines to getVesselRelays.

4 years agoModuleLimitedDataTransmitter: Changed ToString to not include the vessel name if the vessel is null.
Andy []
ModuleLimitedDataTransmitter: Changed ToString to not include the vessel name if the vessel is null.

4 years agoAntennaRelay: Exclude flag vessels from the search.
Andy []
AntennaRelay: Exclude flag vessels from the search.

4 years ago* AssemblyInfo.cs: New AssemblyInfo file for reason.
Andy Wilkinson []
* AssemblyInfo.cs: New AssemblyInfo file for reason.

* ModuleLimitedDataTransmitter.cs: Added a ":" to the transmission
communications for consistency with stock behavior.

4 years agoMostly refactoring, and removing the onVesselDestroy event subscription, which wasn't being very useful.
Andy []
Mostly refactoring, and removing the onVesselDestroy event subscription, which wasn't being very useful.

4 years agoMoved all of the vessel parsing code into the new RelayDatabase, which
Andy []
Moved all of the vessel parsing code into the new RelayDatabase, which
watches some events to dirty the cache when states change. Also modules
will no longer offer to transmit if their part is dead or deactivated.

4 years agoDeepened the tabular hash nesting.
Andy []
Deepened the tabular hash nesting.

4 years agoNow maintaining a hash table for ProtoAntennaRelays and using prefab modules to do the maths and stuff, in lieu of messing with persistence and stuff. Also made the error message prettier. proto_to_prefab
Andy Wilkinson []
Now maintaining a hash table for ProtoAntennaRelays and using prefab modules to do the maths and stuff, in lieu of messing with persistence and stuff. Also made the error message prettier.

I should commit more often.

4 years agoRevert "A bunch of stuff trying to use prefabs and protos instead of relying on"
Andy Wilkinson []
Revert "A bunch of stuff trying to use prefabs and protos instead of relying on"

This reverts commit 94849bc0a6aabeded04c8557b3266ff65d017a04.

4 years agoA bunch of stuff trying to use prefabs and protos instead of relying on
Andy []
A bunch of stuff trying to use prefabs and protos instead of relying on
false persistence data.

4 years agoAntennaRange.cfg: Added isAntenna to the part prefab for all parts with ModuleLimitedDataTransmitters.
Andy Wilkinson []
AntennaRange.cfg: Added isAntenna to the part prefab for all parts with ModuleLimitedDataTransmitters.

AntennaRelay.cs: Added a timer to prevent antennas from re-searching their nearest relay multiple times in a single transmission attempt.

Extensions.cs: Remove IsAntenna stuff because we want that to work without persistence data. Doesn't work yet.

ModuleLimitedDataTransmitter.cs:
* Changed DataRate to return a very tiny number if the antenna cannot transmit.
* Changed the transmission message to indictor if it is using a relay or not.
* Removed IsAntenna in favor of using the prefab... hopefully.

4 years agoRemoved the old ARmaxTransmitDistance hokum in favor of just fetching the value from the partPrefab. 0.6.0
Andy Wilkinson []
Removed the old ARmaxTransmitDistance hokum in favor of just fetching the value from the partPrefab.

4 years ago* AntennaRelay.cs:
Andy Wilkinson []
* AntennaRelay.cs:
* IAntennaRelay.cs:
* ProtoAntennaRelay.cs: Added new standard header.

* Extensions.cs: Added new standard header. Changed the way
ProtoAntennaRelays are built to give them a reference to their
ProtoPartSnapshot as well.

* ModuleLimitedDataTransmitter.cs: Added new standard header. Changed
the way maxTransmitDistance is fetched; now using partPrefabs to
avoid putting nonsense in the persistence file.

4 years agoA little refactoring and a new message to indicate if you are using a relay. Also fixed using distant relays instead of nearby Kerbin.
Andy Wilkinson []
A little refactoring and a new message to indicate if you are using a relay. Also fixed using distant relays instead of nearby Kerbin.

4 years agoHopefully the last bulk update for relays. Also includes a bunch of commenting.
Andy []
Hopefully the last bulk update for relays. Also includes a bunch of commenting.

4 years agoA bunch more changes. Relays mostly work now, I think, except for the infinite recursion.
Andy Wilkinson []
A bunch more changes. Relays mostly work now, I think, except for the infinite recursion.

4 years agoA whole bunch of changes to start making simple relays possible.
Andy []
A whole bunch of changes to start making simple relays possible.

4 years agoInitial pass at relay detection. Not working yet.
Andy Wilkinson []
Initial pass at relay detection. Not working yet.

5 years agoMade the CannotTransmit error a little prettier/more obvious.
Andy Wilkinson []
Made the CannotTransmit error a little prettier/more obvious.
A little bit of reorganizing to fit the fields, properties, methods arrangement of the Squad files.

5 years agoChanged the range reporting to 2 digits for cleanliness. AntennaRange-0.5.0
Andy Wilkinson []
Changed the range reporting to 2 digits for cleanliness.

5 years agoAdded the "m" suffix for distances in GetInfo and PostCannotTransmitError.
Andy Wilkinson []
Added the "m" suffix for distances in GetInfo and PostCannotTransmitError.

5 years agoAdded MuMech_ToSI to pretty up the ranges when we report them to users.
Andy Wilkinson []
Added MuMech_ToSI to pretty up the ranges when we report them to users.

5 years agoAdded PreTransmit checks to the scoring properties to make sure nonfunctional antennas don't win the check.
Andy Wilkinson []
Added PreTransmit checks to the scoring properties to make sure nonfunctional antennas don't win the check.

5 years agoAdded a long justification for the DataRate/DataResourceCost overrides.
Andy Wilkinson []
Added a long justification for the DataRate/DataResourceCost overrides.

5 years agoChanged nominalRange back to a float so we can load it from .cfg files.
Andy Wilkinson []
Changed nominalRange back to a float so we can load it from .cfg files.
Put in a hack for DataRate and DataResourceCost so that smaller antennas will be used when possible.

5 years agoChanged ALL the endlines.
Andy Wilkinson []
Changed ALL the endlines.
Also revised a couple of things. Probably mostly comments?

5 years agoChanged to a direct set of the ModuleDataTransmitter packetSize and packetResourceCost instead of our previous attempt at a dynamic overload that wasn't working.
Andy []
Changed to a direct set of the ModuleDataTransmitter packetSize and packetResourceCost instead of our previous attempt at a dynamic overload that wasn't working.

It seems to be working now!

5 years agoChanged a bunch of stuff to try to fix the NullReferenceException problem.
Andy []
Changed a bunch of stuff to try to fix the NullReferenceException problem.

5 years agoChanged up the scaling a bit and added the .cfg file complete with preliminary tuning.
Andy []
Changed up the scaling a bit and added the .cfg file complete with preliminary tuning.

5 years agoInitial commit.
Andy []
Initial commit.