Coder Social home page Coder Social logo

botw-freecam's Introduction

Hi there ๐Ÿ‘‹

Chilean Programmer. I love messing with compiled languages (Rust, C++, C) and x86 assembly sometimes. Interested in Operative Systems, Game Hacking and photography.

botw-freecam's People

Contributors

etra0 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

botw-freecam's Issues

Feature Request: Disable culling

Hi I was wondering if this application can use a different camera built in instead of using the games camera. NPC's and Link tend to fade out if I get to close up. I was planning to do a sequence for one of my botw video intros. Is there by any chance you can create an option that disables link and the npcs from disappearing upon getting close?

How to change hotkeys?

How would one go about changing hotkeys? The main one I'm concerned with is the activation hotkey, as all others only conflict when free cam is activated. However, I find myself accidentally activating the tool at times when I'm playing (specifically, when parrying and when on horseback and accelerating while Z-targeting).

Feature Request: Make areas use camera position instead of link's position

Hey!

So I had an idea:
In Botw Areas control LODs for some actors, and can trigger events. I imagine that Breath of the Wild must have a pointer somewhere to link's position so that areas can access it. Could you make a togglable option to swap this out with a pointer to the camera position? That way, all LODs would work correctly and a lot of other game features would work as well.

Avoid force removing of the path

Right now the path is cleaned when the freecam is deactivate it. Maybe calculate the distance between the current position and the first point of the sequence to make sure it's Ok

Remap buttons

  • Change FoV buttons to dpad and up/down to triggers
  • Add slow down button

Add TP for Link

Add the option to teleport link where the camera is looking at. Useful to avoid the crash when Link is too far from the camera.

Tool is detected as a virus

There has been some reports about the tool being detected as a virus, and I can assure those are false positives. The executable is flagged since it does memory injection to Cemu to interact with its memory. This kind of behaviour will obviously be marked as malicious unless I sign the binary but that means I would have to spent resources on something banal. Specifically, the injector is the one marked as malicious.

You can check the source code and audit it if you think something malicious is going on, but I build this tool with nothing but love to this game. You can also use any DLL injector if you want or you don't trust this one!

UTF-8 crash

It seems like users that have utf8 characters on the folder have a crash when doing the injection

Waiting for the process to start
Game found
DLL address 24b0000
handle 0x20
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: FromUtf8
Error { bytes: [178, 217, 215, 247, 179, 201, 185, 166, 205, 234, 179, 201, 161,
 163, 13, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], e
rror: Utf8Error { valid_up_to: 0, error_len: Some(1) } }', C:\Users\runneradmin\
.cargo\git\checkouts\simple_injector-1179492c33b4627e\dd41bed\src\lib.rs:65:45
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Improve Hotkeys

Right now they're a mess. Maybe think a little bit more of their position and stuff.

"Function signature doesn't match"

Getting this error when trying to use the freecam.
image

My CPU is a Ryzen 5 5600X, so that can't be the issue with the "MOVBE" instruction.
As for the version I'm using, I did use the latest version of CEMU and V1.22.2 on BOTW V1.5.0, DLC V3.0.

But my version of BOTW is European, so I dunno if that might have something to do with it.

XInput blocker couldn't be found Cemu 1.26.0d

Hello!
Curious to know what may be the cause of the issue: Here is my botw.log contents
Not sure what Xinput blocker is.

13:16:58 [INFO] Breath of the Wild freecam by @etra0, v0.2.5.ca8ab08
13:16:58 [INFO] Waiting for the game to start
13:16:58 [INFO] Pointer found
13:16:58 [INFO] CameraOffsets { camera: 26b77a7910b, rotation_vec1: 26b6bb0fa84 }
13:16:58 [INFO] Camera function camera_pointer: 26b77a7910b
13:16:58 [ERROR] Something went wrong:
XInput blocker couldn't be found

Thanks!

Timestop/pause function?

Thank you etra0 for an amazing free camera! It's super amazing and works flawlessly.

Do you think it would be possible to do a timestop function that can pause the action to make it easier to take cool shots of combat and so on? I completely understand if it's not possible. In any case, thanks a lot, I really appreciate your work.

Feature Request: lower/customizable camera rotation sensitivity

Firstly I'd just like to say I love this tool, it's been absolutely invaluable to me for recording BOTW videos. Thank you for creating this.
The only issue I have with it is the sensitivity of the camera rotation. I find myself tapping the arrow keys/right analog stick backwards and forwards until I get the right angle. I'd love to be able to lower the sensitivity or have the accelerate/decelerate functions also affect rotation as well as movement.

Support for older CPUs

There's a specific instruction (movbe) which is only supported by modern CPUs (2016+ I think, maybe a bit before), so the injection I wrote won't work.
There's a fix that could work which is doing a graphic pack to use a PowerPC detour instead of an x86 detour but doing that implies a major rewrite of the tool.

Feature Request: Save Game State

I don't know if you'll want to implement this, but it would be cool if possible to save the game's memory to disk to be loaded whenever, for repeatable results. Maybe saving camera paths too.

Unlock character

Add the possibility to unlock the character while the freecam is active.
The sequence should still be playable

[Feature Request] Time Freeze

First of all, thank you for this! I'm incredibly grateful you made this, and I can't tell you how much I appreciate it.

If I might be able to make a request, do you think it would be possible to incorporate a 'pause time' hotkey, similar to this mod someone created on top of your mod through Cheat Engine? As someone very surface-level with mods and not familiar at all with Cheat Engine, I'd rather not use that tool. This functionality seems like something that could possibly be incorporated in your mod from the start. By all means, correct me if I'm wrong.

Please let me know! All the best.

Crash when launching cemu

botw-freecam.exe crashes as soon as Cemu is opened. Says "waiting for the process to start" then says "game found dll address 230000 error the operation completed sucessfully" for a split second then crashes.

Win 7
Intel 4790k
16gb ddr3
Cemu 1.22.7

Fix drifting

Right now the deadzone is hardcoded.

macro_rules! dead_zone {
($val:expr) => {
if ($val < DEADZONE) && ($val > -DEADZONE) {
0
} else {
$val
}
};
}
input.delta_pos.0 =
-(dead_zone!(gp.sThumbLX) as f32) / ((i16::MAX as f32) * 1e2) * input.speed_multiplier;
input.delta_pos.1 =
(dead_zone!(gp.sThumbLY) as f32) / ((i16::MAX as f32) * 1e2) * input.speed_multiplier;

Add proper deadzone detection

Feature Request: Adjusting camera turning speed

Hey etra0!

This isn't nessesarily an issue, more of a request. Would it be possible to have the option to slow down and speed up when changing the direction of the camera when turning left or right?

Thank you! (I really love this camera tool)

Disable keyboard input

Set up a hotkey to disable keyboard input or automaticly disable when focus on window is lost

1.27.1+ support

I have the latest experimental version of Cemu, 2.0-13, and would like to be able to use this tool without downgrading (which breaks Cemu settings). Could you update this tool to be compatible with 1.27.1+? (Mark it as a prerelease so that people using 1.26.2f won't download an incompatible version by mistake.)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.