initial import
[picodrive.git] / platform / uiq2 / ClientServer.h
CommitLineData
cc68a136 1// protocol used to talk between exe and it's launcher\r
2\r
3#ifndef __CLIENTSERVER_H\r
4#define __CLIENTSERVER_H\r
5\r
6#include <w32std.h>\r
7\r
8// names\r
9_LIT(KServerName, "PicodriveNServ");\r
10_LIT(KServerWGName, "Picosmall"); // window group name\r
11_LIT(KClientName, "PicodriveN");\r
12_LIT(KClientFind, "PicodriveN*"); // client search mask (for TFindLibrary)\r
13\r
14\r
15// opcodes used in message passing between client and server\r
16enum TPicoServRqst {\r
17 PicoMsgLoadState,\r
18 PicoMsgSaveState,\r
19 PicoMsgLoadROM,\r
20 PicoMsgResume,\r
21 PicoMsgReset,\r
22 PicoMsgKeys,\r
23 PicoMsgPause,\r
24 PicoMsgQuit,\r
25 PicoMsgConfigChange, // launcher -> emu\r
26 PicoMsgRetrieveConfig, // emu -> launcher\r
27 PicoMsgRetrieveDebugStr,// fixed to 512 bytes 4 now\r
28 kDefaultMessageSlots // this is how many messages we need :)\r
29};\r
30\r
31\r
32// event messages to launcher\r
33enum TPicoLauncherEvents {\r
34 EEventKeyCfgDone = EEventUser + 1,\r
35 EEventGamePaused,\r
36};\r
37\r
38\r
39// configuration data to be sent between server and client\r
40struct TPicoConfig {\r
41 enum TPicoScreenRotation {\r
42 PRot0,\r
43 PRot90,\r
44 PRot180,\r
45 PRot270\r
46 };\r
47 enum TPicoScreenMode {\r
48 PMCenter,\r
49 PMFit,\r
50 PMFit2\r
51 };\r
52 enum TPicoFrameSkip {\r
53 PFSkipAuto = -1,\r
54 PFSkip0\r
55 };\r
56 TInt32 iScreenRotation;\r
57 TInt32 iScreenMode;\r
58 TUint32 iFlags; // LSb->MSb: use_sram, show_fps, enable_sound, sound_rate(3bits), gzip_saves{=0x40}, dont_use_mot_vol\r
59 // enable_ym2612&dac, enable_sn76496, enable_z80, stereo_sound;\r
60 // alt_renderer, 6button_gamepad, accurate_timing\r
61 TInt32 iPicoOpt;\r
62 TInt32 iFrameskip;\r
63 TUint32 iKeyBinds[32];\r
64 TUint32 iAreaBinds[19];\r
65 TInt32 PicoRegion;\r
66};\r
67\r
68\r
69#endif // __CLIENTSERVER_H\r