packpanda.py and packp3d.p3d still missing

The packpanda script is still missing in the latest snapshots builds. As well as packp3d.p3d. Can I ask to add packpanda script so i wont have to have 2 panda versions?
Actually, there IS direct/directscripts/packpanda.py file, but it isnt located in the command line.

The latest version of packp3d.p3d can be acquired from runtime.panda3d.org/ . Packpanda was intentionally removed.

What? Why?
Doesnt the manual page say that the new tools are still incomplete? So why remove the old one now?

Also, what is the reason the buildbot doesnt include the missing p3d files?

And can you remind me what i need to add to Path after I put the packp3d.p3d in the bin folder? cmd doesnt recognize it as a command now.

Run it using panda3d.exe.

The buildbot doesn’t include them because that’d give the impression that the tools are built daily, like packp3d_dev.p3d (from runtime-dev.panda3d.org ). People who use the buildbot can get the tools from the runtime website.

That said, you really don’t want to use packp3d_dev.p3d unless you really know what you’re doing. Unless used in combination with pdeploy_dev.p3d with the -s flag (which makes it independent from the runtime-dev build), it will update the Panda3D installation every day.

I removed packpanda because it is buggy. If you want to use pdeploy, I advise waiting for 1.7.1. If you don’t want to wait, use packp3d_dev.p3d followed by pdeploy_dev.p3d with the -s flag to decouple it from the daily rtdist domain.

If you just want to distribute your application as .p3d (which is the recommended way to do it), use packp3d.p3d from runtime.panda3d.org.

What do you mean?

sorry, dont really get it.

Worked for me, but my point is, shouldnt you have removed it after there was a stable replacement for it?

We both know we can’t even guess when thatll happen. I dont have a deadline, but I wouldnt really like to wait for uncertain time to be able to release anything.

First time I heard of those. Is the standalone option fixed on those ones? :slight_smile:

Run the .p3d using panda3d.exe, like you would run any standalone .p3d file:

panda3d.exe path/to/file.p3d

There’s hope that it will happen soon.

Those are special development versions (for testing only) of the tools, updated daily from latest CVS. And yeah, the standalone option should be fixed.

Just be sure not to distribute any .p3d files packaged using the _dev tools.

Packpanda has been my only way to let people without Panda and Python play my games. What do I do now?

I was thinking of an installer for one of my projects and a standalone exe for the other. I so understand that an installer is a regular exe installer and the standalone is a regular exe. Can I distribute the exes generated by them? (why not?)

Look, the thing is - any .p3d built with the _dev tool will be built against runtime-dev.panda3d.org. Which means that whenever you run the .p3d in any way, it will update the system daily, which is unacceptable for a distributed app. Only if you temporarily want to test something against the daily build.

This doesn’t apply when using pdeploy installer -s because that downloads the rtdist and loads it locally.

Ill assume it doesnt apply to standalone as well.

Another question, for one of my projects I dont want panda3d to write anything out of the self-contained executable. Is that possible? It kinda breaks the whole point of self contained application for me if it will save files to Users\AppData…

And I dont remember running pdeploy or packp3d through panda3d.exe. What happened?

And finally, I got a 3 kb p3d file :unamused:

cd c:\Program Files\Panda3D
panda3d.exe c:\Panda3D-1.7.1\bin\packp3d_dev.p3d -o myapp.p3d -d c:\Users\Me\Desktop\MyAppFolder

It does!

uhhhhhh…
I give up

Does it mean that if you make an installer with -s, and it uses some packages on your site, it doesn’t update them locally when you update them on the site?

Any games produced with pdeploy -s will not connect to the internet at all. pdeploy -s will grab the packages from your site and include them in the installation, and won’t attempt to update them.

If that’s not what you want, don’t use -s.

Thank you. So, what is the best way to develop updates to applications builded with -s?

Currently, you’d just make a new installer that would replace the previous game when installing.

Ok. But, isn’t it reasonable to add (if it isn’t too laborious) an option to pdeploy which acts like -s (i.e. it adds the packages to the installer) during the installer creation, and it acts like without -s after the installation (i.e. it updates the packages if needed)?

The problem (imho) is piracy. A game developer could want to use the packages system of Panda to provide updates to users. But, in order to do that, he has to give a “minimal” installer because of the impossibility of using -s. But, this way, all pirated copies will use bandwidth of his server to download the “first copy” of the packages. Instead, with an option like a “modified” -s, pirates will have the first copy of their packages inside the installer (which they download with the “alternative” channels), and this reduces the bandwidth on the hosting server. So, in order to reduce damages of piracy (in this case, bandwidth), you’ll be penalized because you can’t use the packages system; instead, with an option like an “upgradable -s”, you can use that system and you aren’t penalized so much because of pirates. Is that a faulty reasoning?

I’ll explain why making a compromise would be difficult. When specifying -s, the packages are installed in the game directory, which is read-only on most systems. When not specifying it, because it will have to download the packages, it will download them into the per-user Panda3D cache directory. Because this is per-user, this cannot be pre-installed at installation time.

It’s possible to make something that could work, but I don’t think it’s worth it. I don’t really understand how your privacy concern would be solved if this would be supported. Are you saying that you’d only put a patch chain on your packages host, and omitting the original base packages (as those would only be shipped on the CD)?

I do think that we can always add an option to pdeploy to generate a patcher - an installer that could contain a patch chain for upgrading existing installations made with pdeploy -s.

Would it be a hacky approach to just generate an installer with pdeploy and then just put the installed folder in a zip archive? Because thats what i do right now with Packpanda and the folder is 300 mb. From what i read a pdeploy installer is also created by an optimized version of panda.

It’ll work, but only on Windows and Mac OSX, and given that you do not modify the directory structure.

It’s not the most elegant thing to do, but if you think that’s a better way to distribute your game, then you could do that.