Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
nitr8

[RELEASE] PSP-Strife R1

Recommended Posts

Hello there,

The most of the people on this forum maybe even don't know me, nor my work at projects like PSP-Hexen in the past...

...now, there is another source port right here for the PSP (which also works on the PS Vita's PSP-Emulator (as long as you have a eCFW installed on it)).

It's name is "PSP-Strife".

I know that at least a few people on this forum and over at DOOMWORLD did want to see this game on the PSP almost 2 years ago and all I can say is: the R1 is finally done.



[color=#FF0000]BEFORE YOU START PLAYING: PLEASE BE SO KIND AND READ THE TXT FILE INCLUDED IN THE ZIP OR EVEN HERE IN THIS TOPIC!!! I ESPECIALLY MEAN THE "ISSUES" / "BUGS" SECTIONS.[/color]



PSP-Strife R1 by nitr8 (compiled using PSP-GCC v4.8.2)
-----------------------------------------------------------------



(Introduction)
-----------------

Since i got a PSP and PS-Vita for myself and the fact that i have been a "DAY-ONE-DOOMER", there has
always been that wish to see STRIFE released for those handheld consoles as well. I haven't been a
homebrew developer before. I started my own developing experience with the modification of kgsws's
"PSP-Hexen" and as a few of you people might know, i released "Enhanced PSP-Hexen v0.1" a few months
ago and you also may expect to see a "R2" of "Enhanced PSP-Hexen" very soon as well.

But for the moment it's time for the first "EVER" release of "PSP-Strife". Nearly all other games
that use the DOOM engine as a source (eg. "Heretic", "Hexen", etc...) made it onto the PSP. But STRIFE
was still missing and i know how much i wanted to play that game for myself again - just not on a PC.

That was my intention for this release and it took me lots of time to get the code to run like it
should since it's based off the "Chocolate DOOM" branch which includes the reverse engineered code of
STRIFE (the original source code for the PC version got lost by Rogue after the game was finished and
released - what a shame for such a great game).

I thought Chocolate DOOM was a good basis and source for me cause of 2 reasons: the first one is that
i allready knew the DOOM engine cause of my work on "PSP-Hexen". The second reason was because the
intention of Chocolate is to behave ("emulate") like the original DOS game of that time. The only
"bad" behaviour it has, is the graphics scaler:

standard resolutions of 320 x 200 pixels
or 320 x 240 pixels

are set to higher resolutions by using multipliers. So the next higher resolution was 640 x 400 pixels
or 640 x 480 pixels

No other NATIVE chance to get the video to output the PSP-standard of 480 x 272 pixels. In the end...
...(you may can imagine)... there were black borders around the screen output.

I then finally decided to "cut off" SDL video support of Chocolate DOOM and use native PSP graphics.

The sound engine uses a combination of SDL-OPL. I didn't change anything on there and didn't even want
to do so.

The controls (where Chocolate also uses SDL) have also been cut off and replaced using native PSPSDK
module code. The only thing here was to make the game work like the PC version does. And that's where
i ran into a problem since STRIFE uses dozens of keys for interaction with the HUD / inventory, game's
automap and so on...

So the key pages have been put together with the mission objectives and weapon inventory to only one
button. The main thing was to let the button do what it should while not breaking the behaviour of
those functions (eg. the mission objectives are only shown as long as you hold down that key, while
the key pages have a popup that lasts for a few seconds until it automatically disappears). But i
finally got it to do what i wanted.

The final step was to include other little "things to play with" that Chocolate never uses. It means
that i heavily expanded the game's main menu and that's why there comes a "PSPSTRIFE.WAD" file with
this release. It includes new main menu graphics which are required to load the new menu items.
Deleting that resource PWAD will result in the game crashing as soon as you try to access the game's
main menu. So better don't delete it!

The main reason for the menu changes was to get the most experience out of the game as well as the
console since the console's main problem is: the low amount of buttons. While testing the port on the
PS Vita and the PSP, i realized that i got way more performance on the PS Vita. It runs really
impressive on the PSP as well, but there definitely is a difference. That's why i included the
possibility to change the PSP's CPU clock rate from within the game's main menu.

There have been other menu changes as well. But you will realize them if you run the game.

A final word onto the Shareware ("DEMO" / "Teaser") IWAD files of STRIFE: those files are named
"strife0.wad" and there do exist 2 different Shareware releases - v1.0 & v1.1. While i was able to
partially add Shareware support for the v1.1 IWAD, there has been no way (yet) to include v1.0
Shareware support (Chocolate natively doesn't even have the possibility to load the Shareware IWAD's).
The v1.1 IWAD does partially work, which means that the game is playable but as soon as you use (fire)
the flamethrower, the game will crash. Also interactions with NPC's (dialogues) do not work (yet). The
v1.0 IWAD doesn't even work and i don't think that it will ever see any further support in this source
port. It simply has massive texture / patches problems which make the game completely unplayable. The
v1.0 Shareware IWAD of STRIFE has a file size of 10.493.652 bytes, while the
v1.1 Shareware IWAD of STRIFE has a file size of 9.934.413 bytes.

I've tested (completely played) the whole game using STRIFE's v1.31 IWAD of the registered version
which has a file size of 28.377.364 bytes. Note: the IWAD file of v1.2 & v1.3 & v1.31 have the same size.

That shall be it for the introduction as of now.



REQUIREMENTS:
-------------------

In order to run this game, you have to copy the main game's IWAD file "STRIFE1.WAD" (THE FILENAME HAS
TO BE LOWERCASE) into the same directory where this port's EBOOT.PBP file is located.

If you want to use ingame voices, then you'll have to do the same with the main game's IWAD file
"VOICES.WAD".



KNOWN BUGS:
-----------------

While i was testing this port, i realized a few bugs that i may have to tell you about :

If you got some inventory items and drop them, then better don't do that in front of a wall / door
because the dropped item might pass through that wall / door. I don't know if this situation also
exists in the Chocolate PC port. The point is, that you have to stay kinda "one step away" from the
corresponding wall (not close up) to figure out what i mean.

On some maps, teleporters might get you stuck inside a lowered wall. I had this issue 2 times. I can
only remember that it happened to me when i tried to enter (teleport into) the map "PROGRAMMER'S KEEP"
a second time from within the map "CASTLE".

There is also a memory related bug / issue that causes voices not playing at a certain point. In this
case you can either restart the hole game from the XMB or just use the dialogue text instead. I really
didn't find a solution to that yet, but i may have a deeper look into this.

It may happen that (if you warp to another map) the music won't be playing on that map but will play
the music of the next map after the one where it doesn't play the music. I do believe that this is
also caused by some memory allocation bug / issue. It happens randomly and not that often but also it
happens on different (not the same) maps.

When ending the game by using the game's main menu, the game might crash - or at least (if you got the
BSOD technology installed) the BSOD will appear and ask you to press the "START"-button. This doesn't
happen every time but even here i think it's a memory issue.

Map statistics (especially the "KILLS" stats) might be wrong when entering the next map and returning
afterwards. This can be caused by many situations.



OTHER ISSUES:
------------------

Loading times while saving a game or quicksaving (which is caused by switching maps) are not my deal.
When porting this game to the PSP, i even ran into problems when trying to save a game state (it
simply didn't work). But this bug has been fixed. So please be patient when the game loads another map
or if you save a game.

Freelook is being used by enabling the option in the game options menu and even setting a freelook
speed to anything but not zero. While in the game, you then can look around by holding down the "USE"
button and the keys that are bound to your forwards / backwards movement. If you want to reset
freelook, simply double-tap the "USE" key.

Cheating may effect your single-player story line. So use them carefully. This is also a known
situation for the original DOS game of STRIFE. So better only cheat if you really have to.

Network support has been completely disabled as i think it's not required and i even don't want to do
any menu just to support that. It would simply take hours of hours to make it work and i also have no
one to make any tests with afterwards (sorry).

When the "game settings" option "follow player" is set to "off", leaving the automap mode is only
possible if you re-enable follow mode again.

There is no "previous weapon" key due to the PSP's lack of buttons - so you have to switch through all
the weapons you have until you reach the one you want to use. That's a shame - i know. But it's better
than nothing.

The above point also applies to the inventory: i modified the code in order to get from the last
inventory item to the first one automatically if the corresponding button is pressed.



TODO:
--------

At least the DOS game's v1.31 version came with an intro movie that i was not possible to get playing
using the SMPEG lib with the PSP-SDK. While it SHOULD have worked, the only thing i really got to work
was sound but i never got the SMPEG lib to give me any video output using SDL. So i stripped that out.
Chocolate as well doesn't have that intro movie included. It also doesn't really need it but i thought
it would be a nice addition. If anyone else gets SDL-SMPEG to work, please report back.



TECHNICAL INFORMATION (EDITING / COMPILING / TESTING ENVIRONMENT):
-------------------------------------------------------------------------------------------

The following environment has been used during porting:

- Ubuntu 14.04 LTS Thrusty Tahr 32-Bit Desktop
- PSP-SDK with GCC v4.8.2 and dozens of libs
- Q4Wine v1.1-r2 with Qt v4.8.6 and Wine v1.6.2
- SLADE v3.0.2
- WinTex v5.0
- Paint Shop Pro 9 v9.0.1
- PPSSPP v0.9.8-1614-g459e244
- Chocolate DOOM master branch (source code - includes STRIFE source code as well)
- STRIFE's main IWAD file "strife1.wad" v1.31
- PS Vita with Firmware v3.01
- PERSONA 2 EU (working & seems very stable)
- TN-V9.6 eCFW



CREDITS FLY OUT TO:
--------------------------

- The Chocolate DOOM Team (thanks to you guys for doing this impressive rework of
a game that's source code got lost back in the 90's).

- Kaiser
- fraggle
- Arikado
- TotalNoob for his TN-V eCFW


DOWNLOAD:
---------------

PSP-STRIFE-R1.zip



Feel free to ask questions about this port and you are also welcome regarding bug reports. I will reply as fast as i can if my job and private life gives me the time for that (sorry, but i'm really busy at these days).

But for the current time: have fun with it. I hope you enjoy it as much as i spent time in porting and testing.

Share this post


Link to post

Ooh, nice, I only have PSP Legacy on my PSP. I will get PSP Hexen and wait for Strife, too. :-)

Share this post


Link to post

Awwww I tried your enhanced PSP hexen but it's for vita only. It did say "special vita mod" heh but I had hope. Can you fix/test on PSP for that one and the strife one?

Share this post


Link to post

Nice!

By intro, do you mean the narration with the series of comic images at the beginning? Because that is working for me.

My main problem is the controls, I can't set the dpad to move forward backwards and turn and set the shoulder buttons as strafe.

The default screen size should be 1 notch higher, it runs full speed easily (44-50 fps at 333mhz for me)

Share this post


Link to post

Hi,

It's great that you've done this port and it's nice to see the work done by the Chocolate Strife developers (and my own from Chocolate Doom) being reused and ported to new platforms. I'm always a fan of new ports.

However, I can't find the download link for the source code. Can you provide a download for the source code please?

Thanks

Share this post


Link to post
VGA said:

Nice!

By intro, do you mean the narration with the series of comic images at the beginning? Because that is working for me.


I meant the video which is also part of this Youtube video here:

https://www.youtube.com/watch?v=oPrU7LSqiX0

(from 0:15 until 0:45)

This video exists on the original CD-ROM of the DOS version of the game. It uses the Microsoft RLE codec which can't be normally played using a lib for the PSP-SDK. I just didn't find one that would play it, so i converted the AVI file (which is on the CD-ROM) into MPEG-1, but when implemented into the code, all i get is sound - no video using SDL-MPEG (PSP-SDK lib "SMPEG") while there definitely IS a video stream included in the converted file. If i play it seperately using any video player, it plays the video pretty good.


My main problem is the controls, I can't set the dpad to move forward backwards and turn and set the shoulder buttons as strafe.


The controls are (especially for the PSP & PS Vita) hard work anyway. As mentioned in the introduction to this port, i ran into several issues while trying to get the controls to work like they should. At least for the PS Vita they are perfect in the current state. It's a shame that the PSP has no second analog stick. Now i'm trying to get what you want, VGA. But the point will be: these special controls for the PSP will be most likely hard-coded. I'm currently working on that issue.

Now to the hard part: the PSP-SDK NORMALLY isn't meant to be used with the PS Vita's hardware - especially the controls. It simply doesn't know that there is another (second) analog stick. There is no possibility to talk to that stick using the PSP-SDK. The way i do this, is, using the PS Vita's PSP emulator any tell him (using the emulator's preferences) to bind the D-PAD's LEFT ARROW and RIGHT ARROW buttons to the RIGHT ANALOG STICK. That's the reason why you (on a PS Vita) can use that stick within homebrew games.


The default screen size should be 1 notch higher


Why shall it be set higher? I quite like it? ;-)

Share this post


Link to post

But there is a useless frame surrounding the action :-)

About the controls maybe you can achieve a dpad+shoulders for movement,turning and strafing, if you use the single-press triangle as use button and keeping it pressed as modifier button for the other three face buttons to have secondary function.

I hate using the psp's analog and doom engine games don't need analog control but I understand why you did it. Because dpad is mapped to the other thumbstick on vita.

In your enhanced hexen vita mod the original game crashes my PSP but the expansion works. But again simultaneous dpad+analog usage is impossible in PSP.

Also can you please make the back button exit the menu when on the top level?

Share this post


Link to post
VGA said:

But there is a useless frame surrounding the action :-)


If you mean the border of bricks, you can set that one from within the "options" sub-menu "screen settings" -> "screen size".


About the controls maybe you can achieve a dpad+shoulders for movement,turning and strafing, if you use the single-press triangle as use button and keeping it pressed as modifier button for the other three face buttons to have secondary function.


That's the current state:

DPAD UP ARROW = move forwards for PSP
DPAD DOWN ARROW = move backwards for PSP
DPAD LEFT ARROW = turn left for PSP
DPAD RIGHT ARROW = turn right for PSP
LEFT TRIGGER = strafe left for PSP
RIGHT TRIGGER = strafe right for PSP

Since DPAD UP ARROW is being used to switch weapons, this (at least for the PSP) can only be done while holding down the "USE" key at the same time. The same applies to the activation of the automap (DPAD DOWN ARROW).

These special PSP controls will only be activated if the setting "BUTTON LAYOUT: PSP" is activated in the R2 Release of PSP-Strife, which i'm currently testing (i think that i have almost done the required code for that now).


In your enhanced hexen vita mod the original game crashes my PSP but the expansion works. But again simultaneous dpad+analog usage is impossible in PSP.


Enhanced PSP-Hexen v0.1 (which is an enhanced release of kgsws's PSP-Hexen v2.1) should work but i'm releasing R2 of Enhanced PSP-Hexen when i'm done with PSP-Strife. As of the current state, Enhanced PSP-Hexen DOESN'T have the same control possibilities as PSP-Strife and therefore needs more rework.

Share this post


Link to post

Sorry, but there will be no release until i'm definitely done with this port. Currently i'm hanging on the case to get better controls for the PSP done.

Share this post


Link to post
nitr8 said:

Sorry, but there will be no release until i'm definitely done with this port. Currently i'm hanging on the case to get better controls for the PSP done.

In that case, please stop distributing binaries until you're ready to distribute the source as well.

You are violating the GPL by not distributing the source. More importantly it's disrespectful to the developers of other source ports whose work you are building on. We release our source code so that others like you can use it; we do so in the understanding that you'll share and share alike.

It doesn't take more than a few minutes to just zip up the source tree you have and release it. I hope you'll do the right thing.

Share this post


Link to post
fraggle said:

In that case, please stop distributing binaries until you're ready to distribute the source as well.

Consider this request as coming from me as well.

Share this post


Link to post
Six-Shoota said:

I would like to see your changes in hexen psp. I tried to find the src with no success.


Enhanced PSP Hexen is a lost project. During the modifications I ran into several "no more to find" bugs. So I'm not going to do any more work on it. That port directly based on the original DOS source code of Hexen. I'm sorry for this matter.

But...

I'm currently redoing all the modifications which I planned to include in Enhanced PSP Hexen R2. I finally decided to start all over and I'm using a completely new code base for it. Expect more to come in the near future.

Share this post


Link to post

Nice. I'll be keeping an eye out here and in wololo, I hope you don't lose your motivation :-)

Share this post


Link to post

Hey nitr8, you still around and working on Strife and Hexen?

Found a bunch of bugs when I tried your PSP Strife R1; mainly related to the controls. Can't remember them now. Will maybe provide more details later. Apart from that, good work though!

But for the love of god, adopt a control scheme that is actually suitable for HUMAN BEINGS.
It's quite possible for the original PSP.
Here's the one I'm going for for Heretic; should be do-able in Strife and Hexen too:

Square/Cross/Triangle/Circle - move forward/backward, strafe left/right
Analog Nub - mouselook left/right/up/down
Right shoulder - jump
Left shoulder - shoot
D-pad up - use
D-pad down - use item
D-pad left - cycle item backwards
D-pad right - cycle weapon forwards
Start - map
Select - menu

I play Doom on the PSP like this and it works like a charm; it's the standard optimal FPS layout; only using the PSP's buttons in lieu of the 2nd analog. You don't really need an analog input for movement anyhow.

The only thing that's missing for my Heretic set-up - is flying up & down keys. But flying up can be accomplished I believe, with jump, while flying down can be achieved by moving forward against a wall. Not ideal, but satisfactory - flying is not all that frequently used anyway.

Cycling items requires a small change to the code to enable it to be done with just one button. I'm planning to bring out such an update for PSP Legacy along with some other features.
No reason why you can't accomplish the same thing with Hexen & Strife.

Please consider adding WAD loading support to Hexen too. You'll please a lot of people (me :D).
Don't think anyone gave enough of a crap about Strife to ever having bothered making any WADs for it though..

Share this post


Link to post

Excuse me mr nitr8. Are you still working on doom for psp? I found your port yesterday, and i think it is incredible. It works great, it has no problems with ultimate doom wad (like other ports do), and is very stable. But controls are very strange. You can move with analog only which shouldn't be such a problem, but this time, analog is very glitchy and works barely. If you are still alive, would you be able to fix it, or tell us how to do it? I know there is a source of your port released, but to be honest, i have no idea how to change anything. Thank you if you response

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×