This commit is contained in:
parent
bdf2887a58
commit
400ee099f1
8 changed files with 12 additions and 12 deletions
|
@ -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.
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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).
|
||||
|
|
|
@ -16,7 +16,7 @@ In the last update, NotNite tipped me off to [Project Chronofoil](https://github
|
|||
|
||||

|
||||
|
||||
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].
|
||||
|
||||

|
||||
|
||||
|
|
|
@ -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" >}}
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
||||

|
||||
|
||||
|
|
|
@ -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"
|
||||
---
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
Loading…
Add table
Reference in a new issue