SRB2 Message Board  

Go Back   SRB2 Message Board > Sonic Robo Blast 2 > Releases > Mods

Reply
 
Thread Tools
fickle's camera mod that she refuses to give a good name to Details »»
fickle's camera mod that she refuses to give a good name to
Version: 2, by fickleheart (ms reflec beat stan) fickleheart is offline
Developer Last Online: Jul 2020

Version: SRB2 Rating: (6 votes - 5.00 average)
Released: 12-09-2019 Last Update: 12-30-2019 Installs: 6
Re-Useable Content Code Changes Is in Beta Stage

This EXE mod is now redundant, as all of its features are implemented in 2.2.1. The rest of the post is left as-is for posterity.

If you have the 32-bit version of SRB2 2.2.0 (the default), download fcam-v2. If you got the 64-bit version from somewhere, download fcam64-v2.
thanks SCOTT0852 for building the 64-bit version!
Linux users: see this post https://mb.srb2.org/showpost.php?p=816201&postcount=56 (I'm not well-suited to provide support for this build if there are OS-specific problems)

I saw people bitching about how the game shoves keyboard-and-mouse controls down your throat now. Perfectly fair, it's not really an accessible control setup, but old analog mode sucks too. To that end I put this together in a couple hours over the last week to try and come up with a middle ground.

This EXE attempts to provide a camera better-suited to a typical 3D platformer control setup, known as "Simple" controls, on by default in this EXE. "Camera Options" is also greatly extended in Simple mode, to expose all of the options for controlling exactly how the auto-camera behaves.



I have tested this with a camera distance of 224 and a camera height of 50.
If you switch off of Simple controls and then back onto it, these will be set automatically for you, but if you just load the EXE, it will still have the default settings. Keep that in mind!



Notable features:
  • Player abilities activate in the direction of the player (or of input), like how old Analog mode used to work.
  • An automatic camera has been created, which hopefully works a lot better than old Analog mode did at facing where you want to see. If it doesn't, the manual camera controls will no longer have to fight the auto camera for dominance.
  • The "Center View" button locks the camera behind the player and temporarily reverts to old-school tank controls, and will also activate a loose targeting system to face nearby bosses (or other objects, if enabled from the options).
  • A couple of minor QoL features have been added: horizontal camera rotation speed can be adjusted, and joystick deadzones can be configured with separate options for digital thresholds and analog deadzones.



Source code
https://gitlab.com/fickleheart/srb2-...ee/newcontrols

This should* be entirely netplay-compatible.

*note: may not be if there's a bug



FAQ and known issues

Spoiler: FAQ and known issues

The application could not start properly (0x0000007c or whatever)
Go get the 32-bit release of 2.2. This EXE isn't compatible with the DLLs from the 64-bit release.

The camera snaps funny when it resets
Known. I'll fix it some day maybe.

This camera screws up really badly in (some situation)
Oops? Show me what's wrong. If it's because of a Lua addon, I can't do much about that, but for vanilla game and standard stuff, I'll do my best to fine-tune it.

I don't like (some aspect of the new camera)
Check the settings in Camera Options and try tweaking the slider that sounds most like it's causing your problem. Turning all of the sliders down will result in a fully manual camera with the rest of Simple mode's changes in place.

This garbage still gets stuck on walls everywhere and needs babysat
Yeah. You'll still have to control the camera. Maybe just less so. A perfect autocam needs hints in the environment, which SRB2 doesn't have.

You should do (some thing that improves the camera)
Great idea! I'll get back to you on that.

But SRB2 was designed to be played with a keyboard and mou-
Playing kb+m is fine and dandy, but you're not gonna win over people who come in expecting a typical platformer experience by yelling at them to play it like a shooter. Give them an option they're familiar with. Let them gravitate toward the optimal control scheme on their own time. Or don't! They can stick with whatever control scheme they want, and that's fine too.


Spoiler: console variables for menu options

Player 2 cvars are on cam2_ instead of cam_ unless otherwise noted

The base toggle for Simple mode: abilitydirection/abilitydirection2 [Camera/Movement] (having this on with directionchar off is unsupported)
Rotation Speed: cam_rotspeed [1 to 25]

Shift to Player Angle: cam_shiftfacingchar [0.00 to 1.00]
Turn to Player Angle: cam_turnfacingchar [0.00 to 1.00]
Turn to Ability: cam_turnfacingability [0.00 to 1.00]
Turn to Spindash: cam_turnfacingspindash [0.00 to 1.00]
Turn to Input: cam_turnfacinginput [0.00 to 1.00]

Lock Button Behavior: cam_centertoggle [Hold/Toggle]
Sideways Movement: cam_lockedinput [Strafe/Turn]
Targeting Assist: cam_lockaimassist [Off/Bosses/Enemies/Interests/Full]



Spoiler: changelog

v2:

- Updated to current master
- Note: master has its own camera rotation speed option, so I consolidated into that. You'll have to reset your option for this.
- Fixed tailsbot fly when P1 has standard controls and P2 has simple controls (see MB thread #41)
- Fixed camera reset snapping weirdly (see MB thread #37)
- Added "Sticky Hold" option for Lock Button Behavior: this behaves like Toggle, but automatically releases if you let go and aren't locked onto anything (see MB thread #23)
- Changed defaults to my personal preference
- Separated camera distance/height settings for Standard/Simple modes (see MB thread #27)
- Note: your current camera settings will be saved to Standard's camera distances. You may need to set this back to default if you've been using Simple camera.
- Disabled lock-on in Ringslinger (see MB thread #22)


v1: initial release

Download Now

File Type: zip srb2win-fcam-v2.zip (1.89 MB, 980 views)
File Type: zip srb2win-fcam64-v2.zip (1.99 MB, 679 views)

Screenshots

Click image for larger version

Name:	srb20058.gif
Views:	1695
Size:	4.69 MB
ID:	23653   Click image for larger version

Name:	srb20059.gif
Views:	1161
Size:	4.97 MB
ID:	23654   Click image for larger version

Name:	srb20062.gif
Views:	999
Size:	4.45 MB
ID:	23655   Click image for larger version

Name:	srb20063.gif
Views:	822
Size:	2.76 MB
ID:	23656   Click image for larger version

Name:	srb20035.png
Views:	950
Size:	92.9 KB
ID:	23657  

Click image for larger version

Name:	srb20036.png
Views:	832
Size:	78.0 KB
ID:	23658  

Show Your Support

  • The author of this addon has given explicit permission for its content to be re-used and/or reproduced.

Comments
Old 12-30-2019   #42
fickleheart
ms reflec beat stan
 
fickleheart's Avatar
Default

Oh I bet I know what that problem is. I'll try to get that fixed, and in the meantime I believe you can work around it by setting P2's controls back to Standard too?

Quote:
Originally Posted by Rumia1 View Post
The second thing I don't agree with is a mix of two things relating to the camera lock on button, those being that why is it set to center camera which is for bringing the camera back to being centered on the character from a vertical shift while reset camera is over here doing literally nothing.
I originally had it on Reset Camera and coupled with the rest of the reset camera behavior. (It does do something, actually. It's meant for fixing a stuck camera.) Then some people mashed reset camera and complained that the normal camera reset behavior was taking place. I moved it to Center View instead because it makes sense to center the view behind the player.

Quote:
Originally Posted by Rumia1 View Post
The other thing I would like to ask is why does the Z-Targeting still stop entirely when I hit a boss? The point of it should be to aleviate the need to have the camera constantly being guided everywhere and it's impossible for me to follow the boss when I am fighting both the boss and the camera buttons. I'd like it if it could just permanently lock onto the boss without needing to do anything more.
This is a balancer to make it so you have to find the boss again after you would otherwise lose your bearings flying off of the boss. It's not really that hard to find them again, and in standard camera looking at the boss is part of the challenge, so this tries to replicate it.

It's also an easy solution to the Sea Egg fakes issue where you could otherwise stay targeted onto the normal boss for the whole match.
__________________
Quote:
Originally Posted by Arf View Post
Stop trying to make slopes, guys.

Last edited by fickleheart; 12-30-2019 at 05:14 PM.
fickleheart is offline   Reply With Quote
Old 12-30-2019   #43
fickleheart
ms reflec beat stan
 
fickleheart's Avatar
Default

fcam v2 changelog:
  • Updated to current master
    • Note: master has its own camera rotation speed option, so I consolidated into that. You'll have to reset your option for this.
  • Fixed tailsbot fly when P1 has standard controls and P2 has simple controls (see MB thread #41)
  • Fixed camera reset snapping weirdly (see MB thread #37)
  • Added "Sticky Hold" option for Lock Button Behavior: this behaves like Toggle, but automatically releases if you let go and aren't locked onto anything (see MB thread #23)
  • Changed defaults to my personal preference
  • Separated camera distance/height settings for Standard/Simple modes (see MB thread #27)
    • Note: your current camera settings will be saved to Standard's camera distances. You may need to set this back to default if you've been using Simple camera.
  • Disabled lock-on in Ringslinger (see MB thread #22)
__________________
Quote:
Originally Posted by Arf View Post
Stop trying to make slopes, guys.
fickleheart is offline   Reply With Quote
Old 12-31-2019   #44
SCOTT0852
 
SCOTT0852's Avatar
Default

Did someone say 64-bit version? No? Well, too late, I already compiled one. Commit "Disable lock-on in Ringslinger"/631b5ff8 (same commit as the V2 release).
Attached Files
File Type: zip srb2win.zip (1.93 MB, 40 views)
__________________
Trans rights!
SCOTT0852 is offline   Reply With Quote
Old 01-01-2020   #45
fickleheart
ms reflec beat stan
 
fickleheart's Avatar
Default

Thanks! I attached it to the release post so people can find it easier
__________________
Quote:
Originally Posted by Arf View Post
Stop trying to make slopes, guys.
fickleheart is offline   Reply With Quote
Old 01-02-2020   #46
Speedy Da Doge
 
Speedy Da Doge's Avatar
Default I've found a few bugs related so splitscreen

There's a few bugs with this mod in split-screen mode

the way player 2 moves is dictated by Player 1. If player 1 is in first person, player 2's camera doesn't move in third person, and if player 1's camera is in third person and player 2 is in first person, player 2's camera will move as if it's in third person.


Pressing the camera reset button as player 2 bugs out player 1's camera and doesn't lock player 2's camera.
Attached Thumbnails
Click image for larger version

Name:	compressedcamerabug.gif
Views:	83
Size:	5.92 MB
ID:	24938   Click image for larger version

Name:	compressedresetcamera.gif
Views:	78
Size:	4.32 MB
ID:	24939  
Speedy Da Doge is offline   Reply With Quote
Old 01-03-2020   #47
RalphJeremy65
 
RalphJeremy65's Avatar
Default

Where can i get SRB2 2.2 64-bit?
RalphJeremy65 is offline   Reply With Quote
Old 01-03-2020   #48
SCOTT0852
 
SCOTT0852's Avatar
Default

Quote:
Originally Posted by RalphJeremy65 View Post
Where can i get SRB2 2.2 64-bit?
It's only available on the Github page for some reason, not sure why since with 2.1 and before the 64-bit version was on the main download page too.
https://github.com/STJr/SRB2/releases
__________________
Trans rights!
SCOTT0852 is offline   Reply With Quote
Old 01-04-2020   #49
Sryder
'That brit'
Judge
 
Sryder's Avatar
Default

I've gone ahead and moved this into the Mods subforum, as I believe that is the actual correct place for it.
Sryder is offline   Reply With Quote
Old 01-05-2020   #50
time gear
 
time gear's Avatar
Default

This is probably a known problem, and I'm not sure if a fix is possible, but I thought I would detail this here anyway since this thread features the ideal control scheme for playing on a controller.

SRB2, this executable included, doesn't seem to recognize a Dualshock 4 (Playstation 4) controller properly. You can assign the face buttons, options and share buttons, D-Pad, L1, R1, L3 and R3, but you cannot for example assign camera control to the right stick, and the L2 and R2 trigger buttons are also unrecognized.

If this was fixed, I might even actually be tempted to never touch the Keyboard controls again even though I am comfortable using them and enjoy them. Playing with my DS4 is somewhat tedious because of the limitations I have to work with, such as having no choice but to map camera control to R1 and L1 to make up for the lack of other intuitive options since the controller isn't entirely compatible currently.
time gear is offline   Reply With Quote
Old 01-05-2020   #51
Zwip-Zwap Zapony
 
Zwip-Zwap Zapony's Avatar
Default

Quote:
Originally Posted by time gear View Post
[...] SRB2, this executable included, doesn't seem to recognize a Dualshock 4 (Playstation 4) controller properly. You can assign the face buttons, options and share buttons, D-Pad, L1, R1, L3 and R3, but you cannot for example assign camera control to the right stick, and the L2 and R2 trigger buttons are also unrecognized. [...]
L2/R2 (and both sticks' movements) are axes, not buttons.

Instead of "Control Configuration", go to "Gamepad Options", and then there are "Move ↕", "Move ↔", "Camera ↕", "Camera ↔", "Jump", "Spin", "Fire", and "Fire Normal" axes that you can set up. ("Fire" and "Fire Normal" are for throwing rings in Match and such.)

Note that you just go through axis options/settings one by one, you don't click on one and then use an axis to bind it to whichever axis you used.



If you use something like DS4Windows to emulate your DualShock 4 into an X-Input (Xbox 360/One) gamepad, the axes are as follows:
Spoiler: X-Input axes
Left stick X: X-Axis
Left stick Y: Y-Axis
Right stick X: X-Rudder
Right stick Y: Y-Rudder
LT (L2): Z-Axis
RT (R2): Z-Rudder
If you just use your DualShock 4 "as is", without using an X-Input emulator, the axes are as follows instead:
Spoiler: DualShock 4 axes
Left stick X: X-Axis
Left stick Y: Y-Axis
Right stick X: Z-Axis
Right stick Y: X-Rudder
L2: Y-Rudder
R2: Z-Rudder


Note that in both cases, L2 and R2 are separate axes, so you can't assign one of them to "turn left" and the other to "turn right". Essentially, they're only good for being bound to "Jump", "Spin", "Fire", and "Fire Normal". I personally bind L2/R2 to the latter two, and bind L1/R1 to spinning and jumping (in the standard "Control Configuration"), respectively, followed by using the right stick to control the camera.


Also note that the "Camera ↕" axis is reversed from how the gamepad sends input to the game; You should bind "Camera ↕" to "Y-Rudder-" or "X-Rudder-" (with a minus at the end) instead of "Y-Rudder" or "X-Rudder" in order to reverse the axis in-game, so that moving the right stick up makes you look up, not down.
Zwip-Zwap Zapony is offline   Reply With Quote
Old 01-05-2020   #52
time gear
 
time gear's Avatar
Default

That's really helpful, thanks!
time gear is offline   Reply With Quote
Old 01-12-2020   #53
Pyrakid Wolfo
 
Pyrakid Wolfo's Avatar
Default

I think drop shadows are really cool fickles.
Pyrakid Wolfo is offline   Reply With Quote
Old 02-04-2020   #54
juney
Default

can you make a mac os ver of this plz?
juney is offline   Reply With Quote
Old 02-07-2020   #55
SCOTT0852
 
SCOTT0852's Avatar
Default

Quote:
Originally Posted by juney View Post
can you make a mac os ver of this plz?
Apple loves having proprietary stuff, so the only way you can compile something for macOS is if you have a Mac. You'll have to compile it yourself. Follow the SRB2 Wiki's CMake guide and you'll have a compiled version of the game for Mac.
__________________
Trans rights!
SCOTT0852 is offline   Reply With Quote
Old 02-14-2020   #56
Lirannl
Default

Linux port of your customised executable (amd64). I basically just cloned your source code and compiled it.

Could you post this on your main thread so that fellow Linux users could use your awesome camera improvements?

Feel free to scan it, although it's just your source code, compiled.
Attached Files
File Type: zip srb2lin64.zip (1.91 MB, 44 views)
Lirannl is offline   Reply With Quote
Old 02-15-2020   #57
JackelZXA
OriginalCreator of UglyKnux
 
JackelZXA's Avatar
Default

Quote:
Originally Posted by Zwip-Zwap Zapony View Post
L2/R2 (and both sticks' movements) are axes, not buttons.

Instead of "Control Configuration", go to "Gamepad Options", and then there are "Move ↕", "Move ↔", "Camera ↕", "Camera ↔", "Jump", "Spin", "Fire", and "Fire Normal" axes that you can set up. ("Fire" and "Fire Normal" are for throwing rings in Match and such.)

Note that you just go through axis options/settings one by one, you don't click on one and then use an axis to bind it to whichever axis you used.



If you use something like DS4Windows to emulate your DualShock 4 into an X-Input (Xbox 360/One) gamepad, the axes are as follows:
Spoiler: X-Input axes
Left stick X: X-Axis
Left stick Y: Y-Axis
Right stick X: X-Rudder
Right stick Y: Y-Rudder
LT (L2): Z-Axis
RT (R2): Z-Rudder
If you just use your DualShock 4 "as is", without using an X-Input emulator, the axes are as follows instead:
Spoiler: DualShock 4 axes
Left stick X: X-Axis
Left stick Y: Y-Axis
Right stick X: Z-Axis
Right stick Y: X-Rudder
L2: Y-Rudder
R2: Z-Rudder


Note that in both cases, L2 and R2 are separate axes, so you can't assign one of them to "turn left" and the other to "turn right". Essentially, they're only good for being bound to "Jump", "Spin", "Fire", and "Fire Normal". I personally bind L2/R2 to the latter two, and bind L1/R1 to spinning and jumping (in the standard "Control Configuration"), respectively, followed by using the right stick to control the camera.


Also note that the "Camera ↕" axis is reversed from how the gamepad sends input to the game; You should bind "Camera ↕" to "Y-Rudder-" or "X-Rudder-" (with a minus at the end) instead of "Y-Rudder" or "X-Rudder" in order to reverse the axis in-game, so that moving the right stick up makes you look up, not down.
Is there a way to force L2 to be Center View? It'd be useful for how I like to play to have my lockon button be a trigger button. (I have L1/R1 as turn, Right Stick as turn, and Jump/Spin on face buttons. If I combine the shoulders and stick I get faster turning which is something you only get from having it on the controller twice)
__________________
Follow me on Twitter for updates on my current art and game projects:
https://twitter.com/jackelzxa
https://twitter.com/jackelzxart
JackelZXA is offline   Reply With Quote
Old 02-15-2020   #58
Zwip-Zwap Zapony
 
Zwip-Zwap Zapony's Avatar
Default

Quote:
Originally Posted by JackelZXA View Post
Is there a way to force L2 to be Center View? [...]
Not in vanilla SRB2, and I'm not familiar enough with this mod to say that this mod does or doesn't provide an option for that.

Quote:
Originally Posted by JackelZXA View Post
- It'd be useful for how I like to play to have my lockon button be a trigger button. (I have L1/R1 as turn, Right Stick as turn, and Jump/Spin on face buttons. If I combine the shoulders and stick I get faster turning which is something you only get from having it on the controller twice)
While it's not the same as L2 (nor R2), I would suggest using R3 (clicking the right stick) (or Triangle or such) for "Center View" instead, so that you can still have "Center View" bound.

R3 feels nice for that for me. I use the right stick for camera-related stuff already, so another camera-related thing being bound to that isn't so bad.
But I use L1/R1 for jumping and spinning, and therefore can have my thumb on R3 at all times, being able to press it whenever I want to, which isn't the same for you, however it'd still be better than nothing.
Zwip-Zwap Zapony is offline   Reply With Quote
Old 02-16-2020   #59
Cyron
Actually a Waddle Dee
 
Cyron's Avatar
Default

If you use Steam you can bind trigger to a keyboard key and use that
Otherwise I don't have a solution
Cyron is offline   Reply With Quote
Old 02-17-2020   #60
fickleheart
ms reflec beat stan
 
fickleheart's Avatar
Default

This EXE mod is now redundant, as all of its features are implemented in 2.2.1.
__________________
Quote:
Originally Posted by Arf View Post
Stop trying to make slopes, guys.
fickleheart is offline   Reply With Quote
Old 02-17-2020   #61
Zippy_Zolton
trollface pizza
 
Zippy_Zolton's Avatar
Default

Congrats for making it into vanilla! Personally, this is not my thing, but I can see people who use controller benefiting from this greatly.
__________________
female | Twitter | Discord
Zippy_Zolton is offline   Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 02:45 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2020, vBulletin Solutions, Inc.