summaryrefslogtreecommitdiff
path: root/content
diff options
context:
space:
mode:
Diffstat (limited to 'content')
-rw-r--r--content/_index.md5
-rw-r--r--content/about.md16
-rwxr-xr-xcontent/android-chrome-192x192.pngbin48916 -> 0 bytes
-rwxr-xr-xcontent/android-chrome-512x512.pngbin228914 -> 0 bytes
-rwxr-xr-xcontent/apple-touch-icon.pngbin44269 -> 0 bytes
-rw-r--r--content/articles/girlfriend-of-steel-re.md149
-rw-r--r--content/articles/win7.md40
-rw-r--r--content/banner.pngbin448044 -> 0 bytes
-rw-r--r--content/cheatsheets/c_cpp.md85
-rwxr-xr-xcontent/favicon-16x16.pngbin749 -> 0 bytes
-rwxr-xr-xcontent/favicon-32x32.pngbin2287 -> 0 bytes
-rwxr-xr-xcontent/favicon.icobin15406 -> 0 bytes
-rw-r--r--content/files/girlfriend-of-steel-re/000-weeb-header.jpgbin956676 -> 0 bytes
-rw-r--r--content/files/girlfriend-of-steel-re/001-scylla.pngbin595758 -> 0 bytes
-rw-r--r--content/files/girlfriend-of-steel-re/002-ghidra.pngbin321993 -> 0 bytes
-rw-r--r--content/files/girlfriend-of-steel-re/fantatech-1776908508.tar.gzbin91698 -> 0 bytes
-rw-r--r--content/files/girlfriend-of-steel-re/mana01_dump.tar.gzbin1086323 -> 0 bytes
17 files changed, 0 insertions, 295 deletions
diff --git a/content/_index.md b/content/_index.md
deleted file mode 100644
index 50d99fd..0000000
--- a/content/_index.md
+++ /dev/null
@@ -1,5 +0,0 @@
-+++
-title = 'Home'
-+++
-
-<marquee>🫏</marquee>
diff --git a/content/about.md b/content/about.md
deleted file mode 100644
index 90b1e36..0000000
--- a/content/about.md
+++ /dev/null
@@ -1,16 +0,0 @@
-+++
-title = 'About'
-+++
-
-My name is Hunter. I'm a hobbyist multimedia programmer from Minnesota.
-
-I can be reached at <span id="my-email">(hover to reveal email)</span>.
-<script>
- let d = document.getElementById('my-email');
- d.addEventListener('mouseenter', () => {
- let address = atob('aHVudGVyQGt2b2cuc2g=');
- d.innerHTML = `<a href="mailto:${address}">${address}</a>`;
- });
-</script>
-
-This website's source code can be downloaded here: [master.tar.gz](https://github.com/kvog-git/kvog.sh/archive/refs/heads/master.tar.gz).
diff --git a/content/android-chrome-192x192.png b/content/android-chrome-192x192.png
deleted file mode 100755
index 32f3bab..0000000
--- a/content/android-chrome-192x192.png
+++ /dev/null
Binary files differ
diff --git a/content/android-chrome-512x512.png b/content/android-chrome-512x512.png
deleted file mode 100755
index dc0c9d1..0000000
--- a/content/android-chrome-512x512.png
+++ /dev/null
Binary files differ
diff --git a/content/apple-touch-icon.png b/content/apple-touch-icon.png
deleted file mode 100755
index 598a0af..0000000
--- a/content/apple-touch-icon.png
+++ /dev/null
Binary files differ
diff --git a/content/articles/girlfriend-of-steel-re.md b/content/articles/girlfriend-of-steel-re.md
deleted file mode 100644
index 49fa18d..0000000
--- a/content/articles/girlfriend-of-steel-re.md
+++ /dev/null
@@ -1,149 +0,0 @@
-+++
-title = 'Reverse Engineering _Neon Genesis Evangelion: Girlfriend of Steel_'
-date = 2026-04-22T20:30:53-05:00
-draft = true
-+++
-
-![weeb-header](/files/girlfriend-of-steel-re/000-weeb-header.jpg)
-
-Last year, I started reverse enginering _Neon Genesis Evangelion: Girlfriend of Steel_ with the intention of writing a replacement engine that runs on modern computers.
-I ended up losing interest, but not before cracking a few of the game data formats. I'm going to document them here, that way anyone who takes a similar
-interest in restoration or modding can have a head start.
-
-The source code of the abandoned project is available here: [fantatech-1776908508.tar.gz](/files/girlfriend-of-steel-re/fantatech-1776908508.tar.gz).
-It includes [ImHex](https://imhex.werwolv.net/) patterns and rudimentary decoders for some of the formats described below.
-
-## What game am I talking about?
-
-I actually looked at two different games. I will share the information I know about the 1997 formats, but the primary focus will be on the 2006 version.
-VNDB has a good record of all the available ports and translations here: [https://vndb.org/v556](https://vndb.org/v556).
-
-**_Neon Genesis Evangelion: Girlfriend of Steel (1997, PC)_**: This is the original release of the game. It's also the most widely available.
-I was able to buy a factory sealed copy on eBay. Surprisingly, you can still mount the ISO and run the ~30 year old binaries on Windows 11. It plays mostly
-fine with a [Shift-JIS locale emulator](https://github.com/xupefei/Locale-Emulator).
-The chunky bitmap graphics and audio, although charming, are considerably lower quality than in the 2006 version.
-
-**_Neon Genesis Evangelion: Girlfriend of Steel (Special Edition) (2006, PC)_**: Also called _Shin Seiki Evangelion: Koutetsu no Girlfriend Tokubetsu-hen_, is a remake.
-It has upgraded sounds and visuals, additional scenarios, and a full-motion video (Cinepak) intro sequence. It's also filled to the brim with DRM that makes it completely
-broken on any system that isn't running Windows XP with Direct3D acceleration.
-This will only run in VMWare because VirtualBox dropped 3D acceleration support for Windows XP guests.
-
-I have not been able to find a physical copy of the PC version of Special Edition for sale anywhere.
-The PSP version is available, but the image resolutions are smaller than those found in the PC version.
-
-Luckily, someone in 2020 found a copy and had the foresight to rip the disc and upload it to the The Internet Archive. This is the raw, original disc; DRM and all:
-[https://archive.org/details/ssekngpcredump](https://archive.org/details/ssekngpcredump) - [http://redump.org/disc/74520/](http://redump.org/disc/74520/).
-
-MD5: `536adbefc80a84378b65224fddf122e7` SHA-1: `77a03fb1823cb96189ac50b9afece8930e709c93`
-
-## Getting around DRM
-
-Special edition is secured with [SafeDisc](https://en.wikipedia.org/wiki/SafeDisc). It's completely broken on modern Windows, so you'll need to use a virtual machine to run the game.
-I had good success with Windows XP in VMWare with 3D acceleration enabled.
-
-Once the game is running in the VM (lots of fiddling, unfortunately) the executable can be dumped with [Scylla x86](https://x64dbg.com/).
-To save you the headache, here's the dump: [mana01_dump.tar.gz](/files/girlfriend-of-steel-re/mana01_dump.tar.gz)
-
-![001-scylla.png](/files/girlfriend-of-steel-re/001-scylla.png)
-
-Although it doesn't run, the dump is a correct PE file.
-Ghidra is able to create proper data and code cross-references. Here's a function that parses script keywords:
-
-![002-ghidra.png](/files/girlfriend-of-steel-re/002-ghidra.png)
-
-## Custom file types (1997)
-
-* **LB5**: Lump file
-* **BP2**: Image (1997)
-* **BP3**: Image (2006)
-* **TXT**: Game script
-* **ZDF**: Animation data
-
-## Prior work
-
-When reverse engineering the 1997 game executable, I found several strings referencing something called "bmpwaku".
-This was the name given to the tiled bitmap rasterizer written by programmer Ritsurō Hashimoto.
-
-A small portion of the source code is still available on his website to this day: [bmpwaku.cpp](http://www.ritsuro.com/prog1/bmpwaku.html).
-This wasn't particularly useful, but it was cool to find.
-
-Aside from that, here are the existing tools I looked at:
-* [evac010](https://www.vector.co.jp/soft/win95/art/se055672.html): BP2 <-> BMP transcoder, likely written when the game came out in the 1990s.
-* [mdukat/EvaGOS\_engine](https://github.com/mdukat/EvaGOS_engine): Includes partial documentation of the game scripting language from the 1997 game.
-* [lb5\_decode.c](https://d3suu.neocities.org/EvaGOS_engine/lb5_decode.txt): LB5 unpacker, written by either mdukat or roxfan.
-* [Durik256/GOS2-Tools](https://github.com/Durik256/GOS2-Tools): Tools for dealing with files found in Girlfriend of Steel 2. Some overlap.
-
-## LB5
-
-These are very basic file archives. It's an `.IDX` file paired with either a `.BIN` or `.LB5`.
-
-There's no encryption, the idx file just stores the index into the bin/lb5. See ImHex patterns.
-
-## BP2 image format (1997)
-
-BP2 image format start with a custom header, followed by the standard bitmap file headers (`BITMAPFILEHEADER`, then `BITMAPINFOHEADER`).
-The custom header starts with a 32-bit uint32_t with value `999`. Search for that literal in the decompiler output to find the parser function.
-
-The 2nd field in the custom header defines the pixel format.
-| Value | Format |
-| ----- | ---------------------------------------- |
-| `1` | `INDEX8` - 8-bit index into palette data |
-| `2` | `RGB24` |
-| `3` | `GRAY8` |
-
-If the format is `INDEX8`, then the palette data is next.
-The length of the buffer is defined in the custom header.
-
-The rest of the file is image data encoded into chunks:
-```c
-struct BP2_Chunk
-{
- u32 len;
- u8 buf[len];
-};
-```
-
-Each chunk is a run-length encoded column of 8 pixels.
-To understand the specifics, it's easier to just look at the decompiler output or `ftformat.cc` in the source code linked above.
-
-## BP3 image format (Special Editioin)
-
-BP3 is similar. It supports more pixel formats and the image data is compressed into 8x8 blocks instead of 8-tall columns.
-
-| Value | Format |
-| ----- | ------------------- |
-| `0` | `SOLID` - One color |
-| `2` | `BGR332` |
-| `3` | `BGR233` |
-| `4` | `GRAY4` |
-| `5` | `GRAY8` |
-| `6` | `BGR555` |
-| `7` | `BGR888` |
-
-The decoder for BP3 is also in `ftformat.cc`.
-
-## TXT (1997)
-
-This is XOR-encrypted Shift_JIS text:
-
-```c
-for (u32 i = 0; i < txt_len; ++i) {
- data[i] ^= 0xFF;
-}
-```
-
-## TXT (Special Edition)
-
-Same thing, but slightly different:
-
-```c
-for (u32 i = 0; i < len; ++i) {
- if (data[i] > 0xF) {
- data[i] = 0xE - data[i];
- }
-}
-```
-
-## ZDF
-
-This file starts with a fourcc of `DFS0`.
diff --git a/content/articles/win7.md b/content/articles/win7.md
deleted file mode 100644
index 31f85ca..0000000
--- a/content/articles/win7.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-title: 'Updating a fresh Windows 7+SP1 install'
-date: 2024-02-05T02:30:19-06:00
-build:
- list: never
- render: always
----
-
-**2026 UPDATE**: Use Atak\_Snajpera's [Windows 7 Image Updater](https://forum.videohelp.com/threads/384921-Windows-7-Image-Updater-SkyLake-KabyLake-CoffeLake-Ryzen-Threadripper)
-
-## How to update a fresh Windows 7+SP1 install in 2024
-
-*Mostly taken from http://www.freenode-windows.org/resources/vista-7/windows-update ([archived](https://web.archive.org/web/20220925214048/http://www.freenode-windows.org/resources/vista-7/windows-update))*
-
-Windows 7 Ultimate (SP1) SHA1 hash: `36ae90defbad9d9539e649b193ae573b77a71c83`
-
-## 1. Download rollup updates
-First, manually download (but don't install) these updates from the [Microsoft Update Catalog](https://www.catalog.update.microsoft.com/home.aspx):
-
-1. [KB3125574](https://www.catalog.update.microsoft.com/Search.aspx?q=KB3125574)
-2. [KB3172605](https://www.catalog.update.microsoft.com/Search.aspx?q=KB3172605)
-3. [KB3020369](https://www.catalog.update.microsoft.com/Search.aspx?q=KB3020369)
-
-## 2. Disable Windows Update
-
-1. Disable the internet connection
-2. Disable the Windows Update service (`stop-service wuauserv` in admin PowerShell)
-3. Remove cached update files (`remove-item C:\windows\softwaredistribution\WuRedir` in admin PowerShell)
-
-## 3. Install rollup updates
-
-1. Install KB3020369
-2. Install KB3172605 and reboot
-3. Install KB3125574 and reboot
-
-## 3. Updating via Windows Update
-
-Reconnect to the internet and launch the standard Windows Update program.
-
-Many updates will fail, but if you retry and restart enough, they will eventually succeed.
diff --git a/content/banner.png b/content/banner.png
deleted file mode 100644
index f602b7e..0000000
--- a/content/banner.png
+++ /dev/null
Binary files differ
diff --git a/content/cheatsheets/c_cpp.md b/content/cheatsheets/c_cpp.md
deleted file mode 100644
index ad07dab..0000000
--- a/content/cheatsheets/c_cpp.md
+++ /dev/null
@@ -1,85 +0,0 @@
-+++
-title = 'C/C++'
-+++
-
-* [Preprocessor Definitions](#preprocessor-definitions)
- * [Platform detection](#platform-detection)
- * [Compiler detection](#compiler-detection)
- * [Architecture detection](#architecture-detection)
- * [GCC pragmas](#gcc-pragmas)
- * [MSVC pragmas](#msvc-pragmas)
-* [Standard Headers](#standard-headers)
-
-## Preprocessor Definitions
-
-* [predef wiki](https://github.com/cpredef/predef)
-
-### Platform detection
-```c
-#ifdef _WIN32
- // Windows
-#endif
-
-#ifdef __APPLE__
- // Apple - flags for specific devices defined in <TargetConditionals.h>
-#endif
-
-#ifdef __linux__
- // Linux
-#endif
-
-```
-
-### Compiler detection
-```c
-#ifdef __GNUC__
- // GCC
-#endif
-
-#ifdef __clang__
- // clang
-#endif
-
-#ifdef _MSC_VER
- // Visual C
-#endif
-```
-
-### Architecture detection
-```c
-#if (defined(_MSC_VER) && _M_X64) || (defined(__GNUC__) && __amd64__)
- // x86-64
-#endif
-
-#if (defined(_MSC_VER) && _M_ARM64) || (defined(__GNUC__) && __aarch64__)
- // arm64
-#endif
-```
-
-### GCC pragmas
-```c
-// Push/pop warning state
-#pragma GCC diagnostic push
-#pragma GCC diagnostic pop
-
-// Disable a warning
-#pragma GCC diagnostic ignored "-Wunused-variable"
-```
-
-### MSVC pragmas
-```c
-// Link against abc.lib
-#pragma comment(lib, "abc.lib")
-
-// Push/pop warning state
-#pragma warning(push)
-#pragma warning(pop)
-
-// Disable a warning
-#pragma warning(disable: 4996)
-```
-
-## Standard Headers
-
-* [C standard headers](https://en.cppreference.com/w/c/header.html)
-* [C++ standard headers](https://en.cppreference.com/w/cpp/header.html)
diff --git a/content/favicon-16x16.png b/content/favicon-16x16.png
deleted file mode 100755
index 5694cb4..0000000
--- a/content/favicon-16x16.png
+++ /dev/null
Binary files differ
diff --git a/content/favicon-32x32.png b/content/favicon-32x32.png
deleted file mode 100755
index 835f909..0000000
--- a/content/favicon-32x32.png
+++ /dev/null
Binary files differ
diff --git a/content/favicon.ico b/content/favicon.ico
deleted file mode 100755
index ebda066..0000000
--- a/content/favicon.ico
+++ /dev/null
Binary files differ
diff --git a/content/files/girlfriend-of-steel-re/000-weeb-header.jpg b/content/files/girlfriend-of-steel-re/000-weeb-header.jpg
deleted file mode 100644
index 761a18b..0000000
--- a/content/files/girlfriend-of-steel-re/000-weeb-header.jpg
+++ /dev/null
Binary files differ
diff --git a/content/files/girlfriend-of-steel-re/001-scylla.png b/content/files/girlfriend-of-steel-re/001-scylla.png
deleted file mode 100644
index a5ded5f..0000000
--- a/content/files/girlfriend-of-steel-re/001-scylla.png
+++ /dev/null
Binary files differ
diff --git a/content/files/girlfriend-of-steel-re/002-ghidra.png b/content/files/girlfriend-of-steel-re/002-ghidra.png
deleted file mode 100644
index 706f6ac..0000000
--- a/content/files/girlfriend-of-steel-re/002-ghidra.png
+++ /dev/null
Binary files differ
diff --git a/content/files/girlfriend-of-steel-re/fantatech-1776908508.tar.gz b/content/files/girlfriend-of-steel-re/fantatech-1776908508.tar.gz
deleted file mode 100644
index 728c517..0000000
--- a/content/files/girlfriend-of-steel-re/fantatech-1776908508.tar.gz
+++ /dev/null
Binary files differ
diff --git a/content/files/girlfriend-of-steel-re/mana01_dump.tar.gz b/content/files/girlfriend-of-steel-re/mana01_dump.tar.gz
deleted file mode 100644
index 2fcd46a..0000000
--- a/content/files/girlfriend-of-steel-re/mana01_dump.tar.gz
+++ /dev/null
Binary files differ