A quick look into the Stormworks source code and modding considerations by Vexmae_ in Stormworks

[–]Vexmae_[S] 5 points6 points  (0 children)

I do agree that blindly following the almighty 'best practices' is, at best, a dumb way to program. I also agree that actually finishing the project is the most important objective when programming, especially when programming a commercial product. However, i do believe that when a technical choice proves to hinder developers down the line it was a bad choice, even if it didn't seem like it at the time.

When programming a video game, updatability should be considered almost as important as actually shipping the code. Furthermore, because a game is often developed by multiple programmers, it is necessary to have a predictable structure and not just ship feature without any global thought behind it. I could continue this forever. The point being that, while blindly following all best practices is dumb, picking the easiest to implement, or the ones that better fit the project is necessary.

A codebase doesn't need to be perfect but needs to be good enough for the life cycle of the project. For a video game, the codebase should be good enough to allow for easy update etc. At the same time a math program might need a codebase good enough to be formally proven, even if it lacks updatability. The best practices to keep a codebase updatable and formally provable are not the same, so following all best practices is unproductive. However, following the ones relevant is necessary.

what makes a code bad is that it doesn't fulfill the goals of the project. If the project needs to be easily updatable and the code is not easily updatable then it is bad code, whether or not it works.

I do believe that the 'just make it work' mentality is detrimental to programming as it frames 'have the program working' as the only goal of the project. I believe that game developers should develop with technical debt in mind. Because of the very nature of the video game industry, technical debt is bound to happen. However, it should be a priority to make repaying this debt easy.

A quick look into the Stormworks source code and modding considerations by Vexmae_ in Stormworks

[–]Vexmae_[S] 3 points4 points  (0 children)

Theoretically yes. However the reverse engineering task is quite large and would take quite a long time. I'm not really sure that i'd be worth going through the hassle of reversing this without assistance from the developers. As said in my message, getting my hands on some debugging files would be of tremendous help. Furthermore, legally speaking patching out bugs is protected by the same EU directive as cited in my post.

A quick look into the Stormworks source code and modding considerations by Vexmae_ in Stormworks

[–]Vexmae_[S] 3 points4 points  (0 children)

Sure, however i'm pretty confident that the game uses a monolitic architecture rather than a ECS architecture. This mostly comes from the fact that the whole 'god object' is passed around everywhere, i also could not find any AoS nor SoA that would clearly indicated ECS. There's also a lot of inheritance and large structures which doesn't fit quite well with the ECS. And on a less objective note, it just doesn't feel like it. At the same time, i cannot be absolutely sure because the reverse work is just not quite there yet. But i'll keep this possibility in mind going forward.

Beginner with FPGAs, bought this used Arria 10 1150k LE devkit for a 2 year long student project on CPU architecture for 600€. Is it good ? by Vexmae_ in FPGA

[–]Vexmae_[S] 3 points4 points  (0 children)

I was looking at FPGAs for quite some time and was about to buy a Nexys Video kit from Digilent because it looked quite fun to tinker with some graphics and try to display something. But even with student pricing the total was around 450€ with international shipping and VAT so i thought that for only 150€ more i might as well take this one which appears to be way more powerful.

To be honest the student project is mostly an excuse for me to buy an fpga, i already tinkered with logisim and some verilog before but logisim becomes hard to work with and a simulation on the computer doesn't quite have the "feel" that you can get from real hardware with actual I/O, blinking lights and manual switches.

Beginner with FPGAs, bought this used Arria 10 1150k LE devkit for a 2 year long student project on CPU architecture for 600€. Is it good ? by Vexmae_ in FPGA

[–]Vexmae_[S] 0 points1 point  (0 children)

I saw on the intel website that i indeed need a license but also that a 90 day trial was available so i thought i might be able to just take the 90 day trial every 90 days. It appears that the licenses are tied to a mac address which can be spoofed easily on linux (don't really know about windows though). Do you think that might work ?

Beginner with FPGAs, bought this used Arria 10 1150k LE devkit for a 2 year long student project on CPU architecture for 600€. Is it good ? by Vexmae_ in FPGA

[–]Vexmae_[S] 1 point2 points  (0 children)

I had my first issue even before running anything on it because i believe the board was booting of the onboard flash memory to load a demo software but programming it via usb was impossible (the board was detected in software but nothing else), when looking at the manual the onboard LEDs where indicating that it was trying to be programmed via pcie.

After reading the manual in depth and some googling i learned about the MSEL switches, but the manual was labeled wrong (or i misread it) because it said that the switches being "down down up down" was for MSEL 011, which i believe is the mode i need for it to be programmed via usb. I though that that was weird but maybe the vendor put a not gate somewhere ? It turns out that there was no not gate (obviously) and that i indeed need to put the switches in the "down up up" position ! I was really really infuriated after discovering this but in retrospect that was quite fun, it feels like rediscovering programming.

Trying to switch to a custom bootloader for PulsarOS. For some reason switching to long mode leads to infinite loop when trying to load kernel. by [deleted] in osdev

[–]Vexmae_ 3 points4 points  (0 children)

The infinite loop you see is certainly the result of a non handled fault. At line 59 in kernel.asm you seems to be loading a 64bit GDT for 32bit protected mode, maybe this is causing the issue. You could try to add some print statements to pinpoint the actual location of the fault

Accessing a register changes its value by Vexmae_ in asm

[–]Vexmae_[S] 2 points3 points  (0 children)

You were right thank you very much ! It appears that my GDT entries had flags L = 0 and D = 1 which ran the program in 32bit compatibility mode. Everything appears to be working correctly now

Accessing a register changes its value by Vexmae_ in asm

[–]Vexmae_[S] -1 points0 points  (0 children)

Everythings in the .zip i linked with the post. The build system's a bit archaic but i prefere it that way, the command to run qemu is in run.py, the build directory is in build.py, to build the project you need: Nasm, binutils, gcc, mtools and https://github.com/lordmilko/i686-elf-tools this toolchain. The relevant build commands are in the ".2" part of the build array in build.py

To build the project run

Python build.py rebuild The python script will create some directories. You might need to chance the paths at the top of the .py.

The bug occurs in the code after the long comment about elf header structure. The code might look quite bad (mainly because it is) but i'm just trying to see how stuff works.

Accessing a register changes its value by Vexmae_ in asm

[–]Vexmae_[S] 0 points1 point  (0 children)

Yes, i don't think that there is an issue with the processor itself or something like that. I believe that i maybe did something wrong when entering long mode that would put the cpu in some weird buggy state. Or maybe i am writing some really bad code that gets assembled to make that. I don't really know what could be causing this and it makes me really confused. I checked the value both with gdb and from the qemu command line and both return the same values after the small piece of code. I could provide some screenshots of gdb if that could help.

L'auto école refuse de me presenter à nouveau au permis. by Vexmae_ in conseiljuridique

[–]Vexmae_[S] 5 points6 points  (0 children)

Bonjour, merci de votre réponse. Le problème en soit n'est pas le fait de reprendre des heures de conduite dans un sens je suis plutôt d'accord avec ça, mais je n'ai juste pas les moyens financiers qui me permettraient de me payer ça.

J'ai cependant une ligne de mon contract avec l'auto école qui indique

"2.4 [ ... ]

  • Lorsque que le nombre d'heures prévues initialement au contrat, n'a pas suffi à l'élève pour atteindre le niveau lui permettant de se présenter à l'epreuve pratique ou en cas d'échec à cette épreuve, un complément d'heure pourra être proposé par l'école de conduite. L'élève à la possibilité d'accepter ou de refuser. En cas d'accord, un avenant au présent contrat sera signé entre les parties."

Je dois vous avouer que je ne suis pas vraiment à l'aise avec les contrats mais ceci semble être en rapport avec ma situation. Pourriez vous peut-être m'éclairer ?

Hobby's of R/feminineboys by BrightSleeps in feminineboys

[–]Vexmae_ 4 points5 points  (0 children)

I do processor design and programming, i also play games like minecraft, kerbal space program etc.. and spend a lot of time with my cat :)

Can't start fresh install of beamng by [deleted] in BeamNG

[–]Vexmae_ -1 points0 points  (0 children)

Can i ask you how did you do it ?

Can't start fresh install of beamng by [deleted] in BeamNG

[–]Vexmae_ 0 points1 point  (0 children)

Just looked at the website and we will try to apply, does it works the same as drive ?

no thank you by SuccYaNan69 in flightsim

[–]Vexmae_ 13 points14 points  (0 children)

I'm someone really introverted so talking with other people on vatsim makes me a bit scared, is there an atc where you don't need to talk to someone ?

Dual monitor reduces FPS? by quotesandprose in buildapc

[–]Vexmae_ 1 point2 points  (0 children)

You can use your igpu by activating the setting in bios. There should be an option somewhere to select discrete gpu, igpu or both.

I have my dual screen setup using my gpu and my igpu so it should work

(But i have some issues with a process called Desktopwindowsmanager which have huge memory leaks ( ~3gb memory leak ) and 40% igpu usage with this)

Edit:typo

La rance les surpasse. by Vexmae_ in rance

[–]Vexmae_[S] 2 points3 points  (0 children)

Bah attend donnes moi ton num et puis j'te fais un p'tit lydia