Home
MazeSuite API manual
Contents
1. AA AA iaat 6 int GetNextMarker int code int vall 7 Low Level FUMCtIONS ata ee NEE ENEE EENS cg vieisdeedas ER dovviecai Shia 8 IAT SSHd TCOMESSA GE Uess e EADE EET EEOAE sVeesseaeyset eth Pieeetadedeatetusvaens casyenee 8 INESSHA INE Cotorapgdlsz Segoe gedeee eet a e A EAE ieee ovate deeg beta tended eee 8 int Send int Command intiAre ss seca decease Ener istered Hotes ate Miia oe a ees MO eee 8 int Send int Command int iArg double GArgs ccccccccssscccsessecececssececeesseeeceesececeeseeeceesaeeeeeeseeeeeees 8 int MCOMMstr Send int Command int iArg double dArgi double dArg2 double dArg3 double ES 8 Technical Ales aie eal bas ites EE ated 9 Current Outbound MazeWalker Codes AAA 10 2 Page v2 3 MazeSuite Application Programming Interface API Introduction This document is intended to describe MazeSuite API application programming interface functions For more information about MazeSuite please see MazeSuite user manual at www mazesuite com MazeSuite API allows any application to talk to and control MazeWalker scene rendering and actions You can link the MazeSuite API DLL Dynamic Link Library File in your custom applications your app and the dl will communicate to MazeWalker over TCP IP network to send and receive commands Since the communication is over the network your app can run on the same or different computer without changing anything The following section describes how to enable MazeSuite API fun
2. char filename Loads parameters from specified filename instead of params txt int Disconnect Disconnects and stops server Movement Functions Metered Movement Discrete Steps int BoundedMovement bool enable Enable or Disable bounded movement Bounded movement prevents discrete steps that would not complete due to collision If a particular action is blocked by a wall or other object and bounded movement is enabled no action will occur If bounded movement is disabled the user will attempt to move but eventually collide with the obstacle Bound movement is disabled by default int MoveForward double dist Move forward dist maze units int MoveBackward double dist move Backward dist maze units int LookLeft double angle Look Left angle degrees int LookRight double angle Look Right angle degrees int StrafeLeft double dist Strafe Left dist maze units int StrafeRight double dist Strafe Right dist maze units eere p Joystick Emulation Analog Motion Selected Joystick Network Joystick Only APT zl Joystick emulation over the API operates as a set of four virtual axes which can be set similar to physical joysticks in Windows To 7 Action Axis Invert Sensitivity operate joystick emulation over the API a connected API must be LookLereRight NetorkZaxs z O fo enabled Use Joystick must be selected from the main menu and Look Up Down NetworkR Axs v 7 10 the joystick settings must be appropri
3. Holding forwards when signaling backwards will result in no net movement The TCP IP cue has been implemented but must be called after hitting start or else the level simply counts the cue Messages returned form mazewalker are returned in the 44byte message struct using the command and iArg values listed in the log files 9 Page v2 3 Current Outbound MazeWalker Codes Cue 20 Pause 10 Set Score 1 Instant Set Score 2 Forward 24 Backward 25 Jump 13 Strafe Left 26 Strafe Right 27 Look Left 28 Look Right 29 Log Value 10 Log String 100 Send Alert 101 Next Level 500 Set Position x y z angle 90 Set xPos 91 Set yPos 92 Set zPos 93 Set Rotation 94 Get Position 97 BoundedMovement 98 Player Interact 3 Set Net Joystick 400 v2 3 MazeSuite Application Programming Interface API 10 Page
4. MazeSuite Ab Application Programming Interface API Manual Adrian Curtin Hasan Ayaz DREXEL UNVIERSITY MazeSuite Application Programming Interface API Contents de UI d E 3 MazeSuite API MazeCOMNM ENEE ce sscctensdesueeevescncesveeaudesvescuetenevaueeavesceeusvsesedeswescueeensesuteevescaeesines 3 Connectivity lg e EE 3 TE gellen AE 3 PE LISTS PTE OIE EE 3 int ListenFrommPa rams Perenara EAO EEA EERO EEA EERE 3 int ListenFromParams char filename ccccccccssscececsssceceesecececaecececaeeececsaeeececsaeeeceesaseeseesaeeeeeesaeeeeeees 4 NEDECE AEN 4 Movement Functions cccrenoncrsinorieri Tae EEE E E 4 Metered Movement Discrete Steps 4 int BoundedMovement bool enable cccccccesssscccecssececsessececseceeeceesaeeeceesaeeeceesaeeeceesseeeceesaeeeeseseeeeeees 4 int MoveForward double dist ccccccsscccscssccececssecececaececeesseeececaeeececsaeeececsseeecsesaeeeceesaeeeseesaeeeeecsaeeeeeees 4 int MoveBackward double der 4 int LookLeft double aN IE sisssz ssesqeesccsvagaczcesueas geess a A ER ENEE Ee 4 int LOOkKRight AOUbDlE ANGIE ccsscscessecccdesouseccesvsecevssueecaedsvceccvesueccsvesdecavvsueescoUeveeedvvsveesevevseecauveuedeaeveeee 4 int Strafelett GOuUble Gist ssscasccs gief eeancckoessnek ds Sao d nger e Ensei Ae Seon ead eee 4 int StrafeRight double det A Joystick Emulation Analog Motion 4 INE gd E gt l EE 5 Int SetNetJoystickY int Val cc ccccssccccssssceceessece
5. ately defined in Joystick Bove Network Axis z mo TI k i Se Settings Axes values follow joystick axes enumerations with 0 SE See ge D n meaning Full Throttle and 65536 Meaning Full reverse Typically at e idle joystick axes are valued at 32768 depending on calibration SE A Control Settings E BEE M Use Joystick Preset 1 Preset 2 Cancel OK Use Pre recorded Log File Video Playback Mode een 4 Page v2 3 MazeSuite Application Programming Interface API int SetNetJoystickX int val Set the Network X axis to val Axes values follow joystick axes enumerations with O meaning Full Throttle and 65536 Meaning Full reverse Typically at idle joystick axes are valued at 32768 depending on calibration int SetNetJoystickY int val Set the Network Y axis to val Axes values follow joystick axes enumerations with O meaning Full Throttle and 65536 Meaning Full reverse Typically at idle joystick axes are valued at 32768 depending on calibration int SetNetJoystickZ int val Set the Network Z axis to val Axes values follow joystick axes enumerations with 0 meaning Full Throttle and 65536 Meaning Full reverse Typically at idle joystick axes are valued at 32768 depending on calibration int SetNetJoystickR int val Set the Network R axis to val Axes values follow joystick axes enumerations with 0 meaning Full Throttle and 65536 Meaning Full reverse Typically at idle joystick axes are valued at 32768
6. ceesececeeseeeecsesseeeseesseeececsaeeececsseeecsesaeeeceesaeeeseesaeeeeeeaeeeeeee 5 INE SETNETIOVSTICKZ It Vall axecccisszsievccseusesshssueetveteagecseanaee A E E 5 int SetNetloystickR int Val sss cccccesscedceesseecacbunscadessuttaaccsetedivenuteceovsuttadevsacuadessyteadeveutecdevseetedess deteuesdeteadoosel 5 int SetNetJoystick int netX int netY int net Int NER ce cccssceceessececsessecececaeeeceessseeseeseeeeeesseeeeeees 5 Lt Cea dE Vd A EE 5 Other MOVeOMe EE 5 LEET ee ee ee 5 interaction FUMCLIONS eeeg gies cosh sata taae nana AORERE ARAE Ee vada cick peak ges sesa aa Eea EAEE TENERE 5 DEER TE Eege Ee 5 NE MnstantSetScore int Are acna E r AEA Hearne Seas eee ea 5 Int PlayerInteract A E T E E A S E E E 6 GtberEunettobgedee eerges geogr Deeg See aa ET a aAa 6 HIVES elef KE 6 v2 3 MazeSuite Application Programming Interface API LAT COE VaN TAE RE EE 6 int LogString Char iP Ut EE 6 int SendAlert char input int dispTime ccccccccsccccecsssceceessececeesececeeaeeeceesaeeececsaeeeceesaeeeceesaeeeeseaeeeeeees 6 HAT PAUSE RE EE 6 INEINEXELEVEL eiea uge ertees Suna does Ses is cee ee ote a ege 6 int SetPosition double xPos double yPos double zbos double angel 6 int GetPosition dOUble vecll 6 xl Me E e ER ER 6 INE SEtPOSY GOUBIE were heeten gege eegene ge ses weed gege eege ee 6 Int SetPOSZ AOUbIe zbposl R E E ER E A EA An 6 int SetRotatonidodbleansle hennan e a vibe Lan a vibe Las AAEE Aa aE
7. ctionality on MazeWalker and also describe the existing function calls in the MazeCOMM dll file that you can utilize from your app Finally the last chapter describes the TCP IP network based communication protocol byte stream for cross platform projects MazeSuite API MazeCOMM All functions in the MazeCOMM API are contained within a mCOMMstr struct The communications protocols are coded using WinSock2 libraries and use the TCP ports specified API Settings TCP Listening Port IP Address Enable Device 1 6350 1 TE Iw Local Device rA eae A ee IT Enable Device 2 6351 e EE KEE KSE Iw Local Device Enable Device 3 6352 rs 7 CER IV Local Device Software using the API DLL acts as a server to which MazeWalker Connects To link MazeWalker to the desired application the API must first be asked to Listen to the appropriate port and the IP address and port number of the application must be provided to MazeWalker under the API Settings menu item The API DLL is written in C however functionality can also be used through CH through the definitions provided Connectivity Functions int Connected Polls device and returns connection status int Listen int port Listens to TCP port for incoming packets and binds TCP for sending int ListenFromParams Loads listening port from params txt Stored only as port number 3 Page v2 3 MazeSuite Application Programming Interface API int ListenFromParams
8. d int Command int iArg double dArgs Send MazeWalker command integer argument and array of double arguments int MCOMMstr Send int Command int iArg double dArg1 double dArg2 double dArg3 double dArg4 Send MazeWalker command integer argument and each individual double argument tcpMessage Receive Receives tcpMessage struct from MazeWalker 8 Page v2 3 MazeSuite Application Programming Interface API Technical API MazeWalker communicates through the tcpMessage struct Messages are packaged as 44 byte low endian format and are sent through TCP 0 7 1 40 2 40 3 6 Command int 7 10 iArg int 11 18 dArg 1 double 19 26 dArg 1 double 27 34 dArg 2 double 35 42 dArg 3 double 43 Checksum bit MazeSuite expects TCP message in low endian format for communications The message will contain a command number stored as an int an argument stored as an int and 4 secondary arguments stored as doubles Each packet will be 40 bytes and are arranged serially Currently only the two int profiles are used however the other components may be useful to send more detailed commands All of the character profile states running movingForwards etc are now a new struct that also keeps track of the TCPIP commands Currently movements are implemented in frame movements Ex 18 10 will look left for 10 consecutive inputs These commands do not take priority over keyboard inputs
9. depending on calibration int SetNetJoystick int netX int netY int netZ int netR Simultaneously set the Network X axis to netX the Network Y axis to netY the Network Z axis to netZ and the Network R axis to netR Axes values follow joystick axes enumerations with 0 meaning Full Throttle and 65536 Meaning Full reverse Typically at idle joystick axes are valued at 32768 depending on calibration int ClearNetJoystick Clears and disables all current input to NetJoystick values Other Movement int Jump MazeWalker avatar will jump Interaction Functions int SetScore int iArg Set score in MazeWalker for activity bar with animation to slowly progress bar int InstantSetScore int iArg Set score in MazeWalker for activity bar with no animation 5 Page v2 3 MazeSuite Application Programming Interface API int Playerlnteract Temporarily sets score high enough to activate all dynamic objects with score device activation requirements whose other requirements are already met Identical to function of Interact button in MazeWalker Synchronization Settings tax Start Cue Other Functions ECH int SendCue Serial Options i Cue Character 116 Sends cure to start mazelist or maze Enable under Sync i Joystick Optio Settings Menu joystick Options CueButton Buttoni sl IV Enable Keyboard Cue Skip int LogVal int iArg Default Cancel RRC Logs value iArg in MazeWalker log file at received time in
10. t LogString char input Logs string in MazeWalker log file at received time int SendAlert char input int dispTime Displays text message box to user in MazeWalker for specified period of time int Pause Pause MazeWalker in interactive playback mode int NextLevel Forces MazeWalker to load next level in list int SetPosition double xPos double yPos double zPos double angle Sets current player position to xPos yPos zPos at an absolute angle int GetPosition double vec Returns double 4 with xPosition yPosition zPosition and current MazeTime int SetPosX double xPos Sets current player X position to x int SetPosY double yPos Sets current player Y position to y int SetPosZ double zPos Sets current player Z position to z int SetRotation double angle Sets current player view angle to absolute angle degrees 6 Page v2 3 MazeSuite Application Programming Interface API int GetNextMarker int code Int val Waits for and then returns code and value for event markers These code and value pairs match pairs listed in the log files for events 7 Page v2 3 MazeSuite Application Programming Interface API Low Level Functions int Send tcpMessage m Serializes tcp Message into bytecode and sends packets to client Returns the number of bytes sent int Send int Command Send unmodified MazeWalker command int Send int Command int iArg Send unmodified MazeWalker command and argument int Sen
Download Pdf Manuals
Related Search
Related Contents
Guida per l'utente T109 COCO USER MANUAL The T109 Coco is a Instruction Manual Manuel d`instructions Dynex DX-WGUSB Network Card User Manual AD9683-250EBZ User Guide GPS Watch User`s Manual Copyright © All rights reserved.
Failed to retrieve file