Quake porting issues
More emails
I changed a few key mappings around to improve playablity, I've sent out a few more emails, if you've got an email, consider yourself lucky. Big Thanks to everyone for testing this.
-PMF
-PMF
"I'm a little source code, short and stout
Here is my input, here is my out."
Author of PSPQuake and PSPSOne.
Here is my input, here is my out."
Author of PSPQuake and PSPSOne.
Hey,
So when are we going to see KymaeraPSP?? :)
Great job, can't wait till I am rockin' out some network quake (won't be long at the rate you are going)
It's amazing how fast you people are porting this stuff. I am just learning now, and have just been reading everything on here the last couple weeks. Unfortunately, I have the disadvantage of not only learning the PSP, but learning C as well, since I was dumb enough not to do this previously.
LiQuiD8d
So when are we going to see KymaeraPSP?? :)
Great job, can't wait till I am rockin' out some network quake (won't be long at the rate you are going)
It's amazing how fast you people are porting this stuff. I am just learning now, and have just been reading everything on here the last couple weeks. Unfortunately, I have the disadvantage of not only learning the PSP, but learning C as well, since I was dumb enough not to do this previously.
LiQuiD8d
KymaeraPSP
[offtopic]
LiQuiD8d,
I was debating that last night, I'm still working on the latest release of Kymaera now. The problem is, I'm using Allegro for the game library, Maybe I'll check out how MAME did thier port and use their functions as Allegro wrappers..
Kymaera would look nice on my PSP, I heard that people were making progress the other day making launchers.
For all of you who don't know Kymaera, It's a multi-emulator front end for arcade cabinet, it allows you to launch games and applications from a nice menu system with screen shots, movies, sounds, etc...
[/offtopic]
-PMF
LiQuiD8d,
I was debating that last night, I'm still working on the latest release of Kymaera now. The problem is, I'm using Allegro for the game library, Maybe I'll check out how MAME did thier port and use their functions as Allegro wrappers..
Kymaera would look nice on my PSP, I heard that people were making progress the other day making launchers.
For all of you who don't know Kymaera, It's a multi-emulator front end for arcade cabinet, it allows you to launch games and applications from a nice menu system with screen shots, movies, sounds, etc...
[/offtopic]
-PMF
"I'm a little source code, short and stout
Here is my input, here is my out."
Author of PSPQuake and PSPSOne.
Here is my input, here is my out."
Author of PSPQuake and PSPSOne.
Umm, Having played quite a lot of games on consoles I can't really remember tha last one where the strafe buttons were on the L and R triggers, possilby Doom on the GBA. Every other game that I have played has had dual analogue (or analogue for view, dpad for strafe/move) and the R button for fire. L is usually something like jump.Cpasjuste wrote:In a shooting game strafe button sould always be mapped to L and R trigger ... like all fps on console, plz take a not of my advice :p
-
- Posts: 4
- Joined: Sun Jun 26, 2005 4:36 am
-
- Posts: 4
- Joined: Sun Jun 26, 2005 4:36 am
Doh! Your right.inomine wrote:How do you propose to move forward and back, on the same analogue stick that allows you to turn? That would kill looking up and down. I think the D-pad for custom functions would work a lot better.
- Analogue stick for left/right/up/down
- Square and circle for strafe left/right
- Triangle and X for forward/backward
- R for fire
- L for jump
- up/down d-pad to change weapons.
-
- Posts: 1
- Joined: Fri Jul 01, 2005 1:27 am
Control suggestions for you PacManFan:
Look with analog stick
move with buttons (Square and Circle to strafe)
shoot with R
hold L and press Square/Circle to change weapons
tap L to jump
hold L and press Triangle to use things and open doors (I can't really remember if Quake had doors :\ )
The move/look setups should be swappable, and the sensitivity choosed by the player.
Look with analog stick
move with buttons (Square and Circle to strafe)
shoot with R
hold L and press Square/Circle to change weapons
tap L to jump
hold L and press Triangle to use things and open doors (I can't really remember if Quake had doors :\ )
The move/look setups should be swappable, and the sensitivity choosed by the player.
Moot point
OK, most of this talk about input mapping is now moot, because I've gotten the code for control mapping working. Quake natively allows you to change inputs to different functions, and it now is enabled under the Options->controls submenu. I just have to make sure that it loads and saves this config file properly.
-PMF
-PMF
"I'm a little source code, short and stout
Here is my input, here is my out."
Author of PSPQuake and PSPSOne.
Here is my input, here is my out."
Author of PSPQuake and PSPSOne.
Quake is Ready....
http://home.comcast.net/~shernandez1337/
Notes:
-Still no sound
-Still have a random crash issue
-Still no analog nub yet
Enjoy!
-PMF out
Notes:
-Still no sound
-Still have a random crash issue
-Still no analog nub yet
Enjoy!
-PMF out
"I'm a little source code, short and stout
Here is my input, here is my out."
Author of PSPQuake and PSPSOne.
Here is my input, here is my out."
Author of PSPQuake and PSPSOne.
Is this running at 333mhz right now, or is there a way to make it run at that?
Could you possibly make the folder it runs from not hard-coded, or at least such that the trick to hide the "Corrupted data" items on 1.5 could be implemented?
This is done by naming the folders:
QUA__________________________________ (32+ characters is the key here)
QUA~1%
Hopefully I got that right anyway.
Could you possibly make the folder it runs from not hard-coded, or at least such that the trick to hide the "Corrupted data" items on 1.5 could be implemented?
This is done by naming the folders:
QUA__________________________________ (32+ characters is the key here)
QUA~1%
Hopefully I got that right anyway.
source
You're right , I have to release source as well, anyone who wants the source, PM me and I'll send it, better yet , i'll post it tonight somewhere..
If any of you want to contribute, sound still need to be implemented.
-PMF
If any of you want to contribute, sound still need to be implemented.
-PMF
"I'm a little source code, short and stout
Here is my input, here is my out."
Author of PSPQuake and PSPSOne.
Here is my input, here is my out."
Author of PSPQuake and PSPSOne.
This was ported from a highly optimised PocketPC port that uses quite a lot of tricks to run well on pretty poor hardware. The jittery polygons that you see and the very heavy mu-mapping of textures are a product of that(it also looks to me like the light blending is a bit off).
Porting the GL version of Quake to the PSP's GU would be a new project entirely, but with it's semilarities to openGL it should not be too difficult. The problem would then be that a lot of the optimisations that the PocketPC team made would be lost, but in theory that should not matter as the game spends most of it's time rendering graphics, with the main CPU alleviated of that it should be ok.
Anyway, good job on the port, my only wish would be for thumbstick support and getting the menu fixed so thtat the little pointer does not dissapear, reconfiguring the keys without that is kind of hard.
Porting the GL version of Quake to the PSP's GU would be a new project entirely, but with it's semilarities to openGL it should not be too difficult. The problem would then be that a lot of the optimisations that the PocketPC team made would be lost, but in theory that should not matter as the game spends most of it's time rendering graphics, with the main CPU alleviated of that it should be ok.
Anyway, good job on the port, my only wish would be for thumbstick support and getting the menu fixed so thtat the little pointer does not dissapear, reconfiguring the keys without that is kind of hard.
The PocketPC optimizations were mostly removing floating point math and replacing it with fixed point math, because PocketPCs have no FPU.
Since PSP has a quite OK fpu (and a really powerful VFPU that we don't know how to use yet) it probably would even have been better to port regular Quake than PocketQuake, and of course even better to port GLQuake.
Since PSP has a quite OK fpu (and a really powerful VFPU that we don't know how to use yet) it probably would even have been better to port regular Quake than PocketQuake, and of course even better to port GLQuake.
Fixed point code
There was a compile switch to use fixed point math, however, when I enabled it, it broke things badly. I built quakepsp with the floating point enabled. I just submitted Quakepsp as a project on source forge, so everyone can contribute to the code.
The main issue I'm having with the crash bug is divide by 0 issues.
In several place in the code, they have something like:
if(x){
a = b/x;
}
Where a,b, and x are all floating point numbers. The problem is that x is really small by not 0. it passes the "if" test, but the during the division it is rounded to 0 somehow and causes a / 0 issue. I'm not sure why this is happening, or if there are any compiler flags I could enable to enforce IEEE floating point precision.
The main issue I'm having with the crash bug is divide by 0 issues.
In several place in the code, they have something like:
if(x){
a = b/x;
}
Where a,b, and x are all floating point numbers. The problem is that x is really small by not 0. it passes the "if" test, but the during the division it is rounded to 0 somehow and causes a / 0 issue. I'm not sure why this is happening, or if there are any compiler flags I could enable to enforce IEEE floating point precision.
"I'm a little source code, short and stout
Here is my input, here is my out."
Author of PSPQuake and PSPSOne.
Here is my input, here is my out."
Author of PSPQuake and PSPSOne.
The following code should be enough to disable FP exceptions:ector wrote:There should be a way to disable divide-by-zero exceptions, should be in any MIPS manual. Too lazy to look it up myself :)
Code: Select all
.set push
.set noreorder
_DisableFPUExceptions:
cfc1 $2, $31
lui $8, 0x80
and $8, $2, $8 # Mask off all bits except for 23 of FCR
ctc1 $8, $31
jr $31
nop
.set pop
ASM question
I'm a little rusting with the asembler. How would I go about making that into an .s file that has an exportable name to be called from code?
-PMF
-PMF
"I'm a little source code, short and stout
Here is my input, here is my out."
Author of PSPQuake and PSPSOne.
Here is my input, here is my out."
Author of PSPQuake and PSPSOne.