Open main menu

Difference between revisions of "Advanced Engine Features"

m
Fullpipe renamed to NGI.
m (Fullpipe renamed to NGI.)
 
(One intermediate revision by one other user not shown)
Line 28: Line 28:


'''Not implemented by:'''
'''Not implemented by:'''
[[AGI]], [[Avalanche]], [[CGE]], [[Cine]], [[Composer]], [[CruisE]], [[Drascula]], [[Dreamweb]], [[Fullpipe]], [[Groovie]], [[Hopkins]], [[Hugo]], [[Lastexpress]], [[MADE]], [[Neverhood]], [[Queen]], [[Sky]], [[Sword1]], [[Sword25]], [[Tinsel]], [[Toltecs]], [[Tony]], [[Touche]], [[TsAGE]], [[Tucker]], [[Wintermute]]
[[AGI]], [[Avalanche]], [[CGE]], [[Cine]], [[Composer]], [[CruisE]], [[Drascula]], [[Dreamweb]], [[Groovie]], [[Hopkins]], [[Hugo]], [[Lastexpress]], [[MADE]], [[Neverhood]], [[NGI]], [[Queen]], [[Sky]], [[Sword1]], [[Sword25]], [[Tinsel]], [[Toltecs]], [[Tony]], [[Touche]], [[TsAGE]], [[Tucker]], [[Wintermute]]


'''Support not necessary:'''  
'''Support not necessary:'''  
Line 38: Line 38:


'''How to implement it'''<br>
'''How to implement it'''<br>
You can implement this by checking for and honoring the EVENT_RTL event. A much easier way, which also gives you some other advantages (e.g. this also covers EVENT_QUIT), is to regularly poll the return value of Engine::shouldQuit(). If it returns true, you should break out from your main game loop and your Engine::run() method should return to the caller.  
You can implement this by checking for and honoring the EVENT_RETURN_TO_LAUNCHER event. A much easier way, which also gives you some other advantages (e.g. this also covers EVENT_QUIT), is to regularly poll the return value of Engine::shouldQuit(). If it returns true, you should break out from your main game loop and your Engine::run() method should return to the caller.  


'''Relevant Engine API'''
'''Relevant Engine API'''
Line 45: Line 45:
bool shouldQuit() const;
bool shouldQuit() const;


kSupportsRTL feature flag
kSupportsReturnToLauncher feature flag
</syntaxhighlight>
</syntaxhighlight>


'''Implemented by:'''
'''Implemented by:'''
[[AGI]], [[AGOS]], [[CGE]], [[Cine]], [[Composer]], [[CruisE]], [[Draci]], [[Drascula]], [[Dreamweb]], [[Fullpipe]], [[Gob]], [[Groovie]], [[Hopkins]], [[Hugo]], [[Kyra]], [[Lastexpress]], [[Lure]], [[MADE]], [[Mohawk]], [[Mortevielle]], [[Neverhood]], [[Parallaction]], [[Pegasus]], [[Queen]], [[SAGA]], [[SCI]], [[SCUMM]], [[Sky]], [[Supernova]], [[Sword1]], [[Sword2]], [[Sword25]], [[TeenAgent]], [[Tinsel]], [[Toltecs]], [[Tony]], [[Toon]], [[Touche]], [[TsAGE]], [[Tucker]], [[Wintermute]], [[ZVision]]
[[AGI]], [[AGOS]], [[CGE]], [[Cine]], [[Composer]], [[CruisE]], [[Draci]], [[Drascula]], [[Dreamweb]], [[Gob]], [[Groovie]], [[Hopkins]], [[Hugo]], [[Kyra]], [[Lastexpress]], [[Lure]], [[MADE]], [[Mohawk]], [[Mortevielle]], [[Neverhood]], [[NGI]], [[Parallaction]], [[Pegasus]], [[Queen]], [[SAGA]], [[SCI]], [[SCUMM]], [[Sky]], [[Supernova]], [[Sword1]], [[Sword2]], [[Sword25]], [[TeenAgent]], [[Tinsel]], [[Toltecs]], [[Tony]], [[Toon]], [[Touche]], [[TsAGE]], [[Tucker]], [[Wintermute]], [[ZVision]]


'''Not implemented by:''' [[Avalanche]]
'''Not implemented by:''' [[Avalanche]]
Line 69: Line 69:


'''Not implemented by:'''
'''Not implemented by:'''
[[Avalanche]], [[CGE]], [[Composer]], [[Drascula]], [[Dreamweb]], [[Fullpipe]], [[Mohawk]], [[Neverhood]], [[Parallaction]], [[Pegasus]], [[Sword25]], [[Tucker]], [[Wintermute]]
[[Avalanche]], [[CGE]], [[Composer]], [[Drascula]], [[Dreamweb]], [[Mohawk]], [[Neverhood]], [[NGI]], [[Parallaction]], [[Pegasus]], [[Sword25]], [[Tucker]], [[Wintermute]]


'''Support not necessary:''' [[AGI]], [[Mortevielle]], [[TeenAgent]], [[Tinsel]], [[Toon]]
'''Support not necessary:''' [[AGI]], [[Mortevielle]], [[TeenAgent]], [[Tinsel]], [[Toon]]
Line 134: Line 134:


'''Not implemented by:'''
'''Not implemented by:'''
[[Composer]], [[Fullpipe]], [[Gob]], [[Lastexpress]], [[MADE]], [[TeenAgent]], [[TsAGE]]
[[Composer]], [[Gob]], [[Lastexpress]], [[MADE]], [[NGI]], [[TeenAgent]], [[TsAGE]]


===Loading savestates via command line or Launcher===
===Loading savestates via command line or Launcher===
Line 154: Line 154:


'''Not implemented by:'''
'''Not implemented by:'''
[[AGOS]], [[Composer]], [[Fullpipe]], [[Gob]], [[Lastexpress]], [[MADE]], [[Parallaction]], [[Sword25]]
[[AGOS]], [[Composer]], [[Gob]], [[Lastexpress]], [[MADE]], [[NGI]], [[Parallaction]], [[Sword25]]


===Deleting savestates via the Launcher and GMM===
===Deleting savestates via the Launcher and GMM===
Line 177: Line 177:


'''Not implemented by:'''
'''Not implemented by:'''
[[AGOS]], [[Composer]], [[Fullpipe]], [[Gob]], [[Lastexpress]], [[MADE]], [[Mortevielle]], [[Sword25]]
[[AGOS]], [[Composer]], [[Gob]], [[Lastexpress]], [[MADE]], [[Mortevielle]], [[NGI]], [[Sword25]]


===Savestate metadata support===
===Savestate metadata support===
Line 202: Line 202:


'''Not implemented by:'''
'''Not implemented by:'''
[[AGOS]], [[Cine]], [[Composer]], [[Fullpipe]], [[Gob]], [[Lastexpress]], [[Lure]], [[Mohawk]], [[MADE]], [[Parallaction]], [[Pegasus]], [[Queen]], [[Sky]], [[Sword2]], [[Sword25]], [[Touche]], [[Tinsel]]
[[AGOS]], [[Cine]], [[Composer]], [[Gob]], [[Lastexpress]], [[Lure]], [[Mohawk]], [[MADE]], [[NGI]], [[Parallaction]], [[Pegasus]], [[Queen]], [[Sky]], [[Sword2]], [[Sword25]], [[Touche]], [[Tinsel]]


===Loading/Saving during run time===
===Loading/Saving during run time===
Line 251: Line 251:
:'''Implemented by:''' [[SCUMM]]
:'''Implemented by:''' [[SCUMM]]


:'''Not implemented by:''' [[AGI]], [[AGOS]], [[Avalanche]], [[Cine]], [[CGE]], [[Composer]], [[CruisE]], [[Draci]], [[Drascula]], [[Dreamweb]], [[Fullpipe]], [[Gob]], [[Groovie]], [[Hopkins]], [[Hugo]], [[Kyra]], [[Lastexpress]], [[Lure]], [[MADE]], [[Mohawk]], [[Mortevielle]], [[Neverhood]], [[Parallaction]], [[Pegasus]], [[Queen]], [[SAGA]], [[SCI]], [[Sky]], [[Sword1]], [[Sword2]], [[Sword25]], [[TeenAgent]], [[Tinsel]], [[Toltecs]], [[Tony]], [[Toon]], [[Touche]], [[TsAGE]], [[Tucker]], [[Wintermute]], [[ZVision]]
:'''Not implemented by:''' [[AGI]], [[AGOS]], [[Avalanche]], [[Cine]], [[CGE]], [[Composer]], [[CruisE]], [[Draci]], [[Drascula]], [[Dreamweb]], [[Gob]], [[Groovie]], [[Hopkins]], [[Hugo]], [[Kyra]], [[Lastexpress]], [[Lure]], [[MADE]], [[Mohawk]], [[Mortevielle]], [[Neverhood]], [[NGI]], [[Parallaction]], [[Pegasus]], [[Queen]], [[SAGA]], [[SCI]], [[Sky]], [[Sword1]], [[Sword2]], [[Sword25]], [[TeenAgent]], [[Tinsel]], [[Toltecs]], [[Tony]], [[Toon]], [[Touche]], [[TsAGE]], [[Tucker]], [[Wintermute]], [[ZVision]]


<syntaxhighlight lang="cpp">
<syntaxhighlight lang="cpp">
Line 257: Line 257:
</syntaxhighlight>
</syntaxhighlight>


:'''Implemented by:''' [[AGI]], [[AGOS]], [[Avalanche]], [[Cine]], [[CGE]], [[Composer]], [[CruisE]], [[Draci]], [[Drascula]], [[Dreamweb]], [[Fullpipe]], [[Gob]], [[Groovie]], [[Hopkins]], [[Hugo]], [[Kyra]], [[Lastexpress]], [[Lure]], [[MADE]], [[Mohawk]], [[Mortevielle]], [[Neverhood]], [[Parallaction]], [[Pegasus]], [[Queen]], [[SAGA]], [[SCI]], [[SCUMM]], [[Sky]], [[Sword1]], [[Sword2]], [[Sword25]], [[TeenAgent]], [[Tinsel]], [[Toltecs]], [[Toon]], [[Tony]], [[Touche]], [[TsAGE]], [[Tucker]], [[Wintermute]], [[ZVision]]
:'''Implemented by:''' [[AGI]], [[AGOS]], [[Avalanche]], [[Cine]], [[CGE]], [[Composer]], [[CruisE]], [[Draci]], [[Drascula]], [[Dreamweb]], [[Gob]], [[Groovie]], [[Hopkins]], [[Hugo]], [[Kyra]], [[Lastexpress]], [[Lure]], [[MADE]], [[Mohawk]], [[Mortevielle]], [[Neverhood]], [[NGI]], [[Parallaction]], [[Pegasus]], [[Queen]], [[SAGA]], [[SCI]], [[SCUMM]], [[Sky]], [[Sword1]], [[Sword2]], [[Sword25]], [[TeenAgent]], [[Tinsel]], [[Toltecs]], [[Toon]], [[Tony]], [[Touche]], [[TsAGE]], [[Tucker]], [[Wintermute]], [[ZVision]]


:'''Not implemented by:'''
:'''Not implemented by:'''
736

edits