Post by xorange90x on Aug 21, 2008 21:45:16 GMT -5
Alright, so before I started making my own mod I searched high and low for what seemed like basic questions on how to make a mod and how the whole thing works. As I didn't find anything, I figured I'd better make one. I also intend to use this thread to give people a place to ask modding questions. I will never pretend to know that much about modding, so this guide may be wrong in parts. And parts of this is will just be my best guess based on what I think I figured out on my own journey.
Folder Structure
Resources
->effects
->fonts
.xnb files for fonts, see below for link to tutorial to create your own .xnb's for fonts
->meshes
.xnb files for notes go in here. There are 22 different notes that are required: Notes 1-5 Normal, Notes 1-5 HOPO, Notes 1-5 Star Path, Notes 1-5 Star Path HOPO, Note 6 Normal and Note 6 HOPO. Note 6 is the star power note, as all the notes look the same for any fret. Because of this is the reason the drum mod looks weird for now, because even though the bass note across the fretboard goes all the way across, in SP it won't because everything uses the same note graphic
->sounds
->Background
In this folder you place all songs in ogg format to be used as menubackgrounds. One will be chosen at random to play. I have always seen these named as menubackground.ogg, menubackground2.ogg, menubackground3.ogg and so on, but I'm not sure if this is required.
All other sounds files are held in this folder. See below for a detailed look at all the songs
->textures
This is the main folder for a mod. This folder will house all graphics pertaining to menus, texts, meters, and any 2D stages. More details about this folder below.
->Videos
This folder is used to house the stage.avi file for video as stage background. I imagine this folder will be expanded to allow other portions of the game to videos. Perhaps intro videos, credits videos, loading videos, who knows....callisto probably doesn't even know yet! Below is a link also to use videos as a stage on a per song basis
menus.xml
Main xml file that controls texts for menus, along with file names and placement for menu graphics
stage2d.xml
XML file that hosts all of the "brains" for a 2D stage. This can include special animations geared towards starpower gained, star power active, and triggers for individual actors based on what is happening in the game
Graphics
Types of Graphics
The first thing to understand about changing the graphics for a mod, you need to understand that there are two types of graphics. Ones that you specify what screen they are for by way of the menus.xml, and ones that are automatically inserted into the game based on name. Almost all screens are called out in the menus.xml, so I will only list the ones that are not. Most graphics that are used in game like fretbuttons, fretboards...etc are those that are not specified.
Automatically inserted based on name:
MoreStatsBackground
StageBackground
Setlist
SetlistBackground
Texts
The second thing in graphics that is important to mention is the texts for menu's. Many texts for menu's rely on math to present the texts in game. for many, it will consist of the following guidelines.
Example - Options Menu
Options has 2 choices: Controller and Credits
Because of this the game takes the total height of the image and divides it into 2 halves, What falls into the 2 different "zones" is what will show up in the game for each option.
Now, because there are only 2 states for each option, either selected or not-selected, then the game splits the total width of the image in 2. The leftmost area is for unselected optons and the right most is for the selected options.
This can be easily managed by following stranxk's tutorial here
Just like every rule, there are exceptions. Single Player difficulty does not use the zone method to create selected and not selected options. The non-selected are hardcoded into the difficulty image, and the selected options are in the text.
In order to move texts around, use the menus.xml file to move them around and declare the file name of the texts you are using.
Flames
Flames are very similar to texts. Take the width and divide in half. The leftmost half is the second frame, and the rightmost half is the first frame.
Stars
Starting in B6U2, there is a different star for FC'ed songs. Because of this the stars image is broken up into 3 slices. The leftmost third is the star that hasn't been achieved (leave blank if you only want the achieved stars to show up). The middle third section is for achieved stars, and the rightmost third is for FC'ed stars
Meters
Meters right now really don't have a lot of flexibility that I'm aware of. They cannot be moved around the screen, they cannot be anything but a needle, and the needle is always anchored at the bottom of the meter, so if you want to pivot in the middle of a meter (say to make a clock meter) it currently cannot be done)
Starpower Meter
The starpower meter consists of 4 different images. The first image is the background of the starpower meter when it is empty. The second image is the overlay for a completely filled starpower meter. The game will mask this image less and less for the more starpower you gain. The third image is an image that appears at your current level of SP. The final image is a foreground image which will cover up any of the other images.
Rock Meter
This consists of 5 images. You have a background meter, a background needle base, a needle, a foreground graphic, and rock texts. I can only assume that the needle behaves the same here as it does on the face off meter, but I haven't tried it. I'm not sure how the Rock texts get placed, however the game divides the height by 4 and creates 4 equal zones based on that size. The top is the red zone, the next one is yellow, the third is green, and the last zone is starpower.
Score Meter
I need help with this one because I don't understand it. How do you determine where the nodes are going to show up, or the score, or the multiplier? Does everything have a way to figure it out by math? Because I coudln't figure it out the first time I looked at it. Are the positions based on math? I hope somebody can chime in, thanks!
Face Off Meter
Just like the Rock meter, this one has 3 images. A background image, a foreground image, and a needle image. The needle image left side is placed in the center of the background image. As of B6U3 the needle image rotated on the left bottom corner of the image, instead of the center, so you are pretty much limited to a needle type arrow. I tried to do a seesaw for an arrow and was unsuccessful for this reason.
Sounds
There are two types of sounds in the sounds folder: background music and soundfx. The soundfx are all wav files, where the background music files are all ogg.
Soundfx:
CrowdClap - Played while starpower is active on the beats
menuback - Played when going back a menu
menuforward - Played when going forward a menu
menumove - Played when moving between selections on a menu
miss1-6 - Randomly chosen between 1-6 when a player misstrums a note
starpower - Plays when player completes a starpower path (NOT when starpower is activated)
Background Music - Played in background of song when playing (Gotcha Alert - These ogg's are played in a looping fashion, so if it finishes it will loop back around to the beginning immediately. If you want to just play a sound effect when they enter the zone that it would play the music, add some empty space into the file using audacity):
songdanger - rock meter dips into red area
songgood - rock meter is in green area
songnormal - rock meter is in yellow area
songintro - plays at beginning of every song, I assume it just plays until its down no matter how long it is. Not sure if other songs will play with this sound if the game starts while the intro is still playing...anybody?
There also used to be a menubackground.ogg in this folder as well, but that was replaced with the background folder. Most mods leave the "main" menubackground in the sounds folder as well for backward compatability between the betas
Fonts
Until better font control is placed in an xml file and allow you to just place fonts in a folder, follow the following font tutorial here
Stages
Static Image as Stage
Just put whatever image you'd like in the textures folder named "StageBackground.png"
Video as Stage
elgordo's tutorial is here
2D Stage
Haven't seen a good tutorial on this yet, but about as easy to figure out on your own as creating a mod. Which means that 90% of it is easy, and 10% isn't unless you know it. Here is some info from callisto through stranxk here
From what I've seen so far with 2D stages, they can be used to create sprite based stages such as the the 8bit stage or jd's rock band stage, or to create animations based on a series of frames, sometimes used as a substitute for video. People say that it works better that way. *shrug* I may try my hand at stages at some point, but I have a lot to finish first.
Shameless Plug
If you like to use multiple different mods, different stages, and like to mix and match 2D stages, image stages, and video stages, you can easily switch between these using the newest verison of my mod switcher, link in sig. You just need to create a "Graphics" folder within the "textures" folder, and create a "Stages" folder after that, then you can create a "Animated2D" folder, an "Images" folder, and a "Videos" folder. I have been thinking about expanding this out to fretboards, or creating a "Global Graphics" folder as well so you don't have to keep 5 copies of the same stage if you want it in every mod. If somebody wants these features you're going to have to let me know and I'd think about adding it at that point.