GithubHelp home page GithubHelp logo

dstmodders / mod-dev-tools Goto Github PK

View Code? Open in Web Editor NEW
10.0 10.0 2.0 1.64 MB

Mod for the game Don't Starve Together to improve the development/testing experience.

Home Page: https://steamcommunity.com/sharedfiles/filedetails/?id=2220506640

License: MIT License

Lua 98.74% Makefile 1.26%
dont-starve-together game mod steam-workshop

mod-dev-tools's People

Contributors

victorpopkov avatar viktoryu234 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

rdxer dog

mod-dev-tools's Issues

Migrate to dstmodders/mod-cli

Verify

  • I understand that if I ignore these instructions, my issue may be closed without review.
  • I have made sure that there are no similar opened issues.
  • I have made sure that the mod version matches the latest release.

Is your feature request related to a problem? Please describe.

I'm always frustrated when it comes to the current Makefile solution and the common development tasks that are limited. To solve this issue, dstmodders/mod-cli has been created to mitigate most of the existing issues and introduce more functionality that couldn't be solved by simple scripts.

Even though, dstmodders/mod-cli isn't stable enough, we should already start thinking of replacing the current Makefile with it instead.

Describe the solution you'd like

Replace Makefile with dstmodders/mod-cli.

Describe alternatives you've considered

If applicable, add a clear and concise description of any alternative solutions or features you've considered.

Additional context

Progress

  • dev
  • gitrelease
  • install
  • ldoc
  • lint
  • luacheck
  • luacheckglobals
  • luacheckreadglobals
  • modicon
  • prettier
  • reinstall
  • release
  • test
  • testclean
  • testcoverage
  • testlist
  • uninstall
  • updatesdk
  • workshop
  • workshopclean

Add an auto-open "Map" submenu feature

  • I understand that if I ignore these instructions, my issue may be closed without review.
  • I have made sure that there are no similar opened issues.
  • I have made sure that the mod version matches the latest release.

Is your feature request related to a problem? Please describe.

Whenever you open the Dev Tools screen while having a map open, you've to manually navigate to the "Map" submenu and open it. It would be nice to have this submenu already opened when dealing with an already opened map.

Describe the solution you'd like

Add an opened map screen check before creating the menu itself, and automatically navigate inside the "Map" submenu. It would be nice to have an API support for that as well.

Describe alternatives you've considered

If applicable, add a clear and concise description of any alternative solutions or features you've considered.

Additional context

If applicable, add any other context or screenshots about the feature request here.

Migrate to dstmodders/action

  • I understand that if I ignore these instructions, my issue may be closed without review.
  • I have made sure that there are no similar opened issues.
  • I have made sure that the mod version matches the latest release.

Is your feature request related to a problem? Please describe.

I'm always frustrated when it comes to the CI/CD part, as our current solution doesn't cover all our needs completely. Moreover, it's becoming harder to maintain it. So, to solve all these issues, dstmodders/action has been created, which, in the end, should significantly improve our workflow.

As dstmodders/action has already matured enough, it's time to start migrating to it.

Moreover, I think we should also consider disabling Codecov PR checks, as I don't think that tests are essential when it comes to mods.

Describe the solution you'd like

Migrate to dstmodders/action.

Describe alternatives you've considered

If applicable, add a clear and concise description of any alternative solutions or features you've considered.

Additional context

Progress

  1. Migrate CI lint job
    1. Luacheck
    2. Prettier
    3. StyLua
    4. Slack notification
  2. Migrate CI test job
    1. Busted
    2. Slack notification
  3. Migrate CD docs job (if necessary)
    1. LDoc
    2. Slack notification
  4. Add dotfiles (if necessary)
  5. Change Codecov Global YAML to disable patch and project coverage
  6. Remove obsolete Makefile targets
  7. QA

Character selection screen does not disappear

Verify

  • I understand that if I ignore these instructions, my issue may be closed without review.
  • I have made sure that there are no similar opened issues.
  • I have made sure that the mod version matches the latest release.
  • I have reproduced this issue when other mods have been disabled.

Describe the bug

Character Select screen does not disappear after choosing a character.

Steps to reproduce

  1. Choose a character
  2. Click play
  3. Quickly open up the Dev Tools UI while you load in with your character
  4. See that the Character Select screen has not disappeared, while the player HUD has also appeared.

Expected behaviour

Character Select screen disappears after choosing a character.

Console output

Click to expand
If applicable, replace this line with the console output.

Screenshot

Click to expand
Dev.Tools.Bug.mp4

Crash with debugging while playing "The Forge"

  • I understand that if I ignore these instructions, my issue may be closed without review.
  • I have made sure that there are no similar opened issues.
  • I have made sure that the mod version matches the latest release.
  • I have reproduced this issue when other mods have been disabled.

Describe the bug

Found by @ViktorYu234. When using debugging tools while playing "The Forge" the game crashes.

Steps to reproduce

  1. Install and enable "The Forge" mod.
  2. Enable PlayerController debugging in the gameplay.
  3. See error.

Expected behaviour

Console output related to the debugging.

Console output

Click to expand
[02:16:52]: [string "../mods/workshop-2220506640/scripts/devtool..."]:197: attempt to index local 'act' (a nil value)
LUA ERROR stack traceback:
../mods/workshop-2220506640/scripts/devtools/debug/playercontroller.lua:197 in () ? (Lua) <179-245>

Screenshot

Click to expand

If applicable, replace this line with an embedded screenshot to help explain your problem.

Add search support

  • I understand that if I ignore these instructions, my issue may be closed without review.
  • I have made sure that there are no similar opened issues.
  • I have made sure that the mod version matches the latest release.

Is your feature request related to a problem? Please describe.

I'm always frustrated when searching for some options. It would be nice to search through all possible options right in the menu, so that I could find things easier.

Describe the solution you'd like

  1. Add a non-interactive search input in the menu just to show the current input value.
  2. Bind keys to the menu and display the current input value in our search input.
  3. Filter options based on the input and display only the matching ones.

Describe alternatives you've considered

If applicable, add a clear and concise description of any alternative solutions or features you've considered.

Additional context

If applicable, add any other context or screenshots about the feature request here.

Issue with "Wetness" in "Weather Control"

  • I understand that if I ignore these instructions, my issue may be closed without review.
  • I have made sure that there are no similar opened issues.
  • I have made sure that the mod version matches the latest release.
  • I have reproduced this issue when other mods have been disabled.

Describe the bug

World wetness does not change if you try to change it in "Weather Control" → "Wetness".

Steps to reproduce

  1. Open In-Game Developer Tools
  2. Select "Weather Control"...
  3. Change "Wetness" from 0 to 100
  4. Wetness gets stuck between 0 and 1

Expected behaviour

Wetness should be able to go up to 100.

Console output

No response

Screenshot

No response

Rewrite changelog

Consider reviewing, proofreading and rewriting (if necessary) the existing changes in the changelog.

By following the most common best practices and to be more consistent between all our projects. For example:

Before:

## [0.2.0][] - 2020-09-11

### Added

- Add "Hide changelog" configuration
- Add API support

### Changed

- Enable "Player Vision" submenu on non-admin servers
- Increase mod loading priority

### Fixed

- Fix issue with crashing when disabling a recipe tab

After:

## [0.2.0] - 2020-09-11

### Added

- Add new "Hide changelog" configuration
- Add support for mod API

### Changed

- Enable "Player Vision" submenu on non-admin servers
- Increase the mod loading priority

### Fixed

- Fix crashing when disabling a recipe tab

Add "Toggle Spawners Visibility" player vision suboption

  • I understand that if I ignore these instructions, my issue may be closed without review.
  • I have made sure that there are no similar opened issues.
  • I have made sure that the mod version matches the latest release.

Is your feature request related to a problem? Please describe.

I'm always frustrated when it comes to spawners. They are invisible and not selectable by default.

Describe the solution you'd like

Add "Toggle Spawners Visibility" option in the "Player Vision" submenu, which toggle spawners visibility and "selectability".

Describe alternatives you've considered

If applicable, add a clear and concise description of any alternative solutions or features you've considered.

Additional context

If applicable, add any other context or screenshots about the feature request here.

Issue with key handlers and UI inputs

  • I understand that if I ignore these instructions, my issue may be closed without review.
  • I have made sure that there are no similar opened issues.
  • I have made sure that the mod version matches the latest release.
  • I have reproduced this issue when other mods have been disabled.

Describe the bug

After SDK migration, key handlers don't respect UI inputs. For example, when opening the console, P toggles pause during input. The same goes when using the toggle tools key ] while searching for a server.

Should be solved using dstmodders/mod-sdk#4 functionality.

Steps to reproduce

  1. Open console
  2. Press P during input
  3. Simulation pauses/unpauses

Expected behaviour

Respect UI inputs and ignore our keys while typing.

Console output

Click to expand
[00:11:44]: [sdk] [dst-mod-dev-tools] [time] Pause game	
[00:11:44]: [sdk] [dst-mod-dev-tools] [time] Resume game

Screenshot

Click to expand

If applicable, replace this line with an embedded screenshot to help explain your problem.

Replace empty values with dashes in data sidebar

Verify

  • I understand that if I ignore these instructions, my issue may be closed without review.
  • I have made sure that there are no similar opened issues.
  • I have made sure that the mod version matches the latest release.

Is your feature request related to a problem? Please describe.

Currently, all empty values in data sidebar are just empty strings. For example, seed values in most cases are now empty in both TheWorld meta and save data. It's better to have dashes (-) instead.

Describe the solution you'd like

Replace "" values with "-" in data sidebar.

Describe alternatives you've considered

We should also consider removing all empty values from the data sidebar. However, at this point, I don't think it's really necessary.

Additional context

If applicable, add any other context or screenshots about the feature request here.

Remove changelog from modinfo

  • I understand that if I ignore these instructions, my issue may be closed without review.
  • I have made sure that there are no similar opened issues.
  • I have made sure that the mod version matches the latest release.

Is your feature request related to a problem? Please describe.

There is no point in having a changelog in the modinfo description. The same goes with the "Hide changelog" configuration.

Describe the solution you'd like

Remove everything related to the changelog in both modinfo and configurations.

Describe alternatives you've considered

If applicable, add a clear and concise description of any alternative solutions or features you've considered.

Additional context

If applicable, add any other context or screenshots about the feature request here.

Reorder booleans in configurations

Verify

  • I understand that if I ignore these instructions, my issue may be closed without review.
  • I have made sure that there are no similar opened issues.
  • I have made sure that the mod version matches the latest release.

Is your feature request related to a problem? Please describe.

Change order of boolean options (with "Enabled" and "Disabled" values) in configurations to follow the same approach used in the game settings.

Describe the solution you'd like

Before:

  • Enabled
  • Disabled

After:

  • Disabled
  • Enabled

Describe alternatives you've considered

If applicable, add a clear and concise description of any alternative solutions or features you've considered.

Additional context

If applicable, add any other context or screenshots about the feature request here.

Use title case for labels in configurations

Verify

  • I understand that if I ignore these instructions, my issue may be closed without review.
  • I have made sure that there are no similar opened issues.
  • I have made sure that the mod version matches the latest release.

Is your feature request related to a problem? Please describe.

We should consider using Title Case instead of Sentence case for labels in configurations. Klei uses the Title Case for all their labels in the settings, and we should follow the same approach for consistency.

Describe the solution you'd like

A clear and concise description of what you want to happen.

Describe alternatives you've considered

If applicable, add a clear and concise description of any alternative solutions or features you've considered.

Additional context

If applicable, add any other context or screenshots about the feature request here.

Add log scrolling support

  • I understand that if I ignore these instructions, my issue may be closed without review.
  • I have made sure that there are no similar opened issues.
  • I have made sure that the mod version matches the latest release.

Is your feature request related to a problem? Please describe.

Even though I hardly care much about the in-game log, as I usually just stream the output in the terminal. Some people may be interested in this kind of feature, and I still find it really useful.

Describe the solution you'd like

Override the current log screen, either by increasing the number of stored lines in the memory (the preferred method) or use a custom solution by steaming the log text file. And, of course, add scrolling.

Describe alternatives you've considered

If applicable, add a clear and concise description of any alternative solutions or features you've considered.

Additional context

If applicable, add any other context or screenshots about the feature request here.

Crash when changing the character

Verify

  • I understand that if I ignore these instructions, my issue may be closed without review.
  • I have made sure that there are no similar opened issues.
  • I have made sure that the mod version matches the latest release.
  • I have reproduced this issue when other mods have been disabled.

Describe the bug

Reported by 󰀏Niko:
https://steamcommunity.com/workshop/filedetails/discussion/2220506640/2945872608895591387/

I seem to crash every time I turn into Wonkey or use the seamlessplayerswapper feature at all for that matter.

I looked more into the issue and the crash log seems to suggest it's an issue with updating the username labels, and more specifically, trying to set the name to nil. My guess as to what's going on is that at some point in the player swap transition the part of the player that the mod uses to determine their username gets transferred to the new prefab leaving nothing in it's place and thus tries setting the username label to nil. Likely a important note, I play with the username labels on.

I found a fix for it.
at "scripts/devtools/labels.lua": (line 284), Replace

inst.Label:SetText(inst.name)

with

inst.Label:SetText(inst.name or inst.prefab)

Steps to reproduce

  1. Launch the dedicated server
  2. Turn into Wonkey
  3. See error

Expected behaviour

Not crash.

Console output

Click to expand
 [string "../mods/workshop-2220506640/scripts/devtool..."]:284: calling 'SetText' on bad self (string expected, got nil)
LUA ERROR stack traceback:
=[C]:-1 in (method) SetText (C) <-1--1>
../mods/workshop-2220506640/scripts/devtools/labels.lua:284 in (method) UpdateUsername (Lua) <275-297>
   self =
      DebugStringStop = function - ../mods/workshop-2220506640/scripts/devtools/utils/debug.lua:55
      DebugError = function - ../mods/workshop-2220506640/scripts/devtools/utils/debug.lua:55
      DebugErrorNotInCave = function - ../mods/workshop-2220506640/scripts/devtools/utils/debug.lua:55
      username_mode = coloured
      DebugString = function - ../mods/workshop-2220506640/scripts/devtools/utils/debug.lua:55
      DebugActivateEventListener = function - ../mods/workshop-2220506640/scripts/devtools/utils/debug.lua:55
      DebugSelectedPlayerString = function - ../mods/workshop-2220506640/scripts/devtools/utils/debug.lua:55
      default_username_mode = coloured
      DebugErrorNotInForest = function - ../mods/workshop-2220506640/scripts/devtools/utils/debug.lua:55
      font_size = 18
      DebugSendRPCToServer = function - ../mods/workshop-2220506640/scripts/devtools/utils/debug.lua:55
      is_selected_enabled = true
      default_font = stint-ucr
      DebugErrorNotAdmin = function - ../mods/workshop-2220506640/scripts/devtools/utils/debug.lua:55
      DebugInit = function - ../mods/workshop-2220506640/scripts/devtools/utils/debug.lua:55
      DebugDeactivateEventListener = function - ../mods/workshop-2220506640/scripts/devtools/utils/debug.lua:55
      font = stint-ucr
      name = Labels
      default_font_size = 18
      devtools = DevTools
      DebugTerm = function - ../mods/workshop-2220506640/scripts/devtools/utils/debug.lua:55
      is_username_enabled = true
      DebugStringStart = function - ../mods/workshop-2220506640/scripts/devtools/utils/debug.lua:55
   _ = 1
   inst = 101849 - wilson (valid:true)
   client = nil 

Screenshot

Click to expand

If applicable, replace this line with an embedded screenshot to help explain your problem.

Add "Toggle Snow Visibility" player vision suboption

  • I understand that if I ignore these instructions, my issue may be closed without review.
  • I have made sure that there are no similar opened issues.
  • I have made sure that the mod version matches the latest release.

Is your feature request related to a problem? Please describe.

It would make sense to have a snow visibility functionality within this mod whenever you test things.

Describe the solution you'd like

@ViktorYu234 has sent me the solution, so I don't need to dig on my own:

for i = 0,2 do TheWorld.Map["SetOverlayColor"..i](TheWorld.Map,0,0,0,0) end
TheWorld.Map:SetOverlayColor0(0,0,0,0)
TheWorld.Map:SetOverlayColor1(0,0,0,0)
TheWorld.Map:SetOverlayColor2(0,0,0,0)

Describe alternatives you've considered

If applicable, add a clear and concise description of any alternative solutions or features you've considered.

Additional context

If applicable, add any other context or screenshots about the feature request here.

Crash with "Select entity key" on the Celestial Altar

  • I understand that if I ignore these instructions, my issue may be closed without review.
  • I have made sure that there are no similar opened issues.
  • I have made sure that the mod version matches the latest release.
  • I have reproduced this issue when other mods have been disabled.

Describe the bug

Found by @sauktux. When using the "Select entity key" on the Celestial Altar (prefab moon_altar), Dev Tools crashes as it tries to concatenate the altar's name, which is a table:

{MOON_ALTAR_WIP = "Partially Assembled Altar", MOON_ALTAR = "Celestial Altar"})

Seems to be a Klei's naming inconsistency issue. The modder expects the name index to always return a string because Klei even defaults to "MISSING NAME".

Steps to reproduce

  1. Go to Celestial Altar.
  2. Use "Select entity key" on it.
  3. See error.

Expected behavior

See Celestial Altar info related to the "Select entity key" feature.

Console output

Click to expand
If applicable, replace this line with the output.

Screenshot

Click to expand

issue

Add "Resurrect" player option

  • I understand that if I ignore these instructions, my issue may be closed without review.
  • I have made sure that there are no similar opened issues.
  • I have made sure that the mod version matches the latest release.

Is your feature request related to a problem? Please describe.

I want to have a "Resurrect" player option, so that I could resurrect any selected player if he/she is dead.

Describe the solution you'd like

Add "Resurrect" player option next to all player-related ones (the first section of options) which will be available only when the dead player is selected.

Describe alternatives you've considered

If applicable, add a clear and concise description of any alternative solutions or features you've considered.

Additional context

If applicable, add any other context or screenshots about the feature request here.

Issue with handling of keys in text inputs

Verify

  • I understand that if I ignore these instructions, my issue may be closed without review.
  • I have made sure that there are no similar opened issues.
  • I have made sure that the mod version matches the latest release.
  • I have reproduced this issue when other mods have been disabled.

Describe the bug

Related to #14.

Even though the main branch should already handle UI inputs correctly in most cases, the no-sdk branch doesn't. After introducing the new crafting menu, our key bindings don't respect its text input and trigger our actions. Since we are not planning to release v1.0.0 anytime soon, we should consider fixing this one in v0.8.0 instead.

Steps to reproduce

  1. Open console
  2. Press ] during input
  3. See opened Dev Tools menu

Expected behaviour

  1. Open console
  2. Press ] during input
  3. Just add "]" in the text input and ignore opening Dev Tools menu

Console output

Click to expand
If applicable, replace this line with the console output.

Screenshot

Click to expand

If applicable, replace this line with an embedded screenshot to help explain your problem.

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.