Live data from Hacker News

Show HN: Iron-Wolf – Wolfenstein 3D source port in Rust

github.com

11–20 of 32 posts

Re: Show HN: Iron-Wolf – Wolfenstein 3D source port in Rust

#13
post #6

Game would be considered too politically incendiary if released today.

Wolfenstein 3D was pretty squarely a WWII fantasy shooter. Only later does it get into the alternate history post-war stuff which does get somewhat more squarely political.

I think it cuts both ways. The Wolfenstein franchise has obviously relished in violence against Nazis, but also inadvertently is part of the trend of glorifying them.

Re: Show HN: Iron-Wolf – Wolfenstein 3D source port in Rust

#14
post #6

Game would be considered too politically incendiary if released today.

Wolfenstein 3D was pretty squarely a WWII fantasy shooter. Only later does it get into the alternate history post-war stuff which does get somewhat more squarely political. I think it cuts both ways. The Wolfenstein franchise has obviously relished in violence against Nazis, but also inadvertently is part of the trend of glorifying them.

The first game has zombies with guns in their chest and a mecha hitler.

Re: Show HN: Iron-Wolf – Wolfenstein 3D source port in Rust

#15
Was this translated automatically from C? I picked a spot totally at random and saw in https://github.com/Ragnaroek/iron-wolf/blob/main/src/act1.rs in place_item_type:

    let mut found_info = None;
    for info in &STAT_INFO {
        if info.kind == item_type {
            found_info = Some(info);
            break;
        }
    }
When typically in rust this is just:

    let found_info = STAT_INFO.iter().find(|info| info.kind() == item_type);
Now I want to go through and feng shui all the code to look more like idiomatic rust just to waste some time on a saturday...

Re: Show HN: Iron-Wolf – Wolfenstein 3D source port in Rust

#17

Was this translated automatically from C? I picked a spot totally at random and saw in https://github.com/Ragnaroek/iron-wolf/blob/main/src/act1.rs in place_item_type: let mut found_info = None; for info in &STAT_INFO { if info.kind == item_type { found_info = Some(info); break; } } When typically in rust this is just: let found_info = STAT_INFO.iter().find(|info| info.kind() == item_type); Now I want to go through a…

As a non-Rust guy, I keep writing the example above. I didn't even know about the second option!

If you do that, please share a link so I can learn from you! This is awesome!

Re: Show HN: Iron-Wolf – Wolfenstein 3D source port in Rust

#18

Was this translated automatically from C? I picked a spot totally at random and saw in https://github.com/Ragnaroek/iron-wolf/blob/main/src/act1.rs in place_item_type: let mut found_info = None; for info in &STAT_INFO { if info.kind == item_type { found_info = Some(info); break; } } When typically in rust this is just: let found_info = STAT_INFO.iter().find(|info| info.kind() == item_type); Now I want to go through a…

Sounds like something an LLM agent might be good at?

Re: Show HN: Iron-Wolf – Wolfenstein 3D source port in Rust

#19
post #2

Nice job. Couple notes for the web version: - Once started the shareware game on Chromium browsers seems to flicker like crazy which displays the "B.J. Blazkowicz" face. - You missed adding the classic code that everyone knows, M-L-I!

Can confirm the flicker.

I did a WASM port of the shareware from https://github.com/fabiangreffrath/wolf4sdl playable at https://midzer.de/wasm/wolfenstein/

Re: Show HN: Iron-Wolf – Wolfenstein 3D source port in Rust

#20

Was this translated automatically from C? I picked a spot totally at random and saw in https://github.com/Ragnaroek/iron-wolf/blob/main/src/act1.rs in place_item_type: let mut found_info = None; for info in &STAT_INFO { if info.kind == item_type { found_info = Some(info); break; } } When typically in rust this is just: let found_info = STAT_INFO.iter().find(|info| info.kind() == item_type); Now I want to go through a…

Yes, the code is _very, very_ close to the C-Code. All over the place.
Post reply on HN