Page 2 of 7
Posted: Sat Jul 22, 2006 7:53 pm
by Shannara
I definately have an eye on this, great work, and awesome job!
Now for the bad question ... ...

IS there any way not to require a DLL file? Maybe even with the option of a pb lib or some such instead? I understand it would make the EXE huge as hell, but ..... *shrugs* ?
Posted: Sat Jul 22, 2006 8:03 pm
by S.M.
IS there any way not to require a DLL file?
Yes, as soon as I can compile it correctly with TailBite.
If that is not possible I can also make the Userlib manually.(but not at this stage)
I understand it would make the EXE huge as hell
The EXE wouldn't be that huge, it will be probably a bit bigger than with the normal Libraries.
The DLL is only that huge, because I included all Image Plugins

Posted: Sat Jul 22, 2006 8:12 pm
by Shannara
oo, heheh, awesome! I'll definately throw this bad-boy in my next project.
Posted: Sun Jul 23, 2006 6:52 pm
by S.M.
Hi
Ok, now I wrote the complete Sound Library (with OGG support)
I hope now a few more people could test the subsystem.
Can you get some of your projects working?
regards
Stefan
Posted: Sun Jul 23, 2006 7:24 pm
by Psychophanta
Thanks, because this is a very promising lib.

Posted: Mon Jul 24, 2006 11:34 am
by THCM
Hi Stefan,
I tried the new lib with my game, but I get an Invalid Memory Access error on this line:
LeftButton = MouseButton(1)
Any Idea?
Posted: Mon Jul 24, 2006 12:59 pm
by S.M.
@THCM
Thanks!

The bug should be fixed, can you test ? (just download agian)
hehe, post nb. 100
Posted: Mon Jul 24, 2006 1:39 pm
by THCM
Hi Stefan,
compilation bug is gone, but my game runs like a diashow. Tried to play around with Setframerate and flipbuffers, but didn't change anything. Later on I'll take a closer look.
Posted: Mon Jul 24, 2006 1:49 pm
by THCM
Hi,
I tested a little bit further: I changed all sprite-load and catch commands to #PB_Sprite_Memory and now it runs at about 15 fps (original spritelib is about 30 times faster). I can move around the mouse, but no clicks will be recognized and I can't exit using the keyboard by pressing ESC.
I can't mix Ogre-Graphics with your Sprite-Lib. At the moment I use the skybox as background in my game.
Hope you can fix it!
Posted: Mon Jul 24, 2006 2:11 pm
by S.M.
@THCM
Great!
Do you use one of these slow commands in the main loop ?
TransparentSpriteColor()
UseBuffer()
GrabSprite()
CopySprite()
CreateSprite()
The others should be at least as fast as the dx7 commands.
I can move around the mouse, but no clicks will be recognized and I can't exit using the keyboard by pressing ESC.
I will have a look.
I can't mix Ogre-Graphics with your Sprite-Lib. At the moment I use the skybox as background in my game.
Sorry, OGRE is not planed for now, I think I would need Freds help for this.
Instead I plan to add a few extension Libraries.In the case of 3D I will use D3DX.
Posted: Mon Jul 24, 2006 2:18 pm
by THCM
Yes, I use Usebuffer 2 times in the mainloop. I first draw all my sprites to a bigger playfield-sprite and this sprite will be displayed on the main-screen. Here my simplified mainloop:
Code: Select all
IngameLoop:
Repeat
Screen3DEvents()
ClearScreen(RGB(0,0,0))
StartDrawing(ScreenOutput())
DrawingMode(1)
If StarField
Gosub DoStarField
EndIf
StopDrawing()
Gosub DrawPanel
UseBuffer(#PlayFieldID)
Gosub CheckMouse
Gosub DrawLevel
OldViewPortX = ViewPortX
OldViewPortY = ViewPortY
Select CursorMode
Case 0
Gosub MoveCursor
Case 1
Gosub OrbSelected
Gosub AnimOrb
Case 2
Gosub MoveOrb
Gosub AnimOrb
Case 3
Gosub SpecialEffect
If EffectNumber <OrbDeath> #Levels-1
NewLevel = #Levels-1
EndIf
Gosub InitFadeOut
ElseIf KeyboardReleased(#PB_Key_Down)
If KeyboardPushed(#PB_Key_LeftShift) Or KeyboardPushed(#PB_Key_RightShift)
NewLevel = Level - 10
Else
NewLevel = Level - 1
EndIf
If NewLevel < 0
NewLevel = 0
EndIf
Gosub InitFadeOut
ElseIf KeyboardReleased (#PB_Key_Space)
Gosub InitFadeOut
EndIf
EndIf
If OrbsLeft = 0
NewLevel = Level + 1
If NewLevel = #Levels
NewLevel = 0
EndIf
Gosub InitFadeOut
OrbsLeft = 1
EndIf
UseBuffer(#PB_Default)
ClipSprite(#PlayFieldID, OldViewPortX, OldViewPortY, ViewPortSizeX, ViewPortSizeY)
DisplayTransparentSprite(#PlayFieldID, ScreenOffsetX, ScreenOffsetY)
Gosub DrawBorder
If KeyboardReleased(#PB_Key_S)
SaveScreen()
EndIf
Select CursorMode
Case 4
Gosub DisplayFadeIn
Case 5
Gosub DisplayFadeOut
EndSelect
Screen3DStats()
FlipBuffers(1)
Until KeyboardReleased(#PB_Key_Escape)
Return
Posted: Mon Jul 24, 2006 11:48 pm
by Shannara
When I extracted the file, only the Screen and Sprite libraries under userlibs have any data in them, Everything else is zero bytes. Also, the dll in the Compilers directory is bigger (and a day older) then the dll in the DX9Stest directory. Which is is safer to use?
Also, any chance to remove that annoying popup on use of the sub system? lol.
Another quick question .. ...

Can we create a 3d sprite w/o a 2d sprite as there is no longer directdraw?
Posted: Thu Jul 27, 2006 7:18 pm
by S.M.
A new version is available.
I included the complete Joystick library.
@THCM
I can move around the mouse, but no clicks will be recognized and I can't exit using the keyboard by pressing ESC.
Are you sure, here it seems to work. Can you test again ?
If the issue is still there, can you please write me a small example which shows this.
Yes, I use Usebuffer 2 times in the mainloop.
Sorry, at the moment I don't know how to improve the performance of this.
@Shannara
When I extracted the file, only the Screen and Sprite libraries under userlibs have any data in them, Everything else is zero bytes.
Yes, they are only there that the PB Compiler don't use the normal libs. All commands are in the Sprite-Lib.
Also, any chance to remove that annoying popup on use of the sub system? lol.
Yes, as soon as the Lib works more stable.
Another quick question .. ... Can we create a 3d sprite w/o a 2d sprite as there is no longer directdraw?
No, because it should work the same way as with DX7.
Posted: Thu Jul 27, 2006 8:24 pm
by Shannara
Thanks for the answers

Posted: Fri Jul 28, 2006 7:24 pm
by Shannara
Hmm, then my other question is .... will this subsystem be free, or will it cost? Basically, I am hoping to use this in 3 different projects, but cannot use the sub system at this time due to popup.