Hacker Newsnew | past | comments | ask | show | jobs | submit | agosz's commentslogin

If I may ask, how did you end up getting access to the code base? And what are you doing with it?


ravensoft open sourced it in 2013 ish and promptly removed it because they accidentally included a bundled lib but i believe it was then re-added. theres quite a few repos that have it cloned. https://github.com/jedis/jediacademy

what am i up to with it? creating hardened vanilla base servers (no mods) and ensuring it gets compiled in a way that doesnt impact lightsaber combat. everyone has failed to do this for 22+ years because there's lots of subfactions in this game who fail to prioritize this as they have other priorities. tons of people who enjoy the prospect of modding the game or making it something different but the tiny remaining competitive player base has only ever needed the base game and what shipped by ravensoft in 2003. generally the guys who are competitive players arent.. coders. the game is ultra sensitive to mathematical FPU differences and virtually all recompiles of the game in the past decades completely failed to guard this, so every game mod and attempt at creating something better hasn't stuck for competitive players _except_ for something called ybeproxy which was an attempt to hook the original game engine binary and add some security/anticheat layer.. this was the best attempt to date but it still negatively impacts the fragile lightsaber mechanics.


That's so cool! I didn't know they open sourced it. Is your work also open? And how do you check that the frames don't change?

I love seeing people try to revive old games and improve them for players. I've made a couple of contributions to VCMI, an open source implementation of heroes of might and magic 3 that I used to play as a kid and it's so rewarding seeing people use those.


How does this compare to a static site generator like 11ty? What would be the benefits of Astro over that or another site generator?


That's what people say of C++ too. Too many features makes it harder to learn a language and ramp up on codebases; they'll have different standards on what they use.


The compatibility can be solved with macros to toggle it on or off depending on how you're building. C++26 has constexpr sqrt.


There is a paper suggesting to replace all macro based code, due to way modules work.

https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/p26...


This will ultimately benefit the current Big Tech incumbents. Tiktok was gaining ground rapidly on advertising money and I wouldn't be surprised if there was lobbying that stifled the competition.

Instead of banning TikTok, we should be trying to compete with them and make a better product that wins customers over. It's sad to see the US becoming more authoritarian and follow China's example.


ARM64EC requires source and it produces an ARM64EC executable, which runs close to ARM64 speeds. x86/x64 executables are emulated.


Just to clarify: yes, it requires the source AND re-building it. But, with a simple switch, you make your x86 code JITtable on ARM64. That's why it runs at native ARM64 speeds. Sometimes, you can't build natively for ARM64 due to some dependency, and this allows portions of your code to be faster at least.

Otherwise, if you have the source AND budget to rebuild, just build it natively for ARM64 of course :)


ARM64EC doesn't really make your code JITable. It is ARM64 code with thunks to enable transitions to x64 code. That's why it runs at near native speeds; not because of the JIT. The x64 portions of the binary do get JITed though, but the ARM64EC portions are usually much faster.

All x64 code gets JITed but that's regardless of whether ARM64EC is used or not; ARM64EC allows ARM64 applications to interface with x64 binaries.


Okay, I had assumed JIT for x64 wasn't possible (yet) and ARM64EC enabled that partially. So, ARM64EC images are actually native ARM code that can interact with emulated (+JITted) components. For some reason, I thought native ARM64 binaries already had this capability, but they don't. Thanks, that's actually a better state of affairs in Windows on ARM land.


Yes, that's correct! Unfortunately ARM64 can't fully interface with x64 code (e.g. you can't translate an ARM64 CONTEXT to an x64 one directly due to differing numbers of registers), so the backwards compatibility is restricted to ARM64EC only.


> I went to Georgia Tech over other universities because it was in-state and Georgia has generous scholarships for students with good grades. So why does competition among schools not lower costs?

All the schools have access to loans that are guaranteed to be repaid. We still have the mindset that degrees are required for employment (I'm not commenting on whether that's good or bad; that's just the current cultural mindset). Because of this, schools have no incentives to control costs. The students will go regardless because they have access to money that will pay for the tuition, no matter how much it costs. There's no penalty for the universities to raise costs because they will get students anyways.


Can I use the VS Code C++ extensions still?


Yes, vscode-neovim makes VSCode's editor be Neovim. It works very well with other VSCode extensions. For example, you can type `gd` to go to the definition of a C++ identifier.


It's showing a few incidents now. Some things are still green though that don't seem to be working.


MPL or CDPL


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: