nitr8 Posted August 10, 2014 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. 1 Share this post Link to post
VGA Posted August 10, 2014 Ooh, nice, I only have PSP Legacy on my PSP. I will get PSP Hexen and wait for Strife, too. :-) 0 Share this post Link to post
Six-Shoota Posted August 11, 2014 nitr8, how you've compiled the psp hexen? I've only succeeded the debug build. 0 Share this post Link to post
nitr8 Posted August 12, 2014 Getting your panties wet?: http://www.youtube.com/watch?v=c0etC_1KARE 0 Share this post Link to post
VGA Posted August 13, 2014 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? 0 Share this post Link to post
nitr8 Posted August 15, 2014 My ports do run on the Vita's PSP emulator & a real PSP! 0 Share this post Link to post
VGA Posted August 17, 2014 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) 0 Share this post Link to post
fraggle Posted August 17, 2014 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 0 Share this post Link to post
nitr8 Posted August 17, 2014 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? ;-) 0 Share this post Link to post
VGA Posted August 17, 2014 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? 0 Share this post Link to post
nitr8 Posted August 17, 2014 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. 0 Share this post Link to post
VGA Posted August 17, 2014 Understood, I will wait for R2, then, for more testing. 0 Share this post Link to post
Coraline Posted August 17, 2014 fraggle said:Can you provide a download for the source code please? 0 Share this post Link to post
nitr8 Posted August 17, 2014 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. 0 Share this post Link to post
fraggle Posted August 17, 2014 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. 0 Share this post Link to post
Quasar Posted August 18, 2014 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. 0 Share this post Link to post
Kaiser Posted August 20, 2014 Quasar said:Consider this request as coming from me as well. Second 0 Share this post Link to post
Six-Shoota Posted August 21, 2014 I would like to see your changes in hexen psp. I tried to find the src with no success. 0 Share this post Link to post
fraggle Posted August 21, 2014 For reference, nitr8 let me know that he's posted the source code on Google Code. Thanks nitr8 for doing the right thing. 0 Share this post Link to post
nitr8 Posted September 3, 2014 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. 0 Share this post Link to post
VGA Posted September 3, 2014 Nice. I'll be keeping an eye out here and in wololo, I hope you don't lose your motivation :-) 0 Share this post Link to post
flamming_python Posted January 28, 2015 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.. 0 Share this post Link to post
NieMaMordy Posted November 10, 2016 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 0 Share this post Link to post