![]() Does that mean anything significant? Not really, maybe I will try make less breaking changes now. Today I can finally announce that VisUI 1.0.0 has been released. Initially meant to be internal VisEditor UI library now became my most popular project, getting about 1500 downloads each month. To get SpineAsset assets from AssetManager use spineAsset.getArbitrarySkeletonPath() instead of spineAsset.VisUI 0.0.1 was released on 5th November 2014.Fixed: Spine runtime was not allowing not use multiple instances of same animation with different scales.Fixed: FitViewport was not applied when rendering.Fixed: Changing entity tint could affect tint of all entities.Updated Spine plugin to use spine-libgdx-runtime 3.2.0.Fixed: Error when opening project that doesn’t have vis/assets/gfx folder.Fixed: - invalid rotate and scale tools size when using non default pixels per unit values.Fixed: When opening new scene selection tool as used instead of currently active tool.Fixed: Crash when user tried to drag atlas region before any scene had been opened.Fixed: Undoing entity delete could place it at wrong position.Fixed: Unable to change Z index and scale when using text entities with auto set origin to center enabled.Fixed: Minor bug: tabs panel wrong height.Fixed: Unable to open variables settings dialog for newly created scenes.Fixed: #130 - Exit dialog not showed on non Windows OSes.Added: Option in default exporter to package separate texture atlas for each scene.Added: Crash and internal exception reporter.Added: #58 - Polygon auto tracing (available via Polygon Tool).Improved: If some scene assets are missing then dialog with missing files list will be showed.Improved: When multiple entities are selected and ID is ambiguous then it will be marked in Entity Properties.Improved: Entity Properties will now show when field is locked and can’t be edited.Fixes issues when large textures were loading infinitely. Improved: Texture cache speed improved - new texture are available immediately after they are added to project assets.I’m thinking about moving VisEditor sources to separate repository and renaming main repo to vis-ui. However, VisUI has reached maturity some time ago and not much needs to be done to maintain it. To make it clear this deprecation only applies to VisEditor, I’m still going to maintain VisUI project. I have to say thanks to everyone who contributed to it, whether it was issue reporting or creating pull requests and I’m sorry to everyone who hoped for more features. I feel like I’ve been stuck in the Vis world for too long. I’d also like to move on to other projects. It’s kind of funny considering that VisUI was indented to be internal part of VisEditor. While it was my biggest project and one that was quite successful, it’s never reached the popularity I hoped for and was always surpassed by VisUI. I also have an announcement to make: I’ll be no longer maintaining VisEditor and VisRuntime projects. Excluded AsyncTask API from GWT compilation.Added: VisUI#dispose (boolean disposeSkin).VisUI 1.3.0 for latest libGDX 1.9.6 was released. VisUI 1.3.0 Released, VisEditor Deprecated Maybe in the future I will write some more about reverseĮngineering and how I’m using Kotlin for it. It was a nice learning experience in both low levelĪssembly and exploring capabilities of high level Kotlin. Still, I like the uniqueness of how this one works. Now I know that there already are assemblers that could do similar things. val asm = assemble ( startPc = 0 x8804000 ) Import kmips.Label import kmips.Reg.* import kmips.assemble //. They verify correctness against PPSSPP assembler. There’s also one other file with unit tests for each instruction. ![]() The whole assembler which implements MIPS II instruction set including FPU instructions is just It doesn’t parse external file with asm code.Įach written asm instruction is a call to standard Kotlin method. Kmips is a MIPS assembler that is invoked directly from Kotlin code. (ignoring FPU instructions which I added much later). Instruction set is rather small and there are only 3 types of instruction to implement It’s a RISC architecture with fixed instruction sizeĪnd has good documentation online. Quick research into MIPS showed that it would be easy to write it. There are obvious problems with this solution. Then copying the hex value of new instruction and applying that to target executable manually while keeping track of My only other alternative I knew at that time was using assembler built into PPSSPP (PSP emulator). I needed a way to patch games executables.
0 Comments
Leave a Reply. |