From 61f64cfdb4e6b2e3d03f3135e20738ed600527d7 Mon Sep 17 00:00:00 2001 From: David Wilson Date: Thu, 18 Dec 2003 20:35:46 +0000 Subject: [PATCH] Moved Foot Ranking model to Steps.cpp --- stepmania/src/FootModel.cpp | 39 ----------------- stepmania/src/FootModel.h | 40 ----------------- stepmania/src/StepMania.dsp | 85 ++++++++++++++----------------------- stepmania/src/Steps.cpp | 23 ++++++++++ stepmania/src/Steps.h | 16 ++++++- 5 files changed, 70 insertions(+), 133 deletions(-) delete mode 100644 stepmania/src/FootModel.cpp delete mode 100644 stepmania/src/FootModel.h diff --git a/stepmania/src/FootModel.cpp b/stepmania/src/FootModel.cpp deleted file mode 100644 index 2a0c17e3a8..0000000000 --- a/stepmania/src/FootModel.cpp +++ /dev/null @@ -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; -} \ No newline at end of file diff --git a/stepmania/src/FootModel.h b/stepmania/src/FootModel.h deleted file mode 100644 index d535d05e61..0000000000 --- a/stepmania/src/FootModel.h +++ /dev/null @@ -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 \ No newline at end of file diff --git a/stepmania/src/StepMania.dsp b/stepmania/src/StepMania.dsp index 7b8a00d9b9..68f370f45e 100644 --- a/stepmania/src/StepMania.dsp +++ b/stepmania/src/StepMania.dsp @@ -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" diff --git a/stepmania/src/Steps.cpp b/stepmania/src/Steps.cpp index 4507eba059..0c1171a3b0 100644 --- a/stepmania/src/Steps.cpp +++ b/stepmania/src/Steps.cpp @@ -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 ) diff --git a/stepmania/src/Steps.h b/stepmania/src/Steps.h index 7ab4feed0d..cd80803db4 100644 --- a/stepmania/src/Steps.h +++ b/stepmania/src/Steps.h @@ -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;