Homebrew RELEASE systemshock - Shockolate

  • Thread starter Thread starter capsterx
  • Start date Start date
  • Views Views 17,144
  • Replies Replies 69
  • Likes Likes 10

capsterx

Well-Known Member
Member
Joined
Oct 14, 2020
Messages
147
Reaction score
180
Trophies
0
Age
44
XP
502
Country
United States
Shockolate is a cross platform source port of System Shock, using SDL2. This runs well on OSX, Linux, and Windows right now, with some missing features that need reviving due to not being included in the source code that was released.

https://github.com/capsterx-switch/systemshock/releases/tag/v0.8.2-r5

A default key mapping is installed in switch/systemshock/keymap.keys

I dont know enough on the game to make a great set. This is what is set:
TOUCH_MOUSE_ABS=TRUE
DOUBLE_TOUCK_KEYBOARD=TRUE
RSTICK_MOUSE=TRUE
DUP=w
DDOWN=s
DLEFT=a
DRIGHT=d
LSTICK_UP=w
LSTICK_DOWN=s
LSTICK_LEFT=a
LSTICK_RIGHT=d
MINUS=ESC
PLUS=SPACE
LSTICK=RETURN
L=f
ZL=MOUSE_LEFT
ZR=MOUSE_RIGHT

double tap to bring up the keyboard when you enter your name
If someone comes up with a better mapping, let me know and I'll update it.

For info on the mappings you can look at https://github.com/capsterx-switch/switch-utils

For this to work you need a version of the game and put the res folder in switch/systemshock/res, mine looks like this:
ls switch/systemshock/res
drwxrwxrwx 1 Switch Switch 0 Jan 1 1970 data
drwxrwxrwx 1 Switch Switch 0 Jan 1 1970 enhanced
drwxrwxrwx 1 Switch Switch 0 Jan 1 1970 localization
drwxrwxrwx 1 Switch Switch 0 Jan 1 1970 missions
drwxrwxrwx 1 Switch Switch 0 Jan 1 1970 mods
drwxrwxrwx 1 Switch Switch 0 Jan 1 1970 pc

Changelog
r5
Fixing a crash when audio log was playing and you pressed keys. Also fixed a bug if you paused with the audio log playing.

r4
Stop/start the sdl mixer and sdl raw audio as needed so both the intro and in-game stuff works.

r3
This should fix the sound on the switch.
NOTE: the game expects sound to be in res/sound/sblaster, so you should have, for example res/sound/sblaster/titloop.xmi

r2
updated switch-utils to support mouse clicks
r1
Initial release
 
Last edited by capsterx,
Nice project, thanks!

Sorry for asking that, but there's no music at all?

PS: maybe it could be useful to assign mouse click function and double click on some buttons, like ZL / ZR instead of R3, and use the A/B/X/Y buttons somehow.
 
Last edited by mathew77,
Nice project, thanks!

Sorry for asking this, but there's no music at all?

PS: maybe it could be useful to assign mouse click function and double click on some buttons, like ZL / ZR instead of L3, and use the A/B/X/Y buttons somehow.

I'll have to look into the music, I didnt even think to try that. Spent too long trying to figure out why it wasnt reading keys right.

The mouse click defaults to right stick click or touch screen touch. You cannot currently assign mouse click to another button, but adding that would be trival. Doing double click on a button would require some thinking to implement but it's likely not that hard...I think.
 
  • Like
Reactions: mathew77
No, Im not sure how to do that. Are there other games that do?
Really don't remember if there is any game using keyboard for gameplay.

You can get keyboard output with hid in libnx. In last release you can use hidKeyboardHeld, Down, etc. In master it's deprecated and I don't know which function should be used now.
 
Screenshot_20201216-235124__01.jpg
:)
 
Ehm, but how to use right click mouse (Attack the enemies)?.. R3 doesn't work (it's a left mouse click I guess).

And secondly, I can't save the game — + button doesn't work as 'Enter' in Save menu...
 
Last edited by mathew77,
Ehm, but how to use right click mouse (Attack the enemies)?.. R3 doesn't work (it's a left mouse click I guess).

And secondly, I can't save the game — + button doesn't work as 'Enter' in Save menu...

There is not currently a way to configure a right mouse click, but I can add that.

I'll look into the save thing it's possible it has a separate event loop.
 
  • Like
Reactions: mathew77
Thanks! So right now I can't attack mobs at all? :lol:

I updated the release but did not update the keymap in the zip, but I tried this one out

TOUCH_MOUSE_ABS=TRUE
DOUBLE_TOUCK_KEYBOARD=TRUE
RSTICK_MOUSE=TRUE
DUP=w
DDOWN=s
DLEFT=a
DRIGHT=d
LSTICK_UP=w
LSTICK_DOWN=s
LSTICK_LEFT=a
LSTICK_RIGHT=d
MINUS=ESC
PLUS=SPACE
LSTICK=RETURN
L=MOUSE_LEFT
R=MOUSE_RIGHT

I added LSTICK clicking to RETURN for saving, but it can be any key, looks like you minimally need space and return to get into the game and save.
 
  • Like
Reactions: mathew77
I have no clue! I've never actually played system shock. It should play anything https://github.com/Interrupt/systemshock can play
it's all good! I don't mind waiting for fixes, thanks for your hard work! got plans for other classic PC games to port or anything from the Windows 2000/XP era like Oni or Nanosaur or Bugdom?
 
it's all good! I don't mind waiting for fixes, thanks for your hard work! got plans for other classic PC games to port or anything from the Windows 2000/XP era like Oni or Nanosaur or Bugdom?

If there is an SDL open source port for such you can point me at, I can look at it.
 

Site & Scene News

Popular threads in this forum