Jump to content
SubSpace Forum Network

Developing add-ons for continuum (light hacking)


Recommended Posts

Posted

Groundwork

 

The actual reason I developed Continuum Resizer was to overlay graphics over Continuum. This is straight-forward when playing windowed (overlaying over windows is easy) but things change when you're trying to draw over a fullscreen directx/draw application. I tried a different ways of getting graphics to appear over a directx/draw app but was unsuccessful so in the end I changed strategies to just making continuum a window (when in fullscreen mode). Getting fullscreen windowed was not at all necessary for overlaying graphics (since continuum already has a windowed mode) but I wanted any add-on I developed to be seemless.

 

Once I developed resizer, I did some probing of Continuum's memory. It should be noted that Continuum has an encrypted executable, prevents debugging, and also encrypts its network data. However once in game, Continuum does store some useful game-related objects in heap memory. I found ship data (position/velocity) and powerball data. A value essential to the add-on I had in mind but was missing was a reliable ship rotation value. (I found something which was indirectly related to rotation - it could be converted to rotation most of the time - however it would start going wonky when energy levels were low). After some time I decided switch methods to trying to get the ship rotation from when continuum draws the ship graphic to the screen. This worked.

 

So, to recap, with these foundations in place i can now read all ship position data and powerball data whenever from continuum. By whenever i actually mean whenever (which is spectacular): before the frame is drawn, after the frame is drawn, essentially any arbitrary time. This is everything I need for the add-on in mind.

 

The Addon

 

The goal is a multifunction add-on running silently along Continuum for use in the Powerball zone. This is the feature-list

  • detect ports and warp to them when the ball was within catching distant of them (port-steals/port-goals) (implemented)
  • overlay loose ball trajectories (including geometry of the lvl)
  • overlay where the ball comes to rest (onscreen)
  • have a mode that searches for any possible scoring shots and automatically shoots those shots (an aim-bot)
  • display how much time left on the ball timer for any player carrying the ball (implemented)

and have context-sensitive hotkey combos for:

  • ballkilling (an enemy passes you the ball while you were goalie & shooting bullets - the add-on would immediately shoot back the ball, which prevents anyone from ballkilling you in goal)
  • passing (ctrl/tab passes always use insert)

I have ceased working on it as it's too much effort to glean geometry data from the lvl and use that to compute ball trajectories/possible shots. Also, it's undetectable in the current version of continuum and likely to be so forever since continuum isn't developed anymore lol.

 

I'll leave anyone interested with a link to the source: https://bitbucket.org/weasal/powerballshot/src

Anyone competent should be able to compile it with a bit of effort, idiots/skiddies probably will have trouble since I haven't included any of the project files.

 

This was intended to be mostly academic, but it is cheating, so mods, please do net-ban me.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...