About Screenpacks
About Screenpacks
To make the same screenpack working with any resolution, and to make it easier to
edit, a group of parameters is used. Just modifying them will solve most of the
game's problems while editing screenpacks.
The game resolution (currently 400x254) you have to write in each of your
characters and stages is actually featured on top of the common file. Var(22) and
Var(23) stand for game height and game width respectively, and MUST match your
current game resolution (not screen resolution though). They are used is such
system features as win screen (text position), battle plan (image scaling and
positions) and other screens.
Since the basic screenpack has the resolution of 400x254, most of the measurements
are presented like this:
which means XX pixels for any screenpack. This will give you the same value, not
depending on the screen resolution. For example, this can be used for numbers with
a solid frame step.
If you want to set your values relative to the screen, you only need relative
numbers with no extra values. For example, 0.5*var(22) (used in win screen and
other meassages a lot) means the center of the screen. whatever your screen width
is, this will always bring your image to the center. Same rules apply to Height,
just use var(23) for it.
So, that being said:
2. Preset screens.
Important thing #1: To display you character's portrait while going through the
battle plan, he must have an animation 9100 (his face/icon) in his AIR file.
Otherwise a question mark will be displayed.
Important thing #2: Only the characters listed in Common1.cns file under the "for
battle plan" line can be displayed as previously beaten opponents. Even if they
have their own icon added to their files, they won't display unless you do the
following:
- add your character to the list, as follows under the latest character:
[state 0, a]
type = varset
triggerall = roundstate = 2 && roundno > 1
triggerall = fvar(7) = 0
trigger1 = p2name = "xxxx"
fvar(7) = YY
where xxxx is your character's name and YY is any chosen value (values above 200
are recommended to use for custom/extra characters).
Then add your character's icon to both Fightfx.sff (as sprite) and Fightfx.air (as
animation), so that the resulting animation number is 9200+YY. For example, if you
set the value to 201, the animation number for your character's icon must be 9401.
2.3. VS screen.
The important thing about the VS screen is that it's not adjusting to your screen
width automatically, aside from the backround part. So you will have to edit the
character VS pose offsets and speeds manually. Things to change are the "pos",
"vel" and "accel" parameters for ModifyExplod controllers labeled "align", "stop",
"shadow align", "shadow stop". You can also change the time if you want. See
example below:
[State 0, align]
type = modifyExplod
trigger1 = time = 0
ID = 900
pos = ifelse(teamside = 1,-X1-X0,var(22)+X1+X0-1),var(23)+(var(11)-
Y)*0.0025*var(22)
postype = left
vel = V1*ifelse(teamside = 1,1,-1),0
accel = A1*ifelse(teamside = 1,-1,1),0
bindtime = 1
scale = 0.002*(1-0.01*var(12))*var(22),0.002*(1-0.01*var(12))*var(22)
[State 0, stop]
type = modifyExplod
trigger1 = time = T
ID = 900
pos = ifelse(teamside = 1,-X0,var(22)+X0-1),var(23)+(var(11)-Y)*0.0025*var(22)
postype = left
vel = V0*ifelse(teamside = 1,1,-1),0
accel = A0*ifelse(teamside = 1,-1,1),0
bindtime = -1
scale = 0.002*(1-0.01*var(12))*var(22),0.002*(1-0.01*var(12))*var(22)
where X0 is the horisontal offset for your VS pic when it's out,
X1 is the distance it has to travel before appearing
Y is the vertical offset
V1 and A1 are moving speed and slowdown rate for its appearance.
V0 and A0 are the same that are applied to your VS pose after it's fully out
(emulates slight movement, can be 0 for both).
T is the time after which your VS must move out fully.
So basically, after choosing your ofsset, appearance time and moving speed (X0, T,
V1, A1), you can calculate X1.
X1 = T*V1-((A1*T)^2)/2.
Other things about VS screen were described before and can be copied from the main
roster characters.
The statedef for Move List is located in Data/MKP/Fatality.st under the number
19000.
To use move list in battle, your character must have the animation 9900 (and
further for more pages). So far it only supports up to 4 pages.
If you want to make the screen blank for your own purposes, please note the
following:
[State 0, temp]
type = assertspecial
trigger1 = time < TT
flag = nobardisplay
- use it if you want to disable the life/powerbars. However that alone won't be
enough.
[State 0, 1]
type = Explod
trigger1 = time = 0
ID = 11011
anim = 888
removetime = TT
- HAS to be used for BOTH characters to remove the system data such as difficulty
levels and breakers
TT there is the time to keep that information absent.
The states that stand for damage counters are 17000 and 17001, they can be found in
data/MKP/Fatality.st.
Once there, a list of used variables can be found. By changing their "value" you
can edit or alter your custom damage counter.
Although described in the state itself, here is a list of used variables:
10 - "appear time". Time after which the text line is fully visible (stops its
moving). Measured in ticks.
11 - "disappear time". Time period during which the counter messages are
disappearing from the screen.
12 - "time till percents". Time to start displaying the second text line (damage
percentage).
13 - "time till remove". Time to start removing all text from the screen (disappear
time activates from this point).
14 - "letter width". Your font symbol width in pixels, determines the gap between
displayed digits.
15 - "x scale". Scaling parameter (in percents), can be useful if you have HD font
for counters.
16 - "y scale". Same as above.
17 - "maximum damage". Determines the damage (in percents), exceeding which the
attacker is punished and his combo may be broken.
20 - "p1 x position for hits". Offset (from the left) for the left player's combo
hit counter.
21 - "p2 x position for hits". Same (still from the left) for the right player.
Determines the first digit's position.
22 - "p1 x position for percent". Same for left player's damage counter (usually
repeats).
23 - "p2 x position for percent". Same for right player's damage counter.
24 - "y position for hits". Offset from the top of the screen for the first text
line (hits).
25 - "y position for percent". Same for the second line (damage percents).
In the latest version of MKP the powerbar is used for aggressor, while the run bar
is made with explod. The breaker counter uses an explod too.
At the beginning of the Common1.cns file (right after screen width and height
variables) you may find the following:
[State 0, aggressor]
type = varset
trigger1 = 1
v = 24
value = 1
The "value" here simply states, if the aggressor is enabled or disabled in your
game. Set to 0 to disable.
You may still see the Aggressor logo in practice mode, but it won't work in any.
Use other values (2 and above) if you plan to use the meter for some other
purposes.
[State 0, BREAKERs]
type = varset
trigger1 = roundstate < 2 && roundsexisted = 0
fv = 10
value = 3+(numpartner > 0); set to 0 to disable breakers
Same for Breaker. As said there, set the value to 0 if you want no breakers in your
game.
Please note that once you turn these features off, the Kombat Kodes involving them
will not work.
[State 0, powerbar]
type = modifyExplod
trigger1 = numexplod(11004) > 0
ID = 11004
scale = 0.00208333*var(47),1
ignorehitpause = 1
Notes:
- As seen, the animation number for the run gauge is 55 in Fightfx.air.
- For proper scaling, the image used for the run bar must be centered at 0,0 in
Fightfx.sff.
- the x positions for both team sides can usually be taken from Fight.def
- 0.00208333 is 1/480, so with the max run value of 480 it means, that your image
must cover the whole run bar when fully charged. If it's bigger or smaller, you'll
have to add another multiplier to the equation.
You can find controllers for Agressor Bar right below the run bar. You can notice
that the positions for the explods are the same as in Fight.def: