Commit Graph

1437 Commits

Author SHA1 Message Date
MattNL
6e3b88aa18 Removed restriction on file extension
LCE technically allows for any file to be opened regardless of file extension as long as it is a valid PCK file. Removing this allows advanced users to be creative with pack stylization
2026-01-25 14:07:00 -05:00
MayNL
a6c8d330c8 HOW DID I MANAGE THAT. Fixed README. >< 2026-01-04 09:58:53 -05:00
MayNL
539842fd6c Update and rename README.md to Fixed MayNL link in README 2026-01-04 09:52:44 -05:00
miku-666
1769caa717 PckStudio.ModelSupport(SkinModelImporter) - Fix null reference exception in TryConvertToSkinBoxType & add another box uv check for all elements(cubes) 2025-12-03 18:14:49 +01:00
miku-666
3c99ca73b1 Update OMI submodule 2025-11-30 10:42:31 +01:00
miku-666
beb1e316cd PackStudio(MainForm) - Remove full box support menu item 2025-11-30 10:42:03 +01:00
miku-666
cfdbe8c3db v7.0.1.0 v7.0.1.0 2025-11-13 15:29:51 +01:00
miku-666
68835cf531 Update OMI submodule 2025-11-13 15:27:36 +01:00
Miku-666
8dfe9cf5b0 3d skin renderer (#50)
* Add 'Validate Skin Dimension' setting

* AddNewSkin - Fix cape box not showing after skin selection

* Extended ResourceLocation for better atlas handling

* ModelImporter - Add block bench export for models inside models.bin

* ModelIporter - Rename 'GetPivot' to 'GetSkinBoxPivot'

* ModelImporter - Fix ANIM2BOX to properly support slim skin models

* ModelImporter - Update BedrockModel json class

* ModelImporter - Update 'FixTexture' to be more generic

* Update ModelContainer API inside OMI-Lib

* Update skin vertex shader to not swap yz

* Update CubeMesh class

* SkinRenderer - Move framebuffer and error checking function to SceneViewport

* SceneViewport - Change OnUpdate parameter

* SkinRenderer - Fix Highlight part having wrong transform

* SkinRenderer - Move call to 'SwapBuffers' into SceneViewport.OnUpdate

* AppSettingsForm - Update API to be more flexible

* SkinBOXExtensions - Update 'GetUVGraphicsPath'

* SkinRenderer - Update 'OnUpdate' function

* SkinRenderer - Add 'LockMousePosition' option

* CustomSkinEditor - Update HighlightlingColor when selecting a part

* CustomSkinEditor - Add render settings

* CustomSkinEditor - Small non-technical changes

* SkinRenderer - Small non-technical changes

* CustomSkinEditor - Load render settings when 'OnLoad' is called

* SkinRenderer - Fix centering leg0/1

* SkinRenderer - Update 'ReInitialzeSkinData' to upload new data to shader

* Rename 'ModelImporter' -> 'SkinModelImporter' and add api interface to add custom import/export providers

* CubeGroupMesh - Fix overlay parts not showing proerly

* SkinRenderer - Fix part highlighting respecting inflate

* Split up model and skin importer into seperate classes and improved api

* IModelImportProvider - Add 'SupportImport' and 'SupportExport' property fields

* ModelImporter - Rename 'SimpleSkinImportProvider' to 'InternalImportProvider'

* modelTextureLocations.json - Add todo

* SkinModelImporter - Move 'ModelTextureLocations' to GameModelImporter

* CustomSkinEditor - Add SettingsManager for RenderSettings

* ModelImporter::Import - Check if file exists

* Rename 'modelTextureLocations' to 'modelMetaData'

* GameModelImporter - Change blockbench name when exporting

* SettingsManager - Add functionality to create internal settings object and add settings to it

* GameModelImporter - Fully implemented game-model export to block bench

* AppSettingsForm - Fix re-adding settings description to default settings

* AppSettingsForm - Add settings description to 'ValidateImageDimension'

* GameModelImporter - Add copyright notice and remove unnecessary using statements

* ModelImporter - Add copyright notice and remove unnecessary using statements

* BlockBenchModel - Fix Texture class json deserialization

* SkinModelImporter - Add 'TryConvertToSkinBoxType' function

* modelMetaData - Remove comments

* SkinModelImporter - Fix 'GetSkinBoxPivot' function

* SkinModelImporter - Add null check in 'FixTexture' function

* SkinModelImporter - Add offset detection when importing skin model

* CustomSkinEditor - Add 'export template' button

* GameModelImporter - Rename 'ModelTextureLocations' -> 'ModelMetaData'

* ModelImporter - Add summary to 'SupportedModelFileFormatsFilter' property

* GameModelImporter - Change function signature of 'CreateElement'

* GameModelImporter - Add options to create root outline

* GameModelImporter - Update Debug message in 'TraverseChildren'

* MainForm - Small code refactor

* Rename class 'Meta' ->'BlockBenchFormatInfo' and update BlockBenchModel.Create function signature

* MainForm - Update 'GetModelTextures' local function

* GameModelImporter - Check model metadata before conversion

* GameModelInfo - Mark class as sealed

* SkinModelImporter - Check if blockbench model uses box uv

* BlockBenchModel - Add export property to class 'Element'

* CustomSkinEditor - Remove unused 'PreviewImage' property

* CustomSkinEditor - Change highlight color on texture

* SkinModelImporter - Fix Block Bench Model import

* modelMetaData - Add meta data for 1.14 models

* SkinModelImporter - Update 'TryConvertToSkinBoxType' function

* SkinModelExporter - Fix model export for bbmodel and bedrock model

* SkinRenderer - Fix order of applying anim animations to match the game

* SkinModelImporter - Fix exception thrown in 'FixTexture'

* CustomSkinEditor - Add Anim editor button and fix anim not being updated when exporting

* SkinModelImporter - Fix offset detection when importing

* SkinModelImporter - Swap box bottom texture when texture is available

* GameModelImporter - Sort using statements

* SkinModelImporter - Small code clean up inside 'ImportBedrockJson'

* SkinModelImporter - Update 'AddBone' function inside 'ExportBedrockJson'

* SkinModelImporter - Fix bottom texture swaping being done bofre parts where imported

* SkinMoelImporter - Rename 'GetSkinBoxPivot' to 'GetSkinPartPivot'

* SceneViewport - Rename 'Init' to 'Initialize'

* SkinModelImporter - Add texture import in 'ImportBedrockJson'

* SkinModelImporter - Fix becrock model import

* Skin-/GameModelImporter - Rename 'fileName' parameter to 'filepath'

* Add ModelEditor

* modelMetaData - Add cavespider texture location

* GameModelImporter - Update 'ExportBlockBenchModel' function

* GameModelImporter - Mark 'ModelExportSettings' as sealed

* ModelEditor -Add Save tool menu item & add TrySetTexture Delegate

* ModelEditor - Add model node icons

* Update CubeMesh & rename CubeGroupMesh to CubeMeshCollection

* ModelEditor - Rename 'GetModelNodes' & 'GetModelPartNodeChildren'

* Update GenericMesh & mesh rendering

* Move Cube conversion into SkinBOXExtensions

* GenericMesh - Made 'Transform' property abstract

* SceneViewport - Add shaderLibrary and api to it

* Rename 'skin...' shaders to 'texturedCube...'

* Update modelMetaData part hierarchy structure

* ShaderProgram - Add 'SetUniform2' overload for System.Drawing.Size

* ModelEditor - Create factory methods for custom model treenodes

* modelMetaData - Add 'slime.armor' texture location & pattern texture locations for 'tropicalfish_-a/-b'

* Move Debug & Camera control into SceneViewport

* Update BoundingBox

* Add ModelRenderer

* ShaderProgram - Update GetUniformLocation to retrive all active uniforms when linking program

* ModelEditor - Add option to show bounding box of the model

* SceneViewport - Add OnPaint override to clear color and depth buffer and enable depth testing

* Update OMI submodule

* Update  Texture base class to accept slot when calling Bind

* Plain color fragment shader - Update uniform names to be PascalCase

* SceneViewport - Add 'ResetCamera' virtual function

* CustomSkinEditor - Add missing render setting 'Show Armor'

* ModelRenderer - Fix centering model after selecting

* Move 'SceneViewport.GetBounds' to 'BoundingBox.GetEnclosingBoundingBox'

* CubeMeshCollection - Implemented 'GetBounds'

* SkinRenderer - Add option to show skins bounding box

* ModelEditor - Update 'GetModelImageIndex'

* SceneViewport - Disable blend when rendering debug graphics

* ModelEditor - Remove 'Model' property in favor to 'LoadModel' function

* JsonModelMetaData - Initialize 'RootParts' to empty array

* BoundingBox - Fix exception when empty enumerable was passed

* CubeMesh - Remove 'SetName' and add constructor with 'name' parameter

* SkinBOX - Change class to record & make member properties getter only

* BoundingBox - Move 'Abs' function into extension class

* SceneViewport - Change 'Transform' to 'GetTransform'

* BoundingBox - Make 'GetVertices' static & add GetTransform

* SkinRenderer - Fix bounds calculation when offset is set & fix part highlighting

* CubeMesh - Move translation & scaling into 'GetTransform'

* CubeMeshCollection - Update 'Contains' overload function & 'SetVisible'

* ModelRenderer - Fix pivot point rendering

* ModelRenderer - Add part highlighting

* modelMetaData - Add missing part to dolphin

* modelMetaData - Add missing parts to dragon

* CubeMesh - Fix 'GetTransform' function

* ModelRenderer - Fix model rotation, pivot & translation issues

* ModelRenderer - Add offset to render transform & camera

* ModelRenderer - Tried fixing alpha rendering issues

* modelMetaData - Add missing part to dragon & add comment

* Add 'ITryGetSet.cs' and useful wrappers for it

* ModelRenderer - Rename 'HighlightInfo.Pivot' to 'HighlightInfo.Translation'

* ITryGetSet - mark classes and interfaces public

* ModelEditor - Add material render support

* ModelRenderer - Add 'TryGetModelMetaData' method

* Fix rendering invisible vertecies

* ModelRenderer - Simplefied populating 'metaData.RootParts' property

* ModelRenderer - Add 'modelOffset' field

* ModelRenderer - Update 'SetModelMaterial'

* ModelRenderer - Add simple way of rendering a 2nd layer of a model(the bed model only for now)

* ModelRenderer - Fix pivot points not working on horse model properly

* ResourceLocation - Add 'Unknown' ResourceLocation instance & improved 'ResourceLocation.GetFromPath'

* ResourceCategory - Add 'MobEntityTextures' & 'ItemEntityTextures'

* Add default model handling (defaults unfinished)

* Add Default Bed model

* Add default chicken model

* Add default cow model

* AddSkinPrompt - Fix Custom skin editor not having anim flag properly set

* SceneViewport - Fix Designer crashing when trying to call 'OnPaint'

* Update OMI submodule

* SceneViewport - Call 'base.OnMouseUp' before our own code

* BlockBenchModel - Fix 'Texture.Name' being null

* ItemSelectionPopUp - Fix 'okBtn_Click' condition

* MainForm - Add export function for default models

* MainForm - Fix model selector ignoring cancel button

* MainForm - Remove unnecessary wrapper for 'entityMaterials.TryGetValue'

* ModelEditor - Add remove model to context menu

* ModelEditor - Add 'GetModelContainer' function

* GameModelImporter - Add import functionality

* MainForm - Add texture when exporting default models

* Add default model for: redcow, pig, snowgolem & dragon head

* Add SkinModel & SkinIdentifier class

* Refactor Skin.cs
- Move texture from 'SkinModel' to Skin.cs
- Move 'Id' from SkinMetaData into it's own class(SkinIdentifier.cs)
- Create SkinModelInfo class for keeping skin conversion simple

* Skin.cs - Rename 'ANIM' property to 'Anim'

* Move 'hasInvalidEntries' into 'MaterialExtensions.HasInvalidEntries'

* Add ISaveContext

* PckAssetExt - Rename parameter names for 'GetSkin'

* Add Editor.cs

* Update most editors to use new Editor class and save context

* CustomSkinEditor - Use Editor as base class

* SkinMetaData - Change to Immutable data type

* PckAssetExtension - [SetSkin] Change adding loc key to setting loc key

* ImageDeserializer - Add format check when deserializing

* MainForm - [HandleSkinFile] Rename some varibale names

* ModelEditor - Use Editor as base class

* Move static variables from 'ModelPartSpecifics' to 'GameConstants'

* Texture.cs - Add IDisposable interface

* PckAssetExtensions - [SetSkin] Add null check for loc file

* AnimationEditor - Fix auto save check

* TextureAtlasEditor - Refactor animation access control

* TextureAtlasEditor - Sort using directives

* MainForm - [HandleTextureFile] Add Debug message when animation has no frames to save

* AddSkinPrompt - Update save context for custom skin editor

* Editor - Move autosave check in 'OnFormClosing'

* ModelRenderer - Update designer specifics

* Merge 'multi-pck-files-feature' into '3dSkinRenderer'

* [WIP] Sub-pck in new tab with savecontext etc.

* SceneViewport - Change base refresh rate to 60 fps

* CustomSkinEditor - Move max offset value into a constant

* ModelEditor - Add highlighting of sinfgle model boxes

* MainForm - Add constant for max pck id value

* CustomSkinEditor - Remove fps slider and re-ordered ui

* EditorForm - Remove abstract from class declaration

* EditorControl - Made virtual funtion throw `NotImplementedException`

* CustomSkinEditor - Fix naming violations

* CustomSkinEditor - Move initialization of render settings into a seperate funtion & remove `show armor` setting

* Move Common functionality to Core project & rendering and Model support as well

* Change namespace of EditorForm & EditorControl

* Add Constant 'NDEBUG' to Core, Rendering & ModelSupport project

* PckStudio.csproj - Remove `defaultModels.json` & `modelMetaData.json`
- files were moved to PckStuido.ModelSupport

* PckStudio.csproj - Remove unused `ApplicationBuildInfo.cs`

* PckStudio.Core - Add NamedData.cs

* PckStudio - Move some Resources to Core

* Add Altas class & refactored Atlas editor

* Update OMI Submodule

* TextureAtlasEditor - Fix clear button not reseting color

* Fix PackInfo.cs - OMI.Endianess -> OMI.ByteOrder

* TextureAtlas - Impl extraction&import of large tiles

* PckStudio.Core - Remove duplicated resources

* LOCEditor - Added menu item for copying loc id

* Core - Move 'MAX_PACK_ID' into GameConstants

* TextureAtlasEditor - small refactor + TODOs

* Update OMI submodule ref
2025-11-11 21:53:32 +01:00
miku-666
6b0f233390 Update OMI submodule url 2025-10-11 15:49:56 +02:00
miku-666
336d9618f6 Update OMI Submodule ref 2025-04-30 16:48:57 +02:00
PhoenixARC
49cd274b22 Revert to fbff834 2025-04-26 13:22:05 -04:00
PhoenixARC
ab2da243bd modified OMI lib submodule 2025-04-26 13:07:27 -04:00
PhoenixARC
fbff8346eb Fix two bugs involving packs crashing
texturepacks now use the proper 'languages.loc' instead of 'localisation.loc'

PACKIDs now use the uint24 limit instead of the max int32 limit
2025-04-26 13:05:46 -04:00
PhoenixARC
095cea527c Merge pull request #45 from SkyForcesGit/patch-1
Changed naming of Ctrl key to the neutral one. It solves problem with building the project on systems with some specific languages.
2025-04-26 11:46:40 -04:00
SkyForces
d709a75744 Update MainForm.resx
Changed naming of Ctrl key to the neutral one. It solves problem with building the project on systems with some specific languages.
2025-04-26 18:42:50 +03:00
MattN-L
deda1e0d64 Changed "Unused" category to "Build Off" in parameter enum 2025-03-01 19:31:00 -05:00
MattN-L
0106df06db Can now open PCK files regardless of endianness.
The "PS4/Switch/Xbox One" checkbox now only handles which endianness format the pck is being saved in and what format to open the audio.pck files in.
2025-03-01 17:55:54 -05:00
miku-666
17ebe6c015 Fix missing extension function 2025-02-23 12:24:23 +01:00
miku-666
705bdfa7d3 Merge branch 'main' of https://github.com/PhoenixARC/-PCK-Studio 2025-02-23 10:59:31 +01:00
miku-666
c6cae3c860 Update OMI Lib submodule ref 2025-02-23 10:58:57 +01:00
MattN-L
f2a1309d6e Changed Zlib option in GRF Editor to "Other Platforms" 2025-02-13 18:53:01 -05:00
miku-666
cf33a1e37f MainForm - Check if recent opened file exists 2025-02-12 08:07:06 +01:00
miku-666
78e5d9bbda Merge branch 'main' of https://github.com/PhoenixARC/-PCK-Studio 2025-02-05 19:22:11 +01:00
miku-666
b61d19accc PckNodeSorter - [Compare] Add safer type/null checking 2025-02-05 19:19:36 +01:00
Boreal
c426b7dcf1 Add Xbox One to listed pack types (#42) 2025-01-25 09:49:08 +01:00
miku-666
66a641fd56 MainForm - Disable 'Skins.pck' creation upon creating a new skin pack 2024-12-24 13:14:22 +01:00
EternalModz
da633f52b0 Added some more stats
Updated the header with a few more stats for GitHub. (Stars, forks, etc.)
2024-12-21 11:29:36 -08:00
PhoenixARC
ababe8c5f6 Add update counter to README 2024-12-15 09:24:33 -05:00
miku-666
82db7a22bc ResourceLocation - Add 'Unknown' ResourceLocation instance & improved 'ResourceLocation.GetFromPath' 2024-11-30 10:38:16 +01:00
miku-666
4fca43d4f8 Move extensions from 'PckFileExtensions' to 'PckAssetExtensions' 2024-11-24 17:25:12 +01:00
miku-666
817d4957c7 PckStudio.csproj - Update package and disabled 'TreatWarningsAsErrors' 2024-11-24 13:30:07 +01:00
miku-666
cb041732f8 Update OMI submodule 2024-10-11 02:15:03 +02:00
miku-666
021ce52f8f ApplicationScope - Add 'Contributors' property to empty array if task returned null 2024-10-11 02:13:59 +02:00
miku-666
c8779249ac ResourceLocation - Rename 'TillingMode.Custom' to 'TillingMode.WidthAndHeight' 2024-08-29 19:48:20 +02:00
miku-666
a578024e30 Move Updater.cs into App folder 2024-08-23 17:16:00 +02:00
miku-666
62c987ef26 MainForm - Mark 'importExtractedSkinsFolder' as Obsolete 2024-08-22 17:00:51 +02:00
miku-666
8f4109b10f SkinANIM - Remove 'SetMask' function to avoid confusion 2024-08-16 20:31:20 +02:00
miku-666
99d6fc4ffa MainForm - Focus app when draging files over it 2024-08-16 20:27:29 +02:00
miku-666
32456093e4 MainForm - Add support droping folder in 2024-08-16 19:49:32 +02:00
miku-666
5b6703f337 MainForm - Fix issue where new packs would overwrite last open pck file 2024-08-16 17:28:43 +02:00
miku-666
76c091ed98 SkinANIM - Made class Immutable 2024-08-15 18:27:05 +02:00
miku-666
b1bc4eadad Program - Move Update related initialization into Updater class 2024-08-15 16:57:27 +02:00
miku-666
9162303225 MainForm - Small refactoring of functions 2024-08-15 16:31:00 +02:00
miku-666
4935357333 MainForm - Mark 'GetDataPath', 'HasDataFolder' and 'CreateDataFolder' as Obsolete/Needs moving 2024-08-15 16:29:52 +02:00
miku-666
2751425113 PckAssetExtensions - Update 'DeserializeProperties' & 'SerializeProperties' 2024-08-15 16:28:45 +02:00
miku-666
f04977feb8 Update OMI submodule ref 2024-08-15 14:22:32 +02:00
miku-666
751b7fb5f5 MainForm - Remove 'IsSubPCKNode' & 'RebuildSubPCK' 2024-08-15 14:22:08 +02:00
miku-666
ea1a427c2a generateModel - Remove Import/Export buttons 2024-08-15 14:20:33 +02:00
miku-666
aaec3eb1f2 PckStudio - Enabled 'Treat all warnings as errors' 2024-08-15 14:19:52 +02:00