Friday, April 15, 2022

GUtility is gone!

 GUtility has now been removed from gateware. In its place is winutils.h. As of now the header includes a better solution for UTF8 to UTF16 conversions that prevents any issues with translation units by replacing an old static function with an overloaded inline function. Mac and Linux build also had their strlcpy replaced with calls to snprintf, which was what the old strlcpy macros were a layer ontop of.


the all new winutils.h! This is version 1.0

The next bug I fixed was a minor math library bug, in the GQuaternion file. SlerpF and SlerpD had been lacking code to handle an edge case where parallel quaternions were leading to a NaN state when calculations were ran. The fix to this issue was adding a check for the dot product in which if a dot product of 1 (or close to 1) is produced, Slerp will then use a normal Lerp in its place to prevent any divide by 0 scenarios.

The new if check to handle the edge case

Super great week! I was able to solve two bugs in the time I was working during the week! 


Friday, April 8, 2022

End of Week April 8th

 

The EOF bug I chose to fix has uncovered many flaws in Gateware, but they've since been patched up. Though, I've also learned how to not go about merging branches on GitKraken, as I lost my work on Monday afternoon due to an improper merge. Thankfully, I was able to recover my work using the tools provided on GitKraken. 

    
The bug that had me caught all day on Thursday involved unnecessary calls to Seekg inside the Readline() function for the Linux build of Gateware. Calling Seekg too often drastically hinders the performance of the Single Header Compiler to the point it would time out from taking too long. These unneeded calls were removed from mac and windows, but had been lost during my learning experience with using GitKraken's merge tool. They were recovered after returning to an older commit.

The last bug I managed to discover is, after my merge to recover lost work, was that the Linux Test machine was not building the GVersion file which the unit test files rely on inorder to function. This was caused by an internal issue in a CMake script


Wednesday, March 23, 2022

Getting close to finishing my first bug since joining the Gateware team!

 As the end of my first month approaches, I'm already looking back on what a great month I had with Gateware! I managed to get pretty far into my first bug, End of File detection. The only remaining issue is an error checking within GBlitter

Friday, March 18, 2022

GateWare Dev Week 1

 It's the end of the first week of studying and working on GateWare, and I've learned quite a bit! I setup my first unit test for GFile's ReadLine function to check for the end of a file. This bug did take a bit longer than I had hoped to solve, but the learning experience was much worth it!

Friday, March 11, 2022

Gateware Dev Day 1

Today I have started my blog posts about my journey as a Gateware dev! I'm excited to see all the things I'm going to learn over the next four months.

Tuesday, August 17, 2021

Got access to xbox

 From my last post, I had problems with the Xbox but that was quickly resolved and I got the Xbox to run GateWare. The problem was just logging in the account that was already on the Xbox, which has development access from Microsoft.

The next thing I did was have a meeting with Chase to see how he did his file pathing as that is the current problem right now. He did find a solution to get all the unit tests running by creating a catch in main.cpp. He tells me that there are duplicate unit tests when he was debugging. This may be due to the merge I did a while ago when I brought up the UWP branch to release.

As of now I am going through and searching for the duplicate tests and resolving those.

Monday, August 9, 2021

Reset my last reset

On my last post I said that I had successfully brought the App-Port-Dev-Merge (UWP) branch up to speed by merging it with the Development branch.... Turns out I was not successful. The problem was when I soft reset my branch head to a different branch. That just caused a Git problem which was confusing. What we did was a hard reset to development, this made my branch the same as dev. From there we  merged the UWP branch and solved all the merge conflicts.

As of now, the code compiles but there are errors. The main problem I ran into is file pathing used to get some UWP files. Right now they are getting pulled directly in the Unit Test files and should be moved into GFile. I have a meeting with Chase tomorrow so that should clear up many things.

Another problem I ran into relates to the Xbox the school issued me. The problem is that when i try to run the code on the xbox i get an error saying that the code can not open the Windows store app. This may be due to me not having access to the sandbox. There is an account already on the xbox but it is logged off. I tried making my own account but I need permission from Microsoft to get access to the sandbox. Until I can get that resolved I will have to go back into the Desktop side.