Chilean Programmer. I love messing with compiled languages (Rust, C++, C) and x86 assembly sometimes. Interested in Operative Systems, Game Hacking and photography.
- ๐ซ How to reach me: https://twitter.com/etra0 โ [email protected]
Freecam for the game Zelda: Breath of the Wild for the Wii U using the Cemu emulator
License: MIT License
Chilean Programmer. I love messing with compiled languages (Rust, C++, C) and x86 assembly sometimes. Interested in Operative Systems, Game Hacking and photography.
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 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).
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.
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
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.
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!
There's some noticeable jittering when the duration of the path is too long.
FoV should be interpolated in the sequence as well.
Unless I've overlooked something, would it be possible to pause/freeze the gameplay while the camera is being controlled? It could make for some really good screenshots of enemies attacking.
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
Right now they're a mess. Maybe think a little bit more of their position and stuff.
Getting this error when trying to use the freecam.
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.
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!
When running a game for Wii U, and trying to decelerate the camera movement by pressing Tab, it will show the Wii U "Tap the touch screen" screen. The camera movement still works, but it's not possible to see where the camera is moving to due to the "Tap the touch screen" screen showing and blocking the view.
Implement a system to save multiple paths. Probably using Serde.
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.
Whenever the blood moon comes on it always resets the camera to it's "native" position: behind Link.
Here's an example of the situation:
https://clips.twitch.tv/DarkInventiveAlpacaStoneLightning-Wkms2kZeAGtifCSj
I would expect the camera to remain where it is, even after the blood moon.
Just the title ^
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.
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.
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.
Add the possibility to unlock the character while the freecam is active.
The sequence should still be playable
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.
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
Right now the deadzone is hardcoded.
botw-freecam/botw-freecam/src/utils.rs
Lines 303 to 316 in 0ea7e19
Add proper deadzone detection
With the SHIFT button the movement can be sped up, but I'd like to see a button that works as a toggle to slow down the movement 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)
Set up a hotkey to disable keyboard input or automaticly disable when focus on window is lost
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.)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.