BASIC

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.


Topics - hardyx

Pages: [1] 2
1
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.
https://developer.apple.com/ios/submit/

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.
https://developer.android.com/distribute/best-practices/develop/target-sdk

2
Bug Reports / GLBasic 15.004 bug and solution
« on: 2017-Oct-13 »
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: http://www.glbasic.com/forum/index.php?topic=11066.0

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
        FUNCTION Iniciar:
            // some code...
        ENDFUNCTION
        // more functions...
ENDTYPE
 

Code: GLBasic [Select]
*** Configuration: WIN32 ***
precompiling:
GPC - GLBasic Precompiler V.14.721
Wordcount:877 commands
compiling:
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
{
GLB_DECLARE_TYPE_DEBUGGER;
public:
        // some code here ...
        Dialogos(): // <--- this is bad

        {
                GLB_IMPLEMENT_TYPE_DEBUGGER;
        }
        // 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
        FUNCTION Iniciar:
            // some code...
        ENDFUNCTION
        // more functions...
ENDTYPE
 

The generated code is good now and compiles without errors:
Code: GLBasic [Select]
class Dialogos
{
GLB_DECLARE_TYPE_DEBUGGER;
public:
        Dialogos(): // <-- this is ok now
                 REGISTER_MEMBER_DEF(dummy,0)

        {
                GLB_IMPLEMENT_TYPE_DEBUGGER;
        }
}
 

I hope this can be fixed.

3
Apple combines iOS and Mac developer programs into single Apple Developer Program
Existing members accounts will be converted to the new developer program.

http://9to5mac.com/2015/06/08/apple-new-developer-program/

Good news for devs.

4
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.

http://www.applesfera.com/aplicaciones-ios-1/no-solo-se-vive-del-ingles-apple-pide-soporte-para-mas-idiomas-a-los-desarrolladores

5
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.

http://www.nowgamer.com/news/1809897/sony_patents_playstation_eyepad_controller_or_tablet_device.html#nnn

6
Bug Reports / X_DOT fails with many points
« on: 2012-Nov-07 »
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
TYPE TPunto
        x#; y#; z#; irgb%
ENDTYPE

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

LIMITFPS 30
SETSCREEN 800, 600, 0
SYSTEMPOINTER TRUE

SEEDRND GETTIMERALL()

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

// calculate the center point for camera
CalculateBounds(puntos[])

// draws the point array
DrawPoints(puntos[])

END

// create the points and fills the array
FUNCTION CreatePoints: puntos[] AS TPunto, num%
        LOCAL i%
        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
ENDFUNCTION

// calculate the limits and central point of the array
FUNCTION CalculateBounds: puntos[] AS TPunto
        LOCAL i%
        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"
ENDFUNCTION


// 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
        RETURN med
ENDFUNCTION

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

        REPEAT
                X_MAKE2D
                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
                //PaintDots(puntos[])
                PaintPixels(puntos[])

                SHOWSCREEN
        UNTIL KEY(1)
ENDFUNCTION

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
ENDFUNCTION

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

        FOREACH p IN puntos[]
                X_WORLD2SCREEN p.x, p.y, p.z, xx, yy, front
                SETPIXEL xx, yy, p.irgb
        NEXT //p
ENDFUNCTION
 

7
Off Topic / Apple will release a new device?
« on: 2012-Oct-21 »
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?

http://www.engadget.com/2012/10/16/apple-ipad-mini-launch-announced-official/

8
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?

9
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++.



10
GLBasic - es / Registro en Palm developer
« on: 2011-Dec-26 »
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í?

Gracias.

11
GLBasic - es / Me "regalan" un Android
« on: 2011-Nov-08 »
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?

12
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

13
Bug Reports / Weird values in constants
« on: 2010-Nov-04 »
I use some constants in my game, including simple constant expressions with other constants. Like this:

Code: GLBasic [Select]
CONSTANT SCR_WIDTH = 640
CONSTANT TSIDE = 32     // tile side
CONSTANT SCR_COLS = SCR_WIDTH / TSIDE
 

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]
CONSTANT SCR_COLS = SCR_WIDTH / 32
 

I use the last GLBasic version 8.148, but I remember this (constant expressions) worked in a older version (8.0xx I think).

14
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.

15
IDE/Syntax / More numeric data types
« on: 2010-Aug-15 »
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.

Example:
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
 

Pages: [1] 2