PSP Hacks - Forums

Go Back   PSP Hacks - Forums > PSP Community > PSP Programming & Development

Notices

Reply
 
Thread Tools Display Modes
  #1  
Old 06-13-2009, 09:05 AM
Brick Brick is offline
I am Flame Master
PSP Titan
 

Join Date: Mar 2005
Location: *this
Posts: 42,229
Brick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond repute
Default [release] lte lite mod

... * ... | ... ; ... -..... -%...^

Yeah , you guessed right... i finally found the time to share my LTE LITE MOD!

Those who have tried in the past to develop games with LTE , they probably know that
its nearly "impossible" to create a full featured game without suffering from low fps.

This mod improves the rendering part , and actually turns Irrlicht port into a clean and fast renderer(well,as it could be
with this old pspgl driver).

Anyway , here's the changelog:

LTE LITE MOD V1.2 BY BRICK
Spoiler:

AUTHOR
Brick :: Dev

GENERAL
1.Removed GUI
2.Removed the buggy AUDIO
3.Removed NETWORK DRIVER
4.Removed all input related code
5.Removed 1.41 mb of static pre-allocated tables
6.Removed internal timer that seems to trying to "lock" the renderer
after 10' have passed( WHAT THE H? ).
7.Removed logger
8.Removed all examples(they are not compatible , since they are all require the gui env/input)

NEW MODULES
1. ITextureFont class ( my texture font class )


DEVICE CHANGES
1. Removed of couple unused variables/defines/static tables
2. All input gargabe have been removed
3. All useless drivers that have been removed are now null
4. Removed functions
5. Disabled audio,cursor, and audio/network modules aren't loaded.
Overall the "run" function is just a few ops(it used to be a couple of hundreds useless ops).

DRIVER NEW FUNCTIONS

1.Added removeAllTexturesExcept(const core::array<core::stringc>& exceptionList) which
removes textures with exceptions

2.video::ITexture* findTextureByName(const c8* filename)
With this you can figure out if a texture exists WITHOUT letting
the driver to load it.

3.Replaced a line in "findTexture".
this :

Code:
	if (!filename)
		filename = "";

with this:

Code:
	if (!filename)
		return 0; //filename = ""; <-- brick

SOFTWARE DRIVER CHANGES

1. Modified depth range(misc)
2. Replaced some int divisions with binary divisions(that were possible)
3. Vertex stack allocation is now static and pre-allocated, not like it used to be dynamic on each frame(!)...
This indeed requires a bit more memory , but since i've removed so much memory from other modules,
its really nothing important.
4. Optimized some mul & div operations (eg color + inv @glClearColorOptimized()) that could be avoided.
5. Removed a few opengl states
6. Optimized some opengl states(eg ,in some cases, some states were used 2 times in 1 call)
7. Removed all input(DUHHHHHHHHHH...) related code from the software driver
8. Replaced glblendfuncPspFix with glBlendFunc
9. Removed logo static data
10. Removed logo sfx
11. Removed the counter that locks the app after 10' of use if the logo flag is false
12. Removed cursor,selectors and keys...OMG
13. Removed "files/audioIntro.c" ...most-wasted 321kb ever
14. Removed "files/logo.h" ... + 110kb
15. Removed many unused variables
16. Removed cursor data .... +10kb
17. Removed all included files with static data from \\files\\ dir
(With all these we get AT LEAST + 1.4mb available memory!)
18. Optimized interpolate ( BspClipVertex *out, ...) ,and now the color extraction is done only if (and where) needed.
19. Some misc optimizations to functions
20. Some types needed to be passed by reference
21. Aligned some static buffers
22. Removed from beginScene() a block of code that makes no sense and just renders a red quad 480x272...
(probably trying to cull out color bits from stencil ops ???????)
23. Added static inline void updateGLColorOptimized(GLfloat* in)
24. Added static inline void glClearColorOptimized(const SColor& color)
25. Re-written "inline void interpolate ( BspClipVertex *out, const BspClipVertex *b, const BspClipVertex *a, f32 inv)"
And now it gives a NICE speed boost when rendering a bsp mesh (in most cases).
The color extraction is done only when needed , and in steps

DEVICE STUB

1.Removed gui env
2.Muted : postEventFromUser()
3.Muted : setEventReceiver()
4.checkVersion() will return true to avoid crash since there is no logger anymore


PARTICLE SYSTEM CHANGES

1. Particles are pre-allocated now (gives a NICE speed boost)
2. Point emitter finally works



Projects officially using LTE LITE MOD
Spoiler:

1. PSPMarble : Orchestra Sensation by Brick ( me :-P )
For more info , check this out : http://www.psp-hacks.com/forums/f141...ation-t239848/

2. Light Cycle 3d by SG57
For more info , check this out : http://www.psp-hacks.com/forums/f141...le-3d-t239956/




Download links


DEMOS
Spoiler:

Demo 1 : Rendering 2d images & text

DL : http://www.sendspace.com/file/ncfw9h

That's all , i hope that its going to be used by other devs as;well:-)!.

Last edited by Brick; 06-20-2009 at 10:15 AM.
Reply With Quote
  #2  
Old 06-13-2009, 02:44 PM
pspjoke's Avatar
pspjoke pspjoke is offline
Programmer
PSP Guru
 

Join Date: Mar 2008
Location: U.S.
Posts: 1,641
pspjoke is on a distinguished road
Default

fkn sweet.
as soon as i move on to 3d games, ill give this a shot.
with all that cut out tho, it seems like it will be a pain to port a game using pure irrli...wtf ever its called.

but creating a game specifically for the psp shouldn't be a problem.

thanks Brick.
__________________
http://levoneprojects.net23.net/

++rep me if i helped you please.
Ahh, shit. Stupidity is on the rise again.
went legit Oct. 31, 09'
piracy is wrong, please don't do it.

Reply With Quote
  #3  
Old 06-13-2009, 03:43 PM
Dark Chazz Dark Chazz is offline
PSP Newbie
 

Join Date: Feb 2009
Posts: 33
Dark Chazz Has a Beginner Reputation
Default

Thanks Brick!

My game will surely run at 59~60 fps with this , on the old rubbish LTE I get 19~29 fps
btw , if there will be a voting poll , I'll give my vote to PSPMarble
EDIT: Voted!

Last edited by Dark Chazz; 06-13-2009 at 05:33 PM.
Reply With Quote
  #4  
Old 06-13-2009, 05:19 PM
pirata nervo pirata nervo is offline
Moderator
PSP Titan
 

Join Date: Mar 2007
Location: www.consoleworld.net
Posts: 5,556
pirata nervo is on a distinguished road
Default

Thanks for posting this Brick, I will add this to the mega thread once I have tried all entries for the 10th time
__________________

Reply With Quote
  #5  
Old 06-13-2009, 05:36 PM
Brick Brick is offline
I am Flame Master
PSP Titan
 

Join Date: Mar 2005
Location: *this
Posts: 42,229
Brick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond repute
Default

@Dark chazz :
That's good to know , and thanks for posting your results(edit : oh , i read it wrong(or you edited your post?) : you actually plan to develop a game ...my bad :-P...)...and i really hope that we're going to see more devs develop games with LTE LM.

Edit : there's a little mistake in the changelog , the new module , is "ITextureFont" , and not "ITexture"!.
Its my own texture font class implementation(based on irr gui) , and you should all use the "renderOptimized()" method.
Code:
				void renderOptimized(const wchar_t* text,
									 const core::position2d<s32>& pos,
									 const video::SColor& color,
									 const u32 deltaTime = 0,
									 const bool frameIdp = false);

Last edited by Brick; 06-13-2009 at 08:28 PM.
Reply With Quote
  #6  
Old 06-14-2009, 12:00 PM
Dark Chazz Dark Chazz is offline
PSP Newbie
 

Join Date: Feb 2009
Posts: 33
Dark Chazz Has a Beginner Reputation
Default

I'm gonna port my game from LTE.
Do I have to change anything related to scene manager or it's all the same as the old "JOKE" ?
Reply With Quote
  #7  
Old 06-14-2009, 12:11 PM
Brick Brick is offline
I am Flame Master
PSP Titan
 

Join Date: Mar 2005
Location: *this
Posts: 42,229
Brick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond repute
Default

Quote:
Originally Posted by Dark Chazz View Post
I'm gonna port my game from LTE.
Do I have to change anything related to scene manager or it's all the same as the old "JOKE" ?

Well , simple stuff :


Quote:
*Do a clean installation of headers , because more have been added , and many have been modified
*Remove gui / events / audio / network /logger related stuff.
*FPS camera will not work , just create a default camera scene node , and apply your transformations there.
*For static meshes , push DMA material flag , and disable flushing (it might give a speed boost...might not)
and don't forget to also push the clipping flag.(also DEPTHLESS flag might help ... in some cases)
*Do NOT access the cursor control , its totally muted.
*If you use custom scene nodes , pack your vertices into a large mesh buffer(splitted if its quite big)
*To render text , use my ITextureFont class.
A simple example :
Code:
ITextureFont font(driver);
font.load( file or stream in VFS );

Optimized rendering :
font.renderOptimized(L"Text", position , color );

or frame idp :
font.renderOptimized(L"Text", position , color ,dt,true);

or if you need clipping and stuff , simply use the render() method.

Last edited by Brick; 06-14-2009 at 12:15 PM.
Reply With Quote
  #8  
Old 06-14-2009, 12:24 PM
Dark Chazz Dark Chazz is offline
PSP Newbie
 

Join Date: Feb 2009
Posts: 33
Dark Chazz Has a Beginner Reputation
Default

Quote:
Originally Posted by Brick View Post
*FPS camera will not work , just create a default camera scene node , and apply your transformations there.
That's what I wanted to know because I was using the FPS camera and it doesn't work lol.

Thanks again!
Reply With Quote
  #9  
Old 06-18-2009, 05:09 AM
SG57's Avatar
SG57 SG57 is offline
Homebrew Idol 2 Winner
PSP Guru
 

Join Date: Apr 2007
Location: Washington
Posts: 1,568
SG57 Has a Beginner Reputation
Default

Awesome-ness

And hey Brick - i recompiled Light Cycle v3 with this and got a small boost, check it out:
Spoiler for screen:
__________________
...at what speed must I live.. to be able to see you again?...

Win money while playing Kitten Cannon!

Check out all my work on my new site - from Kitten Cannon to Boxhead to Light Cycle 3D

Last edited by SG57; 06-18-2009 at 05:43 AM.
Reply With Quote
  #10  
Old 06-18-2009, 07:01 AM
Brick Brick is offline
I am Flame Master
PSP Titan
 

Join Date: Mar 2005
Location: *this
Posts: 42,229
Brick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond reputeBrick has a reputation beyond repute
Default

Yeah , mainly because of the improved particle system...there's almost no delay at all when particles are spawned into the world.

Edit : also i think you still had the old revision ?

Edit#2 : BTw , soon i plan to replace the opengl driver with the native one :-)...

Last edited by Brick; 06-18-2009 at 07:05 AM.
Reply With Quote
Reply

 



Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 08:48 PM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©