more easier access to common variables
This commit is contained in:
@@ -363,13 +363,13 @@ public class Slider extends GameObject {
|
||||
float followCircleScale = 1f + (tickExpandTime / (float) TICK_EXPAND_TIME) * 0.1f;
|
||||
float followAlpha = 1f;
|
||||
if (followCircleActive && followExpandTime < FOLLOW_EXPAND_TIME) {
|
||||
followExpandTime += displayContainer.renderDelta;
|
||||
followExpandTime += renderDelta;
|
||||
followCircleScale *= 0.5f;
|
||||
float progress = AnimationEquation.OUT_QUAD.calc((float) followExpandTime / FOLLOW_EXPAND_TIME);
|
||||
followCircleScale = followCircleScale + followCircleScale * progress;
|
||||
followAlpha = progress;
|
||||
} else if (!followCircleActive) {
|
||||
followExpandTime -= displayContainer.renderDelta;
|
||||
followExpandTime -= renderDelta;
|
||||
if (followExpandTime > FOLLOW_SHRINK_TIME) {
|
||||
followExpandTime = FOLLOW_SHRINK_TIME;
|
||||
}
|
||||
|
||||
@@ -226,14 +226,14 @@ public class ButtonMenu extends BaseOpsuState {
|
||||
super.preRenderUpdate();
|
||||
GameMod hoverMod = null;
|
||||
for (GameMod mod : GameMod.values()) {
|
||||
mod.hoverUpdate(displayContainer.renderDelta, mod.isActive());
|
||||
if (hoverMod == null && mod.contains(displayContainer.mouseX, displayContainer.mouseY))
|
||||
mod.hoverUpdate(renderDelta, mod.isActive());
|
||||
if (hoverMod == null && mod.contains(mouseX, mouseY))
|
||||
hoverMod = mod;
|
||||
}
|
||||
|
||||
// tooltips
|
||||
if (hoverMod != null) {
|
||||
UI.updateTooltip(displayContainer.renderDelta, hoverMod.getDescription(), true);
|
||||
UI.updateTooltip(renderDelta, hoverMod.getDescription(), true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -340,11 +340,11 @@ public class ButtonMenu extends BaseOpsuState {
|
||||
* Updates the menu state.
|
||||
*/
|
||||
public void preRenderUpdate() {
|
||||
boolean centerOffsetUpdated = centerOffset.update(displayContainer.renderDelta);
|
||||
boolean centerOffsetUpdated = centerOffset.update(renderDelta);
|
||||
float centerOffsetX = centerOffset.getValue();
|
||||
final float[] offsets = { centerOffsetX, - centerOffsetX };
|
||||
for (int i = 0; i < buttons.length; i++) {
|
||||
menuButtons[i].hoverUpdate(displayContainer.renderDelta, displayContainer.mouseX, displayContainer.mouseY);
|
||||
menuButtons[i].hoverUpdate(renderDelta, mouseX, mouseY);
|
||||
|
||||
// move button to center
|
||||
if (centerOffsetUpdated) {
|
||||
@@ -622,7 +622,7 @@ public class ButtonMenu extends BaseOpsuState {
|
||||
public void preRenderUpdate() {
|
||||
super.preRenderUpdate();
|
||||
|
||||
UI.update(displayContainer.renderDelta);
|
||||
UI.update(renderDelta);
|
||||
MusicController.loopTrackIfEnded(false);
|
||||
menuState.preRenderUpdate();
|
||||
}
|
||||
|
||||
@@ -364,7 +364,7 @@ public class DownloadsMenu extends ComplexOpsuState {
|
||||
// dropdown menu
|
||||
int serverWidth = (int) (width * 0.12f);
|
||||
int x = baseX + searchWidth + buttonMarginX * 3 + resetButtonWidth + rankedButtonWidth;
|
||||
serverMenu = new DropdownMenu<DownloadServer>(displayContainer, SERVERS, x, searchY, serverWidth) {
|
||||
serverMenu = new DropdownMenu<DownloadServer>(SERVERS, x, searchY, serverWidth) {
|
||||
@Override
|
||||
public void itemSelected(int index, DownloadServer item) {
|
||||
resultList = null;
|
||||
@@ -433,7 +433,7 @@ public class DownloadsMenu extends ComplexOpsuState {
|
||||
if (index >= nodes.length)
|
||||
break;
|
||||
nodes[index].drawResult(g, offset + i * DownloadNode.getButtonOffset(),
|
||||
DownloadNode.resultContains(displayContainer.mouseX, displayContainer.mouseY - offset, i) && !serverMenu.isHovered(),
|
||||
DownloadNode.resultContains(mouseX, mouseY - offset, i) && !serverMenu.isHovered(),
|
||||
(index == focusResult), (previewID == nodes[index].getID()));
|
||||
}
|
||||
g.clearClip();
|
||||
@@ -479,7 +479,7 @@ public class DownloadsMenu extends ComplexOpsuState {
|
||||
if (node == null)
|
||||
break;
|
||||
node.drawDownload(g, i * DownloadNode.getInfoHeight() + offset, index,
|
||||
DownloadNode.downloadContains(displayContainer.mouseX, displayContainer.mouseY - offset, i));
|
||||
DownloadNode.downloadContains(mouseX, mouseY - offset, i));
|
||||
}
|
||||
g.clearClip();
|
||||
|
||||
@@ -516,7 +516,7 @@ public class DownloadsMenu extends ComplexOpsuState {
|
||||
public void preRenderUpdate() {
|
||||
super.preRenderUpdate();
|
||||
|
||||
int delta = displayContainer.renderDelta;
|
||||
int delta = renderDelta;
|
||||
UI.update(delta);
|
||||
if (importThread == null)
|
||||
MusicController.loopTrackIfEnded(false);
|
||||
@@ -537,8 +537,6 @@ public class DownloadsMenu extends ComplexOpsuState {
|
||||
}
|
||||
importThread = null;
|
||||
}
|
||||
int mouseX = displayContainer.mouseX;
|
||||
int mouseY = displayContainer.mouseY;
|
||||
backButton.hoverUpdate(delta, mouseX, mouseY);
|
||||
prevPage.hoverUpdate(delta, mouseX, mouseY);
|
||||
nextPage.hoverUpdate(delta, mouseX, mouseY);
|
||||
@@ -846,7 +844,7 @@ public class DownloadsMenu extends ComplexOpsuState {
|
||||
}
|
||||
|
||||
int shift = (newValue < 0) ? 1 : -1;
|
||||
scrollLists(displayContainer.mouseX, displayContainer.mouseY, shift);
|
||||
scrollLists(mouseX, mouseY, shift);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -316,8 +316,8 @@ public class Game extends ComplexOpsuState {
|
||||
public Game() {
|
||||
super();
|
||||
mirrorCursor = new Cursor(true);
|
||||
this.moveStoryboardOverlay = new MoveStoryboard(displayContainer);
|
||||
this.optionsOverlay = new OptionsOverlay(displayContainer, OptionGroups.storyboardOptions);
|
||||
this.moveStoryboardOverlay = new MoveStoryboard();
|
||||
this.optionsOverlay = new OptionsOverlay(OptionGroups.storyboardOptions);
|
||||
this.storyboardOverlay = new StoryboardOverlay(moveStoryboardOverlay, optionsOverlay, this);
|
||||
storyboardOverlay.show();
|
||||
moveStoryboardOverlay.show();
|
||||
@@ -448,23 +448,23 @@ public class Game extends ComplexOpsuState {
|
||||
// draw alpha map around cursor
|
||||
g.setDrawMode(Graphics.MODE_ALPHA_MAP);
|
||||
g.clearAlphaMap();
|
||||
int mouseX, mouseY;
|
||||
int mx, my;
|
||||
if (pauseTime > -1 && pausedMousePosition != null) {
|
||||
mouseX = (int) pausedMousePosition.x;
|
||||
mouseY = (int) pausedMousePosition.y;
|
||||
mx = (int) pausedMousePosition.x;
|
||||
my = (int) pausedMousePosition.y;
|
||||
} else if (GameMod.AUTO.isActive() || GameMod.AUTOPILOT.isActive()) {
|
||||
mouseX = (int) autoMousePosition.x;
|
||||
mouseY = (int) autoMousePosition.y;
|
||||
mx = (int) autoMousePosition.x;
|
||||
my = (int) autoMousePosition.y;
|
||||
} else if (isReplay) {
|
||||
mouseX = replayX;
|
||||
mouseY = replayY;
|
||||
mx = replayX;
|
||||
my = replayY;
|
||||
} else {
|
||||
mouseX = displayContainer.mouseX;
|
||||
mouseY = displayContainer.mouseY;
|
||||
mx = mouseX;
|
||||
my = mouseY;
|
||||
}
|
||||
int alphaRadius = flashlightRadius * 256 / 215;
|
||||
int alphaX = mouseX - alphaRadius / 2;
|
||||
int alphaY = mouseY - alphaRadius / 2;
|
||||
int alphaX = mx - alphaRadius / 2;
|
||||
int alphaY = my - alphaRadius / 2;
|
||||
GameImage.ALPHA_MAP.getImage().draw(alphaX, alphaY, alphaRadius, alphaRadius);
|
||||
|
||||
// blend offscreen image
|
||||
@@ -676,7 +676,7 @@ public class Game extends ComplexOpsuState {
|
||||
|
||||
// draw music position bar (for replay seeking)
|
||||
if (isReplay && OPTION_REPLAY_SEEKING.state) {
|
||||
g.setColor((musicPositionBarContains(displayContainer.mouseX, displayContainer.mouseY)) ? MUSICBAR_HOVER : MUSICBAR_NORMAL);
|
||||
g.setColor((musicPositionBarContains(mouseX, mouseY)) ? MUSICBAR_HOVER : MUSICBAR_NORMAL);
|
||||
g.fillRoundRect(musicBarX, musicBarY, musicBarWidth, musicBarHeight, 4);
|
||||
if (!isLeadIn()) {
|
||||
g.setColor(MUSICBAR_FILL);
|
||||
@@ -721,7 +721,7 @@ public class Game extends ComplexOpsuState {
|
||||
public void preRenderUpdate() {
|
||||
super.preRenderUpdate();
|
||||
|
||||
int delta = displayContainer.renderDelta;
|
||||
int delta = renderDelta;
|
||||
|
||||
UI.update(delta);
|
||||
Pippi.update(delta);
|
||||
@@ -729,8 +729,6 @@ public class Game extends ComplexOpsuState {
|
||||
epiImgTime -= delta;
|
||||
}
|
||||
yugecin.opsudance.spinners.Spinner.update(delta);
|
||||
int mouseX = displayContainer.mouseX;
|
||||
int mouseY = displayContainer.mouseY;
|
||||
skipButton.hoverUpdate(delta, mouseX, mouseY);
|
||||
if (isReplay || GameMod.AUTO.isActive())
|
||||
playbackSpeed.getButton().hoverUpdate(delta, mouseX, mouseY);
|
||||
@@ -914,7 +912,7 @@ public class Game extends ComplexOpsuState {
|
||||
} else if (GameMod.AUTOPILOT.isActive()) {
|
||||
displayContainer.cursor.setCursorPosition(displayContainer.delta, (int) autoMousePosition.x, (int) autoMousePosition.y);
|
||||
} else {
|
||||
displayContainer.cursor.setCursorPosition(displayContainer.delta, displayContainer.mouseX, displayContainer.mouseY);
|
||||
displayContainer.cursor.setCursorPosition(displayContainer.delta, mouseX, mouseY);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1104,8 +1102,6 @@ public class Game extends ComplexOpsuState {
|
||||
}
|
||||
|
||||
int trackPosition = MusicController.getPosition();
|
||||
int mouseX = displayContainer.mouseX;
|
||||
int mouseY = displayContainer.mouseY;
|
||||
|
||||
// game keys
|
||||
if (!Keyboard.isRepeatEvent()) {
|
||||
@@ -1602,7 +1598,7 @@ public class Game extends ComplexOpsuState {
|
||||
lastKeysPressed = ReplayFrame.KEY_NONE;
|
||||
replaySkipTime = -1;
|
||||
replayFrames = new LinkedList<>();
|
||||
replayFrames.add(new ReplayFrame(0, 0, displayContainer.mouseX, displayContainer.mouseY, 0));
|
||||
replayFrames.add(new ReplayFrame(0, 0, mouseX, mouseY, 0));
|
||||
}
|
||||
|
||||
for (int i = 0; i < gameObjects.length; i++) {
|
||||
|
||||
@@ -74,11 +74,11 @@ public class GamePauseMenu extends BaseOpsuState {
|
||||
|
||||
@Override
|
||||
public void preRenderUpdate() {
|
||||
int delta = displayContainer.renderDelta;
|
||||
int delta = renderDelta;
|
||||
UI.update(delta);
|
||||
continueButton.hoverUpdate(delta, displayContainer.mouseX, displayContainer.mouseY);
|
||||
retryButton.hoverUpdate(delta, displayContainer.mouseX, displayContainer.mouseY);
|
||||
backButton.hoverUpdate(delta, displayContainer.mouseX, displayContainer.mouseY);
|
||||
continueButton.hoverUpdate(delta, mouseX, mouseY);
|
||||
retryButton.hoverUpdate(delta, mouseX, mouseY);
|
||||
backButton.hoverUpdate(delta, mouseX, mouseY);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -90,9 +90,9 @@ public class GamePauseMenu extends BaseOpsuState {
|
||||
// game keys
|
||||
if (!Keyboard.isRepeatEvent()) {
|
||||
if (key == OPTION_KEY_LEFT.intval) {
|
||||
mousePressed(Input.MOUSE_LEFT_BUTTON, displayContainer.mouseX, displayContainer.mouseY);
|
||||
mousePressed(Input.MOUSE_LEFT_BUTTON, mouseX, mouseY);
|
||||
} else if (key == OPTION_KEY_RIGHT.intval) {
|
||||
mousePressed(Input.MOUSE_RIGHT_BUTTON, displayContainer.mouseX, displayContainer.mouseY);
|
||||
mousePressed(Input.MOUSE_RIGHT_BUTTON, mouseX, mouseY);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -99,15 +99,15 @@ public class GameRanking extends BaseOpsuState {
|
||||
|
||||
@Override
|
||||
public void preRenderUpdate() {
|
||||
int delta = displayContainer.renderDelta;
|
||||
int delta = renderDelta;
|
||||
UI.update(delta);
|
||||
replayButton.hoverUpdate(delta, displayContainer.mouseX, displayContainer.mouseY);
|
||||
replayButton.hoverUpdate(delta, mouseX, mouseY);
|
||||
if (data.isGameplay()) {
|
||||
retryButton.hoverUpdate(delta, displayContainer.mouseX, displayContainer.mouseY);
|
||||
retryButton.hoverUpdate(delta, mouseX, mouseY);
|
||||
} else {
|
||||
MusicController.loopTrackIfEnded(true);
|
||||
}
|
||||
backButton.hoverUpdate(delta, displayContainer.mouseX, displayContainer.mouseY);
|
||||
backButton.hoverUpdate(delta, mouseX, mouseY);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -407,8 +407,6 @@ public class MainMenu extends BaseOpsuState {
|
||||
}
|
||||
|
||||
// draw music position bar
|
||||
int mouseX = displayContainer.mouseX;
|
||||
int mouseY = displayContainer.mouseY;
|
||||
g.setColor((musicPositionBarContains(mouseX, mouseY)) ? Colors.BLACK_BG_HOVER : Colors.BLACK_BG_NORMAL);
|
||||
g.fillRect(this.musicBarX, this.musicBarY, this.musicBarWidth, this.musicBarHeight);
|
||||
g.setColor(Colors.WHITE_ALPHA_75);
|
||||
@@ -471,7 +469,7 @@ public class MainMenu extends BaseOpsuState {
|
||||
|
||||
@Override
|
||||
public void preRenderUpdate() {
|
||||
int delta = displayContainer.renderDelta;
|
||||
int delta = renderDelta;
|
||||
|
||||
final Iterator<PulseData> pulseDataIter = this.pulseData.iterator();
|
||||
while (pulseDataIter.hasNext()) {
|
||||
@@ -485,8 +483,6 @@ public class MainMenu extends BaseOpsuState {
|
||||
UI.update(delta);
|
||||
if (MusicController.trackEnded())
|
||||
nextTrack(false); // end of track: go to next track
|
||||
int mouseX = displayContainer.mouseX;
|
||||
int mouseY = displayContainer.mouseY;
|
||||
if (repoButton != null) {
|
||||
repoButton.hoverUpdate(delta, mouseX, mouseY);
|
||||
danceRepoButton.hoverUpdate(delta, mouseX, mouseY);
|
||||
@@ -642,8 +638,6 @@ public class MainMenu extends BaseOpsuState {
|
||||
starFountain.clear();
|
||||
|
||||
// reset button hover states if mouse is not currently hovering over the button
|
||||
int mouseX = displayContainer.mouseX;
|
||||
int mouseY = displayContainer.mouseY;
|
||||
for (MenuButton b : this.musicButtons) {
|
||||
if (!b.contains(mouseX, mouseY)) {
|
||||
b.resetHover();
|
||||
|
||||
@@ -314,7 +314,7 @@ public class SongMenu extends ComplexOpsuState {
|
||||
|
||||
public SongMenu() {
|
||||
super();
|
||||
optionsOverlay = new OptionsOverlay(displayContainer, OptionGroups.normalOptions);
|
||||
optionsOverlay = new OptionsOverlay(OptionGroups.normalOptions);
|
||||
overlays.add(optionsOverlay);
|
||||
}
|
||||
|
||||
@@ -343,7 +343,7 @@ public class SongMenu extends ComplexOpsuState {
|
||||
int sortWidth = (int) (width * 0.12f);
|
||||
int posX = (int) (width * 0.87f);
|
||||
int posY = (int) (headerY - GameImage.MENU_TAB.getImage().getHeight() * 2.25f);
|
||||
sortMenu = new DropdownMenu<BeatmapSortOrder>(displayContainer, BeatmapSortOrder.values(), posX, posY, sortWidth) {
|
||||
sortMenu = new DropdownMenu<BeatmapSortOrder>(BeatmapSortOrder.values(), posX, posY, sortWidth) {
|
||||
@Override
|
||||
public void itemSelected(int index, BeatmapSortOrder item) {
|
||||
BeatmapSortOrder.set(item);
|
||||
@@ -459,9 +459,6 @@ public class SongMenu extends ComplexOpsuState {
|
||||
public void render(Graphics g) {
|
||||
g.setBackground(Color.black);
|
||||
|
||||
int mouseX = displayContainer.mouseX;
|
||||
int mouseY = displayContainer.mouseY;
|
||||
|
||||
// background
|
||||
if (focusNode != null) {
|
||||
Beatmap focusNodeBeatmap = focusNode.getSelectedBeatmap();
|
||||
@@ -708,7 +705,7 @@ public class SongMenu extends ComplexOpsuState {
|
||||
public void preRenderUpdate() {
|
||||
super.preRenderUpdate();
|
||||
|
||||
int delta = displayContainer.renderDelta;
|
||||
int delta = renderDelta;
|
||||
UI.update(delta);
|
||||
if (reloadThread == null)
|
||||
MusicController.loopTrackIfEnded(true);
|
||||
@@ -724,8 +721,6 @@ public class SongMenu extends ComplexOpsuState {
|
||||
MusicController.playThemeSong(config.themeBeatmap);
|
||||
reloadThread = null;
|
||||
}
|
||||
int mouseX = displayContainer.mouseX;
|
||||
int mouseY = displayContainer.mouseY;
|
||||
backButton.hoverUpdate(delta, mouseX, mouseY);
|
||||
selectModsButton.hoverUpdate(delta, mouseX, mouseY);
|
||||
selectRandomButton.hoverUpdate(delta, mouseX, mouseY);
|
||||
|
||||
@@ -30,6 +30,7 @@ import yugecin.opsudance.Dancer;
|
||||
import yugecin.opsudance.skinning.SkinService;
|
||||
|
||||
import static yugecin.opsudance.options.Options.*;
|
||||
import static yugecin.opsudance.core.InstanceContainer.*;
|
||||
|
||||
/**
|
||||
* Updates and draws the cursor.
|
||||
@@ -252,8 +253,8 @@ public class Cursor {
|
||||
* If the old style cursor is being used, this will do nothing.
|
||||
* @param delta the delta interval since the last call
|
||||
*/
|
||||
public void updateAngle(int delta) {
|
||||
cursorAngle += delta / 40f;
|
||||
public void updateAngle() {
|
||||
cursorAngle += renderDelta / 40f;
|
||||
cursorAngle %= 360;
|
||||
}
|
||||
|
||||
|
||||
@@ -29,15 +29,14 @@ import org.newdawn.slick.Graphics;
|
||||
import org.newdawn.slick.Image;
|
||||
import org.newdawn.slick.Input;
|
||||
import org.newdawn.slick.UnicodeFont;
|
||||
import yugecin.opsudance.core.DisplayContainer;
|
||||
import yugecin.opsudance.core.components.Component;
|
||||
|
||||
import static yugecin.opsudance.core.InstanceContainer.*;
|
||||
|
||||
public class DropdownMenu<E> extends Component {
|
||||
|
||||
private static final float PADDING_Y = 0.1f, CHEVRON_X = 0.03f;
|
||||
|
||||
private final DisplayContainer displayContainer;
|
||||
|
||||
private E[] items;
|
||||
private String[] itemNames;
|
||||
private int selectedItemIndex;
|
||||
@@ -61,8 +60,7 @@ public class DropdownMenu<E> extends Component {
|
||||
private Image chevronDown;
|
||||
private Image chevronRight;
|
||||
|
||||
public DropdownMenu(DisplayContainer displayContainer, E[] items, int x, int y, int width) {
|
||||
this.displayContainer = displayContainer;
|
||||
public DropdownMenu(E[] items, int x, int y, int width) {
|
||||
init(items, x, y, width);
|
||||
}
|
||||
|
||||
@@ -143,13 +141,13 @@ public class DropdownMenu<E> extends Component {
|
||||
|
||||
@Override
|
||||
public void render(Graphics g) {
|
||||
int delta = displayContainer.renderDelta;
|
||||
int delta = renderDelta;
|
||||
|
||||
// update animation
|
||||
expandProgress.update((expanded) ? delta : -delta * 2);
|
||||
|
||||
// get parameters
|
||||
int idx = getIndexAt(displayContainer.mouseY);
|
||||
int idx = getIndexAt(mouseY);
|
||||
float t = expandProgress.getValue();
|
||||
if (expanded) {
|
||||
t = AnimationEquation.OUT_CUBIC.calc(t);
|
||||
@@ -245,7 +243,7 @@ public class DropdownMenu<E> extends Component {
|
||||
return;
|
||||
}
|
||||
|
||||
int idx = getIndexAt(displayContainer.mouseY);
|
||||
int idx = getIndexAt(mouseY);
|
||||
if (idx == -2) {
|
||||
this.expanded = false;
|
||||
return;
|
||||
|
||||
@@ -279,8 +279,8 @@ public class UI {
|
||||
textWidth += Fonts.SMALL.getWidth(tooltip);
|
||||
|
||||
// get drawing coordinates
|
||||
int x = displayContainer.mouseX + offset;
|
||||
int y = displayContainer.mouseY + offset;
|
||||
int x = mouseX + offset;
|
||||
int y = mouseY + offset;
|
||||
if (x + textWidth > width - margin)
|
||||
x = width - margin - textWidth;
|
||||
else if (x < margin)
|
||||
|
||||
Reference in New Issue
Block a user