Homebrew Half-Life (Xash3D FWGS) - Wii port

  • Thread starter Thread starter MintFerret
  • Start date Start date
  • Views Views 1,204
  • Replies Replies 7
  • Likes Likes 14

MintFerret

New Member
Newbie
Joined
May 27, 2026
Messages
4
Reaction score
21
Trophies
0
Location
Managua
XP
76
Country
Nicaragua
I wanted to post this when this port was stable enough to release, but thought I would share this before someone keeps asking for this.

So a couple months ago, I started porting Xash3D to the Wii. I figured that with the engine now having big endian support and the Wii having SDL2 and an OpenGL wrapper, it should be easier to port it than what the previous attempt had to work with. I still had to patch some stuff (using the Dreamcast port as reference) in order to statically link the game's libraries, as libogc doesn't have any form of dll loading. Other than that, most stuff is already working out of the box, but there's still lots to be done.

To-do list:
  • Fix saving and loading save files (mostly loading in general)
  • Network support
  • Hardware acceleration via OpenGX
  • Wiimote + Nunchuck support (with QuakeGX aiming)


Screenshots below are running in software rendering, as compiling the engine with opengx makes the binary too big to fit into memory
 

Attachments

  • Screenshot 2026-06-14 7.54.50 AM.png
    Screenshot 2026-06-14 7.54.50 AM.png
    220.8 KB · Views: 7
  • Screenshot 2026-06-13 10.07.56 PM.png
    Screenshot 2026-06-13 10.07.56 PM.png
    465 KB · Views: 2
Always test on hardware first, and emulator second. Also OpenGX can be pretty heavy on Wii's memory and CPU sadly. It's a good band-aid 'till you can get the native GX rendering up and running. However, best of luck!
 
Always test on hardware first, and emulator second
I always do, I first run the emulator slow enough to get the debugger to work, and then test it on my Wii afterwards.

OpenGX can be pretty heavy on Wii's memory and CPU sadly. It's a good band-aid 'till you can get the native GX rendering up and running
Even without hardware rendering, the performance doesn't seem too bad. I haven't tested it with OpenGX, but I imagine once I get it to work I won't have to worry about making a native renderer for the time being

Here's the full intro running in software rendering now that I fixed some parts of the filesystem
 
I always do, I first run the emulator slow enough to get the debugger to work, and then test it on my Wii afterwards.


Even without hardware rendering, the performance doesn't seem too bad. I haven't tested it with OpenGX, but I imagine once I get it to work I won't have to worry about making a native renderer for the time being

Here's the full intro running in software rendering now that I fixed some parts of the filesystem

That's not too bad at all!

Also, the OpenGX rendering is good at first, but Native GX calls are just overall better. You gain sooo much performance off that.
 
  • Like
Reactions: 0arsoluto
That's not too bad at all!

Also, the OpenGX rendering is good at first, but Native GX calls are just overall better. You gain sooo much performance off that.
Maybe at some point. I don't know much about graphics programming to know where to begin to write a native renderer, so I'll stick with OpenGX till I sort that out. I had another project previous to this where I hit the same wall.
 
Thank you everyone for your interest, here's another update on the port

I've been trying to get multiplayer working and only got it partially working. It can connect to other servers but as soon as it loads the level, it crashes due to some stack corruption. It didn't help that this issue only occurred on the emulator and not on my Wii as it appeared to be disconnected. I've spent the past week trying different socket libraries but still nothing. I've adapted some portions of the network shim from @Mayo1990 's port of quake3, and managed to get the Wii to host a HLDM server as pictured below. It seems to work with any client that I threw at it regardless of endianess.

IMG_20260624_172335.jpg


As of today, I got the Wii to connect to servers, but I'm still having the same problem as I was having with the emulator. At this point, I'm going to shift my focus on the opengx renderer and get the rest of the campaign working. I'll release the source code tomorrow, if anyone wants to assist.
 

Site & Scene News

Popular threads in this forum