simconnect

package
v0.0.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 23, 2022 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const E_FAIL uint32 = 0x80004005

Variables

This section is empty.

Functions

func Asset

func Asset(name string) ([]byte, error)

Asset loads and returns the asset for the given name. It returns an error if the asset could not be found or could not be loaded.

func AssetDir

func AssetDir(name string) ([]string, error)

AssetDir returns the file names below a certain directory embedded in the file by go-bindata. For example if you run go-bindata on data/... and data contains the following hierarchy:

data/
  foo.txt
  img/
    a.png
    b.png

then AssetDir("data") would return []string{"foo.txt", "img"} AssetDir("data/img") would return []string{"a.png", "b.png"} AssetDir("foo.txt") and AssetDir("notexist") would return an error AssetDir("") will return []string{"data"}.

func AssetInfo

func AssetInfo(name string) (os.FileInfo, error)

AssetInfo loads and returns the asset info for the given name. It returns an error if the asset could not be found or could not be loaded.

func AssetNames

func AssetNames() []string

AssetNames returns the names of the assets.

func MustAsset

func MustAsset(name string) []byte

MustAsset is like Asset but panics when Asset would return an error. It simplifies safe initialization of global variables.

func RestoreAsset

func RestoreAsset(dir, name string) error

RestoreAsset restores an asset under the given directory

func RestoreAssets

func RestoreAssets(dir, name string) error

RestoreAssets restores an asset under the given directory recursively

Types

type DWORD

type DWORD uint32
const (
	DATATYPE_INVALID      DWORD = iota // invalid data type
	DATATYPE_INT32                     // 32-bit integer number
	DATATYPE_INT64                     // 64-bit integer number
	DATATYPE_FLOAT32                   // 32-bit floating-point number (float)
	DATATYPE_FLOAT64                   // 64-bit floating-point number (double)
	DATATYPE_STRING8                   // 8-byte string
	DATATYPE_STRING32                  // 32-byte string
	DATATYPE_STRING64                  // 64-byte string
	DATATYPE_STRING128                 // 128-byte string
	DATATYPE_STRING256                 // 256-byte string
	DATATYPE_STRING260                 // 260-byte string
	DATATYPE_STRINGV                   // variable-length string
	DATATYPE_INITPOSITION              // see SIMCONNECT_DATA_INITPOSITION
	DATATYPE_MARKERSTATE               // see SIMCONNECT_DATA_MARKERSTATE
	DATATYPE_WAYPOINT                  // see SIMCONNECT_DATA_WAYPOINT
	DATATYPE_LATLONALT                 // see SIMCONNECT_DATA_LATLONALT
	DATATYPE_XYZ                       // see SIMCONNECT_DATA_XYZ

	DATATYPE_MAX // enum limit
)
const (
	TEXT_TYPE_SCROLL_BLACK DWORD = iota
	TEXT_TYPE_SCROLL_WHITE
	TEXT_TYPE_SCROLL_RED
	TEXT_TYPE_SCROLL_GREEN
	TEXT_TYPE_SCROLL_BLUE
	TEXT_TYPE_SCROLL_YELLOW
	TEXT_TYPE_SCROLL_MAGENTA
	TEXT_TYPE_SCROLL_CYAN
)
const (
	TEXT_TYPE_PRINT_BLACK DWORD = iota + 0x0100
	TEXT_TYPE_PRINT_WHITE
	TEXT_TYPE_PRINT_RED
	TEXT_TYPE_PRINT_GREEN
	TEXT_TYPE_PRINT_BLUE
	TEXT_TYPE_PRINT_YELLOW
	TEXT_TYPE_PRINT_MAGENTA
	TEXT_TYPE_PRINT_CYAN
)
const (
	RECV_ID_NULL DWORD = iota
	RECV_ID_EXCEPTION
	RECV_ID_OPEN
	RECV_ID_QUIT
	RECV_ID_EVENT
	RECV_ID_EVENT_OBJECT_ADDREMOVE
	RECV_ID_EVENT_FILENAME
	RECV_ID_EVENT_FRAME
	RECV_ID_SIMOBJECT_DATA
	RECV_ID_SIMOBJECT_DATA_BYTYPE
	RECV_ID_WEATHER_OBSERVATION
	RECV_ID_CLOUD_STATE
	RECV_ID_ASSIGNED_OBJECT_ID
	RECV_ID_RESERVED_KEY
	RECV_ID_CUSTOM_ACTION
	RECV_ID_SYSTEM_STATE
	RECV_ID_CLIENT_DATA
	RECV_ID_EVENT_WEATHER_MODE
	RECV_ID_AIRPORT_LIST
	RECV_ID_VOR_LIST
	RECV_ID_NDB_LIST
	RECV_ID_WAYPOINT_LIST
	RECV_ID_EVENT_MULTIPLAYER_SERVER_STARTED
	RECV_ID_EVENT_MULTIPLAYER_CLIENT_STARTED
	RECV_ID_EVENT_MULTIPLAYER_SESSION_ENDED
	RECV_ID_EVENT_RACE_END
	RECV_ID_EVENT_RACE_LAP

	RECV_ID_PICK
)
const (
	SIMOBJECT_TYPE_USER DWORD = iota
	SIMOBJECT_TYPE_ALL
	SIMOBJECT_TYPE_AIRCRAFT
	SIMOBJECT_TYPE_HELICOPTER
	SIMOBJECT_TYPE_BOAT
	SIMOBJECT_TYPE_GROUND
)
const (
	FACILITY_LIST_TYPE_AIRPORT DWORD = iota
	FACILITY_LIST_TYPE_WAYPOINT
	FACILITY_LIST_TYPE_NDB
	FACILITY_LIST_TYPE_VOR
	FACILITY_LIST_TYPE_COUNT // invalid
)
const GROUP_PRIORITY_DEFAULT DWORD = 2000000000 // default priority
const GROUP_PRIORITY_HIGHEST DWORD = 1 // highest priority

Notification Group priority values

const GROUP_PRIORITY_HIGHEST_MASKABLE DWORD = 10000000 // highest priority that allows events to be masked
const GROUP_PRIORITY_LOWEST DWORD = 4000000000 // priorities lower than this will be ignored
const GROUP_PRIORITY_STANDARD DWORD = 1900000000 // standard priority
const OBJECT_ID_USER DWORD = 0 // proxy value for User vehicle ObjectID
const SIMCONNECT_EVENT_FLAG_DEFAULT DWORD = 0x00000000

Event flag values

const SIMCONNECT_EVENT_FLAG_FAST_REPEAT_TIMER DWORD = 0x00000001 // set event repeat timer to simulate fast repeat
const SIMCONNECT_EVENT_FLAG_GROUPID_IS_PRIORITY DWORD = 0x00000010 // interpret GroupID parameter as priority value
const SIMCONNECT_EVENT_FLAG_SLOW_REPEAT_TIMER DWORD = 0x00000002 // set event repeat timer to simulate slow repeat
const TEXT_TYPE_MENU DWORD = 0x0200
const UNUSED DWORD = 0xffffffff // special value to indicate unused event, ID

type DataFacilityAirport

type DataFacilityAirport struct {
	Icao      [9]byte // ICAO of the object
	Latitude  float64 // degrees
	Longitude float64 // degrees
	Altitude  float64 // meters
}

type DataFacilityWaypoint

type DataFacilityWaypoint struct {
	DataFacilityAirport
	MagVar float64 // Magvar in degrees
}

type Recv

type Recv struct {
	Size    DWORD
	Version DWORD
	ID      DWORD
}

type RecvEvent

type RecvEvent struct {
	Recv
	//static const DWORD UNKNOWN_GROUP = DWORD_MAX;
	GroupID DWORD
	EventID DWORD
	Data    DWORD // uEventID-dependent context
}

type RecvException

type RecvException struct {
	Recv
	Exception DWORD // see SIMCONNECT_EXCEPTION
	//static const DWORD UNKNOWN_SENDID = 0;
	SendID DWORD // see SimConnect_GetLastSentPacketID
	//static const DWORD UNKNOWN_INDEX = DWORD_MAX;
	Index DWORD // index of parameter that was source of error
}

type RecvFacilityAirportList

type RecvFacilityAirportList struct {
	RecvFacilityList
	List [1]DataFacilityAirport
}

type RecvFacilityList

type RecvFacilityList struct {
	Recv
	RequestID   DWORD
	ArraySize   DWORD
	EntryNumber DWORD // when the array of items is too big for one send, which send this is (0..dwOutOf-1)
	OutOf       DWORD // total number of transmissions the list is chopped into
}

type RecvFacilityWaypointList

type RecvFacilityWaypointList struct {
	RecvFacilityList
	List [1]DataFacilityWaypoint
}

type RecvOpen

type RecvOpen struct {
	Recv
	ApplicationName         [256]byte
	ApplicationVersionMajor DWORD
	ApplicationVersionMinor DWORD
	ApplicationBuildMajor   DWORD
	ApplicationBuildMinor   DWORD
	SimConnectVersionMajor  DWORD
	SimConnectVersionMinor  DWORD
	SimConnectBuildMajor    DWORD
	SimConnectBuildMinor    DWORD
	Reserved1               DWORD
	Reserved2               DWORD
}

type RecvSimobjectData

type RecvSimobjectData struct {
	Recv
	RequestID DWORD
	ObjectID  DWORD
	DefineID  DWORD
	Flags     DWORD // SIMCONNECT_DATA_REQUEST_FLAG

	DefineCount DWORD // data count (number of datums, *not* byte count)
	// contains filtered or unexported fields
}

type RecvSimobjectDataByType

type RecvSimobjectDataByType struct {
	RecvSimobjectData
}

type SimConnect

type SimConnect struct {
	DefineMap   map[string]DWORD
	LastEventID DWORD
	// contains filtered or unexported fields
}

func New

func New(name string) (*SimConnect, error)

func (*SimConnect) AddClientEventToNotificationGroup

func (s *SimConnect) AddClientEventToNotificationGroup(groupID, eventID DWORD) error

func (*SimConnect) AddToDataDefinition

func (s *SimConnect) AddToDataDefinition(defineID DWORD, name, unit string, dataType DWORD) error

func (*SimConnect) Close

func (s *SimConnect) Close() error

func (*SimConnect) GetDefineID

func (s *SimConnect) GetDefineID(a interface{}) DWORD

func (*SimConnect) GetEventID

func (s *SimConnect) GetEventID() DWORD

func (*SimConnect) GetNextDispatch

func (s *SimConnect) GetNextDispatch() (unsafe.Pointer, int32, error)

func (*SimConnect) MapClientEventToSimEvent

func (s *SimConnect) MapClientEventToSimEvent(eventID DWORD, eventName string) error

func (*SimConnect) MenuAddItem

func (s *SimConnect) MenuAddItem(menuItem string, menuEventID, Data DWORD) error

func (*SimConnect) MenuDeleteItem

func (s *SimConnect) MenuDeleteItem(menuItem string, menuEventID, Data DWORD) error

func (*SimConnect) RegisterDataDefinition

func (s *SimConnect) RegisterDataDefinition(a interface{}) error

func (*SimConnect) RequestDataOnSimObject

func (s *SimConnect) RequestDataOnSimObject(requestID, defineID, objectID, period, flags, origin, interval, limit DWORD) error

func (*SimConnect) RequestDataOnSimObjectType

func (s *SimConnect) RequestDataOnSimObjectType(requestID, defineID, radius, simobjectType DWORD) error

func (*SimConnect) RequestFacilitiesList

func (s *SimConnect) RequestFacilitiesList(facilityType, requestID DWORD) error

func (*SimConnect) SetDataOnSimObject

func (s *SimConnect) SetDataOnSimObject(defineID, simobjectType, flags, arrayCount, size DWORD, buf unsafe.Pointer) error

func (*SimConnect) SetNotificationGroupPriority

func (s *SimConnect) SetNotificationGroupPriority(groupID, priority DWORD) error

func (*SimConnect) ShowText

func (s *SimConnect) ShowText(textType DWORD, duration float64, eventID DWORD, text string) error

func (*SimConnect) SubscribeToFacilities

func (s *SimConnect) SubscribeToFacilities(facilityType, requestID DWORD) error

func (*SimConnect) SubscribeToSystemEvent

func (s *SimConnect) SubscribeToSystemEvent(eventID DWORD, eventName string) error

func (*SimConnect) TransmitClientID

func (s *SimConnect) TransmitClientID(eventID DWORD, data DWORD) error

func (*SimConnect) UnsubscribeToFacilities

func (s *SimConnect) UnsubscribeToFacilities(facilityType DWORD) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL