Page 1 of 5

The Great Renumbering Plan

PostPosted: Tue Apr 06, 2010 5:15 am
by Robert The Rebuilder
In case you haven't heard, there is a problem with Ahra Pahts' shell numbering scheme. All ages should keep their page numbers below 224 because of the way that Plasma stores the age sequence prefix and page number in the same variable. Consequently, Ahra Pahts's pages 'bleed' into the next couple of ages.

To fix this, a new page numbering scheme was proposed. This would require a plan of action involving all of the shell developers, something like the following:

  • Develop a script/application based on libHSPlasma that would renumber the PRP files. This utility could also decompile and re-compile the PRPs, making them smaller and decreasing the loading time.
  • Execute the script on the latest release of Ahra Pahts
  • Fix the page numbers in the .age file and the Python paging scripts
  • Release the renumbered Ahra Pahts
  • Update all shell-related Wiki pages to reflect the change
  • Write a Python script for Blender that renumbers all geometry with one page number to a new page number
  • PM the script to each shell developer who needs to renumber their shell, i.e. shells 224-240, 301-340, 401-440

We could also use this as an opportunity to 'shake the tree' and see if there's anyone who would like to incorporate their shell into the next release, or if they no longer want their shell. I could go so far as to say that anyone who doesn't read their PM in 6 months will lose their shell, since we have many former members that have moved on (and few remaining available shells).

Any comments or suggestions?

[EDIT: Changed 'pack' to 'compile']

Re: The Great Renumbering Plan

PostPosted: Tue Apr 06, 2010 5:45 am
by Aloys
As I mentionned earlier: I approve. :) If it needs to be done (and if it can be done in a clean and practical way) then it should be done.

This utility could also decompile and re-compile the PRPs, making them smaller and decreasing the loading time.

That sounds great to me. Loading times are always something worth optimizing in this Age.

We could also use this as an opportunity to 'shake the tree' and see if there's anyone who would like to incorporate their shell into the next release, or if they no longer want their shell. I could go so far as to say that anyone who doesn't read their PM in 6 months will lose their shell, since we have many former members that have moved on (and few remaining available shells).

That might indeed be a good opportunity; to see who's still onboard and 'clean up' what can be. Although there is always the possibilty to see long-gone people come back and claim their shells again. Just two weeks ago Egon came back after being gone for well over a year.

Re: The Great Renumbering Plan

PostPosted: Tue Apr 06, 2010 6:28 am
by Kemy
Sounds fine, but my Shell will not be ready for thee next release of Pahts.

Re: The Great Renumbering Plan

PostPosted: Tue Apr 06, 2010 6:59 am
by Aloys
That's ok, at this point we don't really know either when the next release of the Age will be. :)

Re: The Great Renumbering Plan

PostPosted: Tue Apr 06, 2010 1:44 pm
by Paradox
While we're discussing packing and improvements, I've noticed that most shells include the textures for the shell walls, floor, stairs, etc. in their own pages. This means that the same texture is stored almost 200 times. I think it would be a good idea if we're repacking to set as many refs as possible to the Age-global Textures.prp.

As far as how much work is involved, libHSPlasma can easily do this, and I can write up a Python script to update all the prp files in a given directory.

Re: The Great Renumbering Plan

PostPosted: Tue Apr 06, 2010 3:14 pm
by Robert The Rebuilder
Paradox wrote:While we're discussing packing and improvements, I've noticed that most shells include the textures for the shell walls, floor, stairs, etc. in their own pages.


I just used prpgrep on the latest Ahra Pahts release, and the only shells that have mipmaps in the PRP are those that are completed - all the rest don't contain any textures. Do you have the latest version?

Paradox wrote:As far as how much work is involved, libHSPlasma can easily do this, and I can write up a Python script to update all the prp files in a given directory.


That would be great! Here's a mapping of the shells that need to be renumbered, their original page number, and their new number:

Show Spoiler


[EDIT: Included shell 223 to be renumbered]

Re: The Great Renumbering Plan

PostPosted: Tue Apr 06, 2010 3:28 pm
by Paradox
Robert The Rebuilder wrote:
Paradox wrote:While we're discussing packing and improvements, I've noticed that most shells include the textures for the shell walls, floor, stairs, etc. in their own pages.


I just used prpgrep on the latest Ahra Pahts release, and the only shells that have mipmaps in the PRP are those that are completed - all the rest don't contain any textures. Do you have the latest version?

No, I most definitely have a crazy mix of files from old versions, new(er) versions, my own versions, and some sample shells. If it's not an issue in the latest shells, then that's one less thing to worry about. :P

Re: The Great Renumbering Plan

PostPosted: Tue Apr 06, 2010 8:44 pm
by Deledrius
This definitely sounds like a good idea to me.

(And reminds me to get back to work on my shell)

Re: The Great Renumbering Plan

PostPosted: Wed Apr 07, 2010 3:24 am
by diafero
Sounds like a good plan, I am up for testing if the need arises :)

Maybe you could also have a look at two prp file issues I noticed in Pahts - though I am not sure whether the old one still applies:
viewtopic.php?f=22&t=2376
viewtopic.php?f=22&t=4261

Re: The Great Renumbering Plan

PostPosted: Wed Apr 07, 2010 5:24 am
by Robert The Rebuilder
We should remove those DistNSubM pages from the age - they no longer apply.

And I'll re-export Prin Pahts; the PRP probably came from an older version of the Blender plugin that erroneously generated the base class instead of one of the subclasses.

Another thing you may have noted: when decompiling and recompiling the CrtLrgBlue page, it complains about references to the lpc400 scene object (a link in point) that does not exist in the page. We'll need to remove those references.