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.

Show posts Menu

Topics - hardyx

New requirements for iOS and Android apps in 2018

Starting April 2018, all new iOS apps submitted to the App Store must be built with the iOS 11 SDK, included in Xcode 9 or later. All new apps for iPhone, including universal apps, must support the Super Retina display of iPhone X.

Google Play will require that new apps target at least Android 8.0 (API level 26) from August 2018, and that app updates target Android 8.0 from November 2018.
I have GLBasic v15 and works ok, but I can't update to version 15.005, the update works but the version remains in 15.004. I don't know if the next error is fixed in the 15.005 update. This can be related with this other post:

The bug occurs compiling a TYPE in my code. It's normal code not using inline C++.

Code (glbasic) Select
// type with some functions
TYPE Dialogos
            // some code...
        // more functions...

Code (glbasic) Select
*** Configuration: WIN32 ***
GPC - GLBasic Precompiler V.14.721
Wordcount:877 commands
In file included from C:\Users\FJMONT~1\AppData\Local\Temp\glbasic\gpc_temp0.cpp:1:
C:\Users\FJMONT~1\AppData\Local\Temp\glbasic\gpc_temp.h: In constructor `__GLBASIC__::Dialogos::Dialogos()':
C:\Users\FJMONT~1\AppData\Local\Temp\glbasic\gpc_temp.h:54: error: expected identifier before '{' token
C:\Users\FJMONT~1\AppData\Local\Temp\glbasic\gpc_temp.h:54: error: expected `(' before '{' token

(Many error lines like the last three....)

Looking at the generated code (gpc_temp.h) I can see the compiling error:

Code (glbasic) Select
class Dialogos
        // some code here ...
Dialogos(): // <--- this is bad

        // more code here...

The generated code fails because the ":" should not be there. This happens because my TYPE have not any member variables in it. If I put a dummy variable in the TYPE like this, the code compiles and links Ok. This "patch" must be done in each TYPE that does not have variables.

Code (glbasic) Select
TYPE Dialogos
dummy% // fix glb15 fail

        // class with some functions and no variables
            // some code...
        // more functions...

The generated code is good now and compiles without errors:
Code (glbasic) Select

class Dialogos
Dialogos(): // <-- this is ok now


I hope this can be fixed.
Apple combines iOS and Mac developer programs into single Apple Developer Program
Existing members accounts will be converted to the new developer program.

Good news for devs.
Apple pide a los desarrolladores que ofrezcan sus appicaciones en varios idiomas.
Recomienda que se traduzcan las apps a lenguajes como español, francés, portugués, alemán o chino.
Han patentado una especie de mando tablet con el nombre de "PlayStation Eyepad" (tiene gracia el nombre ;) ), que se podrá usar en la futura PS4. Según la patente, dos cámaras a ambos lados permitirán al usuario mover objetos en 3D, o crear un camino en 3D con el dedo sobre el aire delante del Eyepad.
I'm making a program to draw and process thousands of 3D points obtained by a machine, this is in Windows. The amount of  points can be some thousands at once. I use the X_DOT order to draw the points in the screen, but nothing appears, only the axes. In GLB v10.283 (last v10) the points are drawn some frames and then dissapears forever in few seconds. In last v11 Beta the points are not shown never, only the axis (for testing). With 1,000 points can work, but with 10,000 points you can see this error.

If I don't use X_DOT command and I draw the points with X_WORLD2SCREEN and SETPIXEL (it's the same calculation, in theory to project the points) all works ok and the points are shown ok. I don't know if this is a GLB or OpenGL limitation, or something goes wrong and fails in X_DOT. I tested other 3D orders like STARTPOLY/ENDPOLY with the points and fails too. Drawing in 2D with calculations plot the points good in their position (but its not hardware accelerated).

Here is the code I use, I changed data reading part for random functions, but the result is the same.
This shows 10,000 random 3d points using 2d drawing and calculations. If you comment the calling to PaintPixels() and uncomment the PaintDots() not works. This way uses 3d drawing funtions.

Code (glbasic) Select
// test with 10 thousand points
LOCAL nptos = 10000

// 3d point type with colour
x#; y#; z#; irgb%

LOCAL puntos[] AS TPunto
GLOBAL xmin#, xmax#, ymin#, ymax#, zmin#, zmax#
GLOBAL med AS TPunto

SETSCREEN 800, 600, 0


// create and fill the 3d points array
CreatePoints(puntos[], nptos)

// calculate the center point for camera

// draws the point array


// create the points and fills the array
FUNCTION CreatePoints: puntos[] AS TPunto, num%
DEBUG "Creating points...\n"
REDIM puntos[num]

FOR i=0 TO num-1
ALIAS p AS puntos[i]
// coordinates from -50 to +50
p.x = RND(100) - 50
p.y = RND(100) - 50
p.z = RND(100) - 50

p.irgb = RGB(0,RND(256),0)
NEXT //i

// calculate the limits and central point of the array
FUNCTION CalculateBounds: puntos[] AS TPunto
DEBUG "Calculate bounds...\n"

xmin = 9999; ymin = 9999; zmin = 9999
xmax = 0; ymax = 0; zmax = 0

FOREACH p IN puntos[]
IF p.x < xmin THEN xmin = p.x
IF p.x > xmax THEN xmax = p.x
IF p.y < ymin THEN ymin = p.y
IF p.y > ymax THEN ymax = p.y
IF p.z < zmin THEN zmin = p.z
IF p.z > zmax THEN zmax = p.z
NEXT //i

// calculate center of the object
med = MediumPoint(xmin, xmax, ymin, ymax, zmin, zmax)
DEBUG "Center point: " + med.x +", "+ med.y +", "+ med.z +"\n"

// give the medium point of the 3d bounds
FUNCTION MediumPoint AS TPunto: xmin#, xmax#, ymin#, ymax#, zmin#, zmax#
LOCAL med AS TPunto

med.x = (xmax + xmin) / 2
med.y = (ymax + ymin) / 2
med.z = (zmax + zmin) / 2

FUNCTION DrawPoints: puntos[] AS TPunto
LOCAL i%, dist% = 100
DEBUG "Drawing points\n"

IF KEY(200) THEN INC dist // ^
IF KEY(208) THEN DEC dist // v
PRINT "Distance: " + dist, 0, 0

//X_MAKE3D 1, 2500, -1
X_MAKE3D 1, 2000, 45
X_AMBIENT_LT 0, RGB(255,255,0)

X_CAMERA med.x+dist, med.y+dist, med.z+dist, med.x, med.y, med.z
X_DRAWAXES med.x, med.y, med.z

// test the drawing methods


FUNCTION PaintDots: puntos[] AS TPunto
LOCAL xx#, yy#, front#

FOREACH p IN puntos[]
X_DOT p.x, p.y, p.z, 1, p.irgb
NEXT //p

FUNCTION PaintPixels: puntos[] AS TPunto
LOCAL xx#, yy#, front#

FOREACH p IN puntos[]
X_WORLD2SCREEN p.x, p.y, p.z, xx, yy, front
SETPIXEL xx, yy, p.irgb
NEXT //p
Apple says to press: In october 23rd "we've got a little more to show you"
The experts thinks that will be the presentation of the iPad Mini, with 7" for Christmas.
¿Or they will surprise us with other thing?
Hola chicos,
Me he comprado un iPad 1 de esos que tienen de oferta de la web de Apple, y cuál es mi sorpresa que me viene con el iOS 4.3.5. La verdad es que este sistema va mejor en el iPad original, por eso he intentado guardar bien los códigos SHSH con el TinyUmbrella, pero no me los coge, sólo coge los del iOS 5.1. Estos códigos son para poder reinstalar la versión que tengo en caso de que algo vaya mal. En el iPhone si que me coge los códigos del iOS que tengo, aunque ya no lo firme Apple. Cuantas trabas ponen los de Apple... :doubt:

¿Os ha pasado algo parecido de no poder guardar los códigos actuales? ¿Le habrán puesto algo los de Apple para evitar que use esta versión? No tiene sentido. A ver si me aclarais algo.

Y otra cosa: ¿Puede manejar el XCode dos versiones del SDK y desarrollar con versiones diferentes para varios dispositivos?
In the last version 10.209 when you open a file with hidden functions (@), you can see some entries without text, only the icon is shown. These functions without name are duplicates (I think) of the hidden functions, but the hidden functions are shown good. I don't remember seing this in previous versions, then must be the last update.

Another minor error in the editor, when you use ClearType fonts, some letters are cut in the last pixel. See the ending of the words DATA and REDIM in the graphic below. I think the system draws a shadow (aliasing) around the letters and needs a bit of space more. I don't use this (cleartype) earlier, then I don't know if is a error in this version or previous. But this doesn't happen in other apps like notepad++.

Esta pregunta va para los que están registrados en Palm, a ver si me echáis una manita.

Me he registrado como desarrollador en Palm, pero me he atascado un poco en la parte de los impuestos (Taxes), qué manía tienen de poner que eres una empresa  :). Bueno he puesto el NIF y me he registrado como individual, pero no se si lo he hecho bien. Me piden que mande el famoso formulario W8-BEN firmado por fax o por carta. ¿Vosotros lo hicísteis así también?

En Apple era parecido, pero te preguntaban cosas y no tenías que mandar nada. Aquí me piden también si estoy registrado del IVA. Supongo que eso es para empresas. Y luego un "Name on tax return", que he puesto mi nombre. ¿podéis mirar en vuestra cuenta a ver si es así?

Bueno, los de Vodafone me ofrecen un telefono por los puntos, vale no me lo regalan, tengo que vender mi alma al diablo por año y medio de permanencia :). Pero estoy contento con ellos. El caso es que estoy entre el Samsung Galaxy Mini a 0€ y el Samsung Galaxy Ace a 30 €. Tengo varios teléfonos y no quería comprar otro, por eso pensé en el Mini (320x240), pero el Ace tiene más resolución (320x480) y velocidad. Ahhhh, no me gusta el consumismo!!!

Supongo que cogeríais el Ace, pero qué tal va con GLBasic, lei hace tiempo que en algunos teléfonos salían los gráficos en blanco y negro o algo así. ¿Algo que deba saber antes de decidirme?
Queria comentaros algunas cosillas a las que estoy dando vueltas (ya se sabe, el verano y las cavilaciones), a ver si podéis aclararme un poco el camino a tomar.

Primero, ya se que acaba de salir la versión 10 de GLBasic con mejoras y soporta Android y la nueva palm pixi. ¿se han solucionado ya los problemas de versiones de iOS SDK y la appstore con esta versión? Tengo un iphone 2G :zzz: y no me gustaría perder la compatibilidad con iOS 3.x. Si, ya se que tengo que actualizarme, jeje.

Segundo, voy a comprar una Palm Pre 2 de segunda mano a buen precio. ¿qué tal el soporte de GLBasic en esta plataforma? Ya veo que hay varias aplicaciones publicadas en el App Catalog. Se supone que la Pre 3 será compatible con ésta. Qué tal este mercado, me gusta que no esté tan saturado como el de Apple, pero a ver si no va a haber usuarios??. (creo que en EEUU está más extendida)

Tercero, estoy dandole vueltas también a la compra de un Macbook para poder meterme de lleno con objetive-c y llamadas del API de iPhone/iPod. Pero son carillos, y me tienta también un portátil HP. Tengo un MacMini que no uso mucho, la verdad, también es que no tengo espacio para ponerle pantalla y lo manejo por VNC. Por una parte pienso que al ser portátil podré desarrollar en todos sitios y me meteré más de lleno en el mundo mac. Pero también puedo comprar uno con Windows (odio el Win7) más potente y programar en GLbasic. ¿Vosotros en qué sistema desarrolláis??

Un saludo
I use some constants in my game, including simple constant expressions with other constants. Like this:

Code (glbasic) Select
CONSTANT TSIDE = 32 // tile side

When I use the SCR_COLS constant in the code, I notice that the value is -1.INF (infinite). I was investigating the code generated and I saw this. When SCR_COLS is defined, TSIDE is initialized to 0. The correct value is set after, because the compiler "reorders" the constant lines :blink:

Code in gpc_tempg.cpp:
Code (glbasic) Select
void __glb_init_globals(){
    SCR_WIDTH= 640;
    SCR_COLS= SCR_WIDTH / TSIDE;    // TSIDE is 0!!
    TSIDE = 32;

If I define the constant with a value works ok.

Code (glbasic) Select

I use the last GLBasic version 8.148, but I remember this (constant expressions) worked in a older version (8.0xx I think).
By default the GLBasic installer installs all the platform compilers and tools. For example I don't want to develop for MacOSX, Pandora, or XBOX. Other users can develop for other platforms, and have platforms never used.

I like to see a list of platforms in the installer that you can check if you want or not. You can activate all by default, like now. This way you can save disk space and can be useful for users with netbooks for example.

This isn't very important, but it's an improvement.
Currently there are two types: Integer % (32 bits) and Float # (64/32 bits).

I'll like to see more numeric data types like other BASIC languages. This way we can optimize the amount of memory used for large arrays in portable machines.

I think short integer (16 bits) can be useful, indicated by "!" or other character.
Byte (8 bits) can be useful too, but less used.

Code (glbasic) Select
GLOBAL largemap![]
DIM largemap![500][500]  // this uses half space of an integer array

largemap[1][1] = -500
largemap[2][2] = 123
largemap[3][3] = 32767


GP32Spain presents its second GP2X Wiz programming contest.
Warning: These rules are a draft and may suffer some changes in the incoming days.

The competition is divided into two separate categories, each of which will have its own prizes.

First Category: Games
First prize: 25% of the cumulative total of the donated money.
Second prize: 15% of the cumulative total of the donated money.
Third prize: 10% of the cumulative total of the donated money.

Second Category: Emulators
First prize: 25% of the cumulative total of the donated money.
Second prize: 15% of the cumulative total of the donated money.
Third prize: 10% of the cumulative total of the donated money.

Donations can be sent and you can see the cumulative total of money for the prizes to date, here:
Cumulative total to date  (April 13 15:30: 1857€ - 2525,33$)

Deadline to send the game: July 15 July 31
Announcement of the winners: July 31 August 15-31

Contest Rules

First Category: Games

We will only accept games of the following genres:
* Beat 'em up
* Shot 'em up
* Platforms
* Musical (based on music or that music represents an important part of their development).

Update: Now all game types are allowed.

The games can be programmed specifically for GP2X Wiz or can be developed for interpreter engines like Fenix. In any case should include everything needed to run directly on the GP2X Wiz. We will NOT accept games in flash format.

The games should be compatible with the latest firmware available for GP2X Wiz.

Each participant may submit as many games as he/she wants, but will be only eligible for one prize.

We will not accept games previously published in GP2X Wiz. Must be new titles or updates for other systems that have not yet been ported to GP2X Wiz. We will accept games that have already been published previously althoug the version submitted to the contest must include enough new features in order to be a valid entry (new levels, game modes, etc.).

The games may not be published until the contest has ended and winners have been announced. If a game is released before, this will be disqualified immediately.

The maximum size accepted for the games is 2GB.

Games less than 40MB must be sent by e-mail to webmaster((at)) For games with more than 40MB, the programmer must write to the same e-mail and then we'll provide you with FTP access to send it. The e-mail subject must be "Concurso GP32Spain".

Along with the game you must include 2 screen captures of the game.
You must also include a file "info.txt" with the following information:
- Name of the work submitted.
- A description of the game and a short manual.
- Nick / Name of the programmer. (If more than one person is involved, put all names and jobs performed)
- E-mail contact.

Second Category: Emulators
We will accept new emulators and emulators already published.
When we value emulators modifications, we will take into consideration the improvements or new features of the emulators with respect to the final version published before the contest.

We take into consideration the following features in order of importance:
1 .- New emulators.
2 .- (existing emulators): Overall improvement in performance / speed of the emulator.
3 .- (existing emulators): Support for new games / chips / systems.
4 .- (existing emulators): New options, as SaveState, etc.
5 .- (existing emulators): GUI enhancements and additional menus.
6 .- (existing emulators): Other additions.

The emulators should not include files or commercial games. If it's necessary some kind of bios rom file for its working, must be clearly indicated in the file info.txt

The emulators should be compatible with the latest firmware available for GP2X Wiz.

Each participant may submit as many emulators as he/she wants, but will be only eligible for one prize.

If the developer chooses to release the emulator before the contest is finished, we'll take into consideration only the new features or improvements over the public version.

The emulators must be sent by e-mail to webmaster((at)) The e-mail subject must be "Concurso GP32Spain".

Along with the emulator you must include a file "info.txt" with the following information:
- Name and version of the emulator submitted.
- List of new features or improvements incorporated in the emulator with respect to the latest public version.
- A description of the emulator and a short manual.
- Nick / Name of the programmer.
- E-mail contact.

Additional information about the contest
Participants can participate in the two categories independently and win a prize in each of them.

The jury will consist of 5 persons that will be announced after we receive all jobs.

Participants from outside of Spain should have a PayPal account where they would receive the prize if they win.

If we don't receive enough titles for any of the two categories of the contest or its level is considered too low, the organization reserves the right to declare the awards deserts, in which case the value of prizes will be added to the awards of the other category.

The rules may be subject to changed. Any changes or additions will be published in
Hello friends,
I'm with GLBasic since a few months and is an easy language, but I have some questions (doubts). I prefer to put in one post, instead create many separated posts.

1- When you declare a GLOBAL variable you can't access it from other file Ã,¿isn't it?
I have read that you can declare again in the other file, but I think this will be a different variable. Instead Types are shared and I have no problem.

2- Related with the first, sometimes you think that you are using a global variable in another file,
but you are using a new variable autodeclared when are used. This make me crazy.
Ã,¿Are any comand or option to force to declare variables before are used, like "Option Explicit" in Visual Basic?

3- Sometimes I load a font with LOADFONT and not shows nothing in PRINT, I use SETFONT and SHOWSCREEN too. With other fonts works ok. All fonts are created with the DingsFont tool.

Ã,¿Is possible to save the position of the Utility window (Jumps/Files/Web/Debug) to put on the left when the IDE is open? I use Visual Studio and Codeblocks and I'll like to put on the left, but appears always on the right in a new session.