For the community’s consideration :>
Like all my hacks, you’ll have to re-do this on any window refresh/crash/what have you.
TL;DR:
Paste the following into the Chrome Dev Console
window.tomni.changeSlice = function(e, t) {
this.trainer.state.disabled.scrolling || (window.tomni.killTimers(),
t *= (window.tomni.getCurrentCell().info.dataset_id>1) ? (e==‘x’||e==‘y’) ? 8 : 1 : 1,
this.gotoSlice({
axis: e,
slice: Math.round(window.tomni.twoD.slice[e] + t)
}),
this.trainer.eventHandler(“page”, t))
}
Now you should be able to use the other axes for ZFish.
For those who are interested in the technical breakdown:
E2198 creates cubes that are 256x256x256 in volume. That means there are 256 slices that you slide through in each plane.
ZFish on the other hand creates cubes that are 1024x1024x128. Since the only playable plane is the Z axis, that means you have 128 slices that you slide through, hence the feeling that you are blasting through the effective playing area much more quickly… essentially, your shift counts twice as much in terms of playing volume.
Due to the nature of JS, you have to override the whole changeSlice function, even though it’s just a one-liner addition
The line in question is:
t *= (window.tomni.getCurrentCell().info.dataset_id>1) ? (e==‘x’||e==‘y’) ? 8 : 1 : 1,
The psuedocode for this is:
if(cell is mystic (dataset_id>1)) and if(axis==“x” or axis==“y”) then set multiplier to 8
Otherwise set multiplier to 1
This divides that volume down so that from a slice perspective, the ZFish cube becomes 128x128x128 in size.
I can’t fix the aliasing (the disjointed nature of the image) but at least you can now scan through them fairly easily.
Oh, one last thing. I had to remove a line from the code as well. t *= o ? 1 : -1, I couldn’t figure out the local variable attachment to o, and overriding the function moves it into its own virtual area, so I lose local context. The equivalent line is delta *= (_reversedcontrols ? 1 : -1); so unless you use reversed controls, I don’t think this causes any damage.