|
forums.ps2dev.org Homebrew PS2, PSP & PS3 Development Discussions
|
View previous topic :: View next topic |
Author |
Message |
protomank
Joined: 18 Dec 2008 Posts: 64 Location: Porto Alegre, RS, Brazil
|
Posted: Sun Nov 08, 2009 11:43 am Post subject: Introducing Rockbot - a Megaman clone |
|
|
http://www.upperland.net/rockbot/
News in the page are still in Portuguese, I did not had the time for translations - feel free to use google translator - but you can have a little idea of how the project is.
Game is made in SDL, and with some adjustments is portable to PS2. It is still in early development and I plan to put the code on sourceforge as soon as I finish the process of creating self-made graphics, because I can't use ones that are copyright from Capcom :) |
|
Back to top |
|
|
protomank
Joined: 18 Dec 2008 Posts: 64 Location: Porto Alegre, RS, Brazil
|
Posted: Tue Dec 01, 2009 10:17 am Post subject: |
|
|
The code and a Windows build are on sourceforge page already.
I'll post a PS2 build once I find out how to load files independently from the place (CD, DVD, HD, MC or MASS) you run the elf. |
|
Back to top |
|
|
cosmito
Joined: 04 Mar 2007 Posts: 314 Location: Portugal
|
Posted: Mon Dec 07, 2009 1:43 am Post subject: |
|
|
Quote: | I'll post a PS2 build once I find out how to load files independently from the place (CD, DVD, HD, MC or MASS) you run the elf. |
You can parse the argv[0] path/filename string to figure out from which device your program was started. For the HDD case, the things are trickier, since it's reported as from 'host:'...
There are almost infinite ways of doing this, but if you want to spare some dev time, you can use my solution I implemented for ps2doom (and if you spot some bug, warn me please :) ) :
Code: | void GetElfFilename(const char *argv0, char* deviceName, char* fullPath, char* elfFilename)
{
int i;
int lenght = strlen(argv0);
int doispontosIndex = 0;
int slashIndex = 0;
int isFileOnRoot = 0;
// locate '/' from the end of path
for(i=lenght-1; i>=0; i--)
{
if (argv0[i] == '/')
{
slashIndex = i;
break;
}
}
if (slashIndex == 0)
isFileOnRoot = 1; // elf is located on root of device
// locate ':' from the start of path
for(i=0; i<lenght; i++)
{
if (argv0[i] == ':')
{
doispontosIndex = i;
break;
}
}
// set deviceName to device name (ex: 'mass:', 'host:', 'mc0', etc)
strncpy(deviceName, argv0, doispontosIndex+1);
deviceName[doispontosIndex+1] = 0;
// set fullPath to full path (ex: 'mass:directory/', 'mass:directory1/directory2/', etc (no limit over depth))
if (isFileOnRoot)
strcpy(fullPath, deviceName); // fullPath = deviceName actually
else
{
strncpy(fullPath, argv0, slashIndex+1);
fullPath[slashIndex+1] = 0;
}
// set elfFilename
if (isFileOnRoot)
memcpy(elfFilename, argv0 + doispontosIndex + 1, lenght - doispontosIndex);
else
memcpy(elfFilename, argv0 + slashIndex + 1, lenght - slashIndex);
} |
Hope this helps. This should work for every device except HDD. |
|
Back to top |
|
|
protomank
Joined: 18 Dec 2008 Posts: 64 Location: Porto Alegre, RS, Brazil
|
Posted: Tue Dec 15, 2009 4:10 am Post subject: |
|
|
Yep, helps a lot. I'm about to implement this unity detection, but first I have a major blocker to solve: the TV image flickering a LOT when running SDL/PS2 apps :-( |
|
Back to top |
|
|
protomank
Joined: 18 Dec 2008 Posts: 64 Location: Porto Alegre, RS, Brazil
|
Posted: Wed Feb 03, 2010 9:00 pm Post subject: |
|
|
Well, beta3 was just released, including builds for PS2 USB and CDROM besides Windows and Linux builds. See information and download it in: http://rockbot.upperland.net
On the PS2 front, the things that need work or are missing:
- find a way to build a decent timer on PS2 that counts milisseconds to fix SDL_Timer
- HDD support
- fix SDL_Mixer
- add a way for SDL to disable bilinear filter in gsKit
Any help is appreciated in those fronts :) |
|
Back to top |
|
|
protomank
Joined: 18 Dec 2008 Posts: 64 Location: Porto Alegre, RS, Brazil
|
Posted: Thu Feb 04, 2010 9:58 pm Post subject: |
|
|
Some screenshots of it running on Linux:
|
|
Back to top |
|
|
Ameen
Joined: 14 Jun 2009 Posts: 12 Location: Bahrain
|
Posted: Fri Feb 05, 2010 6:52 am Post subject: |
|
|
Hi,
I just found a bug in your game! Just to let you know I downloaded the Win32 version of the game and when first level came, all I did is move the player to the left of the screen and it was like his was falling from there.
By the way, you did a nice job! |
|
Back to top |
|
|
protomank
Joined: 18 Dec 2008 Posts: 64 Location: Porto Alegre, RS, Brazil
|
Posted: Fri Feb 05, 2010 7:26 am Post subject: |
|
|
Yes, known bug.
Sadly I did rushed beta3 because I was tired of waiting for people being able to test it, and let it out with 4 or 5 bugs I knew about - shame on me :)
Thanks anyway, the first thing I need to work on beta4 is the collision verification, because of this bug, and one more that allows player to walk in the middle air, because he gets locked into a platform. I did the beta3 in less than a month, beta4 is planned to take 2 or 3 months, and this includes my vacation period, so it should be pretty solid :) |
|
Back to top |
|
|
protomank
Joined: 18 Dec 2008 Posts: 64 Location: Porto Alegre, RS, Brazil
|
Posted: Tue Apr 06, 2010 4:53 am Post subject: |
|
|
Released beta4 version. Keep in mind that, as a beta, there are some bugs, such as jumping sometimes not working, sound lagging the game and second player joystick not working.
Get it at:
http://rockbot.upperland.net/ |
|
Back to top |
|
|
protomank
Joined: 18 Dec 2008 Posts: 64 Location: Porto Alegre, RS, Brazil
|
Posted: Tue Jul 20, 2010 5:14 am Post subject: |
|
|
Updated to beta 6 yesterday. Now it runs better (faster/less buggy) and with sound and music on the Playstation 2.
Any problems, please contact-me. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|