Para actualizar un poco la Wiki

Started by Kloppix, January 08, 2011, 02:32:57 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Kloppix

Quote from: Noivern on January 10, 2011, 02:30:00 AM
Quote from: Kloppix on January 09, 2011, 03:08:55 PM
Quote from: Noivern on January 09, 2011, 02:17:50 AM
Antes que se me olvide:
Mod_grproc
    collision_box();
    collision_circle();

Gracias Noivern. Primera vez que leo de esos comandos (voy por la misma página  :-[) Acabo de actualizar la lista.

Esas funciones no estan ni en la wiki ni en el manual de Osk. Básicamente es un tipo de collision que no es a nivel de pixel, sino que
a) collision_box(): por el rectángulo de la imagenes completa (incluyendo los pixeles 100% transparentes). Toma en cuenta el ángulo y el size del proceso a la hora de chequear una posible collision. Es más rápida que la collision() normal.
b) collision_circle(): Esta me parece que es más rápida que la anterior, no toma en cuenta el angle, pero si el size y el ancho y alto de la imagen completa. En base a esto calcula un radio y compara si la circunferencias de ambos procesos se intersectan.

Si he explicado algo mal, que me corrijan ;D

Muchas gracias por la explicación. Que funciones tan prácticas!

Drumpi

Ojo, creo que el collision_box no hace rotaciones a la caja de colisión, crea una usando los píxeles más alejados como márgenes del mismo.
Del collision_circle aun no tengo claro si es usando un círculo inscrito o circunscrito, y si usa un círculo o una elipse.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

DCelso

Quote from: Drumpi on January 12, 2011, 12:55:34 AM
Ojo, creo que el collision_box no hace rotaciones a la caja de colisión, crea una usando los píxeles más alejados como márgenes del mismo.
Del collision_circle aun no tengo claro si es usando un círculo inscrito o circunscrito, y si usa un círculo o una elipse.
:o
jue, que de palabrotas dices Drumpi, :D
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Noivern

Quote from: Drumpi on January 12, 2011, 12:55:34 AM
Ojo, creo que el collision_box no hace rotaciones a la caja de colisión, crea una usando los píxeles más alejados como márgenes del mismo.
Del collision_circle aun no tengo claro si es usando un círculo inscrito o circunscrito, y si usa un círculo o una elipse.
Por lo que entiendo, el collision_box() no rota la caja de collision (¿para que hacer eso? :S ) sino que se re-adapta el tamaño del rectángulo según como este girada la imagen.

collision_circle() la verdad es que aún no tengo claro como calcula el radio, si toma el lado mayor o el menor o si pondera ambos. Cuando lo probé tampoco lo noté ya que primero verificaba distancia para evitar llamar a los collision*() y sus cálculos extra constantemente.


SplinterGU

tiene en cuenta la rotacion de los bordes del rectangulo original, y en base a eso crea un nuevo rectangulo, pero dicho rectangulo tendra sus lados paralelos a los ejes x e y.

el circle, el radio es la distancia menor (ancho o alto) / 2
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Kloppix

Añadido a la lista...

mod_sound
  Fade_music_in()
  Fade_music_off()
  Is_playing_wav()
  Pause_wav()
  Resume_wav()
  Reserve_channels()
  Reverse_stereo()
  Set_distance()
  Set_panning()
  Set_position()
  Set_channel_volume()
  Stop_wav()
  Stop_song()

josebita

Creo que esto es importante. Habría que ir intentando rellenar los huecos.

Kloppix

Pues como buen newbie estaba comparando directamente los comandos mencionados en la guía de Oscar con los de la wiki, ya que no tenía moddesc. Tenía Bennu instalado por PPA y anteriormente no lo traía. Luego por verguenza (y flojera. maldita flojera) no comenté más acerca del tema. A partir de mañana empiezo a comparar la wiki con el archivo que finalmente generé con moddesc y voy creando la lista de lo que falta.

Kloppix

Ya comparé la lista. Lo que hice fue ir eliminando, en el archivo de texto generado a partir de modesc, todo lo que apareciera en la Wiki. La cosa es que no entiendo que es útil y que no (por ejemplo "Internals callbacks" ). Así que me concentraré en lo que mas o menos entiendo

--------------------------------------------------------------------------------------
MOD_CD (http://wiki.bennugd.org/index.php?title=Mod_cd)

Globals
  STRUCT cdinfo

--------------------------------------------------------------------------------------
MOD_DEBUG (http://wiki.bennugd.org/index.php?title=Mod_debug)

Module Dependency:
  libkey
  librender

--------------------------------------------------------------------------------------
MOD_DIR (http://wiki.bennugd.org/index.php?title=Mod_dir)

Functions:
  STRING DIRREAD(INTEGER)

--------------------------------------------------------------------------------------
MOD_DRAW (http://wiki.bennugd.org/index.php?title=Mod_draw)

Functions:
  INT PUT_PIXEL(INTEGER, INTEGER, INTEGER)
  INT GET_PIXEL(INTEGER, INTEGER)

--------------------------------------------------------------------------------------
MOD_EFFECTS (http://wiki.bennugd.org/index.php?title=Mod_effects)

Constants:
  INT GSCALE_RGB = 0
  INT GSCALE_R = 1
  INT GSCALE_G = 2
  INT GSCALE_B = 3
  INT GSCALE_RG = 4
  INT GSCALE_RB = 5
  INT GSCALE_GB = 6
  INT GSCALE_OFF = -1

Functions:
  INT FILTER(INTEGER, INTEGER, POINTER)


--------------------------------------------------------------------------------------
MOD_FFI (http://wiki.bennugd.org/index.php?title=Mod_ffi)

No lo tengo. Lo pongo acá porque si no luego se me olvida


--------------------------------------------------------------------------------------
MOD_FILE (http://wiki.bennugd.org/index.php?title=Mod_file)

Functions:
  UNDEFINED FREWIND(INTEGER)
  INT FILE_EXISTS(STRING)
  INT FREMOVE(STRING)
  INT FMOVE(STRING, STRING)


--------------------------------------------------------------------------------------
MOD_FLIC (http://wiki.bennugd.org/index.php?title=Mod_flic)

Functions:
  INT START_FLI(STRING, INTEGER, INTEGER)
  INT END_FLI()
  INT FRAME_FLI()
  INT RESET_FLI()
  INT FLI_START(STRING, INTEGER, INTEGER)
  INT FLI_START(STRING, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER)
  INT FLI_END(INTEGER)
  INT FLI_FRAME(INTEGER)
  INT FLI_RESET(INTEGER)
  INT FLI_PARAMS(INTEGER, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER)
  INT FLI_MOVE(INTEGER, INTEGER, INTEGER)
  INT FLI_ANGLE(INTEGER, INTEGER)
  INT FLI_SIZE(INTEGER, INTEGER)
  INT FLI_FLAGS(INTEGER, INTEGER)
  INT FLI_Z(INTEGER, INTEGER)
  INT FLI_GETINFO(INTEGER, POINTER, POINTER, POINTER, POINTER, POINTER, POINTER, POINTER, POINTER, POINTER)


--------------------------------------------------------------------------------------
MOD_GRPROC (http://wiki.bennugd.org/index.php?title=Mod_grproc)

Locals:
  STRUCT _mod_grproc_reserved


--------------------------------------------------------------------------------------
MOD_JOY (http://wiki.bennugd.org/index.php?title=Mod_joy)

Functions:
  INT JOY_GETPOSITION(INTEGER)
  INT JOY_GETPOSITION(INTEGER, INTEGER)
  INT JOY_GETACCEL(POINTER, POINTER, POINTER)
  INT JOY_GETACCEL(INTEGER, POINTER, POINTER, POINTER)
  INT NUMBER_JOY()
  INT SELECT_JOY(INTEGER)
  INT GET_JOY_BUTTON(INTEGER)
  INT GET_JOY_BUTTON(INTEGER, INTEGER) 

# Según entendí, en la Wiki se dice que JOY_GETBALL acepta 2 o 3 parámetros en lugar de 3 o 4. (http://wiki.bennugd.org/index.php?title=Joy_getball)
# INT JOY_GETBALL(INTEGER, POINTER, POINTER)
# INT JOY_GETBALL(INTEGER, INTEGER, POINTER, POINTER)


--------------------------------------------------------------------------------------
MOD_M7 (http://wiki.bennugd.org/index.php?title=Mod_m7)

Globals:
  STRUCT m7[9]


--------------------------------------------------------------------------------------

1) Es la 1am y tengo entrevista laboral en unas horas. Mañana termino de publicar la lista. Si no tiene errores actualizo entonces la primera página del post para llevar el orden.

2) Me di cuenta que se agregaron varias funciones a la Wiki. Si la lista sirvió de referencia (que me alegraría mucho) sería bueno que lo comenten por acá para eliminarlo.

3) Hay varias funciones que se pueden llamar de 2 maneras pero en la wiki sólo suele aparecer una y luego se aclara con "Also called ****" (notar que son 4, no 3 asteriscos :P). Las nombro porque me parece que deberían estar ambas formas en la lista principal. Algo como:

* Fexist() || File_exists()      #Por supuesto ambos haciendo referencia a la misma página

ó simplemente dejarlo

* Fexist()
* File_exists()   

que es mas rápido para buscar, con la desventaja de tener una lista de mayor tamaño.

4) Ahora si me voy a dormir.


KeoH

gracias por el curro , karmazo al canto! xD

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Kloppix

#26
Gracias Splinter y KeoH por el Karma. Continúo...

MOD_MAP (http://wiki.bennugd.org/index.php?title=Mod_map)

Constants:

 INT G_Y_CENTER = 3
 INT B_CLEAR = 1
 INT CHARSET_ISO8859 = 0
 INT CHARSET_CP850 = 1
 INT NFB_VARIABLEWIDTH = 0
 INT NFB_FIXEDWIDTH = 1

 # En la Wiki se mencionan las constantes...
 # G_ANIMATION_SPEED
 # G_ANIMATION_STEP
 # G_ANIMATION_STEPS
 # G_FRAMES
 # ...pero en el resultado de moddesc no veo nada parecido

# NOTA: Estoy nombrando tanto funciones que sencillamente no aparecen en la Wiki (ej: get_rgb() ), así como funciones con 2 nombres, de los cuales sólo aparece 1 en la lista principal. De todos modos en la descripción de las funciones aparece prácticamente siempre si posee otro nombre. Hay excepciones como point_get() o Glyph_get() que no indican su nombre alterno ( Get_point() y Get_Glyph() ), pero muy pocas.

Functions:

 INT MAP_NEW(INTEGER, INTEGER, INTEGER, INTEGER) #Aparece en la Wiki pero dice que sólo acepta 3 parámetros en lugar de 3 o 4 (http://wiki.bennugd.org/index.php?title=Map_new)   
 INT MAP_DEL(INTEGER, INTEGER)
 POINTER MAP_BUFFER(INTEGER, INTEGER)
 INT FPG_LOAD(STRING, POINTER)     # Según la WIKI acepta sólo 1 parámetro
 INT FPG_DEL(INTEGER)
 INT PAL_NEW()
 INT PAL_DEL(INTEGER)
 INT PAL_UNLOAD(INTEGER)
 INT PAL_CLONE(INTEGER)
 INT PAL_REFRESH()
 INT PAL_REFRESH(INTEGER)
 INT PAL_MAP_GETID(INTEGER, INTEGER)
 INT PAL_MAP_ASSIGN(INTEGER, INTEGER, INTEGER)
 INT PAL_MAP_REMOVE(INTEGER, INTEGER)
 INT PAL_GET(INTEGER, INTEGER, POINTER)
 INT PAL_GET(INTEGER, INTEGER, INTEGER, POINTER)
 INT PAL_SYS_SET(INTEGER)
 INT PAL_SYS_SET(POINTER)
 INT PAL_SET(INTEGER, INTEGER, POINTER)
 INT PAL_SET(INTEGER, INTEGER, INTEGER, POINTER)
 INT PAL_SAVE(STRING)
 INT PAL_SAVE(STRING, INTEGER)
 INT COLORS_SET(INTEGER, INTEGER, POINTER)
 INT COLORS_SET(INTEGER, INTEGER, INTEGER, POINTER)
 INT COLORS_GET(INTEGER, INTEGER, POINTER)
 INT COLORS_GET(INTEGER, INTEGER, INTEGER, POINTER)
 INT PALETTE_ROLL(INTEGER, INTEGER, INTEGER)
 INT PALETTE_CONVERT(INTEGER, INTEGER, POINTER)
 INT COLOR_FIND(BYTE, BYTE, BYTE)
 INT RGB(BYTE, BYTE, BYTE, INTEGER)             #Según Wiki sólo acepta 3 parámetros en lugar de 3 o 4   
 INT RGBA(BYTE, BYTE, BYTE, BYTE, INTEGER)   #Según Wiki sólo acepta 4 parámetros en lugar de 4 o 5   
 INT RGB_GET(INTEGER, POINTER, POINTER, POINTER, INTEGER)
 INT RGBA_GET(INTEGER, POINTER, POINTER, POINTER, POINTER, INTEGER)
 INT RGB_GET(INTEGER, POINTER, POINTER, POINTER)
 INT RGBA_GET(INTEGER, POINTER, POINTER, POINTER, POINTER)
 INT MAP_INFO_SET(INTEGER, INTEGER, INTEGER, INTEGER)
 INT MAP_INFO_GET(INTEGER, INTEGER, INTEGER)
 INT MAP_INFO(INTEGER, INTEGER, INTEGER)
 INT GRAPHIC_SET(INTEGER, INTEGER, INTEGER, INTEGER)
 INT FNT_NEW(INTEGER, INTEGER)                    # Según la Wiki solo acepta 1 parámetro
 INT FNT_NEW(INTEGER, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER)
 INT BDF_LOAD(STRING)
 INT PCX_LOAD(STRING)
 INT NEW_MAP(INTEGER, INTEGER, INTEGER)
 INT LOAD_MAP(STRING)
 INT UNLOAD_MAP(INTEGER, INTEGER)
 INT SAVE_MAP(INTEGER, INTEGER, STRING)
 INT NEW_PAL()
 INT LOAD_PAL(STRING)
 INT UNLOAD_PAL(INTEGER)
 INT SAVE_PAL(STRING)
 INT SAVE_PAL(STRING, INTEGER)
 INT SET_COLORS(INTEGER, INTEGER, POINTER)
 INT SET_COLORS(INTEGER, INTEGER, INTEGER, POINTER)
 INT GET_COLORS(INTEGER, INTEGER, POINTER)
 INT GET_COLORS(INTEGER, INTEGER, INTEGER, POINTER)
 INT ROLL_PALETTE(INTEGER, INTEGER, INTEGER)
 INT CONVERT_PALETTE(INTEGER, INTEGER, POINTER)
 INT FIND_COLOR(BYTE, BYTE, BYTE)
 INT GET_RGB(INTEGER, POINTER, POINTER, POINTER, INTEGER)
 INT GET_RGBA(INTEGER, POINTER, POINTER, POINTER, POINTER, INTEGER)
 INT GET_RGB(INTEGER, POINTER, POINTER, POINTER)
 INT GET_RGBA(INTEGER, POINTER, POINTER, POINTER, POINTER)
 INT NEW_FPG()
 INT LOAD_FPG(STRING)
 INT LOAD_FPG(STRING, POINTER)
 INT SAVE_FPG(INTEGER, STRING)
 INT UNLOAD_FPG(INTEGER)
 INT GET_POINT(INTEGER, INTEGER, INTEGER, POINTER, POINTER)
 INT SET_POINT(INTEGER, INTEGER, INTEGER, INTEGER, INTEGER)
 INT SET_CENTER(INTEGER, INTEGER, INTEGER, INTEGER)
 INT NEW_FNT(INTEGER)
 INT NEW_FNT(INTEGER, INTEGER)
 INT NEW_FNT(INTEGER, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER)
 INT LOAD_FNT(STRING)
 INT UNLOAD_FNT(INTEGER)
 INT SAVE_FNT(INTEGER, STRING)
 INT LOAD_BDF(STRING)
 INT GET_GLYPH(INTEGER, INTEGER)
 INT SET_GLYPH(INTEGER, INTEGER, INTEGER, INTEGER)
 INT LOAD_PNG(STRING)
 INT LOAD_PCX(STRING)
 INT SAVE_PNG(INTEGER, INTEGER, STRING)


----------------------------------------------------------------------------------------------------------------
MOD_MATHI      # En la Wiki solo hay MOD_MATH. Nada de MOD_MATHI  Las funciones de los 2 módulos son las mismas pero trabajan con otro tipo de variables. No se que hacer acá.


----------------------------------------------------------------------------------------------------------------
MOD_MATH (http://wiki.bennugd.org/index.php?title=Mod_math)


Functions:
 FLOAT ATAN2(FLOAT, FLOAT)
 INT ISINF(FLOAT)
 INT ISNAN(FLOAT)
 INT FINITE(FLOAT)
 INT NEAR_ANGLE(INTEGER, INTEGER, INTEGER)


----------------------------------------------------------------------------------------------------------------
MOD_MEM (http://wiki.bennugd.org/index.php?title=Mod_mem)

Functions:
 POINTER MEM_CALLOC(INTEGER, INTEGER)
 POINTER MEM_ALLOC(INTEGER)
 INT MEM_FREE(POINTER)
 POINTER MEM_REALLOC(POINTER, INTEGER)
 INT MEM_CMP(POINTER, POINTER, INTEGER)
 INT MEM_SET(POINTER, BYTE, INTEGER)
 INT MEM_SETW(POINTER, WORD, INTEGER)
 INT MEM_SETI(POINTER, INTEGER, INTEGER)
 INT MEM_COPY(POINTER, POINTER, INTEGER)
 INT MEM_MOVE(POINTER, POINTER, INTEGER)
 INT MEM_AVAILABLE()
 INT MEM_TOTAL()
 POINTER CALLOC(INTEGER, INTEGER)


----------------------------------------------------------------------------------------------------------------
MOD_PATH (http://wiki.bennugd.org/index.php?title=Mod_path)

Functions:
 INT PATH_FIND(INTEGER, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER)
 INT PATH_GETXY(POINTER, POINTER)
 INT PATH_WALL(INTEGER)


----------------------------------------------------------------------------------------------------------------
MOD_PROC (http://wiki.bennugd.org/index.php?title=Mod_proc)

Constants:
 INT S_FORCE = 50
 INT S_TREE = 100
 INT S_KILL_TREE = 100
 INT ALL_PROCESS = 0

Locals:
 STRUCT mod_proc_reserved

Functions:
 INT GET_STATUS(INTEGER)


----------------------------------------------------------------------------------------------------------------
MOD_REGEX (http://wiki.bennugd.org/index.php?title=Mod_regex)

Globals:
 STRING regex_reg[15];


Functions:
 INT REGEX(STRING, STRING)
 STRING REGEX_REPLACE(STRING, STRING, STRING)
 STRING JOIN(STRING, POINTER, INTEGER)


----------------------------------------------------------------------------------------------------------------
MOD_SAY (http://wiki.bennugd.org/index.php?title=Mod_say)

Functions:
 UNDEFINED SAY_FAST(STRING)


----------------------------------------------------------------------------------------------------------------
MOD_SCREEN (http://wiki.bennugd.org/index.php?title=Mod_screen)

Functions:
 INT DEFINE_REGION(INTEGER, INTEGER, INTEGER, INTEGER, INTEGER)
 INT OUT_REGION(INTEGER, INTEGER)
 INT PUT_SCREEN(INTEGER, INTEGER)
 INT CLEAR_SCREEN()
 INT GET_SCREEN()


----------------------------------------------------------------------------------------------------------------
MOD_SCROLL (http://wiki.bennugd.org/index.php?title=Mod_scroll)

Functions:
 INT SCROLL_START(INTEGER, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER)
 INT SCROLL_STOP(INTEGER)
 INT SCROLL_MOVE(INTEGER)
 INT STOP_SCROLL(INTEGER)
 INT MOVE_SCROLL(INTEGER)


----------------------------------------------------------------------------------------------------------------
MOD_SOUND (http://wiki.bennugd.org/index.php?title=Mod_sound)

Functions:
 INT SOUND_INIT()
 INT SOUND_CLOSE()
 INT STOP_SONG()
 INT STOP_WAV(INTEGER)
 INT PAUSE_WAV(INTEGER)
 INT RESUME_WAV(INTEGER)
 INT IS_PLAYING_WAV(INTEGER)
 INT FADE_MUSIC_IN(INTEGER, INTEGER, INTEGER)
 INT FADE_MUSIC_OFF(INTEGER)
 INT SET_CHANNEL_VOLUME(INTEGER, INTEGER)
 INT RESERVE_CHANNELS(INTEGER)
 INT SET_PANNING(INTEGER, INTEGER, INTEGER)
 INT SET_POSITION(INTEGER, INTEGER, INTEGER)
 INT SET_DISTANCE(INTEGER, INTEGER)
 INT REVERSE_STEREO(INTEGER, INTEGER)
 INT PLAY_WAV(INTEGER, INTEGER, INTEGER)
 INT SET_MUSIC_POSITION(FLOAT)

 # INT UNLOAD_SONG(POINTER)
 # INT UNLOAD_WAV(POINTER)  
 # Las funciones de arriba aceptan INT y POINTER, pero en la wiki sólo sale lo primero. No se si es un error o es normal puesto que no entiendo mucho de pointers :(


----------------------------------------------------------------------------------------------------------------
MOD_STRING (http://wiki.bennugd.org/index.php?title=Mod_string)

Functions:
 INT STRLEN(STRING)
 STRING FORMAT(INTEGER)
 STRING FORMAT(FLOAT)
 STRING FORMAT(FLOAT, INTEGER)


----------------------------------------------------------------------------------------------------------------
MOD_TEXT (http://wiki.bennugd.org/index.php?title=Mod_text)

Constants:
 INT ALL_TEXT = 0


----------------------------------------------------------------------------------------------------------------
MOD_TIMERS (http://wiki.bennugd.org/index.php?title=Mod_timers)

Globals:
 timer[9];


----------------------------------------------------------------------------------------------------------------
MOD_VIDEO (http://wiki.bennugd.org/index.php?title=Mod_video)

Functions:
 INT SET_MODE(INTEGER) # Segun la wiki acepta 2,3 o 4 parámetros. pero no dice que también 1 sólo (O eso entendí)

Module Dependency:
 libgrbase
 libvideo
 librender


----------------------------------------------------------------------------------------------------------------
MOD_WM (http://wiki.bennugd.org/index.php?title=Mod_wm)

Functions:
 INT SET_WINDOW_POS(INTEGER, INTEGER)


----------------------------------------------------------------------------------------------------------------


Buff. Eso es todo hasta ahora. En lo que algún veterano me diga que está bien lo pongo en el primer post del hilo.

P.D. Me fue bien con lo del trabajo y quiero comentar que tengo un sombrero nuevo  ;D

Kloppix

Me quede esperando las correcciones :S Lo coloqué en la primera página así mismo.

Me gustaría colaborar con la WIKI, pero no tengo los conocimientos suficientes de Bennu como para escribir artículos y el inglés tampoco me lo hace mas fácil. Lo que si podría es ir colocando funciones, constantes, etc aunque no lleven a ninguna página. ¿Que tal?

Drumpi

Hombre, si alguien se preocupa de hacer la maquetación de las páginas, siempre habrá alguien con conocimientos para rellenar esos campos, gente que, como yo, no domina el "lenguaje de programación" de wikipedia pero sí algunas de las muchas funciones (incluso aportando ejemplos) ^^U
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

izubiaurre

Creo que lo de la maquetación de las páginas no se hace página por página, sino definiendo antes ciertas cosas y luego utilizando esos estilos.