From 2478db9d374e87807c90f5844939c8eddb256785 Mon Sep 17 00:00:00 2001 From: Benoit Bolsee Date: Sat, 18 Feb 2012 15:25:31 +0000 Subject: BGE bug #30173: ImageRender not working when initialized on frame 1. This was because the canvas display area was initialized on render frame 1, which happens after logic frame 1. Fixed in blender and player by initializing the area on canvas creation. --- source/gameengine/BlenderRoutines/KX_BlenderCanvas.cpp | 2 ++ source/gameengine/GamePlayer/common/GPC_Canvas.cpp | 5 +++++ 2 files changed, 7 insertions(+) (limited to 'source/gameengine') diff --git a/source/gameengine/BlenderRoutines/KX_BlenderCanvas.cpp b/source/gameengine/BlenderRoutines/KX_BlenderCanvas.cpp index 7e7b3d2e3d4..0abea7fa28e 100644 --- a/source/gameengine/BlenderRoutines/KX_BlenderCanvas.cpp +++ b/source/gameengine/BlenderRoutines/KX_BlenderCanvas.cpp @@ -39,6 +39,8 @@ KX_BlenderCanvas::KX_BlenderCanvas(struct wmWindow *win, RAS_Rect &rect, struct m_win(win), m_frame_rect(rect) { + // initialize area so that it's available for game logic on frame 1 (ImageViewport) + m_area_rect = rect; // area boundaries needed for mouse coordinates in Letterbox framing mode m_area_left = ar->winrct.xmin; m_area_top = ar->winrct.ymax; diff --git a/source/gameengine/GamePlayer/common/GPC_Canvas.cpp b/source/gameengine/GamePlayer/common/GPC_Canvas.cpp index df1bf31ec12..82950f571f9 100644 --- a/source/gameengine/GamePlayer/common/GPC_Canvas.cpp +++ b/source/gameengine/GamePlayer/common/GPC_Canvas.cpp @@ -52,6 +52,11 @@ GPC_Canvas::GPC_Canvas( m_height(height), m_bannersEnabled(false) { + // initialize area so that it's available for game logic on frame 1 (ImageViewport) + m_displayarea.m_x1 = 0; + m_displayarea.m_y1 = 0; + m_displayarea.m_x2 = width; + m_displayarea.m_y2 = height; } -- cgit v1.2.3