h-uru / plasmashop Goto Github PK
View Code? Open in Web Editor NEWSwiss army knife for Plasma file hacking
License: GNU General Public License v3.0
Swiss army knife for Plasma file hacking
License: GNU General Public License v3.0
There has been a definite change in how this latest release version loads and saves prp files.
Loading garrison.age will cause the program to do "Not Responding" during its initial load.
Saving any prp takes several seconds and has several times caused the saved PRP to show as outdated when starting the game.
I introduced that idea to @zrax in the IRC a few days ago.
In my opinion, setting the the build number manually every few months leads to confusing version numbers, if people do not use the precompiled release. Besides, we have always been on version "3.0 Beta".
My suggestion is to automatically use the current commit hash instead of a custom build number. Also, we would not have different build numbers for each program, which is the case, right now. For releases, I would say we should actually start using version numbers like 3.0.X. Thus, it should be much easier to actually compare two different versions.
CMake is using this approach and I think it's quite helpful. Here is a mockup image:
I would have a look at the implementation, if you agree with it.
When both Qt5 and Qt6 are available, it appears that qtextpad grabs Qt6 while PlasmaShop looks specifically for Qt5 and then they conflict.
I get the following errors when running CMake:
CMake Error: The INTERFACE_QT_MAJOR_VERSION property of "Qt5::Core" does
not agree with the value of QT_MAJOR_VERSION already determined
for "syntaxtextedit".
CMake Error: The INTERFACE_QT_MAJOR_VERSION property of "Qt5::Core" does
not agree with the value of QT_MAJOR_VERSION already determined
for "PSCommon".
CMake Error: The INTERFACE_QT_MAJOR_VERSION property of "Qt5::Core" does
not agree with the value of QT_MAJOR_VERSION already determined
for "PlasmaShop".
CMake Error: The INTERFACE_QT_MAJOR_VERSION property of "Qt5::Core" does
not agree with the value of QT_MAJOR_VERSION already determined
for "PrpShop".
CMake Error: The INTERFACE_QT_MAJOR_VERSION property of "Qt5::Core" does
not agree with the value of QT_MAJOR_VERSION already determined
for "VaultShop".
CMake Error at src/CMakeLists.txt:24 (target_link_libraries):
Target "PSCommon" links to:
Qt5::Widgets
but the target was not found. Possible reasons include:
* There is a typo in the target name.
* A find_package call is missing for an IMPORTED target.
* An ALIAS target is missing.
CMake Error at src/PlasmaShop/CMakeLists.txt:135 (target_link_libraries):
Target "PlasmaShop" links to:
Qt5::Widgets
but the target was not found. Possible reasons include:
* There is a typo in the target name.
* A find_package call is missing for an IMPORTED target.
* An ALIAS target is missing.
CMake Error at src/VaultShop/CMakeLists.txt:44 (target_link_libraries):
Target "VaultShop" links to:
Qt5::Widgets
but the target was not found. Possible reasons include:
* There is a typo in the target name.
* A find_package call is missing for an IMPORTED target.
* An ALIAS target is missing.
If I run make
, it does compile an executable, but running that binary segfaults immediately.
I don't see a way to specify which version of Qt should be used by qtextpad, so maybe the solution is to make all of PlasmaShop compatible with both Qt5 and Qt6?
When editing PAK files, PlasmaShop 2.x allowed selecting uncompiled Python scripts and compiled them on-the-fly before adding them to the pak. This was slightly more convenient than having to compile those manually.
Back in version 2.x, this required specifying the path to the Python 2.2/2.3 executables in the options dialog. Maybe those could be embedded in modern PlasmaShop somehow to make it even more convenient.
The QPlasmaDocument implementation for dev_mode.dat files is missing.
There are some unimplemented items in PlasmaShop's main menu. I found these:
What is "Show File Browser" supposed to do?
(from https://code.google.com/p/libhsplasma/issues/detail?id=39)
I am trying to debug an age crash, but unfortunately I cannot even open the log files generated by Uru -- PlasmaShop just crashes. When I open it in the terminal, I see an error printed to stderr:
terminate called after throwing an instance of 'ST::unicode_error'
what(): Invalid UTF-8 sequence byte
Aborted (core dumped)
Uru itself is fine with non-UTF-8 strings appearing in various places (and at least PyPRP ages created by German age builders frequently use non-UTF-8 names for Uru game objects), so PlasmaShop should also be able to cope with this.
If the first page in an age file is not found, the rest of the pages will not load.
Using Ctrl-W to close the active window in PrpShop is inconsistent and rarely works as expected. Nothing happens when pressing the key combination, however, clicking on any item (even the currently-selected item) in the tree view causes the next Ctrl-W to close the active window, at which point it returns to being an inactive command. Highlighting another item will once again re-enable a single use of Ctrl-W. Changing the active window in the MDI area has no effect and does not enable Ctrl-W to function.
Manually choosing Close from the Window menu works correctly every time.
PrpShop currently has PRC viewing support, but will not save changes.
Since PrpShop's PRC support is intended to replace PageEditor, the PRC
saving support should be added back in.
(from https://code.google.com/p/libhsplasma/issues/detail?id=2)
PlasmaShop installs directly into the CMAKE_INSTALL_PREFIX
instead of the the bin
subdirectory thereof.
It should be possible to select a Python sourcecode file when selecting what to add to a pak file. The sourcecode must then be compiled with an appropriate version of the Python compiler before being added.
This is, I think, the last feature missing from PlasmaShop 2.
Drawable Spans are currently nearly impossible to modify using prpshop.
Could a gui be created for doing this?
Opening Garrison_District_grsnWallRoomClimbingPhys.prp in PRPShop and saving it, will cause the Wall game seats activators to stop working.
The current latest release is almost 3 years old and has critical bugs related to shattering PythonFileMods and silently breaking cross-page references. These have been fixed in the latest builds of HSPlasma.
What steps will reproduce the problem?
What is the expected output? What do you see instead?
I can not see the full window because it is higher than my screen (1366x768). The "text" properties get cropped by the panel at the bottom.
What version of the product are you using? On what operating system?
Latest development version, Debian testing 64bit.
Please provide any additional information below.
This is the 15 inch wide-screen of a laptop, so it's not really that small (even Eclipse works fairly well).
(from https://code.google.com/p/libhsplasma/issues/detail?id=50)
When extracting a pak file, the pyc files should automatically be decompiled (and the temporary pyc files be removed) - people should not even notice that the pak actually stores compiled Python files. After all, the list of files shown by PlasmaShop also uses the ".py" file ending, and a corresponding icon.
It seems in version 233 of PRPShop that plMipmaps are not being loaded in ages with negative sequence prefixes (IE Ages like GUI). However it's a bit random, some mipmaps are loading while others are not. Open bkBookImages as an example.
The OpenGL include "GL/gl.h" is incorrect on a mac.
CMakeLists.txt uses find_package(HSPlasma REQUIRED)
, but PlasmaShop does not provide this script.
When the install finishes, Windows immediately starts the "I'm closing everything so I can restart" process without any interaction from the user. If you cancel this process, only then can you see the intended restart choice screen for the user, but by this point Windows may have already forced some applications closed. Very unfortunate.
Confirmed by both myself and Briggs.
If, after cancelling, you then select the "Yes, please restart now" and click "Finish", nothing happens. No restart.
The QPlasmaDocument implementation for font files (p2f) is missing.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.