- Joined
- Jul 19, 2014
- Messages
- 172
- Reaction score
- 1
- Points
- 18
- Location
- MilkyWay/OrionArm/SolarSystem/Earth
Hi everyone. I'm trying to create a planet module but I have no idea of how to do it. Can you help me? (I have VS2013)
#pragma once
#define _USE_MATH_DEFINES
#define ORBITER_MODULE
#include "OrbiterAPI.h"
#include "CelbodyAPI.h"
class DLLEXPORT CRISTIANO: public CELBODY2
{
public:
CRISTIANO(OBJHANDLE hObj);
~CRISTIANO();
void clbkInit (FILEHANDLE cfg);
int clbkEphemeris (double mjd, int req, double *ret);
int clbkFastEphemeris (double simt, int req, double *ret);
bool bEphemeris() const { return true; }
};
#include "celbody.h"
DLLCLBK CELBODY *InitInstance (OBJHANDLE hBody) { return new CRISTIANO(hBody); }
DLLCLBK void ExitInstance (CELBODY *body) { delete (CRISTIANO*)body; }
void __cdecl dummy(void) {}
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
CRISTIANO::CRISTIANO(OBJHANDLE hObj): CELBODY2 (hObj)
{
}
CRISTIANO::~CRISTIANO()
{
}
void CRISTIANO::clbkInit(FILEHANDLE cfg)
{
}
int CRISTIANO::clbkEphemeris(double mjd, int req, double *ret)
{
// Calculate the body state
// Change the flags as appropriate
return EPHEM_TRUEPOS | EPHEM_TRUEVEL | EPHEM_PARENTBARY | EPHEM_BARYISTRUE;
}
int CRISTIANO::clbkFastEphemeris(double simt, int req, double *ret)
{
return clbkEphemeris(oapiTime2MJD(simt), req, ret);
}