rednblackgames / hyperlap2d Goto Github PK
View Code? Open in Web Editor NEWA powerful, platform-independent, visual editor for complex 2D worlds and scenes.
Home Page: https://hyperlap2d.rednblack.games/
License: GNU General Public License v3.0
A powerful, platform-independent, visual editor for complex 2D worlds and scenes.
Home Page: https://hyperlap2d.rednblack.games/
License: GNU General Public License v3.0
Describe the bug
Cannot run HyperLab2D on Windows 10
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Application is started
Desktop (please complete the following information):
Runtime (please complete the following information):
Additional context
By clicking in a value input field (scaling, rotation, position ...), the value should be able to be changed using the mouse wheel.
This would enable even faster and more intuitive work.
Optional:
Change of values in real time. Changes are visible directly in the sandbox without having to confirm the values.
Hi HyperLap2D team, I made a sample UI design with this tool, but not able to find out any tutorial/template to integrate the design the libgdx project. Could you please make a template project/tutorial for this. Or provide the link if already made. Thanks.
When opening a previous scene, editor crashes without any explicit error.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Application should not keep crashing and we should be able to reopen a scene after an error.
Desktop:
Stack Trace
From log files, when opening the "broken" scene:
java.lang.RuntimeException: Actor: MenuItem
| Label: Example1 - [ /Users/(...)/HyperLap2D-Spine/scene/Example1/project.h2d]
| VisLabel:
at com.badlogic.gdx.scenes.scene2d.Actor.notify(Actor.java:192)
at com.badlogic.gdx.scenes.scene2d.Actor.fire(Actor.java:152)
at com.badlogic.gdx.scenes.scene2d.ui.Button.setChecked(Button.java:132)
at com.badlogic.gdx.scenes.scene2d.ui.Button$1.clicked(Button.java:95)
at com.badlogic.gdx.scenes.scene2d.utils.ClickListener.touchUp(ClickListener.java:89)
at com.badlogic.gdx.scenes.scene2d.InputListener.handle(InputListener.java:69)
at com.badlogic.gdx.scenes.scene2d.Stage.touchUp(Stage.java:352)
at com.badlogic.gdx.InputMultiplexer.touchUp(InputMultiplexer.java:124)
at com.badlogic.gdx.InputEventQueue.drain(InputEventQueue.java:86)
at com.badlogic.gdx.backends.lwjgl3.DefaultLwjgl3Input.update(DefaultLwjgl3Input.java:208)
at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Window.update(Lwjgl3Window.java:394)
at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.loop(Lwjgl3Application.java:138)
at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.<init>(Lwjgl3Application.java:114)
at games.rednblack.editor.Main.main(Main.java:57)
Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: /Users/(...)/HyperLap2D-Spine/scene/Example1/assets/orig/spine-animations/stretchyman-pro/stretchyman.png
Renaming manually in file system the files solved the issue, nevertheless I let you know of this issue so you can have a look.
Thank you.
A simple mirror function for images and composites, to use easy textures more dynamical.
in demo, it use the 'Physics Body' to move the player. if i don't open Physics enable, and want to move player.
how can id do?
Direct manipulation of transformcomponent's coordinates does not work. because CompositeSystem is constantly updating it.
Please 🙏 mention in the readme of your project that the JAR build requires Java 14.
Thanks to the fact that I know what version 58 means and that i have many java version installed, I was able to run the app.
But for those new to java, and libgdx they wont be able to use the app in the first place 😋!
Thanks a lot.
If a composite is created using an image and this image is deleted within the composite and it is switched back to the MainView, the empty composite cannot be deleted. The program freezes.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Not possible to create an empty composite - or not possible to delete the last object within a composite.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
The fonts are slightly blurry. For example, if you look at the "t" crossbar for "New Project"
There isn't any part of the crossbar that is 100% opaque, making it hard to see at 100% magnification. Compare to the "t" in Microsoft Word menu.
That is sharp and easy to read. Thanks for your consideration.
Description
I don't know if it's a bug or not. But it closes the app instantly!
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Application crashed.
Desktop (please complete the following information):
The exception thrown
Exception in thread "main" java.lang.NullPointerException at games.rednblack.editor.plugin.defgen.tools.DrawTileTool.itemMouseDoubleClick(DrawTileTool.java:95) at games.rednblack.editor.view.stage.SandboxMediator$SandboxItemEventListener.touchUp(SandboxMediator.java:222) at games.rednblack.editor.view.stage.input.SandboxInputAdapter.touchUp(SandboxInputAdapter.java:138) at com.badlogic.gdx.InputMultiplexer.touchUp(InputMultiplexer.java:124) at com.badlogic.gdx.InputEventQueue.drain(InputEventQueue.java:86) at com.badlogic.gdx.backends.lwjgl3.DefaultLwjgl3Input.update(DefaultLwjgl3Input.java:208) at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Window.update(Lwjgl3Window.java:394) at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.loop(Lwjgl3Application.java:138) at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.<init>(Lwjgl3Application.java:114) at games.rednblack.editor.Main.main(Main.java:57)
Thanks a lot 😁
First, thank you so much for taking overlap 2D and giving it a new life. I was really sad of it being dead for some time. I usually use it on my classes, and using a old/dead app wasn't very nice.
My current problem is not properly a bug, but a feature request.
Using OverLap, erm, HyperLap2D in a 4K display is very complicated (using Linux Mint, 0.0.5 of HyperLap).
Is there any way to make it... larger?
Thank you
When placing an image in a position where X or Y is 0, the .dt
file generated doesn't include that field.
While that can be "circumvented", it doesn't make much sense. The file should be the more homogeneous possible, to make its parsing simple as efficient.
It wasn't clear if Spine is supported yet. I've tried it and the assets don't seem to appear in my library.
Reproduction Steps
File >> Import Resources
Browse
Select a Spine JSON
Open
It shows a progress bar for a moment like it was loading, but then nothing after that. It doesn't appear in any of the resources tabs. Importing images works fine. Thanks!
Hi , we wanted to work on RTS games.
It would be good if you add support for Top Down game designs like
Warcraft 2 , Dune 2000 etc...
HyperLap2D Editor crashes when click on Auto Trace (Polygon Component)
To Reproduce
Stack Trace
java.lang.NullPointerException
at games.rednblack.editor.view.ui.dialog.AutoTraceDialogMediator.addAutoTraceMesh(AutoTraceDialogMediator.java:66)
at games.rednblack.editor.view.ui.dialog.AutoTraceDialogMediator.handleNotification(AutoTraceDialogMediator.java:55)
at org.puremvc.java.core.View$$Lambda$56/000000002DA4AC20.accept(Unknown Source)
at org.puremvc.java.patterns.observer.Observer.notifyObserver(Observer.java:72)
at org.puremvc.java.core.View.lambda$notifyObservers$0(View.java:131)
at org.puremvc.java.core.View$$Lambda$57/000000002DA9C220.accept(Unknown Source)
at java.base/java.util.ArrayList.forEach(Unknown Source)
at org.puremvc.java.core.View.notifyObservers(View.java:131)
at org.puremvc.java.patterns.facade.Facade.notifyObservers(Facade.java:428)
at org.puremvc.java.patterns.facade.Facade.sendNotification(Facade.java:386)
at org.puremvc.java.patterns.facade.Facade.sendNotification(Facade.java:399)
at games.rednblack.editor.event.ButtonToNotificationListener.touchUp(ButtonToNotificationListener.java:26)
at com.badlogic.gdx.scenes.scene2d.InputListener.handle(InputListener.java:69)
at com.badlogic.gdx.scenes.scene2d.Stage.touchUp(Stage.java:352)
at com.badlogic.gdx.InputMultiplexer.touchUp(InputMultiplexer.java:124)
at com.badlogic.gdx.InputEventQueue.drain(InputEventQueue.java:86)
at com.badlogic.gdx.backends.lwjgl3.DefaultLwjgl3Input.update(DefaultLwjgl3Input.java:208)
at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Window.update(Lwjgl3Window.java:394)
at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.loop(Lwjgl3Application.java:138)
at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.<init>(Lwjgl3Application.java:114)
at games.rednblack.editor.Main.main(Main.java:57)
Desktop:
Describe the bug
When I use the Transform Tool to Enlargen my primitive object, the size properties on the right are not updated. It also doesn't update when you scale.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Expected for the Size to be updated
Desktop (please complete the following information):
It would be good if it were possible to change the position of the image in composite mode (Items Tree).
Because at the moment every new image overwrites the old one.
Sometimes this is not wanted.
Example: I am building an island and starting with the beach. Now I position palm trees on the beach. I notice that it would be nicer if some palm trees were positioned behind the beach. But unfortunately I can't push palm trees behind the beach in the item tree order.
Currently, Origin transformation works only for composites. Should be extend to any object: image, animations, bodies etc.
Hi , is there any support/sample for top down RTS style ?
like Warcraft 2
2- ) Can we donate or buy license?
You should also put demos on youtube
Problem:
Sprite Animation freeze using SpriteAnimationComponent / SpriteAnimationStateComponent.
The first image of the animation is loaded, but no animation.
Ive build an playerSpriteManager method, called in the render function:
` private void playerSpriteManager(){
SpriteAnimationComponent spriteAnimationComponent = ComponentRetriever.get(player,SpriteAnimationComponent.class);
SpriteAnimationStateComponent spriteAnimationStateComponent = ComponentRetriever.get(player,SpriteAnimationStateComponent.class);
spriteAnimationComponent.fps = 24;
spriteAnimationComponent.currentAnimation = "walk";
spriteAnimationComponent.playMode = Animation.PlayMode.LOOP;
spriteAnimationStateComponent.set(spriteAnimationComponent);
}`
Inside h2d:
Hyperlap 0.0.6-Snapshot
Windows 10 64bit
Intellij
OpenSk 15
Import Resoucres.
A folder structure for assets in the images panel would be nice.
It would be nice if it would be possible to import a complete asset folder (which is naturally sorted in folders, e.g. "Trees, flowers, stones, etc.") and this structure is simply adopted in the Hyperlap images panel.
Optional an update method to check whether something has been added / changed / removed from the asset folder (in the file system).
I could launch v0.0.1 however for some reason v0.0.2 cant be launched.
I installed HyperLap 0.0.2 using the deb package and did the same with the previous version.
When I launch it the splash screen appears and then after a while it disappears and the program hasn't launched.
Describe the bug
Lwjgl3 crash when i minimize the Window with an IllegalStateException:
Exception in thread "main" java.lang.IllegalStateException: Frame buffer couldn't be constructed: incomplete attachment
at com.badlogic.gdx.graphics.glutils.GLFrameBuffer.build(GLFrameBuffer.java:256)
at com.badlogic.gdx.graphics.glutils.FrameBuffer.<init>(FrameBuffer.java:75)
at com.badlogic.gdx.graphics.glutils.FrameBuffer.<init>(FrameBuffer.java:57)
at games.rednblack.editor.renderer.systems.render.FrameBufferManager.createFBO(FrameBufferManager.java:35)
at games.rednblack.editor.renderer.systems.render.FrameBufferManager.createFBO(FrameBufferManager.java:20)
at games.rednblack.editor.renderer.systems.render.HyperLap2dRenderer.resize(HyperLap2dRenderer.java:519)
at games.rednblack.editor.renderer.SceneLoader.resize(SceneLoader.java:414)
at games.rednblack.hyperlap2d.example.HyperLap2DExample.resize(HyperLap2DExample.java:134)
at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Graphics$1.invoke(Lwjgl3Graphics.java:76)
at org.lwjgl.glfw.GLFWFramebufferSizeCallbackI.callback(GLFWFramebufferSizeCallbackI.java:37)
at org.lwjgl.system.JNI.invokeV(Native Method)
at org.lwjgl.glfw.GLFW.glfwPollEvents(GLFW.java:3094)
at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.loop(Lwjgl3Application.java:149)
at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.<init>(Lwjgl3Application.java:116)
at games.rednblack.hyperlap2d.example.lwjgl3.Lwjgl3Launcher.createApplication(Lwjgl3Launcher.java:15)
at games.rednblack.hyperlap2d.example.lwjgl3.Lwjgl3Launcher.main(Lwjgl3Launcher.java:11)
> Task :lwjgl3:Lwjgl3Launcher.main() FAILED
Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.6.1/userguide/command_line_interface.html#sec:command_line_warnings
5 actionable tasks: 4 executed, 1 up-to-date
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':lwjgl3:Lwjgl3Launcher.main()'.
> Process 'command 'C:/Program Files/Java/jdk1.8.0_271/bin/java.exe'' finished with non-zero exit value 1
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 46s
16:19:26: Task execution finished 'Lwjgl3Launcher.main()'.
To Reproduce
Steps to reproduce the behavior:
Describe the idea
Tabs for Tiles and the possibility of exporting a tile configuration
At the moment each tile has to be inserted individually. This takes some time. And has to be repeated with each project.
It would be nice to be able to export configured tiles once. "Tilesets" could be created as required, and the desired one is loaded as required.
Another idea would be to be able to create tilesets in different tabs. This would create more order.
Jpackage releases should be better for Windows and Linux.
C:\Program Files\HyperLap2D
, it appears to not have enough permission to write in that folder--win-per-user-install
Describe the bug
When a composite is rotated and has active scissors the clip bounds does not rotate and cut the scene inside.
To Reproduce
Steps to reproduce the behavior:
Automatic Resize
and enable Scissors
Transform Tool
Expected behavior
Clip bounds should rotate too
Spriter Animation support is very experimental, still miss many features, but I don't own nor use Spriter, so if someone needs it feel free to add to this issue.
Describe the bug
It takes 2 "Ctrl + Z" to remove placed objects except for the last one object or tile. 😅
To Reproduce
Desktop (please complete the following information):
Thanks a lot 😁
Describe the bug
Box2d Fixture shifts when resize the Game. So, in case of using a mouse-joint, there are some problems:
https://user-images.githubusercontent.com/73443724/112603266-0daf9400-8e15-11eb-985f-c8603881fece.mp4
https://user-images.githubusercontent.com/73443724/112603275-130cde80-8e15-11eb-8b60-f65a72283e4b.mp4
To Reproduce
Steps to reproduce the behavior:
Latest Snapshot
Windows
I've imported a new spine animation to my projects. No errors were given, but the animation is not visible on right panel (under resources - animations).
To Reproduce
Steps to reproduce the behavior:
Expected behavior
We should be able to see the new imported animation or an error message should be displayed.
Desktop:
Stack trace
Caused by: java.lang.IllegalArgumentException: Named value not found: name
at com.badlogic.gdx.utils.JsonValue.getString(JsonValue.java:663)
at com.esotericsoftware.spine.SkeletonJson.readSkeletonData(SkeletonJson.java:275)
at games.rednblack.editor.view.ui.widget.actors.SpineActor.initSkeletonData(SpineActor.java:85)
at games.rednblack.editor.view.ui.widget.actors.SpineActor.<init>(SpineActor.java:41)
at games.rednblack.editor.view.ui.box.resourcespanel.draggable.box.SpineResource.<init>(SpineResource.java:48)
Additional context
The problem is not directly related with editor. It seems Spine changed the JSON format for the skins and using an export from Spine 3.8 fixes the issue.
Nevertheless, I thought of letting you know of this issue, it would be nice to have some kind of feedback when an animation cannot be loaded to the current Project. Hope it was helpful.
Thank you!
in demo, it use the 'Physics Body' to move the player. if i don't open Physics enable, and want to move player.
how can id do?
Direct manipulation of transformcomponent's coordinates does not work. because CompositeSystem is constantly updating it.
Describe the bug
Tiles placed on empty spaces can be easily removed using Undo function.
But for tiles placed over existing tiles -> existing tiles are replaced; "Ctrl + Z" has no effect on them. instead removes the last tile placed on an empty space.
To Reproduce
Expected behavior
The second last tile vanishes
Desktop (please complete the following information):
Thanks a lot 😀
If I start the app, all systems are OK. When I load a project (empty), I have 100% CPU utilization.
Windows 10 Pro 64bit
Intel(R) Pentium(R) Silver N6000 @ 1.10GHz 1.11 GHz
8 GB ram
Intel(R) UHD Graphics
Hyperlap version SNAPSHOT Build #269
Error is already known. Posted here for documentation purposes.
( And hope for improvement :D )
thanks
Edit:
I noticed something: There are always threads on hold at Hyperlap ....:
Touchpad gestures are very limited and could be improved a lot. However there isn't a very good support with libGDX itself, so it's much more LWJGL problem.
It's a very nice way to save composites in the library. Once created, it can be used anywhere in the project at any time.
If I insert a sprite in the editor and edit the animation loops, it would be nice to also be able to save the spite with its settings and be able to reload it later at any time.
Optional: Export edited sprites included png's (with the possibility of importing them into other h2d projects.)
Currently, Physics Component
works only in combination with Polygon Component
to produce a PolygonShape
, so this component should be extended to support CircleShape
, EdgeShape
and ChainShape
.
In addition, make the ability to add multiple shapes to a single component.
Dear @Tom-Ski and @azakhary,
I'm really sorry for misunderstanding that might be created with this repo and my project. Please apologize me if I've done something wrong, I hope that I can clarify the situation.
I've noticed the repository of Overlap2D some months ago, and I've found it deprecated and no more supported. My idea was to relift the whole project and give it a new life. I've never thought to stole anything, moreover I were so thankful to You because create a such good code base where to start.
I've followed, as my best, all licenses present inside the original repository. At time I've forked Overlap2D it was licensed with Apache 2.0
(https://github.com/UnderwaterApps/overlap2d). I've credit in the About
section of my project all links to original works licensed with Apache 2.0 I've used, as you can see in this class:
Regarding art assets (https://github.com/rednblackgames/HyperLap2D/tree/master/art) I've removed anything that might be not compatible with Apache 2.0, for example Overlap2D logo, splash screen and so on.
I never use something with the intention of stole or something else. As you can see, I've always work with my best intention, I've always admire you for your amazing works, I really want to fix this situation in the most pacific way since I've made this tool just to be useful, nothing more 😃
There might be a issue on the new libGDX's website, where the author uploaded a GIF showing this Editor with some of yours assets. Well, that GIF was only created for demo purpose on libGDX's Discord channel to show members the new feature I were ported from Physics Body Editor (Auto Trace Polygon), but again I've never used it in any other way, it was just a case, I'm really sorry for that, if this was the problem I swear it will never happen again.
In sum, In this repo I've used only stuff mine or licensed with Apache 2.0, if I've done something wrong, please accept my apologies, I'm sure that there will be a solution.
Many thanks for your time.
Sincerely,
Francesco
The custom mouse icon persists when opening a dialog or navigating through menus. This makes it difficult to precisely click buttons.
Reproduction Steps
Select the Transform Tool.
Click the File menu.
Select Import Resources.
Move the mouse over the dialog. The move cursor remains visible when it would make more sense to be an arrow.
Description
I believe "Ctrl + Shift + Z" is redo function 😅. Whenever I use the combo, the app suddenly crashes 🤔.
To Reproduce
Expected behavior
Exception in thread "main" java.lang.NullPointerException at games.rednblack.editor.utils.runtime.EntityUtils.getEntityId(EntityUtils.java:85) at games.rednblack.editor.controller.commands.CreateItemCommand.doAction(CreateItemCommand.java:45) at games.rednblack.editor.controller.commands.RevertibleCommand.callDoAction(RevertibleCommand.java:46) at games.rednblack.editor.controller.commands.EntityModifyRevertibleCommand.callDoAction(EntityModifyRevertibleCommand.java:42) at games.rednblack.editor.proxy.CommandManager.redoCommand(CommandManager.java:104) at games.rednblack.editor.view.stage.SandboxMediator$SandboxStageEventListener.keyDown(SandboxMediator.java:314) at games.rednblack.editor.view.stage.input.SandboxInputAdapter.keyDown(SandboxInputAdapter.java:41) at com.badlogic.gdx.InputMultiplexer.keyDown(InputMultiplexer.java:80) at com.badlogic.gdx.InputEventQueue.drain(InputEventQueue.java:74) at com.badlogic.gdx.backends.lwjgl3.DefaultLwjgl3Input.update(DefaultLwjgl3Input.java:208) at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Window.update(Lwjgl3Window.java:394) at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.loop(Lwjgl3Application.java:138) at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.<init>(Lwjgl3Application.java:114) at games.rednblack.editor.Main.main(Main.java:57)
😵
Tool Specifications
Thanks a lot 👍
Currently, Labels cannot be rotated. Might be useful to add this feature too.
While I suppose atlas format is somehow standard for some libraries, given HyperLap2D saves everything in JSON, it would be nice if an extra file could be saved in json format. I suppose that to be easy (just serialize the same structure), but as I am not really a Java programmer, not easy for me to help.
Link label sample :https://github.com/rednblackgames/HyperLap2D/wiki/libgdx---Getting-Started
LabelVO labelVO = new LabelVO();
labelVO.itemIdentifier = "labeltutorial";
labelVO.text = "This is a runtime label";
labelVO.style = "Bodoni MT";
labelVO.size = 26;
labelVO.layerName = "Default";
labelVO.x = 10;
labelVO.y = 10;
labelVO.width = 100;
labelVO.height = 100;
I has add font to asset/freetypefonts/Bodoni MT.tff and assets/Bodoni MT.tff. But has miss labe style.
Can anyone help me to solve this error, I really don't know where I am missing.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.