Hotline Miami 2: Wrong Number Guide

Advanced Cutscene Effects Guide (WIP) for Hotline Miami 2: Wrong Number

Advanced Cutscene Effects Guide (WIP)

Overview

Advanced usage of the cutscene maker, and manipulating NPC’s to create effects.

Things you will need

Most mods in Hotline Miami 2 require Notepad++ for editing files, which is something I would assume any modder to already have. However, I have added a link for anyone who is completely fresh to mods.

Notepad++:
[link]

Sprite/Object ID’s:
[link]
[link]

Notepad++ can edit any file within a level folder – for example, .wll holds the data for its walls, and .obj is where the data for characters and objects is stored. In this guide, I will cover editing the .csf and .npc files, which only appear when you create a cutscene.

Basics: How to change sprite IDs, and behavior with NPCs

To make basic furniture interactable/move-able via a cutscene, you will need to modify the .npc file. To modifiy actions the object will perform, you edit the .csf file. These are found by pressing the O key on the level you want to edit in the editor level select screen. This is where you will find ach floor’s .npc & .csf files.

This section will focus more on NPC cutscene characters, We need to open the floor’s .npc file. This contains a NPC’s base information, initial sprite and properties, which I have detailed in its own chapter in this guide, as there are alot of different variables. The .csf is only really needed for more complex effects – I’ll go into more detail about those later.

To change the character into a object, replace the ID in .npc with a object ID that you wish to use. When the character changes sprite, it will be in the .csf file, so make sure to change that if you want a, for example, car to turn into a burnt out car.

When it comes to placing cutscene objects, I use the 50B Nerd as my character (First Sprite) for ease of access, as he is in the first selection of sprites. His sprite ID is 2802.

If you want to change a cutscene object to a new sprite, you will need to make it change to a new character sprite in a frame as per normal, and then edit that the same way.

For this, I learned the second sprite ID in the cutscene editor, which is 50B Manager Gun whose sprite ID is 2615. Use that as the sprite you want to change to, and then change its ID to the desired object. Basically, go back and forth between 50B Nerd & 50B Manager for swapping sprites.

An example of the process would be along these lines:
A van (50b Nerd as initial sprite in ingame editor sprite changer, modify .NPC file)
To a burnt van (50b Manager in ingame editor sprite changer, modify .CSF file)
Then to a pile of wreckage (back to 50b Nerd in ingame editor sprite changer, modify .CSF file).

.NPC File explanation

An .npc file should look like this when it has a single NPC. Just make sure to name characters correctly, and its easy to keep a track off.

1 // Amount of Cutscene Characters in this Floor
Character2 // Name of Character, will appear in CSF file.
2802 // Sprite ID. (note that collision of sprite seems to be drawn on the fly, so custom collisons is a thing.)
0 // Rotation (360)
610 // L/R placement
154 // U/D Placment
0 // Animation On/Off?
99999 // ???
99999 // ???
0 // Behavior relate to trigger?
0
-1 // Trigger Behavior (-1 – none, 0 – Click, 1 – Proximity)
0 // Proximity Trigger Range (92px is default largest, although can be any size.)
1 // Solid (0 Blocks player & enemies, enemies cannot see through solid objects.)
1 // Killable (1 Makes Custom objects block bullets, 0 makes them go over/under.)
1 // ???Frames/Actions???
610 // L/R placement
154 // U/D placement

Most of these settings are accessed through the properties, but knowing each value can help if something goes wrong.

.CSF file explanation

The .csf file is more complicated, as it has information such as movement cooridnates, and the speed of moving objects. I don’t know if there is many effects that can be done here, but i’ll share what I have found.

When editing moving object speed in .csf, look (Ctrl+F) for 0.5 (Slow), 1 (Normal) and 1.5 (Fast). This number can be modified to any speed, so you can emulate bullets, cars, trains and other high speed objects.

Intermediate: Effects

This section will elaborate on how these effects can be used to make doors, monster closets and other features.

Basic Door & Monster/Enemy Closet (Inspired by the old DOOM mapping concept)

To make a Enemy Closet, you will need to turn the 50B Nerd into a door style object. I personally use garagedoorH (Sprite ID:4072). Make sure to place the NPC where you want him to be, as the only way to move the object after is via coordinates.

First of all, place a trigger where you want the door to open, either using the standard trigger, or a invisible NPC with a proximity trigger, depending on the setup. In the screenshot, I used the standard box trigger.

From there, change the properties on the object to solid, and killable. Now the door should be solid, and bulletproof, but thrown weapons or similar projeciles still pass through. Enemies can also hear through the door, and will walk through if they are alerted by noise, so idle enemies may be prefered.

From here, make the door move to a desired location, and set the speed to fast. You will need to speed it up further via the .CSF file and searching for 1.5, and changing that value to suit the distance and delay you want from the door. Now make sure to end the sequence, like any short cutscene, and it should work fine.

From here, you can turn it into a monster closet by simply adding a few idle enemies, or idle hide ememies. I would suggest making the speed high enough for the player to react for best results.

Advanced: Elaborate special effects examples.

This will cover elaborate effects intended for cutscenes, such as full screen images, animations etc.

Coming soon

Credits

A big thanks to Yossarian the Assyrian & Juanchoclo for helping out with the guide.

SteamSolo.com