infraarcana: update to infraarcana-18.2

The shell script has been renamed  "infraarcana" in line with the package name.
Infra Arcana has switched to SDL2 and along with the change I experienced some
input problems for which I added a work around (see
patches/patch-src_input.cpp).

Changes:

--------------------------------------------------------------
v18.2 (July 2, 2016)
--------------------------------------------------------------
Gameplay
* All backgrounds (classes) now have ranged attack bonus vs unaware targets (not just Rogues)
* Ghoul characters are no longer shocked by Ghoul statues
* You no longer drop your items when you die
* Removed the "R" command to rearrange rounds between pistol magazines - this is now instead done when you wait (with "5", "s", or ".")
* Spider webs are now destroyed when the creature held is teleported away or knocked back
* Fire Hound bites now also causes Burning (like their ranged attacks)
* Slightly reduced the number of Medical Bag supplies
* Critically failing a melee attack can no longer result in dropping the weapon

Interface
* When picking traits, the game now shows all traits and their prerequisites (no information is hidden)
* When aiming explosives, the explosion size is marked on the map
* Added option for confirming "-More-" prompts with any key (off by default)
* Messages are no longer written in all capitals while Frenzied
* New menu color scheme
* Removed some redundant messages to reduce clutter ("I pause for a while...", "I stop waiting.")
* Added a section in the manual about inventory handling

Bug fixes
* Fixed a bug that caused monsters with Fear Resistance to end all player phobias when they spawned (this was mistakenly reported to the insanity system as a "player gaining permanent rFear" event)
* Fixed some buggy item drop code (which may have caused crashes)
* Fixed some minor bugs in the map generator (the map generator can also do a few new things now, although it's probably subtle)
* Fixed some errors in Manuscript names (underscores had snuck into a few names for some reason)
* Fixed a bug that (in some rare specific cases) allowed monsters to move into the position already occupied by another monster
* Fixed a bug were teleporting or being knocked back while held by a spider web, caused the web to be able to hold any creature that walked into it, regardless of monster type (e.g. ethereal monsters or spiders could then also be held)

--------------------------------------------------------------
v18.1 (Mars 17, 2016)
--------------------------------------------------------------
Gameplay
* Worms Masses may now only split once (i.e. the split worms may not also split themselves), they do not split if they are killed with enough damage, they are not allowed to attack immediately after being split, and the confusion effect from Mind Worm bites has a much shorter duration. However, Worms now move at normal speed (instead of slow).
* Gas Mask and Asbestos Suit now protects against blindness from Ravens, Spitting Cobras, and Dust Vortexes
* Vortex monsters no longer "explode" when they die
* Oozes can no longer regenerate HP while burning
* There is now much smaller chance of gaining multiple phobias, and you can never become both sadistic and masochistic at the same time
* Picking the Fearless trait immediately ends all active phobias
* When bashing or eating multiple corpses in the same cell, Zombie-type monsters are now prioritized (since you want to destroy them as soon as possible before they rise)
* You can now also kick in your own cell ("w", then "5" or ".") - to destroy corpses you're standing on
* You are no longer "telepathically"aware of where all allied monsters are - if they are out of sight or invisible, you can lose awareness of them
* You can now only accidentally drop your melee weapon during combat if you are Cursed

Interface
* Spells in the casting menu now appear in the order that you learned the spells (instead of alphabetically)
* On turns that you can walk for free due to Dextrous, the "T" is now colored green instead of the number (to be less distracting)
* Removed the "icon mode" which used a heart, brain, stopwatch etc as symbols in the user interface
* The message "I stop waiting" is no longer printed when fainting or paralyzed

Bug fixes
* Fixed some bugs in the monster movement AI (it wasn't anything critical, but it made them act a bit weird in a few specific situations)
* Fixed a faulty message when pressing "t" with no item selected for throwing (the message adviced to press "w" to wield a throwing weapon, but the actual key should be "i")
* Property messages such as "...is paralyzed" is no longer allowed for dead monsters

--------------------------------------------------------------
v18.0 (January 28, 2016)
--------------------------------------------------------------
Gameplay
* Added more monsters
* Added invisibility property
* Ghost-type monsters and Polyps are invisible.
* New Potions: Invisibility and See Invisible (can see all invisible and sneaking monsters, prevents blindness)
* Bumping an unseen monster (sneaking or invisible) that you are unaware of no longer performs a melee attack, instead it prints a message such as "There is someone here!", and makes you aware of the monster (you see it as a "!" on the map)
* New background: Ghoul
* New property: Infravision (the Ghoul background starts with this, and many monsters has it), which allows you to see infra-visible creatures in the dark
* Made several changes to how traps work - most importantly, when they activate there is usually a delay of a couple of turns from when they activate until the effect occurs - this means that you can (sometimes) avoid the effect by moving away from the trap
* Added command [R] for organizing Colt magazines (the game will reload your wielded or readied Colt, or move single rounds between magazines, whichever is better)
* Added command [N] to make noise (for luring monsters)
* Monsters fighting each other now generates sounds ("I hear fighting.")
* Unequipping any item spends a turn
* Critical misses for melee attacks (1% chance normally) now cause various bad things to happen, such as becoming exhausted, or dropping the weapon
* Disarming traps gives a small amount of XP
* Potions of Fortitude no longer cures all insanity symptoms (phobias, etc), instead they only heal one random symptom
* There is now a delay when quaffing Potion of Descent until the effect happens
* Changed Potion of Antidote to Potion of Curing, which acts like a light version of Potion of Healing
* All Potions are now guaranteed to identify when you drink them
* Added new item class "Rods" - these are similar to Devices, except they never break or malfunction, and instead have a cooldown time before they can be used again
* The Wound system (which was removed in v17) is now back again - when you take heavy damage in one hit you receive a Wound - each wound reduces your fighting abilities, maximum HP, and HP regeneration rate - wounds can be healed with the Medical Bag
* Chests are never made of iron until at least dungeon level 3
* Added more traits
* The Melee Fighter skills now also gives extra damage (in addition to better hit chances), Master Marksman (the final Marksman skill) gives extra ranged damage
* The Mobile trait now only makes every third step a free action (instead of every second step)
* Walking in liquids stops Burning
* You can no longer read scrolls in darkness
* Items which in the previous version raised your shock when carried/equiped (such as Jewelry or the Mi-go armor) now raise your insanity instead (as long as you keep the item).
* Removed cold damage, and all items/monsters related to it
* Removed Potion of Frenzy
* Added Frenzy as an insanity symptom
* Braziers light up cells around them, and can be kicked over to do fire damage in a small area (similar to a small molotov explosion)
* The Spirit traits now also gives spell resistance - a harmful spell cast on you will be blocked, then it takes a certain number of turns to regain spell resistance
* Any melee weapon can now be thrown
* New spell: Animate Weapons - causes melee weapons to rise into the air and protect you (after a while they will drop to the ground and become normal weapons again)
* Added more Insanity symptoms

Interface
* Migrated to SDL2 (fullscreen mode may work better for you now, if you had problems with this before)
* In window mode, the window is created centered on the screen
* In some menus, options can now be selected directly with letter keys
* Page Up / Page Down can now be used in menus to jump to the top/bottom (if menu fits on screen), or to the previous/next screen (if menu takes up multiple screens)
* The [a] command is no longer a shortcut for Medical Bag and Electric Lantern, instead it opens a filtered inventory view only showing items which can be Applied (read, quaffed, activated, ignited, etc)
* Changed Inventory key to [i] instead of [w]
* [w] is now used for kicking/bashing instead of [q] (*Wham*)
* Intrinsic properties that lasts indefinitely are now spelled with upper case (e.g. you can be "DISEASED" or "Diseased"), to clarify that waiting will not end the effect
* Added an option for using symbols such as a heart for Hit Points, and a brain for Insanity in the interface (the old text based way is the default option)
* Reworked background and trait picking screens
* Removed the [D] command for jamming doors - instead using the "Close" command [c] on an already closed door will now attempt to jam it
* Removed uppercase [X] command, and instead made lowercase [x] bring up the spell selection menu (instead of re-casting previous spell)
* Added another typewriter font
* There is now a log of "historic events" (such as identifying a potion, or killing a unique monster) viewable from the character info screen or from the game info screen after the game is over
* If you are Dexterous, the turncount is marked green on turns where you will get a free step
* The monster description pages shows more information (e.g. how many turns they will remember you, how frightening they are, and also their current properties such as terrified, burning, flying, etc)
* Added more sound effects (events and ambient sounds)
* While aiming aiming, the marker shows if the path goes through any seen blocking cells

Bug fixes
* Fixed a bug that could crash the game, especially during map generation (thanks "stevebob"!)
* Fixed a bug that caused the player's dodge chance to be calculated the wrong way when Ghosts attempted to "touch" you
* If you ignited an explosive (Dynamite, Molotov, Flare, Smoke grenade) while already holding another, the first one would just be erased - now the game prevents you from igniting a new explosive instead
* Fixed a bug that prevented Flare Guns from burning the target
* Fixed a bug where bumping a hidden door would print a different message than bumping a wall (and thus indicating the presence of the door)
This commit is contained in:
Yorick Hardy 2016-11-20 18:27:33 +02:00
parent ce3096eaf1
commit e4b9cfc0e4
11 changed files with 510 additions and 228 deletions

View file

@ -1,10 +1,18 @@
# $NetBSD: Makefile,v 1.1 2015/08/19 19:42:29 yhardy Exp $
DISTNAME= ia-17.0
PKGNAME= infraarcana-17.0
DISTNAME= ia-18.2
PKGNAME= infraarcana-18.2
CATEGORIES= games
MASTER_SITES= ${MASTER_SITE_GITHUB:=InfraArcana/}
MASTER_SITES= ${MASTER_SITE_GITHUB:=martin-tornqvist/}
GITHUB_PROJECT= ia
GITHUB_TAG= v${PKGVERSION_NOREV}
DIST_SUBDIR= ${PKGBASE}
DISTFILES= ${DEFAULT_DISTFILES} rl_utils-${RLUTILSVER}.zip
RLUTILSVER= 757bef657fa43e2d7f41192e07227a00c62236e4
SITES.rl_utils-${RLUTILSVER}.zip= \
-${MASTER_SITES:=rl_utils/archive/${RLUTILSVER}.zip}
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= https://sites.google.com/site/infraarcana/
@ -18,31 +26,38 @@ USE_TOOLS+= gmake
USE_GAMESGROUP= yes
INSTALLATION_DIRS+= bin
INSTALLATION_DIRS+= share/InfraArcanum
INSTALLATION_DIRS+= share/InfraArcanum/audio
INSTALLATION_DIRS+= share/InfraArcanum/data
INSTALLATION_DIRS+= share/InfraArcanum/images
INSTALLATION_DIRS+= share/InfraArcana
INSTALLATION_DIRS+= share/InfraArcana/audio
INSTALLATION_DIRS+= share/InfraArcana/data
INSTALLATION_DIRS+= share/InfraArcana/images
# See patches/patch-Makefile
BUILD_MAKE_FLAGS+= X11_LDFLAGS=${X11_LDFLAGS:Q}
post-extract:
${UNZIP_CMD} -d ${WRKSRC}/rl_utils ${DISTDIR}/${DIST_SUBDIR}/rl_utils-${RLUTILSVER}.zip
cd ${WRKSRC}/rl_utils && ${MV} rl_utils-${RLUTILSVER}/* .
post-build:
${SED} -e 's,@PREFIX@,${PREFIX},g' < ${FILESDIR}/infraarcanum.sh > ${WRKSRC}/infraarcanum.sh
${SED} -e 's,@PREFIX@,${PREFIX},g' < ${FILESDIR}/infraarcana.sh > ${WRKSRC}/infraarcana.sh
${TOUCH} ${WRKSRC}/target/data/highscores
do-install:
${INSTALL_GAME} ${WRKSRC}/target/ia ${DESTDIR}${PREFIX}/share/InfraArcanum
${INSTALL_GAME} ${WRKSRC}/target/ia ${DESTDIR}${PREFIX}/share/InfraArcana
for f in ${WRKSRC}/target/*.txt; do \
${INSTALL_DATA} $$f ${DESTDIR}${PREFIX}/share/InfraArcanum/$${f##*/}; \
${INSTALL_DATA} $$f ${DESTDIR}${PREFIX}/share/InfraArcana/$${f##*/}; \
done
for f in ${WRKSRC}/target/audio/*; do \
${INSTALL_DATA} $$f ${DESTDIR}${PREFIX}/share/InfraArcanum/audio/$${f##*/}; \
${INSTALL_DATA} $$f ${DESTDIR}${PREFIX}/share/InfraArcana/audio/$${f##*/}; \
done
for f in ${WRKSRC}/target/images/*; do \
${INSTALL_DATA} $$f ${DESTDIR}${PREFIX}/share/InfraArcanum/images/$${f##*/}; \
${INSTALL_DATA} $$f ${DESTDIR}${PREFIX}/share/InfraArcana/images/$${f##*/}; \
done
${INSTALL_GAME_DATA} ${WRKSRC}/target/ascii_graveyard ${DESTDIR}${PREFIX}/share/InfraArcanum/
${INSTALL_GAME_DATA} ${WRKSRC}/target/data/highscores ${DESTDIR}${PREFIX}/share/InfraArcanum/data/
${INSTALL_SCRIPT} ${WRKSRC}/infraarcanum.sh ${DESTDIR}${PREFIX}/bin/infraarcanum
${INSTALL_GAME_DATA} ${WRKSRC}/target/data/highscores ${DESTDIR}${PREFIX}/share/InfraArcana/data/
${INSTALL_GAME_DATA} ${WRKSRC}/target/data/save ${DESTDIR}${PREFIX}/share/InfraArcana/data/
${INSTALL_SCRIPT} ${WRKSRC}/infraarcana.sh ${DESTDIR}${PREFIX}/bin/infraarcana
.include "../../audio/SDL_mixer/buildlink3.mk"
.include "../../devel/SDL/buildlink3.mk"
.include "../../graphics/SDL_image/buildlink3.mk"
.include "../../audio/SDL2_mixer/buildlink3.mk"
.include "../../devel/SDL2/buildlink3.mk"
.include "../../graphics/SDL2_image/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

View file

@ -1,103 +1,123 @@
@comment $NetBSD: PLIST,v 1.1 2015/08/19 19:42:29 yhardy Exp $
bin/infraarcanum
share/InfraArcanum/ascii_graveyard
share/InfraArcanum/audio/Musica_Cthulhiana-Fragment-Madness.ogg
share/InfraArcanum/audio/amb_001.ogg
share/InfraArcanum/audio/amb_002.ogg
share/InfraArcanum/audio/amb_003.ogg
share/InfraArcanum/audio/amb_004.ogg
share/InfraArcanum/audio/amb_005.ogg
share/InfraArcanum/audio/amb_006.ogg
share/InfraArcanum/audio/amb_007.ogg
share/InfraArcanum/audio/amb_008.ogg
share/InfraArcanum/audio/amb_009.ogg
share/InfraArcanum/audio/amb_010.ogg
share/InfraArcanum/audio/amb_011.ogg
share/InfraArcanum/audio/amb_012.ogg
share/InfraArcanum/audio/amb_013.ogg
share/InfraArcanum/audio/amb_014.ogg
share/InfraArcanum/audio/amb_015.ogg
share/InfraArcanum/audio/amb_016.ogg
share/InfraArcanum/audio/amb_017.ogg
share/InfraArcanum/audio/amb_018.ogg
share/InfraArcanum/audio/amb_019.ogg
share/InfraArcanum/audio/amb_020.ogg
share/InfraArcanum/audio/amb_021.ogg
share/InfraArcanum/audio/amb_022.ogg
share/InfraArcanum/audio/amb_023.ogg
share/InfraArcanum/audio/amb_024.ogg
share/InfraArcanum/audio/amb_025.ogg
share/InfraArcanum/audio/amb_026.ogg
share/InfraArcanum/audio/amb_027.ogg
share/InfraArcanum/audio/amb_028.ogg
share/InfraArcanum/audio/amb_029.ogg
share/InfraArcanum/audio/amb_030.ogg
share/InfraArcanum/audio/amb_031.ogg
share/InfraArcanum/audio/amb_032.ogg
share/InfraArcanum/audio/amb_033.ogg
share/InfraArcanum/audio/amb_034.ogg
share/InfraArcanum/audio/amb_035.ogg
share/InfraArcanum/audio/amb_036.ogg
share/InfraArcanum/audio/amb_037.ogg
share/InfraArcanum/audio/sfx_ape.ogg
share/InfraArcanum/audio/sfx_backpack.ogg
share/InfraArcanum/audio/sfx_bossVoice1.ogg
share/InfraArcanum/audio/sfx_bossVoice2.ogg
share/InfraArcanum/audio/sfx_death.ogg
share/InfraArcanum/audio/sfx_dogSnarl.ogg
share/InfraArcanum/audio/sfx_doorBang.ogg
share/InfraArcanum/audio/sfx_doorBreak.ogg
share/InfraArcanum/audio/sfx_doorClose.ogg
share/InfraArcanum/audio/sfx_doorOpen.ogg
share/InfraArcanum/audio/sfx_electricLantern.ogg
share/InfraArcanum/audio/sfx_explosion.ogg
share/InfraArcanum/audio/sfx_explosionMolotov.ogg
share/InfraArcanum/audio/sfx_flappingWings.ogg
share/InfraArcanum/audio/sfx_fountainDrink.ogg
share/InfraArcanum/audio/sfx_ghoulGrowl.ogg
share/InfraArcanum/audio/sfx_glop.ogg
share/InfraArcanum/audio/sfx_hitCorpseBreak.ogg
share/InfraArcanum/audio/sfx_hitHard.ogg
share/InfraArcanum/audio/sfx_hitMedium.ogg
share/InfraArcanum/audio/sfx_hitSharp.ogg
share/InfraArcanum/audio/sfx_hitSmall.ogg
share/InfraArcanum/audio/sfx_insanityRising.ogg
share/InfraArcanum/audio/sfx_machineGunFire.ogg
share/InfraArcanum/audio/sfx_machineGunReload.ogg
share/InfraArcanum/audio/sfx_metalClank.ogg
share/InfraArcanum/audio/sfx_migoGun.ogg
share/InfraArcanum/audio/sfx_missHeavy.ogg
share/InfraArcanum/audio/sfx_missLight.ogg
share/InfraArcanum/audio/sfx_missMedium.ogg
share/InfraArcanum/audio/sfx_oozeGurgle.ogg
share/InfraArcanum/audio/sfx_pickup.ogg
share/InfraArcanum/audio/sfx_pistolFire.ogg
share/InfraArcanum/audio/sfx_pistolReload.ogg
share/InfraArcanum/audio/sfx_potionQuaff.ogg
share/InfraArcanum/audio/sfx_ricochet.ogg
share/InfraArcanum/audio/sfx_shotgunPumpFire.ogg
share/InfraArcanum/audio/sfx_shotgunReload.ogg
share/InfraArcanum/audio/sfx_shotgunSawedOffFire.ogg
share/InfraArcanum/audio/sfx_spellGeneric.ogg
share/InfraArcanum/audio/sfx_spikeGun.ogg
share/InfraArcanum/audio/sfx_tombOpen.ogg
share/InfraArcanum/audio/sfx_wolfHowl.ogg
share/InfraArcanum/audio/sfx_zombieGrowl.ogg
share/InfraArcanum/contact.txt
share/InfraArcanum/credits.txt
share/InfraArcanum/data/highscores
share/InfraArcanum/ia
share/InfraArcanum/images/11x19.png
share/InfraArcanum/images/11x22.png
share/InfraArcanum/images/12x24.png
share/InfraArcanum/images/16x24_DOS.png
share/InfraArcanum/images/16x24_typewriter.png
share/InfraArcanum/images/16x24_v1.png
share/InfraArcanum/images/16x24_v2.png
share/InfraArcanum/images/16x24_v3.png
share/InfraArcanum/images/8x12_DOS.png
share/InfraArcanum/images/gfx_16x24.png
share/InfraArcanum/images/main_menu_logo.png
share/InfraArcanum/license.txt
share/InfraArcanum/manual.txt
share/InfraArcanum/release_history.txt
@comment $NetBSD$
bin/infraarcana
share/InfraArcana/audio/amb_001.ogg
share/InfraArcana/audio/amb_002.ogg
share/InfraArcana/audio/amb_003.ogg
share/InfraArcana/audio/amb_004.ogg
share/InfraArcana/audio/amb_005.ogg
share/InfraArcana/audio/amb_006.ogg
share/InfraArcana/audio/amb_007.ogg
share/InfraArcana/audio/amb_008.ogg
share/InfraArcana/audio/amb_009.ogg
share/InfraArcana/audio/amb_010.ogg
share/InfraArcana/audio/amb_011.ogg
share/InfraArcana/audio/amb_012.ogg
share/InfraArcana/audio/amb_013.ogg
share/InfraArcana/audio/amb_014.ogg
share/InfraArcana/audio/amb_015.ogg
share/InfraArcana/audio/amb_016.ogg
share/InfraArcana/audio/amb_017.ogg
share/InfraArcana/audio/amb_018.ogg
share/InfraArcana/audio/amb_019.ogg
share/InfraArcana/audio/amb_020.ogg
share/InfraArcana/audio/amb_021.ogg
share/InfraArcana/audio/amb_022.ogg
share/InfraArcana/audio/amb_023.ogg
share/InfraArcana/audio/amb_024.ogg
share/InfraArcana/audio/amb_025.ogg
share/InfraArcana/audio/amb_026.ogg
share/InfraArcana/audio/amb_027.ogg
share/InfraArcana/audio/amb_028.ogg
share/InfraArcana/audio/amb_029.ogg
share/InfraArcana/audio/amb_030.ogg
share/InfraArcana/audio/amb_031.ogg
share/InfraArcana/audio/amb_032.ogg
share/InfraArcana/audio/amb_033.ogg
share/InfraArcana/audio/amb_034.ogg
share/InfraArcana/audio/amb_035.ogg
share/InfraArcana/audio/amb_036.ogg
share/InfraArcana/audio/amb_037.ogg
share/InfraArcana/audio/amb_038.ogg
share/InfraArcana/audio/amb_039.ogg
share/InfraArcana/audio/amb_040.ogg
share/InfraArcana/audio/amb_041.ogg
share/InfraArcana/audio/amb_042.ogg
share/InfraArcana/audio/amb_043.ogg
share/InfraArcana/audio/amb_044.ogg
share/InfraArcana/audio/amb_045.ogg
share/InfraArcana/audio/amb_046.ogg
share/InfraArcana/audio/amb_047.ogg
share/InfraArcana/audio/amb_048.ogg
share/InfraArcana/audio/amb_049.ogg
share/InfraArcana/audio/amb_050.ogg
share/InfraArcana/audio/musica_cthulhiana-fragment-madness.ogg
share/InfraArcana/audio/sfx_ape.ogg
share/InfraArcana/audio/sfx_backpack.ogg
share/InfraArcana/audio/sfx_bite.ogg
share/InfraArcana/audio/sfx_boss_voice1.ogg
share/InfraArcana/audio/sfx_boss_voice2.ogg
share/InfraArcana/audio/sfx_death.ogg
share/InfraArcana/audio/sfx_dog_snarl.ogg
share/InfraArcana/audio/sfx_door_bang.ogg
share/InfraArcana/audio/sfx_door_break.ogg
share/InfraArcana/audio/sfx_door_close.ogg
share/InfraArcana/audio/sfx_door_open.ogg
share/InfraArcana/audio/sfx_electric_lantern.ogg
share/InfraArcana/audio/sfx_explosion.ogg
share/InfraArcana/audio/sfx_explosion_molotov.ogg
share/InfraArcana/audio/sfx_flapping_wings.ogg
share/InfraArcana/audio/sfx_fountain_drink.ogg
share/InfraArcana/audio/sfx_gas.ogg
share/InfraArcana/audio/sfx_ghoul_growl.ogg
share/InfraArcana/audio/sfx_glop.ogg
share/InfraArcana/audio/sfx_hiss.ogg
share/InfraArcana/audio/sfx_hit_corpse_break.ogg
share/InfraArcana/audio/sfx_hit_hard.ogg
share/InfraArcana/audio/sfx_hit_medium.ogg
share/InfraArcana/audio/sfx_hit_sharp.ogg
share/InfraArcana/audio/sfx_hit_small.ogg
share/InfraArcana/audio/sfx_insanity_rising.ogg
share/InfraArcana/audio/sfx_machine_gun_fire.ogg
share/InfraArcana/audio/sfx_machine_gun_reload.ogg
share/InfraArcana/audio/sfx_metal_clank.ogg
share/InfraArcana/audio/sfx_migo_gun.ogg
share/InfraArcana/audio/sfx_miss_heavy.ogg
share/InfraArcana/audio/sfx_miss_light.ogg
share/InfraArcana/audio/sfx_miss_medium.ogg
share/InfraArcana/audio/sfx_ooze_gurgle.ogg
share/InfraArcana/audio/sfx_pickup.ogg
share/InfraArcana/audio/sfx_pistol_fire.ogg
share/InfraArcana/audio/sfx_pistol_reload.ogg
share/InfraArcana/audio/sfx_potion_quaff.ogg
share/InfraArcana/audio/sfx_ricochet.ogg
share/InfraArcana/audio/sfx_shotgun_pump_fire.ogg
share/InfraArcana/audio/sfx_shotgun_reload.ogg
share/InfraArcana/audio/sfx_shotgun_sawed_off_fire.ogg
share/InfraArcana/audio/sfx_spell_generic.ogg
share/InfraArcana/audio/sfx_spell_shield_break.ogg
share/InfraArcana/audio/sfx_spike_gun.ogg
share/InfraArcana/audio/sfx_tomb_open.ogg
share/InfraArcana/audio/sfx_wolf_howl.ogg
share/InfraArcana/audio/sfx_zombie_growl.ogg
share/InfraArcana/contact.txt
share/InfraArcana/credits.txt
share/InfraArcana/data/highscores
share/InfraArcana/data/save
share/InfraArcana/ia
share/InfraArcana/images/11x19.png
share/InfraArcana/images/11x22.png
share/InfraArcana/images/12x24.png
share/InfraArcana/images/16x24_DOS.png
share/InfraArcana/images/16x24_typewriter_v1.png
share/InfraArcana/images/16x24_typewriter_v2.png
share/InfraArcana/images/16x24_v1.png
share/InfraArcana/images/16x24_v2.png
share/InfraArcana/images/16x24_v3.png
share/InfraArcana/images/8x12_DOS.png
share/InfraArcana/images/SPECIAL_ELITE_License.txt
share/InfraArcana/images/gfx_16x24.png
share/InfraArcana/images/main_menu_logo.png
share/InfraArcana/images/skull.png
share/InfraArcana/license.txt
share/InfraArcana/manual.txt
share/InfraArcana/release_history.txt

View file

@ -1,7 +1,14 @@
$NetBSD: distinfo,v 1.1 2015/08/19 19:42:29 yhardy Exp $
SHA1 (ia-17.0.tar.gz) = 27cf4e37cf727367899208ad3cec67d2e4c28027
RMD160 (ia-17.0.tar.gz) = ec57372405bc8f106aa6f1ff0616c1da4f214d78
Size (ia-17.0.tar.gz) = 19962153 bytes
SHA1 (patch-src_Config.cpp) = 3de8baf11b217d8640d921b468be579451592896
SHA1 (patch-src_SaveHandling.cpp) = e57e5674ec255c7205d6d8992a4e32d69134c3d2
SHA1 (infraarcana/ia-18.2.tar.gz) = 73e21a3c41b130d937b123268678765612b7c7da
RMD160 (infraarcana/ia-18.2.tar.gz) = 9b7d499506246fe1246e562c4cf81ee64f3630d4
SHA512 (infraarcana/ia-18.2.tar.gz) = 4a6d09c0836ad0337e0e92e1f554551c2f93c65767779072abce9d9482b5aabc20da14eeb66bfda80d18254e1b42b71c93c4c1da8b5e449ce526db07be73885d
Size (infraarcana/ia-18.2.tar.gz) = 33576360 bytes
SHA1 (infraarcana/rl_utils-757bef657fa43e2d7f41192e07227a00c62236e4.zip) = bc96a273a940cd218b9f7ea0819eda2ef45cc920
RMD160 (infraarcana/rl_utils-757bef657fa43e2d7f41192e07227a00c62236e4.zip) = 51ba0809f8fb915164039eb396a68d34534f9515
SHA512 (infraarcana/rl_utils-757bef657fa43e2d7f41192e07227a00c62236e4.zip) = 9ad70df01991302fa2b33739c1971072447daf65db1fc5d550208be7f31037bc2558a4f83b2eb5f769a127743949b177b9ac8c979d33c4da80cea3a5edacbf97
Size (infraarcana/rl_utils-757bef657fa43e2d7f41192e07227a00c62236e4.zip) = 13629 bytes
SHA1 (patch-Makefile) = fee6998b86b63e1e67ee3d55561865d2f4565013
SHA1 (patch-src_config.cpp) = ac2ee03728e5dc0e7cd851bd5f9ef0392ae27f22
SHA1 (patch-src_input.cpp) = a84f3c470d08c9fa84de766fd951286a93dc1855
SHA1 (patch-src_save__handling.cpp) = 634c7a6db5870861e0d8e1a70a341776c16464a6

View file

@ -0,0 +1,3 @@
#!/bin/sh
cd @PREFIX@/share/InfraArcana && exec ./ia "$@"

View file

@ -1,3 +0,0 @@
#!/bin/sh
cd @PREFIX@/share/InfraArcanum && exec ./ia

View file

@ -0,0 +1,15 @@
$NetBSD$
Add X11 search path for libraries.
Is this a bug in devel/SDL2 ?
--- Makefile.orig 2016-07-02 15:42:10.000000000 +0000
+++ Makefile
@@ -91,6 +91,7 @@ release debug: LD_FLAGS = \
$(shell sdl2-config --libs) \
-lSDL2_image \
-lSDL2_mixer \
+ ${X11_LDFLAGS} \
#
# Executable

View file

@ -1,50 +0,0 @@
$NetBSD: patch-src_Config.cpp,v 1.1 2015/08/19 19:42:29 yhardy Exp $
Store config in home directory
--- src/Config.cpp.orig 2015-02-18 19:24:13.000000000 +0000
+++ src/Config.cpp
@@ -2,6 +2,7 @@
#include "Init.h"
+#include <cstdlib>
#include <fstream>
#include <SDL_image.h>
@@ -472,7 +473,16 @@ void draw(const MenuBrowser* const brows
void readFile(vector<string>& lines)
{
ifstream file;
- file.open("data/config");
+
+ char *home = getenv("HOME");
+ string config = "data/config";
+ if (home != NULL)
+ {
+ config = home;
+ config += "/.ia_config";
+ }
+
+ file.open(config);
if (file.is_open())
{
string line;
@@ -563,8 +573,16 @@ void setAllVariablesFromLines(vector<str
void writeLinesToFile(vector<string>& lines)
{
ofstream file;
- file.open("data/config", ios::trunc);
+ char *home = getenv("HOME");
+ string config = "data/config";
+ if (home != NULL)
+ {
+ config = home;
+ config += "/.ia_config";
+ }
+
+ file.open(config, ios::trunc);
for (size_t i = 0; i < lines.size(); ++i)
{
file << lines[i];

View file

@ -1,49 +0,0 @@
$NetBSD: patch-src_SaveHandling.cpp,v 1.1 2015/08/19 19:42:29 yhardy Exp $
Store saves in home directory
--- src/SaveHandling.cpp.orig 2015-02-18 19:24:13.000000000 +0000
+++ src/SaveHandling.cpp
@@ -1,5 +1,6 @@
#include "SaveHandling.h"
+#include <cstdlib>
#include <fstream>
#include <iostream>
@@ -73,7 +74,16 @@ void setupGameFromLines(vector<string>&
void writeFile(const vector<string>& lines)
{
ofstream file;
- file.open("data/save", ios::trunc);
+
+ char *home = getenv("HOME");
+ string save = "data/save";
+ if (home != NULL)
+ {
+ save = home;
+ save += "/.ia_save";
+ }
+
+ file.open(save, ios::trunc);
if (file.is_open())
{
@@ -91,7 +101,16 @@ void readFile(vector<string>& lines)
lines.clear();
string curLine;
- ifstream file("data/save");
+
+ char *home = getenv("HOME");
+ string save = "data/save";
+ if (home != NULL)
+ {
+ save = home;
+ save += "/.ia_save";
+ }
+
+ ifstream file(save);
if (file.is_open())
{
while (getline(file, curLine)) {lines.push_back(curLine);}

View file

@ -0,0 +1,42 @@
$NetBSD: patch-src_Config.cpp,v 1.1 2015/08/19 19:42:29 yhardy Exp $
Store config in home directory
--- src/config.cpp.orig 2016-07-02 15:42:10.000000000 +0000
+++ src/config.cpp
@@ -512,7 +512,16 @@ void draw(const Menu_browser* const brow
void read_file(std::vector<std::string>& lines)
{
std::ifstream file;
- file.open("data/config");
+ char *home = getenv("HOME");
+ std::string config = "data/config";
+
+ if (home != NULL)
+ {
+ config = home;
+ config += "/.ia_config";
+ }
+
+ file.open(config);
if (file.is_open())
{
@@ -605,7 +614,16 @@ void set_variables_from_lines(std::vecto
void write_lines_to_file(std::vector<std::string>& lines)
{
std::ofstream file;
- file.open("data/config", std::ios::trunc);
+ char *home = getenv("HOME");
+ std::string config = "data/config";
+
+ if (home != NULL)
+ {
+ config = home;
+ config += "/.ia_config";
+ }
+
+ file.open(config, std::ios::trunc);
for (size_t i = 0; i < lines.size(); ++i)
{

View file

@ -0,0 +1,240 @@
$NetBSD$
SDL_StartTextInput() does not seem to provide the keys as expected,
so work around the problem by using the key codes (this does not
ignore SDL_TEXTINPUT events, it handles the case when SDL_KEYDOWN
is sent instead).
It looks like devel/SDL2 must depend on inputmethod/ibus for
SDL_StartTextInput() to work as expected (*cringe*). Alternatively,
we need to define X_HAVE_UTF8_STRING when compiling devel/SDL and
devel/SDL2, but the configure scripts don't provide a means to
enable this flag (and I could not get the input to work with this
flag - so I am not sure if the problem is solved in this case).
--- src/input.cpp.orig 2016-07-02 15:42:10.000000000 +0000
+++ src/input.cpp
@@ -1295,6 +1295,223 @@ Key_data input(const bool IS_O_RETURN)
}
break;
+ case SDLK_QUOTE:
+ if (IS_SHIFT_HELD && !is_done)
+ {
+ ret = Key_data('"', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ }
+ case SDLK_COMMA:
+ if (IS_SHIFT_HELD && !is_done)
+ {
+ ret = Key_data('<', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ }
+ case SDLK_MINUS:
+ if (IS_SHIFT_HELD && !is_done)
+ {
+ ret = Key_data('_', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ }
+ case SDLK_PERIOD:
+ if (IS_SHIFT_HELD && !is_done)
+ {
+ ret = Key_data('>', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ }
+ case SDLK_SLASH:
+ if (IS_SHIFT_HELD && !is_done)
+ {
+ ret = Key_data('?', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ }
+ case SDLK_0:
+ if (IS_SHIFT_HELD && !is_done)
+ {
+ ret = Key_data(')', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ }
+ case SDLK_1:
+ if (IS_SHIFT_HELD && !is_done)
+ {
+ ret = Key_data('!', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ }
+ case SDLK_2:
+ if (IS_SHIFT_HELD && !is_done)
+ {
+ ret = Key_data('@', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ }
+ case SDLK_3:
+ if (IS_SHIFT_HELD && !is_done)
+ {
+ ret = Key_data('#', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ }
+ case SDLK_4:
+ if (IS_SHIFT_HELD && !is_done)
+ {
+ ret = Key_data('$', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ }
+ case SDLK_5:
+ if (IS_SHIFT_HELD && !is_done)
+ {
+ ret = Key_data('%', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ }
+ case SDLK_6:
+ if (IS_SHIFT_HELD && !is_done)
+ {
+ ret = Key_data('^', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ }
+ case SDLK_7:
+ if (IS_SHIFT_HELD && !is_done)
+ {
+ ret = Key_data('&', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ }
+ case SDLK_8:
+ if (IS_SHIFT_HELD && !is_done)
+ {
+ ret = Key_data('*', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ }
+ case SDLK_9:
+ if (IS_SHIFT_HELD && !is_done)
+ {
+ ret = Key_data('(', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ }
+ case SDLK_SEMICOLON:
+ if (IS_SHIFT_HELD && !is_done)
+ {
+ ret = Key_data(':', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ }
+ case SDLK_EQUALS:
+ if (IS_SHIFT_HELD && !is_done)
+ {
+ ret = Key_data('+', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ }
+ case SDLK_LEFTBRACKET:
+ if (IS_SHIFT_HELD && !is_done)
+ {
+ ret = Key_data('{', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ }
+ case SDLK_BACKSLASH:
+ if (IS_SHIFT_HELD && !is_done)
+ {
+ ret = Key_data('|', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ }
+ case SDLK_RIGHTBRACKET:
+ if (IS_SHIFT_HELD && !is_done)
+ {
+ ret = Key_data('}', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ }
+ case SDLK_BACKQUOTE:
+ if (IS_SHIFT_HELD && !is_done)
+ {
+ ret = Key_data('~', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ }
+ case SDLK_a:
+ case SDLK_b:
+ case SDLK_c:
+ case SDLK_d:
+ case SDLK_e:
+ case SDLK_f:
+ case SDLK_g:
+ case SDLK_h:
+ case SDLK_i:
+ case SDLK_j:
+ case SDLK_k:
+ case SDLK_l:
+ case SDLK_m:
+ case SDLK_n:
+ case SDLK_o:
+ case SDLK_p:
+ case SDLK_q:
+ case SDLK_r:
+ case SDLK_s:
+ case SDLK_t:
+ case SDLK_u:
+ case SDLK_v:
+ case SDLK_w:
+ case SDLK_x:
+ case SDLK_y:
+ case SDLK_z:
+ if (IS_SHIFT_HELD && !is_done)
+ {
+ ret = Key_data(sdl_key-32, sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ }
+ if (!is_done)
+ {
+ ret = Key_data(sdl_key, sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ }
+ break;
+
+ case SDLK_KP_DIVIDE:
+ ret = Key_data('/', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ break;
+ case SDLK_KP_MULTIPLY:
+ ret = Key_data('*', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ break;
+ case SDLK_KP_MINUS:
+ ret = Key_data('-', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ break;
+ case SDLK_KP_PLUS:
+ ret = Key_data('+', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ break;
+ case SDLK_KP_1:
+ ret = Key_data('1', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ break;
+ case SDLK_KP_2:
+ ret = Key_data('2', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ break;
+ case SDLK_KP_3:
+ ret = Key_data('3', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ break;
+ case SDLK_KP_4:
+ ret = Key_data('4', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ break;
+ case SDLK_KP_5:
+ ret = Key_data('5', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ break;
+ case SDLK_KP_6:
+ ret = Key_data('6', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ break;
+ case SDLK_KP_7:
+ ret = Key_data('7', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ break;
+ case SDLK_KP_8:
+ ret = Key_data('8', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ break;
+ case SDLK_KP_9:
+ ret = Key_data('9', sdl_key, IS_SHIFT_HELD, IS_CTRL_HELD);
+ is_done = true;
+ break;
+
case SDLK_SPACE:
case SDLK_BACKSPACE:
case SDLK_TAB:

View file

@ -0,0 +1,42 @@
$NetBSD: patch-src_SaveHandling.cpp,v 1.1 2015/08/19 19:42:29 yhardy Exp $
Store saves in home directory
--- src/save_handling.cpp.orig 2016-07-02 15:42:10.000000000 +0000
+++ src/save_handling.cpp
@@ -104,8 +104,16 @@ void load_modules()
void write_file()
{
std::ofstream file;
+ char *home = getenv("HOME");
+ std::string save = "data/save";
- file.open("data/save", std::ios::trunc);
+ if (home != NULL)
+ {
+ save = home;
+ save += "/.ia_save";
+ }
+
+ file.open(save, std::ios::trunc);
if (file.is_open())
{
@@ -125,7 +133,16 @@ void write_file()
void read_file()
{
- std::ifstream file("data/save");
+ char *home = getenv("HOME");
+ std::string save = "data/save";
+
+ if (home != NULL)
+ {
+ save = home;
+ save += "/.ia_save";
+ }
+
+ std::ifstream file(save);
if (file.is_open())
{