Merge branch 'master' into nhmall-booktribute
Conflicts: sys/winnt/Makefile.msc
This commit is contained in:
3
dat/.gitignore
vendored
3
dat/.gitignore
vendored
@@ -5,6 +5,9 @@ rip.xpm
|
|||||||
pet_mark.xbm
|
pet_mark.xbm
|
||||||
quest.dat
|
quest.dat
|
||||||
rumors
|
rumors
|
||||||
|
bogusmon
|
||||||
|
engrave
|
||||||
|
epitaph
|
||||||
x11tiles
|
x11tiles
|
||||||
*.lev
|
*.lev
|
||||||
spec_levs
|
spec_levs
|
||||||
|
|||||||
306
dat/bogusmon.txt
306
dat/bogusmon.txt
@@ -40,6 +40,39 @@ harpy
|
|||||||
lion-dog
|
lion-dog
|
||||||
rat-ant
|
rat-ant
|
||||||
Y2K bug
|
Y2K bug
|
||||||
|
angry mariachi
|
||||||
|
arch-pedant
|
||||||
|
bluebird of happiness
|
||||||
|
cardboard golem
|
||||||
|
duct tape golem
|
||||||
|
diagonally moving grid bug
|
||||||
|
evil overlord
|
||||||
|
newsgroup troll
|
||||||
|
ninja pirate zombie robot
|
||||||
|
octarine dragon
|
||||||
|
gonzo journalist
|
||||||
|
lag monster
|
||||||
|
loan shark
|
||||||
|
possessed waffle iron
|
||||||
|
poultrygeist
|
||||||
|
stuffed raccoon puppet
|
||||||
|
viking
|
||||||
|
wee green blobbie
|
||||||
|
wereplatypus
|
||||||
|
hag of bolding
|
||||||
|
blancmange
|
||||||
|
raging nerd
|
||||||
|
spelling bee
|
||||||
|
land octopus
|
||||||
|
frog prince
|
||||||
|
pigasus
|
||||||
|
_Semigorgon
|
||||||
|
conventioneer
|
||||||
|
large microbat
|
||||||
|
small megabat
|
||||||
|
uberhulk
|
||||||
|
tofurkey
|
||||||
|
+Dudley
|
||||||
|
|
||||||
# Quendor (Zork, &c.)
|
# Quendor (Zork, &c.)
|
||||||
grue
|
grue
|
||||||
@@ -53,7 +86,13 @@ dornbeast
|
|||||||
Ancient Multi-Hued Dragon
|
Ancient Multi-Hued Dragon
|
||||||
+Evil Iggy
|
+Evil Iggy
|
||||||
|
|
||||||
# Rogue
|
# Rogue V5 http://rogue.rogueforge.net/vade-mecum/
|
||||||
|
rattlesnake
|
||||||
|
ice monster
|
||||||
|
phantom
|
||||||
|
quagga
|
||||||
|
aquator
|
||||||
|
griffin
|
||||||
emu
|
emu
|
||||||
kestrel
|
kestrel
|
||||||
xeroc
|
xeroc
|
||||||
@@ -175,3 +214,268 @@ Predator
|
|||||||
|
|
||||||
# common pest
|
# common pest
|
||||||
mother-in-law
|
mother-in-law
|
||||||
|
|
||||||
|
# Actual creatures
|
||||||
|
praying mantis
|
||||||
|
beluga whale
|
||||||
|
chicken
|
||||||
|
coelacanth
|
||||||
|
star-nosed mole
|
||||||
|
lungfish
|
||||||
|
slow loris
|
||||||
|
sea cucumber
|
||||||
|
tapeworm
|
||||||
|
liger
|
||||||
|
velociraptor
|
||||||
|
corpulent porpoise
|
||||||
|
|
||||||
|
# european cryptids
|
||||||
|
wolpertinger
|
||||||
|
elwedritsche
|
||||||
|
skvader
|
||||||
|
+Nessie
|
||||||
|
tatzelwurm
|
||||||
|
dahu
|
||||||
|
|
||||||
|
# fictitious beasts
|
||||||
|
dropbear
|
||||||
|
wild haggis
|
||||||
|
jackalope
|
||||||
|
flying pig
|
||||||
|
hippocampus
|
||||||
|
hippogriff
|
||||||
|
kelpie
|
||||||
|
|
||||||
|
# Unusually animate body parts
|
||||||
|
bouncing eye
|
||||||
|
floating nose
|
||||||
|
wandering eye
|
||||||
|
|
||||||
|
# Computerese
|
||||||
|
buffer overflow
|
||||||
|
dangling pointer
|
||||||
|
walking disk drive
|
||||||
|
floating point
|
||||||
|
regex engine
|
||||||
|
netsplit
|
||||||
|
wiki
|
||||||
|
peer
|
||||||
|
COBOL
|
||||||
|
|
||||||
|
# bugs
|
||||||
|
bohrbug
|
||||||
|
mandelbug
|
||||||
|
schroedinbug
|
||||||
|
heisenbug
|
||||||
|
|
||||||
|
# DooM
|
||||||
|
cacodemon
|
||||||
|
scrag
|
||||||
|
|
||||||
|
# MST3K
|
||||||
|
+Crow T. Robot
|
||||||
|
|
||||||
|
# Items and stuff
|
||||||
|
chess pawn
|
||||||
|
chocolate pudding
|
||||||
|
ooblecks
|
||||||
|
terracotta warrior
|
||||||
|
hearse
|
||||||
|
roomba
|
||||||
|
miniature blimp
|
||||||
|
dust speck
|
||||||
|
|
||||||
|
# DnD monster
|
||||||
|
gazebo
|
||||||
|
|
||||||
|
# SciFi elements
|
||||||
|
gray goo
|
||||||
|
magnetic monopole
|
||||||
|
first category perpetual motion device
|
||||||
|
|
||||||
|
# Ultima
|
||||||
|
+Lord British
|
||||||
|
|
||||||
|
# They Might Be Giants
|
||||||
|
particle man
|
||||||
|
|
||||||
|
# Robot Finds Kitten
|
||||||
|
kitten prospecting robot
|
||||||
|
|
||||||
|
# Typography
|
||||||
|
guillemet
|
||||||
|
solidus
|
||||||
|
obelus
|
||||||
|
|
||||||
|
# Their actual character
|
||||||
|
apostrophe golem
|
||||||
|
voluptuous ampersand
|
||||||
|
|
||||||
|
# Web comics and animation
|
||||||
|
+Bob the angry flower
|
||||||
|
+Strong Bad
|
||||||
|
+Magical Trevor
|
||||||
|
|
||||||
|
# KoL
|
||||||
|
one-winged dewinged stab-bat
|
||||||
|
|
||||||
|
# deities
|
||||||
|
Invisible Pink Unicorn
|
||||||
|
Flying Spaghetti Monster
|
||||||
|
|
||||||
|
# Monkey Island
|
||||||
|
three-headed monkey
|
||||||
|
+El Pollo Diablo
|
||||||
|
|
||||||
|
# modern folklore
|
||||||
|
little green man
|
||||||
|
|
||||||
|
# Portal
|
||||||
|
weighted Companion Cube
|
||||||
|
|
||||||
|
# /b/
|
||||||
|
/b/tard
|
||||||
|
|
||||||
|
# South Park
|
||||||
|
manbearpig
|
||||||
|
|
||||||
|
# internet memes
|
||||||
|
bonsai-kitten
|
||||||
|
tie-thulu
|
||||||
|
+Domo-kun
|
||||||
|
looooooooooooong cat
|
||||||
|
nyan cat
|
||||||
|
|
||||||
|
# the Internet is made for cat pix
|
||||||
|
ceiling cat
|
||||||
|
basement cat
|
||||||
|
monorail cat
|
||||||
|
|
||||||
|
# POWDER
|
||||||
|
tridude
|
||||||
|
|
||||||
|
# Radomir Dopieralski
|
||||||
|
orcus cosmicus
|
||||||
|
|
||||||
|
# Angband
|
||||||
|
yeek
|
||||||
|
quylthulg
|
||||||
|
Greater Hell Beast
|
||||||
|
|
||||||
|
# Souljazz
|
||||||
|
+Vendor of Yizard
|
||||||
|
|
||||||
|
# Dungeon Crawl Stone Soup
|
||||||
|
+Sigmund
|
||||||
|
lernaean hydra
|
||||||
|
+Ijyb
|
||||||
|
+Gloorx Vloq
|
||||||
|
+Blork the orc
|
||||||
|
|
||||||
|
# Wil Wheaton, John Scalzi
|
||||||
|
unicorn pegasus kitten
|
||||||
|
|
||||||
|
# Minecraft
|
||||||
|
enderman
|
||||||
|
|
||||||
|
# Pun
|
||||||
|
wight supremacist
|
||||||
|
|
||||||
|
# Starcraft 2
|
||||||
|
zergling
|
||||||
|
|
||||||
|
# Feelings
|
||||||
|
existential angst
|
||||||
|
figment of your imagination
|
||||||
|
flash of insight
|
||||||
|
|
||||||
|
# Fish
|
||||||
|
ghoti
|
||||||
|
|
||||||
|
# Roald Dahl
|
||||||
|
vermicious knid
|
||||||
|
|
||||||
|
# Carcassonne
|
||||||
|
meeple
|
||||||
|
|
||||||
|
# The Wombles
|
||||||
|
womble
|
||||||
|
|
||||||
|
# Fraggle Rock
|
||||||
|
fraggle
|
||||||
|
|
||||||
|
# soundex and typos of monsters
|
||||||
|
gloating eye
|
||||||
|
flush golem
|
||||||
|
martyr orc
|
||||||
|
mortar orc
|
||||||
|
acid blog
|
||||||
|
acute blob
|
||||||
|
aria elemental
|
||||||
|
aliasing priest
|
||||||
|
aligned parasite
|
||||||
|
aligned parquet
|
||||||
|
aligned proctor
|
||||||
|
baby balky dragon
|
||||||
|
baby blues dragon
|
||||||
|
baby caricature
|
||||||
|
baby crochet
|
||||||
|
baby grainy dragon
|
||||||
|
baby bong worm
|
||||||
|
baby long word
|
||||||
|
baby parable worm
|
||||||
|
barfed devil
|
||||||
|
beer wight
|
||||||
|
boor wight
|
||||||
|
brawny mold
|
||||||
|
rave spider
|
||||||
|
clue golem
|
||||||
|
bust vortex
|
||||||
|
errata elemental
|
||||||
|
elastic eel
|
||||||
|
electrocardiogram eel
|
||||||
|
fir elemental
|
||||||
|
tire elemental
|
||||||
|
flamingo sphere
|
||||||
|
fallacy golem
|
||||||
|
frizzed centaur
|
||||||
|
forest centerfold
|
||||||
|
fierceness sphere
|
||||||
|
frosted giant
|
||||||
|
geriatric snake
|
||||||
|
gnat ant
|
||||||
|
giant bath
|
||||||
|
grant beetle
|
||||||
|
grind bug
|
||||||
|
giant mango
|
||||||
|
glossy golem
|
||||||
|
gnome laureate
|
||||||
|
gnome dummy
|
||||||
|
gooier ooze
|
||||||
|
green slide
|
||||||
|
guardian nacho
|
||||||
|
hell hound pun
|
||||||
|
high purist
|
||||||
|
hairnet devil
|
||||||
|
ice trowel
|
||||||
|
killer beet
|
||||||
|
feather golem
|
||||||
|
lounge worm
|
||||||
|
mountain lymph
|
||||||
|
pager golem
|
||||||
|
pie fiend
|
||||||
|
prophylactic worm
|
||||||
|
sock mole
|
||||||
|
rogue piercer
|
||||||
|
seesawing sphere
|
||||||
|
simile mimic
|
||||||
|
moldier ant
|
||||||
|
stain vortex
|
||||||
|
scone giant
|
||||||
|
umbrella hulk
|
||||||
|
vampire mace
|
||||||
|
verbal jabberwock
|
||||||
|
water lemon
|
||||||
|
water melon
|
||||||
|
winged grizzly
|
||||||
|
yellow wight
|
||||||
|
|||||||
@@ -43,3 +43,40 @@ You've got mail!
|
|||||||
As if!
|
As if!
|
||||||
# 200x incarnation of Dr.Who
|
# 200x incarnation of Dr.Who
|
||||||
BAD WOLF
|
BAD WOLF
|
||||||
|
|
||||||
|
# Gang tag
|
||||||
|
Arooo! Werewolves of Yendor!
|
||||||
|
|
||||||
|
# Strategy and pun
|
||||||
|
Dig for Victory here
|
||||||
|
|
||||||
|
# Pompeii
|
||||||
|
Gaius Julius Primigenius was here. Why are you late?
|
||||||
|
|
||||||
|
# Helpful guiding
|
||||||
|
Don't go this way
|
||||||
|
Go left --->
|
||||||
|
<--- Go right
|
||||||
|
X marks the spot
|
||||||
|
X <--- You are here.
|
||||||
|
Here be dragons
|
||||||
|
Save now, and do your homework!
|
||||||
|
There was a hole here. It's gone now.
|
||||||
|
The Vibrating Square
|
||||||
|
This is a pit!
|
||||||
|
This is not the dungeon you are looking for.
|
||||||
|
Watch out, there's a gnome with a wand of death behind that door!
|
||||||
|
|
||||||
|
# Misc fun
|
||||||
|
This square deliberately left blank.
|
||||||
|
|
||||||
|
# Viking graffiti
|
||||||
|
Haermund Hardaxe carved these runes
|
||||||
|
|
||||||
|
# Advertising
|
||||||
|
Need a light? Come visit the Minetown branch of Izchak's Lighting Store!
|
||||||
|
Snakes on the Astral Plane - Soon in a dungeon near you
|
||||||
|
You are the one millionth visitor to this place! Please wait 200 turns for your wand of wishing.
|
||||||
|
|
||||||
|
# DnD
|
||||||
|
Warning, Exploding runes!
|
||||||
|
|||||||
364
dat/epitaph.txt
364
dat/epitaph.txt
@@ -30,3 +30,367 @@ I made an ash of myself
|
|||||||
Soon ripe. Soon rotten. Soon gone. But not forgotten.
|
Soon ripe. Soon rotten. Soon gone. But not forgotten.
|
||||||
Here lies the body of Jonathan Blake. Stepped on the gas instead of the brake.
|
Here lies the body of Jonathan Blake. Stepped on the gas instead of the brake.
|
||||||
Go away!
|
Go away!
|
||||||
|
Alas fair Death, 'twas missed in life - some peace and quiet from my wife
|
||||||
|
Applaud, my friends, the comedy is finished.
|
||||||
|
At last... a nice long sleep.
|
||||||
|
Audi Partem Alteram
|
||||||
|
Basil, assaulted by bears
|
||||||
|
Burninated
|
||||||
|
Confusion will be my epitaph
|
||||||
|
Do not open until Christmas
|
||||||
|
Don't be daft, they couldn't hit an elephant at this dist-
|
||||||
|
Don't forget to stop and smell the roses
|
||||||
|
Don't let this happen to you!
|
||||||
|
Dulce et decorum est pro patria mori
|
||||||
|
Et in Arcadia ego
|
||||||
|
Fatty and skinny went to bed. Fatty rolled over and skinny was dead. Skinny Smith 1983-2000.
|
||||||
|
Finally I am becoming stupider no more
|
||||||
|
Follow me to hell
|
||||||
|
...for famous men have the whole earth as their memorial
|
||||||
|
Game over, man. Game over.
|
||||||
|
Go away! I'm trying to take a nap in here! Bloody adventurers...
|
||||||
|
Gone fishin'
|
||||||
|
Good night, sweet prince: And flights of angels sing thee to thy rest!
|
||||||
|
Go Team Ant!
|
||||||
|
He farmed his way here
|
||||||
|
Here lies a programmer. Killed by a fatal error.
|
||||||
|
Here lies Bob - decided to try an acid blob
|
||||||
|
Here lies Dudley, killed by another %&#@#& newt.
|
||||||
|
Here lies Gregg, choked on an egg
|
||||||
|
Here lies Lies. It's True
|
||||||
|
Here lies The Lady's maid, died of a Vorpal Blade
|
||||||
|
Here lies the left foot of Jack, killed by a land mine. Let us know if you find any more of him
|
||||||
|
He waited too long
|
||||||
|
I'd rather be sailing
|
||||||
|
If a man's deeds do not outlive him, of what value is a mark in stone?
|
||||||
|
I'm gonna make it!
|
||||||
|
I took both pills!
|
||||||
|
I will survive!
|
||||||
|
Killed by a black dragon -- This grave is empty
|
||||||
|
Let me out of here!
|
||||||
|
Lookin' good, Medusa.
|
||||||
|
Mrs. Smith, choked on an apple. She left behind grieving husband, daughter, and granddaughter.
|
||||||
|
Nobody believed her when she said her feet were killing her
|
||||||
|
No! I don't want to see my damn conduct!
|
||||||
|
One corpse, sans head
|
||||||
|
On the whole, I'd rather be in Minetown
|
||||||
|
On vacation
|
||||||
|
Oops.
|
||||||
|
Out to Lunch
|
||||||
|
SOLD
|
||||||
|
Someone set us up the bomb!
|
||||||
|
Take my stuff, I don't need it anymore
|
||||||
|
Taking a year dead for tax reasons
|
||||||
|
The reports of my demise are completely accurate
|
||||||
|
(This space for sale)
|
||||||
|
This was actually just a pit, but since there was a corpse, we filled it
|
||||||
|
This way to the crypt
|
||||||
|
Tu quoque, Brute?
|
||||||
|
VACANCY
|
||||||
|
Welcome!
|
||||||
|
Wish you were here!
|
||||||
|
Yea, it got me too
|
||||||
|
You should see the other guy
|
||||||
|
...and they made me engrave my own headstone too!
|
||||||
|
...but the blood has stopped pumping and I am left to decay...
|
||||||
|
<Expletive Deleted>
|
||||||
|
A masochist is never satisfied.
|
||||||
|
Ach, 'twas a wee monster in the loch
|
||||||
|
Adapt. Enjoy. Survive.
|
||||||
|
Adventure, hah! Excitement, hah!
|
||||||
|
After all, what are friends for...
|
||||||
|
After this, nothing will shock me
|
||||||
|
After three days, fish and guests stink
|
||||||
|
Age and treachery will always overcome youth and skill
|
||||||
|
Ageing is not so bad. The real killer is when you stop.
|
||||||
|
Ain't I a stinker?
|
||||||
|
Algernon
|
||||||
|
All else failed...
|
||||||
|
All hail RNG
|
||||||
|
All right, we'll call it a draw!
|
||||||
|
All's well that end well
|
||||||
|
Alone at last!
|
||||||
|
Always attack a floating eye from behind!
|
||||||
|
Am I having fun yet?
|
||||||
|
And I can still crawl, I'm not dead yet!
|
||||||
|
And all I wanted was a free lunch
|
||||||
|
And all of the signs were right there on your face
|
||||||
|
And don't give me that innocent look either!
|
||||||
|
And everyone died. Boo hoo hoo.
|
||||||
|
And here I go again...
|
||||||
|
And nobody cares until somebody famous dies...
|
||||||
|
And so it ends?
|
||||||
|
And so... it begins.
|
||||||
|
And sometimes the bear eats you.
|
||||||
|
And then 'e nailed me 'ead to the floor!
|
||||||
|
And they said it couldn't be done!
|
||||||
|
And what do I look like? The living?
|
||||||
|
And yes, it was ALL his fault!
|
||||||
|
And you said it was pretty here...
|
||||||
|
Another lost soul
|
||||||
|
Any day above ground is a good day!
|
||||||
|
Any more of this and I'll die of a stroke before I'm 30.
|
||||||
|
Anybody seen my head?
|
||||||
|
Anyone for deathmatch?
|
||||||
|
Anything for a change.
|
||||||
|
Anything that kills you makes you ... well, dead
|
||||||
|
Anything worth doing is worth overdoing.
|
||||||
|
Are unicorns supposedly peaceful if you're a virgin? Hah!
|
||||||
|
Are we all being disintegrated, or is it just me?
|
||||||
|
At least I'm good at something
|
||||||
|
Attempted suicide
|
||||||
|
Auri sacra fames
|
||||||
|
Auribus teneo lupum
|
||||||
|
Be prepared
|
||||||
|
Beauty survives
|
||||||
|
Been Here. Now Gone. Had a Good Time.
|
||||||
|
Been through Hell, eh? What did you bring me?
|
||||||
|
Beg your pardon, didn't recognize you, I've changed a lot.
|
||||||
|
Being dead builds character
|
||||||
|
Beloved daughter, a treasure, buried here.
|
||||||
|
Best friends come and go... Mine just die.
|
||||||
|
Better be dead than a fat slave
|
||||||
|
Better luck next time
|
||||||
|
Beware of Discordians bearing answers
|
||||||
|
Beware the ...
|
||||||
|
Bloody Hell...
|
||||||
|
Bloody barbarians!
|
||||||
|
Blown upward out of sight: He sought the leak by candlelight
|
||||||
|
Brains... Brains... Fresh human brains...
|
||||||
|
Buried the cat. Took an hour. Damn thing kept fighting.
|
||||||
|
But I disarmed the trap!
|
||||||
|
CONNECT 1964 - NO CARRIER 1994
|
||||||
|
Call me if you need my phone number!
|
||||||
|
Can YOU fly?
|
||||||
|
Can you believe that thing is STILL moving?
|
||||||
|
Can you come up with some better ending for this?
|
||||||
|
Can you feel anything when I do this?
|
||||||
|
Can you give me mouth to mouth, you just took my breath away.
|
||||||
|
Can't I just have a LITTLE peril?
|
||||||
|
Can't eat, can't sleep, had to bury the husband here.
|
||||||
|
Can't you hit me?!
|
||||||
|
Chaos, panic and disorder. My work here is done.
|
||||||
|
Check enclosed.
|
||||||
|
Check this out! It's my brain!
|
||||||
|
Chivalry is only reasonably dead
|
||||||
|
Coffin for sale. Lifetime guarantee.
|
||||||
|
Come Monday, I'll be all right.
|
||||||
|
Come and see the violence inherent in the system
|
||||||
|
Come back here! I'll bite your bloody knees off!
|
||||||
|
Commodore Business Machines, Inc. Died for our sins.
|
||||||
|
Complain to one who can help you
|
||||||
|
Confess my sins to god? Which one?
|
||||||
|
Confusion will be my epitaph
|
||||||
|
Cooties? Ain't no cooties on me!
|
||||||
|
Could somebody get this noose off me?
|
||||||
|
Could you check again? My name MUST be there.
|
||||||
|
Could you please take a breath mint?
|
||||||
|
Couldn't I be sedated for this?
|
||||||
|
Courage is looking at your setbacks with serenity
|
||||||
|
Cover me, I'm going in!
|
||||||
|
Crash course in brain surgery
|
||||||
|
Cross my fingers for me.
|
||||||
|
Curse god and die
|
||||||
|
Cut to fit
|
||||||
|
De'Ath
|
||||||
|
Dead Again? Pardon me for not getting it right the first time!
|
||||||
|
Dead and loving every moment!
|
||||||
|
Dear wife of mine. Died of a broken heart, after I took it out of her.
|
||||||
|
Don't tread on me!
|
||||||
|
Dragon? What dragon?
|
||||||
|
Drawn and quartered
|
||||||
|
Either I'm dead or my watch has stopped.
|
||||||
|
Eliza -- Was I really alive, or did I just think I was?
|
||||||
|
Elvis
|
||||||
|
Enter not into the path of the wicked
|
||||||
|
Eris? I don't need Eris
|
||||||
|
Eternal Damnation, Come and stay a long while!
|
||||||
|
Even The Dead pay taxes (and they aren't Grateful).
|
||||||
|
Even a tomb stone will say good things when you're down!
|
||||||
|
Ever notice that live is evil backwards?
|
||||||
|
Every day is starting to look like Monday
|
||||||
|
Every day, in every way, I am getting better and better.
|
||||||
|
Every survival kit should include a sense of humor
|
||||||
|
Evil I did dwell; lewd did I live
|
||||||
|
Ex post fucto
|
||||||
|
Excellent day to have a rotten day.
|
||||||
|
Excuse me for not standing up.
|
||||||
|
Experience isn't everything. First, You've got to survive
|
||||||
|
First shalt thou pull out the Holy Pin
|
||||||
|
For a Breath, I Tarry...
|
||||||
|
For recreational use only.
|
||||||
|
For sale: One soul, slightly used. Asking for 3 wishes.
|
||||||
|
For some moments in life, there are no words.
|
||||||
|
Forget Disney World, I'm going to Hell!
|
||||||
|
Forget about the dog, Beware of my wife.
|
||||||
|
Funeral - Real fun.
|
||||||
|
Gawd, it's depressing in here, isn't it?
|
||||||
|
Genuine Exploding Gravestone. (c)Acme Gravestones Inc.
|
||||||
|
Get back here! I'm not finished yet...
|
||||||
|
Go ahead, I dare you to!
|
||||||
|
Go ahead, it's either you or him.
|
||||||
|
Goldilocks -- This casket is just right
|
||||||
|
Gone But Not Forgotten
|
||||||
|
Gone Underground For Good
|
||||||
|
Gone away owin' more than he could pay.
|
||||||
|
Gone, but not forgiven
|
||||||
|
Got a life. Didn't know what to do with it.
|
||||||
|
Grave? But I was cremated!
|
||||||
|
Greetings from Hell - Wish you were here.
|
||||||
|
HELP! It's dark in here... Oh, my eyes are closed - sorry
|
||||||
|
Ha! I NEVER pay income tax!
|
||||||
|
Have you come to raise the dead?
|
||||||
|
Having a good time can be deadly.
|
||||||
|
Having a great time. Where am I exactly??
|
||||||
|
He died of the flux.
|
||||||
|
He died today... May we rest in peace!
|
||||||
|
He got the upside, I got the downside.
|
||||||
|
He lost his face when he was beheaded.
|
||||||
|
He missed me first.
|
||||||
|
He's not dead, he just smells that way.
|
||||||
|
Help! I've fallen and I can't get up!
|
||||||
|
Help, I can't wake up!
|
||||||
|
Here lies Pinocchio
|
||||||
|
Here lies the body of John Round. Lost at sea and never found.
|
||||||
|
Here there be dragons
|
||||||
|
Hey, I didn't write this stuff!
|
||||||
|
Hodie mihi, cras tibi
|
||||||
|
Hold my calls
|
||||||
|
Home Sweet Hell
|
||||||
|
Humpty Dumpty, a Bad Egg. He was pushed off the wall.
|
||||||
|
I KNEW this would happen if I lived long enough.
|
||||||
|
I TOLD you I was sick!
|
||||||
|
I ain't broke but I am badly bent.
|
||||||
|
I ain't old. I'm chronologically advantaged.
|
||||||
|
I am NOT a vampire. I just like to bite..nibble, really!
|
||||||
|
I am here. Wish you were fine.
|
||||||
|
I am not dead yet, but watch for further reports.
|
||||||
|
I believe them bones are me.
|
||||||
|
I broke his brain.
|
||||||
|
I can feel it. My mind. It's going. I can feel it.
|
||||||
|
I can't go to Hell. They're afraid I'm gonna take over!
|
||||||
|
I can't go to hell, they don't want me.
|
||||||
|
I didn't believe in reincarnation the last time, either.
|
||||||
|
I didn't mean it when I said 'Bite me'
|
||||||
|
I died laughing
|
||||||
|
I disbelieved in reincarnation in my last life, too.
|
||||||
|
I hacked myself to death
|
||||||
|
I have all the time in the world
|
||||||
|
I knew I'd find a use for this gravestone!
|
||||||
|
I know my mind. And it's around here someplace.
|
||||||
|
I lied! I'll never be alright!
|
||||||
|
I like it better in the dark.
|
||||||
|
I like to be here when I can.
|
||||||
|
I may rise but I refuse to shine.
|
||||||
|
I never get any either.
|
||||||
|
I said hit HIM with the fireball, not me!
|
||||||
|
I told you I would never say goodbye.
|
||||||
|
I used to be amusing. Now I'm just disgusting.
|
||||||
|
I used up all my sick days, so now I'm calling in dead.
|
||||||
|
I was killed by <illegible scrawl>
|
||||||
|
I was somebody. Who, is no business of yours.
|
||||||
|
I will not go quietly.
|
||||||
|
I'd give you a piece of my mind... but I can't find it.
|
||||||
|
I'd rather be breathing
|
||||||
|
I'll be back!
|
||||||
|
I'll be mellow when I'm dead. For now, let's PARTY!
|
||||||
|
I'm doing this only for tax purposes.
|
||||||
|
I'm not afraid of Death! What's he gonna do? Kill me?
|
||||||
|
I'm not getting enough money, so I'm not going to engrave anything useful here.
|
||||||
|
I'm not saying anything.
|
||||||
|
I'm weeth stupeed --->
|
||||||
|
If you thought you had problems...
|
||||||
|
Ignorance kills daily.
|
||||||
|
Ignore me... I'm just here for my looks!
|
||||||
|
Ilene Toofar -- Fell off a cliff
|
||||||
|
Is that all?
|
||||||
|
Is there life before Death?
|
||||||
|
Is this a joke, or a grave matter?
|
||||||
|
It happens sometimes. People just explode.
|
||||||
|
It must be Thursday. I never could get the hang of Thursdays.
|
||||||
|
It wasn't a fair fight
|
||||||
|
It wasn't so easy.
|
||||||
|
It's Loot, Pillage and THEN Burn...
|
||||||
|
Just doing my job here
|
||||||
|
Killed by diarrhea of mouth and constipation of brain.
|
||||||
|
Let her RIP
|
||||||
|
Let it be; I am dead.
|
||||||
|
Let's play Hide the Corpse
|
||||||
|
Life is NOT a dream
|
||||||
|
Madge Ination -- It wasn't all in my head
|
||||||
|
Meet me in Heaven
|
||||||
|
Move on, there's nothing to see here.
|
||||||
|
Mr. Flintstone -- Yabba-dabba-done
|
||||||
|
My heart is not in this
|
||||||
|
No one ever died from it
|
||||||
|
No, you want room 12A, next door.
|
||||||
|
Nope. No trap on that chest. I swear.
|
||||||
|
Not again!
|
||||||
|
Not every soil can bear all things
|
||||||
|
Now I have a life
|
||||||
|
Now I lay thee down to sleep... wanna join me?
|
||||||
|
OK, here is a question: Where ARE your tanlines?
|
||||||
|
Obesa Cantavit
|
||||||
|
Oh! An untimely death.
|
||||||
|
Oh, by the way, how was my funeral?
|
||||||
|
Oh, honey..I missed you! She said, and fired again.
|
||||||
|
Ok, so the light does go off. Now let me out of here.
|
||||||
|
One stone brain
|
||||||
|
Ooh! Somebody STOP me!
|
||||||
|
Oops!
|
||||||
|
Out for the night. Leave a message.
|
||||||
|
Ow! Do that again!
|
||||||
|
Pardon my dust.
|
||||||
|
Part of me still works.
|
||||||
|
Please, not in front of those orcs!
|
||||||
|
Prepare to meet me in Heaven
|
||||||
|
R2D2 -- Rest, Tin Piece
|
||||||
|
Relax. Nothing ever happens on the first level.
|
||||||
|
Res omnia mea culpa est
|
||||||
|
Rest In Pieces
|
||||||
|
Rest, rest, perturbed spirit.
|
||||||
|
Rip Torn
|
||||||
|
She always said her feet were killing her but nobody believed her.
|
||||||
|
She died of a chest cold.
|
||||||
|
So let it be written, so let it be done!
|
||||||
|
So then I says, How do I know you're the real angel of death?
|
||||||
|
Some patients insist on dying.
|
||||||
|
Some people have it dead easy, don't they?
|
||||||
|
Some things are better left buried.
|
||||||
|
Sure, trust me, I'm a lawyer...
|
||||||
|
Thank God I wore my corset, because I think my sides have split.
|
||||||
|
That is all
|
||||||
|
The Gods DO have a sense of humor: I'm living proof!
|
||||||
|
The frog's dead. He Kermitted suicide.
|
||||||
|
This dungeon is a pushover
|
||||||
|
This elevator doesn't go to Heaven
|
||||||
|
This gravestone is shareware. To register, please send me 10 zorkmids
|
||||||
|
This gravestone provided by The Yendorian Grave Services Inc.
|
||||||
|
This is not an important part of my life.
|
||||||
|
This one's on me.
|
||||||
|
This side up
|
||||||
|
Tim Burr -- Smashed by a tree
|
||||||
|
Tone it down a bit, I'm trying to get some rest here.
|
||||||
|
Virtually Alive
|
||||||
|
We Will Meet Again.
|
||||||
|
Weep not, he is at rest
|
||||||
|
Welcome to Dante's. What level please?
|
||||||
|
Well, at least they listened to my sermon...
|
||||||
|
Went to be an angel.
|
||||||
|
What are you doing over there?
|
||||||
|
What are you smiling at?
|
||||||
|
What can you say, Death's got appeal...!
|
||||||
|
What health care?
|
||||||
|
What pit?
|
||||||
|
When the gods want to punish you, they answer your prayers.
|
||||||
|
Where e'er you be let your wind go free. Keeping it in was the death of me!
|
||||||
|
Where's my refund?
|
||||||
|
Will let you know for sure in a day or two...
|
||||||
|
Wizards are wimps
|
||||||
|
Worms at work, do not disturb!
|
||||||
|
Would you mind moving a bit? I'm short of breath down here.
|
||||||
|
Would you quit being evil over my shoulder?
|
||||||
|
Ya really had me going baby, but now I'm gone.
|
||||||
|
Yes Dear, just a few more minutes...
|
||||||
|
You said it wasn't poisonous!
|
||||||
|
You set my heart aflame. You gave me heartburn.
|
||||||
|
|||||||
@@ -244,6 +244,7 @@ E NEARDATA anything zeroany; /* init'd and defined in decl.c */
|
|||||||
#include "you.h"
|
#include "you.h"
|
||||||
E NEARDATA struct you u;
|
E NEARDATA struct you u;
|
||||||
E NEARDATA time_t ubirthday;
|
E NEARDATA time_t ubirthday;
|
||||||
|
E NEARDATA struct u_realtime urealtime;
|
||||||
|
|
||||||
#include "onames.h"
|
#include "onames.h"
|
||||||
#ifndef PM_H /* (pm.h has already been included via youprop.h) */
|
#ifndef PM_H /* (pm.h has already been included via youprop.h) */
|
||||||
|
|||||||
@@ -815,6 +815,7 @@ E void FDECL(copynchars, (char *,const char *,int));
|
|||||||
E char FDECL(chrcasecpy, (int,int));
|
E char FDECL(chrcasecpy, (int,int));
|
||||||
E char *FDECL(strcasecpy, (char *,const char *));
|
E char *FDECL(strcasecpy, (char *,const char *));
|
||||||
E char *FDECL(s_suffix, (const char *));
|
E char *FDECL(s_suffix, (const char *));
|
||||||
|
E char *FDECL(ing_suffix, (const char *));
|
||||||
E char *FDECL(xcrypt, (const char *,char *));
|
E char *FDECL(xcrypt, (const char *,char *));
|
||||||
E boolean FDECL(onlyspace, (const char *));
|
E boolean FDECL(onlyspace, (const char *));
|
||||||
E char *FDECL(tabexpand, (char *));
|
E char *FDECL(tabexpand, (char *));
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.5 obj.h $NHDT-Date$ $NHDT-Branch$:$NHDT-Revision$ */
|
/* NetHack 3.5 obj.h $NHDT-Date: 1426949157 2015/03/21 14:45:57 $ $NHDT-Branch: master $:$NHDT-Revision: 1.36 $ */
|
||||||
/* NetHack 3.5 obj.h $Date: 2012/01/10 17:47:16 $ $Revision: 1.31 $ */
|
/* NetHack 3.5 obj.h $Date: 2012/01/10 17:47:16 $ $Revision: 1.31 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -107,9 +107,10 @@ struct obj {
|
|||||||
|
|
||||||
int corpsenm; /* type of corpse is mons[corpsenm] */
|
int corpsenm; /* type of corpse is mons[corpsenm] */
|
||||||
#define leashmon corpsenm /* gets m_id of attached pet */
|
#define leashmon corpsenm /* gets m_id of attached pet */
|
||||||
#define spestudied corpsenm /* # of times a spellbook has been studied */
|
|
||||||
#define fromsink corpsenm /* a potion from a sink */
|
#define fromsink corpsenm /* a potion from a sink */
|
||||||
#define record_achieve_special corpsenm
|
#define record_achieve_special corpsenm
|
||||||
|
int usecount; /* overloaded for various things that tally */
|
||||||
|
#define spestudied usecount /* # of times a spellbook has been studied */
|
||||||
unsigned oeaten; /* nutrition left in food, if partly eaten */
|
unsigned oeaten; /* nutrition left in food, if partly eaten */
|
||||||
long age; /* creation date */
|
long age; /* creation date */
|
||||||
long owornmask;
|
long owornmask;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.5 patchlevel.h $NHDT-Date$ $NHDT-Branch$:$NHDT-Revision$ */
|
/* NetHack 3.5 patchlevel.h $NHDT-Date: 1426948844 2015/03/21 14:40:44 $ $NHDT-Branch: master $:$NHDT-Revision: 1.95 $ */
|
||||||
/* NetHack 3.5 patchlevel.h $Date: 2012/04/14 08:31:03 $ $Revision: 1.93 $ */
|
/* NetHack 3.5 patchlevel.h $Date: 2012/04/14 08:31:03 $ $Revision: 1.93 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -14,10 +14,10 @@
|
|||||||
* Incrementing EDITLEVEL can be used to force invalidation of old bones
|
* Incrementing EDITLEVEL can be used to force invalidation of old bones
|
||||||
* and save files.
|
* and save files.
|
||||||
*/
|
*/
|
||||||
#define EDITLEVEL 56
|
#define EDITLEVEL 58
|
||||||
|
|
||||||
#define COPYRIGHT_BANNER_A \
|
#define COPYRIGHT_BANNER_A \
|
||||||
"NetHack, Copyright 1985-2012"
|
"NetHack, Copyright 1985-2015"
|
||||||
#define COPYRIGHT_BANNER_B \
|
#define COPYRIGHT_BANNER_B \
|
||||||
" By Stichting Mathematisch Centrum and M. Stephenson."
|
" By Stichting Mathematisch Centrum and M. Stephenson."
|
||||||
/* COPYRIGHT_BANNER_C is generated by makedefs into date.h */
|
/* COPYRIGHT_BANNER_C is generated by makedefs into date.h */
|
||||||
|
|||||||
@@ -327,7 +327,6 @@ struct you {
|
|||||||
|
|
||||||
unsigned udg_cnt; /* how long you have been demigod */
|
unsigned udg_cnt; /* how long you have been demigod */
|
||||||
struct u_achieve uachieve; /* achievements */
|
struct u_achieve uachieve; /* achievements */
|
||||||
struct u_realtime urealtime;
|
|
||||||
struct u_event uevent; /* certain events have happened */
|
struct u_event uevent; /* certain events have happened */
|
||||||
struct u_have uhave; /* you're carrying special objects */
|
struct u_have uhave; /* you're carrying special objects */
|
||||||
struct u_conduct uconduct; /* KMH, conduct */
|
struct u_conduct uconduct; /* KMH, conduct */
|
||||||
|
|||||||
@@ -535,11 +535,11 @@ newgame()
|
|||||||
#endif
|
#endif
|
||||||
program_state.something_worth_saving++; /* useful data now exists */
|
program_state.something_worth_saving++; /* useful data now exists */
|
||||||
|
|
||||||
u.urealtime.realtime = (time_t)0L;
|
urealtime.realtime = (time_t)0L;
|
||||||
#if defined(BSD) && !defined(POSIX_TYPES)
|
#if defined(BSD) && !defined(POSIX_TYPES)
|
||||||
(void) time((long *)&u.urealtime.restored);
|
(void) time((long *)&urealtime.restored);
|
||||||
#else
|
#else
|
||||||
(void) time(&u.urealtime.restored);
|
(void) time(&urealtime.restored);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Success! */
|
/* Success! */
|
||||||
|
|||||||
@@ -136,6 +136,7 @@ NEARDATA struct sysflag sysflags = DUMMY;
|
|||||||
NEARDATA struct instance_flags iflags = DUMMY;
|
NEARDATA struct instance_flags iflags = DUMMY;
|
||||||
NEARDATA struct you u = DUMMY;
|
NEARDATA struct you u = DUMMY;
|
||||||
NEARDATA time_t ubirthday = DUMMY;
|
NEARDATA time_t ubirthday = DUMMY;
|
||||||
|
NEARDATA struct u_realtime urealtime = DUMMY;
|
||||||
|
|
||||||
|
|
||||||
schar lastseentyp[COLNO][ROWNO] = {DUMMY}; /* last seen/touched dungeon typ */
|
schar lastseentyp[COLNO][ROWNO] = {DUMMY}; /* last seen/touched dungeon typ */
|
||||||
|
|||||||
@@ -391,7 +391,7 @@ Helmet_on(VOID_ARGS)
|
|||||||
properties, including levitation; uarmh could get
|
properties, including levitation; uarmh could get
|
||||||
dropped or destroyed here */
|
dropped or destroyed here */
|
||||||
uchangealign((u.ualign.type != A_NEUTRAL) ? -u.ualign.type :
|
uchangealign((u.ualign.type != A_NEUTRAL) ? -u.ualign.type :
|
||||||
rn2(2) ? A_CHAOTIC : A_LAWFUL, 1);
|
(uarmh->o_id % 2) ? A_CHAOTIC : A_LAWFUL, 1);
|
||||||
/* makeknown(uarmh->otyp); -- moved below, after xname() */
|
/* makeknown(uarmh->otyp); -- moved below, after xname() */
|
||||||
/*FALLTHRU*/
|
/*FALLTHRU*/
|
||||||
case DUNCE_CAP:
|
case DUNCE_CAP:
|
||||||
|
|||||||
@@ -911,7 +911,7 @@ die:
|
|||||||
topten figure it out separately and possibly getting different
|
topten figure it out separately and possibly getting different
|
||||||
time or even day if player is slow responding to --More-- */
|
time or even day if player is slow responding to --More-- */
|
||||||
endtime = getnow();
|
endtime = getnow();
|
||||||
u.urealtime.realtime += (endtime - u.urealtime.restored);
|
urealtime.realtime += (endtime - urealtime.restored);
|
||||||
|
|
||||||
/* Sometimes you die on the first move. Life's not fair.
|
/* Sometimes you die on the first move. Life's not fair.
|
||||||
* On those rare occasions you get hosed immediately, go out
|
* On those rare occasions you get hosed immediately, go out
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ NetHack, except that rounddiv may call panic().
|
|||||||
char chrcasecpy (int,int)
|
char chrcasecpy (int,int)
|
||||||
char * strcasecpy (char *,const char *)
|
char * strcasecpy (char *,const char *)
|
||||||
char * s_suffix (const char *)
|
char * s_suffix (const char *)
|
||||||
|
char * ing_suffix (const char *)
|
||||||
char * xcrypt (const char *, char *)
|
char * xcrypt (const char *, char *)
|
||||||
boolean onlyspace (const char *)
|
boolean onlyspace (const char *)
|
||||||
char * tabexpand (char *)
|
char * tabexpand (char *)
|
||||||
@@ -235,6 +236,39 @@ s_suffix(s) /* return a name converted to possessive */
|
|||||||
return buf;
|
return buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char *
|
||||||
|
ing_suffix(s)
|
||||||
|
const char *s;
|
||||||
|
{
|
||||||
|
const char *vowel = "aeiouy";
|
||||||
|
static char buf[BUFSZ];
|
||||||
|
char onoff[10];
|
||||||
|
char *p;
|
||||||
|
Strcpy(buf, s);
|
||||||
|
p = eos(buf);
|
||||||
|
onoff[0] = *p = *(p+1) = '\0';
|
||||||
|
if ((strlen(buf) > 4) &&
|
||||||
|
(!strcmpi(p-3, " on") ||
|
||||||
|
!strcmpi(p-4, " off") ||
|
||||||
|
!strcmpi(p-5, " with"))) {
|
||||||
|
p = strrchr(buf, ' ');
|
||||||
|
Strcpy(onoff, p);
|
||||||
|
}
|
||||||
|
if (!index(vowel, *(p-1)) && index(vowel, *(p-2)) && !index(vowel, *(p-3))) {
|
||||||
|
/* tip -> tipp + ing */
|
||||||
|
*p = *(p-1);
|
||||||
|
*(p+1) = '\0';
|
||||||
|
} else if (!strcmpi(p-2, "ie")) { /* vie -> vy + ing */
|
||||||
|
*(p-2) = 'y';
|
||||||
|
*(p-1) = '\0';
|
||||||
|
} else if (*(p-1) == 'e') /* grease -> greas + ing */
|
||||||
|
*(p-1) = '\0';
|
||||||
|
Strcat(buf, "ing");
|
||||||
|
if (onoff[0]) Strcat(buf, onoff);
|
||||||
|
return buf;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
char *
|
char *
|
||||||
xcrypt(str, buf) /* trivial text encryption routine (see makedefs) */
|
xcrypt(str, buf) /* trivial text encryption routine (see makedefs) */
|
||||||
const char *str;
|
const char *str;
|
||||||
|
|||||||
16
src/invent.c
16
src/invent.c
@@ -972,7 +972,21 @@ register const char *let,*word;
|
|||||||
return((struct obj *)0);
|
return((struct obj *)0);
|
||||||
}
|
}
|
||||||
if(ilet == '-') {
|
if(ilet == '-') {
|
||||||
return(allownone ? &zeroobj : (struct obj *) 0);
|
if (!allownone) {
|
||||||
|
char *suf = NULL;
|
||||||
|
strcpy(buf, word);
|
||||||
|
if ((bp = strstr(buf, " on the ")) != NULL) { /* rub on the stone[s] */
|
||||||
|
*bp = '\0';
|
||||||
|
suf = (bp + 1);
|
||||||
|
}
|
||||||
|
if ((bp = strstr(buf, " or ")) != NULL) {
|
||||||
|
*bp = '\0';
|
||||||
|
bp = (rn2(2) ? buf : (bp + 4));
|
||||||
|
} else bp = buf;
|
||||||
|
You("mime %s something%s%s.", ing_suffix(bp),
|
||||||
|
suf ? " " : "", suf ? suf : "");
|
||||||
|
}
|
||||||
|
return(allownone ? &zeroobj : (struct obj *) 0);
|
||||||
}
|
}
|
||||||
if(ilet == def_oc_syms[COIN_CLASS].sym) {
|
if(ilet == def_oc_syms[COIN_CLASS].sym) {
|
||||||
if (!usegold) {
|
if (!usegold) {
|
||||||
|
|||||||
@@ -551,13 +551,18 @@ unsigned int *stuckid, *steedid;
|
|||||||
amii_setpens(amii_numcolors); /* use colors from save file */
|
amii_setpens(amii_numcolors); /* use colors from save file */
|
||||||
#endif
|
#endif
|
||||||
mread(fd, (genericptr_t) &u, sizeof(struct you));
|
mread(fd, (genericptr_t) &u, sizeof(struct you));
|
||||||
mread(fd, (genericptr_t) timebuf, 14);
|
|
||||||
timebuf[14] = '\0';
|
#define ReadTimebuf(foo) mread(fd, (genericptr_t) timebuf, 14); \
|
||||||
ubirthday = time_from_yyyymmddhhmmss(timebuf);
|
timebuf[14] = '\0'; \
|
||||||
|
foo = time_from_yyyymmddhhmmss(timebuf);
|
||||||
|
|
||||||
|
ReadTimebuf(ubirthday);
|
||||||
|
ReadTimebuf(urealtime.realtime);
|
||||||
|
ReadTimebuf(urealtime.restored);
|
||||||
#if defined(BSD) && !defined(POSIX_TYPES)
|
#if defined(BSD) && !defined(POSIX_TYPES)
|
||||||
(void) time((long *)&u.urealtime.restored);
|
(void) time((long *)&urealtime.restored);
|
||||||
#else
|
#else
|
||||||
(void) time(&u.urealtime.restored);
|
(void) time(&urealtime.restored);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -307,9 +307,11 @@ register int fd, mode;
|
|||||||
#ifdef SYSFLAGS
|
#ifdef SYSFLAGS
|
||||||
bwrite(fd, (genericptr_t) &sysflags, sizeof(struct sysflag));
|
bwrite(fd, (genericptr_t) &sysflags, sizeof(struct sysflag));
|
||||||
#endif
|
#endif
|
||||||
u.urealtime.realtime += (getnow() - u.urealtime.restored);
|
urealtime.realtime += (getnow() - urealtime.restored);
|
||||||
bwrite(fd, (genericptr_t) &u, sizeof(struct you));
|
bwrite(fd, (genericptr_t) &u, sizeof(struct you));
|
||||||
bwrite(fd, yyyymmddhhmmss(ubirthday), 14);
|
bwrite(fd, yyyymmddhhmmss(ubirthday), 14);
|
||||||
|
bwrite(fd, yyyymmddhhmmss(urealtime.realtime), 14);
|
||||||
|
bwrite(fd, yyyymmddhhmmss(urealtime.restored), 14);
|
||||||
save_killers(fd, mode);
|
save_killers(fd, mode);
|
||||||
|
|
||||||
/* must come before migrating_objs and migrating_mons are freed */
|
/* must come before migrating_objs and migrating_mons are freed */
|
||||||
|
|||||||
97
src/topten.c
97
src/topten.c
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.5 topten.c $NHDT-Date$ $NHDT-Branch$:$NHDT-Revision$ */
|
/* NetHack 3.5 topten.c $NHDT-Date: 1426731079 2015/03/19 02:11:19 $ $NHDT-Branch: harder_d8 $:$NHDT-Revision: 1.25 $ */
|
||||||
/* NetHack 3.5 topten.c $Date: 2012/01/24 04:26:15 $ $Revision: 1.23 $ */
|
/* NetHack 3.5 topten.c $Date: 2012/01/24 04:26:15 $ $Revision: 1.23 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -66,8 +66,8 @@ STATIC_DCL void FDECL(discardexcess, (FILE *));
|
|||||||
STATIC_DCL void FDECL(readentry, (FILE *,struct toptenentry *));
|
STATIC_DCL void FDECL(readentry, (FILE *,struct toptenentry *));
|
||||||
STATIC_DCL void FDECL(writeentry, (FILE *,struct toptenentry *));
|
STATIC_DCL void FDECL(writeentry, (FILE *,struct toptenentry *));
|
||||||
STATIC_DCL void FDECL(writexlentry, (FILE*, struct toptenentry *));
|
STATIC_DCL void FDECL(writexlentry, (FILE*, struct toptenentry *));
|
||||||
STATIC_DCL long FDECL(encodeconduct, (void));
|
STATIC_DCL long NDECL(encodeconduct);
|
||||||
STATIC_DCL long FDECL(encodeachieve, (void));
|
STATIC_DCL long NDECL(encodeachieve);
|
||||||
STATIC_DCL void FDECL(free_ttlist, (struct toptenentry *));
|
STATIC_DCL void FDECL(free_ttlist, (struct toptenentry *));
|
||||||
STATIC_DCL int FDECL(classmon, (char *,BOOLEAN_P));
|
STATIC_DCL int FDECL(classmon, (char *,BOOLEAN_P));
|
||||||
STATIC_DCL int FDECL(score_wanted,
|
STATIC_DCL int FDECL(score_wanted,
|
||||||
@@ -295,53 +295,58 @@ struct toptenentry *tt;
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#define XLOG_SEP "\t" /* xlogfile field separator. */
|
|
||||||
/* as tab is never used in eg. plname or death, no need to mangle those. */
|
/* as tab is never used in eg. plname or death, no need to mangle those. */
|
||||||
STATIC_OVL void
|
STATIC_OVL void
|
||||||
writexlentry(rfile,tt)
|
writexlentry(rfile,tt)
|
||||||
FILE *rfile;
|
FILE *rfile;
|
||||||
struct toptenentry *tt;
|
struct toptenentry *tt;
|
||||||
{
|
{
|
||||||
char buf[DTHSZ+1];
|
#define Fprintf (void)fprintf
|
||||||
(void)fprintf(rfile,
|
#define XLOG_SEP '\t' /* xlogfile field separator. */
|
||||||
"version=%d.%d.%d"
|
char buf[BUFSZ];
|
||||||
XLOG_SEP "points=%ld"
|
|
||||||
XLOG_SEP "deathdnum=%d"
|
|
||||||
XLOG_SEP "deathlev=%d"
|
|
||||||
XLOG_SEP "maxlvl=%d"
|
|
||||||
XLOG_SEP "hp=%d"
|
|
||||||
XLOG_SEP "maxhp=%d"
|
|
||||||
XLOG_SEP "deaths=%d"
|
|
||||||
XLOG_SEP "deathdate=%d"
|
|
||||||
XLOG_SEP "birthdate=%d"
|
|
||||||
XLOG_SEP "uid=%d",
|
|
||||||
tt->ver_major, tt->ver_minor, tt->patchlevel,
|
|
||||||
tt->points, tt->deathdnum, tt->deathlev,
|
|
||||||
tt->maxlvl, tt->hp, tt->maxhp, tt->deaths,
|
|
||||||
tt->deathdate, tt->birthdate, tt->uid);
|
|
||||||
(void)fprintf(rfile,
|
|
||||||
XLOG_SEP "role=%s"
|
|
||||||
XLOG_SEP "race=%s"
|
|
||||||
XLOG_SEP "gender=%s"
|
|
||||||
XLOG_SEP "align=%s",
|
|
||||||
tt->plrole, tt->plrace, tt->plgend, tt->plalign);
|
|
||||||
(void)fprintf(rfile, XLOG_SEP "name=%s", plname);
|
|
||||||
(void)fprintf(rfile, XLOG_SEP "death=%s", tt->death);
|
|
||||||
(void)fprintf(rfile, XLOG_SEP "conduct=0x%lx", encodeconduct());
|
|
||||||
(void)fprintf(rfile, XLOG_SEP "turns=%ld", moves);
|
|
||||||
(void)fprintf(rfile, XLOG_SEP "achieve=0x%lx", encodeachieve());
|
|
||||||
(void)fprintf(rfile, XLOG_SEP "realtime=%ld", (long)u.urealtime.realtime);
|
|
||||||
(void)fprintf(rfile, XLOG_SEP "starttime=%ld", (long)ubirthday);
|
|
||||||
(void)fprintf(rfile, XLOG_SEP "endtime=%ld", (long)u.urealtime.endtime);
|
|
||||||
(void)fprintf(rfile, XLOG_SEP "gender0=%s", genders[flags.initgend].filecode);
|
|
||||||
(void)fprintf(rfile, XLOG_SEP "align0=%s",
|
|
||||||
aligns[1 - u.ualignbase[A_ORIGINAL]].filecode);
|
|
||||||
fprintf(rfile, "\n");
|
|
||||||
}
|
|
||||||
#undef XLOG_SEP
|
|
||||||
|
|
||||||
long
|
Sprintf(buf, "version=%d.%d.%d",
|
||||||
encodeconduct(void)
|
tt->ver_major, tt->ver_minor, tt->patchlevel);
|
||||||
|
Sprintf(eos(buf), "%cpoints=%ld%cdeathdnum=%d%cdeathlev=%d",
|
||||||
|
XLOG_SEP, tt->points,
|
||||||
|
XLOG_SEP, tt->deathdnum,
|
||||||
|
XLOG_SEP, tt->deathlev);
|
||||||
|
Sprintf(eos(buf), "%cmaxlvl=%d%chp=%d%cmaxhp=%d",
|
||||||
|
XLOG_SEP, tt->maxlvl,
|
||||||
|
XLOG_SEP, tt->hp,
|
||||||
|
XLOG_SEP, tt->maxhp);
|
||||||
|
Sprintf(eos(buf), "%cdeaths=%d%cdeathdate=%ld%cbirthdate=%ld%cuid=%d",
|
||||||
|
XLOG_SEP, tt->deaths,
|
||||||
|
XLOG_SEP, tt->deathdate,
|
||||||
|
XLOG_SEP, tt->birthdate,
|
||||||
|
XLOG_SEP, tt->uid);
|
||||||
|
Fprintf(rfile, "%s", buf);
|
||||||
|
Sprintf(buf, "%crole=%s%crace=%s%cgender=%s%calign=%s",
|
||||||
|
XLOG_SEP, tt->plrole,
|
||||||
|
XLOG_SEP, tt->plrace,
|
||||||
|
XLOG_SEP, tt->plgend,
|
||||||
|
XLOG_SEP, tt->plalign);
|
||||||
|
Fprintf(rfile, "%s%cname=%s%cdeath=%s",
|
||||||
|
buf, /* (already includes separator) */
|
||||||
|
XLOG_SEP, plname,
|
||||||
|
XLOG_SEP, tt->death);
|
||||||
|
Fprintf(rfile, "%cconduct=0x%lx%cturns=%ld%cachieve=0x%lx",
|
||||||
|
XLOG_SEP, encodeconduct(),
|
||||||
|
XLOG_SEP, moves,
|
||||||
|
XLOG_SEP, encodeachieve());
|
||||||
|
Fprintf(rfile, "%crealtime=%ld%cstarttime=%ld%cendtime=%ld",
|
||||||
|
XLOG_SEP, (long)urealtime.realtime,
|
||||||
|
XLOG_SEP, (long)ubirthday,
|
||||||
|
XLOG_SEP, (long)urealtime.endtime);
|
||||||
|
Fprintf(rfile, "%cgender0=%s%calign0=%s",
|
||||||
|
XLOG_SEP, genders[flags.initgend].filecode,
|
||||||
|
XLOG_SEP, aligns[1 - u.ualignbase[A_ORIGINAL]].filecode);
|
||||||
|
Fprintf(rfile, "\n");
|
||||||
|
#undef XLOG_SEP
|
||||||
|
}
|
||||||
|
|
||||||
|
STATIC_OVL long
|
||||||
|
encodeconduct()
|
||||||
{
|
{
|
||||||
long e = 0L;
|
long e = 0L;
|
||||||
|
|
||||||
@@ -361,8 +366,8 @@ encodeconduct(void)
|
|||||||
return e;
|
return e;
|
||||||
}
|
}
|
||||||
|
|
||||||
long
|
STATIC_OVL long
|
||||||
encodeachieve(void)
|
encodeachieve()
|
||||||
{
|
{
|
||||||
long r = 0L;
|
long r = 0L;
|
||||||
|
|
||||||
@@ -475,7 +480,7 @@ time_t when;
|
|||||||
t0->birthdate = yyyymmdd(ubirthday);
|
t0->birthdate = yyyymmdd(ubirthday);
|
||||||
t0->deathdate = yyyymmdd(when);
|
t0->deathdate = yyyymmdd(when);
|
||||||
t0->tt_next = 0;
|
t0->tt_next = 0;
|
||||||
u.urealtime.endtime = when;
|
urealtime.endtime = when;
|
||||||
#ifdef UPDATE_RECORD_IN_PLACE
|
#ifdef UPDATE_RECORD_IN_PLACE
|
||||||
t0->fpos = -1L;
|
t0->fpos = -1L;
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
56
src/trap.c
56
src/trap.c
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.5 trap.c $NHDT-Date: 1426558928 2015/03/17 02:22:08 $ $NHDT-Branch: master $:$NHDT-Revision: 1.195 $ */
|
/* NetHack 3.5 trap.c $NHDT-Date: 1426805491 2015/03/19 22:51:31 $ $NHDT-Branch: water_damage $:$NHDT-Revision: 1.198 $ */
|
||||||
/* NetHack 3.5 trap.c $Date: 2013/03/14 01:58:21 $ $Revision: 1.179 $ */
|
/* NetHack 3.5 trap.c $Date: 2013/03/14 01:58:21 $ $Revision: 1.179 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -3145,6 +3145,14 @@ struct obj *obj;
|
|||||||
erode_obj(obj, NULL, ERODE_CORRODE, EF_GREASE | EF_VERBOSE);
|
erode_obj(obj, NULL, ERODE_CORRODE, EF_GREASE | EF_VERBOSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* context for water_damage(), managed by water_damage_chain();
|
||||||
|
when more than one stack of potions of acid explode while processing
|
||||||
|
a chain of objects, use alternate phrasing after the first message */
|
||||||
|
static struct h2o_ctx {
|
||||||
|
int dkn_boom, unk_boom; /* track dknown, !dknown separately */
|
||||||
|
boolean ctx_valid;
|
||||||
|
} acid_ctx = { 0, 0, FALSE };
|
||||||
|
|
||||||
/* Get an object wet and damage it appropriately.
|
/* Get an object wet and damage it appropriately.
|
||||||
* "ostr", if present, is used instead of the object name in some
|
* "ostr", if present, is used instead of the object name in some
|
||||||
* messages.
|
* messages.
|
||||||
@@ -3157,8 +3165,6 @@ struct obj *obj;
|
|||||||
const char *ostr;
|
const char *ostr;
|
||||||
boolean force;
|
boolean force;
|
||||||
{
|
{
|
||||||
boolean exploded = FALSE;
|
|
||||||
|
|
||||||
if (!obj) return ER_NOTHING;
|
if (!obj) return ER_NOTHING;
|
||||||
|
|
||||||
if (snuff_lit(obj))
|
if (snuff_lit(obj))
|
||||||
@@ -3203,18 +3209,36 @@ boolean force;
|
|||||||
return ER_DAMAGED;
|
return ER_DAMAGED;
|
||||||
} else if (obj->oclass == POTION_CLASS) {
|
} else if (obj->oclass == POTION_CLASS) {
|
||||||
if (obj->otyp == POT_ACID) {
|
if (obj->otyp == POT_ACID) {
|
||||||
char *bufp, buf[BUFSZ];
|
char *bufp;
|
||||||
boolean one = (obj->quan == 1L);
|
boolean one = (obj->quan == 1L),
|
||||||
boolean update = carried(obj);
|
update = carried(obj),
|
||||||
|
exploded = FALSE;
|
||||||
|
|
||||||
bufp = strcpy(buf, "potion");
|
if (Blind && !carried(obj)) obj->dknown = 0;
|
||||||
if (!one) bufp = makeplural(bufp);
|
if (acid_ctx.ctx_valid)
|
||||||
/* [should we damage player/monster?] */
|
exploded = ((obj->dknown ? acid_ctx.dkn_boom
|
||||||
|
: acid_ctx.unk_boom) > 0);
|
||||||
|
/* First message is
|
||||||
|
* "a [potion|<color> potion|potion of acid] explodes"
|
||||||
|
* depending on obj->dknown (potion has been seen) and
|
||||||
|
* objects[POT_ACID].oc_name_known (fully discovered),
|
||||||
|
* or "some {plural version} explode" when relevant.
|
||||||
|
* Second and subsequent messages for same chain and
|
||||||
|
* matching dknown status are
|
||||||
|
* "another [potion|<color> &c] explodes" or plural
|
||||||
|
* variant.
|
||||||
|
*/
|
||||||
|
bufp = simpleonames(obj);
|
||||||
pline("%s %s %s!", /* "A potion explodes!" */
|
pline("%s %s %s!", /* "A potion explodes!" */
|
||||||
!exploded ? (one ? "A" : "Some") :
|
!exploded ? (one ? "A" : "Some") :
|
||||||
(one ? "Another" : "More"),
|
(one ? "Another" : "More"),
|
||||||
bufp, vtense(bufp, "explode"));
|
bufp, vtense(bufp, "explode"));
|
||||||
exploded = TRUE;
|
if (acid_ctx.ctx_valid) {
|
||||||
|
if (obj->dknown)
|
||||||
|
acid_ctx.dkn_boom++;
|
||||||
|
else
|
||||||
|
acid_ctx.unk_boom++;
|
||||||
|
}
|
||||||
setnotworn(obj);
|
setnotworn(obj);
|
||||||
delobj(obj);
|
delobj(obj);
|
||||||
if (update)
|
if (update)
|
||||||
@@ -3246,10 +3270,20 @@ struct obj *obj;
|
|||||||
boolean here;
|
boolean here;
|
||||||
{
|
{
|
||||||
struct obj *otmp;
|
struct obj *otmp;
|
||||||
|
|
||||||
|
/* initialize acid context: so far, neither seen (dknown) potions of
|
||||||
|
acid nor unseen have exploded during this water damage sequence */
|
||||||
|
acid_ctx.dkn_boom = acid_ctx.unk_boom = 0;
|
||||||
|
acid_ctx.ctx_valid = TRUE;
|
||||||
|
|
||||||
for (; obj; obj = otmp) {
|
for (; obj; obj = otmp) {
|
||||||
otmp = here ? obj->nexthere : obj->nobj;
|
otmp = here ? obj->nexthere : obj->nobj;
|
||||||
water_damage(obj, NULL, FALSE);
|
water_damage(obj, NULL, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* reset acid context */
|
||||||
|
acid_ctx.dkn_boom = acid_ctx.unk_boom = 0;
|
||||||
|
acid_ctx.ctx_valid = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -500,6 +500,7 @@ u_init()
|
|||||||
(void) memset((genericptr_t)&u, 0, sizeof(u));
|
(void) memset((genericptr_t)&u, 0, sizeof(u));
|
||||||
u.ustuck = (struct monst *)0;
|
u.ustuck = (struct monst *)0;
|
||||||
(void) memset((genericptr_t)&ubirthday, 0, sizeof(ubirthday));
|
(void) memset((genericptr_t)&ubirthday, 0, sizeof(ubirthday));
|
||||||
|
(void) memset((genericptr_t)&urealtime, 0, sizeof(urealtime));
|
||||||
|
|
||||||
#if 0 /* documentation of more zero values as desirable */
|
#if 0 /* documentation of more zero values as desirable */
|
||||||
u.usick_cause[0] = 0;
|
u.usick_cause[0] = 0;
|
||||||
|
|||||||
@@ -13,8 +13,10 @@
|
|||||||
#
|
#
|
||||||
#==============================================================================
|
#==============================================================================
|
||||||
# This is used for building two versions of NetHack:
|
# This is used for building two versions of NetHack:
|
||||||
|
#
|
||||||
# A tty port utilizing the Win32 Console I/O subsystem, Console
|
# A tty port utilizing the Win32 Console I/O subsystem, Console
|
||||||
# NetHack;
|
# NetHack;
|
||||||
|
#
|
||||||
# A Win32 native port built on the Windows API, Graphical NetHack or
|
# A Win32 native port built on the Windows API, Graphical NetHack or
|
||||||
# NetHackW.
|
# NetHackW.
|
||||||
#
|
#
|
||||||
@@ -186,38 +188,11 @@ guilibs = $(winlibs)
|
|||||||
# Exe File Info.
|
# Exe File Info.
|
||||||
#==========================================
|
#==========================================
|
||||||
|
|
||||||
# Yacc/Lex ... if you got 'em.
|
|
||||||
#
|
#
|
||||||
# If you have yacc and lex programs (or work-alike such as bison
|
# For the level compiler bits,
|
||||||
# and flex), comment out the upper two macros and uncomment
|
# we just defer to win\win32\dgnstuff.mak
|
||||||
# the lower two.
|
# and win\win32\levstuff.mak
|
||||||
#
|
#
|
||||||
|
|
||||||
DO_YACC = YACC_MSG
|
|
||||||
DO_LEX = LEX_MSG
|
|
||||||
#DO_YACC = YACC_ACT
|
|
||||||
#DO_LEX = LEX_ACT
|
|
||||||
|
|
||||||
# - Specify your yacc and lex programs (or work-alikes) here.
|
|
||||||
|
|
||||||
#YACC = bison -y
|
|
||||||
YACC = byacc
|
|
||||||
#YACC = yacc
|
|
||||||
|
|
||||||
#LEX = lex
|
|
||||||
LEX = flex
|
|
||||||
|
|
||||||
#
|
|
||||||
# - Specify your flex skeleton file (if needed).
|
|
||||||
#
|
|
||||||
|
|
||||||
FLEXSKEL =
|
|
||||||
#FLEXSKEL = -S../tools/flex.ske
|
|
||||||
|
|
||||||
YTABC = y_tab.c
|
|
||||||
YTABH = y_tab.h
|
|
||||||
LEXYYC = lexyy.c
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Optional high-quality BSD random number generation routines
|
# Optional high-quality BSD random number generation routines
|
||||||
# (see pcconf.h). Set to nothing if not used.
|
# (see pcconf.h). Set to nothing if not used.
|
||||||
@@ -454,19 +429,20 @@ U = $(UTIL)^\
|
|||||||
|
|
||||||
MAKESRC = $(U)makedefs.c
|
MAKESRC = $(U)makedefs.c
|
||||||
|
|
||||||
SPLEVSRC = $(U)lev_yacc.c $(U)lev_$(LEX).c $(U)lev_main.c $(U)panic.c
|
|
||||||
|
|
||||||
DGNCOMPSRC = $(U)dgn_yacc.c $(U)dgn_$(LEX).c $(U)dgn_main.c
|
|
||||||
|
|
||||||
MAKEOBJS = $(O)makedefs.o $(O)monst.o $(O)objects.o
|
MAKEOBJS = $(O)makedefs.o $(O)monst.o $(O)objects.o
|
||||||
|
|
||||||
SPLEVOBJS = $(O)lev_yacc.o $(O)lev_$(LEX).o $(O)lev_main.o \
|
#SPLEVOBJS = $(O)lev_yacc.o $(O)lev_lex.o $(O)lev_main.o \
|
||||||
|
# $(O)alloc.o $(O)decl.o $(O)drawing.o \
|
||||||
|
# $(O)monst.o $(O)objects.o $(O)panic.o
|
||||||
|
|
||||||
|
SPLEVOBJS = $(O)lev_yacc.o $(O)lev_lex.o $(O)lev_main.o \
|
||||||
$(O)alloc.o $(O)decl.o $(O)drawing.o \
|
$(O)alloc.o $(O)decl.o $(O)drawing.o \
|
||||||
$(O)monst.o $(O)objects.o $(O)panic.o
|
$(O)monst.o $(O)objects.o $(O)panic.o
|
||||||
|
|
||||||
DGNCOMPOBJS = $(O)dgn_yacc.o $(O)dgn_$(LEX).o $(O)dgn_main.o \
|
DGNCOMPOBJS = $(O)dgn_yacc.o $(O)dgn_lex.o $(O)dgn_main.o \
|
||||||
$(O)alloc.o $(O)panic.o
|
$(O)alloc.o $(O)panic.o
|
||||||
|
|
||||||
|
|
||||||
RECOVOBJS = $(O)recover.o
|
RECOVOBJS = $(O)recover.o
|
||||||
|
|
||||||
TILEFILES = $(WSHR)\monsters.txt $(WSHR)\objects.txt $(WSHR)\other.txt
|
TILEFILES = $(WSHR)\monsters.txt $(WSHR)\objects.txt $(WSHR)\other.txt
|
||||||
@@ -902,71 +878,55 @@ $(WIN32)\splash.bmp: $(U)uudecode.exe $(WIN32)\splash.uu
|
|||||||
..\..\util\uudecode.exe splash.uu
|
..\..\util\uudecode.exe splash.uu
|
||||||
chdir ..\..\src
|
chdir ..\..\src
|
||||||
|
|
||||||
#==========================================
|
#=================================================
|
||||||
# Level Compiler Stuff
|
# Level Compiler Stuff
|
||||||
#==========================================
|
#=================================================
|
||||||
|
#
|
||||||
|
# defer to the steps in ..\win\win32\levstuff.mak
|
||||||
|
#
|
||||||
|
|
||||||
LEVCFLAGS=-c -nologo -DWINVER=0x0400 -DWIN32 -D_WIN32 \
|
$(U)lev_yacc.c $(INCL)\lev_comp.h: $(U)lev_comp.y
|
||||||
-D_MT -MT -I..\include -nologo -Z7 -Od -DDLB
|
nmake -nologo -f ..\win\win32\levstuff.mak default
|
||||||
|
|
||||||
|
LEVCFLAGS=-c -nologo -DWIN32 -D_WIN32 -I$(INCL) -nologo -Z7 -Od -DDLB
|
||||||
|
|
||||||
|
$(O)lev_yacc.o: $(HACK_H) $(SP_LEV_H) $(INCL)\lev_comp.h $(U)lev_yacc.c
|
||||||
|
$(CC) $(LEVCFLAGS) -W0 -Fo$@ $(U)lev_yacc.c
|
||||||
|
|
||||||
|
$(O)lev_lex.o: $(HACK_H) $(INCL)\lev_comp.h $(SP_LEV_H) \
|
||||||
|
$(U)lev_lex.c
|
||||||
|
$(CC) $(LEVCFLAGS) -W0 -Fo$@ $(U)lev_lex.c
|
||||||
|
|
||||||
|
$(O)lev_main.o: $(U)lev_main.c $(HACK_H) $(SP_LEV_H)
|
||||||
|
$(CC) $(LEVCFLAGS) -W0 -Fo$@ $(U)lev_main.c
|
||||||
|
|
||||||
$(U)levcomp.exe: $(SPLEVOBJS)
|
$(U)levcomp.exe: $(SPLEVOBJS)
|
||||||
@echo Linking $@...
|
@echo Linking $@...
|
||||||
@$(link) $(lflagsUtil) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ @<<$(@B).lnk
|
echo $(link)
|
||||||
|
echo $(lflagsUtil)
|
||||||
|
$(link) $(lflagsUtil) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ @<<$(@B).lnk
|
||||||
$(SPLEVOBJS:^ =^
|
$(SPLEVOBJS:^ =^
|
||||||
)
|
)
|
||||||
<<
|
<<
|
||||||
|
|
||||||
$(O)lev_yacc.o: $(HACK_H) $(SP_LEV_H) $(INCL)\lev_comp.h $(U)lev_yacc.c
|
#=================================================
|
||||||
@$(CC) $(LEVCFLAGS) -W0 -Fo$@ $(U)lev_yacc.c
|
|
||||||
|
|
||||||
$(O)lev_$(LEX).o: $(HACK_H) $(INCL)\lev_comp.h $(SP_LEV_H) \
|
|
||||||
$(U)lev_$(LEX).c
|
|
||||||
@$(CC) $(LEVCFLAGS) -W0 -Fo$@ $(U)lev_$(LEX).c
|
|
||||||
|
|
||||||
$(O)lev_main.o: $(U)lev_main.c $(HACK_H) $(SP_LEV_H)
|
|
||||||
@$(CC) $(LEVCFLAGS) -W0 -Fo$@ $(U)lev_main.c
|
|
||||||
|
|
||||||
|
|
||||||
$(U)lev_yacc.c $(INCL)\lev_comp.h : $(U)lev_comp.y
|
|
||||||
! IF "$(DO_YACC)"=="YACC_ACT"
|
|
||||||
chdir $(UTIL)
|
|
||||||
$(YACC) -d lev_comp.y
|
|
||||||
copy $(YTABC) lev_yacc.c
|
|
||||||
copy $(YTABH) $(INCL)\lev_comp.h
|
|
||||||
@del $(YTABC)
|
|
||||||
@del $(YTABH)
|
|
||||||
chdir $(SRC)
|
|
||||||
! ELSE
|
|
||||||
@echo $(U)lev_comp.y has changed.
|
|
||||||
@echo To update $(U)lev_yacc.c and $(INCL)\lev_comp.h run $(YACC).
|
|
||||||
@echo ---
|
|
||||||
@echo For now, we will copy the prebuilt lev_yacc.c and
|
|
||||||
@echo lev_comp.h from $(SSYS) into $(UTIL) and use them.
|
|
||||||
@copy $(SSYS)\lev_yacc.c $(U)lev_yacc.c >nul
|
|
||||||
@copy $(SSYS)\lev_comp.h $(INCL)\lev_comp.h >nul
|
|
||||||
@echo /**/ >>$(U)lev_yacc.c
|
|
||||||
@echo /**/ >>$(INCL)\lev_comp.h
|
|
||||||
! ENDIF
|
|
||||||
|
|
||||||
$(U)lev_$(LEX).c: $(U)lev_comp.l
|
|
||||||
! IF "$(DO_LEX)"=="LEX_ACT"
|
|
||||||
chdir $(UTIL)
|
|
||||||
$(LEX) $(FLEXSKEL) lev_comp.l
|
|
||||||
copy $(LEXYYC) $@
|
|
||||||
@del $(LEXYYC)
|
|
||||||
chdir $(SRC)
|
|
||||||
! ELSE
|
|
||||||
@echo $(U)lev_comp.l has changed. To update $@ run $(LEX).
|
|
||||||
@echo ---
|
|
||||||
@echo For now, we will copy the prebuilt lev_lex.c
|
|
||||||
@echo from $(SSYS) into $(UTIL) and use it.
|
|
||||||
@copy $(SSYS)\lev_lex.c $@ >nul
|
|
||||||
@echo /**/ >>$@
|
|
||||||
! ENDIF
|
|
||||||
|
|
||||||
#==========================================
|
|
||||||
# Dungeon Compiler Stuff
|
# Dungeon Compiler Stuff
|
||||||
#==========================================
|
#=================================================
|
||||||
|
#
|
||||||
|
# defer to the steps in ..\win\win32\dgnstuff.mak
|
||||||
|
#
|
||||||
|
$(U)dgn_yacc.c $(INCL)\dgn_comp.h : $(U)dgn_comp.y
|
||||||
|
nmake -nologo -f ..\win\win32\dgnstuff.mak default
|
||||||
|
|
||||||
|
$(O)dgn_yacc.o: $(HACK_H) $(DGN_FILE_H) $(INCL)\dgn_comp.h $(U)dgn_yacc.c
|
||||||
|
@$(CC) $(LEVCFLAGS) -W0 -Fo$@ $(U)dgn_yacc.c
|
||||||
|
|
||||||
|
$(O)dgn_lex.o: $(HACK_H) $(DGN_FILE_H) $(INCL)\dgn_comp.h \
|
||||||
|
$(U)dgn_lex.c
|
||||||
|
@$(CC) $(LEVCFLAGS) -W0 -Fo$@ $(U)dgn_lex.c
|
||||||
|
|
||||||
|
$(O)dgn_main.o: $(HACK_H) $(U)dgn_main.c
|
||||||
|
@$(CC) $(LEVCFLAGS) -W0 -Fo$@ $(U)dgn_main.c
|
||||||
|
|
||||||
$(U)dgncomp.exe: $(DGNCOMPOBJS)
|
$(U)dgncomp.exe: $(DGNCOMPOBJS)
|
||||||
@echo Linking $@...
|
@echo Linking $@...
|
||||||
@@ -975,56 +935,9 @@ $(U)dgncomp.exe: $(DGNCOMPOBJS)
|
|||||||
)
|
)
|
||||||
<<
|
<<
|
||||||
|
|
||||||
$(O)dgn_yacc.o: $(HACK_H) $(DGN_FILE_H) $(INCL)\dgn_comp.h $(U)dgn_yacc.c
|
#=================================================
|
||||||
@$(CC) $(LEVCFLAGS) -W0 -Fo$@ $(U)dgn_yacc.c
|
|
||||||
|
|
||||||
$(O)dgn_$(LEX).o: $(HACK_H) $(DGN_FILE_H) $(INCL)\dgn_comp.h \
|
|
||||||
$(U)dgn_$(LEX).c
|
|
||||||
@$(CC) $(LEVCFLAGS) -W0 -Fo$@ $(U)dgn_$(LEX).c
|
|
||||||
|
|
||||||
$(O)dgn_main.o: $(HACK_H) $(U)dgn_main.c
|
|
||||||
@$(CC) $(LEVCFLAGS) -W0 -Fo$@ $(U)dgn_main.c
|
|
||||||
|
|
||||||
$(U)dgn_yacc.c $(INCL)\dgn_comp.h : $(U)dgn_comp.y
|
|
||||||
! IF "$(DO_YACC)"=="YACC_ACT"
|
|
||||||
chdir $(UTIL)
|
|
||||||
$(YACC) -d dgn_comp.y
|
|
||||||
copy $(YTABC) dgn_yacc.c
|
|
||||||
copy $(YTABH) $(INCL)\dgn_comp.h
|
|
||||||
@del $(YTABC)
|
|
||||||
@del $(YTABH)
|
|
||||||
chdir $(SRC)
|
|
||||||
! ELSE
|
|
||||||
@echo $(U)dgn_comp.y has changed. To update dgn_yacc.c and
|
|
||||||
@echo $(INCL)\dgn_comp.h run $(YACC).
|
|
||||||
@echo ---
|
|
||||||
@echo For now, we will copy the prebuilt $(U)dgn_yacc.c and
|
|
||||||
@echo dgn_comp.h from $(SSYS) into $(UTIL) and use them.
|
|
||||||
@copy $(SSYS)\dgn_yacc.c $(U)dgn_yacc.c >nul
|
|
||||||
@copy $(SSYS)\dgn_comp.h $(INCL)\dgn_comp.h >nul
|
|
||||||
@echo /**/ >>$(U)dgn_yacc.c
|
|
||||||
@echo /**/ >>$(INCL)\dgn_comp.h
|
|
||||||
! ENDIF
|
|
||||||
|
|
||||||
$(U)dgn_$(LEX).c: $(U)dgn_comp.l
|
|
||||||
! IF "$(DO_LEX)"=="LEX_ACT"
|
|
||||||
chdir $(UTIL)
|
|
||||||
$(LEX) $(FLEXSKEL) dgn_comp.l
|
|
||||||
copy $(LEXYYC) $@
|
|
||||||
@del $(LEXYYC)
|
|
||||||
chdir $(SRC)
|
|
||||||
! ELSE
|
|
||||||
@echo $(U)dgn_comp.l has changed. To update $@ run $(LEX).
|
|
||||||
@echo ---
|
|
||||||
@echo For now, we will copy the prebuilt dgn_lex.c
|
|
||||||
@echo from $(SSYS) into $(UTIL) and use it.
|
|
||||||
@copy $(SSYS)\dgn_lex.c $@ >nul
|
|
||||||
@echo /**/ >>$@
|
|
||||||
! ENDIF
|
|
||||||
|
|
||||||
#==========================================
|
|
||||||
# Create directory for holding object files
|
# Create directory for holding object files
|
||||||
#==========================================
|
#=================================================
|
||||||
|
|
||||||
$(O)obj.tag:
|
$(O)obj.tag:
|
||||||
@if not exist $(OBJ)\*.* echo creating directory $(OBJ)
|
@if not exist $(OBJ)\*.* echo creating directory $(OBJ)
|
||||||
@@ -1062,7 +975,7 @@ envchk:
|
|||||||
#==========================================
|
#==========================================
|
||||||
|
|
||||||
#===========================================
|
#===========================================
|
||||||
# Header files NOT distributed in ..\include
|
# Header files NOT distributed in $(INCL)
|
||||||
#===========================================
|
#===========================================
|
||||||
|
|
||||||
$(INCL)\win32api.h: $(NTSYS)\win32api.h
|
$(INCL)\win32api.h: $(NTSYS)\win32api.h
|
||||||
@@ -1339,6 +1252,14 @@ clean:
|
|||||||
if exist $(O)sp_lev.tag del $(O)sp_lev.tag
|
if exist $(O)sp_lev.tag del $(O)sp_lev.tag
|
||||||
if exist $(O)uudecode.MAP del $(O)uudecode.MAP
|
if exist $(O)uudecode.MAP del $(O)uudecode.MAP
|
||||||
if exist $(O)uudecode.PDB del $(O)uudecode.PDB
|
if exist $(O)uudecode.PDB del $(O)uudecode.PDB
|
||||||
|
rem
|
||||||
|
rem defer to the steps in ..\win\win32\levstuff.mak
|
||||||
|
rem
|
||||||
|
nmake -nologo -f ..\win\win32\levstuff.mak clean
|
||||||
|
rem
|
||||||
|
rem defer to the steps in ..\win\win32\dgnstuff.mak
|
||||||
|
rem
|
||||||
|
nmake -nologo -f ..\win\win32\dgnstuff.mak clean
|
||||||
|
|
||||||
! IF ("$(WINPFLAG)"!="")
|
! IF ("$(WINPFLAG)"!="")
|
||||||
if exist $(TILEBMP16) del $(TILEBMP16)
|
if exist $(TILEBMP16) del $(TILEBMP16)
|
||||||
|
|||||||
Reference in New Issue
Block a user