Menu

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

#1
Okie dokie, I've been having a look around the place, and have decided that my first project needs to be something relatively simple to get my teeth back into coding. I also want to concentrate on what I do best - no, not breaking wind - writing self contained snippets of code that solve a problem (or do some of the donkey work out of game creation).

By first task is going to be to revisit my Bitmapped Font Library code. There are a few good reasons for tackling this project first:-

1) Many, many people seem to have found these routines useful
2) People have modified the code to add additional features, but some have managed to add a couple of minor bugs in the process (oops!)
3) Before RL happened, I had numerous features lined up to add, and numerous optimisations to make
4) It is a set of routines that will always be completely platform independent

With this in mind, may I humbly request that people do not continue to edit my original source further? This is largely because I may decide to make the final version of these routines (which the next one should be!) as "forced" donationware (ie you can have the source for a donation - how much is up to you.) Sorry if that sounds rather unlike me, as normally I am happy to share all my routines freely - but staggeringly, in the three or four years I have had a "Buy PeeJay a Beer" link on the website (in fact, I think that Paypal link is now broken since I changed email address about 2 months ago) I have had no less than TWO donations, one of which wouldn't have bought me a pint of milk, let alone a pint of Guinness! Don't get me wrong - this is not a whinge (well, not much), but with the number of people that have found my tutorials and routines useful, even invaluable, I would have expected a few beers bought for me, especially considering the time that was given up to create these things.

Whilst I am not particularly materialistic - believe me, on my salary, you learn not to be - it has made me feel rather despondent that people are making money selling apps on market place etc, but freely given donations are thin on the ground, to say the least :(

With that in mind, my whole philosophy and outlook has changed - possibly not for the better - but hopefully enough to help even out of the balance a little. If I am coding for me, that's one thing, but if I am coding for others (which I have done repeatedly in the past both with problem solving and code routines) then a donation for my time would be more than welcome :)

My very first task, though, it to completely overhaul the website - I kinda like the look of the website I have created for SADOS - www.sados.co.uk - so the new look website may well look remarkably similar ;)
#2
Hi guys!

Okie dokie, I'm looking to start coding again, but before I do, I'm wondering if anyone has any advice / code snippets to help with the following (bear in mind I have been out of the scene for a couple of years, so I'm more than a little rusty!)

Running my previous games on my shiny new huge monitor looks really shit, because of the stretching to full screen on a widescreen display (native resolution on this screen is 1920x1080). I know there was some discussion on solving this issue at http://www.glbasic.com/forum/index.php?topic=5006.msg38597#msg38597 which is a nice workaround, but as I understand it, it will only work with Windoze (thus negating the idea of having one source code for all platforms)

Has anyone resolved this problem yet, or have new GLB versions got swanky new features to address this issue?

Any help / pointers would be very much appreciated
#3
There seems to be a bug in the SAVEBMP command which means that all pixels that are RGB(0,0,0) will be saved as RGB(255,0,128) in the resultant bitmap
#4
TriTangle has *finally* been released!







Download for Windows or Linux from www.peejays-remakes.co.uk
#5
I've just updated from a (very!) old version, and have hit problems.

Gernot - you need to amend the help file - the example source for the PLAYMUSIC command doesn't include the loop parameter (which was the first thing to catch me out!)

However, I'm now getting an error in my high score loading routine, which has me beat. The error is:-

compiling:
C:\DOCUME~1\PeeJay\LOCALS~1\Temp\glbasic\gpc_temp0.cpp: In function `DGInt __GLBASIC__::LoadHiScores()':
C:\DOCUME~1\PeeJay\LOCALS~1\Temp\glbasic\gpc_temp0.cpp:2171: error: invalid initialization of reference of type 'DGNat&' from expression of type 'DGInt'
C:/Program Files/GLBasic/Compiler/platform/Include/glb.h:864: error: in passing argument 2 of `void __GLBASIC__::READBYTE(DGNat, DGNat&)'
C:\DOCUME~1\PeeJay\LOCALS~1\Temp\glbasic\gpc_temp0.cpp:2179: error: invalid initialization of reference of type 'DGNat&' from expression of type 'DGInt'
C:/Program Files/GLBasic/Compiler/platform/Include/glb.h:864: error: in passing argument 2 of `void __GLBASIC__::READBYTE(DGNat, DGNat&)'
*** FATAL ERROR - Please post this output in the forum

and the function is:-

Code (glbasic) Select
FUNCTION LoadHiScores:

LOCAL loop,loop1,byte,bytes$=""

LOCAL check=OPENFILE(0,"hiscore.dat",TRUE)

IF check=FALSE
FOR loop=0 TO 4
hiscore$[loop][1]=75000-(loop*5000)
NEXT
hiscore$[0][0]="FIRST NAME"
hiscore$[1][0]="SECOND NAME"
hiscore$[2][0]="THIRD NAME"
hiscore$[3][0]="FOURTH NAME"
hiscore$[4][0]="FIFTH NAME"
ELSE
FOR loop=0 TO 4
FOR loop1=0 TO 19
READBYTE 0,byte
byte=byte+20
bytes$=bytes$+CHR$(byte)
NEXT
hiscore$[loop][0]=bytes$
bytes$=""
FOR loop1=0 TO 6
READBYTE 0,byte
byte=byte+20
bytes$=bytes$+CHR$(byte)
NEXT
hiscore$[loop][1]=bytes$
bytes$=""
NEXT
ENDIF

CLOSEFILE 0

ENDFUNCTION


It compiled perfectly before, so obviously something has changed since my previous version. Any pointers anyone? Thanks
#6
I stopped trying to do OSX builds as the games didn't seem to like shoebox, but now it seems to be affecting linux builds as well - see http://www.retroremakes.com/forum2/showpost.php?p=174859&postcount=89

Or is it something stupid I'm doing wrong? Gernot? Help! :)
#7
GWAN - Game Without A Name - is finally released. This game is about as retro as you're going to get - best described as what happens when Asteroids goes paintballing.

Full details and downloads from my website ....
#8
Just released - hot off the press!

Remake of Manic Miner, Manic Miner 3 (Tales from a Parallel Universe) and Manic Miner 5 (The Perils of LSD)

Available in Windows and Linux flavours from my website (can't do an OSX version until the shoebox problem is resolved :()
#9
FAQ / Run on Mac - How to
2008-Apr-21
HELP!

If you have a look at a website that has linked to Danger Mouse - http://jayisgames.com/archives/2008/04/weekend_download_35.php - and read the comments, it appears that numerous people are having problems with the Mac and Linux ports.

Could someone who is clued up on getting things working on these platforms have a look and see what the problem is? I have added a comment myself asking for detailed feedback, but whether I get any or not will remain a mystery ....

Thanks for any help
#10
GLBasic - en / Polyvector
2008-Mar-21
Gernot - do you have any plans imminent to add the ability to use images from anim strips with Polyvector?
#11
I have set SYSTEMPOINTER FALSE at the start of my code, and have used MOUSESTATE to ensure the pointer is off.

The problem is, when loading an mp3 for PLAYMUSIC, for an instant the hourglass icon pops up onto the screen
#12
When running a game in windowed mode, is it possible to automatically ensure the window fits on the screen?

While debugging, I prefer to have my game running in a window, but at the moment, while running the game in a window at 1024x768 on a desktop sized at 1280x1024, the window is only partly visible (it is off to the bottom right of the screen)

I hope that makes sense .......
#13
I was just playing with some code, I won't bore you with why, but this was a little experimental snippet

Code (glbasic) Select
SETSCREEN 640,480,0
LIMITFPS 60

DRAWRECT 0,0,640,480,RGB(255,255,255)
GRABSPRITE 0,0,0,640,480

ang=0

WHILE TRUE

INC ang,1
IF ang>359 THEN DEC ang,360

BLACKSCREEN

STARTPOLY 0
POLYVECTOR 320+(230*SIN(ang)),240+(230*COS(ang)),320+(230*SIN(ang)),240+(230*COS(ang)),RGB(255,0,0)
POLYVECTOR 320+(230*SIN(ang+60)),240+(230*COS(ang+60)),320+(230*SIN(ang+60)),240+(230*COS(ang+60)),RGB(192,192,0)
POLYVECTOR 320+(230*SIN(ang+120)),240+(230*COS(ang+120)),320+(230*SIN(ang+120)),240+(230*COS(ang+120)),RGB(0,255,0)
POLYVECTOR 320+(230*SIN(ang+180)),240+(230*COS(ang+180)),320+(230*SIN(ang+180)),240+(230*COS(ang+180)),RGB(0,192,192)
POLYVECTOR 320+(230*SIN(ang+240)),240+(230*COS(ang+240)),320+(230*SIN(ang+240)),240+(230*COS(ang+240)),RGB(0,0,255)
POLYVECTOR 320+(230*SIN(ang+300)),240+(230*COS(ang+300)),320+(230*SIN(ang+300)),240+(230*COS(ang+300)),RGB(192,0,192)
ENDPOLY

STARTPOLY 0
POLYVECTOR 320+(200*SIN(ang)),240+(200*COS(ang)),320+(200*SIN(ang)),240+(200*COS(ang)),0
POLYVECTOR 320+(200*SIN(ang+60)),240+(200*COS(ang+60)),320+(200*SIN(ang+60)),240+(200*COS(ang+60)),0
POLYVECTOR 320+(200*SIN(ang+120)),240+(200*COS(ang+120)),320+(200*SIN(ang+120)),240+(200*COS(ang+120)),0
POLYVECTOR 320+(200*SIN(ang+180)),240+(200*COS(ang+180)),320+(200*SIN(ang+180)),240+(200*COS(ang+180)),0
POLYVECTOR 320+(200*SIN(ang+240)),240+(200*COS(ang+240)),320+(200*SIN(ang+240)),240+(200*COS(ang+240)),0
POLYVECTOR 320+(200*SIN(ang+300)),240+(200*COS(ang+300)),320+(200*SIN(ang+300)),240+(200*COS(ang+300)),0
ENDPOLY

SHOWSCREEN

WEND
Quick edit just to make it a hollow shape (with a black polyvector)
#14
I have written a *very* rough routine for converting a number into 8 bit binary format -

Code (glbasic) Select
test$=Convert8toBin(1)
PRINT test$,200,200

SHOWSCREEN ; KEYWAIT

FUNCTION Convert8toBin: num

LOCAL n$

IF num>127
n$="1"
num=num-128
ELSE
n$="0"
ENDIF

IF num>63
n$=n$+"1"
num=num-64
ELSE
n$=n$+"0"
ENDIF

IF num>31
n$=n$+"1"
num=num-32
ELSE
n$=n$+"0"
ENDIF

IF num>15
n$=n$+"1"
num=num-16
ELSE
n$=n$+"0"
ENDIF

IF num>7
n$=n$+"1"
num=num-8
ELSE
n$=n$+"0"
ENDIF

IF num>3
n$=n$+"1"
num=num-4
ELSE
n$=n$+"0"
ENDIF

IF num>1
n$=n$+"1"
num=num-2
ELSE
n$=n$+"0"
ENDIF

IF num>0
n$=n$+"1"
num=num-1
ELSE
n$=n$+"0"
ENDIF

RETURN n$

ENDFUNCTION
The code is not elegant, but it should work. The bug is this - I expect when I run it for it to return "00000001", but instead, all of the leading zeroes are missing. Since it is a string variable, the "0"'s should be there.
#15
Please don't kill me Gernot, but I've found another bug! I think this code is pretty self explanatory:

Code (glbasic) Select
PLAYMUSIC "music.mp3"

PRINT "This music loops okay",200,200
SHOWSCREEN

MOUSEWAIT

STOPMUSIC

WHILE MOUSEAXIS(3)
WEND

PLAYMUSIC "music.mp3"

PRINT "This music doesn't loop",200,200
SHOWSCREEN

WHILE MOUSEAXIS(3)=0
WEND

PRINT "But it will restart looping now!",200,200
SHOWSCREEN
SLEEP 5000

END
#16
I've managed to compile my project to Windows, Linux, and the GP2X, but when trying to compile to OS/x, I get the following
Code (glbasic) Select
_______________________________________
*** Configuration: OS-X_UNI ***
precompiling:
GPC - GLBasic Precompiler V.2008.035 - 3D, NET
Wordcount:5074 commands

compile+link:
/cygdrive/c/Program Files/GLBasic/Compiler/platform/Mac/Bin/../libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: table of contents for archive: /cygdrive/C/Program Files/GLBasic/Compiler/platform/Mac/OSX/Lib/libGLBasicUni.a is out of date; rerun ranlib(1) (can't load from it)
collect2: ld returned 1 exit status
*** FATAL ERROR - Please post this output in the forum
_______________________________________
*** Finished ***
Time: 12.8 sec
Build: 0 succeeded
*** 1 FAILED ***
#17
Having shoebox is very handy for protecting media files, I have to admit.

Does anyone know a way (or can suggest a way) of adding data files to a shoebox, and then opening them in a read only stream? I am working on a game that has the room data in separate files, which is then read back by the game as and when it is needed. Unlike Microsoft, I'm not a fan of having loads of little files everywhere, so I wonder if anyone can think of a way of adding them into the shoebox file?
#18
I have noticed that you can't view the help from the IDE without having a project open. I know this is an odd one to spot, but I'm a very old school programmer who still favours scribbling code with pen and paper before putting them onto the computer :)
#19
The fact GL is updated on a very regular basis is great, but occassionally things might go wrong, or not work as expected.

Is it possible, when using the net update, to automatically backup the replaced files in a subfolder so if things do go bad, they can be recovered?
#20
I'm having a total mental block on this one.

I use GETPIXEL to get the RGB value, but I can't remember the formula to convert it into the separate red, green and blue components.

Thanks in advance