/trunk/Win32_Player/Game.pas |
---|
36,7 → 36,7 |
FClearHotspotsCallback: TClearHotspotsCallback; |
FDirectory: string; |
FScore: integer; |
CurDecisionScene, LastDecisionScene: PSceneDef; |
CurDecisionScene, PrevDecisionScene: PSceneDef; |
procedure TryExit; |
procedure PrevDecisionScene; |
protected |
89,7 → 89,7 |
procedure TGame.PrevDecisionScene; |
begin |
if Assigned(LastDecisionScene) then PlayScene(LastDecisionScene, true) |
if Assigned(PrevDecisionScene) then PlayScene(PrevDecisionScene, true) |
end; |
procedure TGame.PerformAction(action: PActionDef); |
159,7 → 159,7 |
end; |
if scene^.szDecisionBmp <> '' then |
begin |
LastDecisionScene := CurDecisionScene; |
PrevDecisionScene := CurDecisionScene; |
CurDecisionScene := scene; |
if Assigned(PictureShowCallback) then |
begin |
/trunk/Win32_Player/Main.dfm |
---|
46,9 → 46,11 |
Width = 57 |
Height = 30 |
VisibleButtons = [btPlay, btStop] |
DoubleBuffered = True |
Display = Panel2 |
FileName = 'D:\_test\INTRO.AVI' |
Visible = False |
ParentDoubleBuffered = False |
TabOrder = 1 |
end |
object Panel2: TPanel |
/trunk/Win32_Player/Main.pas |
---|
97,6 → 97,13 |
resourcestring |
S_YOUR_SCORE = 'Your score is: %s'; |
begin |
csCancelSceneRequest.Acquire; |
try |
FCancelSceneRequest := false; |
finally |
csCancelSceneRequest.Release; |
end; |
{$IFDEF DEBUG} |
Caption := AFileName; |
{$ENDIF} |
279,7 → 286,7 |
// Debug: Go to prev decision by clicking on the top left edge |
if (X < 20) and (Y < 20) then |
begin |
// TODO: Also allow to go back multiple steps |
// TODO: Also allow to go back multiple steps (we would need a stack instead of PrevDecisionScene/CurDecisionScene) |
ac.scoreDelta := 0; |
ac.nextSceneID := SCENEID_PREVDECISION; |
ac.sceneSegment := 0; |