ii.Aethra
0.8.0.1
dotnet add package ii.Aethra --version 0.8.0.1
NuGet\Install-Package ii.Aethra -Version 0.8.0.1
<PackageReference Include="ii.Aethra" Version="0.8.0.1" />
<PackageVersion Include="ii.Aethra" Version="0.8.0.1" />
<PackageReference Include="ii.Aethra" />
paket add ii.Aethra --version 0.8.0.1
#r "nuget: ii.Aethra, 0.8.0.1"
#:package ii.Aethra@0.8.0.1
#addin nuget:?package=ii.Aethra&version=0.8.0.1
#tool nuget:?package=ii.Aethra&version=0.8.0.1
iiAethra
iiAethra is a C# library supporting the modification of files relating to The Aethra Chronicles, the 1994 CRPG game.
Name | Read | Write | Comment |
---|---|---|---|
AETHRA.CFG | ✔ | ✔ | |
C1.RSC | ✗ | ✗ | |
C2.RSC | ✗ | ✗ | |
CHARPIC.DAT | ✔ | ✔ | |
D1.RSC | ✗ | ✗ | |
DRAGONS.PIC | ✔ | ✔ | |
ENCNTER.DAT | ✔ | ✔ | |
FLOOR.PIC | ✔ | ✔ | |
FRONTS.PIC | ✔ | ✔ | |
GAME.EXE | ✗ | ✗ | |
GAME.OVR | ✗ | ✗ | |
ICONS.PIC | ✔ | ✔ | Multiple image sizes |
INFO1.DAT | ✔ | ✔ | Malformed file - writing back the original data fails |
INFO2.DAT | ✔ | ✔ | |
ITEM.DAT | ✔ | ✔ | |
MAP.RSC | ✗ | ✗ | |
MAPS.PIC | ✔ | ✔ | |
MONPIC.PIC | ✔ | ✔ | Multiple image sizes |
NMONSTER.DAT | ✔ | ✔ | |
OPEN.PPC | ✔ | ✔ | |
PARCH.PIC | ✔ | ✔ | |
PARTY.DAT | ✔ | ✔ | |
PIC1.RSC | ✔ | ✔ | |
PILLAR.PPR | ✗ | ✗ | |
PORTS.RSC | ✔ | ✔ | |
ROS.RSC | ✔ | ✔ | |
SAVEGAME.DAT | ✔ | ✔ | |
SPECIALS.PIC | ✔ | ✔ | |
SPEFFS.DAT | ✔ | ✔ | |
STD.RSC | ✔ | ✗ | Some extracted files are malformed |
STORES.DAT | ✔ | ✔ | |
T1.RSC | ✔ | ✔ | |
TASKDESC.DAT | ✗ | ✗ | Malformed file |
TREE.DAT | ✗ | ✗ | Malformed file |
Note: Real48 round-tripping is currently inaccurate.
Usage
Install the nuget package e.g.
dotnet add package ii.Aethra
Aethra Chronicles doesn't have consistent file type extensions e.g. a DAT file can contain Guild and Shop info, scroll text, item information, quest description, encounters or more, each in differernt formats. Despite this there's a clear link between the file you want to edit and the class you'll need to edit it.
To edit a file you should instantiate the relevant class and call the Read
method passing the filename. This will return an object model, which you can amend, before calling the Write
method.
var itemManager = new ItemDat();
var items = itemManager.Read(@"D:\Games\aethra\install\item.dat");
items.First().WoodsLore = 1;
itemReader.Write(items, @"D:\Games\aethra\install\item.dat");
Compiling
To clone and run this repository you'll need Git and .NET installed on your computer. From your command line:
# Clone this repository
$ git clone https://github.com/btigi/iiAethra
# Go into the repository
$ cd src
# Build the app
$ dotnet build
Licencing
iiAethra is licenced under the MIT License. Full licence details are available in licence.md
iiAethra uses this Stackoverflow answer by Phil Jollans for conversion of a Turbao Pascal Real48 type to a C# type under the CC BY-SA 4.0 license as per the Stackoverflow License agreement.
The code is available in the github repository
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- SixLabors.ImageSharp (>= 3.1.7)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.