Giter Club home page Giter Club logo

myminimap's Introduction

Hi there ๐Ÿ‘‹

๐Ÿ”ญ Iโ€™m currently working on

๐ŸŒฑ Iโ€™m currently learning

  • Android
  • Kotlin Native

๐Ÿ‘ฏ Iโ€™m looking to collaborate on

  • Kotlin Multiplatform

๐Ÿค” Iโ€™m looking for help with

๐Ÿ’ฌ Ask me about

  • Kotlin/JS
  • Kotlin/Multiplatform
  • Gradle

๐Ÿ“ซ How to reach me

โšก Fun fact

  • For whatever reason I've graduated in Bsc Economics...

myminimap's People

Contributors

mpetuska avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

gitter-badger

myminimap's Issues

Implement logic for controlling map zone changes.

Description

The minipap shown zone should be independent from the one open in the main map.

Technical Description

Minimap should always show the zone/subzone the player is currently in.


Prerequisites: n/a

Pull request: #24

Publish the v1.0.0 addon

Description

Publish the release on common ESO addon repositories.

Technical Description

Provide sensible description, contact information and link to GitHub repository.

Subzone POI pins not loading.

Description

Currently only the pins shown in the main zone are visible when in the subzone. this needs to be expanded to include subzone-specific pins.

Technical Description

All the changes should be contained in UI:ConstructMapPins() function. This is likely to be fixed in #28.


Prerequisites: #28

Pull request: #29

dynamic fps

Description

Make MMM Update depending on FPS

Technical Description

example:

local lastValue = 0
local MULTIPLIER1 = 0.55
local MULTIPLIER2 = 1.25
local function GetFramerateForUpdate()
	local function Refresh()
		local fps = GetFramerate()
		return math.ceil(2000/(fps*MULTIPLIER1+fps*MULTIPLIER2))
	end
	local refreshTime = Refresh()
	
	if lastValue ~= refreshTime then
		EVENT_MANAGER:RegisterForUpdate(ADDON.name .. "_UiUpdate", refreshTime, EventHandlers.OnUiUpdate)
		lastValue = refreshTime
	end
end

local function RegisterUpdates()
	EVENT_MANAGER:RegisterForUpdate(ADDON.name .. "_CheckFPS", 2000, GetFramerateForUpdate)
	GetFramerateForUpdate()
end

Create wiki page

Description

Create an initial wiki page outlining the structure.

Technical Description

Implement tooltip body for QUEST type MapPin

Description

A tooltip body behaviour needs to be implemented for MapPin of type QUEST.

Technical Description

The body should show the description of the current quest objective, task or step.

Rebuild pin classes to use ZO_MapPin

Description

Remake pin classes to only take ZO_MapPin as a constructor argument and use the data stored there. Also create new classes for quest pin.

Technical Description

The general idea resolves around using this:

for i, pin in pairs(ZO_WorldMap_GetPinManager():GetActiveObjects()) do
  if (pin:IsQuest()) then
    ADDON.Classes.PoiPin:New(pin:GetPOIZoneIndex(), pin:GetPOIIndex(), pin:GetQuestIndex(), pin:GetPinType(), pin:GetQuestIcon(), pin.normalizedX, pin.normalizedY);
  end
end

Extract mini map tiles to a separate class

Description

Create a class for minimap tile controll.

Technical Description

The class should be able to update it's assigned controls and also know about all the other existing sibling objects to prevent duplicate construction.

Prerequisites: n/a

Pull Request: #23

Wayshrine pins' position and rotation update

Description

Fix wayshrine pins' behaviour on rotation mode.

Technical Description

Currently wayshrine pins are only working on non-rotating minimap. When the minimap rotation is on they rotate around themselves just like map tiles. This is unwanted behaviour, instead, they should be always facing north, but still have correct position on the minimap when it rotates.

Prerequisites:

Pull Request: #18

WayshrinePin on-demand load behaviour.

Description

Implement on-demand load behaviour for WayshrinePin class.

Technical Description

Wayshrine pins should only load when needed and reuse no longer active controls.

Prerequisites

#4

Set-up the readme file

Description

Setup the readme file with proper project's description.

Technical Description

Create an abstract class for pins pooling up common functionality.

Description

Create an abstract class for pins pooling up common functionality.

Technical Description

The class should have update and constructor methods at the very least. Think about any other methods that all of the various map pins might commonly use.


Prerequisites:

Pull Request: #16

Logic to control pin activity on zone changes.

Description

Pins should be only shown and enabled if they're shown in current zone.

Technical Description

The logic should be in the event handler static function on the class file.


Prerequisites: #19

Pull request: #24

Class for Map Location pins.

Description

Create new class for map location pins.

Technical Description

follow the example from #25. Have a look at GetNumMapLocations() in ESOUI API


Prerequisites: n/a

Pull request: #29

MiniMap zoom controll fix

Description

Currently when zooming in/out the minimap it reconstructs the entire map eventually overflowing PC's memory. This should instead be be changed to rescaling behaviour.

Technical Description

Consider the possibility of splitting map construction and set-up into two separate functions.


Prerequisites: n/a

Pull request: #22

Pixel rounding

For map tiles and icons, you will probably want to disable the pixel rounding.
Currently when you move, you get some artifacts at the seam where two tiles meet. You can fix this via
texture:SetPixelRoundingEnabled(false), e.g. self.Controls[group]:SetPixelRoundingEnabled(false) in line 63 of MapTile.lua .

Remove AbstractPin

Description

AbstractPin class is now obsolete. Remove it.

Technical Description.

Ensure that it is not being used anywhere and if it is replace that usage with Pin class.

Finish-up the contributing guidelines document.

Description

Finish-up writing the contributing guidelines in docs/CONTRIBUTING.md.

Technical Description

These should cover:

  • Workflow
  • Branching-off
  • Creating pull requests
  • Reviewing
  • Merging reviewed pull requests
  • Closing the issues
  • Proposing new features/improvements

Create a new class for quest pins.

Description

Technical Description

This has to extend pin class and have two controls for each scroll. One for when the pin is visible on minimap and one for when it's outside of it to indicate the direction.

Pin on-demand update behaviour

Description

All the pins should only be updated when they're active.

Technical Description

Pins should be enabled/disabled and updated respectively depending whether they are within minimap's visibility radius.


Prerequisites: n/a

Pull request: TBC

MapTile On-demand load behaviour.

Description

Implement on-demand load behaviour for map tile class.

Technical Description

the tiles should only load when required and otherwise reuse the controls that are no longer active.

Prerequisites

#6

Create a new class for the blue map target pin

Description

Create a new class for the blue map target pin.

Technical Description

This has to extend pin class and have two controls for each scroll. One for when the pin is visible on minimap and one for when it's outside of it to indicate the direction. The class should be singleton as there can only be one target pin on the map. It also should reuse its textures. The implementation should be similar to #5.

Incorrect building entering behaviour

Description

When entering a building without a reload (only screen fade out/in) the map is not reconstructed.

Technical Description

The event regarding this should be found and map reconstruction hooked to it.

Pre-release code cleanup

Description

Clean up the code before the release.

Technical Description

The following points needs to be covered:

  • Rename global objects to sensible names.
  • Ensure LuaDoc is added and configured to all methods and classes.
  • Rename lua files to sensible names.
  • Inspect all code and consider splitting/merging some files for improved classification and code clarity.

Setup tooltips for Map Pins

Description

The tooltips shown in main eso map when you hover over a pin needs to be implemented for minimap as well.

Technical Description

  • Implementation should be done in MapPin class
  • Tooltips should contain a header and a placeholder for optional tooltip body.
  • Their orientation should be dynamic, always facinf towards the center of the map and away from the pin/mouse.
  • Only the center control of the pin should be mouseEnabled.

Create a new sprite for minimap wheel

Description

Since no permission was obtained to use the current placeholder sprite for minimap wheel, a new one needs to be made and replace the currently used one.

Technical Description

The sprite needs to be circular, somewhat thick to hide scrolls' edges and have NSWE indicators for directions.

Implement tooltip body for pin groups in MapPin

Description

Tooltip body needs implementing for pin groups in MapPin class. The body should simply mimic the one in main eso map for pin groups.

Technical Description

You might consider adding each sub-pin tooltip as a child element to the group tooltip body.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.