skybox template, bug fixed :D now units and troops are handled differently!
This commit is contained in:
parent
e6756ccda7
commit
e1384e7729
File diff suppressed because one or more lines are too long
|
@ -1,2 +0,0 @@
|
||||||
# Made in Blockbench 3.7.4
|
|
||||||
newmtl none
|
|
|
@ -1,50 +1,50 @@
|
||||||
# Made in Blockbench 3.7.4
|
# Made in Blockbench 3.7.4
|
||||||
mtllib box.mtl
|
mtllib box.mtl
|
||||||
o cube
|
o cube
|
||||||
v 0.0625 0.0625 0.0625
|
v 0.5 1 0.5
|
||||||
v 0.0625 0.0625 0
|
v 0.5 1 -0.5
|
||||||
v 0.0625 0 0.0625
|
v 0.5 0 0.5
|
||||||
v 0.0625 0 0
|
v 0.5 0 -0.5
|
||||||
v 0 0.0625 0
|
v -0.5 1 -0.5
|
||||||
v 0 0.0625 0.0625
|
v -0.5 1 0.5
|
||||||
v 0 0 0
|
v -0.5 0 -0.5
|
||||||
v 0 0 0.0625
|
v -0.5 0 0.5
|
||||||
vt 0 1
|
vt 0.5 0.6666666666666667
|
||||||
vt 0 0.9375
|
vt 0.5 0.33333333333333337
|
||||||
vt 0.0625 1
|
vt 0.75 0.6666666666666667
|
||||||
vt 0 0.9375
|
vt 0.5 0.33333333333333337
|
||||||
vt 0.0625 0.9375
|
vt 0.75 0.33333333333333337
|
||||||
vt 0.0625 1
|
vt 0.75 0.6666666666666667
|
||||||
vt 0 1
|
vt 0 0.6666666666666667
|
||||||
vt 0 0.9375
|
vt 0 0.33333333333333337
|
||||||
vt 0.0625 1
|
vt 0.25 0.6666666666666667
|
||||||
vt 0 0.9375
|
vt 0 0.33333333333333337
|
||||||
vt 0.0625 0.9375
|
vt 0.25 0.33333333333333337
|
||||||
vt 0.0625 1
|
vt 0.25 0.6666666666666667
|
||||||
vt 0 1
|
vt 0.25 1
|
||||||
vt 0 0.9375
|
vt 0.25 0.6666666666666667
|
||||||
vt 0.0625 1
|
vt 0.5 1
|
||||||
vt 0 0.9375
|
vt 0.25 0.6666666666666667
|
||||||
vt 0.0625 0.9375
|
vt 0.5 0.6666666666666667
|
||||||
vt 0.0625 1
|
vt 0.5 1
|
||||||
vt 0 1
|
vt 0.25 0.33333333333333337
|
||||||
vt 0 0.9375
|
vt 0.25 0
|
||||||
vt 0.0625 1
|
vt 0.5 0.33333333333333337
|
||||||
vt 0 0.9375
|
vt 0.25 0
|
||||||
vt 0.0625 0.9375
|
vt 0.5 0
|
||||||
vt 0.0625 1
|
vt 0.5 0.33333333333333337
|
||||||
vt 0 1
|
vt 0.25 0.6666666666666667
|
||||||
vt 0 0.9375
|
vt 0.25 0.33333333333333337
|
||||||
vt 0.0625 1
|
vt 0.5 0.6666666666666667
|
||||||
vt 0 0.9375
|
vt 0.25 0.33333333333333337
|
||||||
vt 0.0625 0.9375
|
vt 0.5 0.33333333333333337
|
||||||
vt 0.0625 1
|
vt 0.5 0.6666666666666667
|
||||||
vt 0 1
|
vt 0.75 0.6666666666666667
|
||||||
vt 0 0.9375
|
vt 0.75 0.33333333333333337
|
||||||
vt 0.0625 1
|
vt 1 0.6666666666666667
|
||||||
vt 0 0.9375
|
vt 0.75 0.33333333333333337
|
||||||
vt 0.0625 0.9375
|
vt 1 0.33333333333333337
|
||||||
vt 0.0625 1
|
vt 1 0.6666666666666667
|
||||||
vn 1 0 0
|
vn 1 0 0
|
||||||
vn 1 0 0
|
vn 1 0 0
|
||||||
vn 1 0 0
|
vn 1 0 0
|
||||||
|
@ -81,21 +81,21 @@ vn 0 0 -1
|
||||||
vn 0 0 -1
|
vn 0 0 -1
|
||||||
vn 0 0 -1
|
vn 0 0 -1
|
||||||
vn 0 0 -1
|
vn 0 0 -1
|
||||||
usemtl none
|
usemtl m_0
|
||||||
f 1/1/1 3/2/2 2/3/3
|
f 1/1/1 3/2/2 2/3/3
|
||||||
f 3/4/4 4/5/5 2/6/6
|
f 3/4/4 4/5/5 2/6/6
|
||||||
usemtl none
|
usemtl m_0
|
||||||
f 5/7/7 7/8/8 6/9/9
|
f 5/7/7 7/8/8 6/9/9
|
||||||
f 7/10/10 8/11/11 6/12/12
|
f 7/10/10 8/11/11 6/12/12
|
||||||
usemtl none
|
usemtl m_0
|
||||||
f 5/13/13 6/14/14 2/15/15
|
f 5/13/13 6/14/14 2/15/15
|
||||||
f 6/16/16 1/17/17 2/18/18
|
f 6/16/16 1/17/17 2/18/18
|
||||||
usemtl none
|
usemtl m_0
|
||||||
f 8/19/19 7/20/20 3/21/21
|
f 8/19/19 7/20/20 3/21/21
|
||||||
f 7/22/22 4/23/23 3/24/24
|
f 7/22/22 4/23/23 3/24/24
|
||||||
usemtl none
|
usemtl m_0
|
||||||
f 6/25/25 8/26/26 1/27/27
|
f 6/25/25 8/26/26 1/27/27
|
||||||
f 8/28/28 3/29/29 1/30/30
|
f 8/28/28 3/29/29 1/30/30
|
||||||
usemtl none
|
usemtl m_0
|
||||||
f 2/31/31 4/32/32 5/33/33
|
f 2/31/31 4/32/32 5/33/33
|
||||||
f 4/34/34 7/35/35 5/36/36
|
f 4/34/34 7/35/35 5/36/36
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
# Made in Blockbench 3.7.4
|
|
||||||
newmtl m_0
|
|
||||||
map_Kd tile.png
|
|
||||||
newmtl none
|
|
|
@ -1,4 +0,0 @@
|
||||||
# Made in Blockbench 3.7.4
|
|
||||||
newmtl m_0
|
|
||||||
map_Kd sive32.png
|
|
||||||
newmtl none
|
|
Binary file not shown.
Before Width: | Height: | Size: 918 B |
Binary file not shown.
Before Width: | Height: | Size: 403 B |
|
@ -1,4 +0,0 @@
|
||||||
# Made in Blockbench 3.7.4
|
|
||||||
newmtl m_0
|
|
||||||
map_Kd sive32.png
|
|
||||||
newmtl none
|
|
Binary file not shown.
Before Width: | Height: | Size: 130 B After Width: | Height: | Size: 410 KiB |
52
main.lua
52
main.lua
|
@ -70,8 +70,10 @@ function love.update(dt)
|
||||||
-- do camera
|
-- do camera
|
||||||
if not game_pause then
|
if not game_pause then
|
||||||
g3d.camera.strategyViewMovement(dt,speed,is_scrolling)
|
g3d.camera.strategyViewMovement(dt,speed,is_scrolling)
|
||||||
local pos = {g3d.camera.position[1]-5000/16,g3d.camera.position[2]-5000/16,g3d.camera.position[3]-5000/16}
|
|
||||||
skybox:setTransform(pos)
|
local center = -500
|
||||||
|
local pos = {g3d.camera.position[1],g3d.camera.position[2]+center,g3d.camera.position[3]}
|
||||||
|
current_level.skybox:setTransform(pos)
|
||||||
-- movement: w,a,s,d,
|
-- movement: w,a,s,d,
|
||||||
-- rotate: q,e
|
-- rotate: q,e
|
||||||
-- move by screen: 20 px: sides, forward, backwards
|
-- move by screen: 20 px: sides, forward, backwards
|
||||||
|
@ -127,13 +129,15 @@ function love.keypressed(key)
|
||||||
has_troops_selected = true
|
has_troops_selected = true
|
||||||
end
|
end
|
||||||
|
|
||||||
for _, u in pairs(current_level.units) do for _, entity in pairs(u.troops) do
|
for _, u in pairs(current_level.units) do for _, entity in pairs(current_level.entities) do
|
||||||
if has_troops_selected then
|
if entity.unit ~= nil and entity.unit == u.id then
|
||||||
entity.is_selected = false
|
if has_troops_selected then
|
||||||
entity.selected_model = nil
|
entity.is_selected = false
|
||||||
else
|
entity.selected_model = nil
|
||||||
entity.is_selected = true
|
else
|
||||||
entity.selected_model = g3d.newModel("assets/objects/horizontal_plane.obj",img.effects.is_selected,{entity.pos[1],entity.pos[2]+0.5,entity.pos[3]},{0,0,0},{16,16,16})
|
entity.is_selected = true
|
||||||
|
entity.selected_model = g3d.newModel("assets/objects/horizontal_plane.obj",img.effects.is_selected,{entity.pos[1],entity.pos[2]+0.5,entity.pos[3]},{0,0,0},{16,16,16})
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end end
|
end end
|
||||||
end
|
end
|
||||||
|
@ -149,17 +153,17 @@ function love.draw()
|
||||||
game_height = love.graphics.getHeight()
|
game_height = love.graphics.getHeight()
|
||||||
|
|
||||||
-- LAYER 1: THE WORLD
|
-- LAYER 1: THE WORLD
|
||||||
draw_entity(skybox)
|
draw_entity(current_level.skybox)
|
||||||
|
|
||||||
-- draw every model in entities
|
-- draw every model in entities
|
||||||
local ent_count = 0
|
local ent_count = 0
|
||||||
for _, entity in pairs(current_level.entities) do
|
for _, entity in pairs(current_level.entities) do
|
||||||
draw_entity(entity)
|
if entity.unit == nil then draw_entity(entity) end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- draw every unit's troops
|
-- draw every unit's troops
|
||||||
for _, u in pairs(current_level.units) do for _, entity in pairs(u.troops) do
|
for _, u in pairs(current_level.units) do for _, entity in pairs(current_level.entities) do
|
||||||
draw_entity(entity)
|
if entity.unit ~= nil and entity.unit == u.id then draw_entity(entity) end
|
||||||
end end
|
end end
|
||||||
|
|
||||||
-- LAYER 2: THE USER INTERFACE
|
-- LAYER 2: THE USER INTERFACE
|
||||||
|
@ -188,17 +192,19 @@ function draw_debug()
|
||||||
|
|
||||||
-- draw selected entities data (scrolleable?!)
|
-- draw selected entities data (scrolleable?!)
|
||||||
uc = 0
|
uc = 0
|
||||||
for _, u in pairs(current_level.units) do for _, entity in pairs(u.troops) do
|
for _, u in pairs(current_level.units) do for _, entity in pairs(current_level.entities) do
|
||||||
uc = uc + 1
|
if entity.unit ~= nil and entity.unit == u.id then
|
||||||
if entity.model ~= nil then
|
uc = uc + 1
|
||||||
if entity.is_animated and entity.is_selected == true then
|
if entity.model ~= nil then
|
||||||
love.graphics.setColor(0,0,0,0.3)
|
if entity.is_animated and entity.is_selected == true then
|
||||||
love.graphics.rectangle("fill",15,-85+80*uc+scroll,game_width-30,70)
|
love.graphics.setColor(0,0,0,0.3)
|
||||||
|
love.graphics.rectangle("fill",15,-85+80*uc+scroll,game_width-30,70)
|
||||||
|
|
||||||
love.graphics.setColor(1,1,1)
|
love.graphics.setColor(1,1,1)
|
||||||
love.graphics.print("["..u.name..", model: "..entity.name.." (id: "..entity.num..")] (level id: "..entity.tnum..")",20,-80+80*uc+scroll)
|
love.graphics.print("["..u.name..", model: "..entity.name.." (id: "..entity.num..")] (level id: "..entity.tnum..")",20,-80+80*uc+scroll)
|
||||||
love.graphics.print("frame: "..entity.anim_frame.."/"..entity.anim_frames..", rm: \""..entity.rotate_mode.."\"",40,-60+80*uc+scroll)
|
love.graphics.print("frame: "..entity.anim_frame.."/"..entity.anim_frames..", rm: \""..entity.rotate_mode.."\"",40,-60+80*uc+scroll)
|
||||||
love.graphics.print("animation: "..entity.anim_path,40,-40+80*uc+scroll)
|
love.graphics.print("animation: "..entity.anim_path,40,-40+80*uc+scroll)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end end
|
end end
|
||||||
|
|
|
@ -1,18 +1,16 @@
|
||||||
levels = {}
|
levels = {}
|
||||||
|
|
||||||
levels.main_menu = {
|
levels.main_menu = {
|
||||||
skybox = nil,
|
skybox = g3d.newModel("assets/objects/box.obj","assets/textures/misc/skybox.png", {0,0,0}, {0,0,0}, { 1000, 1000, 1000}),
|
||||||
entities = {},
|
entities = {},
|
||||||
units = {}
|
units = {}
|
||||||
}
|
}
|
||||||
total_model_count = 0
|
total_model_count = 0
|
||||||
|
unit_count = 0
|
||||||
|
|
||||||
skybox = levels.main_menu.skybox
|
|
||||||
local entities = levels.main_menu.entities
|
local entities = levels.main_menu.entities
|
||||||
local units = levels.main_menu.units
|
local units = levels.main_menu.units
|
||||||
|
|
||||||
-- skybox
|
|
||||||
skybox = g3d.newModel("assets/objects/box.obj","assets/textures/misc/skybox.png", {0,0,0}, {0,0,0}, { 10000, 10000, 10000})
|
|
||||||
|
|
||||||
|
|
||||||
-- grass ground
|
-- grass ground
|
||||||
|
@ -32,6 +30,8 @@ math.randomseed(3)
|
||||||
-- bunch of implings (40)
|
-- bunch of implings (40)
|
||||||
|
|
||||||
local nu = Unit:newUnit("Succubi Army",player.id,portrait._ariel,statTable.implings)
|
local nu = Unit:newUnit("Succubi Army",player.id,portrait._ariel,statTable.implings)
|
||||||
|
unit_count = unit_count + 1
|
||||||
|
nu.id = unit_count
|
||||||
|
|
||||||
local xx, yy, zz = 3, 0, 0
|
local xx, yy, zz = 3, 0, 0
|
||||||
local model_count = 0
|
local model_count = 0
|
||||||
|
@ -43,10 +43,11 @@ for i = 1, 8, 1 do for j = 1, 5, 1 do
|
||||||
local imp = Object:new2DAnimated("ariel",portrait._ariel,xx+0.5*(i+1),yy+0,zz+0.5*(j+1),16,16)
|
local imp = Object:new2DAnimated("ariel",portrait._ariel,xx+0.5*(i+1),yy+0,zz+0.5*(j+1),16,16)
|
||||||
imp.num = model_count
|
imp.num = model_count
|
||||||
imp.tnum = total_model_count
|
imp.tnum = total_model_count
|
||||||
|
imp.unit = unit_count
|
||||||
load_animation(imp,animation._ariel.idle,4,8)
|
load_animation(imp,animation._ariel.idle,4,8)
|
||||||
|
|
||||||
-- add to unit
|
-- add to unit
|
||||||
addToUnit(nu,imp)
|
table.insert(entities,imp)
|
||||||
end end
|
end end
|
||||||
table.insert(units,nu)
|
table.insert(units,nu)
|
||||||
|
|
||||||
|
@ -92,14 +93,19 @@ table.insert(units,nu)]]
|
||||||
|
|
||||||
-- create class
|
-- create class
|
||||||
local nu = Unit:newUnit("Hero Azifer",player.id,portrait._yari,statTable.implings)
|
local nu = Unit:newUnit("Hero Azifer",player.id,portrait._yari,statTable.implings)
|
||||||
|
unit_count = unit_count + 1
|
||||||
|
nu.id = unit_count
|
||||||
|
|
||||||
local xx, yy, zz = 0, 0, 3
|
local xx, yy, zz = 0, 0, 3
|
||||||
-- create and define
|
-- create and define
|
||||||
|
total_model_count = total_model_count + 1
|
||||||
local azifer = Object:new2DAnimated("Azifer",portrait._yari,xx,yy,zz,16,16)
|
local azifer = Object:new2DAnimated("Azifer",portrait._yari,xx,yy,zz,16,16)
|
||||||
azifer.num = 1
|
azifer.num = 1
|
||||||
total_model_count = total_model_count + 1
|
|
||||||
azifer.tnum = total_model_count
|
azifer.tnum = total_model_count
|
||||||
|
azifer.unit = unit_count
|
||||||
|
|
||||||
load_animation(azifer,animation._yari.idle,4,8)
|
load_animation(azifer,animation._yari.idle,4,8)
|
||||||
addToUnit(nu,azifer)
|
|
||||||
|
table.insert(entities,azifer)
|
||||||
|
|
||||||
table.insert(units,nu)
|
table.insert(units,nu)
|
Loading…
Reference in New Issue