gfxgfxFreeBASIC Games Directory Forumgfxgfx
gfx gfx
gfx
Welcome, Guest. Please login or register. May 22, 2013, 09:22:34 AM

Login with username, password and session length
11.5.2013 - Added a webpage for the latest FBGD competition.

13.3.2013 - Members registrations temporary disabled. For all membership requests, please email me: lachie13@yahoo.com

30.11.2012 - The ninth issue of BASIC Gaming is out! Read it here: http://games.freebasic.net/forum/index.php?topic=560.0

22.11.2012 - Be sure to check our currently running annual FBGD game making competition. This year's theme is SEASONS OF THE YEAR, 300 $ first place prize, and the competition runs till 18th of February. Link: http://games.freebasic.net/forum/index.php?topic=559.0
gfx
gfx
*
gfxgfx
gfxgfx gfxgfx
gfxgfx Home Help Search Login Register   gfxgfx
gfx gfx
gfx
Pages: [1]
Print
Author Topic: DBOS v2.0(Test Progam)  (Read 1774 times)
dabooda
Forum Howler
****
Gender: Male
Posts: 122



View Profile WWW Email
« on: August 27, 2008, 04:22:08 AM »

I have finally completed my new DBOS lib, v2.0. I basically recoded the entire core and all the object files. But before I continue any further I want to make
sure it is going to operate right on other systems. Please download and run this program: dabooda.org/binary/wip/dbos_tester.zip

This is basically the test program I used while developing my new core and the rest of my lib. So please ignore the graphics and the fact that there is no
point to this thing whatsoever. I mainly need to see if the config utility is working right and if the music core is working right.

The config utility I am really proud of. It is completely self contained within the library and completely customizable via another program. It requires no outside resources at all, for it designs the menu and entries completely by code. This tester runs the config every time it runs, because I set it up that way. But my
games released with this new DBOS library will have an installer that actually creates a shortcut to the main program with the simple command line parameter -config. This way I only have to ship one program instead of two. I am really, again I know, proud of this configuration utility. So please mess around with it and try setting different controls(even joystick), different vid modes, etc...

The music is another thing I am proud of. I finally got an external dll to operate in freebasic that allows me to play .SPC files. For those that don't know what these are, they are basically chip dumps from the SNES. They are always 65k in size and play perfectly with proper looping and everything. So I can now play these great sounding tunes with very little size. The only problem is so far, I have only managed to get the window's wave format to use this. Which means this makes my games strictly windows, as far as I know. I have no clue if wine will run this, but I doubt it, anyone want to give a shot?

Again this tester is what I used to develop the new lib and the graphics aren't anything great. You will see some numbers on top that label three things:
FPS: Number of sprites(built): Number of actuall sprite chars(8x8) that are being rendered each frame. You can use the layer keys to turn off those layers if you want. The sound from hitting the little blue things is supposed to be stereo, so let me know if that isn't working. Also that background is not a palette trick, for it is actually being drawn like that thinks to my handy little effect layer. I will be releasing this library after using it for a bit, and I feel, short of designing a resource class, that this is where this library should be.

Thanks for any comments, problem reporting or what not...DaBooda out...

P.S. I highly recommend running fullscreen, for I have coded a page flipping routine for fullscreen that makes the scrolling super smooth, without any flickering at all.
« Last Edit: August 27, 2008, 04:24:50 AM by dabooda » Logged

Baa...Baa...Bang! F&#K! I'm Wool!
Hezad
Novice
***
Posts: 88


View Profile Email
« Reply #1 on: August 27, 2008, 07:02:45 AM »

Hey Smiley Very cool !

Works perfectly in both windowed and full screen mode. And graphics are nice Smiley

Music worked perfectly, scrolling too. And I didn't see any glitch, even when switching on/off the different layers.
Logged

vdecampo
Forum Howler
****
Gender: Male
Posts: 128


Apocalypse is Forever!


View Profile WWW
« Reply #2 on: August 27, 2008, 09:53:57 AM »

I get pretty much the same results in windowed or full screen. Here are my numbers (whatever they mean)...

60/60 ~200 ~1000

I'm running XPP P4/3Gz 1Gb/On-Board SiS 651 Graphics

-Vince
Logged

Cheers!
-Vince
dabooda
Forum Howler
****
Gender: Male
Posts: 122



View Profile WWW Email
« Reply #3 on: August 27, 2008, 10:24:08 AM »

The set of numbers, I probably didn't explain well enough and I apologize for this. I was half asleep when I posted that earlier.

The first set of numbers is the current fps/max fps. The second value is the total number of tiled sprites on the screen, for example all those orbs in the background and those blue bouncy things are tiled sprites. The final value is how many 8x8 sprite chars are being actually drawn on the screen. I am so
glad that windowed is working without issues, because on my POS I lose frames when in windowed, and especially if the priority is at the lowest, which
is basically a sleep of higher value in each loop. And the tearing is god awful in windowed for me. Thanks for the results and with those stats I probably
could have maxed out the sprites with no issue on your end.

DaBooda out...

(keeps fingers crossed and hopes for no issues...for it is time to start making a game dammit.)
Logged

Baa...Baa...Bang! F&#K! I'm Wool!
Lachie Dazdarian
Double dipper
Administrator
Forum Sage
*****
Gender: Male
Posts: 1195


lachie13
View Profile WWW Email
« Reply #4 on: August 27, 2008, 04:37:11 PM »

Yeah, this works perfectly on my PC too. 800*600 resolution, both full screen and windowed I get 60/60 FPS, with an occasional drop on 59, but this is nothing to worry about.

Man, if I could code something like that.

Maybe I should consider using your lib for a game project. I must see how "stand-alone" the final version will be.
Logged

"Things like Basic and Free Basic provide much-needed therapy and a return to sanity and a correct appreciation of people. The arrogant folk really hate a word like 'Basic' - fine, and good riddance." ~ pragmatist
dabooda
Forum Howler
****
Gender: Male
Posts: 122



View Profile WWW Email
« Reply #5 on: August 28, 2008, 08:07:27 AM »

I keep forgetting how everyone's computer is a lot better than my POS. So I created a new version of this tester program, one that has way more sprites and a few other features. I also optimized a few things, so sorry to ask but could you guys run this version also:

DBOS Tester Program (2).

I am curious to see how this now runs on these higher end computers, running 1024x768 windowed mode with the lowest priority setting gives me a whopping 24fps...sad. And don't stare at the background or moving text for too long because it causes everything you look at to be wavy.


Maybe I should consider using your lib for a game project. I must see how "stand-alone" the final version will be.


When I finally release this it will be an actual dll. Unfortunately it will still need to be exported with allegro and fmod, there is no way around this that I know of. But its syntax is totally different, for I got rid of most the objects and reduced many things to much easier calls. I also added more support and made things easier to deal with the tile tables and such. It is still riddled with pointers and I only recommend it for the Intermediate user.

DaBooda out...
« Last Edit: August 30, 2008, 08:18:00 PM by dabooda » Logged

Baa...Baa...Bang! F&#K! I'm Wool!
vdecampo
Forum Howler
****
Gender: Male
Posts: 128


Apocalypse is Forever!


View Profile WWW
« Reply #6 on: August 28, 2008, 08:22:53 AM »

Here are my numbers at 1024x768 ....
40/60 ~400 ~2600

Windowed or Full Screen were pretty much the same...

Cheers!
-Vince
Logged

Cheers!
-Vince
Lachie Dazdarian
Double dipper
Administrator
Forum Sage
*****
Gender: Male
Posts: 1195


lachie13
View Profile WWW Email
« Reply #7 on: August 28, 2008, 12:51:42 PM »

1024x768, 32 bit depth, both full screen and windowed 60/60 FPS.

A note that the program crashed on my PC (tested several times, it's consistent) if I tried to run 1024x768 windowed mode while my Windows resolution was the same. Full screen worked. To make the 1024x768 windowed work I had to changed my Windows resolution to a higher one.
Logged

"Things like Basic and Free Basic provide much-needed therapy and a return to sanity and a correct appreciation of people. The arrogant folk really hate a word like 'Basic' - fine, and good riddance." ~ pragmatist
dabooda
Forum Howler
****
Gender: Male
Posts: 122



View Profile WWW Email
« Reply #8 on: August 28, 2008, 01:09:13 PM »

1024x768, 32 bit depth, both full screen and windowed 60/60 FPS.

A note that the program crashed on my PC (tested several times, it's consistent) if I tried to run 1024x768 windowed mode while my Windows resolution was the same. Full screen worked. To make the 1024x768 windowed work I had to changed my Windows resolution to a higher one.

Really?! Damn, guess I need to put a check in there for the resolution...shouldn't be too hard to implement. Thanks for the heads up on that bug. Anyone know right off hand how to detect the user's screen resolution? I am assuming its a simple window's function call...guess I could look it up, sigh.

60/60? Damn you new PCs!!

DaBooda out...

P.S. I just assumed only blind people run at a 1024x768 resolution anymore and are usually accompanied by a pair of hairy palms.

EDIT: Fixed the bug, now it simply switches over to fullscreen if the user is trying to set a windowed mode at the same resolution. For anyone curious here is the window's api call I used:

Extern "windows" Lib "user32"
Declare Function GetSystemMetrics(ByVal nIndex As Integer) As Integer
End Extern

Print "ScreenX = " + Str$(GetSystemMetrics(0))
Print "ScreenY = " + Str$(GetSystemMetrics(1))

Sleep

Unfortunately this makes my lib even more window's dependent...oh well.
« Last Edit: August 28, 2008, 02:29:53 PM by dabooda » Logged

Baa...Baa...Bang! F&#K! I'm Wool!
vdecampo
Forum Howler
****
Gender: Male
Posts: 128


Apocalypse is Forever!


View Profile WWW
« Reply #9 on: August 28, 2008, 05:03:31 PM »

If you call ScreenInfo without setting a Gfx screen via FBGfx, it will return the desktop HxWxDepth.

-Vince
Logged

Cheers!
-Vince
dabooda
Forum Howler
****
Gender: Male
Posts: 122



View Profile WWW Email
« Reply #10 on: August 30, 2008, 08:15:22 AM »

I can't use that because it is a fbgfx routine and I am using allegro. I mean there isn't any issue code wise, but it adds an extra 50k+ to my program for one simple command. This of course really isn't that much but it bugs me. It's all moot now anyways because I found a function in allegro that does the same thing and it's cross platform. Now if I could just get my spc's to use fmod waves without the chop and static. Eventually I will quit fiddling with this damn library long enough to actually make a game.

DaBooda out...
Logged

Baa...Baa...Bang! F&#K! I'm Wool!
Pages: [1]
Print
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines
Cerberus design by Bloc
Valid XHTML 1.0! Valid CSS!
gfx
gfxgfx gfxgfx