A 2D tile-based sandbox game.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

main.cc 1.7KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #include <swan/swan.h>
  2. #include "WGDefault.h"
  3. #include "entities/EntPlayer.h"
  4. #include "entities/EntItemStack.h"
  5. extern "C" void mod_init(Swan::Mod &mod) {
  6. mod.init("core");
  7. mod.registerImage({ "air", "tiles/air.png" });
  8. mod.registerImage({ "stone", "tiles/stone.png" });
  9. mod.registerImage({ "dirt", "tiles/dirt.png" });
  10. mod.registerImage({ "grass", "tiles/grass.png" });
  11. mod.registerImage({ "tree-trunk", "tiles/tree-trunk.png" });
  12. mod.registerImage({ "leaves", "tiles/leaves.png" });
  13. mod.registerImage({ "player-running", "entities/player-running.png", 64 });
  14. mod.registerImage({ "player-still", "entities/player-still.png", 64 });
  15. mod.registerTile({
  16. .name = "air",
  17. .image = "core::air",
  18. .is_solid = false,
  19. });
  20. mod.registerTile({
  21. .name = "stone",
  22. .image = "core::stone",
  23. .dropped_item = "core::stone",
  24. });
  25. mod.registerTile({
  26. .name = "dirt",
  27. .image = "core::dirt",
  28. .dropped_item = "core::dirt",
  29. });
  30. mod.registerTile({
  31. .name = "grass",
  32. .image = "core::grass",
  33. .dropped_item = "core::dirt",
  34. });
  35. mod.registerTile({
  36. .name = "tree-trunk",
  37. .image = "core::tree-trunk",
  38. .dropped_item = "core::tree-trunk",
  39. });
  40. mod.registerTile({
  41. .name = "leaves",
  42. .image = "core::leaves",
  43. });
  44. mod.registerItem({
  45. .name = "stone",
  46. .image = "core::stone",
  47. });
  48. mod.registerItem({
  49. .name = "dirt",
  50. .image = "core::dirt",
  51. });
  52. mod.registerItem({
  53. .name = "grass",
  54. .image = "core::grass",
  55. });
  56. mod.registerItem({
  57. .name = "tree-trunk",
  58. .image = "core::tree-trunk",
  59. });
  60. mod.registerWorldGen("default", std::make_unique<WGDefault::Factory>());
  61. mod.registerEntity("player", std::make_unique<EntPlayer::Factory>());
  62. mod.registerEntity("item-stack", std::make_unique<EntItemStack::Factory>());
  63. }