From c0535aa76794a8ebc835d93dd2aa837e10217a9b Mon Sep 17 00:00:00 2001 From: Grayson Riffe Date: Wed, 15 Jan 2025 20:48:30 -0600 Subject: [PATCH] Update for 2025, change wordings, add WinChat img --- about/index.html | 6 +++--- index.html | 4 ++-- nf/index.html | 8 ++++---- style.css | 20 +++++++++++++++++--- winchat/index.html | 10 +++++++--- winchat/screenshot.png | Bin 0 -> 13761 bytes 6 files changed, 33 insertions(+), 15 deletions(-) create mode 100644 winchat/screenshot.png diff --git a/about/index.html b/about/index.html index d9df8f8..6c4a633 100644 --- a/about/index.html +++ b/about/index.html @@ -43,9 +43,9 @@ Portrait

- I'm from Kennedale, a small suburb in the DFW area of Texas. It's here where I grew up and found my home in engineering. In high school, I played trumpet in our (UIL State finalist) marching band. In 2022, I graduated and said goodbye to my hometown, and now I'm in College Station studying what I love while doing some food serving work on the weekends. + I'm from Kennedale, a small suburb in the DFW area of Texas. It's here where I grew up and found my home in engineering. In high school, I played trumpet in our (UIL State finalist) marching band. In 2022, I graduated and said goodbye to my hometown, and now I'm in College Station studying what I love while doing some food serving work. - My favorite music genre is alternative rock/metal, and a shortlist of my favorite bands are Red, Starset, and My Chemical Romance! As a textbook 21st century young adult, my other hobbies include playing video games such as Elden Ring, reading Wikipedia pages, eating Chick-fil-A, and riding my bike. + My favorite music genre is alternative rock/metal, and a shortlist of my favorite bands are Starset, Red, and My Chemical Romance! As a textbook 21st century young adult, my other hobbies include playing video games such as Elden Ring, reading Wikipedia pages, eating Chick-fil-A, and riding my bike.

Contact

@@ -59,7 +59,7 @@ diff --git a/index.html b/index.html index a4dd9fe..3e9a62b 100644 --- a/index.html +++ b/index.html @@ -40,7 +40,7 @@

Grayson Riffe

- Hello! My name is Grayson Riffe, and I am an undergraduate at Texas A&M majoring in Electronic Systems Engineering Technology and minoring in Cybersecurity. + Hello! My name is Grayson Riffe, and I am an undergraduate at Texas A&M majoring in Electronic Systems Engineering Technology. Ever since I can remember, I've been interested in electronics, espcecially computers, and how to tell them what to do. I started my technical journey in 5th grade with learning Java programming. To truly understand what I was learning, I wrote tiny games such as tic-tac-toe, a number guessing game, and "Button Clicker" (a very bad knockoff of Cookie Clicker). As I started to get more competent, I then started looking into C++ on Windows with MSVC and Visual Studio. I have a strong background with compiled application development.

@@ -55,7 +55,7 @@

diff --git a/nf/index.html b/nf/index.html index 4a99298..154eb34 100644 --- a/nf/index.html +++ b/nf/index.html @@ -43,11 +43,11 @@

Nothin' Fancy

- Nothin' Fancy (or NF) is a 3D game engine / visualizer for Windows built with CMake and MSVC. I ultimately want to use my engine to create a game I can release on Steam for free. + Nothin' Fancy (NF) is a 3D game engine for Windows built with C++. I ultimately want to use my engine to create a game I can release on Steam for free.

- +

- The first revision was developed in 2021 as an experimental learning project. It has a number of cool features including a custom asset pack system complete with model cooking, an easy way to create a UI, material texture support including normal maps, and even a physics engine, but it is still missing a number of important features. + The first revision was developed in 2021 as an experimental learning project. It has a number of features including a custom asset pack system, an easy way to create a UI, material texture support including normal maps, and even a physics engine, but it is still missing a number of important features. I worked on this project during my senior year of high school, and it is the result of about 4 months of constant work. @@ -66,7 +66,7 @@

diff --git a/style.css b/style.css index 1a0a2c5..01d9f81 100644 --- a/style.css +++ b/style.css @@ -180,7 +180,7 @@ article { } .space { - padding: 1em; + padding: 0.5em; } h1 { @@ -192,7 +192,7 @@ p { white-space: pre-line; } -iframe.video { +iframe { display: block; width: 40%; aspect-ratio: 16 / 9; @@ -203,6 +203,16 @@ iframe.video { border-radius: 1em; } +.mainimage { + width: 30%; + margin: auto; +} + +.mainimage img { + border: 0.2em black solid; + border-radius: 1em; +} + .contact { padding: 0 2em; font-size: 1.2em; @@ -266,7 +276,11 @@ footer { margin: 0 auto; } - iframe.video { + iframe { width: 90%; } + + .mainimage { + width: 90% + } } \ No newline at end of file diff --git a/winchat/index.html b/winchat/index.html index 322b54b..f1aca93 100644 --- a/winchat/index.html +++ b/winchat/index.html @@ -43,18 +43,22 @@

WinChat

- WinChat is a simple chat application for Windows (hence the name). + WinChat is a simple chat application for Windows. +

+
+ Engine Logo +
+

I started this project to get a grasp of the network programming I would need to know if I were to add multiplayer support to Nothin' Fancy. The application has few features, but everything is done at a low level, only using old Win32 APIs to get the job done. You can download the current version (1.0.0) here. - As a side note, because I do not have a "code signing certificate," Windows Security and SmartScreen might not let you run the program without asking you if you are sure. The source can be found here.

diff --git a/winchat/screenshot.png b/winchat/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..37f71c8f8f66cd09723e43f25d90329b75f85632 GIT binary patch literal 13761 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 literal 0 HcmV?d00001