home *** CD-ROM | disk | FTP | other *** search
-
-
-
- QuBE Version 0.2
-
- Cheap Quake Binary Editor
-
- Copyright 1996 by Sean Werkema
-
-
-
- Disclaimer & stuff -----------------------------------------------------------
-
- I make no guarantees on the quality of this code. You can freely use
- it, modify it, tweak it, whatever you want, just as long as you obey
- one basic command: Whatever you create, don't call it QuBE. QuBE is
- my name for this morass of code, and it stays mine. Other than that
- you can do anything you damn well please.
-
- This code is copyrighted only so that nobody else will copyright it;
- I wrote it, and I don't want to be restricted from my own code.
-
- Contributors:
-
- Sean Werkema Started QuBE, wrote 99% of it so far.
-
- Guy(s) who wrote that .PAK patch Wrote that .PAK patch
-
- Raphael Quinet, Oliver Montanuy,
- Brian Martin Authored the Unofficial Quake Specs
-
-
-
- Using it ---------------------------------------------------------------------
-
- Currently it does little more than display stuff in Quake's .BSP and .PAK
- files. Generally to do it you have to be a bit of a hacker, so this doesn't
- include much in the way of documentation because I can assume you know what
- the hell you're doing. If you don't, don't worry, because I'm trying hard to
- clean up the QuBE system to the point where you can edit Quake without
- knowing squat.
-
- QuBE [options] filename
-
- -b BSP: Display the hull BSP tree in a .BSP file.
- Example use: qube -b test1.bsp
- If you're not a hacker, this probably is useless.
-
- -dl EdgeList: Display the hull edges, unordered.
- Example use: qube -dl test1.bsp
- If you're not a hacker, this probably is useless.
-
- -el EntityList: Display entities as a printed list.
- Example use: qube -el test1.bsp
-
- -ex EntityXtrct:Extract entities as a printed list to a file.
- Example use: qube -ex thing.txt test1.bsp
-
- -er EntityRplc: Replace entities in a .BSP file with those in a text file.
- Example use: qube -er thing.txt test1.bsp
- Note that the format of the text file is very loose; QuBE
- will be more than happy to reformat your input to make
- Quake happy. As long as your input is relatively similar
- to id's own, you're fine.
- Note also that -tx and -tr can be used for the "monster
- patches" that everyone is talking about. You can add and
- remove as many things as you like, anywhere.
-
- -f File header:Display the file header of a .BSP file.
- Example use: qube -f test1.bsp
- If you're not a hacker, this probably is useless.
-
- -h Help: Displays poorly-written help.
- Example use: qube -h
-
- -g Graph: Display the level graphically (SVGA/X-Windows only).
- Example use: qube -g test1.bsp
- This currently can only display the entities and vertices
- (sorry). A better map will be added as soon as I can
- figure out how the hell everything is stored.
- You can use the mouse to highlight things, the arrows
- to move around, and + and - to zoom in and out. N
- and P will move from one thing to the next without the
- mouse. You can hit Esc to exit.
- Editing of the entities was originally planned for
- this version, but I ran out of time: What can I say?
- Look for that and a better windowing system in QuBE 0.3.
-
- -ka PicAdd: Add/create/update file(s) in a .PAK file.
- Not yet implemented. Please don't complain; I can
- only code so fast.
-
- -kl PakList: List the pictures in a .PAK file.
- Example use: qube -kl id1.pak
-
- -kx PakXtract: Extract file(s) from a .PAK file.
- Example use: qube -kx gfx.wad id1.pak
-
- -kX PakXtract: Extract *ALL* the files in a .PAK file.
- Example use: qube -kX id1.pak
- You'll need a lot of disk space for this option.
-
- -ka PakAdd: Add a file to a .PAK file
- Example use: qube -ka quake.exe id1.pak
- Yes, I realize that's a dumb example. But it
- works.
-
- -pl PicList: List the pictures in this file.
- Example use: qube -pl test1.bsp
-
- -px PicXtract: Extract picture(s) to a BMP file.
- Example use: qube -px sky4 1 test1.bsp
- This example if used on TEST1.BSP will extract
- the 1/1 version of DUNG0_4.
- Example use: qube -px co* 4 test1.bsp
- This example if used on TEST1.BSP will extract
- the 1/4 versions of cop1_7, cop1_5, cop1_6,
- cop2_5, and cop3_4.
- Example use: qube -px co* * test1.bsp
- This example if used on TEST1.BSP will extract
- the 1/1, 1/2, 1/4, and 1/8 versions of cop1_7,
- cop1_5, cop1_6, cop2_5, and cop3_4.
- The extraction bug that plagued the earlier 0.2
- is gone.
-
- -pX PicXtract: Extract all pictures to a BMP file.
- Example use: qube -pX test1.bsp
- You'll need a lot of disk space for this option.
- "-pX" is equivalent to "-px * *".
-
- -v Verbose: Be more explicit when doing stuff.
- Example use: qube -v -kd * id1.pak
- This option only affects some other options, not all.
- It will be more powerful as soon as I can code more power
- into it.
-
- -xl VertexList: Display the vertices in an unordered list.
- Example use: qube -xl test1.bsp
- If you're not a hacker, this probably is useless.
-
- -! XtractAll: Rip a .BSP file into its 14 component sub-structures.
- Example use: qube -! test1.bsp
- This option is definitely for hackers only, especially
- since there's not yet a way to put the file back together
- again.
-
- Compiling it -----------------------------------------------------------------
-
- To just compile everything normally, comment in the appropriate
- version for your system, and just type
- make
-
- Also, if you need to clean out old compilation files,
- make clean
-
- Please note that the X-Windows version isn't fully ready for
- use yet.
-
- Bear in mind that you'll need a little-endian system to make
- this stuff work. If you need to know what kind you have, try
- compiling endian.c and running it. It should compile in any C compiler
- (even really old buggy ones) and when run will tell you whether you've
- got a big-endian system or a little-endian system. All x86-based PCs are
- little-endian. MIPS chips also seem to be little-endian. SPARC chips and
- 680x0 chips are not, and the PowerPC probably isn't either.
-
- I don't know if this will compile for you. It compiles for me, and I'm
- using Turbo C++ 3.0 (but only as an ANSI C compiler; I don't really like
- C++) and GCC 2.5.something (on a DECStation 5000/33 running Ultrix). I've
- not tested it in Linux yet (I know, I know) but it should compile without
- a hitch there.
-
- Yes, I know I didn't include everything necessary for the *full* DOS
- compile, namely the sources to keyboard.obj, svgagrph.obj, svgamous.obj,
- and f08nsans.obj. I'll include these after I clean them up a bit; I wrote
- them a few years ago and they feel a little dusty. So for now, just live
- witht the .OBJ files.
-
- The UNIX version uses X-Windows to do its graphics. It's a little funky
- right now, because I should be using true event-driven code, but it works.
- I've used it in X11R6 no problem (or was that X11R5? I dunno; there should
- be no problems in either version).
-
-
-
-
- Ramblings --------------------------------------------------------------------
-
- Bear in mind that I have a lot of revision planned for this, so don't get
- too used to any given feature, because I can almost guarantee that it will
- change.
-
- The X-Windows routines in this version probably won't work. I haven't tested
- them, and since I've gotten so many requests to release this I don't plan to
- until the next version (sorry).
-
- Why am I writing this, when I know that id will release their own tools?
- I dunno. I just want to see how they laid out the files, I guess. I
- don't guarantee that this stuff will work for you; I don't guarantee it'll
- work for me! It was just a fun hack, and if you want to use it, then use it.
-
- As always, I'll upgrade it as time permits.
-
- I've now released the source, since it's now semi-presentable; it isn't great,
- but it does work, and I'll continue to clean it up as I can.
-
- - Sean Werkema
- stw113@psu.edu
- 3/7/1996
-
-