PDA

View Full Version : uh oh!!


redi jedi
25th May 2006, 21:07
shut the f* up charles, shut the f* up charles, Oh NOOOOO
dont you know who i am?? I'm the Juggernaut, bitch!

did he use photo shop??? nope
is that a sprite?!?! nope
oh NOOOO its the attack of the shapes!!! this time they got pictures in 'em!! OH NOOOOOO

sorry if that didnt make any sense to ya, go search youtube for Juggernaut, its funny as hell...
check the pics
Oh NOOOOO (http://milkdrop.us/whats this.bmp)
uh oh! (http://milkdrop.us/whats that.bmp)

might be done tonight.... might not be... who knows!

shifter
26th May 2006, 03:54
sweet! i was just about to post a request for packaging sprites within a preset, but if your saying what i think you are, this'll be even better :)

redi jedi
26th May 2006, 17:16
hehe :cool:

making it into a function, loadpic(filename,settings)

the settings var is gonna be interisting, there where to many options to have diffrent pass throughs for them all, so i'm... 'multiplexing'(lack of a better word) them into one var
its gonna be something like 987654321.12
9-1 are the transperency key, 987 for red, 654 for green, ect. .1 is the texture target(1,2 are main screens 3-7 are shape texs) and .02 is the file ending. the only problem i've thought of so far(well other than figuring out how to fit all that info into one var.) is i dont know that there is a way to not execute the function every frame(in the screen shots the pic is being loaded from file every frame, results in ~8 fps), so running the function constantly is bad....
and if my thinking is correct:
if(runit,loadpic(stuff),dont);
will calculate the value of both loadpic(stuff)(therebye invokeing the image) and dont irregradless of the value of runit, witch merly defines wich value will be returned....
if anyone knows beter please tell me :)


so i think i might have to add another digit to the settings(have room for 16 total) for enable, so that could be used for enable/disable


i havent seen what it would look like for an image to be pulled to the screen once then drawn ontop of(this should be the result of my doings) but it seems like it should be kinda cool, i havent come up with a way to keep the image in with out reloading/drawing over it, cause ~8 fps for a preset with not much going on, just isnt gonna work.




i've had a few interisting thoughts about MD's structure, currently the only way to change the core drawing structure is the option i added to draw shapes or waves before the "effects" i would like it if we hade more control over whats going on behind the scenes, i've been playing with functions alot lately and i think they might be able to help here too, i think i could move the drawcustomshapes function into an evallib function, then in the per-frame of the preset, you would make your own frame cycle:
drawcustomwave(1)
drawcustomeshape(1)
drawcustomwave(2)
ect...
the number in () is witch shape/wave to draw.
also with options of witch texture to render the wave on(ie: rendering wave 1 directly to the texture for shape 2)

but thats still a ways off... gotta get pictures working first, i should be able to finish adding them in soon, was hoping to finish yesterday but got lazy...

shifter
29th May 2006, 03:10
sounds good! if we can put the image into a shape and disable texture capturing, that could be used to maintain the image, no?

redi jedi
29th May 2006, 18:38
thats what i'm thinking, or hoping rather, since if that doesnt work it kinda kills the point, although i guess just loading it and drawing over it would be cool too.

sorry this is taking me so long, cant get it to compile, i got the code set up, but once again i dont have access to the variables i need in MD(like the textures for instance) so i may have to do some creative hacking to get the function somewhere it will work, then call it from the evallib

Phat
29th May 2006, 22:21
quite alright. :)

Rovastar
30th May 2006, 00:05
Redi,

Too late really to post here but isn't teh evallib available with AVS source code?

Also have you got the 1.04d source yet (one of the nullsoft staff said he chat to you about it)?

redi jedi
30th May 2006, 03:11
nope i do not have the 1.04d sourse yet, one of the winamp guys posted about it, but i never saw him post it...

Too late really to post here but isn't teh evallib available with AVS source code?

i would assume so, it seems MD was built on the same thing, does the avs version have any new features that would be usefull? should be easy to copy the code over

Rovastar
1st June 2006, 17:10
I'll badger them in a while if we don't here from them.

Looking at the evilib in MD more closely Ryan did change some stuff in there (eval.h there is stuff MD related stuff in there for sure). So it may not be as easy to port the AVS version. I am sure they change a couple of things in teh AVS version but they may not be compatable.

What did you want the evillib to do was it loops.

It has been too many yeasr since I did any assembley programming which is most of it is written in (cfunc.c I believe will be the main one)

Maybe we could use some of the loop code in assembley like from here :
http://maven.smith.edu/~thiebaut/ArtOfAssembly/CH10/CH10-3.html
it it.

But then I am not sure how to pass the code that will be excuted in the loop (creating the loop should be ok) as that it would be expecting assembley and we want to pass milkdrop type code to it.

Grrr Low Level programming. The last time I saw any of this was 10+ years ago and I didn't like it then. :)

redi jedi
1st June 2006, 18:48
bringing over the extra features would just be a matter of finding and copying the code related to the new feature


ya passing the md code to be executed is my delema, would almost have to use parsing to remove the loops code from the main codehandle, and pass it to the function outside of the normal routes(then your likely to run into the same problems i have, evallib doesnt have acess to the variables in the framecycle

Phat
1st June 2006, 18:54
"Grrr Low Level programming. The last time I saw any of this was 10+ years ago and I didn't like it then."

Take the 10+ and make that 5+, and ditto.

But you know there are some device drivers waiting for us in hell..

Rovastar
1st June 2006, 21:14
Yeah redi that is what I meant using teh evallib for loops isn't going to work we coudl bodge some stuff we couldd have set loops like Repeat sqr of variable1 until variable2 = variable 3 increment variabel2;
probably but it would just sit there until done in the same frame.

Ummh the evillib appears very different in both. We could cut and paste.

Looking at cfunc.c I can tell Ryan changed it a fair bit. Removed all teh swear words for one and appear to remove the abosulte memory addressing and do stuff in memory blocks (slightly more code but probably less crashes as AVS is suspectable to unknown crashes prob one of the causes).

The AVS ones does however have code for mouse pointer location, get spectrum analyser, get osciliscope, inverse square root(!?)

I don't know if these will work though could try at some point, also are these in the MegaVisSDK. No time now. I'll check later.

redi jedi
1st June 2006, 23:03
has anyone seen a sdk for standalone vis's that has the needed features?(3d accelration, desktop mode(please? i dont wanna mess with that part), mabye even an evallib)

i think i can figure out witch parts to move over to get it working. i've been thinking about(i've said so before) re-writing the frame-cycle to use more multi-threading, but i'd like to get md out of winamp first...humm mabye i should mess with projectM...

redi jedi
21st July 2006, 09:45
I am soooo close to getting this to work its fucking pethitic that it doesnt......