Steel Panthers 1/2 Converter (SPCONV) Toolset
Convert Scenarios from SP1 and SP2 into SPCAMO WW2 and MBT Scenarios automatically.

NOTE ON SOURCES

This toolchain was created over several months (March-June 2026) with the use of Anthropic Claude as well as significant notes I had previously taken on the structure of Steel Panthers scenarios; plus the preserved source code for previous attempts at making SP Map Converters by Fred Chlanda:

SP1 To SPWW2 by Fred Chlanda (726 kb ZIP)

SPWW2 Map Source by Fred Chlanda (63 kb ZIP)

Full Sources for this page's SPCONV toolchain (3~ MB ZIP) [v1.1] – download this, extract it to a folder on your hard drive, and you can run this locally.

Here are the steps in the full toolchain to convert scenarios from SP1 or SP2 into “modern” SPCAMO SPWW2 or SPMBT scenarios:

1.) Download the original scenarios from the following Internet Archive Repositories

https://archive.org/details/wargamer-depot_steel-panthers

https://archive.org/download/wargamer-depot_steel-panthers
(Click on View Contents for the big ZIP file – there are a lot of scenarios packs zipped up; i.e. [Bonus/Scen_Hapshott/SP1_Hapshott_East_Front_1943.zip]

https://archive.org/details/wargamer-depot_steel-panthers-II-modern-battles

https://archive.org/download/wargamer-depot_steel-panthers-II-modern-battles
(Click on View Contents for the big ZIP file – there are a lot of scenarios packs zipped up; i.e. [Bonus/Scenarios/SP2_Hapshott_Europe.zip]

Both archives contain pre-sorted Scenario ZIP collections that you can load in the next step.

2.) Select and Extract the Original Scenario + Convert the Scenario Map

SPCONVERT MAP v5

Load your scenario or select it from a ZIP pack; you should see it automatically detect the format of the DAT file:

SP1, SP2 Uncompressed, or SP2 Compressed.

It will also tell you the month/year and who is Player 1 (P1) and Player 2 (P2), along with the scenario briefing.

You go to #2 OUTPUT FILENAME and select the number you want it to be output to.

I like using 999 as it's very uncommon and won't (usually) cause collisions in installed SPCAMO games (you can always rename it later).

You then click on

CONVERT & DOWNLOAD

Your web browser may ask you if you want to allow/download multiple files. Say yes.

Inside your /DOWNLOADS directory will be:

spWW2scn0999.dat (or spMBTscn0999.dat) [Stub Scenario File with Converted Map in it]
spmap999.dat [Converted Map in Mapfile format]
Original Scenario DAT
Original Scenario CMT (if present)
Original Scenario TXT (if present)

3.) Dump the Scenario Information from the Original SP1/SP2 Scenario

Load

SP READER v18

and within it, load the Original Scenario DAT file in question (either by clicking on the screen or dragging a DAT file onto the browser window).

A successful load will show you a screen similar to this:

In the upper right corner there will be a button labelled

⬇ DUMP JSON

Push it and "Allow multiple files download" again.

In /DOWNLOADS you'll find:

[name].JSON
[name]_OOB.txt

The JSON file has all the useful data (so far) from the scenario extracted into a format that can be read by other programs; and the _OOB.txt file has useful stuff like:

──────────────────────────────────────────────────
SIDE A / P1 — USA
──────────────────────────────────────────────────

Formation A (4 units) (US Hmv Tac Cp/3, US HMV Tac Cp/4, US M2 HQ/Trp F, US M2 TAC CP/2)
Formation B (3 units) (3x M551 Sheridan)
Formation C (3 units) (3x M966 TOW HMMWV)
Formation D (4 units) (4x M3A1 Bradley)
Formation E (4 units) (4x M3A1 Bradley)
Formation F (4 units) (4x M3A1 Bradley)
Formation G (2 units) (2x M2A1 Bradley)

TOTAL: 24 units in 7 formations

As well as giving you entrenchment information:

──────────────────────────────────────────────────
ENTRENCHMENTS (33 placed)
──────────────────────────────────────────────────

P1 — 16 entrenched units
[3,28] Sandbag Emplacement (Var D) — B3: 3Zug/Tiger S33
[4,28] Sandbag Emplacement (Var A) — B2: 2Zug/Tiger S25
[5,28] Sandbag Emplacement (Var C) — B1: 1Zug/Tiger S11
[6,28] Sandbag Emplacement (Var D) — B0: 2Zug/Tiger S21
[43,32] Sandbag Emplacement (Var A) — C0: Sdkfz 251/3
[43,34] Sandbag Emplacement (Var D) — C1: Sdkfz 251/3
[44,35] Foxhole (E) — H2: MG-42 MMG
[45,26] Foxhole (NE) — H1: MG-42 MMG
[45,29] Foxhole (E) — H0: MG-42 MMG
[47,30] Foxhole (NW) — G0: GE Infantry AT
[49,15] Foxhole (E) — D1: III./2SSPzG Rg
[49,20] Foxhole (E) — D0: III./2SSPzG Rg
[51,18] Foxhole (NE) — D0: MG-42 MMG
[52,24] Foxhole (NE) — D2: III./2SSPzG Rg
[54,18] Foxhole (NE) — D3: III./2SSPzG Rg
[59,41] Foxhole (E) — F2: III./2SSPzG Rg

P2 — 0 entrenched units
(none)

Unoccupied entrenchments — 17 (owning side not present)
[47,19] Sandbag Emplacement (Var A) (P1) — empty
[47,33] Sandbag Emplacement (Var C) (P1) — empty
[48,16] Sandbag Emplacement (Var B) (P1) — empty
[48,27] Sandbag Emplacement (Var C) (P1) — empty
[51,30] Sandbag Emplacement (Var C) (P1) — empty
[51,34] Sandbag Emplacement (Var D) (P1) — empty
[52,22] Sandbag Emplacement (Var B) (P1) — empty
[52,29] Sandbag Emplacement (Var A) (P1) — empty
[53,27] Sandbag Emplacement (Var C) (P1) — empty
[54,16] Sandbag Emplacement (Var A) (P1) — empty
[55,32] Sandbag Emplacement (Var D) (P1) — empty
[55,39] Sandbag Emplacement (Var D) (P1) — empty
[56,29] Sandbag Emplacement (Var B) (P1) — empty
[56,36] Sandbag Emplacement (Var D) (P1) — empty
[57,34] Sandbag Emplacement (Var C) (P1) — empty
[58,41] Sandbag Emplacement (Var C) (P1) — empty
[59,30] Sandbag Emplacement (Var B) (P1) — empty

4.) Import the Scenario Information from the Original SP1/SP2 Scenario into the Map Stub Blank SPWW2/SPMBT Scenario created in Step #1

Load

SP EDITOR SPCAMO v52

NOTE

This tool relies on some very large .js files that must be loaded first:

SPCAMO_UnitsMBT.js - 8.5 MB
SPCAMO_UnitsWW2.js - 3.6 MB
SPCAMO_Weapons_V2.js - 837 kb

This (mostly) isn't a problem in 2026 since we're no longer on 56k dialup, but it's worth a note if you're trying to run it online -- you'll have to wait maybe a few seconds (depending on your internet connection) for all the .js files to load.

Load the blank “Map Stub” spWW2scn0999.dat file that you created with SPCONVERT MAP v5.

You'll see a lot of information, but the things that really concern us are the multiple buttons below the Import SP1 / SP2 header:

IMPORT SCENARIO PARAMETERS (JSON)
IMPORT VICTORY LOCATIONS (JSON)
IMPORT UNITS / LEADERS (JSON)
IMPORT ENTRENCHMENT (JSON)

Click on each one in turn, and select the JSON dump that we made earlier in your /DOWNLOADS directory; this will pull the data from the JSON and put it into the scenario.

Yes, I know it's tiresome clicking/loading each set of parameters one by one, but this approach let me "modularize" loading each individual section of the scenario dump into a SPCAMO game file; so I could work on one thing at a time.

The IMPORT UNITS / LEADERS (JSON) one will bring up a pop up menu with suggestions for which SPCAMO unit to select for a converted unit -- I dumped the databases for SPWW2 and SPMBT into the following files:

SPCAMO_UnitsMBT.js
SPCAMO_Icons_MBT.js
SPCAMO_UnitsWW2.js
SPCAMO_Icons_WW2.js

As well as created a partial translation file in:

SPCAMO_UnitImport_Names.js
That should help reduce a lot of “cognitive” load in selecting what unit to use for the translation.
What all the features in the Unit Import Dialog Mean:
P1 Icons and P2 Icons -- these allow you to select whether to chose Summer, Winter or Desert Icons. The percentage dialog box next to each one represents how many units are NOT in those icons and instead are "summer" icons.
For example, you select P1 DESERT, and enter 25 into the dialog box next to the DESERT radio button.
This means that all of P1's units will be in Desert Icons, but 25% of them will be in Summer Icons; representing say, the early days of the Afrika Korps, with some units still painted in Panzergrau.
Likewise, this can be used to represent the "ragtag" look of German AFVs during late 1941 on the Eastern Front, with some tanks being painted in whitewash, while others still in Summer camouflage.
The two checkboxes "Keep P1 Unit Names" and "Keep P2 Unit Names" allow you to determine if you want to keep the unique unit names the original scenario creator may have picked -- i.e. "2Zug/Tiger 521" instead of "PzKw VI Tiger". The dual checkboxes are needed because sometimes only one side in a scenario may have unique names.
If you scroll all the way to the bottom of potential translated units; you will see a checkbox titled "Use this match for all future [$NAME] units."
This lets you pick the correct tank (or infantry) translation and then simply copy it over to all units of the same type within the scenario, simplifying conversions.

When you hit the “IMPORT ENTRENCHMENT (JSON)” button, and select your JSON, several popups will show up:

The reason I made this an optional choice (despite slowing down the conversion pipeline) is that I wanted to retain as many options for the user as possible, as I wasn't sure at the time if Claude had correctly implemented all the various places Entrenchment was buried inside the DAT file.

Once all of the JSONs have been imported; click on the

DOWNLOAD

button in the upper right corner.

Your modified .DAT will be in your DOWNLOADS directory

5.) Write up the Scenario Briefing + Create the CMT File

At this point, you translate/edit the original scenario briefing from the SP1/SP2 scenario.

Many scenario briefings may be in a foreign language – use Google Translate (https://translate.google.com/) to convert them over to English.

In SPCAMO, * is used for line breaks; i.e.:

Sherepki, July 8, 1944*
*
Since the failure of Operation Citadel, the Wehrmacht has permanently lost the initiative on the Eastern Front. After a period of rest in Italy, the Leibstandarte returned to the USSR in November 1943. Everywhere, the Soviets were on the offensive, and the SS division was deployed across the entire Ukrainian Front to play the thankless role of "fire brigade" -- rushing in to contain crises -- whenever the situation became critical.*
*
In January, the division fought in the Zhytomyr sector in order to (once again) counterattack a Soviet breakthrough. At dawn on January 8, the Tigers commanded by SS-Untersturmfuehrer Wittmann held the village of Sherepki, situated on the road to Janushpol. They were supported by the 3rd Armored Battalion of the 2nd SS Panzergrenadier Regiment.*
*
At 5:15 AM, approximately 40 tanks and assault guns from the 54th Guards Tank Brigade launched an assault on the village.*
*
=====================================*
(Original French Language Text Below*
=====================================*
*
Sherepki, 8 juillet 1944 : depuis l'echec de l'operation Citadelle, la Wehrmacht a definitivement perdu l'initiative sur le front de l'Est. La Leibstandarte apres une periode de repos en Italie est de retour en novembre 1943 en U.R.S.S. Partout les Sovietiques sont a l'offensive, et la division SS est engagee sur l'ensemble du front d'Ukraine pour jour le rôle ingrat de pompier volant des que la situation devient critique.*
*
En janvier, la division se bat dans le secteur de Jitomir afin, une fois encore, de contre-attaquer une percee sovietique. Le 8 janvier a l'aube, les Tigres commandes par le SS-Untersturmfuhrer Wittmann tiennent le village de Sherepki sur la route de Janushpol. Ils sont accompagnes du troisieme bataillon blinde du 2.SS-Panzergrenadier-Regiment.*
*
A 5h15, environ 40 chars et canons d'assaut de la 54eme Brigade Blindee de la Garde s'elance a l'assaut du village.*

I also created a CMT editor; so you can edit the Scenario Name Files correctly, and avoid crashing your SPCAMO game when it encounters the scenario in the list:

SP CMT Editor v1

Some examples of Scenario Names to stay within SPCAMO conventions:

Once you've got your CMT, TXT and DAT all squared away, dump it in your SPWW2 / SPMBT Scenario Folder and play away.