Skip to content

Instantly share code, notes, and snippets.

@dextercd
Last active January 24, 2024 20:43
Show Gist options
  • Save dextercd/f90b2d3be1b9d4ab0dc7f1bf34502528 to your computer and use it in GitHub Desktop.
Save dextercd/f90b2d3be1b9d4ab0dc7f1bf34502528 to your computer and use it in GitHub Desktop.

Noita Dear ImGui 1.17.0

The mod now uses ImGui version 1.90.2 WIP internally, upgraded from version 1.89.3 WIP.

Note! There are some breaking changes in this release. They should be minor and I don't think any mod is affected. Let me know if a mod does break, so I can try to help fix it or add a workaround in a future release.

Added:

  • ImGui.ListClipper.IncludeItemsByIndex(item_index)
  • ImGui.Style.TabBarBorderSize
  • ImGui.Style.TableAngledHeadersAngle
  • ImGui.Style.SeparatorTextBorderSize
  • ImGui.Style.SeparatorTextAlign_x
  • ImGui.Style.SeparatorTextAlign_y
  • ImGui.Style.SeparatorTextPadding_x
  • ImGui.Style.SeparatorTextPadding_y
  • ImGui.Style.DockingSeparatorSize
  • ImGui.StyleVar.TabBarBorderSize
  • ImGui.StyleVar.SeparatorTextBorderSize
  • ImGui.StyleVar.SeparatorTextAlign
  • ImGui.StyleVar.SeparatorTextPadding
  • ImGui.StyleVar.DockingSeparatorSize
  • ImGui.ComboFlags.WidthFitPreview
  • ImGui.TreeNodeFlags.SpanAllColumns
  • ImGui.TabItemFlags.NoAssumedClosure
  • ImGui.TableFlags.HighlightHoveredColumn
  • ImGui.TableColumnFlags.AngledHeader
  • TableAngledHeadersRow()
  • ImGui.HoveredFlags.DockHierarchy
  • ImGui.HoveredFlags.AllowWhenOverlappedByItem
  • ImGui.HoveredFlags.AllowWhenOverlappedByWindow
  • ImGui.HoveredFlags.RootAndChildWindows
  • ImGui.HoveredFlags.ForTooltip
  • ImGui.HoveredFlags.Stationary
  • ImGui.HoveredFlags.DelayNone
  • ImGui.HoveredFlags.DelayShort
  • ImGui.HoveredFlags.DelayNormal
  • ImGui.HoveredFlags.NoSharedDelay
  • SetNextItemAllowOverlap()
  • BeginItemTooltip()
  • GetWindowDockID()
  • SetNextWindowDockID(dock_id, cond)
  • DockBuilder* functions. Experimental, may change or be removed in later versions. Check if these are nil before trying to call these.
  • ImGui.SeparatorText(text)
  • ImGui.Key.[F13-F24,AppBack,AppForward]

Breaking changes:

  • BeginChild now takes a ChildFlags enum as the 4th argument instead of a boolean.
    • If a mod calls load_imgui with a version below 1.17.0, then it will receive an overload that does still take a boolean argument.

BeginItemTooltip() now returns a boolean instead of nil, and you must only call EndTooltip() if it returns true. I believe currently it always returns true, so old code will keep working but this may change in a future version of imgui.

-- OLD: BAD BAD
imgui.BeginTooltip()
imgui.Text("Test")
imgui.EndTooltip()

-- New: Good
if imgui.BeginTooltip() then
    imgui.Text("Test")
    imgui.EndTooltip()
end

-- New: Good, and compatible with version of Noita Dear ImGui below and above 1.17.0
if imgui.BeginTooltip() ~= false then
    imgui.Text("Test")
    imgui.EndTooltip()
end

Renames:

  • ImGui.ListClipper.ForceDisplayRangeByIndices -> ImGui.ListClipper.IncludeItemsByIndex
  • ImGui.SelectableFlags.AllowItemOverlap -> AllowOverlap
  • ImGui.TreeNodeFlags.AllowItemOverlap -> AllowOverlap
  • ImGui.PushAllowKeyboardFocus -> ImGui.PushTabStop
  • ImGui.PopAllowKeyboardFocus -> ImGui.PopTabStop

Removed:

  • ImGui.WindowFlags.AlwaysUseWindowPadding
  • ImGui.HoveredFlags.AllowWhenOverlapped
  • SetItemAllowOverlap()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment