Modding Computer WIF?

World in Flames is the computer version of Australian Design Group classic board game. World In Flames is a highly detailed game covering the both Europe and Pacific Theaters of Operations during World War II. If you want grand strategy this game is for you.

Moderator: Shannon V. OKeets

Post Reply
Alyosh
Posts: 5
Joined: Mon Sep 13, 2010 1:07 am

Modding Computer WIF?

Post by Alyosh »

Does anyone know how I can play around with the artwork of the old Computer World in Flames program? From what I can tell, the information is contained in ".dat" files that are not easily accessible.

Thanks!
Shannon V. OKeets
Posts: 22165
Joined: Wed May 18, 2005 11:51 pm
Location: Honolulu, Hawaii
Contact:

RE: Modding Computer WIF?

Post by Shannon V. OKeets »

ORIGINAL: Alyosh

Does anyone know how I can play around with the artwork of the old Computer World in Flames program? From what I can tell, the information is contained in ".dat" files that are not easily accessible.

Thanks!
CWIF had a built-in editor for the map and units. But I never learned how to access it. One of the first things I did was to remove the capability to edit from the source code (the code was extremely difficult to understand with hundreds of conditional compile statements for the Editor embedded in the code for executing the game).

I do know that the BMP files are mostly for the buttons and do not relate to the bitmaps for the terrain and units.

And you are right that CWIF uses .dat files - they are binary and can only be read using special software. To replace the .dat files, I wrote routines that wrote the data out to .CSV files so I could read and modify them using a plain text editor (or a spreadsheet). But I have no way to convert CDV files to DAT files/format.
Steve

Perfection is an elusive goal.
DaleKent
Posts: 10
Joined: Thu May 27, 2010 10:00 pm
Contact:

RE: Modding Computer WIF?

Post by DaleKent »

Does that mean modding is out for MWIF?
User avatar
Froonp
Posts: 7998
Joined: Tue Oct 21, 2003 8:23 pm
Location: Marseilles, France
Contact:

RE: Modding Computer WIF?

Post by Froonp »

ORIGINAL: DaleKent

Does that mean modding is out for MWIF?
No.

Some things can be modded in MWiF, particulary counters factors.
Some map feature can be modded too. Cities names, added or removed resources, or even adding or removing ports, cities, railways.
Rivers and coastlines won't be moddable though, and counter's bitmaps won't be moddable too.

Charts, CRT and rules won't be moddable either.
DaleKent
Posts: 10
Joined: Thu May 27, 2010 10:00 pm
Contact:

RE: Modding Computer WIF?

Post by DaleKent »

So we could potentially make WWI scenarios and hypothetical West vs East in Europe scenarios? AWESOME! :D
Shannon V. OKeets
Posts: 22165
Joined: Wed May 18, 2005 11:51 pm
Location: Honolulu, Hawaii
Contact:

RE: Modding Computer WIF?

Post by Shannon V. OKeets »

ORIGINAL: DaleKent

So we could potentially make WWI scenarios and hypothetical West vs East in Europe scenarios? AWESOME! :D
No. The 11 scenarios can not be changed or added to.

Setting up a WIF scenario is extremely complex. After all, there is a separate rule booklet just for that purpose. While you might think that is just some spreadsheets and advice, it is the extra paragraphs for each scenario that add tons of complexity. Here are some code fragments to give you some insight the deatils. The first is a 'control' section that executes 16 other routines. The second is part of the 5th routine.

Notice that there is a lot more code than what is shown here simply to establish the starting relationships and units. For example, AddAligned sets the aligned country (and any countries it controls) to be at war with any of the countries that the aligning country is. Then there are the data files that establish which hexes within a country are controlled by different major powers (e.g., China). Only after all this has been put into place can the 6000 lines of code that translate the spreadsheet into meaningful instructions be executed.
===

Code: Select all

     SetInitiative;        // 1 Who has the initiative.
     SetIntelligence;      // 2 Set intelligence points from scenario data.
     SetForts;             // 3 Forts that have been destroyed.
 
     LoadStatusForm.SetLoadStatusLabel('Setting Political Relationships', 97, 20);
     SetTradeAgreements;   // 4 Trade agreements.
     SetRelationships;     // 5 Who is at war, aligned, conquered.
 
     LoadStatusForm.SetLoadStatusLabel('Setting Political Relationships', 98, 40);
     SetLegalCountries;    // 6 Set which countries are in the scenario + convoys.
 
     LoadStatusForm.SetLoadStatusLabel('Setting Political Relationships', 98, 60);
     SetControl;           // 7 Who controls which hexes (precedes SetUnits).
     SetUnits;             // 8 Remove some units and put others in reserve pool.
     MoveFactories;        // 9 Remove Russian factories that moved.
 
     LoadStatusForm.SetLoadStatusLabel('Setting Political Relationships', 99, 80);
     AssignConqueredUnits; // 10 Transfer ownership of conquered naval units.
     SetGearing;           // 11 Gearing limits are infinite to start.
     SetAllow;             // 12 Convoys & hexes usable by other major powers.
     SetPacts;             // 13 Neutrality pacts.
 
     LoadStatusForm.SetLoadStatusLabel('Setting Political Relationships', 99, 90);
     SetPolitics;          // 14 Set which US entry actions have occurred.
     SetLendLease;         // 15 Remove lend leased units from force pool.
     SetEntryAction;       // 16 Create an empty delayed US entry action table.
 

Code: Select all

 // ****************************************************************************
 // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 // Missed the Bus.
 // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 // ****************************************************************************
     scMissedTheBus:
     begin
 // ****************************************************************************
 // Balkans.
 // ****************************************************************************
       ChangeParentCountry(rsHungary, [rsTransylvania]);
       ChangeParentCountry(rsBulgaria, [rsSouthDobruja]);
 // ****************************************************************************
 // Italy.
 // ****************************************************************************
       AddAligned(Italy, [rsEritrea, rsItalianSomaliland, rsLibya]);
       AddConquered(Italy, [rsEthiopia]);
     	AddWar(Italy, [rsCommonwealth]);
 // ****************************************************************************
 // Commonwealth.
 // ****************************************************************************
       AddAligned(Commonwealth, [rsBurma, rsMalaya, rsBelgianCongo, rsNorway,
         rsNetherlands, rsNetherlandsEastIndies]);
      	AddForcePool(Commonwealth, [rsBurma]);
 // ****************************************************************************
 // Vichy France.
 // ****************************************************************************
       Countries.CreateVichyFrance(Germany);
   	  ChangeParentCountry(rsVichyFrance, [rsVichyFrance]);
       AddAligned(VichyFrance, [rsAlgeria, rsDahomey, rsFrenchGuinea,
                                rsFrenchGuyana, rsFrenchSudan, rsIvoryCoast,
                                rsMadagascar, rsMauritania, rsMorocco,
                                rsNigerColony, rsSenegal, rsTogo, rsTunisia,
                                rsUpperVolta, rsSyria, rsFrenchIndoChina]);
       ChangeForVichy;  // Handles most of the changes except those below.
 // ****************************************************************************
 // Germany.
 // ****************************************************************************
       AddConquered(Germany, [rsBelgium, rsDenmark, rsNetherlands,
         rsNorway, rsPoland]);
       OccupyFaeroes;
       GDChangeControl(rsVichyFrance, [rsFrenchPolynesia, rsMarquesasIslands,
         rsGuadeloupe, rsMartinique, rsStPierreMiquelon, rsPondicherry,
         rsReunion, rsComorosIslands, rsFrenchSouthernAntarctic,
         rsScatteredIslandsIndianOcean]);
     	AddWar(Germany, [rsCommonwealth]);
 // ****************************************************************************
 // Free France.
 // ****************************************************************************
       AddAligned(France, [rsCameroons, rsChad, rsMiddleCongo,
                           rsFrenchSomaliland, rsGabon, rsUbangiShari]);
       Countries.RenameFrance;
       ChangeFranceHomeCountry;         // To Gabon.
       GDChangeControl(rsFreeFrance, [rsNewCaledonia]);
     	AddWar(Germany, [rsFreeFrance]);
     	AddWar(Italy, [rsFreeFrance]);
 // ****************************************************************************
 // Belgium.
 // ****************************************************************************
       ChangeBelgiumHomeCountry;        // To UK.
 // ****************************************************************************
 // Netherlands.
 // ****************************************************************************
       ChangeNetherlandsHomeCountry;    // To NEI.
 // ****************************************************************************
 // USSR.
 // ****************************************************************************
     	ChangeParentCountry(rsUSSR, [rsFinnishBorderlands, rsBessarabia]);
       GDChangeControl(rsUSSR, [rsEasternPoland]);
     	AddConquered(USSR, [rsEstonia, rsLatvia, rsLithuania]);
 // ****************************************************************************
 // USA.
 // ****************************************************************************
       AddAligned(UnitedStates, [rsPhilippines]);
 // ****************************************************************************
 // Japan.
 // ****************************************************************************
       AddAligned(Japan, [rsKorea, rsManchuria]);
      	AddForcePool(Japan, [rsKorea, rsManchuria]);
     	AddWar(Japan, [rsChina]);
     end;
 
Steve

Perfection is an elusive goal.
DaleKent
Posts: 10
Joined: Thu May 27, 2010 10:00 pm
Contact:

RE: Modding Computer WIF?

Post by DaleKent »

Woops, I misread Froonp's post. I read it as rules would be moddable, not won't. [:o]
Post Reply

Return to “World in Flames”