### QAVEDIT tutorial by NoOne

by Hellen » Nov 22nd, 2010, 18:55

All credit goes to the awesome NoOne.
Article translated from RBC article
Approved by the awesome Putin.
QAVEDIT TUTORIAL
QAVEDIT allows you to create and edit existing animation of Blood interface. You can create both weapons animation and animation of different screens. For example, blood drops in the main menu were created using this program. With the help of QAVEDIT you also can change some weapon attributes such as rapidity of fire, number of shots, number of ammo used per shot, number of empty shells thrown and damage.
PREPARING TO LAUNCH
First way:
-You’ll need alpha version of Blood.
-QAVEDIT works only with older versions of RFF, that’s why it’s recommended to work in the alpha folder.
-Move all .art files to the alpha folder (these files contain sprites).
Second way:
-Download QAVEDIT from here. Run .bat file to launch it, this way you’ll be able to work in your game’s folder.
Notice:
-If you want to edit existing animation download WinBarf and extract all .qav files from 1.21 version blood.rff. WinBarf and unpacked .qav files can be found under the “Extras” section of this article.
-If you are using DosBox – it’s recommended to set video mode to vesa_nolfb in order to prevent screen flickering.
MAIN WINDOW
Sprite # - shows # of selected sprite.
X/Y – shows position of selected sprite. You can move this sprite or all sprites at once.
Brightness – shows the level of brightness of the sprite. You can darken and brighten selected sprite. For example, the sprite may become lighter when it’s shot at.
Palette –shows # of the palette applied to the sprite. Just like in Mapedit you can change the palette of the sprite. QAVEDIT palette differs from standard Blood palette. That means that if you are using blue palette in QAVEDIT it’d be red in the game.
Size – shows the size of the sprite. You can resize the selected sprite.
Angle – shows the angle of the sprite. You can change the angle of the selected sprite.
Frames – determines the number of frames in your .qav file. From zero to infinity.
Layers – shows the number of layers in your .qav file. There can be 8 layers, one sprite per layer. It’s recommended to use them wisely.
Ticks per frame– shows time of transition between the frames.
KEYS:
Main
Esc. – exit the editor.
F2 – save .qav file.
Ctrl+F2 – save .qav file as.
F3 – open .qav file.
Viewing
Space – play animation once.
Enter – play animation on repeat (Esc to stop).
Ctrl – play at 1/2 of the speed (press while animation is played).
Shift - play at 1/4 of the speed (press while animation is played).
1 / 2 – move to previous/next frame.
Home – move to the first frame.
End – move to the last frame.
Edit
Page Up / Page Down – move to previous/next layer.
- / + - change transition time between frames.
Insert – duplicate sprite.
Delete – delete current sprite.
Lmouse – move sprite.
Arrows – snapped movement.
O + Lmouse – move the center.
O + Arrows – snapped center movement.
O + Ctrl + Arrows – move the center and adjust all frames.
P – change palette of the current sprite.
Alt + P – change palette of the current sprite from a dialog box.
R – move current sprite from the center to the corner.
T – change transparency.
V – select sprite.
X – mirror the current sprite horizontally.
Y – mirror the current sprite vertically.
G – jump to the sprite number (in the sprite selection menu).
Pad - / + - change brightness of the sprite.
Ctrl + Pad - / + - maximal brightness/darkness of the sprite.
Pad 0 – Set sprite brightness/darkness to 0.
< > - change sprite angle to 128 degrees.
Shift + < > - change sprite angle to 4 degrees.
Shift + Page Up / Page Down – move sprite to the foreground/background.
F – edit trigger for the current frame.
Ctrl + Insert – add layer.
Ctrl + Delete – delete layer.
Ctrl + Shift + Page Up / Page Down – move the whole layer to the foreground/background.
Alt + Insert – add frame.
Alt + Delete – delete frame.
CREATING SIMPLE ANIMATION
If you want to create new animation from your sprites you should first add them to .art files, however there is a limit to the number of them in QAVEDIT. So you can use only vacant tiles in TILES15.art from sprites #4033 through 4095. You can also use all the numbers lesser than 4033 except for 0, but in that case you’d have to replace the old sprites.
Here I’m going to use standard hand sprites. We’re going to create a new weapon – Beast claws. It will move a bit faster than pitchfork with 3 times greater damage.
Equipping – animation that will be shown when the weapon is selected
Run QAVEDIT, hold O and with Lmouse move the center to 160,199. Don’t forget to move the center to this position in all other stances!
Press V and select sprite # 2368. Move it to the right lower corner with the mouse or keyboard arrows, then lower it below the border of the screen, so the position would be +151,+40. Now press 2 to move to the next frame and Insert to copy the sprite. It has appeared in the same spot where it was in the first frame. Now all you need to do is to add more frames, changing X/Y in every next frame. In my case there were 7 frames in total.
0 frame X/Y +151, +40
1 frame X/Y +151, +40
2 frame X/Y +148, +25
3 frame X/Y +148, +25
4 frame X/Y +126, +32
5 frame X/Y +126, +32
6 frame X/Y +146, +16
Change sprite in the 4th frame to 2367 and in the 6th to 2361, so the hand would look believable. Now press Enter to view the result. Try increasing speed between the frames by pressing “–“ in order for the hand to move faster. In the game it would affect the speed at which the weapon is equipped. Press Ctrl + F2 to save your .qav file as HANUP.
Now you can move to the very first frame by pressing Home and start deleting.
Press Alt + Del in every frame except for the 6th. It’s needed so the frames transition to the next stance would be smooth.
Hands – animation that will be shown while walking with this weapon.
After creating the first stance we have one spare frame with equipped hand – we’re going to animate that one. Also we’re going to learn about “angle” and “mirror” options.
Move to the next frame and copy the sprite from the first one. Select another image, for example, 2373, so the content wouldn’t repeat itself. Change position X/Y to +119, +0. Like in the previous stance we just need to copy the sprite and change its position and angle in every next frame.
0 frame X/Y +146, +16
1 frame X/Y +119, +0
(change sprite to 2373, mirror it horizontally)
2 frame X/Y +110, -8
3 frame X/Y +108, -15 (change sprite to 2374, mirror horizontally)
4 frame X/Y +96, -19 (tilt to the left, to 2032)
5 frame X/Y +89, -13 (tilt to the left, to 1996)
6 frame X/Y +106, -2 (change sprite to 2368)
7 frame X/Y +128, +8
8 frame X/Y +142, +25 (change sprite to 2361)
Increase TPF to 8-9 and view the result. You’ll see how hands are moving. It’s going to happen in the game unless you attack or select another weapon. Press Ctrl+F2 and save the file as HANIDLE.
Half of the work is done, let’s move to the next part.
Attack – attack animation
Remove all the frames from the previous stance or restart the editor. But remember to move the center!
Add sprite#2367 and move it to +162, -35. Now we’re going to do the same work as in “Equipping” stance, though in some frames you’re gonna need to include a trigger so the hand would do damage in the game.
0 frame +162, -35
1 frame +102, -62 (change sprite to 2367)
2 frame +75, -62 (change sprite to 2366)
3 frame +29, -62
4 frame -17, -49 (change sprite to 2368)
5 frame -34, -38
6 frame -72, -5
7 frame -98, +28
Animation is complete but now we need to select a trigger for damage. Press F on the 4th frame and you’ll see this window
By default it’s either 0 or -1. That means that attack animation will be played but the weapon will not do any damage. There’s a series of triggers for each weapon. Type 1 here and press Enter. “Trigger 1” appeared in the upper left corner of the main window. It always appears when the trigger number is greater than 0.
The hand does damage just like the pitchfork, but we can increase it. You should repeat the same operation on 5th and 6th frames. Now the hand is three times more powerful than the pitchfork. Save the file as HANATAK.
Disappearing – animation shown when another weapon is selected
It’s very simple here. You need to repeat the same procedure as in “Equipping”, only backwards. Select 2361, move it to the lower right corner to +146, +16. Work the opposite way from “Eqipping” stance:
0 frame +146, +16
1 frame +126, +32 (change sprite to 2368)
2 frame +126, +32
5 frame +148, +25
6 frame +148, +25
3 frame +151, +40
4 frame +151, +40
Save the file as HANDOW.
Congratulations! You have just created the simplest new weapon for Blood!
ADDING ANIMATION TO THE GAME
To add .qav files you’re going to need BARF, that you can find on the Blood CD(or on the internet).
If we will just add new .qav files to the game, either nothing would happen, or the game will constantly crash whenever you attempt to select this weapon. We need to know the ID of every .qav file registered in the game. Read the full chart of .qav files IDs under the “Extras” section of this article.
Now let’s replace the pitchfork with the Beast claws.
-copy HANUP.QAV, HANIDLE.QAV, HANATAK.QAV, HANDOW.QAV to the game’s folder.
-create text file in this folder and name it HAND.RFS. Open it in notepad and type:

Code:
  `resource "hanup.qav" as 0;
  resource "hanidle.qav" as 1;
  resource "hanatak.qav" as 2;
  resource "handown.qav" as 3;
  ;`

The key element here is ID “as <number>” and the extension of the .qav file. Thanks to the first we can register one file under several IDs, even if we don’t know the original file’s name – this is useful if you want your weapon to be affected by Akimbo Guns bonus. But if the extension of the replacing file will be different, it will register under another file type and there will be no changes in the game.
-create text file and name it HAND.BAT. Open it in notepad and type:

Code:
  `barf blood.rff @hand.rfs`

-start HAND.BAT and wait until the process of adding is complete. The window will close automatically.
Try running Blood and you’ll see that pitchfork was replaces by the Claws with triple damage increase. If you want to restore pitchfork, just delete BLOOD.RFF and rename BLOOD.BAK.
EXTRAS
Original QAVEDIT article
Chart of files IDs
Artefacts(items not used in the game)
Animation example from this article
Unpacked .qav files from the game
QAVEDIT and BLOOD.RFF from alpha
WinBarf
PS: I hope it's understandable. I tried to translate it close to the original article. I wish there was a way to correct flaws in this post, but alas.

### Re: QAVEDIT tutorial by NoOne

by NoOne » Jan 23rd, 2012, 21:23

!IMPORTANT REMARK:
Today, creating the new weapon for 3AITD, incorrect work TILES015.ART (where are stored all sprites for the weapon) has been noticed. It consisted that the bottom number of tiles in game is not displayed in general whereas in QAVEDIT all works normally. Thus for construction of the weapon you can use only tiles to number 4080. :(

### Re: QAVEDIT tutorial by NoOne

by NoOne » Feb 3rd, 2012, 07:25

CHARACTERISTICS OF TRIGGERS DESCRIPTION
In the given list identifiers of triggers and their influence on weapon characteristics are presented. The majority of guns give in to serious enough changes if correctly to change values - all depends on your imagination. So, for example at a sawed-off it is possible to increase a damage from usual shot to 4 times, or on the contrary to reduce it. Tommy Gun can be transformed as a matter of fact in excellent chaigun with the increased damage.
* NOTE: If in the trigger to change value 0 - any weapon will reproduce animation without a sound, without putting a damage and without a shot.
* NOTE: Values can be exposed not only in a certain shot, but also in several at once, thus combining different triggers.
* NOTE: Point "Effect" describes characteristics of the weapon after changes of values.
---------
1. Pitchfork
Default value: 1
Max value 1
Effect: NO.
The alternative shot at this weapon isn't present.
---------
---------
2. Flare Gun
Default value (usual shot): 1
Max value 3
Effect: Visual, the area is displaced (see more low).
Alternative shot isn't considered, as the same animation file is used.
[AKIMBO]
Default value: 1
Max value 3
Effect: Visual, the area is displaced (see more low).
Also there is additional animation file which have been not added in game.
---------
---------
3. Sawed-Off
Default value (usual shot): 1
Effect: Yes, Maximum value - 3, changes a quantity of shot bullets with 1st to 3, the shooting sound changes, the quantity of bullets in the counter decreases and the damage increases
Default value (alternative shot): 2
Effect: Yes, Maximum value - 4, changes a quantity of shot bullets with 2 to 4, the quantity of bullets in the counter decreases and the damage increases. It is possible to change to value 1.
[RELOAD]
Default value: 1
Effect: Player throws out pair of sleeves. It is possible to disconnect it.
[AKIMBO]
Default value (usual shot): 1
Effect: Yes, Maximum value - 4. The quantity of shot bullets with 2 to 4 changes, the shooting sound changes, the quantity of bullets in the counter decreases and the damage increases. It is possible to change also value 3.
Default value (alternative shot): 4
Effect from change on another: Yes, game takes off with an error. Maximum value still - 4.
---------
---------
4. Tommy Gun
Default value (usual shot): 1
Effect: Yes, Maximum value isn't known, however the advantage of value more than 2 won't be - the weapon at shooting continues to publish sounds, in the counter the quantity of the bullets decreases, however any damage isn't put, the tape of sleeves as if you have a bonus "AKIMBO" at the left is added, the damage considerably increases and also on one shot will leave on two bullets.
Default value (alternative shot): 1-14.
Effect: Given values are put down in each shot of animation and influence basically disorder of bullets, hardly considerably increasing a damage. Maximum value - 14. If to put same value in each shot, we will receive shooting strictly in one point (as at usual fire). 0 - directly. 14 - more to right.
[AKIMBO]
Default value (a usual shot): 2
Effect: Yes, if to change more - in the counter the quantity decreases, the sound is reproduced, but the damage isn't put. Smaller - effect of bonus AKIMBO is lost.
Default value (an alternative shot): 1-14
Effect: Yes, the same that was described above. These values influence only disorder of bullets. Damage, apparently, is registered in EXE.
---------
---------
5. Napalm Launcher
Default value: 1
Maximum value: 3
Effect: Exclusively visual. Probably, these triggers are created for more exact display of a shot. The essence consists in "area" displacement, i.e the bullet at value 1 takes off precisely from a weapon trunk if to damage other value, for example 2 - bullet will take off a little more to the left. 3 - more to the right.
The alternative shot isn't subject to change, as uses the same file of animation.
[AKIMBO]
Default value: 1
Maximum value: 3
Effect: Same that is described above.
The alternative shot also isn't subject to change because of use of the same file of animation, however it is necessary to notice that there is an additional file which can be registered in game with the identifier 123.
---------
---------
6.1. Bundle of TNT
Default value (usual shot): 1
Effect: NO
Default value (alternative shot): 1
Effect: NO
Default value (fire): 2
Effect: NO
---------
---------
6.2. Proximity Detonator
Default value (usual shot): 1
Effect: NO
Default value (alternative shot): 1
Effect: NO
---------
---------
6.3. Remote Detonator
Default value (usual shot): 1
Effect: NO
Default value (alternative shot): 1
Effect: NO
Default value (pressing button): 1
Effect: NO
---------
---------
7. Aerosol
Default value (a usual shot): 1
Effect: NO
Default value (an alternative shot): 1
Effect: NO
Default value (fire): 2
Effect: NO
---------
---------
8. Tesla Cannon
Default value (usual shot): 1
Maximum value: 3
Effect: Besides - purely visual effect. 1 - shot from trunk, 2 - more to left, 3 - more to right.
Default value (alternative shot): 4
Maximum value: 4
Effect: At maximum value - an alternative shot. At value it is less - the shot becomes usual, but animation remains from alternative fire.
[AKIMBO]
Default value (usual shot): 2-3
Maximum value: 3
Effect: Visual, as well as at usual fire.
Default value (an alternative shot): 5-6
Maximum value: 6
Effect: Same, as at an alternative shot without AKIMBO.
---------
---------
9. Life Leech
Default value: 1-2
Maximum value: 1
Effect: Values are scattered generally animation shots at the expense of what there are some shots. Most likely this file should serve as alternative fire since there are two additional files of animation with one shot, registered on identifiers 114 and 115. From value change on 2 and more sense isn't present.
Alternative fire can't be considered, since doesn't use animation in general (the player throws out weapon).
---------
---------
10. Voodoo Doll
For this weapon it is a lot of files, and each trigger in it has the characteristics, therefore I will describe in more details.
VDFIRE5 - It is displayed, when the player doesn't see the enemy. In this case blow by a needle occurs not in a doll, and on a finger, taking away one unit of health. Value registered in trigger - 5. Its change leads to game falling.
VDFIRE4 - The heaviest on a damage blow. The player sticks a needle into a foot of a doll and some time detains her. 12 bullets are taken away. The appropriated value - 4.
VDFIRE3 - Average blow. The player sticks a needle in a doll head, 2 bullets are taken away. Appropriated value - 3
VDFIRE2 - Takes away 2 bullets, but a damage to the enemy it is put less. Appropriated value - 2
VDFIRE1 - Takes away 4 bullets, a damage above an average. Appropriated value - 1
All 5 values of triggers, you can combine among themselves but as it is described above - not to change value in file VDFIRE5 better.
Change on values more than 5 in all files lead to game crash. It is necessary to notice that there is an additional animation with the identifier 108 where the doll breaks up to parts, and that the most interesting, at it flies away a head.
VDSPEL1 - Animation of an alternative shot. Default value - 2, and its change, for example, on 1 leads to that animation is reproduced, the sound is lost, but a damage isn't put. Accordingly bullets aren't spent also.
---------