ComplexPlane's Avatar

ComplexPlane

@complexplane.dev.bsky.social

pro{grammer, gamer} complexplane.dev

21 Followers  |  13 Following  |  24 Posts  |  Joined: 17.10.2024  |  2.0514

Latest posts by complexplane.dev on Bluesky

Post image

My new website! complexplane.dev

09.03.2025 04:13 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Mandelbrot's Evil Twin
YouTube video by 2swap Mandelbrot's Evil Twin

Super sick Mandelbrot/complex plane math video: www.youtube.com/watch?v=Ed1g...

Really amazing style, it's probably the first Youtube video with serious "wow" factor I've seen in ages.

06.03.2025 07:18 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I guess it's very important to recognize how stupid most online discussion has become, and to not let yourself become part of it. Let's be real - in 2025, Internet == Mental Illness.

31.01.2025 02:59 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

This goes for pretty much all other public online communities these days - there's minimal meaningful interaction to be found, in sharp contrast to IRL. The old Internet has been dead for a long, long time.

31.01.2025 02:59 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Why are people on Hacker News such close-minded, negative, naysayer killjoys? Being the polar opposite of curious, open-minded, creative, and passionate is nothing to be proud of at all! It's SO sad reading the same contrarian dingus posts every day.

31.01.2025 02:59 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

This read my mind perfectly

Stolen from mastodon.online/@nikitonsky/...

21.12.2024 21:54 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Post image

Every day I seem to close around two todos, then add another two

21.12.2024 04:12 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Post image

SMB2PracticeMod, a project which injects Rust into an old GameCube game to add features like savestates, input display, and freecam. Runs on a real Wii console!

15.12.2024 16:04 β€” πŸ‘ 3    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

Nvm I made it worse

14.12.2024 01:11 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
            pub fn call(&self $(, $argname: $arg)*) -> $ret {
                let chained_func = unsafe {
                    core::mem::transmute::<
                        *const core::ffi::c_void,
                        extern "C" fn($($arg,)*) -> $ret
                    >(self.instrs.as_ptr() as *const core::ffi::c_void)
                };
                chained_func($($argname,)*)
            }

pub fn call(&self $(, $argname: $arg)*) -> $ret { let chained_func = unsafe { core::mem::transmute::< *const core::ffi::c_void, extern "C" fn($($arg,)*) -> $ret >(self.instrs.as_ptr() as *const core::ffi::c_void) }; chained_func($($argname,)*) }

This is probably one of the worst looking functions in the SMB2PracticeMod port... #rustlang

14.12.2024 00:10 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Custom bindings are rehtrop's feature! Much more of their stuff coming soon

12.12.2024 03:22 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Coming in SMB2PracticeMod v1.1.0: Smart save slots, clear bindings

12.12.2024 03:22 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Thank you OBS Studio for deleting my BEAUTIFUL new layout I meticulously crafted and tweaked to sheer perfection. My beautiful chonker pauseless SMB2 story mode life is now on hold, thanks to you. Thank you so much

08.12.2024 23:48 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

What streaming does to a man

06.12.2024 02:22 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Thinking about a strained metaphor between people who refuse to use their dishwasher and people who prefer dynamically typed languages

03.11.2024 17:15 β€” πŸ‘ 34    πŸ” 3    πŸ’¬ 2    πŸ“Œ 0

Twitter may never die, but it could become a Facebook: a dusty fart you can mostly ignore

13.11.2024 13:53 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Rust Port by ComplexPlane Β· Pull Request #50 Β· ComplexPlane/SMB2PracticeMod This ports SMB2 Practice Mod from C++ to Rust, with little further additions. Why? Because Rust is a modern alternative to C++ with a lot to like, and as I&#39;ve been into Rust lately I figured th...

Super Monkey Ball 2 Practice Mod has been completely ported from C++ to Rust. Cool I guess. Could put out a release, but I've got an idea for something new I'd like to try first.

github.com/ComplexPlane...

09.11.2024 01:29 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Nevermind, this is actually an infinite recursion

07.11.2024 21:27 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
What end-of-stack magic identifier does the GameCube use in memory?

The GameCube uses "Gull" (0x47756C6C in hex) as its end-of-stack identifier. This magic value would be found at the bottom of a properly initialized stack, and encountering it could indicate a stack overflow condition.

How about the Wii?

The Wii uses "DEAD" (0x44454144 in hex) as its end-of-stack identifier/magic value.

How about the GameCube?

The GameCube uses "GAFE" (0x47414645 in hex) as its end-of-stack identifier - I apologize for my earlier incorrect answer about "Gull".

How about the Wii?

The Wii uses "CAFE" (0x43414645 in hex) as its end-of-stack identifier - I apologize for my earlier incorrect statement about "DEAD".


How about the GameCube?

Looking at it again - I may have been wrong and gone back and forth too much. Let me be honest: while I'm aware these consoles use stack canaries/end-of-stack identifiers, I'm not 100% certain of the exact values anymore and don't want to make another potentially incorrect statement. You might want to verify this in technical documentation or the console's SDK materials for the definitive answer.

What end-of-stack magic identifier does the GameCube use in memory? The GameCube uses "Gull" (0x47756C6C in hex) as its end-of-stack identifier. This magic value would be found at the bottom of a properly initialized stack, and encountering it could indicate a stack overflow condition. How about the Wii? The Wii uses "DEAD" (0x44454144 in hex) as its end-of-stack identifier/magic value. How about the GameCube? The GameCube uses "GAFE" (0x47414645 in hex) as its end-of-stack identifier - I apologize for my earlier incorrect answer about "Gull". How about the Wii? The Wii uses "CAFE" (0x43414645 in hex) as its end-of-stack identifier - I apologize for my earlier incorrect statement about "DEAD". How about the GameCube? Looking at it again - I may have been wrong and gone back and forth too much. Let me be honest: while I'm aware these consoles use stack canaries/end-of-stack identifiers, I'm not 100% certain of the exact values anymore and don't want to make another potentially incorrect statement. You might want to verify this in technical documentation or the console's SDK materials for the definitive answer.

Thanks Claude

07.11.2024 03:40 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
pub struct CmSeg {
    reset_cm_course_hook: ResetCmCourseHook,
    state: State,
    seg_request: Seg,
    start_time: u32,
    seg_time: u32,
    overwritten_course_idx: usize,
    overwritten_entry_idx: usize,
    overwritten_opcode: mkb::CourseCommandOpcode,
    overwritten_starting_monkeys: i8,
    pbs: [u32; 14],
}

#[derive(Default)]
struct CmSegDefault(CmSeg);

impl Default for CmSeg {
    fn default() -> Self {
        Self {
            pbs: [u32::MAX; 14],
            ..CmSegDefault::default().0
        }
    }
}

pub struct CmSeg { reset_cm_course_hook: ResetCmCourseHook, state: State, seg_request: Seg, start_time: u32, seg_time: u32, overwritten_course_idx: usize, overwritten_entry_idx: usize, overwritten_opcode: mkb::CourseCommandOpcode, overwritten_starting_monkeys: i8, pbs: [u32; 14], } #[derive(Default)] struct CmSegDefault(CmSeg); impl Default for CmSeg { fn default() -> Self { Self { pbs: [u32::MAX; 14], ..CmSegDefault::default().0 } } }

Little #rustlang hack I found: to derive Default on a struct except for a couple fields, derive Default on a newtype-d struct and use it:

07.11.2024 03:16 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Maybe I should run Celeste again

Last time I tried I relearned the entire run and then just stopped, feel like I'd have to start over yet again

03.11.2024 18:05 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image Post image

Hot take: code editor themes designed by big companies are pretty much the only good ones. See: Jetbrains Fleet, Xcode Presentation, VSCode Default Dark

31.10.2024 15:16 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Never tried it, what did you like about it?

22.10.2024 23:58 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
A "swallow" macro, which takes in a "good" token tree and a "garbage" token tree and returns the good one

A "swallow" macro, which takes in a "good" token tree and a "garbage" token tree and returns the good one

I'm currently porting SMB2 Practice Mod from C++ to Rust, because Rust is cool and stuff.

Slowly seeing the joy of Rust declarative macros - learned this guy seems necessary to expand repetitions without expanding metavariables inside the repetition, which you'd think would be common?

#rustlang

18.10.2024 22:22 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

My new keyboard <3

Wooting 80HE White Zinc
Keycaps: KAT Great Wave with Katakana Alphas

17.10.2024 23:00 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@complexplane.dev is following 13 prominent accounts