Difference between revisions of "AGI/TODO"

From ScummVM :: Wiki
< AGI
Jump to navigation Jump to search
m (→‎Winnie the Pooh: tigger/mist events have been implemented)
m (Moved 3690 from Not Fixed to Fixed, as it turns out to be original game (script) bugs which cannot be fixed because the author left the project unfinished (Game is winable))
 
(33 intermediate revisions by 10 users not shown)
Line 1: Line 1:
{{Infobox_TODO|
taskname=AGI Engine TODO|
techcontact=[[AGI]] Engine Team|
subsystem=Engine|
}}
== Main ToDo items ==
== Main ToDo items ==


=== Bugs Also in the Original ===
In the following you will find a number of bugs which actually already occur when using the original interpreter / .EXE. That is, those errors are bugs in the games themselves, not in ScummVM. Still, we sometimes are able to implement workarounds, meaning ScummVM at times works better than the original ;).


=== Features ===
Note that neither of these lists is complete.


* Better game detection code. NAGI approach with inheritable settings seems to be nice. Direct MD5 approach will not always work, i.e. we have to have a good fallback, so zillions of fan-made games could work as is. (in progress ?). Fallback should be pretty simple, there are only two known versions of logic compiler (one old one outputs 2.440, all the current AGI Editors do 2.917).
==== Not Fixed ====
* Improve save/load management
* AGI GR: Jacobs...err, Jerrod's Ladder. {{Tracker|id=3571}}
* Better objectify
* AGI: Fan(Caitlyn's Destiny) - Sprite handling flawed. {{Tracker|id=3684}}
* Finish Apple IIgs sound support
* AGI: Fan(Agent06) - Costume glitch. {{Tracker|id=3689}}
* Better compatibility. NAGI is known to be more stable
* SQ2: Walking inside walls at Orbital Station's shuttle bay. {{Tracker|id=3825}}
* KQ2: Bug when rubbing genie lamp. {{Tracker|id=3638}}


== [[user:Buddha%5E|Buddha^]]'s ToDo for the AGI engine ==
==== Fixed ====
 
* AGI: Fan(Get Outta SQ) - Graphics messed up. {{Tracker|id=3697}}
* Finish the implementation of Apple IIGS sound support
* AGI: Fan(Hobbits) - Game stuck after intro. {{Tracker|id=3698}}
* Disable CGA rendering for AGI256 and AGI256-2 games
* AGI: Fan(Hobbits) - Game logic flawed. {{Tracker|id=3699}}
* Write documentation for AGI256 and AGI256-2 hacks
* AGI: Fan(Caitlyn) - Script errors(?) - original game bugs(?). {{Tracker|id=3690}}
** Overally done, implementation details probably need some tidying up
* Fix priority screen showing (For debugging) in AGI256 and AGI256-2 mode
** Pretty much done, only ego's priority showing still missing.
 
And some items that I'm not currently working on but they're here so
I don't totally forget about them:
 
* Add GUI-stuff to AGI fallback detector
** Add only at first run on-screen warning (with OK button) where user will be invited submit his game to us ("Please, submit your game to ScummVM Team")
* Finish [[user:sev|sev]]'s fallback detector changes
** Implement some simple .ini file supplement
*** Add fanmade.ini file support
*** Move most of fanmade games to separate external file (An ini-file with more features than WinAGI's wag-files + md5s)?
* Add parsing of WORDS.TOK to AGI's predictive input (Don't just use the pred.dic that comes with ScummVM)
** Would make it impossible to have missing words in a game (Think about new fangames)


== Future ==
== Future ==
[[Image:Sarien13.png|frame|right|Amiga-Style Menu]]
=== From Sarien Bugs and requests ===
=== From Sarien Bugs and requests ===
* Hercules mode (?)
 
==== Not Yet Implemented ====
* CGA RGB rendering mode [http://sourceforge.net/tracker/index.php?func=detail&aid=438410&group_id=24759&atid=382573 FR #438410]
* CGA RGB rendering mode [http://sourceforge.net/tracker/index.php?func=detail&aid=438410&group_id=24759&atid=382573 FR #438410]
* Mac mono mode (?)
* Mac monochrome rendering (kinda pointless, we already support Hercules rendering)
* Finish Apple IIgs music support
* MIDI music [http://sourceforge.net/tracker/index.php?func=detail&aid=439547&group_id=24759&atid=382573 FR #439547]
 
=== NAGI features ===
First thing to consider is that NAGI has X11 license.
* Hercules fonts (suggestion is at Sarien [http://sourceforge.net/tracker/index.php?func=detail&aid=607641&group_id=24759&atid=382573 FR #607641])
* Generic AGI version detector
* Check Tandy emulator
* Apple II palette


=== Features that'd be nice to have ===
=== Features that'd be nice to have ===
* [[AGI_Palette_Configuration|AGI Custom Palette Configuration]] task has a 50 to 100 USD Bounty on it offered by syke. Note: The project can not guarantee payment on this, speak to syke if wanting to claim.
* Custom 256-color palette support for fan games using [[AGI/Specifications/Fan_Made_Extensions#AGI256|AGI256]] or [[AGI/Specifications/Fan_Made_Extensions#AGI256-2|AGI256-2]]
** This needs custom palette defining, loading and changing support as AGI256(-2) currently always uses the default 256-color VGA palette
* Custom picture/view/cel-dependent palettes
* Custom picture/view/cel-dependent palettes
** Example: Darken the backgrounds, lighten the ego and objects.
** Example: Darken the backgrounds, lighten the ego and objects.
* Accurate white noise emulation for PCjr sound
** Information about the PCjr's sound chip (Including white noise generation):
*** [http://web.inter.nl.net/users/J.Kortink/home/articles/sn76489/index.htm John Kortink's SN76489 reverse engineering effort]
*** [http://www.smspower.org/maxim/docs/SN76489.txt Texas Instruments SN76489 notes]
*** [http://en.wikipedia.org/wiki/Texas_Instruments_SN76489 Wikipedia article on Texas Instruments SN76489]


=== Completely Wishful Thinking ===
=== Completely Wishful Thinking ===
* Support for AGI v2.001 + v1 PC-Disk images (The biggest bar to entry is really working out how the executable knows where files 'map' to on disk, the fileformats are the same, so its just working out how the game knows Sector X, head Y, Track D is the start of File Q).
* Support for AGI v2.001 + v1 PC-Disk images (The biggest bar to entry is really working out how the executable knows where files 'map' to on disk, the file formats are the same, so it is just working out how the game knows Sector X, head Y, Track D is the start of File Q).


== PreAGI ==
== PreAGI ==
* BCG images (they use CGA palette)
* Code cleanup and restructure


=== Mickey's Space Adventure ===
=== Mickey's Space Adventure ===
* sound
* Make saving/loading routines endian and alignment safe
* move _vm->_system->updateScreen(); to main loop (this doesn't seem possible with the current code, though)
* support for Apple, C64, and TRS-80 versions
* support for Apple, C64, and TRS-80 versions


Line 79: Line 58:
*** "greyed-out" buttons
*** "greyed-out" buttons
*** cursor
*** cursor
** sound
* finish support for C64 version
* finish support for C64 version
** intro pictures
** intro pictures
** palette
** palette
** objects
** sound
* sound
* finish support for Apple II version
** intro pictures
** palette
** sound
* finish moving _vm->_system->updateScreen(); to main loop (this doesn't seem possible with the current code, though)
* finish moving _vm->_system->updateScreen(); to main loop (this doesn't seem possible with the current code, though)
* support for Apple and Atari versions
* support for Atari version


=== Troll's Tale ===
=== Troll's Tale ===
* switch to use of the booter dump
* sound
* sound
* support for Apple, Atari, and C64 versions
* support for Apple, Atari, and C64 versions

Latest revision as of 07:50, 3 August 2017

TODO List
Name AGI Engine TODO
Technical Contact(s) AGI Engine Team
Subsystem Engine

Main ToDo items

Bugs Also in the Original

In the following you will find a number of bugs which actually already occur when using the original interpreter / .EXE. That is, those errors are bugs in the games themselves, not in ScummVM. Still, we sometimes are able to implement workarounds, meaning ScummVM at times works better than the original ;).

Note that neither of these lists is complete.

Not Fixed

  • AGI GR: Jacobs...err, Jerrod's Ladder. [Bug #3571]
  • AGI: Fan(Caitlyn's Destiny) - Sprite handling flawed. [Bug #3684]
  • AGI: Fan(Agent06) - Costume glitch. [Bug #3689]
  • SQ2: Walking inside walls at Orbital Station's shuttle bay. [Bug #3825]
  • KQ2: Bug when rubbing genie lamp. [Bug #3638]

Fixed

  • AGI: Fan(Get Outta SQ) - Graphics messed up. [Bug #3697]
  • AGI: Fan(Hobbits) - Game stuck after intro. [Bug #3698]
  • AGI: Fan(Hobbits) - Game logic flawed. [Bug #3699]
  • AGI: Fan(Caitlyn) - Script errors(?) - original game bugs(?). [Bug #3690]

Future

From Sarien Bugs and requests

Not Yet Implemented

  • CGA RGB rendering mode FR #438410
  • Mac monochrome rendering (kinda pointless, we already support Hercules rendering)

Features that'd be nice to have

  • AGI Custom Palette Configuration task has a 50 to 100 USD Bounty on it offered by syke. Note: The project can not guarantee payment on this, speak to syke if wanting to claim.
  • Custom 256-color palette support for fan games using AGI256 or AGI256-2
    • This needs custom palette defining, loading and changing support as AGI256(-2) currently always uses the default 256-color VGA palette
  • Custom picture/view/cel-dependent palettes
    • Example: Darken the backgrounds, lighten the ego and objects.

Completely Wishful Thinking

  • Support for AGI v2.001 + v1 PC-Disk images (The biggest bar to entry is really working out how the executable knows where files 'map' to on disk, the file formats are the same, so it is just working out how the game knows Sector X, head Y, Track D is the start of File Q).

PreAGI

Mickey's Space Adventure

  • Make saving/loading routines endian and alignment safe
  • support for Apple, C64, and TRS-80 versions

Winnie the Pooh

  • Amiga version specifics
    • palette
      • pink should be displayed as orange
    • Amiga interface
      • Compass image
      • inverse text/background colors
      • playground button
      • "greyed-out" buttons
      • cursor
    • sound
  • finish support for C64 version
    • intro pictures
    • palette
    • sound
  • finish support for Apple II version
    • intro pictures
    • palette
    • sound
  • finish moving _vm->_system->updateScreen(); to main loop (this doesn't seem possible with the current code, though)
  • support for Atari version

Troll's Tale

  • sound
  • support for Apple, Atari, and C64 versions

The Gelfling Adventure

  • add support
  • support for Apple and Atari versions
  • did a DOS version actually exist?

Dragon's Keep

  • add support
  • support for Apple, Atari, and C64 versions. DOS version seems to have never existed