Initial import of Red Planet v4.10 Win32 source

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>
This commit is contained in:
Cyd
2026-06-30 07:59:51 -05:00
co-authored by Claude Opus 4.8
commit 4abbf8879f
551 changed files with 254956 additions and 0 deletions
+78
View File
@@ -0,0 +1,78 @@
#include "munga.h"
#pragma hdrstop
#include "motion.h"
const Motion Motion::Identity(Vector3D::Identity, Vector3D::Identity);
#if defined(USE_SIGNATURE)
int Is_Signature_Bad(const volatile Motion *)
{
return False;
}
#endif
Motion::Motion(const Motion& motion)
{
Check_Pointer(this);
Check(&motion);
angularMotion = motion.angularMotion;
linearMotion = motion.linearMotion;
}
//
//###########################################################################
//###########################################################################
//
Motion& Motion::operator=(const Motion &motion)
{
Check_Pointer(this);
Check(&motion);
angularMotion = motion.angularMotion;
linearMotion = motion.linearMotion;
return *this;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
Logical Motion::operator==(const Motion &motion) const
{
Check(this);
return (memcmp(this, &motion, sizeof(Motion)) == 0);
}
//
//###########################################################################
//###########################################################################
//
Motion& Motion::AddScaled(const Motion& source, const Motion& delta, Scalar t)
{
Check_Pointer(this);
Check(&source);
Check(&delta);
Verify(t >= 0.0f);
linearMotion.AddScaled(source.linearMotion, delta.linearMotion, t);
angularMotion.AddScaled(source.angularMotion, delta.angularMotion, t);
return *this;
}
//
//###########################################################################
//###########################################################################
//
std::ostream& operator<<(std::ostream& stream, const Motion& p)
{
return stream << '{' << p.linearMotion << ',' << p.angularMotion << '}';
}
//
//###########################################################################
//###########################################################################
//
Logical Motion::TestInstance() const
{
return angularMotion.TestInstance();
}