@Alexchandel :
The hard part in this client-server approach is the client.
As I understand it, the client will have 2 components :
- The display component. It allows you to see a portion of the fortress.
It reads the state of the server every xx frames.
So, every xx frames, it refreshes the state of the fort to display.
It takes in keyboard inputs to move the view in the fortress (< > up down left right and Fkeys basically)
- The controller component. It allows you to send requests to the server.
Now, when we do stuff with this component, the client will stop refreshing the state of the fortress.
So for instance, if we press "k" to inspect something, or "b" "t" to place a table, the display component will stop asking the server's state. Thus, the client will localy freeze the fort so we can place things, or inspect an entity without it moving non stop.
During this local pause, the server keeps running.
Once we are done with our controls, the controller sends a request to the server and the display component refreshes the fortress' state.
-> What does this "Remote Fortress Reader" do exactly ? Does it take care of the "display component" part ?
Can we get RFR to refresh (read fort data) whenever we want ?
Can we use RFR to move the viewport ?
If so, that the display part sorted out.
-> I have some ideas on how to implement the controller part.
I'd like to dive into that eventually. But I'd like some well documented code. DF's memory edits are just....
EDIT : ho and btw, this controller part means we will be remaking a new GUI.
It means lots of possible bugs.
It also means it will need to be updated every release.