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 and new features have begun to be added to the game. Build Date Updates ------------------------------------------------------------------------------- 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 " "