Difference between revisions of "Options file (first generation)/Research"

From Worms Knowledge Base

Jump to: navigation, search
(Created page with "{{ParentArticle|Options file (first generation)}} Current research for the WormsDC team file format conducted by Squirminator2k. == Things we know == * WormsDC option fi...")
 
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{ParentArticle|[[Options file (first generation)]]}}
 
{{ParentArticle|[[Options file (first generation)]]}}
  
Current research for the WormsDC team file format conducted by Squirminator2k.
+
<pre>
 +
OPTION FILE RESEARCH
  
== Things we know ==
+
// the "DEFAULT.OPT" file has "WRM2OPTN" in the first 7 bytes. Options created by v1.05 instead have "WRM2OPT2".
* WormsDC option files store all of the various settings as determined in the "OPTIONS" menu.
+
// "DEFAULT.OPT" has a different value at byte 0x1d compared to a new option file created using default settings.
* WormsDC option files also store which cheats were enabled when the option file was saved. For example, if the "MUSIC" cheat was entered to disable the title screen music, the option file stores this, and if the "JAMIE AND HIS MAGIC TORCH" cheat was entered, the ability to edit values for super weapons is enabled.
+
// Value for "DEFAULT.OPT" is 4c.
 +
// Value for a saved Option set is 00.
 +
// Disabling the MUSIC changes 0x9c from 14 to 1c, and 0xb6 from fe to ff.
 +
// Enabling ARTILLERY mode changes 0x9c from 14 to 54, 0xb6 from ff to fe.
 +
 +
OPTIONS - GAME OPTIONS - PAGE 1
  
== Hex values ==
+
0x08 = Worm Placement 00 = teams 01 = random
* Bytes 0-7 = The term "WRM2OPT2". Always present in the file.
+
0x09 = Turn Time 00 = infinite 0a = 10sec 14 = 20sec 1e = 30sec
 +
28 = 40sec 32 = 40sec 32 = 50sec 3c = 60sec
 +
0x0a = Round Time 00 = infinite 05 = 5min 0a = 10min 0f = 15min
 +
14 = 20min 19 = 25min 1e = 30min
 +
0x0c = Rounds to Win 01 = 1 rnd 02 = 2 rnds
 +
0x0b = Training Time 00 = infinite 01 = 1min 02 = 2min 03 = 3min
 +
04 = 4min 05 = 5min
  
=== Cheats ===
+
// Worms and WormsDC both support the Amiga CD32 gamepad, and also support multiple controllers.
Cheats currently appear to be stored in byte 0x900C:
+
// THis means you can have two separate mouses plugged in and in use, or two gamepads.
* 14 = no cheats enabled.
+
 
* 0E = Music off, Super and Secret Weapons enabled.
+
0x1d = controller type 00 = mouse + keyboard 01 = CD32 joypad
 +
0x0d = No. of controllers 01 = 1 controller 02 = 2 controllers
 +
 +
0x0e = Wind 00 = off 01 = on
 +
0x0f = Caverns 00 = off 01 = on
 +
0x10 = WormCam 00 = off 01 = on
 +
 +
 +
OPTIONS - GAME OPTIONS - PAGE 2
 +
 +
0x11 = Continue on Land 00 = off 01 = on
 +
 +
// The "Mine Type" setting has four variables = "Limited/Random", "Wide/Random", "Limited", and "Wide".
 +
// "Range" determines how sensitive the mines are (i.e. how close a Worm can get before they detonate.)
 +
// A mine with a Wide range behaves like a mine in W1.
 +
// "Random" determines whether the mine will always do ~50 damage, or vary the potential damage.
 +
// Depending on the setting, these two values are changed:
 +
 +
0x12 = Mine range (Wide/Ltd) 08 = Limited 10 = Wide
 +
0x13 = Mine damage - random 00 = no 01 = yes
 +
 +
0x14 = Stockpiling 00 = off 01 = on 02 = anti
 +
0x15 = Airstrike Delay 00 = off 01 = 1 02 = 2 03 = 3
 +
0x16 = Homing Delay 00 = off 01 = 1 02 = 2 03 = 3
 +
0x17 = Teleport Delay 00 = off 01 = 1 02 = 2 03 = 3
 +
0x18 = Rope in Air 00 = off 01 = 1 02 = 2 03 = 3 04 = 4 05 = 5 06 = 6 07 = 7 08 = 8 09 = 9 0a = infinite
 +
0x19 = Action Replay 00 = manual 01 = auto
 +
 +
0x1a = Speech 00 = limited 01 = all
 +
0x1b = Worm Naming 00 = normal 01 = number 02 = initial
 +
 
 +
 
 +
OPTIONS - WEAPONS
 +
 
 +
// Weapons are split across three pages - Ammo, Damage, and Crate Likelihood.
 +
// I've opted to simplify the presentation of this information to group relevant options together.
 +
 
 +
Damage value table // {DAMAGE VALUE} = {hex value}, e.g. "60 = 3c" means "60 damage = hex value 3c"
 +
 
 +
05 = 05 10 = 0a 15 = 0f 20 = 14 25 = 19
 +
30 = 1e 35 = 23 40 = 28 45 = 2d 50 = 32
 +
55 = 37 60 = 3c 65 = 41 70 = 46 75 = 4b
 +
80 = 50 85 = 55 90 = 5a 95 = 5f 100 = 64
 +
SFL = 69 BFL = 6e
 +
 +
// "SFL" = small flame (Petrol Bomb size)
 +
// "BFL" = big flame (Air Strike size)
 +
 +
Crate value table // 0 stars = no chance 1 star = low chance 2 stars = high chance 3 stars = high chance
 +
 
 +
00 = 0 stars 01 = 1 star 02 = 2 stars 04 = 3 stars
 +
 +
Ammo value table // Some weapons have alternate values, such as simply ON or OFF.
 +
 
 +
00 = 0 01 = 1 02 = 2 03 = 3 04 = 4 05 = 5 06 = 6 07 = 7 08 = 8 09 = 9 0a = infinite
 +
 +
 
 +
BAZOOKA
 +
0x22 = damage
 +
0x23 = crate
 +
0x24 = ammo
 +
 +
HOMING MISSILE
 +
0x25 = damage
 +
0x26 = crate
 +
0x27 = ammo
 +
 +
GRENADE
 +
0x28 = damage
 +
0x29 = crate
 +
0x2a = ammo
 +
 +
CLUSTER BOMB
 +
0x2b = damage
 +
0x2c = crate
 +
0x2d = ammo
 +
 +
GRENADE LAUNCHER
 +
0x2e = damage
 +
0x2f = crate
 +
0x30 = ammo
 +
 +
SHOTGUN
 +
0x31 = damage
 +
0x32 = crate
 +
0x33 = ammo
 +
 +
UZI
 +
0x34 = damage
 +
0x35 = crate
 +
0x36 = ammo
 +
 +
HANDGUN
 +
0x37 = damage
 +
0x38 = crate
 +
0x39 = ammo
 +
 +
FIRE PUNCH
 +
0x3a = damage
 +
0x3b = crate
 +
0x3c = ammo
 +
 +
DRAGONBALL
 +
0x3d = damage
 +
0x3e = crate
 +
0x3f = ammo
 +
 +
DYNAMITE
 +
0x40 = damage
 +
0x41 = crate
 +
0x42 = ammo
 +
 +
SHEEP
 +
0x43 = damage
 +
0x44 = crate
 +
0x45 = ammo
 +
 +
AIR STRIKE
 +
0x46 = damage // SFL and BFL only SFL = 69 BFL = 6e
 +
0x47 = crate
 +
0x48 = ammo
 +
 +
PETROL BOMB
 +
0x49 = damage
 +
0x4a = crate
 +
0x4b = ammo
 +
 +
TELEPORT
 +
0x4c = damage // not used
 +
0x4d = crate
 +
0x4e = ammo
 +
 +
BLOW TORCH
 +
0x4f = damage
 +
0x50 = crate
 +
0x51 = ammo
 +
 +
DRILL
 +
0x52 = damage
 +
0x53 = crate
 +
0x54 = ammo
 +
 +
MINE
 +
0x55 = damage
 +
0x56 = crate
 +
0x57 = ammo
 +
 +
NINJA ROPE
 +
0x58 = damage // not used
 +
0x59 = crate
 +
0x5a = ammo
 +
 +
BUNGEE
 +
0x5b = damage // not used
 +
0x5c = crate
 +
0x5d = ammo
 +
 +
GIRDERS
 +
0x5e = damage // not used
 +
0x5f = crate
 +
0x60 = ammo
 +
 +
KAMIKAZE
 +
0x61 = damage
 +
0x62 = crate
 +
0x63 = ammo // Alternate values 00 = off 0a = on
 +
 +
HOMING PIGEON
 +
0x64 = damage
 +
0x65 = crate
 +
0x66 = ammo
 +
 +
MAD COWS
 +
0x67 = damage
 +
0x68 = crate
 +
0x69 = ammo
 +
 +
BANANA BOMB
 +
0x6a = damage
 +
0x6b = crate
 +
0x6c = ammo
 +
 +
HOLY HAND GRENADE
 +
0x6d = damage
 +
0x6e = crate
 +
0x6f = ammo
 +
 +
MINIGUN
 +
0x70 = damage
 +
0x71 = crate
 +
0x72 = ammo
 +
 +
BASEBALL BAT
 +
0x73 = damage
 +
0x74 = crate
 +
0x75 = ammo
 +
 +
SUPER SHEEP
 +
0x76 = damage
 +
0x77 = crate
 +
0x78 = ammo
 +
 +
SHEEP-ON-A-ROPE
 +
0x79 = damage
 +
0x7a = crate
 +
0x7b = ammo
 +
 +
 +
SHEEP STRIKE
 +
0x7c = damage
 +
0x7d = crate
 +
0x7e = ammo
 +
 +
OLD WOMAN
 +
0x7f = damage
 +
0x80 = crate
 +
0x81 = ammo
 +
 +
PRICELESS MING VASE
 +
0x82 = damage
 +
0x83 = crate
 +
0x84 = ammo
 +
 +
 +
POSTAL STRIKE
 +
0x85 = damage
 +
0x86 = crate
 +
0x87 = ammo
 +
 +
NUKE
 +
0x88 = damage
 +
0x89 = crate
 +
0x8a = ammo
 +
 +
CONCRETE DONKEY
 +
0x8b = damage
 +
0x8c = crate
 +
0x8d = ammo
 +
 +
0x90 = Prod 00 = off 0a = on
 +
0x97 = Map mine quantity 00-08 = 0-8 mines
 +
 +
0x91 = Crate Damage
 +
0x94 = "Bye-Bye" Damage
 +
 
 +
0x1c = Crate Likelihood 00 = no crates 08 = few crates 04 = medium crates 02 = frequent crates
 +
 +
 
 +
// The last page of the Options allows you to toggle the likelihood of each Terrain style being used in the map
 +
// editor (e.g. Forest, Mars, etc.). These settings do not appear to be saved in Option files, as confirmed both
 +
// by opening option files in a hex editor after saving changes, and making changes, saving, and restarting the
 +
// game.
 +
 +
 
 +
CHEAT STUFF
 +
// 0x9c through 0x9f = also change when certain cheats are enabled.
 +
// Possibly verification? Need to text further.
 +
 
 +
// The below list of cheats is incomplete.
 +
 +
0xab = JAMIE fe = enabled ff = disabled // Special Weapons
 +
0xac = CHORLTON fe = enabled ff = disabled // Secret Weapons)
 +
0xb5 = ARTILLERY fe = enabled ff = disabled
 +
0xb6 = MUSIC fe = enabled ff = disabled // enabled by default - typing MUSIC disables the menu music
 +
0xb2 = BETONG ASNA fe = enabled ff = disabled
 +
0xb3 = BOING fe = enabled ff = disabled
 +
0xb6 = GRAVITY fe = enabled ff = disabled // enabled automatically when BETONG ASNA or BOING are used
 +
 
 +
 
 +
UNALLOCATED BYTES
 +
 
 +
// Bytes 0x1e through 0x21 are seemingly unused by any of the game settings.
 +
// It's possible these bytes were related to the CD-ROM (CUCD7) features that were never implemented.
 +
 
 +
// Bytes 0x92, 0x93, and bytes 0x96 through 0x9b do not currently appear to be used.
 +
 
 +
</pre>

Latest revision as of 03:31, 25 August 2023

OPTION FILE RESEARCH

		// the "DEFAULT.OPT" file has "WRM2OPTN" in the first 7 bytes. Options created by v1.05 instead have "WRM2OPT2".
		// "DEFAULT.OPT" has a different value at byte 0x1d compared to a new option file created using default settings.
			// Value for "DEFAULT.OPT" is 4c.
			// Value for a saved Option set is 00.
		// Disabling the MUSIC changes 0x9c from 14 to 1c, and 0xb6 from fe to ff.
		// Enabling ARTILLERY mode changes 0x9c from 14 to 54, 0xb6 from ff to fe.
	
OPTIONS - GAME OPTIONS - PAGE 1

	0x08 = Worm Placement		00 = teams		01 = random
	0x09 = Turn Time		00 = infinite	0a = 10sec	14 = 20sec	1e = 30sec
					28 = 40sec	32 = 40sec	32 = 50sec	3c = 60sec
	0x0a = Round Time		00 = infinite	05 = 5min	0a = 10min	0f = 15min
					14 = 20min	19 = 25min	1e = 30min
	0x0c = Rounds to Win		01 = 1 rnd	02 = 2 rnds
	0x0b = Training Time		00 = infinite	01 = 1min	02 = 2min	03 = 3min
					04 = 4min	05 = 5min

		// Worms and WormsDC both support the Amiga CD32 gamepad, and also support multiple controllers.
		// THis means you can have two separate mouses plugged in and in use, or two gamepads.

	0x1d = controller type		00 = mouse + keyboard	01 = CD32 joypad
	0x0d = No. of controllers	01 = 1 controller	02 = 2 controllers
	
	0x0e = Wind			00 = off	01 = on
	0x0f = Caverns			00 = off	01 = on
	0x10 = WormCam			00 = off	01 = on
	
	
OPTIONS - GAME OPTIONS - PAGE 2			
	
	0x11 = Continue on Land		00 = off	01 = on
	
		// The "Mine Type" setting has four variables = "Limited/Random", "Wide/Random", "Limited", and "Wide".
			// "Range" determines how sensitive the mines are (i.e. how close a Worm can get before they detonate.)
				// A mine with a Wide range behaves like a mine in W1.
			// "Random" determines whether the mine will always do ~50 damage, or vary the potential damage.
		// Depending on the setting, these two values are changed:
	
	0x12 = Mine range (Wide/Ltd)	08 = Limited	10 = Wide
	0x13 = Mine damage - random	00 = no		01 = yes
	
	0x14 = Stockpiling		00 = off	01 = on		02 = anti
	0x15 = Airstrike Delay		00 = off	01 = 1	02 = 2	03 = 3
	0x16 = Homing Delay		00 = off	01 = 1	02 = 2	03 = 3
	0x17 = Teleport Delay		00 = off	01 = 1	02 = 2	03 = 3
	0x18 = Rope in Air		00 = off	01 = 1	02 = 2	03 = 3	04 = 4	05 = 5	06 = 6	07 = 7	08 = 8	09 = 9	0a = infinite
	0x19 = Action Replay		00 = manual	01 = auto
	
	0x1a = Speech			00 = limited	01 = all
	0x1b = Worm Naming		00 = normal	01 = number	02 = initial


OPTIONS - WEAPONS

		// Weapons are split across three pages - Ammo, Damage, and Crate Likelihood.
		// I've opted to simplify the presentation of this information to group relevant options together.

Damage value table		// {DAMAGE VALUE} = {hex value}, e.g. "60 = 3c" means "60 damage = hex value 3c"

	 05 = 05	 10 = 0a	 15 = 0f	 20 = 14	 25 = 19
	 30 = 1e	 35 = 23	 40 = 28	 45 = 2d	 50 = 32
	 55 = 37	 60 = 3c	 65 = 41	 70 = 46	 75 = 4b
	 80 = 50	 85 = 55	 90 = 5a	 95 = 5f	100 = 64
	SFL = 69	BFL = 6e
	
		// "SFL" = small flame (Petrol Bomb size)
		// "BFL" = big flame (Air Strike size)
		
Crate value table		// 0 stars = no chance		1 star = low chance		2 stars = high chance	3 stars = high chance

	00 = 0 stars	01 = 1 star		02 = 2 stars	04 = 3 stars
	
Ammo value table		// Some weapons have alternate values, such as simply ON or OFF.

	00 = 0	01 = 1	02 = 2	03 = 3	04 = 4	05 = 5	06 = 6	07 = 7	08 = 8	09 = 9	0a = infinite
	

	BAZOOKA
		0x22 = damage				
		0x23 = crate
		0x24 = ammo					
		
	HOMING MISSILE
		0x25 = damage
		0x26 = crate
		0x27 = ammo	
		
	GRENADE
		0x28 = damage				
		0x29 = crate	
		0x2a = ammo	
		
	CLUSTER BOMB
		0x2b = damage				
		0x2c = crate	
		0x2d = ammo
		
	GRENADE LAUNCHER
		0x2e = damage				
		0x2f = crate	
		0x30 = ammo	
		
	SHOTGUN
		0x31 = damage				
		0x32 = crate	
		0x33 = ammo	
	
	UZI
		0x34 = damage				
		0x35 = crate	
		0x36 = ammo	 
	
	HANDGUN
		0x37 = damage				
		0x38 = crate	
		0x39 = ammo	 
		
	FIRE PUNCH
		0x3a = damage				
		0x3b = crate	
		0x3c = ammo	 
		
	DRAGONBALL
		0x3d = damage				
		0x3e = crate	
		0x3f = ammo	 
	
	DYNAMITE
		0x40 = damage				
		0x41 = crate	
		0x42 = ammo	 
		
	SHEEP
		0x43 = damage				
		0x44 = crate	
		0x45 = ammo	 
		
	AIR STRIKE
		0x46 = damage	// SFL and BFL only	SFL = 69	BFL = 6e		
		0x47 = crate	
		0x48 = ammo	 
		
	PETROL BOMB
		0x49 = damage				
		0x4a = crate	
		0x4b = ammo	 
		
	TELEPORT
		0x4c = damage	// not used			
		0x4d = crate	
		0x4e = ammo	 
		
	BLOW TORCH
		0x4f = damage
		0x50 = crate	
		0x51 = ammo	 			
		
	DRILL
		0x52 = damage				
		0x53 = crate	
		0x54 = ammo	 
	
	MINE
		0x55 = damage				
		0x56 = crate	
		0x57 = ammo	 
		
	NINJA ROPE
		0x58 = damage	// not used					
		0x59 = crate	
		0x5a = ammo	 
	
	BUNGEE
		0x5b = damage	// not used					
		0x5c = crate	
		0x5d = ammo	 
		
	GIRDERS
		0x5e = damage	// not used					
		0x5f = crate	
		0x60 = ammo	 
	
	KAMIKAZE
		0x61 = damage				
		0x62 = crate	
		0x63 = ammo	// Alternate values		00 = off	0a = on
	
	HOMING PIGEON
		0x64 = damage				
		0x65 = crate	
		0x66 = ammo	 
		
	MAD COWS
		0x67 = damage				
		0x68 = crate	
		0x69 = ammo	 
		
	BANANA BOMB
		0x6a = damage				
		0x6b = crate
		0x6c = ammo	 
		
	HOLY HAND GRENADE
		0x6d = damage				
		0x6e = crate
		0x6f = ammo	 
		
	MINIGUN
		0x70 = damage				
		0x71 = crate
		0x72 = ammo	 
		
	BASEBALL BAT
		0x73 = damage				
		0x74 = crate
		0x75 = ammo	 
		
	SUPER SHEEP
		0x76 = damage				
		0x77 = crate
		0x78 = ammo	 
		
	SHEEP-ON-A-ROPE
		0x79 = damage				
		0x7a = crate
		0x7b = ammo	 
		
	
	SHEEP STRIKE
		0x7c = damage				
		0x7d = crate
		0x7e = ammo	 
		
	OLD WOMAN
		0x7f = damage				
		0x80 = crate
		0x81 = ammo	 
		
	PRICELESS MING VASE
		0x82 = damage				
		0x83 = crate
		0x84 = ammo	 
		
	
	POSTAL STRIKE
		0x85 = damage				
		0x86 = crate
		0x87 = ammo	 
		
	NUKE
		0x88 = damage				
		0x89 = crate
		0x8a = ammo	 
		
	CONCRETE DONKEY
		0x8b = damage				
		0x8c = crate
		0x8d = ammo	 
	
	0x90 = Prod			00 = off	0a = on
	0x97 = Map mine quantity	00-08 = 0-8 mines
	
	0x91 = Crate Damage
	0x94 = "Bye-Bye" Damage

	0x1c = Crate Likelihood		00 = no crates		08 = few crates		04 = medium crates		02 = frequent crates
	

	// The last page of the Options allows you to toggle the likelihood of each Terrain style being used in the map
	// editor (e.g. Forest, Mars, etc.). These settings do not appear to be saved in Option files, as confirmed both
	// by opening option files in a hex editor after saving changes, and making changes, saving, and restarting the
	// game.
	

CHEAT STUFF	
	// 0x9c through 0x9f = also change when certain cheats are enabled.
	// Possibly verification? Need to text further.

	// The below list of cheats is incomplete.
	
	0xab = JAMIE			fe = enabled	ff = disabled	// Special Weapons
	0xac = CHORLTON			fe = enabled	ff = disabled	// Secret Weapons)
	0xb5 = ARTILLERY		fe = enabled	ff = disabled
	0xb6 = MUSIC			fe = enabled	ff = disabled	// enabled by default - typing MUSIC disables the menu music
	0xb2 = BETONG ASNA		fe = enabled	ff = disabled
	0xb3 = BOING			fe = enabled	ff = disabled
	0xb6 = GRAVITY			fe = enabled	ff = disabled	// enabled automatically when BETONG ASNA or BOING are used


UNALLOCATED BYTES

	// Bytes 0x1e through 0x21 are seemingly unused by any of the game settings.
	// It's possible these bytes were related to the CD-ROM (CUCD7) features that were never implemented.

	// Bytes 0x92, 0x93, and bytes 0x96 through 0x9b do not currently appear to be used.

	
Personal tools