Difference between revisions of "User:Toneman"

Jump to navigation Jump to search
1,242 bytes added ,  18:24, 7 August 2010
m
no edit summary
(Modified Plugin Design Change Plans)
m
 
(8 intermediate revisions by the same user not shown)
Line 20: Line 20:
====Write a linker script and custom ELF loader to provide full support for loadable modules in ScummVM’s PS2 Port, using the pre-existing PSP code as a starting point.====
====Write a linker script and custom ELF loader to provide full support for loadable modules in ScummVM’s PS2 Port, using the pre-existing PSP code as a starting point.====


Completed on June 13th!
<strike>May 24th - June 13th: Do the task!</strike>
    
    


====Implement support for loadable modules on the GP2x, an ARM target. (To be completed by: July 9th)====
====Implement support for loadable modules on the GP2x, an ARM target. (To be completed by: July 9th)====


June 14th-18th: Get debugging facilities set up for the GP2x. Start coding initial linker scripts/loader. (Continue testing/documenting PS2 work).
<strike>June 14th-18th: Get debugging facilities set up for the GP2x. Start coding initial linker scripts/loader. (Continue testing/documenting PS2 work).</strike>


June 21st-25th: Tweak Makefile and finish initial linker/loader code. Begin debugging.
<strike>June 21st-25th: Tweak Makefile and finish initial linker/loader code. Begin debugging.</strike>


June 28th - July 2nd: Continue work on the GP2x Wiz.
<strike>June 28th - July 2nd: Discussed Wiz problems and made final design decisions concerning plugin loading with mentors, abandoning Wiz as a testbed for now.</strike> ([http://tonypuccinelli.blogspot.com/2010/06/restructuring.html http://tonypuccinelli.blogspot.com/2010/06/restructuring.html])


July 5th - July 9th: Finish ELF loader for the Wiz.


====Implement support for loadable modules on the DS. (To be completed by: July 16th)====


====Abstract parent “ELF Loader” class to be inherited by targets that support loadable modules. (To be completed by: July 16th)====
<strike>July 5th-9th: Get Debugging Facilities Set up for the DS, completely code module loader for DS.</strike>


July 12th-16th: Do the task!
<strike>July 12th-21st: Debug and test DS (only building one or two plugins) until the module loader is in a usable state.</strike>




====Implement support for loadable modules on the DS with the aid of the ARM-based GP2x code. (To be completed by: August 13th)====
====Abstract parent “ELF Loader” class to be inherited by targets that support loadable modules. (To be completed by: August 6th)====


July 19th-23rd: Get Debugging Facilities Set up for the DS and make final design decisions with mentors (see "Plugin Design Change Plans" below).
<strike>July 22nd-25th: Do the task!</strike>


July 26th-30th: Begin making necessary changes to GP2x loader/linker to adapt it for DS and altered design.


August 2nd-6th: Continue work on the DS.
====Change Plugin Design (To be completed by: July 30th)====


August 9th-13th: Finish coding!
July 26th-30th: Begin Plugin Design Change Work. Complete "First Refinement" and Begin on "Long Term Approach" (see "Plugin Design Change Plans" below).


August 2nd-6th: Complete "Long Term Approach" (see "Plugin Design Change Plans" below).


====Continue work with ScummVM? ;-)====


====End of Summmer====


==Plugin Design Change Plans==
August 9th-13th: Code Reintegration Phase/Wiggle Room :-)
 
August 14th-???: Continue work with ScummVM? ;-)
 
 
 
==Plugin Design Change Plans (Subject to Change)==


1) First Refinement
1) First Refinement
Line 65: Line 71:


For a next step, every game target in the config file can be given an "engine=MYENGINE" key-value pair. This way, the right engine plugin can be decided upon right away. If the "engine=" field is missing for a given game, we can just revert to the behavior of the "First Refinement" and automatically update the target in the config file with an "engine" key based on which engine the old behavior detects as correct for the game.
For a next step, every game target in the config file can be given an "engine=MYENGINE" key-value pair. This way, the right engine plugin can be decided upon right away. If the "engine=" field is missing for a given game, we can just revert to the behavior of the "First Refinement" and automatically update the target in the config file with an "engine" key based on which engine the old behavior detects as correct for the game.
3) Extra Concerns
-------------------------------
*Currently, starting a game without a config entry is supported. For example, if you type "scummvm monkey2" and have no monkey2 target configured, it will try to locate monkey2 in the current directory. We can't know the engine this way, but we could again fall back to the "First Refinement" behavior.
*To support "--list-games", we can just load every engine individually and add the output to a list.
*For desktop ports and certain other ports (e.g. Dreamcast) where it makes more sense to stick with the old, unmodified model of loading all plugins from the start, we can certainly just retain that old behavior :-).
27

edits

Navigation menu