Download (228 KB)

How do I install this?

Wanting a SSD for Digiline systems?

So here is the Datacard mod, SSD for Digiline! There are three types of datacards, that can store up to 800 datablocks. Punch a diskdrive with a datacard to insert it, and punch it again to take the datacard out.

Messages sent by the diskdrive

responce_type = "inject"

Sent when a datacard is injected into a diskdrive.

{
    responce_type = "inject",
}

responce_type = "eject"

Sent when a datacard is ejected, either because a user punched it, or requested by another digiline signal.

{
    responce_type = "eject",
    id = ..., -- Only when requested via digiline
}

Digiline API

A request to the datacard diskdrive must be in table form:

{
    type = "read" or "write",
    data = ..., -- only when type == "write"
    id   = ..., -- Kept intact in every responces
}

In every responces, including the error ones, the ID will be kept.

type = "read"

The responce table would be like this:

{
    responce_type = "read",
    success = true,
    data = ..., -- the data of the disk or nil
    used = 0, -- used datablocks
    capacity = 800, -- maximum usable datablocks
}

type = "write"

The data field is required to store data, use nil to clear the data in a datacard.

The responce table would be like this:

{
    responce_type = "write",
    success = true,
    used = 0, -- used datablocks
    capacity = 800, -- maximum usable datablocks
}

type = "eject"

This type of request ejects the datacard.

A normal eject responce will be returned.

Errors

An error responce is like this:

{
    responce_type = "read" or "write",
    success = false,
    error = "ERROR_CODE",
}

Error Codes

  • TOO_BIG: The data is too big for the datacard inserted into the diskdrive.
    Appear only on write requests
  • ERR_SERIALIZE: A serialize bug happened. A possible reason is that the data is too large for the engine to handle.
    Appear only on write requests
  • NO_DISK: There are no datacards in the diskdrive.
  • UNKNOWN_CMD: The type value is not "read" or "write".

License

The code are avaliable under the MIT License. Textures from Malcolm Riley's Unused Textures, and are avaliable under CC BY-SA 4.0.

Reviews

Review

Do you recommend this mod?