Replies: 6 comments 8 replies
-
|
Cool! I'll give it a shot tomorrow. (Tonight if I'm not too tired)
Sarah
…On Tue, Oct 20, 2020, 2:38 PM Noah Gibbs ***@***.***> wrote:
Hey, @saraht45 <https://github.com/saraht45>! Chris mentions that you
have a copy of the last Lovecraft Country code, including a statedump. He
was hoping you could get a dump of the XML objects out of it.
@shentino <https://github.com/shentino> wrote a great object-dumping tool
("vault tool") that's checked into ChatTheatre/SkotOS. I've installed it on
the live Gables server and it works there. It seems likely to work for
dumping XML objects for Lovecraft Country, too. Documentation on using it
is here:
https://chattheatre.github.io/SkotOS-Doc/Exploring_SkotOS.html#dumping-lpc-objects-on-the-gables
Unfortunately there's no documentation in place on *installing* it.
Fortunately, it's pretty simple. ChatTheatre/SkotOS has two relevant
directories: skoot/usr/System/sys/tool
<https://github.com/ChatTheatre/SkotOS/tree/master/skoot/usr/System/sys/tool>
and skoot/usr/System/lib/tool
<https://github.com/ChatTheatre/SkotOS/tree/master/skoot/usr/System/lib/tool>.
If you copy those five files into place in the same two directories and
compile the tool from the developer wiztool interface ("cd
/usr/System/sys/tool", "compile vault.c"), it should start working.
(I've just created a PR to add these same install instructions to the
"Exploring SkotOS" docs.)
Sanity check: you have a dev account and you can get in on the telnet
port, yes?
I *think* that with these instructions you should be able to get an
object dump as XML files out of Lovecraft Country or similar old games. If
you get compile errors or it won't dump objects, let me know and I might be
able to help (and/or Shentino might.)
You *will* see some errors as it dumps, as shown on the Exploring_SkotOS
page above. But assuming it basically works, you'll find the dumped XML
files under skoot/data/vault in a lot of subdirectories.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#7>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AI5I5EXYSK3EDCQ5BTTSSL3SLXKLRANCNFSM4SYXGMFQ>
.
|
Beta Was this translation helpful? Give feedback.
-
|
That smells like my code. Where is the file hosted? |
Beta Was this translation helpful? Give feedback.
-
|
Also this code wasn't originally part of skotoslib proper IIRC and it may contain stuff that's set to automatically trigger on compilation. I strongly advise not randomly compiling anything without at least a specific need or checking the code in question. Anything I wrote there is likely to be dangerous if used improperly. |
Beta Was this translation helpful? Give feedback.
-
|
Yeah, in order for an object to actually be configured in WOE it needs to have a registered SID object, whose path is returned by the LPC function query_state_root. IIRC, not all objects registered in IDD with an object name are intended to be configurable via XML interfaces such as WOE. More elaboratedly, SID appears to be the glue between the XML and the LPC, by among other things defining what LPC functions to call to import or export object state, and if an LPC source file doesn't specify a corresponding SID to sit at the top of the object state tree then it can't be manipulated in XML. I have a hunch that the vault tool I wrote was an internal hack job for gables purely intended to dump the xml for all the objects, and IIRC it may even have preempted other tools that already existed, perhaps ones that generated xma files. Honestly I'm the only one that's used the vault tool in production, back during my cold boot work for skotoslib, and I'm not really sure it's being used as intended here, and I regret that i never got around to writing documentation meant to guide other users. This is also code I haven't touched in a long time, but I think the gist was to dump out xml for the objects for the purpose of cold booting. I do not think it was meant as a backup strategy like the SID cemetery apparently was. |
Beta Was this translation helpful? Give feedback.
-
|
IIRC, the "can't dump" message is deliberate and meant to be a diagnostic indicating that a given object is intentionally being skipped for dumping because an SID root was never specified for the object in question. |
Beta Was this translation helpful? Give feedback.
-
|
I want to apologize generally if this code caused any problems but it was taken outside of its originally intended use and quite frankly for me even foreseeable use. Please, whoever put this in should have either checked with me or read the source code or something before just slapping it in place. This particular use case is outside the scope of the warranty, so to speak. One other caveat that comes to mind that I should mention. It appeared at the time that there were two different ways to dump an object, one with and without some kind of extra persistence, something to do with "transient" or something to do with data that was volatile and changed at runtime, perhaps things like inventory and so on that aren't meant to be part of the "blueprint" and IIRC the vault tool here only dumps that "baseline" version of the object. I'd also like to point out that IIRC it probably doesn't dump anonymous spawns, such as cloned copies of a sword or a biscuit and so on. All in all it's definitely NOT intended as some sort of game based backup tool, indeed. At most it's intended to dump a library of named blueprints/masters/etc, as a sort of library or catalog you can spawn from. If this was an attempt to use it to back up actual game/thing/world state data that is NOT what it was designed for at all, just in case. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hey, @saraht45! Chris mentions that you have a copy of the last Lovecraft Country code, including a statedump. He was hoping you could get a dump of the XML objects out of it.
@shentino wrote a great object-dumping tool ("vault tool") that's checked into ChatTheatre/SkotOS. I've installed it on the live Gables server and it works there. It seems likely to work for dumping XML objects for Lovecraft Country, too. Documentation on using it is here: https://chattheatre.github.io/SkotOS-Doc/Exploring_SkotOS.html#dumping-lpc-objects-on-the-gables
Unfortunately there's no documentation in place on installing it. Fortunately, it's pretty simple. ChatTheatre/SkotOS has two relevant directories: skoot/usr/System/sys/tool and skoot/usr/System/lib/tool. If you copy those five files into place in the same two directories and compile the tool from the developer wiztool interface ("cd /usr/System/sys/tool", "compile vault.c"), it should start working.
(I've just created a PR to add these same install instructions to the "Exploring SkotOS" docs.)
Sanity check: you have a dev account and you can get in on the telnet port, yes?
I think that with these instructions you should be able to get an object dump as XML files out of Lovecraft Country or similar old games. If you get compile errors or it won't dump objects, let me know and I might be able to help (and/or Shentino might.)
You will see some errors as it dumps, as shown on the Exploring_SkotOS page above. But assuming it basically works, you'll find the dumped XML files under skoot/data/vault in a lot of subdirectories.
Beta Was this translation helpful? Give feedback.
All reactions