Author Topic: Danmakufu Q&A/Problem Thread v3  (Read 213425 times)

Iryan

  • Ph?nglui mglw?nafh
  • Cat R?lyeh wgah?nagl fhtagn.
Re: Danmakufu Q&A/Problem Thread v3
« Reply #270 on: February 24, 2010, 08:40:54 PM »
Hurrr, I see what you're doing there. :V

As far as I know, you have to call the SetVertex functions every frame anew.

Edit:

Wait, there's more!

Quote
ObjEffect_SetVertexXY(obj,0,-21.5,-20.5);
ObjEffect_SetVertexXY(obj,0,21.5,-20.5);
ObjEffect_SetVertexXY(obj,0,-21.5,20.5);
ObjEffect_SetVertexXY(obj,0,21.5,20.5);

Also, you didn't create any vertices.  :V
« Last Edit: February 24, 2010, 08:52:41 PM by Iryan »
Old Danmakufu stuff can be found here!

"As the size of an explosion increases, the numbers of social situations it is incapable of solving approaches zero."

Re: Danmakufu Q&A/Problem Thread v3
« Reply #271 on: February 24, 2010, 08:44:38 PM »
You didn't declare how many vertices you're using:

ObjEffect_CreateVertex(obj, 4);

Also, you're declaring multiple coordinates for the same vertex using SetVertexXY (note they're all using the 0th vertex).

NINJA BITCH

And to comment on your answer Iryan, no you do not need to keep setting vertices. You do if they're moving, but they will always be drawn on the last coordinate you set them on. All set functions are permanent (except SetFog).
« Last Edit: February 24, 2010, 08:47:07 PM by X-Naut »


Re: Danmakufu Q&A/Problem Thread v3
« Reply #273 on: February 25, 2010, 05:16:16 PM »
Is it possible to manually call a different player's bomb using UseSpellCard (i.e. Master Spark with ReimuA)?

Chronojet ⚙ Dragon

  • The Oddity
  • 今コソ輝ケ、我ガ未来、ソノ可能性!!
Re: Danmakufu Q&A/Problem Thread v3
« Reply #274 on: February 25, 2010, 05:25:03 PM »
Is it possible to manually call a different player's bomb using UseSpellCard (i.e. Master Spark with ReimuA)?
If you want to call Player Script #1's bomb from Player Script #2, no, it isn't.
If you want, you can create different bombs in your own player script. Then you can use if statements in your @SpellCard block to tell Danmakufu which bomb to use. See Stuffman's Sakuya A script if you want to see how it's done. (Did I word that right?)
« Last Edit: February 25, 2010, 05:30:01 PM by Always Mew⑨ »

ChaoStar

  • Dark History Boy
Re: Danmakufu Q&A/Problem Thread v3
« Reply #275 on: February 27, 2010, 07:51:32 PM »
Code: [Select]
#TouhouDanmakufu
#Title[Beatrix Spell 1: Little Mermaid]
#Text[Test of EoSD Difficulty system.]
#BackGround[]
#Player[FREE]
#ScriptVersion[2]

script_enemy_main{

let CSD = GetCurrentScriptDirectory;

let imgBoss = CSD ~ "img\Beatrix.png";

let back = CSD ~ "white.png";

let SupaShot = GetCurrentScriptDirectory~"\Supershot.txt";

let Difficulty = 2;


@Initialize{
SetLife(4500);
SetTimer(80);
SetScore(350000);
SetInvincibility(120);
      LoadUserShotData(SupaShot);
SetMovePosition01(GetCenterX,GetCenterY,5);
LoadGraphic(imgBoss);
LoadGraphic(back);
CutIn(YOUMU,"Mermaid sign: Mortal Soul",NULL,0,0,0,0);
mainTask;
}

@MainLoop{
SetCollisionA(GetX,GetY,32);
SetCollisionB(GetX,GetY,16);
yield;
}

@DrawLoop{
SetTexture(imgBoss);
SetRenderState(ALPHA);
SetAlpha(255);
SetGraphicRect(0,0,54,58);
SetGraphicScale(1,1);
SetGraphicAngle(0,0,0);
DrawGraphic(GetX,GetY);
}

   @BackGround{
      SetTexture(NULL);
      SetRenderState(ALPHA);
      SetAlpha(255);
      SetGraphicRect(0,0,1024,1024);
      SetGraphicScale(1,1);
      SetGraphicAngle(0,0,0);
      DrawGraphic(GetCenterX,GetCenterY);
   }


@Finalize{
DeleteGraphic(imgBoss);

}

task mainTask{
yield;
mainFire;
movement;
}

task movement{
SetMovePosition01(GetCenterX,120,5);

yield;

}


task mainFire{
let xplus = 0;
let mxsp = 2;
let line = 0;
let xplus = (GetClipMinX/2)/3;
loop{
line = rand_int(0,5);
loop(16+line){
CreateShot02(GetClipMinX+xplus,GetClipMinY,2,90,-0.2,mxsp+0.2,175,0);
xplus+=GetClipMaxX/(16+line);
mxsp+=0.1;
yield;
}
xplus = 0;
mxsp = 2;
line = rand_int(0,5);
wait(10);
loop(16+line){
CreateShot02(GetClipMaxX-xplus,GetClipMinY,2,90,0.1,mxsp+0.2,175,0);
xplus+=GetClipMaxX/(16+line);
mxsp+=0.1;
yield;
}
xplus = 0;
mxsp = 2;
wait(10);
xplus = (GetClipMinX/2)/3;
loop(3){
BookBullet(GetCenterX+100+xplus,GetClipMinY,5,90,243,0);
BookBullet(GetCenterX-100-xplus,GetClipMinY,5,90,243,0);
xplus+=(GetClipMaxX/2)/3;
wait(20);
}
wait(120);


}
}


function wait(w){
loop(w){yield;}
}


task BookBullet(x,y,v,d,graphic,delay){
let obj = Obj_Create(OBJ_SHOT);
let bounce = 0;
Obj_SetPosition(obj,x,y);
Obj_SetSpeed(obj,v);
Obj_SetAngle(obj,d);
ObjShot_SetGraphic(obj,graphic);
ObjShot_SetDelay(obj,delay);
while(!Obj_BeDeleted(obj)){


CreateShot02(Obj_GetX(obj),Obj_GetY(obj),rand(2,5),d+180+rand(-20,20),-0.1,-3,173,20);
yield;



}

}


}

For some reason, it fires two lines like I want it to the first time, but the second time... it only fires a half line, and then a full line. What have I done wrong? Or, why does this happen?

Iryan

  • Ph?nglui mglw?nafh
  • Cat R?lyeh wgah?nagl fhtagn.
Re: Danmakufu Q&A/Problem Thread v3
« Reply #276 on: February 27, 2010, 08:07:19 PM »
You don't reset xplus back to zero at the end.

Therefore it stays at a value of ((GetClipMaxX/2)/3)*3, which is exactly half the width of the playing field. Add xplus=0; at the beginning of the looping part of your task, and it will work out fine.
Old Danmakufu stuff can be found here!

"As the size of an explosion increases, the numbers of social situations it is incapable of solving approaches zero."

Re: Danmakufu Q&A/Problem Thread v3
« Reply #277 on: February 27, 2010, 10:55:40 PM »
Therefore it stays at a value of ((GetClipMaxX/2)/3)*3, which is exactly half the width of the playing field.

GetClipMaxX = 416
416/2 = 208
208/3 = 69.333
69.333*3 = 208

GetCenterX = 224

...exactly half the width of the playing field.

Hm

Spoiler:
(GetClipMinX + GetClipMaxX)/2 = GetCenterX
(32 + 416)/2 = 224

Iryan

  • Ph?nglui mglw?nafh
  • Cat R?lyeh wgah?nagl fhtagn.
Re: Danmakufu Q&A/Problem Thread v3
« Reply #278 on: February 27, 2010, 11:21:18 PM »
And my estimate of the dimensions of the error being wrong by less than 10% is totally disastrous for my suggested code reperation which sets the variable to the correct value without any influence of the previous value.

Besides, if xplus equals ((GetClipMaxX/2)/3)*3 at the start of the motion, and the bullets are spawned at the x coordinate of GetClipMinX+xplus, then the right number is actually 32+208=240, so if you want to nitpick on me, at least do it properly.  :V

Did I meantion that I like to construct sentences that, through the overuse of relative sentences and generally superfluously specific and formal diction, become difficult to read or at least to understand properly, no matter whether or not seperate lines of thought are sperated by colons properly, when in the end all that is left is a single overly long, convoluted mess?

Because it is true.
Old Danmakufu stuff can be found here!

"As the size of an explosion increases, the numbers of social situations it is incapable of solving approaches zero."

Re: Danmakufu Q&A/Problem Thread v3
« Reply #279 on: February 27, 2010, 11:54:37 PM »
Properly!? The part I quoted was the only incorrect part. This had nothing to do with his code, which I still haven't read :V

ChaoStar

  • Dark History Boy
Re: Danmakufu Q&A/Problem Thread v3
« Reply #280 on: February 28, 2010, 01:30:20 AM »
Code: [Select]
#TouhouDanmakufu
#Title[Beatrix Nonspell 2]
#Text[Test of EoSD Difficulty system. Bea's so agile... look at her go!]
#BackGround[]
#Player[FREE]
#ScriptVersion[2]

script_enemy_main{

let CSD = GetCurrentScriptDirectory;

let imgBoss = CSD ~ "img\Beatrix.png";

let back = CSD ~ "white.png";

let SupaShot = GetCurrentScriptDirectory~"\Supershot.txt";

let Difficulty = 2;


@Initialize{
SetLife(2000);
SetTimer(60);
SetScore(350000);
SetInvincibility(120);
      LoadUserShotData(SupaShot);
SetMovePosition01(GetCenterX,GetCenterY,5);
LoadGraphic(imgBoss);
LoadGraphic(back);

mainTask;
}

@MainLoop{
SetCollisionA(GetX,GetY,32);
SetCollisionB(GetX,GetY,16);
yield;
}

@DrawLoop{
SetTexture(imgBoss);
SetRenderState(ALPHA);
SetAlpha(255);
SetGraphicRect(0,0,54,58);
SetGraphicScale(1,1);
SetGraphicAngle(0,0,0);
DrawGraphic(GetX,GetY);
}

   @BackGround{
      SetTexture(NULL);
      SetRenderState(ALPHA);
      SetAlpha(255);
      SetGraphicRect(0,0,1024,1024);
      SetGraphicScale(1,1);
      SetGraphicAngle(0,0,0);
      DrawGraphic(GetCenterX,GetCenterY);
   }


@Finalize{
DeleteGraphic(imgBoss);

}

task mainTask{
yield;
mainFire;
movement;
}

task movement{
SetMovePosition01(GetCenterX,120,5);

yield;

}


task mainFire{
let directional = 0;
loop{
directional = 0;
SetMovePosition01(GetCenterX+150,120,5);
wait(120);

Concentration01(40);
wait(40);
loop(12){
BookBullet(GetX,GetY,5,80+directional,97,0);
directional+=360/12;
}
wait(20);
directional = 0;
SetMovePosition01(GetCenterX-150,120,5);
wait(120);
Concentration01(40);
wait(40);
loop(12){
BookBullet(GetX,GetY,5,80+directional,97,0);
directional+=360/12;
}
wait(20);
}
}


function wait(w){
loop(w){yield;}
}

task BookBullet(x,y,v,d,graphic,delay){
let obj = Obj_Create(OBJ_SHOT);
let bounce = 0;
Obj_SetPosition(obj,x,y);
Obj_SetSpeed(obj,v);
Obj_SetAngle(obj,d);
ObjShot_SetGraphic(obj,graphic);
ObjShot_SetDelay(obj,delay);
while(!Obj_BeDeleted(obj)){
if(Obj_GetX(obj) > GetClipMaxX){Obj_SetAngle(obj,180-Obj_GetAngle(obj));}
else if(Obj_GetX(obj) < GetClipMinX){Obj_SetAngle(obj,180-Obj_GetAngle(obj));}
else if(Obj_GetY(obj) < GetClipMinY){Obj_SetAngle(obj,-Obj_GetAngle(obj));}
else if(Obj_GetY(obj) > GetClipMaxY){Obj_SetAngle(obj,-Obj_GetAngle(obj));}
yield;
}

}


}

Auauauau~ why won't it STOP BOUNCING T__T

What did I do wrong...?

Fetch()tirade

  • serial time-waster
Re: Danmakufu Q&A/Problem Thread v3
« Reply #281 on: February 28, 2010, 01:37:11 AM »
I've hit this problem before, and someone else has solved it for me.
I don't remember the specifics, but your BookBullet is set to bounce indefinitely since it will never exit the screen nor be deleted by ObjShot_FadeDelete or something like that.

Depending on what you want, you can either have it be deleted at a certain time after firing with an object delete code or after a certain number of bounces. The second method makes use of a count variable within a number of if statements.

ChaoStar

  • Dark History Boy
Re: Danmakufu Q&A/Problem Thread v3
« Reply #282 on: February 28, 2010, 01:38:14 AM »
Thank you. I just remembered what I forgot. T__T

Re: Danmakufu Q&A/Problem Thread v3
« Reply #283 on: February 28, 2010, 02:45:59 AM »
Are object lasers set to behave like the CreateLaserB family by default? I can't get my lasers to move so that I can test an idea I had for Collision_Obj_Obj.

EDIT: Might help if I put the code here. :V
Code: [Select]
task StraightLaser(x, y, l, w, g, d) {
let thing = Obj_Create(OBJ_LASER);
let reflectcount = 1;
Obj_SetX(thing, x);
Obj_SetY(thing, y);
ObjLaser_SetLength(thing, l);
ObjLaser_SetWidth(thing, w);
   Obj_SetSpeed(thing, 2);
Obj_SetAngle(thing, atan2(GetPlayerY - Obj_GetY(thing), GetPlayerX - Obj_GetX(thing)));
ObjShot_SetBombResist(thing, true);
ObjShot_SetGraphic(thing, g);
ObjShot_SetDelay(thing, d);
Obj_SetCollisionToObject(thing, true);

while (!Obj_BeDeleted(thing)) {
if (Collision_Obj_Obj(id, thing) && reflectcount != 0) {
Obj_SetAngle(thing, Obj_GetAngle(thing)-180);
reflectcount = 0;
}
if (Obj_GetX(thing) < 0 || Obj_GetX(thing) > 448) {
if (reflectcount == 0) {
Obj_SetAngle(thing, -(Obj_GetAngle(thing)));
reflectcount = 1;
}
}
yield;
}
}

The id variable in there is from a globally-defined object laser.
« Last Edit: February 28, 2010, 02:50:41 AM by rdj522 »

Azure Lazuline

  • Looooove!!
  • PM me for free huggles and love!
    • Entanma Project - indie game development
Re: Danmakufu Q&A/Problem Thread v3
« Reply #284 on: February 28, 2010, 02:53:06 AM »
Obj_SetSpeed doesn't work with lasers, you need to move them manually.

Code: [Select]
x+=cos(a)*v;
y+=sin(a)*v;
Obj_SetPosition(obj,x,y);

Run this every frame. Beforehand, just set v and a to velocity and angle respectively, and x and y to where the laser spawned.

Re: Danmakufu Q&A/Problem Thread v3
« Reply #285 on: February 28, 2010, 03:13:48 AM »
Yay, they move now. Thanks, Azure.

...Now if I could figure out why they're not changing direction when they collide. DX


Fetch()tirade

  • serial time-waster
Re: Danmakufu Q&A/Problem Thread v3
« Reply #286 on: February 28, 2010, 03:30:19 AM »
Change direction as in what? You want them to actually face the direction they're going in? Then you still have to SetAngle, even if their movement is directed by SetPosition. The angle set is the way the graphic is oriented, with one part always facing the direction headed. Since most shots are circles, you can't really tell, but I think you can see the difference while using object butterflies all facing right. On the other hand, if you just want it to change direction, then that involves SetPosition in regards to the angle it was headed in and the angle of bounce.
« Last Edit: February 28, 2010, 03:33:03 AM by Flashtirade »

Re: Danmakufu Q&A/Problem Thread v3
« Reply #287 on: February 28, 2010, 03:45:36 AM »
Change direction as in what? You want them to actually face the direction they're going in? Then you still have to SetAngle, even if their movement is directed by SetPosition.

I'm doing this already, but the lasers just keep going as if they're not colliding with the sinuate laser around the player at all. I have Obj_SetCollisionToObject(thing, true); (with the relevant object IDs) in both of the related tasks, and the sinuate laser's ID is global AND being passed to the aimed laser's task. They just don't interact. =/

ChaoStar

  • Dark History Boy
Re: Danmakufu Q&A/Problem Thread v3
« Reply #288 on: February 28, 2010, 06:48:02 AM »
I'm doing this already, but the lasers just keep going as if they're not colliding with the sinuate laser around the player at all. I have Obj_SetCollisionToObject(thing, true); (with the relevant object IDs) in both of the related tasks, and the sinuate laser's ID is global AND being passed to the aimed laser's task. They just don't interact. =/

Hmm. I'm guessing, but maybe you need an if statement that tells the lasers what to do if they collide? Just tell the Hadron Collider to find the Higgs Boson.

Re: Danmakufu Q&A/Problem Thread v3
« Reply #289 on: February 28, 2010, 06:56:24 AM »
Hmm. I'm guessing, but maybe you need an if statement that tells the lasers what to do if they collide? Just tell the Hadron Collider to find the Higgs Boson.

Have that already, as mentioned in the code block up there. The laser generated by the StraightLaser task is supposed to bounce off of the sinuate laser based on what's in the while loop I've got.

Iryan

  • Ph?nglui mglw?nafh
  • Cat R?lyeh wgah?nagl fhtagn.
Re: Danmakufu Q&A/Problem Thread v3
« Reply #290 on: February 28, 2010, 09:43:10 AM »
1. I hope I can assume you didn't just copypaste Azure's code but instead changed the respective angle variables to the variable name you are using, right?

2. Is your sinuate laser created in the main script, or did you create it inside a task? If the latter one, then the straight laser cannot check the collision with the sinuate laser as the variable that stores the id of the sinuate laser does not exist in the script of the straight laser. To fix this, you'd just have to create the variable id right at the beginning of the script and have the sinuate laser task merely insert the object id into this variable. That way it can be accessed from anywhere, including your stright laser task.

3. If you want to create several sinuate lasers, and if two of them coexist for one or more frames, then you'll need object arrays. *cough cough*


Another tip: If the direction change of the laser actually does work, the laser will probably turn spin around its base, making everything look awkward. Thus, you should insert the following line before the SetAngle command:

Code: [Select]
Obj_SetPosition(thing, ObjLaser_GetEndX(thing), ObjLaser_GetEndY(thing));
Old Danmakufu stuff can be found here!

"As the size of an explosion increases, the numbers of social situations it is incapable of solving approaches zero."

Re: Danmakufu Q&A/Problem Thread v3
« Reply #291 on: February 28, 2010, 08:06:06 PM »
1. I hope I can assume you didn't just copypaste Azure's code but instead changed the respective angle variables to the variable name you are using, right?

2. Is your sinuate laser created in the main script, or did you create it inside a task? If the latter one, then the straight laser cannot check the collision with the sinuate laser as the variable that stores the id of the sinuate laser does not exist in the script of the straight laser. To fix this, you'd just have to create the variable id right at the beginning of the script and have the sinuate laser task merely insert the object id into this variable. That way it can be accessed from anywhere, including your stright laser task.

3. If you want to create several sinuate lasers, and if two of them coexist for one or more frames, then you'll need object arrays. *cough cough*


Another tip: If the direction change of the laser actually does work, the laser will probably turn spin around its base, making everything look awkward. Thus, you should insert the following line before the SetAngle command:

Code: [Select]
Obj_SetPosition(thing, ObjLaser_GetEndX(thing), ObjLaser_GetEndY(thing));

1) I changed it to fit my script.
2) The laser itself is created in a task that is called from @Initialize. I tried creating the object ID at the beginning and passing it into the sinuate laser task, but it didn't seem to change anything.
3) I'll have to read up on object arrays when I get the chance, then.

This is working out just like the last time I tried making a script: I get one part working, and the rest either falls to pieces or just doesn't come to me. D=

Iryan

  • Ph?nglui mglw?nafh
  • Cat R?lyeh wgah?nagl fhtagn.
Re: Danmakufu Q&A/Problem Thread v3
« Reply #292 on: February 28, 2010, 09:17:23 PM »
After fooling around, I've come to the simple but fatal conclusion that danmakufu just royally fucks up when it has to determine the collision of sinuate lasers with other objects.

 :ohdear:
Old Danmakufu stuff can be found here!

"As the size of an explosion increases, the numbers of social situations it is incapable of solving approaches zero."

Re: Danmakufu Q&A/Problem Thread v3
« Reply #293 on: February 28, 2010, 09:23:25 PM »
After fooling around, I've come to the simple but fatal conclusion that danmakufu just royally fucks up when it has to determine the collision of sinuate lasers with other objects.

 :ohdear:

Well, crap. At least we learned a bit about sinuate lasers out of this...

Thanks for the help.

Kylesky

  • *The Unknown*
  • Local Unbalanced Danmakufu Idiot Scripter
    • My useless youtube account... (will be useful in the future *I promise*)
Re: Danmakufu Q&A/Problem Thread v3
« Reply #294 on: March 01, 2010, 03:51:39 PM »
I remember someone posted a code for an angled ellipse somewhere around here... Was it NC/Naut/Blargel? Well whoever it is... can someone direct me to where it is/repost the code or something? I've tried looking everywhere, but I can't seem to find it anymore... :ohdear:
Danmakufu Script Thread :V Latest Script: Intertwining Mechanical Intervention (temp name)

Yooooouuutuuuubeeee Channel Latest Video: Contest #8 Entry

Blargel

  • RAWR!
  • I'M AN ANGRY LOLI!
Re: Danmakufu Q&A/Problem Thread v3
« Reply #295 on: March 01, 2010, 03:55:15 PM »
I remember someone posted a code for an angled ellipse somewhere around here... Was it NC/Naut/Blargel? Well whoever it is... can someone direct me to where it is/repost the code or something? I've tried looking everywhere, but I can't seem to find it anymore... :ohdear:

I think it was a post by Drake in the old Q&A thread. I don't remember when it was posted so it might be hard to find it still.
<WorkingKeine> when i get home i just go to the ps3 and beat people up in blazblue with a loli
<Azure> Keine: Danmakufu helper by day, violent loli by night.

Kylesky

  • *The Unknown*
  • Local Unbalanced Danmakufu Idiot Scripter
    • My useless youtube account... (will be useful in the future *I promise*)
Re: Danmakufu Q&A/Problem Thread v3
« Reply #296 on: March 01, 2010, 04:00:30 PM »
I think it was a post by Drake in the old Q&A thread. I don't remember when it was posted so it might be hard to find it still.

oh there...
Code: [Select]
task ellipse{
    let a = 0;
    let dist;
    loop(36){
        dist = ((sin(a))^2+(2*cos(a))^2)^0.5;
        CreateShot01(GetEnemyX,GetEnemyY,2/dist,a,YELLOW04,12);
        a += 10;
    }
}

apparently it really was drake at Q&A thread II :V (I should really start saving things I may use in the future...)
Danmakufu Script Thread :V Latest Script: Intertwining Mechanical Intervention (temp name)

Yooooouuutuuuubeeee Channel Latest Video: Contest #8 Entry

Drake

  • *
Re: Danmakufu Q&A/Problem Thread v3
« Reply #297 on: March 01, 2010, 05:44:07 PM »
NC/Naut/Blargel
Quote
Group of "danmakufu experts"
Quote
Not me
thanks a lot, bro

A Colorful Calculating Creative and Cuddly Crafty Callipygous Clever Commander
- original art by Aiけん | ウサホリ -

Blargel

  • RAWR!
  • I'M AN ANGRY LOLI!
Re: Danmakufu Q&A/Problem Thread v3
« Reply #298 on: March 01, 2010, 06:16:05 PM »
So I was having this weird issue of not being able to play music correctly. At first I thought it was because I was trying to load music from a player script and Danmakufu wasn't allowing it, but when I tried loading and playing it from a single or stage script, nothing played either. Turning on the debug window revealed that it wasn't loading correctly so I checked the filepath. It was fine. Just to be sure I tried a variety of other things like renaming the mp3, renaming the folder, moving the mp3 into a folder full of stuff that was being loaded correctly, trying absolute file paths, and loading another song. It turned out that loading another mp3 with the same name worked perfectly fine which meant my mp3 was borked somehow. However, opening it in Quicktime or Audacity worked fine and it played normally so I was confused. Just to be sure, I tried converting the mp3 into a wav and loading that instead. No success. After a while of tinkering, I got the bright idea of opening the mp3 with Audacity and immediately resaving it as an mp3. Somehow this worked.

Moral of the story: Danmakufu sucks at sound.
<WorkingKeine> when i get home i just go to the ps3 and beat people up in blazblue with a loli
<Azure> Keine: Danmakufu helper by day, violent loli by night.

Chronojet ⚙ Dragon

  • The Oddity
  • 今コソ輝ケ、我ガ未来、ソノ可能性!!
Re: Danmakufu Q&A/Problem Thread v3
« Reply #299 on: March 01, 2010, 06:28:04 PM »
So I was having this weird issue of not being able to play music correctly. At first I thought it was because I was trying to load music from a player script and Danmakufu wasn't allowing it, but when I tried loading and playing it from a single or stage script, nothing played either. Turning on the debug window revealed that it wasn't loading correctly so I checked the filepath. It was fine. Just to be sure I tried a variety of other things like renaming the mp3, renaming the folder, moving the mp3 into a folder full of stuff that was being loaded correctly, trying absolute file paths, and loading another song. It turned out that loading another mp3 with the same name worked perfectly fine which meant my mp3 was borked somehow. However, opening it in Quicktime or Audacity worked fine and it played normally so I was confused. Just to be sure, I tried converting the mp3 into a wav and loading that instead. No success. After a while of tinkering, I got the bright idea of opening the mp3 with Audacity and immediately resaving it as an mp3. Somehow this worked.

Moral of the story: Danmakufu sucks at sound.

I want to say, mp3s and stuff saved from Amazing Slow Downer DON'T WORK. Why is this?