From 400ee099f16aa6a68fd6de48e3f052607459204e Mon Sep 17 00:00:00 2001 From: Joshua Goins Date: Wed, 21 May 2025 16:17:18 -0400 Subject: [PATCH] Update repo URLs --- content/blog/ffxiv-dec2023/index.md | 2 +- content/blog/ffxiv-sept2023/index.md | 2 +- content/blog/kawari10/index.md | 2 +- content/blog/kawari2/index.md | 2 +- content/blog/kawari3/index.md | 2 +- content/blog/kawari4/index.md | 2 +- content/software/fediseum.md | 2 +- data/mods.json | 10 +++++----- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/content/blog/ffxiv-dec2023/index.md b/content/blog/ffxiv-dec2023/index.md index e2220fd..abdc5b0 100644 --- a/content/blog/ffxiv-dec2023/index.md +++ b/content/blog/ffxiv-dec2023/index.md @@ -39,7 +39,7 @@ So I asked on Mastodon about a possible solution to my condumdrum, and [@NotNite (Embedded post temporarily unavailable.) -This is genius, it's basically pushing all of the parts that connect to the proprietary Steamworks bits to a separate process. That process can also start from another executable that could be compiled separately, which is what I did to create [Steamwrap](https://github.com/redstrate/steamwrap). It's basic at the moment and doesn't have IPC yet, but can be expanded in the future. +This is genius, it's basically pushing all of the parts that connect to the proprietary Steamworks bits to a separate process. That process can also start from another executable that could be compiled separately, which is what I did to create [steamwrap](https://codeberg.org/redstrate/steamwrap). It's basic at the moment and doesn't have IPC yet, but can be expanded in the future. So my plan is to build binaries for Linux (ones that are compatible with the Steam Linux Runtime, of course) and upload them to the Astra distribution server. I want to do that during the build process, hopefully. diff --git a/content/blog/ffxiv-sept2023/index.md b/content/blog/ffxiv-sept2023/index.md index ff7f33c..8415c4b 100644 --- a/content/blog/ffxiv-sept2023/index.md +++ b/content/blog/ffxiv-sept2023/index.md @@ -82,4 +82,4 @@ I recently had some trouble attempting to decompile the DX11 DXBC shader bytecod {{< stoot "mastodon.art" "111110339774483271" >}} -So I took the time to splice together a new library called [dxbc](https://github.com/redstrate/dxbc) (yes, I know very creative name!) It's the DXBC decompiler used in DXVK, usable in library form. I plan on integrating this with Novus soon, so it can load the shader files from the game. +So I took the time to splice together a new library called [dxbc](https://codeberg.org/redstrate/dxbc) (yes, I know very creative name!) It's the DXBC decompiler used in DXVK, usable in library form. I plan on integrating this with Novus soon, so it can load the shader files from the game. diff --git a/content/blog/kawari10/index.md b/content/blog/kawari10/index.md index 2554cb9..9f996ff 100644 --- a/content/blog/kawari10/index.md +++ b/content/blog/kawari10/index.md @@ -168,6 +168,6 @@ pub fn get_warp(&mut self, warp_id: u32) -> Option<(u32, u16)> { } ``` -Some of this was fixed by improving the signature of the function itself (with `Option`!) Another part of it is introducing a higher-level API for grabbing Excel data. I now have a library called [Icarus](https://github.com/redstrate/Icarus) based on the fantastic schema in [EXDSchema](https://github.com/xivdev/EXDSchema), generated with [EXDGen](https://github.com/redstrate/EXDGen). While it only supports a small portion of the schema, it's more than good enough for Kawari's purposes. Another improvement that helped was in [Physis](https://github.com/redstrate/Physis), where `ColumnData` now has `into_x()` helpers so you don't have to write `match` code yourself in the caller. +Some of this was fixed by improving the signature of the function itself (with `Option`!) Another part of it is introducing a higher-level API for grabbing Excel data. I now have a library called [Icarus](https://github.com/redstrate/Icarus) based on the fantastic schema in [EXDSchema](https://github.com/xivdev/EXDSchema), generated with [EXDGen](https://codeberg.org/redstrate/EXDGen). While it only supports a small portion of the schema, it's more than good enough for Kawari's purposes. Another improvement that helped was in [Physis](https://github.com/redstrate/Physis), where `ColumnData` now has `into_x()` helpers so you don't have to write `match` code yourself in the caller. [^1]: If you are interested, I have some incomplete documentation [here](https://wiki.xiv.zone/Launcher). You might also want to take a look at [Kawari's launcher page HTML](https://github.com/redstrate/Kawari/blob/master/resources/templates/launcher.html). diff --git a/content/blog/kawari2/index.md b/content/blog/kawari2/index.md index ac387d3..dfc2619 100644 --- a/content/blog/kawari2/index.md +++ b/content/blog/kawari2/index.md @@ -16,7 +16,7 @@ In the last update, NotNite tipped me off to [Project Chronofoil](https://github ![The Chronofoil plugin in-game, on the main menu. I already captured a session beforehand.](plugin.webp) -However the project doesn't include a tool (that I could find anyway, maybe [FFXIVMon](https://github.com/takhlaq/ffxivmon)?) to extract the data of these captures. They have a library to read them in C#, but I don't work in C# so it's not too much use to me. After a few hours of hacking though, I whipped up a tool that extracts packets from `.cfcap` files and expands them into a nice directory structure. The project is [available on GitHub](https://github.com/redstrate/XIVPacketTools)[^1]. +However the project doesn't include a tool (that I could find anyway, maybe [FFXIVMon](https://github.com/takhlaq/ffxivmon)?) to extract the data of these captures. They have a library to read them in C#, but I don't work in C# so it's not too much use to me. After a few hours of hacking though, I whipped up a tool that extracts packets from `.cfcap` files and expands them into a nice directory structure. The project is [available on GitHub](https://codeberg.org/redstrate/xivpackettools)[^1]. ![An example of what the extracted directory structure looks like.](directory.webp) diff --git a/content/blog/kawari3/index.md b/content/blog/kawari3/index.md index 79d279f..afba854 100644 --- a/content/blog/kawari3/index.md +++ b/content/blog/kawari3/index.md @@ -58,7 +58,7 @@ They also reproduced an issue where the client takes a while to load into a zone # Character creation -This is one the features I implemented after I was tipped off to [Project Chronofoil](https://github.com/ProjectChronofoil/) (as described in [the previous update.]({{< ref "kawari2" >}})) With it and [my cfcap-expand tool](https://github.com/redstrate/XIVPacketTools), it was trivial to dissect the lobby packets during character creaton. Not only was it easy, it was way faster than my previous methods. And now you can "create" a character! +This is one the features I implemented after I was tipped off to [Project Chronofoil](https://github.com/ProjectChronofoil/) (as described in [the previous update.]({{< ref "kawari2" >}})) With it and [my cfcap-expand tool](https://codeberg.org/redstrate/xivpackettools), it was trivial to dissect the lobby packets during character creaton. Not only was it easy, it was way faster than my previous methods. And now you can "create" a character! {{< tube "https://tube.ryne.moe/videos/embed/094d6f28-2441-454e-a7fd-74791b72fe5a" >}} diff --git a/content/blog/kawari4/index.md b/content/blog/kawari4/index.md index 46b416e..f31ec53 100644 --- a/content/blog/kawari4/index.md +++ b/content/blog/kawari4/index.md @@ -45,7 +45,7 @@ In the meantime I'll move onto spawning NPCs/objects and see if I have more luck # Packet names -When going through my packet captures, I manually typed what each IPC opcode meant as I went along. But this was slow, time-consuming - you get the point. So I added a feature to [cfcap-expand](https://github.com/redstrate/XIVPacketTools) that takes an opcode.json and uses an name for an IPC opcode if available. +When going through my packet captures, I manually typed what each IPC opcode meant as I went along. But this was slow, time-consuming - you get the point. So I added a feature to [cfcap-expand](https://codeberg.org/redstrate/xivpackettools) that takes an opcode.json and uses an name for an IPC opcode if available. ![Now it's much easier to tell the packets apart.](packets.webp) diff --git a/content/software/fediseum.md b/content/software/fediseum.md index b6d80eb..3bd04ab 100644 --- a/content/software/fediseum.md +++ b/content/software/fediseum.md @@ -7,7 +7,7 @@ projtags: - Fediverse - Mastodon - Godot -source: "https://github.com/redstrate/fediseum" +source: "https://codeberg.org/redstrate/FEDISEUM" license: MIT summary: "Virtual art museum" --- diff --git a/data/mods.json b/data/mods.json index eddf3ba..e58edd7 100644 --- a/data/mods.json +++ b/data/mods.json @@ -11,17 +11,17 @@ { "name": "Refitter", "description": "Modify chest bones for specific gear", - "url": "https://github.com/redstrate/Refitter" + "url": "https://codeberg.org/redstrate/Refitter" }, { "name": "Hooky", "description": "Send webhooks for events in FFXIV", - "url": "https://github.com/redstrate/hooky" + "url": "https://codeberg.org/redstrate/hooky" }, { "name": "EasyFullscreen", "description": "Make FFXIV act like a good game that can enter and exit fullscreen with F11", - "url": "https://github.com/redstrate/EasyFullscreen" + "url": "https://codeberg.org/redstrate/EasyFullscreen" }, { "name": "Neo Armor Refit Collection", @@ -36,12 +36,12 @@ { "name": "AllowLoginFail", "description": "Stop the game from quitting over lobby connection errors", - "url": "https://github.com/redstrate/AllowLoginFail" + "url": "https://codeberg.org/redstrate/AllowLoginFail" }, { "name": "Scripter", "description": "Inspect the Lua state and run custom scripts", - "url": "https://github.com/redstrate/Scripter" + "url": "https://codeberg.org/redstrate/Scripter" } ] },