forum

Storyboarding .osu .osb file question

posted
Total Posts
5
Topic Starter
Sandile
I have a few questions. Firstly does .osu vs .osb file matter? They both have the [event] tag. I've been using the .osb file so far and I've looked at projects that don't use it at all. (I'm NOT going to be using any weird outside osu coding stuff so please don't mention that)

Also I believe the // makes the code only readable so it shouldn't matter if I put the Background lines under //storyboard layer 1? its just for organizational sake right?
Yep, however it does seem to interrupt events so don't put it in between the text. EXAMPLE
Sprite,Overlay,Centre,"circle",750,120
//this will mess up the code and it won't read the MX as being part of the sprite
MX,0,20716,22087,750,39


Next in the example on storyboard scripting it uses "sb\sb1\sky.png" what are the sb and slashes for? I would just put "sky.png". Is this an .osu file thing? or like what is reason for adding that extra stuff?

Also can I use Loops or triggers to replay a gif at any point on the timeline? I ended up using LoopOnce because i only want it to play once and then disappear from the screen. (changed the last frame to a blank) but I want to figure out if i can simplify making it play again in the same spot. I don't think i can use loop because I am using the png for the red notes which don't come in consistently on the same beat. i could remap for this but i think thats kind of lame. Should I just manually create a new animation LoopOnce each time?


Final question is because there are so many different things happening... when using M or MX or F or basically anything what does the first 0 do? I have looked through examples and it always has a 0 there. M,0,20887,,320,240. although it states that it makes it invisible or visible like what does that even mean? isn't that for fade, and its still always 0 on there because thats not how it works.

Answers are super appreciated for this huge wall of text. <3
Jason X
.osb files are storyboard files, which are used for the whole mapset.

.osu files are difficulty-specific files, everything you put in the [Events] section there is only used in that specific difficulty. This is used if you have a single collab in a mapset and want to show who made what part with the use of a storyboard.
The collab diff here might be a good example since the whole set uses a storyboard, but the names shown in the Collab diff are only in that specific difficulty.


Any line starting with // will be ignored, as you guessed, but writing stuff in the file is useless, as it gets removed as soon as you edit the storyboard/save a change in the difficulty.


"sb\sb1\sky.png"
Those are folders, using one of my maps as an example, the path for every object is "Lyrics\{name_of_object.png}", as they are located within the "Lyrics" folder that I have in the mapsets folder.
Some just throw it in the maps folder and call it a day while others sort stuff in specific folders, it's just for organizing.


Using something again in the same place, again using my example map from above (as the lyrics tend to repeat themselves and I'm lazy =w=)
Looping stuff is pretty simple, all it needs is some manual editing of the .osb file.
Screenshot of my .osb file for easier understanding.
The code starts with scale (S) and if you fade out the object it ends with a fade (F)
So it's as simple as copying the code and paying it, then one only needs to edit the timing (S,0,timing here,...) for every point from S-F for the pasted block of code.
The timing needs to be entered in milliseconds, to get those simply create an inherited timing point and copy its offset.

For your final question, the first digit is "easing"
Never used it before so I can't really explain what it does, but I guess you could find an answer here.



I hope this helps, if not let me know :)
Topic Starter
Sandile
Oh ok thank so much for responses. So could I create a storyboard that is unique to the difficulty using .osu? sounds interesting. Sorry I worded the looping part very badly. I want to use Animation instead of Sprite. I don't know how to retrigger the animation. I was going to try using Animation LoopForever but then the timing on the frames would be off for the sprites.
so like
wiki/en/Storyboard/Scripting/Cheat_Sheet
Animation,Overlay,Centre,"RBSPLAT.png",320,240,9,12,LoopOnce
M,0,21744,,320,240
it only plays once and I don't see any way to reactivate it. I was asking if i could use a command to instead activate all 9 frames im using on command. for example, to animate the impact of a bullet hitting something. if not ill find some other way to do it.
Jason X
It's either LoopForever or LoopOnce, no more options than that I'm afraid.
If you do want something to appear again there is an option though:
Copy and Paste
As mentioned in my above post:

Jason X wrote:

Using something again in the same place, again using my example map from above (as the lyrics tend to repeat themselves and I'm lazy =w=)
Looping stuff is pretty simple, all it needs is some manual editing of the .osb file.
Screenshot of my .osb file for easier understanding.
The code starts with scale (S) and if you fade out the object it ends with a fade (F)
So it's as simple as copying the code and paying it, then one only needs to edit the timing (S,0,timing here,...) for every point from S-F for the pasted block of code.
The timing needs to be entered in milliseconds, to get those simply create an inherited timing point and copy its offset.
So in other words, you can do the exact same with animations, just copy and paste, then change the timing
Example, I copied the animation 3 times, with fade in/out

As for the timing of the frames being off, it's because the frame speed is set to 1 ms per frame by default.
Animation,"layer","origin","filepath",x,y,frameCount,frameDelay,looptype
In case your code, it's 12ms per frame, you might wanna increase/decrease that number until it fits.
It's often just finding the right balance of frametime for your frames, which can be tricky at first.
Topic Starter
Sandile
ok thank you for the information :D. I figured I'd have to do something like that. and yeah I have to do a lot of testing around with this sort of stuff. it does take a bit of time to figure out how to get things to work but its rewarding
Please sign in to reply.

New reply