![]() |
| Forums | Gaming News | Videos | Downloads | Today's Posts | Mark Forums Read | Chat | FAQ | Members List | Contact |
| ||||||
This is a discussion on [WIP/RELEASE] 7WiN - Lua Windowing System within the PSP Development Forum forums, part of the PSP Development, Hacks, and Homebrew category; 7WiN - LUA windowing system Release: 1.00 I was making a shell for the NeoFlash compo, and frankly, it sucked ...
![]() |
|
|
LinkBack | Thread Tools |
|
|
#1 |
![]() ![]() .info
|
7WiN - LUA windowing system
Release: 1.00 ![]() I was making a shell for the NeoFlash compo, and frankly, it sucked ![]() So, i decided i would try my hand at making a GOOD lua windowing system that supported multi-tasking (coroutines), was easy to use and wasn't EXTREMELY slow. I managed to accomplish decent speed and easy-to-use functions ![]() There are a few key features missing (ie. minimize and close buttons, task-bar) but i will hopefully add them soon. I plan to make a shell out of this for the NeoFlash comp (this is also entered in the Summer Comp 2007) so i'm trying to keep it at good speed. So far, it has:
Todo for next version:
The sample includes a simple pong game, a crappy paint app, a helloworld ( ), a music player (it plays a test .xm file from Shine's Snake Game without clipping) and a test window with buttons that do stuff to the window.I managed to play a 6mb mp3 without clipping while playing the pong demo in the app ![]() It's my first attempt at a windowing system, so please if you find a bug or have an idea to make it better PM me or reply to this thread ![]() Download is attached, and i will update this thread when i release new versions ![]() Enjoy
__________________
|
|
|
|
|
|
#3 |
![]() ![]() ![]() Developer
|
Only one piece of advice ( as i don't like the concept of windowing systems on PSP), get some better font and windows
The graphics suck real bad...
__________________
Adrahil - Software architect and specialist in Reverse Engineering. Spoiler for Guilt of a Dev:
Spoiler for me:
|
|
|
|
|
|
#4 |
![]() ![]() .info
|
They are drawn by the PSP because it saves ALOT of RAM and i don't want to use a font because it slows down the CPU by like, 30 FPS or something crazy
![]() I know what you mean, because i do like eye-candy myself except i really was looking for speed in this program
__________________
|
|
|
|
|
|
#5 |
![]() ![]() ![]() Developer
|
Consider that: the PSP can run at 333Mhz. The stuff you're making it do does not take that much
I think you could use a few little blits somewhere... Try a simple graphic font, maybe...
__________________
Adrahil - Software architect and specialist in Reverse Engineering. Spoiler for Guilt of a Dev:
Spoiler for me:
|
|
|
|
|
|
#6 |
![]() ![]() .info
|
A bitmap font maybe would be okay, but a truetype font will be too memory-intense.
__________________
|
|
|
|
|
|
#8 |
![]() |
With all due respect, what's up with the flood of lua windowing systems? First there was a flood of lua flashers, now windowing systems, what's next?
__________________
[center][B][SIZE="3"]wheeee =:D[/SIZE][/B][/center] |
|
|
|
|
|
#10 |
![]() |
play GAME and use Internet browser?.. no
__________________
[CENTER][SIZE="1"][1 Year QJ Member] [COLOR="Sienna"][LUA Coder and C Learner][/COLOR] [URL="http://dl.qj.net/Ball-Revamped-Clone-v.1-PSP-Homebrew-Games/pg/12/fid/15231/catid/195"] [COLOR="SlateGray"][Ball Revamped Clone v0.1][/COLOR] [/URL] [URL="http://dl.qj.net/Phil-s-Shooting-Range-v0.3-PSP-Homebrew-Games/pg/12/fid/11542/catid/194"] [COLOR="SlateGray"][Phil's Shooting Range v0.3][/COLOR] [/URL] [URL="http://dl.qj.net/Organization-Apps/pg/12/fid/14248/catid/190"][COLOR="SlateGray"][HideFile PRX v2][/COLOR][/URL] [URL="http://dl.qj.net/SSR-PRX-v1.1-PSP-Homebrew-Applications/pg/12/fid/14725/catid/151"][COLOR="SlateGray"][SSR PRX v1.1][/COLOR][/URL] [/SIZE][/CENTER] |
|
|
|
|
|
#11 |
![]() |
Lets see how long it takes for TacticalPenguin to see this post and call this guy a code thief who stole his idea.
__________________
[CENTER][IMG]http://klick.ws/images/phil.png[/IMG] [SIZE="6"][B][U][COLOR="RED"]Most baddest mother****er alive.[/COLOR][/U][/B][/SIZE] [/CENTER] |
|
|
|
|
|
#13 | |
![]() ![]() lol
Join Date: Aug 2006
Real First Name: Robert
Location: Whittier, CA
Just Played: Madden 10
Posts: 5,791
Trader Feedback: 0
|
Quote:
|
|
|
|
|
|
|
#14 | |
![]() ![]() .info
|
Quote:
__________________
|
|
|
|
|
|
|
#16 | |
![]() ![]() .info
|
Quote:
Am I taking up valuable bytes in the QJ SQL?
__________________
|
|
|
|
|
|
|
#19 |
|
This is pretty cool, i like, but there are a few small tweaks which would make a huge impact on performance:
-You'd get way better performance if you switch over to luaplayer mod4, and use "fastblit" instead of "blit". Just look into it, trust me. -Dont use so many buffers. do you really *need* separate win.content, win.top, *and* win.window image buffers? thats a lot of overhead per window. It'd probably be better to blit win.top and win.content directly to screen with two separate blits, you'd be doing less blitting overall and you'd reduce memory usage by half. -You're reblitting every window to screen every loop.very wasteful.Here's a code clip (from a windowing system i toyed with a while back) that might give a better idea: Code:
--This function creates a new VisibleObject
function VisibleObject.new()
local new_inst = {}
setmetatable(new_inst,{__index = VisibleObject})
new_inst.isVisible = true
new_inst.drawCount = 2
end
--[[VisibleObject.drawCount: This value (when>0)
causes this object to be drawn, and is == to the number
of frames an update has left to draw + 1. The extra 1 is
to update the screen buffer, incase the next screen:flip
is caused by a different visible object. Thus, for a 1 frame
screen update (the most common), set drawCount = 2 ]]--
--[[VisibleObject.draw(): draws object to screen, if
drawCount merits it (and if the item is visible of course).
Returns true if thescreen should be flipped to show
changes, false if it shouldn't (returns false for
drawCount==1, since in that case we're only updating
the screen-buffer for subsequent screen:flips)]]--
function VisibleObject:draw()
local drawCount = self.drawCount
if self.isVisible and drawCount>0 then
self.drawCount=drawCount-1
self:drawBody()
return drawCount~=1
else
return false
end
end
VisibleObjects = {}
local exampleObject = VisibleObject.new()
exampleObject.tick = --[[whatever function the objects supposed to do each cycle]]--
exampleObject.drawBody = --[[draws itself to the screen]]--
table.insert(VisibleObjects, exampleObject)
while KeepRunning do --main loop
buttonHandling() --handles the buttons, obviously!
local flip = false
Image.startBlit()
for i,vO in ipairs(VisibleObjects) do
vO:tick()
if vO:draw() then
flip = true
end
end
Image.endBlit()
if flip then
screen.waitVblankStart()
screen.flip()
end
end
Last edited by zilog8; 07-09-2007 at 12:12 PM.. |
|
|
|
|
|
|
#20 |
![]() |
Klick, I only call people code thieves who actually are code thieves. I talked to yongobongo while he was making this and in fact he was working on it before the first release of Luanux. You don't need to be an ass just because I get mad at people who actually do use/steal my code without my permission.
|
|
|
|
|
|
#21 |
![]() Developer and Tutor.
My Mood:
Join Date: Jul 2007
Real First Name: Craig
Location: Widnes, England
Just Played: Life.
Posts: 1,646
Trader Feedback: 0
|
i think tp is very reasonable about code theithes and its a good job i didnt steal the code for luanux but at the time i was a complete noob and didnt know anyone but i didnt use the code good job eigh
|
|
|
|
|
|
#22 |
![]() |
sweet yongobongo ftw i love your work.. im guessing that you compiled the lua, so we cant have any idea how to make stuff like this for our self eh?
__________________
[URL="http://jomann18.deviantart.com/"][IMG]http://img242.imageshack.us/img242/5020/bestsigeveraw1or8.png[/IMG][/URL] [COLOR=Red][B][SIZE=3][URL="http://jomann18.deviantart.com/"]Hey look its a link to my deviant art maybe you should click it just for kicks eh?[/URL][/SIZE][/B][/COLOR] |
|
|
|
|
|
#26 | |
![]() |
Quote:
__________________
[CENTER][IMG]http://klick.ws/images/phil.png[/IMG] [SIZE="6"][B][U][COLOR="RED"]Most baddest mother****er alive.[/COLOR][/U][/B][/SIZE] [/CENTER] |
|
|
|
|
![]() |
| Tags |
| 7win , lua , system , windowing , wip or release |
| Thread Tools | |
|
|