Getting libHSPlasma and PlasmaShop

Announcements and discussion regarding any projects related to Cyan Worlds' Plasma Engine including (but not limited to) CyanWorlds.com Engine, Drizzle, OfflineKI, PyPRP, and libHSPlasma.

Getting libHSPlasma and PlasmaShop

Postby Zrax » Sun Jan 11, 2009 9:55 am

Current Tools
  • PlasmaShop
    • PlasmaShop - IDE for Plasma-related files
    • PrpShop - Advanced graphical PRP file editor
    • VaultShop - Offline Vault Manager for Uru Prime and PotS (includes SDL and .sav file editing support!)
    • Screenshots!
  • libHSPlasma Tools
    • PageConvert - Converts PRPs from one Plasma version to another (not completely supported)
    • PlasmaCrypt - Encrypts and Decrypts files from Plasma engine formats: Xtea (Uru), XXtea (MOUL), AES (Myst 5)
    • PlasmaSum - Update and view .SUM files
    • prcc / prcdc - Compile and decompile XML source for PRPs or extracted PRP objects
    • prpmod - Add/Delete/Extract individual objects from PRP files in either PRC or raw format
    • prpgrep - Find objects within PRP files
    • Prp2Obj - Convert a PRP or objects within a PRP to Wavefront .obj format (geometry and normals only -- no material information is converted)
    • PrpPack - Extract, create or add objects from/to PRP files
    • PyPack - Extract, create or add compiled python (pyc) files to python .pak files
    • PyHSPlasma - A Python interface wrapper for libHSPlasma
  • PyHSPlasma Scripts
    • copyage - (Branan) copies an age and adjusts it with a new name and sequence prefix
    • po2dds - Convert an extracted plMipmap to a .dds file
    • prp-checkfiles - (Diafero) Checks a set of PRP files for libHSPlasma read/write errors
    • prp-extractobject - (Diafero) Extracts a raw object from a PRP file
    • prp-listobjects - (Diafero) Lists all the Scene Objects (or a specified type) in a PRP file
    • sounddecompress/wxSoundDecompress - (Deledrius) Decompress a game's .ogg files properly for Plasma without depending on the Windows executables
    • tracekey - Look for references to a key within a PRP file


Windows


Windows (Source)


Linux / Mac OSX86 (Source, supports both 32- and 64-bit)
Last edited by Zrax on Tue Nov 30, 2021 3:56 pm, edited 5 times in total.
User avatar
Zrax
 
Posts: 206
Joined: Fri Sep 28, 2007 5:19 pm
Location: Waist-deep in a conecano

Re: Geting libPlasma and PlasmaShop

Postby Chacal » Sun Jan 11, 2009 4:22 pm

Does PlasmaShop use the current libPlasma?
Chacal


"The weak can never forgive. Forgiveness is an attribute of the strong."
-- Mahatma Gandhi
User avatar
Chacal
 
Posts: 2509
Joined: Tue Nov 06, 2007 2:45 pm
Location: Quebec, Canada

Re: Geting libPlasma and PlasmaShop

Postby Zrax » Sun Jan 11, 2009 4:50 pm

The programs in PlasmaShop 3.x do, but those in PlasmaShop 2.x do not... The Plasma.dll required for the progams in PlasmaShop 3.x (as well as the compiled Qt4 dlls) are included in the Windows compiled version though, so the zip file should have everything you need (except the VS2008 runtime)
User avatar
Zrax
 
Posts: 206
Joined: Fri Sep 28, 2007 5:19 pm
Location: Waist-deep in a conecano

Re: Geting libPlasma and PlasmaShop

Postby diafero » Mon Jan 12, 2009 5:02 am

Wow, I only now found that PlasmaShop SVN and noticed you used Qt for it :)
I also use Qt a lot and really like it. I'll try to compile the latest SVN once I'm back home.

EDIT: Ok, got them compiling. It was a bit difficult though as PlasmaShop expected the libPlasma.so file in ../Plama/bin (seen from the PlasmaShop base directory), but it is in ../Plasma/core/lib/, so I had to create the bin directory and add a symlink. Now PrpShop and VaultShop work, and especially the latter is really great - finally a tool to easily browse through and edit the offline vaults :)
PrpShop seems to be like a PageEditor written in Qt and using GUIs for the objects instead of XML - is one of them meant to replace the other? Now that I am used to PageEditor I prefer it to the GUI, but the latter allows me to open different ages at once, while PageEditor closes the files I have currently opened when I choose a new one. In addition, PageEditor has no way to change the name of ages, pages or objects (at least I found none so far).
I am a bit confused though because I expected to find some tool using the Python interface of libPlasma, but this is obviously still in a very early state and not yet usable? Is there a SVN for that one somewhere?
I prefer e-mails to "diafero arcor de" (after adding the at and the dot) over PMs.

"Many people's horizon is a circle with a radius of zero. They call it their point of view."

Deep Island Shard | Offline KI
diafero
Deep Island Admin
 
Posts: 2970
Joined: Mon May 05, 2008 5:50 am
Location: Germany

Re: Geting libPlasma and PlasmaShop

Postby Zrax » Mon Jan 12, 2009 11:24 am

diafero wrote:Ok, got them compiling. It was a bit difficult though as PlasmaShop expected the libPlasma.so file in ../Plama/bin (seen from the PlasmaShop base directory), but it is in ../Plasma/core/lib/, so I had to create the bin directory and add a symlink.

Oops, it should actually look in core/lib, but I guess it always worked for me since I always use make install before makeing PlasmaShop... I'll go ahead and fix that. Thanks!

diafero wrote:PrpShop seems to be like a PageEditor written in Qt and using GUIs for the objects instead of XML - is one of them meant to replace the other? Now that I am used to PageEditor I prefer it to the GUI, but the latter allows me to open different ages at once, while PageEditor closes the files I have currently opened when I choose a new one. In addition, PageEditor has no way to change the name of ages, pages or objects (at least I found none so far).

PrpShop is meant to replace PrpTool, actually (and add saving support to it). PageEditor was written by Paradox, not me, so it's up to him whether he'll keep supporting it or not. Personally, I prefer a graphical PRP editor for several reasons, including that it will (eventually) support previewing graphical data (textures and geometry), and that flags can be edited by name rather than by a hex value like PRC frequently forces you to do. However, I really don't see any reason for one tool to replace the other, and I expect both will continue to coexist peacefully :).

diafero wrote:I am a bit confused though because I expected to find some tool using the Python interface of libPlasma, but this is obviously still in a very early state and not yet usable? Is there a SVN for that one somewhere?

The PyPlasma python module should be available in your build, which provides the python interface to the python interpreter. This can be used in your own scripts, but there isn't that much available yet that makes use of it. There's an example python script at libPlasma/Python/examples/po2dds.py, and there was also discussion at one point about using PyPlasma as a backend for PyPRP 2.0, but I think Lontahv is the only one who's done any work on the latter so far.
User avatar
Zrax
 
Posts: 206
Joined: Fri Sep 28, 2007 5:19 pm
Location: Waist-deep in a conecano

Re: Geting libPlasma and PlasmaShop

Postby Chacal » Mon Jan 12, 2009 11:31 am

I think both prpShop and Page Editor will continue being useful.
PageEditor's XML format is the greatest thing since sliced bread, and the ability to perform batch transforms on a bunch of PRC files is valuable for people preparing distributions.
PrpShop will be useful for hackers working on their own files.
Chacal


"The weak can never forgive. Forgiveness is an attribute of the strong."
-- Mahatma Gandhi
User avatar
Chacal
 
Posts: 2509
Joined: Tue Nov 06, 2007 2:45 pm
Location: Quebec, Canada

Re: Geting libPlasma and PlasmaShop

Postby diafero » Mon Jan 12, 2009 12:45 pm

PrpShop is meant to replace PrpTool, actually (and add saving support to it). PageEditor was written by Paradox, not me, so it's up to him whether he'll keep supporting it or not. Personally, I prefer a graphical PRP editor for several reasons, including that it will (eventually) support previewing graphical data (textures and geometry), and that flags can be edited by name rather than by a hex value like PRC frequently forces you to do. However, I really don't see any reason for one tool to replace the other, and I expect both will continue to coexist peacefully :).
I think both prpShop and Page Editor will continue being useful.
Ok, thanks for the explanation. Yes, both tools are very useful for their own purposes, but since they are so similar, and since one lives within the core libPlasma SVN and the other has it's own, I wondered why that is. But as PageEditor doesn't need much code as all the XML stuff is already in libPlasma, it's very useful for testing the library and doing some simple manipulations - and for some data types, I also find the XML much easier to read than the GUI ;-). Of course, for the flags, the GUI is much more convenient. I'll just see them as two different approaches to prp editing, one being more "in touch" with the library while the other is easier to use and discoverable (at least I hope you plan to make the GUI self-explaining).
I prefer e-mails to "diafero arcor de" (after adding the at and the dot) over PMs.

"Many people's horizon is a circle with a radius of zero. They call it their point of view."

Deep Island Shard | Offline KI
diafero
Deep Island Admin
 
Posts: 2970
Joined: Mon May 05, 2008 5:50 am
Location: Germany

Re: Geting libPlasma and PlasmaShop

Postby Zrax » Mon Jan 12, 2009 1:32 pm

Ok, I've updated the makefiles for Linux/OSX -- they should now build everything into bin/ like the Windows build does. The make install will still install the programs and libs to the same places as before though.
User avatar
Zrax
 
Posts: 206
Joined: Fri Sep 28, 2007 5:19 pm
Location: Waist-deep in a conecano

Re: Geting libPlasma and PlasmaShop

Postby Lontahv » Mon Jan 12, 2009 3:29 pm

PyPlasma is basically exactly the same in use as libPlasma. dir() can help you with seeing all the class functions and members you can use.

I started learning how to use libPlasma by looking at Prp2Obj.cpp. This application shows off how to open and read prp files. The functions should match up pretty well with the PyPlasma functions. The only big difference I'd found is that PyPlasma often uses class member variables instead of get* and set* functions. Otherwise what Zrax has implemented so far into the API should be almost identical to using libPlasma with C++.
Currently getting some ink on my hands over at the Guild Of Ink-Makers (PyPRP2).
User avatar
Lontahv
Councilor of Artistic Direction
 
Posts: 1331
Joined: Wed Oct 03, 2007 2:09 pm

Re: Geting libPlasma and PlasmaShop

Postby diafero » Tue Jan 13, 2009 11:10 am

Zrax wrote:Ok, I've updated the makefiles for Linux/OSX -- they should now build everything into bin/ like the Windows build does. The make install will still install the programs and libs to the same places as before though.

It seems you forgot to add some binaries to the ignore list, for example "mkmfs" or "dsData".

EDIT: Besides, things work without the symlink now.
I prefer e-mails to "diafero arcor de" (after adding the at and the dot) over PMs.

"Many people's horizon is a circle with a radius of zero. They call it their point of view."

Deep Island Shard | Offline KI
diafero
Deep Island Admin
 
Posts: 2970
Joined: Mon May 05, 2008 5:50 am
Location: Germany

Next

Return to Plasma Development

Who is online

Users browsing this forum: No registered users and 2 guests