Build 01
- initial beta version
143
README.txt
Normal file
|
@ -0,0 +1,143 @@
|
|||
Pride Flags Mod v1.0
|
||||
By Leslie E. Krause
|
||||
|
||||
Pride Flags adds a variety of eight animated flags to celebrate pride in Minetest.
|
||||
|
||||
The flags and poles are non-craftable and intended for placement by an administrator in a
|
||||
conspicuous location, such as atop a building or along a promenade.
|
||||
|
||||
/giveme pride_flags:mast_lower
|
||||
/giveme pride_flags:mast_upper
|
||||
|
||||
By default, a rainbow pride flag will appear when the upper mast is placed. Right-click
|
||||
the node to select a different flag.
|
||||
|
||||
|
||||
Repository
|
||||
----------------------
|
||||
|
||||
Browse source code...
|
||||
https://bitbucket.org/sorcerykid/pride_flags
|
||||
|
||||
Download archive...
|
||||
https://bitbucket.org/sorcerykid/pride_flags/get/master.zip
|
||||
https://bitbucket.org/sorcerykid/pride_flags/get/master.tar.gz
|
||||
|
||||
Compatability
|
||||
----------------------
|
||||
|
||||
Minetest 0.4.15+ required
|
||||
|
||||
Installation
|
||||
----------------------
|
||||
|
||||
1) Unzip the archive into the mods directory of your game.
|
||||
2) Rename the pride_flags-master directory to "pride_flags".
|
||||
|
||||
Source Code License
|
||||
----------------------------------------------------------
|
||||
|
||||
GNU Lesser General Public License v3 (LGPL-3.0)
|
||||
|
||||
Copyright (c) 2022, Leslie E. Krause (leslie@searstower.org)
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it under the terms of
|
||||
the GNU Lesser General Public License as published by the Free Software Foundation; either
|
||||
version 3 of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Lesser General Public License for more details.
|
||||
|
||||
http://www.gnu.org/licenses/lgpl-2.1.html
|
||||
|
||||
|
||||
Multimedia License (textures, sounds, and models)
|
||||
----------------------------------------------------------
|
||||
|
||||
Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
|
||||
|
||||
/models/mast_lower.obj
|
||||
by sorcerykid
|
||||
|
||||
/models/mast_upper.obj
|
||||
by sorcerykid
|
||||
|
||||
/models/wavingflag.b3d
|
||||
by sorcerykid
|
||||
|
||||
/textures/default_baremetal.png
|
||||
by sorcerykid
|
||||
|
||||
/textures/prideflag_asexual.png
|
||||
by sorcerykid
|
||||
|
||||
/textures/prideflag_bisexual.png
|
||||
by sorcerykid
|
||||
|
||||
/textures/prideflag_rainbow.png
|
||||
by sorcerykid
|
||||
|
||||
/textures/prideflag_gendercreative.png
|
||||
by sorcerykid
|
||||
|
||||
/textures/prideflag_genderfluid.png
|
||||
by sorcerykid
|
||||
|
||||
/textures/prideflag_genderqueer.png
|
||||
by sorcerykid
|
||||
|
||||
/textures/prideflag_lesbian.png
|
||||
by sorcerykid
|
||||
|
||||
/textures/prideflag_nonbinary.png
|
||||
by sorcerykid
|
||||
|
||||
/textures/prideflag_pansexual.png
|
||||
by sorcerykid
|
||||
|
||||
/textures/prideflag_polysexual.png
|
||||
by sorcerykid
|
||||
|
||||
/textures/prideflag_transgender.png
|
||||
by sorcerykid
|
||||
|
||||
/sounds/flagwave1.ogg
|
||||
by Chelly01
|
||||
obtained from https://freesound.org/people/Chelly01/sounds/541088/
|
||||
modified by sorcerykid
|
||||
|
||||
/sounds/flagwave2.ogg
|
||||
by Chelly01
|
||||
obtained from https://freesound.org/people/Chelly01/sounds/541088/
|
||||
modified by sorcerykid
|
||||
|
||||
/sounds/flagwave3.ogg
|
||||
by Chelly01
|
||||
obtained from https://freesound.org/people/Chelly01/sounds/541088/
|
||||
modified by sorcerykid
|
||||
|
||||
You are free to:
|
||||
Share — copy and redistribute the material in any medium or format.
|
||||
Adapt — remix, transform, and build upon the material for any purpose, even commercially.
|
||||
The licensor cannot revoke these freedoms as long as you follow the license terms.
|
||||
|
||||
Under the following terms:
|
||||
|
||||
Attribution — You must give appropriate credit, provide a link to the license, and
|
||||
indicate if changes were made. You may do so in any reasonable manner, but not in any way
|
||||
that suggests the licensor endorses you or your use.
|
||||
|
||||
No additional restrictions — You may not apply legal terms or technological measures that
|
||||
legally restrict others from doing anything the license permits.
|
||||
|
||||
Notices:
|
||||
|
||||
You do not have to comply with the license for elements of the material in the public
|
||||
domain or where your use is permitted by an applicable exception or limitation.
|
||||
No warranties are given. The license may not give you all of the permissions necessary
|
||||
for your intended use. For example, other rights such as publicity, privacy, or moral
|
||||
rights may limit how you use the material.
|
||||
|
||||
For more details:
|
||||
http://creativecommons.org/licenses/by-sa/3.0/
|
195
init.lua
Normal file
|
@ -0,0 +1,195 @@
|
|||
--------------------------------------------------------
|
||||
-- Minetest :: Pride Flags Mod (pride_flags)
|
||||
--
|
||||
-- See README.txt for licensing and other information.
|
||||
-- Copyright (c) 2022, Leslie E. Krause
|
||||
--
|
||||
-- ./games/minetest_game/mods/pride_flags/init.lua
|
||||
--------------------------------------------------------
|
||||
|
||||
local wind_noise = PerlinNoise( 204, 1, 0, 500 )
|
||||
local active_flags = { }
|
||||
|
||||
local pi = math.pi
|
||||
local rad_180 = pi
|
||||
local rad_90 = pi / 2
|
||||
|
||||
local flag_list = { "rainbow", "lesbian", "bisexual", "transgender", "genderqueer", "nonbinary", "pansexual", "asexual" }
|
||||
|
||||
minetest.register_entity( "pride_flags:wavingflag", {
|
||||
initial_properties = {
|
||||
physical = false,
|
||||
visual = "mesh",
|
||||
visual_size = { x = 8.5, y = 8.5 },
|
||||
collisionbox = { -0.1, -0.85, -0.1, 0.1, 0.85, 0.1 },
|
||||
backface_culling = false,
|
||||
pointable = false,
|
||||
mesh = "wavingflag.b3d",
|
||||
textures = { "prideflag_rainbow.png" },
|
||||
use_texture_alpha = false,
|
||||
},
|
||||
|
||||
on_activate = function ( self, staticdata, dtime )
|
||||
self:reset_animation( math.random( 1, 50 ) ) -- random starting frame to desynchronize multiple flags
|
||||
self.object:set_armor_groups( { immortal = 1 } )
|
||||
|
||||
if staticdata ~= "" then
|
||||
local data = minetest.deserialize( staticdata )
|
||||
self.flag_idx = data.flag_idx
|
||||
self.node_idx = data.node_idx
|
||||
|
||||
if not self.flag_idx or not self.node_idx then
|
||||
self.object:remove( )
|
||||
return
|
||||
end
|
||||
self:reset_texture( self.flag_idx )
|
||||
|
||||
active_flags[ self.node_idx ] = self.object
|
||||
else
|
||||
self.flag_idx = 1
|
||||
end
|
||||
end,
|
||||
|
||||
on_deactivate = function ( self )
|
||||
if self.sound_id then
|
||||
minetest.sound_stop( self.sound_id )
|
||||
end
|
||||
end,
|
||||
|
||||
on_step = function ( self, dtime )
|
||||
self.anim_timer = self.anim_timer - dtime
|
||||
|
||||
if self.anim_timer <= 0 then
|
||||
minetest.sound_stop( self.sound_id )
|
||||
self:reset_animation( 1 )
|
||||
end
|
||||
end,
|
||||
|
||||
reset_animation = function ( self, start_frame )
|
||||
local cur_wind = wind_noise:get2d( { x = os.time( ) % 65535, y = 0 } ) * 30 + 30
|
||||
print( cur_wind )
|
||||
local anim_speed
|
||||
local wave_sound
|
||||
|
||||
if cur_wind < 10 then
|
||||
anim_speed = 10 -- 2 cycle
|
||||
wave_sound = "flagwave1"
|
||||
elseif cur_wind < 20 then
|
||||
anim_speed = 20 -- 4 cycles
|
||||
wave_sound = "flagwave1"
|
||||
elseif cur_wind < 40 then
|
||||
anim_speed = 40 -- 8 cycles
|
||||
wave_sound = "flagwave2"
|
||||
else
|
||||
anim_speed = 80 -- 16 cycles
|
||||
wave_sound = "flagwave3"
|
||||
end
|
||||
|
||||
if self.object then
|
||||
self.object:set_animation( { x = start_frame, y = 575 }, anim_speed, 0, true )
|
||||
self.sound_id = minetest.sound_play( wave_sound, { object = self.object, gain = 1.0, loop = true } )
|
||||
end
|
||||
|
||||
self.anim_timer = ( 576 - start_frame ) / 5 -- default to 115 seconds to reset animation
|
||||
end,
|
||||
|
||||
reset_texture = function ( self, flag_idx )
|
||||
if not flag_idx then
|
||||
self.flag_idx = self.flag_idx % #flag_list + 1 -- this automatically increments
|
||||
else
|
||||
self.flag_idx = flag_idx
|
||||
end
|
||||
|
||||
local texture = string.format( "prideflag_%s.png", flag_list[ self.flag_idx ] )
|
||||
self.object:set_properties( { textures = { texture } } )
|
||||
end,
|
||||
|
||||
get_staticdata = function ( self )
|
||||
return minetest.serialize( {
|
||||
node_idx = self.node_idx,
|
||||
flag_idx = self.flag_idx,
|
||||
} )
|
||||
end,
|
||||
} )
|
||||
|
||||
minetest.register_node( "pride_flags:lower_mast", {
|
||||
description = "Flag Pole",
|
||||
drawtype = "mesh",
|
||||
paramtype = "light",
|
||||
mesh = "mast_lower.obj",
|
||||
paramtype2 = "facedir",
|
||||
groups = { cracky = 2, post = 1 },
|
||||
tiles = { "default_baremetal.png", "default_baremetal.png" },
|
||||
groups = { cracky = 1, level = 2 },
|
||||
--sounds = default.node_sound_metal_defaults( ),
|
||||
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = { { -3/32, -1/2, -3/32, 3/32, 1/2, 3/32 } },
|
||||
},
|
||||
collision_box = {
|
||||
type = "fixed",
|
||||
fixed = { { -3/32, -1/2, -3/32, 3/32, 1/2, 3/32 } },
|
||||
},
|
||||
} )
|
||||
|
||||
minetest.register_node( "pride_flags:upper_mast", {
|
||||
description = "Flag Pole",
|
||||
drawtype = "mesh",
|
||||
paramtype = "light",
|
||||
mesh = "mast_upper.obj",
|
||||
paramtype2 = "facedir",
|
||||
groups = { cracky = 2 },
|
||||
tiles = { "default_baremetal.png", "default_baremetal.png" },
|
||||
groups = { cracky = 1, level = 2 },
|
||||
--sounds = default.node_sound_metal_defaults( ),
|
||||
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = { { -3/32, -1/2, -3/32, 3/32, 27/16, 3/32 } },
|
||||
},
|
||||
collision_box = {
|
||||
type = "fixed",
|
||||
fixed = { { -3/32, -1/2, -3/32, 3/32, 27/16, 3/32 } },
|
||||
},
|
||||
|
||||
on_rightclick = function ( pos, node, player )
|
||||
local node_idx = minetest.hash_node_position( pos )
|
||||
|
||||
if minetest.check_player_privs( player:get_player_name( ), "server" ) then
|
||||
active_flags[ node_idx ]:get_luaentity( ):reset_texture( )
|
||||
end
|
||||
end,
|
||||
|
||||
on_construct = function ( pos )
|
||||
local node_idx = minetest.hash_node_position( pos )
|
||||
local param2 = minetest.get_node( pos ).param2
|
||||
local facedir_to_pos = {
|
||||
[0] = { x = 0, y = 0.6, z = -0.1 },
|
||||
[1] = { x = -0.1, y = 0.6, z = 0 },
|
||||
[2] = { x = 0, y = 0.6, z = 0.1 },
|
||||
[3] = { x = 0.1, y = 0.6, z = 0 },
|
||||
}
|
||||
|
||||
local facedir_to_yaw = {
|
||||
[0] = rad_90,
|
||||
[1] = 0,
|
||||
[2] = -rad_90,
|
||||
[3] = rad_180,
|
||||
}
|
||||
local flag_pos = vector.add( pos, vector.multiply( facedir_to_pos[ param2 ], 1 ) )
|
||||
local obj = minetest.add_entity( flag_pos, "pride_flags:wavingflag" )
|
||||
|
||||
obj:get_luaentity( ).node_idx = node_idx
|
||||
obj:set_yaw( facedir_to_yaw[ param2 ] - rad_180 )
|
||||
|
||||
active_flags[ node_idx ] = obj
|
||||
end,
|
||||
|
||||
on_destruct = function ( pos )
|
||||
local node_idx = minetest.hash_node_position( pos )
|
||||
if active_flags[ node_idx ] then
|
||||
active_flags[ node_idx ]:remove( )
|
||||
end
|
||||
end,
|
||||
} )
|
5
mod.conf
Normal file
|
@ -0,0 +1,5 @@
|
|||
name = pride_flags
|
||||
title = Pride Flags
|
||||
author = sorcerykid
|
||||
license = LGPL-3.0
|
||||
|
144
models/mast_lower.obj
Normal file
|
@ -0,0 +1,144 @@
|
|||
# Made in Blockbench 4.1.4
|
||||
mtllib mast_lower.mtl
|
||||
|
||||
o cube
|
||||
v 0.09375 0.5 0.046875
|
||||
v 0.09375 0.5 -0.046875
|
||||
v 0.09375 -0.5 0.046875
|
||||
v 0.09375 -0.5 -0.046875
|
||||
v 0.046875 0.5 -0.046875
|
||||
v 0.046875 0.5 0.046875
|
||||
v 0.046875 -0.5 -0.046875
|
||||
v 0.046875 -0.5 0.046875
|
||||
vt 0 1
|
||||
vt 0.25 1
|
||||
vt 0.25 0
|
||||
vt 0 0
|
||||
vt 0.25 1
|
||||
vt 0.375 1
|
||||
vt 0.375 0
|
||||
vt 0.25 0
|
||||
vt 0.75 1
|
||||
vt 1 1
|
||||
vt 1 0
|
||||
vt 0.75 0
|
||||
vt 0.625 1
|
||||
vt 0.75 1
|
||||
vt 0.75 0
|
||||
vt 0.625 0
|
||||
vt 0.375 0.6875
|
||||
vt 0.625 0.6875
|
||||
vt 0.625 0.5625
|
||||
vt 0.375 0.5625
|
||||
vt 0.375 0.4375
|
||||
vt 0.625 0.4375
|
||||
vt 0.625 0.3125
|
||||
vt 0.375 0.3125
|
||||
vn 0 0 -1
|
||||
vn 1 0 0
|
||||
vn 0 0 1
|
||||
vn -1 0 0
|
||||
vn 0 1 0
|
||||
vn 0 -1 0
|
||||
usemtl m_0
|
||||
f 4/4/1 7/3/1 5/2/1 2/1/1
|
||||
f 3/8/2 4/7/2 2/6/2 1/5/2
|
||||
f 8/12/3 3/11/3 1/10/3 6/9/3
|
||||
f 7/16/4 8/15/4 6/14/4 5/13/4
|
||||
usemtl m_1
|
||||
f 6/20/5 1/19/5 2/18/5 5/17/5
|
||||
f 7/24/6 4/23/6 3/22/6 8/21/6
|
||||
o cube
|
||||
v 0.046875 0.5 0.09375
|
||||
v 0.046875 0.5 -0.09375
|
||||
v 0.046875 -0.5 0.09375
|
||||
v 0.046875 -0.5 -0.09375
|
||||
v -0.046875 0.5 -0.09375
|
||||
v -0.046875 0.5 0.09375
|
||||
v -0.046875 -0.5 -0.09375
|
||||
v -0.046875 -0.5 0.09375
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0
|
||||
vt 0 0
|
||||
vt 0.5625 1
|
||||
vt 0.625 1
|
||||
vt 0.625 0
|
||||
vt 0.5625 0
|
||||
vt 0.625 1
|
||||
vt 1 1
|
||||
vt 1 0
|
||||
vt 0.625 0
|
||||
vt 0.375 1
|
||||
vt 0.4375 1
|
||||
vt 0.4375 0
|
||||
vt 0.375 0
|
||||
vt 0.4375 0.25
|
||||
vt 0.5625 0.25
|
||||
vt 0.5625 0.1875
|
||||
vt 0.4375 0.1875
|
||||
vt 0.4375 0.375
|
||||
vt 0.5625 0.375
|
||||
vt 0.5625 0.3125
|
||||
vt 0.4375 0.3125
|
||||
vn 0 0 -1
|
||||
vn 1 0 0
|
||||
vn 0 0 1
|
||||
vn -1 0 0
|
||||
vn 0 1 0
|
||||
vn 0 -1 0
|
||||
usemtl m_0
|
||||
f 12/28/7 15/27/7 13/26/7 10/25/7
|
||||
f 11/32/8 12/31/8 10/30/8 9/29/8
|
||||
f 16/36/9 11/35/9 9/34/9 14/33/9
|
||||
f 15/40/10 16/39/10 14/38/10 13/37/10
|
||||
usemtl m_1
|
||||
f 14/44/11 9/43/11 10/42/11 13/41/11
|
||||
f 15/48/12 12/47/12 11/46/12 16/45/12
|
||||
o cube
|
||||
v -0.046875 0.5 0.046875
|
||||
v -0.046875 0.5 -0.046875
|
||||
v -0.046875 -0.5 0.046875
|
||||
v -0.046875 -0.5 -0.046875
|
||||
v -0.09375 0.5 -0.046875
|
||||
v -0.09375 0.5 0.046875
|
||||
v -0.09375 -0.5 -0.046875
|
||||
v -0.09375 -0.5 0.046875
|
||||
vt 0 1
|
||||
vt 0.25 1
|
||||
vt 0.25 0
|
||||
vt 0 0
|
||||
vt 0.25 1
|
||||
vt 0.375 1
|
||||
vt 0.375 0
|
||||
vt 0.25 0
|
||||
vt 0.75 1
|
||||
vt 1 1
|
||||
vt 1 0
|
||||
vt 0.75 0
|
||||
vt 0.625 1
|
||||
vt 0.75 1
|
||||
vt 0.75 0
|
||||
vt 0.625 0
|
||||
vt 0.375 0.6875
|
||||
vt 0.625 0.6875
|
||||
vt 0.625 0.5625
|
||||
vt 0.375 0.5625
|
||||
vt 0.375 0.4375
|
||||
vt 0.625 0.4375
|
||||
vt 0.625 0.3125
|
||||
vt 0.375 0.3125
|
||||
vn 0 0 -1
|
||||
vn 1 0 0
|
||||
vn 0 0 1
|
||||
vn -1 0 0
|
||||
vn 0 1 0
|
||||
vn 0 -1 0
|
||||
usemtl m_0
|
||||
f 20/52/13 23/51/13 21/50/13 18/49/13
|
||||
f 19/56/14 20/55/14 18/54/14 17/53/14
|
||||
f 24/60/15 19/59/15 17/58/15 22/57/15
|
||||
f 23/64/16 24/63/16 22/62/16 21/61/16
|
||||
usemtl m_1
|
||||
f 22/68/17 17/67/17 18/66/17 21/65/17
|
||||
f 23/72/18 20/71/18 19/70/18 24/69/18
|
379
models/mast_upper.obj
Normal file
|
@ -0,0 +1,379 @@
|
|||
# Made in Blockbench 4.1.4
|
||||
mtllib mast_upper.mtl
|
||||
|
||||
o cube
|
||||
v 0.09375 0.5 0.046875
|
||||
v 0.09375 0.5 -0.046875
|
||||
v 0.09375 -0.5 0.046875
|
||||
v 0.09375 -0.5 -0.046875
|
||||
v 0.046875 0.5 -0.046875
|
||||
v 0.046875 0.5 0.046875
|
||||
v 0.046875 -0.5 -0.046875
|
||||
v 0.046875 -0.5 0.046875
|
||||
vt 0.0625 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0
|
||||
vt 0.0625 0
|
||||
vt 0.25 1
|
||||
vt 0.375 1
|
||||
vt 0.375 0
|
||||
vt 0.25 0
|
||||
vt 0.875 1
|
||||
vt 0.9375 1
|
||||
vt 0.9375 0
|
||||
vt 0.875 0
|
||||
vt 0.625 1
|
||||
vt 0.75 1
|
||||
vt 0.75 0
|
||||
vt 0.625 0
|
||||
vt 0.375 0.6875
|
||||
vt 0.4375 0.6875
|
||||
vt 0.4375 0.5625
|
||||
vt 0.375 0.5625
|
||||
vt 0.375 0.4375
|
||||
vt 0.4375 0.4375
|
||||
vt 0.4375 0.3125
|
||||
vt 0.375 0.3125
|
||||
vn 0 0 -1
|
||||
vn 1 0 0
|
||||
vn 0 0 1
|
||||
vn -1 0 0
|
||||
vn 0 1 0
|
||||
vn 0 -1 0
|
||||
usemtl m_0
|
||||
f 4/4/1 7/3/1 5/2/1 2/1/1
|
||||
f 3/8/2 4/7/2 2/6/2 1/5/2
|
||||
f 8/12/3 3/11/3 1/10/3 6/9/3
|
||||
f 7/16/4 8/15/4 6/14/4 5/13/4
|
||||
usemtl m_1
|
||||
f 6/20/5 1/19/5 2/18/5 5/17/5
|
||||
f 7/24/6 4/23/6 3/22/6 8/21/6
|
||||
o cube
|
||||
v 0.046875 0.5 0.09375
|
||||
v 0.046875 0.5 -0.09375
|
||||
v 0.046875 -0.5 0.09375
|
||||
v 0.046875 -0.5 -0.09375
|
||||
v -0.046875 0.5 -0.09375
|
||||
v -0.046875 0.5 0.09375
|
||||
v -0.046875 -0.5 -0.09375
|
||||
v -0.046875 -0.5 0.09375
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0
|
||||
vt 0 0
|
||||
vt 0.5625 1
|
||||
vt 0.625 1
|
||||
vt 0.625 0
|
||||
vt 0.5625 0
|
||||
vt 0.875 1
|
||||
vt 1 1
|
||||
vt 1 0
|
||||
vt 0.875 0
|
||||
vt 0.375 1
|
||||
vt 0.4375 1
|
||||
vt 0.4375 0
|
||||
vt 0.375 0
|
||||
vt 0.4375 0.75
|
||||
vt 0.5625 0.75
|
||||
vt 0.5625 0.5
|
||||
vt 0.4375 0.5
|
||||
vt 0.4375 0.5
|
||||
vt 0.5625 0.5
|
||||
vt 0.5625 0.25
|
||||
vt 0.4375 0.25
|
||||
vn 0 0 -1
|
||||
vn 1 0 0
|
||||
vn 0 0 1
|
||||
vn -1 0 0
|
||||
vn 0 1 0
|
||||
vn 0 -1 0
|
||||
usemtl m_0
|
||||
f 12/28/7 15/27/7 13/26/7 10/25/7
|
||||
f 11/32/8 12/31/8 10/30/8 9/29/8
|
||||
f 16/36/9 11/35/9 9/34/9 14/33/9
|
||||
f 15/40/10 16/39/10 14/38/10 13/37/10
|
||||
usemtl m_1
|
||||
f 14/44/11 9/43/11 10/42/11 13/41/11
|
||||
f 15/48/12 12/47/12 11/46/12 16/45/12
|
||||
o cube
|
||||
v -0.046875 0.5 0.046875
|
||||
v -0.046875 0.5 -0.046875
|
||||
v -0.046875 -0.5 0.046875
|
||||
v -0.046875 -0.5 -0.046875
|
||||
v -0.09375 0.5 -0.046875
|
||||
v -0.09375 0.5 0.046875
|
||||
v -0.09375 -0.5 -0.046875
|
||||
v -0.09375 -0.5 0.046875
|
||||
vt 0.0625 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0
|
||||
vt 0.0625 0
|
||||
vt 0.25 1
|
||||
vt 0.375 1
|
||||
vt 0.375 0
|
||||
vt 0.25 0
|
||||
vt 0.875 1
|
||||
vt 0.9375 1
|
||||
vt 0.9375 0
|
||||
vt 0.875 0
|
||||
vt 0.625 1
|
||||
vt 0.75 1
|
||||
vt 0.75 0
|
||||
vt 0.625 0
|
||||
vt 0.5625 0.6875
|
||||
vt 0.625 0.6875
|
||||
vt 0.625 0.5625
|
||||
vt 0.5625 0.5625
|
||||
vt 0.5625 0.4375
|
||||
vt 0.625 0.4375
|
||||
vt 0.625 0.3125
|
||||
vt 0.5625 0.3125
|
||||
vn 0 0 -1
|
||||
vn 1 0 0
|
||||
vn 0 0 1
|
||||
vn -1 0 0
|
||||
vn 0 1 0
|
||||
vn 0 -1 0
|
||||
usemtl m_0
|
||||
f 20/52/13 23/51/13 21/50/13 18/49/13
|
||||
f 19/56/14 20/55/14 18/54/14 17/53/14
|
||||
f 24/60/15 19/59/15 17/58/15 22/57/15
|
||||
f 23/64/16 24/63/16 22/62/16 21/61/16
|
||||
usemtl m_1
|
||||
f 22/68/17 17/67/17 18/66/17 21/65/17
|
||||
f 23/72/18 20/71/18 19/70/18 24/69/18
|
||||
o cube
|
||||
v -0.046875 1.5 0.046875
|
||||
v -0.046875 1.5 -0.046875
|
||||
v -0.046875 0.5 0.046875
|
||||
v -0.046875 0.5 -0.046875
|
||||
v -0.09375 1.5 -0.046875
|
||||
v -0.09375 1.5 0.046875
|
||||
v -0.09375 0.5 -0.046875
|
||||
v -0.09375 0.5 0.046875
|
||||
vt 0.0625 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0
|
||||
vt 0.0625 0
|
||||
vt 0.25 1
|
||||
vt 0.375 1
|
||||
vt 0.375 0
|
||||
vt 0.25 0
|
||||
vt 0.875 1
|
||||
vt 0.9375 1
|
||||
vt 0.9375 0
|
||||
vt 0.875 0
|
||||
vt 0.625 1
|
||||
vt 0.75 1
|
||||
vt 0.75 0
|
||||
vt 0.625 0
|
||||
vt 0.5625 0.6875
|
||||
vt 0.625 0.6875
|
||||
vt 0.625 0.5625
|
||||
vt 0.5625 0.5625
|
||||
vt 0.5625 0.4375
|
||||
vt 0.625 0.4375
|
||||
vt 0.625 0.3125
|
||||
vt 0.5625 0.3125
|
||||
vn 0 0 -1
|
||||
vn 1 0 0
|
||||
vn 0 0 1
|
||||
vn -1 0 0
|
||||
vn 0 1 0
|
||||
vn 0 -1 0
|
||||
usemtl m_0
|
||||
f 28/76/19 31/75/19 29/74/19 26/73/19
|
||||
f 27/80/20 28/79/20 26/78/20 25/77/20
|
||||
f 32/84/21 27/83/21 25/82/21 30/81/21
|
||||
f 31/88/22 32/87/22 30/86/22 29/85/22
|
||||
usemtl m_1
|
||||
f 30/92/23 25/91/23 26/90/23 29/89/23
|
||||
f 31/96/24 28/95/24 27/94/24 32/93/24
|
||||
o cube
|
||||
v 0.09375 1.5 0.046875
|
||||
v 0.09375 1.5 -0.046875
|
||||
v 0.09375 0.5 0.046875
|
||||
v 0.09375 0.5 -0.046875
|
||||
v 0.046875 1.5 -0.046875
|
||||
v 0.046875 1.5 0.046875
|
||||
v 0.046875 0.5 -0.046875
|
||||
v 0.046875 0.5 0.046875
|
||||
vt 0.0625 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0
|
||||
vt 0.0625 0
|
||||
vt 0.25 1
|
||||
vt 0.375 1
|
||||
vt 0.375 0
|
||||
vt 0.25 0
|
||||
vt 0.875 1
|
||||
vt 0.9375 1
|
||||
vt 0.9375 0
|
||||
vt 0.875 0
|
||||
vt 0.625 1
|
||||
vt 0.75 1
|
||||
vt 0.75 0
|
||||
vt 0.625 0
|
||||
vt 0.375 0.6875
|
||||
vt 0.4375 0.6875
|
||||
vt 0.4375 0.5625
|
||||
vt 0.375 0.5625
|
||||
vt 0.375 0.4375
|
||||
vt 0.4375 0.4375
|
||||
vt 0.4375 0.3125
|
||||
vt 0.375 0.3125
|
||||
vn 0 0 -1
|
||||
vn 1 0 0
|
||||
vn 0 0 1
|
||||
vn -1 0 0
|
||||
vn 0 1 0
|
||||
vn 0 -1 0
|
||||
usemtl m_0
|
||||
f 36/100/25 39/99/25 37/98/25 34/97/25
|
||||
f 35/104/26 36/103/26 34/102/26 33/101/26
|
||||
f 40/108/27 35/107/27 33/106/27 38/105/27
|
||||
f 39/112/28 40/111/28 38/110/28 37/109/28
|
||||
usemtl m_1
|
||||
f 38/116/29 33/115/29 34/114/29 37/113/29
|
||||
f 39/120/30 36/119/30 35/118/30 40/117/30
|
||||
o cube
|
||||
v 0.046875 1.5 0.09375
|
||||
v 0.046875 1.5 -0.09375
|
||||
v 0.046875 0.5 0.09375
|
||||
v 0.046875 0.5 -0.09375
|
||||
v -0.046875 1.5 -0.09375
|
||||
v -0.046875 1.5 0.09375
|
||||
v -0.046875 0.5 -0.09375
|
||||
v -0.046875 0.5 0.09375
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0
|
||||
vt 0 0
|
||||
vt 0.5625 1
|
||||
vt 0.625 1
|
||||
vt 0.625 0
|
||||
vt 0.5625 0
|
||||
vt 0.875 1
|
||||
vt 1 1
|
||||
vt 1 0
|
||||
vt 0.875 0
|
||||
vt 0.375 1
|
||||
vt 0.4375 1
|
||||
vt 0.4375 0
|
||||
vt 0.375 0
|
||||
vt 0.4375 0.75
|
||||
vt 0.5625 0.75
|
||||
vt 0.5625 0.5
|
||||
vt 0.4375 0.5
|
||||
vt 0.4375 0.5
|
||||
vt 0.5625 0.5
|
||||
vt 0.5625 0.25
|
||||
vt 0.4375 0.25
|
||||
vn 0 0 -1
|
||||
vn 1 0 0
|
||||
vn 0 0 1
|
||||
vn -1 0 0
|
||||
vn 0 1 0
|
||||
vn 0 -1 0
|
||||
usemtl m_0
|
||||
f 44/124/31 47/123/31 45/122/31 42/121/31
|
||||
f 43/128/32 44/127/32 42/126/32 41/125/32
|
||||
f 48/132/33 43/131/33 41/130/33 46/129/33
|
||||
f 47/136/34 48/135/34 46/134/34 45/133/34
|
||||
usemtl m_1
|
||||
f 46/140/35 41/139/35 42/138/35 45/137/35
|
||||
f 47/144/36 44/143/36 43/142/36 48/141/36
|
||||
o cube
|
||||
v 0.109375 1.625 0.109375
|
||||
v 0.109375 1.625 -0.109375
|
||||
v 0.109375 1.5 0.109375
|
||||
v 0.109375 1.5 -0.109375
|
||||
v -0.109375 1.625 -0.109375
|
||||
v -0.109375 1.625 0.109375
|
||||
v -0.109375 1.5 -0.109375
|
||||
v -0.109375 1.5 0.109375
|
||||
vt 0 0.125
|
||||
vt 0.25 0.125
|
||||
vt 0.25 0
|
||||
vt 0 0
|
||||
vt 0.5 0.125
|
||||
vt 0.75 0.125
|
||||
vt 0.75 0
|
||||
vt 0.5 0
|
||||
vt 0.75 0.125
|
||||
vt 1 0.125
|
||||
vt 1 0
|
||||
vt 0.75 0
|
||||
vt 0.25 0.125
|
||||
vt 0.5 0.125
|
||||
vt 0.5 0
|
||||
vt 0.25 0
|
||||
vt 0.3125 0.75
|
||||
vt 0.5625 0.75
|
||||
vt 0.5625 0.5
|
||||
vt 0.3125 0.5
|
||||
vt 0.4375 0.5
|
||||
vt 0.6875 0.5
|
||||
vt 0.6875 0.25
|
||||
vt 0.4375 0.25
|
||||
vn 0 0 -1
|
||||
vn 1 0 0
|
||||
vn 0 0 1
|
||||
vn -1 0 0
|
||||
vn 0 1 0
|
||||
vn 0 -1 0
|
||||
usemtl m_0
|
||||
f 52/148/37 55/147/37 53/146/37 50/145/37
|
||||
f 51/152/38 52/151/38 50/150/38 49/149/38
|
||||
f 56/156/39 51/155/39 49/154/39 54/153/39
|
||||
f 55/160/40 56/159/40 54/158/40 53/157/40
|
||||
usemtl m_1
|
||||
f 54/164/41 49/163/41 50/162/41 53/161/41
|
||||
f 55/168/42 52/167/42 51/166/42 56/165/42
|
||||
o cube
|
||||
v 0.078125 1.6875 0.078125
|
||||
v 0.078125 1.6875 -0.078125
|
||||
v 0.078125 1.625 0.078125
|
||||
v 0.078125 1.625 -0.078125
|
||||
v -0.078125 1.6875 -0.078125
|
||||
v -0.078125 1.6875 0.078125
|
||||
v -0.078125 1.625 -0.078125
|
||||
v -0.078125 1.625 0.078125
|
||||
vt 0 0.0625
|
||||
vt 0.1875 0.0625
|
||||
vt 0.1875 0
|
||||
vt 0 0
|
||||
vt 0.5625 0.0625
|
||||
vt 0.75 0.0625
|
||||
vt 0.75 0
|
||||
vt 0.5625 0
|
||||
vt 0.8125 0.0625
|
||||
vt 1 0.0625
|
||||
vt 1 0
|
||||
vt 0.8125 0
|
||||
vt 0.25 0.0625
|
||||
vt 0.4375 0.0625
|
||||
vt 0.4375 0
|
||||
vt 0.25 0
|
||||
vt 0.375 0.75
|
||||
vt 0.5625 0.75
|
||||
vt 0.5625 0.5625
|
||||
vt 0.375 0.5625
|
||||
vt 0.4375 0.4375
|
||||
vt 0.625 0.4375
|
||||
vt 0.625 0.25
|
||||
vt 0.4375 0.25
|
||||
vn 0 0 -1
|
||||
vn 1 0 0
|
||||
vn 0 0 1
|
||||
vn -1 0 0
|
||||
vn 0 1 0
|
||||
vn 0 -1 0
|
||||
usemtl m_0
|
||||
f 60/172/43 63/171/43 61/170/43 58/169/43
|
||||
f 59/176/44 60/175/44 58/174/44 57/173/44
|
||||
f 64/180/45 59/179/45 57/178/45 62/177/45
|
||||
f 63/184/46 64/183/46 62/182/46 61/181/46
|
||||
usemtl m_1
|
||||
f 62/188/47 57/187/47 58/186/47 61/185/47
|
||||
f 63/192/48 60/191/48 59/190/48 64/189/48
|
BIN
models/wavingflag.b3d
Normal file
BIN
sounds/flagwave1.ogg
Normal file
BIN
sounds/flagwave2.ogg
Normal file
BIN
sounds/flagwave3.ogg
Normal file
BIN
textures/default_baremetal.png
Normal file
After Width: | Height: | Size: 452 B |
BIN
textures/prideflag_asexual.png
Normal file
After Width: | Height: | Size: 210 B |
BIN
textures/prideflag_bisexual.png
Normal file
After Width: | Height: | Size: 219 B |
BIN
textures/prideflag_gendercreative.png
Normal file
After Width: | Height: | Size: 208 B |
BIN
textures/prideflag_genderfluid.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
textures/prideflag_genderqueer.png
Normal file
After Width: | Height: | Size: 207 B |
BIN
textures/prideflag_lesbian.png
Normal file
After Width: | Height: | Size: 492 B |
BIN
textures/prideflag_nonbinary.png
Normal file
After Width: | Height: | Size: 725 B |
BIN
textures/prideflag_pansexual.png
Normal file
After Width: | Height: | Size: 201 B |
BIN
textures/prideflag_polysexual.png
Normal file
After Width: | Height: | Size: 709 B |
BIN
textures/prideflag_rainbow.png
Normal file
After Width: | Height: | Size: 228 B |
BIN
textures/prideflag_transgender.png
Normal file
After Width: | Height: | Size: 205 B |