Shannon V. OKeets -> RE: MWIF Game Interface Design (1/20/2006 11:52:22 PM)
|
quote:
ORIGINAL: macgregor Should I start looking for pistachios and non-pareils? It is very hard to maintain continual progress on this game. I have a half a dozen different task lists and make a point of removing 2 or more items from whichever one I am hammering away at each day. For a small glimpse into what I really do when I work on MWIF, here are some of the notes I maintain on programming problems. These are just the ones I couldn't solve right away. The numbers are assigned chronologically and are unique so I can cross reference them. They are very useful when a problem appears that is similar to something I have seen previously. These are all solved problems and the last dated entry for each problem is the final solution to it. Most of the list below concerns setting up the additional 8 scenarios, which I was working on the last week of November through the first 2 weeks of December. ================= 29 Scenarios November 24, 2005 Barbarossa - Access violation in SetupCity (Bremen) in CheckReinforcement in CreateSULocGroups in phase pReserves after Germany declares war on the USSR. November 24, 2005 - This might be caused by the SetupForm not being created prior to the call SetupForm.MilitiaPlaced.Add(CityC, CityR). November 24, 2005 - SetupForm was being referenced incorrectly. Changed to SULocations (and for partisans and reinforcements). 27 Scenarios November 22, 2005 Fascist Tide - Italian units not permitted in Libya, Ethiopia, or Italian Somaliland. See #8. November 29, 2005 - Added legal countries for scenario 23 Scrap and setup November 13, 2005 Missed the Bus - access violation before scrapping units screen appears. Also see #10. November 29, 2005 - Illegal relationship “Commonwealth -> Iceland, Greenland” followed by break. See #35. December 1, 2005 - Iceland and Greenland are automatically aligned when Denmark is conquered. 36 Scrap and setup December 1, 2005 Missed the Bus - Illegal relationship “Vichy France -> Corsica” followed by break. December 1, 2005 - Corsica is automatically aligned when Vichy is declared (?). 35 Scenarios November 29, 2005 Lebensraum - Illegal relationship “Commonwealth -> Iceland, Greenland” followed by break November 30, 2005 - Only minor countries can be aligned. December 1, 2005 - Iceland and Greenland are automatically aligned when Denmark is conquered. 37 Scrap and setup December 1, 2005 Missed the Bus - access violation before scrapping units screen appears. It occurs after calling SetRelations in GameData and in TUnit.HasFogOfWar for the unit Marseilles. MainForm.CurrCountry is set to nil! This is because the ActivePlayer is also nil. This is because there is no defined player with the initiative for this, and most other, scenarios. December 1, 2005 - The problem was in moving militia to the reserve pool for Free France when Germany “declares war on it”. The French militia (already in the force pool) was being moved to the force pool and the screen images updated. There was no CurrCountry defined for updating the imaginary screen images. This was corrected by two modifications (both may not have been needed): (1) Check if unit already in InForcePool before moving it there, and (2) extend exception processing to exclude pSetup and well as pVichy and pDeclareWar. 33 Scenarios November 29, 2005 Fascist Tide - Commonwealth capital ships not available (Glorious from South Africa is the 1st one) December 1, 2005 - The ships were actually United Kingdom, not South African. 41 Scenarios December 6, 2005 Barbarossa - When setting up the reserves for Germany, only air units without pilots are available. They should not be shown since there is nothing the player can do with them. The form also shows the carrier pilots remaining, which appears to be wrong as well (= 2). After setup, carrier pilots and regular pilots are merged into one pilot pool. December 6, 2005 - This is because the ReservePool is only for air units that have been built but no pilots assigned. 30 Setup Reserves November 24, 2005 Barbarossa - Rumanian unit reserves appear twice in setup stacks. Some units are removed from the map and placed in the setup stacks - this is true for both Rumanian and German units.. Pilots for aircraft seem incorrect. This might be caused by not clearing the SULocations (or the Group.Items). There are indications that Groups.Items and/or SULocations are being used by other routines inappropriately. Both of these variables have to be examined in detail as to what they do and what is being done to them. December 3, 2005 - solution not found in this exploration. December 3, 2005 - what needs to be understood here is the precise set of code that executes when war is declared automatically. That is what immediately precedes this problem. StackData.Stack is what is displayed on the screen - and it is wrong. It is set by transferring SetupUnits for the location. War declared causes set up reserves to be checked. December 5, 2005 - it now appears that the problem may be because SetupUnits is never free’d after setting up units. I tried simply freeing SetupUnits but that had no visible effect. I will now try freeing all the individual setup units too and see what that does. Still no change. Units are still being taken from the map and listed as reinforcements in StackData. December 6, 2005 - This problem occurs during pReserves, which calls PhaseSetup, which calls CheckReinforcements. The UnitStacks.SetupPool contains units. It does not appear to be cleared after setting up all the units for the game. December 6, 2005 - Finally killed this bozo. Picking units and placing them in the location groups was moving them to the Setup Pool using MoveToSetup. That routine does a ton of unnecessary stuff. I simplified it by merely changing the column # for the selected units and then changing them back later. 38 Setup December 1, 2005 Lebensraum - Trying to place two carrier planes on a two carriers created an infinite loop. in TUnitStack.FixTransportedUnits because the Counter is being reset internally to the loop and never reaches either -1 or exceeds the Count. This seems to occur because the transported unit has a higher counter number than the transporting unit. The former had an index of 22 and the latter 17. The Count was 99. Only one unit was being transported (F-4F4? on the Saratoga) and MoveTB was false. December 6, 2005 - Solution to #30 worked for this too. 31 Scenarios November 25, 2005 Guadalcanal - When setting up Commonwealth units, after setting up all the units in India, the program goes into an infinite loop that involves getting the unit type of a carrier unit (this is an actual unit, not a setup unit - Tunit.GetUnitType). December 6, 2005 - this may be related to #30. If it doesn;t appear again, I will assume that to be the case. 28 Scenarios November 23, 2005 Guadalcanal - Carrier air units are not handled correctly when all pilots have been assigned. Is this a problem due to the removal of the call to CheckPilots? December 6, 2005 - this may be related to #30. If it doesn’t appear again, I will assume that to be the case. 1 Scenarios November 13, 2005 Waking Giant data December 6, 2005 - Done 8 Scenarios November 13, 2005 Fascist Tide - testing started 9 Scenarios November 13, 2005 Day of Infamy - Territorial unit not available for USA. December 7, 2005 - Problem went away (when Philippines added?) 39 Setup December 1, 2005 (December 7, 2005) Fascist Tide - French territorial units not available (2 out of 2) and then the units that do show up can not be placed in Syria, Tunisia, Algeria, nor Morocco. December 7, 2005 - GameData had never been entered for France. 11 Scenarios November 13, 2005 (December 7, 2005) Lebensraum - supplemental data: SetRelations & SetLegalCountries. Territorial unit not found for USA. Bearn not available. This is probably because France has been conquered. Special transfer of Bearn to USA is needed. December 8, 2005 - Special code written. 42 Scenarios December 8, 2005 Lebensraum - Germany holds most of Russia. This is because the Alternate Control Records are being used and they shouldn’t be in June 1941, only in November of 1941. Barbarossa and Lebensraum should match and so should Day of Infamy and Waking Giant. The latter distinction doesn’t matter in Russia, but what about the rest of the world? December 8, 2005 - Changed when Alternate control records are used in GameData 41 Scenarios December 6, 2005 Brute Force - The Communist units are not set up. Stilwell can not be found - probably because the Chinese can not use the US unit. Special code needed for transferring Stilwell to the Nationalist Chinese. December 8, 2005 - Made Stilwell a Nationalist Chinese unit. Set flag for setting up communists. This had failed because the Chinese were first on the list of countries to set up in Brute Force. 26 Align countries November 20, 2005 Barbarossa - Access violation when aligning Hungary, after checking if scrapping units is needed (it isn’t). December 7, 2005 - partially solved by moving TotalUnitCount to StaticVar. December 7, 2005 - Break occurs when positioning Hungarian unit over Germany. Same thing happens when the Finns are aligned. This happens before the cursor can be moved, December 9, 2005 - CurrGroupID needed to be set to 1. 32 Scenarios November 25, 2005 (December 7, 2005) Global War - After setting up all the major powers, Germany declares war on Poland then bringing in the Polish units fails in CreateSULocGroups, because SetupForm is nil. December 7, 2005 - this is undoubtedly the same as #26. December 7, 2005 - same problem for Fascist Tide. December 9, 2005 - CurrGroupID needed to be set to 1. 44 Scenarios December 8, 2005 Lebensraum - Free French cannot be set up. Italy can’t find the French submarine. Program crashes for Commonwealth trying to add Greece as a country - is this because Greece has been conquered? How do we put the British units in Tobruk? December 9, 2005 - Used Libya instead of Tobruk. Problem with misspelled Egypt. 49 Scenarios December 9, 2005 Missed the Bus - Break during reading the French units for scrapping. December 10, 2005 - French Somaliland is known as French Somali Coast. 47 Setup December 9, 2005 Assign air units to carriers - form is not centered properly. Review the form. December 10, 2005 - Tracked down the form (UnitDialog) and fixed. 50 Scenarios December 9, 2005 Lebensraum - Netherlands East Indies territorial unit not found. [Fixed] Norwegian TRS not found. [Fixed] Greek cruiser Girgios Averoff not found [Fixed]. CW does not control NEI. [Fixed] CW does not control Crete [Fixed]. Militia and supply units can not be found. [Fixed] These errors are all for setting up the Commonwealth. NEI naval units can not be set up in NEI. [Fixed] December 12, 2005 - Special code written for transferring units from conquered countries to new owners. Territorial ownership handled using alignment. 10 Scenarios. December 8, 2005 Missed the Bus - same as #50. 52 Scenarios December 12, 2005 Lebensraum - Netherlands East Indies territorial and militia units can not be set up in NEI. December 12, 2005 - Modified CheckReinforcing routine to permit NEI land units in NEI. 34 Scenarios November 29, 2005 (December 7, 2005) Day of Infamy - Netherlands East Indies territorial picked but unable to be placed! December 1, 2005 - Unable to find Australian armor unit. December 7, 2005 - Typo, should have been a motorized unit, not armor. December 6, 2005 - The naval units are ok, why not the territorial? See #52. 48 Setup December 9, 2005 SetupForm - Carrier pilots are always shown on the form. This should only happen during setup at the start of the game, not during reinforcements, reserves, et al. December 13, 2005 - Changed boolean logic back to what Chris had. 54 Scenarios December 13, 2005 Waking Giant - After placing the Communist Chinese, the USSR setup is checked for violations vis-a-vis the Germans (it shouldn’t be). December 13, 2005 - Changed the call to CheckSetup so it only does the USSR and is based on the current setup country, not the current country. =======================
|
|
|
|