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 - bigsofty

Pages: [1] 2 3 ... 20
Looks like the test modifications, that should have been removed, that I tested a few weeks ago (see my posts regarding the removing ".self" compiler modification in Steam beta) have now made there way in the the the actual newly updated Steam version of GLB!?!? See... post.

I now simply cant compile my code. I tried to modify around this error but my project is over 150 thousand lines of code, spread across 129 files... and gave up after an hour.

Obviously this was compiling fine before the update last week.

"gui.gbas"(1685) error : GPC0007 wrong argument type

Code: (glbasic) [Select]
FUNCTION GetWidgetID%: name$
IF name$="" THEN RETURN -1
LOCAL i%, w AS TWidget
FOREACH w IN self.w[]
INC i%

Its the same piece of code that was tested here( after the test modification was made to the Steam beta compiler which has made its way into the release build. This was supposed to be dropped for causing these errors a few weeks ago. Unfortunately, this is only the first of a lot of of compiler errors now in my code.

Off Topic / Happy New Year Guys!
« on: 2021-Jan-04 »
What a shit year 2020 was, I hope 2021 shapes up better!  :blink:

Off Topic / Happy Christmas!
« on: 2020-Dec-18 »
Have a good one guys!  :booze:

Off Topic / The Colour Maximite 2
« on: 2020-Jun-24 »
It's a retro boot-into-Basic computer that you can build by yourself. Strictly a fun DIY project for the dark winter nights!  :D

Off Topic / Merry Christmas!
« on: 2019-Dec-24 »
It's that time of year, have a good one guys!

OK, all I want to do is render my 3D scene to a texture and dump it back onto a 2D screen. But when I do, the origin of the 3D camera seems to jump to the right(or the grabbed texture dimensions are getting messed up).

It's one of those situations that you know something is wrong but cant see the reason why?  :blink:

Please run this snippet at 640x480 windowed please and tell me if you get the same result?

Code: (glbasic) [Select]
SETCURRENTDIR("Media") // go to media files

GLOBAL screenID%, spriteID%
GLOBAL screenWidth%, screenHeight%
GETSCREENSIZE screenWidth%, screenHeight% // 640,480, windowed
screenID% = 0
spriteID% = GENSPRITE()

DEBUG IIF( PLATFORMINFO$("GLEX:glBindFramebufferEXT")=1, "FBOs supported\n", "FBOs not supported\n" )

CREATESCREEN screenID%, spriteID%, screenWidth%, screenHeight%


CLEARSCREEN RGB( 44, 44, 44 )
X_MAKE3D 1, 1000, 75
X_CAMERA 0,0,-100, 0,0,0

DRAWSPRITE spriteID%, 0, 0
PRINT "Rendering to texture", 0,0

CLEARSCREEN RGB( 44, 44, 44 )
X_MAKE3D 1, 1000, 75
X_CAMERA 0,0,-100, 0,0,0

PRINT "Not rendering to texture", 0,0


Oh, as a side note, is anyone getting the message "FBOs supported" in the debug window?

Off Topic / Voxels are the future!
« on: 2019-Aug-23 »
This guys kinda mental but the tech on show here is pretty amazing!

Bug Reports / Profiler broken?
« on: 2019-May-21 »
I get a compile failed when I turn on the profiler option...

Code: (glbasic) [Select]
g++.exe: error: resource.o-lGLBProfiler: No such file or directory
*** FATAL ERROR - Please post this output in the forum

Off Topic / New Mac....ish story
« on: 2019-Apr-01 »
I purchased an iMac and then a Mac Mini a few years ago when I had some Mac/iOS contract work. They were both second hand, total about £1000'ish. Even then I cringed as I knew they weren't worth it. PC wise, the hardware was way outa date and now their just gathering dust in a cupboard. God Mac hardware is overpriced!

Something I thought about years back was building a Hackintosh but I heard it was tremendously difficult and throught with comparability problems. Also I'm an AMD guy, so this was outa the question on my hardware.

But out of sheer interest, as I no longer support OSX or iOS, I purchased bog standard 2nd hand Intel desktop base unit off of eBay. It had an Intel i7 3770 and was on an Ivy Bridge(both CPU & MB being Intel, makes for an easier installation) mother board, with 4 meg of ram, 300GB HD, 300WATT PSU, in non-de-script black desktop case. £100, not a bad find. Although an i3 or i5 would have been just as good for this. I was lucky, that it came with a free(it wasn't even mentioned in the ad) NVidia GT210 GFX card, which was a surprise as I thought I would have to use the CPU GPU(which works also). It's not an expensive card though, £10-£15 on eBay, actually its pretty bad card but what the hell.

Since I wanted to support High Sierra (Mojave would not use the NVidia GT210 but the installation procedure is the same if I want Mojave) I choose that. The method I chose did not require a Mac to create a recovery USB, its all done on a Windows PC. I just followed the instructions off a website and created and a couple of hours later I had the OSX installation USB drive on an old 8GB USB 2 Key. Booted to that and installed onto the 300GB HD. Resetted the machine and it booted into High Sierra. I may have been lucky but everything worked. It's a full Mac on the screen. It comes up as an iMac 13.3. No incompatibilities, sound, network, keyboard, mouse etc. I can log into the App Store and it is not rejected and seen as a legit iMac.

It was a bit weird, seeing a Mac on a PC monitor but it does work. I've used it various things, nothing serious though, just resting compatibility TBH. Its fast, I hate to say it, OSX is much more optimised than windows, even on this relatively tame hardware its very smooth(Although I did stick in an old 4GB DIMM that was in a drawer afterwards to get 8GB), not a hint of jittering. I have also stuck in(I'm a bit of a tech hoarder) an old 250GB HD and installed Windows 10 on that, the Mac boot menu supports dual booting off the bat so nothing else needs to be done to support a dual OS boot.

It's a time consuming and pretty exact process that had to be done in many multiple steps but an evening can get the job done. Hell if a numpty like me can do it...

But the equivalent iMac (A1419) on eBay today would be, 2nd hand, £750 - £1000 (Admittedly with a screen). My total cost(Excluding some old junk I had lying around) £100.

It was fun, in a nerdy kinda way, to see if it could be done mainly, I would definitely advise anyone to give it a go.

The main reason I mentioned this is I know some of you still want to support a OSX(iOS possibly on other dev kits), so this may be a cheap option for that.

It's also rather, ahem, grey area legal-wise. So I can post the link to the website I used for the instructions via PM if your interested.

Any admins not happy with the post, feel free to move/delete it, no harm done. :)

Before upgrading to the steam version (my old version was 14.371) my compilation times were about 40-50 secs. Not too bad. But since going on to the Steam version my compilation times have gotten between 300-400% longer (120-170 secs). My source has not changed. I have an old 8gig Dual Core laptop for dev work, it's not the fastest but it was more than adequate up until this point.

Now watching the compile via task manager, the compiler seems to be launching each source file GLB pre-compiler, compilation and linker on its own process. My project is over 100 files, so this is driving my computer nuts resource-wise. It was doing this with my old compiler version too but there seemed to be a limit on the amount of processes launched during compilation, not so in this version I think? I am also now using over 3 gig in memory too as all this commotion is running at once. 2 out of every three compilation fails due to the machines resources being overwhelmed. My IDE completely freezes during the compilation process, hell my whole computer is useless during the compilation process.

My question, or request is, can the amount of compilation generated processes be added to the project options to allow users to tailor the compilation process to match their hardware? This would solve the problem I believe.

Off Topic / Turtle + Audio = Turtle.Audio
« on: 2018-Oct-31 »
This is kinda a wacky idea but it also kinda works too.  :S

Off Topic / Roguelikes
« on: 2018-Oct-29 »
This is a nice article I recently came across and I would like to share the link...

I've always been interested in Roguelikes but I was always baffled by the RPG mechanics and the general scope of Roguelikes. There a real 'coders' genre IMHO, almost no graphics or sound to mess around with, just code. I'm seriously thinking of giving it a go myself.  :noggin:

If anyone is really interested in this subject I would heartily recommend this subreddit too...

Off Topic / Back on the net
« on: 2018-Oct-25 »
Yay, nearly 2 months without a proper internet service and now I’m back on. What a mess my it’s been. Glad I’m back in the modern world.

On the plus side I’ll be able able to up load at a much faster rate. Maybe do some YouTube vids etc.

Phew!  8)

Off Topic / RIP Ben Daglish
« on: 2018-Oct-04 »
One of my all time 8-bit chiptune heroes Ben Daglish has passed away. His work on Deflektor, 3D Galax and  Auf Wiedersehen Monty we’re works of genius that still hold up to this day. He’ll be sadly missed.

Why? GLBasic uses the default OpenGL 1.1 headers for it's OpenGL. These are functional but lack a lot of features. Advanced blending modes, shaders with decent features etc. need GL 3.0+
To add OpenGL functionality to your project I use GLee (GL Easy Extension library), see here...

To use it within your projects all the hard work is done within the project options dialog. I used the GCC command line option to pre-empt the GLBasic linking process.

Before that though, I need a folder, within my games ("PMS") project folder to hold the GLee.h and GLee.c library files. See attached archive.

STEP 1: Create a container folder and copy the GLee files into it

For my PMS game, its in "MyC", within the PMS game project folder...

Code: (glbasic) [Select]
"C:\Coding Folder\Projects\GLBasic\PMS\MyC"
Obviously change the "C:\Coding Folder\Projects\GLBasic\PMS\" bit to match your own projects path.

Once that has been created. Extract the files mentioned above into the "MyC" folder.

STEP 2: Include the header and link it's library file in the project options

Open your project options dialog ( In the GLB IDE Menu - "Project" then "Options" )

An on your "cmp" (Compiler command line options) and "lnk" (Linker command line options) add these two lines (keep the quotes BTW)

In "cmp" ...
Code: (glbasic) [Select]
-I"C:\Coding Folder\Projects\GLBasic\PMS\MyC" -include GLee.h
In "lnk" ...
Code: (glbasic) [Select]
"C:\Coding Folder\Projects\GLBasic\PMS\MyC\GLee.c"
Save and exit.

Thats it!

Here's a very quick test for OpenGL 3.0 support ...

Code: (glbasic) [Select]
  //OpenGL 3.0 is supported (Minimum)
  DEBUG( (DGStr)" OpenGL 3.0+ supported " );
glClampColor(GL_CLAMP_READ_COLOR, GL_FALSE); // Quick usless OpenGL 3.0 only command
// to show that its working. Remove in final game!
// There should be NO compile errors if GLBasic accepts
// it as a valid inline command.

Check for errors. The above should be at the beginning of any program that uses this lib as it's a good check for older unsupported cards too.

A couple of tips.

Changing the linked library("lnk") "C:\Coding Folder\Projects\GLBasic\PMS\MyC\GLee.c" to ""C:\Coding Folder\Projects\GLBasic\PMS\MyC\GLee.a" allows for static linking of GLee and therefore much quicker compiles. But you will need to recompile (GLee.c & GLee.h into GLee.a) for any other platform other than Windows to staticly link it for another platform. There is a Windows "GLee.a" in the "" within the main archive. This is what I actually use.

Once the library is installed, you now have full OpenGL inline support using DGInt, DGNat, DGStr etc. This is VERY handy once you get comfortable with mixing inline GL code with normal GLBasic. It's also very easy to wrap the new GL commands.

Pages: [1] 2 3 ... 20