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.


Messages - hardyx

Pages: 1 [2] 3 4 ... 33
16
It's a very cool game and I like the pseudo 3d and scanlines retro effects. The graphics are very good too.
Good luck, and finish it!! :good: :good:

17
If you like C++ and games, you can try Cocos2d-x for creating multiplatform games.
If you want something easier, Corona uses Lua (javascript-like) language.

18
Thank for you good job porting iOS to 64 bit and improve iOS and Android modules.
I hope you have good luck in Steam and keep contributing to GLB community.
:nw: :good:

19
GLBasic - en / Re: Detect win
« on: 2017-Nov-20 »
WIN32 and WIN64 defines in C doesn't detect the operative system the user has.
Detects the type of COMPILER you are using.

20
En la ayuda de GLBasic te pone todos los pasos para Android. Tienes que instalar el último JavaSE SDK, el SDK de Android, configurar el JAVA_HOME y luego compilar con la opción de Android. Te creará un .apk que podrás instalar en el teléfono. Tienes que activar en opciones de desarrollo la opción de orígenes distintos a Google Play, sino no te dejará instalarla.

21
Thank you Gernot!!! :good:

22
I have some utility TYPES that doesn't have variables, others are normal types.
Putting a dummy variable works ok, but it's an error in the code generation.

Enviado desde mi SM-A310F mediante Tapatalk


23
No replies :'(  :'(

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

25
GLBasic - es / Re: #ifdef #endif C++
« on: 2017-Sep-05 »
Nuevamente siento responder tarde.

CodeBlocks en Windows usa por defecto el compilador MINGW, que es un port de GCC. Este compilador creo que no define nada en modo debug, con lo cual tendrías que definirlo a mano en las "build properties" de Debug con la pestaña "#defines" poner _DEBUG por ejemplo. También puedes mirar las propiedades del compilador (CBlocks permite usar muchos compiladores), en la parte de build properties > compile options > #defines.

Estos defines te sonarán de Visual C++, pero GCC no define nada y depende de la implementación del sistema. GCC está implementado en muchos sistemas (Windows, Linux y todo tipo de aparatos).

26
Siento responder tarde, no había visto el tema.

Está bien para simular constructores y destructores en GLB, obviamente no son los de C++ porque GLB no tiene esto, para ello habría que crear código inline. Pero no hace falta devolver el propio objeto si no se va a usar el resultado, ya que puedes cambiar el propio objeto, a no ser que quieras usarlas en asignaciones o de otra forma.

P.D. Los constructores y destructores de C++ no tienen tipo, si tuvieran sería void.

Saludos
Code: (glbasic) [Select]
        FUNCTION Constructor:
                DEBUG "Constructor: " + "\n"
        ENDFUNCTION

        FUNCTION Destructor:
                DIM self.axis[0]
                DEBUG "Memory Free: " + "\n"
                DEBUG "LEN        : " + LEN(self.axis) + "\n"
        ENDFUNCTION

27
Off Topic / Re: CRPG Book
« on: 2017-Jun-12 »
Cool book, RPG is my favourite genre in computer games. The book looks very complete and good for retro adventures lovers.  :good: :good:

28
GLBasic - en / Re: iOS10 Beta 3 released.
« on: 2017-Mar-03 »
Thanks for the release space!!! I'm suppose the GLB_ON_LOOP will be the game loop now.
Thanks for your good job.

29
GLBasic - en / Re: about IOS & Android Updates
« on: 2017-Feb-01 »
Thank you for your GLB contributions spacefractal. I wish you have success in your games for Steam. Apple change the things every year with new hardware and software and it's not easy. I had to buy another Mac mini two years ago. I have to finish my games and make more this year.

30
GLBasic - es / Re: C++ y arrays en funciones.
« on: 2016-Sep-06 »
En GLBasic los arrays son objetos, y por eso se usan referencias.

En C y C++ los arrays son punteros al primer elemento, es decir es igual poner "int enteros[]", que "int *enteros". Cuando se pasa un array a una función realmente estás pasando un puntero al inicio y el tipo de los elementos, que ya lo sabe el compilador por la función. Al pasar la dirección, no hay copia y si cambias el array en la función cambias el array original. Por eso C/C++ es tan eficiente, si se usa bien claro, aunque también puedes liarla bien :D

El operador &, delante de una variable da la dirección, pero delante de un parámetro de función en C++ permite pasar una referencia. No uses la referencia con arrays en parámetros de función, sino un puntero al tipo de elemento. Por ejemplo: int GetMediaValores(int *valores) { .... }, dentro de la función usarías valores[indice] normalmente, ya que un array es un puntero.

Por ejemplo, en la función scanf se pasan punteros (&) a los valores a rellenar, pues bien cuando se usan cadenas, que son arrays de carácteres no hay que poner el & porque una cadena ya es una dirección, es decir un puntero a su primer carácter.

Ejemplo: 
Code: (glbasic) [Select]
  int edad;
  char nombre[100];

  printf("Dime tu nombre:");
  scanf("%s", nombre);    // <-- no va con &
  printf("Dime tu edad:");
  scanf("%d", &numero);    // <-- si va con &
  printf("Hola %s", nombre);

Pages: 1 [2] 3 4 ... 33