This is a place for me to show progress on porting some old games that a friend of mine wrote. All of the games were done in DOS using a Borland compiler and they relied heavily on Borland's BGI (graphics.h), conio.h and bios.h libraries.
I've wrote the BOSS library to wrap all these old function calls and use SDL underneath. See the BOSS page for details and downloads.
Ten Nights of Killing and Mayhem at F.J.B II
I started reworking the "Ten Nights of Killing and Mayhem at F.J.B II" code (TNO). Here are some screenshots of my progress:
And here's a detailed history:
Cleaned up a great deal of errors in the code (mismatched data types, function parameter types, etc) and patched up the code so it compiles (stubbed out int86, all asm, gotoxy, etc) and linked in BOSS.
Wrote a wrapper around the screen pointer to provide transparent access to the screen using BOSS. The title screen now works.
Converted all voc files to wav files, relocated to data\sounds. Converted all xmi files to mid files, relocated to data\music.
Updated all data files to be organized into subfolders.
Modified all findfirst and findnext to use _findfirst and _findnext
Fixed a bug in my putrletters() wrapper function that was calling putvletters.
Reworked most drawing routines to use the raw function calls in BOSS (directly to SDL).
Fixed a couple bugs in graphic filenames
Game now works but is not thoroughly tested
Correctly extracted all XMI sequences and converted them to MIDI, updated in game.
Clear clipboard quicker when looking at a teacher (tdetails function)
Fixed mouse button sensitivity (only generates an event upon mouse button going down, not being held down)
Updated map drawing function (viewmap) to directly access screen which fixes problem of leaving map
Added missing sounds: phone, up, down, swallow, bow, gunshot, flame, money, drink, rocket, chainsaw
Fixed load/save game bug (size of integers was incorrectly specified as 2 bytes)
Fixed inventory graphic loading issue (wrong directory for files)
Loop music indefinitely instead of continually checking and re-starting it every turn
Added in command-line option (-w) to force to windowed mode
Fixed keyboard input in the game (BOSS update)
Fixed bug where turning a player could reduce movement points below zero
Added auto-save feature in Options. Can also enable this by default by using a new command-line option (-s)
For KIA teachers, draw letters in red, with a solid thin line through that teacher in the clipboard.
Updated readmouse and gethand to use Boss raw calls for SDL.
Fixed mouse graphics for Options menu.
Fix stairs issue when you Pass your turn on a linking stair square
Work around colour cycle issue when mouse cursor overlaps
Updated more functions for Boss raw calls for SDL
Finished moving all graphics operation to Boss raw calls
Fixed Turn Left/Right Arrow display problem (problem with putlletters and putrletters)
Fixed border drawing as a result of modifying putlletters
Fixed a behind mouse error when mouse is over movement points and player moves
Started development of Ten Nights of Killing and Mayhem at F.J.B III.
- Fire squares apply damage even if you are simply cycling through targets and don't attack yet
- Stunned players not taking damage on fire squares?
- Fix all Graphics behind mouse pointer issues: when mouse is at bottom for teacher sightings or messages
- Game sometimes freezes when teachers round a corner and sight a student
- Thoroughly test game for each night, each teacher.
- Put player square highlighting as an item on Options menu
- Add new user preferences: Sound On/Off, Windowed/Fullscreen
- As it stands, when a teacher or student is stunned, they immediately become easier to hit, and remain so till unstunned (after their turn). This means that every one of your students that attacks the same turn after a teacher has become stunned has a +1 to hit. This +1 should not take effect until the next turn so that every student has the +1 to hit. Otherwise, it makes more sense to wait and let people with chains attack first. Dumb.
- Right now, poisoned fountains have to be noted by you on paper. They should flow with green water once they are revealed, to make it easier.
- Scholastic and Attitude need to be beefed up further. Right now they are used in tests, and Scholastic can help you detect poisoned fountains and Attitude can save you BS points. For one thing, the computer picks a number between 4 and 24 for these purposes (to simulate 4 dice), but it really should be a number, say, between 1 and 20. (So even low scores have some chance of succeeding). Also they need to do more. I was thinking Scholastic should give you the same chance of detecting a landmine before you step on it (putting out a graphic to represent it), and Attitude needs something else too. Not sure what. Maybe give you a chance of decreasing damage done to you (because you just don't care - you shrug it off). Like each time you take damage in combat, it rolls 1d20 and for each 2 points or fraction thereof it is less than or equal to your Attitude, you take 1 less damage (so a maxed out character with a perfect score could save himself a maximum of 6 damage) but in combat only (not landmines or drinking fountains which are Scholastic's domain))
- Teachers need to be more balanced, I think.
- Need to be able to scroll the view student and campaign screens to access any and as many students as you want. Also, should be able to right click to get the option to delete a student.
- An idea. Maybe using the phones could give you an option - check for change (as current) or phone the Beaver Satellite Uplink service. The latter would cost you a certain amount (maybe 1 or 2 dollars, maybe more) and display the whereabouts of all teachers on the minimap.
- Need to be able to specify filename for save/load game rather than automatically load tno.svg. This would allow you to have multiple games on the go at once
- Experience points? Each teacher killed gains that character one point to later spend toward improving his character (as per the initial screen). These could be saved of course.
- For teachers with less than full health, put their current health in red?
- In the purchase screen, recruit a new elitists for a certain fee.
The Caverns of Xaskazien
(with apologies to Dr. Seuss)
This is COX.
This is COX on DOS:
Can I try COX on DOS on my box?
Right-click here, you can't beat the cost
This is COX on DOS using BOSS:
Can I try COX on DOS using BOSS on my box?
Right-click here, now I have to go floss...
Anyway, here is a detailed history of COX development (with BOSS highlights):
Reworked COX code with stubbed out versions of library functions and linked with SDL.
Implemented working versions of many functions in BOSS
Implemented working versions of text functions in BOSS
|2004-03-06||Implemented first cut of sound system in BOSS
At this stage the game is playable with all graphics, with all sounds and is almost completely on par with the DOS-based version
|2004-03-13||Handed source of COX back to Jeff Sinasac. More updates on the way from him including many updated sounds, new features, etc.|