mirror of
https://gitlab.com/2009scape/rt4-client.git
synced 2025-12-09 16:45:46 -07:00
Organize overrides to be together in the source
This commit is contained in:
parent
1cca6611ee
commit
cb9758f7d5
1 changed files with 148 additions and 148 deletions
|
|
@ -126,24 +126,11 @@ class plugin : Plugin() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun allSpritesLoaded() : Boolean {
|
override fun Init() {
|
||||||
// Check all skill sprites
|
// Disable Font AA
|
||||||
try{
|
System.setProperty("sun.java2d.opengl", "false")
|
||||||
for (i in 0 until 24) {
|
System.setProperty("awt.useSystemAAFontSettings", "off")
|
||||||
if(!js5Archive8.isFileReady(getSpriteId(i))){
|
System.setProperty("swing.aatext", "false")
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
val otherIcons = arrayOf(LVL_ICON, MAG_SPRITE, LOOT_ICON, WRENCH_ICON, COMBAT_LVL_SPRITE, BAG_ICON)
|
|
||||||
for (icon in otherIcons) {
|
|
||||||
if(!js5Archive8.isFileReady(icon)){
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (e : Exception){
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun OnLogin() {
|
override fun OnLogin() {
|
||||||
|
|
@ -155,96 +142,6 @@ class plugin : Plugin() {
|
||||||
lastLogin = Player.usernameInput.toString()
|
lastLogin = Player.usernameInput.toString()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun Init() {
|
|
||||||
// Disable Font AA
|
|
||||||
System.setProperty("sun.java2d.opengl", "false")
|
|
||||||
System.setProperty("awt.useSystemAAFontSettings", "off")
|
|
||||||
System.setProperty("swing.aatext", "false")
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun initAltCanvas(){
|
|
||||||
if (frame != null) {
|
|
||||||
altCanvas = AltCanvas().apply {
|
|
||||||
preferredSize = Dimension(FIXED_WIDTH, FIXED_HEIGHT)
|
|
||||||
}
|
|
||||||
altCanvas?.let { frame.add(it) }
|
|
||||||
moveAltCanvasToFront()
|
|
||||||
frame.setComponentZOrder(rightPanelWrapper, 2)
|
|
||||||
}
|
|
||||||
updateDisplaySettings()
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun updateDisplaySettings() {
|
|
||||||
val mode = GetWindowMode()
|
|
||||||
val currentScrollPaneWidth = if (mainContentPanel.isVisible) NAVBAR_WIDTH + MAIN_CONTENT_WIDTH else NAVBAR_WIDTH
|
|
||||||
lastUIOffset = uiOffset
|
|
||||||
|
|
||||||
when (mode) {
|
|
||||||
WindowMode.FIXED -> {
|
|
||||||
if (frame.width < FIXED_WIDTH + currentScrollPaneWidth + uiOffset) {
|
|
||||||
frame.setSize(FIXED_WIDTH + currentScrollPaneWidth + uiOffset, frame.height)
|
|
||||||
}
|
|
||||||
|
|
||||||
val difference = frame.width - (uiOffset + currentScrollPaneWidth)
|
|
||||||
|
|
||||||
if (useScaledFixed) {
|
|
||||||
GameShell.leftMargin = 0
|
|
||||||
val canvasWidth = difference + uiOffset / 2
|
|
||||||
val canvasHeight = frame.height - canvas.y // Restricting height to frame height
|
|
||||||
|
|
||||||
altCanvas?.size = Dimension(canvasWidth, canvasHeight)
|
|
||||||
altCanvas?.setLocation(0, canvas.y)
|
|
||||||
canvas.setLocation(0, canvas.y)
|
|
||||||
} else {
|
|
||||||
GameShell.leftMargin = (difference + uiOffset) / 2
|
|
||||||
canvas.setLocation(GameShell.leftMargin - (FIXED_WIDTH / 2), canvas.y)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
WindowMode.RESIZABLE -> {
|
|
||||||
GameShell.canvasWidth = frame.width - (currentScrollPaneWidth + uiOffset)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
rightPanelWrapper?.preferredSize = Dimension(currentScrollPaneWidth, frame.height)
|
|
||||||
rightPanelWrapper?.isDoubleBuffered = true
|
|
||||||
rightPanelWrapper?.revalidate()
|
|
||||||
rightPanelWrapper?.repaint()
|
|
||||||
}
|
|
||||||
|
|
||||||
fun OnKondoValueUpdated(){
|
|
||||||
StoreData("kondoUseRemoteGE", useLiveGEPrices)
|
|
||||||
StoreData("kondoTheme", theme.toString())
|
|
||||||
if(appliedTheme != theme) {
|
|
||||||
showAlert(
|
|
||||||
"KondoKit Theme changes require a relaunch.",
|
|
||||||
"KondoKit",
|
|
||||||
JOptionPane.INFORMATION_MESSAGE
|
|
||||||
)
|
|
||||||
}
|
|
||||||
StoreData("kondoPlayerXPMultiplier", playerXPMultiplier)
|
|
||||||
LootTrackerView.gePriceMap = LootTrackerView.loadGEPrices()
|
|
||||||
StoreData("kondoLaunchMinimized", launchMinimized)
|
|
||||||
StoreData("kondoUIOffset", uiOffset)
|
|
||||||
StoreData("kondoScaledFixed", useScaledFixed)
|
|
||||||
if(altCanvas == null && useScaledFixed){
|
|
||||||
initAltCanvas()
|
|
||||||
} else if(altCanvas != null && !useScaledFixed){
|
|
||||||
destroyAltCanvas()
|
|
||||||
}
|
|
||||||
if(lastUIOffset != uiOffset){
|
|
||||||
updateDisplaySettings()
|
|
||||||
reloadInterfaces = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun destroyAltCanvas(){
|
|
||||||
moveCanvasToFront()
|
|
||||||
frame.remove(altCanvas)
|
|
||||||
altCanvas = null
|
|
||||||
updateDisplaySettings()
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun OnMiniMenuCreate(currentEntries: Array<out MiniMenuEntry>?) {
|
override fun OnMiniMenuCreate(currentEntries: Array<out MiniMenuEntry>?) {
|
||||||
if (currentEntries != null) {
|
if (currentEntries != null) {
|
||||||
for ((index, entry) in currentEntries.withIndex()) {
|
for ((index, entry) in currentEntries.withIndex()) {
|
||||||
|
|
@ -265,17 +162,6 @@ class plugin : Plugin() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun searchHiscore(username: String): Runnable {
|
|
||||||
return Runnable {
|
|
||||||
setActiveView(HiscoresView.VIEW_NAME)
|
|
||||||
val customSearchField = hiScoreView?.let { HiscoresView.CustomSearchField(it) }
|
|
||||||
|
|
||||||
customSearchField?.searchPlayer(username) ?: run {
|
|
||||||
println("searchView is null or CustomSearchField creation failed.")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun OnPluginsReloaded(): Boolean {
|
override fun OnPluginsReloaded(): Boolean {
|
||||||
if (!initialized) return true
|
if (!initialized) return true
|
||||||
updateDisplaySettings()
|
updateDisplaySettings()
|
||||||
|
|
@ -373,6 +259,149 @@ class plugin : Plugin() {
|
||||||
altCanvas?.updateGameImage() // Update the game image as needed
|
altCanvas?.updateGameImage() // Update the game image as needed
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun Update() {
|
||||||
|
|
||||||
|
val widgets = xpWidgets.values
|
||||||
|
val totalXP = totalXPWidget
|
||||||
|
|
||||||
|
widgets.forEach { xpWidget ->
|
||||||
|
val elapsedTime = (System.currentTimeMillis() - xpWidget.startTime) / 1000.0 / 60.0 / 60.0
|
||||||
|
val xpPerHour = if (elapsedTime > 0) (xpWidget.totalXpGained / elapsedTime).toInt() else 0
|
||||||
|
val formattedXpPerHour = formatNumber(xpPerHour)
|
||||||
|
xpWidget.xpPerHourLabel.text =
|
||||||
|
formatHtmlLabelText("XP /hr: ", primaryColor, formattedXpPerHour, secondaryColor)
|
||||||
|
xpWidget.container.repaint()
|
||||||
|
}
|
||||||
|
|
||||||
|
totalXP?.let { totalXPWidget ->
|
||||||
|
val elapsedTime = (System.currentTimeMillis() - totalXPWidget.startTime) / 1000.0 / 60.0 / 60.0
|
||||||
|
val totalXPPerHour = if (elapsedTime > 0) (totalXPWidget.totalXpGained / elapsedTime).toInt() else 0
|
||||||
|
val formattedTotalXpPerHour = formatNumber(totalXPPerHour)
|
||||||
|
totalXPWidget.xpPerHourLabel.text =
|
||||||
|
formatHtmlLabelText("XP /hr: ", primaryColor, formattedTotalXpPerHour, secondaryColor)
|
||||||
|
totalXPWidget.container.repaint()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun OnKillingBlowNPC(npcID: Int, x: Int, z: Int) {
|
||||||
|
val preDeathSnapshot = takeGroundSnapshot(Pair(x,z))
|
||||||
|
npcDeathSnapshots[npcID] = LootTrackerView.GroundSnapshot(preDeathSnapshot, Pair(x, z), 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun allSpritesLoaded() : Boolean {
|
||||||
|
// Check all skill sprites
|
||||||
|
try{
|
||||||
|
for (i in 0 until 24) {
|
||||||
|
if(!js5Archive8.isFileReady(getSpriteId(i))){
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
val otherIcons = arrayOf(LVL_ICON, MAG_SPRITE, LOOT_ICON, WRENCH_ICON, COMBAT_LVL_SPRITE, BAG_ICON)
|
||||||
|
for (icon in otherIcons) {
|
||||||
|
if(!js5Archive8.isFileReady(icon)){
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (e : Exception){
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun initAltCanvas(){
|
||||||
|
if (frame != null) {
|
||||||
|
altCanvas = AltCanvas().apply {
|
||||||
|
preferredSize = Dimension(FIXED_WIDTH, FIXED_HEIGHT)
|
||||||
|
}
|
||||||
|
altCanvas?.let { frame.add(it) }
|
||||||
|
moveAltCanvasToFront()
|
||||||
|
frame.setComponentZOrder(rightPanelWrapper, 2)
|
||||||
|
}
|
||||||
|
updateDisplaySettings()
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun updateDisplaySettings() {
|
||||||
|
val mode = GetWindowMode()
|
||||||
|
val currentScrollPaneWidth = if (mainContentPanel.isVisible) NAVBAR_WIDTH + MAIN_CONTENT_WIDTH else NAVBAR_WIDTH
|
||||||
|
lastUIOffset = uiOffset
|
||||||
|
|
||||||
|
when (mode) {
|
||||||
|
WindowMode.FIXED -> {
|
||||||
|
if (frame.width < FIXED_WIDTH + currentScrollPaneWidth + uiOffset) {
|
||||||
|
frame.setSize(FIXED_WIDTH + currentScrollPaneWidth + uiOffset, frame.height)
|
||||||
|
}
|
||||||
|
|
||||||
|
val difference = frame.width - (uiOffset + currentScrollPaneWidth)
|
||||||
|
|
||||||
|
if (useScaledFixed) {
|
||||||
|
GameShell.leftMargin = 0
|
||||||
|
val canvasWidth = difference + uiOffset / 2
|
||||||
|
val canvasHeight = frame.height - canvas.y // Restricting height to frame height
|
||||||
|
|
||||||
|
altCanvas?.size = Dimension(canvasWidth, canvasHeight)
|
||||||
|
altCanvas?.setLocation(0, canvas.y)
|
||||||
|
canvas.setLocation(0, canvas.y)
|
||||||
|
} else {
|
||||||
|
GameShell.leftMargin = (difference + uiOffset) / 2
|
||||||
|
canvas.setLocation(GameShell.leftMargin - (FIXED_WIDTH / 2), canvas.y)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
WindowMode.RESIZABLE -> {
|
||||||
|
GameShell.canvasWidth = frame.width - (currentScrollPaneWidth + uiOffset)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
rightPanelWrapper?.preferredSize = Dimension(currentScrollPaneWidth, frame.height)
|
||||||
|
rightPanelWrapper?.isDoubleBuffered = true
|
||||||
|
rightPanelWrapper?.revalidate()
|
||||||
|
rightPanelWrapper?.repaint()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun OnKondoValueUpdated(){
|
||||||
|
StoreData("kondoUseRemoteGE", useLiveGEPrices)
|
||||||
|
StoreData("kondoTheme", theme.toString())
|
||||||
|
if(appliedTheme != theme) {
|
||||||
|
showAlert(
|
||||||
|
"KondoKit Theme changes require a relaunch.",
|
||||||
|
"KondoKit",
|
||||||
|
JOptionPane.INFORMATION_MESSAGE
|
||||||
|
)
|
||||||
|
}
|
||||||
|
StoreData("kondoPlayerXPMultiplier", playerXPMultiplier)
|
||||||
|
LootTrackerView.gePriceMap = LootTrackerView.loadGEPrices()
|
||||||
|
StoreData("kondoLaunchMinimized", launchMinimized)
|
||||||
|
StoreData("kondoUIOffset", uiOffset)
|
||||||
|
StoreData("kondoScaledFixed", useScaledFixed)
|
||||||
|
if(altCanvas == null && useScaledFixed){
|
||||||
|
initAltCanvas()
|
||||||
|
} else if(altCanvas != null && !useScaledFixed){
|
||||||
|
destroyAltCanvas()
|
||||||
|
}
|
||||||
|
if(lastUIOffset != uiOffset){
|
||||||
|
updateDisplaySettings()
|
||||||
|
reloadInterfaces = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun destroyAltCanvas(){
|
||||||
|
moveCanvasToFront()
|
||||||
|
frame.remove(altCanvas)
|
||||||
|
altCanvas = null
|
||||||
|
updateDisplaySettings()
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun searchHiscore(username: String): Runnable {
|
||||||
|
return Runnable {
|
||||||
|
setActiveView(HiscoresView.VIEW_NAME)
|
||||||
|
val customSearchField = hiScoreView?.let { HiscoresView.CustomSearchField(it) }
|
||||||
|
|
||||||
|
customSearchField?.searchPlayer(username) ?: run {
|
||||||
|
println("searchView is null or CustomSearchField creation failed.")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun moveAltCanvasToFront(){
|
private fun moveAltCanvasToFront(){
|
||||||
if(altCanvas == null) return
|
if(altCanvas == null) return
|
||||||
frame.setComponentZOrder(canvas, 2)
|
frame.setComponentZOrder(canvas, 2)
|
||||||
|
|
@ -469,35 +498,6 @@ class plugin : Plugin() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun Update() {
|
|
||||||
|
|
||||||
val widgets = xpWidgets.values
|
|
||||||
val totalXP = totalXPWidget
|
|
||||||
|
|
||||||
widgets.forEach { xpWidget ->
|
|
||||||
val elapsedTime = (System.currentTimeMillis() - xpWidget.startTime) / 1000.0 / 60.0 / 60.0
|
|
||||||
val xpPerHour = if (elapsedTime > 0) (xpWidget.totalXpGained / elapsedTime).toInt() else 0
|
|
||||||
val formattedXpPerHour = formatNumber(xpPerHour)
|
|
||||||
xpWidget.xpPerHourLabel.text =
|
|
||||||
formatHtmlLabelText("XP /hr: ", primaryColor, formattedXpPerHour, secondaryColor)
|
|
||||||
xpWidget.container.repaint()
|
|
||||||
}
|
|
||||||
|
|
||||||
totalXP?.let { totalXPWidget ->
|
|
||||||
val elapsedTime = (System.currentTimeMillis() - totalXPWidget.startTime) / 1000.0 / 60.0 / 60.0
|
|
||||||
val totalXPPerHour = if (elapsedTime > 0) (totalXPWidget.totalXpGained / elapsedTime).toInt() else 0
|
|
||||||
val formattedTotalXpPerHour = formatNumber(totalXPPerHour)
|
|
||||||
totalXPWidget.xpPerHourLabel.text =
|
|
||||||
formatHtmlLabelText("XP /hr: ", primaryColor, formattedTotalXpPerHour, secondaryColor)
|
|
||||||
totalXPWidget.container.repaint()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun OnKillingBlowNPC(npcID: Int, x: Int, z: Int) {
|
|
||||||
val preDeathSnapshot = takeGroundSnapshot(Pair(x,z))
|
|
||||||
npcDeathSnapshots[npcID] = LootTrackerView.GroundSnapshot(preDeathSnapshot, Pair(x, z), 0)
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun setActiveView(viewName: String) {
|
private fun setActiveView(viewName: String) {
|
||||||
// Handle the visibility of the main content panel
|
// Handle the visibility of the main content panel
|
||||||
if (viewName == HIDDEN_VIEW) {
|
if (viewName == HIDDEN_VIEW) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue