You are not logged in.
and the much anticipated...lol(sry can't say that with a straight face)...anyways it's pixel attack v.3
changelog:
v.3
added mp3 support directly from music folder
added more background effects
rainbow effect
life ball(increases life)
psp-hacks splash screen
this does require that you have the 1.5 add-on as mp3 requires kernel mode when started
anyways idea:
survive as long as possible
TODO:
online HI-SCORE(didn't implement now as i have much to learn about networking) (Well be in next ver)
Ad-Hoc multiplayer(hopefully i'll have another psp soon enough)(Well be in next ver)
WLan multiplayer(so much research but i might have this before the end of the compettion)(Possible in next most likly v.5)
SCREENS:


Game:
Game
Source:
Source
Last edited by slicer4ever (2008-04-30 00:31:01)
Offline
Ok now these are just suggestions for future builds, these aren't bashings or anythings - just things i've induced from taking a quick look over hte source code.
Right now you have a fatal error if a music directory can't be opened, now I'm not sure failing to open a music directory is a fatal error, but hey tomato, tomato lol
You have the same thread-setup as my current BOXHEAD build and it doesn't run on some PSPs (3.xx kernel and / or slims cant say for sure
) so I don't think this will either, but it's a relatively simple quick fix (start in
user mode, start kernel mode thread initializing ME that starts the user_main() function in your case).
I see you have a kinda weird mp3 playing setup (in my opinion lol). The ability to play both MP3s and AT3s is there, you even initialized the ME to do so, yet you're only allowing mp3s to be loaded ![]()
Because you're placing all filepaths into the array that holds a max of 1000, all of those non-mp3 (future at3 i hope) files are also being put in there meaning there's that many less songs to be played. Since all those non-mp3 files are in there, they won't pass the .mp3 extension check and since it doesn't automatically load the default background music when this mp3 extension check fails, no background music will play
(right now you only have it playing the default background music if there are no files found, not specifically any mp3 (soon at3) files found). Now I doubt anyone will have more then 1000 objects in their MUSIC directories, and it's real easy to support more after a quick change and recompilation, but dynamic support is the fastest, memory-efficient way to do it. you are currently checking the file extension on-the-fly, when you are about to load a random song on-the-fly, when this should be done upon loading the array with song filepaths, much like how you're filtering the . and .. directories out of the array on loading. If you did the checks upon filling the array with file paths to mp3s and at3s, that's a speed up and it will mean all 1000 file paths loaded are in fact playable music formats
Still, the dynamic support isn't there and only 1000 mp3s and at3s will be playable. To fix that, you'd need a dynamically allocated template class - since you're using C++ (your main source file has a .cpp extension, however hte makefile isn't linking -lstdc++ so I can't say for sure lol) it makes perfect sense to use STL vectors
But if you're truly interested in switching to those I'll PM you a sample i made that makes use of them to do just what you're doing
</ramble>
But hey this has gone a long way from just a small thing you've made quite a while ago (I remember you showing me a long time ago
) great job ![]()
Last edited by SG57 (2008-04-30 02:25:06)
Offline
thanks sg57 for some critisism
anyways my rant:
i'd be happy to take a look at the STL vectors sample
i love the idea of doing extension checking when grabbing the filles i can't believe i didn't think of doing that thanks for the tip
at3 as for that......i forgot my bad=-(
i'll look into fixing the kernel initialization i already did know that it doesn't work on slims with 3.xx kernel
as for the fatal error....another one that i forgot to take out before release=-(
anyways thinks for some good old critism much appreciated
Last edited by slicer4ever (2008-04-30 16:07:12)
Offline
Oh hey slicer, i found out a way around our little problem
Oslib has it built in to init the ME using user-mode functions if under non-1.5 kernel. So screw the threading, just start in User mode and init the ME the same you would oslib
Only draw back this causes is that this isn't 1.5 supported, you must be under 3.xx kernel. I suppose you could make 2 versions of your game, one with the threading and in kernel mode at start up requiring 1.5 frimware for phats, then one iwthout the threading and it started in usermode requiring 3.xx .
Last edited by SG57 (2008-05-03 17:52:19)
Offline
o sweet=-) thats is really awesome to know, i'll probably go with that method and patch it with a new version in a few minutes, or tommorow i'm not really feeling like pulling up all the files as i just got home
Offline
Well, it's either do this or require people to set the kernel to 3.xx to run it (like irshell) but hey, i say that with this current teetering situation of whether ot develop on 1.5 kernel or 3.xx kernel, why not support both if the ability is there
(however some things may require 3.xx so... lol)
Offline
well until that day i'll ensure my programs are available on all fw's(minus official ones)
Offline