OCESS / orbitx

Rewrite of OrbitV, maintained by Patrick, Gavin, and contributors
MIT License
10 stars 18 forks source link

Add a simmie program for simmies to manipulate flight with #76

Open pmelanson opened 5 years ago

pmelanson commented 5 years ago

No details yet, writing this down because I know I have to do it.

Things to think about:

pmelanson commented 5 years ago

Hmmmmmmmmmmmm, doing some more thinking about this.

A way we can short-circuit this is by just making OrbitX super-compatible with OrbitV piloting.

My thinking is: If we enhance the compat server to act as a drop-in replacement for OrbitV.bas, it will write an OSBACKUP.rnd once a second with lots of variables like engines, maybe fuel, object positions etc.

Then it will also read in data from the ORBITSSE.RND that is copied into the OrbitV directory by serverv.bas.

Where is wind info coming from? Looks like orb5res.rnd (written by orbit5vs.bas) is actually what has wind for use in piloting. enghabv.bas is responsible for reading orb5res.rnd and putting it into various variables including Zvar#(14) and Zvar#(15) (which are variable names in enghabv.bas that correspond to Ztel(14) and Ztel(15) in orbit5v.bas)

There aren't many other ways that simmies can control the flight program directly.

So really, we would just need our compat client to read ORBITSSE.RND and write an OSBACKUP.RND, which it basically already does!

So I think what we can do to get all the current simmie program functionality is just make sure we're writing a full OSBACKUP.RND every time, and reading all the info we need from ORBITSSE.RND.

We can do that!