mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-15 06:08:35 +00:00
Merge branch 'master' of https://github.com/scummvm/scummvm into cge2
This commit is contained in:
commit
bb2f8dd68e
9
AUTHORS
9
AUTHORS
@ -138,6 +138,11 @@ ScummVM Team
|
||||
Benjamin Haisch
|
||||
Filippos Karapetis
|
||||
|
||||
MADS:
|
||||
Arnaud Boutonne
|
||||
Paul Gilbert
|
||||
Filippos Karapetis
|
||||
|
||||
Mohawk:
|
||||
Bastien Bouclet
|
||||
Matthew Hoops
|
||||
@ -241,6 +246,10 @@ ScummVM Team
|
||||
Tucker:
|
||||
Gregory Montoir - (retired)
|
||||
|
||||
Voyeur:
|
||||
Arnaud Boutonne
|
||||
Paul Gilbert
|
||||
|
||||
Wintermute:
|
||||
Einar Johan T. Somaaen
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -34,6 +34,9 @@ TARGET ScummVM_A0000658.exe
|
||||
TARGETPATH sys\bin
|
||||
TARGETTYPE exe
|
||||
OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char
|
||||
// fixes error "section .data loaded at [...] overlaps section .text loaded at [...]"
|
||||
// in future simple add 'a'
|
||||
LINKEROPTION GCCE -Tdata 0xAA00000
|
||||
|
||||
UID 0x100039ce 0xA0000658
|
||||
|
||||
@ -90,9 +93,15 @@ STATICLIBRARY esdl.lib
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\..\backends\fs ..\src ..\..\..\..\backends\platform\sdl ..\..\..\..\audio
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\mw
|
||||
SYSTEMINCLUDE \epoc32\include\platform
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -90,9 +90,15 @@ STATICLIBRARY esdl.lib
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\..\backends\fs ..\src ..\..\..\..\backends\platform\sdl ..\..\..\..\audio
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE \epoc32\include\mw
|
||||
SYSTEMINCLUDE \epoc32\include\platform
|
||||
|
@ -76,31 +76,6 @@
|
||||
"..\..\..\vkeybd\packs\vkeybd_default.zip"-"c:\data\scummvm\vkeybd_default.zip"
|
||||
"..\..\..\..\gui\themes\translations.dat"-"c:\data\scummvm\translations.dat"
|
||||
"..\..\..\..\gui\themes\scummmodern.zip"-"c:\data\scummvm\scummmodern.zip"
|
||||
"..\..\..\..\gui\themes\fonts\Arial.bdf"-"c:\data\scummvm\Arial.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\Arial12.bdf"-"c:\data\scummvm\Arial12.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\ArialBold.bdf"-"c:\data\scummvm\ArialBold.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\clR6x12-iso-8859-1.bdf"-"c:\data\scummvm\clR6x12-iso-8859-1.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\clR6x12-iso-8859-2.bdf"-"c:\data\scummvm\clR6x12-iso-8859-2.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\clR6x12-iso-8859-5.bdf"-"c:\data\scummvm\clR6x12-iso-8859-5.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\clR6x12-iso-8859-7.bdf"-"c:\data\scummvm\clR6x12-iso-8859-7.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\clR6x12.bdf"-"c:\data\scummvm\clR6x12.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\courr12-iso-8859-1.bdf"-"c:\data\scummvm\courr12-iso-8859-1.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\fixed5x8-iso-8859-1.bdf"-"c:\data\scummvm\fixed5x8-iso-8859-1.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\fixed5x8-iso-8859-5.bdf"-"c:\data\scummvm\fixed5x8-iso-8859-5.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\fixed5x8-iso-8859-7.bdf"-"c:\data\scummvm\fixed5x8-iso-8859-7.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\fixed5x8.bdf"-"c:\data\scummvm\fixed5x8.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\FreeMonoBold.ttf"-"c:\data\scummvm\FreeMonoBold.ttf"
|
||||
"..\..\..\..\gui\themes\fonts\FreeSans.ttf"-"c:\data\scummvm\FreeSans.ttf"
|
||||
"..\..\..\..\gui\themes\fonts\FreeSansBold.ttf"-"c:\data\scummvm\FreeSansBold.ttf"
|
||||
"..\..\..\..\gui\themes\fonts\helvB12-iso-8859-1.bdf"-"c:\data\scummvm\helvB12-iso-8859-1.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\helvB12-iso-8859-2.bdf"-"c:\data\scummvm\helvB12-iso-8859-2.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\helvB12-iso-8859-5.bdf"-"c:\data\scummvm\helvB12-iso-8859-5.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\helvB12.bdf"-"c:\data\scummvm\helvB12.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\helvBO12-iso-8859-1.bdf"-"c:\data\scummvm\helvBO12-iso-8859-1.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\helvBO12.bdf"-"c:\data\scummvm\helvBO12.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\helvR12-iso-8859-1.bdf"-"c:\data\scummvm\helvR12-iso-8859-1.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\helvR12.bdf"-"c:\data\scummvm\helvR12.bdf"
|
||||
;"..\..\..\..\gui\themes\"-"c:\data\scummvm\"
|
||||
|
||||
; Config/log files: 'empty' will automagically be removed on uninstall
|
||||
""-"c:\data\scummvm\scummvm.ini",FILENULL
|
||||
|
@ -36,7 +36,7 @@
|
||||
:"ScummVM"
|
||||
|
||||
; UID is the app's UID
|
||||
#{"ScummVM S60v3"},(0xA0000657),1,70,0
|
||||
#{"ScummVM S60v3"},(0xA0000657),1,70,6
|
||||
|
||||
;Supports Series 60 v 3.0
|
||||
[0x101F7961], 0, 0, 0, {"Series60ProductID"}
|
||||
@ -84,31 +84,6 @@
|
||||
"..\..\..\vkeybd\packs\vkeybd_default.zip"-"c:\data\scummvm\vkeybd_default.zip"
|
||||
"..\..\..\..\gui\themes\translations.dat"-"c:\data\scummvm\translations.dat"
|
||||
"..\..\..\..\gui\themes\scummmodern.zip"-"c:\data\scummvm\scummmodern.zip"
|
||||
"..\..\..\..\gui\themes\fonts\Arial.bdf"-"c:\data\scummvm\Arial.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\Arial12.bdf"-"c:\data\scummvm\Arial12.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\ArialBold.bdf"-"c:\data\scummvm\ArialBold.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\clR6x12-iso-8859-1.bdf"-"c:\data\scummvm\clR6x12-iso-8859-1.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\clR6x12-iso-8859-2.bdf"-"c:\data\scummvm\clR6x12-iso-8859-2.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\clR6x12-iso-8859-5.bdf"-"c:\data\scummvm\clR6x12-iso-8859-5.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\clR6x12-iso-8859-7.bdf"-"c:\data\scummvm\clR6x12-iso-8859-7.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\clR6x12.bdf"-"c:\data\scummvm\clR6x12.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\courr12-iso-8859-1.bdf"-"c:\data\scummvm\courr12-iso-8859-1.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\fixed5x8-iso-8859-1.bdf"-"c:\data\scummvm\fixed5x8-iso-8859-1.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\fixed5x8-iso-8859-5.bdf"-"c:\data\scummvm\fixed5x8-iso-8859-5.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\fixed5x8-iso-8859-7.bdf"-"c:\data\scummvm\fixed5x8-iso-8859-7.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\fixed5x8.bdf"-"c:\data\scummvm\fixed5x8.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\FreeMonoBold.ttf"-"c:\data\scummvm\FreeMonoBold.ttf"
|
||||
"..\..\..\..\gui\themes\fonts\FreeSans.ttf"-"c:\data\scummvm\FreeSans.ttf"
|
||||
"..\..\..\..\gui\themes\fonts\FreeSansBold.ttf"-"c:\data\scummvm\FreeSansBold.ttf"
|
||||
"..\..\..\..\gui\themes\fonts\helvB12-iso-8859-1.bdf"-"c:\data\scummvm\helvB12-iso-8859-1.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\helvB12-iso-8859-2.bdf"-"c:\data\scummvm\helvB12-iso-8859-2.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\helvB12-iso-8859-5.bdf"-"c:\data\scummvm\helvB12-iso-8859-5.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\helvB12.bdf"-"c:\data\scummvm\helvB12.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\helvBO12-iso-8859-1.bdf"-"c:\data\scummvm\helvBO12-iso-8859-1.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\helvBO12.bdf"-"c:\data\scummvm\helvBO12.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\helvR12-iso-8859-1.bdf"-"c:\data\scummvm\helvR12-iso-8859-1.bdf"
|
||||
"..\..\..\..\gui\themes\fonts\helvR12.bdf"-"c:\data\scummvm\helvR12.bdf"
|
||||
;"..\..\..\..\gui\themes\"-"c:\data\scummvm\"
|
||||
|
||||
; Config/log files: 'empty' will automagically be removed on uninstall
|
||||
""-"c:\data\scummvm\scummvm.ini",FILENULL
|
||||
|
@ -1,16 +1,16 @@
|
||||
{\rtf1\ansi\ansicpg1251\uc1 \deff0\deflang1049\deflangfe1049{\fonttbl{\f0\froman\fcharset204\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset204\fprq2{\*\panose 020b0604020202020204}Arial;}
|
||||
{\rtf1\ansi\ansicpg1251\uc1 \deff1\deflang1049\deflangfe1049{\fonttbl{\f0\froman\fcharset204\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset204\fprq2{\*\panose 020b0604020202020204}Arial;}
|
||||
{\f2\fmodern\fcharset204\fprq1{\*\panose 02070309020205020404}Courier New;}{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f8\froman\fcharset0\fprq2{\*\panose 00000000000000000000}Tms Rmn;}
|
||||
{\f14\fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}{\f28\fswiss\fcharset204\fprq2{\*\panose 020b0604020202020204}Arial CYR;}{\f29\fmodern\fcharset204\fprq1{\*\panose 02070309020205020404}Courier New CYR;}
|
||||
{\f43\froman\fcharset2\fprq2{\*\panose 05030102010509060703}Webdings;}{\f97\fswiss\fcharset204\fprq2{\*\panose 020b0506020202030204}Arial Narrow;}{\f109\froman\fcharset0\fprq2 Times New Roman;}{\f107\froman\fcharset238\fprq2 Times New Roman CE;}
|
||||
{\f110\froman\fcharset161\fprq2 Times New Roman Greek;}{\f111\froman\fcharset162\fprq2 Times New Roman Tur;}{\f112\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f113\froman\fcharset178\fprq2 Times New Roman (Arabic);}
|
||||
{\f114\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f117\fswiss\fcharset0\fprq2 Arial;}{\f115\fswiss\fcharset238\fprq2 Arial CE;}{\f118\fswiss\fcharset161\fprq2 Arial Greek;}{\f119\fswiss\fcharset162\fprq2 Arial Tur;}
|
||||
{\f120\fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f121\fswiss\fcharset178\fprq2 Arial (Arabic);}{\f122\fswiss\fcharset186\fprq2 Arial Baltic;}{\f125\fmodern\fcharset0\fprq1 Courier New;}{\f123\fmodern\fcharset238\fprq1 Courier New CE;}
|
||||
{\f126\fmodern\fcharset161\fprq1 Courier New Greek;}{\f127\fmodern\fcharset162\fprq1 Courier New Tur;}{\f128\fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f129\fmodern\fcharset178\fprq1 Courier New (Arabic);}
|
||||
{\f130\fmodern\fcharset186\fprq1 Courier New Baltic;}{\f333\fswiss\fcharset0\fprq2 Arial CYR;}{\f331\fswiss\fcharset238\fprq2 Arial CYR CE;}{\f334\fswiss\fcharset161\fprq2 Arial CYR Greek;}{\f335\fswiss\fcharset162\fprq2 Arial CYR Tur;}
|
||||
{\f336\fswiss\fcharset177\fprq2 Arial CYR (Hebrew);}{\f337\fswiss\fcharset178\fprq2 Arial CYR (Arabic);}{\f338\fswiss\fcharset186\fprq2 Arial CYR Baltic;}{\f341\fmodern\fcharset0\fprq1 Courier New CYR;}{\f339\fmodern\fcharset238\fprq1 Courier New CYR CE;}
|
||||
{\f342\fmodern\fcharset161\fprq1 Courier New CYR Greek;}{\f343\fmodern\fcharset162\fprq1 Courier New CYR Tur;}{\f344\fmodern\fcharset177\fprq1 Courier New CYR (Hebrew);}{\f345\fmodern\fcharset178\fprq1 Courier New CYR (Arabic);}
|
||||
{\f346\fmodern\fcharset186\fprq1 Courier New CYR Baltic;}{\f885\fswiss\fcharset0\fprq2 Arial Narrow;}{\f883\fswiss\fcharset238\fprq2 Arial Narrow CE;}{\f886\fswiss\fcharset161\fprq2 Arial Narrow Greek;}{\f887\fswiss\fcharset162\fprq2 Arial Narrow Tur;}
|
||||
{\f890\fswiss\fcharset186\fprq2 Arial Narrow Baltic;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;
|
||||
{\f30\froman\fcharset2\fprq2{\*\panose 05030102010509060703}Webdings;}{\f31\fswiss\fcharset204\fprq2{\*\panose 020b0506020202030204}Arial Narrow;}{\f44\froman\fcharset0\fprq2 Times New Roman;}{\f42\froman\fcharset238\fprq2 Times New Roman CE;}
|
||||
{\f45\froman\fcharset161\fprq2 Times New Roman Greek;}{\f46\froman\fcharset162\fprq2 Times New Roman Tur;}{\f47\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f48\froman\fcharset178\fprq2 Times New Roman (Arabic);}
|
||||
{\f49\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f52\fswiss\fcharset0\fprq2 Arial;}{\f50\fswiss\fcharset238\fprq2 Arial CE;}{\f53\fswiss\fcharset161\fprq2 Arial Greek;}{\f54\fswiss\fcharset162\fprq2 Arial Tur;}
|
||||
{\f55\fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f56\fswiss\fcharset178\fprq2 Arial (Arabic);}{\f57\fswiss\fcharset186\fprq2 Arial Baltic;}{\f60\fmodern\fcharset0\fprq1 Courier New;}{\f58\fmodern\fcharset238\fprq1 Courier New CE;}
|
||||
{\f61\fmodern\fcharset161\fprq1 Courier New Greek;}{\f62\fmodern\fcharset162\fprq1 Courier New Tur;}{\f63\fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f64\fmodern\fcharset178\fprq1 Courier New (Arabic);}
|
||||
{\f65\fmodern\fcharset186\fprq1 Courier New Baltic;}{\f268\fswiss\fcharset0\fprq2 Arial CYR;}{\f266\fswiss\fcharset238\fprq2 Arial CYR CE;}{\f269\fswiss\fcharset161\fprq2 Arial CYR Greek;}{\f270\fswiss\fcharset162\fprq2 Arial CYR Tur;}
|
||||
{\f271\fswiss\fcharset177\fprq2 Arial CYR (Hebrew);}{\f272\fswiss\fcharset178\fprq2 Arial CYR (Arabic);}{\f273\fswiss\fcharset186\fprq2 Arial CYR Baltic;}{\f276\fmodern\fcharset0\fprq1 Courier New CYR;}{\f274\fmodern\fcharset238\fprq1 Courier New CYR CE;}
|
||||
{\f277\fmodern\fcharset161\fprq1 Courier New CYR Greek;}{\f278\fmodern\fcharset162\fprq1 Courier New CYR Tur;}{\f279\fmodern\fcharset177\fprq1 Courier New CYR (Hebrew);}{\f280\fmodern\fcharset178\fprq1 Courier New CYR (Arabic);}
|
||||
{\f281\fmodern\fcharset186\fprq1 Courier New CYR Baltic;}{\f292\fswiss\fcharset0\fprq2 Arial Narrow;}{\f290\fswiss\fcharset238\fprq2 Arial Narrow CE;}{\f293\fswiss\fcharset161\fprq2 Arial Narrow Greek;}{\f294\fswiss\fcharset162\fprq2 Arial Narrow Tur;}
|
||||
{\f297\fswiss\fcharset186\fprq2 Arial Narrow Baltic;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;
|
||||
\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{
|
||||
\ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \snext0 Normal;}{\s1\ql \li0\ri0\sb360\sa240\keepn\widctlpar\nooverflow\faroman\rin0\lin0\itap0
|
||||
\b\f1\fs32\lang2057\langfe1033\kerning28\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext0 heading 1;}{\s2\ql \li0\ri0\sb120\sa120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \brdrb\brdrs\brdrw30\brsp20 \tqr\tx9072\nooverflow\faroman\rin0\lin0\itap0
|
||||
@ -22,14 +22,14 @@ heading 5;}{\s6\ql \li0\ri0\sb240\sa60\widctlpar\nooverflow\faroman\rin0\lin0\it
|
||||
\s9\ql \li0\ri0\sb240\sa60\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \i\f1\fs18\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext0 heading 9;}{\*\cs10 \additive Default Paragraph Font;}{\*\cs15 \additive \b\f1\fs20 \sbasedon10
|
||||
App Text;}{\s16\ql \li0\ri0\sb360\sa240\keepn\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs32\cf9\lang2057\langfe1033\kerning28\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext16 Category UID;}{
|
||||
\s17\ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \i\f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext17 Comment;}{\s18\ql \fi-283\li283\ri0\sa120\widctlpar\brdrb\brdrs\brdrw15\brsp20 {\*\pn
|
||||
\pnlvlblt\ilvl10\ls2047\pnrnot0\pnf43\pnstart1\pnindent283\pnhang{\pntxtb \'a2}}\nooverflow\faroman\ls2047\ilvl10\rin0\lin283\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext18 Context;}{\*\cs19 \additive
|
||||
\pnlvlblt\ilvl10\ls2047\pnrnot0\pnf30\pnstart1\pnindent283\pnhang{\pntxtb \'a2}}\nooverflow\faroman\ls2047\ilvl10\rin0\lin283\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext18 Context;}{\*\cs19 \additive
|
||||
\i\f1\fs20\ulnone\cf0\nosupersub \sbasedon10 Context Comment;}{\s20\ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\cf11\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext20 Definition Term;}{
|
||||
\s21\ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\cf11\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon20 \snext21 Definition Definition;}{\*\cs22 \additive \scaps\f97\fs20\cf13 \sbasedon10 Graphic Link;}{
|
||||
\s21\ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\cf11\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon20 \snext21 Definition Definition;}{\*\cs22 \additive \scaps\f31\fs20\cf13 \sbasedon10 Graphic Link;}{
|
||||
\s23\ql \fi-283\li283\ri0\sa120\widctlpar{\*\pn \pnlvlblt\ilvl10\ls2047\pnrnot0\pnf14\pnstart1\pnindent283\pnhang{\pntxtb F}}\nooverflow\faroman\ls2047\ilvl10\rin0\lin283\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033
|
||||
\sbasedon0 \snext23 Tip;}{\s24\ql \fi-283\li283\ri0\sa120\widctlpar{\*\pn \pnlvlblt\ilvl10\ls2047\pnrnot0\pnf14\pnstart1\pnindent283\pnhang{\pntxtb ?}}\nooverflow\faroman\ls2047\ilvl10\rin0\lin283\itap0
|
||||
\f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon23 \snext24 Note;}{\s25\ql \fi-283\li283\ri0\sa120\widctlpar{\*\pn \pnlvlblt\ilvl10\ls2047\pnrnot0\pnf43\pnstart1\pnindent283\pnhang{\pntxtb ~}}
|
||||
\f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon23 \snext24 Note;}{\s25\ql \fi-283\li283\ri0\sa120\widctlpar{\*\pn \pnlvlblt\ilvl10\ls2047\pnrnot0\pnf30\pnstart1\pnindent283\pnhang{\pntxtb ~}}
|
||||
\nooverflow\faroman\ls2047\ilvl10\rin0\lin283\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon24 \snext25 Important;}{\s26\ql \fi-283\li283\ri0\sa120\widctlpar\brdrb\brdrs\brdrw15\brsp20 {\*\pn \pnlvlblt\ilvl10\ls2047\pnrnot0
|
||||
\pnf43\pnstart1\pnindent283\pnhang{\pntxtb i}}\nooverflow\faroman\ls2047\ilvl10\rin0\lin283\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext26 Index;}{\*\cs27 \additive \b\f2\fs20 \sbasedon10 Key Name;}{
|
||||
\pnf30\pnstart1\pnindent283\pnhang{\pntxtb i}}\nooverflow\faroman\ls2047\ilvl10\rin0\lin283\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext26 Index;}{\*\cs27 \additive \b\f2\fs20 \sbasedon10 Key Name;}{
|
||||
\s28\ql \fi-284\li284\ri0\sa120\widctlpar{\*\pn \pnlvlbody\ilvl11\ls2047\pnrnot0\pndec\pnstart1\pnindent283\pnhang{\pntxta .}}\nooverflow\faroman\ls2047\ilvl11\rin0\lin284\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033
|
||||
\sbasedon0 \snext28 List Number;}{\s29\ql \fi-284\li284\ri0\sa120\widctlpar\tx284{\*\pn \pnlvlbody\ilvl0\ls2047\pnrnot0\pndec\pnf8 }\nooverflow\faroman\ls2047\rin0\lin284\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033
|
||||
\sbasedon28 \snext29 List Manual;}{\s30\ql \fi-284\li568\ri0\sa120\widctlpar{\*\pn \pnlvlbody\ilvl11\ls2047\pnrnot0\pndec\pnstart1\pnindent283\pnhang{\pntxta .}}\nooverflow\faroman\ls2047\ilvl11\rin0\lin568\itap0
|
||||
@ -44,34 +44,43 @@ Synonyms;}{\*\cs33 \additive \super \sbasedon10 endnote reference;}{\s34\ql \fi-
|
||||
{\list\listtemplateid1907811784\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0
|
||||
\fi-360\li643\jclisttab\tx643 }{\listname ;}\listid-125}{\list\listtemplateid1912741052\listsimple{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\chbrdr
|
||||
\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \fi-360\li360\jclisttab\tx360 }{\listname ;}\listid-120}{\list\listtemplateid-51363132\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0
|
||||
{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li360\jclisttab\tx360 }{\listname ;}\listid-119}}{\*\listoverridetable{\listoverride\listid-120\listoverridecount0\ls1}
|
||||
{\listoverride\listid-129\listoverridecount0\ls2}{\listoverride\listid-119\listoverridecount0\ls3}{\listoverride\listid-125\listoverridecount0\ls4}}{\info{\author Fedor}{\operator Fedor}{\creatim\yr2013\mo11\dy30\hr23\min4}
|
||||
{\revtim\yr2013\mo11\dy30\hr23\min24}{\version4}{\edmins20}{\nofpages7}{\nofwords1441}{\nofchars8219}{\*\company DEV}{\nofcharsws10093}{\vern8249}}\margl1701\margr850\margt1134\margb1134
|
||||
\deftab708\widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\horzdoc\dghspace120\dgvspace120\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind4\viewscale100\nolnhtadjtbl \fet0\sectd
|
||||
\linex0\sectdefaultcl {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang
|
||||
{\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8
|
||||
\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain \s17\ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0
|
||||
\i\f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\lang1033\langfe1033\langnp1033 Author: Fedor Strizhniou.}{\f28
|
||||
{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li360\jclisttab\tx360 }{\listname ;}\listid-119}{\list\listtemplateid947971744\listsimple{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0
|
||||
\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'01*;}{\levelnumbers;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 }{\listname ;}\listid-2}}{\*\listoverridetable{\listoverride\listid-120\listoverridecount0\ls1}
|
||||
{\listoverride\listid-129\listoverridecount0\ls2}{\listoverride\listid-119\listoverridecount0\ls3}{\listoverride\listid-125\listoverridecount0\ls4}{\listoverride\listid-120\listoverridecount0\ls5}{\listoverride\listid-129\listoverridecount0\ls6}
|
||||
{\listoverride\listid-119\listoverridecount0\ls7}{\listoverride\listid-125\listoverridecount0\ls8}{\listoverride\listid-120\listoverridecount0\ls9}{\listoverride\listid-129\listoverridecount0\ls10}{\listoverride\listid-119\listoverridecount0\ls11}
|
||||
{\listoverride\listid-125\listoverridecount0\ls12}{\listoverride\listid-120\listoverridecount0\ls13}{\listoverride\listid-129\listoverridecount0\ls14}{\listoverride\listid-119\listoverridecount0\ls15}{\listoverride\listid-125\listoverridecount0\ls16}
|
||||
{\listoverride\listid-2\listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelold\levelspace0\levelindent283{\leveltext\'01\u-3991 ?;}{\levelnumbers;}\f30\chbrdr
|
||||
\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-283\li283 }}\ls17}{\listoverride\listid-2\listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelold\levelspace0
|
||||
\levelindent283{\leveltext\'01\u-3991 ?;}{\levelnumbers;}\f30\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-283\li283 }}\ls18}}{\info{\author Fedor}{\operator Fedor}{\creatim\yr2013\mo11\dy30\hr23\min4}
|
||||
{\revtim\yr2013\mo12\dy14\hr12\min27}{\version95}{\edmins91}{\nofpages8}{\nofwords1514}{\nofchars8634}{\*\company DEV}{\nofcharsws0}{\vern8249}}\margl1701\margr850\margt1134\margb1134
|
||||
\deftab708\widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\horzdoc\dghspace120\dgvspace120\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind4\viewscale100\nolnhtadjtbl \fet0{\*\template
|
||||
E:\\Documents and Settings\\Administrator\\Application Data\\Microsoft\\\'d8\'e0\'e1\'eb\'ee\'ed\'fb\\cshelp2000.dot}\sectd \linex0\sectdefaultcl {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang
|
||||
{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang
|
||||
{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain
|
||||
\s17\ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \i\f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\lang1033\langfe1033\langnp1033 Author: Fedor Strizhniou.}{\f28
|
||||
\par }{\lang1033\langfe1033\langnp1033 Date: November 2013}{\f28
|
||||
\par }{\lang1033\langfe1033\langnp1033 Version: 1.7.0
|
||||
\par }\pard\plain \s1\ql \li0\ri0\sb360\sa240\keepn\widctlpar\nooverflow\faroman\outlinelevel0\rin0\lin0\itap0 \b\f1\fs32\lang2057\langfe1033\kerning28\cgrid\langnp2057\langfenp1033 {ScummVM Help
|
||||
\par }\pard\plain \s16\ql \li0\ri0\sb360\sa240\keepn\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs32\cf9\lang2057\langfe1033\kerning28\cgrid\langnp2057\langfenp1033 {\lang1033\langfe1033\langnp1033 0x100039ce}{\lang1059\langfe1033\langnp1059
|
||||
\par }\pard\plain \ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\f28
|
||||
\par }\pard\plain \s2\ql \li0\ri0\sb120\sa120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \brdrb\brdrs\brdrw30\brsp20 \tqr\tx9072\nooverflow\faroman\outlinelevel1\rin0\lin0\itap0 \b\f1\fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\b0\f28 Introduction
|
||||
|
||||
\par }\pard\plain \ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\f28
|
||||
\par }\pard\plain \s2\ql \li0\ri0\sb120\sa120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \brdrb\brdrs\brdrw30\brsp20 \tqr\tx9072\nooverflow\faroman\outlinelevel1\rin0\lin0\itap0 \b\f1\fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\b0\f28
|
||||
About ScummVM Help
|
||||
\par {\pntext\pard\plain\s26 \f30\fs20\lang2057\langfe1033\langnp2057\langfenp1033 \loch\af30\dbch\af0\hich\f30 \'69\tab}}\pard\plain \s26\ql \fi-283\li283\ri0\sa120\widctlpar\brdrb\brdrs\brdrw15\brsp20 {\*\pn \pnlvlblt\ilvl0\ls17\pnrnot0
|
||||
\pnf30\pnstart1\pnindent283\pnhang{\pntxtb i}}\nooverflow\faroman\ls17\rin0\lin283\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {About ScummVM Help
|
||||
\par }\pard\plain \ql \li0\ri0\sa120\widctlpar{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\f28
|
||||
\par }{
|
||||
This help file based on ScummVM forum thread with some elaborations(in Anotherguest section) and text correction. If you wish add some text or translate you may download and modify source document from https://sourceforge.net/projects/scummvms60git/ and t
|
||||
hen send me to fedor_qd@mail.ru
|
||||
\par Feel free to replace, merge or write you own instead 1st, 2nd and 3rd guides. Other sections require strict translations. And don\rquote t forget add your name :-)
|
||||
\par First guide contain help by Anotherguest, second - VincentJ, third - murgo. This doc created by Fedor Strizhniou.
|
||||
\par Enjoys, cheers! Always yours =)}{\lang1059\langfe1033\langnp1059
|
||||
\par }{\f29
|
||||
This help file based on ScummVM forum thread with some elaborations(in Anotherguest section) and text correction. If you wish add some text you may download and modify source document from https://sourceforge.net/projects/scummvms60git/ and then send me t
|
||||
o fedor_qd@mail.ru
|
||||
\par First guide contain help by Anotherguest, second - VincentJ, third - murgo.
|
||||
\par Enjoys, cheers! Always yous, Fedor Strizhniou =)}{\f29\lang1059\langfe1033\langnp1059
|
||||
\par }{\f29
|
||||
\par }\pard\plain \s2\ql \li0\ri0\sb120\sa120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \brdrb\brdrs\brdrw30\brsp20 \tqr\tx9072\nooverflow\faroman\outlinelevel1\rin0\lin0\itap0 \b\f1\fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\b0\f28 First guide
|
||||
|
||||
\par }\pard\plain \s32\ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\cf13\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {Controls, Virtual keyboard, Shortcuts, ScummVM, Tips, S60, UIQ, UIQ3, S80, s80, S90, s90
|
||||
\par }\pard\plain \ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\f28
|
||||
\par
|
||||
\par }{\f29 UIQ3 devices: To the top right (holding the phone portrait) you four icons, from the top they are
|
||||
\par }\pard\plain \s2\ql \li0\ri0\sb120\sa120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \brdrb\brdrs\brdrw30\brsp20 \tqr\tx9072{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\nooverflow\faroman\outlinelevel1\rin0\lin0\itap0
|
||||
\b\f1\fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\b0\f28 1st guide
|
||||
\par {\pntext\pard\plain\s26 \f30\fs20\lang2057\langfe1033\langnp2057\langfenp1033 \loch\af30\dbch\af0\hich\f30 \'69\tab}}\pard\plain \s26\ql \fi-283\li283\ri0\sa120\widctlpar\brdrb\brdrs\brdrw15\brsp20 {\*\pn \pnlvlblt\ilvl0\ls17\pnrnot0
|
||||
\pnf30\pnstart1\pnindent283\pnhang{\pntxtb i}}\nooverflow\faroman\ls17\rin0\lin283\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {Controls, Virtual keyboard, Shortcuts, ScummVM, Tips, S60, UIQ, UIQ3, S80, s80, S90, s90
|
||||
\par }\pard\plain \ql \li0\ri0\sa120\widctlpar{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\f28
|
||||
\par }{UIQ3 devices: To the top right (holding the phone portrait) you four icons, from the top they are
|
||||
\par
|
||||
\par * Toggle control mode, in control mode you can change text input , screen orientation and screen scaling
|
||||
\par * Mouse button, toggles between left, right and no button when tapping the screen. If no button is selected, 7 & Space works as left mouse button and 9 & Enter works as the right mouse button.
|
||||
@ -81,11 +90,11 @@ o fedor_qd@mail.ru
|
||||
\par * Enter key
|
||||
\par * Backspace
|
||||
\par * Arrow Up/Down to scroll the keys available
|
||||
\par * Virtual keyboard, tap letters to simulate keypresses.
|
||||
\par * Virtual keyboard, tap letters to simulate key presses.
|
||||
\par
|
||||
\par S60 and UIQ3 devices: (Control Key = Green Phone key, to activate/deactivate control mode in SDL)
|
||||
\par
|
||||
\par * 1 = change Input Mode: Joystick | Keyboard | Cursor
|
||||
\par }{\f29
|
||||
\par }{* 1 = change Input Mode: Joystick | Keyboard | Cursor
|
||||
\par * 2,'p' = change Video Mode: Landscape | Portrait
|
||||
\par * 3,'f' = change Orientation Mode for Landscape: 90\'b0 Left | 90\'b0 Right
|
||||
\par * 4,'s' = Toggle between stretched and non-stretched modes
|
||||
@ -95,7 +104,7 @@ o fedor_qd@mail.ru
|
||||
\par * 9,'j' = Joystick input
|
||||
\par * 0,'m' = Mouse input
|
||||
\par * Up/Down = Alter global volume when not in 1-1 VGA mode. Pan around in VGA 1-1 Mode
|
||||
\par * # = On/Off screen keyboard transparency
|
||||
\par * # = On/Off screen keyboard transparency in some games
|
||||
\par
|
||||
\par S80 devices:
|
||||
\par
|
||||
@ -110,65 +119,65 @@ o fedor_qd@mail.ru
|
||||
\par
|
||||
\par What are these Joystick, Keyboard and Cursor modes anyway?
|
||||
\par }{\f28
|
||||
\par }{\f29 Joystick mode sends SDL joystick events to ScummVM which acts as a mouse control in ScummVM. Cursor mod
|
||||
e sends keyboard arrows instead, so for example it can be used to navigate through directorylist (one hand use perhaps!?) or save games etc. Keyboard mode is only available for S60 and enables multi-tap to enter text characters in save dialogs. These mode
|
||||
s are implemented at the underlying SDL level, so this determines the types of events that ScummVM receives from SDL.
|
||||
\par }{Joystick mode sends SDL joystick events to ScummVM which acts as a mouse control in ScummVM. Cursor mode sends keyboard arrows instead, so for example it can be used to navigate
|
||||
through directorylist (one hand use perhaps!?) or save games etc. Keyboard mode is only available for S60 and enables multi-tap to enter text characters in save dialogs. These modes are implemented at the underlying SDL level, so this determines the types
|
||||
of events that ScummVM receives from SDL.
|
||||
\par What are these Shrinked, Zoomed and Upscaled modes anyway?
|
||||
\par
|
||||
\par Shrink displays the game on your screen but in a shrinked way, either in Portra
|
||||
it or Landscape mode, so not all the pixels can be seen. Zoom mode uses the maximum resolution of your phone displaying a smaller part of the game zoomed at 1:1 pixels. For scrolling in S60 Zoom mode: 0+Cursor keys to scroll around, 0+Ok button to center
|
||||
view. Upscale tries to fill the larger screens on S80/S90 devices in a better way for low resolution games. Currently it uses a pixel interpolation upscaling routine.
|
||||
\par Shrink displays the game on your screen but in a shrinked way, either in Portrait or Landscape mode, so not all the pixels can be seen. Zoom mode uses the maximum resolution of your phone displaying a smaller part of the game zoomed at 1:1 pixels. For scr
|
||||
olling in S60 Zoom mode: 0+Cursor keys to scroll around, 0+Ok button to center view. Upscale tries to fill the larger screens on S80/S90 devices in a better way for low resolution games. Currently it uses a pixel interpolation upscaling routine.
|
||||
\par
|
||||
\par You can also use a bluetooth mouse with S60v3 devices to control your game. You need the bluetooth hid library from Hinkka http://koti.mbnet.fi/hinkka/Download.html to get it to work properly.
|
||||
\par }{\f29
|
||||
\par
|
||||
\par }\pard\plain \s2\ql \li0\ri0\sb120\sa120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \brdrb\brdrs\brdrw30\brsp20 \tqr\tx9072{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\nooverflow\faroman\outlinelevel1\rin0\lin0\itap0
|
||||
\b\f1\fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\b0\f28 2nd guide
|
||||
\par {\pntext\pard\plain\s26 \f30\fs20\lang2057\langfe1033\langnp2057\langfenp1033 \loch\af30\dbch\af0\hich\f30 \'69\tab}}\pard\plain \s26\ql \fi-283\li283\ri0\sa120\widctlpar\brdrb\brdrs\brdrw15\brsp20 {\*\pn \pnlvlblt\ilvl0\ls17\pnrnot0
|
||||
\pnf30\pnstart1\pnindent283\pnhang{\pntxtb i}}\nooverflow\faroman\ls17\rin0\lin283\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {Controls, Virtual keyboard, Shortcuts, ScummVM, Tips, S60, s60
|
||||
\par }\pard\plain \ql \li0\ri0\sa120\widctlpar{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\f28
|
||||
\par
|
||||
\par }\pard\plain \s2\ql \li0\ri0\sb120\sa120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \brdrb\brdrs\brdrw30\brsp20 \tqr\tx9072\nooverflow\faroman\outlinelevel1\rin0\lin0\itap0 \b\f1\fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\b0\f28 Second guide
|
||||
|
||||
\par }\pard\plain \s32\ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\cf13\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {Controls, Virtual keyboard, Shortcuts, ScummVM, Tips, S60, s60
|
||||
\par }\pard\plain \ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\f28
|
||||
\par
|
||||
\par }{\f29 More user-friendly guide for Nokia phones (based on N96 but should apply to most phones)
|
||||
\par }{More user-friendly guide for Nokia phones (based on N96 but should apply to most phones)
|
||||
\par
|
||||
\par Left Soft Key - Left Click
|
||||
\par }{\f28
|
||||
\par }{\f29 Right Soft Key - Right Click
|
||||
\par }{Right Soft Key - Right Click
|
||||
\par }{\f28
|
||||
\par }{\f29 Navigation buttons - Move pointer on screen
|
||||
\par }{Navigation buttons - Move pointer on screen
|
||||
\par }{\f28
|
||||
\par }{\f29 "C" or "Delete Key" - Space Bar (i.e. skip dialogue/cutscene)
|
||||
\par }{"C" or "Delete Key" - Space Bar (i.e. skip dialogue/cutscene)
|
||||
\par }{\f28
|
||||
\par }{\f29 * - Bring up Menu (to Save, Load and change the game's options e.g. enable subtitles, speech etc. Varies from game to game)
|
||||
\par }{* - Bring up Menu (to Save, Load and change the game's options e.g. enable subtitles, speech etc. Varies from game to game)
|
||||
\par
|
||||
\par The <> is a toggling left right mode. I.e. first click is left, next is right, next is left etc.
|
||||
\par
|
||||
\par Call Button - Enter/Exit Configuration Mode
|
||||
\par }{\f28
|
||||
\par }{\f29 Configuration Mode, when activated, shows the word "CTRL" in green in the upper right corner of the screen. It allows to quickly switch between various functions of ScummVM. The following buttons on your keypad are activated when "CTRL" is disp
|
||||
layed-
|
||||
\par
|
||||
\par 1 - Change Input.
|
||||
\par }{Configuration Mode, when activated, shows the word "CTRL" in green in the upper right corner of the screen. It allows to quickly switch between various functions of ScummVM. The following buttons on your keypad are activated when "CTRL" is displayed :
|
||||
|
||||
\par }{\f29
|
||||
\par }{1 - Change Input.
|
||||
\par This is the option you'll probably use the most. There are three settings; A,C and J.
|
||||
\par
|
||||
\par A - This is the "Text Input" mode. It allows you to type directly into ScummVM as if you were using a keyboard. Type the same way you would whe
|
||||
n sending a text message off of your phone. Please note that the pointer is disabled when in this mode. Don't forget to exit Configuration Mode before typing!
|
||||
\par A - This is the "Text Input" mode. It allows you to type directl
|
||||
y into ScummVM as if you were using a keyboard. Type the same way you would when sending a text message off of your phone. Please note that the pointer is disabled when in this mode. Don't forget to exit Configuration Mode before typing!
|
||||
\par
|
||||
\par C - This is the "Cursor" mode. This emulates the arrow keys of the keyboard. Some games require using this instead of the mouse (e.g. the destruction derby section towards the end of Full Throttle).
|
||||
\par
|
||||
\par J - This is the "Joystick/Mouse" mode. Simply put, it allows you to use the navigation buttons to move the pointer around the screen. The left and right mouse buttons are used by the left and right Soft keys.
|
||||
\par
|
||||
\par The "C" button emulates the space bar, i.e. skip line of dialogue, skip cutscene or pause game (depending on the game, some games simply use the left mouse button to skip dialogue in which case it will pause the game instead)
|
||||
\par
|
||||
\par 2 - Toggle Landscape and Portrait
|
||||
\par }{\f29
|
||||
\par }{2 - Toggle Landscape and Portrait
|
||||
\par Switches the screen output between having the phone held normally (Portrait) or on its side (Landscape). You'll probably never take it off Landscape mode as it offers the better display area.
|
||||
\par
|
||||
\par 3 - Change Landscape Orientation
|
||||
\par Only applies to Landscape mode, simply swaps the screen output between having the phone tilted on its left side or on its right side.
|
||||
\par
|
||||
\par 4 - Toggle Zoom On and Off
|
||||
\par Zooms in on a portion of the screen. Handy for when you are looking through a screen for items or having trouble reading subtitles. Use the navigation buttons for panning around the play area. Don't forget you'll have to exit out of Configuration Mode bef
|
||||
ore you can move the pointer again. Exiting Configuration Mode does not reset the zoom level.
|
||||
\par
|
||||
\par 5 & 6 - Unused
|
||||
\par Zooms in on a portion of the screen. Handy for when you are looking through a screen for items or having trouble reading subtitles. Use the navigation buttons for panning around the play area. Don't forget you'll have to exit out of Confi
|
||||
guration Mode before you can move the pointer again. Exiting Configuration Mode does not reset the zoom level.
|
||||
\par }{\f29
|
||||
\par }{5 & 6 - Unused
|
||||
\par
|
||||
\par 7 - "Text Input" mode. Shortcut for entering "Text Input" mode directly instead of cycling through the other input types using the "1" key.
|
||||
\par
|
||||
@ -183,16 +192,16 @@ ore you can move the pointer again. Exiting Configuration Mode does not reset th
|
||||
\par Up Navigation Button - Increase ScummVM sound volume. Note that the game itself may have its own independent sound settings (usually found under the * menu)
|
||||
\par
|
||||
\par Down Navigation Button - Decrease ScummVM sound volume. Note that the game itself may have its own independent sound settings (usually found under the * menu)
|
||||
\par }{\f29
|
||||
\par
|
||||
\par }\pard\plain \s2\ql \li0\ri0\sb120\sa120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \brdrb\brdrs\brdrw30\brsp20 \tqr\tx9072{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\nooverflow\faroman\outlinelevel1\rin0\lin0\itap0
|
||||
\b\f1\fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\b0\f28 3rd guide
|
||||
\par {\pntext\pard\plain\s26 \f30\fs20\lang2057\langfe1033\langnp2057\langfenp1033 \loch\af30\dbch\af0\hich\f30 \'69\tab}}\pard\plain \s26\ql \fi-283\li283\ri0\sa120\widctlpar\brdrb\brdrs\brdrw15\brsp20 {\*\pn \pnlvlblt\ilvl0\ls17\pnrnot0
|
||||
\pnf30\pnstart1\pnindent283\pnhang{\pntxtb i}}\nooverflow\faroman\ls17\rin0\lin283\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {Controls, Virtual keyboard, Shortcuts, ScummVM, Tips, S60, s60
|
||||
\par }\pard\plain \ql \li0\ri0\sa120\widctlpar{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\f28
|
||||
\par
|
||||
\par }\pard\plain \s2\ql \li0\ri0\sb120\sa120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \brdrb\brdrs\brdrw30\brsp20 \tqr\tx9072\nooverflow\faroman\outlinelevel1\rin0\lin0\itap0 \b\f1\fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\b0\f28 Third guide
|
||||
|
||||
\par }\pard\plain \s32\ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\cf13\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {Controls, Virtual keyboard, Shortcuts, ScummVM, Tips, S60, s60
|
||||
\par }\pard\plain \ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\f28
|
||||
\par
|
||||
\par }{\f29 ScummVM keys on Nokia e71
|
||||
(most likely on any other qwerty-device, too), tested on version 0.14.0svn (Feb. 18 2009 05:56:07). Number keys are inserted by first pressing fn-key (leftmost key at bottom row on E71) and then pressing correct key (e.g. 5 is fn+g). You don't have to pre
|
||||
ss both keys simultaneously.
|
||||
\par }{ScummVM keys on Nokia e71 (most likely on any other qwerty-device, too), tested on version 0.14.0svn (Feb. 18 2009
|
||||
05:56:07). Number keys are inserted by first pressing fn-key (leftmost key at bottom row on E71) and then pressing correct key (e.g. 5 is fn+g). You don't have to press both keys simultaneously.
|
||||
\par
|
||||
\par Basic keys:
|
||||
\par
|
||||
@ -233,8 +242,8 @@ ss both keys simultaneously.
|
||||
\par t -- Talk to
|
||||
\par s -- Push
|
||||
\par y -- Pull
|
||||
\par
|
||||
\par and in Full Throttle (from the top of my head):
|
||||
\par }{\f29
|
||||
\par }{and in Full Throttle (from the top of my head):
|
||||
\par
|
||||
\par k -- kick (foot)
|
||||
\par t -- talk (mouth)
|
||||
@ -242,13 +251,13 @@ ss both keys simultaneously.
|
||||
\par p -- punch (hand)
|
||||
\par
|
||||
\par AGI games (King's Quest, Police Quest etc.):
|
||||
\par The games work beautifully on the E71, but there's some stupid bugs (in input). I recall fi
|
||||
nding some debug keys and "last sentence" / "inventory" -keys in earlier version, but I can't find them any more. Also you can't turn on sirens in Police Quest, which kinda makes it unplayable.
|
||||
\par The games work beautifully on the E71, but there's some stupid bugs (in input). I recall finding some debug keys and "last sentence" / "inventory" -keys in earlier version, but I can't find them any more. Also you can't turn on sirens in Police Quest, whi
|
||||
ch kinda makes it unplayable.
|
||||
\par
|
||||
\par There's good side and bad side to each input mode:
|
||||
\par Keyboard (I use this primarily)
|
||||
\par
|
||||
\par * goes to menu
|
||||
\par }{\f29
|
||||
\par }{* goes to menu
|
||||
\par + you can erase text
|
||||
\par + moving is relatively easy
|
||||
\par - you can't type in UPPER CASE
|
||||
@ -256,11 +265,75 @@ nding some debug keys and "last sentence" / "inventory" -keys in earlier version
|
||||
\par - worthless 'current key' -display on left top corner
|
||||
\par
|
||||
\par Joystick / Cursor:
|
||||
\par
|
||||
\par + you can access menus
|
||||
\par }{\f29
|
||||
\par }{+ you can access menus
|
||||
\par + you can type numbers (just make sure f-letter in left top corner is red before clicking "numbers". It works kinda funnily, but you'll get hang of it.)
|
||||
\par - you move mouse cursor which makes walking harder (joystick mode)
|
||||
\par - you can't erase text
|
||||
\par }{\f28
|
||||
\par }\pard\plain \s2\ql \li0\ri0\sb120\sa120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \brdrb\brdrs\brdrw30\brsp20 \tqr\tx9072{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\nooverflow\faroman\outlinelevel1\rin0\lin0\itap0
|
||||
\b\f1\fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {ScummVM1 engines list
|
||||
\par {\pntext\pard\plain\s26 \f30\fs20\lang2057\langfe1033\langnp2057\langfenp1033 \loch\af30\dbch\af0\hich\f30 \'69\tab}}\pard\plain \s26\ql \fi-283\li283\ri0\sa120\widctlpar\brdrb\brdrs\brdrw15\brsp20 {\*\pn \pnlvlblt\ilvl0\ls18\pnrnot0
|
||||
\pnf30\pnstart1\pnindent283\pnhang{\pntxtb i}}\nooverflow\faroman\ls18\rin0\lin283\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {Supported games
|
||||
\par }\pard\plain \ql \li0\ri0\sa120\widctlpar{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {agi
|
||||
\par agos
|
||||
\par \tab AGOS2
|
||||
\par cine
|
||||
\par composer
|
||||
\par cruise
|
||||
\par drascula
|
||||
\par gob
|
||||
\par groovie
|
||||
\par \tab GROOVIE2
|
||||
\par kyra
|
||||
\par \tab EOB
|
||||
\par \tab LOL
|
||||
\par lastexpress
|
||||
\par made
|
||||
\par neverhood
|
||||
\par parallaction
|
||||
\par queen
|
||||
\par saga
|
||||
\par \tab IHNM
|
||||
\par \tab SAGA2
|
||||
\par scumm
|
||||
\par \tab HE
|
||||
\par \tab SCUMM_7_8
|
||||
\par touche
|
||||
\par tucker
|
||||
\par wintermute
|
||||
\par
|
||||
\par There might be some mistakes and some keys missing from the list, feel free to pm me corrections / suggestions.}{\f28
|
||||
\par }\pard\plain \s2\ql \li0\ri0\sb120\sa120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \brdrb\brdrs\brdrw30\brsp20 \tqr\tx9072{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\nooverflow\faroman\outlinelevel1\rin0\lin0\itap0
|
||||
\b\f1\fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {ScummVM2 engines list
|
||||
\par {\pntext\pard\plain\s26 \f30\fs20\lang2057\langfe1033\langnp2057\langfenp1033 \loch\af30\dbch\af0\hich\f30 \'69\tab}}\pard\plain \s26\ql \fi-283\li283\ri0\sa120\widctlpar\brdrb\brdrs\brdrw15\brsp20 {\*\pn \pnlvlblt\ilvl0\ls18\pnrnot0
|
||||
\pnf30\pnstart1\pnindent283\pnhang{\pntxtb i}}\nooverflow\faroman\ls18\rin0\lin283\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {Supported games
|
||||
\par }\pard\plain \ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {avalanche
|
||||
\par cge
|
||||
\par composer
|
||||
\par draci
|
||||
\par dreamweb
|
||||
\par fullpipe
|
||||
\par hopkins
|
||||
\par hugo
|
||||
\par lure
|
||||
\par mohawk
|
||||
\par \tab CSTIME
|
||||
\par \tab MYST
|
||||
\par \tab RIVEN
|
||||
\par mortevielle
|
||||
\par pegasus
|
||||
\par sci
|
||||
\par \tab SCI32
|
||||
\par sky
|
||||
\par sword1
|
||||
\par sword2
|
||||
\par sword25(Not supported)
|
||||
\par teenagent
|
||||
\par testbed
|
||||
\par tinsel
|
||||
\par toltecs
|
||||
\par tony
|
||||
\par toon
|
||||
\par tsage
|
||||
\par zvision
|
||||
\par }}
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,5 +57,15 @@ SOURCEPATH ..\..\..\..\engines\agi
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -63,5 +63,15 @@ SOURCEPATH ..\..\..\..\engines\agos
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
* Copyright (C) 2013 Strizniou Fedor
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
@ -58,5 +58,15 @@ SOURCEPATH ..\..\..\..\engines\avalanche
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -34,7 +34,9 @@ TARGET scummvm_base.lib
|
||||
TARGETTYPE lib
|
||||
OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
|
||||
OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
|
||||
OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char
|
||||
// using option -Wno-psabi to supress warning "note: the mangling of 'va_list' has changed in GCC 4.4"
|
||||
// compiler will use png.h from libpng.lib instead ScummVM's
|
||||
OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char -Wno-psabi -I'/Symbian/S60_5th_Edition_SDK_v1.0/epoc32/include/png'
|
||||
ALWAYS_BUILD_AS_ARM
|
||||
|
||||
// Note: the LIB:*.lib statements are used by AdaptAllMMPs.pl, so don't remove them!
|
||||
@ -54,9 +56,12 @@ USERINCLUDE \epoc32\include\mpeg2dec //\epoc32\include\theora
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
@ -115,6 +120,7 @@ SOURCEPATH ..\..\..\..\video
|
||||
//STOP_AUTO_OBJECTS_VIDEO_//
|
||||
|
||||
// add a few files manually, since they are not parsed from modules.mk files
|
||||
SOURCE theora_decoder.cpp
|
||||
SOURCE bink_decoder.cpp
|
||||
SOURCE codecs\mpeg.cpp
|
||||
|
||||
@ -159,4 +165,5 @@ SOURCE backends\vkeybd\virtual-keyboard.cpp
|
||||
|
||||
// Downscaler
|
||||
SOURCE graphics\scaler\downscaler.cpp
|
||||
SOURCE graphics\scaler\downscalerARM.s
|
||||
MACRO SDL_BACKEND
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,5 +57,15 @@ SOURCEPATH ..\..\..\..\engines\cge
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,4 +57,15 @@ SOURCEPATH ..\..\..\..\engines\cine
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,5 +57,15 @@ SOURCEPATH ..\..\..\..\engines\COMPOSER
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,4 +57,15 @@ SOURCEPATH ..\..\..\..\engines\cruise
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,5 +57,15 @@ SOURCEPATH ..\..\..\..\engines\draci
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,4 +57,15 @@ SOURCEPATH ..\..\..\..\engines\drascula
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
* Copyright (C) 2013 Strizniou Fedor
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
@ -58,5 +58,15 @@ SOURCEPATH ..\..\..\..\engines\dreamweb
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
* Copyright (C) 2013 Strizniou Fedor
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
@ -58,5 +58,15 @@ SOURCEPATH ..\..\..\..\engines\fullpipe
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,4 +57,15 @@ SOURCEPATH ..\..\..\..\engines\gob
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,5 +57,15 @@ SOURCEPATH ..\..\..\..\engines\groovie
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,5 +57,15 @@ SOURCEPATH ..\..\..\..\engines\HOPKINS
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,5 +57,15 @@ SOURCEPATH ..\..\..\..\engines\hugo
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -70,4 +70,15 @@ SOURCEPATH ..\..\..\..\engines\kyra
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,5 +57,15 @@ SOURCEPATH ..\..\..\..\engines\lastexpress
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,4 +57,15 @@ SOURCEPATH ..\..\..\..\engines\lure
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,5 +57,15 @@ SOURCEPATH ..\..\..\..\engines\m4
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,5 +57,16 @@ SOURCEPATH ..\..\..\..\engines\made
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -76,5 +76,15 @@ SOURCEPATH ..\..\..\..\engines\mohawk
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
* Copyright (C) 2013 Strizniou Fedor
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
@ -58,5 +58,15 @@ SOURCEPATH ..\..\..\..\engines\mortevielle
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,5 +57,15 @@ SOURCEPATH ..\..\..\..\engines\neverhood
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,5 +57,15 @@ SOURCEPATH ..\..\..\..\engines\parallaction
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,5 +57,15 @@ SOURCEPATH ..\..\..\..\engines\PEGASUS
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,4 +57,15 @@ SOURCEPATH ..\..\..\..\engines\queen
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -69,4 +69,15 @@ SOURCEPATH ..\..\..\..\engines\saga
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -65,5 +65,15 @@ SOURCEPATH ..\..\..\..\engines\sci
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -81,7 +81,14 @@ SOURCE smush/codec47ARM.s // ARM version: add ASM routines
|
||||
USERINCLUDE ..\..\..\..\engines ..\..\..\..\engines\scumm\smush ..\..\..\..\engines\scumm\insane
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,4 +57,15 @@ SOURCEPATH ..\..\..\..\engines\sky
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines ..\..\..\..\engines\sky\music
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,4 +57,15 @@ SOURCEPATH ..\..\..\..\engines\sword1
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,4 +57,15 @@ SOURCEPATH ..\..\..\..\engines\sword2
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
* Copyright (C) 2013 Strizniou Fedor
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
@ -59,5 +59,15 @@ SOURCEPATH ..\..\..\..\engines\sword25
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
USERINCLUDE ..\..\..\..\engines\sword25\util\lua ..\..\..\..\engines\sword25\util\pluto
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,5 +57,15 @@ SOURCEPATH ..\..\..\..\engines\teenagent
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
* Copyright (C) 2013 Strizniou Fedor
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
@ -58,5 +58,15 @@ SOURCEPATH ..\..\..\..\engines\testbed
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,4 +57,15 @@ SOURCEPATH ..\..\..\..\engines\tinsel
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,5 +57,15 @@ SOURCEPATH ..\..\..\..\engines\TOLTECS
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,5 +57,15 @@ SOURCEPATH ..\..\..\..\engines\TONY
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,5 +57,15 @@ SOURCEPATH ..\..\..\..\engines\toon
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,5 +57,15 @@ SOURCEPATH ..\..\..\..\engines\touche
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,5 +57,15 @@ SOURCEPATH ..\..\..\..\engines\tsage
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,5 +57,15 @@ SOURCEPATH ..\..\..\..\engines\tucker
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -57,5 +57,15 @@ SOURCEPATH ..\..\..\..\engines\wintermute
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005-2014 The ScummVM Team
|
||||
* Copyright (C) 2005-2013 The ScummVM project
|
||||
* Copyright (C) 2013 Strizniou Fedor
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
@ -58,5 +58,14 @@ SOURCEPATH ..\..\..\..\engines\zvision
|
||||
|
||||
USERINCLUDE ..\..\..\..\engines
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\freetype
|
||||
SYSTEMINCLUDE \epoc32\include\mpeg2dec
|
||||
SYSTEMINCLUDE \epoc32\include\jpeg
|
||||
SYSTEMINCLUDE \epoc32\include\png
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include\theora
|
||||
SYSTEMINCLUDE \epoc32\include\tremor
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\src // for portdefs.h
|
||||
|
61
configure
vendored
61
configure
vendored
@ -1843,6 +1843,15 @@ if test "$_global_constructors" = yes; then
|
||||
fi
|
||||
echo $_global_constructors
|
||||
|
||||
echo_n "Checking for $_host_alias-strings... " >> "$TMPLOG"
|
||||
if test ! "x$(which $_host_alias-strings 2>/dev/null)" = "x"; then
|
||||
_strings=$_host_alias-strings
|
||||
echo yes >> "$TMPLOG"
|
||||
else
|
||||
_strings=strings
|
||||
echo no >> "$TMPLOG"
|
||||
fi
|
||||
|
||||
#
|
||||
# Check for endianness
|
||||
#
|
||||
@ -1857,9 +1866,9 @@ void _ebcdic() { char* s = (char*) ebcdic_mm; s = (char*) ebcdic_ii; }
|
||||
int main() { _ascii (); _ebcdic (); return 0; }
|
||||
EOF
|
||||
$CXX $CXXFLAGS -c -o $TMPO.o tmp_endianness_check.cpp
|
||||
if strings $TMPO.o | grep BIGenDianSyS >/dev/null; then
|
||||
if $_strings $TMPO.o | grep BIGenDianSyS >/dev/null; then
|
||||
_endian=big
|
||||
elif strings $TMPO.o | grep LiTTleEnDian >/dev/null; then
|
||||
elif $_strings $TMPO.o | grep LiTTleEnDian >/dev/null; then
|
||||
_endian=little
|
||||
fi
|
||||
echo $_endian;
|
||||
@ -2194,6 +2203,49 @@ case $_host_os in
|
||||
echo "Set staticlib-prefix to ${_staticlibpath}"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Fink
|
||||
# There is no way to get the prefix, so implementing a hack here
|
||||
fink_version=`fink -V 2>/dev/null`
|
||||
if test "$?" -eq 0; then
|
||||
fink_version="`echo "${fink_version}" | sed -ne 's/Package manager version: \([0-9.]*\)/\1/gp'`"
|
||||
echo_n "You seem to be running Fink version ${fink_version}..."
|
||||
|
||||
fink_prefix=`which fink`
|
||||
# strip off /bin/fink from /sw/bin/port
|
||||
fink_prefix=`dirname ${fink_prefix}`
|
||||
fink_prefix=`dirname ${fink_prefix}`
|
||||
|
||||
echo "adding ${fink_prefix} to paths"
|
||||
|
||||
LDFLAGS="-L${fink_prefix}/lib $LDFLAGS"
|
||||
CXXFLAGS="-I${fink_prefix}/include $CXXFLAGS"
|
||||
|
||||
if test -z "$_staticlibpath"; then
|
||||
_staticlibpath=${fink_prefix}
|
||||
echo "Set staticlib-prefix to ${_staticlibpath}"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Homebrew
|
||||
brew_version=`brew -v 2>/dev/null`
|
||||
if test "$?" -eq 0; then
|
||||
brew_version="`echo "${brew_version}" | sed -ne 's/Homebrew \([0-9.]*\)/\1/gp'`"
|
||||
echo_n "You seem to be running Homebrew version ${brew_version}..."
|
||||
|
||||
brew_prefix=`brew --prefix`
|
||||
|
||||
echo "adding ${brew_prefix} to paths"
|
||||
|
||||
LDFLAGS="-L${brew_prefix}/lib $LDFLAGS"
|
||||
CXXFLAGS="-I${brew_prefix}/include $CXXFLAGS"
|
||||
|
||||
if test -z "$_staticlibpath"; then
|
||||
_staticlibpath=${brew_prefix}
|
||||
echo "Set staticlib-prefix to ${_staticlibpath}"
|
||||
fi
|
||||
fi
|
||||
|
||||
# If _staticlibpath is not set yet try first /sw (fink) then /usr/local
|
||||
# (the macports case is handled above).
|
||||
if test -z "$_staticlibpath"; then
|
||||
@ -2710,7 +2762,10 @@ if test -n "$_host"; then
|
||||
# This trick doesn't work for tremor right now, as the PS2 port the resulting library
|
||||
# libtremor, while our code later on expects it to be called libvorbisidec.
|
||||
# TODO: Enable tremor, e.g. by adding -ltremor or by renaming the lib.
|
||||
_tremor=yes
|
||||
# Disable this for older SDK as this breaks the build otherwise...
|
||||
if test -z "$PS2SDK_OLD"; then
|
||||
_tremor=yes
|
||||
fi
|
||||
_mad=yes
|
||||
_zlib=yes
|
||||
# HACK to fix compilation of C source files for now.
|
||||
|
@ -645,6 +645,12 @@ begin_credits("Credits");
|
||||
add_person("Filippos Karapetis", "[md5]", "");
|
||||
end_section();
|
||||
|
||||
begin_section("MADS");
|
||||
add_person("Arnaud Boutonné", "Strangerke", "");
|
||||
add_person("Paul Gilbert", "dreammaster", "");
|
||||
add_person("Filippos Karapetis", "[md5]", "");
|
||||
end_section();
|
||||
|
||||
begin_section("Mohawk");
|
||||
add_person("Bastien Bouclet", "bgk", "");
|
||||
add_person("Matthew Hoops", "clone2727", "");
|
||||
@ -767,6 +773,11 @@ begin_credits("Credits");
|
||||
add_person("Gregory Montoir", "cyx", "(retired)");
|
||||
end_section();
|
||||
|
||||
begin_section("Voyeur");
|
||||
add_person("Arnaud Boutonné", "Strangerke", "");
|
||||
add_person("Paul Gilbert", "dreammaster", "");
|
||||
end_section();
|
||||
|
||||
begin_section("Wintermute");
|
||||
add_person("Einar Johan T. Sømåen", "somaen", "");
|
||||
end_section();
|
||||
|
@ -32,27 +32,27 @@ namespace Agi {
|
||||
Console::Console(AgiEngine *vm) : GUI::Debugger() {
|
||||
_vm = vm;
|
||||
|
||||
DCmd_Register("debug", WRAP_METHOD(Console, Cmd_Debug));
|
||||
DCmd_Register("cont", WRAP_METHOD(Console, Cmd_Cont));
|
||||
DCmd_Register("agiver", WRAP_METHOD(Console, Cmd_Agiver));
|
||||
DCmd_Register("flags", WRAP_METHOD(Console, Cmd_Flags));
|
||||
DCmd_Register("logic0", WRAP_METHOD(Console, Cmd_Logic0));
|
||||
DCmd_Register("objs", WRAP_METHOD(Console, Cmd_Objs));
|
||||
DCmd_Register("runopcode", WRAP_METHOD(Console, Cmd_RunOpcode));
|
||||
DCmd_Register("opcode", WRAP_METHOD(Console, Cmd_Opcode));
|
||||
DCmd_Register("step", WRAP_METHOD(Console, Cmd_Step));
|
||||
DCmd_Register("trigger", WRAP_METHOD(Console, Cmd_Trigger));
|
||||
DCmd_Register("vars", WRAP_METHOD(Console, Cmd_Vars));
|
||||
DCmd_Register("setvar", WRAP_METHOD(Console, Cmd_SetVar));
|
||||
DCmd_Register("setflag", WRAP_METHOD(Console, Cmd_SetFlag));
|
||||
DCmd_Register("setobj", WRAP_METHOD(Console, Cmd_SetObj));
|
||||
DCmd_Register("room", WRAP_METHOD(Console, Cmd_Room));
|
||||
DCmd_Register("bt", WRAP_METHOD(Console, Cmd_BT));
|
||||
registerCmd("debug", WRAP_METHOD(Console, Cmd_Debug));
|
||||
registerCmd("cont", WRAP_METHOD(Console, Cmd_Cont));
|
||||
registerCmd("agiver", WRAP_METHOD(Console, Cmd_Agiver));
|
||||
registerCmd("flags", WRAP_METHOD(Console, Cmd_Flags));
|
||||
registerCmd("logic0", WRAP_METHOD(Console, Cmd_Logic0));
|
||||
registerCmd("objs", WRAP_METHOD(Console, Cmd_Objs));
|
||||
registerCmd("runopcode", WRAP_METHOD(Console, Cmd_RunOpcode));
|
||||
registerCmd("opcode", WRAP_METHOD(Console, Cmd_Opcode));
|
||||
registerCmd("step", WRAP_METHOD(Console, Cmd_Step));
|
||||
registerCmd("trigger", WRAP_METHOD(Console, Cmd_Trigger));
|
||||
registerCmd("vars", WRAP_METHOD(Console, Cmd_Vars));
|
||||
registerCmd("setvar", WRAP_METHOD(Console, Cmd_SetVar));
|
||||
registerCmd("setflag", WRAP_METHOD(Console, Cmd_SetFlag));
|
||||
registerCmd("setobj", WRAP_METHOD(Console, Cmd_SetObj));
|
||||
registerCmd("room", WRAP_METHOD(Console, Cmd_Room));
|
||||
registerCmd("bt", WRAP_METHOD(Console, Cmd_BT));
|
||||
}
|
||||
|
||||
bool Console::Cmd_SetVar(int argc, const char **argv) {
|
||||
if (argc != 3) {
|
||||
DebugPrintf("Usage: setvar <varnum> <value>\n");
|
||||
debugPrintf("Usage: setvar <varnum> <value>\n");
|
||||
return true;
|
||||
}
|
||||
int p1 = (int)atoi(argv[1]);
|
||||
@ -64,7 +64,7 @@ bool Console::Cmd_SetVar(int argc, const char **argv) {
|
||||
|
||||
bool Console::Cmd_SetFlag(int argc, const char **argv) {
|
||||
if (argc != 3) {
|
||||
DebugPrintf("Usage: setvar <varnum> <value>\n");
|
||||
debugPrintf("Usage: setvar <varnum> <value>\n");
|
||||
return true;
|
||||
}
|
||||
int p1 = (int)atoi(argv[1]);
|
||||
@ -76,7 +76,7 @@ bool Console::Cmd_SetFlag(int argc, const char **argv) {
|
||||
|
||||
bool Console::Cmd_SetObj(int argc, const char **argv) {
|
||||
if (argc != 3) {
|
||||
DebugPrintf("Usage: setvar <varnum> <value>\n");
|
||||
debugPrintf("Usage: setvar <varnum> <value>\n");
|
||||
return true;
|
||||
}
|
||||
int p1 = (int)atoi(argv[1]);
|
||||
@ -88,7 +88,7 @@ bool Console::Cmd_SetObj(int argc, const char **argv) {
|
||||
|
||||
bool Console::Cmd_RunOpcode(int argc, const char **argv) {
|
||||
if (argc < 2) {
|
||||
DebugPrintf("Usage: runopcode <name> <parameter0> ....\n");
|
||||
debugPrintf("Usage: runopcode <name> <parameter0> ....\n");
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -96,7 +96,7 @@ bool Console::Cmd_RunOpcode(int argc, const char **argv) {
|
||||
if (!strcmp(argv[1], logicNamesCmd[i].name)) {
|
||||
uint8 p[16];
|
||||
if ((argc - 2) != logicNamesCmd[i].argumentsLength()) {
|
||||
DebugPrintf("AGI command wants %d arguments\n", logicNamesCmd[i].argumentsLength());
|
||||
debugPrintf("AGI command wants %d arguments\n", logicNamesCmd[i].argumentsLength());
|
||||
return 0;
|
||||
}
|
||||
p[0] = argv[2] ? (char)strtoul(argv[2], NULL, 0) : 0;
|
||||
@ -113,7 +113,7 @@ bool Console::Cmd_RunOpcode(int argc, const char **argv) {
|
||||
}
|
||||
}
|
||||
|
||||
DebugPrintf("Unknown opcode\n");
|
||||
debugPrintf("Unknown opcode\n");
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -125,7 +125,7 @@ bool Console::Cmd_Agiver(int argc, const char **argv) {
|
||||
maj = (ver >> 12) & 0xf;
|
||||
min = ver & 0xfff;
|
||||
|
||||
DebugPrintf(maj <= 2 ? "%x.%03x\n" : "%x.002.%03x\n", maj, min);
|
||||
debugPrintf(maj <= 2 ? "%x.%03x\n" : "%x.002.%03x\n", maj, min);
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -133,17 +133,17 @@ bool Console::Cmd_Agiver(int argc, const char **argv) {
|
||||
bool Console::Cmd_Flags(int argc, const char **argv) {
|
||||
int i, j;
|
||||
|
||||
DebugPrintf(" ");
|
||||
debugPrintf(" ");
|
||||
for (j = 0; j < 10; j++)
|
||||
DebugPrintf("%d ", j);
|
||||
DebugPrintf("\n");
|
||||
debugPrintf("%d ", j);
|
||||
debugPrintf("\n");
|
||||
|
||||
for (i = 0; i < 255;) {
|
||||
DebugPrintf("%3d ", i);
|
||||
debugPrintf("%3d ", i);
|
||||
for (j = 0; j < 10; j++, i++) {
|
||||
DebugPrintf("%c ", _vm->getflag(i) ? 'T' : 'F');
|
||||
debugPrintf("%c ", _vm->getflag(i) ? 'T' : 'F');
|
||||
}
|
||||
DebugPrintf("\n");
|
||||
debugPrintf("\n");
|
||||
}
|
||||
|
||||
return true;
|
||||
@ -154,9 +154,9 @@ bool Console::Cmd_Vars(int argc, const char **argv) {
|
||||
|
||||
for (i = 0; i < 255;) {
|
||||
for (j = 0; j < 5; j++, i++) {
|
||||
DebugPrintf("%03d:%3d ", i, _vm->getvar(i));
|
||||
debugPrintf("%03d:%3d ", i, _vm->getvar(i));
|
||||
}
|
||||
DebugPrintf("\n");
|
||||
debugPrintf("\n");
|
||||
}
|
||||
|
||||
return true;
|
||||
@ -166,7 +166,7 @@ bool Console::Cmd_Objs(int argc, const char **argv) {
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0; i < _vm->_game.numObjects; i++) {
|
||||
DebugPrintf("%3d]%-24s(%3d)\n", i, _vm->objectName(i), _vm->objectGetLocation(i));
|
||||
debugPrintf("%3d]%-24s(%3d)\n", i, _vm->objectName(i), _vm->objectGetLocation(i));
|
||||
}
|
||||
|
||||
return true;
|
||||
@ -174,7 +174,7 @@ bool Console::Cmd_Objs(int argc, const char **argv) {
|
||||
|
||||
bool Console::Cmd_Opcode(int argc, const char **argv) {
|
||||
if (argc != 2 || (strcmp(argv[1], "on") && strcmp(argv[1], "off"))) {
|
||||
DebugPrintf("Usage: opcode on|off\n");
|
||||
debugPrintf("Usage: opcode on|off\n");
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -185,7 +185,7 @@ bool Console::Cmd_Opcode(int argc, const char **argv) {
|
||||
|
||||
bool Console::Cmd_Logic0(int argc, const char **argv) {
|
||||
if (argc != 2 || (strcmp(argv[1], "on") && strcmp(argv[1], "off"))) {
|
||||
DebugPrintf("Usage: logic0 on|off\n");
|
||||
debugPrintf("Usage: logic0 on|off\n");
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -196,7 +196,7 @@ bool Console::Cmd_Logic0(int argc, const char **argv) {
|
||||
|
||||
bool Console::Cmd_Trigger(int argc, const char **argv) {
|
||||
if (argc != 2 || (strcmp(argv[1], "on") && strcmp(argv[1], "off"))) {
|
||||
DebugPrintf("Usage: trigger on|off\n");
|
||||
debugPrintf("Usage: trigger on|off\n");
|
||||
return true;
|
||||
}
|
||||
_vm->_debug.ignoretriggers = strcmp (argv[1], "on");
|
||||
@ -236,13 +236,13 @@ bool Console::Cmd_Room(int argc, const char **argv) {
|
||||
_vm->newRoom(strtoul(argv[1], NULL, 0));
|
||||
}
|
||||
|
||||
DebugPrintf("Current room: %d\n", _vm->getvar(0));
|
||||
debugPrintf("Current room: %d\n", _vm->getvar(0));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Console::Cmd_BT(int argc, const char **argv) {
|
||||
DebugPrintf("Current script: %d\nStack depth: %d\n", _vm->_game.lognum, _vm->_game.execStack.size());
|
||||
debugPrintf("Current script: %d\nStack depth: %d\n", _vm->_game.lognum, _vm->_game.execStack.size());
|
||||
|
||||
uint8 *code = NULL;
|
||||
uint8 op = 0;
|
||||
@ -257,12 +257,12 @@ bool Console::Cmd_BT(int argc, const char **argv) {
|
||||
memmove(p, &code[it->curIP], num);
|
||||
memset(p + num, 0, CMD_BSIZE - num);
|
||||
|
||||
DebugPrintf("%d(%d): %s(", it->script, it->curIP, logicNamesCmd[op].name);
|
||||
debugPrintf("%d(%d): %s(", it->script, it->curIP, logicNamesCmd[op].name);
|
||||
|
||||
for (int i = 0; i < num; i++)
|
||||
DebugPrintf("%d, ", p[i]);
|
||||
debugPrintf("%d, ", p[i]);
|
||||
|
||||
DebugPrintf(")\n");
|
||||
debugPrintf(")\n");
|
||||
}
|
||||
|
||||
return true;
|
||||
@ -271,9 +271,9 @@ bool Console::Cmd_BT(int argc, const char **argv) {
|
||||
MickeyConsole::MickeyConsole(MickeyEngine *mickey) : GUI::Debugger() {
|
||||
_mickey = mickey;
|
||||
|
||||
DCmd_Register("room", WRAP_METHOD(MickeyConsole, Cmd_Room));
|
||||
DCmd_Register("drawPic", WRAP_METHOD(MickeyConsole, Cmd_DrawPic));
|
||||
DCmd_Register("drawObj", WRAP_METHOD(MickeyConsole, Cmd_DrawObj));
|
||||
registerCmd("room", WRAP_METHOD(MickeyConsole, Cmd_Room));
|
||||
registerCmd("drawPic", WRAP_METHOD(MickeyConsole, Cmd_DrawPic));
|
||||
registerCmd("drawObj", WRAP_METHOD(MickeyConsole, Cmd_DrawObj));
|
||||
}
|
||||
|
||||
bool MickeyConsole::Cmd_Room(int argc, const char **argv) {
|
||||
@ -287,7 +287,7 @@ bool MickeyConsole::Cmd_Room(int argc, const char **argv) {
|
||||
|
||||
bool MickeyConsole::Cmd_DrawPic(int argc, const char **argv) {
|
||||
if (argc != 2)
|
||||
DebugPrintf("Usage: %s <Picture number>\n", argv[0]);
|
||||
debugPrintf("Usage: %s <Picture number>\n", argv[0]);
|
||||
else
|
||||
_mickey->drawPic(atoi(argv[1]));
|
||||
return true;
|
||||
@ -295,7 +295,7 @@ bool MickeyConsole::Cmd_DrawPic(int argc, const char **argv) {
|
||||
|
||||
bool MickeyConsole::Cmd_DrawObj(int argc, const char **argv) {
|
||||
if (argc != 2)
|
||||
DebugPrintf("Usage: %s <Object number>\n", argv[0]);
|
||||
debugPrintf("Usage: %s <Object number>\n", argv[0]);
|
||||
else
|
||||
_mickey->drawObj((ENUM_MSA_OBJECT)atoi(argv[1]), 0, 0);
|
||||
return true;
|
||||
@ -304,7 +304,7 @@ bool MickeyConsole::Cmd_DrawObj(int argc, const char **argv) {
|
||||
WinnieConsole::WinnieConsole(WinnieEngine *winnie) : GUI::Debugger() {
|
||||
_winnie = winnie;
|
||||
|
||||
DCmd_Register("curRoom", WRAP_METHOD(WinnieConsole, Cmd_CurRoom));
|
||||
registerCmd("curRoom", WRAP_METHOD(WinnieConsole, Cmd_CurRoom));
|
||||
}
|
||||
|
||||
bool WinnieConsole::Cmd_CurRoom(int argc, const char **argv) {
|
||||
|
@ -2228,10 +2228,10 @@ void MickeyEngine::waitAnyKey(bool anim) {
|
||||
// Console-related functions
|
||||
|
||||
void MickeyEngine::debugCurRoom() {
|
||||
_console->DebugPrintf("Current Room = %d\n", _gameStateMickey.iRoom);
|
||||
_console->debugPrintf("Current Room = %d\n", _gameStateMickey.iRoom);
|
||||
|
||||
if (_gameStateMickey.iRmObj[_gameStateMickey.iRoom] != IDI_MSA_OBJECT_NONE) {
|
||||
_console->DebugPrintf("Object %d is in the room\n", _gameStateMickey.iRmObj[_gameStateMickey.iRoom]);
|
||||
_console->debugPrintf("Object %d is in the room\n", _gameStateMickey.iRmObj[_gameStateMickey.iRoom]);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1308,7 +1308,7 @@ void WinnieEngine::printStrWinnie(char *szMsg) {
|
||||
// Console-related functions
|
||||
|
||||
void WinnieEngine::debugCurRoom() {
|
||||
_console->DebugPrintf("Current Room = %d\n", _room);
|
||||
_console->debugPrintf("Current Room = %d\n", _room);
|
||||
}
|
||||
|
||||
WinnieEngine::WinnieEngine(OSystem *syst, const AGIGameDescription *gameDesc) : PreAgiEngine(syst, gameDesc) {
|
||||
|
@ -21,6 +21,7 @@
|
||||
*/
|
||||
|
||||
#include "common/config-manager.h"
|
||||
#include "common/debug-channels.h"
|
||||
#include "common/file.h"
|
||||
#include "common/fs.h"
|
||||
#include "common/textconsole.h"
|
||||
@ -144,6 +145,14 @@ AGOSEngine_Elvira1::AGOSEngine_Elvira1(OSystem *system, const AGOSGameDescriptio
|
||||
AGOSEngine::AGOSEngine(OSystem *system, const AGOSGameDescription *gd)
|
||||
: Engine(system), _rnd("agos"), _gameDescription(gd) {
|
||||
|
||||
DebugMan.addDebugChannel(kDebugOpcode, "opcode", "Opcode debug level");
|
||||
DebugMan.addDebugChannel(kDebugVGAOpcode, "vga_opcode", "VGA Opcode debug level");
|
||||
DebugMan.addDebugChannel(kDebugSubroutine, "subroutine", "Subroutine debug level");
|
||||
DebugMan.addDebugChannel(kDebugVGAScript, "vga_script", "VGA Script debug level");
|
||||
//Image dumping command disabled as it doesn't work well
|
||||
#if 0
|
||||
DebugMan.addDebugChannel(kDebugImageDump, "image_dump", "Enable dumping of images to files");
|
||||
#endif
|
||||
_vcPtr = 0;
|
||||
_vcGetOutOfCode = 0;
|
||||
_gameOffsetsPtr = 0;
|
||||
@ -243,13 +252,6 @@ AGOSEngine::AGOSEngine(OSystem *system, const AGOSGameDescription *gd)
|
||||
|
||||
_backFlag = false;
|
||||
|
||||
_debugMode = 0;
|
||||
_dumpScripts = false;
|
||||
_dumpOpcodes = false;
|
||||
_dumpVgaScripts = false;
|
||||
_dumpVgaOpcodes = false;
|
||||
_dumpImages = false;
|
||||
|
||||
_copyProtection = false;
|
||||
_pause = false;
|
||||
_speech = false;
|
||||
@ -675,15 +677,6 @@ Common::Error AGOSEngine::init() {
|
||||
_subtitles = true;
|
||||
}
|
||||
|
||||
// TODO: Use special debug levels instead of the following hack.
|
||||
_debugMode = (gDebugLevel >= 0);
|
||||
switch (gDebugLevel) {
|
||||
case 2: _dumpOpcodes = true; break;
|
||||
case 3: _dumpVgaOpcodes = true; break;
|
||||
case 4: _dumpScripts = true; break;
|
||||
case 5: _dumpVgaScripts = true; break;
|
||||
}
|
||||
|
||||
return Common::kNoError;
|
||||
}
|
||||
|
||||
|
@ -61,6 +61,14 @@ struct Surface;
|
||||
|
||||
namespace AGOS {
|
||||
|
||||
enum {
|
||||
kDebugOpcode = 1 << 0,
|
||||
kDebugVGAOpcode = 1 << 1,
|
||||
kDebugSubroutine = 1 << 2,
|
||||
kDebugVGAScript = 1 << 3,
|
||||
kDebugImageDump = 1 << 4
|
||||
};
|
||||
|
||||
uint fileReadItemID(Common::SeekableReadStream *in);
|
||||
|
||||
#define CHECK_BOUNDS(x, y) assert((uint)(x) < ARRAYSIZE(y))
|
||||
@ -324,15 +332,9 @@ protected:
|
||||
bool _fastMode;
|
||||
bool _backFlag;
|
||||
|
||||
uint16 _debugMode;
|
||||
Common::Language _language;
|
||||
bool _copyProtection;
|
||||
bool _pause;
|
||||
bool _dumpScripts;
|
||||
bool _dumpOpcodes;
|
||||
bool _dumpVgaScripts;
|
||||
bool _dumpVgaOpcodes;
|
||||
bool _dumpImages;
|
||||
bool _speech;
|
||||
bool _subtitles;
|
||||
bool _vgaVar9;
|
||||
|
@ -32,44 +32,21 @@ Debugger::Debugger(AGOSEngine *vm)
|
||||
: GUI::Debugger() {
|
||||
_vm = vm;
|
||||
|
||||
DCmd_Register("continue", WRAP_METHOD(Debugger, Cmd_Exit));
|
||||
DCmd_Register("level", WRAP_METHOD(Debugger, Cmd_DebugLevel));
|
||||
DCmd_Register("music", WRAP_METHOD(Debugger, Cmd_PlayMusic));
|
||||
DCmd_Register("sound", WRAP_METHOD(Debugger, Cmd_PlaySound));
|
||||
DCmd_Register("voice", WRAP_METHOD(Debugger, Cmd_PlayVoice));
|
||||
DCmd_Register("bit", WRAP_METHOD(Debugger, Cmd_SetBit));
|
||||
DCmd_Register("bit2", WRAP_METHOD(Debugger, Cmd_SetBit2));
|
||||
DCmd_Register("bit3", WRAP_METHOD(Debugger, Cmd_SetBit3));
|
||||
DCmd_Register("var", WRAP_METHOD(Debugger, Cmd_SetVar));
|
||||
DCmd_Register("obj", WRAP_METHOD(Debugger, Cmd_SetObjectFlag));
|
||||
DCmd_Register("sub", WRAP_METHOD(Debugger, Cmd_StartSubroutine));
|
||||
DCmd_Register("dumpimage", WRAP_METHOD(Debugger, Cmd_dumpImage));
|
||||
DCmd_Register("dumpscript", WRAP_METHOD(Debugger, Cmd_dumpScript));
|
||||
registerCmd("continue", WRAP_METHOD(Debugger, cmdExit));
|
||||
registerCmd("music", WRAP_METHOD(Debugger, Cmd_PlayMusic));
|
||||
registerCmd("sound", WRAP_METHOD(Debugger, Cmd_PlaySound));
|
||||
registerCmd("voice", WRAP_METHOD(Debugger, Cmd_PlayVoice));
|
||||
registerCmd("bit", WRAP_METHOD(Debugger, Cmd_SetBit));
|
||||
registerCmd("bit2", WRAP_METHOD(Debugger, Cmd_SetBit2));
|
||||
registerCmd("bit3", WRAP_METHOD(Debugger, Cmd_SetBit3));
|
||||
registerCmd("var", WRAP_METHOD(Debugger, Cmd_SetVar));
|
||||
registerCmd("obj", WRAP_METHOD(Debugger, Cmd_SetObjectFlag));
|
||||
registerCmd("sub", WRAP_METHOD(Debugger, Cmd_StartSubroutine));
|
||||
registerCmd("dumpimage", WRAP_METHOD(Debugger, Cmd_dumpImage));
|
||||
registerCmd("dumpscript", WRAP_METHOD(Debugger, Cmd_dumpScript));
|
||||
|
||||
}
|
||||
|
||||
|
||||
bool Debugger::Cmd_DebugLevel(int argc, const char **argv) {
|
||||
if (argc == 1) {
|
||||
if (_vm->_debugMode == false)
|
||||
DebugPrintf("Debugging is not enabled at this time\n");
|
||||
else
|
||||
DebugPrintf("Debugging is currently set at level %d\n", gDebugLevel);
|
||||
} else { // set level
|
||||
gDebugLevel = atoi(argv[1]);
|
||||
if (0 <= gDebugLevel && gDebugLevel < 11) {
|
||||
_vm->_debugMode = true;
|
||||
DebugPrintf("Debug level set to level %d\n", gDebugLevel);
|
||||
} else if (gDebugLevel < 0) {
|
||||
_vm->_debugMode = false;
|
||||
DebugPrintf("Debugging is now disabled\n");
|
||||
} else
|
||||
DebugPrintf("Not a valid debug level (0 - 10)\n");
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Debugger::Cmd_PlayMusic(int argc, const char **argv) {
|
||||
if (argc > 1) {
|
||||
uint music = atoi(argv[1]);
|
||||
@ -83,9 +60,9 @@ bool Debugger::Cmd_PlayMusic(int argc, const char **argv) {
|
||||
_vm->playMusic(music, 0);
|
||||
}
|
||||
} else
|
||||
DebugPrintf("Music out of range (0 - %d)\n", _vm->_numMusic);
|
||||
debugPrintf("Music out of range (0 - %d)\n", _vm->_numMusic);
|
||||
} else
|
||||
DebugPrintf("Syntax: music <musicnum>\n");
|
||||
debugPrintf("Syntax: music <musicnum>\n");
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -96,9 +73,9 @@ bool Debugger::Cmd_PlaySound(int argc, const char **argv) {
|
||||
if (sound <= _vm->_numSFX)
|
||||
_vm->_sound->playEffects(sound);
|
||||
else
|
||||
DebugPrintf("Sound out of range (0 - %d)\n", _vm->_numSFX);
|
||||
debugPrintf("Sound out of range (0 - %d)\n", _vm->_numSFX);
|
||||
} else
|
||||
DebugPrintf("Syntax: sound <soundnum>\n");
|
||||
debugPrintf("Syntax: sound <soundnum>\n");
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -109,9 +86,9 @@ bool Debugger::Cmd_PlayVoice(int argc, const char **argv) {
|
||||
if (voice <= _vm->_numSpeech)
|
||||
_vm->_sound->playVoice(voice);
|
||||
else
|
||||
DebugPrintf("Voice out of range (0 - %d)\n", _vm->_numSpeech);
|
||||
debugPrintf("Voice out of range (0 - %d)\n", _vm->_numSpeech);
|
||||
} else
|
||||
DebugPrintf("Syntax: voice <voicenum>\n");
|
||||
debugPrintf("Syntax: voice <voicenum>\n");
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -123,15 +100,15 @@ bool Debugger::Cmd_SetBit(int argc, const char **argv) {
|
||||
value = atoi(argv[2]);
|
||||
if (value <= 1) {
|
||||
_vm->setBitFlag(bit, value != 0);
|
||||
DebugPrintf("Set bit %d to %d\n", bit, value);
|
||||
debugPrintf("Set bit %d to %d\n", bit, value);
|
||||
} else
|
||||
DebugPrintf("Bit value out of range (0 - 1)\n");
|
||||
debugPrintf("Bit value out of range (0 - 1)\n");
|
||||
} else if (argc > 1) {
|
||||
bit = atoi(argv[1]);
|
||||
value = _vm->getBitFlag(bit);
|
||||
DebugPrintf("Bit %d is %d\n", bit, value);
|
||||
debugPrintf("Bit %d is %d\n", bit, value);
|
||||
} else
|
||||
DebugPrintf("Syntax: bit <bitnum> <value>\n");
|
||||
debugPrintf("Syntax: bit <bitnum> <value>\n");
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -143,18 +120,18 @@ bool Debugger::Cmd_SetBit2(int argc, const char **argv) {
|
||||
value = atoi(argv[2]);
|
||||
if (value == 0) {
|
||||
_vm->_bitArrayTwo[bit / 16] &= ~(1 << (bit & 15));
|
||||
DebugPrintf("Set bit2 %d to %d\n", bit, value);
|
||||
debugPrintf("Set bit2 %d to %d\n", bit, value);
|
||||
} else if (value == 1) {
|
||||
_vm->_bitArrayTwo[bit / 16] |= (1 << (bit & 15));
|
||||
DebugPrintf("Set bit2 %d to %d\n", bit, value);
|
||||
debugPrintf("Set bit2 %d to %d\n", bit, value);
|
||||
} else
|
||||
DebugPrintf("Bit2 value out of range (0 - 1)\n");
|
||||
debugPrintf("Bit2 value out of range (0 - 1)\n");
|
||||
} else if (argc > 1) {
|
||||
bit = atoi(argv[1]);
|
||||
value = (_vm->_bitArrayTwo[bit / 16] & (1 << (bit & 15))) != 0;
|
||||
DebugPrintf("Bit2 %d is %d\n", bit, value);
|
||||
debugPrintf("Bit2 %d is %d\n", bit, value);
|
||||
} else
|
||||
DebugPrintf("Syntax: bit2 <bitnum> <value>\n");
|
||||
debugPrintf("Syntax: bit2 <bitnum> <value>\n");
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -166,18 +143,18 @@ bool Debugger::Cmd_SetBit3(int argc, const char **argv) {
|
||||
value = atoi(argv[2]);
|
||||
if (value == 0) {
|
||||
_vm->_bitArrayThree[bit / 16] &= ~(1 << (bit & 15));
|
||||
DebugPrintf("Set bit3 %d to %d\n", bit, value);
|
||||
debugPrintf("Set bit3 %d to %d\n", bit, value);
|
||||
} else if (value == 1) {
|
||||
_vm->_bitArrayThree[bit / 16] |= (1 << (bit & 15));
|
||||
DebugPrintf("Set bit3 %d to %d\n", bit, value);
|
||||
debugPrintf("Set bit3 %d to %d\n", bit, value);
|
||||
} else
|
||||
DebugPrintf("Bit3 value out of range (0 - 1)\n");
|
||||
debugPrintf("Bit3 value out of range (0 - 1)\n");
|
||||
} else if (argc > 1) {
|
||||
bit = atoi(argv[1]);
|
||||
value = (_vm->_bitArrayThree[bit / 16] & (1 << (bit & 15))) != 0;
|
||||
DebugPrintf("Bit3 %d is %d\n", bit, value);
|
||||
debugPrintf("Bit3 %d is %d\n", bit, value);
|
||||
} else
|
||||
DebugPrintf("Syntax: bit3 <bitnum> <value>\n");
|
||||
debugPrintf("Syntax: bit3 <bitnum> <value>\n");
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -190,15 +167,15 @@ bool Debugger::Cmd_SetVar(int argc, const char **argv) {
|
||||
if (argc > 2) {
|
||||
value = atoi(argv[2]);
|
||||
_vm->writeVariable(var, value);
|
||||
DebugPrintf("Set var %d to %d\n", var, value);
|
||||
debugPrintf("Set var %d to %d\n", var, value);
|
||||
} else {
|
||||
value = _vm->readVariable(var);
|
||||
DebugPrintf("Var %d is %d\n", var, value);
|
||||
debugPrintf("Var %d is %d\n", var, value);
|
||||
}
|
||||
} else
|
||||
DebugPrintf("Var out of range (0 - %d)\n", _vm->_numVars - 1);
|
||||
debugPrintf("Var out of range (0 - %d)\n", _vm->_numVars - 1);
|
||||
} else
|
||||
DebugPrintf("Syntax: var <varnum> <value>\n");
|
||||
debugPrintf("Syntax: var <varnum> <value>\n");
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -217,22 +194,22 @@ bool Debugger::Cmd_SetObjectFlag(int argc, const char **argv) {
|
||||
if (argc > 3) {
|
||||
value = atoi(argv[3]);
|
||||
o->objectFlagValue[offs] = value;
|
||||
DebugPrintf("Object %d Flag %d set to %d\n", obj, prop, value);
|
||||
debugPrintf("Object %d Flag %d set to %d\n", obj, prop, value);
|
||||
} else {
|
||||
value = o->objectFlagValue[offs];
|
||||
DebugPrintf("Object %d Flag %d is %d\n", obj, prop, value);
|
||||
debugPrintf("Object %d Flag %d is %d\n", obj, prop, value);
|
||||
}
|
||||
} else {
|
||||
DebugPrintf("Object flag out of range\n");
|
||||
debugPrintf("Object flag out of range\n");
|
||||
}
|
||||
} else {
|
||||
DebugPrintf("Item isn't an object\n");
|
||||
debugPrintf("Item isn't an object\n");
|
||||
}
|
||||
} else {
|
||||
DebugPrintf("Item out of range (1 - %d)\n", _vm->_itemArraySize - 1);
|
||||
debugPrintf("Item out of range (1 - %d)\n", _vm->_itemArraySize - 1);
|
||||
}
|
||||
} else {
|
||||
DebugPrintf("Syntax: obj <itemnum> <flag> <value>\n");
|
||||
debugPrintf("Syntax: obj <itemnum> <flag> <value>\n");
|
||||
}
|
||||
|
||||
return true;
|
||||
@ -246,7 +223,7 @@ bool Debugger::Cmd_StartSubroutine(int argc, const char **argv) {
|
||||
if (sub != NULL)
|
||||
_vm->startSubroutine(sub);
|
||||
} else
|
||||
DebugPrintf("Subroutine %d\n", _vm->_currentTable->id);
|
||||
debugPrintf("Subroutine %d\n", _vm->_currentTable->id);
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -259,11 +236,11 @@ bool Debugger::Cmd_dumpImage(int argc, const char **argv) {
|
||||
if (vpe->vgaFile2 != NULL) {
|
||||
_vm->dumpVgaBitmaps(zoneNum);
|
||||
} else {
|
||||
DebugPrintf("Invalid Zone Number %d\n", zoneNum);
|
||||
debugPrintf("Invalid Zone Number %d\n", zoneNum);
|
||||
|
||||
}
|
||||
} else
|
||||
DebugPrintf("Syntax: dumpimage <zonenum>\n");
|
||||
debugPrintf("Syntax: dumpimage <zonenum>\n");
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -276,11 +253,11 @@ bool Debugger::Cmd_dumpScript(int argc, const char **argv) {
|
||||
if (vpe->vgaFile1 != NULL) {
|
||||
_vm->dumpVgaFile(vpe->vgaFile1);
|
||||
} else {
|
||||
DebugPrintf("Invalid Zone Number %d\n", zoneNum);
|
||||
debugPrintf("Invalid Zone Number %d\n", zoneNum);
|
||||
|
||||
}
|
||||
} else
|
||||
DebugPrintf("Syntax: dumpscript <zonenum>\n");
|
||||
debugPrintf("Syntax: dumpscript <zonenum>\n");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -37,7 +37,6 @@ public:
|
||||
private:
|
||||
AGOSEngine *_vm;
|
||||
|
||||
bool Cmd_DebugLevel(int argc, const char **argv);
|
||||
bool Cmd_PlayMusic(int argc, const char **argv);
|
||||
bool Cmd_PlaySound(int argc, const char **argv);
|
||||
bool Cmd_PlayVoice(int argc, const char **argv);
|
||||
|
@ -20,6 +20,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "common/debug-channels.h"
|
||||
#include "common/endian.h"
|
||||
#include "common/system.h"
|
||||
#include "common/textconsole.h"
|
||||
@ -1129,7 +1130,7 @@ void AGOSEngine::animate(uint16 windowNum, uint16 zoneNum, uint16 vgaSpriteId, i
|
||||
assert(READ_BE_UINT16(&((AnimationHeader_WW *) p)->id) == vgaSpriteId);
|
||||
}
|
||||
|
||||
if (_dumpVgaScripts) {
|
||||
if (DebugMan.isDebugChannelEnabled(kDebugVGAScript)) {
|
||||
if (getGameType() == GType_FF || getGameType() == GType_PP) {
|
||||
dumpVgaScript(_curVgaFile1 + READ_LE_UINT16(&((AnimationHeader_Feeble*)p)->scriptOffs), zoneNum, vgaSpriteId);
|
||||
} else if (getGameType() == GType_SIMON1 || getGameType() == GType_SIMON2) {
|
||||
@ -1235,7 +1236,7 @@ void AGOSEngine::setImage(uint16 vgaSpriteId, bool vgaScript) {
|
||||
}
|
||||
}
|
||||
|
||||
if (_dumpVgaScripts) {
|
||||
if (DebugMan.isDebugChannelEnabled(kDebugVGAScript)) {
|
||||
if (getGameType() == GType_FF || getGameType() == GType_PP) {
|
||||
dumpVgaScript(_curVgaFile1 + READ_LE_UINT16(&((ImageHeader_Feeble*)b)->scriptOffs), zoneNum, vgaSpriteId);
|
||||
} else if (getGameType() == GType_SIMON1 || getGameType() == GType_SIMON2) {
|
||||
|
@ -22,6 +22,7 @@
|
||||
|
||||
// Item script opcodes for Simon1/Simon2
|
||||
|
||||
#include "common/debug-channels.h"
|
||||
#include "common/endian.h"
|
||||
#include "common/system.h"
|
||||
#include "common/textconsole.h"
|
||||
@ -987,7 +988,7 @@ int AGOSEngine::runScript() {
|
||||
return 1;
|
||||
|
||||
do {
|
||||
if (_dumpOpcodes)
|
||||
if (DebugMan.isDebugChannelEnabled(kDebugOpcode))
|
||||
dumpOpcode(_codePtr);
|
||||
|
||||
if (getGameType() == GType_ELVIRA1) {
|
||||
|
@ -20,8 +20,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include "common/debug-channels.h"
|
||||
#include "common/file.h"
|
||||
#include "common/textconsole.h"
|
||||
|
||||
@ -531,7 +530,7 @@ int AGOSEngine::startSubroutine(Subroutine *sub) {
|
||||
_classMode1 = 0;
|
||||
_classMode2 = 0;
|
||||
|
||||
if (_dumpScripts)
|
||||
if (DebugMan.isDebugChannelEnabled(kDebugSubroutine))
|
||||
dumpSubroutine(sub);
|
||||
|
||||
if (++_recursionDepth > 40)
|
||||
@ -564,8 +563,7 @@ restart:
|
||||
else
|
||||
_codePtr += 8;
|
||||
|
||||
if (_dumpOpcodes)
|
||||
debug("; %d", sub->id);
|
||||
debugC(kDebugOpcode, "; %d", sub->id);
|
||||
result = runScript();
|
||||
if (result != 0) {
|
||||
break;
|
||||
|
@ -27,6 +27,7 @@
|
||||
#include "agos/intern.h"
|
||||
#include "agos/vga.h"
|
||||
|
||||
#include "common/debug-channels.h"
|
||||
#include "common/endian.h"
|
||||
#include "common/system.h"
|
||||
#include "common/textconsole.h"
|
||||
@ -152,7 +153,7 @@ void AGOSEngine::runVgaScript() {
|
||||
for (;;) {
|
||||
uint opcode;
|
||||
|
||||
if (_dumpVgaOpcodes) {
|
||||
if (DebugMan.isDebugChannelEnabled(kDebugVGAOpcode)) {
|
||||
if (_vcPtr != (const byte *)&_vcGetOutOfCode) {
|
||||
debugN("%.5d %.5X: %5d %4d ", _vgaTickCounter, (unsigned int)(_vcPtr - _curVgaFile1), _vgaCurSpriteId, _vgaCurZoneNum);
|
||||
dumpVideoScript(_vcPtr, true);
|
||||
@ -381,8 +382,7 @@ void AGOSEngine::vcSkipNextInstruction() {
|
||||
_vcPtr += opcodeParamLenPN[opcode];
|
||||
}
|
||||
|
||||
if (_dumpVgaOpcodes)
|
||||
debugN("; skipped\n");
|
||||
debugCN(kDebugVGAOpcode, "; skipped\n");
|
||||
}
|
||||
|
||||
// VGA Script commands
|
||||
@ -648,7 +648,7 @@ void AGOSEngine::drawImage_init(int16 image, uint16 palette, int16 x, int16 y, u
|
||||
if (height == 0 || width == 0)
|
||||
return;
|
||||
|
||||
if (_dumpImages)
|
||||
if (DebugMan.isDebugChannelEnabled(kDebugImageDump))
|
||||
dumpSingleBitmap(_vgaCurZoneNum, state.image, state.srcPtr, width, height,
|
||||
state.palette);
|
||||
state.width = state.draw_width = width; /* cl */
|
||||
|
@ -31,7 +31,7 @@
|
||||
namespace Avalanche {
|
||||
|
||||
AvalancheConsole::AvalancheConsole(AvalancheEngine *vm) : GUI::Debugger(), _vm(vm) {
|
||||
DCmd_Register("magic_lines", WRAP_METHOD(AvalancheConsole, Cmd_MagicLines));
|
||||
registerCmd("magic_lines", WRAP_METHOD(AvalancheConsole, Cmd_MagicLines));
|
||||
}
|
||||
|
||||
AvalancheConsole::~AvalancheConsole() {
|
||||
@ -42,7 +42,7 @@ AvalancheConsole::~AvalancheConsole() {
|
||||
*/
|
||||
bool AvalancheConsole::Cmd_MagicLines(int argc, const char **argv) {
|
||||
if (argc != 1) {
|
||||
DebugPrintf("Usage: %s\n", argv[0]);
|
||||
debugPrintf("Usage: %s\n", argv[0]);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -49,6 +49,9 @@ GhostRoom::GhostRoom(AvalancheEngine *vm) {
|
||||
_greldetCount = 0;
|
||||
_redGreldet = false;
|
||||
_wasLoaded = false;
|
||||
|
||||
_ghost = nullptr;
|
||||
_glerk = nullptr;
|
||||
}
|
||||
|
||||
GhostRoom::~GhostRoom() {
|
||||
|
@ -26,7 +26,7 @@
|
||||
namespace CGE {
|
||||
|
||||
CGEConsole::CGEConsole(CGEEngine *vm) : GUI::Debugger(), _vm(vm) {
|
||||
DCmd_Register("Boundaries", WRAP_METHOD(CGEConsole, Cmd_boundaries));
|
||||
registerCmd("Boundaries", WRAP_METHOD(CGEConsole, Cmd_boundaries));
|
||||
}
|
||||
|
||||
CGEConsole::~CGEConsole() {
|
||||
@ -37,7 +37,7 @@ CGEConsole::~CGEConsole() {
|
||||
*/
|
||||
bool CGEConsole::Cmd_boundaries(int argc, const char **argv) {
|
||||
if (argc != 1) {
|
||||
DebugPrintf("Usage: %s\n", argv[0]);
|
||||
debugPrintf("Usage: %s\n", argv[0]);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -29,7 +29,7 @@ bool labyrinthCheat;
|
||||
|
||||
CineConsole::CineConsole(CineEngine *vm) : GUI::Debugger(), _vm(vm) {
|
||||
assert(_vm);
|
||||
DCmd_Register("labyrinthCheat", WRAP_METHOD(CineConsole, Cmd_LabyrinthCheat));
|
||||
registerCmd("labyrinthCheat", WRAP_METHOD(CineConsole, Cmd_LabyrinthCheat));
|
||||
|
||||
labyrinthCheat = false;
|
||||
}
|
||||
|
@ -1902,7 +1902,9 @@ void maskBgOverlay(const byte *bgPtr, const byte *maskPtr, int16 width, int16 he
|
||||
|
||||
destPtr++;
|
||||
srcPtr++;
|
||||
maskPtr++;
|
||||
|
||||
if (maskPtr)
|
||||
maskPtr++;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -332,9 +332,9 @@ byte *Palette::save(byte *buf, const uint size, const Graphics::PixelFormat form
|
||||
|
||||
// Save the palette to the output in the specified format
|
||||
for (uint i = firstIndex; i < firstIndex + numColors; i++) {
|
||||
const uint r = (_colors[i].r * rNewMax) / rOrigMax;
|
||||
const uint g = (_colors[i].g * gNewMax) / gOrigMax;
|
||||
const uint b = (_colors[i].b * bNewMax) / bOrigMax;
|
||||
const uint r = (_colors[i].r * rNewMax) / (rOrigMax == 0 ? 1 : rOrigMax);
|
||||
const uint g = (_colors[i].g * gNewMax) / (gOrigMax == 0 ? 1 : gOrigMax);
|
||||
const uint b = (_colors[i].b * bNewMax) / (bOrigMax == 0 ? 1 : bOrigMax);
|
||||
|
||||
buf[i * format.bytesPerPixel + rBytePos] |= r << (format.rShift % 8);
|
||||
buf[i * format.bytesPerPixel + gBytePos] |= g << (format.gShift % 8);
|
||||
|
@ -29,9 +29,9 @@
|
||||
namespace Cruise {
|
||||
|
||||
Debugger::Debugger(): GUI::Debugger() {
|
||||
DCmd_Register("continue", WRAP_METHOD(Debugger, Cmd_Exit));
|
||||
DCmd_Register("hotspots", WRAP_METHOD(Debugger, cmd_hotspots));
|
||||
DCmd_Register("items", WRAP_METHOD(Debugger, cmd_items));
|
||||
registerCmd("continue", WRAP_METHOD(Debugger, cmdExit));
|
||||
registerCmd("hotspots", WRAP_METHOD(Debugger, cmd_hotspots));
|
||||
registerCmd("items", WRAP_METHOD(Debugger, cmd_items));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -70,7 +70,7 @@ bool Debugger::cmd_hotspots(int argc, const char **argv) {
|
||||
if (*pObjectName) {
|
||||
getMultipleObjectParam(currentObject->overlay, currentObject->idx, ¶ms);
|
||||
|
||||
DebugPrintf("%s %s - %d,%d\n", pObjectName, pObjType, params.X, params.Y);
|
||||
debugPrintf("%s %s - %d,%d\n", pObjectName, pObjType, params.X, params.Y);
|
||||
}
|
||||
}
|
||||
|
||||
@ -96,7 +96,7 @@ bool Debugger::cmd_items(int argc, const char **argv) {
|
||||
getSingleObjectParam(i, j, 5, &returnVar);
|
||||
|
||||
if (returnVar < -1)
|
||||
DebugPrintf("%s\n", getObjectName(j, pOvlData->arrayNameObj));
|
||||
debugPrintf("%s\n", getObjectName(j, pOvlData->arrayNameObj));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -50,44 +50,46 @@ enum {
|
||||
};
|
||||
|
||||
Game::Game(DraciEngine *vm) : _vm(vm), _walkingState(vm) {
|
||||
uint i;
|
||||
|
||||
_dialogueLinesNum = 0;
|
||||
_blockNum = 0;
|
||||
|
||||
for (i = 0; i < kDialogueLines; i++)
|
||||
_dialogueAnims[0] = 0;
|
||||
for (uint i = 0; i < kDialogueLines; i++)
|
||||
_dialogueAnims[0] = nullptr;
|
||||
|
||||
_loopStatus = kStatusOrdinary;
|
||||
_loopSubstatus = kOuterLoop;
|
||||
_shouldQuit = 0;
|
||||
_shouldExitLoop = 0;
|
||||
_isReloaded = 0;
|
||||
_speechTick = 0;
|
||||
_speechDuration = 0;
|
||||
_objUnderCursor = 0;
|
||||
_animUnderCursor = 0;
|
||||
_markedAnimationIndex = 0;
|
||||
_scheduledPalette = 0;
|
||||
_fadePhases = 0;
|
||||
_fadePhase = 0;
|
||||
_fadeTick = 0;
|
||||
_isFadeOut = 1;
|
||||
_mouseChangeTick = 0;
|
||||
_enableQuickHero = 0;
|
||||
_wantQuickHero = 0;
|
||||
_enableSpeedText = 0;
|
||||
_titleAnim = 0;
|
||||
_inventoryAnim = 0;
|
||||
_walkingMapOverlay = 0;
|
||||
_walkingShortestPathOverlay = 0;
|
||||
_walkingObliquePathOverlay = 0;
|
||||
_currentItem = 0;
|
||||
_itemUnderCursor = 0;
|
||||
_previousItemPosition = 0;
|
||||
|
||||
for (i = 0; i < kInventorySlots; i++)
|
||||
_inventory[i] = 0;
|
||||
_shouldQuit = false;
|
||||
_shouldExitLoop = false;
|
||||
_isReloaded = false;
|
||||
_isPositionLoaded = false;
|
||||
_isFadeOut = true;
|
||||
_enableQuickHero = false;
|
||||
_wantQuickHero = false;
|
||||
_enableSpeedText = false;
|
||||
_isPositionLoaded = false;
|
||||
|
||||
_objUnderCursor = nullptr;
|
||||
_animUnderCursor = nullptr;
|
||||
_titleAnim = nullptr;
|
||||
_inventoryAnim = nullptr;
|
||||
_walkingMapOverlay = nullptr;
|
||||
_walkingShortestPathOverlay = nullptr;
|
||||
_walkingObliquePathOverlay = nullptr;
|
||||
_currentItem = nullptr;
|
||||
_itemUnderCursor = nullptr;
|
||||
|
||||
for (int i = 0; i < kInventorySlots; i++)
|
||||
_inventory[i] = nullptr;
|
||||
|
||||
_newRoom = 0;
|
||||
_newGate = 0;
|
||||
@ -95,10 +97,10 @@ Game::Game(DraciEngine *vm) : _vm(vm), _walkingState(vm) {
|
||||
_pushedNewRoom = 0;
|
||||
_pushedNewGate = 0;
|
||||
_currentDialogue = 0;
|
||||
_dialogueArchive = 0;
|
||||
_dialogueBlocks = 0;
|
||||
_dialogueBegin = 0;
|
||||
_dialogueExit = 0;
|
||||
_dialogueArchive = nullptr;
|
||||
_dialogueBlocks = nullptr;
|
||||
_dialogueBegin = false;
|
||||
_dialogueExit = false;
|
||||
_currentBlock = 0;
|
||||
_lastBlock = 0;
|
||||
|
||||
@ -113,7 +115,7 @@ Game::Game(DraciEngine *vm) : _vm(vm), _walkingState(vm) {
|
||||
uint numPersons = file->_length / personSize;
|
||||
_persons = new Person[numPersons];
|
||||
|
||||
for (i = 0; i < numPersons; ++i) {
|
||||
for (uint i = 0; i < numPersons; ++i) {
|
||||
_persons[i]._x = personData.readUint16LE();
|
||||
_persons[i]._y = personData.readUint16LE();
|
||||
_persons[i]._fontColor = personData.readByte();
|
||||
@ -126,9 +128,9 @@ Game::Game(DraciEngine *vm) : _vm(vm), _walkingState(vm) {
|
||||
uint numDialogues = file->_length / sizeof(uint16);
|
||||
_dialogueOffsets = new uint[numDialogues];
|
||||
|
||||
uint curOffset;
|
||||
for (i = 0, curOffset = 0; i < numDialogues; ++i) {
|
||||
_dialogueOffsets[i] = curOffset;
|
||||
uint curOffset, idx;
|
||||
for (idx = 0, curOffset = 0; idx < numDialogues; ++idx) {
|
||||
_dialogueOffsets[idx] = curOffset;
|
||||
curOffset += dialogueData.readUint16LE();
|
||||
}
|
||||
|
||||
@ -163,7 +165,7 @@ Game::Game(DraciEngine *vm) : _vm(vm), _walkingState(vm) {
|
||||
_variables = new int[numVariables];
|
||||
Common::MemoryReadStream variableData(file->_data, file->_length);
|
||||
|
||||
for (i = 0; i < numVariables; ++i) {
|
||||
for (uint i = 0; i < numVariables; ++i) {
|
||||
_variables[i] = variableData.readUint16LE();
|
||||
}
|
||||
|
||||
@ -181,7 +183,7 @@ Game::Game(DraciEngine *vm) : _vm(vm), _walkingState(vm) {
|
||||
_objects = new GameObject[numObjects];
|
||||
Common::MemoryReadStream objStatus(file->_data, file->_length);
|
||||
|
||||
for (i = 0; i < numObjects; ++i) {
|
||||
for (uint i = 0; i < numObjects; ++i) {
|
||||
byte tmp = objStatus.readByte();
|
||||
|
||||
// Set object visibility
|
||||
@ -251,14 +253,14 @@ void Game::init() {
|
||||
setLoopStatus(kStatusGate);
|
||||
setLoopSubstatus(kOuterLoop);
|
||||
|
||||
_animUnderCursor = NULL;
|
||||
_animUnderCursor = nullptr;
|
||||
|
||||
_currentItem = _itemUnderCursor = NULL;
|
||||
_currentItem = _itemUnderCursor = nullptr;
|
||||
_previousItemPosition = -1;
|
||||
|
||||
_vm->_mouse->setCursorType(kHighlightedCursor); // anything different from kNormalCursor
|
||||
|
||||
_objUnderCursor = NULL;
|
||||
_objUnderCursor = nullptr;
|
||||
|
||||
// Set the inventory to empty initially
|
||||
memset(_inventory, 0, kInventorySlots * sizeof(GameItem *));
|
||||
@ -402,12 +404,12 @@ void Game::handleInventoryLoop() {
|
||||
// an overlay, for which we check. Item animations have their IDs
|
||||
// calculated by offseting their itemID from the ID of the last "special"
|
||||
// animation ID. In this way, we obtain its itemID.
|
||||
if (_animUnderCursor != NULL && _animUnderCursor != _inventoryAnim && _animUnderCursor->getID() != kOverlayImage) {
|
||||
if (_animUnderCursor != nullptr && _animUnderCursor != _inventoryAnim && _animUnderCursor->getID() != kOverlayImage) {
|
||||
_itemUnderCursor = getItem(kInventoryItemsID - _animUnderCursor->getID());
|
||||
assert(_itemUnderCursor != NULL);
|
||||
assert(_itemUnderCursor != nullptr);
|
||||
assert(_itemUnderCursor->_anim == _animUnderCursor);
|
||||
} else {
|
||||
_itemUnderCursor = NULL;
|
||||
_itemUnderCursor = nullptr;
|
||||
}
|
||||
|
||||
// If the user pressed the left mouse button
|
||||
@ -824,7 +826,7 @@ void Game::removeItem(GameItem *item) {
|
||||
return;
|
||||
for (uint i = 0; i < kInventorySlots; ++i) {
|
||||
if (_inventory[i] == item) {
|
||||
_inventory[i] = NULL;
|
||||
_inventory[i] = nullptr;
|
||||
item->_anim->stop();
|
||||
break;
|
||||
}
|
||||
@ -931,7 +933,7 @@ void Game::inventoryDone() {
|
||||
_walkingState.callbackLast();
|
||||
|
||||
// Reset item under cursor
|
||||
_itemUnderCursor = NULL;
|
||||
_itemUnderCursor = nullptr;
|
||||
|
||||
// Don't start the inventory mode again if the mouse is on the top.
|
||||
_mouseChangeTick = kMouseDoNotSwitch;
|
||||
@ -1640,7 +1642,7 @@ void Game::DoSync(Common::Serializer &s, uint8 saveVersion) {
|
||||
_currentItem = getItem(handItemID);
|
||||
}
|
||||
} else {
|
||||
_currentItem = 0;
|
||||
_currentItem = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -453,7 +453,7 @@ void WalkingState::callback() {
|
||||
_callback = NULL;
|
||||
_vm->_script->runWrapper(originalCallback, _callbackOffset, true, false);
|
||||
_callbackLast = NULL;
|
||||
_callbackOffset = NULL;
|
||||
_callbackOffset = 0;
|
||||
}
|
||||
|
||||
void WalkingState::callbackLast() {
|
||||
|
@ -27,7 +27,7 @@
|
||||
namespace Drascula {
|
||||
|
||||
Console::Console(DrasculaEngine *vm) : GUI::Debugger(), _vm(vm) {
|
||||
DCmd_Register("room", WRAP_METHOD(Console, Cmd_Room));
|
||||
registerCmd("room", WRAP_METHOD(Console, Cmd_Room));
|
||||
}
|
||||
|
||||
Console::~Console() {
|
||||
@ -35,7 +35,7 @@ Console::~Console() {
|
||||
|
||||
bool Console::Cmd_Room(int argc, const char **argv) {
|
||||
if (argc < 2) {
|
||||
DebugPrintf("Usage: room <number>\n");
|
||||
debugPrintf("Usage: room <number>\n");
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -28,14 +28,14 @@
|
||||
namespace Fullpipe {
|
||||
|
||||
Console::Console(FullpipeEngine *vm) : GUI::Debugger(), _vm(vm) {
|
||||
DCmd_Register("scene", WRAP_METHOD(Console, Cmd_Scene));
|
||||
registerCmd("scene", WRAP_METHOD(Console, Cmd_Scene));
|
||||
}
|
||||
|
||||
bool Console::Cmd_Scene(int argc, const char **argv) {
|
||||
if (argc != 2) {
|
||||
int sceneTag = _vm->_currentScene->_sceneId;
|
||||
DebugPrintf("Current scene: %d (scene tag: %d)\n", _vm->getSceneFromTag(sceneTag), sceneTag);
|
||||
DebugPrintf("Use %s <scene> to change the current scene\n", argv[0]);
|
||||
debugPrintf("Current scene: %d (scene tag: %d)\n", _vm->getSceneFromTag(sceneTag), sceneTag);
|
||||
debugPrintf("Use %s <scene> to change the current scene\n", argv[0]);
|
||||
return true;
|
||||
} else {
|
||||
int scene = _vm->convertScene(atoi(argv[1]));
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include "common/file.h"
|
||||
|
||||
#include "fullpipe/fullpipe.h"
|
||||
#include "fullpipe/gameloader.h"
|
||||
|
||||
|
||||
namespace Fullpipe {
|
||||
@ -87,15 +88,72 @@ public:
|
||||
}
|
||||
|
||||
virtual bool hasFeature(MetaEngineFeature f) const;
|
||||
virtual int getMaximumSaveSlot() const { return 8; }
|
||||
virtual SaveStateList listSaves(const char *target) const;
|
||||
virtual void removeSaveState(const char *target, int slot) const;
|
||||
virtual SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const;
|
||||
virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const;
|
||||
};
|
||||
|
||||
bool FullpipeMetaEngine::hasFeature(MetaEngineFeature f) const {
|
||||
return false;
|
||||
return
|
||||
(f == kSupportsListSaves) ||
|
||||
(f == kSupportsDeleteSave) ||
|
||||
(f == kSavesSupportMetaInfo) ||
|
||||
(f == kSavesSupportThumbnail) ||
|
||||
(f == kSavesSupportCreationDate) ||
|
||||
(f == kSupportsLoadingDuringStartup);
|
||||
}
|
||||
|
||||
bool Fullpipe::FullpipeEngine::hasFeature(EngineFeature f) const {
|
||||
return false;
|
||||
SaveStateList FullpipeMetaEngine::listSaves(const char *target) const {
|
||||
Common::SaveFileManager *saveFileMan = g_system->getSavefileManager();
|
||||
Common::StringArray filenames;
|
||||
Common::String pattern("fullpipe.s??");
|
||||
|
||||
filenames = saveFileMan->listSavefiles(pattern);
|
||||
sort(filenames.begin(), filenames.end()); // Sort (hopefully ensuring we are sorted numerically..)
|
||||
|
||||
SaveStateList saveList;
|
||||
for (Common::StringArray::const_iterator file = filenames.begin(); file != filenames.end(); ++file) {
|
||||
// Obtain the last 2 digits of the filename, since they correspond to the save slot
|
||||
int slotNum = atoi(file->c_str() + file->size() - 2);
|
||||
|
||||
if (slotNum >= 0 && slotNum <= getMaximumSaveSlot()) {
|
||||
Common::InSaveFile *in = saveFileMan->openForLoading(*file);
|
||||
if (in) {
|
||||
Fullpipe::FullpipeSavegameHeader header;
|
||||
Fullpipe::readSavegameHeader(in, header);
|
||||
saveList.push_back(SaveStateDescriptor(slotNum, header.saveName));
|
||||
delete header.thumbnail;
|
||||
delete in;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return saveList;
|
||||
}
|
||||
|
||||
void FullpipeMetaEngine::removeSaveState(const char *target, int slot) const {
|
||||
g_system->getSavefileManager()->removeSavefile(Fullpipe::getSavegameFile(slot));
|
||||
}
|
||||
|
||||
SaveStateDescriptor FullpipeMetaEngine::querySaveMetaInfos(const char *target, int slot) const {
|
||||
Common::InSaveFile *f = g_system->getSavefileManager()->openForLoading(
|
||||
Fullpipe::getSavegameFile(slot));
|
||||
|
||||
if (f) {
|
||||
Fullpipe::FullpipeSavegameHeader header;
|
||||
Fullpipe::readSavegameHeader(f, header);
|
||||
delete f;
|
||||
|
||||
// Create the return descriptor
|
||||
SaveStateDescriptor desc(slot, header.saveName);
|
||||
desc.setThumbnail(header.thumbnail);
|
||||
|
||||
return desc;
|
||||
}
|
||||
|
||||
return SaveStateDescriptor();
|
||||
}
|
||||
|
||||
bool FullpipeMetaEngine::createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const {
|
||||
|
@ -37,6 +37,7 @@
|
||||
#include "fullpipe/scenes.h"
|
||||
#include "fullpipe/floaters.h"
|
||||
#include "fullpipe/console.h"
|
||||
#include "fullpipe/constants.h"
|
||||
|
||||
namespace Fullpipe {
|
||||
|
||||
@ -205,7 +206,39 @@ void FullpipeEngine::initialize() {
|
||||
}
|
||||
|
||||
void FullpipeEngine::restartGame() {
|
||||
warning("STUB: FullpipeEngine::restartGame()");
|
||||
_floaters->stopAll();
|
||||
|
||||
clearGlobalMessageQueueList();
|
||||
clearMessages();
|
||||
|
||||
initObjectStates();
|
||||
|
||||
if (_scene2) {
|
||||
_scene2->getAniMan();
|
||||
_scene2 = 0;
|
||||
}
|
||||
|
||||
if (_currentScene) {
|
||||
_gameLoader->unloadScene(_currentScene->_sceneId);
|
||||
|
||||
_currentScene = 0;
|
||||
}
|
||||
|
||||
_gameLoader->restoreDefPicAniInfos();
|
||||
|
||||
getGameLoaderInventory()->clear();
|
||||
getGameLoaderInventory()->addItem(ANI_INV_MAP, 1);
|
||||
getGameLoaderInventory()->rebuildItemRects();
|
||||
|
||||
initMap();
|
||||
|
||||
if (_flgPlayIntro) {
|
||||
_gameLoader->loadScene(SC_INTRO1);
|
||||
_gameLoader->gotoScene(SC_INTRO1, TrubaUp);
|
||||
} else {
|
||||
_gameLoader->loadScene(SC_1);
|
||||
_gameLoader->gotoScene(SC_1, TrubaLeft);
|
||||
}
|
||||
}
|
||||
|
||||
Common::Error FullpipeEngine::run() {
|
||||
@ -347,7 +380,7 @@ void FullpipeEngine::updateEvents() {
|
||||
case Common::EVENT_QUIT:
|
||||
_gameContinue = false;
|
||||
break;
|
||||
case Common::EVENT_RBUTTONDOWN:
|
||||
case Common::EVENT_RBUTTONDOWN:
|
||||
if (!_inputArFlag && (_updateTicks - _lastInputTicks) >= 2) {
|
||||
ex = new ExCommand(0, 17, 107, event.mouse.x, event.mouse.y, 0, 1, 0, 0, 0);
|
||||
ex->_excFlags |= 3;
|
||||
@ -477,7 +510,20 @@ void FullpipeEngine::setObjectState(const char *name, int state) {
|
||||
}
|
||||
|
||||
void FullpipeEngine::disableSaves(ExCommand *ex) {
|
||||
warning("STUB: FullpipeEngine::disableSaves()");
|
||||
if (_isSaveAllowed) {
|
||||
_isSaveAllowed = false;
|
||||
|
||||
if (_globalMessageQueueList->size() && (*_globalMessageQueueList)[0] != 0) {
|
||||
for (int i = 0; i < _globalMessageQueueList->size(); i++) {
|
||||
if ((*_globalMessageQueueList)[i]->_flags & 1)
|
||||
if ((*_globalMessageQueueList)[i]->_id != ex->_parId && !(*_globalMessageQueueList)[i]->_isFinished)
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (_currentScene)
|
||||
_gameLoader->writeSavegame(_currentScene, "savetmp.sav");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -99,7 +99,6 @@ public:
|
||||
const ADGameDescription *_gameDescription;
|
||||
const char *getGameId() const;
|
||||
Common::Platform getPlatform() const;
|
||||
bool hasFeature(EngineFeature f) const;
|
||||
|
||||
Common::RandomSource *_rnd;
|
||||
|
||||
|
@ -21,6 +21,7 @@
|
||||
*/
|
||||
|
||||
#include "fullpipe/fullpipe.h"
|
||||
#include "graphics/thumbnail.h"
|
||||
|
||||
#include "fullpipe/gameloader.h"
|
||||
#include "fullpipe/scene.h"
|
||||
@ -501,6 +502,14 @@ void GameLoader::updateSystems(int counterdiff) {
|
||||
}
|
||||
}
|
||||
|
||||
void GameLoader::readSavegame(const char *fname) {
|
||||
warning("STUB: readSavegame(%s)", fname);
|
||||
}
|
||||
|
||||
void GameLoader::writeSavegame(Scene *sc, const char *fname) {
|
||||
warning("STUB: writeSavegame(sc, %s)", fname);
|
||||
}
|
||||
|
||||
Sc2::Sc2() {
|
||||
_sceneId = 0;
|
||||
_field_2 = 0;
|
||||
@ -593,6 +602,42 @@ bool PreloadItems::load(MfcArchive &file) {
|
||||
return true;
|
||||
}
|
||||
|
||||
const char *getSavegameFile(int saveGameIdx) {
|
||||
static char buffer[20];
|
||||
sprintf(buffer, "fullpipe.s%02d", saveGameIdx);
|
||||
return buffer;
|
||||
}
|
||||
|
||||
bool readSavegameHeader(Common::InSaveFile *in, FullpipeSavegameHeader &header) {
|
||||
char saveIdentBuffer[6];
|
||||
header.thumbnail = NULL;
|
||||
|
||||
// Validate the header Id
|
||||
in->read(saveIdentBuffer, 6);
|
||||
if (strcmp(saveIdentBuffer, "SVMCR"))
|
||||
return false;
|
||||
|
||||
header.version = in->readByte();
|
||||
if (header.version != FULLPIPE_SAVEGAME_VERSION)
|
||||
return false;
|
||||
|
||||
// Read in the string
|
||||
header.saveName.clear();
|
||||
char ch;
|
||||
while ((ch = (char)in->readByte()) != '\0') header.saveName += ch;
|
||||
|
||||
// Get the thumbnail
|
||||
header.thumbnail = Graphics::loadThumbnail(*in);
|
||||
if (!header.thumbnail)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void GameLoader::restoreDefPicAniInfos() {
|
||||
warning("STUB: restoreDefPicAniInfos()");
|
||||
}
|
||||
|
||||
GameVar *FullpipeEngine::getGameLoaderGameVar() {
|
||||
if (_gameLoader)
|
||||
return _gameLoader->_gameVar;
|
||||
|
@ -29,6 +29,8 @@
|
||||
|
||||
namespace Fullpipe {
|
||||
|
||||
#define FULLPIPE_SAVEGAME_VERSION 1
|
||||
|
||||
class SceneTag;
|
||||
class MctlCompound;
|
||||
class InputController;
|
||||
@ -72,6 +74,12 @@ class PreloadItems : public Common::Array<PreloadItem *>, public CObject {
|
||||
virtual bool load(MfcArchive &file);
|
||||
};
|
||||
|
||||
struct FullpipeSavegameHeader {
|
||||
uint8 version;
|
||||
Common::String saveName;
|
||||
Graphics::Surface *thumbnail;
|
||||
};
|
||||
|
||||
class GameLoader : public CObject {
|
||||
public:
|
||||
GameLoader();
|
||||
@ -89,6 +97,11 @@ class GameLoader : public CObject {
|
||||
void applyPicAniInfos(Scene *sc, PicAniInfo **picAniInfo, int picAniInfoCount);
|
||||
void saveScenePicAniInfos(int sceneId);
|
||||
|
||||
void readSavegame(const char *fname);
|
||||
void writeSavegame(Scene *sc, const char *fname);
|
||||
|
||||
void restoreDefPicAniInfos();
|
||||
|
||||
GameProject *_gameProject;
|
||||
InteractionController *_interactionController;
|
||||
InputController *_inputController;
|
||||
@ -108,6 +121,9 @@ class GameLoader : public CObject {
|
||||
int _preloadEntranceId;
|
||||
};
|
||||
|
||||
const char *getSavegameFile(int saveGameIdx);
|
||||
bool readSavegameHeader(Common::InSaveFile *in, FullpipeSavegameHeader &header);
|
||||
|
||||
Inventory2 *getGameLoaderInventory();
|
||||
InteractionController *getGameLoaderInteractionController();
|
||||
MctlCompound *getSc2MctlCompoundBySceneId(int16 sceneId);
|
||||
|
@ -145,7 +145,7 @@ void Background::addPictureObject(PictureObject *pct) {
|
||||
|
||||
bool inserted = false;
|
||||
for (uint i = 1; i < _picObjList.size(); i++) {
|
||||
if (((PictureObject *)_picObjList[i])->_priority <= pct->_priority) {
|
||||
if (_picObjList[i]->_priority <= pct->_priority) {
|
||||
_picObjList.insert_at(i, pct);
|
||||
inserted = true;
|
||||
break;
|
||||
@ -192,7 +192,7 @@ bool PictureObject::load(MfcArchive &file, bool bigPicture) {
|
||||
|
||||
_picture->load(file);
|
||||
|
||||
_pictureObject2List = new PtrList();
|
||||
_pictureObject2List = new Common::Array<GameObject *>;
|
||||
|
||||
int count = file.readUint16LE();
|
||||
|
||||
@ -351,7 +351,25 @@ void GameObject::setOXY(int x, int y) {
|
||||
_oy = y;
|
||||
}
|
||||
|
||||
void GameObject::renumPictures(PtrList *lst) {
|
||||
void GameObject::renumPictures(Common::Array<StaticANIObject *> *lst) {
|
||||
int *buf = (int *)calloc(lst->size() + 2, sizeof(int));
|
||||
|
||||
for (uint i = 0; i < lst->size(); i++) {
|
||||
if (_id == ((GameObject *)((*lst)[i]))->_id)
|
||||
buf[((GameObject *)((*lst)[i]))->_okeyCode] = 1;
|
||||
}
|
||||
|
||||
if (buf[_okeyCode]) {
|
||||
uint count;
|
||||
for (count = 1; buf[count] && count < lst->size() + 2; count++)
|
||||
;
|
||||
_okeyCode = count;
|
||||
}
|
||||
|
||||
free(buf);
|
||||
}
|
||||
|
||||
void GameObject::renumPictures(Common::Array<PictureObject *> *lst) {
|
||||
int *buf = (int *)calloc(lst->size() + 2, sizeof(int));
|
||||
|
||||
for (uint i = 0; i < lst->size(); i++) {
|
||||
@ -380,6 +398,7 @@ bool GameObject::getPicAniInfo(PicAniInfo *info) {
|
||||
info->ox = _ox;
|
||||
info->oy = _oy;
|
||||
info->priority = _priority;
|
||||
warning("Yep %d", _id);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -92,7 +92,7 @@ class Picture : public MemoryObject {
|
||||
|
||||
virtual bool load(MfcArchive &file);
|
||||
void setAOIDs();
|
||||
void init();
|
||||
virtual void init();
|
||||
void getDibInfo();
|
||||
Bitmap *getPixelData();
|
||||
virtual void draw(int x, int y, int style, int angle);
|
||||
@ -141,7 +141,8 @@ class GameObject : public CObject {
|
||||
|
||||
virtual bool load(MfcArchive &file);
|
||||
void setOXY(int x, int y);
|
||||
void renumPictures(PtrList *lst);
|
||||
void renumPictures(Common::Array<StaticANIObject *> *lst);
|
||||
void renumPictures(Common::Array<PictureObject *> *lst);
|
||||
void setFlags(int16 flags) { _flags = flags; }
|
||||
void clearFlags() { _flags = 0; }
|
||||
const char *getName() { return _objectName; }
|
||||
@ -153,7 +154,7 @@ class GameObject : public CObject {
|
||||
class PictureObject : public GameObject {
|
||||
public:
|
||||
Picture *_picture;
|
||||
PtrList *_pictureObject2List;
|
||||
Common::Array<GameObject *> *_pictureObject2List;
|
||||
int _ox2;
|
||||
int _oy2;
|
||||
|
||||
@ -178,7 +179,7 @@ class PictureObject : public GameObject {
|
||||
|
||||
class Background : public CObject {
|
||||
public:
|
||||
PtrList _picObjList;
|
||||
Common::Array<PictureObject *> _picObjList;
|
||||
|
||||
char *_bgname;
|
||||
int _x;
|
||||
|
@ -392,12 +392,10 @@ int global_messageHandler3(ExCommand *cmd) {
|
||||
}
|
||||
return result;
|
||||
case 29:
|
||||
if (!g_fp->_currentScene)
|
||||
return result;
|
||||
|
||||
if (g_fp->_gameLoader->_interactionController->_flag24) {
|
||||
if (g_fp->_gameLoader->_interactionController->_flag24 && g_fp->_currentScene) {
|
||||
ani = g_fp->_currentScene->getStaticANIObjectAtPos(cmd->_sceneClickX, cmd->_sceneClickY);
|
||||
ani2 = g_fp->_currentScene->getStaticANIObject1ById(g_fp->_gameLoader->_field_FA, -1);
|
||||
|
||||
if (ani) {
|
||||
if (g_fp->_msgObjectId2 == ani->_id && g_fp->_msgId == ani->_okeyCode) {
|
||||
cmd->_messageKind = 0;
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include "fullpipe/messages.h"
|
||||
#include "fullpipe/modal.h"
|
||||
#include "fullpipe/statics.h"
|
||||
#include "fullpipe/gameloader.h"
|
||||
|
||||
namespace Fullpipe {
|
||||
|
||||
@ -394,8 +395,18 @@ void MessageQueue::update() {
|
||||
}
|
||||
|
||||
void MessageQueue::messageQueueCallback1(int par) {
|
||||
// Autosave
|
||||
debug(3, "STUB: MessageQueue::messageQueueCallback1()");
|
||||
if (g_fp->_isSaveAllowed && par == 16) {
|
||||
if (g_fp->_globalMessageQueueList->size() && (*g_fp->_globalMessageQueueList)[0] != 0) {
|
||||
for (int i = 0; i < g_fp->_globalMessageQueueList->size(); i++) {
|
||||
if ((*g_fp->_globalMessageQueueList)[i]->_flags & 1)
|
||||
if ((*g_fp->_globalMessageQueueList)[i] != this && !(*g_fp->_globalMessageQueueList)[i]->_isFinished)
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (g_fp->_currentScene)
|
||||
g_fp->_gameLoader->writeSavegame(g_fp->_currentScene, "savetmp.sav");
|
||||
}
|
||||
}
|
||||
|
||||
void MessageQueue::addExCommand(ExCommand *ex) {
|
||||
|
@ -34,6 +34,8 @@
|
||||
#include "graphics/palette.h"
|
||||
#include "video/avi_decoder.h"
|
||||
|
||||
#include "engines/savestate.h"
|
||||
|
||||
namespace Fullpipe {
|
||||
|
||||
ModalIntro::ModalIntro() {
|
||||
@ -1084,17 +1086,17 @@ void ModalMainMenu::updateSoundVolume(Sound *snd) {
|
||||
b = 800 - dx;
|
||||
}
|
||||
|
||||
int32 pp = b * a; //(0x51EB851F * b * a) >> 32) >> 8; // TODO FIXME
|
||||
int32 pp = b * a;
|
||||
|
||||
snd->setPanAndVolume(pan + (pp >> 31) + pp, par);
|
||||
snd->setPanAndVolume(pan + pp / 800, par);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
int dx = _screct.left - ani->_ox;
|
||||
if (dx <= 800) {
|
||||
int32 s = 0x51EB851F * (800 - dx) * (g_fp->_sfxVolume - (-3500)); // TODO FIXME
|
||||
int32 p = -3500 + (s >> 31) + (s >> 8);
|
||||
int32 s = (800 - dx) * (g_fp->_sfxVolume - (-3500));
|
||||
int32 p = -3500 + s / 800;
|
||||
|
||||
if (p > g_fp->_sfxVolume)
|
||||
p = g_fp->_sfxVolume;
|
||||
@ -1103,8 +1105,6 @@ void ModalMainMenu::updateSoundVolume(Sound *snd) {
|
||||
} else {
|
||||
snd->setPanAndVolume(-3500, 0);
|
||||
}
|
||||
|
||||
warning("STUB: ModalMainMenu::updateSoundVolume()");
|
||||
}
|
||||
|
||||
void ModalMainMenu::updateSliderPos() {
|
||||
@ -1460,6 +1460,8 @@ ModalSaveGame::ModalSaveGame() {
|
||||
_rect = g_fp->_sceneRect;
|
||||
_queryDlg = 0;
|
||||
_mode = 1;
|
||||
|
||||
_objtype = kObjTypeModalSaveGame;
|
||||
}
|
||||
|
||||
ModalSaveGame::~ModalSaveGame() {
|
||||
@ -1591,9 +1593,9 @@ void ModalSaveGame::setup(Scene *sc, int mode) {
|
||||
fileinfo = new FileInfo;
|
||||
memset(fileinfo, 0, sizeof(FileInfo));
|
||||
|
||||
snprintf(fileinfo->filename, 160, "save%02d.sav", i);
|
||||
strncpy(fileinfo->filename, getSavegameFile(i), 160);
|
||||
|
||||
if (!getFileInfo(fileinfo->filename, fileinfo)) {
|
||||
if (!getFileInfo(i, fileinfo)) {
|
||||
fileinfo->empty = true;
|
||||
w = _emptyD->getDimensions(&point)->x;
|
||||
} else {
|
||||
@ -1623,12 +1625,175 @@ char *ModalSaveGame::getSaveName() {
|
||||
return _files[_queryRes]->filename;
|
||||
}
|
||||
|
||||
bool ModalSaveGame::getFileInfo(char *filename, FileInfo *fileinfo) {
|
||||
warning("STUB: ModalSaveGame::getFileInfo()");
|
||||
bool ModalSaveGame::getFileInfo(int slot, FileInfo *fileinfo) {
|
||||
Common::InSaveFile *f = g_system->getSavefileManager()->openForLoading(
|
||||
Fullpipe::getSavegameFile(slot));
|
||||
|
||||
if (!f)
|
||||
return false;
|
||||
|
||||
Fullpipe::FullpipeSavegameHeader header;
|
||||
Fullpipe::readSavegameHeader(f, header);
|
||||
delete f;
|
||||
|
||||
// Create the return descriptor
|
||||
SaveStateDescriptor desc(slot, header.saveName);
|
||||
char res[17];
|
||||
|
||||
snprintf(res, 17, "%s %s", desc.getSaveDate().c_str(), desc.getSaveTime().c_str());
|
||||
|
||||
for (int i = 0; i < 16; i++) {
|
||||
switch(res[i]) {
|
||||
case '.':
|
||||
fileinfo->date[i] = 11;
|
||||
break;
|
||||
case ' ':
|
||||
fileinfo->date[i] = 12;
|
||||
break;
|
||||
case ':':
|
||||
fileinfo->date[i] = 10;
|
||||
break;
|
||||
case '0':
|
||||
case '1':
|
||||
case '2':
|
||||
case '3':
|
||||
case '4':
|
||||
case '5':
|
||||
case '6':
|
||||
case '7':
|
||||
case '8':
|
||||
case '9':
|
||||
fileinfo->date[i] = res[i] - '0';
|
||||
break;
|
||||
default:
|
||||
error("Incorrect date format: %s", res);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void ModalSaveGame::update() {
|
||||
if (_menuScene)
|
||||
_menuScene->draw();
|
||||
|
||||
_bgr->draw();
|
||||
|
||||
if (_queryDlg) {
|
||||
_queryDlg->update();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
g_fp->_cursorId = PIC_CSR_DEFAULT;
|
||||
|
||||
g_fp->setCursor(g_fp->_cursorId);
|
||||
|
||||
Common::Point point;
|
||||
|
||||
for (uint i = 0; i < _files.size(); i++) {
|
||||
if (g_fp->_mouseScreenPos.x < _files[i]->fx1 || g_fp->_mouseScreenPos.x > _files[i]->fx2 ||
|
||||
g_fp->_mouseScreenPos.y < _files[i]->fy1 || g_fp->_mouseScreenPos.y > _files[i]->fy2 ) {
|
||||
if (_files[i]->empty) {
|
||||
_emptyD->setOXY(_files[i]->fx1, _files[i]->fy1);
|
||||
_emptyD->draw();
|
||||
} else {
|
||||
int x = _files[i]->fx1;
|
||||
|
||||
for (int j = 0; j < 16; j++) {
|
||||
_arrayL[_files[i]->date[j]]->setOXY(x + 1, _files[i]->fy1);
|
||||
_arrayL[_files[i]->date[j]]->draw();
|
||||
|
||||
x += _arrayL[_files[i]->date[j]]->getDimensions(&point)->x + 2;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (_files[i]->empty) {
|
||||
_emptyL->setOXY(_files[i]->fx1, _files[i]->fy1);
|
||||
_emptyL->draw();
|
||||
} else {
|
||||
int x = _files[i]->fx1;
|
||||
|
||||
for (int j = 0; j < 16; j++) {
|
||||
_arrayD[_files[i]->date[j]]->setOXY(x + 1, _files[i]->fy1);
|
||||
_arrayD[_files[i]->date[j]]->draw();
|
||||
|
||||
x += _arrayD[_files[i]->date[j]]->getDimensions(&point)->x + 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (_cancelL->isPixelHitAtPos(g_fp->_mouseScreenPos.x, g_fp->_mouseScreenPos.y))
|
||||
_cancelL->draw();
|
||||
else if (_okL->isPixelHitAtPos(g_fp->_mouseScreenPos.x, g_fp->_mouseScreenPos.y))
|
||||
_okL->draw();
|
||||
}
|
||||
|
||||
bool ModalSaveGame::handleMessage(ExCommand *cmd) {
|
||||
if (_queryDlg)
|
||||
return _queryDlg->handleMessage(cmd);
|
||||
|
||||
if (cmd->_messageNum == 29)
|
||||
processMouse(cmd->_x, cmd->_y);
|
||||
else if (cmd->_messageNum == 36)
|
||||
processKey(cmd->_keyCode);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void ModalSaveGame::processMouse(int x, int y) {
|
||||
for (uint i = 0; i < _files.size(); i++) {
|
||||
if (x >= _files[i]->fx1 && x <= _files[i]->fx2 && y >= _files[i]->fy1 && y <= _files[i]->fy2) {
|
||||
_queryRes = i + 1;
|
||||
|
||||
if (_mode) {
|
||||
if (!_files[i]->empty) {
|
||||
_queryDlg = new ModalQuery;
|
||||
|
||||
_queryDlg->create(_menuScene, 0, PIC_MOV_BGR);
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (_cancelL->isPixelHitAtPos(x, y))
|
||||
_queryRes = 0;
|
||||
}
|
||||
|
||||
void ModalSaveGame::saveload() {
|
||||
if (_objtype != kObjTypeModalSaveGame)
|
||||
return;
|
||||
|
||||
if (_mode) {
|
||||
if (getSaveName()) {
|
||||
bool allowed = true;
|
||||
|
||||
for (Common::Array<MessageQueue *>::iterator s = g_fp->_globalMessageQueueList->begin(); s != g_fp->_globalMessageQueueList->end(); ++s) {
|
||||
if (!(*s)->_isFinished && ((*s)->getFlags() & 1))
|
||||
allowed = false;
|
||||
}
|
||||
|
||||
if (g_fp->_isSaveAllowed && allowed)
|
||||
g_fp->_gameLoader->writeSavegame(g_fp->_currentScene, getSaveName());
|
||||
}
|
||||
} else {
|
||||
if (getSaveName()) {
|
||||
if (_parentObj) {
|
||||
delete _parentObj;
|
||||
|
||||
_parentObj = 0;
|
||||
}
|
||||
|
||||
g_fp->stopAllSoundStreams();
|
||||
g_fp->stopSoundStream2();
|
||||
|
||||
g_fp->_gameLoader->readSavegame(getSaveName());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void FullpipeEngine::openHelp() {
|
||||
if (!_modalObject) {
|
||||
ModalHelp *help = new ModalHelp;
|
||||
|
@ -32,10 +32,7 @@ class Sound;
|
||||
struct FileInfo {
|
||||
char filename[260];
|
||||
bool empty;
|
||||
int day;
|
||||
int month;
|
||||
int year;
|
||||
int time;
|
||||
char date[16];
|
||||
int fx1;
|
||||
int fx2;
|
||||
int fy1;
|
||||
@ -46,9 +43,10 @@ class BaseModalObject {
|
||||
public:
|
||||
|
||||
BaseModalObject *_parentObj;
|
||||
ObjType _objtype;
|
||||
|
||||
public:
|
||||
BaseModalObject() : _parentObj(0) {}
|
||||
BaseModalObject() : _parentObj(0) { _objtype = kObjTypeDefault; }
|
||||
virtual ~BaseModalObject() {}
|
||||
|
||||
|
||||
@ -256,17 +254,19 @@ public:
|
||||
virtual ~ModalSaveGame();
|
||||
|
||||
virtual bool pollEvent() { return true; }
|
||||
virtual bool handleMessage(ExCommand *message) { return false; }
|
||||
virtual bool handleMessage(ExCommand *message);
|
||||
virtual bool init(int counterdiff);
|
||||
virtual void update() {}
|
||||
virtual void saveload() {}
|
||||
virtual void update();
|
||||
virtual void saveload();
|
||||
|
||||
void processMouse(int x, int y);
|
||||
|
||||
void setScene(Scene *sc);
|
||||
void setup(Scene *sc, int mode);
|
||||
void processKey(int key);
|
||||
|
||||
char *getSaveName();
|
||||
bool getFileInfo(char *filename, FileInfo *fileinfo);
|
||||
bool getFileInfo(int slot, FileInfo *fileinfo);
|
||||
|
||||
Common::Rect _rect;
|
||||
int _oldBgX;
|
||||
|
@ -125,9 +125,10 @@ void MctlCompound::addObject(StaticANIObject *obj) {
|
||||
}
|
||||
|
||||
int MctlCompound::removeObject(StaticANIObject *obj) {
|
||||
warning("STUB: MctlCompound::removeObject()");
|
||||
for (uint i = 0; i < _motionControllers.size(); i++)
|
||||
_motionControllers[i]->_motionControllerObj->removeObject(obj);
|
||||
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
void MctlCompound::initMovGraph2() {
|
||||
@ -193,7 +194,8 @@ MessageQueue *MctlCompound::method34(StaticANIObject *ani, int sourceX, int sour
|
||||
if (idx == sourceIdx)
|
||||
return _motionControllers[idx]->_motionControllerObj->method34(ani, sourceX, sourceY, fuzzyMatch, staticsId);
|
||||
|
||||
MctlConnectionPoint *cp = findClosestConnectionPoint(ani->_ox, ani->_oy, idx, sourceX, sourceY, sourceIdx, &sourceIdx);
|
||||
double dist;
|
||||
MctlConnectionPoint *cp = findClosestConnectionPoint(ani->_ox, ani->_oy, idx, sourceX, sourceY, sourceIdx, &dist);
|
||||
|
||||
if (!cp)
|
||||
return 0;
|
||||
@ -261,7 +263,8 @@ MessageQueue *MctlCompound::doWalkTo(StaticANIObject *subj, int xpos, int ypos,
|
||||
if (match1 == match2)
|
||||
return _motionControllers[match1]->_motionControllerObj->doWalkTo(subj, xpos, ypos, fuzzyMatch, staticsId);
|
||||
|
||||
MctlConnectionPoint *closestP = findClosestConnectionPoint(subj->_ox, subj->_oy, match1, xpos, ypos, match2, &match2);
|
||||
double dist;
|
||||
MctlConnectionPoint *closestP = findClosestConnectionPoint(subj->_ox, subj->_oy, match1, xpos, ypos, match2, &dist);
|
||||
|
||||
if (!closestP)
|
||||
return 0;
|
||||
@ -427,14 +430,75 @@ MessageQueue *MctlLadder::controllerWalkTo(StaticANIObject *ani, int off) {
|
||||
return doWalkTo(ani, _ladderX + off * _width, _ladderY + off * _height, 1, 0);
|
||||
}
|
||||
|
||||
MctlConnectionPoint *MctlCompound::findClosestConnectionPoint(int ox, int oy, int destIndex, int connectionX, int connectionY, int sourceIndex, int *minDistancePtr) {
|
||||
MctlConnectionPoint *MctlCompound::findClosestConnectionPoint(int ox, int oy, int destIndex, int connectionX, int connectionY, int sourceIndex, double *minDistancePtr) {
|
||||
#if 0
|
||||
if (destIndex == sourceIndex) {
|
||||
*minDistancePtr = sqrt((double)((oy - connectionY) * (oy - connectionY) + (ox - connectionX) * (ox - connectionX)));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
v11 = this->_motionControllers.m_pData;
|
||||
currDistance = 0.0;
|
||||
v12 = 0;
|
||||
v13 = (MctlCompoundArrayItem *)*(&v11->vmt + sourceIndex);
|
||||
minDistance = 1.0e10;
|
||||
minConnectionPoint = 0;
|
||||
if (v13->mctlConnectionPointsArray.CObArray.m_nSize > 0) {
|
||||
do {
|
||||
v14 = 0;
|
||||
for (currMctlIndex = 0; v14 < this->_motionControllers.m_nSize; currMctlIndex = v14) {
|
||||
v15 = this->_motionControllers.m_pData;
|
||||
v16 = *(MovGraphReact **)(*(&v15->vmt + v14) + offsetof(MctlCompoundArrayItem, movGraphReactObj));
|
||||
if (v16) {
|
||||
v17 = *(MctlConnectionPoint **)(*(_DWORD *)(*(&v15->vmt + sourceIndex) + 0x10) + 4 * v12);// MctlCompoundArrayItem.mctlConnectionPointsArray.CObArray.m_pData
|
||||
LOBYTE(v18) = (*(bool (__thiscall **)(MovGraphReact *, int, int))(v16->CObject.vmt + offsetof(MovGraphReactVmt, pointInRegion)))(v16, v17->_connectionX, v17->_connectionY);
|
||||
if (v18) {
|
||||
v14 = currMctlIndex;
|
||||
v19 = *(MctlConnectionPoint **)(*(_DWORD *)(*(&this->_motionControllers.m_pData->vmt + sourceIndex) + 0x10) + 4 * v12);
|
||||
v20 = MctlCompound_findClosestConnectionPoint(this, ox, oy, destIndex, v19->_connectionX, v19->_connectionY, currMctlIndex, (int *)&currDistance);
|
||||
if (currDistance < minDistance) {
|
||||
minDistance = currDistance;
|
||||
if (v20)
|
||||
minConnectionPoint = v20;
|
||||
else
|
||||
minConnectionPoint = *(MctlConnectionPoint **)(*(_DWORD *)(*(&this->_motionControllers.m_pData->vmt + sourceIndex) + 0x10) + 4 * v12);
|
||||
}
|
||||
} else {
|
||||
v14 = currMctlIndex;
|
||||
}
|
||||
}
|
||||
++v14;
|
||||
}
|
||||
++v12;
|
||||
} while (v12 < *(_DWORD *)(*(&this->_motionControllers.m_pData->vmt + sourceIndex) + 0x14)); // MctlCompoundArrayItem.mctlConnectionPointsArray.CObArray.m_nSize
|
||||
}
|
||||
|
||||
*minDistancePtr = minDistance;
|
||||
|
||||
return minConnectionPoint;
|
||||
}
|
||||
#endif
|
||||
warning("STUB: MctlCompound::findClosestConnectionPoint()");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void MctlCompound::replaceNodeX(int from, int to) {
|
||||
warning("STUB: MctlCompound::replaceNodeX()");
|
||||
for (uint i = 0; i < _motionControllers.size(); i++) {
|
||||
if (_motionControllers[i]->_motionControllerObj->_objtype == kObjTypeMovGraph) {
|
||||
MovGraph *gr = (MovGraph *)_motionControllers[i]->_motionControllerObj;
|
||||
|
||||
for (ObList::iterator n = gr->_nodes.begin(); n != gr->_nodes.end(); ++n) {
|
||||
MovGraphNode *node = (MovGraphNode *)*n;
|
||||
|
||||
if (node->_x == from)
|
||||
node->_x = to;
|
||||
}
|
||||
|
||||
gr->calcNodeDistancesAndAngles();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
MctlConnectionPoint::MctlConnectionPoint() {
|
||||
@ -493,15 +557,7 @@ bool MctlCompoundArray::load(MfcArchive &file) {
|
||||
MovGraphItem::MovGraphItem() {
|
||||
ani = 0;
|
||||
field_4 = 0;
|
||||
field_8 = 0;
|
||||
field_C = 0;
|
||||
field_10 = 0;
|
||||
field_14 = 0;
|
||||
field_18 = 0;
|
||||
field_1C = 0;
|
||||
field_20 = 0;
|
||||
field_24 = 0;
|
||||
items = 0;
|
||||
movitems = 0;
|
||||
count = 0;
|
||||
field_30 = 0;
|
||||
field_34 = 0;
|
||||
@ -509,16 +565,36 @@ MovGraphItem::MovGraphItem() {
|
||||
field_3C = 0;
|
||||
}
|
||||
|
||||
void MovGraphItem::free() {
|
||||
for (uint i = 0; i < movitems->size(); i++) {
|
||||
(*movitems)[i]->movarr->_movSteps.clear();
|
||||
delete (*movitems)[i]->movarr;
|
||||
}
|
||||
|
||||
delete movitems;
|
||||
|
||||
movitems = 0;
|
||||
}
|
||||
|
||||
int MovGraph_messageHandler(ExCommand *cmd);
|
||||
|
||||
int MovGraphCallback(int a1, int a2, int a3) {
|
||||
warning("STUB: MovgraphCallback");
|
||||
MovArr *movGraphCallback(StaticANIObject *ani, Common::Array<MovItem *> *items, signed int counter) {
|
||||
int residx = 0;
|
||||
int itemidx = 0;
|
||||
|
||||
return 0;
|
||||
while (counter > 1) {
|
||||
if ((*items)[itemidx]->_mfield_4 > (*items)[itemidx + 1]->_mfield_4)
|
||||
residx = itemidx;
|
||||
|
||||
counter--;
|
||||
itemidx++;
|
||||
}
|
||||
|
||||
return (*items)[residx]->movarr;
|
||||
}
|
||||
|
||||
MovGraph::MovGraph() {
|
||||
_callback1 = MovGraphCallback;
|
||||
_callback1 = movGraphCallback;
|
||||
_field_44 = 0;
|
||||
insertMessageHandler(MovGraph_messageHandler, getMessageHandlersCount() - 1, 129);
|
||||
|
||||
@ -562,54 +638,482 @@ int MovGraph::removeObject(StaticANIObject *obj) {
|
||||
}
|
||||
|
||||
void MovGraph::freeItems() {
|
||||
warning("STUB: MovGraph::freeItems()");
|
||||
}
|
||||
for (uint i = 0; i < _items.size(); i++) {
|
||||
_items[i]->free();
|
||||
|
||||
int MovGraph::method28() {
|
||||
warning("STUB: MovGraph::method28()");
|
||||
_items[i]->movarr._movSteps.clear();
|
||||
}
|
||||
|
||||
_items.clear();
|
||||
}
|
||||
Common::Array<MovItem *> *MovGraph::method28(StaticANIObject *ani, int x, int y, int flag1, int *rescount) {
|
||||
*rescount = 0;
|
||||
|
||||
if (_items.size() <= 0)
|
||||
return 0;
|
||||
|
||||
int idx = 0;
|
||||
|
||||
while (_items[idx]->ani != ani) {
|
||||
idx++;
|
||||
|
||||
if (idx >= _items.size())
|
||||
return 0;
|
||||
}
|
||||
_items[idx]->free();
|
||||
|
||||
calcNodeDistancesAndAngles();
|
||||
|
||||
_items[idx]->movarr._movSteps.clear();
|
||||
|
||||
Common::Point point;
|
||||
|
||||
point.x = ani->_ox;
|
||||
point.y = ani->_oy;
|
||||
|
||||
if (!calcChunk(idx, ani->_ox, ani->_oy, &_items[idx]->movarr, 0))
|
||||
findClosestLink(idx, &point, &_items[idx]->movarr);
|
||||
|
||||
_items[idx]->count = 0;
|
||||
|
||||
delete _items[idx]->movitems;
|
||||
_items[idx]->movitems = 0;
|
||||
|
||||
int arrSize;
|
||||
Common::Array<MovArr *> *movarr = genMovArr(x, y, &arrSize, flag1, 0);
|
||||
|
||||
if (movarr) {
|
||||
for (int i = 0; i < arrSize; i++) {
|
||||
int sz;
|
||||
Common::Array<MovItem *> *movitems = calcMovItems(&_items[idx]->movarr, (*movarr)[i], &sz);
|
||||
|
||||
if (sz > 0) {
|
||||
for (uint j = 0; j < sz; j++)
|
||||
_items[idx]->movitems->push_back(movitems[j]);
|
||||
|
||||
delete movitems;
|
||||
}
|
||||
}
|
||||
|
||||
delete movarr;
|
||||
}
|
||||
|
||||
if (_items[idx]->count) {
|
||||
*rescount = _items[idx]->count;
|
||||
|
||||
return _items[idx]->movitems;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int MovGraph::method2C(StaticANIObject *obj, int x, int y) {
|
||||
bool MovGraph::method2C(StaticANIObject *obj, int x, int y) {
|
||||
obj->setOXY(x, y);
|
||||
return method3C(obj, 1);
|
||||
}
|
||||
|
||||
MessageQueue *MovGraph::method34(StaticANIObject *subj, int xpos, int ypos, int fuzzyMatch, int staticsId) {
|
||||
warning("STUB: MovGraph::method34()");
|
||||
MessageQueue *MovGraph::method34(StaticANIObject *ani, int xpos, int ypos, int fuzzyMatch, int staticsId) {
|
||||
if (!ani) {
|
||||
if (!_items.size())
|
||||
return 0;
|
||||
|
||||
return 0;
|
||||
ani = _items[0]->ani;
|
||||
}
|
||||
|
||||
if (ABS(ani->_ox - xpos) < 50 && ABS(ani->_oy - ypos) < 50)
|
||||
return 0;
|
||||
|
||||
if (!ani->isIdle())
|
||||
return 0;
|
||||
|
||||
if (ani->_flags & 0x100)
|
||||
return 0;
|
||||
|
||||
int count;
|
||||
Common::Array<MovItem *> *movitems = method28(ani, xpos, ypos, fuzzyMatch, &count);
|
||||
|
||||
if (!movitems)
|
||||
return 0;
|
||||
|
||||
if (ani->_movement) {
|
||||
Common::Point point;
|
||||
|
||||
ani->calcStepLen(&point);
|
||||
|
||||
MessageQueue *mq = sub1(ani, ani->_ox - point.x, ani->_oy - point.y, ani->_movement->_staticsObj1->_staticsId, xpos, ypos, 0, fuzzyMatch);
|
||||
|
||||
if (!mq || !mq->getExCommandByIndex(0))
|
||||
return 0;
|
||||
|
||||
ExCommand *ex = mq->getExCommandByIndex(0);
|
||||
|
||||
if ((ex->_messageKind != 1 && ex->_messageKind != 20) || ex->_messageNum != ani->_movement->_id ||
|
||||
(ex->_field_14 >= 1 && ex->_field_14 <= ani->_movement->_currDynamicPhaseIndex)) {
|
||||
mq = new MessageQueue(g_fp->_globalMessageQueueList->compact());
|
||||
|
||||
ex = new ExCommand(ani->_id, 21, 0, 0, 0, 0, 1, 0, 0, 0);
|
||||
ex->_keyCode = ani->_okeyCode;
|
||||
ex->_field_3C = 1;
|
||||
ex->_field_24 = 0;
|
||||
mq->addExCommandToEnd(ex);
|
||||
|
||||
ex = new ExCommand(ani->_id, 51, 0, xpos, ypos, 0, 1, 0, 0, 0);
|
||||
ex->_keyCode = ani->_okeyCode;
|
||||
ex->_field_3C = 1;
|
||||
ex->_field_24 = 0;
|
||||
ex->_field_20 = fuzzyMatch;
|
||||
mq->addExCommandToEnd(ex);
|
||||
|
||||
if (mq->chain(0))
|
||||
return mq;
|
||||
|
||||
delete mq;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int count2;
|
||||
|
||||
ani->setSomeDynamicPhaseIndex(ex->_field_14);
|
||||
method28(ani, xpos, ypos, fuzzyMatch, &count2);
|
||||
|
||||
int idx = getItemIndexByStaticAni(ani);
|
||||
count = _items[idx]->count;
|
||||
movitems = _items[idx]->movitems;
|
||||
}
|
||||
|
||||
return method50(ani, _callback1(ani, movitems, count), staticsId);
|
||||
}
|
||||
|
||||
int MovGraph::changeCallback() {
|
||||
warning("STUB: MovGraph::changeCallback()");
|
||||
|
||||
return 0;
|
||||
void MovGraph::changeCallback(MovArr *(*callback1)(StaticANIObject *ani, Common::Array<MovItem *> *items, signed int counter)) {
|
||||
_callback1 = callback1;
|
||||
}
|
||||
|
||||
int MovGraph::method3C(StaticANIObject *ani, int flag) {
|
||||
warning("STUB: MovGraph::method3C()");
|
||||
bool MovGraph::method3C(StaticANIObject *ani, int flag) {
|
||||
int idx = getItemIndexByStaticAni(ani);
|
||||
|
||||
return 0;
|
||||
if (idx == -1)
|
||||
return false;
|
||||
|
||||
Common::Point point;
|
||||
MovArr movarr;
|
||||
|
||||
point.x = ani->_ox;
|
||||
point.y = ani->_oy;
|
||||
|
||||
findClosestLink(idx, &point, &movarr);
|
||||
ani->setOXY(point.x, point.y);
|
||||
|
||||
if (flag) {
|
||||
Statics *st;
|
||||
|
||||
if (ani->_statics) {
|
||||
int t = _mgm.refreshOffsets(ani->_id, ani->_statics->_staticsId, movarr._link->_dwordArray2[_field_44]);
|
||||
if (t > _mgm.refreshOffsets(ani->_id, ani->_statics->_staticsId, movarr._link->_dwordArray2[_field_44 + 1]))
|
||||
st = ani->getStaticsById(movarr._link->_dwordArray2[_field_44 + 1]);
|
||||
else
|
||||
st = ani->getStaticsById(movarr._link->_dwordArray2[_field_44]);
|
||||
} else {
|
||||
ani->stopAnim_maybe();
|
||||
st = ani->getStaticsById(movarr._link->_dwordArray2[_field_44]);
|
||||
}
|
||||
|
||||
ani->_statics = st;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
int MovGraph::method44() {
|
||||
warning("STUB: MovGraph::method44()");
|
||||
bool MovGraph::method44(StaticANIObject *ani, int x, int y) {
|
||||
int idx = getItemIndexByStaticAni(ani);
|
||||
MovArr m;
|
||||
|
||||
return 0;
|
||||
if (idx != -1) {
|
||||
if (x != -1 || y != -1) {
|
||||
int counter;
|
||||
|
||||
Common::Array<MovItem *> *movitem = method28(ani, x, y, 0, &counter);
|
||||
|
||||
if (movitem) {
|
||||
MovArr *movarr = _callback1(ani, movitem, counter);
|
||||
int cnt = movarr->_movStepCount;
|
||||
|
||||
if (cnt > 0) {
|
||||
if (movarr->_movSteps[cnt - 1]->link->_flags & 0x4000000)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
} else if (calcChunk(idx, ani->_ox, ani->_oy, &m, 0) && m._link && (m._link->_flags & 0x4000000)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
MessageQueue *MovGraph::doWalkTo(StaticANIObject *subj, int xpos, int ypos, int fuzzyMatch, int staticsId) {
|
||||
warning("STUB: MovGraph::doWalkTo()");
|
||||
PicAniInfo picAniInfo;
|
||||
int ss;
|
||||
|
||||
Common::Array<MovItem *> *movitem = method28(subj, xpos, ypos, fuzzyMatch, &ss);
|
||||
|
||||
subj->getPicAniInfo(&picAniInfo);
|
||||
|
||||
if (movitem) {
|
||||
MovArr *goal = _callback1(subj, movitem, ss);
|
||||
int idx = getItemIndexByStaticAni(subj);
|
||||
|
||||
for (int i = 0; i < _items[idx]->count; i++) {
|
||||
if ((*_items[idx]->movitems)[i]->movarr == goal) {
|
||||
if (subj->_movement) {
|
||||
Common::Point point;
|
||||
|
||||
subj->calcStepLen(&point);
|
||||
|
||||
MessageQueue *mq = sub1(subj, subj->_ox - point.x, subj->_oy - point.y, subj->_movement->_staticsObj1->_staticsId, xpos, ypos, 0, fuzzyMatch);
|
||||
|
||||
if (!mq || !mq->getExCommandByIndex(0))
|
||||
return 0;
|
||||
|
||||
ExCommand *ex = mq->getExCommandByIndex(0);
|
||||
|
||||
if ((ex->_messageKind != 1 && ex->_messageKind != 20) ||
|
||||
ex->_messageNum != subj->_movement->_id ||
|
||||
(ex->_field_14 >= 1 && ex->_field_14 <= subj->_movement->_currDynamicPhaseIndex))
|
||||
subj->playIdle();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
movitem = method28(subj, xpos, ypos, fuzzyMatch, &ss);
|
||||
if (movitem) {
|
||||
MovArr *goal = _callback1(subj, movitem, ss);
|
||||
int idx = getItemIndexByStaticAni(subj);
|
||||
|
||||
if (_items[idx]->count > 0) {
|
||||
int arridx = 0;
|
||||
|
||||
while ((*_items[idx]->movitems)[arridx]->movarr != goal) {
|
||||
arridx++;
|
||||
|
||||
if (arridx >= _items[idx]->count) {
|
||||
subj->setPicAniInfo(&picAniInfo);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
_items[idx]->movarr._movSteps.clear();
|
||||
_items[idx]->movarr = *(*_items[idx]->movitems)[arridx]->movarr;
|
||||
_items[idx]->movarr._movSteps = (*_items[idx]->movitems)[arridx]->movarr->_movSteps;
|
||||
_items[idx]->movarr._afield_8 = -1;
|
||||
_items[idx]->movarr._link = 0;
|
||||
|
||||
MessageQueue *mq = fillMGMinfo(_items[idx]->ani, &_items[idx]->movarr, staticsId);
|
||||
if (mq) {
|
||||
ExCommand *ex = new ExCommand();
|
||||
ex->_messageKind = 17;
|
||||
ex->_messageNum = 54;
|
||||
ex->_parentId = subj->_id;
|
||||
ex->_field_3C = 1;
|
||||
mq->addExCommandToEnd(ex);
|
||||
}
|
||||
subj->setPicAniInfo(&picAniInfo);
|
||||
|
||||
return mq;
|
||||
}
|
||||
}
|
||||
|
||||
subj->setPicAniInfo(&picAniInfo);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int MovGraph::method50() {
|
||||
warning("STUB: MovGraph::method50()");
|
||||
MessageQueue *MovGraph::sub1(StaticANIObject *ani, int x, int y, int stid, int x1, int y1, int stid2, int flag1) {
|
||||
PicAniInfo picinfo;
|
||||
|
||||
return 0;
|
||||
ani->getPicAniInfo(&picinfo);
|
||||
|
||||
ani->_statics = ani->getStaticsById(stid);
|
||||
ani->_movement = 0;
|
||||
ani->setOXY(x, y);
|
||||
|
||||
int rescount;
|
||||
|
||||
Common::Array<MovItem *> *movitems = method28(ani, x1, y1, flag1, &rescount);
|
||||
|
||||
if (!movitems) {
|
||||
ani->setPicAniInfo(&picinfo);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
MessageQueue *res = 0;
|
||||
|
||||
MovArr *goal = _callback1(ani, movitems, rescount);
|
||||
int idx = getItemIndexByStaticAni(ani);
|
||||
|
||||
MovGraphItem *movgitem = _items[idx];
|
||||
int cnt = movgitem->count;
|
||||
|
||||
for (int nidx = 0; nidx < cnt; nidx++) {
|
||||
if ((*movgitem->movitems)[nidx]->movarr == goal) {
|
||||
movgitem->movarr._movSteps.clear();
|
||||
_items[idx]->movarr = *(*movgitem->movitems)[nidx]->movarr;
|
||||
_items[idx]->movarr._movSteps = (*movgitem->movitems)[nidx]->movarr->_movSteps;
|
||||
_items[idx]->movarr._afield_8 = -1;
|
||||
_items[idx]->movarr._link = 0;
|
||||
|
||||
res = fillMGMinfo(_items[idx]->ani, &_items[idx]->movarr, stid2);
|
||||
}
|
||||
}
|
||||
|
||||
ani->setPicAniInfo(&picinfo);
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
MessageQueue *MovGraph::fillMGMinfo(StaticANIObject *ani, MovArr *movarr, int staticsId) {
|
||||
if (!movarr->_movStepCount)
|
||||
return 0;
|
||||
|
||||
MessageQueue *mq = 0;
|
||||
int ox = ani->_ox;
|
||||
int oy = ani->_oy;
|
||||
int id1 = 0;
|
||||
int id2;
|
||||
|
||||
for (int i = 0; i < movarr->_movStepCount; i++) {
|
||||
while (i < movarr->_movStepCount - 1) {
|
||||
if (movarr->_movSteps[i ]->link->_dwordArray1[movarr->_movSteps[i - 1]->sfield_0 + _field_44] !=
|
||||
movarr->_movSteps[i + 1]->link->_dwordArray1[movarr->_movSteps[i ]->sfield_0 + _field_44])
|
||||
break;
|
||||
i++;
|
||||
}
|
||||
|
||||
MovStep *st = movarr->_movSteps[i];
|
||||
|
||||
ani->getMovementById(st->link->_dwordArray1[_field_44 + st->sfield_0]);
|
||||
|
||||
if (i == movarr->_movStepCount - 1 && staticsId) {
|
||||
id2 = staticsId;
|
||||
} else {
|
||||
if (i < movarr->_movStepCount - 1)
|
||||
id2 = ani->getMovementById(movarr->_movSteps[i + 1]->link->_dwordArray1[_field_44 + st->sfield_0])->_staticsObj1->_staticsId;
|
||||
else
|
||||
id2 = st->link->_dwordArray2[_field_44 + st->sfield_0];
|
||||
}
|
||||
|
||||
int nx, ny, nd;
|
||||
|
||||
if (i == movarr->_movStepCount - 1) {
|
||||
nx = movarr->_point.x;
|
||||
ny = movarr->_point.y;
|
||||
nd = st->link->_movGraphNode1->_distance;
|
||||
} else {
|
||||
if (st->sfield_0) {
|
||||
nx = st->link->_movGraphNode1->_x;
|
||||
ny = st->link->_movGraphNode1->_y;
|
||||
nd = st->link->_movGraphNode1->_distance;
|
||||
} else {
|
||||
nx = st->link->_movGraphNode2->_x;
|
||||
ny = st->link->_movGraphNode2->_y;
|
||||
nd = st->link->_movGraphNode2->_distance;
|
||||
}
|
||||
}
|
||||
|
||||
MGMInfo mgminfo;
|
||||
|
||||
memset(&mgminfo, 0, sizeof(mgminfo));
|
||||
mgminfo.ani = ani;
|
||||
mgminfo.staticsId2 = id2;
|
||||
mgminfo.staticsId1 = id1;
|
||||
mgminfo.x1 = nx;
|
||||
mgminfo.x2 = ox;
|
||||
mgminfo.y2 = oy;
|
||||
mgminfo.y1 = ny;
|
||||
mgminfo.field_1C = nd;
|
||||
mgminfo.movementId = st->link->_dwordArray1[_field_44 + st->sfield_0];
|
||||
|
||||
mgminfo.flags = 0xe;
|
||||
if (mq)
|
||||
mgminfo.flags |= 0x31;
|
||||
|
||||
MessageQueue *newmq = _mgm.genMovement(&mgminfo);
|
||||
|
||||
if (mq) {
|
||||
if (newmq) {
|
||||
mq->transferExCommands(newmq);
|
||||
|
||||
delete newmq;
|
||||
}
|
||||
} else {
|
||||
mq = newmq;
|
||||
}
|
||||
|
||||
ox = nx;
|
||||
oy = ny;
|
||||
id1 = id2;
|
||||
}
|
||||
|
||||
return mq;
|
||||
}
|
||||
|
||||
MessageQueue *MovGraph::method50(StaticANIObject *ani, MovArr *movarr, int staticsId) {
|
||||
if (_items.size() == 0)
|
||||
return 0;
|
||||
|
||||
uint idx;
|
||||
int movidx;
|
||||
bool done = false;
|
||||
|
||||
for (idx = 0; idx <= _items.size() && !done; idx++) {
|
||||
if (idx == _items.size())
|
||||
return 0;
|
||||
|
||||
if (_items[idx]->ani == ani) {
|
||||
if (!_items[idx]->movitems)
|
||||
return 0;
|
||||
|
||||
if (_items[idx]->count < 1)
|
||||
return 0;
|
||||
|
||||
for (movidx = 0; movidx < _items[idx]->count; movidx++) {
|
||||
if ((*_items[idx]->movitems)[movidx]->movarr == movarr) {
|
||||
done = true;
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_items[idx]->movarr._movSteps.clear();
|
||||
_items[idx]->movarr = *(*_items[idx]->movitems)[movidx]->movarr;
|
||||
_items[idx]->movarr._movSteps = (*_items[idx]->movitems)[movidx]->movarr->_movSteps;
|
||||
_items[idx]->movarr._afield_8 = -1;
|
||||
_items[idx]->movarr._link = 0;
|
||||
|
||||
MessageQueue *mq = fillMGMinfo(_items[idx]->ani, &_items[idx]->movarr, 0);
|
||||
|
||||
if (!mq)
|
||||
return 0;
|
||||
|
||||
ExCommand *ex = new ExCommand();
|
||||
|
||||
ex->_messageKind = 17;
|
||||
ex->_messageNum = 54;
|
||||
ex->_parentId = ani->_id;
|
||||
ex->_field_3C = 1;
|
||||
mq->addExCommandToEnd(ex);
|
||||
|
||||
if (!mq->chain(ani)) {
|
||||
delete mq;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
return mq;
|
||||
}
|
||||
|
||||
double MovGraph::calcDistance(Common::Point *point, MovGraphLink *link, int fuzzyMatch) {
|
||||
@ -660,6 +1164,61 @@ void MovGraph::calcNodeDistancesAndAngles() {
|
||||
}
|
||||
}
|
||||
|
||||
bool MovGraph::findClosestLink(int unusedArg, Common::Point *p, MovArr *movarr) {
|
||||
MovGraphLink *link = 0;
|
||||
double mindist = 1.0e20;
|
||||
int resx = 0, resy = 0;
|
||||
|
||||
for (ObList::iterator i = _links.begin(); i != _links.end(); ++i) {
|
||||
MovGraphLink *lnk = (MovGraphLink *)*i;
|
||||
|
||||
if ((lnk->_flags & 0x10000000) && !(lnk->_flags & 0x20000000) ) {
|
||||
double dx1 = lnk->_movGraphNode1->_x - p->x;
|
||||
double dy1 = lnk->_movGraphNode1->_y - p->y;
|
||||
double dx2 = lnk->_movGraphNode2->_x - p->x;
|
||||
double dy2 = lnk->_movGraphNode2->_y - p->y;
|
||||
double dx3 = lnk->_movGraphNode2->_x - lnk->_movGraphNode1->_x;
|
||||
double dy3 = lnk->_movGraphNode2->_y - lnk->_movGraphNode1->_y;
|
||||
double sq1 = sqrt(dy1 * dy1 + dx1 * dx1);
|
||||
double sdist = (dy3 * dy1 + dx3 * dx1) / lnk->_distance / sq1;
|
||||
double ldist = sdist * sq1;
|
||||
double dist = sqrt(1.0 - sdist * sdist) * sq1;
|
||||
|
||||
if (ldist < 0.0) {
|
||||
ldist = 0.0;
|
||||
dist = sqrt(dx1 * dx1 + dy1 * dy1);
|
||||
}
|
||||
|
||||
if (ldist > lnk->_distance) {
|
||||
ldist = lnk->_distance;
|
||||
dist = sqrt(dx2 * dx2 + dy2 * dy2);
|
||||
}
|
||||
|
||||
if (ldist >= 0.0 && ldist <= lnk->_distance && dist < mindist) {
|
||||
resx = lnk->_movGraphNode1->_x + (int)(dx3 * ldist / lnk->_distance);
|
||||
resy = lnk->_movGraphNode1->_y + (int)(dy3 * ldist / lnk->_distance);
|
||||
|
||||
mindist = dist;
|
||||
link = lnk;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (mindist < 1.0e20) {
|
||||
if (movarr)
|
||||
movarr->_link = link;
|
||||
|
||||
if (p) {
|
||||
p->x = resx;
|
||||
p->y = resy;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
int MovGraph::getItemIndexByStaticAni(StaticANIObject *ani) {
|
||||
for (uint i = 0; i < _items.size(); i++)
|
||||
if (_items[i]->ani == ani)
|
||||
@ -668,6 +1227,209 @@ int MovGraph::getItemIndexByStaticAni(StaticANIObject *ani) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
Common::Array<MovArr *> *MovGraph::genMovArr(int x, int y, int *arrSize, int flag1, int flag2) {
|
||||
if (!_links.size()) {
|
||||
*arrSize = 0;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Common::Array<MovArr *> *arr = new Common::Array<MovArr *>;
|
||||
MovArr *movarr;
|
||||
|
||||
for (ObList::iterator i = _links.begin(); i != _links.end(); ++i) {
|
||||
MovGraphLink *lnk = (MovGraphLink *)*i;
|
||||
|
||||
if (flag1) {
|
||||
Common::Point point(x, y);
|
||||
double dist = calcDistance(&point, lnk, 0);
|
||||
|
||||
if (dist >= 0.0 && dist < 2.0) {
|
||||
movarr = new MovArr;
|
||||
|
||||
movarr->_link = lnk;
|
||||
movarr->_dist = ((double)(lnk->_movGraphNode1->_y - lnk->_movGraphNode2->_y) * (double)(lnk->_movGraphNode1->_y - point.y) +
|
||||
(double)(lnk->_movGraphNode2->_x - lnk->_movGraphNode1->_x) * (double)(point.x - lnk->_movGraphNode1->_x)) /
|
||||
lnk->_distance / lnk->_distance;
|
||||
movarr->_point = point;
|
||||
|
||||
arr->push_back(movarr);
|
||||
}
|
||||
} else {
|
||||
if (lnk->_movGraphReact) {
|
||||
if (lnk->_movGraphReact->pointInRegion(x, y)) {
|
||||
if (!(lnk->_flags & 0x10000000) || lnk->_flags & 0x20000000) {
|
||||
if (!flag2) {
|
||||
movarr = new MovArr;
|
||||
movarr->_link = lnk;
|
||||
movarr->_dist = 0.0;
|
||||
movarr->_point.x = lnk->_movGraphNode1->_x;
|
||||
movarr->_point.y = lnk->_movGraphNode1->_y;
|
||||
arr->push_back(movarr);
|
||||
|
||||
movarr = new MovArr;
|
||||
movarr->_link = lnk;
|
||||
movarr->_dist = 1.0;
|
||||
movarr->_point.x = lnk->_movGraphNode1->_x;
|
||||
movarr->_point.y = lnk->_movGraphNode1->_y;
|
||||
arr->push_back(movarr);
|
||||
}
|
||||
} else {
|
||||
movarr = new MovArr;
|
||||
movarr->_link = lnk;
|
||||
movarr->_dist = ((double)(lnk->_movGraphNode1->_y - lnk->_movGraphNode2->_y) * (double)(lnk->_movGraphNode1->_y - y) +
|
||||
(double)(lnk->_movGraphNode2->_x - lnk->_movGraphNode1->_x) * (double)(x - lnk->_movGraphNode1->_x)) /
|
||||
lnk->_distance / lnk->_distance;
|
||||
movarr->_point.x = x;
|
||||
movarr->_point.y = y;
|
||||
|
||||
calcDistance(&movarr->_point, lnk, 0);
|
||||
|
||||
arr->push_back(movarr);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
*arrSize = arr->size();
|
||||
|
||||
return arr;
|
||||
}
|
||||
|
||||
void MovGraph::shuffleTree(MovGraphLink *lnk, MovGraphLink *lnk2, Common::Array<MovGraphLink *> &tempObList1, Common::Array<MovGraphLink *> &tempObList2) {
|
||||
if (lnk == lnk2) {
|
||||
for (uint i = 0; i < tempObList1.size(); i++)
|
||||
tempObList2.push_back(tempObList1[i]);
|
||||
|
||||
tempObList2.push_back(lnk);
|
||||
} else {
|
||||
lnk->_flags |= 0x80000000;
|
||||
|
||||
tempObList1.push_back(lnk);
|
||||
|
||||
for (ObList::iterator i = _links.begin(); i != _links.end(); ++i) {
|
||||
MovGraphLink *l = (MovGraphLink *)*i;
|
||||
|
||||
if (l->_movGraphNode1 != lnk->_movGraphNode1) {
|
||||
if (l->_movGraphNode2 != lnk->_movGraphNode1) {
|
||||
if (l->_movGraphNode1 != lnk->_movGraphNode2 && l->_movGraphNode2 != lnk->_movGraphNode2)
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if (!(l->_flags & 0xA0000000))
|
||||
shuffleTree(l, lnk2, tempObList1, tempObList2);
|
||||
}
|
||||
|
||||
lnk->_flags &= 0x7FFFFFFF;
|
||||
}
|
||||
}
|
||||
|
||||
Common::Array<MovItem *> *MovGraph::calcMovItems(MovArr *movarr1, MovArr *movarr2, int *listCount) {
|
||||
Common::Array<MovGraphLink *> tempObList1;
|
||||
Common::Array<MovGraphLink *> tempObList2;
|
||||
|
||||
shuffleTree(movarr1->_link, movarr2->_link, tempObList1, tempObList2);
|
||||
|
||||
*listCount = 0;
|
||||
|
||||
if (!tempObList2.size())
|
||||
return 0;
|
||||
|
||||
*listCount = tempObList2.size();
|
||||
|
||||
Common::Array<MovItem *> *res = new Common::Array<MovItem *>;
|
||||
|
||||
for (int i = 0; i < *listCount; i++) {
|
||||
MovItem *r = new MovItem;
|
||||
|
||||
genMovItem(r, tempObList2[i], movarr1, movarr2);
|
||||
|
||||
delete tempObList2[i];
|
||||
}
|
||||
|
||||
movarr2->_link = movarr1->_link;
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
void MovGraph::genMovItem(MovItem *movitem, MovGraphLink *grlink, MovArr *movarr1, MovArr *movarr2) {
|
||||
warning("STUB: MovGraph::genMovItem()");
|
||||
}
|
||||
|
||||
bool MovGraph::calcChunk(int idx, int x, int y, MovArr *arr, int a6) {
|
||||
int staticsId;
|
||||
|
||||
if (_items[idx]->ani->_statics) {
|
||||
staticsId = _items[idx]->ani->_statics->_staticsId;
|
||||
} else {
|
||||
if (!_items[idx]->ani->_movement->_staticsObj2)
|
||||
return 0;
|
||||
|
||||
staticsId = _items[idx]->ani->_movement->_staticsObj2->_staticsId;
|
||||
}
|
||||
|
||||
int arrSize;
|
||||
|
||||
Common::Array<MovArr *> *movarr = genMovArr(x, y, &arrSize, 0, 1);
|
||||
|
||||
if (!movarr)
|
||||
return findClosestLink(idx, 0, arr);
|
||||
|
||||
bool res = false;
|
||||
|
||||
int idxmin = -1;
|
||||
int offmin = 100;
|
||||
|
||||
for (int i = 0; i < arrSize; i++) {
|
||||
int off = _mgm.refreshOffsets(_items[idx]->ani->_id, staticsId, (*movarr)[i]->_link->_dwordArray2[_field_44]);
|
||||
|
||||
if (off < offmin) {
|
||||
offmin = off;
|
||||
idxmin = i;
|
||||
}
|
||||
|
||||
off = _mgm.refreshOffsets(_items[idx]->ani->_id, staticsId, (*movarr)[i]->_link->_dwordArray2[_field_44 + 1]);
|
||||
if (off < offmin) {
|
||||
offmin = off;
|
||||
idxmin = i;
|
||||
}
|
||||
}
|
||||
|
||||
if (idxmin != -1) {
|
||||
*arr = *(*movarr)[idxmin];
|
||||
|
||||
res = true;
|
||||
}
|
||||
|
||||
delete movarr;
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
void MovGraph::setEnds(MovStep *step1, MovStep *step2) {
|
||||
if (step1->link->_movGraphNode1 == step2->link->_movGraphNode2) {
|
||||
step1->sfield_0 = 1;
|
||||
step2->sfield_0 = 1;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (step1->link->_movGraphNode1 == step2->link->_movGraphNode1) {
|
||||
step1->sfield_0 = 1;
|
||||
step2->sfield_0 = 0;
|
||||
} else {
|
||||
step1->sfield_0 = 0;
|
||||
|
||||
if (step1->link->_movGraphNode2 != step2->link->_movGraphNode1) {
|
||||
step2->sfield_0 = 1;
|
||||
} else {
|
||||
step2->sfield_0 = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int MovGraph2::getItemIndexByGameObjectId(int objectId) {
|
||||
for (uint i = 0; i < _items2.size(); i++)
|
||||
if (_items2[i]->_objectId == objectId)
|
||||
@ -1089,7 +1851,10 @@ int MovGraph2::removeObject(StaticANIObject *obj) {
|
||||
}
|
||||
|
||||
void MovGraph2::freeItems() {
|
||||
warning("STUB: MovGraph2::freeItems()");
|
||||
for (uint i = 0; i < _items2.size(); i++)
|
||||
delete _items2[i];
|
||||
|
||||
_items2.clear();
|
||||
}
|
||||
|
||||
MessageQueue *MovGraph2::method34(StaticANIObject *ani, int xpos, int ypos, int fuzzyMatch, int staticsId) {
|
||||
@ -1140,6 +1905,8 @@ MessageQueue *MovGraph2::doWalkTo(StaticANIObject *obj, int xpos, int ypos, int
|
||||
PicAniInfo picAniInfo;
|
||||
Common::Point point;
|
||||
|
||||
debug(0, "MovGraph2::doWalkTo(%d, %d, %d, %d, %d)", obj->_id, xpos, ypos, fuzzyMatch, staticsId);
|
||||
|
||||
int idx = getItemIndexByGameObjectId(obj->_id);
|
||||
|
||||
if (idx < 0)
|
||||
@ -2528,7 +3295,10 @@ MovGraphLink::MovGraphLink() {
|
||||
}
|
||||
|
||||
MovGraphLink::~MovGraphLink() {
|
||||
warning("STUB: MovGraphLink::~MovGraphLink()");
|
||||
delete _movGraphReact;
|
||||
|
||||
_dwordArray1.clear();
|
||||
_dwordArray2.clear();
|
||||
}
|
||||
|
||||
|
||||
@ -2764,26 +3534,26 @@ bool MovGraphReact::pointInRegion(int x, int y) {
|
||||
}
|
||||
}
|
||||
|
||||
int startWalkTo(int objId, int objKey, int x, int y, int a5) {
|
||||
MctlCompound *mc = getSc2MctlCompoundBySceneId(g_fp->_currentScene->_sceneId);
|
||||
int startWalkTo(int objId, int objKey, int x, int y, int fuzzyMatch) {
|
||||
MctlCompound *mc = getCurrSceneSc2MotionController();
|
||||
|
||||
if (mc)
|
||||
return (mc->method34(g_fp->_currentScene->getStaticANIObject1ById(objId, objKey), x, y, a5, 0) != 0);
|
||||
return (mc->method34(g_fp->_currentScene->getStaticANIObject1ById(objId, objKey), x, y, fuzzyMatch, 0) != 0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int doSomeAnimation(int objId, int objKey, int a3) {
|
||||
bool doSomeAnimation(int objId, int objKey, int a3) {
|
||||
StaticANIObject *ani = g_fp->_currentScene->getStaticANIObject1ById(objId, objKey);
|
||||
MctlCompound *cmp = getCurrSceneSc2MotionController();
|
||||
|
||||
if (ani && cmp)
|
||||
return cmp->method3C(ani, a3);
|
||||
|
||||
return 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
int doSomeAnimation2(int objId, int objKey) {
|
||||
bool doSomeAnimation2(int objId, int objKey) {
|
||||
return doSomeAnimation(objId, objKey, 0);
|
||||
}
|
||||
|
||||
|
@ -31,10 +31,12 @@ class MctlConnectionPoint;
|
||||
class MovGraphLink;
|
||||
class MessageQueue;
|
||||
class ExCommand2;
|
||||
struct MovArr;
|
||||
struct MovItem;
|
||||
|
||||
int startWalkTo(int objId, int objKey, int x, int y, int a5);
|
||||
int doSomeAnimation(int objId, int objKey, int a3);
|
||||
int doSomeAnimation2(int objId, int objKey);
|
||||
bool doSomeAnimation(int objId, int objKey, int a3);
|
||||
bool doSomeAnimation2(int objId, int objKey);
|
||||
|
||||
class MotionController : public CObject {
|
||||
public:
|
||||
@ -52,14 +54,14 @@ public:
|
||||
virtual void addObject(StaticANIObject *obj) {}
|
||||
virtual int removeObject(StaticANIObject *obj) { return 0; }
|
||||
virtual void freeItems() {}
|
||||
virtual int method28() { return 0; }
|
||||
virtual int method2C(StaticANIObject *obj, int x, int y) { return 0; }
|
||||
virtual Common::Array<MovItem *> *method28(StaticANIObject *ani, int x, int y, int flag1, int *rescount) { return 0; }
|
||||
virtual bool method2C(StaticANIObject *obj, int x, int y) { return false; }
|
||||
virtual int method30() { return 0; }
|
||||
virtual MessageQueue *method34(StaticANIObject *subj, int xpos, int ypos, int fuzzyMatch, int staticsId) { return 0; }
|
||||
virtual int changeCallback() { return 0; }
|
||||
virtual int method3C(StaticANIObject *ani, int flag) { return 0; }
|
||||
virtual void changeCallback(MovArr *(*_callback1)(StaticANIObject *ani, Common::Array<MovItem *> *items, signed int counter)) {}
|
||||
virtual bool method3C(StaticANIObject *ani, int flag) { return 0; }
|
||||
virtual int method40() { return 0; }
|
||||
virtual int method44() { return 0; }
|
||||
virtual bool method44(StaticANIObject *ani, int x, int y) { return false; }
|
||||
virtual int method48() { return -1; }
|
||||
virtual MessageQueue *doWalkTo(StaticANIObject *subj, int xpos, int ypos, int fuzzyMatch, int staticsId) { return 0; }
|
||||
|
||||
@ -115,7 +117,7 @@ public:
|
||||
virtual MessageQueue *doWalkTo(StaticANIObject *subj, int xpos, int ypos, int fuzzyMatch, int staticsId);
|
||||
|
||||
void initMovGraph2();
|
||||
MctlConnectionPoint *findClosestConnectionPoint(int ox, int oy, int destIndex, int connectionX, int connectionY, int sourceIndex, int *minDistancePtr);
|
||||
MctlConnectionPoint *findClosestConnectionPoint(int ox, int oy, int destIndex, int connectionX, int connectionY, int sourceIndex, double *minDistancePtr);
|
||||
void replaceNodeX(int from, int to);
|
||||
|
||||
uint getMotionControllerCount() { return _motionControllers.size(); }
|
||||
@ -299,18 +301,32 @@ class MovGraphLink : public CObject {
|
||||
void calcNodeDistanceAndAngle();
|
||||
};
|
||||
|
||||
struct MovStep {
|
||||
int sfield_0;
|
||||
MovGraphLink *link;
|
||||
};
|
||||
|
||||
struct MovArr {
|
||||
Common::Array<MovStep *> _movSteps;
|
||||
int _movStepCount;
|
||||
int _afield_8;
|
||||
MovGraphLink *_link;
|
||||
double _dist;
|
||||
Common::Point _point;
|
||||
};
|
||||
|
||||
struct MovItem {
|
||||
MovArr *movarr;
|
||||
int _mfield_4;
|
||||
int _mfield_8;
|
||||
int _mfield_C;
|
||||
};
|
||||
|
||||
struct MovGraphItem {
|
||||
StaticANIObject *ani;
|
||||
int field_4;
|
||||
int field_8;
|
||||
int field_C;
|
||||
int field_10;
|
||||
int field_14;
|
||||
int field_18;
|
||||
int field_1C;
|
||||
int field_20;
|
||||
int field_24;
|
||||
int items;
|
||||
MovArr movarr;
|
||||
Common::Array<MovItem *> *movitems;
|
||||
int count;
|
||||
int field_30;
|
||||
int field_34;
|
||||
@ -318,6 +334,7 @@ struct MovGraphItem {
|
||||
int field_3C;
|
||||
|
||||
MovGraphItem();
|
||||
void free();
|
||||
};
|
||||
|
||||
class MovGraph : public MotionController {
|
||||
@ -326,7 +343,7 @@ public:
|
||||
ObList _links;
|
||||
int _field_44;
|
||||
Common::Array<MovGraphItem *> _items;
|
||||
int (*_callback1)(int, int, int);
|
||||
MovArr *(*_callback1)(StaticANIObject *ani, Common::Array<MovItem *> *items, signed int counter);
|
||||
MGM _mgm;
|
||||
|
||||
public:
|
||||
@ -338,19 +355,28 @@ public:
|
||||
virtual void addObject(StaticANIObject *obj);
|
||||
virtual int removeObject(StaticANIObject *obj);
|
||||
virtual void freeItems();
|
||||
virtual int method28();
|
||||
virtual int method2C(StaticANIObject *obj, int x, int y);
|
||||
virtual Common::Array<MovItem *> *method28(StaticANIObject *ani, int x, int y, int flag1, int *rescount);
|
||||
virtual bool method2C(StaticANIObject *obj, int x, int y);
|
||||
virtual MessageQueue *method34(StaticANIObject *subj, int xpos, int ypos, int fuzzyMatch, int staticsId);
|
||||
virtual int changeCallback();
|
||||
virtual int method3C(StaticANIObject *ani, int flag);
|
||||
virtual int method44();
|
||||
virtual void changeCallback(MovArr *(*_callback1)(StaticANIObject *ani, Common::Array<MovItem *> *items, signed int counter));
|
||||
virtual bool method3C(StaticANIObject *ani, int flag);
|
||||
virtual bool method44(StaticANIObject *ani, int x, int y);
|
||||
virtual MessageQueue *doWalkTo(StaticANIObject *subj, int xpos, int ypos, int fuzzyMatch, int staticsId);
|
||||
virtual int method50();
|
||||
virtual MessageQueue *method50(StaticANIObject *ani, MovArr *movarr, int staticsId);
|
||||
|
||||
double calcDistance(Common::Point *point, MovGraphLink *link, int fuzzyMatch);
|
||||
void calcNodeDistancesAndAngles();
|
||||
bool findClosestLink(int unusedArg, Common::Point *p, MovArr *movarr);
|
||||
MovGraphNode *calcOffset(int ox, int oy);
|
||||
int getItemIndexByStaticAni(StaticANIObject *ani);
|
||||
Common::Array<MovArr *> *genMovArr(int x, int y, int *arrSize, int flag1, int flag2);
|
||||
void shuffleTree(MovGraphLink *lnk, MovGraphLink *lnk2, Common::Array<MovGraphLink *> &tempObList1, Common::Array<MovGraphLink *> &tempObList2);
|
||||
Common::Array<MovItem *> *calcMovItems(MovArr *movarr1, MovArr *movarr2, int *listCount);
|
||||
void genMovItem(MovItem *movitem, MovGraphLink *grlink, MovArr *movarr1, MovArr *movarr2);
|
||||
bool calcChunk(int idx, int x, int y, MovArr *arr, int a6);
|
||||
MessageQueue *sub1(StaticANIObject *ani, int x, int y, int a5, int x1, int y1, int a8, int a9);
|
||||
MessageQueue *fillMGMinfo(StaticANIObject *ani, MovArr *movarr, int staticsId);
|
||||
void setEnds(MovStep *step1, MovStep *step2);
|
||||
};
|
||||
|
||||
class Movement;
|
||||
|
@ -133,7 +133,27 @@ Scene::Scene() {
|
||||
}
|
||||
|
||||
Scene::~Scene() {
|
||||
warning("STUB: Scene::~Scene()");
|
||||
delete _soundList;
|
||||
delete _shadows;
|
||||
delete _palette;
|
||||
|
||||
// _faObjlist is not used
|
||||
|
||||
for (uint i = 0; i < _messageQueueList.size(); i++)
|
||||
delete _messageQueueList[i];
|
||||
|
||||
_messageQueueList.clear();
|
||||
|
||||
for (uint i = 0; i < _staticANIObjectList1.size(); i++)
|
||||
delete _staticANIObjectList1[i];
|
||||
|
||||
_staticANIObjectList1.clear();
|
||||
|
||||
delete _libHandle;
|
||||
|
||||
// delete _field_BC;
|
||||
|
||||
free(_sceneName);
|
||||
}
|
||||
|
||||
bool Scene::load(MfcArchive &file) {
|
||||
@ -249,7 +269,7 @@ bool Scene::load(MfcArchive &file) {
|
||||
|
||||
void Scene::initStaticANIObjects() {
|
||||
for (uint i = 0; i < _staticANIObjectList1.size(); i++)
|
||||
((StaticANIObject *)_staticANIObjectList1[i])->initMovements();
|
||||
_staticANIObjectList1[i]->initMovements();
|
||||
}
|
||||
|
||||
void Scene::init() {
|
||||
@ -262,13 +282,13 @@ void Scene::init() {
|
||||
((PictureObject *)_picObjList[i])->clearFlags();
|
||||
|
||||
for (uint i = 0; i < _staticANIObjectList1.size(); i++)
|
||||
((StaticANIObject *)_staticANIObjectList1[i])->clearFlags();
|
||||
_staticANIObjectList1[i]->clearFlags();
|
||||
|
||||
if (_staticANIObjectList2.size() != _staticANIObjectList1.size()) {
|
||||
_staticANIObjectList2.clear();
|
||||
|
||||
for (PtrList::iterator s = _staticANIObjectList1.begin(); s != _staticANIObjectList1.end(); ++s)
|
||||
_staticANIObjectList2.push_back(*s);
|
||||
for (uint i = 0; i < _staticANIObjectList1.size(); i++)
|
||||
_staticANIObjectList2.push_back(_staticANIObjectList1[i]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -281,35 +301,33 @@ StaticANIObject *Scene::getAniMan() {
|
||||
}
|
||||
|
||||
StaticANIObject *Scene::getStaticANIObject1ById(int obj, int a3) {
|
||||
for (PtrList::iterator s = _staticANIObjectList1.begin(); s != _staticANIObjectList1.end(); ++s) {
|
||||
StaticANIObject *o = (StaticANIObject *)*s;
|
||||
if (o->_id == obj && (a3 == -1 || o->_okeyCode == a3))
|
||||
return o;
|
||||
for (uint i = 0; i < _staticANIObjectList1.size(); i++) {
|
||||
if (_staticANIObjectList1[i]->_id == obj && (a3 == -1 || _staticANIObjectList1[i]->_okeyCode == a3))
|
||||
return _staticANIObjectList1[i];
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
StaticANIObject *Scene::getStaticANIObject1ByName(char *name, int a3) {
|
||||
for (uint n = 0; n < _staticANIObjectList1.size(); n++) {
|
||||
StaticANIObject *o = (StaticANIObject *)_staticANIObjectList1[n];
|
||||
if (!strcmp(o->_objectName, name) && (a3 == -1 || o->_okeyCode == a3))
|
||||
return o;
|
||||
for (uint i = 0; i < _staticANIObjectList1.size(); i++) {
|
||||
if (!strcmp(_staticANIObjectList1[i]->_objectName, name) && (a3 == -1 || _staticANIObjectList1[i]->_okeyCode == a3))
|
||||
return _staticANIObjectList1[i];
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void Scene::deleteStaticANIObject(StaticANIObject *obj) {
|
||||
for (uint n = 0; n < _staticANIObjectList1.size(); n++)
|
||||
if ((StaticANIObject *)_staticANIObjectList1[n] == obj) {
|
||||
_staticANIObjectList1.remove_at(n);
|
||||
for (uint i = 0; i < _staticANIObjectList1.size(); i++)
|
||||
if (_staticANIObjectList1[i] == obj) {
|
||||
_staticANIObjectList1.remove_at(i);
|
||||
break;
|
||||
}
|
||||
|
||||
for (uint n = 0; n < _staticANIObjectList2.size(); n++)
|
||||
if ((StaticANIObject *)_staticANIObjectList2[n] == obj) {
|
||||
_staticANIObjectList2.remove_at(n);
|
||||
for (uint i = 0; i < _staticANIObjectList2.size(); i++)
|
||||
if (_staticANIObjectList2[i] == obj) {
|
||||
_staticANIObjectList2.remove_at(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -335,11 +353,12 @@ void Scene::setPictureObjectsFlag4() {
|
||||
}
|
||||
|
||||
void Scene::stopAllSounds() {
|
||||
warning("STUB: Scene:stopAllSounds()");
|
||||
for (int i = 0; i < _soundList->getCount(); i++)
|
||||
_soundList->getSoundByIndex(i)->stop();
|
||||
}
|
||||
|
||||
PictureObject *Scene::getPictureObjectById(int objId, int flags) {
|
||||
for (uint i = 0; i < _picObjList.size(); i++) {
|
||||
for (uint i = 1; i < _picObjList.size(); i++) {
|
||||
if (((PictureObject *)_picObjList[i])->_id == objId && ((PictureObject *)_picObjList[i])->_okeyCode == flags)
|
||||
return (PictureObject *)_picObjList[i];
|
||||
}
|
||||
@ -369,16 +388,16 @@ void Scene::deletePictureObject(PictureObject *obj) {
|
||||
|
||||
MessageQueue *Scene::getMessageQueueById(int messageId) {
|
||||
for (uint i = 0; i < _messageQueueList.size(); i++)
|
||||
if (((MessageQueue *)_messageQueueList[i])->_dataId == messageId)
|
||||
return (MessageQueue *)_messageQueueList[i];
|
||||
if (_messageQueueList[i]->_dataId == messageId)
|
||||
return _messageQueueList[i];
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
MessageQueue *Scene::getMessageQueueByName(char *name) {
|
||||
for (uint i = 0; i < _messageQueueList.size(); i++)
|
||||
if (!strcmp(((MessageQueue *)_messageQueueList[i])->_queueName, name))
|
||||
return (MessageQueue *)_messageQueueList[i];
|
||||
if (!strcmp(_messageQueueList[i]->_queueName, name))
|
||||
return _messageQueueList[i];
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -447,15 +466,27 @@ void Scene::initObjectCursors(const char *varname) {
|
||||
}
|
||||
|
||||
bool Scene::compareObjPriority(const void *p1, const void *p2) {
|
||||
if (((const StaticANIObject *)p1)->_priority > ((const StaticANIObject *)p2)->_priority)
|
||||
if (((const GameObject *)p1)->_priority > ((const GameObject *)p2)->_priority)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void Scene::objectList_sortByPriority(PtrList &list, bool skipFirst) {
|
||||
void Scene::objectList_sortByPriority(Common::Array<StaticANIObject *> &list, bool skipFirst) {
|
||||
if (skipFirst) {
|
||||
PtrList::iterator s = list.begin();
|
||||
Common::Array<StaticANIObject *>::iterator s = list.begin();
|
||||
|
||||
++s;
|
||||
|
||||
Common::sort(s, list.end(), Scene::compareObjPriority);
|
||||
} else {
|
||||
Common::sort(list.begin(), list.end(), Scene::compareObjPriority);
|
||||
}
|
||||
}
|
||||
|
||||
void Scene::objectList_sortByPriority(Common::Array<PictureObject *> &list, bool skipFirst) {
|
||||
if (skipFirst) {
|
||||
Common::Array<PictureObject *>::iterator s = list.begin();
|
||||
|
||||
++s;
|
||||
|
||||
@ -476,16 +507,15 @@ void Scene::draw() {
|
||||
|
||||
objectList_sortByPriority(_staticANIObjectList2);
|
||||
|
||||
for (PtrList::iterator s = _staticANIObjectList2.begin(); s != _staticANIObjectList2.end(); ++s) {
|
||||
((StaticANIObject *)*s)->draw2();
|
||||
}
|
||||
for (uint i = 0; i < _staticANIObjectList2.size(); i++)
|
||||
_staticANIObjectList2[i]->draw2();
|
||||
|
||||
int priority = -1;
|
||||
for (PtrList::iterator s = _staticANIObjectList2.begin(); s != _staticANIObjectList2.end(); ++s) {
|
||||
drawContent(((StaticANIObject *)*s)->_priority, priority, false);
|
||||
((StaticANIObject *)*s)->draw();
|
||||
for (uint i = 0; i < _staticANIObjectList2.size(); i++) {
|
||||
drawContent(_staticANIObjectList2[i]->_priority, priority, false);
|
||||
_staticANIObjectList2[i]->draw();
|
||||
|
||||
priority = ((StaticANIObject *)*s)->_priority;
|
||||
priority = _staticANIObjectList2[i]->_priority;
|
||||
}
|
||||
|
||||
drawContent(-1, priority, false);
|
||||
@ -566,7 +596,7 @@ StaticANIObject *Scene::getStaticANIObjectAtPos(int x, int y) {
|
||||
StaticANIObject *res = 0;
|
||||
|
||||
for (uint i = 0; i < _staticANIObjectList1.size(); i++) {
|
||||
StaticANIObject *p = (StaticANIObject *)_staticANIObjectList1[i];
|
||||
StaticANIObject *p = _staticANIObjectList1[i];
|
||||
int pixel;
|
||||
|
||||
if ((p->_field_8 & 0x100) && (p->_flags & 4) &&
|
||||
@ -612,8 +642,8 @@ int Scene::getPictureObjectIdAtPos(int x, int y) {
|
||||
void Scene::update(int counterdiff) {
|
||||
debug(6, "Scene::update(%d)", counterdiff);
|
||||
|
||||
for (PtrList::iterator s = _staticANIObjectList2.begin(); s != _staticANIObjectList2.end(); ++s)
|
||||
((StaticANIObject *)*s)->update(counterdiff);
|
||||
for (uint i = 0; i < _staticANIObjectList2.size(); i++)
|
||||
_staticANIObjectList2[i]->update(counterdiff);
|
||||
}
|
||||
|
||||
void Scene::drawContent(int minPri, int maxPri, bool drawBg) {
|
||||
|
@ -31,10 +31,10 @@ class MessageQueue;
|
||||
|
||||
class Scene : public Background {
|
||||
public:
|
||||
PtrList _staticANIObjectList1;
|
||||
PtrList _staticANIObjectList2;
|
||||
PtrList _messageQueueList;
|
||||
PtrList _faObjectList;
|
||||
Common::Array<StaticANIObject *> _staticANIObjectList1;
|
||||
Common::Array<StaticANIObject *> _staticANIObjectList2;
|
||||
Common::Array<MessageQueue *> _messageQueueList;
|
||||
// PtrList _faObjectList; // not used
|
||||
Shadows *_shadows;
|
||||
SoundList *_soundList;
|
||||
int16 _sceneId;
|
||||
@ -82,7 +82,8 @@ class Scene : public Background {
|
||||
|
||||
private:
|
||||
static bool compareObjPriority(const void *p1, const void *p2);
|
||||
void objectList_sortByPriority(PtrList &list, bool skipFirst = false);
|
||||
void objectList_sortByPriority(Common::Array<StaticANIObject *> &list, bool skipFirst = false);
|
||||
void objectList_sortByPriority(Common::Array<PictureObject *> &list, bool skipFirst = false);
|
||||
};
|
||||
|
||||
class SceneTag : public CObject {
|
||||
|
@ -590,10 +590,8 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
|
||||
|
||||
scene->setPictureObjectsFlag4();
|
||||
|
||||
for (PtrList::iterator s = scene->_staticANIObjectList1.begin(); s != scene->_staticANIObjectList1.end(); ++s) {
|
||||
StaticANIObject *o = (StaticANIObject *)*s;
|
||||
o->setFlags(o->_flags & 0xFE7F);
|
||||
}
|
||||
for (uint i = 0; i < scene->_staticANIObjectList1.size(); i++)
|
||||
scene->_staticANIObjectList1[i]->_flags &= 0xFE7F;
|
||||
|
||||
PictureObject *p = accessScene(SC_INV)->getPictureObjectById(PIC_INV_MENU, 0);
|
||||
p->setFlags(p->_flags & 0xFFFB);
|
||||
@ -1456,9 +1454,28 @@ void BallChain::init(Ball **ball) {
|
||||
}
|
||||
|
||||
Ball *BallChain::sub04(Ball *ballP, Ball *ballN) {
|
||||
warning("STUB: BallChain::sub04");
|
||||
if (!pTail) {
|
||||
cPlex = (byte *)calloc(cPlexLen, sizeof(Ball));
|
||||
|
||||
return pTail;
|
||||
Ball *runPtr = (Ball *)&cPlex[(cPlexLen - 1) * sizeof(Ball)];
|
||||
|
||||
for (int i = 0; i < cPlexLen; i++) {
|
||||
runPtr->p0 = pTail;
|
||||
pTail = runPtr;
|
||||
|
||||
runPtr -= sizeof(Ball);
|
||||
}
|
||||
}
|
||||
|
||||
Ball *res = pTail;
|
||||
|
||||
pTail = res->p0;
|
||||
res->p1 = ballP;
|
||||
res->p0 = ballN;
|
||||
numBalls++;
|
||||
res->ani = 0;
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
void BallChain::removeBall(Ball *ball) {
|
||||
|
@ -27,6 +27,8 @@
|
||||
#include "fullpipe/sound.h"
|
||||
#include "fullpipe/ngiarchive.h"
|
||||
#include "fullpipe/messages.h"
|
||||
#include "fullpipe/statics.h"
|
||||
|
||||
#include "common/memstream.h"
|
||||
#include "audio/audiostream.h"
|
||||
#include "audio/decoders/vorbis.h"
|
||||
@ -132,7 +134,75 @@ void Sound::updateVolume() {
|
||||
}
|
||||
|
||||
void Sound::setPanAndVolumeByStaticAni() {
|
||||
debug(3, "STUB Sound::setPanAndVolumeByStaticAni()");
|
||||
if (!_objectId)
|
||||
return;
|
||||
|
||||
StaticANIObject *ani = g_fp->_currentScene->getStaticANIObject1ById(_objectId, -1);
|
||||
if (!ani)
|
||||
return;
|
||||
|
||||
int a, b;
|
||||
|
||||
if (ani->_ox >= g_fp->_sceneRect.left) {
|
||||
int par, pan;
|
||||
|
||||
if (ani->_ox <= g_fp->_sceneRect.right) {
|
||||
int dx;
|
||||
|
||||
if (ani->_oy <= g_fp->_sceneRect.bottom) {
|
||||
if (ani->_oy >= g_fp->_sceneRect.top) {
|
||||
setPanAndVolume(g_fp->_sfxVolume, 0);
|
||||
|
||||
return;
|
||||
}
|
||||
dx = g_fp->_sceneRect.top - ani->_oy;
|
||||
} else {
|
||||
dx = ani->_oy - g_fp->_sceneRect.bottom;
|
||||
}
|
||||
|
||||
par = 0;
|
||||
|
||||
if (dx > 800) {
|
||||
setPanAndVolume(-3500, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
pan = -3500;
|
||||
a = g_fp->_sfxVolume - (-3500);
|
||||
b = 800 - dx;
|
||||
} else {
|
||||
int dx = ani->_ox - g_fp->_sceneRect.right;
|
||||
|
||||
if (dx > 800) {
|
||||
setPanAndVolume(-3500, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
pan = -3500;
|
||||
par = dx * (-3500) / -800;
|
||||
a = g_fp->_sfxVolume - (-3500);
|
||||
b = 800 - dx;
|
||||
}
|
||||
|
||||
int32 pp = b * a;
|
||||
|
||||
setPanAndVolume(pan + pp / 800, par);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
int dx = g_fp->_sceneRect.left - ani->_ox;
|
||||
if (dx <= 800) {
|
||||
int32 s = (800 - dx) * (g_fp->_sfxVolume - (-3500));
|
||||
int32 p = -3500 + s / 800;
|
||||
|
||||
if (p > g_fp->_sfxVolume)
|
||||
p = g_fp->_sfxVolume;
|
||||
|
||||
setPanAndVolume(p, dx * (-3500) / 800);
|
||||
} else {
|
||||
setPanAndVolume(-3500, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void Sound::setPanAndVolume(int vol, int pan) {
|
||||
@ -298,8 +368,12 @@ void FullpipeEngine::startSoundStream1(char *trackName) {
|
||||
}
|
||||
|
||||
void FullpipeEngine::stopAllSounds() {
|
||||
// TODO: Differences from stopAllSoundStreams()
|
||||
_mixer->stopAll();
|
||||
// _mixer->stopAll();
|
||||
|
||||
for (int i = 0; i < _currSoundListCount; i++)
|
||||
for (int j = 0; j < _currSoundList1[i]->getCount(); j++) {
|
||||
_currSoundList1[i]->getSoundByIndex(j)->stop();
|
||||
}
|
||||
}
|
||||
|
||||
void FullpipeEngine::toggleMute() {
|
||||
@ -447,7 +521,7 @@ void FullpipeEngine::updateSoundVolume() {
|
||||
void FullpipeEngine::setMusicVolume(int vol) {
|
||||
_musicVolume = vol;
|
||||
|
||||
debug(3, "STUB FullpipeEngine::setMusicVolume()");
|
||||
g_fp->_mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, vol);
|
||||
}
|
||||
|
||||
} // End of namespace Fullpipe
|
||||
|
@ -55,9 +55,8 @@ bool FullpipeEngine::loadGam(const char *fname, int scene) {
|
||||
|
||||
_inventory->rebuildItemRects();
|
||||
|
||||
for (PtrList::iterator p = _inventory->getScene()->_picObjList.begin(); p != _inventory->getScene()->_picObjList.end(); ++p) {
|
||||
((MemoryObject *)((PictureObject *)*p)->_picture)->load();
|
||||
}
|
||||
for (uint i = 0; i < _inventory->getScene()->_picObjList.size(); i++)
|
||||
((MemoryObject *)_inventory->getScene()->_picObjList[i]->_picture)->load();
|
||||
|
||||
// _sceneSwitcher = sceneSwitcher; // substituted with direct call
|
||||
_gameLoader->_preloadCallback = preloadCallback;
|
||||
|
@ -141,7 +141,17 @@ StaticANIObject::StaticANIObject() {
|
||||
}
|
||||
|
||||
StaticANIObject::~StaticANIObject() {
|
||||
warning("STUB: StaticANIObject::~StaticANIObject()");
|
||||
for (uint i = 0; i < _staticsList.size(); i++)
|
||||
delete _staticsList[i];
|
||||
|
||||
_staticsList.clear();
|
||||
|
||||
for (uint i = 0; i < _movements.size(); i++)
|
||||
delete _movements[i];
|
||||
|
||||
_movements.clear();
|
||||
|
||||
g_fp->_mgm->clear();
|
||||
}
|
||||
|
||||
StaticANIObject::StaticANIObject(StaticANIObject *src) : GameObject(src) {
|
||||
@ -164,22 +174,21 @@ StaticANIObject::StaticANIObject(StaticANIObject *src) : GameObject(src) {
|
||||
_objtype = kObjTypeStaticANIObject;
|
||||
|
||||
for (uint i = 0; i < src->_staticsList.size(); i++)
|
||||
_staticsList.push_back(new Statics((Statics *)src->_staticsList[i], 0));
|
||||
_staticsList.push_back(new Statics(src->_staticsList[i], 0));
|
||||
|
||||
_movement = 0;
|
||||
_statics = 0;
|
||||
|
||||
for (uint i = 0; i < src->_movements.size(); i++) {
|
||||
Movement *newmov;
|
||||
Movement *mov = (Movement *)src->_movements[i];
|
||||
|
||||
if (mov->_currMovement) {
|
||||
if (src->_movements[i]->_currMovement) {
|
||||
// WORKAROUND: Original uses weird construction here:
|
||||
// new Movement(getMovementById(src->getMovementIdById(mov->_id)), this);
|
||||
newmov = new Movement(src->getMovementById(src->getMovementIdById(mov->_id)), this);
|
||||
newmov->_id = mov->_id;
|
||||
newmov = new Movement(src->getMovementById(src->getMovementIdById(src->_movements[i]->_id)), this);
|
||||
newmov->_id = src->_movements[i]->_id;
|
||||
} else {
|
||||
newmov = new Movement(mov, 0, -1, this);
|
||||
newmov = new Movement(src->_movements[i], 0, -1, this);
|
||||
}
|
||||
|
||||
_movements.push_back(newmov);
|
||||
@ -224,7 +233,7 @@ bool StaticANIObject::load(MfcArchive &file) {
|
||||
|
||||
Common::Point pt;
|
||||
if (count) { // We have movements
|
||||
((Movement *)_movements[0])->getCurrDynamicPhaseXY(pt);
|
||||
_movements[0]->getCurrDynamicPhaseXY(pt);
|
||||
} else {
|
||||
pt.x = pt.y = 100;
|
||||
}
|
||||
@ -392,34 +401,36 @@ bool StaticANIObject::isIdle() {
|
||||
|
||||
Statics *StaticANIObject::getStaticsById(int itemId) {
|
||||
for (uint i = 0; i < _staticsList.size(); i++)
|
||||
if (((Statics *)_staticsList[i])->_staticsId == itemId)
|
||||
return (Statics *)_staticsList[i];
|
||||
if (_staticsList[i]->_staticsId == itemId)
|
||||
return _staticsList[i];
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Statics *StaticANIObject::getStaticsByName(char *name) {
|
||||
for (uint i = 0; i < _staticsList.size(); i++)
|
||||
if (!strcmp(((Statics *)_staticsList[i])->_staticsName, name))
|
||||
return (Statics *)_staticsList[i];
|
||||
if (!strcmp(_staticsList[i]->_staticsName, name))
|
||||
return _staticsList[i];
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Movement *StaticANIObject::getMovementById(int itemId) {
|
||||
for (uint i = 0; i < _movements.size(); i++)
|
||||
if (((Movement *)_movements[i])->_id == itemId)
|
||||
return (Movement *)_movements[i];
|
||||
if (_movements[i]->_id == itemId)
|
||||
return _movements[i];
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int StaticANIObject::getMovementIdById(int itemId) {
|
||||
for (uint i = 0; i < _movements.size(); i++) {
|
||||
Movement *mov = (Movement *)_movements[i];
|
||||
Movement *mov = _movements[i];
|
||||
|
||||
if (mov->_currMovement) {
|
||||
if (mov->_id == itemId)
|
||||
return mov->_id;
|
||||
|
||||
if (mov->_currMovement->_id == itemId)
|
||||
return mov->_id;
|
||||
}
|
||||
@ -430,8 +441,8 @@ int StaticANIObject::getMovementIdById(int itemId) {
|
||||
|
||||
Movement *StaticANIObject::getMovementByName(char *name) {
|
||||
for (uint i = 0; i < _movements.size(); i++)
|
||||
if (!strcmp(((Movement *)_movements[i])->_objectName, name))
|
||||
return (Movement *)_movements[i];
|
||||
if (!strcmp(_movements[i]->_objectName, name))
|
||||
return _movements[i];
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -551,12 +562,12 @@ void Movement::draw(bool flipFlag, int angle) {
|
||||
|
||||
void StaticANIObject::loadMovementsPixelData() {
|
||||
for (uint i = 0; i < _movements.size(); i++)
|
||||
((Movement *)_movements[i])->loadPixelData();
|
||||
_movements[i]->loadPixelData();
|
||||
}
|
||||
|
||||
void StaticANIObject::freeMovementsPixelData() {
|
||||
for (uint i = 0; i < _movements.size(); i++)
|
||||
((Movement *)_movements[i])->freePixelData();
|
||||
_movements[i]->freePixelData();
|
||||
}
|
||||
|
||||
Statics *StaticANIObject::addReverseStatics(Statics *st) {
|
||||
@ -665,11 +676,10 @@ MovTable *StaticANIObject::countMovements() {
|
||||
movTable->movs = (int16 *)calloc(_movements.size(), sizeof(int16));
|
||||
|
||||
for (uint i = 0; i < _movements.size(); i++) {
|
||||
GameObject *obj = (GameObject *)_movements[i];
|
||||
movTable->movs[i] = 2;
|
||||
|
||||
for (GameVar *sub = preloadSubVar->_subVars; sub; sub = sub->_nextVarObj) {
|
||||
if (scumm_stricmp(obj->getName(), sub->_varName) == 0) {
|
||||
if (scumm_stricmp(_movements[i]->getName(), sub->_varName) == 0) {
|
||||
movTable->movs[i] = 1;
|
||||
break;
|
||||
}
|
||||
@ -702,21 +712,21 @@ void StaticANIObject::setSpeed(int speed) {
|
||||
|
||||
void StaticANIObject::setAlpha(int alpha) {
|
||||
for (uint i = 0; i < _movements.size(); i++)
|
||||
((Movement *)_movements[i])->setAlpha(alpha);
|
||||
_movements[i]->setAlpha(alpha);
|
||||
|
||||
for (uint i = 0; i < _staticsList.size(); i++)
|
||||
((Statics *)_staticsList[i])->setAlpha(alpha);
|
||||
_staticsList[i]->setAlpha(alpha);
|
||||
}
|
||||
|
||||
void StaticANIObject::initMovements() {
|
||||
for (uint i = 0; i < _movements.size(); i++)
|
||||
((Movement *)_movements[i])->removeFirstPhase();
|
||||
_movements[i]->removeFirstPhase();
|
||||
}
|
||||
|
||||
void StaticANIObject::preloadMovements(MovTable *mt) {
|
||||
if ( mt ) {
|
||||
if (mt) {
|
||||
for (uint i = 0; i < _movements.size(); i++) {
|
||||
Movement *mov = (Movement *)_movements[i];
|
||||
Movement *mov = _movements[i];
|
||||
|
||||
if (mt->movs[i] == 1)
|
||||
mov->loadPixelData();
|
||||
@ -1177,8 +1187,8 @@ void StaticANIObject::startAnimSteps(int movementId, int messageQueueId, int x,
|
||||
if (!(_flags & 0x80)) {
|
||||
if (!_messageQueueId)
|
||||
for (uint i = 0; i < _movements.size(); i++) {
|
||||
if (((Movement *)_movements[i])->_id == movementId) {
|
||||
mov = (Movement *)_movements[i];
|
||||
if (_movements[i]->_id == movementId) {
|
||||
mov = _movements[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -1266,7 +1276,7 @@ bool StaticANIObject::startAnim(int movementId, int messageQueueId, int dynPhase
|
||||
if (_flags & 0x80)
|
||||
return false;
|
||||
|
||||
debug(0, "StaticANIObject::startAnim(%d, %d, %d) (%s [%d]) [%d, %d]", movementId, messageQueueId, dynPhaseIdx, transCyrillic((byte *)_objectName), _id, _ox, _oy);
|
||||
debug(4, "StaticANIObject::startAnim(%d, %d, %d) (%s [%d]) [%d, %d]", movementId, messageQueueId, dynPhaseIdx, transCyrillic((byte *)_objectName), _id, _ox, _oy);
|
||||
|
||||
if (_messageQueueId) {
|
||||
updateGlobalMessageQueue(messageQueueId, _id);
|
||||
@ -1276,9 +1286,8 @@ bool StaticANIObject::startAnim(int movementId, int messageQueueId, int dynPhase
|
||||
Movement *mov = 0;
|
||||
|
||||
for (uint i = 0; i < _movements.size(); i++) {
|
||||
|
||||
if (((Movement *)_movements[i])->_id == movementId) {
|
||||
mov = (Movement *)_movements[i];
|
||||
if (_movements[i]->_id == movementId) {
|
||||
mov = _movements[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -1441,6 +1450,19 @@ bool Statics::load(MfcArchive &file) {
|
||||
return true;
|
||||
}
|
||||
|
||||
void Statics::init() {
|
||||
Picture::init();
|
||||
|
||||
if (_staticsId & 0x4000) {
|
||||
Bitmap *bmp = _bitmap->reverseImage();
|
||||
|
||||
freePixelData();
|
||||
|
||||
_bitmap = bmp;
|
||||
_data = bmp->_pixels;
|
||||
}
|
||||
}
|
||||
|
||||
Common::Point *Statics::getSomeXY(Common::Point &p) {
|
||||
p.x = _someX;
|
||||
p.y = _someY;
|
||||
@ -1493,7 +1515,17 @@ Movement::Movement() {
|
||||
}
|
||||
|
||||
Movement::~Movement() {
|
||||
warning("STUB: Movement::~Movement()");
|
||||
for (uint i = 0; i < _dynamicPhases.size(); i++)
|
||||
delete _framePosOffsets[i];
|
||||
|
||||
if (!_currMovement ) {
|
||||
if (_updateFlag1)
|
||||
_dynamicPhases.remove_at(0);
|
||||
|
||||
_dynamicPhases.clear();
|
||||
}
|
||||
|
||||
free(_framePosOffsets);
|
||||
}
|
||||
|
||||
Movement::Movement(Movement *src, StaticANIObject *ani) {
|
||||
@ -1748,11 +1780,11 @@ Common::Point *Movement::calcSomeXY(Common::Point &p, int idx) {
|
||||
void Movement::setAlpha(int alpha) {
|
||||
if (_currMovement)
|
||||
for (uint i = 0; i < _currMovement->_dynamicPhases.size(); i++) {
|
||||
((DynamicPhase *)_currMovement->_dynamicPhases[i])->setAlpha(alpha);
|
||||
_currMovement->_dynamicPhases[i]->setAlpha(alpha);
|
||||
}
|
||||
else
|
||||
for (uint i = 0; i < _dynamicPhases.size(); i++) {
|
||||
((DynamicPhase *)_dynamicPhases[i])->setAlpha(alpha);
|
||||
_dynamicPhases[i]->setAlpha(alpha);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1765,9 +1797,9 @@ Common::Point *Movement::getDimensionsOfPhase(Common::Point *p, int phaseIndex)
|
||||
DynamicPhase *dyn;
|
||||
|
||||
if (_currMovement)
|
||||
dyn = (DynamicPhase *)_currMovement->_dynamicPhases[idx];
|
||||
dyn = _currMovement->_dynamicPhases[idx];
|
||||
else
|
||||
dyn = (DynamicPhase *)_dynamicPhases[idx];
|
||||
dyn = _dynamicPhases[idx];
|
||||
|
||||
Common::Point point;
|
||||
|
||||
@ -1816,13 +1848,13 @@ void Movement::updateCurrDynamicPhase() {
|
||||
return;
|
||||
|
||||
if (_currMovement->_dynamicPhases[_currDynamicPhaseIndex])
|
||||
_currDynamicPhase = (DynamicPhase *)_currMovement->_dynamicPhases[_currDynamicPhaseIndex];
|
||||
_currDynamicPhase = _currMovement->_dynamicPhases[_currDynamicPhaseIndex];
|
||||
} else {
|
||||
if (_dynamicPhases.size() == 0 || (uint)_currDynamicPhaseIndex >= _dynamicPhases.size())
|
||||
return;
|
||||
|
||||
if (_dynamicPhases[_currDynamicPhaseIndex])
|
||||
_currDynamicPhase = (DynamicPhase *)_dynamicPhases[_currDynamicPhaseIndex];
|
||||
_currDynamicPhase = _dynamicPhases[_currDynamicPhaseIndex];
|
||||
}
|
||||
}
|
||||
|
||||
@ -1831,11 +1863,11 @@ int Movement::calcDuration() {
|
||||
|
||||
if (_currMovement)
|
||||
for (uint i = 0; i < _currMovement->_dynamicPhases.size(); i++) {
|
||||
res += ((DynamicPhase *)_currMovement->_dynamicPhases[i])->_initialCountdown;
|
||||
res += _currMovement->_dynamicPhases[i]->_initialCountdown;
|
||||
}
|
||||
else
|
||||
for (uint i = 0; i < _dynamicPhases.size(); i++) {
|
||||
res += ((DynamicPhase *)_dynamicPhases[i])->_initialCountdown;
|
||||
res += _dynamicPhases[i]->_initialCountdown;
|
||||
}
|
||||
|
||||
return res;
|
||||
@ -1876,12 +1908,12 @@ DynamicPhase *Movement::getDynamicPhaseByIndex(int idx) {
|
||||
if (_currMovement->_dynamicPhases.size() == 0 || (uint)idx >= _currMovement->_dynamicPhases.size())
|
||||
return 0;
|
||||
|
||||
return (DynamicPhase *)_currMovement->_dynamicPhases[idx];
|
||||
return _currMovement->_dynamicPhases[idx];
|
||||
} else {
|
||||
if (_dynamicPhases.size() == 0 || (uint)idx >= _dynamicPhases.size())
|
||||
return 0;
|
||||
|
||||
return (DynamicPhase *)_dynamicPhases[idx];
|
||||
return _dynamicPhases[idx];
|
||||
}
|
||||
}
|
||||
|
||||
@ -1892,7 +1924,7 @@ void Movement::loadPixelData() {
|
||||
|
||||
for (uint i = 0; i < _dynamicPhases.size(); i++) {
|
||||
if ((Statics *)_dynamicPhases[i] != mov->_staticsObj2 || !(mov->_staticsObj2->_staticsId & 0x4000))
|
||||
((Statics *)_dynamicPhases[i])->getPixelData();
|
||||
_dynamicPhases[i]->getPixelData();
|
||||
}
|
||||
|
||||
if (!(mov->_staticsObj1->_staticsId & 0x4000))
|
||||
@ -1902,7 +1934,7 @@ void Movement::loadPixelData() {
|
||||
void Movement::freePixelData() {
|
||||
if (!_currMovement)
|
||||
for (uint i = 0; i < _dynamicPhases.size(); i++)
|
||||
((DynamicPhase *)_dynamicPhases[i])->freePixelData();
|
||||
_dynamicPhases[i]->freePixelData();
|
||||
|
||||
if (_staticsObj1)
|
||||
_staticsObj1->freePixelData();
|
||||
@ -1934,11 +1966,11 @@ bool Movement::gotoNextFrame(void (*callback1)(int, Common::Point *point, int, i
|
||||
if (!callback2) {
|
||||
if (_currMovement) {
|
||||
if ((uint)_currDynamicPhaseIndex == _currMovement->_dynamicPhases.size() - 1
|
||||
&& !(((DynamicPhase *)(_currMovement->_dynamicPhases.back()))->_countdown)) {
|
||||
&& !(_currMovement->_dynamicPhases.back()->_countdown)) {
|
||||
return false;
|
||||
}
|
||||
} else if ((uint)_currDynamicPhaseIndex == _dynamicPhases.size() - 1
|
||||
&& !(((DynamicPhase *)(_dynamicPhases.back()))->_countdown)) {
|
||||
&& !(_dynamicPhases.back()->_countdown)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -98,6 +98,7 @@ class Statics : public DynamicPhase {
|
||||
virtual ~Statics();
|
||||
|
||||
virtual bool load(MfcArchive &file);
|
||||
virtual void init();
|
||||
Statics *getStaticsById(int itemId);
|
||||
|
||||
Common::Point *getSomeXY(Common::Point &p);
|
||||
@ -121,7 +122,7 @@ class Movement : public GameObject {
|
||||
int _field_50;
|
||||
int _counterMax;
|
||||
int _counter;
|
||||
PtrList _dynamicPhases;
|
||||
Common::Array<DynamicPhase *> _dynamicPhases;
|
||||
int _field_78;
|
||||
Common::Point **_framePosOffsets;
|
||||
Movement *_currMovement;
|
||||
@ -181,8 +182,8 @@ class StaticANIObject : public GameObject {
|
||||
int _initialCounter;
|
||||
void (*_callback1)(int, Common::Point *point, int, int);
|
||||
void (*_callback2)(int *);
|
||||
PtrList _movements;
|
||||
PtrList _staticsList;
|
||||
Common::Array<Movement *> _movements;
|
||||
Common::Array<Statics *> _staticsList;
|
||||
StepArray _stepArray;
|
||||
int16 _field_96;
|
||||
int _messageQueueId;
|
||||
|
@ -68,6 +68,7 @@ enum ObjType {
|
||||
kObjTypeDefault,
|
||||
kObjTypeExCommand,
|
||||
kObjTypeExCommand2,
|
||||
kObjTypeModalSaveGame,
|
||||
kObjTypeMovGraph,
|
||||
kObjTypeMovGraphLink,
|
||||
kObjTypeMovGraphNode,
|
||||
@ -148,8 +149,6 @@ class DWordArray : public Common::Array<int32>, public CObject {
|
||||
virtual bool load(MfcArchive &file);
|
||||
};
|
||||
|
||||
typedef Common::Array<void *> PtrList;
|
||||
|
||||
char *genFileName(int superId, int sceneId, const char *ext);
|
||||
byte *transCyrillic(byte *s);
|
||||
|
||||
|
@ -61,7 +61,7 @@ bool Cheater_Geisha::cheat(GUI::Debugger &console) {
|
||||
uint32 digit5 = READ_VARO_UINT32(0x778);
|
||||
|
||||
if (digit1 && digit2 && digit3 && digit4 && digit5)
|
||||
console.DebugPrintf("Mastermind solution: %d %d %d %d %d\n",
|
||||
console.debugPrintf("Mastermind solution: %d %d %d %d %d\n",
|
||||
digit1, digit2, digit3, digit4, digit5);
|
||||
|
||||
return true;
|
||||
|
@ -29,14 +29,14 @@
|
||||
namespace Gob {
|
||||
|
||||
GobConsole::GobConsole(GobEngine *vm) : GUI::Debugger(), _vm(vm), _cheater(0) {
|
||||
DCmd_Register("varSize", WRAP_METHOD(GobConsole, cmd_varSize));
|
||||
DCmd_Register("dumpVars", WRAP_METHOD(GobConsole, cmd_dumpVars));
|
||||
DCmd_Register("var8", WRAP_METHOD(GobConsole, cmd_var8));
|
||||
DCmd_Register("var16", WRAP_METHOD(GobConsole, cmd_var16));
|
||||
DCmd_Register("var32", WRAP_METHOD(GobConsole, cmd_var32));
|
||||
DCmd_Register("varString", WRAP_METHOD(GobConsole, cmd_varString));
|
||||
DCmd_Register("cheat", WRAP_METHOD(GobConsole, cmd_cheat));
|
||||
DCmd_Register("listArchives", WRAP_METHOD(GobConsole, cmd_listArchives));
|
||||
registerCmd("varSize", WRAP_METHOD(GobConsole, cmd_varSize));
|
||||
registerCmd("dumpVars", WRAP_METHOD(GobConsole, cmd_dumpVars));
|
||||
registerCmd("var8", WRAP_METHOD(GobConsole, cmd_var8));
|
||||
registerCmd("var16", WRAP_METHOD(GobConsole, cmd_var16));
|
||||
registerCmd("var32", WRAP_METHOD(GobConsole, cmd_var32));
|
||||
registerCmd("varString", WRAP_METHOD(GobConsole, cmd_varString));
|
||||
registerCmd("cheat", WRAP_METHOD(GobConsole, cmd_cheat));
|
||||
registerCmd("listArchives", WRAP_METHOD(GobConsole, cmd_listArchives));
|
||||
}
|
||||
|
||||
GobConsole::~GobConsole() {
|
||||
@ -51,7 +51,7 @@ void GobConsole::unregisterCheater() {
|
||||
}
|
||||
|
||||
bool GobConsole::cmd_varSize(int argc, const char **argv) {
|
||||
DebugPrintf("Size of the variable space: %d bytes\n", _vm->_inter->_variables->getSize());
|
||||
debugPrintf("Size of the variable space: %d bytes\n", _vm->_inter->_variables->getSize());
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -74,14 +74,14 @@ bool GobConsole::cmd_dumpVars(int argc, const char **argv) {
|
||||
|
||||
bool GobConsole::cmd_var8(int argc, const char **argv) {
|
||||
if (argc == 1) {
|
||||
DebugPrintf("Usage: var8 <var offset> (<value>)\n");
|
||||
debugPrintf("Usage: var8 <var offset> (<value>)\n");
|
||||
return true;
|
||||
}
|
||||
|
||||
uint32 varNum = atoi(argv[1]);
|
||||
|
||||
if (varNum >= _vm->_inter->_variables->getSize()) {
|
||||
DebugPrintf("Variable offset out of range\n");
|
||||
debugPrintf("Variable offset out of range\n");
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -90,21 +90,21 @@ bool GobConsole::cmd_var8(int argc, const char **argv) {
|
||||
_vm->_inter->_variables->writeOff8(varNum, varVal);
|
||||
}
|
||||
|
||||
DebugPrintf("var8_%d = %d\n", varNum, _vm->_inter->_variables->readOff8(varNum));
|
||||
debugPrintf("var8_%d = %d\n", varNum, _vm->_inter->_variables->readOff8(varNum));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool GobConsole::cmd_var16(int argc, const char **argv) {
|
||||
if (argc == 1) {
|
||||
DebugPrintf("Usage: var16 <var offset> (<value>)\n");
|
||||
debugPrintf("Usage: var16 <var offset> (<value>)\n");
|
||||
return true;
|
||||
}
|
||||
|
||||
uint32 varNum = atoi(argv[1]);
|
||||
|
||||
if ((varNum + 1) >= _vm->_inter->_variables->getSize()) {
|
||||
DebugPrintf("Variable offset out of range\n");
|
||||
debugPrintf("Variable offset out of range\n");
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -113,21 +113,21 @@ bool GobConsole::cmd_var16(int argc, const char **argv) {
|
||||
_vm->_inter->_variables->writeOff16(varNum, varVal);
|
||||
}
|
||||
|
||||
DebugPrintf("var16_%d = %d\n", varNum, _vm->_inter->_variables->readOff16(varNum));
|
||||
debugPrintf("var16_%d = %d\n", varNum, _vm->_inter->_variables->readOff16(varNum));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool GobConsole::cmd_var32(int argc, const char **argv) {
|
||||
if (argc == 1) {
|
||||
DebugPrintf("Usage: var32 <var offset> (<value>)\n");
|
||||
debugPrintf("Usage: var32 <var offset> (<value>)\n");
|
||||
return true;
|
||||
}
|
||||
|
||||
uint32 varNum = atoi(argv[1]);
|
||||
|
||||
if ((varNum + 3) >= _vm->_inter->_variables->getSize()) {
|
||||
DebugPrintf("Variable offset out of range\n");
|
||||
debugPrintf("Variable offset out of range\n");
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -136,21 +136,21 @@ bool GobConsole::cmd_var32(int argc, const char **argv) {
|
||||
_vm->_inter->_variables->writeOff32(varNum, varVal);
|
||||
}
|
||||
|
||||
DebugPrintf("var8_%d = %d\n", varNum, _vm->_inter->_variables->readOff32(varNum));
|
||||
debugPrintf("var8_%d = %d\n", varNum, _vm->_inter->_variables->readOff32(varNum));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool GobConsole::cmd_varString(int argc, const char **argv) {
|
||||
if (argc == 1) {
|
||||
DebugPrintf("Usage: varString <var offset> (<value>)\n");
|
||||
debugPrintf("Usage: varString <var offset> (<value>)\n");
|
||||
return true;
|
||||
}
|
||||
|
||||
uint32 varNum = atoi(argv[1]);
|
||||
|
||||
if (varNum >= _vm->_inter->_variables->getSize()) {
|
||||
DebugPrintf("Variable offset out of range\n");
|
||||
debugPrintf("Variable offset out of range\n");
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -160,7 +160,7 @@ bool GobConsole::cmd_varString(int argc, const char **argv) {
|
||||
Common::strlcpy(_vm->_inter->_variables->getAddressOffString(varNum), argv[2], maxLength);
|
||||
}
|
||||
|
||||
DebugPrintf("varString_%d = \"%s\"\n", varNum, _vm->_inter->_variables->getAddressOffString(varNum));
|
||||
debugPrintf("varString_%d = \"%s\"\n", varNum, _vm->_inter->_variables->getAddressOffString(varNum));
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -177,11 +177,11 @@ bool GobConsole::cmd_listArchives(int argc, const char **argv) {
|
||||
|
||||
_vm->_dataIO->getArchiveInfo(info);
|
||||
|
||||
DebugPrintf(" Archive | Base | FileCount\n");
|
||||
DebugPrintf("--------------------------------\n");
|
||||
debugPrintf(" Archive | Base | FileCount\n");
|
||||
debugPrintf("--------------------------------\n");
|
||||
for (Common::Array<ArchiveInfo>::const_iterator it = info.begin(); it != info.end(); ++it)
|
||||
if (!it->name.empty())
|
||||
DebugPrintf("%13s | %d | %d\n", it->name.c_str(), it->base, it->fileCount);
|
||||
debugPrintf("%13s | %d | %d\n", it->name.c_str(), it->base, it->fileCount);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -36,16 +36,16 @@ Debugger::Debugger(GroovieEngine *vm) :
|
||||
_vm(vm), _script(_vm->_script) {
|
||||
|
||||
// Register the debugger comands
|
||||
DCmd_Register("step", WRAP_METHOD(Debugger, cmd_step));
|
||||
DCmd_Register("go", WRAP_METHOD(Debugger, cmd_go));
|
||||
DCmd_Register("pc", WRAP_METHOD(Debugger, cmd_pc));
|
||||
DCmd_Register("fg", WRAP_METHOD(Debugger, cmd_fg));
|
||||
DCmd_Register("bg", WRAP_METHOD(Debugger, cmd_bg));
|
||||
DCmd_Register("mem", WRAP_METHOD(Debugger, cmd_mem));
|
||||
DCmd_Register("load", WRAP_METHOD(Debugger, cmd_loadgame));
|
||||
DCmd_Register("save", WRAP_METHOD(Debugger, cmd_savegame));
|
||||
DCmd_Register("playref", WRAP_METHOD(Debugger, cmd_playref));
|
||||
DCmd_Register("dumppal", WRAP_METHOD(Debugger, cmd_dumppal));
|
||||
registerCmd("step", WRAP_METHOD(Debugger, cmd_step));
|
||||
registerCmd("go", WRAP_METHOD(Debugger, cmd_go));
|
||||
registerCmd("pc", WRAP_METHOD(Debugger, cmd_pc));
|
||||
registerCmd("fg", WRAP_METHOD(Debugger, cmd_fg));
|
||||
registerCmd("bg", WRAP_METHOD(Debugger, cmd_bg));
|
||||
registerCmd("mem", WRAP_METHOD(Debugger, cmd_mem));
|
||||
registerCmd("load", WRAP_METHOD(Debugger, cmd_loadgame));
|
||||
registerCmd("save", WRAP_METHOD(Debugger, cmd_savegame));
|
||||
registerCmd("playref", WRAP_METHOD(Debugger, cmd_playref));
|
||||
registerCmd("dumppal", WRAP_METHOD(Debugger, cmd_dumppal));
|
||||
}
|
||||
|
||||
Debugger::~Debugger() {
|
||||
@ -81,7 +81,7 @@ bool Debugger::cmd_pc(int argc, const char **argv) {
|
||||
int val = getNumber(argv[1]);
|
||||
_script->_currentInstruction = val;
|
||||
}
|
||||
DebugPrintf("pc = 0x%04X (%d)\n", _script->_currentInstruction, _script->_currentInstruction);
|
||||
debugPrintf("pc = 0x%04X (%d)\n", _script->_currentInstruction, _script->_currentInstruction);
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -97,9 +97,9 @@ bool Debugger::cmd_mem(int argc, const char **argv) {
|
||||
// Get
|
||||
val = _script->_variables[pos];
|
||||
}
|
||||
DebugPrintf("mem[0x%04X] = 0x%02X\n", pos, val);
|
||||
debugPrintf("mem[0x%04X] = 0x%02X\n", pos, val);
|
||||
} else {
|
||||
DebugPrintf("Syntax: mem <addr> [<val>]\n");
|
||||
debugPrintf("Syntax: mem <addr> [<val>]\n");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@ -109,7 +109,7 @@ bool Debugger::cmd_loadgame(int argc, const char **argv) {
|
||||
int slot = getNumber(argv[1]);
|
||||
_script->loadgame(slot);
|
||||
} else {
|
||||
DebugPrintf("Syntax: load <slot>\n");
|
||||
debugPrintf("Syntax: load <slot>\n");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@ -119,7 +119,7 @@ bool Debugger::cmd_savegame(int argc, const char **argv) {
|
||||
int slot = getNumber(argv[1]);
|
||||
_script->savegame(slot);
|
||||
} else {
|
||||
DebugPrintf("Syntax: save <slot>\n");
|
||||
debugPrintf("Syntax: save <slot>\n");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@ -129,7 +129,7 @@ bool Debugger::cmd_playref(int argc, const char **argv) {
|
||||
int ref = getNumber(argv[1]);
|
||||
_script->playvideofromref(ref);
|
||||
} else {
|
||||
DebugPrintf("Syntax: playref <videorefnum>\n");
|
||||
debugPrintf("Syntax: playref <videorefnum>\n");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@ -140,7 +140,7 @@ bool Debugger::cmd_dumppal(int argc, const char **argv) {
|
||||
_vm->_system->getPaletteManager()->grabPalette(palettedump, 0, 256);
|
||||
|
||||
for (i = 0; i < 256; i++) {
|
||||
DebugPrintf("%3d: %3d,%3d,%3d\n", i, palettedump[(i * 3)], palettedump[(i * 3) + 1], palettedump[(i * 3) + 2]);
|
||||
debugPrintf("%3d: %3d,%3d,%3d\n", i, palettedump[(i * 3)], palettedump[(i * 3) + 1], palettedump[(i * 3) + 2]);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -38,10 +38,9 @@ namespace Hopkins {
|
||||
ComputerManager::ComputerManager(HopkinsEngine *vm) {
|
||||
_vm = vm;
|
||||
|
||||
for (int i = 0; i < 50; i++) {
|
||||
_menuText[i]._actvFl = false;
|
||||
for (int i = 0; i < ARRAYSIZE(_menuText); i++) {
|
||||
_menuText[i]._lineSize = 0;
|
||||
memset(_menuText[i]._line, 0, 90);
|
||||
memset(_menuText[i]._line, 0, ARRAYSIZE(_menuText[0]._line));
|
||||
}
|
||||
Common::fill(&_inputBuf[0], &_inputBuf[200], '\0');
|
||||
_breakoutSpr = NULL;
|
||||
@ -346,6 +345,7 @@ static const char _spanishText[] =
|
||||
* Load Menu data
|
||||
*/
|
||||
void ComputerManager::loadMenu() {
|
||||
debug(9, "ComputerManager::loadMenu()");
|
||||
char *ptr;
|
||||
if (_vm->_fileIO->fileExists("COMPUTAN.TXT")) {
|
||||
ptr = (char *)_vm->_fileIO->loadFile("COMPUTAN.TXT");
|
||||
@ -353,46 +353,52 @@ void ComputerManager::loadMenu() {
|
||||
switch (_vm->_globals->_language) {
|
||||
case LANG_FR:
|
||||
ptr = (char *)_vm->_globals->allocMemory(sizeof(_frenchText));
|
||||
strcpy(ptr, _frenchText);
|
||||
Common::strlcpy(ptr, _frenchText, sizeof(_frenchText));
|
||||
break;
|
||||
case LANG_SP:
|
||||
ptr = (char *)_vm->_globals->allocMemory(sizeof(_spanishText));
|
||||
strcpy(ptr, _spanishText);
|
||||
Common::strlcpy(ptr, _spanishText, sizeof(_spanishText));
|
||||
break;
|
||||
default:
|
||||
ptr = (char *)_vm->_globals->allocMemory(sizeof(_englishText));
|
||||
strcpy(ptr, _englishText);
|
||||
Common::strlcpy(ptr, _englishText, sizeof(_englishText));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
char *tmpPtr = ptr;
|
||||
int lineNum = 0;
|
||||
int strPos;
|
||||
bool loopCond = false;
|
||||
|
||||
do {
|
||||
if (tmpPtr[0] == '%') {
|
||||
if (tmpPtr[1] == '%') {
|
||||
loopCond = true;
|
||||
break;
|
||||
}
|
||||
_menuText[lineNum]._actvFl = 1;
|
||||
strPos = 0;
|
||||
while (strPos <= 89) {
|
||||
const char lineSep = tmpPtr[0];
|
||||
|
||||
while (tmpPtr[0] != '\0' && lineNum < ARRAYSIZE(_menuText)) {
|
||||
if (tmpPtr[0] == '%' && tmpPtr[1] == '%') {
|
||||
// End of file marker found - Break out of parse loop
|
||||
break;
|
||||
}
|
||||
|
||||
if (tmpPtr[0] == lineSep) {
|
||||
int strPos = 0;
|
||||
while (strPos < ARRAYSIZE(_menuText[0]._line)) {
|
||||
char curChar = tmpPtr[strPos + 2];
|
||||
if (curChar == '%' || curChar == 10)
|
||||
if (curChar == '\0' || curChar == lineSep || curChar == 0x0a) // Line Feed
|
||||
break;
|
||||
_menuText[lineNum]._line[strPos++] = curChar;
|
||||
}
|
||||
if (strPos <= 89) {
|
||||
|
||||
if (strPos < ARRAYSIZE(_menuText[0]._line)) {
|
||||
_menuText[lineNum]._line[strPos] = 0;
|
||||
_menuText[lineNum]._lineSize = strPos - 1;
|
||||
}
|
||||
++lineNum;
|
||||
|
||||
if (strPos != 0) {
|
||||
debug(9, "_menuText[%d]._line (size: %d): \"%s\"", lineNum, _menuText[lineNum]._lineSize, _menuText[lineNum]._line);
|
||||
++lineNum;
|
||||
}
|
||||
}
|
||||
++tmpPtr;
|
||||
} while (!loopCond);
|
||||
}
|
||||
|
||||
_vm->_globals->freeMemory((byte *)ptr);
|
||||
}
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user