Author Topic: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry  (Read 243916 times)

Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #660 on: July 28, 2015, 08:19:44 PM »
Thanks for the tip! The Plural is closing now. ^_^

On an unrelated note, how do I post scripts in BulletForge? [Sorry if it's a dumb question...] :P

EDIT: Nvm, found out how to post scripts there.
« Last Edit: July 28, 2015, 08:46:49 PM by DLS »

SusiKette

  • @MainLoop { yield; }
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #661 on: July 31, 2015, 03:27:54 PM »
Just started learning ph3 and I'm getting a really weird error here. Danmakufu says that on "while(x<5) { }" I'm using a variable that has not been set yet even though I did that a few lines before it.

Code: [Select]
task fire01 {
let x = 0;
let dir = 0;
loop {
while(x<5) {
loop(36) {
CreateShotA1(obj_boss_x,obj_boss_y,3,dir,15,15);
dir+=360/36;
}
wait(5);
x++;
}
wait(60);
let x = 0;
let dir = 0;
}
}

Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #662 on: July 31, 2015, 03:59:36 PM »
I see you declared a variable called 'x' and 'dir' twice (A.K.A. you wrote "let x" and "let dir" twice in the same loop), I guess maybe removing the second "let x" and "let dir" should solve.

Someone might give you a better answer, though.

Chronojet ⚙ Dragon

  • The Oddity
  • 今コソ輝ケ、我ガ未来、ソノ可能性!!
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #663 on: July 31, 2015, 04:30:31 PM »
I would just like to expand on DLS's answer. He's on the right track, I think. You may be wanting to reset the x and dir variables to 0 -- in that case you should be reassigning values to the two variables rather than making new variables that are conveniently named the same as the ones before.

In that case, just remove the "let" part from the lines after the while loop.

SusiKette

  • @MainLoop { yield; }
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #664 on: July 31, 2015, 04:46:19 PM »
Yeah, I actually noticed that some time ago. It's weird how Danmakufu pointed out the error. Giving "variable has already been set" error or something and pointing to the line where the duplicate was set would make more sense.

The next issue is that my background is not drawing. What am I missing here?

Code: [Select]
task mainTask {
bossAnim;
backgroundDraw;
movement;
scriptEnd;
}
Code: [Select]
task backgroundDraw {
let bg = ObjPrim_Create(OBJ_SPRITE_2D);
Obj_SetRenderPriorityI(bg,21);
ObjPrim_SetTexture(bg,bg_eerie);
ObjSprite2D_SetSourceRect(bg_eerie,0,0,386,450);
ObjSprite2D_SetDestRect(bg_eerie,0,0,GetStgFrameWidth,GetStgFrameHeight);
}

Chronojet ⚙ Dragon

  • The Oddity
  • 今コソ輝ケ、我ガ未来、ソノ可能性!!
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #665 on: July 31, 2015, 04:48:38 PM »
ObSprite2D_SetSourceRect and DestRect should be pointing to bg, not bg_eerie

SusiKette

  • @MainLoop { yield; }
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #666 on: July 31, 2015, 05:08:36 PM »
Works now, thanks.

By the way is there a way to create either of these effects in ph3 without using 32 or so background "slices"?

2D Version
3D Version

Chronojet ⚙ Dragon

  • The Oddity
  • 今コソ輝ケ、我ガ未来、ソノ可能性!!
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #667 on: July 31, 2015, 05:11:33 PM »
I believe fragmenting the background (as you have already done) is already the best way to create that effect.

Making a single object is not good because each fragment would be affected the same way by fog, if you were to use it.

That's just what I think, though.

Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #668 on: July 31, 2015, 09:20:03 PM »
Umm, I'm currently 'animating' my script's enemy, but I have no idea of how to check the angle my enemy face. Can anyone help with this?

Sparen

  • Danmakufu Artist
  • Git ready, git set, PUUSH!
    • AFCDTech
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #669 on: July 31, 2015, 09:26:01 PM »
Umm, I'm currently 'animating' my script's enemy, but I have no idea of how to check the angle my enemy face. Can anyone help with this?

ObjMove_GetAngle()

In the future, please read the tutorials and the function list before asking a question

SusiKette

  • @MainLoop { yield; }
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #670 on: August 04, 2015, 04:05:16 PM »
I've been having this issue where when the boss dies bullets will be fired from the top left corner for a while. If I remember right this is due to the script not despawning the boss correctly, but I don't remember how to fix it because I can't find the tutorial that mentioned it.

Uruwi

  • Nightmare of Torrential Precipitation
  • 478 million goober
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #671 on: August 04, 2015, 04:49:45 PM »
I've been having this issue where when the boss dies bullets will be fired from the top left corner for a while. If I remember right this is due to the script not despawning the boss correctly, but I don't remember how to fix it because I can't find the tutorial that mentioned it.

Every time you yield, you must check if the boss is dead before spawning more bullets.
foo = foldl $ flip ($)
Highest difficulty 1CCed for each game, by shot type in the original order. (-: never 1CCed on any difficulty, or never used; E: easy, N: normal, H: hard, L / U: lunatic / unreal.)
EoSD [NNNE] PCB [EE--N-] IN [NEEE + Ex Border] PoFV [Mystia N, Mystia E no charge] MoF [EN--H- + Ex Marisa B] SA [N-----] UFO [----EN] TD [NENE] DDC [EE-EHE + Ex Marisa B & Sakuya A] LoLK [PD --N- Legacy ---N] EE [N- + Ex Yabusame] EMS [N-- + Ex Yabusame] RMI [NHN + Ex YaoSuku]
Avelantis (demo) Easy YuukiB 426,077,200

Helepolis

  • Charisma!
  • *
  • O-ojousama!?
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #672 on: August 04, 2015, 05:55:26 PM »
Every time you yield, you must check if the boss is dead before spawning more bullets.
That is imo unnecessary method. There is no reason to keep checking for the boss with each yield. And also very shallow explanation too and not helping in discovering why it is going wrong so the user keeps it in mind for future routines/tasks/methods.

First, many people use this method.
Code: [Select]
task fire {
loop {
CreateShot(ry
yield;
}
}
In 0.12m this would be probably safe to use. In ph3 however you need to make sure things are handled proper.

What Fluffy refers to is this or something similar with "checking boss":
Code: [Select]
task fire {
loop {
CreateShot(ry
yield;
if(Obj_IsDeleted(obj)) { break; }
}
}
Which isn't wrong but when you have many many other yields / routines / areas you need to check it will become a huge mess.

So simply use this:
Code: [Select]
task fire {
while(!Obj_IsDeleted(obj)) {
CreateShot(ry
yield;
}
}
What this does it checks whether the boss is existent (or the obj) before it tries to run the while-loop. The checking is done within the while statement. This gives you a much clean and more defined control on whether to run the loop or not. Keep in mind though you will need to think of possible delays once the loop is executed but for general use, this will do the trick.



« Last Edit: August 04, 2015, 05:57:11 PM by Helepolis »

Uruwi

  • Nightmare of Torrential Precipitation
  • 478 million goober
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #673 on: August 04, 2015, 05:57:56 PM »
@Helepolis - yes, in that case, the while loop checks whether the boss is still alive before shooting again. I was just generalizing.

As for the reason? Getting the X and Y of a deleted object yields returns 0 for each case.
« Last Edit: August 05, 2015, 02:19:29 AM by Fluffy8x »
foo = foldl $ flip ($)
Highest difficulty 1CCed for each game, by shot type in the original order. (-: never 1CCed on any difficulty, or never used; E: easy, N: normal, H: hard, L / U: lunatic / unreal.)
EoSD [NNNE] PCB [EE--N-] IN [NEEE + Ex Border] PoFV [Mystia N, Mystia E no charge] MoF [EN--H- + Ex Marisa B] SA [N-----] UFO [----EN] TD [NENE] DDC [EE-EHE + Ex Marisa B & Sakuya A] LoLK [PD --N- Legacy ---N] EE [N- + Ex Yabusame] EMS [N-- + Ex Yabusame] RMI [NHN + Ex YaoSuku]
Avelantis (demo) Easy YuukiB 426,077,200

SusiKette

  • @MainLoop { yield; }
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #674 on: August 05, 2015, 09:12:28 AM »
So simply use this:
Code: [Select]
task fire {
while(!Obj_IsDeleted(obj)) {
CreateShot(ry
yield;
}
}
What this does it checks whether the boss is existent (or the obj) before it tries to run the while-loop. The checking is done within the while statement. This gives you a much clean and more defined control on whether to run the loop or not. Keep in mind though you will need to think of possible delays once the loop is executed but for general use, this will do the trick.

Thanks.

Another questions I've had a long time (all the way back from 0.12m) are these:
-How to loop music? It feels kind of weird to have the music just stop and start over. Especially if the song doesn't loop from the very beginning.
-How to calculate rotation for a bullet to circle around it's spawn point (with speed, radius from center and rotation direction)? For an example if I'd want to fire a bullet at player that explodes into several rings with different distance (radius) from the explosion point and have them circle around the point before disappearing. Of course I could just try values and find it manually, but having the script (or custom function) to calculate it for you would be easier in the long run.

Helepolis

  • Charisma!
  • *
  • O-ojousama!?
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #675 on: August 05, 2015, 09:49:51 AM »
First question:  You will need to use OGG files for your music then check the Wiki for the sound object functions. You can set the looping, start and end location through the so called "Sample values". Using Audacity or another free program you can check the exact samples and create near-perfect looping.

Second question. Uhm, not quite sure if I am correct with this. Perhaps someone with some more math knowledge can help out but: But increase a bullets distance from its spawnpoint, you need to work with Trig method and increase the radius when you want to make the bullet move away from its spawn location as centre. The story you write sounds like fireworks or something so I think something like this:

CreateShotA1(x+r*cos(dir),y+r*sin(dir),0,dir,<type>,<delay>);

And then store that inside a var so you can modify the dir in a separate task to make the bullets circle around. The greater the value, the faster they will spin around. Radius is randomized as you probably intended.

Drake

  • *
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #676 on: August 05, 2015, 11:26:15 AM »
Code: [Select]
angular_velocity = velocity / radius
It's that easy. Well, not quite, since the equation is expressed in radians (because this is pretty much how radians are defined!) For degrees, simple conversion everyone learns in math class:

Code: [Select]
angular_velocity = (velocity / radius) * 180 / pi

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

Uruwi

  • Nightmare of Torrential Precipitation
  • 478 million goober
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #677 on: August 05, 2015, 01:02:08 PM »
Additional info:

If you want to do a spiral around the explosion point, use a task that takes not only the shot ID but also the coordinates of the center as parameters. Then use ObjMove_SetPosition.

(or, as Drake said, change the angular velocity - you should know about curvature edit2 and the arc length parameter.)
« Last Edit: August 05, 2015, 04:55:06 PM by Fluffy8x »
foo = foldl $ flip ($)
Highest difficulty 1CCed for each game, by shot type in the original order. (-: never 1CCed on any difficulty, or never used; E: easy, N: normal, H: hard, L / U: lunatic / unreal.)
EoSD [NNNE] PCB [EE--N-] IN [NEEE + Ex Border] PoFV [Mystia N, Mystia E no charge] MoF [EN--H- + Ex Marisa B] SA [N-----] UFO [----EN] TD [NENE] DDC [EE-EHE + Ex Marisa B & Sakuya A] LoLK [PD --N- Legacy ---N] EE [N- + Ex Yabusame] EMS [N-- + Ex Yabusame] RMI [NHN + Ex YaoSuku]
Avelantis (demo) Easy YuukiB 426,077,200

Drake

  • *
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #678 on: August 05, 2015, 01:53:07 PM »
Well, as long as the center stays the same, you can just plug a changing radius into the above equation. Increasing from a radius of near-zero to anything else will still give you a perfect orbit, so you can use a CreateShotA1() with a given speed and position and do everything just by changing the angular velocity with ObjMove_SetAngularVelocity().
« Last Edit: August 05, 2015, 01:54:52 PM by Drake »

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

SusiKette

  • @MainLoop { yield; }
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #679 on: August 06, 2015, 11:52:32 AM »
Okay. I'll try that out once I'm done trying to get a background effect that I made once in 0.12m to work on ph3. Since the effect uses 64 (might be more) or so trigonometric functions per frame, I thought that it would be more optimal to pre-calculate the values and read them from a table. I just don't know how to create such table and how to read from it using another variable as offset.

Drake

  • *
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #680 on: August 06, 2015, 12:10:49 PM »
Does it really necessitate using all that? I mean yes, it would probably be better to use a lookup table but 64 sines (or whatever) per frame seems a bit much to begin with.

In any case, you'd just make an array and populate it with values, but considering you haven't described how you intend to use it in the first place I can't really expand on that very much...

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

SusiKette

  • @MainLoop { yield; }
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #681 on: August 06, 2015, 12:38:14 PM »
Does it really necessitate using all that? I mean yes, it would probably be better to use a lookup table but 64 sines (or whatever) per frame seems a bit much to begin with.

In any case, you'd just make an array and populate it with values, but considering you haven't described how you intend to use it in the first place I can't really expand on that very much...

Well, the background is composed out of "slices" that do wavy motion both vertically and horizontally in a sideways 8 pattern. I know that I can use array, but it feels unnecessary to create an array and fill it with values if you could have a table of values saved in the script and read directly from it.

The way I calculate the offset for what value to read the table would be something like this:

Code: [Select]
// slice_offset is incremented every time one slice has been "processed" and reset to 0 after the background drawing has finished

h_offset = (frame_roll + slice_offset) & 31        // frame_roll + slice_offset is AND-ed with %0001 1111 to limit the variable to 32 different values
v_offset = (frame_roll + slice_offset) & 15        // frame_roll + slice_offset is AND-ed with %0000 1111 to limit the variable to 16 different values

// The table with horizontal positions has 32 values and the table with vertical positions has 16 values

EDIT: Here is what it looks like
2D Version
3D Version
« Last Edit: August 06, 2015, 12:48:35 PM by Baka94 »

Uruwi

  • Nightmare of Torrential Precipitation
  • 478 million goober
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #682 on: August 06, 2015, 01:15:00 PM »
Wait, does PH3 still have the same performance problem with arrays as 0.12m?
foo = foldl $ flip ($)
Highest difficulty 1CCed for each game, by shot type in the original order. (-: never 1CCed on any difficulty, or never used; E: easy, N: normal, H: hard, L / U: lunatic / unreal.)
EoSD [NNNE] PCB [EE--N-] IN [NEEE + Ex Border] PoFV [Mystia N, Mystia E no charge] MoF [EN--H- + Ex Marisa B] SA [N-----] UFO [----EN] TD [NENE] DDC [EE-EHE + Ex Marisa B & Sakuya A] LoLK [PD --N- Legacy ---N] EE [N- + Ex Yabusame] EMS [N-- + Ex Yabusame] RMI [NHN + Ex YaoSuku]
Avelantis (demo) Easy YuukiB 426,077,200

Drake

  • *
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #683 on: August 06, 2015, 01:51:06 PM »
First of all, Danmakufu doesn't have any bitwise operators. Gonna have to work with modulo for that. Also, I did mean just writing the values out in the script itself if you want. Calculating them just once on-run isn't a waste though, and you can change the values if you ever need to without calculating yourself, so I suggest doing that.

Ok, so the figure-8 pattern is somewhat important, because essentially all you're doing is using a single incrementing variable to plug into sin() and cos(), and then multiplying it by some amplitude. I imagine it's like
Code: [Select]
t = (t + 360/32) % 360;
h_pos = cx + sin(t) * 50;
v_pos = y + sin(t*2) * 10;
for one slice or something, where y and t increase for each slice.

This means you can either:
- Have two tables where one maps 32 hardcoded values of sin(t)*50 and the other maps 16 of sin(t*2)*10; or
- Have one table that just maps 32 hardcoded values of sin(t), but use two different indices (i and i*2) and multiply by 50 and 10 afterwards

These would look like
Code: [Select]
h_offsets = [sin(0*360/32)*50, sin(1*360/32)*50, sin(2*360/32)*50, (29 more...)]; // Or use a loop to populate these lol
v_offsets = [sin(0*360/16)*10, sin(1*360/16)*10, sin(2*360/16)*10, (13 more...)];
// ...
h_pos = cx + h_offsets[(frame_roll + slice_offset) % 32];
v_pos = slice_offset*slice_size + v_offsets[(frame_roll + slice_offset) % 16];
or
Code: [Select]
offsets = [sin(0*360/32), sin(1*360/32), sin(2*360/32), (29 more...)];
// ...
h_pos = cx + offsets[(frame_roll + slice_offset) % 32] * 50;
v_pos = slice_offset*slice_size + offsets[(frame_roll + slice_offset) * 2 % 32] * 10;

The first looks a bit nicer, but comes at the disadvantage of not being able to change parameters without rewriting the table every time. The second you can freely change the amplitudes and whatnot.

Wait, does PH3 still have the same performance problem with arrays as 0.12m?
I'm not sure what you mean by performance problems. I haven't used 0.12m in eons so I don't even know if it has array issues (and I don't really care tbh), but could you elaborate? The main issue with ph3 arrays is that you can't just allocate a given size.
« Last Edit: August 06, 2015, 01:56:15 PM by Drake »

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

Uruwi

  • Nightmare of Torrential Precipitation
  • 478 million goober
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #684 on: August 06, 2015, 05:03:59 PM »
I assumed that the problem with arrays in 0.12m (that array access was slow for large arrays) applied to PH3 too, but I tested this hypothesis and got similar results for all array sizes tested; i. e. array access is constant-time with respect to both the array size and the index. In fact, when I inline se and ee, the latter benchmark gives twice as long of a time, just because calculating n - 1 takes a significant chunk of the computation time.
foo = foldl $ flip ($)
Highest difficulty 1CCed for each game, by shot type in the original order. (-: never 1CCed on any difficulty, or never used; E: easy, N: normal, H: hard, L / U: lunatic / unreal.)
EoSD [NNNE] PCB [EE--N-] IN [NEEE + Ex Border] PoFV [Mystia N, Mystia E no charge] MoF [EN--H- + Ex Marisa B] SA [N-----] UFO [----EN] TD [NENE] DDC [EE-EHE + Ex Marisa B & Sakuya A] LoLK [PD --N- Legacy ---N] EE [N- + Ex Yabusame] EMS [N-- + Ex Yabusame] RMI [NHN + Ex YaoSuku]
Avelantis (demo) Easy YuukiB 426,077,200

Drake

  • *
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #685 on: August 07, 2015, 05:03:44 AM »
Yeah, I think I had confronted you (or Sparen?) about this before but didn't get an answer. In any case, I had done fairly rigorous tests for array access a while back.

https://gist.github.com/drakeirving/e999d52c50cc7dc54e2c

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

SusiKette

  • @MainLoop { yield; }
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #686 on: August 07, 2015, 07:02:04 PM »
First of all, Danmakufu doesn't have any bitwise operators. Gonna have to work with modulo for that.

:c
I hope the author of Danmakufu adds them in a future update. They are pretty basic (and useful) operations after all.
I have never heard of modulo and I couldn't find anything about how Danmakufu uses them.

Also, I did mean just writing the values out in the script itself if you want.

What kind of formatting/syntax do I have to use for that?

Another language I work with uses this (and I'm pretty sure Danmakufu doesn't):

Code: [Select]
LookupTable:
 .db 0,1,2,3,4,5,6,7,8,7,6,5,4,3,2,1
.db 0,-1,-2,-3,-4,-5,-6,-7,-8,-7,-6,-5,-4,-3,-2,-1

Uruwi

  • Nightmare of Torrential Precipitation
  • 478 million goober
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #687 on: August 07, 2015, 10:16:39 PM »
:c
I hope the author of Danmakufu adds them in a future update. They are pretty basic (and useful) operations after all.
I have never heard of modulo and I couldn't find anything about how Danmakufu uses them.

I was kind of disappointed by the lack of bitwise operators as well; I think MKM didn't feel the need for them. Only concern is that ^ is already used for exponentiation, and it's too late to use ** instead unless we want a PH4.

Quote
What kind of formatting/syntax do I have to use for that?

Another language I work with uses this (and I'm pretty sure Danmakufu doesn't):

Code: [Select]
LookupTable:
 .db 0,1,2,3,4,5,6,7,8,7,6,5,4,3,2,1
.db 0,-1,-2,-3,-4,-5,-6,-7,-8,-7,-6,-5,-4,-3,-2,-1

You're an assembly programmer, aren't you?

Code: [Select]
let lookUpTable = [0, 1, 2, 3, 4, 5, 6, 7, 8, 7, 6, 5, 4, 3, 2, 1, 0, -1, -2, -3, -4, -5, -6, -7, -8, -7, -6, -5, -4, -3, -2, -1];
« Last Edit: August 08, 2015, 03:24:13 AM by Fluffy8x »
foo = foldl $ flip ($)
Highest difficulty 1CCed for each game, by shot type in the original order. (-: never 1CCed on any difficulty, or never used; E: easy, N: normal, H: hard, L / U: lunatic / unreal.)
EoSD [NNNE] PCB [EE--N-] IN [NEEE + Ex Border] PoFV [Mystia N, Mystia E no charge] MoF [EN--H- + Ex Marisa B] SA [N-----] UFO [----EN] TD [NENE] DDC [EE-EHE + Ex Marisa B & Sakuya A] LoLK [PD --N- Legacy ---N] EE [N- + Ex Yabusame] EMS [N-- + Ex Yabusame] RMI [NHN + Ex YaoSuku]
Avelantis (demo) Easy YuukiB 426,077,200

SusiKette

  • @MainLoop { yield; }
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #688 on: August 08, 2015, 06:39:24 AM »
Only concern is that ^ is already used for exponentiation

Well, we could still use AND, ORA, EOR, ROR, ROL, ASL, LSR, etc. for bitwise operations. Technically it would be possible to use bitwise operations in Danmakufu by making a function that first converts it to binary (and stores in array?) and after the operation converts back to decimal. I'm just concerned that it will be pretty slow.

Drake

  • *
Re: ※ Dnh Q&A/Problem thread II ※ for Danmakufu ph3 .1 preX(ry
« Reply #689 on: August 08, 2015, 08:35:31 AM »
That would be near-totally pointless, yes.

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