Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP Level Editor #269

Merged
merged 286 commits into from
Jun 22, 2016
Merged

WIP Level Editor #269

merged 286 commits into from
Jun 22, 2016

Conversation

Hume2
Copy link
Member

@Hume2 Hume2 commented Dec 19, 2015

It's very in-game and much editor.
48 new classes so far
commits:

  • 79% Hume2
  • 20% Tobbi
  • 1% Karkus

Also merge: SuperTux/data#1
Right clicks don't work for some reason, so use ACTION + left click.

Update

Now let's focus on bugfixes and merging this request. We can add features even after merging.

Feature freeze! All new features will go after we merge this.

TODO

  • Add tips and option menus for layer objects
  • Make the clone tool working
  • Add a menu for choosing badguys for dispensers
  • Add a way for editing spawnpoints
  • Add a way for operating with layer objects
  • Sector properties menu
  • Level properties menu
  • A way to add a sector
  • A way to delete a sector
  • A way to create a new level
  • A way to create a new levelset
  • Level testing
  • A way to edit paths
  • Something for scaling area objects, instead of setting its w/h manually.
  • Add menus for choosing sprites and images
  • Tile selections

Less important TODO:

  • Be able to edit worldmaps
  • Something better for script editing
  • Make the level scrolling less tedious
  • An overview of the level

FIXME:

  • Fix level saving.
    When you create a directiry ./supertux2/levels/<levelset directory>, it works.
  • Application might fall when editing properties of some objects.
    It happens only with the newly put objects or objects in addon-levels. Does never happen with some object classes.
  • Launch a level, exit it and then launch a level the editor. When you do that, game crashes, because it can't load the player.
  • Application falls when exiting the level that is being tested.
  • Application falls when the level is tested the secound time.
  • The resizers don't despawn when the area object is deleted. (not critical)
  • Game lags the computer when an object with path is deleted.
  • Right click don't work, ctrl+left clicks are used instead. see: Check For Mouse Right Click #312
  • Sometimes when testing the level, the editor stuff displays in the game session and then the game crashes after exiting the level.
  • Sometimes a white overlay displays all over the screen and stays until game exit. Doesn't happen on all machines.

@Hume2 Hume2 mentioned this pull request Dec 19, 2015
@Hume2 Hume2 added this to the 0.4.1 milestone Dec 19, 2015
@Hume2 Hume2 added priority:medium involves:editor type:feature category:code status:needs-work In progress, but no one is currently working on it (New volunteers welcome) labels Dec 19, 2015
@Hume2 Hume2 modified the milestones: 0.5.0, 0.4.1 Dec 20, 2015
@Karkus476
Copy link
Member

@Hume2 We need to figure out a way for the user to play the level. It needs to be saved to a temporary file (maybe somewhere in ~/.supertux2?) and then run from there. How can we run the level if the editor is already running a level?

@Hume2
Copy link
Member Author

Hume2 commented Dec 23, 2015

@Karkus476 What about ./supertux2/levels/misc/test.stl ?
We can create a GameSession and push it to the screen stack.

@Karkus476
Copy link
Member

@Hume2 Also, I think you should allow right-clicking on objects to bring up a menu which has options like "Delete Object" and "View Object Properties"

@Hume2
Copy link
Member Author

Hume2 commented Dec 24, 2015

@Karkus476 You can delete the object by using the rubber tool. And for right clicking, I have no idea how to enable them in SuperTux.

@Hume2
Copy link
Member Author

Hume2 commented Mar 8, 2016

OK, so the level can be now played in the editor.

GameObject::save(writer);
writer.write("width", bbox.get_width());
writer.write("height", bbox.get_height());
writer.write("diatance_factor", distance_factor);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo: "diatance_factor". Should be "distance_factor".

@Hume2
Copy link
Member Author

Hume2 commented Mar 11, 2016

Thanks, Tobbi!

@Hume2 Hume2 merged commit 472ae0a into master Jun 22, 2016
@Grumbel Grumbel deleted the editor branch July 29, 2018 14:56
@mrkubax10 mrkubax10 removed the status:needs-review Work needs to be reviewed by other people label Jul 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants