Ten Nights of Killing and Mayhem at F.J.B. III This is an updated version of Ten Nights of Killing and Mayhem at F.J.B. II, a DOS-based game. It has been updated to use SDL for Windows/OSX. and new features have been added to the game. Build Date Updates ------------------------------------------------------------------------------- 114 2011-11-12 - codename: Discriminator - update OSX Makefile to build everything statically - check webserver for latest game version number - set current path to the path of the executable at the start - display message on main menu if new version is available for download - fix janitor killsheet crash bug caused by switching to smart pointers - fix teacher using up their turn opening double doors - change Closs' homeroom from DMA to D to match up with hand-drawn map - save teacher's lastseen and sortedTargets to the savegame 113 2011-05-04 - codename: Trajan's Column - add 'F' as a shortcut key to toggle fullscreen in-game - added Fullscreen checkbox toggle in Options menu - fix SdlGui to fire mouse-exit events before other mouse events - fix double-click sound when clicking an inventory help button - widened wind radius a little bit - if wad.xml is not present, create a default one. - fix a typo in Innocente's description - Converted all SdlGui components from raw pointers into shared pointers. - removed old graphics/ directory - rename -jsdebug option to -debug - add pretty-printing to XML serialization - add appendChild() and removeChild() to XMLNode - put config into cdom namespace - add createElement() and createTextNode() functions to cdom 112 2011-04-17 - codename: Slim Scandrick - quitting the game saves, if auto-save is on - add CTRL+C to break in the JS console - remove error caused with sighting routines caused by Build 111 - more reworking of sighting routines, which hopefully solves the occasional teacher-locking-up bug - try to fix occasional bug with panning - fix terrain bug in location 4579 (next to campus ministry) 111 2011-04-14 - codename: Palindromic Canary - Add BUILD instructions for OSX, update Makefile - Updated tno-win for Visual C++ 2008 Express - Correct usage of boost:filesystem to latest version (3) - Added a JS console, enabled by -jsdebug and entered in-game by pressing backtick. The console allows you to peek/poke the JavaScript game model while in-the game. - Added a way to reset the player's image icon in the GOM: Student.resetIcon() - Added getters for entity's sortedTargets and lastseen in the GOM - fix a potential problem in teacher movement strategy that might have frozen teachers if another teacher was now on the lastseen - Fix Ferrone and Pupulin scripts for freezing/thawing sightings - Add visible key shortcuts for the in-game tabs. - Correct spelling mistake in Pitre's description - Hide useless Journal tab for now - Renamed cheats.xml to cheats.example.xml - Cleaned up some C++ warnings. - Fix flickering/mouse trails in Create Character screens when fullscreen 110 2008-12-03 - Bug 2-75: prevent waiting/attacking/ending turn when student crazy - Bug 2-77: Fix Ferrone and Lanteigne's scripts for burst effect sightings - Bug 3-111: pickup of multiple items caused overlay to flash between dialogs - Bug 3-121: on start of a new night, initial killsheet showed old body values - Bug 3-138: detected fountains not playing ambient fountain sound - some minor tweaks to scripts (Bottos, Creede, Hoffman) 109 2008-12-02 - Fix 2-36: Fence corner ugliness - Fix 2-74: Waiting had the effect of ending the current student's turn and starting the next student's turn again (this affected pacified, confused, poisoned, insanity, and fire damage) - Fix 2-78: Teacher rewards should double on night 6 and up - Fix 3-115: Ending turn on a fire square doesn't cause student damage - Fix 3-117: Janitor V1.0 defense - A fix for 3-118: Staudt shading - Fix 3-120: Many typos - Fix 3-122: Janitor attack blood jet was always from the North side - Fix 3-123: Play hurt sound when damaged from acidic fountain - Fix 3-126: Janitor V2.0 and V3.0 descriptions not showing up in killsheet - Fix 3-135: Reversed briefings for Nights 8 and 9 - A fix for 4-147: Change Dupuis MEL from 1 to 0 108 2008-11-26 - updated StunSound to use screechy birds - improved bird stun animation (smoother) - fixed 3-74: teachers can now attack when they exhaust all movement points - fixed teachers moving into non-visible space and attacking - fixed 3-108: explosions should freeze sightings after destroying walls and then thaw once damage is complete - update Lanteigne, Ferrone, Pupulin scripts for new burst/sighting logic - fixed 3-110: sound problems where an ambient sound's channel volume would be properly modified but when the ambient sound was stopped, the channel volume was not reset for the next sound to use that channel 107 2008-11-24 - updates for building in Mac OS X - fix crash when switching tabs (at least in Linux and OSX) - some modifications to support widescreen resolutions - added overlay graphics for stunned, confused, pacified 106 2008-11-21 - 3-70: exit square blocks site when student lands on it - 3-91: only active tab handled mouse events - 3-99: when a component is hidden/shown, the appropriate exit/enter mouse handler is now invoked - converted stairshoriz.png into a png with alpha (so that vertical stairs show up) - Bug 2-45: hook up new victory/loss images at end of game - added ambient sound for wind 105 2008-11-19 - fix for fire sound not happening (2-71 and 2-72) - 2-73: Fix Doyon, Elliot, Gloster scripts to not back up into stairs - 3-64: Fix seam problem between frames at various resolutions - 4-133: modal dialog buttons now respond to Y/N with click sound and are pressed in via the keystroke - reworked (simplified) audio manager - added ambient sounds for fountains 104 2008-11-18 - fix 1-30: occasional freeze caused by lastdir - fix 3-94: nuclear blast needed explicit control over sightings - fix 3-105: Lapadat turns to face newly chosen target - fix 3-106: animate bloodjet only after attack/move animation are all complete - fix 3-107: recalculate sight-lines during teacher move for both old and new location - fix 4-55: fire crackling sound when students are close to fire - fix to Emond's script for transformation sound - update square graphic from red to yellow - updated killsheet for student page 2 - improved rubble and punctured wall graphics 103 2008-11-17 - added lastdir to savegame version 13 - 3-21: teachers now use lastdir to pursue students through doors - added rad/shock treatment sound playing to shopping state - fix non-pluralization of student stunning teacher for 1 turn - typo "Body" in Lapadat's description - added highlight square around current player with ability to control it in wad.xml - fix Bug 3-104: nuclear blasts turn doors into rubble, not shattered doors 102 2008-11-17 - fixed player from dying twice - added bloodjet/spark animation time setting in wad.xml - added bloodjet and spark sprites to data/gfx/map/ - display bloodjet animation during combat - display spark animation when missiles hit walls/doors (initial pass at 4-108) 101 2008-11-16 - Fixed Bug 3-98: text vertical alignment problem - Fixed Bug 3-87: remember last tab visible and switch to Stats for teacher - Rewrote all teacher descriptions using SdlGui::wordWrap() - Fixed Bug 1-29: crash when printing # of pacified turns - New disease sound with updated scripts - Fixed Bug 3-101: certain teachers printed death messages before damage - modified onTakeAttackDamage() so that script must return an object that can have { dmgAmount, dmgMessage, stunAmount } - modified Silvaggi, Bottos, Conway, Elliot, Emond, Janitor and Zimmerman scripts for the above - added Zimmerman absorb sound to script - Fixed Bug 2-69: teachers could wander past exits - Fixed Bug 2-70: bonuses now counted via script (skateboard for movedice, schooljacket for defense, cheatsheet for scholastic, sunglasses for attitude), and defense and movement properly calculated 100 2008-11-15 - removal of extra confusion message in Plante's script - Fix Bug 2-68: teacher death happening twice - Fix Bug 3-97: add # of stun turns to onTakeAttackDamage() function - Fix Bug 3-100: fists were doing 2 points of damage instead of 1 - Fix Bug 3-101: nuclear damage message should play before death - Fix Bug 3-102: play Initial stun sound for weapons (and conc grenade) - modify concussion grenades so they only take effect if teacher is not already stunned 99 2008-11-14 - reduced body by script now kills teachers/students automatically (fixed Bug 3-93) - changed setting stun via script, added abouttobestunned to GOM - modified all stunning teacher scripts for abouttobestunned - fixed crasher related to modal dialog buttons (may fix 1-28) - fixed stun effect apply/remove for students/teachers (Bug 2-66) - corrected confused effect apply/remove and improve message - corrected pacified effect apply/remove and improve message - turning into a toad now drops all items onto that square - another fix to LOS algorithm 98 2008-11-13 - implement elitist weapon sprites - prevent equipping an item when toaded 97 2008-11-12 - Fix Bugs 2-60, 2-61: students can no longer drop/pickup items - Fix Bug 2-58: modal dialog problems with fleeing the school - Fix Bug 3-86: toaded students could BS - Fix Johnston's script to prevent excessive pun-stunning - Fix Johnston graphic for shadow-spill - Implement dropping all items when student dies - moved pickup item dialog to new modal code - Fix Bug 2-62: setLocation() now recalculates the teacher-student sighting - tweak debriefing text to fit better - Fix Bug 2-63: teacher movement should reset visibility (in case they walk in/out of doors) - Fix Bug 3-92: nuclear blast radius is 20, not 10 - Fix Bug 2-64: multiple stunning hits in same turn now accumulate - Fix Bug 3-95: relabel south gym doors: sg1 and sg2 - Fix Bug 3-96: Conway, Elliot, Silvaggi and Emond scripts - Fix Bug 2-65: Morga caused insanity too easily - tweaks to the sighting routine for symmetry and fixing a bug where the handler was being called twice on the end square - added tooltip % chance for phone and fountain acidic detection 96 2008-11-12 - Fix Bug: do not bring in a new teacher on 10th night, if janitor dies - Fix Bug: game processing continued on while modal dialog for killing teacher was present - Fix Bug: do not grab teachers already in play on 10th night for replacement teacher - Fix Bug: dropping all ammo still allowed attack with that weapon (or conversely, picking up ammo for a weapon that didn't have any wouldn't allow you to immediately attack you had to unequip and then re-equip) - Fix Bug 2-59: Melee weapons were being turned into missile weapons for purposes of to-hit bonuses - Fix Bug 3-89: Allow player to see items on square even if <2 movement points left or not enough space or not strong enough - Fix Bug 3-90: Remove the Trade button from the UI completely - Fix Bug: disallow picking up / dropping items while in pick-attack or in process of bullshitting - added new means of bringing up a modal dialog and waiting for the button press 95 2008-11-11 - Fix Bug 3-23: Doyon ram calculation - Fix Bug 3-68: Mouse properly highlighting items upon first invocation - fix bug: fleeing on 9th night prematurely ended game - Implement 10th night fetching of non-dead teachers upon the death of a teacher 94 2008-11-10 - Fix Bug 3-85: pickup button not showing immediately after dropping - Fix Bug 3-84: 'Hybrid' sighting routine that goes to corners for walls but center to other squares - Re-fix Bug 3-1: Students only become stunned at the start of their turn (not upon immediately being hit) - Added ability for teachers/janitors to become confused - Removed last bits of code that handle teacher-specific abilities (Hryniw) - Fix Bug 3-77: Hryniw always cries upon sighting a student (updated script) 93 2008-11-09 - only allow pick-up if student has at least 2 movement points (msg box) - Fix Bug 2-56: Missing missiles animate to wrong square if target=attacker - Fix Bug 2-57: Explosions were still centered on orig target, not missed sqr - Fix Bug 3-78: All references to "Sraaw changed to "SRAAW" - Fix Bug 3-82: Fix SdlGui window sizing for wrapping text - Fix Bug 3-83: Movement points not immediately updated when picking up or dropping an item - only show BS button after the first night 92 2008-11-09 - If the missile now passes over the target who was originally missed, should be 0 chance of accidentally hitting him/her. - removed last bits of code still using BOSS (now use SDL_gfx only) - added all map item graphics and loaded them as sprites - implemented item layer in the map (savegame version 12) - Bug 4-19: implemented dropping and picking up items 91 2008-11-09 - animated new destination icon for deception - update all teacher scripts for missile animation - added laser shot png - Bug 4-35: implemented missile attack miss handling in engine 90 2008-11-08 - correct hit text for conc. and tear gas grenade - hook up missile animation capabilities from script - updated Ferrone and Koloff scripts for missile animation 89 2008-11-07 - prevented game from going beyond the 10th night - Fix Bug 2-52: bug in sighting routine - Fix Bug 2-53: Landmines could be activated but student keeps moving - Fix Bug 2-54: calculate bounties before killsheet is brought up - Fix Bug 2-55: Some sighting buttons become de-activated - Fix Bug 3-80: Remove bloody mess under teacher corpses - Fix Bug 3-81: If defender dies, burst radius damage will not be applied - added keyboard accelerator to leave Options state - added missile graphics to data/gfx/missile/ and now load them - added a rotatable sprite to the code - added missile speed setting to wad.xml - Fix Bug 4-30: smoothly animate student missile attacks from student to target 88 2008-11-05 - various fixes to tooltips and update to die rolls (1-24 instead of 4d6) - better Bottos and Doyon sounds - fix bug: teacher rewards were not set unless killsheet was viewed - fix bugs in Desjardins, Plante and Ouellette scripts - added corpse layer to map (savegame version 11) with sprite rendering (Fixes Bugs 3-67, 3-71, and 4-24) - the Map now properly serializes itself from/to savegames - fix long-standing bug where saved games were not closing the file handle - fix SRAAW to apply damage if hit _and_ if target was in burst radius - minor tweaks to Kill Sheet (add student money, fit long names) - add keyboard accelerators to Debriefing and Shopping states 87 2008-11-04 - Fix scripts: Dupuis, Silvaggi, Plante, Solet, Pitre - Update all teacher scripts for attack animations - Fixed Bug 4-128: should say "Player can BS:" (also made it "Player can spray:" for fire extinguishers - Fix Bug 2-51: renew BS points at beginning of night - Fix toading double damage for all hits - Fix Deceived button to show the proper tooltip - Added key handling to SdlGui (state key-handling still takes precedence though) - Added text accelerator hinting to SdlGui::Labels (using &) - Bug 4-125: bound Y key to "Yes" and "Ok", bound N key to "No" and "Cancel" - Escape now exits from the Options screen - Fix engine bug when last student is killed (now waits for message) 86 2008-11-04 - hooked up female BS sounds - fixed missing attack sounds: Silvaggi quiz, Wasyluk - added attack frame (ms) to wad.xml - modified viewport to animate a variable number of frames - added ability to set the attack frames from within script - added attack frames to Battaglia, Buhlman, Silvaggi, Sikora, Zimmerman, Wasyluk and Elliot's scripts 85 2008-11-03 - extinguishers now also put out fires - more corrections in kill sheet, including janitor descriptions (4-52) - fix Bautista script to ensure Defense penalty is preserved across the savegame border and removed at end of night - Fix Bug: toading lasts across the night - Fix Bug: frog sound while moving as a toad - Fix Bug 3-72: Dead elitists are not seen in unseen areas - Fix Bug 3-73: Fix teacher facing to not prefer up/down - rearranged button panel (2x6) - made sighting buttons for Janitors use names (Stan/Bruno) - added BS button with Stan/Bruno overlays - added all elitist BS sounds - added doNotHit flags to teachers which track students they are not allowed to target (savegame version 10) - implement BullShit feature (UI, game logic) 84 2008-10-31 - updated Lapadat, Pitre, Ouellette scripts - tweaks to killsheet and grammatical text - fix engine bug that short-circuited canAttack() scripts - fix serious bug with setting up GOM after loading a savegame - teacher's onDie() functions now override some default engine functionality - did fire extinguisher attack (no extinguishing fires yet) 83 2008-10-28 - implemented Ferrone, Lanteigne, Danelon Ieraci, Byrne, Bautista and Ouellette in script - repair Pupulin script for attack - implemented brown bag lunches - implemented tactical nukes (and dialog for setting detonation) - added yes/no dialog when student fleeing the school - fix fleeing school bug in setLocation() - allowed Ouellette in the cheat roster - new Ouellette sounds 82 2008-10-27 - fix Georgeff script for putting out fires - fix Steppe script: add toad sound effect - fix pacified and toading reducing one turn too early - implemented confusion for teachers (savegame version 9) - implement ability to use grenades - implement Flamethrower, SRAAW, grenade burst damage (missing explosion) - implemented journalling (savegame version 9), but did not expose via UI yet 81 2008-10-26 - implemented Steppe, Pitre - removed last hooks into TNO2 source - fixed invisibility so does not track movement of teacher - add toaded,deceived to player (savegame version 8) and via script - Fix Bug: reset last known food squares every night - Bug 4-105: toaded now means: mv = movement, cannot use square, can't attack, take dmgx2 - Bug 4-5: deceived destination is now marked with bright green arrows - Bug 2-48: skipping animation on stair squares 80 2008-10-25 - setting student location to 0,0 in script causes them to flee the school - implemented Solet, Ryniec scripts - fixed a bug in Sikora's script that caused a hang - fixed a bug in Janitor's script for taking attack damage - added mouse-hover tooltips to player status images - fixed another bug in new Kill Sheet state (names/icons were not getting updated upon a new night) 79 2008-10-24 - implement pacified in engine and script (savegame version 7) - implemented invisible in engine and script (savegame version 7) - make killsheet buttons/behavior more consistent - modified CenterMap() JS function to take x,y instead of an entity's position - implemented Sargent in script 78 2008-10-24 - fix Morga insanity, Saad disease - fix Elliot's charge so that he backs up the right amount of squares - prevent Elliot from plowing all the time (50%) - fix Didomenico from hypnotizing stunned students - Georgeff now has a chance to extinguish fires with her tears - prevent fire from spreading to fence corners - modified killsheet state to show janitors and elitists - stop mouse flickering in Pick Team state - fix a logic bug in Pick Team stats (pick first two students, remove second student, re-add that student) 77 2008-10-23 - updates to Emond script for sounds - fix Plante's warcry confusion to affect each student - fixed Elliot's onTakeAttackDamage() so it reports damage - implement disease in the engine - add in player stat images (confusion, poisoned, stunned) - added Student.confusion to GOM - reworked Plante's script to use Student.confusion 76 2008-10-22 - savegame version 6 (teachers and students now have sprite filename) - add GOM Entity.sprite to be able to get/set the sprite filename - add confused variable to students and savegame version 6 - a variety of new teachers implemented: Pupulin, Saad, Barr, Bottos, Georgeff, Hyrniw, Emond (this fixes Bug 3-66) - Fixed Bug: viewport did not respond to mouse events after more than one game was started in the same TNO invocation (Frame was sucking up mouse events) - Fixed Bug 2-49: On finishing a night, the sounds were infinitely playing - Fixed Bug 2-50: During student pick-attack phase, if state was switched (Options, KillSheet), the target buttons were erroneously being reset upon return to InGame state - Fixed Bug 3-69: Movement bonus for skateboard not visible when on steroids - Fixed Bug 4-124: Line crossing out dead teachers was improperly aligned 75 2008-10-21 - Added Student.bs and Student.maxbs to GOM - Many more teacher scripts from Sinasac - modified teacher random movement to reduce the time it takes - fixed bug where fountains were giving double health - fix viewport so that fire can be displayed on top of walls - remember last known terrains and blood values (new savegame version 5) - only display last known terrain/blood in fog-of-war - ensure that teacher's adjacent targets are chosen randomly - fixed Elliot's script to produce rubble and to calculate movement points better - corrected Johnston text to proper starting location - corrected Macedonski's description on melee bonuses 74 2008-10-19 - implemented Seguin, Gloster in JavaScript - Fixed bug with landmines on first night, removed from engine put in script - Added to GOM: Entity.movedice, Entity.gender - GOM: Entity.maxbody is no longer readonly - hooked up mousewheel events in sdlgui - mousewheel now causes zoom in the game viewport 73 2008-10-19 - implemented student stunning - added Entity.type to GOM - added Elliot ability to bash students through walls (needs a little work) - implemented Plante, Grosutti in script - fixed some bugs with moving teachers via script 72 2008-10-17 - Fixed a serious bug in teacher-student sighting that caused sightings to stop being calculated when the last student died - Fixed a bug where attack, damage, student death messages were displayed out of order - Fixed a bug where fog of war was not reset when a student died - Fixed a bug where fog of war was shown improperly when moving right or down - Fixed a bug where Silvaggi would never quiz - Added Map.isPassable(x,y), Student.female (readonly) to GOM - Added Entity.setLocation(x,y) and modified Entity.moveTo(x,y) to actually animate the viewport (with walk sounds) - Did first pass at Elliot functionality in JavaScript (base TNO2 functionality) 71 2008-10-16 - play hurt sound (fall.wav) when entity gets hurt - ability for teachers to use missile attacks - finished scripts for the following teachers Battaglia, Buhlman, Gilbert Staudt, Wasyluk, Morga, Silvaggi, Sikora and Creede - rebuilt SDL_gfx DLL with original alpha-blending code - added description to Wasyluk for walking through walls - slowed down message speed slightly 70 2008-10-15 - Bug: do not place dead students at starting locations at begin of night - rewrote Morga in JavaScript (including inflicting insanity) - removed JPG map in docs/ directory, replaced with PNG in build - removed old TNO2 artwork in data/graphics/ from build - went back to using V8 as a static library - added the VS 2005 redistributable package to TNO (have to run one time) - refreshed some DLLs 69 2008-10-13 - modify insanity implementation so that confusion can also be done - adjusted code to do some customization of teacher attacks - modified project to use the V8 DLL instead of static library 68 2008-10-11 - implement disease and insanity - fixed a bug in SaveGame version 4 - made Student attributes available to script: strength, attitude, scholastic, movement, insanity, disease, poison, items, equipped weapon - implemented Zimmerman, Silvaggi in JavaScript 67 2008-10-10 - Fix Bug 3-67: put teacher blood up just before sound starts playing - Fix bug: labelled doors popping into frame on left/top of viewport - renamed poisoned fountains to acidic fountains - Implemented stunning, poisoning - SaveGame version 4, now tracks the number of elitists/teachers killed - included missing DLLs that make the game re-distributable - check that JS compiles before running it (prevents crashes) - more GOM: Teacher.reward, Janitor.reward - moved Janitor starting location and reward setting to script 66 2008-10-07 - made Test mode the default (removed entry into game via TNO2 engine) - fix Mascaro start square - wait states of students are now remembered properly in savegames - shopping screen, can use left/right arrow keys to navigate to prev/next student - fixed autosave in Test Mode, fixed UI being frozen during student attack - fixed crash when leaving game from options menu and starting a new game - fixed bug when current student would not be saved - fix rewards being zero after first night - introduced a new savegame format (old games should still load in properly though) - moved loadgame/savegame into TnoGame and removed most of the syncing of global data back to TnoGame, detached TNO2 code and global data from TNO3 engine - more GOM: Entity.facing, Game.onTeacherDie(teacher), Teacher.onInit(), Teacher.onDie(), Teacher.isPassable(terrain), Teacher.getMoveSound(terrain,blood), Teacher.onMoveEnd(), Entity.getCustomField(key), Entity.setCustomField(key,val), Teacher.numsightings, Map.hasLivingEntity(x,y) - rewrote Wasyluk, Dupuis, Hoffman, Gilbert and Desjardins in JavaScript - started scripts for teachers with custom walking sounds - avoid using return values from script function calls that fail (prevents crashes) - implemented game-level and entity-level custom fields that can be get/set from script 65 2008-10-05 - fixed View Student so that it chooses the right character - BUG 3-65: when teachers are moving, shouldn't be able to click on Kill Sheet (causes crash) - add keyboard shortcuts for menu items on Options screen - integrated JS engine with TNO to provide specific design behaviors via script - rewrote Creede using JavaScript 64 2008-09-29 - implemented ability for students to wait - properly decrement missile ammo when fired - give rewards to players when teachers die with status message - death sounds for players, teachers and janitors - very simple End Game screen - attack sounds for each weapon - created VC9 (.NET 2005) project - fixed Danelon's and Buhlman's maxbody (to 140 and 205, respectively) - refreshed config.h and config.cpp (now correctly handles character data nodes properly in the XML) - hacked in standard modal dialog buttons (Ok, Cancel) - added basic Options screen for Load Game, Save Game, Leave Game 63 2007-09-04 - added animated nukes graphics - now show detected poison fountains - Teacher specials: Creede regenerates, Desjardins teleports, Hryniw always wanders - fixed bug: occasional 1/20 chance of student starting in a zero location... - fixed bug: on nights > 1, first student misses first turn - fixed bug: on teacher's last turn and on janitor's turn, viewport would slide to next - implemented teacher sighting and movement towards the closest last seen student - started simple Options screen - added handling for teacher/janitor death - turned sighted teacher names into buttons which center on teacher when clicked - added buttons for Ending Turn, Attack, Cancel Attack and Waiting (unimplemented) - added logic to handle picking attack targets - basic player attack working with stunning - fixed bug: resetting equipped weapon when going from killsheet back to ingame - fixed bug: incorrect damage for weapons (forgot to add 1 to each die) - fixed bug: after attacking didn't reset buttons and status bar text for next student - fixed bug: when teacher died, put blood on map, send to location 0 and re-do sightings - fixed bug: when teacher reached last seen, would be frozen - implemented critical hits - implemented simple generic 1-6 melee attack for all teachers 62 2007-08-06 - update Main Menu background image, use labels instead of graphics for buttons - Bug 4-39: Re-balancing of some teachers (some with new abilities) - Test Mode: teachers now use stairs - Bug 4-13: Test Mode: Viewport only renders the visible "level" - Test Mode: added view upper/lower floor button with switching functionality - Test Mode: added logic to handle switching viewing of floors - Bug 2-38: re-arrange statistics for readability (also, add in tooltips for stats and include modifiers for items carried/equipped) - update Inventory tab: can equip/unequip weapons, view help for an item, equipped weapons show as red. This also takes care of Bug 4-17. - entities now occasionally shuffle position while waiting to move - add keybinding to navigate player info tabs (insert/del, s, i, j) - fixed a couple bugs with GUI buttons (when leaving a button with mouse pressed and when going modal) - Test Mode: Students can now leave the school, nights end after the last student leaves - Test Mode: Janitors move around now - Test Mode: play school bell on the start of each night - Test Mode: implemented fire display, animation and handling - Test Mode: added rubble wall plate - Test Mode: added walk on rubble sound - Test Mode: implement special actions while wandering for some teachers: Dupuis (fixes Bug 3-58), Hoffman, Gilbert, Wasyluk - Test Mode: implemented shadowed doors - Test Mode: implemented land mine detection and tripping with blinking light - Added a cheat for players: eggheads="1" - Test Mode: poison fountains, landmines, remove extinguishers and reset player's body upon start of new night 61 2007-07-30 - graphics: completely new teacher graphics with shadows - graphics: updated elitists graphics with shadows and new dead frame - graphics: updated some terrain decorations to have shadows - corrected Sprite generation for alpha channel (elitists have shadows now) - Test Mode: play proper walk sound - Test Mode: can now use fountains, telephones and food squares - Test Mode: can now walk up/down the stairs, player exists in both upper/lower teleport squares (has sighting, blocks movement, etc) - fixed Bug 2-41, properly sync up dead teachers at debriefing - fixed Bug 2-37: elitist graphics blitted oddly at different resolutions/zooms (work around a SDL_gfx rotate bug) - Test Mode: dead bodies and rubble now passable - Fix Bug 2-45: Test Mode: using a telephone removes all movement points that turn - Test Mode: teachers now move around randomly (animated) - Test Mode: prevent girls from going in boys bathrooms and vice versa - Test Mode: play all proper teacher walk sounds 60 2007-07-19 - SdlGui: enabled Containers to clip to their bounds - SdlGui: Implemented a ScrollBar (not currently used) - Fix Bug 2-43 - Linux sound filename errors - Fix Bug 2-41 - Debriefing not fetching proper teachers - Fix Bug 2-40 - Briefing/Kill Sheet not picking proper bodys/maxbodys/etc - Fix Bug 3-2 - Delay on receiving keystrokes when player steps on landmine - Fix Bugs 3-7, 3-11 - Text corrections during attack - Fix problem with playSound() interface (some code was assuming it returns a SoundId - now all code that wants the ID sends in a pointer to get it) - Fix Bug 4-45: Creede announces heals - Fix Bug 2-42: Messages during BS go too fast and partial Bug 4-67 (audio janitor and BS responses) - Fix Bug 2-4, 3-57 - Changed audio to support 16-bit by default - Changed GameState's use of in-game sounds - Fade out screen sounds now over 1 second - Test Mode: Added inventory items to tab in-game - Test Mode: Viewport now animates smoothly from square to square - Test Mode: Elitists now walk smoothly from square to square (with animated frames) - Test Mode: do not render dead student sight lines - Fix Bug 2-46: Test Mode not handling dead students properly 59 2007-07-16 - Bug 4-113: Implemented wall plate and floor plate code - Fix for Bug 4-111, 4-114 - Added key shortcuts to button "tooltips" in status bar - Added "omniscent" cheat (to let players see everything on the map) - Test Mode: implemented sighting algorithm for students - movement cost now correctly calculated by terrain - player turning now implemented (numpad 7/9 and shift+left/right) - player ends turn on 5 or Enter - apply fire damage to player 58 2007-07-12 - Test Mode: scrolling the viewport should only work with ctrl+arrows - Fixed Bug 4-22: Test Mode: Add Mouse Panning (hold down middle button?) with grab mouse cursor - updated item descriptions for capitalization, some edits to text - Fixed Bug 4-56: Added key navigation bindings: - mainmenu: C to create char, V to view char, S to start game, R to resume game, Q for quitting (these were already there) - briefing: Right Arrow/ESC/K to kill sheet, Q for quitting - killsheet: Left Arrow to briefing, Right Arrow/ESC/K to gameproper, 1-5 for teacher, Q for quitting, '=' for test mode - viewteacher: Left Arrow/ESC/K to killsheet, Q for quitting - debriefing: Right Arrow/ESC/, Q for quitting - Test Mode: updated TnoSprite to deal with alpha transparency - Test Mode: correct Sprite blitting at edges of map grid - Test Mode: updated to use new elitist graphics. Same with Create/View character. - Test Mode: Fixed Bug 2-32: corrected bug where older teachers stay on the map from previous nights - Test Mode: Added current player's statistics and some UI - Test Mode: Added new exit graphics and ability to display - Test Mode: Fixed a rendering bug with fountains, extinguishers - Added clicks for all buttons. Added clicks for the Tabs too. - Added hacks to manually adjust several problem fence squares on the map in Test Mode - Test Mode: Can now move players around map, "collision detection" is done with walls, students, teachers and janitors. Player movement points are calculated and updated with each movement. - fixed proper orientation of fountains/fire extinguishers - Fixed Bug 2-34: Problem with Daily Special. Once an item was listed as special, it is always listed at that discounted price - Fixed Bug 2-11: Nukes at extreme right or left of map wrap around to other side (this was fixed with map fence updates above). 57 2007-07-10 - fixed shopping discount for all items (accessories) - fixed shopping, goes to first non-dead student upon start - created full debriefing state with new graphics and connected it - fixed Bugs 3-9, 3-61, 3-15, 2-29, 3-30, 2-21, 3-62, 3-63 - fixed bug in Character Icon state which caused the mouse to flicker when it was moved - Make Linux build work (Bug 4-51) - created TnoSprite to handle all frames of teachers/students - updated TnoViewport to render the teachers/janitor/students in the proper location with proper facing 56 2007-07-06 - started removing unused Boss functions - added parentheses and underscore to DHL font (underscore can be used to underline a letter) - made Options menu fully keyboard accessible - made Main Menu fully keyboard accessible - Sargent invisibility now makes him almost impossible to attack regardless of student modifiers, stun, facing, etc (2.8% chance) - implemented SdlGui::TabbedPane - Test Mode: rubble, shattered doors, punctured walls render - Test Mode: blood map (blood, fire, burn, rubble) renders - Cheats: attempt at getting to work - Cheats: added onSteroids to pump up player's strength - new Shopping State linked in 55 2007-06-29 - updating logging so that the instance # is updated immediately (to prevent log file overwrites) - removal of ConfigParser, LoggingParser, Threaded library dependencies (reduces DLLs and thus download zip by 2.5 MB, will ease Linux development) - use expat and XML config files instead - incorporated simple logging mechanism instead - 'K' key now backs out of Kill Sheet screen - fix some text errors in teacher functions ("Schilleris dead!") - fix crash, display error at low resolutions (Bug 1-24) - fix crash upon player death (Bug 1-27) 54 2005-09-17 - Sinasac Bug fixes: 3-59, 3-60 - Fixed bug 2-27 - added a whole bunch of logging to the pmove() function - minor update to map file to fix fence graphics - boost::function updates to compile in VC6 53 2005-09-06 - Sinasac bug fixes: 1-26, 2-1, 2-11, 2-27, 3-24, 3-39, 3-42, 3-44, 3-52, 3-54, 3-56, 4-38, 4-97, 4-99, 4-101, 4-106 - improved skeleton hand graphic - Re-fixed Bug 1-18: Teacher names getting out of sync/random - Made AutoSave preference default to true (until Bug 1-22 is fixed) - Added TNO Window icon - Fix for 2-27 and 3-53 52 2005-08-30 - Re-fixed Pit's briefing text - Fixed Bug 1-25: Test Mode: Labels being properly placed - Fixed Bug 1-15: Test Mode: Fence corners - Fixed Bug 4-90: Test Mode: Properly flipped double-doors - Sinasac Bug Fixes: 2-2, 2-11, 2-22, 3-1, 3-26, 3-38, 3-44, 3-48, 3-49, 3-50, 4-38, 4-87 - Changed saved game format, extension and added version number - Updated skeleton hand cursor 51 2005-08-30 - Missed a few text error fixes from Sinasac - Fixed Bug 3-41: text error - Fixed Bug 1-20: buffer overrun - Fixed Bug 3-36: removed 'x' button from menu background - Fixed Bug 2-9: Teacher body's not sync'd from game - Fixed Bug 1-18: Teacher name sync problem - Fixed Bug 3-16: Colour animations are now time-based - Fixed Bug 2-19: Fixed pharmacy mouse and sound graphic - Fixed Bug 1-10 and 1-16: Labelled doors, boy/girl washrooms - Sinasac Bug Drop: 1-20, 1-19, 1-17, 2-13, 2-16, 2-17, 2-15, 3-33, 3-37, 3-40, 3-35, 3-39, 3-42, 3-29, 3-6, 4-14, 4-41, 4-58 and 4-49 (update) - Sinasac Bug Drop: 2-20, 3-45, 3-46, 4-87, 4-88, 4-89 50 2005-08-27 - Fixed Bug 3-4: text pluralize errors - Fixed Bug 3-8: few more text problems - Fixed Bug 3-18 and 4-2: minor miscellaneous grammatical errors - Fixed teacher walk sounds being played for square moving into - Fixed Bug 3-28 for door sounds - Fixed Bug 1-9: Test Mode blitting decorations in eastern orientation - Fixed Bug 4-53: Added Cheat Mode for teacher roster, student money and student movement - Fixed Bug 3-34: New Spear sound, updated slingshot and throw sounds - An amazing bug drop from from Sinasac: 1-7, 2-4, 2-6, 2-12, 3-3, 3-5, 3-7, 3-12, 3-17, 3-19, 3-20 (partial), 3-22, 3-24, 3-27, 3-31, 3-32, 3-33, 4-4, 4-6, 4-10, 4-14, 4-20, 4-21, 4-41, 4-49 - Test Mode: updated textures (carpets, grass, fence, etc) - Test Mode: Properly rotates vertical fence terrains - Test Mode: Partial 1-10 fix: properly displays tile and doors for labelled doors (no labels yet) - Test Mode: Properly displays blood terrains 1-3 (near Seguin's office) 49 2005-08-26 - updated screen transitions to remove blood dripping (should get rid of code or improve it) - Fixed Bug 1-2: game state variables were not properly re-initialized when a new game is started after party dies - Re-Fixed Bug 1-3: shop mouse errors - Fixed Bug 1-4: keyboard not reset when quitting from Options menu - Fixed Bug 1-8: Clicking Prev in Kill Sheet caused a crash - added new environmental walking sounds - fixed grenade and nuclear explosion sounds - Test Mode: Now properly rotate fountains, extinguishers and telephones 48 2005-08-25 - Possible fix to occasional teacher sight bug - Updated to SDL_gfx-2.0.13 (note: turn off optimization flags when building SDL_gfx Release DLL) - Some nifty new backgrounds for title screens - replaced almost all BMP with PNG - Fixed Bug 1-1: error when data/savegame or data/savegame/tno.svg does not exist. - Fixed Bug 2-7: briefings not showing up when Resume Game - Fixed Bug 1-3: Mouse errors in shop - Fixed Bug 1-5: Mouse errors in Beaver Hawking Counter - Test Mode: implemented 90-degree rotation functions for textures 47 2005-08-23 - fixed many attack-sound-while-walking errors - fixed proper music playing on each night - fixed briefings being shown at each night - fixed chapel floor bug - prevented being able to start a campaign with 0 students - fixed Hryniw crying bug? - fixed several new walking sound errors - fixed landmine and "is Dead" text errors - fixed shop music stopping (and resuming night music) - fixed Lapadat's walking/rolling sounds - new Macedonski, Creede and Lanteigne sounds - Test Mode: exit squares are now properly asphalt - Test Mode: updated food graphic - Test Mode: now properly rotate stairs and unmarked doors (though they are slightly misaligned) 46 2005-08-22 - fixed many more text errors - fixed several logic errors within the game (see bugs.txt for outstanding bugs) - added/updated many more sounds - Test Mode: now displays all terrains except numbered doors and rotated doors/stairs - Test Mode: added nice frame graphic 45 2005-08-20 - corrected publish script to include docs/ subdirectory - Updated to SDL 1.2.8 and SDL_image-1.2.4 - Test Mode Only Updates: - reworked map graphics into PNGs with Alpha layer - display map items properly alpha-blended - near complete conversion of UI components into PNGs with Alpha - rework of Buttons to have 3 states: normal, highlighted, pressed with corresponding graphics 44 2005-08-19 - fixed text error with players ("Schillergoes berserk!") - added night # to clipboard - Test Mode: added Sinasac's draft terrain graphics - Test Mode: render fountains, extinguishers, telephones - Test Mode: fixed panning of map causing hanging - Test Mode: fixed incorrect rendering of runs of "unknown" squares - Test Mode: fixed rendering terrains off the left/top edge of viewport - Test Mode: added 'q' to quit - Test Mode: holding down arrow keys will pan repeatedly 43 2005-08-16 - slowed down walking animations so they are visible 42 2005-08-12 - Test Mode: fixed some rendering bugs when trying to blit to negative coords - rewrote legacy mouse cursor handling code throughout, fixing several mouse cursor artifacts 41 2005-03-20 - Test Mode: made status bar with a smaller font and better placement - Test Mode: made a viewport for map with preliminary terrain rendering - Test Mode: made a zoom button (magnifying glass) 40 2005-03-02 - completely revamped keyboard handling for dispatched key events - completely reworked mouse event handling - added a Image, Label and Container to SdlGui - removed TextButton and ImageButton from SdlGui - Test Mode: added keyboard handler for Clipboard button: 'C' - can also press ESC to leave View Teacher state now - Test Mode: added status bar and mouse listeners - fixed mouse cursor errors 39 2005-01-27 - updated screens.ts to not stop music entering Briefing State - added caption to the window - Fixed some missed capitalization on teacher descriptions - Test Mode: started an InGame state that has a working Clipboard button - Test Mode: added a new background graphic for InGame state - Test Mode: converted all game buttons and border graphic for InGame state 38 2005-01-25 - moved data file directory structures some more - added Quit ('x') button to all states - made teacher's names text buttons to "ViewTeacher" state - updated state transition code to prevent music from being stopped when entering a new state - capitalized all teacher descriptions - made published default running mode fullscreen, 640x480 37 2005-01-21 - changed to Bold font - converted all teacher graphics into bitmaps - implemented the View Kill Sheet state and View Teacher state - added new background for clipboard 36 2004-06-30 - Updated Briefing state to scale to screen resolution - added some fonts for usage in-game 35 2004-06-11 - Added general handling of buttons and mouse into GameState - Updated all Create Character states for the new handling - fixed a bug in Create Character state where bits of the previous name were remembered - finished updating pick team state to use new GUI code - fixed all bugs with student picking logic 34 2004-06-03 - Fixed bug with team member removal in PickTeamState - Reformatted PickTeamState layout - Fixed bug in graphics behind mouse in CreateCharIcon state - Fixed some of the mouse bugs if you click/slide the mouse 33 2004-06-02 - Fixed bug with missing space in name - Fixed Sikora typo (missing word in description) - Fixed phone button bug - Started implementing ViewKillSheet state 32 2004-06-01 - Updated putphrase functions to support uppercase letters - Fixed Renaud's attack sound 31 2004-05-31 - Only allow elitists name to be <= 10 characters - Implemented Pick Team state 30 2004-05-28 - Made polaroids scale to screen resolution - Fixed a bug in Create Character state for chosen icon 29 2004-05-27 - Prevent overwriting existing elitists - Display icon in View Character state - Added a confirmation screen for Create Character state 28 2004-05-26 - Fixed a bug in loading a character (gender is only 1 byte) - Finished View Character state screens 27 2004-05-26 - Added part of the View Student state (can list infinite number of elitists now). - Fixed a bug in Create Student where weapon was not saved 26 2004-05-25 - Fixed bug with View Character list (wasn't showing capital letters) 25 2004-05-25 - Finished Create Char screens for choosing icon and saving - Added click sounds for GUI choices 24 2004-05-24 - Added background to Create Character states, tweaked screen - Added data/fonts directory to package (publish step) 23 2004-05-24 - Added clicks to button actions in game and options menu - Reimplemented most of the Create Character state now with scaled text and enhanced navigation 22 2004-05-22 - Minor updates to sounds 21 2004-05-20 - Initialized font subsystem - Added special movement sounds: Doyon, Dupuis, Staudt, Janitors, Ouellette, Barr, Emond as bat, Hryniw 20 2004-05-18 - Added sounds: Grosutti, Hoffman, Quaglia, Renaud, Saad, Sargent, Seguin, Silvaggi, Zimmerman, Ferrone, Lanteigne, Land Mines, Grenade explosions 19 2004-05-13 - Added ability to precache sounds in AudioManager - Decreased chunk size in AudioManager to reduce lag time - Added a preliminary CreateCharacter state - removed a bug in queuing the NULL state in TnoApp 18 2004-05-13 - Added teacher sounds: Danelon, Didomenico, Johnston, Doyon, Elliot, Emond, Koloff, Lanteigne, Janitor, Mascaro, Pupulin, Gloster, Ieraci, Morga, Palamides. - Replaced all BOSS Audio calls with AudioManager calls 17 2004-05-12 - Updated AudioManager to handle looping sounds - Updated AudioManager to handle playing/stopping music - Moved mouse handling into base GameState - fixed a bug when the mouse cursor was partly off the screen - added click sound for menu selection 16 2004-05-12 - Reworked title screens and main menu into a state machine - Added teacher sounds: Georgeff, Innocente, Ho, Look-kan, Barr, Battaglia, Bautista, Bottos, Conway, Gilbert and all teacher punches 15 2004-05-11 - Rewrote main menu routine for new background (sized properly) 14 2004-05-10 - Removed hardware surface support (causing crashes) - Added ability to stop a specific sound in AudioManager with the ability to selectively unload a sound as well 13 2004-05-09 - Added an Audio Manager for sounds in the game - Added following player attack sounds: Punch, Knife, Bat, Chain, Axe, Sword, Cattleprod, Whip, Nuke - Updated Chainsaw sound 12 2004-05-06 - Added -notitle command-line argument - Added keyboard shortcuts to fade effects - Updated following player attack sounds: Bow, CBow, Pistol, Gunshot, Machine Pistol, Machine Gun, Flame Thrower, SRAAW 11 2004-05-01 - Added back in star screen effect to title screen - Linked with Boss version 0.36 - Fixed bug with mouse cursor being displayed at any resolution 10 2004-05-01 - Removed BitsPerPixel from cfg file, BPP is chosen for user - Improved logging during state transitions for debugging - Freed surfaces properly in transitionIn() - Disabled mouse cursor during title screens - Fixed Blood Drip 9 2004-04-29 - Added fade-from transition type - Updated build to have MSCVCP71.DLL instead of debug version 8 2004-04-28 - Added sound and music events to screen transitions - Added fade-in and fade-out transition types - Added drip blood fade-out transition type 7 2004-04-27 - Display mode in CFG file is attempted as long as the mode is allowed by the display adapter. All graphics are still confined to 320x240 region. - Updated to use ConfigParser version 0.42 - Added gfx subdirectory for new graphics - Added sdlgfx dll to the package (zooming/rotating images) - Added screen transition script and initial handling of background graphics, delay 6 2004-04-25 - Added a scripts subdirectory for game config files - Modified game source to use Boss version 0.33 - Added Display.Width, Display.Height, Display.BitsPerPixel - Changed default minimum resolution to 320x240 (updated readmouse() for this). 5 2004-04-24 - Added a Display.FullScreenOn setting to the cfg file - Added logging to TNO start-up - Updated software to use ConfigParser version 0.41 4 2004-04-19 - Added SDL_Image to the TNO build. - Removed savegame files from TNO build. - Added instance number in cfg file - Added Logging Control and Threaded DLLs to the TNO build. - Added a logs subdirectory to TNO build. - Added a global log file to TNO 3 2004-04-18 - Fixed music restarting upon kill sheet. - Added MSVCP71D.DLL to package 2 2004-04-16 - Added a MusicOn application setting with enable/disable in the Options menu 1 2004-04-16 - Baseline version of TNO II ported to SDL. - Linked in the Configuration Parser DLL - Added AutoSaveOn as an application setting in cfg file - Added MessageSpeed as an application setting in cfg file - Added SquareAroundPlayer as an application setting " "