Most of the homebrews discussed in this forum can be downloaded here
#358074 by nitr8
Sun Aug 10, 2014 5:51 am
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.

Image

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.



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.
Advertising
Last edited by nitr8 on Wed Aug 13, 2014 5:56 pm, edited 1 time in total.
#358083 by SteelWolf89
Sun Aug 10, 2014 8:12 am
sweet jesus, this is awesome. i haven't played Strife since i was 7, lol.

btw, is there any way you could link to your other releases and similar ones that actually work like they should? (Doom, Heretic, Hexen, Rise of the Triad, Duke Nukem 3D, Shadow Warrior, Blood, etc.)
Advertising
#358095 by haxxey
Sun Aug 10, 2014 10:57 am
Very nice! Keep up the good work.
#358370 by haxxey
Tue Aug 12, 2014 4:19 pm
heck yeah I am!

Also, for the people who don't know about this game, Ross (from Freeman's Mind) recently did a pretty good review of the game.

Who is online

Users browsing this forum: No registered users and 2 guests