26 de julio de 2011

GLBasic v10.057 - Fichero log_e.gbas

A continuación los cambios introducidos en el lenguaje así como los diferentes avances (y solución de bugs) para las "nuevas" plataformas soportadas.

Ahora podemos compilar para: Win32, Win32-DLL, Linux, OsX, iOS, WebOs, Android, WinCE, GP2X, Wiz y Pandora... :D

(fichero log_e.gbas)
// 10.057 *** RELEASE V10 ***
// WebOS:
// Bugfix for MOUSESTATE.
// Android:
// NETWEBEND works.

// RC 10.053
// Core:
// LOADSPRITEMEM pixels were not returned.
// Android:
// Compiling failed.
// Compiler warning in ant/main_rules.xml has been solved.(Release)
// Cleaning works even if ADB is running.
// WebOS:

// RC 10.051
// Core:
// KEY() slightly faster.
// GRABSPRITE didn't work on some platforms when out of screen.
// MOUSESTATE/MOUSEAXIS code reqritten from scratch.
// Acceleration values are correct now.
// WebOS:
// KEY() for gestures works better.
// Android:
// CREATESCREEN can fallback to GRABSPRITE method if unsupported.
// Icon gets shiny default frame.

// RC 10.042
// 3D:
// X_SCALING and shadows work together (very small speed impact).
// X_SPOT_LT -3: first call sets light colour. It's flushing shadows
// when you turn that light off.
// WebOS:
// DECLARE calls will fail now. HP disallows the use of dlopen/dlsym API.
// You can submit to the HP store again, now.
// Icons are 64x64 pixels (as required for WebOS). Must restart device to
// regenerate icon cache.

// RC 10.013
// Editor:
// Fixed a code folding bug.
// Win32:
// F10, LAlt do no longer pause/lock the application.
// DDgui:
// Combo uses list for the box. Scrolls item into view.
// 3D:
// X_LINE changed colour of 3D objects drawn afterwards.
// Shadows where covering lit side of flat objects.
// X_SPOT_LT -3: The shadow is tainted with the colour now.

// RC 10.012
// New command:
// SOCK_GETREMOTEIP, SOCK_GETREMOTEPORT // remote computer info (also UDP)
// SOCK_SETBLOCKING // blocking mode of socket
// X_GETMATRIX // Get current matrix for X_DRAWOBJ position
// SETORIENTATION iMode // Set the screen rotation (iPag e.g.)
// GETORIENTATION() // ... and get that value.
// Editor:
// New function File/Project/Clean up
// that cleans out build files.
// User keywords must be 2 characters long at least now.
// Icons must be transparent PNG for transparency now.
// Icons are scaled using bicubic filter -> excellent quality.
// gbas/gbap files have different icons now.
// Mac-Icons are generates from the icon.png file.
// Project options -> Version number is available.
// You can query it with PLATFORMINFO$("VERSION").
// All platforms except Win/Linux build into "distribute" directory now.
// .app/Media is copied into distribute on build.
// Core:
// Programs also try to load Media/smalfont.png and Media/smalfont.bmp
// on startup.
// INKEY$ works much better and buffers multiple
// key presses druing one showscreen cycle (up to 16).
// INKEY$/INPUT$ returned \r instead of \n. Bug is fixed.
// URLENCODE$/URLDECODE$ caused wrong output with
// codes>127. It will be converted ISO 8859-1 to UTF-8 first
// so php can properly interact with GLBasic now.
// Shoebox leaked memory.
// CONSTANT yielded compiler errors (assign to const object).
// GRABSPRITE id,0,0,0,0 frees the memory. Was a bad leak.
// Fixed bug in loading JPEG images.
// VIEWPORT on USESCREEN was using wrong y values.
// NET... commands might have dropped packages.
// 3D OpenGL|ES (mobile platforms):
// X_SCREEN2WORLD and X_WORLD2SCREEN work now. glGetFloatv() was not supported.
// Clipping improved.
// Loading Fragment shaders only works again.
// Mipmapping ignored -> shows textures now.
// Compiler:
// Nested ?IFDEF might have caused trouble.
// ?DEFINE always was triggered.
// 2-pass-compiler implemented. GLOBAL declarations
// from other files are known in stage 2 now.
// This allows:
// INC foo.bar; TYPE Tfoo; bar; ENDTYPE; GLOBAL foo AS Tfoo
// Win32:
// SHELLCMD did not return to fullscreen.
// MacOSX:
// INKEY$ returned improper stuff for cursor and del keys.
// iPhone:
// SLEEP is working properly now.
// HiRes (iPhone 4) icons are generated.
// Default~.png images from .app directory are copied to XCode project.
// Pandora:
// GLBasic builds a full featured .pnd package for you.
// The screen size is not fixed anymore, allowing it to run
// on OMAP-3 devices as well.
// WebOS:
// appinfo.json is filled with version number and proper strings.
// Fixed crash on 2.1.0 in SPRITE2MEM, SPRCOLL and GRABSPRITE.
// Mousecount limited to 5. More seems to be inaccurate.
// SOCK_GETIP() crashed.
// Ports on firewall for listening were not opened.
// -> internally done with PDL_SetFirewallPortStatus() now.
// Android:
// possible crash at startup fixed.
// Fix with spaces in path (GLBasic installation and project path)
// Pause does not crash anymore.
// Wiz:
// Fix of crash on startup.

Primera pantalla del "proyecto turbo"

Con la programación principal en un 70% (luego sólo quedarán los detalles de implementación del GUI final), presento aquí la primera captura del juego de programación rápida (no invertir un año) para plataforma iPad en el que me he metido.

Espero tenerlo listo en 15 días... Luego vendrá la mejor parte... el diseño del GUI... y los posibles problemas con la Appstore.

24 de julio de 2011

GLBasic v10.057 publicado

Descargando la última versión del programa. En cuanto instale comento las novedades que se incluyen. (La actualización desde el IDE indica erróneamente que v9.040 es la más actual).

8 de julio de 2011

Foro GLBasic - Haz un juego en 3,5 horas

Killy Hello ha publicado un tutorial mostrando las excelencias de GLBasic. Según el post del foro, en 3,5 horas es posible realizar un juego "como Dios manda".

El hilo sobre este tema esta aquí.

El enlace para descargar el juego Frogs 1x1 está aquí.

5 de julio de 2011

"Mini pausa" para nuevo proyecto...

He pensado en realizar una prueba con la appstore de Apple. Para esto se me ha ocurrido desarrollar un juego sencillo, con un gameplay también sencillo. Gráficos pixel y jugabilidad rápida. ;-D

Quiero probar el funcionamiento de la tienda, posibles problemas que me puedo encontrar, qué material necesito en el momento de publicar (banners, imágenes, instrucciones, requerimientos web), etc.

No me gustaría terminar el "mega proyecto" y encontrarme con problemas a la hora de publicar.