Modding Computer WIF? (Full Version)

All Forums >> [New Releases from Matrix Games] >> World in Flames



Message


Alyosh -> Modding Computer WIF? (9/13/2010 4:17:22 AM)

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 -> RE: Modding Computer WIF? (9/13/2010 9:19:30 AM)


quote:

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.




DaleKent -> RE: Modding Computer WIF? (9/13/2010 9:52:51 AM)

Does that mean modding is out for MWIF?




Froonp -> RE: Modding Computer WIF? (9/13/2010 10:19:30 AM)

quote:

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 -> RE: Modding Computer WIF? (9/13/2010 10:34:14 AM)

So we could potentially make WWI scenarios and hypothetical West vs East in Europe scenarios? AWESOME! :D




Shannon V. OKeets -> RE: Modding Computer WIF? (9/13/2010 7:59:58 PM)


quote:

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.
===
    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.


// ****************************************************************************
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 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;




DaleKent -> RE: Modding Computer WIF? (9/14/2010 11:10:28 AM)

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




Page: [1]

Valid CSS!




Forum Software © ASPPlayground.NET Advanced Edition 2.4.5 ANSI
2.0625