Release Xash3D - Half Life


ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
9,332
Age
52
Location
France, near Lyon
Here is Xash3D, a remake of the GoldSrc engine, make it possible to play Half Life on the Pandora.
preview4.png

You will need the Game datas to play this game.
If you use the CD version, you need to patch to latest version (v1.1.1.0). If you use the Steam version, you need to start the game your PC first before transfering the Datas.
If you don't have Half Life, there are 2 demos Half Life: Day One here http://www.gamefront.com/files/9563068/Half-Life-Day-One-Demo/ and Half Life: Uplink here http://www.gamefront.com/files/7972510/Half_Life__Uplink_Demo/ to try out. I have not make a "ready 2 play" PND with them, but if you feel it's needed, ask for it here.

For now, Opposing Force does not work, and Blue Shift status is unsure.

This port use gl4es, and most of the controls tweaking also found on my other fps ports. So shoulder are mouse button (can be disabled by putting a files names .noshouldermb in appdata/xash3d), crouch is a toggle now.
Unfortunatly, the left nub, that is supposed to be the joystick to mode, doesn't work with SDL2, so for now you need to use the DPad for movements.: build 06+ support nub as joysticks.

Big thanks to the beta testers, it was not an easy one!

Xash3D is featured on GiantPockets: https://www.giantpockets.com/half-life-running-on-pandora/

History log
==========


Build 17
-----------

  • Fixed music issue (disabled some NEON code that seems a bit buggy)
  • Updated libs
Build 16
-----------

  • Found a workaround to fix the visual actefact on textures
  • Latest gl4es, with new BATCH mode for a bit more fps
Build 15
-----------

  • Added some neon optimisations
  • Added some GL optimisation (batching some calls)
  • Updated all libs.
Build 14
-----------

  • Update sources for xash3d from upstream
  • New build , with faster and smoother gameplay (using arm "run fast")
  • Updated CS libs
Build 13
-----------

  • New build , with faster and smoother gameplay.
  • Updated CS libs
Build 12
-----------

  • New build (should be faster)
  • Preliminary support for Counter-Strike
Build 11
-----------

  • Fixed a bug that may prevent certain mod to start a new game

Build 10
-----------

  • Added automatic Blue Shift support
  • Updated sources and libs

Build 09
-----------

  • Fixed the loading of Mods that was broken
  • Updated sources and libs

Build 08
-----------

  • Fixed the ".noshouldermb" function

Build 07
-----------

  • New build, with updated sources

Build 06
-----------

  • Added support for Nub as Joystick
  • Left nub to move now (you may need to enable joystick in valve/config.cfg)

Build 05
-----------

  • Fixed a bug on the loading of a level (introduced with build 3000).

Build 04
-----------

  • Better Gamma handling (thanks to notaz)
  • Updated to latest xash3d release (build 3000)

Build 03
-----------

  • Fixed Fog / Underwater colors (glshim fix)
  • Enabled console in a cleaner way (using -dev 1)
  • Attempt to improve gamma correction
Build 02
-----------

  • Fixed jump key when toggleCrouch is disabled
  • Improved toggleCrouch
  • Enabled Console
  • Fixed HUD rendering
Build 01
-----------

  • Initial build
  • Added Toggle Crouch
  • Added Shoulder as Mouse Button
  • Default setup more Pandora friendly.
  • Enabled batch mode on glshim

Sources are now on my github repo. There are 3 parts: Half Life SDK, Xash3D and XashXT.
 
Last edited:
thx for the port, i never completely finished half life back in the day, now i think i finally will
 
So much for being productive today...

 

Unfortunatly, the left nub, that is supposed to be the joystick to mode, doesn't work with SDL2, so for now you need to use the DPad for movements.
Well my left nub on my 1Ghz is broken for the most part anyway.
 
Last edited by a moderator:
sorry if this was discussed earlier: what about other half-life based mods like action half-life or day of defeat?


does multiplayer work?
 
all mod requiring specific dll won't work unfortunately...
 
Really awesome, thank you!

Sadly, long jumping is broken, so you can't even finish the tutorial level. I think you broke it when you added toggle crouch.
 
Last edited by a moderator:
Big thank's Seb :)

One of top (and i think one of the most played) game in the world is now possible to play on Pandora!! What a milestone.

Viva Pandora!! B) B)
 
Indeed, I am a cheater.  Think of it as a prosthetic for someone developmentally challenged with respect to gaming skills...  Plus I'd like to be able to manually load any map I want.
 
I thought i had a fully patched version of this copied across from my PC but I can't this to start properly on the Pandora at all. It goes straight to the title menu,when I select New Game, it then won't allow me to select a difficult level. Here's my run_out file, apologies in advance as I can't recall how to put this as a spoier...

=======================================================================================
PND             : /media/SANDISK64M/pandora/menu/xash3d_ptitseb.pnd
PND_FSTYPE      : Squashfs
APPDATADIR      : /media/SANDISK64M/pandora/appdata/xash3d
APPDD_FSTYPE    : vfat
PND_CPUSPEED    : <unset>
EXENAME         : runscript.sh
ARGUMENTS       : <unset>
=======================================================================================
[ START ]--- Mount the PND ----------
Mounting : mount -t squashfs -o ro "/dev/loop0" "/mnt/utmp/xash3d"
Mounting the Union FS : mount -t aufs -o exec,noplink,dirs="/media/SANDISK64M/pandora/appdata/xash3d=rw+nolwh":"/mnt/pnd/xash3d=rr" none "/mnt/utmp/xash3d"
[sUCCESS]--- Mount the PND ----------
[ START ]--- Starting the application ( runscript.sh  ) ----------
--------------------------------------------------------------
Setting PATH to /mnt/utmp/xash3d:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games
Setting LD_LIBRARY_PATH to /mnt/utmp/xash3d/lib:/mnt/utmp/xash3d/lib:/usr/lib:/lib
System check
============
Freememory is 321
Cpu Speed is 1100
Sys Speed is 400
Nubs as absolute, mouse
X11_GL_LoadLibrary(0x4b5d0, (null))
LIBGL: Initialising glshim
LIBGL: Batch mode enabled
libGL egl backend: libEGL.so
libGL: built on Apr 15 2015 21:58:38
libGL: framebuffer output enabled
LIBGL: Current folder is:/mnt/utmp/xash3d
libGL backend: libGLES_CM.so
X11_GL_LoadLibrary(0x4b5d0, (null))
glX stub: glIndexPointer
glX stub: glGetClipPlane
glXGetProcAddress: glStencilOpSeparate not found.
glXGetProcAddress: glStencilFuncSeparate not found.
StartGame(2.000000)
Host_NewGame("newmap", FALSE)
Map is not valid!
StartGame(2.000000)
Host_NewGame("newmap", FALSE)
Map is not valid!
StartGame(2.000000)
Host_NewGame("newmap", FALSE)
Map is not valid!
StartGame(2.000000)
Host_NewGame("newmap", FALSE)
Map is not valid!
StartGame(2.000000)
Host_NewGame("newmap", FALSE)
Map is not valid!

=================================================================================
     (build 2867) stopped at Apr26 2015 [22:23.42]
=================================================================================[sUCCESS]--- Starting the application ( runscript.sh  ) ----------
[ START ]--- Restoring the frame buffer status ----------
[sUCCESS]--- Restoring the frame buffer status ----------
[ START ]--- Restoring nub mode ----------
[sUCCESS]--- Restoring nub mode ----------
[ START ]--- uMount the PND ----------
[ START ]--- Waiting the Union to be available ----------
[sUCCESS]--- Waiting the Union to be available ----------
rmdir: failed to remove `/mnt/utmp/xash3d': Device or resource busy
[ START ]--- Waiting the PND mount dir to be free ----------
[sUCCESS]--- Waiting the PND mount dir to be free ----------
cleanup done
[sUCCESS]--- uMount the PND ----------
=======================================================================================
Return code is : 1
 
 
Really awesome, thank you!


Sadly, long jumping is broken, so you can't even finish the tutorial level. I think you broke it when you added toggle crouch.
I'm quite sure I didn't broke it. But if you think I have, you can disable the function (toggle crouch), by changing appdata/xash3d/valve/config.cfg look for togglecrouch and change "1" by "0".

I thought i had a fully patched version of this copied across from my PC but I can't this to start properly on the Pandora at all. It goes straight to the title menu,when I select New Game, it then won't allow me to select a difficult level. Here's my run_out file, apologies in advance as I can't recall how to put this as a spoier...

=======================================================================================


PND             : /media/SANDISK64M/pandora/menu/xash3d_ptitseb.pnd


PND_FSTYPE      : Squashfs


APPDATADIR      : /media/SANDISK64M/pandora/appdata/xash3d


APPDD_FSTYPE    : vfat


PND_CPUSPEED    : <unset>


EXENAME         : runscript.sh


ARGUMENTS       : <unset>


=======================================================================================


[ START ]--- Mount the PND ----------


Mounting : mount -t squashfs -o ro "/dev/loop0" "/mnt/utmp/xash3d"


Mounting the Union FS : mount -t aufs -o exec,noplink,dirs="/media/SANDISK64M/pandora/appdata/xash3d=rw+nolwh":"/mnt/pnd/xash3d=rr" none "/mnt/utmp/xash3d"


[sUCCESS]--- Mount the PND ----------


[ START ]--- Starting the application ( runscript.sh  ) ----------


--------------------------------------------------------------


Setting PATH to /mnt/utmp/xash3d:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games


Setting LD_LIBRARY_PATH to /mnt/utmp/xash3d/lib:/mnt/utmp/xash3d/lib:/usr/lib:/lib


System check


============


Freememory is 321


Cpu Speed is 1100


Sys Speed is 400


Nubs as absolute, mouse


X11_GL_LoadLibrary(0x4b5d0, (null))


LIBGL: Initialising glshim


LIBGL: Batch mode enabled


libGL egl backend: libEGL.so


libGL: built on Apr 15 2015 21:58:38


libGL: framebuffer output enabled


LIBGL: Current folder is:/mnt/utmp/xash3d


libGL backend: libGLES_CM.so


X11_GL_LoadLibrary(0x4b5d0, (null))


glX stub: glIndexPointer


glX stub: glGetClipPlane


glXGetProcAddress: glStencilOpSeparate not found.


glXGetProcAddress: glStencilFuncSeparate not found.


StartGame(2.000000)


Host_NewGame("newmap", FALSE)


Map is not valid!


StartGame(2.000000)


Host_NewGame("newmap", FALSE)


Map is not valid!


StartGame(2.000000)


Host_NewGame("newmap", FALSE)


Map is not valid!


StartGame(2.000000)


Host_NewGame("newmap", FALSE)


Map is not valid!


StartGame(2.000000)


Host_NewGame("newmap", FALSE)


Map is not valid!


=================================================================================


     (build 2867) stopped at Apr26 2015 [22:23.42]


=================================================================================[sUCCESS]--- Starting the application ( runscript.sh  ) ----------


[ START ]--- Restoring the frame buffer status ----------


[sUCCESS]--- Restoring the frame buffer status ----------


[ START ]--- Restoring nub mode ----------


[sUCCESS]--- Restoring nub mode ----------


[ START ]--- uMount the PND ----------


[ START ]--- Waiting the Union to be available ----------


[sUCCESS]--- Waiting the Union to be available ----------


rmdir: failed to remove `/mnt/utmp/xash3d': Device or resource busy


[ START ]--- Waiting the PND mount dir to be free ----------


[sUCCESS]--- Waiting the PND mount dir to be free ----------


cleanup done


[sUCCESS]--- uMount the PND ----------


=======================================================================================


Return code is : 1
I guess you have run the game before patching.


Remove appdata/xash3d/valve/gameinfo.txt and it should work (if you have updated your data to v1.1.1.0).

No console access?
Go to the appdata/xash3d/valve/config.cfg and change the binding of the console to a better key.
 
Last edited by a moderator:
So I shouldn't run the game at all before patching it? I did run the PC version just to try it out again. I thought I had it fully patched, I'll check again tomorrow. I tried there copying all the data across to a smaller fat32 card to see if that'd make any difference (it didn't)
 
Figured out my problem, I misunderstood the files required, I was putting the entire Half Life install directory into a directory called Valve, instead of taking the Valve directory from inside the original install.


How does one run mods within Half Life itself? I was reading about a mod version of the unreleased Dreamcast version that is supposed to use a lot more auto aim that might work better with the Pandora nubs? (just a thought)
 
Last edited by a moderator:
Changed the key binding for toggleconsole to n but the game doesn´t bring up the console.  Another odd thing - when I open config.cfg mousepad warns me that the file is not utf-8 format, but none of the other cfg files give me that warning.  I created a plain text file, copied the settings from config.cfg into it and saved it, after which i was able to open it without receiving the warning about the format.  After running the game and trying the n key to open the console (no luck) I exited the game again.  When I tried opening the file with mousepad I got the warning, so the game must have modified the file format.
 
Running it right now (little ways past experiment failure) and it's fantastic. FPS rarely drops below 25 (1GHZ overclocked to 1225, 4.1 driver), which is extremely impressive to me, and everything's working great (can confirm that crouch jump isn't broken). Only issue I've noticed is the occasional texture fuzziness mentioned in the interview, but it's not that common and non-intrusive. Great job on this!
 
Back
Top