├── gamemodes ├── dio_creative │ ├── new_saves │ │ ├── cube │ │ │ ├── players │ │ │ │ └── dont_package.txt │ │ │ ├── world_settings.lua │ │ │ └── default │ │ │ │ └── room_settings.lua │ │ ├── empty │ │ │ ├── players │ │ │ │ └── dont_package.txt │ │ │ ├── world_settings.lua │ │ │ └── default │ │ │ │ └── room_settings.lua │ │ ├── alien_test │ │ │ ├── players │ │ │ │ └── dont_package.txt │ │ │ ├── world_settings.lua │ │ │ └── default │ │ │ │ └── room_settings.lua │ │ ├── flat_earth │ │ │ ├── players │ │ │ │ └── dont_package.txt │ │ │ ├── world_settings.lua │ │ │ └── default │ │ │ │ └── room_settings.lua │ │ ├── floating │ │ │ ├── players │ │ │ │ └── dont_package.txt │ │ │ ├── world_settings.lua │ │ │ └── default │ │ │ │ └── room_settings.lua │ │ ├── ring_world │ │ │ ├── players │ │ │ │ └── dont_package.txt │ │ │ ├── world_settings.lua │ │ │ └── default │ │ │ │ └── room_settings.lua │ │ ├── alien_test2 │ │ │ ├── players │ │ │ │ └── dont_package.txt │ │ │ └── world_settings.lua │ │ ├── alien_test3 │ │ │ ├── players │ │ │ │ └── dont_package.txt │ │ │ └── world_settings.lua │ │ ├── back_to_back │ │ │ ├── players │ │ │ │ └── dont_package.txt │ │ │ ├── world_settings.lua │ │ │ └── default │ │ │ │ └── room_settings.lua │ │ ├── hollow_cube │ │ │ ├── players │ │ │ │ └── dont_package.txt │ │ │ ├── world_settings.lua │ │ │ └── default │ │ │ │ └── room_settings.lua │ │ └── parallel_facing │ │ │ ├── players │ │ │ └── dont_package.txt │ │ │ ├── world_settings.lua │ │ │ └── default │ │ │ └── room_settings.lua │ ├── server_mods.lua │ ├── client_mods.lua │ └── mods │ │ └── world_logic │ │ └── main_client.lua ├── dio_iso │ ├── new_saves │ │ ├── test_00 │ │ │ ├── players │ │ │ │ └── dont_package.txt │ │ │ ├── world_settings.lua │ │ │ └── default │ │ │ │ └── room_settings.lua │ │ └── options.lua │ ├── models │ │ ├── cactus.vox │ │ ├── computer.vox │ │ ├── bad_teazel.vox │ │ ├── chest_open.vox │ │ ├── controller.vox │ │ ├── player_model.vox │ │ ├── breakable_vector.vox │ │ ├── characters │ │ │ ├── chr_bro.vox │ │ │ ├── chr_nun.vox │ │ │ ├── chr_army1.vox │ │ │ ├── chr_army2.vox │ │ │ ├── chr_army3.vox │ │ │ ├── chr_army4.vox │ │ │ ├── chr_base.vox │ │ │ ├── chr_beau.vox │ │ │ ├── chr_chef.vox │ │ │ ├── chr_cop1.vox │ │ │ ├── chr_cop2.vox │ │ │ ├── chr_goth1.vox │ │ │ ├── chr_goth2.vox │ │ │ ├── chr_goth3.vox │ │ │ ├── chr_hobo1.vox │ │ │ ├── chr_lady1.vox │ │ │ ├── chr_lady2.vox │ │ │ ├── chr_lady3.vox │ │ │ ├── chr_lady4.vox │ │ │ ├── chr_mayor.vox │ │ │ ├── chr_mike.vox │ │ │ ├── chr_nurse.vox │ │ │ ├── chr_punk.vox │ │ │ ├── chr_robot.vox │ │ │ ├── chr_sign1.vox │ │ │ ├── chr_sign2.vox │ │ │ ├── chr_suit1.vox │ │ │ ├── chr_suit2.vox │ │ │ ├── chr_suit3.vox │ │ │ ├── chr_suit4.vox │ │ │ ├── chr_sumo1.vox │ │ │ ├── chr_sumo2.vox │ │ │ ├── chr_thief.vox │ │ │ ├── mob_bear.vox │ │ │ ├── mob_cat1.vox │ │ │ ├── mob_cat2.vox │ │ │ ├── mob_cat3.vox │ │ │ ├── mob_cat4.vox │ │ │ ├── mob_dog1.vox │ │ │ ├── mob_dog2.vox │ │ │ ├── alien_bot1.vox │ │ │ ├── alien_bot2.vox │ │ │ ├── alien_bot3.vox │ │ │ ├── alien_crawl1.vox │ │ │ ├── alien_crawl2.vox │ │ │ ├── alien_engi1a.vox │ │ │ ├── alien_engi1b.vox │ │ │ ├── alien_engi1c.vox │ │ │ ├── alien_engi2a.vox │ │ │ ├── alien_engi2b.vox │ │ │ ├── alien_engi2c.vox │ │ │ ├── alien_engi2d.vox │ │ │ ├── alien_engi3.vox │ │ │ ├── alien_eye1a.vox │ │ │ ├── alien_eye1b.vox │ │ │ ├── alien_eye1c.vox │ │ │ ├── alien_tool1.vox │ │ │ ├── alien_tool2.vox │ │ │ ├── alien_tool3.vox │ │ │ ├── chr_army1a.vox │ │ │ ├── chr_army1b.vox │ │ │ ├── chr_army2a.vox │ │ │ ├── chr_army2b.vox │ │ │ ├── chr_beardo1.vox │ │ │ ├── chr_beardo2.vox │ │ │ ├── chr_beardo3.vox │ │ │ ├── chr_beardo4.vox │ │ │ ├── chr_bridget.vox │ │ │ ├── chr_brookie.vox │ │ │ ├── chr_butcher.vox │ │ │ ├── chr_costume1.vox │ │ │ ├── chr_costume2.vox │ │ │ ├── chr_costume3.vox │ │ │ ├── chr_costume4.vox │ │ │ ├── chr_eskimo.vox │ │ │ ├── chr_fatkid.vox │ │ │ ├── chr_hazmat1.vox │ │ │ ├── chr_hazmat2.vox │ │ │ ├── chr_hunter1.vox │ │ │ ├── chr_hunter2.vox │ │ │ ├── chr_janitor.vox │ │ │ ├── chr_mailman.vox │ │ │ ├── chr_mechanic.vox │ │ │ ├── chr_mission1.vox │ │ │ ├── chr_mission2.vox │ │ │ ├── chr_naked1.vox │ │ │ ├── chr_naked2.vox │ │ │ ├── chr_naked3.vox │ │ │ ├── chr_naked4.vox │ │ │ ├── chr_naked5.vox │ │ │ ├── chr_naked6.vox │ │ │ ├── chr_priest.vox │ │ │ ├── chr_raver1.vox │ │ │ ├── chr_raver2.vox │ │ │ ├── chr_raver3.vox │ │ │ ├── chr_riotcop.vox │ │ │ ├── chr_sports1.vox │ │ │ ├── chr_sports2.vox │ │ │ ├── chr_sports3.vox │ │ │ ├── chr_sports4.vox │ │ │ ├── chr_super1.vox │ │ │ ├── chr_super2.vox │ │ │ ├── chr_super3.vox │ │ │ ├── chr_super4.vox │ │ │ ├── chr_super5.vox │ │ │ ├── chr_worker1.vox │ │ │ ├── chr_worker2.vox │ │ │ ├── chr_worker3.vox │ │ │ ├── chr_zombie1.vox │ │ │ ├── chr_zombie2.vox │ │ │ ├── chr_zombie3.vox │ │ │ ├── chr_zombie4.vox │ │ │ ├── mob_penguin.vox │ │ │ ├── chr_headphones.vox │ │ │ ├── chr_paramedic1.vox │ │ │ ├── chr_paramedic2.vox │ │ │ ├── chr_ponytail1.vox │ │ │ ├── chr_ponytail2.vox │ │ │ ├── chr_ponytail3.vox │ │ │ ├── chr_scientist.vox │ │ │ ├── alien_infected1.vox │ │ │ ├── alien_infected2.vox │ │ │ ├── alien_infected3.vox │ │ │ ├── LICENSE │ │ │ └── README.md │ │ ├── chest_item_closed.vox │ │ ├── chest_special_closed.vox │ │ └── chest_artefact_closed.vox │ ├── server_mods.lua │ ├── client_mods.lua │ └── mods │ │ └── world_logic │ │ └── main_client.lua ├── dio_mob_test │ ├── new_saves │ │ ├── default │ │ │ ├── players │ │ │ │ └── dont_package.txt │ │ │ ├── world_settings.lua │ │ │ └── default │ │ │ │ └── room_settings.lua │ │ └── options.lua │ ├── server_mods.lua │ └── client_mods.lua ├── default │ ├── frontends │ │ └── frontend_mods.lua │ ├── models │ │ ├── bee.vox │ │ ├── rob.vox │ │ ├── boat.vox │ │ ├── bunny.vox │ │ ├── bush.vox │ │ ├── cross.vox │ │ ├── cube.vox │ │ ├── cube4.vox │ │ ├── pole.vox │ │ ├── stem.vox │ │ ├── test.vox │ │ ├── wall.vox │ │ ├── wheat.vox │ │ ├── bamboo.vox │ │ ├── pole_n.vox │ │ ├── pole_ne.vox │ │ ├── pole_nes.vox │ │ ├── pole_ns.vox │ │ ├── rob_mod2.vox │ │ ├── robody.vox │ │ ├── sapling.vox │ │ ├── scorpion.vox │ │ ├── stairs.vox │ │ ├── teazel.vox │ │ ├── tornado.vox │ │ ├── wall_n.vox │ │ ├── wall_ne.vox │ │ ├── wall_nes.vox │ │ ├── wall_ns.vox │ │ ├── flea_rope1.vox │ │ ├── flea_rope2.vox │ │ ├── flower_red.vox │ │ ├── land_rock.vox │ │ ├── pole_nesw.vox │ │ ├── tall_grass.vox │ │ ├── tree_tall.vox │ │ ├── wall_nesw.vox │ │ ├── flower_yellow.vox │ │ ├── mushroom_red.vox │ │ ├── rob_shaved1.vox │ │ ├── flea_character1.vox │ │ ├── mushroom_brown.vox │ │ ├── entity_model_test.vox │ │ ├── test_entity_model.vox │ │ ├── PAINTABLE_sign_blocky.vox │ │ └── PAINTABLE_sign_rounded.vox │ ├── fonts │ │ ├── nokia_small.glf │ │ └── nokia_medium.glf │ ├── textures │ │ ├── emotes_00.png │ │ ├── crosshair_00.png │ │ ├── sky_colour_00.png │ │ ├── chunks_diffuse_00.png │ │ ├── chunks_diffuse_01.png │ │ ├── chunks_diffuse_02.png │ │ ├── chunks_extruded_00.png │ │ ├── chunks_extruded_01.png │ │ ├── liquids_diffuse_00.png │ │ └── chunks_diffuse_00_open.png │ ├── shaders │ │ ├── shadow_map_render.fragmentshader │ │ ├── instance_test.fragmentshader │ │ ├── sky.fragmentshader │ │ ├── screen.fragmentshader │ │ ├── font.fragmentshader │ │ ├── textured_3d.fragmentshader │ │ ├── shadow_map_render.vertexshader │ │ ├── textured_3d.vertexshader │ │ ├── sky.vertexshader │ │ ├── shadow_map_textured_render.vertexshader │ │ ├── screen.vertexshader │ │ ├── font.vertexshader │ │ ├── instance_test.vertexshader │ │ ├── skybox.fragmentshader │ │ ├── test.fragmentshader │ │ ├── chunk_medium.vertexshader │ │ ├── shadow_map_textured_render.fragmentshader │ │ ├── chunk_medium_model.vertexshader │ │ ├── chunk_medium_model.fragmentshader │ │ ├── skybox.vertexshader │ │ ├── chunk_medium.fragmentshader │ │ ├── chunk_high.fragmentshader │ │ └── chunk_high.vertexshader │ ├── mods │ │ ├── frontend_menus │ │ │ ├── menu_items │ │ │ │ ├── menu_item_base.lua │ │ │ │ ├── break_menu_item.lua │ │ │ │ ├── label_menu_item.lua │ │ │ │ ├── scrollable_menu_item.lua │ │ │ │ ├── button_menu_item.lua │ │ │ │ ├── checkbox_menu_item.lua │ │ │ │ └── key_select_menu_item.lua │ │ │ ├── mixin.lua │ │ │ ├── saving_game_menu.lua │ │ │ ├── quitting_menu.lua │ │ │ ├── menu_construction.lua │ │ │ ├── tetris │ │ │ │ ├── tetromino.lua │ │ │ │ └── tetris_main_menu.lua │ │ │ ├── paint │ │ │ │ ├── list_utils.lua │ │ │ │ └── paint_main.lua │ │ │ ├── loading_world_menu.lua │ │ │ ├── single_player_top_menu.lua │ │ │ ├── load_world_menu.lua │ │ │ ├── text_file_menu.lua │ │ │ ├── playing_game_menu.lua │ │ │ ├── choosing_game_mode_variation_menu.lua │ │ │ ├── create_new_world_menu.lua │ │ │ ├── delete_level_menu.lua │ │ │ └── delete_level_confirm_menu.lua │ │ ├── chat │ │ │ └── emote_definitions.lua │ │ ├── blocks │ │ │ └── main_client.lua │ │ └── motd │ │ │ └── main_server.lua │ └── block_models │ │ └── test_models_00.lua ├── dio_tiny_galaxy │ ├── textures │ │ ├── osd.png │ │ ├── skybox_clouds_00.png │ │ ├── skybox_stars_bg_00.png │ │ ├── sky_colour_tiny_galaxy.png │ │ ├── chunks_diffuse_tiny_galaxy.png │ │ └── chunks_extruded_tiny_galaxy.png │ ├── models │ │ ├── cactus.vox │ │ ├── chest_open.vox │ │ ├── computer.vox │ │ ├── controller.vox │ │ ├── player_model.vox │ │ ├── breakable_vector.vox │ │ ├── chest_item_closed.vox │ │ ├── chest_special_closed.vox │ │ └── chest_artefact_closed.vox │ ├── new_saves │ │ ├── default │ │ │ ├── map_00 │ │ │ │ ├── x-1_y0_z0.region │ │ │ │ ├── x0_y0_z-1.region │ │ │ │ ├── x0_y0_z0.region │ │ │ │ ├── x-1_y0_z-1.region │ │ │ │ └── room_settings.lua │ │ │ ├── galaxy_00 │ │ │ │ ├── x0_y0_z0.region │ │ │ │ ├── x-1_y-1_z-1.region │ │ │ │ ├── x-1_y-1_z0.region │ │ │ │ ├── x-1_y0_z-1.region │ │ │ │ ├── x-1_y0_z0.region │ │ │ │ ├── x0_y-1_z-1.region │ │ │ │ ├── x0_y-1_z0.region │ │ │ │ ├── x0_y0_z-1.region │ │ │ │ └── room_settings.lua │ │ │ └── world_settings.lua │ │ └── options.lua │ ├── mods │ │ ├── world_logic │ │ │ └── galaxy_settings │ │ │ │ └── map_00_settings.lua │ │ └── blocks │ │ │ ├── main_server.lua │ │ │ └── main_client.lua │ ├── server_mods.lua │ └── client_mods.lua ├── dio_tiny_galaxy_creative │ ├── models │ │ ├── cactus.vox │ │ ├── computer.vox │ │ ├── chest_open.vox │ │ ├── controller.vox │ │ ├── player_model.vox │ │ ├── breakable_vector.vox │ │ ├── chest_item_closed.vox │ │ ├── chest_artefact_closed.vox │ │ └── chest_special_closed.vox │ ├── textures │ │ ├── osd.png │ │ ├── sky_colour_tiny_galaxy.png │ │ ├── chunks_diffuse_tiny_galaxy.png │ │ └── chunks_extruded_tiny_galaxy.png │ ├── server_mods.lua │ ├── client_mods.lua │ └── mods │ │ └── world_logic │ │ └── main_client.lua ├── dio_voxel_arena │ ├── new_saves │ │ ├── default │ │ │ ├── waiting_room │ │ │ │ ├── x0_y0_z0.region │ │ │ │ ├── x-1_y-1_z0.region │ │ │ │ ├── x-1_y0_z-1.region │ │ │ │ ├── x-1_y0_z0.region │ │ │ │ ├── x0_y-1_z-1.region │ │ │ │ ├── x0_y-1_z0.region │ │ │ │ ├── x0_y0_z-1.region │ │ │ │ ├── x-1_y-1_z-1.region │ │ │ │ ├── New folder │ │ │ │ │ ├── x0_y0_region │ │ │ │ │ ├── x-1_y0_z0.region │ │ │ │ │ ├── x0_y-1_z0.region │ │ │ │ │ ├── x0_y0_z-1.region │ │ │ │ │ ├── x0_y0_z0.region │ │ │ │ │ ├── x-1_y-1_z-1.region │ │ │ │ │ ├── x-1_y-1_z0.region │ │ │ │ │ ├── x-1_y0_z-1.region │ │ │ │ │ ├── x0_y-1_z-1.region │ │ │ │ │ └── room_settings.lua │ │ │ │ └── room_settings.lua │ │ │ ├── world_settings.lua │ │ │ └── arena │ │ │ │ └── room_settings.lua │ │ └── options.lua │ ├── server_mods.lua │ └── client_mods.lua └── dio_plummet │ ├── new_saves │ ├── default │ │ └── world_settings.lua │ └── options.lua │ ├── server_mods.lua │ └── client_mods.lua ├── .gitignore ├── resources ├── scripts │ └── utils │ │ ├── mixin.lua │ │ ├── resources.lua │ │ ├── window.lua │ │ └── easing.lua └── default_settings │ ├── default_client_settings.lua │ └── default_multiplayer_settings.lua └── readme.txt /gamemodes/dio_creative/new_saves/cube/players/dont_package.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gamemodes/dio_creative/new_saves/empty/players/dont_package.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gamemodes/dio_iso/new_saves/test_00/players/dont_package.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gamemodes/dio_creative/new_saves/alien_test/players/dont_package.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gamemodes/dio_creative/new_saves/flat_earth/players/dont_package.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gamemodes/dio_creative/new_saves/floating/players/dont_package.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gamemodes/dio_creative/new_saves/ring_world/players/dont_package.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gamemodes/dio_mob_test/new_saves/default/players/dont_package.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gamemodes/dio_creative/new_saves/alien_test2/players/dont_package.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gamemodes/dio_creative/new_saves/alien_test3/players/dont_package.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gamemodes/dio_creative/new_saves/back_to_back/players/dont_package.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gamemodes/dio_creative/new_saves/hollow_cube/players/dont_package.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gamemodes/dio_creative/new_saves/parallel_facing/players/dont_package.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gamemodes/default/frontends/frontend_mods.lua: -------------------------------------------------------------------------------- 1 | require ("gamemodes/default/mods/frontend_menus/main") 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Executables 2 | *.exe 3 | out.txt 4 | diff.txt 5 | logs 6 | saves 7 | profiles 8 | settings 9 | .DS_Store -------------------------------------------------------------------------------- /gamemodes/default/models/bee.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/bee.vox -------------------------------------------------------------------------------- /gamemodes/default/models/rob.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/rob.vox -------------------------------------------------------------------------------- /gamemodes/default/models/boat.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/boat.vox -------------------------------------------------------------------------------- /gamemodes/default/models/bunny.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/bunny.vox -------------------------------------------------------------------------------- /gamemodes/default/models/bush.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/bush.vox -------------------------------------------------------------------------------- /gamemodes/default/models/cross.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/cross.vox -------------------------------------------------------------------------------- /gamemodes/default/models/cube.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/cube.vox -------------------------------------------------------------------------------- /gamemodes/default/models/cube4.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/cube4.vox -------------------------------------------------------------------------------- /gamemodes/default/models/pole.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/pole.vox -------------------------------------------------------------------------------- /gamemodes/default/models/stem.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/stem.vox -------------------------------------------------------------------------------- /gamemodes/default/models/test.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/test.vox -------------------------------------------------------------------------------- /gamemodes/default/models/wall.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/wall.vox -------------------------------------------------------------------------------- /gamemodes/default/models/wheat.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/wheat.vox -------------------------------------------------------------------------------- /gamemodes/default/models/bamboo.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/bamboo.vox -------------------------------------------------------------------------------- /gamemodes/default/models/pole_n.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/pole_n.vox -------------------------------------------------------------------------------- /gamemodes/default/models/pole_ne.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/pole_ne.vox -------------------------------------------------------------------------------- /gamemodes/default/models/pole_nes.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/pole_nes.vox -------------------------------------------------------------------------------- /gamemodes/default/models/pole_ns.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/pole_ns.vox -------------------------------------------------------------------------------- /gamemodes/default/models/rob_mod2.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/rob_mod2.vox -------------------------------------------------------------------------------- /gamemodes/default/models/robody.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/robody.vox -------------------------------------------------------------------------------- /gamemodes/default/models/sapling.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/sapling.vox -------------------------------------------------------------------------------- /gamemodes/default/models/scorpion.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/scorpion.vox -------------------------------------------------------------------------------- /gamemodes/default/models/stairs.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/stairs.vox -------------------------------------------------------------------------------- /gamemodes/default/models/teazel.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/teazel.vox -------------------------------------------------------------------------------- /gamemodes/default/models/tornado.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/tornado.vox -------------------------------------------------------------------------------- /gamemodes/default/models/wall_n.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/wall_n.vox -------------------------------------------------------------------------------- /gamemodes/default/models/wall_ne.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/wall_ne.vox -------------------------------------------------------------------------------- /gamemodes/default/models/wall_nes.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/wall_nes.vox -------------------------------------------------------------------------------- /gamemodes/default/models/wall_ns.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/wall_ns.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/cactus.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/cactus.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/computer.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/computer.vox -------------------------------------------------------------------------------- /gamemodes/default/fonts/nokia_small.glf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/fonts/nokia_small.glf -------------------------------------------------------------------------------- /gamemodes/default/models/flea_rope1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/flea_rope1.vox -------------------------------------------------------------------------------- /gamemodes/default/models/flea_rope2.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/flea_rope2.vox -------------------------------------------------------------------------------- /gamemodes/default/models/flower_red.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/flower_red.vox -------------------------------------------------------------------------------- /gamemodes/default/models/land_rock.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/land_rock.vox -------------------------------------------------------------------------------- /gamemodes/default/models/pole_nesw.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/pole_nesw.vox -------------------------------------------------------------------------------- /gamemodes/default/models/tall_grass.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/tall_grass.vox -------------------------------------------------------------------------------- /gamemodes/default/models/tree_tall.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/tree_tall.vox -------------------------------------------------------------------------------- /gamemodes/default/models/wall_nesw.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/wall_nesw.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/bad_teazel.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/bad_teazel.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/chest_open.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/chest_open.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/controller.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/controller.vox -------------------------------------------------------------------------------- /gamemodes/default/fonts/nokia_medium.glf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/fonts/nokia_medium.glf -------------------------------------------------------------------------------- /gamemodes/default/models/flower_yellow.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/flower_yellow.vox -------------------------------------------------------------------------------- /gamemodes/default/models/mushroom_red.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/mushroom_red.vox -------------------------------------------------------------------------------- /gamemodes/default/models/rob_shaved1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/rob_shaved1.vox -------------------------------------------------------------------------------- /gamemodes/default/textures/emotes_00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/textures/emotes_00.png -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/player_model.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/player_model.vox -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/textures/osd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy/textures/osd.png -------------------------------------------------------------------------------- /gamemodes/default/models/flea_character1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/flea_character1.vox -------------------------------------------------------------------------------- /gamemodes/default/models/mushroom_brown.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/mushroom_brown.vox -------------------------------------------------------------------------------- /gamemodes/default/shaders/shadow_map_render.fragmentshader: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | 3 | void main () 4 | { 5 | gl_FragDepth = gl_FragCoord.z; 6 | } -------------------------------------------------------------------------------- /gamemodes/default/textures/crosshair_00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/textures/crosshair_00.png -------------------------------------------------------------------------------- /gamemodes/default/textures/sky_colour_00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/textures/sky_colour_00.png -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/models/cactus.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy/models/cactus.vox -------------------------------------------------------------------------------- /gamemodes/default/models/entity_model_test.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/entity_model_test.vox -------------------------------------------------------------------------------- /gamemodes/default/models/test_entity_model.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/test_entity_model.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/breakable_vector.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/breakable_vector.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_bro.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_bro.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_nun.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_nun.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/chest_item_closed.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/chest_item_closed.vox -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/models/chest_open.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy/models/chest_open.vox -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/models/computer.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy/models/computer.vox -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/models/controller.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy/models/controller.vox -------------------------------------------------------------------------------- /gamemodes/default/textures/chunks_diffuse_00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/textures/chunks_diffuse_00.png -------------------------------------------------------------------------------- /gamemodes/default/textures/chunks_diffuse_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/textures/chunks_diffuse_01.png -------------------------------------------------------------------------------- /gamemodes/default/textures/chunks_diffuse_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/textures/chunks_diffuse_02.png -------------------------------------------------------------------------------- /gamemodes/default/textures/chunks_extruded_00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/textures/chunks_extruded_00.png -------------------------------------------------------------------------------- /gamemodes/default/textures/chunks_extruded_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/textures/chunks_extruded_01.png -------------------------------------------------------------------------------- /gamemodes/default/textures/liquids_diffuse_00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/textures/liquids_diffuse_00.png -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_army1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_army1.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_army2.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_army2.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_army3.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_army3.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_army4.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_army4.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_base.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_base.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_beau.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_beau.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_chef.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_chef.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_cop1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_cop1.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_cop2.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_cop2.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_goth1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_goth1.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_goth2.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_goth2.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_goth3.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_goth3.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_hobo1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_hobo1.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_lady1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_lady1.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_lady2.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_lady2.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_lady3.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_lady3.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_lady4.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_lady4.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_mayor.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_mayor.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_mike.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_mike.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_nurse.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_nurse.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_punk.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_punk.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_robot.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_robot.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_sign1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_sign1.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_sign2.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_sign2.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_suit1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_suit1.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_suit2.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_suit2.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_suit3.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_suit3.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_suit4.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_suit4.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_sumo1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_sumo1.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_sumo2.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_sumo2.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_thief.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_thief.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/mob_bear.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/mob_bear.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/mob_cat1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/mob_cat1.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/mob_cat2.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/mob_cat2.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/mob_cat3.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/mob_cat3.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/mob_cat4.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/mob_cat4.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/mob_dog1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/mob_dog1.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/mob_dog2.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/mob_dog2.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/chest_special_closed.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/chest_special_closed.vox -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/models/player_model.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy/models/player_model.vox -------------------------------------------------------------------------------- /gamemodes/default/models/PAINTABLE_sign_blocky.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/PAINTABLE_sign_blocky.vox -------------------------------------------------------------------------------- /gamemodes/default/models/PAINTABLE_sign_rounded.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/models/PAINTABLE_sign_rounded.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/alien_bot1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/alien_bot1.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/alien_bot2.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/alien_bot2.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/alien_bot3.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/alien_bot3.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/alien_crawl1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/alien_crawl1.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/alien_crawl2.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/alien_crawl2.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/alien_engi1a.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/alien_engi1a.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/alien_engi1b.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/alien_engi1b.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/alien_engi1c.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/alien_engi1c.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/alien_engi2a.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/alien_engi2a.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/alien_engi2b.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/alien_engi2b.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/alien_engi2c.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/alien_engi2c.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/alien_engi2d.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/alien_engi2d.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/alien_engi3.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/alien_engi3.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/alien_eye1a.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/alien_eye1a.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/alien_eye1b.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/alien_eye1b.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/alien_eye1c.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/alien_eye1c.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/alien_tool1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/alien_tool1.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/alien_tool2.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/alien_tool2.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/alien_tool3.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/alien_tool3.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_army1a.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_army1a.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_army1b.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_army1b.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_army2a.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_army2a.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_army2b.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_army2b.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_beardo1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_beardo1.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_beardo2.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_beardo2.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_beardo3.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_beardo3.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_beardo4.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_beardo4.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_bridget.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_bridget.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_brookie.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_brookie.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_butcher.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_butcher.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_costume1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_costume1.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_costume2.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_costume2.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_costume3.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_costume3.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_costume4.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_costume4.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_eskimo.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_eskimo.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_fatkid.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_fatkid.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_hazmat1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_hazmat1.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_hazmat2.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_hazmat2.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_hunter1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_hunter1.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_hunter2.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_hunter2.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_janitor.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_janitor.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_mailman.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_mailman.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_mechanic.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_mechanic.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_mission1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_mission1.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_mission2.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_mission2.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_naked1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_naked1.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_naked2.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_naked2.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_naked3.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_naked3.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_naked4.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_naked4.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_naked5.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_naked5.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_naked6.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_naked6.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_priest.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_priest.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_raver1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_raver1.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_raver2.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_raver2.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_raver3.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_raver3.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_riotcop.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_riotcop.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_sports1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_sports1.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_sports2.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_sports2.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_sports3.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_sports3.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_sports4.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_sports4.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_super1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_super1.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_super2.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_super2.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_super3.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_super3.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_super4.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_super4.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_super5.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_super5.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_worker1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_worker1.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_worker2.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_worker2.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_worker3.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_worker3.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_zombie1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_zombie1.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_zombie2.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_zombie2.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_zombie3.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_zombie3.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_zombie4.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_zombie4.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/mob_penguin.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/mob_penguin.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/chest_artefact_closed.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/chest_artefact_closed.vox -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy_creative/models/cactus.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy_creative/models/cactus.vox -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy_creative/textures/osd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy_creative/textures/osd.png -------------------------------------------------------------------------------- /gamemodes/default/textures/chunks_diffuse_00_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/default/textures/chunks_diffuse_00_open.png -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_headphones.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_headphones.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_paramedic1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_paramedic1.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_paramedic2.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_paramedic2.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_ponytail1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_ponytail1.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_ponytail2.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_ponytail2.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_ponytail3.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_ponytail3.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/chr_scientist.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/chr_scientist.vox -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/models/breakable_vector.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy/models/breakable_vector.vox -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/models/chest_item_closed.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy/models/chest_item_closed.vox -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy_creative/models/computer.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy_creative/models/computer.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/alien_infected1.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/alien_infected1.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/alien_infected2.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/alien_infected2.vox -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/alien_infected3.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_iso/models/characters/alien_infected3.vox -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/models/chest_special_closed.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy/models/chest_special_closed.vox -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/textures/skybox_clouds_00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy/textures/skybox_clouds_00.png -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/textures/skybox_stars_bg_00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy/textures/skybox_stars_bg_00.png -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy_creative/models/chest_open.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy_creative/models/chest_open.vox -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy_creative/models/controller.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy_creative/models/controller.vox -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/models/chest_artefact_closed.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy/models/chest_artefact_closed.vox -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy_creative/models/player_model.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy_creative/models/player_model.vox -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/textures/sky_colour_tiny_galaxy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy/textures/sky_colour_tiny_galaxy.png -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy_creative/models/breakable_vector.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy_creative/models/breakable_vector.vox -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy_creative/models/chest_item_closed.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy_creative/models/chest_item_closed.vox -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/new_saves/default/map_00/x-1_y0_z0.region: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy/new_saves/default/map_00/x-1_y0_z0.region -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/new_saves/default/map_00/x0_y0_z-1.region: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy/new_saves/default/map_00/x0_y0_z-1.region -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/new_saves/default/map_00/x0_y0_z0.region: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy/new_saves/default/map_00/x0_y0_z0.region -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/textures/chunks_diffuse_tiny_galaxy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy/textures/chunks_diffuse_tiny_galaxy.png -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/textures/chunks_extruded_tiny_galaxy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy/textures/chunks_extruded_tiny_galaxy.png -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy_creative/models/chest_artefact_closed.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy_creative/models/chest_artefact_closed.vox -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy_creative/models/chest_special_closed.vox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy_creative/models/chest_special_closed.vox -------------------------------------------------------------------------------- /gamemodes/default/shaders/instance_test.fragmentshader: -------------------------------------------------------------------------------- 1 | #version 330 2 | 3 | in vec4 final_rgba; 4 | 5 | out vec4 color; 6 | 7 | void main() 8 | { 9 | color = final_rgba; 10 | } 11 | -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/new_saves/default/galaxy_00/x0_y0_z0.region: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy/new_saves/default/galaxy_00/x0_y0_z0.region -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/new_saves/default/map_00/x-1_y0_z-1.region: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy/new_saves/default/map_00/x-1_y0_z-1.region -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/new_saves/default/galaxy_00/x-1_y-1_z-1.region: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy/new_saves/default/galaxy_00/x-1_y-1_z-1.region -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/new_saves/default/galaxy_00/x-1_y-1_z0.region: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy/new_saves/default/galaxy_00/x-1_y-1_z0.region -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/new_saves/default/galaxy_00/x-1_y0_z-1.region: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy/new_saves/default/galaxy_00/x-1_y0_z-1.region -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/new_saves/default/galaxy_00/x-1_y0_z0.region: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy/new_saves/default/galaxy_00/x-1_y0_z0.region -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/new_saves/default/galaxy_00/x0_y-1_z-1.region: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy/new_saves/default/galaxy_00/x0_y-1_z-1.region -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/new_saves/default/galaxy_00/x0_y-1_z0.region: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy/new_saves/default/galaxy_00/x0_y-1_z0.region -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/new_saves/default/galaxy_00/x0_y0_z-1.region: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy/new_saves/default/galaxy_00/x0_y0_z-1.region -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy_creative/textures/sky_colour_tiny_galaxy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy_creative/textures/sky_colour_tiny_galaxy.png -------------------------------------------------------------------------------- /gamemodes/dio_voxel_arena/new_saves/default/waiting_room/x0_y0_z0.region: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_voxel_arena/new_saves/default/waiting_room/x0_y0_z0.region -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy_creative/textures/chunks_diffuse_tiny_galaxy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy_creative/textures/chunks_diffuse_tiny_galaxy.png -------------------------------------------------------------------------------- /gamemodes/dio_voxel_arena/new_saves/default/waiting_room/x-1_y-1_z0.region: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_voxel_arena/new_saves/default/waiting_room/x-1_y-1_z0.region -------------------------------------------------------------------------------- /gamemodes/dio_voxel_arena/new_saves/default/waiting_room/x-1_y0_z-1.region: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_voxel_arena/new_saves/default/waiting_room/x-1_y0_z-1.region -------------------------------------------------------------------------------- /gamemodes/dio_voxel_arena/new_saves/default/waiting_room/x-1_y0_z0.region: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_voxel_arena/new_saves/default/waiting_room/x-1_y0_z0.region -------------------------------------------------------------------------------- /gamemodes/dio_voxel_arena/new_saves/default/waiting_room/x0_y-1_z-1.region: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_voxel_arena/new_saves/default/waiting_room/x0_y-1_z-1.region -------------------------------------------------------------------------------- /gamemodes/dio_voxel_arena/new_saves/default/waiting_room/x0_y-1_z0.region: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_voxel_arena/new_saves/default/waiting_room/x0_y-1_z0.region -------------------------------------------------------------------------------- /gamemodes/dio_voxel_arena/new_saves/default/waiting_room/x0_y0_z-1.region: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_voxel_arena/new_saves/default/waiting_room/x0_y0_z-1.region -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy_creative/textures/chunks_extruded_tiny_galaxy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_tiny_galaxy_creative/textures/chunks_extruded_tiny_galaxy.png -------------------------------------------------------------------------------- /gamemodes/dio_voxel_arena/new_saves/default/waiting_room/x-1_y-1_z-1.region: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_voxel_arena/new_saves/default/waiting_room/x-1_y-1_z-1.region -------------------------------------------------------------------------------- /gamemodes/dio_voxel_arena/new_saves/default/waiting_room/New folder/x0_y0_region: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_voxel_arena/new_saves/default/waiting_room/New folder/x0_y0_region -------------------------------------------------------------------------------- /gamemodes/dio_iso/new_saves/test_00/world_settings.lua: -------------------------------------------------------------------------------- 1 | -- auto generated file. safe to hand edit 2 | local worldSettings = 3 | { 4 | gameMode = "dio_iso/", 5 | shouldSave = true, 6 | } 7 | 8 | return worldSettings 9 | -------------------------------------------------------------------------------- /gamemodes/dio_voxel_arena/new_saves/default/waiting_room/New folder/x-1_y0_z0.region: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_voxel_arena/new_saves/default/waiting_room/New folder/x-1_y0_z0.region -------------------------------------------------------------------------------- /gamemodes/dio_voxel_arena/new_saves/default/waiting_room/New folder/x0_y-1_z0.region: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_voxel_arena/new_saves/default/waiting_room/New folder/x0_y-1_z0.region -------------------------------------------------------------------------------- /gamemodes/dio_voxel_arena/new_saves/default/waiting_room/New folder/x0_y0_z-1.region: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_voxel_arena/new_saves/default/waiting_room/New folder/x0_y0_z-1.region -------------------------------------------------------------------------------- /gamemodes/dio_voxel_arena/new_saves/default/waiting_room/New folder/x0_y0_z0.region: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_voxel_arena/new_saves/default/waiting_room/New folder/x0_y0_z0.region -------------------------------------------------------------------------------- /gamemodes/dio_creative/new_saves/cube/world_settings.lua: -------------------------------------------------------------------------------- 1 | -- auto generated file. safe to hand edit 2 | local worldSettings = 3 | { 4 | gameMode = "dio_creative/", 5 | shouldSave = true, 6 | } 7 | 8 | return worldSettings 9 | -------------------------------------------------------------------------------- /gamemodes/dio_voxel_arena/new_saves/default/waiting_room/New folder/x-1_y-1_z-1.region: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_voxel_arena/new_saves/default/waiting_room/New folder/x-1_y-1_z-1.region -------------------------------------------------------------------------------- /gamemodes/dio_voxel_arena/new_saves/default/waiting_room/New folder/x-1_y-1_z0.region: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_voxel_arena/new_saves/default/waiting_room/New folder/x-1_y-1_z0.region -------------------------------------------------------------------------------- /gamemodes/dio_voxel_arena/new_saves/default/waiting_room/New folder/x-1_y0_z-1.region: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_voxel_arena/new_saves/default/waiting_room/New folder/x-1_y0_z-1.region -------------------------------------------------------------------------------- /gamemodes/dio_voxel_arena/new_saves/default/waiting_room/New folder/x0_y-1_z-1.region: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robertswan/diorama-game/HEAD/gamemodes/dio_voxel_arena/new_saves/default/waiting_room/New folder/x0_y-1_z-1.region -------------------------------------------------------------------------------- /gamemodes/dio_creative/new_saves/empty/world_settings.lua: -------------------------------------------------------------------------------- 1 | -- auto generated file. safe to hand edit 2 | local worldSettings = 3 | { 4 | gameMode = "dio_creative/", 5 | shouldSave = true, 6 | } 7 | 8 | return worldSettings 9 | -------------------------------------------------------------------------------- /gamemodes/dio_creative/new_saves/floating/world_settings.lua: -------------------------------------------------------------------------------- 1 | -- auto generated file. safe to hand edit 2 | local worldSettings = 3 | { 4 | gameMode = "dio_creative/", 5 | shouldSave = true, 6 | } 7 | 8 | return worldSettings 9 | -------------------------------------------------------------------------------- /gamemodes/dio_mob_test/new_saves/default/world_settings.lua: -------------------------------------------------------------------------------- 1 | -- auto generated file. safe to hand edit 2 | local worldSettings = 3 | { 4 | gameMode = "dio_mob_test/", 5 | shouldSave = true, 6 | } 7 | 8 | return worldSettings 9 | -------------------------------------------------------------------------------- /gamemodes/dio_plummet/new_saves/default/world_settings.lua: -------------------------------------------------------------------------------- 1 | -- auto generated file. safe to hand edit 2 | local worldSettings = 3 | { 4 | gameMode = "dio_plummet/", 5 | shouldSave = true, 6 | } 7 | 8 | return worldSettings 9 | -------------------------------------------------------------------------------- /gamemodes/dio_creative/new_saves/alien_test/world_settings.lua: -------------------------------------------------------------------------------- 1 | -- auto generated file. safe to hand edit 2 | local worldSettings = 3 | { 4 | gameMode = "dio_creative/", 5 | shouldSave = true, 6 | } 7 | 8 | return worldSettings 9 | -------------------------------------------------------------------------------- /gamemodes/dio_creative/new_saves/alien_test2/world_settings.lua: -------------------------------------------------------------------------------- 1 | -- auto generated file. safe to hand edit 2 | local worldSettings = 3 | { 4 | gameMode = "dio_creative/", 5 | shouldSave = true, 6 | } 7 | 8 | return worldSettings 9 | -------------------------------------------------------------------------------- /gamemodes/dio_creative/new_saves/alien_test3/world_settings.lua: -------------------------------------------------------------------------------- 1 | -- auto generated file. safe to hand edit 2 | local worldSettings = 3 | { 4 | gameMode = "dio_creative/", 5 | shouldSave = true, 6 | } 7 | 8 | return worldSettings 9 | -------------------------------------------------------------------------------- /gamemodes/dio_creative/new_saves/back_to_back/world_settings.lua: -------------------------------------------------------------------------------- 1 | -- auto generated file. safe to hand edit 2 | local worldSettings = 3 | { 4 | gameMode = "dio_creative/", 5 | shouldSave = true, 6 | } 7 | 8 | return worldSettings 9 | -------------------------------------------------------------------------------- /gamemodes/dio_creative/new_saves/flat_earth/world_settings.lua: -------------------------------------------------------------------------------- 1 | -- auto generated file. safe to hand edit 2 | local worldSettings = 3 | { 4 | gameMode = "dio_creative/", 5 | shouldSave = true, 6 | } 7 | 8 | return worldSettings 9 | -------------------------------------------------------------------------------- /gamemodes/dio_creative/new_saves/hollow_cube/world_settings.lua: -------------------------------------------------------------------------------- 1 | -- auto generated file. safe to hand edit 2 | local worldSettings = 3 | { 4 | gameMode = "dio_creative/", 5 | shouldSave = true, 6 | } 7 | 8 | return worldSettings 9 | -------------------------------------------------------------------------------- /gamemodes/dio_creative/new_saves/ring_world/world_settings.lua: -------------------------------------------------------------------------------- 1 | -- auto generated file. safe to hand edit 2 | local worldSettings = 3 | { 4 | gameMode = "dio_creative/", 5 | shouldSave = true, 6 | } 7 | 8 | return worldSettings 9 | -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/new_saves/default/world_settings.lua: -------------------------------------------------------------------------------- 1 | -- auto generated file. safe to hand edit 2 | local worldSettings = 3 | { 4 | gameMode = "dio_tiny_galaxy/", 5 | shouldSave = true, 6 | } 7 | 8 | return worldSettings 9 | -------------------------------------------------------------------------------- /gamemodes/dio_voxel_arena/new_saves/default/world_settings.lua: -------------------------------------------------------------------------------- 1 | -- auto generated file. safe to hand edit 2 | local worldSettings = 3 | { 4 | gameMode = "dio_voxel_arena/", 5 | shouldSave = true, 6 | } 7 | 8 | return worldSettings 9 | -------------------------------------------------------------------------------- /gamemodes/dio_creative/new_saves/parallel_facing/world_settings.lua: -------------------------------------------------------------------------------- 1 | -- auto generated file. safe to hand edit 2 | local worldSettings = 3 | { 4 | gameMode = "dio_creative/", 5 | shouldSave = true, 6 | } 7 | 8 | return worldSettings 9 | -------------------------------------------------------------------------------- /gamemodes/default/shaders/sky.fragmentshader: -------------------------------------------------------------------------------- 1 | #version 330 2 | 3 | uniform sampler2D diffuse_map; 4 | 5 | in vec2 final_uv; 6 | 7 | out vec4 color; 8 | 9 | void main() 10 | { 11 | color.rgb = texture (diffuse_map, final_uv).rgb; 12 | color.a = 1.0; 13 | } 14 | -------------------------------------------------------------------------------- /gamemodes/default/shaders/screen.fragmentshader: -------------------------------------------------------------------------------- 1 | #version 330 2 | 3 | uniform sampler2D diffuse_map; 4 | 5 | in vec2 frag_in_uv; 6 | in vec4 frag_in_color; 7 | 8 | out vec4 color; 9 | 10 | void main() 11 | { 12 | color = texture (diffuse_map, frag_in_uv).rgba; 13 | } 14 | -------------------------------------------------------------------------------- /gamemodes/dio_voxel_arena/new_saves/options.lua: -------------------------------------------------------------------------------- 1 | local options = 2 | { 3 | title = "Voxel Arena", 4 | variations = 5 | { 6 | { 7 | title = "default", 8 | folder = "default/", 9 | }, 10 | } 11 | } 12 | 13 | return options -------------------------------------------------------------------------------- /gamemodes/default/mods/frontend_menus/menu_items/menu_item_base.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | return function () 3 | local instance = 4 | { 5 | x = 0, 6 | y = 0, 7 | width = 50, 8 | height = 10, 9 | gapY = 1, 10 | } 11 | return instance 12 | end 13 | -------------------------------------------------------------------------------- /gamemodes/default/shaders/font.fragmentshader: -------------------------------------------------------------------------------- 1 | #version 330 2 | 3 | uniform sampler2D diffuse_map; 4 | 5 | in vec2 frag_in_uv; 6 | in vec4 frag_in_color; 7 | 8 | out vec4 color; 9 | 10 | void main() 11 | { 12 | vec2 rg = texture (diffuse_map, frag_in_uv).rg; 13 | color = vec4 (rg.x, rg.x, rg.x, rg.y); 14 | color.rgba = color.rgba * frag_in_color; 15 | } 16 | -------------------------------------------------------------------------------- /gamemodes/dio_iso/new_saves/options.lua: -------------------------------------------------------------------------------- 1 | local options = 2 | { 3 | title = "Iosometric Test", 4 | variations = 5 | { 6 | { 7 | title = "Test 00", 8 | folder = "test_00/", 9 | options = 10 | { 11 | title = "Test 00", 12 | }, 13 | }, 14 | }, 15 | } 16 | 17 | return options -------------------------------------------------------------------------------- /gamemodes/default/shaders/textured_3d.fragmentshader: -------------------------------------------------------------------------------- 1 | #version 330 2 | 3 | uniform sampler2D diffuse_map; 4 | 5 | in vec2 final_uv; 6 | in vec4 final_rgba; 7 | 8 | out vec4 color; 9 | 10 | void main() 11 | { 12 | color = texture (diffuse_map, final_uv).rgba; 13 | if (color.a < 1.0f) 14 | { 15 | discard; 16 | } 17 | 18 | color = color * final_rgba; 19 | } 20 | -------------------------------------------------------------------------------- /gamemodes/default/shaders/shadow_map_render.vertexshader: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | 3 | // Input vertex data, different for all executions of this shader. 4 | layout (location = 0) in vec3 vertexPosition_modelspace; 5 | 6 | // Values that stay constant for the whole mesh. 7 | uniform mat4 mvp_matrix; 8 | 9 | void main () 10 | { 11 | gl_Position = mvp_matrix * vec4 (vertexPosition_modelspace, 1); 12 | } 13 | -------------------------------------------------------------------------------- /resources/scripts/utils/mixin.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local m = {} 3 | 4 | -------------------------------------------------- 5 | function m.cloneTable (src) 6 | 7 | local copy = {} 8 | for _, value in ipairs (src) do 9 | table.insert (copy, value) 10 | end 11 | 12 | return copy 13 | 14 | end 15 | 16 | -------------------------------------------------- 17 | return m -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/new_saves/options.lua: -------------------------------------------------------------------------------- 1 | local options = 2 | { 3 | title = "Tiny Galaxy", 4 | variations = 5 | { 6 | { 7 | title = "Galaxy 1", 8 | folder = "default/", 9 | options = 10 | { 11 | title = "random seed (ignored)", 12 | randomSeedAsString = "default_seed", 13 | }, 14 | }, 15 | } 16 | } 17 | 18 | return options -------------------------------------------------------------------------------- /gamemodes/dio_mob_test/new_saves/options.lua: -------------------------------------------------------------------------------- 1 | local options = 2 | { 3 | title = "Mob Test", 4 | variations = 5 | { 6 | { 7 | title = "Mob Test", 8 | folder = "default/", 9 | options = 10 | { 11 | title = "random seed (ignored)", 12 | randomSeedAsString = "default_seed", 13 | }, 14 | }, 15 | } 16 | } 17 | 18 | return options -------------------------------------------------------------------------------- /gamemodes/dio_plummet/new_saves/options.lua: -------------------------------------------------------------------------------- 1 | local options = 2 | { 3 | title = "Plummet", 4 | variations = 5 | { 6 | { 7 | title = "Standard Plummet", 8 | folder = "default/", 9 | options = 10 | { 11 | title = "random seed (ignored)", 12 | randomSeedAsString = "default_seed", 13 | }, 14 | }, 15 | } 16 | } 17 | 18 | return options -------------------------------------------------------------------------------- /gamemodes/default/shaders/textured_3d.vertexshader: -------------------------------------------------------------------------------- 1 | #version 330 2 | 3 | layout (location = 0) in vec3 vertex_position; 4 | layout (location = 1) in vec2 vertex_uv; 5 | layout (location = 2) in vec4 vertex_rgba; 6 | 7 | uniform mat4 mvp_matrix; 8 | 9 | out vec2 final_uv; 10 | out vec4 final_rgba; 11 | 12 | void main() 13 | { 14 | gl_Position = mvp_matrix * vec4 (vertex_position, 1.0f); 15 | final_uv = vertex_uv; 16 | final_rgba = vertex_rgba; 17 | } 18 | -------------------------------------------------------------------------------- /gamemodes/default/shaders/sky.vertexshader: -------------------------------------------------------------------------------- 1 | #version 330 2 | 3 | layout (location = 0) in vec3 vertex_position; 4 | layout (location = 1) in vec2 vertex_uv; 5 | layout (location = 2) in vec4 vertex_rgba; 6 | 7 | uniform mat4 mvp_matrix; 8 | uniform float time_float; 9 | 10 | out vec2 final_uv; 11 | 12 | void main() 13 | { 14 | gl_Position = mvp_matrix * vec4 (vertex_position, 1.0f); 15 | 16 | final_uv.x = time_float; 17 | final_uv.y = vertex_uv.y; 18 | } 19 | -------------------------------------------------------------------------------- /gamemodes/default/shaders/shadow_map_textured_render.vertexshader: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | 3 | // Input vertex data, different for all executions of this shader. 4 | layout (location = 0) in vec3 vertexPosition_modelspace; 5 | layout (location = 1) in vec2 vertex_uv; 6 | 7 | // Values that stay constant for the whole mesh. 8 | uniform mat4 mvp_matrix; 9 | 10 | out vec2 final_uv; 11 | 12 | void main () 13 | { 14 | final_uv = vertex_uv; 15 | gl_Position = mvp_matrix * vec4 (vertexPosition_modelspace, 1); 16 | } 17 | -------------------------------------------------------------------------------- /resources/scripts/utils/resources.lua: -------------------------------------------------------------------------------- 1 | 2 | local m = {} 3 | 4 | -------------------------------------------------- 5 | function m.loadEntityModels (models) 6 | for _, model in ipairs (models) do 7 | dio.resources.loadEntityModel (model.id, model.filename, model.options) 8 | end 9 | end 10 | 11 | -------------------------------------------------- 12 | function m.unloadEntityModels (models) 13 | for _, model in ipairs (models) do 14 | dio.resources.destroyEntityModel (model.id) 15 | end 16 | end 17 | 18 | return m -------------------------------------------------------------------------------- /readme.txt: -------------------------------------------------------------------------------- 1 | ============================= 2 | Default Controls 3 | ============================= 4 | 5 | WASD = Movement 6 | SPACE = Jump 7 | Hold SHIFT = Move (very) Quickly 8 | LEFT MOUSE = Destroy Cube 9 | RIGHT MOUSE = Place Cube 10 | 11 | ============================= 12 | Known Bugs 13 | ============================= 14 | 15 | * Meshes update slower than collision. You can walk in blocks you just destroyed. 16 | * Delete World option doesn't always delete it fully! Delete it again! 17 | -------------------------------------------------------------------------------- /gamemodes/default/shaders/screen.vertexshader: -------------------------------------------------------------------------------- 1 | #version 330 2 | 3 | layout (location = 0) in vec3 vertex_position; 4 | layout (location = 1) in vec2 vertex_uv; 5 | 6 | uniform vec2 viewport_; 7 | 8 | out vec2 frag_in_uv; 9 | out vec4 frag_in_color; 10 | 11 | void main() 12 | { 13 | gl_Position.x = (vertex_position.x / viewport_.x * 2.0f) - 1.0f; 14 | gl_Position.y = (vertex_position.y / viewport_.y * 2.0f) - 1.0f; 15 | gl_Position.z = vertex_position.z; 16 | gl_Position.w = 1.0f; 17 | 18 | frag_in_uv = vertex_uv; 19 | 20 | frag_in_color = vec4 (1.0f, 1.0f, 1.0f, 1.0f); 21 | } 22 | -------------------------------------------------------------------------------- /gamemodes/default/mods/frontend_menus/mixin.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local m = {} 3 | 4 | -------------------------------------------------- 5 | function m.CopyTo (dst, src) 6 | for key, value in pairs (src) do 7 | dst [key] = value 8 | end 9 | end 10 | 11 | -------------------------------------------------- 12 | function m.CopyToAndBackupParents (dst, src) 13 | dst.parent = {} 14 | for key, value in pairs (src) do 15 | dst.parent [key] = dst [key] 16 | dst [key] = value 17 | end 18 | end 19 | 20 | -------------------------------------------------- 21 | return m -------------------------------------------------------------------------------- /gamemodes/default/shaders/font.vertexshader: -------------------------------------------------------------------------------- 1 | #version 330 2 | 3 | layout (location = 0) in vec3 vertex_position; 4 | layout (location = 1) in vec2 vertex_uv; 5 | layout (location = 2) in vec4 vertex_rgba; 6 | 7 | uniform vec2 viewport_; 8 | 9 | out vec2 frag_in_uv; 10 | out vec4 frag_in_color; 11 | 12 | void main() 13 | { 14 | gl_Position.x = (vertex_position.x / viewport_.x * 2.0f) - 1.0f; 15 | gl_Position.y = (vertex_position.y / viewport_.y * 2.0f) - 1.0f; 16 | gl_Position.z = vertex_position.z; 17 | gl_Position.w = 1.0f; 18 | 19 | frag_in_uv = vertex_uv; 20 | 21 | frag_in_color = vertex_rgba; 22 | } 23 | -------------------------------------------------------------------------------- /resources/scripts/utils/window.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local m = {} 3 | 4 | -------------------------------------------------- 5 | function m.calcBestFitScale (w, h, maxW, maxH) 6 | 7 | if maxW == nil or maxH == nil then 8 | maxW, maxH = dio.drawing.getWindowSize () 9 | end 10 | 11 | assert (w > 0) 12 | assert (h > 0) 13 | assert (maxW >= 0) 14 | assert (maxH >= 0) 15 | 16 | local scale = 1 17 | 18 | while w * (scale + 1) <= maxW and h * (scale + 1) <= maxH do 19 | scale = scale + 1 20 | end 21 | 22 | return scale 23 | end 24 | 25 | -------------------------------------------------- 26 | return m -------------------------------------------------------------------------------- /gamemodes/default/shaders/instance_test.vertexshader: -------------------------------------------------------------------------------- 1 | #version 330 2 | 3 | layout (location = 0) in vec3 vertex_position; 4 | layout (location = 1) in vec3 vertex_rgb; 5 | layout (location = 2) in vec3 vertex_normal; 6 | 7 | layout (location = 3) in vec3 instance_offset; 8 | layout (location = 4) in vec3 instance_colors; 9 | 10 | uniform mat4 mvp_matrix; 11 | 12 | uniform vec4 light_direction; 13 | uniform vec4 directional_color; 14 | uniform vec4 ambient_color; 15 | 16 | out vec4 final_rgba; 17 | 18 | void main() 19 | { 20 | gl_Position = mvp_matrix * vec4 (vertex_position + instance_offset, 1.0f); 21 | final_rgba.rgb = vertex_rgb * instance_colors; 22 | final_rgba.a = 1.0f; 23 | } 24 | -------------------------------------------------------------------------------- /gamemodes/default/mods/frontend_menus/menu_items/break_menu_item.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local MenuItemBase = require ("gamemodes/default/mods/frontend_menus/menu_items/menu_item_base") 3 | local Mixin = require ("gamemodes/default/mods/frontend_menus/mixin") 4 | 5 | -------------------------------------------------- 6 | return function () 7 | local instance = 8 | { 9 | text = "", 10 | 11 | onRender = function (self, font, menu) 12 | local width = font.measureString (self.text) 13 | font.drawString ((menu.width - width) * 0.5, self.y, self.text, 0x00b0b0ff) 14 | end 15 | } 16 | 17 | Mixin.CopyTo (instance, MenuItemBase ()) 18 | 19 | return instance 20 | end 21 | -------------------------------------------------------------------------------- /gamemodes/default/mods/frontend_menus/saving_game_menu.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local Menus = require ("gamemodes/default/mods/frontend_menus/menu_construction") 3 | local MenuClass = require ("gamemodes/default/mods/frontend_menus/menu_class") 4 | local Mixin = require ("gamemodes/default/mods/frontend_menus/mixin") 5 | 6 | -------------------------------------------------- 7 | local c = {} 8 | 9 | -------------------------------------------------- 10 | function c:onSessionShutdownCompleted () 11 | return "main_menu" 12 | end 13 | 14 | -------------------------------------------------- 15 | return function () 16 | local instance = MenuClass ("SAVING GAME MENU") 17 | Mixin.CopyToAndBackupParents (instance, c) 18 | return instance 19 | end 20 | -------------------------------------------------------------------------------- /gamemodes/default/mods/frontend_menus/menu_items/label_menu_item.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local MenuItemBase = require ("gamemodes/default/mods/frontend_menus/menu_items/menu_item_base") 3 | local Mixin = require ("gamemodes/default/mods/frontend_menus/mixin") 4 | 5 | -------------------------------------------------- 6 | return function (text) 7 | local instance = 8 | { 9 | text = text, 10 | 11 | onRender = function (self, font, menus) 12 | local width = font.measureString (self.text) 13 | font.drawString ((menus.width - width) * 0.5, self.y, self.text, self.color) 14 | end, 15 | 16 | color = 0xffffffff, 17 | } 18 | 19 | Mixin.CopyTo (instance, MenuItemBase ()) 20 | 21 | return instance 22 | end 23 | -------------------------------------------------------------------------------- /gamemodes/default/shaders/skybox.fragmentshader: -------------------------------------------------------------------------------- 1 | #version 330 2 | 3 | in vec3 texcoords; 4 | in vec3 texcoords_2; 5 | uniform samplerCube diffuse_map; 6 | uniform samplerCube diffuse_map_2; 7 | uniform vec4 blend; 8 | out vec4 frag_colour; 9 | 10 | void main() 11 | { 12 | vec4 rgba = texture (diffuse_map, texcoords); 13 | rgba = rgba + (texture (diffuse_map_2, texcoords_2) * blend); 14 | frag_colour = rgba; 15 | frag_colour.a = 1; 16 | } 17 | 18 | // #version 330 19 | 20 | // uniform samplerCube diffuse_map; 21 | 22 | // in vec2 final_uv; 23 | // in vec4 final_rgba; 24 | 25 | // out vec4 color; 26 | 27 | // void main() 28 | // { 29 | // color = textureCube (diffuse_map, final_uv).rgba; 30 | // if (color.a < 1.0f) 31 | // { 32 | // discard; 33 | // } 34 | 35 | // color = color * final_rgba; 36 | // } 37 | -------------------------------------------------------------------------------- /resources/default_settings/default_client_settings.lua: -------------------------------------------------------------------------------- 1 | local clientSettings = 2 | { 3 | video = 4 | { 5 | monitorIdx = 0, 6 | swapInterval = 1, 7 | window = {x = 100, y = 100, w = 1600, h = 800}, 8 | hasBorders = true, 9 | }, 10 | audio = 11 | { 12 | mainVolume = 1.0, 13 | }, 14 | openGl = 15 | { 16 | isCoreProfile = true, 17 | majorVersion = 3, 18 | minorVersion = 3, 19 | }, 20 | experimental = 21 | { 22 | raymarchSmoothing = false, 23 | raymarchSmoothingWeight = 0.5, 24 | mediumLodMeshes = true, 25 | highLodMeshes = true, 26 | shadowMaps = true, 27 | shadowMapResolution = 2048, 28 | shadowMapRange = 128.0, 29 | multiSamples = 0, 30 | }, 31 | } 32 | 33 | return clientSettings 34 | -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/mods/world_logic/galaxy_settings/map_00_settings.lua: -------------------------------------------------------------------------------- 1 | local settings = 2 | { 3 | isMap = true, 4 | 5 | cameraSettings = 6 | { 7 | overhead = 8 | { 9 | projectionType = dio.types.projectionTypes.FPS, 10 | cameraType = dio.types.cameraTypes.LOOK_AT, 11 | fov = 30, 12 | offset = {-4, 16, 16}, 13 | }, 14 | }, 15 | 16 | spawn = 17 | { 18 | chunkId = {-1, 0, 0}, 19 | xyz = {15, 4, 20}, 20 | ypr = {0, 0, 0}, 21 | gravityDir = 5, 22 | }, 23 | 24 | teleporters = 25 | { 26 | { 27 | chunkId = {-1, 0, 0}, 28 | xyz = {9, 3, 19}, 29 | targetGalaxy = "galaxy_00/", 30 | } 31 | }, 32 | } 33 | 34 | return settings 35 | -------------------------------------------------------------------------------- /resources/default_settings/default_multiplayer_settings.lua: -------------------------------------------------------------------------------- 1 | local multiplayerSettings = 2 | { 3 | servers = 4 | { 5 | { 6 | ipAddress = "84.92.48.10", 7 | ipPort = 25276, 8 | name = "Diorama (Work In Progress)", 9 | password = "", 10 | }, 11 | { 12 | ipAddress = "84.92.48.10", 13 | ipPort = 25274, 14 | name = "Diorama (Creative)", 15 | password = "", 16 | }, 17 | { 18 | ipAddress = "84.92.48.10", 19 | ipPort = 25272, 20 | name = "Diorama (Plummet)", 21 | password = "", 22 | }, 23 | }, 24 | profiles = 25 | { 26 | { 27 | accountId = "NoName", 28 | avatarBottom = 18, 29 | avatarTop = 9, 30 | } 31 | }, 32 | } 33 | 34 | return multiplayerSettings -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/mods/blocks/main_server.lua: -------------------------------------------------------------------------------- 1 | local definitions = require ("gamemodes/dio_tiny_galaxy/mods/blocks/block_definitions") 2 | 3 | -------------------------------------------------- 4 | local function onLoad () 5 | 6 | for _, definition in ipairs (definitions.blocks) do 7 | local definitionId = dio.blocks.createNewDefinitionId () 8 | definition.definitionId = definitionId 9 | dio.blocks.setDefinition (definition) 10 | end 11 | end 12 | 13 | -------------------------------------------------- 14 | local modSettings = 15 | { 16 | name = "Blocks", 17 | 18 | description = "Adds the default Tiny Galaxy blocks", 19 | 20 | permissionsRequired = 21 | { 22 | blocks = true, 23 | }, 24 | 25 | callbacks = 26 | { 27 | onLoad = onLoad, 28 | }, 29 | } 30 | 31 | -------------------------------------------------- 32 | return modSettings -------------------------------------------------------------------------------- /gamemodes/default/shaders/test.fragmentshader: -------------------------------------------------------------------------------- 1 | #version 330 2 | 3 | uniform sampler2D diffuse_map; 4 | 5 | in vec2 frag_in_uv; 6 | in vec4 frag_in_color; 7 | 8 | uniform float time; 9 | 10 | out vec4 color; 11 | 12 | void main() 13 | { 14 | float offset = 16.0f; 15 | float offset2 = 10.0f; 16 | 17 | vec2 dx = vec2 ( 18 | sin (time + frag_in_uv.x * offset2) / (512.0f / offset), 19 | cos (time + frag_in_uv.x * offset2) / (512.0f / offset)); 20 | 21 | vec2 dy = vec2 ( 22 | sin (time + frag_in_uv.y * offset2) / (256.0f / offset), 23 | cos (time + frag_in_uv.y * offset2) / (256.0f / offset)); 24 | 25 | vec2 uv = frag_in_uv; 26 | uv.x = uv.x + dx.x + dy.x; 27 | uv.y = uv.y + dx.y + dy.y; 28 | 29 | //color = texture (diffuse_map, uv).rgba; 30 | 31 | color = texture (diffuse_map, frag_in_uv).rgba; 32 | 33 | color.rgba = color.rgba * frag_in_color; 34 | } 35 | -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/server_mods.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local modsToLoad = 3 | { 4 | { 5 | gameMode = "dio_tiny_galaxy", 6 | modFolder = "world_logic", 7 | }, 8 | { 9 | gameMode = "dio_tiny_galaxy", 10 | modFolder = "blocks", 11 | }, 12 | } 13 | 14 | -------------------------------------------------- 15 | local mods = {} 16 | 17 | -------------------------------------------------- 18 | local function main () 19 | 20 | local regularPermissions = 21 | { 22 | blocks = true, 23 | drawing = true, 24 | entities = true, 25 | file = true, 26 | network = true, 27 | world = true, 28 | } 29 | 30 | for _, modData in ipairs (modsToLoad) do 31 | local mod, error = dio.mods.loadMod (modData, regularPermissions) 32 | end 33 | end 34 | 35 | -------------------------------------------------- 36 | main () -------------------------------------------------------------------------------- /gamemodes/default/shaders/chunk_medium.vertexshader: -------------------------------------------------------------------------------- 1 | #version 330 2 | 3 | layout (location = 0) in vec3 v_xyz; 4 | layout (location = 1) in vec2 v_uv; 5 | layout (location = 2) in vec4 v_normal; 6 | 7 | uniform mat4 model_matrix; 8 | uniform mat4 mvp_matrix; 9 | uniform vec4 light_direction; 10 | uniform vec4 light_rgba; 11 | 12 | out vec2 f_uv; 13 | out vec4 f_light_rgba; 14 | out vec4 f_shadow_xyz; 15 | flat out vec3 f_normal_model; 16 | 17 | void main() 18 | { 19 | // vertex transform 20 | 21 | gl_Position = mvp_matrix * vec4 (v_xyz, 1.0); 22 | 23 | // uvs 24 | 25 | f_uv = v_uv; 26 | 27 | // diffuse lighting 28 | 29 | vec4 m_normal = model_matrix * vec4 (v_normal.xyz, 0.0); 30 | float cos_theta = clamp (dot (m_normal, light_direction), 0.0, 1.0); 31 | f_light_rgba = light_rgba * cos_theta; 32 | 33 | // shadow data 34 | 35 | f_shadow_xyz = vec4 (v_xyz, 1.0); 36 | f_normal_model = v_normal.xyz; 37 | } 38 | -------------------------------------------------------------------------------- /gamemodes/dio_plummet/server_mods.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local modsToLoad = 3 | { 4 | { 5 | gameMode = "default", 6 | modFolder = "blocks", 7 | }, 8 | { 9 | gameMode = "dio_plummet", 10 | modFolder = "game_logic", 11 | }, 12 | } 13 | 14 | -------------------------------------------------- 15 | local mods = {} 16 | 17 | -------------------------------------------------- 18 | local function main () 19 | 20 | local regularPermissions = 21 | { 22 | blocks = true, 23 | drawing = true, 24 | entities = true, 25 | file = true, 26 | network = true, 27 | world = true, 28 | session = true, 29 | } 30 | 31 | for _, modData in ipairs (modsToLoad) do 32 | local mod, error = dio.mods.loadMod (modData, regularPermissions) 33 | end 34 | end 35 | 36 | -------------------------------------------------- 37 | main () -------------------------------------------------------------------------------- /gamemodes/dio_mob_test/server_mods.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local modsToLoad = 3 | { 4 | { 5 | gameMode = "default", 6 | modFolder = "blocks", 7 | }, 8 | { 9 | gameMode = "dio_mob_test", 10 | modFolder = "game_logic", 11 | }, 12 | } 13 | 14 | -------------------------------------------------- 15 | local mods = {} 16 | 17 | -------------------------------------------------- 18 | local function main () 19 | 20 | local regularPermissions = 21 | { 22 | blocks = true, 23 | drawing = true, 24 | entities = true, 25 | file = true, 26 | network = true, 27 | world = true, 28 | session = true, 29 | } 30 | 31 | for _, modData in ipairs (modsToLoad) do 32 | local mod, error = dio.mods.loadMod (modData, regularPermissions) 33 | end 34 | end 35 | 36 | -------------------------------------------------- 37 | main () -------------------------------------------------------------------------------- /gamemodes/default/mods/frontend_menus/quitting_menu.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local Menus = require ("gamemodes/default/mods/frontend_menus/menu_construction") 3 | local MenuClass = require ("gamemodes/default/mods/frontend_menus/menu_class") 4 | local Mixin = require ("gamemodes/default/mods/frontend_menus/mixin") 5 | 6 | -------------------------------------------------- 7 | local c = {} 8 | 9 | -------------------------------------------------- 10 | function c:onSessionShutdownCompleted () 11 | print ("close the application now from quitting!") 12 | dio.system.closeApplication () 13 | end 14 | 15 | -------------------------------------------------- 16 | function c:onAppShouldClose () 17 | print ("successful close from quitting!") 18 | return nil, false 19 | end 20 | 21 | -------------------------------------------------- 22 | return function () 23 | local instance = MenuClass ("QUITTING MENU") 24 | Mixin.CopyToAndBackupParents (instance, c) 25 | return instance 26 | end 27 | -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy_creative/server_mods.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local modsToLoad = 3 | { 4 | { 5 | gameMode = "dio_creative", 6 | modFolder = "world_logic", 7 | }, 8 | { 9 | gameMode = "dio_tiny_galaxy", 10 | modFolder = "blocks", 11 | }, 12 | { 13 | gameMode = "default", 14 | modFolder = "spawn", 15 | }, 16 | } 17 | 18 | -------------------------------------------------- 19 | local mods = {} 20 | 21 | -------------------------------------------------- 22 | local function main () 23 | 24 | local regularPermissions = 25 | { 26 | blocks = true, 27 | drawing = true, 28 | entities = true, 29 | file = true, 30 | network = true, 31 | world = true, 32 | } 33 | 34 | for _, modData in ipairs (modsToLoad) do 35 | local mod, error = dio.mods.loadMod (modData, regularPermissions) 36 | end 37 | end 38 | 39 | -------------------------------------------------- 40 | main () -------------------------------------------------------------------------------- /gamemodes/default/shaders/shadow_map_textured_render.fragmentshader: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | 3 | uniform sampler2D diffuse_map; 4 | 5 | in vec2 final_uv; 6 | 7 | // Ouput data 8 | //layout (location = 0) out float fragmentdepth; 9 | // out float gl_FragDepth; 10 | //out vec4 color; 11 | 12 | void main () 13 | { 14 | //color = texture (diffuse_map, final_uv).rgba; 15 | float alpha = texture (diffuse_map, final_uv).a; 16 | if (alpha < 1.0) 17 | { 18 | discard; 19 | } 20 | 21 | //float rgb_depth = (gl_FragCoord.w / 2.0); 22 | //float rgb_depth = (gl_FragCoord.z * gl_FragCoord.w); 23 | //rgb_depth = (rgb_depth / 2.0) + 0.5; 24 | //color = vec4 (rgb_depth, rgb_depth, rgb_depth, 1.0); 25 | // float divisor = 1.0 / gl_FragCoord.w; 26 | // color = vec4 ((gl_FragCoord.x / 2.0 + 0.5) * divisor, (gl_FragCoord.y / 2.0 + 0.5) * divisor, 0.0, 1.0); 27 | 28 | //color = vec4 (gl_FragCoord.z, 0.0, 0.0, 1.0); 29 | 30 | // Not really needed, OpenGL does it anyway 31 | gl_FragDepth = gl_FragCoord.z; 32 | } -------------------------------------------------------------------------------- /gamemodes/default/shaders/chunk_medium_model.vertexshader: -------------------------------------------------------------------------------- 1 | #version 330 2 | 3 | layout (location = 0) in vec3 vertex_position; 4 | layout (location = 1) in vec3 vertex_rgb; 5 | layout (location = 2) in vec3 vertex_normal; 6 | 7 | uniform mat4 model_matrix; 8 | uniform mat4 mvp_matrix; 9 | uniform vec4 light_direction; 10 | uniform vec4 light_rgba; 11 | 12 | out vec4 f_light_rgba; 13 | out vec4 f_diffuse_rgba; 14 | out vec4 f_shadow_xyz; 15 | flat out vec3 f_normal_model; 16 | 17 | void main() 18 | { 19 | // vertex transform 20 | 21 | gl_Position = mvp_matrix * vec4 (vertex_position, 1.0); 22 | 23 | // diffuse lighting 24 | 25 | vec4 m_normal = model_matrix * vec4 (vertex_normal.xyz, 0.0); 26 | float cos_theta = clamp (dot (m_normal, light_direction), 0.0, 1.0); 27 | f_light_rgba = light_rgba * cos_theta; 28 | 29 | // diffuse colour 30 | 31 | f_diffuse_rgba = vec4 (vertex_rgb, 1.0); 32 | 33 | // shadow data 34 | 35 | f_shadow_xyz = vec4 (vertex_position, 1.0); 36 | f_normal_model = vertex_normal.xyz; 37 | } 38 | -------------------------------------------------------------------------------- /gamemodes/dio_voxel_arena/server_mods.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local modsToLoad = 3 | { 4 | { 5 | gameMode = "default", 6 | modFolder = "blocks", 7 | versionRequired = {major = 1, minor = 0}, 8 | }, 9 | { 10 | gameMode = "dio_voxel_arena", 11 | modFolder = "game_logic", 12 | versionRequired = {major = 1, minor = 0}, 13 | }, 14 | } 15 | 16 | -------------------------------------------------- 17 | local mods = {} 18 | 19 | -------------------------------------------------- 20 | local function main () 21 | 22 | local regularPermissions = 23 | { 24 | blocks = true, 25 | drawing = true, 26 | entities = true, 27 | file = true, 28 | network = true, 29 | session = true, 30 | world = true, 31 | } 32 | 33 | for _, modData in ipairs (modsToLoad) do 34 | local mod, error = dio.mods.loadMod (modData, regularPermissions) 35 | end 36 | end 37 | 38 | -------------------------------------------------- 39 | main () -------------------------------------------------------------------------------- /gamemodes/default/mods/chat/emote_definitions.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local emoteSpecs = 3 | { 4 | width = 32, 5 | height = 32, 6 | renderWidth = 16, 7 | renderHeight = 16, 8 | } 9 | 10 | -------------------------------------------------- 11 | local emotes = 12 | { 13 | [""] = {uvs = {0, 0}}, 14 | [""] = {uvs = {1, 0}}, 15 | [""] = {uvs = {2, 0}}, 16 | [""] = {uvs = {3, 0}}, 17 | ["Kappa"] = {uvs = {4, 0}}, 18 | [":)"] = {uvs = {5, 0}}, 19 | [":("] = {uvs = {6, 0}}, 20 | ["<3"] = {uvs = {7, 0}}, 21 | [""] = {uvs = {0, 1}}, 22 | [""] = {uvs = {1, 1}}, 23 | [""] = {uvs = {2, 1}}, 24 | [""] = {uvs = {3, 1}}, 25 | [""] = {uvs = {4, 1}}, 26 | [":|"] = {uvs = {5, 1}}, 27 | [":D"] = {uvs = {6, 1}}, 28 | [" list.last then return list, nil end 30 | local value = list [first] 31 | list [first] = nil 32 | list.first = first + 1 33 | return list, value 34 | end 35 | 36 | -------------------------------------------------- 37 | function List.popright (list) 38 | local last = list.last 39 | if list.first > last then return list, nil end 40 | local value = list [last] 41 | list [last] = nil 42 | list.last = last - 1 43 | return list, value 44 | end 45 | 46 | -------------------------------------------------- 47 | function List.getSize (list) 48 | return list.last - list.first 49 | end 50 | 51 | return List 52 | -------------------------------------------------------------------------------- /gamemodes/dio_iso/mods/world_logic/main_client.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local instance = nil 3 | 4 | -------------------------------------------------- 5 | local function onLoad () 6 | 7 | dio.resources.loadTexture ("CHUNKS_DIFFUSE", "textures/chunks_diffuse_00.png") 8 | dio.resources.loadTexture ("LIQUIDS_DIFFUSE", "textures/liquids_diffuse_00.png") 9 | dio.resources.loadTexture ("SKY_COLOUR", "textures/sky_colour_00.png", {isNearest = false}) 10 | 11 | dio.resources.loadExtrudedTexture ("CHUNKS_EXTRUDED", "textures/chunks_extruded_00.png") 12 | end 13 | 14 | -------------------------------------------------- 15 | local function onUnload () 16 | 17 | dio.resources.destroyExtrudedTexture ("CHUNKS_EXTRUDED") 18 | 19 | dio.resources.destroyTexture ("CHUNKS_DIFFUSE") 20 | dio.resources.destroyTexture ("LIQUIDS_DIFFUSE") 21 | dio.resources.destroyTexture ("SKY_COLOUR") 22 | end 23 | 24 | -------------------------------------------------- 25 | local modSettings = 26 | { 27 | description = 28 | { 29 | id = "creative", 30 | name = "Creative", 31 | description = "This is required to play the game!", 32 | help = 33 | { 34 | }, 35 | }, 36 | 37 | permissionsRequired = 38 | { 39 | resources = true, 40 | }, 41 | 42 | callbacks = 43 | { 44 | onLoad = onLoad, 45 | onUnload = onUnload, 46 | } 47 | } 48 | 49 | -------------------------------------------------- 50 | return modSettings 51 | -------------------------------------------------------------------------------- /gamemodes/default/mods/frontend_menus/menu_items/scrollable_menu_item.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local MenuItemBase = require ("gamemodes/default/mods/frontend_menus/menu_items/menu_item_base") 3 | local Mixin = require ("gamemodes/default/mods/frontend_menus/mixin") 4 | 5 | -------------------------------------------------- 6 | local c = {} 7 | 8 | -------------------------------------------------- 9 | function c:onRender (font, menus) 10 | 11 | local y = self.y 12 | for idx = 0, self.linesVisibleCount do 13 | local lineIdx = idx + self.firstLine 14 | if lineIdx < #self.lines + 1 then 15 | font.drawString (self.x, y, self.lines [lineIdx], 0x808080ff) 16 | y = y - 10 17 | end 18 | end 19 | end 20 | 21 | -------------------------------------------------- 22 | function c:scroll (scrollBy) 23 | self.firstLine = self.firstLine + scrollBy 24 | self.firstLine = math.min (self.firstLine, #self.lines - self.linesVisibleCount) 25 | self.firstLine = math.max (self.firstLine, 1) 26 | end 27 | 28 | -------------------------------------------------- 29 | return function (lines, linesVisibleCount) 30 | 31 | local instance = MenuItemBase () 32 | 33 | local properties = 34 | { 35 | lines = lines, 36 | firstLine = 1, 37 | linesVisibleCount = linesVisibleCount, 38 | height = 10 * (linesVisibleCount + 1) 39 | } 40 | 41 | Mixin.CopyTo (instance, properties) 42 | Mixin.CopyTo (instance, c) 43 | 44 | return instance 45 | end 46 | -------------------------------------------------------------------------------- /gamemodes/dio_creative/mods/world_logic/main_client.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local instance = nil 3 | 4 | -------------------------------------------------- 5 | local function onLoad () 6 | 7 | dio.resources.loadTexture ("CHUNKS_DIFFUSE", "textures/chunks_diffuse_00.png") 8 | dio.resources.loadTexture ("LIQUIDS_DIFFUSE", "textures/liquids_diffuse_00.png") 9 | dio.resources.loadTexture ("SKY_COLOUR", "textures/sky_colour_00.png", {isNearest = false}) 10 | 11 | dio.resources.loadExtrudedTexture ("CHUNKS_EXTRUDED", "textures/chunks_extruded_00.png") 12 | 13 | end 14 | 15 | -------------------------------------------------- 16 | local function onUnload () 17 | 18 | dio.resources.destroyExtrudedTexture ("CHUNKS_EXTRUDED") 19 | 20 | dio.resources.destroyTexture ("CHUNKS_DIFFUSE") 21 | dio.resources.destroyTexture ("LIQUIDS_DIFFUSE") 22 | dio.resources.destroyTexture ("SKY_COLOUR") 23 | 24 | end 25 | 26 | -------------------------------------------------- 27 | local modSettings = 28 | { 29 | description = 30 | { 31 | id = "creative", 32 | name = "Creative", 33 | description = "This is required to play the game!", 34 | help = 35 | { 36 | }, 37 | }, 38 | 39 | permissionsRequired = 40 | { 41 | resources = true, 42 | }, 43 | 44 | callbacks = 45 | { 46 | onLoad = onLoad, 47 | onUnload = onUnload, 48 | } 49 | } 50 | 51 | -------------------------------------------------- 52 | return modSettings 53 | -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/new_saves/default/map_00/room_settings.lua: -------------------------------------------------------------------------------- 1 | -- repeatedly generated file. not safe to hand edit 2 | local roomSettings = 3 | { 4 | generators = 5 | { 6 | { 7 | weightPass = 8 | { 9 | { 10 | type = "gradient", 11 | mode = "replace", 12 | 13 | --axis = "y", 14 | baseVoxel = 2, 15 | heightInVoxels = 0, 16 | }, 17 | { 18 | type = "perlinNoise", 19 | mode = "lessThan", 20 | 21 | scale = 64, 22 | octaves = 5, 23 | perOctaveAmplitude = 0.5, 24 | perOctaveFrequency = 2.0, 25 | }, 26 | }, 27 | 28 | -- Q: where do we convert weights, into voxel data? 29 | 30 | voxelPass = 31 | { 32 | { 33 | type = "addGrass", 34 | mudHeight = 4, 35 | }, 36 | } 37 | }, 38 | }, 39 | roomShape = 40 | { 41 | x = 42 | { 43 | max = 0, 44 | min = -1, 45 | }, 46 | y = 47 | { 48 | max = 0, 49 | min = 0, 50 | }, 51 | z = 52 | { 53 | max = 0, 54 | min = -1, 55 | }, 56 | }, 57 | randomSeedAsString = "wibble", 58 | terrainId = "paramaterized", 59 | } 60 | 61 | return roomSettings 62 | -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/new_saves/default/galaxy_00/room_settings.lua: -------------------------------------------------------------------------------- 1 | -- repeatedly generated file. not safe to hand edit 2 | local roomSettings = 3 | { 4 | generators = 5 | { 6 | { 7 | weightPass = 8 | { 9 | { 10 | type = "gradient", 11 | mode = "replace", 12 | 13 | --axis = "y", 14 | baseVoxel = -31, 15 | heightInVoxels = 0, 16 | }, 17 | { 18 | type = "perlinNoise", 19 | mode = "lessThan", 20 | 21 | scale = 128, 22 | octaves = 5, 23 | perOctaveAmplitude = 0.5, 24 | perOctaveFrequency = 2.0, 25 | }, 26 | }, 27 | 28 | -- Q: where do we convert weights, into voxel data? 29 | 30 | voxelPass = 31 | { 32 | { 33 | type = "addGrass", 34 | mudHeight = 4, 35 | }, 36 | } 37 | }, 38 | }, 39 | roomShape = 40 | { 41 | x = 42 | { 43 | max = 2, 44 | min = -1, 45 | }, 46 | y = 47 | { 48 | max = 1, 49 | min = -1, 50 | }, 51 | z = 52 | { 53 | max = 2, 54 | min = -1, 55 | }, 56 | }, 57 | randomSeedAsString = "wibble", 58 | terrainId = "paramaterized", 59 | } 60 | 61 | return roomSettings 62 | -------------------------------------------------------------------------------- /gamemodes/dio_creative/new_saves/cube/default/room_settings.lua: -------------------------------------------------------------------------------- 1 | -- repeatedly generated file. not safe to hand edit 2 | local roomSettings = 3 | { 4 | generators = 5 | { 6 | { 7 | weightPass = 8 | { 9 | { 10 | type = "cubeGradient", 11 | mode = "replace", 12 | 13 | x = -64, 14 | y = -128, 15 | z = -64, 16 | w = 128, 17 | h = 128, 18 | d = 128, 19 | 20 | rangeInVoxels = 48, 21 | }, 22 | { 23 | type = "perlinNoise", 24 | mode = "lessThan", 25 | 26 | scale = 16, 27 | octaves = 2, 28 | perOctaveAmplitude = 0.5, 29 | perOctaveFrequency = 2.0, 30 | }, 31 | }, 32 | 33 | -- Q: where do we convert weights, into voxel data? 34 | 35 | voxelPass = 36 | { 37 | { 38 | type = "addTrees", 39 | chanceOfTree = 0.01, 40 | sizeRange = 4, 41 | sizeMin = 2, 42 | trunkHeight = 3, 43 | }, 44 | { 45 | type = "addGrass", 46 | mudHeight = 4, 47 | }, 48 | } 49 | }, 50 | }, 51 | randomSeedAsString = "wibble", 52 | terrainId = "paramaterized", 53 | } 54 | 55 | return roomSettings 56 | -------------------------------------------------------------------------------- /gamemodes/dio_creative/new_saves/hollow_cube/default/room_settings.lua: -------------------------------------------------------------------------------- 1 | -- repeatedly generated file. not safe to hand edit 2 | local roomSettings = 3 | { 4 | generators = 5 | { 6 | { 7 | weightPass = 8 | { 9 | { 10 | type = "hollowCubeGradient", 11 | mode = "replace", 12 | 13 | x = -32, 14 | y = 0, 15 | z = -32, 16 | w = 64, 17 | h = 64, 18 | d = 64, 19 | 20 | rangeInVoxels = 64, 21 | }, 22 | { 23 | type = "perlinNoise", 24 | mode = "lessThan", 25 | 26 | scale = 32, 27 | octaves = 3, 28 | perOctaveAmplitude = 0.5, 29 | perOctaveFrequency = 2.0, 30 | }, 31 | }, 32 | 33 | -- Q: where do we convert weights, into voxel data? 34 | 35 | voxelPass = 36 | { 37 | { 38 | type = "addTrees", 39 | chanceOfTree = 0.005, 40 | sizeRange = 4, 41 | sizeMin = 2, 42 | trunkHeight = 3, 43 | }, 44 | { 45 | type = "addGrass", 46 | mudHeight = 4, 47 | }, 48 | } 49 | }, 50 | }, 51 | randomSeedAsString = "wibble", 52 | terrainId = "paramaterized", 53 | } 54 | 55 | return roomSettings 56 | -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy_creative/mods/world_logic/main_client.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local instance = nil 3 | 4 | -------------------------------------------------- 5 | local function onLoad () 6 | 7 | dio.resources.loadTexture ("CHUNKS_DIFFUSE", "textures/chunks_diffuse_tiny_galaxy.png") 8 | dio.resources.loadTexture ("LIQUIDS_DIFFUSE", "textures/liquids_diffuse_00.png") 9 | dio.resources.loadTexture ("SKY_COLOUR", "textures/sky_colour_tiny_galaxy.png", {isNearest = false}) 10 | 11 | dio.resources.loadExtrudedTexture ("CHUNKS_EXTRUDED", "textures/chunks_extruded_tiny_galaxy.png") 12 | 13 | end 14 | 15 | -------------------------------------------------- 16 | local function onUnload () 17 | 18 | dio.resources.destroyExtrudedTexture ("CHUNKS_EXTRUDED") 19 | 20 | dio.resources.destroyTexture ("CHUNKS_DIFFUSE") 21 | dio.resources.destroyTexture ("LIQUIDS_DIFFUSE") 22 | dio.resources.destroyTexture ("SKY_COLOUR") 23 | 24 | end 25 | 26 | -------------------------------------------------- 27 | local modSettings = 28 | { 29 | description = 30 | { 31 | id = "creative", 32 | name = "Creative", 33 | description = "This is required to play the game!", 34 | help = 35 | { 36 | }, 37 | }, 38 | 39 | permissionsRequired = 40 | { 41 | resources = true, 42 | }, 43 | 44 | callbacks = 45 | { 46 | onLoad = onLoad, 47 | onUnload = onUnload, 48 | } 49 | } 50 | 51 | -------------------------------------------------- 52 | return modSettings 53 | -------------------------------------------------------------------------------- /gamemodes/dio_creative/new_saves/back_to_back/default/room_settings.lua: -------------------------------------------------------------------------------- 1 | -- repeatedly generated file. not safe to hand edit 2 | local roomSettings = 3 | { 4 | generators = 5 | { 6 | { 7 | weightPass = 8 | { 9 | { 10 | type = "gradient", 11 | mode = "replace", 12 | 13 | --axis = "y", 14 | baseVoxel = -64, 15 | heightInVoxels = 128, 16 | }, 17 | { 18 | type = "gradient", 19 | mode = "min", 20 | 21 | --axis = "y", 22 | baseVoxel = 64, 23 | heightInVoxels = -128, 24 | }, 25 | { 26 | type = "perlinNoise", 27 | mode = "lessThan", 28 | 29 | scale = 64, 30 | octaves = 4, 31 | perOctaveAmplitude = 0.5, 32 | perOctaveFrequency = 2.0, 33 | }, 34 | }, 35 | 36 | voxelPass = 37 | { 38 | { 39 | type = "addTrees", 40 | chanceOfTree = 0.003, 41 | sizeRange = 2, 42 | sizeMin = 3, 43 | trunkHeight = 3, 44 | }, 45 | { 46 | type = "addGrass", 47 | mudHeight = 4, 48 | }, 49 | }, 50 | }, 51 | }, 52 | randomSeedAsString = "wibble", 53 | terrainId = "paramaterized", 54 | } 55 | 56 | return roomSettings 57 | -------------------------------------------------------------------------------- /gamemodes/default/mods/blocks/main_client.lua: -------------------------------------------------------------------------------- 1 | local BlockDefinitions = require ("gamemodes/default/mods/blocks/block_definitions") 2 | 3 | -------------------------------------------------- 4 | local function onLoad () 5 | 6 | for _, model in ipairs (BlockDefinitions.mediumModels) do 7 | dio.resources.loadMediumModel (model.id, model.filename, model.options) 8 | end 9 | 10 | for _, model in ipairs (BlockDefinitions.entityModels) do 11 | dio.resources.loadEntityModel (model.id, model.filename, model.options) 12 | end 13 | 14 | for _, definition in ipairs (BlockDefinitions.blocks) do 15 | local definitionId = dio.blocks.createNewDefinitionId () 16 | definition.definitionId = definitionId 17 | dio.blocks.setDefinition (definition) 18 | end 19 | 20 | end 21 | 22 | -------------------------------------------------- 23 | local function onUnload () 24 | 25 | for _, model in ipairs (BlockDefinitions.mediumModels) do 26 | dio.resources.destroyMediumModel (model.id) 27 | end 28 | 29 | for _, model in ipairs (BlockDefinitions.entityModels) do 30 | dio.resources.destroyEntityModel (model.id) 31 | end 32 | 33 | end 34 | 35 | -------------------------------------------------- 36 | local modSettings = 37 | { 38 | name = "Blocks", 39 | 40 | description = "Adds the default Diorama blocks", 41 | 42 | permissionsRequired = 43 | { 44 | blocks = true, 45 | resources = true, 46 | }, 47 | 48 | callbacks = 49 | { 50 | onLoad = onLoad, 51 | onUnload = onUnload, 52 | }, 53 | } 54 | 55 | -------------------------------------------------- 56 | return modSettings -------------------------------------------------------------------------------- /gamemodes/dio_tiny_galaxy/mods/blocks/main_client.lua: -------------------------------------------------------------------------------- 1 | local BlockDefinitions = require ("gamemodes/dio_tiny_galaxy/mods/blocks/block_definitions") 2 | 3 | -------------------------------------------------- 4 | local function onLoad () 5 | 6 | for _, model in ipairs (BlockDefinitions.mediumModels) do 7 | dio.resources.loadMediumModel (model.id, model.filename, model.options) 8 | end 9 | 10 | for _, model in ipairs (BlockDefinitions.entityModels) do 11 | dio.resources.loadEntityModel (model.id, model.filename, model.options) 12 | end 13 | 14 | for _, definition in ipairs (BlockDefinitions.blocks) do 15 | local definitionId = dio.blocks.createNewDefinitionId () 16 | definition.definitionId = definitionId 17 | dio.blocks.setDefinition (definition) 18 | end 19 | 20 | end 21 | 22 | -------------------------------------------------- 23 | local function onUnload () 24 | 25 | for _, model in ipairs (BlockDefinitions.mediumModels) do 26 | dio.resources.destroyMediumModel (model.id) 27 | end 28 | 29 | for _, model in ipairs (BlockDefinitions.entityModels) do 30 | dio.resources.destroyEntityModel (model.id) 31 | end 32 | 33 | end 34 | 35 | -------------------------------------------------- 36 | local modSettings = 37 | { 38 | name = "Blocks", 39 | 40 | description = "Adds the default Tiny Galaxy blocks", 41 | 42 | permissionsRequired = 43 | { 44 | blocks = true, 45 | resources = true, 46 | }, 47 | 48 | callbacks = 49 | { 50 | onLoad = onLoad, 51 | onUnload = onUnload, 52 | }, 53 | } 54 | 55 | -------------------------------------------------- 56 | return modSettings -------------------------------------------------------------------------------- /gamemodes/dio_creative/new_saves/parallel_facing/default/room_settings.lua: -------------------------------------------------------------------------------- 1 | -- repeatedly generated file. not safe to hand edit 2 | local roomSettings = 3 | { 4 | generators = 5 | { 6 | { 7 | weightPass = 8 | { 9 | { 10 | type = "gradient", 11 | mode = "replace", 12 | 13 | --axis = "y", 14 | baseVoxel = 0, 15 | heightInVoxels = 80, 16 | }, 17 | { 18 | type = "gradient", 19 | mode = "max", 20 | 21 | --axis = "y", 22 | baseVoxel = 128, 23 | heightInVoxels = -80, 24 | }, 25 | { 26 | type = "perlinNoise", 27 | mode = "lessThan", 28 | 29 | scale = 64, 30 | octaves = 4, 31 | perOctaveAmplitude = 0.5, 32 | perOctaveFrequency = 2.0, 33 | }, 34 | }, 35 | 36 | -- Q: where do we convert weights, into voxel data? 37 | 38 | voxelPass = 39 | { 40 | { 41 | type = "addTrees", 42 | chanceOfTree = 0.001, 43 | sizeRange = 3, 44 | sizeMin = 3, 45 | trunkHeight = 20, 46 | }, 47 | { 48 | type = "addGrass", 49 | mudHeight = 4, 50 | }, 51 | }, 52 | }, 53 | }, 54 | randomSeedAsString = "wibble", 55 | terrainId = "paramaterized", 56 | } 57 | 58 | return roomSettings 59 | -------------------------------------------------------------------------------- /gamemodes/dio_voxel_arena/client_mods.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local modsToLoad = 3 | { 4 | { 5 | gameMode = "default", 6 | modFolder = "blocks", 7 | versionRequired = {major = 1, minor = 0}, 8 | }, 9 | { 10 | gameMode = "default", 11 | modFolder = "diagnostics", 12 | versionRequired = {major = 1, minor = 0}, 13 | }, 14 | { 15 | gameMode = "dio_voxel_arena", 16 | modFolder = "game_logic", 17 | versionRequired = {major = 1, minor = 0}, 18 | }, 19 | { 20 | gameMode = "default", 21 | modFolder = "chat", 22 | versionRequired = {major = 1, minor = 0}, 23 | }, 24 | { 25 | gameMode = "dio_voxel_arena", 26 | modFolder = "scoreboard", 27 | versionRequired = {major = 1, minor = 0}, 28 | }, 29 | { 30 | gameMode = "dio_voxel_arena", 31 | modFolder = "clock", 32 | versionRequired = {major = 1, minor = 0}, 33 | }, 34 | { 35 | gameMode = "default", 36 | modFolder = "diagnostics", 37 | versionRequired = {major = 1, minor = 0}, 38 | }, 39 | } 40 | 41 | local mods = {} 42 | 43 | -------------------------------------------------- 44 | local function main () 45 | 46 | local permissions = 47 | { 48 | blocks = true, 49 | drawing = true, 50 | diagnostics = true, 51 | entities = true, 52 | file = true, 53 | inputs = true, 54 | resources = true, 55 | world = true, 56 | } 57 | 58 | for _, modData in ipairs (modsToLoad) do 59 | local mod, error = dio.mods.loadMod (modData, permissions) 60 | end 61 | end 62 | 63 | -------------------------------------------------- 64 | main () -------------------------------------------------------------------------------- /gamemodes/default/mods/motd/main_server.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local motdAuthor = "MOTD" 3 | local motd = "(http://twitch.tv/RobTheSwan) Press T to chat. Type '.help' in chat for available commands." 4 | 5 | -------------------------------------------------- 6 | local connections = {} 7 | 8 | -------------------------------------------------- 9 | local function onClientConnected (event) 10 | 11 | dio.network.sendChat (event.connectionId, motdAuthor, motd) 12 | 13 | end 14 | 15 | -------------------------------------------------- 16 | local function onChatReceived (event) 17 | 18 | if event.text:sub (1, 1) ~= "." then 19 | return 20 | end 21 | 22 | if event.text == ".motd" then 23 | 24 | event.targetConnectionId = event.authorConnectionId 25 | event.author = motdAuthor 26 | event.text = motd 27 | 28 | end 29 | end 30 | 31 | -------------------------------------------------- 32 | local function onLoad () 33 | 34 | local types = dio.types.serverEvents 35 | dio.events.addListener (types.CLIENT_CONNECTED, onClientConnected) 36 | dio.events.addListener (types.CHAT_RECEIVED, onChatReceived) 37 | 38 | end 39 | 40 | -------------------------------------------------- 41 | local modSettings = 42 | { 43 | description = 44 | { 45 | name = "Message of the Day", 46 | description = "Displays a message when players join.", 47 | help = 48 | { 49 | motd = "Show the message of the day again.", 50 | }, 51 | }, 52 | 53 | permissionsRequired = 54 | { 55 | network = true, 56 | }, 57 | 58 | callbacks = 59 | { 60 | onLoad = onLoad, 61 | }, 62 | } 63 | 64 | -------------------------------------------------- 65 | return modSettings 66 | -------------------------------------------------------------------------------- /gamemodes/default/mods/frontend_menus/loading_world_menu.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local Menus = require ("gamemodes/default/mods/frontend_menus/menu_construction") 3 | local MenuClass = require ("gamemodes/default/mods/frontend_menus/menu_class") 4 | local Mixin = require ("gamemodes/default/mods/frontend_menus/mixin") 5 | 6 | -------------------------------------------------- 7 | local c = {} 8 | 9 | -------------------------------------------------- 10 | function c:onEnter (menus) 11 | assert (self.worldFolder) 12 | assert (self.fromMenuId) 13 | end 14 | 15 | -------------------------------------------------- 16 | function c:onUpdate (menus) 17 | 18 | local isOk = dio.session.beginSp (self.worldFolder) 19 | 20 | if not isOk then 21 | self.fromMenu:recordWorldAlreadyExistsError () 22 | return self.fromMenuId 23 | else 24 | return "playing_game_menu" 25 | end 26 | 27 | end 28 | 29 | -------------------------------------------------- 30 | function c:onExit () 31 | self.worldFolder = nil 32 | self.fromMenuId = nil 33 | end 34 | 35 | -------------------------------------------------- 36 | function c:onAppShouldClose (parent_func) 37 | dio.session.terminate () 38 | self.parent.onAppShouldClose (self) 39 | return "quitting_menu", true 40 | end 41 | 42 | -------------------------------------------------- 43 | function c:recordWorldSettings (worldFolder, fromMenuId) 44 | print (worldFolder) 45 | print (fromMenuId) 46 | 47 | self.worldFolder = worldFolder 48 | self.fromMenuId = fromMenuId 49 | end 50 | 51 | -------------------------------------------------- 52 | return function () 53 | local instance = MenuClass ("Loading World") 54 | 55 | Mixin.CopyToAndBackupParents (instance, c) 56 | 57 | return instance 58 | end 59 | -------------------------------------------------------------------------------- /gamemodes/dio_creative/new_saves/ring_world/default/room_settings.lua: -------------------------------------------------------------------------------- 1 | -- repeatedly generated file. not safe to hand edit 2 | local roomSettings = 3 | { 4 | generators = 5 | { 6 | { 7 | weightPass = 8 | { 9 | { 10 | type = "cubeGradient", 11 | mode = "replace", 12 | 13 | x = -24, 14 | y = -80, 15 | z = -80, 16 | w = 48, 17 | h = 160, 18 | d = 160, 19 | 20 | rangeInVoxels = 32, 21 | }, 22 | { 23 | type = "hollowCubeGradient", 24 | mode = "min", 25 | 26 | x = -128, 27 | y = -32, 28 | z = -32, 29 | w = 256, 30 | h = 64, 31 | d = 64, 32 | 33 | rangeInVoxels = 32, 34 | }, 35 | { 36 | type = "perlinNoise", 37 | mode = "lessThan", 38 | 39 | scale = 32, 40 | octaves = 3, 41 | perOctaveAmplitude = 0.5, 42 | perOctaveFrequency = 2.0, 43 | }, 44 | }, 45 | voxelPass = 46 | { 47 | { 48 | type = "addTrees", 49 | chanceOfTree = 0.01, 50 | sizeRange = 4, 51 | sizeMin = 2, 52 | trunkHeight = 3, 53 | }, 54 | { 55 | type = "addGrass", 56 | mudHeight = 4, 57 | }, 58 | }, 59 | }, 60 | }, 61 | randomSeedAsString = "wibble", 62 | terrainId = "paramaterized", 63 | } 64 | 65 | return roomSettings 66 | -------------------------------------------------------------------------------- /gamemodes/default/mods/frontend_menus/menu_items/button_menu_item.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local MenuItemBase = require ("gamemodes/default/mods/frontend_menus/menu_items/menu_item_base") 3 | local Mixin = require ("gamemodes/default/mods/frontend_menus/mixin") 4 | 5 | -------------------------------------------------- 6 | local c = {} 7 | 8 | -------------------------------------------------- 9 | function c:onUpdate (menu, x, y, was_left_clicked) 10 | if self.isHighlightable then 11 | self.isHighlighted = 12 | x >= 0 and 13 | x <= menu.width and 14 | y >= self.y and 15 | y < self.y + self.height 16 | else 17 | self.isHighlighted = false 18 | end 19 | 20 | if was_left_clicked and self.isHighlighted and self.onClicked then 21 | return self:onClicked (menu) 22 | end 23 | end 24 | 25 | -------------------------------------------------- 26 | function c:onRender (font, menu) 27 | 28 | local text = self.text 29 | if self.isHighlighted then 30 | text = "" .. text .. "" 31 | dio.drawing.font.drawBox (0, self.y, menu.width, self.height, 0x000000FF) --0x000000FF 32 | end 33 | 34 | local color = self.isHighlighted and 0xffffffff or self.color 35 | color = self.isHighlightable and color or 0x000000ff 36 | local width = font.measureString (text) 37 | local x = (menu.width - width) * 0.5 38 | 39 | font.drawString (x, self.y, text, color) 40 | end 41 | 42 | -------------------------------------------------- 43 | return function (text, onClicked) 44 | 45 | assert (text ~= nil) 46 | 47 | local instance = MenuItemBase () 48 | local properties = 49 | { 50 | text = text, 51 | onClicked = onClicked, 52 | color = 0x00ffffff, 53 | isHighlightable = true, 54 | } 55 | 56 | Mixin.CopyTo (instance, properties) 57 | Mixin.CopyTo (instance, c) 58 | 59 | return instance 60 | end 61 | -------------------------------------------------------------------------------- /gamemodes/default/block_models/test_models_00.lua: -------------------------------------------------------------------------------- 1 | local objectModels = 2 | { 3 | version = 4 | { 5 | major = 0, 6 | minor = 0, 7 | }, 8 | 9 | models = 10 | { 11 | fence = 12 | { 13 | overwriteLandscape = false, 14 | blocks = 15 | { 16 | {block_id = 76, xyz = {-1, 0, -1}}, 17 | {block_id = 76, xyz = {-1, 0, 0}}, 18 | {block_id = 76, xyz = {-1, 0, 1}}, 19 | {block_id = 76, xyz = {0, 0, -1}}, 20 | {block_id = 76, xyz = {0, 0, 1}}, 21 | {block_id = 76, xyz = {1, 0, -1}}, 22 | {block_id = 76, xyz = {1, 0, 0}}, 23 | {block_id = 76, xyz = {1, 0, 1}}, 24 | }, 25 | origin = {0, 0, 0}, 26 | }, 27 | rockpile00 = 28 | { 29 | overwriteLandscape = false, 30 | blocks = 31 | { 32 | {block_id = 26, xyz = {0, 0, 0}}, 33 | {block_id = 26, xyz = {0, 1, 0}}, 34 | {block_id = 11, xyz = {0, 2, 0}}, 35 | {block_id = 11, xyz = {-1, 3, 0}}, 36 | {block_id = 11, xyz = {0, 3, 0}}, 37 | {block_id = 11, xyz = {-1, 3, 0}}, 38 | {block_id = 11, xyz = {1, 4, 0}}, 39 | {block_id = 11, xyz = {-1, 4, 0}}, 40 | {block_id = 11, xyz = {1, 5, 0}}, 41 | {block_id = 11, xyz = {0, 5, 0}}, 42 | {block_id = 11, xyz = {-1, 5, 0}}, 43 | }, 44 | origin = {0, 0, 0}, 45 | }, 46 | rockpile01 = 47 | { 48 | overwriteLandscape = false, 49 | blocks = 50 | { 51 | {block_id = 26, xyz = {0, 0, 0}}, 52 | {block_id = 11, xyz = {0, 1, 0}}, 53 | {block_id = 11, xyz = {0, 2, 0}}, 54 | }, 55 | origin = {0, 0, 0}, 56 | } 57 | } 58 | } 59 | 60 | return objectModels 61 | -------------------------------------------------------------------------------- /gamemodes/default/mods/frontend_menus/single_player_top_menu.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local BreakMenuItem = require ("gamemodes/default/mods/frontend_menus/menu_items/break_menu_item") 3 | local ButtonMenuItem = require ("gamemodes/default/mods/frontend_menus/menu_items/button_menu_item") 4 | local LabelMenuItem = require ("gamemodes/default/mods/frontend_menus/menu_items/label_menu_item") 5 | local Menus = require ("gamemodes/default/mods/frontend_menus/menu_construction") 6 | local MenuClass = require ("gamemodes/default/mods/frontend_menus/menu_class") 7 | local Mixin = require ("gamemodes/default/mods/frontend_menus/mixin") 8 | 9 | -------------------------------------------------- 10 | local function onCreateNewLevelClicked () 11 | return "create_new_world_menu" 12 | end 13 | 14 | -------------------------------------------------- 15 | local function onLoadLevelClicked () 16 | return "load_world_menu" 17 | end 18 | 19 | -------------------------------------------------- 20 | local function onDeleteLevelClicked () 21 | return "delete_level_menu" 22 | end 23 | 24 | -------------------------------------------------- 25 | local function onReturnToMainMenuClicked () 26 | return "main_menu" 27 | end 28 | 29 | -------------------------------------------------- 30 | local c = {} 31 | 32 | -------------------------------------------------- 33 | function c:onAppShouldClose () 34 | self.parent.onAppShouldClose (self) 35 | return "quitting_menu" 36 | end 37 | 38 | -------------------------------------------------- 39 | return function () 40 | 41 | local instance = MenuClass ("Single Player") 42 | 43 | Mixin.CopyToAndBackupParents (instance, c) 44 | 45 | instance:addMenuItem (ButtonMenuItem ("New World", onCreateNewLevelClicked)) 46 | instance:addMenuItem (ButtonMenuItem ("Load World", onLoadLevelClicked)) 47 | instance:addMenuItem (ButtonMenuItem ("Delete World", onDeleteLevelClicked)) 48 | instance:addMenuItem (LabelMenuItem ("")) 49 | instance:addMenuItem (ButtonMenuItem ("Back To Main Menu", onReturnToMainMenuClicked)) 50 | 51 | return instance 52 | end 53 | -------------------------------------------------------------------------------- /gamemodes/default/mods/frontend_menus/menu_items/checkbox_menu_item.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local MenuItemBase = require ("gamemodes/default/mods/frontend_menus/menu_items/menu_item_base") 3 | local Mixin = require ("gamemodes/default/mods/frontend_menus/mixin") 4 | 5 | -------------------------------------------------- 6 | local c = {} 7 | 8 | -------------------------------------------------- 9 | function c:onUpdate (menu, x, y, was_left_clicked) 10 | self.isHighlighted = 11 | x >= 0 and 12 | x <= menu.width and 13 | y >= self.y and 14 | y < self.y + self.height 15 | 16 | if was_left_clicked and self.isHighlighted then 17 | self.isChecked = not self.isChecked 18 | if self.onClicked then 19 | return self:onClicked (menu) 20 | end 21 | end 22 | end 23 | 24 | -------------------------------------------------- 25 | function c:onRender (font, menu) 26 | 27 | local itemWidth = menu.width - 200 28 | local x = 100 29 | 30 | local color = self.isHighlighted and 0xffffffff or 0x00ffffff 31 | 32 | if self.isHighlighted then 33 | dio.drawing.font.drawBox (0, self.y, menu.width, self.height, 0x00CCCCCC) 34 | end 35 | 36 | font.drawString (x, self.y, self.text, color) 37 | 38 | if self.isHighlighted then 39 | 40 | local width = font.measureString ("") 41 | font.drawString (x - width, self.y, "", color) 42 | font.drawString (x + itemWidth, self.y, "", color) 43 | end 44 | 45 | local width = font.measureString ("[ ]") 46 | local rightAlignX = itemWidth + x - width 47 | 48 | font.drawString (rightAlignX, self.y, "[ ]", color) 49 | if self.isChecked then 50 | font.drawString (rightAlignX + 5, self.y, "X", color) 51 | end 52 | end 53 | 54 | -------------------------------------------------- 55 | return function (text, onClicked, isChecked) 56 | 57 | local instance = MenuItemBase () 58 | 59 | local properties = 60 | { 61 | text = text, 62 | isChecked = isChecked, 63 | onClicked = onClicked 64 | } 65 | 66 | Mixin.CopyTo (instance, properties) 67 | Mixin.CopyTo (instance, c) 68 | 69 | return instance 70 | end 71 | -------------------------------------------------------------------------------- /gamemodes/default/mods/frontend_menus/load_world_menu.lua: -------------------------------------------------------------------------------- 1 | ------------------------------------------------ 2 | local BreakMenuItem = require ("gamemodes/default/mods/frontend_menus/menu_items/break_menu_item") 3 | local ButtonMenuItem = require ("gamemodes/default/mods/frontend_menus/menu_items/button_menu_item") 4 | local LabelMenuItem = require ("gamemodes/default/mods/frontend_menus/menu_items/label_menu_item") 5 | local Menus = require ("gamemodes/default/mods/frontend_menus/menu_construction") 6 | local MenuClass = require ("gamemodes/default/mods/frontend_menus/menu_class") 7 | local Mixin = require ("gamemodes/default/mods/frontend_menus/mixin") 8 | 9 | -------------------------------------------------- 10 | local function onReturnToParentClicked () 11 | return "single_player_top_menu" 12 | end 13 | 14 | -------------------------------------------------- 15 | local c = {} 16 | 17 | -------------------------------------------------- 18 | function c:onAppShouldClose () 19 | self.parent.onAppShouldClose (self) 20 | return "quitting_menu" 21 | end 22 | 23 | -------------------------------------------------- 24 | function c:onEnter (menus) 25 | 26 | local worlds = dio.file.listExistingWorlds () 27 | for idx, worldFolder in ipairs (worlds) do 28 | 29 | local function onClicked () 30 | menus.loading_world_menu:recordWorldSettings (worldFolder, self.menuKey) 31 | return "loading_world_menu" 32 | end 33 | 34 | local button = ButtonMenuItem ("Load " .. worldFolder, onClicked) 35 | self:addMenuItem (button) 36 | end 37 | 38 | if #worlds == 0 then 39 | self:addMenuItem (LabelMenuItem ("No Worlds Found")) 40 | end 41 | 42 | self:addMenuItem (BreakMenuItem ()) 43 | self:addMenuItem (ButtonMenuItem ("Return To Parent Menu", onReturnToParentClicked)) 44 | 45 | end 46 | 47 | -------------------------------------------------- 48 | function c:onExit () 49 | self:clearAllMenuItems (); 50 | end 51 | 52 | -------------------------------------------------- 53 | return function () 54 | 55 | local instance = MenuClass ("LOAD WORLD MENU") 56 | 57 | local properties = 58 | { 59 | } 60 | 61 | Mixin.CopyTo (instance, properties) 62 | Mixin.CopyToAndBackupParents (instance, c) 63 | 64 | return instance 65 | end 66 | -------------------------------------------------------------------------------- /gamemodes/default/shaders/chunk_high.vertexshader: -------------------------------------------------------------------------------- 1 | #version 330 2 | 3 | layout (location = 0) in uvec3 vertex_position; 4 | layout (location = 1) in vec2 vertex_uv; 5 | layout (location = 2) in vec3 vertex_normal; 6 | 7 | layout (location = 3) in uint instance; 8 | 9 | uniform mat4 mvp_matrix; 10 | uniform mat4 shadow_mvp_matrix; 11 | 12 | uniform vec4 light_direction; 13 | uniform vec4 light_rgba; 14 | uniform vec4 ambient_color; 15 | 16 | uniform float begin_blend_in_distance; 17 | uniform float end_blend_in_distance; 18 | uniform vec3 camera_xyz; 19 | 20 | uniform mat4 transforms [6]; 21 | 22 | out vec2 f_uv; 23 | out vec4 f_light_rgba; 24 | out vec4 f_shadow_xyz; 25 | flat out vec3 f_normal_model; 26 | 27 | void main () 28 | { 29 | // vertex transform 30 | 31 | vec3 instance_translation = vec3 ( 32 | float((instance >> 0u) & 127u) - 32.0, 33 | float((instance >> 7u) & 127u) - 32.0, 34 | float((instance >> 14u) & 127u) - 32.0); 35 | 36 | uint transform_idx = (instance >> 21) & 7u; 37 | mat3 rotation = mat3 (transforms [transform_idx]); 38 | vec3 translation = transforms [transform_idx][3].xyz; 39 | 40 | // blending scale 41 | float distance_to_camera = length (instance_translation + vec3 (0.5) - camera_xyz); 42 | float blend_range = (begin_blend_in_distance - end_blend_in_distance); 43 | float blend_scale = 1.0 - (clamp (distance_to_camera, end_blend_in_distance, begin_blend_in_distance) - end_blend_in_distance) / blend_range; 44 | 45 | // position 46 | vec3 vertex_position1 = vertex_position; 47 | vertex_position1.y *= blend_scale; 48 | vec3 vertex_position2 = rotation * vertex_position1 + translation; 49 | vec3 vertex_position3 = (vertex_position2 / 16.0) + instance_translation; 50 | gl_Position = mvp_matrix * vec4 (vertex_position3, 1.0); 51 | gl_Position.w -= 0.00001; 52 | 53 | // diffuse lighting 54 | 55 | vec3 normal_post_transform = rotation * vertex_normal; 56 | float cos_theta = clamp (dot (vec4 (normal_post_transform.xyz, 0.0), light_direction), 0.0, 1.0); 57 | f_light_rgba = light_rgba * cos_theta; 58 | 59 | // uvs 60 | 61 | f_uv = vertex_uv; 62 | 63 | // shadow data 64 | 65 | f_shadow_xyz = vec4 (vertex_position3, 1.0); 66 | f_normal_model = normal_post_transform.xyz; 67 | } 68 | -------------------------------------------------------------------------------- /resources/scripts/utils/easing.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local m = {} 3 | 4 | -------------------------------------------------- 5 | function m.tween (coeff, a, b) 6 | return (a * (1.0 - coeff)) + (b * coeff) 7 | end 8 | 9 | -------------------------------------------------- 10 | function m.linear (t) 11 | return t 12 | end 13 | 14 | -------------------------------------------------- 15 | function m.easeInQuad (t) 16 | return (t * t) 17 | end 18 | 19 | -------------------------------------------------- 20 | function m.easeOutQuad (t) 21 | return m.easeInQuad (1 - t) 22 | end 23 | 24 | -------------------------------------------------- 25 | function m.easeInCubic (t) 26 | return (t * t * t) 27 | end 28 | 29 | -------------------------------------------------- 30 | function m.easeOutCubic (t) 31 | return m.easeInCubic (1 - t) 32 | end 33 | 34 | -------------------------------------------------- 35 | function m.easeInBounce (t) 36 | return m.easeOutBounce (1 - t) 37 | end 38 | 39 | -------------------------------------------------- 40 | function m.backIn (t) 41 | local s = 1.70158 42 | return t * t * ((s + 1) * t - s) 43 | end 44 | 45 | -------------------------------------------------- 46 | function m.backOut (t) 47 | local s = 1.70158 48 | t = t - 1 49 | return t * t * ((s + 1) * t + s) + 1 50 | end 51 | 52 | -------------------------------------------------- 53 | function m.easeOutBounce (t) 54 | 55 | if t < 4 / 11.0 then 56 | return (121 * t * t) / 16.0 57 | elseif t < 8 / 11.0 then 58 | return (363 / 40.0 * t * t) - (99 / 10.0 * t) + 17/5.0 59 | elseif t < 9 / 10.0 then 60 | return (4356 / 361.0 * t * t) - (35442 / 1805.0 * t) + 16061 / 1805.0 61 | else 62 | return (54 / 5.0 * t * t) - (513 / 25.0 * t) + 268 / 25.0 63 | end 64 | end 65 | 66 | -------------------------------------------------- 67 | function m.easeInElastic (t) 68 | 69 | if t == 0 then 70 | return 0 71 | elseif t == 1 then 72 | return 1 73 | else 74 | return -math.pow (2, 10 * (t - 1)) * math.sin ((t - 1.1) * 5 * math.pi) 75 | end 76 | 77 | --return math.sin (13 * math.pi * 2 * t) * math.pow (2, 10 * (t - 1)) 78 | end 79 | 80 | -------------------------------------------------- 81 | return m 82 | -------------------------------------------------------------------------------- /gamemodes/default/mods/frontend_menus/text_file_menu.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local BreakMenuItem = require ("gamemodes/default/mods/frontend_menus/menu_items/break_menu_item") 3 | local ButtonMenuItem = require ("gamemodes/default/mods/frontend_menus/menu_items/button_menu_item") 4 | local LabelMenuItem = require ("gamemodes/default/mods/frontend_menus/menu_items/label_menu_item") 5 | local ScrollableMenuItem = require ("gamemodes/default/mods/frontend_menus/menu_items/scrollable_menu_item") 6 | local Menus = require ("gamemodes/default/mods/frontend_menus/menu_construction") 7 | local MenuClass = require ("gamemodes/default/mods/frontend_menus/menu_class") 8 | local Mixin = require ("gamemodes/default/mods/frontend_menus/mixin") 9 | 10 | -------------------------------------------------- 11 | local function onReturnToMainMenuClicked () 12 | return "main_menu" 13 | end 14 | 15 | -------------------------------------------------- 16 | local c = {} 17 | 18 | -------------------------------------------------- 19 | function c:onEnter (menus) 20 | 21 | local lines = {} 22 | io.input (self.filename) 23 | self.filename = nil 24 | 25 | for line in io.lines () do 26 | table.insert (lines, line) 27 | end 28 | self.scrollableMenuItem = ScrollableMenuItem (lines, 16) 29 | self:addMenuItem (self.scrollableMenuItem) 30 | 31 | self:addMenuItem (LabelMenuItem ("")) 32 | self:addMenuItem (BreakMenuItem ()) 33 | self:addMenuItem (ButtonMenuItem ("Return To Main Menu", onReturnToMainMenuClicked)) 34 | 35 | end 36 | 37 | -------------------------------------------------- 38 | function c:onExit () 39 | self.scrollableMenuItem = nil 40 | self:clearAllMenuItems (); 41 | end 42 | 43 | -------------------------------------------------- 44 | function c:onUpdate (x, y, was_left_clicked) 45 | local scrollWheel = dio.inputs.mouse.getScrollWheelDelta () 46 | if scrollWheel ~= 0 then 47 | self.scrollableMenuItem:scroll (-scrollWheel) 48 | end 49 | 50 | return self.parent.onUpdate (self, x, y, was_left_clicked) 51 | end 52 | 53 | -------------------------------------------------- 54 | function c:recordFilename (filename) 55 | self.title = filename 56 | self.filename = filename 57 | end 58 | 59 | -------------------------------------------------- 60 | return function () 61 | 62 | local instance = MenuClass ("") 63 | 64 | Mixin.CopyToAndBackupParents (instance, c) 65 | 66 | return instance 67 | end 68 | -------------------------------------------------------------------------------- /gamemodes/default/mods/frontend_menus/playing_game_menu.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local Menus = require ("gamemodes/default/mods/frontend_menus/menu_construction") 3 | local MenuClass = require ("gamemodes/default/mods/frontend_menus/menu_class") 4 | local Mixin = require ("gamemodes/default/mods/frontend_menus/mixin") 5 | 6 | -------------------------------------------------- 7 | local c = {} 8 | 9 | -------------------------------------------------- 10 | function c:onAppShouldClose () 11 | dio.session.terminate () 12 | self.parent.onAppShouldClose (self) 13 | return "quitting_menu", true 14 | end 15 | 16 | -------------------------------------------------- 17 | function c:onSessionShutdownBegun (reason) 18 | 19 | local reasons = dio.events.sessionShutdownBegun.reasons 20 | if reason == reasons.PLAYER_QUIT then 21 | return "saving_game_menu" 22 | 23 | else 24 | self.allMenus.game_not_connected_menu:setReason (reason) 25 | return "game_not_connected_menu" 26 | end 27 | end 28 | 29 | -------------------------------------------------- 30 | function c:onEnter (allMenus) 31 | self.menus:setIsVisible (false) 32 | dio.inputs.mouse.setExclusive (true) 33 | dio.inputs.setArePlayingControlsEnabled (true) 34 | self.allMenus = allMenus 35 | end 36 | 37 | -------------------------------------------------- 38 | function c:onExit (allMenus) 39 | self.menus:setIsVisible (true) 40 | dio.inputs.mouse.setExclusive (false) 41 | dio.inputs.setArePlayingControlsEnabled (false) 42 | self.allMenus = nil 43 | end 44 | 45 | -------------------------------------------------- 46 | function c:onKeyClicked (keyCode, keyModifiers, keyCharacter) 47 | 48 | local keyCodes = dio.inputs.keyCodes 49 | 50 | if keyCode == keyCodes.ESCAPE then 51 | dio.inputs.mouse.setExclusive (false) 52 | self:onWindowFocusLost () 53 | return true 54 | end 55 | end 56 | 57 | -------------------------------------------------- 58 | function c:onWindowFocusLost () 59 | 60 | self.menus:setIsVisible (true) 61 | dio.inputs.setArePlayingControlsEnabled (false) 62 | self.menus:changeMenu ("in_game_pause_menu") 63 | end 64 | 65 | -------------------------------------------------- 66 | return function (menus) 67 | 68 | local properties = 69 | { 70 | menus = menus 71 | } 72 | 73 | local instance = MenuClass ("PLAYING GAME MENU") 74 | Mixin.CopyTo (instance, properties) 75 | Mixin.CopyToAndBackupParents (instance, c) 76 | 77 | return instance 78 | end 79 | -------------------------------------------------------------------------------- /gamemodes/default/mods/frontend_menus/choosing_game_mode_variation_menu.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local BreakMenuItem = require ("gamemodes/default/mods/frontend_menus/menu_items/break_menu_item") 3 | local ButtonMenuItem = require ("gamemodes/default/mods/frontend_menus/menu_items/button_menu_item") 4 | local LabelMenuItem = require ("gamemodes/default/mods/frontend_menus/menu_items/label_menu_item") 5 | local Menus = require ("gamemodes/default/mods/frontend_menus/menu_construction") 6 | local MenuClass = require ("gamemodes/default/mods/frontend_menus/menu_class") 7 | local Mixin = require ("gamemodes/default/mods/frontend_menus/mixin") 8 | 9 | -------------------------------------------------- 10 | local function onReturnToParentClicked () 11 | return "single_player_top_menu" 12 | end 13 | 14 | -------------------------------------------------- 15 | local c = {} 16 | 17 | -------------------------------------------------- 18 | function c:onAppShouldClose () 19 | self.parent.onAppShouldClose (self) 20 | return "quitting_menu" 21 | end 22 | 23 | -------------------------------------------------- 24 | function c:onEnter (menus) 25 | 26 | local variations = dio.file.loadLua (dio.file.locations.GAME_MODE, self.gameMode.folder .. "new_saves/options.lua") 27 | 28 | for idx, variation in ipairs (variations.variations) do 29 | 30 | local function onClicked () 31 | local idxCopy = idx 32 | menus.new_world_settings_menu:recordGameModeVariation (self.gameMode, idxCopy) 33 | return "new_world_settings_menu" 34 | end 35 | 36 | local button = ButtonMenuItem (variation.title, onClicked) 37 | self:addMenuItem (button) 38 | end 39 | 40 | if #variations.variations == 0 then 41 | self:addMenuItem (LabelMenuItem ("No Variations Found")) 42 | end 43 | 44 | self:addMenuItem (BreakMenuItem ()) 45 | self:addMenuItem (ButtonMenuItem ("Return To Parent Menu", onReturnToParentClicked)) 46 | 47 | end 48 | 49 | -------------------------------------------------- 50 | function c:onExit () 51 | self:clearAllMenuItems (); 52 | end 53 | 54 | -------------------------------------------------- 55 | function c:recordGameMode (gameMode) 56 | self.gameMode = gameMode 57 | end 58 | 59 | -------------------------------------------------- 60 | return function () 61 | 62 | local instance = MenuClass ("CHOOSE GAME MODE VARIATION") 63 | 64 | local properties = 65 | { 66 | } 67 | 68 | Mixin.CopyTo (instance, properties) 69 | Mixin.CopyToAndBackupParents (instance, c) 70 | 71 | return instance 72 | end 73 | -------------------------------------------------------------------------------- /gamemodes/default/mods/frontend_menus/create_new_world_menu.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local BreakMenuItem = require ("gamemodes/default/mods/frontend_menus/menu_items/break_menu_item") 3 | local ButtonMenuItem = require ("gamemodes/default/mods/frontend_menus/menu_items/button_menu_item") 4 | local Menus = require ("gamemodes/default/mods/frontend_menus/menu_construction") 5 | local MenuClass = require ("gamemodes/default/mods/frontend_menus/menu_class") 6 | local Mixin = require ("gamemodes/default/mods/frontend_menus/mixin") 7 | 8 | -------------------------------------------------- 9 | local function addMenuButton (menu, text, to_menu) 10 | local button = ButtonMenuItem (text, function () return to_menu end) 11 | menu:addMenuItem (button) 12 | end 13 | 14 | -------------------------------------------------- 15 | local c = {} 16 | 17 | -------------------------------------------------- 18 | function c:onAppShouldClose () 19 | self.parent.onAppShouldClose (self) 20 | return "quitting_menu" 21 | end 22 | 23 | -------------------------------------------------- 24 | function c:onEnter (menus) 25 | 26 | local gameModeFolders = dio.file.listGameModeFolders () 27 | for idx, gameModeFolder in ipairs (gameModeFolders) do 28 | 29 | local settings = dio.file.loadLua (dio.file.locations.GAME_MODE, gameModeFolder .. "new_saves/options.lua") 30 | settings.folder = gameModeFolder 31 | 32 | local function onClicked () 33 | if #settings.variations == 1 then 34 | menus.new_world_settings_menu:recordGameModeVariation (settings, 1) 35 | return "new_world_settings_menu" 36 | else 37 | menus.choosing_game_mode_variation_menu:recordGameMode (settings) 38 | return "choosing_game_mode_variation_menu" 39 | end 40 | 41 | end 42 | 43 | local button = ButtonMenuItem (settings.title, onClicked) 44 | self:addMenuItem (button) 45 | end 46 | 47 | self:addMenuItem (BreakMenuItem ()) 48 | 49 | addMenuButton (self, "Return To Parent Menu", "single_player_top_menu") 50 | end 51 | 52 | -------------------------------------------------- 53 | function c:onExit () 54 | self:clearAllMenuItems (); 55 | end 56 | 57 | -------------------------------------------------- 58 | return function () 59 | 60 | local instance = MenuClass ("Create New World") 61 | 62 | local properties = 63 | { 64 | } 65 | 66 | Mixin.CopyTo (instance, properties) 67 | Mixin.CopyToAndBackupParents (instance, c) 68 | 69 | return instance 70 | end 71 | -------------------------------------------------------------------------------- /gamemodes/default/mods/frontend_menus/delete_level_menu.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local BreakMenuItem = require ("gamemodes/default/mods/frontend_menus/menu_items/break_menu_item") 3 | local ButtonMenuItem = require ("gamemodes/default/mods/frontend_menus/menu_items/button_menu_item") 4 | local LabelMenuItem = require ("gamemodes/default/mods/frontend_menus/menu_items/label_menu_item") 5 | local Menus = require ("gamemodes/default/mods/frontend_menus/menu_construction") 6 | local MenuClass = require ("gamemodes/default/mods/frontend_menus/menu_class") 7 | local Mixin = require ("gamemodes/default/mods/frontend_menus/mixin") 8 | 9 | -------------------------------------------------- 10 | local populateMenus = nil 11 | 12 | -------------------------------------------------- 13 | local function onDeleteLevelClicked (menu, worldName) 14 | menu.deleteLevelConfirmMenu:recordWorldToDelete (worldName) 15 | return "delete_level_confirm_menu" 16 | end 17 | 18 | -------------------------------------------------- 19 | local function onReturnToParentClicked () 20 | return "single_player_top_menu" 21 | end 22 | 23 | -------------------------------------------------- 24 | local c = {} 25 | 26 | -------------------------------------------------- 27 | function c:onAppShouldClose () 28 | self.parent.onAppShouldClose (self) 29 | return "quitting_menu" 30 | end 31 | 32 | -------------------------------------------------- 33 | function c:onEnter (menus) 34 | 35 | self.deleteLevelConfirmMenu = menus.delete_level_confirm_menu 36 | 37 | local levels = dio.file.listExistingWorlds () 38 | for idx, worldName in ipairs (levels) do 39 | 40 | local function onClicked () 41 | return onDeleteLevelClicked (self, worldName) 42 | end 43 | 44 | local button = ButtonMenuItem ("Delete " .. worldName, onClicked) 45 | self:addMenuItem (button) 46 | end 47 | 48 | if #levels == 0 then 49 | self:addMenuItem (LabelMenuItem ("No Levels Found")) 50 | end 51 | 52 | self:addMenuItem (BreakMenuItem ()) 53 | self:addMenuItem (ButtonMenuItem ("Return To Parent Menu", onReturnToParentClicked)) 54 | 55 | end 56 | 57 | -------------------------------------------------- 58 | function c:onExit () 59 | self.deleteLevelConfirmMenu = nil 60 | self:clearAllMenuItems (); 61 | end 62 | 63 | -------------------------------------------------- 64 | return function () 65 | 66 | local instance = MenuClass ("Delete World") 67 | 68 | local properties = 69 | { 70 | } 71 | 72 | Mixin.CopyTo (instance, properties) 73 | Mixin.CopyToAndBackupParents (instance, c) 74 | 75 | return instance 76 | end 77 | -------------------------------------------------------------------------------- /gamemodes/dio_iso/models/characters/README.md: -------------------------------------------------------------------------------- 1 | Mini Mike's Metro Minis 2 | ======================= 3 | 4 | A city-themed collection of over 400 blocky models you can remix or use outright in your 5 | own works. Files are provided in .vox, .collada and Unity3D .prefab formats. 6 | 7 | Screenshots 8 | ----------- 9 | 10 | ![](https://pbs.twimg.com/media/B3ovngLCUAA8HcZ.png) 11 | ![](https://pbs.twimg.com/media/B2n3JUBCEAAMrlV.png) 12 | ![](https://pbs.twimg.com/media/B2x5xdmIEAAP6fw.png) 13 | ![](https://pbs.twimg.com/media/B224TU-CEAAMwBg.png) 14 | ![](https://pbs.twimg.com/media/B4EbEpcCIAE1NZf.png) 15 | ![](https://pbs.twimg.com/media/B351eynCQAA3jRx.png) 16 | 17 | Stuff included 18 | -------------- 19 | * Characters: Mayor, Janitor, Mad Scientist, Paramedic, Cops, Hazmat, Riot Cops, Chefs, Mechanics, almost 100 in all 20 | * Vehicles: cop car, food truck, taxi, ambulance, town car, station wagon, SUV, fire truck, delivery, and more 21 | * Buildings: storefronts, churches, coffee shops, apartments, loading docks, and more 22 | * Suburban homes: craftsman, spanish, modern, manufactured (mobile) homes, tents and more 23 | * City stuff: fences, sidewalks, trash cans, newspaper stands, curbs, fountains, bus stops, signs and more 24 | * Scenario stuff: aliens, spaceships, killbots, zombies, creeping tentacles, and costumed crusaders 25 | * Environmental: grass, concrete, trees, bushes 26 | 27 | Directory structure 28 | ------------------- 29 | 30 | * /vox -- the original models in .vox format 31 | * /fbx -- generic optimized poly models for game frameworks 32 | * /collada -- generic optimized poly models for game frameworks 33 | * /unity-plugin -- unity prefabs w/colliders 34 | * /screenshots -- screenshots 35 | 36 | Frequently Asked Questions 37 | -------------------------- 38 | 39 | Q: What software did you use to make these? How can I tweak them? 40 | 41 | A: I use MagicaVoxel for creating the initial files / rendering, and VoxelShop for exporting 42 | optimized collada polys. 43 | 44 | Q: Are these characters rigged? 45 | 46 | A: Nope. I don't really understand how to fit that into my process. I recommend making them waddle or sticking a popsicle stick up their butt and dragging them around. 47 | 48 | Licensing 49 | --------------------- 50 | These models are licensed under Creative Commons Attribution 4.0 International, 51 | which allows you to do pretty much whatever you want, provided you give 52 | appropriate credit, a link to the license and indicate if changes were made. 53 | (Read the details.) 54 | 55 | For attribution, all you need to do is: in the credits of your project, say 56 | something like Additional Artwork by Mike Judge, and if you're feeling kind, 57 | please send a link to your project to me on twitter so I can brag about it! 58 | 59 | Enjoy! 60 | 61 | - Mike Judge 62 | 63 | Twitter: @mikelovesrobots 64 | -------------------------------------------------------------------------------- /gamemodes/default/mods/frontend_menus/tetris/tetris_main_menu.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local BreakMenuItem = require ("gamemodes/default/mods/frontend_menus/menu_items/break_menu_item") 3 | local ButtonMenuItem = require ("gamemodes/default/mods/frontend_menus/menu_items/button_menu_item") 4 | local LabelMenuItem = require ("gamemodes/default/mods/frontend_menus/menu_items/label_menu_item") 5 | local Menus = require ("gamemodes/default/mods/frontend_menus/menu_construction") 6 | local MenuClass = require ("gamemodes/default/mods/frontend_menus/menu_class") 7 | local Mixin = require ("gamemodes/default/mods/frontend_menus/mixin") 8 | local TetrisGame = require ("gamemodes/default/mods/frontend_menus/tetris/tetris_game") 9 | 10 | -------------------------------------------------- 11 | local function onPlayTetrisClicked (menuItem, menu) 12 | menu.tetris = TetrisGame (menu) 13 | menu.tetris:startGame () 14 | end 15 | 16 | -------------------------------------------------- 17 | local function onMainMenuClicked () 18 | return "main_menu" 19 | end 20 | 21 | -------------------------------------------------- 22 | local c = {} 23 | 24 | -------------------------------------------------- 25 | function c:onEnter () 26 | end 27 | 28 | -------------------------------------------------- 29 | function c:onExit () 30 | self.tetris = nil 31 | end 32 | 33 | -------------------------------------------------- 34 | function c:onUpdate (x, y, was_left_clicked) 35 | 36 | if self.tetris then 37 | self.tetris:update () 38 | else 39 | return self.parent.onUpdate (self, x, y, was_left_clicked) 40 | end 41 | end 42 | 43 | -------------------------------------------------- 44 | function c:onRender () 45 | 46 | if self.tetris then 47 | self.tetris:render () 48 | else 49 | return self.parent.onRender (self) 50 | end 51 | end 52 | 53 | -------------------------------------------------- 54 | function c:onKeyClicked (keyCode, keyModifiers, keyCharacter, menus) 55 | if self.tetris then 56 | self.tetris:onKeyClicked (keyCode, keyModifiers, keyCharacter, menus) 57 | end 58 | end 59 | 60 | -------------------------------------------------- 61 | function c:recordTetrisGameOver () 62 | self.tetris = nil 63 | end 64 | 65 | -------------------------------------------------- 66 | return function () 67 | 68 | math.randomseed (os.time()) 69 | 70 | local instance = MenuClass ("TETRIS MENU") 71 | 72 | local properties = 73 | { 74 | } 75 | 76 | Mixin.CopyTo (instance, properties) 77 | Mixin.CopyToAndBackupParents (instance, c) 78 | 79 | instance:addMenuItem (ButtonMenuItem ("Play The Game", onPlayTetrisClicked)) 80 | instance:addMenuItem (BreakMenuItem ()) 81 | instance:addMenuItem (ButtonMenuItem ("Return To Main Menu", onMainMenuClicked)) 82 | instance:addMenuItem (BreakMenuItem ()) 83 | 84 | return instance 85 | end 86 | -------------------------------------------------------------------------------- /gamemodes/dio_creative/new_saves/alien_test/default/room_settings.lua: -------------------------------------------------------------------------------- 1 | -- repeatedly generated file. not safe to hand edit 2 | local roomSettings = 3 | { 4 | version = 5 | { 6 | major = 2, 7 | minor = 0, 8 | }, 9 | 10 | generators = 11 | { 12 | { 13 | resources = 14 | { 15 | blockModelFiles = 16 | { 17 | "test_models_00.lua", 18 | }, 19 | }, 20 | 21 | weightPass = 22 | { 23 | { 24 | type = "gradient", 25 | mode = "replace", 26 | 27 | baseVoxel = -256, 28 | heightInVoxels = 256, 29 | }, 30 | { 31 | type = "pillars", 32 | mode = "add", 33 | 34 | baseVoxel = -256, 35 | heightInVoxels = 256, 36 | --heightInVoxels = {min = 128, max = 256}, 37 | min = 0, 38 | max = 0.8, 39 | outerRadius = 6, 40 | --outerRadius = {min = 4, max = 6}, 41 | innerRadius = 2, 42 | chance = 0.0005, 43 | randomSeed = 12356, 44 | }, 45 | { 46 | type = "perlinNoise", 47 | mode = "lessThan", 48 | 49 | scale = 64, 50 | octaves = 4, 51 | perOctaveAmplitude = 0.5, 52 | perOctaveFrequency = 2.0, 53 | }, 54 | }, 55 | 56 | voxelPass = 57 | { 58 | { 59 | type = "addBlockModel", 60 | id = "fence", 61 | chance = 0.01, 62 | randomSeed = 908322, 63 | }, 64 | { 65 | type = "addBlockModel", 66 | id = "rockpile00", 67 | chance = 0.002, 68 | randomSeed = 654324, 69 | }, 70 | { 71 | type = "addBlockModel", 72 | id = "rockpile01", 73 | chance = 0.004, 74 | randomSeed = 57483, 75 | }, 76 | { 77 | type = "addTrees", 78 | chanceOfTree = 0.005, 79 | sizeRange = 3, 80 | sizeMin = 2, 81 | trunkHeight = 2, 82 | }, 83 | { 84 | type = "addGrass", 85 | mudHeight = 4, 86 | }, 87 | }, 88 | }, 89 | }, 90 | randomSeedAsString = "jgfkdlosgjfkesd", 91 | } 92 | 93 | return roomSettings 94 | -------------------------------------------------------------------------------- /gamemodes/default/mods/frontend_menus/menu_items/key_select_menu_item.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local MenuItemBase = require ("gamemodes/default/mods/frontend_menus/menu_items/menu_item_base") 3 | local Mixin = require ("gamemodes/default/mods/frontend_menus/mixin") 4 | 5 | -------------------------------------------------- 6 | local c = {} 7 | 8 | -------------------------------------------------- 9 | function c:onUpdate (menu, x, y, was_left_clicked) 10 | 11 | if not self.isSelected then 12 | 13 | self.isHighlighted = 14 | x >= 0 and 15 | x <= menu.width and 16 | y >= self.y and 17 | y < self.y + self.height 18 | 19 | if was_left_clicked and self.isHighlighted then 20 | 21 | if not self.isSelected then 22 | menu:setUpdateOnlySelectedMenuItems (true) 23 | self.isSelected = true 24 | end 25 | end 26 | end 27 | end 28 | 29 | -------------------------------------------------- 30 | function c:onRender (font, menu) 31 | 32 | local itemWidth = menu.width - 200 33 | local x = 100 34 | 35 | local color = self.isHighlighted and 0xffffffff or 0x00ffffff 36 | color = self.isSelected and 0xff0000ff or color 37 | 38 | if self.isHighlighted or self.isSelected then 39 | dio.drawing.font.drawBox (0, self.y, menu.width, self.height, 0x00CCCCCC) 40 | end 41 | 42 | font.drawString (x, self.y, self.text, color) 43 | 44 | if self.isHighlighted then 45 | local width = font.measureString ("") 46 | font.drawString (x - width, self.y, "", color) 47 | font.drawString (x + itemWidth, self.y, "", color) 48 | end 49 | 50 | local value = "????" 51 | if not self.isSelected then 52 | value = dio.inputs.keys.stringFromKeyCode (self.keyCode) 53 | end 54 | 55 | local width = font.measureString (value) 56 | font.drawString (itemWidth + x - width, self.y, value, color) 57 | end 58 | 59 | -------------------------------------------------- 60 | function c:onKeyClicked (menu, keyCode, keyModifiers, keyCharacter) 61 | 62 | assert (self.isSelected) 63 | 64 | menu:setUpdateOnlySelectedMenuItems (false) 65 | self.isSelected = false 66 | 67 | if keyCode and keyCode ~= dio.inputs.keyCodes.ESCAPE then 68 | 69 | self.keyCode = keyCode 70 | 71 | if self.onKeyUpdated then 72 | self.onKeyUpdated (self, menu) 73 | end 74 | end 75 | 76 | return true 77 | end 78 | 79 | -------------------------------------------------- 80 | return function (text, onKeyUpdated, keyCode) 81 | 82 | local instance = MenuItemBase () 83 | 84 | local properties = 85 | { 86 | text = text, 87 | keyCode = keyCode, 88 | isSelected = false, 89 | onKeyUpdated = onKeyUpdated 90 | } 91 | 92 | Mixin.CopyTo (instance, properties) 93 | Mixin.CopyTo (instance, c) 94 | 95 | return instance 96 | end 97 | -------------------------------------------------------------------------------- /gamemodes/default/mods/frontend_menus/delete_level_confirm_menu.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local BreakMenuItem = require ("gamemodes/default/mods/frontend_menus/menu_items/break_menu_item") 3 | local ButtonMenuItem = require ("gamemodes/default/mods/frontend_menus/menu_items/button_menu_item") 4 | local LabelMenuItem = require ("gamemodes/default/mods/frontend_menus/menu_items/label_menu_item") 5 | local Menus = require ("gamemodes/default/mods/frontend_menus/menu_construction") 6 | local MenuClass = require ("gamemodes/default/mods/frontend_menus/menu_class") 7 | local Mixin = require ("gamemodes/default/mods/frontend_menus/mixin") 8 | 9 | -------------------------------------------------- 10 | local populateMenus = nil 11 | 12 | -------------------------------------------------- 13 | local function onConfirmDeleteClicked (menuItem, menu) 14 | dio.file.deleteWorld (menu.filenameLabel.text) 15 | return "delete_level_menu" 16 | end 17 | 18 | -------------------------------------------------- 19 | local function onCancelDeleteClicked () 20 | return "delete_level_menu" 21 | end 22 | 23 | -------------------------------------------------- 24 | local c = {} 25 | 26 | -------------------------------------------------- 27 | function c:onEnter (menus) 28 | assert (self.filenameLabel.text ~= "") 29 | end 30 | 31 | -------------------------------------------------- 32 | function c:onExit () 33 | self.filenameLabel.text = "" 34 | end 35 | 36 | -------------------------------------------------- 37 | function c:recordWorldToDelete (worldFilename) 38 | self.filenameLabel.text = worldFilename 39 | self.deleteConfirmedButton.text = "Confirm Delete " .. worldFilename 40 | end 41 | 42 | -------------------------------------------------- 43 | return function () 44 | 45 | local instance = MenuClass ("Confirm Level Deletion") 46 | 47 | local properties = 48 | { 49 | filenameLabel = LabelMenuItem (""), 50 | deleteConfirmedButton = ButtonMenuItem ("", onConfirmDeleteClicked), 51 | } 52 | 53 | Mixin.CopyTo (instance, properties) 54 | Mixin.CopyToAndBackupParents (instance, c) 55 | 56 | instance:addMenuItem (LabelMenuItem ("WARNING")) 57 | instance:addMenuItem (LabelMenuItem ("Are you sure you want to")) 58 | instance:addMenuItem (LabelMenuItem ("delete the following world:")) 59 | instance:addMenuItem (LabelMenuItem ("")) 60 | instance:addMenuItem (properties.filenameLabel) 61 | instance:addMenuItem (LabelMenuItem ("")) 62 | 63 | instance:addMenuItem (BreakMenuItem ()) 64 | instance:addMenuItem (ButtonMenuItem ("Cancel Delete", onCancelDeleteClicked)) 65 | 66 | instance:addMenuItem (LabelMenuItem ("")) 67 | instance:addMenuItem (LabelMenuItem ("")) 68 | instance:addMenuItem (LabelMenuItem ("")) 69 | instance:addMenuItem (LabelMenuItem ("")) 70 | instance:addMenuItem (LabelMenuItem ("")) 71 | instance:addMenuItem (LabelMenuItem ("")) 72 | instance:addMenuItem (BreakMenuItem ()) 73 | instance:addMenuItem (properties.deleteConfirmedButton) 74 | 75 | return instance 76 | end 77 | -------------------------------------------------------------------------------- /gamemodes/default/mods/frontend_menus/paint/paint_main.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | local BreakMenuItem = require ("gamemodes/default/mods/frontend_menus/menu_items/break_menu_item") 3 | local ButtonMenuItem = require ("gamemodes/default/mods/frontend_menus/menu_items/button_menu_item") 4 | local LabelMenuItem = require ("gamemodes/default/mods/frontend_menus/menu_items/label_menu_item") 5 | local Menus = require ("gamemodes/default/mods/frontend_menus/menu_construction") 6 | local MenuClass = require ("gamemodes/default/mods/frontend_menus/menu_class") 7 | local Mixin = require ("gamemodes/default/mods/frontend_menus/mixin") 8 | local Paint = require ("gamemodes/default/mods/frontend_menus/paint/paint_app") 9 | 10 | -------------------------------------------------- 11 | local function onUsePaintClicked(menuItem, menu) 12 | menu.paint = Paint (menu) 13 | menu.paint:startApp () 14 | end 15 | 16 | -------------------------------------------------- 17 | local function onMainMenuClicked() 18 | return "main_menu" 19 | end 20 | 21 | -------------------------------------------------- 22 | local c = {} 23 | 24 | -------------------------------------------------- 25 | function c:onEnter () 26 | end 27 | 28 | -------------------------------------------------- 29 | function c:onExit () 30 | self.paint = nil 31 | end 32 | 33 | -------------------------------------------------- 34 | function c:onUpdate (x, y, was_left_clicked) 35 | if self.paint then 36 | self.paint:update (x, y, was_left_clicked) 37 | else 38 | return self.parent.onUpdate (self, x, y, was_left_clicked) 39 | end 40 | end 41 | 42 | -------------------------------------------------- 43 | function c:onKeyClicked (keyCode, keyModifiers, keyCharacter, menus) 44 | if self.paint then 45 | self.paint:onKeyClicked (keyCode, keyModifiers, keyCharacter, menus) 46 | end 47 | end 48 | 49 | -------------------------------------------------- 50 | function c:onRender () 51 | if self.paint then 52 | self.paint:render () 53 | else 54 | return self.parent.onRender (self) 55 | end 56 | end 57 | 58 | -------------------------------------------------- 59 | function c:recordAppClose () 60 | self.paint = nil 61 | end 62 | 63 | -------------------------------------------------- 64 | return function() 65 | local instance = MenuClass ("Paint Menu") 66 | 67 | local properties = 68 | { 69 | paint = nil, 70 | } 71 | 72 | Mixin.CopyTo (instance, properties) 73 | Mixin.CopyToAndBackupParents (instance, c) 74 | 75 | instance:addMenuItem (ButtonMenuItem ("Paint", onUsePaintClicked)) 76 | instance:addMenuItem (BreakMenuItem ()) 77 | instance:addMenuItem (ButtonMenuItem ("Return To Main Menu", onMainMenuClicked)) 78 | instance:addMenuItem (BreakMenuItem ()) 79 | instance:addMenuItem (LabelMenuItem ("Paint tool: Click the big black dududu dudu dudu duduu")) 80 | instance:addMenuItem (LabelMenuItem ("Eraser tool: Click the eraser-looking thing")) 81 | instance:addMenuItem (LabelMenuItem ("Picker tool: Click the thing that looks like a nail")) 82 | 83 | return instance 84 | end 85 | --------------------------------------------------------------------------------