• Dear Cerberus X User!

    As we prepare to transition the forum ownership from Mike to Phil (TripleHead GmbH), we need your explicit consent to transfer your user data in accordance with our amended Terms and Rules in order to be compliant with data protection laws.

    Important: If you accept the amended Terms and Rules, you agree to the transfer of your user data to the future forum owner!

    Please read the new Terms and Rules below, check the box to agree, and click "Accept" to continue enjoying your Cerberus X Forum experience. The deadline for consent is April 5, 2024.

    Do not accept the amended Terms and Rules if you do not wish your personal data to be transferred to the future forum owner!

    Accepting ensures:

    - Continued access to your account with a short break for the actual transfer.

    - Retention of your data under the same terms.

    Without consent:

    - You don't have further access to your forum user account.

    - Your account and personal data will be deleted after April 5, 2024.

    - Public posts remain, but usernames indicating real identity will be anonymized. If you disagree with a fictitious name you have the option to contact us so we can find a name that is acceptable to you.

    We hope to keep you in our community and see you on the forum soon!

    All the best

    Your Cerberus X Team

Greetings I am a new user...

takis76

New member
Joined
Sep 27, 2022
Messages
18
Greetings ,
I was just registered here and I am new. I am programming with BlitzMax and I am interesting to learn to program with Monkey X too.
I have questions. What is the Difference between Monkey X , Monkey 2 and Cerberus X?
Which is the most advanced, that has the most modules. (I used to be a BlitzMax programmer and I see Blitz Research created this programming language too and I like Blitz Research products).
Which is the best IDE instead of the default one. (Is there anything similar to BLIDE like BlitzMax had)?
Do you suggest manuals, books and tutorials to attend before start asking lots of questions? :D

I develop a nice roleplaying game with BlitzMax and goes very well. Here is a video ( https://www.youtube.com/watch?v=Ge8PbGf4aPc )

I will still continue to develop my role playing game with BlitzMax, but the BlitzMax has some limitations. For example I am looking for some more complete GUI module (I do not know if you are familiar with BlitzMax). BlitzMax has the IfsoGUI module, but lacks of Menus and few other GUI modules are not able to compile. So I was looking for some more Advanced GUI module and I think I found 1 here with name guiBasic (In fact this module engage my curiosity and the interest to learn this new programming language).

Does the syntax is different from BlitzMax? (Blitz Research products may will have similar syntax).
Also I am looking and for some zipsteam module for this programming language to have compatibility with the BlitzMax games I will create. (I use another zipstream module with name Koriolis ZipStream to load my assets from a zip). So my new programs programmed with Monkey X or Monkey 2 or Cerberus X? (I haven't decided yet) will need to have the functionality to load assets from zip.

Of course before this, I would like to ask what are the differences between these 3 programming languages and which one is the best to choose. (The one that has the most modules, is most recent, stable and still being developed), to support shaders and other graphical things like directX and openGl. (Of course I will take a look in the forum first to collect all the modules I will need to have the same functionality I had with BlitzMax because I will program 2 different programs, the main game with BlitzMax and the Adventure Maker of the game with this programming language (That I will decide which 1) and if something will be missing I will revisit the forums to ask a new question). Of course I will do research first trying to solve my problem myself to bother you will less questions.

Thank you very very much and have a nice day.
 
Hello and welcome.
Though from your questions you will be disappointed.
I have questions. What is the Difference between Monkey X , Monkey 2 and Cerberus X?
Cerberus is a continuation of Monkey X for all those that had invested time and money into developing with that product. Monkey 2 looks like Monkey X, but works differently and adds a few things. There is a Monkey 2 continuation called Wonkey that as far as I know is still going, but I haven't seen any major updates for around a year and a half.

To actually understand the differences, you'd have to download and use them.
Which is the most advanced, that has the most modules.
As stated above, they work differently. Module wise, Monkey 2 adds a few more.
(I used to be a BlitzMax programmer and I see Blitz Research created this programming language too and I like Blitz Research products).
Everyone that used BRL products liked them..... until they didn't. And to understand that statement, you'd have to know the feelings that many had with BRL when first there was the issue of a 3D module for BlitzMax, the lack of updates for certain targets, then the introduction of Monkey X and what a few considered to be the final nail in the coffin with Monkey 2 arriving on the scene. I'm sure a few others would add to what I've put here on the BRL issues.
Which is the best IDE instead of the default one. (Is there anything similar to BLIDE like BlitzMax had)?
There was only two alternatives. Jungle IDE written by the author of BLIDE and one for Mac OS, which I cannot remember the name of. You'd be lucky if they still work with Cerberus X. Monkey 2 came with it's own using the GUI module that came with it and it was not the best.
Do you suggest manuals, books and tutorials to attend before start asking lots of questions?
The documentation has extra manuals and there's the topic somewhere on here for Invaders Jim's YouTube videos on Monkey X that are still relevant. When it comes to documentation, BRL were never the best at writing anything decent and there is as far as I know still an ongoing project to improve the documentation for Cerberus X.
So I was looking for some more Advanced GUI module and I think I found 1 here with name guiBasic (In fact this module engage my curiosity and the interest to learn this new programming language).
That's probably the only one there is with that level of functionality. Any others either simple or are so out dated that they no longer work.
Does the syntax is different from BlitzMax? (Blitz Research products may will have similar syntax).
The syntax is similar, but how you structure the code is totally different. BlitzMax was more of a procedural programming language, while the others are object orientated.
Also I am looking and for some zipsteam module for this programming language to have compatibility with the BlitzMax games I will create. (I use another zipstream module with name Koriolis ZipStream to load my assets from a zip). So my new programs programmed with Monkey X or Monkey 2 or Cerberus X? (I haven't decided yet) will need to have the functionality to load assets from zip.
As far as I know. Nobody has created a module for Monkey X/Cerberus X to deal with anything based on zlib (the core library) and the closest you'd get is the zlib module in Monkey2/Wonkey. Monkey X and thus Cerberus were aimed at the time for those wishing to create simple 2D applications for Mobile devices.
(The one that has the most modules, is most recent, stable and still being developed), to support shaders and other graphical things like directX and openGl.
From that bit alone none of these will fit what you are looking for. All of BRL languages have been abandoned by the original creator and the continuation of BlitzMax (BlitzMax NG), Monkey X (Cerberus X) and Monke2 (Wonkey) all depends on how much time those involved have spare time to fix any bugs and maintain the code base, this gets to be a major headache when you have the likes of Apple releasing new API's practically every time they release a new version of their operating systems. Even if there are updates, then you would be required in most cases to download the sources and build the tool chain yourself. This it's self can be a challenge if you do not know what you are doing.

The only tools that would fit those criteria are the real big, well financed companies that basically end up tying you into their little ecosystem.
 
Thank you very much you the answers, but I wasn't conclude yet. Which is among the best? Monkey X or Cerberus X (Is Monkey 2 the same as Monkey X, I still didn't understand).
For IDE I will use Jungle IDE, because there is nothing else.
For GUI I will use this guiBasic module.
But which among would be the best? (I will need to do more research and you gave me to understand that Monkey and Cerberus are not better than BlitzMax them). Only if I will choose them for the better GUI module. Why don't people not port the guiBasic Module to BlitzMax?
I am somewhat disappointed. Just tell me your opinion which is the best among (Do I will need to install 3 programming languages and test all)?
 
Hi Takis. Cerberus X is the continuation of Monkey X. I think that Wonkey is the continuation of Monkey 2. And Blitzmax NG is the continuation of BlitzMax. What is better depends on what you prefer, what your target project and platform is.

Regarding CerberusX, definitely it is better than Monkey X as we fixed some bucks and made some enhancements. But it doesn’t come with a Gui module, doesn't come with a 3D module, ZipFile module, etc.. The gui module you have mentioned is not supported by its author to my knowledge. Also Cerberus X renders via OpenGLES. There is no support for DirectX. Nor does Monkey X has it.
I don't know when the next update for Cerberus X will come.

I would stick with BlitzMax NG as that seems to be the best tool (gui programming) for your needs and you know it.
Personally if I want to do gui programming, I would use PureBasic or Python for procedual GUI programming.

If a visual tool is something for you, I would learn Godot. Its whole editor is made with it, so it shows some power of GUI applications.
 
Mike beat me to it, but....
Which is among the best? Monkey X or Cerberus X (Is Monkey 2 the same as Monkey X, I still didn't understand).
Cerberus X is better than Monkey X. To clarify, Cerberus X is Monkey X with a rebrand and updated to actually compile with the what should meet the latest requirements for Apple and Google App stores. Like wise, Wonkey is a rebrand of Monkey 2 with fixes and updates.

Monkey 2 is not Monkey X. The only similarities are most of language syntax and who originally wrote both Monkey X and Monkey 2.
Monkey 2 added advanced features such as lambda functions and multi threading.

As Mike has said, you are probably better of with switching to Purebasic. Godots alright, providing you don't mind using .NET or Mono.
BlitzMax NG and Wonkey as far as I'm aware does not have a regular form where you can ask questions and get any answers from.
The only place where you may get a response from is over at syntaxbomb.
I think that Wonkey is the continuation of Monkey 2.
It is, the code is a fork of the the BRL Monkey 2 repository. See wonkey-coders fork.
The last git update was around two weeks ago for what looks like a minor code updated.
 
Do the guiBasic module not working with Cerberus or Monkey?
I was programming in the past with PureBasic, I think they have one library with name ProGUI. It is not free but it is not very expensive too. 20 Euros. But it is little different from BlitzMax and I used to program with BlitzMax and as I remembered it was supported DirectX 7. With

BlitzMax supports many game like functionality (Direct x 9,10,11, openGl 3,4, shaders, zipStream, render to texture and additional functions for audio channels and partially GUI not window forms but ingame GUI with ifsoGUI even if lacks of menus, fonts. It lacks video playback functionality). So far the BlitzMax is superior for 2D game development).
So if I will use Monkey like distro I will use Cerberus X which looks like is the latest. Godot I think is not compiling for windows or any desktop target it. I think is for Browsers only? maybe I am wrong. I haven't made a research and I haven't used before.
 
Godot I think is not compiling for windows or any desktop target it. I think is for Browsers only?
If you use GDScript. which is a Python like language, then it is interpreting it at runtime. Mono I think is compiled. You can target Desktop, Android and I think Web. And while there is a experimental WebEditor, you code on the desktop machine. But I am not here to advocate for Godot. :)

Do the guiBasic module not working with Cerberus or Monkey?
Yes, it does.


1664297961851.png
 
It looks excellent. I will try Cerberus X and thing nice Gui Library.
Where do I will find the Cerberus X version of Jungle IDE. I am reading the forums and people say it needs a specific version of Jungle IDE to work with Cerberus. The original is for Monkey x. That's I understood.
Also I see in the showcase and other peoples games even in the examples section this language looks very wonderful.

Update:

I read about even Jungle IDE was stopped working.
Anyway any kind of nice IDE for Cerberus X. (But if you suggest and any IDE for Monkey X will not be a problem (May I will give and Monkey X a try).
 
Last edited:
I discovered that from Lemon Bytes the Cerberus X version exists inside the zip file.
Do I will need to run and the Update too after installing the Beta 4 version?
 
Well I have new question I will post it here.
I installed the Jungle IDE and I installed and the Windows Desktop Target that installs MinGW folder inside my Cerberus main folder.

I begun to read some tutorials and I write a tiny program:

Function Main() Print "Hello" End

I tried it to compile and I have this error. Is it a MinGw error. (The MinGw was installed automatically when I set to install the Windows desktop target

Building... gcc -D_GLFW_WIN32 -m64 -fpic -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../tinyfiledialogs -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/context.o ../glfw3/src/context.c ../glfw3/src/context.c:1:0: warning: -fpic ignored for target (all code is position independent) [enabled by default] //======================================================================== ^ ../glfw3/src/context.c:1:0: sorry, unimplemented: 64-bit mode not compiled in Makefile:68: recipe for target 'build/Release64/context.o' failed mingw32-make: *** [build/Release64/context.o] Error 1 TRANS FAILED: Error executing 'mingw32-make ARCH="64" CCOPTS=" -m64 -fpic -O3 -DNDEBUG" LDOPTS=" -m64 -s -LC:/Cerberus/libs/Win64" LIBOPTS=" " SRCOPTS=" " VPATHOPTS=" " OUT="Release64/CerberusGame"', return code=2 Abnormal program termination. Exit code: -1
 
Remove that MinGW version and replace it with this. Or download the latest version of TDM-GCC from here.
Do not install any of the other tools that Jungle offers to install. They are all out of date and the MinGW compiler can only create 32 bit applications.
If you have installed any of the SDK's via Jungle IDE, make sure that they are not listed in the Windows Programs and Features found in Control Panel before manually deleting any folders.

To get the Android SDK. Download Android Studio, it has tools to manage the installation of all software development kits and Android emulators. Make a note of where the Android SDK and the Java Development Kit are located, you will need those paths for later if you have not installed them to the default loactions.

You then set the paths to all the required tools and software development kits in the file called config.winnt.txt found in the Cerberus X bin folder.

Replace:
MINGW_PATH="d:\TDM-GCC-64x"
with the path to the MinGW installation folder.
If you've install MinGW/TDM into the Cerberus folder, then just replace it with something like this
MINGW_PATH="${CERBERUSDIR}\tdm-gcc-64"

JDK_PATH="D:\Program Files\Android\Android Studio\jre"
If you've install Android Studio to it's default location, then you can replace it with

JDK_PATH="${ProgramFiles}\Android\Android Studio\jre"

ANDROID_PATH="C:\Users\mike\AppData\Local\Android\Sdk"
If you've installed Android Studio's SDK to it's default location, then you can replace it with

ANDROID_PATH="${LOCALAPPDATA}\Android\Sdk"
 
Because I am using and BlitzMax and in the MinGw folder that is in the root directory of the C: is it possible to not change the Environment Variable MINGW_PATH to a new folder. If I will just add the MinGw you gave in the Cerberus directory as subdirectory and I add a path there. (The path that windows uses not changing the MINGW_PATH variable).

Well, I did this. I just deleted the contents of the MinGw sub directory the Jungle Ide created and I just placed the contents of the tdm-gcc-64.zip inside and it compiled creating lots of useless directories. Why do things are so complicated?

BlitzMax is so nice and clean. You compile your code and you have a single nice .exe file (With the name of the project) not lots of useless subdirectories with strange names and the object files scattered here and there and you try to find where the program was compiled. It compiled inside (game_directory)\main.buildv2022-03-26\glfw3\gcc_winnt\Release64

With filename "CerberusGame.exe"

Also is it possible to change the icon of the executable? (Blide had this option).
I will not install the Android JDKs for now, because the Jungle IDE tried to install the Android JDKs and it installed lots of Java versions and other Java runtime libraries I do not want now. (But thank you for the information in case I will create any Android game in the future but in deep future because I will need to learn this programming language first and I hate mobiles in general).
 
Well after an error I had with guiBasic it was run. (I placed the second subfolder guiBasic/guiBasic in the modules_ext folder of Cerberus and some example codes compiled.
I am happy for now. But there are many things to learn. (The important is to find a way to load game asset files from zip and create zips on runtime). The assets will not be extracted from the zip but will load directly from the zip. I will see, but there are other things I do not know yet because it is a complete different language. (I do not like this format of OnUpdate() and OnRender() it reminds me a little about Unity) and this is not allows you to create your own game loop. I will continue my research.
 
Because I am using and BlitzMax and in the MinGw folder that is in the root directory of the C: is it possible to not change the Environment Variable MINGW_PATH to a new folder.
Yes you can change it. If you already have a 64 bit version of MinGW installed, you can just set that configuration variable to where your install of MinGW is. Be aware that the code Cerberus X creates is getting old and will have issues with newer compilers.
Why do things are so complicated?

BlitzMax is so nice and clean. You compile your code and you have a single nice .exe file (With the name of the project) not lots of useless subdirectories with strange names and the object files scattered here and there and you try to find where the program was compiled. It compiled inside (game_directory)\main.buildv2022-03-26\glfw3\gcc_winnt\Release64
I take it that you have never used a compiler tool chain before. All those useless files have a purpose depending on the host operating system and compiler that is to be used. These directories and files are copied from the templates directory into your projects build directory, where the Cerberus X program translates the code you write into an actual C/C++ source file placed into the glfw directory. The Cerberus X program transcc then calls the compilers own build tools to compile the translated sources. The process would be called a front and back end tool chain, where Cerberus X is the front end and the installed compiler is the back end.

The purpose of each directory in the glfw directory starting with those that are dependencies.
curl .... The source files and prebuilt library for the cURL network file transfer library. See here on what cURL is.
glfw .... The source files for the multiplatform OpenGL library to create windows. See here.
openal .... The source files for the multiplatform audio library. See here.
stb .... Some of the source files for the Sean T. Barret libraries. A collections of simple libraries for image loading. See here.
tinyfiledialogs .... The source files for a collection of libraries to create simple dialogs where bindings to the host operating systems own GUI API's are complicated to achieve.

The next directories are the instruction templates and build locations for each of the supported compilers that can be used.
gcc_linux .... This is used on Linux host operating systems and contains a Makefile to instruct the Linux version of GCC to build a program.
gcc_winnt .... This is used on MS Windows host operating systems and contains a Makefile to instruct the Windows version of GCC (MinGW) to build a program.
msvc .... This is used on MS Windows host operating systems and contains a Visual Studio 2017+ solution.
xcode ... This is used on Mac OSX host operating systems and contains a XCode project files.

The other files are:
main.cpp and main.mm ... The file that Cerberus appends translated code to. The cpp extension is for use with C++ compilers while the .mm is use with XCode.
main.h .... The required header file that includes other dependencies required.
resource.rc ... Used by the MS Windows tool chain back end compilers to include icons et cetera.
config.cxs ... This is used by Cerberus X for defaults if none have been set.

With how the build directories is set up, there is nothing to stop you from using something like Visual Studio 2017+ or another IDE such as Visual Studio Code, where providing you know how to program is C++, you can load the project or solution and make your own tweaks, debug and do real software profiling.
Also is it possible to change the icon of the executable? (Blide had this option).
Yes. See the Cerberus X configuration settings found here.
(The important is to find a way to load game asset files from zip and create zips on runtime). The assets will not be extracted from the zip but will load directly from the zip.
This would be very difficult to do with Cerberus X for someone that is a beginner and has no knowledge of the back end compiler language. Plus it would require knowledge of the internals of Cerberus X garbage collector and how the default modules that come with Cerberus X work.
(I do not like this format of OnUpdate() and OnRender() it reminds me a little about Unity) and this is not allows you to create your own game loop.
All game engines will hide the more complicated aspects of creating the basics of an application, they are after all running on an event based operating system and setting up a simple window is a complicated task. There is a reasons why there are OnUpdate and OnRender functions and it all comes down to how often these functions are called and the length of time it take to complete the code contained within. OnUpdate will run as fast as it can, where OnRender will be tied to the frame rate set. Rendering is an expensive operation for real time applications such as games, so game logic needs to prioritised and placed into the OnUpdate function. All drawing code needs to be place in the OnRender function because of how the hardware render pipeline actually works. One of the biggest mistakes that can be made is to have lots of little images for one character, this actual slows down rendering a single frame because the render buffer has to be flushed for each image change. This is why you see lots of small images combined into a larger image. See Render Hell for a more full explanation.
 
I run the guiBasic module and worked.
Do you know where do I will find and other skins? (In their screenshots present and other skins).
 
I discovered that I need to have the graphic of the game inside a folder that has extension .data
For example for the main source code I use the name "main.cxs" and the folder that I put the graphics is main.data which is inside the main program's sub folders .\main.buildv2022-03-26\glfw3\gcc_winnt\Release64
And if I want to ship my game with my assets I will need to have the main source code (any kind of name) with . and data folder. (of course I do not like this kind of struct or the way this language access the data but anyway). Fortunately this happens only inside the project directory.

I did an experiment and I copied the .exe file with a completely new folder and I added a folder with name just data (Not main.data) and it worked.
Something like this:
Shipped game folder.png

But forcing you to have a permanent directory with name data (Application GameKit does the same). I do not like it and of course the reason that I am not able to zip or protect my assets it sucks completely. (Of course the particular program I will develop it will be used to create the levels of the game and the user will have all the assets inside a single folder (Let's say this data) and then I will create another program with BlitzMax that will read all the contents of this data folder and make a nice single large data.zip. The main game will be programmed with BlitzMax, the editor will be developed with Cerberus X because there is this guiBasic module which I like it because has the menus and better gadgets. (Of course I am in research process). I will try and other programming languages. I just do my experiments.

SO, I have a new question.

In my project I have a project tree like this:
Project tree.png

And I want to include and the source code files "init_gui_thems.cxs" and "load_data.cxs"

I use the Import commands to (include) my additional source codes. (Make the program to remember them).

Import load_data
Import init_gui_theme

It suppose to not need to say Import load_data.cxs

In the main function I use something like this:

Function Main()

Init_Gui_Theme()
Print "Hello"
New Game

End

Of course I do not like and this thing that I am forced to have and a class with these OnCreate(), OnUpdate() and OnRender(), it forces me to have their own game loop not mine. (Too much Unity like game loop). You are forced to have a very static game loop locked in the format they language wants. You do not have the freedom to create your own game loop. I like a more procedural programming language in general, not be forced to have a specific class with specific names and specific format. (But any way I will do lots compromises for now for research purpose until decide if this programming language will not be for me).

The Init_Gui_Theme() is an external function that exist in other source code file "init_gui_theme.cxs" look the project tree above.
The "init_gui_theme.cxs" contains this code:

Import mojo
Import guiBasic

Function Init_Gui_Theme()

Atlas_Theme = LoadImage("Atlas.png")
Gui.SetTheme(Atlas_Theme)
Gui.SetFonts("titlefont.txt", "normalfont.txt", "normalfontinv.txt")

End

Also I have set some global variables at the beginning of the program after the import commands:

Global Atlas_Theme:Image
Global Fantasy_Theme:Image
Global Futuristic_Theme:Image
Global Windows_Theme:Image

These are the image variables for the images of the themes of the guiBasic module.
When I run the program I have the error: Identifier 'Atlas_Theme' not found.

It is the Line 6 inside the "init_gui_theme.cxs" source code

Import mojo
Import guiBasic

Function Init_Gui_Theme()

Atlas_Theme = LoadImage("Atlas.png") <=== HERE IS THE ERROR
Gui.SetTheme(Atlas_Theme)
Gui.SetFonts("titlefont.txt", "normalfont.txt", "normalfontinv.txt")

End
The global variable Atlas_Theme is not recognized globally and it should.
Where is my error?

If I will put the Global Atlas_Theme:Image inside the init_gui_theme.cxs" source file
the compiler will not complain about the "Atlas_Theme" identifier not found, but it will crash silently. Also the debugger is not giving
much information where an error would be.

debugger.png

Of course presents with bold that the problem exists in the Main function inside the "Init_Gui_Theme" file in LoadImage command.
But the file in the LoadImage is "Atlas.png" but it is not giving you information what error it is?
The debugger is not informative to give you understand where the error is. (Of course knowing that from previously the global variable Atlas_Theme is not presenting inside the "init_gui_theme.cxs" I understand there is something wrong with the global variable Atlas_Theme but putting the global variable Atlas_Theme again inside the "init_gui_theme.cxs" source file, a regular language would drop an error about duplicate variable definition. Here the debugger is not presenting what kind of error is and the global variable is not present inside the Init_Gui_Theme() scope. I think it should.
 
Last edited:
Well,
I changed the order.
First I created the Menu and all the gui stuff and then I change the theme.

MainScreen = Gui.CreateScreen()
MyButton = Gui.CreateButton(10, 10, 120, 25, "MyButton", MainScreen)
Main_Menu = Gui.CreateMenu("Adventure", MainScreen)
Main_Menu_Adventure_New = Gui.CreateMenuItem("New", Main_Menu, 0, 0)
Init_Gui_Theme()
But it is silly I need to put the global variables inside and the separated source code file, which means you do not need to put the defined global variables twice or as many times inside your source code or in different source code scopes, the compiler should complain about global variables are defined already. What kind of global variables are if I will need to define them each time I use them in separated source code file?

I defined the global variable in the main source file and I re defined in in the separated source file I imported. It seems when you are importing an additional source code, the scope forgets the variables even if they defined as global before.

The program was run. I tried to do an experiment to create a null game class with to trick the compiler:

Class NullGame Extends App

Method OnCreate()
SetUpdateRate(60)
End Method

Method OnUpdate()
End Method

Method OnRender()
End Method

End Class

I was put it at the beginning just to exist and do nothing and then create my game loop with procedural way like this:

Function Main()

New NullGame

MainScreen = Gui.CreateScreen()
MyButton = Gui.CreateButton(10, 10, 120, 25, "MyButton", MainScreen)
Main_Menu = Gui.CreateMenu("Adventure", MainScreen)
Main_Menu_Adventure_New = Gui.CreateMenuItem("New", Main_Menu, 0, 0)

Init_Gui_Theme()


Gui.Update()
Cls(200, 200, 200)
Gui.Draw()

End
But it wasn't run.
Even I removed the New NullGame line and the trick wasn't worked. It needs this stupid fixed class.
Also it seems there is not flip function (That does flip the video buffers) and the OnRender() method does this flip buffers internally.

Also it needs the OnCreate() and OnUpdate() methods, I believed that if I would removed these 2 methods at least and kept the OnRender() only. Practically the Function main is empty accepts only this silly class, nothing else.

Well, I did my first experiments. I will use this static class it has and I will redefine the global variables inside the separated source code files to see what other oddities this language has I will play with this guiBasic module and I will try and other things like to load sprites, do some effect, open some file and see how the even system works.

According what I have seen so far. When I will need to load some image I just load it without put any subfolder, everything load by default from inside this static data folder. (Of course I will do and this experiment to add a subfolder inside this data folder and try to load graphics or anything else from there). The way you see the project is much different from what you have if you copy everything in a complete different folder. In the project for example I seen my data folder as main.data but if I will compile the game the folder is data.
 
Last edited:
Also the debugger is not giving
much information where an error would be.
Please post a small project and the error message. When you use TED, it does point you to the error.
If you use 3rd party code editors, then please take the issue to its creators.
 
Back
Top Bottom