A Classic Fairytale: Harden all missions against missing campaign variables in team file and assume default values
This assumes the worst case in which the team file is missing all campaign variables except Progress.
This has been successfully tested with all 10 missions and still generates a logical storyline.
By default, the game assumes:
- The cyborg's offer in mission 2 was refused
- The traitor in mission 5 was killed
As a consequence, missions 8 and 10 use the princessScene cut scene.
#ifndef PMATH_H_
#define PMATH_H_
#include <stdint.h>
#include <math.h>
#define fpcrtl_min(a, b) ((a) < (b) ? (a) : (b))
#define fpcrtl_max(a, b) ((a) > (b) ? (a) : (b))
float fpcrtl_power(float base, float exponent);
/* Currently the games only uses sign of an integer */
int fpcrtl_signi(int x);
float fpcrtl_csc(float x);
#define fpcrtl_arctan2(y, x) atan2(y, x)
float __attribute__((overloadable)) fpcrtl_abs(float x);
double __attribute__((overloadable)) fpcrtl_abs(double x);
int __attribute__((overloadable)) fpcrtl_abs(int x);
int64_t __attribute__((overloadable)) fpcrtl_abs(int64_t x);
/* emscripten cannot find math.h through our cmake */
#ifdef EMSCRIPTEN
double exp(double);
double log(double);
double sin(double);
double cos(double);
double fabs(double);
double ceil(double);
double sqrt(double);
double atan(double);
double atan2(double, double);
#endif
#endif /* PMATH_H_ */