Shannon V. OKeets
Posts: 22095
Joined: 5/19/2005 From: Honolulu, Hawaii Status: offline
|
I am in the process of coding the routines for saving and restoring screen layouts and map views. A map view is set of specifications that describe how the detailed map is set up. The data are: UpperLeftHex: TSmallPoint; // Hex column and row for upper left hex Zoom: Byte; // Zoom level Weather: Boolean; // Whether weather is shown WeaterZones: Boolean; // Whether weather zones are shown Labels: Boolean; // Whether map labels are shown Units: Boolean; // Whether units are shown RailLines: Boolean; // Whether rail lines are shown HexControl: Boolean; // Whether hex control is shown Not included is the size of the detailed map, which is part of the screen layout. Here are the data for screen layouts: MainFor: TMWIFMain; // Main menu form GameStatusFor: TGameStatus; // Game status form (turn, weather) GameControlFor: TGameControl; // End of phase, switch major power DisplayControlFor: TDisplayControl; // Toggles switches and zoom form HexParticularsFor: THexParticulars; // Terrain, resources, etc. for hex DetailedMaps: TDetailedMapTable; // List of detailed maps MapDisplayControlsFor: TMapDisplayControls; // Map display controls form GlobalMapFor: TGlobalMap; // Global Map form GlobalMapLegendFor: TGlobalMapLegend; // Global map legend form UnitPanelFor: TUnitPanel; // Unit panel form UnitsInHexSummaryFor: TUnitsInHexSummary; // Units in hex summary form UnitDisplayControlsFor: TUnitDisplayControls; // Unit display controls form SetupFor: TSetup; // Setup form UnitDataFor: TUnitData; // Unit data form LandCombatTableFor: TLandCombatTable; // Land combat table form DiceFor: TDice; // Dice form ChatFor: TChat; // Chat form NewMessageFor: TNewMessage; // New message form SequenceOfPlayFor: TSequenceOfPlay; // Sequence of play form ScreenLayoutsFor: TScreenLayoutList; // Placement of screen layouts list MapViewsFor: TMapViewList; // Placement of map views list UnitSelectionFor: TUnitSelectionList; // Placement of units list The ‘For’ embedded in each name indicates (so I don’t get it confused with other things) that the variable records the location of the form - that is, its position of its leftmost and topmost pixel. Some of these also have dynamic sizes which are also stored. The odd duck here is the DetailedMaps variable which contains a set of detailed maps. There may be more than one visible on the screen. The purpose behind screen layouts and map views is to enable the player to have some control over tailoring the interface the way he likes it. There are defaults for everything, so there is no need to overtly make these decisions. But if the placement of some form on the screen bothers you, you have the ability to not only change it, but to preserve that change so you do not have to do it again every time you play the game. Screen layouts simply record the position and size of the forms that appear while playing the game. Map views record the focus of the map: zoom level, which hex is in the upper left corner of the map, plus how the toggle switches are set. I expect each player to have dozens of map views on hand for quickly jumping around the map: China overview (zoomed out), China North (zoomed in), China South, Southern England, Maginot Line, Poland, Rumania, Gibraltar, Italy, East Africa, Middle East, etc.. These might be by phase of the game too, with different ones for production, placing reinforcements, strategic bombing, and so on. Screen layouts are similar, with different forms visible depending on the phase of the game. Naval movement versus land movement might require different sizes and placements for information/forms. So here is my problem. How to name the map views and screen layouts. First, I do not think it is necessary to include the player’s name as part of the file name. That’s because it will be rare that more than one MWIF player will use a single computer. Second, I do not believe the phase of the turn should be part of the file name. However, I am not so sure about the major power. What I have in mind is that the French player would have a set of map views and could go from the first to the last using right arrow, or some such keystroke. That would be nice to have tied into the current major power. The US and CW want markedly different map views from those of the USSR and Italy. I am not so sure that is needed for screen layouts though. Here are some alternatives: 1 - make up a name and that is what is used. E.g., Maginot Line, Poland, England 2 - make up a name and an abbreviation for the major power is added to it. E.g., Fr Maginot Line, Fr North Africa, Ge Baltic States, Ge Kiev, Ge Rumania, Ge Lowlands. 3 - make up a name and both the major power and phase will be added to it. E.g., Fr Production France, CW Production England, US Production Atlantic, US Production Pacific, Ru Production Europe, Ru Production Pacific. 4 - something else I haven’t thought of that is how you would like it handled. Comments? Suggestions?
_____________________________
Steve Perfection is an elusive goal.
|