Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Mako

Pages: 1 [2] 3 4 5 6 7 ... 25
26
Sure, though I am sill tweaking it. I can just select out the code so you hit more than 9,999... The problem lies when you pass the limit with HP or MP the menu gets pretty broken. Still working on it but here is what I have thus far.

Code: [Select]

1BAD6C = 04
1BADE2 = 05
1BADF5 = 04
1BAE14 = 04
1BAE28 = 04
1BAE4D = 04
1BAE71 = 05
1C6EE5 = 30
1C6EE6 = 75
1C6EE9 = 76
1C6EEE = 30
1C6EEF = 75
1C6FDB = 30
1C6FDC = 75
1C6FDF = 76
1C6FE4 = 30
1C6FE5 = 75
1CD924 = 2E
1CDC17 = 30
1CDC18 = 75
1CDC1B = 76
1CDC24 = 30
1CDC25 = 75
1CDC2F = 30
1CDC30 = 75
1CDC33 = 76
1CDC3C = 30
1CDC3D = 75
1CFA6C = 30
1CFA6D = 75
1CFA75 = 30
1CFA76 = 75
1CFA80 = 30
1CFA81 = 75
1CFA89 = 30
1CFA8A = 75
1D9E95 = 30
1D9E96 = 75
1D9E9C = 30
1D9E9D = 75
21EAD4 = 30
21EAD5 = 75
21EAE5 = 30
21EAE6 = 75
21EBB5 = 30
21EBB6 = 75
21EBC6 = 30
21EBC7 = 75
2C4E78 = 81
2C4EF1 = 81
2C511B = 05
2C5158 = 05
2C5178 = 63
2C51BE = 05
2C51FA = 05
2C521A = 63
2C5245 = 5B
2C5270 = 5B
2C56D5 = 81
2C574E = 81
2C58FA = 05
2C5935 = 05
2C5953 = 63
2C5999 = 05
2C59D4 = 05
2C59F2 = 63
2C5A1D = 5B
2C5A48 = 5B
2C9FE4 = 1A
2C9FFD = 97
2CAEE1 = 76
2CB036 = 76
2DBD9D = A0
2DBE0B = D0
2DBE22 = 4A
2DC50A = D0
2DC533 = 90
2DC534 = 90
2DC535 = 90
2DC536 = 90
2DC537 = 90

27
Completely Unrelated / Re: WOOHOO ENGAGED
« on: 2017-01-09 21:54:05 »
Yes, yes it is I Mako! Thank you... umm DragRopes? Congrats Covarr-let!

28
Got it working, though I cheated and borrowed tons of stuff from the R03e... but looks really nice. Job done, thanks Dano!

29
...Ok so I'm in the process of Implementing the 9,999 patch I'm using HextCompare and DuP2 (as other tools seem to be down) I compare the original 1998 .exe file to dziugo's 9,999 limit break patched .exe - sure enough I got the raw values to implement. Sadly, that's where my quest ended. As comparing those values to Dan's R05C some of the original values have changed.

What would be the best way to implement this patch and am I on the right path? Comparing R05c to the original leads to many changes. I could compare just the values that I'm looking for, but changing those might interfere with functions that R05c is looking for.

30
Completely Unrelated / Re: WOOHOO ENGAGED
« on: 2017-01-07 17:49:09 »

31
May I know the reasoning behind removing the "Quit" option from the menu? As you can imagine alt-tab doesn't really work on windows 10 with full screen in this game. I have to Alt-Ctrl-Del and that's just plain wasted seconds I could be using.

BTW... Great great work. Perhaps the best mod in FF7s history (outside of Aali's driver) a simple must have. I disagree with the decision to ditch the font, menu, and other stuff but they were easy enough to add back in to the latest build.

EXCEPT the break 9,999 patch. I need to find a way to get that back in, any hints Sir Dan-O?

32
Can't seem to find the right mix... Ether I filter the text and videos to much to get the backgrounds not jaggy or not enough filter at all. Here's what I got so far

Code: [Select]
uniform sampler2D tex00;
uniform float width;
uniform float height;
uniform sampler2D bgl_DepthTexture;
uniform sampler2D bgl_RenderedTexture;
uniform sampler2D LuminanceTexture;

uniform float displayWidth;
uniform float displayHeight;
uniform float aspectRatio;
uniform float near;
uniform float far;

uniform sampler2D tex0;
uniform vec4 OGL2Size;
uniform vec4 OGL2InvSize;


#define XBR_RES     2.0                               
#define TEX_SIZEX (512.0*XBR_RES)
#define TEX_SIZEY   (512.0*XBR_RES)
#define SHA_LEVEL   3.0

const   float XBR_SCALE     = 2.0;
const   float coef          = 2.0;
const   vec3  rgbw          = vec3(14.352, 28.176, 5.472);
const   vec4  eq_threshold  = vec4(5.0, 5.0, 5.0, 5.0);
const   vec2 OGLSize    = vec2( TEX_SIZEX, TEX_SIZEY );
const   vec2 OGLInvSize = vec2( XBR_RES/TEX_SIZEX, XBR_RES/TEX_SIZEY);
const   vec2 dx         = vec2( XBR_RES/TEX_SIZEX, 0.0);
const   vec2 dy         = vec2( 0.0, XBR_RES/TEX_SIZEY );
const   vec2 x2         = 2.0*dx;
const   vec2 y2         = 2.0*dy;
const   vec2 hdx        = 0.5*dx;
const   vec2 hdy        = 0.5*dy;
const   vec4 xy         = vec4( XBR_RES/TEX_SIZEX, XBR_RES/TEX_SIZEY, -XBR_RES/TEX_SIZEX, -XBR_RES/TEX_SIZEY ); 
const   vec4 zw         = 2.0*xy; 
const   vec4 wz         = vec4( XBR_RES/TEX_SIZEX, 2.0*XBR_RES/TEX_SIZEY, -XBR_RES/TEX_SIZEX, -2.0*XBR_RES/TEX_SIZEY ); 


vec4 noteq(vec4 A, vec4 B)
{
return vec4(notEqual(A, B));
}

vec4 not(vec4 A)
{
return vec4(1.0)-A;
}

vec4 df(vec4 A, vec4 B)
{
    return abs(A-B);
}

vec4 eq(vec4 A, vec4 B)
{
return vec4(lessThan(df(A, B),eq_threshold));
}


vec4 weighted_distance(vec4 a, vec4 b, vec4 c, vec4 d, vec4 e, vec4 f, vec4 g, vec4 h)
{
    return (df(a,b) + df(a,c) + df(d,e) + df(d,f) + 4.0*df(g,h));
}


float c_df(vec3 c1, vec3 c2) {
                        vec3 df = abs(c1 - c2);
                        return df.r + df.g + df.b;
                }


uniform sampler2D OGL2Texture;

void main()
{
    vec4 edr, edr_left, edr_up;                     // px = pixel, edr = edge detection rule
    vec4 interp_restriction_lv1, interp_restriction_lv2_left, interp_restriction_lv2_up;
    vec4 nc30, nc60, nc45;                          // new_color
    vec4 fx, fx_left, fx_up, final_fx;              // inequations of straight lines.
    vec3 res1, res2, pix1, pix2;
    bvec4 nc, px;
    float blend1, blend2;

    vec4 delta  = vec4(1.0/XBR_SCALE, 1.0/XBR_SCALE, 1.0/XBR_SCALE, 1.0/XBR_SCALE);
    vec4 deltaL = vec4(0.5/XBR_SCALE, 1.0/XBR_SCALE, 0.5/XBR_SCALE, 1.0/XBR_SCALE);
    vec4 deltaU = deltaL.yxwz;


    vec2 fp  = fract(gl_TexCoord[0].xy*OGLSize);
    vec2 TexCoord_0 = gl_TexCoord[0].xy-fp*OGLInvSize + 0.5*OGLInvSize;

    vec3 A  = texture2D(OGL2Texture, TexCoord_0 + xy.zw ).xyz;
    vec3 B  = texture2D(OGL2Texture, TexCoord_0     -dy ).xyz;
    vec3 C  = texture2D(OGL2Texture, TexCoord_0 + xy.xw ).xyz;
    vec3 D  = texture2D(OGL2Texture, TexCoord_0 - dx    ).xyz;
    vec3 E  = texture2D(OGL2Texture, TexCoord_0         ).xyz;
    vec3 F  = texture2D(OGL2Texture, TexCoord_0 + dx    ).xyz;
    vec3 G  = texture2D(OGL2Texture, TexCoord_0 + xy.zy ).xyz;
    vec3 H  = texture2D(OGL2Texture, TexCoord_0     +dy ).xyz;
    vec3 I  = texture2D(OGL2Texture, TexCoord_0 + xy.xy ).xyz;
    vec3 A1 = texture2D(OGL2Texture, TexCoord_0 + wz.zw ).xyz;
    vec3 C1 = texture2D(OGL2Texture, TexCoord_0 + wz.xw ).xyz;
    vec3 A0 = texture2D(OGL2Texture, TexCoord_0 + zw.zw ).xyz;
    vec3 G0 = texture2D(OGL2Texture, TexCoord_0 + zw.zy ).xyz;
    vec3 C4 = texture2D(OGL2Texture, TexCoord_0 + zw.xw ).xyz;
    vec3 I4 = texture2D(OGL2Texture, TexCoord_0 + zw.xy ).xyz;
    vec3 G5 = texture2D(OGL2Texture, TexCoord_0 + wz.zy ).xyz;
    vec3 I5 = texture2D(OGL2Texture, TexCoord_0 + wz.xy ).xyz;
    vec3 B1 = texture2D(OGL2Texture, TexCoord_0 - y2    ).xyz;
    vec3 D0 = texture2D(OGL2Texture, TexCoord_0 - x2    ).xyz;
    vec3 H5 = texture2D(OGL2Texture, TexCoord_0 + y2    ).xyz;
    vec3 F4 = texture2D(OGL2Texture, TexCoord_0 + x2    ).xyz;

    vec4 b  = vec4(dot(B ,rgbw), dot(D ,rgbw), dot(H ,rgbw), dot(F ,rgbw));
    vec4 c  = vec4(dot(C ,rgbw), dot(A ,rgbw), dot(G ,rgbw), dot(I ,rgbw));
    vec4 d  = b.yzwx;
    vec4 e  = vec4(dot(E,rgbw));
    vec4 f  = b.wxyz;
    vec4 g  = c.zwxy;
    vec4 h  = b.zwxy;
    vec4 i  = c.wxyz;
    vec4 i4 = vec4(dot(I4,rgbw), dot(C1,rgbw), dot(A0,rgbw), dot(G5,rgbw));
    vec4 i5 = vec4(dot(I5,rgbw), dot(C4,rgbw), dot(A1,rgbw), dot(G0,rgbw));
    vec4 h5 = vec4(dot(H5,rgbw), dot(F4,rgbw), dot(B1,rgbw), dot(D0,rgbw));
    vec4 f4 = h5.yzwx;
    vec4 c1 = i4.yzwx;
    vec4 g0 = i5.wxyz;
   
    vec4 Ao = vec4( 1.0, -1.0, -1.0, 1.0 );
    vec4 Bo = vec4( 1.0,  1.0, -1.0,-1.0 );
    vec4 Co = vec4( 1.5,  0.5, -0.5, 0.5 );
    vec4 Ax = vec4( 1.0, -1.0, -1.0, 1.0 );
    vec4 Bx = vec4( 0.5,  2.0, -0.5,-2.0 );
    vec4 Cx = vec4( 1.0,  1.0, -0.5, 0.0 );
    vec4 Ay = vec4( 1.0, -1.0, -1.0, 1.0 );
    vec4 By = vec4( 2.0,  0.5, -2.0,-0.5 );
    vec4 Cy = vec4( 2.0,  0.0, -1.0, 0.5 );
   
// These inequations define the line below which interpolation occurs.

    fx      = (Ao*fp.y+Bo*fp.x);

    fx_left = (Ax*fp.y+Bx*fp.x);

    fx_up   = (Ay*fp.y+By*fp.x);

    if (SHA_LEVEL == 0.0)
    {    interp_restriction_lv1 = sign(noteq(e,f) * noteq(e,h));}

    if (SHA_LEVEL == 1.0)
    {    interp_restriction_lv1 = sign(noteq(e,f) * noteq(e,h) * ( not(eq(f,b)) * not(eq(h,d)) + eq(e,i) * not(eq(f,i4)) * not(eq(h,i5)) + eq(e,g) + eq(e,c)));}

    if (SHA_LEVEL == 2.0)
    {    interp_restriction_lv1 = sign(noteq(e,f)*noteq(e,h)*(not(eq(f,b))* not(eq(h,d)) + eq(e,i) * not(eq(f,i4)) * not(eq(h,i5)) + eq(e,g) + eq(e,c) )  * (noteq(f,f4)* noteq(f,i) + noteq(h,h5) * noteq(h,i) + noteq(h,g) + noteq(f,c) + eq(b,c1) * eq(d,g0)));}

    if (SHA_LEVEL == 3.0)
    {    interp_restriction_lv1 = sign(noteq(e,f) * noteq(e,h) * ( not(eq(f,b)) * not(eq(f,c)) + not(eq(h,d)) * not(eq(h,g)) + eq(e,i) * (not(eq(f,f4)) * not(eq(f,i4)) + not(eq(h,h5)) * not(eq(h,i5))) + eq(e,g) + eq(e,c)) );}

    interp_restriction_lv2_left = vec4(notEqual(e,g))*vec4(notEqual(d,g));
    interp_restriction_lv2_up   = vec4(notEqual(e,c))*vec4(notEqual(b,c));

    vec4 fx45 = clamp((fx + delta -Co)/(2*delta ),0.0,1.0);
    vec4 fx30 = clamp((fx_left + deltaL -Cx)/(2*deltaL),0.0,1.0);
    vec4 fx60 = clamp((fx_up + deltaU -Cy)/(2*deltaU),0.0,1.0);

    edr      = vec4(lessThan(weighted_distance( e, c, g, i, h5, f4, h, f), weighted_distance( h, d, i5, f, i4, b, e, i)))*interp_restriction_lv1;
    edr_left = vec4(lessThanEqual(coef*df(f,g),df(h,c)))*interp_restriction_lv2_left*edr;
    edr_up   = vec4(greaterThanEqual(df(f,g),coef*df(h,c)))*interp_restriction_lv2_up*edr;

    fx45 = edr*fx45;
    fx30 = edr_left*fx30;
    fx60 = edr_up*fx60;

    px = lessThanEqual(df(e,f),df(e,h));
    vec4 maximo = max(max(fx30, fx60), fx45);   

    mat4x3 pix = mat4x3(mix(E, mix(H, F, float(px.x)), maximo.x),
                        mix(E, mix(F, B, float(px.y)), maximo.y),
                        mix(E, mix(B, D, float(px.z)), maximo.z),
                        mix(E, mix(D, H, float(px.w)), maximo.w));

    vec4 pixel = vec4(dot(pix[0],rgbw),dot(pix[1],rgbw),dot(pix[2],rgbw),dot(pix[3],rgbw));

    vec4 diff = df(pixel,e);

    vec3 res = pix[0];
    float mx = diff.x;

    if (diff.y > mx) {res = pix[1]; mx = diff.y;}
    if (diff.z > mx) {res = pix[2]; mx = diff.z;}
    if (diff.w > mx) {res = pix[3];}

    gl_FragColor.xyz = res;
}

I'll keep working on it cause' I'm bored and gots nothing to do.

EDIT: Edited to actually work now.

Original:


5xBRZ

33
Can you convert these shaders for ff7? http://forums.qhimm.com/index.php?topic=16789.msg237730#msg237730
I had talked with the creator of the shaders but he was unable to port them to ff7 because he is limited to the rerelease which have no post shader support.

Can't he convert? It's a one time installer...

Sadly my knowledge of OpenGL shaders is rather limited, and what little I do know the driver doesn't seem to like or is depreciated in the spec of newer OpenGL releases. =/

ARB_framebuffer_object doesn't seem to be supported by the driver but is supported by the spec. Without the use of gl_TexCoord (depreciated) I have no way to tell the xBRZ filter to work on the backgrounds. It does run and seemingly works on the 3D (that doesn't need it) I suspect it's just a matter of telling the shader where to filter.

I'm a amateur at best with OpenGL spec.

34
First is the AA Color shader released by Guestr. There are a few options for customizing for performance and saturation, brightness, contrast. This has been tweaked for my specific needs.

Code: [Select]
const vec3 c_ch = vec3(1.0,1.0,1.0);  //  rgb color channel intensity
const float   a = 1.50 ;              //  saturation
const float   b = 1.00 ;              //  brightness
const float   c = 1.30 ;              //  contrast   

// you can use contrast1,contrast2...contrast4 (or contrast0 for speedup)

float contrast0(float x)
{ return x; }

float contrast1(float x)
{ x = x*1.1547-1.0;
  return sign(x)*pow(abs(x),1.0/c)*0.86 +  0.86;}

float contrast2(float x)
{ return normalize(vec2(pow(x,c),pow(0.86,c))).x*1.72;}

float contrast3(float x)
{ return 1.73*pow(0.57735*x,c); }

float contrast4(float x)
{ return clamp(0.866 + c*(x-0.866),0.05, 1.73); }

uniform sampler2D OGL2Texture;
void main()
{
vec3 c10 = texture2D(OGL2Texture, gl_TexCoord[1].xy).xyz;
vec3 c01 = texture2D(OGL2Texture, gl_TexCoord[4].xy).xyz;
vec3 c11 = texture2D(OGL2Texture, gl_TexCoord[0].xy).xyz;
vec3 c21 = texture2D(OGL2Texture, gl_TexCoord[5].xy).xyz;
vec3 c12 = texture2D(OGL2Texture, gl_TexCoord[2].xy).xyz;

vec3 dt = vec3(1.0,1.0,1.0);
float k1=dot(abs(c01-c21),dt);
float k2=dot(abs(c10-c12),dt);

vec3 color = (k1*(c10+c12)+k2*(c01+c21)+0.001*c11)/(2.0*(k1+k2)+0.001);

float x = sqrt(dot(color,color));

color.r = pow(color.r+0.001,a);
color.g = pow(color.g+0.001,a);
color.b = pow(color.b+0.001,a);

gl_FragColor.xyz = contrast4(x)*normalize(color*c_ch)*b;
}

The other is a shader created by Kauto. Adjust the line commented to increase/decrease the result, I don't prefer this one it makes everything look like an oil painting. But what the heck someone might use it...

Code: [Select]
uniform sampler2D tex00;
uniform float width;
uniform float height;

#define s2(a, b) temp = a; a = min(a, b); b = max(temp, b);
#define mn3(a, b, c) s2(a, b); s2(a, c);
#define mx3(a, b, c) s2(b, c); s2(a, c);

#define mnmx3(a, b, c) mx3(a, b, c); s2(a, b);                                   // 3 exchanges
#define mnmx4(a, b, c, d) s2(a, b); s2(c, d); s2(a, c); s2(b, d);                   // 4 exchanges
#define mnmx5(a, b, c, d, e) s2(a, b); s2(c, d); mn3(a, c, e); mx3(b, d, e);           // 6 exchanges
#define mnmx6(a, b, c, d, e, f) s2(a, d); s2(b, e); s2(c, f); mn3(a, b, c); mx3(d, e, f); // 7 exchanges

vec4 xlat_main( in vec2 tex ) {
   
    // Calculating texel coordinates
    float w = 540.0; //Set this value to a lower amount increase effect.
    float h = 540.0; //Set this value to a lower amount increase effect.

//    vec2 p0     = vec2(1.0/width,1.0/height);
    vec2 p1     = vec2(1.0/w,1.0/h);
vec2 p0     = p1*0.6;

vec4 v[9];

//MEDIAN-Filter to round edges

// Add the pixels which make up our window to the pixel array.
for(int dX = -1; dX <= 1; ++dX) {
for(int dY = -1; dY <= 1; ++dY) {
  vec2 offset = vec2(float(dX), float(dY));
   
  // If a pixel in the window is located at (x+dX, y+dY), put it at index (dX + R)(2R + 1) + (dY + R) of the
  // pixel array. This will fill the pixel array, with the top left pixel of the window at pixel[0] and the
  // bottom right pixel of the window at pixel[N-1].
  v[(dX + 1) * 3 + (dY + 1)] = texture2D(tex00, tex + offset * p0);
}
}

vec4 temp;

// Starting with a subset of size 6, remove the min and max each time
mnmx6(v[0], v[1], v[2], v[3], v[4], v[5]);
mnmx5(v[1], v[2], v[3], v[4], v[6]);
mnmx4(v[2], v[3], v[4], v[7]);
mnmx3(v[3], v[4], v[8]);
return v[4];
}

void main() {
    gl_FragData[0] = xlat_main(gl_TexCoord[0].xy).rgba;
}

Copy ether into a notepad and save them as a .post file. Then place them into your shader directory and tell your driver where to find them. Don't forget to enable. ;)

35
Graphical / Re: At it again...
« on: 2016-02-25 03:24:03 »
unfortunately AC is a departure stylistically from the original.  Although I only need something that is basically devoid of characters and only contains the scenery of FF7.  I'm sure some shots from AC would work, I actually have the bluray from years ago lying around somewhere.  Funny thing is I don't have any sort of optical drive bay on my computer lol.

AC and CC you would only need one of the throwback scenes like cloud at the train station even just a few seconds of video is thousands of images. :)

36
Graphical / Re: At it again...
« on: 2016-02-24 22:53:56 »
Well IGN posted a 720p version floating around. Here:

https://www.youtube.com/watch?v=IVCYy8C5Av4

mentioned before that the Crisis Core ending is the tech demo with a small addition. There are a number of fan converts that should be more than suitable to build a trainer... other then those I doubt very much your going to get anywhere close to actual rendered HD using original backrounds without artifacts I believe... This one is artifact free and should build an pretty accurate trainer

 https://www.youtube.com/watch?v=ptdGF-ccIsE

37
Graphical / Re: At it again...
« on: 2016-02-24 19:18:44 »
Could use the PS3 tech demo I believe that was released in 1080p not sure but definitely HD.

Or even the CC psp ending scene.

*Spoilers*
Its the intro to FFVII.

38
7th Heaven / Re: Catalog 2.0 is HERE!
« on: 2016-02-24 18:23:07 »
I still have FFTim's OST properly named and organized into the VGMusic folder. Did his music ever make it into the catalog?

39
Graphical / Re: At it again...
« on: 2016-02-24 17:33:42 »
You could take the intro movie and splice it into .png using vDub. In theory you could and tens of thousands of images in just a few movies. Some with exact color profiles as the fields.

I know it's rather the opposite of what I just said but the AAcolor shader looks fantastic in conjunction with the Anime setting.

40
Long time no umm... read Dano!

Question: Any reason why you dropped support for the menu overhaul? You put years into that project just curious why you sunset it.

41
Releases / Re: [FF7PC-98] Waifu release fulls packs
« on: 2016-02-24 12:33:14 »
Update links please good sir! (or madam) I wantz to play sum Final Fantasy VII

42
Graphical / Re: At it again...
« on: 2016-02-24 12:21:20 »
This project all the way... Mainly since I cant seem to get the other Waifu2x pack in it's entirety without dead links. But I'm more interested in accuracy vs stylized. :)

43
Troubleshooting / Re: A few Questions.
« on: 2014-08-03 18:49:51 »
Thanks, I was reluctant to use Reunion (that version anyway) hear though text that it has issues. But I'll use it, I like those menus to. T'anks.

44
Troubleshooting / A few Questions.
« on: 2014-08-01 18:35:04 »
Hello, trying to play a game of FFVII here and I had a few questions for ya.


1) The new driver got rid of "break 9,999 limit" how do I go about implementing it back into the game?


2) How do I just remove the borders around the dialog boxes? I did it once before but to lazy to research how.


Thanks all!


Edit: These questions really apply to all versions of the game but I am using the Steam converted copy. But I can use the 98' version I just need to get off my lazy butt and find it.

46
Scripting and Reverse Engineering / Re: Chocobo Stats
« on: 2013-04-27 05:14:38 »
It could be that some Chocobo's run faster on different terrain. I didn't see where that would fit otherwise... Or is there a separate 'type' check? I don't know I'm just guessing.

47
It's in the lang_** folder, because it has subtitles.
Thanks Covarr-let you are the best!

48
Troubleshooting / Missing Movie file in the re-release?
« on: 2013-04-15 03:22:00 »
Hi All! I just installed FF7 (Rerelease) fresh, it seems to be completely missing the Jenova_e movie file... can anybody confirm this?

49
Scripting and Reverse Engineering / Re: Mini-game Fixes
« on: 2013-02-23 16:20:10 »
I think a Master Summon is a bit game breaking. You could offer a Mystle, or a triple slot weapon... Or if possible a newly created weapon/armor/accessory.

50
Quote
(Very off topic) But bookmark them O.o...but why?
Cause I like what they have to say. :) I consider most of that list a distant pen pal. LOL I'm wierd. =/

Quote
Your wish shall be granted  ;D
Behold the addition of smoke... (thanks to Blender physics engine) - again, click the pic for high-res.
@_@ wow that's very nice! I like your version better! Keep up the fantastic work. :D

Pages: 1 [2] 3 4 5 6 7 ... 25