Today I managed to get remote graphics working in AbiathRPC. When the server starts, it loads two files as instructed in the config file into memory as byte arrays. When the tilesets are requested by a client, the server just sends down those byte arrays, which the client turns into bitmap images. To make Abiathar open an AbiathRPC level set, AbiathRPC supplies a very thin dependency file with the bare minimum needed for Abiathar to not crash. Abiathar first opens a blank level set with the Keen 4 graphics, then AbiathRPC replaces the graphics manager with one based on the two bitmaps received.
Next, I need to get a level set proxy going. That is made a little challenging by the fact that some Abiathar internals outside of the state manager modify the INextGenLevelSet directly. My current plan is to introduce a subtype of GalaxyLevel that carries a tag to uniquely identify the level on the server and identify levels newly created at the client.
No comments:
Post a Comment