Imports the current Win32 source for the pod-racing game 'Red Planet', built on the MUNGA engine and its L4 (Win32/DirectX) platform layer: - MUNGA / MUNGA_L4: cross-platform engine core and Win32 backend - RP / RP_L4: Red Planet game logic and Win32 application - DivLoader, Setup1: asset loader and installer project - lib, MUNGA_L4/openal, MUNGA_L4/sos: third-party audio dependencies Removed stale Subversion metadata and added .gitignore/.gitattributes. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
43 lines
1.2 KiB
C++
43 lines
1.2 KiB
C++
#include "munga.h"
|
|
#pragma hdrstop
|
|
|
|
#include "mtrxstk.h"
|
|
|
|
AffineMatrixStack& AffineMatrixStack::Concatenate(const AffineMatrix& matrix)
|
|
{
|
|
AffineMatrix *old_top = Cast_Object(AffineMatrix*,Peek());
|
|
AffineMatrix *new_top = (AffineMatrix*)MemoryStack::Push();
|
|
new_top->Multiply(*old_top,matrix);
|
|
return *this;
|
|
}
|
|
|
|
LinearMatrixStack& LinearMatrixStack::Concatenate(const LinearMatrix& matrix)
|
|
{
|
|
LinearMatrix *old_top = Cast_Object(LinearMatrix*,Peek());
|
|
LinearMatrix *new_top = (LinearMatrix*)MemoryStack::Push();
|
|
new_top->Multiply(*old_top,matrix);
|
|
return *this;
|
|
}
|
|
|
|
Matrix4x4Stack& Matrix4x4Stack::Concatenate(const Matrix4x4& matrix)
|
|
{
|
|
Matrix4x4 *old_top = Cast_Object(Matrix4x4*,Peek());
|
|
Matrix4x4 *new_top = (Matrix4x4*)MemoryStack::Push();
|
|
new_top->Multiply(*old_top,matrix);
|
|
return *this;
|
|
}
|
|
|
|
Matrix4x4Stack& Matrix4x4Stack::Concatenate(const AffineMatrix& matrix)
|
|
{
|
|
Matrix4x4 *old_top = Cast_Object(Matrix4x4*,Peek());
|
|
Matrix4x4 *new_top = (Matrix4x4*)MemoryStack::Push();
|
|
new_top->Multiply(*old_top,matrix);
|
|
return *this;
|
|
}
|
|
|
|
Matrix4x4& Matrix4x4Stack::Push(const AffineMatrix& matrix)
|
|
{
|
|
Matrix4x4 *new_top = (Matrix4x4*)MemoryStack::Push();
|
|
return *new_top = matrix;
|
|
}
|