PK3 Creator - My new application :)


(Flippy) #1

Hi!

In addition to ETScript (which I may or may not update soon) and the half-finished “Texture List extractor”, I have decided to start another application for W:ET mappers.

This time I decided to make an application that makes it really easy to create your pk3 files. This will be aimed mainly for “newbies” who don’t really know what goes in a pk3 file and where to put everything (how are they supposed to know “mapname.script” goes in “maps” and not in “scripts”???), but I suppose it can be useful for old dogs too…!

The idea is that you can create “Pk3 Project files” which basically contain information about your PK3 (which files it contains in which folders). My application can save and load these projects so you can stop and come back to it at a later time easily.

Here is a very early screenshot:

As you can see, everything is ordered in TabPages.
There’s a tabpage for “Map Files” (BSP file, Lightmap folder, Tracemap, etc…), there’s a tabpage for Map scripts (script file, objdata file, Loc file, etc…), textures, shaders, sounds, levelshots etc… And a Misc category for readme files or other things you may want to put inside your Pk3…

If you have no clue what to put in a pk3 file and where it belongs, my application can help you.
For one, you can see quickly what you need to put in your pk3, because my program will aks you for the BSP file, lightmap directory, arena file, etc… If you don’t know what each file is and where you can find it my program can offer you some help on that too.

Secondly, even if you have no clue where your arena file goes (was it maps or scripts?), my program handles it for you so you never have to worry about that again…

When you are finished you can export your project as a PK3 file with the correct folder layout etc…

Don’t expect any releases from this soon, it’s not nearly finished, but I’m working on it…!


(nUllSkillZ) #2

Also a great help.
Very good work.


(IndyJones) #3

thanks, gonna be usefull on my next project.


(Kic) #4

Isn t here similar application - packspace and Pk3 man ?


(IndyJones) #5

i don’t think it’s reading BSP to check what files you need to include.


(Kic) #6

Yes Indy you are right


(Miki) #7

Great app! (screenshot looks nice too, And its in VB.Net, right? ;))


(Flippy) #8

Did you mean pakscape perhaps? I know that program but all it does is create the pk3 file in the end, you still have to manually add all the files and folders and remember where to put everything.

That is actually my other project, I am not sure yet if I will include that feature (it will only be for models and textures then) in this application, but I might if it works well!


(aaa3) #9

especially if aimed at newbies but otherwise too, u might wanna include a very crude editor for the “lesser” text files (arena and objdata; preferably with some default layout and descriptive sample text , maybe with colour highlighted places where u should enter custom content), may be handy to have it along the rest (asks for it and puts to right place).

//ah, edit: is it also packs it or just creates the directory in proper layout? coz if yes, dont forget to incl. settings for compr. quality, maybe lowest/fastest/idk and ultra/extreme/idk will be enough, first for dev and last for releases


(Flippy) #10

[QUOTE=aaa3;187278]especially if aimed at newbies but otherwise too, u might wanna include a very crude editor for the “lesser” text files (arena and objdata; preferably with some default layout and descriptive sample text , maybe with colour highlighted places where u should enter custom content), may be handy to have it along the rest (asks for it and puts to right place).

//ah, edit: is it also packs it or just creates the directory in proper layout? coz if yes, dont forget to incl. settings for compr. quality, maybe lowest/fastest/idk and ultra/extreme/idk will be enough, first for dev and last for releases[/QUOTE]

I was planning that indeed, but not really as a text editor… For example, the arena file just has a few things you need to specify such as mapname, description, position in loading screen etc… I can just show a window with all these settings so the user can type them in textboxes, and the arena file will be auto-generated.

My idea was to have my program also actually pack everything in a pk3 file, but I have never done that before so I don’t know if I can pull that off (I think so though). So I have no idea if and how I can specify the compression quality etc, but if I can I will certainly add it.


(rambo13) #11

flippy u could try to add some password protection opinion to .pk3, so every noob cant decompile, make few changes and then claim it as his own…


(Kic) #12

I dont agree with you, decompiling maps is good for learning and good mapper dont will use some part of map without give credit or get " Yes " from maker . And everyone recognize if map is stolen and a bit reworked


(IndyJones) #13

if u add password to pk3 (wich iz zip) - et won’t be able to read it. also, adding compression settings is pointless. don’t even try to work on it, as it’s useless. just make sure your program read BSP and copy necesarry files from etmain, and that’s all.


(Flippy) #14

No, I cannot and will not add password protection to the PK3 files.

Why is compression settings useless? I often notice a large difference in filesize with the worst and best compression settings in winRAR (which I have always used to create pk3’s). 8 MB vs 10 MB is certainly not a useless difference if all you need to do is specify “Best compression” in the options of my program :stuck_out_tongue:

So far, my program asks you to select the BSP file first. It will then automatically add (if available):

  • lightmap folder
  • tracemap
  • script file
  • objdata file
  • arena file
  • loc.dat file

It does this all using simply the name of the BSP file, because it’s my understanding that all those files must have exactly the same name as the BSP file (except for a “_tracemap” and “_loc” prefix on those two files).
That is correct right?!

It also loads a list of all used textures (using the same method as in my other program, which I might not release as a separate program anymore, it fits much better in this one), models and their shaders, although it still makes some errors there (it adds common/clip etc for example). But it is easy to browse through that list later to remove the wrong textures.


(IndyJones) #15

i just compared normal compression for italyfp2 - 19046924 bytes, and highest - 18977045.
diffrence - 69 879 bytes. is it worth the work? i doubt it.


(ailmanki) #16

~69kb is not enough for the additional time slow machines will have to load those files…

if somebody has time to test the thing with pk3 and shaders … I guess there will be some surprise …

@flippy
also check if shaders are defined more then once…

oh and maybe have a look at this nice thing (from Silicon Slick):
http://www.splashdamage.com/forums/showthread.php?t=6100


(aaa3) #17

im not into programming but if i imagine it right, u just have to work with external dlls (2, 1 for packing and 1 unpacking) and in the main program u can rely just on calling functions, and it might be that simple to change settings (e.g. compression quality) as changing some parameters of the function.

or, if not possible, u might find some command line packers (i bet plenty of them are out, with varying freedom in their licenses) which allow redistribution and then just launch it from the program with appr. switches.
like q3map2build launches q3map2.exe for example


(th0rn3) #18

Btw, dont forget to add a clickable campaign map for setting coords


(IndyJones) #19

yeah, that would be sweet. you need to resize that map to 1000x1000 to get proper coords.


(kamikazee) #20

[QUOTE=IndyJones;187376]yeah, that would be sweet. you need to resize that map to 1000x1000 to get proper coords.[/QUOTE]That, or you could do some maths to calculate the location of the spot you clicked by grabbing the mouse coordinates.