Inline the body of pushFace() into uploadModel() and perform the loop hoisting
of the locals that this enables. This cuts off 10-20ms of scene load time on my machine.
Co-authored-by: Jonathon Reesor <jonathon.reesor@gmail.com>
Prevent unnecessary allocations by updating the ensureCapacity() methods to not
create intermediate buffers, just create a single new buffer with the final
size.
Co-authored-by: Jonathon Reesor <jonathon.reesor@gmail.com>
Instead we can just check the model scene id is correct and not have to be
concerned about reused Models from previous scenes having positive buffer
offsets
Co-authored-by: Jonathon Reesor <jonathon.reesor@gmail.com>
Due to JDK-4737788, maximizing an undecorated frame incorrectly covers the
taskbar. Substance attempts to correct this by computing its own maximized
bounds, but it does not account for DPI scaling. Since Substance automatically
calls setMaximizedBounds when the frame is resized to do this we simply
override it and replace the bounds with our own which includes the scaling of
the display.
This also fixes the frame maximizing to the incorrect display on 11.0.8 due to
JDK-8231564, which changes the coordinates setMaximizedBounds() expects to be
relative to the primary display instead of the current display. Previously,
Substance was always setting the bounds x/y to 0 due to this.
Co-authored-by: Runemoro <runemoro1@gmail.com>
Not sure where these original arguments come from, but it was
incorrectly noting the items and then attempting to adjust zoom to
account for that, which makes most item outlines slightly off
Two infernal max cape items exist: one being the item which players can
use, and another presumably being the item displayed in the dialog shown
when combining a max cape and an infernal cape. `INFERNAL_MAX_CAPE` is
the definition for the latter cape, and `INFERNAL_MAX_CAPE_21285` is the
real item players would have.
Mining dense essense doesn't have a chat message so this starts the mining session based on animation instead.
Co-authored-by: chasertw123 <henderson.chase@gmail.com>