Absolute madness. I cringe at the thought of making modern x86 asm code.
Great work!
Absolute madness. I cringe at the thought of making modern x86 asm code.
Great work!
Anti cheat is like DRM. It’s a waiting game more than it is about actual direct protection.
Wait, what? Playstation?
You could say that this isn’t very alarming
windows.h without NOMINMAX be like
“hippity hoppity words min and max are my property”
Similarly how SilentPatch and the WidescreenFix fixes various bugs and adds improvements, mine does as well.
As a matter of fact, I used to maintain ThirteenAG’s WFP for NFS. Now I’m focused on my own thing mostly. (Forked it off of it but barely any of the code is left lol)
It’s called NFS-MultiFix. (I made one ages ago in 2017 for ProStreet but I’m reviving the project now).
It’s a going to basically be an all-in-one thing. So, from basic things like a widescreen fix, to the added ability to change resolutions of environment maps and shadows, fixing clipped/popin shadows in Undercover, fixing crashes, fixing some crap gameplay features, resizable windowed mode, etc. Basically, making it a version of the game that it deserves to be on PC.
It’s a genuinely pretty massive set of fixes spanning over 80 cpp/hpp files with about 500 lines of code on average. I made sure to optimize every nitty-gritty and I ended up with a smaller DLL size than the average widescreen fix while adding so many more features.
I also have a design rule in place - it must do its best effort to work in every possible version of the game without crashing. This includes demo versions of the same games. (This sadly doesn’t count DRM but nothing I can do about that)
That being said, I am currently focused on ProStreet (as I’m also the main coder in Team Pepega for the Pepega Mod) and I hope to make a release within the next year. It should be available for every Black Box NFS on PC (except The Run and World)
If you wanna check out what I made so far, check out the Reformed mod for Undercover. I made an exclusive release for those guys because frankly, Undercover is the worst one out of the bunch (in terms of code).
Silent is a real cool dude. I’ve interacted with him directly and he’s always been helpful.
I assume the code was closed only because it was a bit of a hodge podge he had to clean up. (Well, that and the GTA modding scene is a bit, uh, toxic, to say the least)
I’m currently in a similar position for Black Box NFS games. It’s taken me over a year so far and I’m still not fully satisfied to release anything because there’s so much code to span over 6 (similar, but different) games.
For PSP development, PPSSPP can be very good if configured correctly and you know how to use it.
You can debug on a PSP using psplink but compared to PPSSPP it’s a nuisance to do it every single time. Plus, using a GUI debugger is way nicer anyway.
What really fascinated me was Sony’s approach. For all intents and purposes, it was on par with the PS2 or even better (because of more memory).
Yeah sure, the VUs coupled with the GS throughput were better for graphics processing than the Media Engine in the PSP, but the devil is in the details.
But unlike the PS2, it has a real OS that is capable of loading modules and even do some fake multitasking! This was groundbreaking for the time and this is what made it so magical for homebrew IMO.
Yes, both Yuzu and Ryujinx were open source.
Ryujinx is licensed under MIT and Yuzu is under GPLv3.
I need to remind some people here who don’t seem to understand something.
Forks may be dead and development may not be as fast as the original.
However - you must think about the future and not the situation right now. Yuzu and Ryujinx sources will be invaluable information for people making emulators later down the line.
It’s a matter of when and not if someone picks it up again.
RIP Black Box Games
(I’m a NFS fan but also a fan of Black Box)
The way I did it is by trying to solve more and more advanced problems with simpler tools/features, then looking at more advanced features and seeing where they could be applied to make the problem solving simpler. Rinse and repeat.
An easy example that I can remember is making arrays that dynamically expand. I started with the barebones malloc and worked out how to use std::vector (and other list types) in its place.
Understanding that concept is, what I believe, to be the foundation of learning programming.
I’m no pro whatsoever, but using this method really helps me pick up and learn new languages.
Yeah I meant don’t use joycons lol
Pro Controller at the very least. CTR is a game that should be played with a dpad for steering. You can use the analog inputs but some more advanced tricks (such as tight steering) will require a solid dpad.
And that’t the crux of the issue. Stenzek doesn’t actually understand the reality of licensing.
The reality is this - you can’t do anything without a lawyer. Laweyrs cost money (pro bono isn’t a thing in the copyright world AFAIK, but IANAL).
If he wanted to avoid this, then maybe he should’ve kept it closed source from the beginning. Chinese sellers on AliExpress couldn’t care less about licensing anyway, so that way he’d have at least some protection.
IMO his course of action so far has been wrong.
What he should’ve done is this:
He could even go after Arcade1up legally if he raised funds, but that’s not even worth the time if you ask me.
I’d recommend getting a proper controller for it. CTR is a dpad and shoulder button masher.
Any Black Box made Need for Speed.
(Currently busy fixing Pro Street, so many bugs…)
C++ is at least backwards compatible (for 99% of code anyway, yes I know about some features being removed, but that’s an exception and not the rule).
Yes but, in practice some of these things don’t matter much at all. At that point you’re looking at the performance stack a bit too deeply.
Look at the bigger picture. For example - an RTX 4090 can perform about as well on PCIe 3.0 as it does on 4.0 in most tasks that you’d likely use it for.
You don’t have to care about some of these things as much as you used to before. Sometimes you can get too deep into hunting the best version of your system before you realize that it really doesn’t make that much of a difference.
It’s mostly because AVX-512 doesn’t get used too well by compilers even today.
However, what makes this impressive for me is that it is x86 after all. ARM is way easier to write assembly for.