Difference between revisions of "AGI/TODO"

From ScummVM :: Wiki
< AGI
Jump to navigation Jump to search
(Added note about custom 256-color palettes for AGI256/AGI256-2 fan games.)
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))
 
(27 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}}
 
==== Fixed ====
* AGI: Fan(Get Outta SQ) - Graphics messed up. {{Tracker|id=3697}}
* AGI: Fan(Hobbits) - Game stuck after intro. {{Tracker|id=3698}}
* AGI: Fan(Hobbits) - Game logic flawed. {{Tracker|id=3699}}
* AGI: Fan(Caitlyn) - Script errors(?) - original game bugs(?). {{Tracker|id=3690}}


== 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 ===
* Custom 256-color palette support for fan games using [[AGI/Specifications/Other#AGI256|AGI256]] or [[AGI/Specifications/Other#AGI256-2|AGI256-2]]
* [[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 ==
Line 46: Line 49:


=== Winnie the Pooh ===
=== Winnie the Pooh ===
* Make saving/loading routines endian and alignment safe
* Amiga version specifics
* Amiga version specifics
** palette
** palette
Line 56: 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
** correct in-game pictures
** sound
* finish support for AppleII version
* finish support for Apple II version
** intro pictures
** intro pictures
** palette
** palette
** correct in-game pictures
** sound
* 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 Atari version
* support for Atari version

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