Moved Foot Ranking model to Steps.cpp
This commit is contained in:
@@ -1,39 +0,0 @@
|
||||
#include "global.h"
|
||||
/*
|
||||
-----------------------------------------------------------------------------
|
||||
Class: FootModel
|
||||
|
||||
Desc: See header.
|
||||
|
||||
Copyright (c) 2003 by the person(s) listed below. All rights reserved.
|
||||
David Wilson
|
||||
-----------------------------------------------------------------------------
|
||||
*/
|
||||
#include "Steps.h"
|
||||
#include "FootModel.h"
|
||||
|
||||
|
||||
FootModel::FootModel(Steps* model)
|
||||
{
|
||||
//Define and Init Non-Radar Values
|
||||
double SV;
|
||||
double ChaosSquare;
|
||||
SV = model->GetRadarValues()[RADAR_STREAM] * model->GetRadarValues()[RADAR_VOLTAGE];
|
||||
ChaosSquare = model->GetRadarValues()[RADAR_CHAOS] * model->GetRadarValues()[RADAR_CHAOS];
|
||||
|
||||
m_predictedMeter = BETA_ZERO;
|
||||
m_predictedMeter += STREAM * model->GetRadarValues()[RADAR_STREAM];
|
||||
m_predictedMeter += VOLTAGE * model->GetRadarValues()[RADAR_VOLTAGE];
|
||||
m_predictedMeter += AIR * model->GetRadarValues()[RADAR_AIR];
|
||||
m_predictedMeter += FREEZE * model->GetRadarValues()[RADAR_FREEZE];
|
||||
m_predictedMeter += CHAOS * model->GetRadarValues()[RADAR_CHAOS];
|
||||
m_predictedMeter += SXV * SV;
|
||||
m_predictedMeter += CSQUARE * ChaosSquare;
|
||||
if (model->GetDifficulty() == DIFFICULTY_HARD) m_predictedMeter += HEAVY;
|
||||
if (model->GetDifficulty() == DIFFICULTY_EASY) m_predictedMeter += LIGHT;
|
||||
}
|
||||
|
||||
double FootModel::GetPMeter()
|
||||
{
|
||||
return m_predictedMeter;
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
#ifndef FOOTMODEL_H
|
||||
#define FOOTMODEL_H
|
||||
/*
|
||||
-----------------------------------------------------------------------------
|
||||
File: FootModel.h
|
||||
|
||||
Desc: Holds the equation for the statistical model for determining foot
|
||||
ranking from Groove Radar and difficulty
|
||||
|
||||
Copyright (c) 2003 by the person(s) listed below. All rights reserved.
|
||||
David Wilson
|
||||
-----------------------------------------------------------------------------
|
||||
*/
|
||||
/*
|
||||
Meter = 0.775 + 10.1 Stream + 5.27 Voltage - 0.905 Air - 1.10 Freeze
|
||||
+ 2.86 Chaos + 0.722 Heavy - 0.877 Light - 6.35 SV Interaction
|
||||
- 2.58 CSQ
|
||||
*/
|
||||
class FootModel
|
||||
{
|
||||
private:
|
||||
|
||||
//Model Coefficients
|
||||
#define BETA_ZERO (0.775)
|
||||
#define STREAM (10.1)
|
||||
#define VOLTAGE (5.27)
|
||||
#define AIR (-0.905)
|
||||
#define FREEZE (-1.10)
|
||||
#define CHAOS (2.86)
|
||||
#define HEAVY (0.722)
|
||||
#define LIGHT (-0.877)
|
||||
#define SXV (-6.35) // Square/Voltage Interaction Varible
|
||||
#define CSQUARE (-2.58)
|
||||
double m_predictedMeter;
|
||||
|
||||
public:
|
||||
FootModel(Steps* model);
|
||||
double GetPMeter();
|
||||
};
|
||||
#endif
|
||||
+33
-52
@@ -62,10 +62,10 @@ LINK32=link.exe
|
||||
# SUBTRACT LINK32 /verbose /profile /pdb:none /incremental:no /nodefaultlib
|
||||
# Begin Special Build Tool
|
||||
IntDir=.\../Debug6
|
||||
TargetDir=\temp\stepmania\Program
|
||||
TargetDir=\stepmania\stepmania\Program
|
||||
TargetName=StepMania-debug
|
||||
SOURCE="$(InputPath)"
|
||||
PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
|
||||
PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
|
||||
PostBuild_Cmds=disasm\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi
|
||||
# End Special Build Tool
|
||||
|
||||
@@ -82,24 +82,24 @@ PostBuild_Cmds=disasm\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
CPP=cl.exe
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_XBOX" /D "_DEBUG" /YX /FD /G6 /Ztmp /c
|
||||
# ADD CPP /nologo /W3 /Gm /GX /Zi /Od /I "." /I "SDL-1.2.5\include" /I "SDL_image-1.2" /I "plib-1.6.0" /I "SDL_sound-1.0.0" /D "WIN32" /D "_XBOX" /D "_DEBUG" /D "OGG_ONLY" /YX /FD /G6 /Ztmp /c
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 xapilibd.lib d3d8d.lib d3dx8d.lib xgraphicsd.lib dsoundd.lib dmusicd.lib xnetd.lib xboxkrnl.lib /nologo /incremental:no /debug /machine:I386 /subsystem:xbox /fixed:no /TMP
|
||||
# ADD LINK32 xapilibd.lib d3d8d.lib d3dx8d.lib xgraphicsd.lib dsoundd.lib dmusicd.lib xnetd.lib xboxkrnl.lib /nologo /incremental:no /debug /machine:I386 /nodefaultlib:"libcd" /nodefaultlib:"libcmt" /out:"../StepManiaXbox-debug.exe" /subsystem:xbox /fixed:no /TMP
|
||||
XBE=imagebld.exe
|
||||
# ADD BASE XBE /nologo /stack:0x10000 /debug
|
||||
# ADD XBE /nologo /stack:0x10000 /debug /out:"../default.xbe"
|
||||
XBCP=xbecopy.exe
|
||||
# ADD BASE XBCP /NOLOGO
|
||||
# ADD XBCP /NOLOGO
|
||||
XBE=imagebld.exe
|
||||
# ADD BASE XBE /nologo /stack:0x10000 /debug
|
||||
# ADD XBE /nologo /stack:0x10000 /debug /out:"../default.xbe"
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 xapilibd.lib d3d8d.lib d3dx8d.lib xgraphicsd.lib dsoundd.lib dmusicd.lib xnetd.lib xboxkrnl.lib /nologo /incremental:no /debug /machine:I386 /subsystem:xbox /fixed:no /TMP
|
||||
# ADD LINK32 xapilibd.lib d3d8d.lib d3dx8d.lib xgraphicsd.lib dsoundd.lib dmusicd.lib xnetd.lib xboxkrnl.lib /nologo /incremental:no /debug /machine:I386 /nodefaultlib:"libcd" /nodefaultlib:"libcmt" /out:"../StepManiaXbox-debug.exe" /subsystem:xbox /fixed:no /TMP
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
CPP=cl.exe
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_XBOX" /D "_DEBUG" /YX /FD /G6 /Ztmp /c
|
||||
# ADD CPP /nologo /W3 /Gm /GX /Zi /Od /I "." /I "SDL-1.2.5\include" /I "SDL_image-1.2" /I "plib-1.6.0" /I "SDL_sound-1.0.0" /D "WIN32" /D "_XBOX" /D "_DEBUG" /D "OGG_ONLY" /YX /FD /G6 /Ztmp /c
|
||||
# Begin Special Build Tool
|
||||
PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp \
|
||||
/Fo$(IntDir)\
|
||||
PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp \
|
||||
/Fo$(IntDir)\
|
||||
PostBuild_Cmds=disasm\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi ia32.vdi
|
||||
# End Special Build Tool
|
||||
|
||||
@@ -136,10 +136,10 @@ LINK32=link.exe
|
||||
# SUBTRACT LINK32 /verbose /pdb:none
|
||||
# Begin Special Build Tool
|
||||
IntDir=.\../Release6
|
||||
TargetDir=\temp\stepmania\Program
|
||||
TargetDir=\stepmania\stepmania\Program
|
||||
TargetName=StepMania
|
||||
SOURCE="$(InputPath)"
|
||||
PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
|
||||
PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
|
||||
PostBuild_Cmds=disasm\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi
|
||||
# End Special Build Tool
|
||||
|
||||
@@ -157,27 +157,27 @@ PostBuild_Cmds=disasm\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania
|
||||
# PROP Intermediate_Dir "StepMania___Xbox_Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
CPP=cl.exe
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /I "." /I "SDL-1.2.5\include" /I "SDL_image-1.2" /I "plib-1.6.0" /D "WIN32" /D "_XBOX" /D "_DEBUG" /Fr /YX"global.h" /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "." /I "SDL-1.2.5\include" /I "SDL_image-1.2" /I "plib-1.6.0" /I "SDL_sound-1.0.0" /D "WIN32" /D "_XBOX" /D "NDEBUG" /YX"global.h" /FD /c
|
||||
# SUBTRACT CPP /Fr
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
XBCP=xbecopy.exe
|
||||
# ADD BASE XBCP /NOLOGO
|
||||
# ADD XBCP /NOLOGO
|
||||
XBE=imagebld.exe
|
||||
# ADD BASE XBE /nologo /stack:0x10000 /debug
|
||||
# ADD XBE /nologo /testid:"123456" /stack:0x10000 /debug /out:"../default.xbe"
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 $(intdir)\verstub.obj xapilibd.lib d3d8d.lib d3dx8d.lib xgraphicsd.lib dsoundd.lib dmusicd.lib xnetd.lib xboxkrnl.lib /nologo /pdb:"../debug6/StepMania-debug.pdb" /map /debug /machine:IX86 /nodefaultlib:"libcmtd.lib" /out:"../StepMania-debug.exe"
|
||||
# SUBTRACT BASE LINK32 /verbose /profile /pdb:none /incremental:no /nodefaultlib
|
||||
# ADD LINK32 $(intdir)\verstub.obj xapilib.lib d3d8.lib d3dx8.lib xgraphics.lib dsound.lib dmusic.lib xnet.lib xboxkrnl.lib libcmt.lib /nologo /incremental:no /pdb:"../release6xbox/StepMania.pdb" /machine:I386 /nodefaultlib:"libc" /nodefaultlib:"libcmtd" /out:"../StepManiaXbox.exe" /subsystem:xbox /fixed:no /TMP /OPT:REF
|
||||
# SUBTRACT LINK32 /pdb:none /map /debug
|
||||
XBE=imagebld.exe
|
||||
# ADD BASE XBE /nologo /stack:0x10000 /debug
|
||||
# ADD XBE /nologo /testid:"123456" /stack:0x10000 /debug /out:"../default.xbe"
|
||||
XBCP=xbecopy.exe
|
||||
# ADD BASE XBCP /NOLOGO
|
||||
# ADD XBCP /NOLOGO
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
CPP=cl.exe
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /I "." /I "SDL-1.2.5\include" /I "SDL_image-1.2" /I "plib-1.6.0" /D "WIN32" /D "_XBOX" /D "_DEBUG" /Fr /YX"global.h" /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "." /I "SDL-1.2.5\include" /I "SDL_image-1.2" /I "plib-1.6.0" /I "SDL_sound-1.0.0" /D "WIN32" /D "_XBOX" /D "NDEBUG" /YX"global.h" /FD /c
|
||||
# SUBTRACT CPP /Fr
|
||||
# Begin Special Build Tool
|
||||
PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp \
|
||||
/Fo$(IntDir)\
|
||||
PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp \
|
||||
/Fo$(IntDir)\
|
||||
PostBuild_Cmds=disasm\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi ia32.vdi
|
||||
# End Special Build Tool
|
||||
|
||||
@@ -1184,25 +1184,6 @@ SOURCE=.\FontCharmaps.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\FootModel.cpp
|
||||
|
||||
!IF "$(CFG)" == "StepMania - Win32 Debug"
|
||||
|
||||
!ELSEIF "$(CFG)" == "StepMania - Xbox Debug"
|
||||
|
||||
!ELSEIF "$(CFG)" == "StepMania - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "StepMania - Xbox Release"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\FootModel.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\GameConstantsAndTypes.cpp
|
||||
|
||||
!IF "$(CFG)" == "StepMania - Win32 Debug"
|
||||
|
||||
@@ -110,6 +110,29 @@ void Steps::GetSMNoteData( CString ¬es_comp_out, CString &attacks_comp_out )
|
||||
attacks_comp_out = notes_comp->attacks;
|
||||
}
|
||||
|
||||
float Steps::PredictMeter()
|
||||
{
|
||||
//Define and Init Non-Radar Values
|
||||
float SV;
|
||||
float ChaosSquare;
|
||||
float pMeter;
|
||||
SV = this->GetRadarValues()[RADAR_STREAM] * this->GetRadarValues()[RADAR_VOLTAGE];
|
||||
ChaosSquare = this->GetRadarValues()[RADAR_CHAOS] * this->GetRadarValues()[RADAR_CHAOS];
|
||||
|
||||
pMeter = BETA_ZERO;
|
||||
pMeter += STREAM * this->GetRadarValues()[RADAR_STREAM];
|
||||
pMeter += VOLTAGE * this->GetRadarValues()[RADAR_VOLTAGE];
|
||||
pMeter += AIR * this->GetRadarValues()[RADAR_AIR];
|
||||
pMeter += FREEZE * this->GetRadarValues()[RADAR_FREEZE];
|
||||
pMeter += CHAOS * this->GetRadarValues()[RADAR_CHAOS];
|
||||
pMeter += SXV * SV;
|
||||
pMeter += CSQUARE * ChaosSquare;
|
||||
if (this->GetDifficulty() == DIFFICULTY_HARD) pMeter += HEAVY;
|
||||
if (this->GetDifficulty() == DIFFICULTY_EASY) pMeter += LIGHT;
|
||||
return pMeter;
|
||||
}
|
||||
|
||||
|
||||
void Steps::TidyUpData()
|
||||
{
|
||||
if( GetDifficulty() == DIFFICULTY_INVALID )
|
||||
|
||||
+14
-2
@@ -18,6 +18,18 @@
|
||||
#include "Grade.h"
|
||||
class NoteData;
|
||||
|
||||
//Model Coefficients
|
||||
#define BETA_ZERO (0.775f)
|
||||
#define STREAM (10.1f)
|
||||
#define VOLTAGE (5.27f)
|
||||
#define AIR (-0.905f)
|
||||
#define FREEZE (-1.10f)
|
||||
#define CHAOS (2.86f)
|
||||
#define HEAVY (0.722f)
|
||||
#define LIGHT (-0.877f)
|
||||
#define SXV (-6.35f) // Square/Voltage Interaction Varible
|
||||
#define CSQUARE (-2.58f)
|
||||
|
||||
class Steps
|
||||
{
|
||||
public:
|
||||
@@ -43,8 +55,8 @@ public:
|
||||
void SetMeter(int meter);
|
||||
void SetRadarValue(int r, float val);
|
||||
bool IsAutogen() const; // Was created by autogen?
|
||||
|
||||
|
||||
float PredictMeter();
|
||||
|
||||
StepsType m_StepsType;
|
||||
|
||||
void GetNoteData( NoteData* pNoteDataOut ) const;
|
||||
|
||||
Reference in New Issue
Block a user