The basic stuff is there

Engine and sample code have been added
This commit is contained in:
Ryan Ward 2018-02-13 13:42:14 -05:00
parent 7a740aa62a
commit 1b8f63563f
145 changed files with 8057 additions and 5975 deletions

BIN
OpenAL32.dll Normal file

Binary file not shown.

BIN
SDL2.dll Normal file

Binary file not shown.

1084
changes.txt Normal file

File diff suppressed because it is too large Load Diff

BIN
game.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

View File

@ -42,7 +42,6 @@ function gui:newBase(tp,name, x, y, w, h, sx ,sy ,sw ,sh)
c:SetName(name) c:SetName(name)
c.BorderSize=1 c.BorderSize=1
c.BorderColor={0,0,0} c.BorderColor={0,0,0}
c.BorderVisibility=1
c.VIS=true c.VIS=true
c.Visible=true c.Visible=true
c.oV=true c.oV=true

View File

@ -71,7 +71,7 @@ function gui:drawC()
love.graphics.setStencilTest("notequal",0) love.graphics.setStencilTest("notequal",0)
end end
love.graphics.circle("fill",x,y,r,s) love.graphics.circle("fill",x,y,r,s)
love.graphics.setColor(self.BorderColor[1], self.BorderColor[2], self.BorderColor[3],self.BorderVisibility*254) love.graphics.setColor(self.BorderColor[1], self.BorderColor[2], self.BorderColor[3],self.Visibility*254)
for b=0,self.BorderSize-1 do for b=0,self.BorderSize-1 do
love.graphics.circle("line",x,y,r+b,s) love.graphics.circle("line",x,y,r+b,s)
end end

View File

@ -67,10 +67,10 @@ function gui:drawR()
_GuiPro.Clips[tostring(self)]=self _GuiPro.Clips[tostring(self)]=self
love.graphics.setScissor(self.x, self.y, self.width, self.height) love.graphics.setScissor(self.x, self.y, self.width, self.height)
end end
if self:hasRoundness() then if self:hasRoundness() then
love.graphics.stencil(self.stfunc, "replace", 1) love.graphics.stencil(self.stfunc, "replace", 1)
love.graphics.setStencilTest("greater", 0) love.graphics.setStencilTest("greater", 0)
end end
love.graphics.rectangle("fill", self.x, self.y, self.width, self.height,(self.rx or 1)*self.DPI,(self.ry or 1)*self.DPI,(self.segments or 1)*self.DPI) love.graphics.rectangle("fill", self.x, self.y, self.width, self.height,(self.rx or 1)*self.DPI,(self.ry or 1)*self.DPI,(self.segments or 1)*self.DPI)
if string.find(self.Type, "Image") then if string.find(self.Type, "Image") then
self:ImageRule() self:ImageRule()
@ -78,10 +78,10 @@ function gui:drawR()
if self.Type=="Video" then if self.Type=="Video" then
self:VideoRule() self:VideoRule()
end end
if self:hasRoundness() then if self:hasRoundness() then
love.graphics.setStencilTest() love.graphics.setStencilTest()
end end
love.graphics.setColor(self.BorderColor[1], self.BorderColor[2], self.BorderColor[3],self.BorderVisibility*254) love.graphics.setColor(self.BorderColor[1], self.BorderColor[2], self.BorderColor[3],self.Visibility*254)
for b=0,self.BorderSize-1 do for b=0,self.BorderSize-1 do
love.graphics.rectangle("line", self.x-(b/2), self.y-(b/2), self.width+b, self.height+b,(self.rx or 1)*self.DPI,(self.ry or 1)*self.DPI,(self.segments or 1)*self.DPI) love.graphics.rectangle("line", self.x-(b/2), self.y-(b/2), self.width+b, self.height+b,(self.rx or 1)*self.DPI,(self.ry or 1)*self.DPI,(self.segments or 1)*self.DPI)
end end

View File

@ -28,7 +28,7 @@ function gui:newTextBox(t,name, x, y, w, h, sx ,sy ,sw ,sh)
c.mark=nil c.mark=nil
c.arrowkeys=false c.arrowkeys=false
c.funcF={function() c.funcF={function()
love.keyboard.setTextInput(true) love.keyboard.setTextInput(true,0,200,400,200)
end} end}
c.cooldown=false c.cooldown=false
c.cooldown2=false c.cooldown2=false

View File

@ -14,7 +14,7 @@ function gui:LoadInterface(file)
if love.filesystem.exists(file..add) then if love.filesystem.exists(file..add) then
a,b=pcall(love.filesystem.load(file..add)) a,b=pcall(love.filesystem.load(file..add))
if a then if a then
print("Loaded: "..file) --print("Loaded: "..file)
else else
print("Error loading file: "..file) print("Error loading file: "..file)
print(a,b) print(a,b)
@ -34,7 +34,6 @@ function gui.LoadAll(dir)
end end
-- Start Of Load -- Start Of Load
--gui.LoadAll("GuiManager/LibCore")
gui.LoadAll("GuiManager/Core") gui.LoadAll("GuiManager/Core")
gui.LoadAll("GuiManager/Image-Animation") gui.LoadAll("GuiManager/Image-Animation")
gui.LoadAll("GuiManager/Frame") gui.LoadAll("GuiManager/Frame")
@ -42,8 +41,7 @@ gui.LoadAll("GuiManager/Item")
gui.LoadAll("GuiManager/Misc") gui.LoadAll("GuiManager/Misc")
gui.LoadAll("GuiManager/Text") gui.LoadAll("GuiManager/Text")
gui.LoadAll("GuiManager/Drawing") gui.LoadAll("GuiManager/Drawing")
gui.LoadAll("GuiManager/Combos")
--gui.LoadAll("GuiManager/WIP")
multi.boost=2 multi.boost=2
-- End of Load -- End of Load

View File

@ -0,0 +1,5 @@
function gui:newColorPicker(x,y,w)
local c=self:newFrame("ColorPicker",x,y,w,w)
c.wheel=c:newImageLabel("Resources/wheel.png","Wheel",0,0,w,w)
return c
end

View File

@ -0,0 +1,40 @@
function gui:newConsole(x,y,w,h)
local c=self:newTextLabel("Console","Console",x,y,w,20,sx,sy,sw)
c.dragbut="l"
c.Draggable=true
c.Tween=-3
c.BG=c:newTextLabel("","",0,20,0,h,0,0,1,1)
c.BG.ClipDescendants=true
c.output=c.BG:newTextLabel("","",0,0,0,0,0,0,1,1)
c.output.Visibility=0
c.scroll=c.BG:newScrollBar()
c.scroll.output=c.output
c.output.Tween=-3
c.output.TextColor=Color.sexy_purple
c.input=c:newTextBox("> ","> ",0,h+20,-20,20,0,0,1)
c.input.Tween=-3
c.input.TextFormat="left"
c.output.TextFormat="left"
c.output.count=0
c:ApplyGradient({Color.Red,Color.Darken(Color.Red,.25)})
c.BG:ApplyGradient({Color.Black,Color.Lighten(Color.Black,.15)})
c.input:ApplyGradient({Color.Gray,Color.Darken(Color.Gray,.25)})
c.scroll:OnScroll(function(self,pos)
self.output:SetDualDim(0,0,0,0,0,-((pos/(h*8))*self.output.count))
end)
c.input:OnEnter(function(self,text)
self.Parent.output.text=self.Parent.output.text..text.."\n"
self.text="> "
self.Parent.output.count=self.Parent.output.count+1
end)
c.input:OnFocus(function(self)
self.text="> "
end)
function c:showConsole()
self.Parent.Visible=true
end
function c:hideConsole()
self.Parent.Visible=false
end
return c
end

81
game/Interface/header.int Normal file
View File

@ -0,0 +1,81 @@
function gui:newHeader()
local header=self:newFrame(0,0,0,20,0,0,1)
header:ApplyGradient({Color.white,Color.light_blue,Color.blue,trans=200})
header.last={x=0,width=0}
function header:newTab(name)
local font=love.graphics.getFont()
local tab=self:newTextButton(name,self.last.x+self.last.width,0,font:getWidth(name)+6,20)
self.last=tab
tab.Visibility=0
tab.Tween=-3
tab.XTween=-2
tab.Color=Color.white
tab.largest={x=0,width=0}
tab.Options=tab:newFrame("Options",0,20)
tab.Options.Visible=false
tab.Options.Color=Color.light_gray
tab:OnEnter(function(self)
self.Visibility=.5
end)
tab:OnExit(function(self)
self.Visibility=0
end)
tab:OnReleased(function(b,self)
if b=="l" then
self.Options.Visible=true
self:addDominance()
end
end)
tab.Options:OnExit(function(self)
self.Visible=false
self:removeDominance()
end)
function tab:newOption(name,func,HK)
local opt=self.Options:newTextButton(name,0,#self.Options:getChildren()*20,0,20,0,0,1)
if HK then
if type(HK)=="table" then
for i=1,#HK do
opt:addHotKey(HK[i]):OnHotKey(func)
name=name.."\t\t\t\t\t\t"
local temp=opt:newTextLabel(HK[i],-(font:getWidth(HK[i])+2),0,font:getWidth(HK[i])+2,20,1)
temp.Visibility=0
temp.Tween=-3
temp.XTween=-2
opt.text=name
end
else
opt:setHotKey(HK)
opt:OnHotKey(func)
name=name.."\t\t\t\t\t\t"
local temp=opt:newTextLabel(HK,-(font:getWidth(HK)+2),0,font:getWidth(HK)+2,20,1)
temp.Visibility=0
temp.Tween=-3
temp.XTween=-2
opt.text=name
end
end
opt.TextFormat="left"
opt.Visibility=0
opt.Color=Color.white
opt.Tween=-3
opt:OnEnter(function(self)
self.Visibility=.5
end)
opt:OnExit(function(self)
self.Visibility=0
end)
local font=love.graphics.getFont()
local c=self:getChildren()
if font:getWidth(name)+6>self.largest.width then
self.largest={width=font:getWidth(name)+6}
end
self.Options:SetDualDim(0,20,self.largest.width,#self.Options:getChildren()*20)
if func then
opt:OnReleased(func)
end
return opt
end
return tab
end
return header
end

20
game/Interface/player.int Normal file
View File

@ -0,0 +1,20 @@
function gui:newPlayer(source,x,y,w,h,sx,sy,sw,sh)
local c=self:newFrame("MediaPlayer",x,y,w,h,sx,sy,sw,sh)
c.visuals=c:newFrame(0,0,0,-20,0,0,1,1)
c.bar=c:newFrame(40,-20,-40,20,0,1,1)
c.bar:ApplyGradient{Color.blue,Color.Darken(Color.blue,.25)}
c.action=c:newTextButton("Play",0,-20,40,20,0,1)
c.action:ApplyGradient{Color.blue,Color.Darken(Color.blue,.25)}
c.action:OnReleased(function(b,self)
if self.text=="Play" then
self.Parent.Source:play()
self.text="Pause"
else
self.Parent.Source:pause()
self.text="Play"
end
end)
c.action.Tween=-3
c.VPush=multi:newStep(0,1,1,10)
c.Source=audio:new(source)
end

77
game/Interface/system.int Normal file
View File

@ -0,0 +1,77 @@
function gui:addTip(tip,n,padding)
local font=love.graphics.getFont()
self.t=gui:newTextLabel(tip,"Tooltip",0,0,font:getWidth(tip)+(padding or 4),14)
self.t:setNewFont(10)
self.t.Visible=false
self.t.Tween=1
self.t.Color=Color.tan
self.alarm=multi:newAlarm(0)
self.alarm:Pause()
self.alarm.parent=self
self.time=n or 2
self.padding=padding or 4
self.alarm:OnRing(function(alarm)
alarm.parent.t:SetDualDim(love.mouse.getX()-2,love.mouse.getY()-2)
alarm.parent.t.Visible=true
alarm.parent.t:addDominance()
end)
self:OnEnter(function(self)
self.Visibility=.5
self.alarm:Reset(self.time)
end)
self:OnExit(function(self)
self.alarm:Pause()
self.Visibility=0
end)
self.t:OnExit(function(self)
self.Visible=false
self:removeDominance()
end)
end
function gui:newWindow(name)
local win=self:newFrame(0,0,400,20)
win.Draggable=true
win.dragbut="r"
win:OnDragStart(function(self)
self:TopStack()
end)
if name then
local font=love.graphics.getFont()
win.title=win:newTextLabel(name,0,0,font:getWidth(name),20)
win.title.TextFormat="left"
win.title.Visibility=0
win.title.XTween=3
win.title.Tween=-3
end
win:ApplyGradient({Color.white,Color.light_blue,Color.blue,trans=200})
win.close=win:newImageButton("icons/cancel.png",-20,2,16,16,1)
win.close:OnEnter(function(self)
self.Parent:removeDominance()
self:addDominance()
end)
win.close:OnReleased(function(b,self)
self.Parent:Destroy()
self:removeDominance()
love.mouse.setCursor()
end)
win.close:OnExit(function(self)
self:removeDominance()
end)
win.holder=win:newFrame(0,0,0,280,0,1,1)
win:OnUpdate(function(self)
if self.y<40 then self:SetDualDim(nil,0) love.mouse.setY(50) end
end)
win:OnEnter(function(self)
self:addDominance()
end)
win:OnExit(function(self)
self:removeDominance()
end)
win.holder:OnEnter(function(self)
self:addDominance()
end)
win.holder:OnExit(function(self)
self:removeDominance()
end)
return win.holder,win
end

Some files were not shown because too many files have changed in this diff Show More