class aff2aw(p3d):
""" empty holder p3d that should download all other packadges """
config(
display_name = "AFF:Second Anterean War",
platform_specific = False)
require('code')
require('data')
mainModule('c')
as you see it contains no code and is very small and probably will not change much.
now if i run this file:
panda3d aff2aw.p3d
it gets wrong version of the code package - v0.1 while in my xml i have 0.3 and 0.4 . Why does it get wrong version? how can i require(‘code’) the most recent version and always force a check?
That contains name=“code” version=“0.1” , how would I make it point to the most recent version always, and re-download content.xml every time to check?
(1) You misunderstand the purpose of the “version” string. The “version” string does not encode a version number that you should increment with each new release; it rather encodes a unique series of versions that are fundamentally incompatible. If your p3d file references package code version 0.1, it will never attempt to download version 0.2, because that’s a different series. It will, however, automatically download any updates you publish to version 0.1. The ppackage utility will automatically handle the internal versioning necessary to manage this, each time you republish the code package.
(2) panda3d by default doesn’t contact the server host at startup to check for new versions available. If you want it to do this at every launch, use the -f parameter.
Thanks alot! That explains it. So the only other missing peace to generate patches to the different packages it to add -p to ppackadge and never change the versions?
You generally only want to apply -p whenever you are sure you have a valid release that is ready for the public. While you are doing internal Q.A., you will probably not want to apply -p to each release. (Once you apply -p, it will forever add a new patch version to the patch chain, which users will have to download and patch through to get to the most current version. So there is an advantage to do this only for versions that you really want your users to have.)