2 Years Ago
Editor window and preview widget Fix material adding duplicate params Get material description, as json Build features description for material Serialize feature descriptions Features list UI https://files.facepunch.com/layla/1b0911b1/sbox_AQUvbCPcCn.mp4 group combo and label (really should make a radio selection widget for this) Remove GetKV3MaterialDescription binding Grab variable descriptions based on feature state Add group to variable description Display variables Decode sort key (todo: do this in C#) Only show variable groups that have at least one enabled variable, don't create widget for disabled variable Add state cookie to variable list expanders Sort variable groups Create property widgets for variables Create correct property widgets for variables Custom tab widget to tab multiple sessions Try to grab feature state from material Move material editing to a session class so we can have multiple sessions going at once Don't add duplicate variable desc to kv3, don't know why these are showing up, probably because I'm not recompiling material on feature change Bind CompileAndReplaceResource and DiscardInMemoryReplacement Discard in memory replacement on session close Create new tab for new sessions Get active session from current tab page Change preview material on session change Allow Material.Create to set feature states Only skip duplicate variable descs that are disabled (no idea why there are duplicates in the first place) Recreate new unsaved materials when features change Don't update material variables through events Switch tab when adding new session Allow sessions to be closed Process in memory compile reload requests after replacing resource Add dummy material in core for material editor to piggy back off of Recompile material when features or textures change Recompile material on session change Include params in replacement resource Don't forget checkboxes Undo passing features to Material.Create, no longer using this for material editor Restore texture property state when rebuilding variable list Do the same for color, float and checkbox properties Build material output so we can save it, check against feature and variable desc for what key values should be output Allow tab pages to be closeable or not Save session to file, register asset Format colors and floats so old material editor can read them Reset session preview on hotload, fixes preview breaking on hotload Switch page after on page close callback so we don't stomp material with replacement discard Only discard replacement if asset isn't being used in another session Include session name in window title Fix non closable pages not switching Add raw output tab Fix NRE adding new session, keep a copy of material output Use text edit for output Hook up menu bar to actions Menu bar shortcuts Open file dialog Create session for opened material Parse material to get feature and variable states Parse color states Add new line after every variable group in output Remove Material.GetFeaturesState, parse material in tool code instead Allow modified material to be saved Do a recompile before saving, resource replacement is getting stomped Dock the preview, might want to have it fullscreen