Skip to content

Commit

Permalink
Made FSAA option accessible via script
Browse files Browse the repository at this point in the history
  • Loading branch information
HumanGamer committed Mar 5, 2024
1 parent e832e8e commit eab185c
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 2 deletions.
13 changes: 12 additions & 1 deletion engine/source/gfx/gfxDevice.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -756,7 +756,7 @@ ConsoleFunction(getResolutionList, const char*, 1, 2, "getResolutionList([minimu
return returnString;
}

ConsoleFunction(setVideoMode, void, 5, 5, "setVideoMode(width, height, bit depth, fullscreen)")
ConsoleFunction(setVideoMode, void, 5, 6, "setVideoMode(width, height, bit depth, fullscreen, [antialiasLevel])")
{
GFXVideoMode vm = GFX->getVideoMode();
vm.resolution = Point2I(dAtoi(argv[1]), dAtoi(argv[2]));
Expand All @@ -766,6 +766,11 @@ ConsoleFunction(setVideoMode, void, 5, 5, "setVideoMode(width, height, bit depth

vm.fullScreen = fsType == 1;
vm.borderless = fsType == 2;

if (argc > 5)
vm.antialiasLevel = dAtoi(argv[5]);
else
vm.antialiasLevel = 0;

GFX->setVideoMode(vm);

Expand Down Expand Up @@ -833,6 +838,9 @@ ConsoleFunction(updateVideoMode, void, 1, 1, "updateVideoMode()")
vm.fullScreen = fsType == 1;
vm.borderless = fsType == 2;

int antialiasLevel = Con::getIntVariable("$pref::Video::FSAALevel", 0);
vm.antialiasLevel = antialiasLevel;

GFX->setVideoMode(vm);
}

Expand Down Expand Up @@ -865,6 +873,9 @@ ConsoleFunction(toggleFullScreen, void, 1, 1, "toggles between windowed and full
vm.resolution.y = h;
vm.bitDepth = d;

int antialiasLevel = Con::getIntVariable("$pref::Video::FSAALevel", 0);
vm.antialiasLevel = antialiasLevel;

GFX->setVideoMode(vm);
}

Expand Down
3 changes: 3 additions & 0 deletions engine/source/platformWin32/winWindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1069,12 +1069,15 @@ void Platform::initWindow(const Point2I& initialSize, const char* name)
d = 32;
}

int antialiasLevel = Con::getIntVariable("$pref::Video::FSAALevel", 0);

vm.resolution.x = w;
vm.resolution.y = h;
vm.bitDepth = d;
vm.fullScreen = fullscreenType == 1;
vm.borderless = fullscreenType == 2;
vm.refreshRate = 60; //HACK
vm.antialiasLevel = antialiasLevel;

winState.videoMode = new GFXVideoMode(vm);

Expand Down
2 changes: 2 additions & 0 deletions game/common/local/englishStrings.inf
Original file line number Diff line number Diff line change
Expand Up @@ -338,6 +338,8 @@ $Text::ReflectionDetailLevel = "Reflection Detail";
$Text::ReflectionDetailLevelOptions = "Nothing\tSky\tLevel and Sky\tLevel, Sky and Items\tEverything";
$Text::Framerate = "Framerate";
$Text::FramerateOptions = "Unlimited\tVsync\t30\t60\t75\t120\t200";
$Text::FSAALevel = "FSAA Level";
$Text::FSAALevelOptions = "0 (None)\t2\t4\t8";
$Text::MarbleSkin = "Marble Type";
$Text::UIStyle = "UI Style";
$Text::UIStyleOptions = "Mouse/Keyboard\tXbox 360";
Expand Down
3 changes: 3 additions & 0 deletions game/main.cs
Original file line number Diff line number Diff line change
Expand Up @@ -372,6 +372,9 @@ function initVideo()

if ($pref::Video::windowedRes $= "")
$pref::Video::windowedRes = "1280 720";

if ($pref::Video::FSAALevel $= "")
$pref::Video::FSAALevel = 0;
}

$canvasCreated = createCanvas("Marble Blast Ultra!");
Expand Down
14 changes: 13 additions & 1 deletion game/marble/client/ui/videoOptionsGui.gui
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ function videoOptionsGui::show(%this, %backGui)
$Option::initialDisplayMode = $pref::Video::fullScreen;
$Option::initialVsync = $pref::Video::Vsync;
$Option::initialFramerate = $pref::Video::Framerate;
//$Option::initialFSAALevel = $pref::Video::FSAALevel;

$Option::resList = getResolutionList("1280 720");

Expand Down Expand Up @@ -106,6 +107,8 @@ function videoOptionsGui::show(%this, %backGui)

videoOptionsList.addRow($Text::ReflectionDetailLevel, $Text::ReflectionDetailLevelOptions, 8); // reflection detail level

//videoOptionsList.addRow($Text::FSAALevel, $Text::FSAALevelOptions, 8); // fsaa level

videoOptionsList.addRow($Text::Framerate, $Text::FramerateOptions, 8); // framerate limit

for (%i = 0; %i < getFieldCount($Option::resList); %i++)
Expand Down Expand Up @@ -133,6 +136,7 @@ function videoOptionsGui::show(%this, %backGui)
$Option::fullScreen = 1;

$Option::reflection = $pref::Video::ReflectionDetailLevel;
//$Option::FSAALevel = $pref::Video::FSAALevel;

if ($pref::Video::VSync) {
$Option::framerate = 1;
Expand All @@ -157,6 +161,7 @@ function videoOptionsGui::show(%this, %backGui)
videoOptionsList.setOptionIndex(1, $Option::windowedRes);
videoOptionsList.setOptionIndex(2, $Option::fullScreen);
videoOptionsList.setOptionIndex(3, $Option::reflection);
//videoOptionsList.setOptionIndex(4, $Option::FSAALevel);
videoOptionsList.setOptionIndex(4, $Option::framerate);

RootGui.setA( $Text::OK );
Expand Down Expand Up @@ -196,6 +201,11 @@ function videoOptionsList::onOptionChange(%this, %increase)
$pref::Video::ReflectionDetailLevel = $Option::reflection;

echo("Reflection Detail Level = " @ $pref::Video::ReflectionDetailLevel);
//case 4:
// $Option::FSAALevel = %val;
// $pref::Video::FSAALevel = $Option::FSAALevel;

// echo("FSAA Level = " @ $pref::Video::FSAALevel);
case 4:
if (%val == 0 || %val == 7) {
$pref::Video::VSync = false;
Expand All @@ -211,7 +221,7 @@ function videoOptionsList::onOptionChange(%this, %increase)
}
} else if (%val == 1) {
$pref::Video::VSync = true;
$pref::Video::Framerate = 0;
$pref::Video::Framerate = 0;
} else {
$pref::Video::VSync = false;
}
Expand Down Expand Up @@ -249,6 +259,8 @@ function videoOptionsGui::onA(%this)
%videoChanged = true;
if ($pref::Video::VSync !$= $Option::initialVSync)
%videoChanged = true;
//if ($pref::Video::FSAALevel !$= $Option::initialFSAALevel)
// %videoChanged = true;

if (%videoChanged)
{
Expand Down

0 comments on commit eab185c

Please sign in to comment.