Title    : Magic Acorn for Hexen 2 v. 1.11
Filename : acorn.zip
Version  : 1.0
Date     : 12/3/97 
Author   : Brian "The Tick" Waak
Email    : waakb@manton.com
Credit   : Eric Hobbs for HCC, which made the first versions of this mod possible,
           well before Raven released their compiler.

           Neal Miller for the idea, and more playtesting with weird cases than I'd
           ever do in my wildest dreams- launching a tree from a catapult?! :)

           Raven Software for the coolest game on the planet- I missed my inventory
           in Quake, and the hub system too! Now I can remake my elemental levels,
           the way they were MEANT to be made... you guys are too cool for words.

           and of course, id Software, the Gods of cyberspace, the Creators of the
           greatest gaming engine the world has known, the mighty Quake... soon,
           to be Quake 2! None of this would exist without you guys.


Type of Mod
-----------
HexenC   : yes
Sound    : no
MDL      : yes


Format of HexenC
----------------
unified diff  : no
context diff  : no
.hc files     : yes- with comments!
progs.dat     : yes


Description of the Modification
-------------------------------
Allows use of the Magic Acorn, an item capable of growing a Mighty Oak Tree (well, a tree
anyway :) in the blink of an eye! Well, okay, not THAT fast, but pretty fast. Toss the Acorn
into an open patch of ground, and its magic will cause a tree to spring up before your very
eyes! Use it to spruce up an empty courtyard (so to speak), as an obstacle (or even total
block) to enemies, or as a boost to reach places you wouldn't otherwise be able to reach! But
beware, for the Acorn's trees are unstable, and after a short while begin to wither and die,
returning quickly to the ground from whence they came. The enemy may be trapped in a small
room by your tree, but it won't be there forever, so do your work quickly!

To place an Acorn in a level, just put an entity of class art_acorn somewhere. Of course, this
means you can also type "create art_acorn" in the console to make one in a level that didn't
have one before, and pick it up normally. Impulse 43 will give you 20 Acorns along with all the
other types of artifacts.

To actually USE an Acorn, once you have it, isn't as easy as using the other items, though.
I've tried several things, but can't get the Acorns to show up properly in the inventory
with the other items. This means that you have to use the "quick-inventory" impulse, which
uses the item without switching the inventory to point to it. In this case, that's impulse 115.
My advice is to bind a key to this, if you intend to use the Acorns much. As a helper for
the fact that you can't see how many Acorns you have (that's what _I_ use the inventory
for the most, anyway), each time you use one, the game prints a quick message telling you
how many you have left. This is intended to be a temporary workaround until I CAN get them
to show up in the inventory, if I can- as far as I can tell, Raven hardcoded the inventory
into the EXE file, to 16 items. If that's not true, and there is a way to get them to show up
in it, a future version of the Acorn will be exactly like any other item. But for now, that's
how it is.

Getting a boost from a tree is fairly easy- just stand on it while it grows. It'll push you up.
Given how big trees are, the eventual height you gain from this is pretty substantial. It's easiest
to get on top of the tree if you just walk over to where it hit, normally. Running and jumping to
get on top of it are also possible of course, but it's much harder to stop yourself in the right
spot that way, and can sometimes get you stuck in the tree while it grows, if you hit the wrong
place.


How to Install the Modification
-------------------------------
The ZIP file includes the progs.dat and copies of the modified HC files, with comments
pointing out where I made modifications, and explanations of the reason for them.

To use the progs.dat, go to your HexenII main directory.
Make a subdirectory and call it whatever you want- I use "Acorn".
Then run HexenII adding "-game Acorn" (or whatever you called it) to the command line.

To use the modified code, start with the HexenC code base, which you get with the official
compiler. If you want to use this patch as a base, just copy the included .hc files
over the ones with the same names in your progs directory; otherwise, you'll need to
look through the included files for the "Acorn Mod" comments.

I put "Acorn Mod code start" at the beginning of each modified code block, and
"Acorn Mod code end" at the end of each. The code between them is mine, the rest
is unchanged from the original HexenC base. I also made comments explaining what
my modifications were, and why I made them. Just add the Acorn code where appropriate,
and all should go smoothly. You guys making Siege (a VERY cool idea IMO- I only
play CTF/TF in Quake) might want to put something like this in; think of the strategic
possibilities of being able to place trees wherever... to say nothing of the ability
to boost yourself over the enemy wall!


BUGS
----
It's possible to get stuck in a tree while it grows, though this was mostly fixed when
I added the ability to be boosted by a growing tree. It's still possible to get stuck
if you and the tree get in exactly the wrong positions, however. Sometimes you'll get
"unstuck" naturally when the tree reaches full size, but other times (like when you're
actually inside the trunk) the only way out is to destroy the tree, or wait for it to
shrink down by itself. And of course, if you happen to be standing under it when it
shrinks away, you'll be stuck for a second (or less) while it passes through you- but
I don't think that's too bad a thing, since you get unstuck as soon as the tree isn't
overlapping you anymore, and especially when it vanishes. I'm trying to fix the other
ways of getting stuck, but still don't know what causes them, so it's slow going at best.


CHANGE LOG
-----------
-Made Summoning Stone spawn a tree (like in the beginning of Blackmarsh) instead of
 an Imp Lord. First Acorn! Yaay! :)

-Made tree start tiny (nearly invisible), and grow to full size. Tinkered with growth
 rate.

-Gave tree a specific lifetime, so that if the player (or something) doesn't kill it,
 it'll kill itself after 100 seconds. Made it shrink down to nothing instead of just
 exploding- thought that was cooler. :)

-Added delay to tree first spawning, so it waits half a second before starting to
 grow. Helps players who want to stand on it and use it as a lift.

-Changed some strings, so the game calls it a Magic Acorn instead of Summoning Stone.

-Eric Hobbs released versions of BSP, LIGHT, and VIS for Hexen 2, so changed the Acorn
 to work as a separate item instead of replacing the Stone. Works fine except for not
 showing up in the inventory, as explained above.

-Raven released official utils, after version 1.11. Began changing tree to work under
 new version, compiled with official compiler.

-Version 1.11 code showed me how to correct the bug that stopped trees from spawning
 on slopes, and I did so.

-Fixed non-solid treetop bug! Yaay! This one was vexing me in a BIG way. 

-Added code to boost entities which are on top of tree as it grows.

-Tinkered again with growth rate, and delay before growth starts. Slowed it down to aid
 people in getting on top of it in time.


Technical Details
-----------------
If you're that interested, feel free to read the code- that's what it's there for. :)
I already explained the bugs I'm aware of, if you find more, feel free to email me at
waakb@manton.com. If you have any other suggestions, I'm happy to talk, so email me!

This progs.dat was compiled using Raven/Activision's official HCC compiler, so it works
only on 1.11 servers, and only with the retail version of the game.

This material is not made or supported by Activision, so don't contact them if you have
problems with it. Contact me; I'm the one who made it! This is common sense.


Author Information
------------------
I've created:

- The OvinoImp mod, which should be available from the same servers as this one.

- The Orb of the Meek, which was released with the last version of the Acorn.

- Lots of other things for Doom, Heretic, Hexen 1, and Quake, most of which were
  just circulated among friends and never released. If anybody played the "Chaos
  Fountain" level for Hexen 1, that was mine. And the reason I have the specific
  clause about CD_ROMs below- I didn't know until a friend told me, that there
  was a CD-ROM with my level on it! I WOULD like to be asked next time, if there
  is one.


Copyright and Distribution Permissions
--------------------------------------

All title, ownership rights and intellectual property rights in this mod are owned by Activision 
or its licensors and are protected by the copyright laws of the United States, international
copyright treaties and conventions and other laws.

You can't own, sell, rent, lease, or license this mod without the permission of Activision,
so don't ask me to do so unless they told you to (which would be nice of them, if somebody
does want to :).

Authors MAY use this modification as a basis for other publically available work, except as
noted above.

This file MAY be distributed on Bulletin Board Systems or on the Internet, PROVIDED that
this file IS included and NOT MODIFIED.


Availability
------------

This modification is available from the following places:

FTP   : ftp.cdrom.com
