mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-09-01 10:29:18 +02:00
custom sounds for cab controls configurable on per-item basis
This commit is contained in:
@@ -15,48 +15,16 @@ http://mozilla.org/MPL/2.0/.
|
||||
#include <string>
|
||||
#include <fstream>
|
||||
#include <ctime>
|
||||
#include <sys/stat.h>
|
||||
#include <vector>
|
||||
#include <sstream>
|
||||
|
||||
/*Ra: te stałe nie są używane...
|
||||
_FileName = ['a'..'z','A'..'Z',':','\','.','*','?','0'..'9','_','-'];
|
||||
_RealNum = ['0'..'9','-','+','.','E','e'];
|
||||
_Integer = ['0'..'9','-']; //Ra: to się gryzie z STLport w Builder 6
|
||||
_Plus_Int = ['0'..'9'];
|
||||
_All = [' '..'ţ'];
|
||||
_Delimiter= [',',';']+_EOL;
|
||||
_Delimiter_Space=_Delimiter+[' '];
|
||||
*/
|
||||
static char _EOL[2] = { (char)13, (char)10 };
|
||||
static char _Spacesigns[4] = { (char)' ', (char)9, (char)13, (char)10 };
|
||||
static std::string _spacesigns = " " + (char)9 + (char)13 + (char)10;
|
||||
static int const CutLeft = -1;
|
||||
static int const CutRight = 1;
|
||||
static int const CutBoth = 0; /*Cut_Space*/
|
||||
|
||||
extern int ConversionError;
|
||||
extern int LineCount;
|
||||
extern bool DebugModeFlag;
|
||||
extern bool FreeFlyModeFlag;
|
||||
|
||||
|
||||
typedef unsigned long/*?*//*set of: char */ TableChar; /*MCTUTIL*/
|
||||
|
||||
/*konwersje*/
|
||||
|
||||
/*funkcje matematyczne*/
|
||||
int Max0(int x1, int x2);
|
||||
int Min0(int x1, int x2);
|
||||
|
||||
double Max0R(double x1, double x2);
|
||||
double Min0R(double x1, double x2);
|
||||
|
||||
inline int Sign(int x)
|
||||
{
|
||||
return x >= 0 ? 1 : -1;
|
||||
}
|
||||
|
||||
inline double Sign(double x)
|
||||
{
|
||||
return x >= 0 ? 1.0 : -1.0;
|
||||
@@ -68,7 +36,7 @@ inline long Round(double const f)
|
||||
//return lround(f);
|
||||
}
|
||||
|
||||
extern double Random(double a, double b);
|
||||
double Random(double a, double b);
|
||||
|
||||
inline double Random()
|
||||
{
|
||||
@@ -94,10 +62,9 @@ inline double BorlandTime()
|
||||
std::string Now();
|
||||
|
||||
/*funkcje logiczne*/
|
||||
extern bool TestFlag(int Flag, int Value);
|
||||
extern bool SetFlag( int & Flag, int Value);
|
||||
extern bool iSetFlag( int & Flag, int Value);
|
||||
extern bool UnSetFlag(int &Flag, int Value);
|
||||
bool TestFlag(int Flag, int Value);
|
||||
bool SetFlag( int & Flag, int Value);
|
||||
bool UnSetFlag(int &Flag, int Value);
|
||||
|
||||
bool FuzzyLogic(double Test, double Threshold, double Probability);
|
||||
/*jesli Test>Threshold to losowanie*/
|
||||
@@ -139,40 +106,48 @@ std::string ToUpper(std::string const &text);
|
||||
// replaces polish letters with basic ascii
|
||||
void win1250_to_ascii( std::string &Input );
|
||||
|
||||
/*procedury, zmienne i funkcje graficzne*/
|
||||
void ComputeArc(double X0, double Y0, double Xn, double Yn, double R, double L, double dL, double & phi, double & Xout, double & Yout);
|
||||
/*wylicza polozenie Xout Yout i orientacje phi punktu na elemencie dL luku*/
|
||||
void ComputeALine(double X0, double Y0, double Xn, double Yn, double L, double R, double & Xout, double & Yout);
|
||||
/*
|
||||
inline bool fileExists(const std::string &name)
|
||||
{
|
||||
struct stat buffer;
|
||||
return (stat(name.c_str(), &buffer) == 0);
|
||||
}*/
|
||||
inline
|
||||
std::string
|
||||
extract_value( std::string const &Key, std::string const &Input ) {
|
||||
|
||||
std::string value;
|
||||
auto lookup = Input.find( Key + "=" );
|
||||
if( lookup != std::string::npos ) {
|
||||
value = Input.substr( Input.find_first_not_of( ' ', lookup + Key.size() + 1 ) );
|
||||
lookup = value.find( ' ' );
|
||||
if( lookup != std::string::npos ) {
|
||||
// trim everything past the value
|
||||
value.erase( lookup );
|
||||
}
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
template <typename Type_>
|
||||
bool
|
||||
extract_value( Type_ &Variable, std::string const &Key, std::string const &Input, std::string const &Default ) {
|
||||
|
||||
auto value = extract_value( Key, Input );
|
||||
if( false == value.empty() ) {
|
||||
// set the specified variable to retrieved value
|
||||
std::stringstream converter;
|
||||
converter << value;
|
||||
converter >> Variable;
|
||||
return true; // located the variable
|
||||
}
|
||||
else {
|
||||
// set the variable to provided default value
|
||||
if( false == Default.empty() ) {
|
||||
std::stringstream converter;
|
||||
converter << Default;
|
||||
converter >> Variable;
|
||||
}
|
||||
return false; // couldn't locate the variable in provided input
|
||||
}
|
||||
}
|
||||
|
||||
template <>
|
||||
bool
|
||||
extract_value( bool &Variable, std::string const &Key, std::string const &Input, std::string const &Default );
|
||||
|
||||
bool FileExists( std::string const &Filename );
|
||||
/*
|
||||
extern double Xmin;
|
||||
extern double Ymin;
|
||||
extern double Xmax;
|
||||
extern double Ymax;
|
||||
extern double Xaspect;
|
||||
extern double Yaspect;
|
||||
extern double Hstep;
|
||||
extern double Vstep;
|
||||
extern int Vsize;
|
||||
extern int Hsize;
|
||||
|
||||
|
||||
// Converts horizontal screen coordinate into real X-coordinate.
|
||||
double Xhor( double h );
|
||||
|
||||
// Converts vertical screen coordinate into real Y-coordinate.
|
||||
double Yver( double v );
|
||||
|
||||
long Horiz(double x);
|
||||
|
||||
long Vert(double Y);
|
||||
*/
|
||||
|
||||
void ClearPendingExceptions();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user