forum

[Official Specifications] Storyboarding by Scripting

posted
Total Posts
118
show more
Olinad
How will the storyboards be implemented? Will they be playing during all the song or only during the pauses? (I want the 3D dancers! :P )
James
Both.

3d images? If you got them...
mattyu007
ooooOOOO! This looks very nice (a little complicated tho....-_-) We CAN use video witht his it's just not recommended right? I'm thinking of trying storyboarding with my beatmap (Believe)
Topic Starter
Echo
Afaik video doesn't work. You can use multi-image animation though.
LuigiHann
You can storyboard on top of a video. Loginner did a little bit of that with his Dodongo map, and peppy did it with his m-flo one.
mattyu007
awwwww....I hope that gets implemented in the future, I was going to use the videos from the actual ouendan and storyboard them.....o well....
peppy
Loading videos during gameplay is something I'd REALLY like to avoid. This will likely cause lag as ffdshow/insertcodecnamehere reads the video into memory, and will then need to re-seek to get the syncing correct.
mattyu007
sigh, guess i'll have to learn how to do all those funky animations that they have on ouendan (oh gosh)
The scripting language is a little complicated tho?
awp
Eh, it's not that complicated. Just a lot of copypasta.

mattyu007
meh, we'll see

Loginer

LuigiHann wrote:

You can storyboard on top of a video. Loginner did a little bit of that with his Dodongo map, and peppy did it with his m-flo one.
NONE mispells my mame and getts away wit it. :[ *charges lasorz*
awp
Calm down, lolginer. Save it for the battlefield. The battlefield in which you will end them all.
peppy
This map has been deleted on the request of its creator. It is no longer available.
James
Questions:
1. Can I storyboard "fail" only?
2. Can I add strobes during fail part of storyboard?
3. If the answer to 1 and 2 are both "yes", brief explanation pls.
LuigiHann

James wrote:

Questions:
1. Can I storyboard "fail" only?
2. Can I add strobes during fail part of storyboard?
3. If the answer to 1 and 2 are both "yes", brief explanation pls.
Yes and yes. The second digit of any object is the "layer" digit. "Fail" is layer 1. So just make sure your strobe starts something like this (notice that the second number is 1):

4,1,0,"white.png",0,0

And follow the rest of the strobe tutorial normally. That'll put your strobe in the "fail" layer.
James
Thanks.
Got it working now.

Got one question.

Can the "fail" storyboard be activated whenever the player reaches x hp instead of having it activated whenever a player got a 100/50/X?
LuigiHann

James wrote:

Thanks.
Got it working now.

Got one question.

Can the "fail" storyboard be activated whenever the player reaches x hp instead of having it activated whenever a player got a 100/50/X?
Currently no, it'd have to be a feature request if you want that option.
RemmyX25
How do I kick the video back a second, because the music and the video to it aren't matching up correctly?
awp
open your .osb or .osu file, find the entry with the video, and edit the second field.
peppy

awp wrote:

open your .osb or .osu file, find the entry with the video, and edit the second field.
Partly incorrect. Check the design mode panel for a slidebar which will let you adjust the offset.
awp

peppy wrote:

awp wrote:

open your .osb or .osu file, find the entry with the video, and edit the second field.
Partly incorrect. Check the design mode panel for a slidebar which will let you adjust the offset.
Is dat in publix? I haven't actually checked myself. Neat, though.
Tapdancingmetroid
Just curious, is it possible to storyboard on top of everything, including notes and the like?
LuigiHann

Tapdancingmetroid wrote:

Just curious, is it possible to storyboard on top of everything, including notes and the like?
No. The top storyboard layers is still below all gameplay layers.
Manny Santiago
I decided to let me (tired from work) brain help me figure out how the code works. After experimenting with the Move, Loop, Fade and Scale events, I was able to create a tiny scene of my intro.

Hello there. I heard about this from Scott Roomsair's website and I was eventually led here. I was so inspired to create my beat map after just sampling the delights of osu!

Back to the topic, I'll look forward in completing the intro of my beatmap because I feel so excited to finish it because of what I have finally learned. I also need to check out actual Ouendan and EBA footage to see how the speech balloons are drawn and how they "shake."

Nice to be part of the osu! family. Looking forward to enjoying this game! :D

P.S. I never played any of the original versions of this game, so this makes osu! my official first game in this genre of rhythm games!



K2J
This map has been deleted on the request of its creator. It is no longer available.



awp
San d'Oria for life

K2J, I don't understand what the concern is. Storyboards should look the same on every computer.
K2J
This map has been deleted on the request of its creator. It is no longer available.
Mafiamaster
Oh wow, scripting seems kinda advanced for me but I want to give it a try. But I need it explained into simpler terms. I want to make a map kind of like paraparamax where the background pictures change at a certain point and less shorter. I'm seeing numbers all over tha place.
Example in the paraparamax file
4,0,0,"evangelion_20_640.jpg",0,0 <--- What's that 4 at the beginning for?
F,0,23280,24050,0,1 <--- F must mean fade, are 23280,24050 the offsets? and the 0's and 1 the x,y value thingymajig? Yes, it does. According to the first post
F,0,219970,221300,1,0 <----- So why is there a second line here? What is this for? Or do I even need this line. (Main Question)


This is what I have so far.
//Storyboard Layer 0 (Background)
0,0,"Remilia and Flandre.jpg" <---- Yeah I know, it's nothing. But what should I add to it. That 4 at the beginning?


Edit: Ah ok, After much study, I've begun to learn how it works
Which takes me to:
//Storyboard Layer 0 (Background)
4,0,0,"Remilia and Flandre.jpg",0,0
F,1,41433,96988,0,1
4,0,0,"Remila-Flandre-Sakuya.jpg",0,0
F,1,97155,122988,0,1 blah blah
But now the pictures are slowly fading in, and the full colored picture displays when it's about to end and go on to the next picture. What can I do to make the fade ins faster, if possible?
awp

Mafiamaster wrote:

Example in the paraparamax file
4,0,0,"evangelion_20_640.jpg",0,0 <--- What's that 4 at the beginning for?
The 4 means it's a sprite. I actually forget what 1, 2 and 3 are, but 5 is sound.

Mafiamaster wrote:

F,0,23280,24050,0,1 <--- F must mean fade, are 23280,24050 the offsets? and the 0's and 1 the x,y value thingymajig?
Yes @ offsets, no @ x,y. The 0 and 1 are INITIALFADE and ENDFADE. 0 means completely transparent, 1 means completely transparent. In this case, the image is taking approximately 800ms to FADE IN.

Mafiamaster wrote:

F,0,219970,221300,1,0 <----- So why is there a second line here? What is this for? Or do I even need this line. (Main Question)
Now the image is fading out, so it doesn't just instantly disappear.


Mafiamaster wrote:

This is what I have so far.
//Storyboard Layer 0 (Background)
0,0,"Remilia and Flandre.jpg" <---- Yeah I know, it's nothing. But what should I add to it. That 4 at the beginning?
Yes, and the x and y co-ords of the image following the filename.


Mafiamaster wrote:

Edit: Ah ok, After much study, I've begun to learn how it works
Which takes me to:
//Storyboard Layer 0 (Background)
4,0,0,"Remilia and Flandre.jpg",0,0
F,1,41433,96988,0,1
4,0,0,"Remila-Flandre-Sakuya.jpg",0,0
F,1,97155,122988,0,1 blah blah
But now the pictures are slowly fading in, and the full colored picture displays when it's about to end and go on to the next picture. What can I do to make the fade ins faster, if possible?
You currently have the offsets for the fade-in at 41433 and 96988. That means it's going to take approximately 55 seconds to fade in (96988 - 41433 = time to get from 0 to 1). If you want it to fade in faster - let's say you want it to take 2 seconds to fade in. With your first offset at 41433, your second offset will be 43433 (That's your initial offset + 2000ms aka 2 seconds)

There is extensive, coherent (imo) documentation in this thread which, ironically, is this thread.
Mafiamaster
Oh! That really helped me out. Thanks! Now I need to find pictures that actually go with the song. xD
Magmabear
Ok, I want an audio file to play at the end so that it doesn't cut off my video, but it doesn't play at all. :(

Here's the code stuff:

[Events]
//Background and Video events
1,0,"my video.wmv"
//Break Periods
2,78481,88931
2,153830,163931
//Storyboard Layer 0 (Background)
//Storyboard Layer 1 (Failing)
//Storyboard Layer 2 (Passing)
//Storyboard Layer 3 (Foreground)
//Storyboard Sound Samples
5,332060,2,"pass.wav"
5,332060,1,"fail.wav"
//Background Colour Transformations
3,100,163,162,255

I double checked and triple checked the code and even had someone else check the code for me. Everything is in the Song file and everything is titled correctly. I am completely stumped as to why it does not work :|
All I want is for the audio to at least play so that my video doesn't get cut off at the end.
Maybe I'll put in a pic if I get this whole thing sorted out.
awp
Sounds might not be considered for automatic storyboard outros. Try adding an invisible image at 332060 milliseconds in.
Magmabear
How would you do that?
Last time I tried to add an image it became corrupted, I don't think that I did it right.

... ok, can somebody help me out?

Is this right? (I just added the circle and the x as the passing and failing pics)


[Events]
//Background and Video events
1,0,"my video.wmv"
//Break Periods
2,78481,88931
2,153830,163931
//Storyboard Layer 0 (Background)
//Storyboard Layer 1 (Failing)
4,1,1,"fail.png",240,360
F,2,332060,333630,0,1
//Storyboard Layer 2 (Passing)
4,2,1,"pass.png",240,360
F,2,332060,333630,0,1
//Storyboard Layer 3 (Foreground)
//Storyboard Sound Samples
5,332060,2,"pass.wav"
5,332060,1,"fail.wav"
//Background Colour Transformations
3,100,163,162,255


Is that right?
awp
Sort of. Your pass/fail graphics will instantly vanish once they reach 100% visibility but it oughta push the outro to the audio.
Magmabear
Ok, a problem came up, when I put the code in and when I went into my beatmap, osu closed down and it said that an error occurred. What's going on here??? :o
awp
This map has been deleted on the request of its creator. It is no longer available.
Magmabear
But you said that the code should work. I don't know why but when I remove the code it works just fine...
Ah, never mind, I suck at this stuff anyway...
LuigiHann

Magmabear wrote:

But you said that the code should work. I don't know why but when I remove the code it works just fine...
Ah, never mind, I suck at this stuff anyway...
You need to put _ before the F's
Magmabear
Hm... ok, it got rid of the error, but it still doesn't work. Nothing shows up.
Ugh...
awp
This map has been deleted on the request of its creator. It is no longer available.
Magmabear
This map has been deleted on the request of its creator. It is no longer available.
Magmabear
Ah! no, sorry, I forgot that I didn't include the pass fail stuff because I kinda' gave up on it and I didn't include it in the upload.
Well, anyway... yeah...
Remco32
Thank you for learning me the secrets of the Storyboard.
<3
mattyu007

Remco32 wrote:

Thank you for teaching me the secrets of the Storyboard.
JulekMastah
This map has been deleted on the request of its creator. It is no longer available.
mattyu007
That would be Kiai Time, it's not done via storyboarding but via timing sections. Place a new timing section where you want Kiai time to start and a section where you want it to stop. Mark both sections as "Inherit timing" then go to the Style tab in the Timing Setup panel, select the starting section and check the Kiai Time box
WyndII
This map has been deleted on the request of its creator. It is no longer available.
abalee
This map has been deleted on the request of its creator. It is no longer available.
WyndII
0 and 3 works the same XD. when i tested it.
Oh well. thx.
anonymous_old
Larto's Disturbia map uses elements from the skin in the storyboard.

I tried doing this myself but scripting a "cursor.png" results in nothing. I tried other skin elements and it still fails.

Is there a switch I need to toggle or something to activate this?

(Similar to what WyndII wanted.)
LuigiHann
This map has been deleted on the request of its creator. It is no longer available.
anonymous_old

LuigiHann wrote:

UseSkinSprites: 1

under [General]

Only works for images as far as I know.
Thank you! *star*
peppy
This map has been deleted on the request of its creator. It is no longer available.
abalee

Echo wrote:

p: the efect parameter to apply
H - horizontal flip
V - vertical flip
A - additive-blend colour (as opposed to alpha-blend).
orz
LuigiHann
This map has been deleted on the request of its creator. It is no longer available.
YoshiKart
Any chance that trigger loops will support combobursts and combobreaks? And possibly the transition (just the transition) from passing status to failing status, and vise versa?
K2J
This map has been deleted on the request of its creator. It is no longer available.
RandomJibberish
What would you use to make an image just be there during a certain time period?
K2J
Use the move action. For instance:

Animation,Pass,Centre,"sb_items\sonicrun.png",320,240,8,30,LoopForever
_M,0,12671,42843,144,285

Notice how I specify a time period on the second line, followed by only one set of coordinates. You can do this with sprites, as well.
RandomJibberish
This map has been deleted on the request of its creator. It is no longer available.
Xgor
I tried to copy-paste with Scripting in Enjoy the Silence but i only got pissed >:(
I guess it's a good idea to learn storyboarding by scripting due to that you can do much more though........
Breeze
Traslate this psot to Chinese for communicating
viewtopic.php?f=25&t=21281

A question : I just can't understand this "A - additive-blend colour (as opposed to alpha-blend)"
would someone explain it for me? Thannnnnnnks
anonymous_old

Breeze wrote:

A question : I just can't understand this "A - additive-blend colour (as opposed to alpha-blend)"
would someone explain it for me? Thannnnnnnks
http://en.wikipedia.org/wiki/Additive_color
http://en.wikipedia.org/wiki/RGB_color_model

To understand how it works, it may be useful to try using it.
ShaggoN
I have little question. Couldn't find answer anywhere.
//Background Colour Transformations
3,100,0,0,0
What these parameters means? I know that three last (0,0,0) means colors (red,green,blue), but what about 3,100?
anonymous_old

ShaggoN wrote:

I have little question. Couldn't find answer anywhere.
//Background Colour Transformations
3,100,0,0,0
What these parameters means? I know that three last (0,0,0) means colors (red,green,blue), but what about 3,100?
Realize for other parts of the storyboard script, "Sprite" and "Animation" and "Centre" are simply named numbers. They are transformed into numbers before the storyboard is processed.

3,100 seems to signify the cmmand refers to the background colour transformation. It could be that 3 signifies background, and 100 signifies a colour transform. I don't know.
Breeze

strager wrote:

Breeze wrote:

A question : I just can't understand this "A - additive-blend colour (as opposed to alpha-blend)"
would someone explain it for me? Thannnnnnnks
http://en.wikipedia.org/wiki/Additive_color
http://en.wikipedia.org/wiki/RGB_color_model

To understand how it works, it may be useful to try using it.
Thanks very much!
abalee

ShaggoN wrote:

I have little question. Couldn't find answer anywhere.
//Background Colour Transformations
3,100,0,0,0
What these parameters means? I know that three last (0,0,0) means colors (red,green,blue), but what about 3,100?
i don't know what "3" means here, but "100" is the timeline during the song. for example, Al-Azif's map "Boundary of Space",
the background color transformation is controled by this, and he use a semitransparent background to show the color.
Azu_old
Examples of Triggers. Are there any? I want to have something were each time you click on the circle, the sprite/animation pops up.
RandomJibberish
Currently you can only trigger events on a clap, whistle or finish. You could use clever skinning to get it to work on "normal" hitsounds too though.
Azu_old
Even so, how would it look?
RandomJibberish
Uh, exactly how you SB it? You can make objects move around and stuff however you like :roll:
LuigiHann
If you're looking for examples, check out the Gorillaz collab maps, and notice what happens when you hit the notes versus what happens when you don't hit the notes

http://osu.ppy.sh/s/10862
http://osu.ppy.sh/s/8749
http://osu.ppy.sh/s/12131
K2J
Just a minor detail I'm not sure has been posted yet:

Objects in the .osb file take prescedence in the layering over the .osu files, but only within the four nominal layers. That is, let's say I have pseudocode in the .osu file:

Sprite,Background,Centre,"object1.png",x,y
_M,0,0,1000,x,y
Sprite,Foreground,Centre,"object2.png",x,y
_M,0,0,1000,x,y

And in the .osb file:

Sprite,Background,Centre,"object3.png",x,y
_M,0,0,1000,x,y

Object 3 will appear above object 1 (since they're both in the Background layer and the .osb file takes precedence), but not above object 2 (since object 2 is in a higher layer). You can think of it as (and this is probably how it actually happens) the game loading the .osu file's events, then appending the .osb file's events afterward. Thus, since the .osb events are necessarily further down the list in the layer, they appear on top.

Something to keep in mind if you're doing difficulty-specific scripting.
Cyril Scarlet
Oh ~ Nice thread <3

I want to learn how to make SB by Notepad too ~
Gomo Psivarh

Echo wrote:

origin:
TopLeft
TopCenter
TopRight
CentreLeft
Centre
CentreRight
BottomLeft
BottomCentre
BottomRight
A typo. TopCenter doesn't work. It's TopCentre.
Dangaard
Is it possible to use loops and triggers for sound samples as well?
-Napoleon-
I have a giant problem! The colour changer "C,...,...,...,...,...,..." what are the numbers that I have to? for Example: To the colour blue.
ziin
SPOILER
[quote="Xavier18488"]I have a giant problem! The colour changer "C,...,...,...,...,...,..." what are the [color=#BF0000]numbers[/color] that I have to? for Example: To the colour [color=#0000FF]blue[/color].[/quote]
It helps to know a little bit about computers and colors before attempting to color something in a storyboard.

In any case, you can see that your color blue is actually #0000FF. If you can understand the difference between decimal and hexadecimal, FF is equal to 255 (in hex and dec respectively). The blue color in decimal would be <0,0,255> with each number signifying an RGB component (which are the three primary colors in light). Green would be <0,255,0> and red would be <255,0,0>.

so the color changer looks like this:

_C,<easing>,<starttime>,<endtime>,<color1>,<color2>

Replace <color1> and <color2> with the color that you want, including the commas.
-Napoleon-
YAY I got to know the same thing, I do not want to offend with the previous sentence, but I do not understand anything about RGB and stuff like, must explain further.
ziin
-Napoleon-
Thanxs :D
emergist
In vector scaling:

Echo wrote:

startx, starty: the scale factor at the beginning of the animation
endx, endy: the scale factor at the end of the animation
1 = 100%, 2 = 200% etc. decimals are allowed.
I have a question: the "startx,starty,endx,endy" are positions, not scale factors, why can it be 100% or 200%?
those

emergist wrote:

In vector scaling:

Echo wrote:

startx, starty: the scale factor at the beginning of the animation
endx, endy: the scale factor at the end of the animation
1 = 100%, 2 = 200% etc. decimals are allowed.
I have a question: the "startx,starty,endx,endy" are positions, not scale factors, why can it be 100% or 200%?
Are you sure the "startx,starty,endx,endy" are positions? More than likely it implies "startxscale,startyscale,endxscale,endyscale".
emergist

those wrote:

More than likely it implies "startxscale,startyscale,endxscale,endyscale".
You're right, I've tried just now. Thx.
69653863
I don't know if this question had already asked or not, but I'm seriously curious about this thing:

How does timing in .osb file matched with the timing on the editor?

In case you still puzzled with the questions above, I give you some


The animation that I define above is the Clouds.png moving, I used Clouds.png only one time.

On the editor it said that the moving and fading animation starts on 01:52:500 while on the .osb it starts on 112500.
I know that the timing defined by the editor and the .osb are both same, but it seems that the timing system on .osb and on the editor is different.

For a storyboarder, timing are the most important thing on storyboarding especially if you cannot copy paste the sprites from the editor, which has to be done on the .osb. But due to different timing system on .osb, this might be a problem for the storyboarder since he doesn't know how to convert the timing on editor into timing on .osb.

I'm sorry if my question is confusing or you didn't understand what do I mean, but this had seriously made me curious since I'm also a storyboarder. Just ask further if you didn't understand what do I mean here.

Any help would be appreciated. Thanks before!
abalee
@inverness
01:52:500 = 00:(60+52):500 = 112500
ziin

inverness wrote:

For a storyboarder, timing are the most important thing on storyboarding especially if you cannot copy paste the sprites from the editor, which has to be done on the .osb. But due to different timing system on .osb, this might be a problem for the storyboarder since he doesn't know how to convert the timing on editor into timing on .osb.
If you click on a note in the osu tab and copy it, it will copy that time in the following format:
01:17:361 (9,10) - 
in this case I selected 2 notes, #9 and #10.
Literally this is copied into your clipboard so when you paste it, it will show up like that.

If you switch over to the design tab, and press ctrl C to copy, it will copy the current position's time in ms format:
77361
That's the easy way to go from MM:SS to millisecond.
D33d
I have a problem with hitsound triggers at the start of my map. This map. Everything displays properly in the editor. However, at the start of the map, the first set of triggers does not activate during gameplay/test mode. I have already tried deleting some code, just to see if the client was being overloaded. However, this changed nothing. The second set of triggers works.

The code, including the triggers, for the elements is as follows:

Triggers are my worst newfound enemy, or so it seems
Sprite,Foreground,Centre,"Deedbg.jpg",320,240
T,HitSoundFinish,22664,50095
F,0,0,343,1,0
S,0,0,343,1,1.075
F,1,343,,0
L,55924,32
F,0,0,686,1,0
S,0,0,686,1,1.1
F,1,686,,0
L,145067,32
F,0,0,686,1,0
S,0,0,686,1,1.1
F,1,686,,0

Sprite,Foreground,Centre,"I CAN BE CYAN.jpg",320,240
T,HitSoundWhistle,22664,50095
F,0,0,343,0.6,0
L,114895,28
F,0,0,686,0.6,0
S,0,0,686,1,1.1
F,1,686,,0
M,0,111810,,320,241
F,0,111810,113181,0,1
F,0,113181,114552,1,0

Sprite,Foreground,Centre,"BOOM.png",320,240
T,HitSoundClap,22664,50095
F,0,0,343,0.4,0
M,0,77524,78895,320,240,325,240
F,0,77524,78895,0,0.5
F,0,78895,80266,0.5,0
M,0,78895,80267,325,240,320,240
F,0,78895,80267,0.5,0
M,0,80267,81638,320,240,325,240
F,0,80267,81638,0,0.5
M,0,81638,83010,325,240,320,240
F,0,81638,83010,0.5,0
M,0,83010,84381,320,240,325,240
F,0,83010,84381,0,0.5
M,0,84381,85752,325,240,320,240
F,0,84381,85752,0.5,0
F,0,84381,85752,0.5,0
M,0,85752,87124,320,240,325,240
F,0,85752,87124,0,0.7
M,0,87124,88152,325,240,320,240
F,0,87124,88452,0.7,0
M,0,88152,89593,320,240,320,241
F,0,88452,,0
F,0,88495,89524,1,0
S,0,88495,89524,1.2,1
M,0,166667,168038,320,240,315,240
F,0,166667,168038,0,0.5
M,0,168038,169410,315,240,320,240
F,0,168038,169410,0.5,0
M,0,169410,170781,320,240,315,240
F,0,169410,170781,0,0.5
M,0,170781,172152,315,240,320,240
F,0,170781,172152,0.5,0
F,0,176952,,1
F,0,177124,,0
F,0,177295,,1
F,0,177467,,0

By the way, I'm aware that much of this code is inefficient, but from what I can see, streamlining repeated events into loops won't make much of a difference.

DEEDIT: It seems that removing the automated loops for Deedbg.jpg during Kiai time solves my problem. Of course, now I need to figure out why the loops are preventing only the first set of triggers from working.

I created copies of these images for the triggers. However, while their triggers activate during test play, they do not during normal gameplay. As of yet, nobody to whom I have shown this map has seen the triggers work outside of the editor. In order to see if the loops were working at all, I removed every other line of code. However, the loops still didn't work during standard gameplay.

As of now, this is how the loops look at the start:

Sprite,Foreground,Centre,"Deedbg - Copy.jpg",320,240
T,HitSoundFinish,0,49752
F,0,0,172,1,0
S,0,0,172,1,1.075
F,1,172,,0
T,HitSoundFinish,89524,100838
F,0,0,172,1,0
S,0,0,172,1,1.075
F,1,172,,0

Sprite,Foreground,Centre,"I CAN BE CYAN - Copy.jpg",320,240
T,HitSoundWhistle,0,50095
F,0,0,172,0.6,0
T,HitSoundWhistle,89524,100838
F,0,0,172,0.6,0
T,HitSoundClap,105295,105810
F,0,0,172,0.8,0
T,HitSoundFinish,133752,136495
F,0,0,2744,0.8,0
S,0,0,2744,1,1.5
F,1,2744,,0

Sprite,Foreground,Centre,"BOOB.png",320,240
T,HitSoundClap,0,50095
F,0,0,172,0.4,0
T,HitSoundClap,89524,100838
F,0,0,172,0.4,0

Removing spaces from the file names didn't change anything, so I guess that I'm screwed.
Please sign in to reply.

New reply