GameFiles

Options


The 'Options' wasn't supposed to go in until the Advance Features phase of Hook of the Reaper. But I found that some shake features I could bring back based on light output signals, that would control a light. The bad thing about doing this, is that the light flashed when the arcade game was in the 'Attract' mode. So, at the beginning of the game, when it boots up, it would start vibrating/shaking the light gun. It wasn't until the game started, that the light worked like the shake feature. One option around this, is to block the Shake command, based on a different output signal's value.

Also, the Recoil_R2S command, can be used with certain light output signals. The light output signal is tied to the trigger of the light gun. SO when the user pulls the trigger in the game, it lights up. This will make the 'Recoil_R2S' command work, in unlimited ammo games. But the problem, like the shake, is when the game is in 'Attract' mode and flashing lights. This then can cause the light gun to recoil, when using it with 'Recoil_R2S' command. I did this with the Transformers: Shadow Rising game. When the player dies, and the continue screen comes up, it will start to recoil, if using the 'Recoil_R2S' method. The blocking option can solve the problem of recoiling during the continue screen.

First, lets look how to enable 'Options' in the DefaultLG game file. It is after the 'Recoil & Reload' section, and before the '[States]' line. It starts with '[Options]' and end with 'End Options', as how many options being used can vary. Lets look at the Raw Thrill's Jurassic Park game, with the block shake option enabled. The unused output signals were removed, to make the file look cleaner.

Players
2
P1
P2
Recoil & Reload
Ammo_Value 0
Recoil 1
Recoil_R2S 0
Recoil_Value 1
[Options]
Block Shake E 0
End Options
[States]
:mame_start
*All
>Open_COM
:mame_stop
*All
>Close_COM
[Signals]
:P1_CtmRecoil
*P1
#Recoil
#Recoil_Value
:P2_CtmRecoil
*P2
#Recoil
#Recoil_Value
:P1_Damaged
*P1
>Damage
:P2_Damaged
*P2
>Damage
:LmpLogo
*All
>Shake
:P1_LmpGun_R
*P1
>Shake
:P2_LmpGun_R
*P2
>Shake
:P1_Life
*P1
>Display_Life
>Block_Signal
:P2_Life
*P2
>Display_Life
>Block_Signal

Lets focus on the 'Options sectioned of the file. Please see below.

[Options]
Block Shake E 0
End Options

From the section, only one option is enabled. It is the block 'Shake' command option, but what does the 'E' and '0' mean. The 'E' means that the block signal's value must equal a value, to enable the block. Then the '0' is that value it must equal. So the statement reads like this, block the 'Shake' command, when the block signal's value equals 0.

Is there other options that can be used, instead of 'E'. Yes, there is only one more option, which is 'NE'. The 'NE' stands for not equal. So if the above option was "Block Shake NE 0," it would read like this, block the 'Shake' command, when the block signal's value is not equal to 0. Then the '0' is an 16bit unsigned integer, so it can range from 0 to 65,535.

How is the block signal assigned. Is it one assignment for all the players, or per player. The block option effects all the players, and a block signal must be set for all the players. Lets cut out the block signal assignment from the above game file.

:P1_Life
*P1
>Display_Life
>Block_Signal
:P2_Life
*P2
>Display_Life
>Block_Signal

We can see that the block signals are tied to the player's life values. So if player 1 life value is 0, then the 'Shake' command would be blocked for just player 1. Then if player 2 life value is 0, then the 'Shake' command would be blocked for just player 2. Could both player 1 and player 2 block signal be assigned at one time, to the same output signal. Yes, lets look at an example below, where I used an unused output signal for the example.

:LmpDinoEyes
*All
>Block_Signal

Using the '*All' will assign both player 1 and player 2 block signal, to the ':LmpDinoEyes' output signal, and it's value.

Then the block 'Recoil_R2S' options works the same as the 'Shake'. But you replace 'Shake' with 'Recoil_R2S' in the options section. Please see below.

[Options]
Block Recoil_R2S E 0
End Options

So now the statement reads like this, block the 'Recoil_R2S' command, when the block signal's value equals 0. Then the block signal is assigned the same way as the 'Shake' option.

Can you use them together. Yes, but they will both share the block signal, as there is only one block signal per player. So if the 'Option' section looked like this.

[Options]
Block Shake E 0
Block Recoil_R2S E 0
End Options

So now the statement reads like this, block the 'Shake' and 'Recoil_R2S' commands, when the block signal's value equals 0.

When using the Ammo_Value recoil method, the Option of 'Ammo_Check' can be used. This checks the ammo to make sure only 1 shot happen, or if in Slow Mode, it will be 2 shot happen. When using Slow Mode with Ammo_Value, it skips the odd ammo, making it appear to be 2 shots. If the shot is not right, it will not do a recoil, but a reload instead. This is useful for games that the player switches weapons. Like in Time Crisis 5 and House of the Dead: Scarlett Dawn. This is not needed for special weapons, like in Jurassic Park. Because, you cannot switch the special weapons. When switching weapons, it will also switch the ammo value. If the ammo value is higher, it will do a reload. If lower, then it will do a recoil. The 'Ammo_Check tries to stop that recoil when switching weapons. Now it will only recoil, if the next weapon has 1 less bullet. Or 2 less bullets in Slow Mode. The probability for this is low, and will stop the majority of the unneeded recoil. So now when switching weapons, it will do a reload command, to confirm the new weapon. Below is an example of how to do an Ammo_Check option.

[Options]
Ammo_Check
End Options

When you enter the Sinden light gun, you set the recoil voltage level from 0-10. But some games you might want to change that recoil voltage setting. This can be done using the DefaultLG Options. The Option command to do this is "Override_Recoil_Voltage" then followed by a number that is 0 -10. Then any Sinden light gun will have its recoil voltage setting overridden to the new value, for just that game. When the game ends, the override will end, and the regular recoil voltage will be used. Below is an example of using the Sinden Option command and overriding the recoil voltage to 4.

[Options]
Override_Recoil_Voltage 4
End Options

More options will be added in the 'Advance Feature' phase.