History
18th February 2002 (Version 2.06)
- Workaround for Gold Rush. It reads the free memory variable but it's
never set. Now deliberately sets it to 10 during new games, rooms and restores.
- New sound engine! Supports noise channel (both types of noise with
different frequencies), volume control, uses square wave, various options
supported in the config file and notes will dissolve to silence if played
for too long (just like Sierra's implementation). Various changes have gone
on underneath to make it easier to add other sound support.
- Application icon by Charles Irwin added. I had to reduce the colours because I didn't want NAGI to get too big yet.
- Non-console version of NAGI is default, there is now a separate console
version. If you don't like the console, you can run NAGI without having
to worry about it. If you're a developer and you appreciate the debug messages,
the console version is still there.
- NAGI doesn't crash if you restore in Serguei's Destiny too many times
in the same place. Will fix any other game that calls restore from a logic
other than logic.0
- Logging has been added. You can now log all the unknown words in games you're developing.
14th January 2002 (Version 2.05)
- no more external sample - NAGI generates it's own sine wave.
- Mothergoose crash fixed by checking size for updated rectangles.
- Manhunter disk error fixed, not properly clearing errno.
- fixed background for Mothergoose name entry and Kings Quest 3 spell entry.
- more CRC's thanks to Charles Irwin, Chris Cromer and I.
- other internal details tidied up
2nd January 2002 (Version 2.04)
- toggle.monitor support (ie, you can toggle between the CGA/EGA modes with ctrl-R in games that support it)
- pgup/dn in the startup menu
- along with it being sorted alphabetically
- progress window at startup
- CRC's for more games added thanks to Charles Irwin
- hugely updated docs!
- fixed small bugs
- text mode uses correct palette when in cga mode
- moved dir_list to nagi.ini
- lots of warnings added to help developers
22nd December 2001 (Version 2.03)
- After you give the unicorn to
that lotta witch and are flown back to the ground, the game crashes.
This is because a "previous cel frame" for an object is set to a view
object that was discarded!! This caused NAGI to crash.. the original
doesn't because it's still lying in memory.. but it's not meant to be.
so instead of storing a pointer to the previous cel like sierra did, I
changed it to "cel's previous height and width" which is all sierra needed
the pointer for. so I replaced a 32bit pointer with two 8bit numbers.
However, it does break the savegames :( which sucks for me too.
- Added palettes from Apple ][gs and Apple][..
they were from emulators though. I might make it a bit more customisable
from an ini file
- tidying up animated obj code
- more tidying.. whee
- fixed a bug I introduced in SQ:TLC and others
probably in the swirly spaceship around planet scene. force.update wasn't
"reading" the parameter. In actual truth.. the later agi's just updated
them all and ignored the parameter but I forgot to read the parameter
anyway in the code cleanup
- fixed up the change loop cmd so it checks
the bounds properly. it didn't check it if the loop number was just one
over the maximum.. this is a BUG in the ORIGINAL agi too! sqtlc earlier
versions will not run the intro though
- urgh.. never do: state.var[*(c++)] = objtable[*(c++)].loop_total;
and expect reliable results
- profiling and trying to optimise lengthy code..
like lzw, picfill and umm.. video scaling.. it's lotsa fun!
- replaced picfill's dynamic "stack" (ie a bunch of free's
'n mallocs) with a fixed buffer.. 3k but agi had 2.5k and that was to
share with the um.. function stack :)
- fixed so donald duck has sound
- disassmbled CGA driver with dithering.. just have to code it
up in C
- added CGA support to NAGI.. looks alright.. need to fix some bugs
though.. and make it less hard-coded
- BIG GAP.. DIDN'T WORK ON NAGI FOR A WHILE.. MOVED TO LOCAL CVS
- lazy font update.. it will draw fonts but not show them on screen
until necessary.
- new gfx engine, easier to add support to other graphics apis later
on
- new renderer engine, cga emulation (SEE DOCS!)
- lots of little fixes
- ini/config has been fixed and better optimisedamiga support through
objects/command names/file names
- doesn't bother with a maximum number of commands/strings
- new versioning core.. supports amiga/faster and a menu!
- when reading the object file, it now has sanity checks.. tries other
methods if it fails
- searches for games in predefined dir's in standard.ini
- can print out the crc for games so you can easily add them to standard.ini
- added more fan game crc's and some amiga crc's
- fixed mouse support for brian buff's mouse and normal auto mouse due
to new gfx syste
- added assertions everywhere to try and track bugs
- changed nagi to give a warning when that "just one above" loop set
error occurs instead of exit
- mothergoose save works
- input now is a LOT MORE responsive.. no more missing characters, no
matter what speed it's set
- cleanup of shutdown code.. so later on i can implement jumping back
to the menu after a game is finished (not implemented yet)
- external fonts
- new docs
16th July 2001 (Version 2.02)
- Changed name of Justin's
Quest to Justin Quest
- disassembling savegame
stuff
- fixed keys so you can
use the keypad now
- fixed the keypad 5 when
numlock is off.. or was it on? thanks to Justin
- try saving a game when
the total path size is longer than 32 chars in the original agi.. urgh
- fixed a parsing bug thanks
to justin. In justin quest typing 'ie' gets parsed as 'e'. the problem
was that it was incorrectly detecting single letter words like 'a' and 'i'
(which sierra-agi skips by default) "a " and "i " was being detected right
but "a<eol>" wasn't
- if sound cannot be init'd
(ie, if sound is already in use) then it disables it (Justin suggested this)
- fixed cmd_log entry in
cmd table.. i hadn't specified the 1 parameter so kq3 crashed when it
tried to log bad parsed cmds in debug mode because cmd.log didn't exist
but nagi didn't skip it's 1 parameter either
- tidied up some priority
code (misc_graf.c)
- fixed up flags code so
it only used bits for each flag.. not a whole byte. reduces save games
a bit (256 down to 32 bytes for flags) (so 224 bytes)
- replaced all hardcoded
animated object flags with #defines
- described all #defined
animated flags :)
- fixed save games so they
recognise "c:" or "c:\" or "a:" or whatever
- added 'where to get games'
and 'funny larry bug' to docs
- organised docs a bit
note: save games are incompatible with older versions now due to several
changes (in viewtable and state structure)
28th June 2001 (Version 2.01)
- fixed update.screen so
SDL wouldn't ignore it if it went slightly offscreen
- played around with adding
buffbri mouse support.. works but I want to make it more generic
- changed video mode to
use 8bit colour depth. does it fix anybody's colour probs?
- added proper buff bri
support.. access it through standard.ini
- added sliding puzzle game
and Shifty demo to crc list
- changed some mouse support
games in list
- automouse works! had to
play around with sierra's implementation to make it work but it works
well now.
- shifted some bugs to games
issues (not really bugs)
26th June 2001 (Version 2.00)
- finally implemented all
v3 differences.. this doesn't include saving yet
- v1.04 was actually feature
complete when it came to graphics
- cmd177, 173 and 181 are
done
- some variables are set
and unset.. but nothing actually checks it
- ** some sort of mouse
driver maybe checks it?? never actually released?
- cleaned up command table
structure a bit
- implemented tracing ('+'
actually skips to the next logic call)
- implemented text scrolling
(for the tracing)
- sound fixed (stupid scaling
bug).. still going for a rewrite one day
- trace.init() fixed.. calculating
height incorrectly
- tracing fixed up (reading
16bit said numbers was askew and could have caused a crash
- fixed sierra's tracing
so it doesn't try and read a null pointer if command name does not exist.
- added all the different
tracing "hooks" throughout the code that I commented out
- added Schiller Demo to
crc list
- display game title in
window
19th June 2001 (Version 1.04)
- compared other v2 and
v3 functions (mostly just hgc removal)
- implemented v3 priority
table
- mysterious movement type
4 which I suspect is for mouse support?
- kq4 works better now..
no weird priority errors now
- Set some milestones and
gave previous snapshots a version number
- added Disco Nights and
Donald Duck 1.0c to crc list
17th June 2001 (Version 1.03)
- fixed a bunch o' warnings
- fixed pic fill in kq4
12th June 2001 (Version 1.02)
- Can detect v2 and v3 resource
types (not v3 with 4 dir's though)
- for defaults.. do not
need standard.ini
- found bugs in SQ-Lost
Chapter..thought they were in nagi..
- added a whole bunch of
games to crc list
- touched up and cleaned
up the version stuff.
8th June 2001 (Version 1.01)
- version 3 support added!
- lzw compression
- don't decrypt logic msg
if lzw compressed
- added a nice new section
that detects game present
- crc checking
- update loop direction
stuff depending on flag 20
- bunch o' stuff (i think)
- cmd.version() added :)..
might work on this a tiny bit more
- rearranged initialisation
code so it's a tad cleaner and works for the new version detection code
- all games in my crc list
work.. if you have a game version that isn't on the list (which is
a few) could you please show me a way I could obtain it?
- BUGS... if the screen
is updated on the far right.. it may not properly
- update. (evident in demo
packs and a window in the MH demo in demo4)
- quick fix.. swap out of
window and go back.. sdl should automatically update
- initial beginnings of
a game select menu (hence the NAGI status bar) haven't finished it
yet because i was working on version detection
- added some small utils
(crc and bitz) that might be useful
- BUGS.. no default for
agi atm.
- read the standard.ini
and standard_doc.rtf to see the new changes for version recognition
in NAGI.
29th May 2001 (Version 1.00)
- add.to.pic is complete.
there should not be any graphics bugs now (i hope)
- compare strings (needed
for larry phone numbers)
- show.obj (needed for larry
time/wallet amount)
- inventory the same as
the original now (maybe an option for dodgy quick version?)
- follow.ego works (rewrote
the function.. no idea what the prob was)
- priority bug in add.to.pic
fixed :)
- LEISURE SUIT LARRY CAN
NOW BE COMPLETED (finished on a dodgy slow 486 33mhz laptop since I had
nothing better to do)
24th May 2001 (Version 0.04)
- savegames (one game) work
- restart works
- text mode properly works
(no palette support yet)
- special config file (no
windows dll's used)
- video scaling (see config)
- select drivers through
ini file.. no batch file needed now
- bug in saving the logic
scan lists (reporting wrong size)
- can optionally select
the decryption of object file (for older games)
- dodgy quick inventory
to see what you've got (and test decrypted obj)
11th May 2001 (Version 0.03)
- menus done.. text display
fixed up a bit (help and pq newspaper looks alright)
- clock should be working
properly now too (wizard/pq meeting)
- n.exe is unoptimised...
n-o2.exe is optimised.
9th May 2001 (Version 0.02)
- stupid bug removed.. working
on menus (not complete yet)
6th May 2001 (Version 0.01)
- a couple o' comments..
compiled with optimisations on.
- just had birthday.. so
no proper work on it yet.
4th May 2001 (Version 0.00)