iNDUSTRIA fLASHERA iNC2:(ifesp2.txt):29/07/2002 << Back To iNDUSTRIA fLASHERA iNC2


─ Area: Libre ──────────────────────────────────────────────────────────────── Msg#: 14656 Date: 07-09-99 22:55 From: Nessi Read: Yes Replied: No To: Ironb Mark: Subj: venganza telefonica ────────────────────────────────────────────────────────────────────────────── Ir> Estaba sentado en mi escritorio cuando me acorde de una llamada Ir> telefonica que tenia que hacer. Encontre el numero telefonico y lo Ir> marque. Me contesto un tipo malgeniado diciendo: Ir> - ¿Hola? Ir> Le conteste amablemente: Ir> - Habla Alfonso Velez, ¿podria hablar con Andrea Jaramillo? Ir> De repente senti que me tiraron el telefono!, no podia creer que Ir> existiera alguien tan grosero. Despues de eso, busque en el directorio Ir> telefonico el numero correcto de Andrea y la llame. El error era que Ir> ella habia transpuesto los dos ultimos digitos de su numero. Despues Ir> de colgar con Andrea, observe ese numero erroneo aun sobre mi Ir> escritorio. Decidi llamar de nuevo. Ir> Cuando la misma persona contesto, le dije: Ir> - Eres un Hijueputa! Ir> Colgue. Inmediatamente escribi junto a su numero telefonico la palabra Ir> "Hijueputa" y lo deje sobre mi block de notas. Cada par de semanas, Ir> cuando estaba pagando cuentas, o con un mal dia, lo llamaba, el Ir> contestaba y yo le decia "Eres un hijueputa". Esto me hacia sentir Ir> realmente mucho mejor. Ir> Unos meses despues, la compania de telefonos introdujo el servicio de Ir> identificacion de llamadas, lo cual me entristecio porque tuve que Ir> dejar de llamar al Hijueputa. entonces un dia tuve una idea: marque su Ir> numero telefonico, escuche su voz diciendo "┐Hola?" y me cambie de Ir> identidad: Ir> - Hola, le llamo del departamento de ventas de la compania de Ir> telefonos para ver si conoce el servicio de identificador de llamadas. Ir> - No! -y me colgó en la cara. Ir> Rapidamente volví a marcar: Ir> - ¿Hola? Ir> - Eso te pasa por hijueputa!! -y corte. Ir> La razon por la cual me tome el tiempo para contarles esta historia, Ir> es para mostrarles que si hay algo que realmente les esta molestando, Ir> siempre se puede hacer algo al respecto: sencillamente marque el Ir> 823-4863 (o el n·mero de alg·n otro hijueputa). Ir> Asi pasó el tiempo hasta que un día como cualquier otro... Ir> La anciana se estaba tomando mucho tiempo para sacar el auto de su Ir> espacio en el parqueadero. Incluso llegue a pensar que nunca se iria. Ir> Finalmente su carro empezo a moverse y a salir muy lentamente de su Ir> espacio. Dadas las circunstancias, decidi retroceder mi auto un poco Ir> para darle a la anciana todo el espacio que necesitara: "Grandioso!" Ir> pense, "finalmente se va". Inmediatamente, aparecio un Camaro negro en Ir> contravia y se acomodo en el espacio de la anciana que yo estaba Ir> esperando. Comence a tocar la bocina y a gritar: "No puede hacer eso! Ir> Yo estaba aqui primero!". El tipo del Camaro simplemente se bajo del Ir> carro, lo cerro bien y camino hacia el centro comercial ignorandome Ir> como si ni siquiera me hubiera escuchado. Ir> Ante su actitud pense: "este tipo es un Hijueputa, con toda seguridad Ir> hay una gran cantidad de hijueputas en el mundo!". Fue entonces cuando Ir> note tipo tenia un letrero de "SE VENDE" en la ventana trasera de su Ir> Camaro. Entonces anote su numero telefonico y busque otro lugar para Ir> parquear. Ir> Un par de dias despues, estaba sentado en mi escritorio en casa y Ir> acababa de soltar el telefono despues de marcar el <cENSORED> y decir Ir> "Eres un Hijueputa!" (Ahora es muy facil llamarlo puesto que tengo su Ir> numero en la memoria del telefono), cuando vi el numero del tipo del Ir> Camaro negro y pense: "Deberia llamar a este tipo tambien". Despues de Ir> un par de timbradas alguien contesto el telefono y dijo: Ir> - ¿Hola? Ir> - ¿Hablo con el se±or del Camaro negro para la venta? Ir> - Si, habla con el. Ir> - ¿Podria decirme donde lo puedo ver? Ir> - Si, vivo en la Carrera 45 con calle 34 Oeste, es una casa amarilla y Ir> el carro esta parqueado frente a ella. Ir> - ¿Cual es su nombre? Ir> - Mi nombre es Eduardo Perez -dijo el tipo. Ir> - ¿Que hora seria apropiada para encontrarme con usted, Eduardo? Ir> - Me puede encontrar en casa en las noches. Ir> - Escuche Eduardo, ¿le puedo decir algo? Ir> - Si. Ir> - Eduardo, eres un Hijueputa! -y le colgue el telefono. Ir> Despues de colgarle, adicione el telefono de Eduardo Perez a la Ir> memoria de mi telefono. Por un momento las cosas parecian estar Ir> saliendo muy bien para mi. Ahora tenia un problema: tenia dos Ir> hijueputas para llamar. Ir> Despues de varios meses de llamar al par de hijueputas y colgarles, la Ir> cosa ya no era tan divertida como antes. Este problema me parecio muy Ir> serio y pense en una solucion: Ir> En primer lugar, llame al hijueputa #1. El tipo grosero me contesto Ir> "Hola", y entonces yo le dije "eres un hijueputa" y no colgue. El Ir> hijueputa me dijo: Ir> - ¿Estas ahi? Ir> - Siiiiiiiiiiiiiii. Ir> - Deje de llamarme. Ir> - No. Ir> - ¿Cual es tu nombre desgraciado? Ir> - Eduardo Perez. Ir> - ¿Donde vive? Ir> - Carrera 45 con calle 34 Oeste, en una casa amarilla y mi Camaro Ir> negro esta parqueado frente a ella. Ir> - Voy para alla ahora mismo Eduardo. Mejor empieza a rezar tus Ir> oraciones. Ir> - Uy! si! que miedo me da, hijueputa -y le tire el telefono. Ir> Inmediatamente llame al hijueputa #2. Ir> - ¿Hola? Ir> - Hola hijueputa! Ir> - Si te llego a encontrar te voy a... Ir> - ¿QUE?! Ir> - Te pateare el culo. Ir> - Bueno, esta es tu gran oportunidad, voy para tu casa hijueputa!" -y Ir> colgue. Ir> Finalmente tome el telefono y llame a la policia. Les dije que estaba Ir> en la Carrera 45 con calle 34 Oeste y que iba a matar a mi novio Ir> homosexual tan pronto como llegara a la casa. Ir> Luego hice otra llamada rapida al canal 13 para reportar al noticiero Ir> que iba a comenzar una guerra de pandillas en la Carrera 45 con calle Ir> 34 Oeste. Ir> Despues de hacer esto, me monte a mi carro y me fui a la Carrera 45 Ir> con calle 34 Oeste para ver el espectaculo. Fue glorioso. Observar un Ir> par de hijueputas pateandose en frente de 6 carros de policia y un Ir> helicoptero. Fue una de las mejores experiencias de mi vida! De donde salio todo esto?????? ... Son perros!! Y están jugando poker!!! Aahhhhhhh!! Juajuajua!! Blblbl.. ___ Blue Wave/386 v2.30 ___ (__)/ _/ / // _/ / // / iNC Presenta nuevamente una publicacion ~~ ~~ rEALMENTE pequeña... y super b00st-eada... oPENED:29 de julio del 2002 / 2:37pm cLOSED:29 de julio del 2002 / 9:52pm A dias de rendir un examen en la utn :( Sencillamente increible, con una sensibilidad de aguatero suplente. > cREYENDO en DIOS y en ADONAI y en bhelchebu volchevickhe ;) > y pateando viejitas que patean calefones... > bajo las influencias de carne 1oo% argentina con un 5o% de tHC en la sangrecita... > con las actuaciones estelares del g0d de la n3t, lAIN ;) y el perro spuffy, el perro de la voltereta.... y androides que sueñan con ovejas electricas. Reiteramos, if presenta una publicacion rapida y eficiente. con arte. assembler pedorro y totally unoptimized C coding. Tratamos de explicar las bases para que mejoren nuestros trabajos... el arte de la matematica... el arte de la programacion... el arte de un imbecil que todavia no sabe nada y que quiere parecer chaposo frente a la gente que lo lee. > y todo estos servicios que solamente toshi puede dar... en el segundo especial de la if. . ___ ___ ____ __________ ___ . /\__\ . /__/ /___/// / _/ _/ │ /__ \ \/__/ /___\ _\_/~ _/ /_ e s p 2 . __ /___/│ /____/ if especial 2 ... /_/// i n d u s t r i a f l a s h e r a http://iflashera.8m.com ────────────────────────────────────────────────────────────────────────────── .:eDITORIAL:. ────────────────────────────────────────────────────────────────────────────── Este numero es un especial. El segundo que sacamos. Y no va a tener mucho que ver con los limes de la revista. Esto mas que un especial, es una botella que se tira en el medio del oceano con el mensaje "Las matematicas son arte tambien, aprende C y hagamos demos!". Seguramente a mucha gente le molestara este mensaje, pero no me importa. Si te interesa hacer algo bueno con la programacion (sacando porsupuesto el hecho de conseguir laburo) y te gusta el arte, este es tu numero. Si no te interesa, podes dejar de leer porque no vas a encontrar cosas utiles aca. La idea de este especial es enseñar un poco sobre placas de video y graficos y algunas boludeces mas para poder hacer intros / demos como los que se ven en http://scene.org. Todo esto comenzo cuando buscaba entre mis cds algunas demos para chusmear y me encontre con INTRO_V5.ZIP. Una invitacion para la Vulcan party (supongo que en francia porque estaba la mayoria en franchute). Me quede maravillado y me fije en el codigo hexa para ver con que lo habian compilado. Gran fue la sorpresa cuando lei que utilizaban el WATCOM C/C++ y mas grande aun cuando no encontre este programa en internet (bah, si, era un cd y ocupaba unos 450mb aprox.). Debo tambien aclarar que nunca pude compilar correctamente un programa ni con TURBO C ( o cualquier otro producto de borland, yuch!) y con el VISUAL STUDIO C++ de microsoft, como que me da un poco de paja. Ok, voy a aclarar que no soy un buen educando, y que lo que se sobre casi todo el tema este de las demos es muy poco. Pero es suficiente como para poder hacer cosas que permitan la exploracion y que se puedan hacer realmente muy buenos trabajos. Lamentablemente, todo el material que consegui en internet es pobre (y mal explicado) y me costo mucho esfuerzo entender para que carajo funcionaba una u otra cosa (en la if7 hay varios codigos fuentes que estan muy mal explicados porque para esas alturas, ni yo sabia lo que hacia. Copie algunos algorritmos de tutoriales y mande fruta). Ahora que tengo mas claro el asunto, puedo darme el lujo de explicar para la mierda algunos conceptos sobre programacion VGA o SVGA. La onda es esta, lo unico que pretendo con este reliz, es que a la gente le pique la curiosidad y las ganas de laburar en algo hermoso (si alguno de uds vieron alguna intro, saben a lo que me refiero) y que con este puntapie inicial, se cree un buen ambiente de laburo y de intercambio de informacion. Con esta palabreria, concluyo con esta editorial y empiezo a explicar todo lo que se y aprendi sobre toda esta mierda y que nos podamos ayudar entre todos para hacer un buen trabajo (y presentarlo en alguna competencia). toshi. ────────────────────────────────────────────────────────────────────────────── .::eOF::. ────────────────────────────────────────────────────────────────────────────── iNDEX: [#oo1] -------------------------------------> Introduccion [#oo2] -------------------------------------> VGA320.C [#oo3] -------------------------------------> Bases [#oo4] -------------------------------------> El primer programa [#oo5] -------------------------------------> Pantallas Virtuales [#oo6] -------------------------------------> Ultimas letras DISCLAIMER: Primero, esto es un texto que no hace daño alguno, no? Ok, si ejecutas el codigo que hay aca, no puedo asegurar que tu maquina se haga mierda. Y NO ME HAGO RESPONSABLE SI SE QUEMA ALGO O LO QUE SEA!. El utilizar el codigo aqui es bajo tu propia responsabilidad, y si no sabes lo que estas haciendo, leche... No se me puede hacer responsable por la perdida y/o destruccion de ningun equipo. En mi maquina no paso nada, pero en la tuya puede pasar algo ;). Be careful and enjoy this phile. ────────────────────────────────────────────────────────────────────────────── .:: INTRODUCCION ::. ────────────────────────────────────────────────────────────────────────────── % BASIC VS C Todo el mundo puede aprender a programar en basic, como mucho en 1 mes. Es facil, lindo y agradable. Haciendo un par de SCREEN y CIRCLES haces dibujitos, y con un poco de maña, podes lograr que no se borre la pantalla al hacer una animacion. Pero cuando uno labura en cosas mas serias, se vuelve un toque pedorro. La unica salida para poder hacer algo relativamente bueno en BASIC es utilizando una libreria (IFINTRO.EXE / IFPAL.EXE). Pero aunque logres hacer esas cosas, el trabajo se vuelve relativamente tedioso y surgen limitaciones. C te permite hacer muchas cosas mas. Los punteros son la gloria, los arrays son mas entendibles, en fin...(o al menos eso me sucede a mi). Y C es un lenguaje puto. Pero tiene mas ventajas que desventajas. No voy a ponerme a explicar esto por dos motivos : % 1 Se supone que ya tenes conocimientos de C y que si lees esto es porque realmente te interesa. % 2 En cierta forma, no se ni de que carajo estoy hablando, asi que si explico esas cosas voy a mandarme cagadas. La diferencia que YO siento entre estos dos lenguajes, es que C me da mas libertad de movimiento que basic, onda, puedo limar mas con lo que se me ocurra (y en cierta forma, lo noto mas rapido). Otra cosa, me niego a utilizar otro compilador que no sea el WATCOM por varios motivos: % La mayoria de los demos / intros en los que me fije en su codigo hexa tenian el string de que estaban hechos con el WATCOM. % Debido a mi incompetencia, nunca pude compilar un buen proggie que no sea en watcom. % Averiguando un poco sobre como funciona el compilador WATCOM te das cuenta de que es uno de los mejorcitos para DOS. Y si uno busca mejor, se da cuenta de que ID software hizo muchos juegos en C (sin ASM!) compilados con WATCOM (EJ: DOOM). Ante cualquier otra duda sobre WATCOM, busquen los manuales de este programa en internet (estan todos, pero el compilador no). % Librerias VS Assembler. Si, ya se, las librerias rulan y bla bla bla. Pero que pasa, todas las librerias que hay para programar juegos o gfx NO SON GRATIS, por ende, siempre te falta algun archivo ( en la libreria ZSVGA le falta el .LIB) que te lo dan si pagas. Por ende hay que arreglarselas solo con lo que uno sabe. Assembler hace cosas que tambien hacen las librerias, y es gratis :) Mis conocimientos de assembler son casi nulos. Solamente puedo cambiar el modo grafico, hacer un sync en la pantalla y esas entre otras cosas. Lo que si, que hay librerias que son necesarias ya que hacen las tareas mas faciles de lo que serian. Recomiendo que se bajen el MIDAS (para la musica en background), y -prueben- con librerias graficas, cosa que no recomiendo pero que es necesario para adentrarse en lo que uno quiere hacer. % La libreria VGA320.C Esta libreria la hice yo, dio buenos resultados y organiza un poco el asunto de escribir codigo en un solo .C (que se puede hacer, pero cuando uno debuguea, se vuelve puto). Esta libreria viene con IFESP2.ZIP ────────────────────────────────────────────────────────────────────────────── .:: VGA320 ::. ────────────────────────────────────────────────────────────────────────────── El nombre de esta libreria no es para nada original, VGA por la placa de video y 320 por el modo 13h (320x200x256). No es para nada complicado el funcionamiento de la libreria y la mayoria del codigo es en ASM. La libreria lista para usar se encuentra en este zip, solo voy a comentar lo que hace cada funcion, como llamarlas y que variables utilizar. Explico bien el asunto de la libreria , porque los comentarios que hay en la misma son una ayuda para mi y no se entiende bien para la gente que no conoce ciertas cosas. %% #define PI 3.1415927 Esto define a "PI" con el numero pi. Util para las funciones seno, coseno y tangente u otros calculos matematicos. %% waitretrace(); Esto hace una especie de sincronizacion del trazado vertical de la pantalla. Cuando uno cambia la paleta de colores muy rapido o el cambio en la pantalla es rapido, aparecen efectos desagradables en la pantalla, como puntitos colgados o lineas feas. Esta funcion, ademas de borrar esos errores, hace que la animacion o lo que fuere que este sucediendo en la pantalla funcione igual para todas las maquinas. En una 486 con turbo, si uno pone esta funcion, al apretar el boton turbo casi no hay cambios de velocidad. %% SetVGA(); Setea el modo 13h, que es una resolucion 320x200x256, donde 256 son los colores. Cuando la resolucion de colores es mayor (si no me equivoco, para VESA 2.0 son de 100h hasta 10eh o algo asi, no recuerdo bien[y no es tan facil setear esos modos]) se tiene que utilizar VESA y/o univbe de Scitech. %% SetText(); Setea el modo 03h, que es el modo texto. Es recomendable hacer un programa que solamente setee este modo, porque cuando algunos programas no funcionan, suelen quedarse colgados en el 13h. %% setrgb( col, r, g, b ) Es una funcion facil y dificil a la ves. Se llaman a los puertos 0x3c8 y 0x3c9. En el primero va el color y en el segundo van los tres colores R G B. Seteando estos valores se obtiene un color. Lo dificil es entender como funcionan las mezclas de color y los fondos y toda esa mierda. Para cada valor de RGB hay un numero que va desde 0 hasta 63. En col se admite desde 0 hasta 768. Tambien se pueden usar arrays para definir la paleta (y hacerse una funcion SetPal(); sin llamar a setrgb(col,r,g,b); ) Col es el numero del color con el que se empieza. %% putpixel(x, y, col); El desempeño de esta funcion es tan obvia que se vuelve complicada sin entender como utilizarla del todo. Primero deberiamos plantear que la memoria de video empieza en A000:0000 y termina en A000:F9FF (esto para esta resolucion, si quieren ver lo maximo soportado por su placa de video, chequeen en los diagnosticos de Windows donde estan las direcciones de memoria). Esto es igual a 63999 en decimal. La formula normal para poner un pixel en la pantalla es: offset = y * 320 + x. Lo que significa, multiplicar la coordenada -y- por 320 (numeros de pixeles en una linea) y sumarle la coordenada x. Y al resultado, sumarselo a un pointer a la direccion correcta. Setear la direccion correcta seria una cosa asi: char *pantalla = 0xA0000; Hay veces que es mejor utilizar pointers que la rutina putpixel(x,y,col); porque al utilizar pointers se pueden utilizar pantallas virtuales. x = Valor de X en la pantalla (que va desde 0 hasta 320) y = Valor de Y en la pantalla (que va desde 0 hasta 200) col = color del pixel que se imprime en la pantalla. ────────────────────────────────────────────────────────────────────────────── .:: BASES ::. ────────────────────────────────────────────────────────────────────────────── Vuelvo a repetir. Se supone que ya tenes nociones de programacion en C y aunque sea, un poquito de Assembler. Si no, leete algun manual de esos de "Aprenda en 24 horas" (pero los yankees) que con eso basta y sobra. Si ya lo hiciste, y compilaste algunos programas y funcionaron, tambien es mas que suficiente. Tambien aclaro de que no se toooooooodas las putas tecnicas que hay en la programacion de graficos y que SOLAMENTE voy a mencionar lo que aprendi en todo este tiempo (que es poco, pero es util). Mmhh... capitulo al pedo esto, porque no se me ocurre mas que decir. ────────────────────────────────────────────────────────────────────────────── .:: El primer proggie ::. ────────────────────────────────────────────────────────────────────────────── /* Este programa llena la pantalla con pixeles .. Este programa NO FUE TESTEADO y es solo una guia para entender como es la onda de esto. Asi que no hinchen porque lo escribo a ton ni son. Los codigo fuentes testeados estan tambien en este pack y pueden chequearlos y aprender de ellos */ #include <stdio.h> #include "vga320.c" main () { int x,y; int col=0; printf("Bla"); getch(); SetVGA(); /* setea el modo 13 */ do { for (x=0; x<319; x++) { for (y=0; y<199; y++) { putpixel(x,y,col); col++; } } } while(!kbhit()); return 0; } El funcionamiento de este programa es facil de entender. Cualquier cosa, manden un mail. ────────────────────────────────────────────────────────────────────────────── .:: pantallas virtuales ::. ────────────────────────────────────────────────────────────────────────────── Las pantallas virtuales son una buena opcion cuando uno tiene que imprimir en la pantalla cosas que al calcularlas en el momento pueden llegar a ralentizar (o peor) el efecto visual que se trata de lograr. La pantalla virtual es eso mismo, una pantalla que no ve el usuario donde se hace todo el trabajo y esa informacion se imprime ya calculada en la pantalla real. Para esto utilizamos los pointers. En este programa se explica detalladamente que es lo que se hace paso por paso. Este es el programa FUEGO.EXE antes de que funcionara (compilenlo y vean porque ;) ). #include <stdio.h> #include "vga320.c" /* cargamos la libreria ;) */ char *scr = 0xA0000; /* pointer con la direccion de memoria inicial de la pantalla real */ char *vrscr; /* pointer de la pantalla virtual */ char *val; /* pointers para otras cosas */ char *t; /* SetPale(); setea la paleta para lograr el efecto de fuego (que en este proggie no sale) ;) */ void SetPale(void) { int x=0; for (x=0; x<63; x++){ setrgb(x+92,0,0,0); setrgb(x+64,0,x*1-1,0); /* setrgb(x+32,63,x*2-1,0) */; setrgb(x,0,0,0); } } /* Chequeo de memoria al mega pedo, pero que sirve tambien para alocar la memoria y los valores del pointer de la pantalla virtual */ void CheckMem(void) { vrscr = (char*) calloc(320*200,1); if ( vrscr == 0 ) { printf("No hay memoria"); } } /* Esta parte del programa hace que se copie la info de la pantalla virtual hacia la el pointer de la pantalla real, imprimiendo grafiquitos chulos */ void CopyToReal(void) { memcpy( scr, vrscr, 320*197 ); /* scr+(320*4) */ free(vrscr); /* y libera la pantalla virtual */ } void fun(void) { int col, x,y; /* se le suma a VAL el valor del pointer vrscr mas x e y menos 100 */ val = vrscr+320*200-100; /* aca se manda pixeles al azar en la parte de abajo para que luego se "quemen" */ for( t=val-640; t<val; t++ ) /* 640 */ { *t = (rand()%4)==0 ? 0 : 128; } /* este for hace que t sea igual a la pantalla virtual mas 319*2, y que se sume este valor hasta que t sea menor que val */ for (t=vrscr+319*2; t<val; t++) { for (y=0; y<3; y++) { /* estos calculos de punteros son lo que hacen que el fuego se queme, prueben modificando los valores y traten de no excederse de ciertos valores para que no les tire un error y/o se cuelgue la maquina */ *(t-640)= ( *(t-51) + *(t-21) + *(t-20) + *(t-19) + *(t+620) + *(t+611) ) / 6; } } } int main() { /* esto setea todo */ CheckMem(); SetVGA(); SetPale(); do { /* se hacen los calculos en fun, y se copia a la pantalla hasta que se toque cualquier tecla */ fun(); CopyToReal(); } while (!kbhit()); SetText(); printf("ok"); /* devuelve la info del pointer */ printf("\nPointer T %p", &t); return 0; } Cuando quieran compilar el programa, fijense lo que hace en la pantalla y modifiquen los valores de la paleta y los calculos del puntero t. Modificar algunos numeros en estas partes cambia drasticamente la puesta en pantalla. Enjoy!. NOTA: El algorritmo utilizado para el fuego fue copiado de algun texto que no se donde esta =( pero extrañamente, funciona. ────────────────────────────────────────────────────────────────────────────── .:: Ultimas Letras ::. ────────────────────────────────────────────────────────────────────────────── Hay muchas cosas de las que hablar, pero es tarde, y estoy cansado. Puse ahi arriba que este texto iba a ser super boosteado y cumplo terminando con esto. Se compensa lo poco que hay aca con los codigo fuentes y ejecutables para que puedan empezar a joder con estas cosas. Cualquier avance o trabajo que hayan hecho, por favor, envienlo a mi mail toshi1@softhome.net. Muy agradecido, espero que les haya servido de algo esto que escribi. tnx. Cualquier error aqui, por favor, haganmelo saber Visiten la pagina seguido que va a ver cosas nuevas i hope so .. i n d u s t r i a f l a s h e r a e s p e c i a l n u m e r o d o s -- (c)1998-2002, anhos, pintandole el culo a la maldad -- iDEA ORIGINAL : tSH/blackseed. Edited by tSh. BS.AS. Argentina