1
0
forked from 0ad/0ad

Replaces Atlas "Screenshot" option with normal lower-res version (saves result as PNG).

Adds new "Big screenshot" option (saves result as 6400x4800 BMP). Refs
#984.

This was SVN commit r11257.
This commit is contained in:
historic_bruno 2012-03-06 00:15:48 +00:00
parent b3f22597e3
commit 4cdde2b62a
3 changed files with 20 additions and 6 deletions

View File

@ -1,4 +1,4 @@
/* Copyright (C) 2011 Wildfire Games. /* Copyright (C) 2012 Wildfire Games.
* This file is part of 0 A.D. * This file is part of 0 A.D.
* *
* 0 A.D. is free software: you can redistribute it and/or modify * 0 A.D. is free software: you can redistribute it and/or modify
@ -313,6 +313,7 @@ enum
ID_Wireframe, ID_Wireframe,
ID_MessageTrace, ID_MessageTrace,
ID_Screenshot, ID_Screenshot,
ID_BigScreenshot,
ID_JavaScript, ID_JavaScript,
ID_CameraReset, ID_CameraReset,
ID_RenderPathFixed, ID_RenderPathFixed,
@ -340,6 +341,7 @@ BEGIN_EVENT_TABLE(ScenarioEditor, wxFrame)
EVT_MENU(ID_Wireframe, ScenarioEditor::OnWireframe) EVT_MENU(ID_Wireframe, ScenarioEditor::OnWireframe)
EVT_MENU(ID_MessageTrace, ScenarioEditor::OnMessageTrace) EVT_MENU(ID_MessageTrace, ScenarioEditor::OnMessageTrace)
EVT_MENU(ID_Screenshot, ScenarioEditor::OnScreenshot) EVT_MENU(ID_Screenshot, ScenarioEditor::OnScreenshot)
EVT_MENU(ID_BigScreenshot, ScenarioEditor::OnScreenshot)
EVT_MENU(ID_JavaScript, ScenarioEditor::OnJavaScript) EVT_MENU(ID_JavaScript, ScenarioEditor::OnJavaScript)
EVT_MENU(ID_CameraReset, ScenarioEditor::OnCameraReset) EVT_MENU(ID_CameraReset, ScenarioEditor::OnCameraReset)
EVT_MENU(ID_DumpState, ScenarioEditor::OnDumpState) EVT_MENU(ID_DumpState, ScenarioEditor::OnDumpState)
@ -438,6 +440,7 @@ ScenarioEditor::ScenarioEditor(wxWindow* parent, ScriptInterface& scriptInterfac
menuMisc->AppendCheckItem(ID_Wireframe, _("&Wireframe")); menuMisc->AppendCheckItem(ID_Wireframe, _("&Wireframe"));
menuMisc->AppendCheckItem(ID_MessageTrace, _("Message debug trace")); menuMisc->AppendCheckItem(ID_MessageTrace, _("Message debug trace"));
menuMisc->Append(ID_Screenshot, _("&Screenshot")); menuMisc->Append(ID_Screenshot, _("&Screenshot"));
menuMisc->Append(ID_BigScreenshot, _("Big screenshot"));
menuMisc->Append(ID_JavaScript, _("&JS console")); menuMisc->Append(ID_JavaScript, _("&JS console"));
menuMisc->Append(ID_CameraReset, _("&Reset camera")); menuMisc->Append(ID_CameraReset, _("&Reset camera"));
@ -821,9 +824,17 @@ void ScenarioEditor::OnMessageTrace(wxCommandEvent& event)
POST_MESSAGE(MessageTrace, (event.IsChecked())); POST_MESSAGE(MessageTrace, (event.IsChecked()));
} }
void ScenarioEditor::OnScreenshot(wxCommandEvent& WXUNUSED(event)) void ScenarioEditor::OnScreenshot(wxCommandEvent& event)
{ {
POST_MESSAGE(Screenshot, (10)); switch (event.GetId())
{
case ID_BigScreenshot:
POST_MESSAGE(Screenshot, (true, 10));
break;
case ID_Screenshot:
POST_MESSAGE(Screenshot, (false, 0));
break;
}
} }
void ScenarioEditor::OnJavaScript(wxCommandEvent& WXUNUSED(event)) void ScenarioEditor::OnJavaScript(wxCommandEvent& WXUNUSED(event))

View File

@ -45,8 +45,10 @@ MESSAGEHANDLER(MessageTrace)
MESSAGEHANDLER(Screenshot) MESSAGEHANDLER(Screenshot)
{ {
// TODO: allow non-big screenshots too if (msg->big)
WriteBigScreenshot(L".bmp", msg->tiles); WriteBigScreenshot(L".bmp", msg->tiles);
else
WriteScreenshot(L".png");
} }
QUERYHANDLER(CinemaRecord) QUERYHANDLER(CinemaRecord)

View File

@ -216,7 +216,8 @@ MESSAGE(MessageTrace,
); );
MESSAGE(Screenshot, MESSAGE(Screenshot,
((int, tiles)) // the final image will be (640*tiles)x(480*tiles) ((bool, big))
((int, tiles)) // For big screenshots: the final image will be (640*tiles)x(480*tiles)
); );
#ifndef MESSAGES_SKIP_STRUCTS #ifndef MESSAGES_SKIP_STRUCTS