Skip to content
This repository was archived by the owner on Feb 28, 2023. It is now read-only.

Commit abcc101

Browse files
committed
Merge branch 'release/0375'
2 parents 520a6dd + e59279c commit abcc101

43 files changed

Lines changed: 190 additions & 869 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1+
2+
# Version 0375 - 2015/11/11
3+
4+
**Important**: With this version LoGiVi now ***requires*** LÖVE Version [0.10.0](https://love2d.org/wiki/0.10.0) to run and will no longer work with LÖVE 0.9.2! LÖVE 0.10.0 has not yet been officially released, but can be compiled from the source. For more information check out the [official LÖVE repository](https://bitbucket.org/rude/love/overview).
5+
6+
### Fixes
7+
- Fixed [#43](https://github.com/rm-code/logivi/issues/43) - Allow more printable characters as keys in config file
8+
- Fixed [#42](https://github.com/rm-code/logivi/issues/42) - Prevent crash with faulty info files
9+
- Fixed [#41](https://github.com/rm-code/logivi/issues/41) - Make sure paths lead to a valid git repository
10+
11+
### Other Changes
12+
- Updated LoGiVi to run on LÖVE 0.10.0
13+
114
# Version 0351 - 2015/08/01
215

316
### Additions
File renamed without changes.

README.md

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,19 @@
11
# LoGiVi
22

3-
LoGiVi is a git-repository visualisation tool inspired by [Gource](https://code.google.com/p/gource/) and __currently in development__. It was written from scratch using [Lua](http://www.lua.org/) and the [LÖVE](https://love2d.org/) framework.
3+
LoGiVi is a git-repository visualisation tool inspired by [Gource](http://gource.io/) and __currently in development__. It was written from scratch using [Lua](http://www.lua.org/) and the [LÖVE](https://love2d.org/) framework.
44

5-
![Example Visualization](https://github.com/rm-code/logivi/wiki/media/logivi_0312.gif)
5+
![Example Visualization](https://github.com/rm-code/logivi/wiki/media/logivi_0312.gif)
66

77
# Instructions
8-
When you run LoGiVi for the first time it will set up all necessary folders, an example git log and a config file in the save directory on your harddrive. A dialog will pop up which allows you to view the save directory.
8+
When you run LoGiVi for the first time it will set up all necessary folders, an example git log and a config file in the save directory on your harddrive.
9+
10+
The location of this save directory depends on the OS you are using:
11+
12+
- ***OSX*** ```/Users/user/Library/Application Support/LOVE/rmcode_LoGiVi```
13+
- ***WINDOWS*** ```C:\Users\user\AppData\Roaming\LOVE``` or ```%appdata%\LOVE\```
14+
- ***LINUX*** ```~/.local/share/love/```
15+
16+
A dialog will pop up which allows you to view the save directory on your computer.
917

1018
## Generating git logs automatically
1119
LoGiVi can generate git logs automatically when you specify a path to a git repository on your harddrive. Open the _settings.cfg_ file in the LoGiVi save directory and look for the _[repositories]_ section. Add the absolute path to the folder containing the git repository like this:
@@ -38,6 +46,9 @@ This will create the file _log.txt_ in the folder you are currently in. Take thi
3846
/Users/Robert/Library/Application Support/LOVE/rmcode_LoGiVi/logs/yourProject/log.txt
3947
```
4048
LoGiVi will use the folder's name to identify the log so make it informative.
49+
50+
# LÖVE Version
51+
Version 0351 and all prior versions of LoGiVi are written for Version 0.9.2 of the LÖVE framework. ___All future versions will be based on LÖVE 0.10.0 (currently unreleased).___
4152

4253
# License
4354

conf.lua

Lines changed: 3 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,10 @@
1-
--==================================================================================================
2-
-- Copyright (C) 2014 - 2015 by Robert Machmer =
3-
-- =
4-
-- Permission is hereby granted, free of charge, to any person obtaining a copy =
5-
-- of this software and associated documentation files (the "Software"), to deal =
6-
-- in the Software without restriction, including without limitation the rights =
7-
-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell =
8-
-- copies of the Software, and to permit persons to whom the Software is =
9-
-- furnished to do so, subject to the following conditions: =
10-
-- =
11-
-- The above copyright notice and this permission notice shall be included in =
12-
-- all copies or substantial portions of the Software. =
13-
-- =
14-
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR =
15-
-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, =
16-
-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE =
17-
-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER =
18-
-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, =
19-
-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN =
20-
-- THE SOFTWARE. =
21-
--==================================================================================================
22-
231
local PROJECT_TITLE = "LoGiVi";
242

25-
local PROJECT_VERSION = "0351";
3+
local PROJECT_VERSION = "0375";
264

275
local PROJECT_IDENTITY = "rmcode_LoGiVi";
286

29-
local LOVE_VERSION = "0.9.2";
7+
local LOVE_VERSION = "0.10.0";
308

319
---
3210
-- Initialise löve's config file.
@@ -46,7 +24,7 @@ function love.conf(t)
4624
t.window.minwidth = 800;
4725
t.window.minheight = 600;
4826
t.window.fullscreen = false;
49-
t.window.fullscreentype = "normal";
27+
t.window.fullscreentype = "exclusive";
5028
t.window.vsync = true;
5129
t.window.fsaa = 0;
5230
t.window.display = 1;

lib/screenmanager/Screen.lua

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@ function Screen.new()
4545

4646
function self:focus(dfocus) end
4747

48+
function self:directorydropped(path) end
49+
50+
function self:filedropped(file) end
51+
4852
function self:resize(w, h) end
4953

5054
function self:visible(dvisible) end
@@ -53,6 +57,8 @@ function Screen.new()
5357

5458
function self:keyreleased(key) end
5559

60+
function self:lowmemory() end
61+
5662
function self:textinput(input) end
5763

5864
function self:mousereleased(x, y, button) end
@@ -65,6 +71,14 @@ function Screen.new()
6571

6672
function self:quit(dquit) end
6773

74+
function self:touchmoved(id, x, y, pressure) end
75+
76+
function self:touchpressed(id, x, y, pressure) end
77+
78+
function self:touchreleased(id, x, y, pressure) end
79+
80+
function self:wheelmoved(x, y) end
81+
6882
function self:isActive()
6983
return active;
7084
end
@@ -84,4 +98,4 @@ return Screen;
8498

8599
--==================================================================================================
86100
-- Created 02.06.14 - 20:25 =
87-
--==================================================================================================
101+
--==================================================================================================

lib/screenmanager/ScreenManager.lua

Lines changed: 66 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
--===============================================================================--
2222

2323
local ScreenManager = {
24-
_VERSION = '1.4.1',
24+
_VERSION = '1.6.0',
2525
_DESCRIPTION = 'Screen/State Management for the LÖVE framework',
2626
_URL = 'https://github.com/rm-code/screenmanager/',
2727
};
@@ -161,6 +161,22 @@ function ScreenManager.resize(w, h)
161161
end
162162
end
163163

164+
---
165+
-- Callback function triggered when a directory is dragged and dropped onto the window.
166+
-- @param file - The full platform-dependent path to the directory.
167+
--
168+
function ScreenManager.directorydropped(path)
169+
ScreenManager.peek():directorydropped(path);
170+
end
171+
172+
---
173+
-- Callback function triggered when a file is dragged and dropped onto the window.
174+
-- @param file - The unopened File object representing the file that was dropped.
175+
--
176+
function ScreenManager.filedropped(file)
177+
ScreenManager.peek():filedropped(file);
178+
end
179+
164180
---
165181
-- Update all screens on the stack whenever the game window gains or
166182
-- loses focus.
@@ -198,6 +214,13 @@ function ScreenManager.keyreleased(key)
198214
ScreenManager.peek():keyreleased(key);
199215
end
200216

217+
---
218+
-- Callback function triggered when the system is running out of memory on mobile devices.
219+
--
220+
function ScreenManager.lowmemory()
221+
ScreenManager.peek():lowmemory();
222+
end
223+
201224
---
202225
-- Reroute the textinput callback to the currently active screen.
203226
-- @param input
@@ -253,6 +276,47 @@ function ScreenManager.quit(dquit)
253276
ScreenManager.peek():quit(dquit);
254277
end
255278

279+
---
280+
-- Callback function triggered when a touch press moves inside the touch screen.
281+
-- @param id - The identifier for the touch press.
282+
-- @param x - The x-axis position of the touch press inside the window, in pixels.
283+
-- @param y - The y-axis position of the touch press inside the window, in pixels.
284+
-- @param pressure - The amount of pressure being applied. Most touch screens aren't pressure sensitive, in which case the pressure will be 1.
285+
--
286+
function ScreenManager.touchmoved(id, x, y, pressure)
287+
ScreenManager.peek():touchmoved(id, x, y, pressure);
288+
end
289+
290+
---
291+
-- Callback function triggered when the touch screen is touched.
292+
-- @param id - The identifier for the touch press.
293+
-- @param x - The x-axis position of the touch press inside the window, in pixels.
294+
-- @param y - The y-axis position of the touch press inside the window, in pixels.
295+
-- @param pressure - The amount of pressure being applied. Most touch screens aren't pressure sensitive, in which case the pressure will be 1.
296+
--
297+
function ScreenManager.touchpressed(id, x, y, pressure)
298+
ScreenManager.peek():touchpressed(id, x, y, pressure);
299+
end
300+
301+
---
302+
-- Callback function triggered when the touch screen stops being touched.
303+
-- @param id - The identifier for the touch press.
304+
-- @param x - The x-axis position of the touch press inside the window, in pixels.
305+
-- @param y - The y-axis position of the touch press inside the window, in pixels.
306+
-- @param pressure - The amount of pressure being applied. Most touch screens aren't pressure sensitive, in which case the pressure will be 1.
307+
--
308+
function ScreenManager.touchreleased(id, x, y, pressure)
309+
ScreenManager.peek():touchreleased(id, x, y, pressure);
310+
end
311+
312+
---
313+
-- Callback function triggered when the mouse wheel is moved.
314+
-- @param x - Amount of horizontal mouse wheel movement. Positive values indicate movement to the right.
315+
-- @param y - Amount of vertical mouse wheel movement. Positive values indicate upward movement.
316+
function ScreenManager.wheelmoved(x, y)
317+
ScreenManager.peek():wheelmoved(x, y);
318+
end
319+
256320
-- ------------------------------------------------
257321
-- Return Module
258322
-- ------------------------------------------------
@@ -261,4 +325,4 @@ return ScreenManager;
261325

262326
--==================================================================================================
263327
-- Created 02.06.14 - 17:30 =
264-
--==================================================================================================
328+
--==================================================================================================

main.lua

Lines changed: 16 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,3 @@
1-
--==================================================================================================
2-
-- Copyright (C) 2014 - 2015 by Robert Machmer =
3-
-- =
4-
-- Permission is hereby granted, free of charge, to any person obtaining a copy =
5-
-- of this software and associated documentation files (the "Software"), to deal =
6-
-- in the Software without restriction, including without limitation the rights =
7-
-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell =
8-
-- copies of the Software, and to permit persons to whom the Software is =
9-
-- furnished to do so, subject to the following conditions: =
10-
-- =
11-
-- The above copyright notice and this permission notice shall be included in =
12-
-- all copies or substantial portions of the Software. =
13-
-- =
14-
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR =
15-
-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, =
16-
-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE =
17-
-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER =
18-
-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, =
19-
-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN =
20-
-- THE SOFTWARE. =
21-
--==================================================================================================
22-
231
local ScreenManager = require('lib.screenmanager.ScreenManager');
242

253
-- ------------------------------------------------
@@ -36,18 +14,6 @@ local showDebug = false;
3614
-- Check if the hardware supports certain features.
3715
--
3816
local function checkSupport()
39-
print("\n---- SUPPORTED ---- ");
40-
print("Canvas: " .. tostring(love.graphics.isSupported('canvas')));
41-
print("PO2: " .. tostring(love.graphics.isSupported('npot')));
42-
print("Subtractive BM: " .. tostring(love.graphics.isSupported('subtractive')));
43-
print("Shaders: " .. tostring(love.graphics.isSupported('shader')));
44-
print("HDR Canvas: " .. tostring(love.graphics.isSupported('hdrcanvas')));
45-
print("Multicanvas: " .. tostring(love.graphics.isSupported('multicanvas')));
46-
print("Mipmaps: " .. tostring(love.graphics.isSupported('mipmap')));
47-
print("DXT: " .. tostring(love.graphics.isSupported('dxt')));
48-
print("BC5: " .. tostring(love.graphics.isSupported('bc5')));
49-
print("SRGB: " .. tostring(love.graphics.isSupported('srgb')));
50-
5117
print("\n---- RENDERER ---- ");
5218
local name, version, vendor, device = love.graphics.getRendererInfo()
5319
print(string.format("Name: %s \nVersion: %s \nVendor: %s \nDevice: %s", name, version, vendor, device));
@@ -57,20 +23,21 @@ local function checkSupport()
5723
end
5824

5925
local function drawStats()
26+
local h = love.graphics.getHeight();
6027
love.graphics.setColor(100, 100, 100, 255);
61-
love.graphics.rectangle('fill', 5, love.window.getHeight() - 185, 200, 200);
28+
love.graphics.rectangle('fill', 5, h - 185, 200, 200);
6229
love.graphics.setColor(255, 255, 255, 255);
63-
love.graphics.print(string.format("FT: %.3f ms", 1000 * love.timer.getAverageDelta()), 10, love.window.getHeight() - 180);
64-
love.graphics.print(string.format("FPS: %.3f fps", love.timer.getFPS()), 10, love.window.getHeight() - 160);
65-
love.graphics.print(string.format("MEM: %.3f kb", collectgarbage("count")), 10, love.window.getHeight() - 140);
30+
love.graphics.print(string.format("FT: %.3f ms", 1000 * love.timer.getAverageDelta()), 10, h - 180);
31+
love.graphics.print(string.format("FPS: %.3f fps", love.timer.getFPS()), 10, h - 160);
32+
love.graphics.print(string.format("MEM: %.3f kb", collectgarbage("count")), 10, h - 140);
6633

6734
local stats = love.graphics.getStats();
68-
love.graphics.print(string.format("Drawcalls: %d", stats.drawcalls), 10, love.window.getHeight() - 120);
69-
love.graphics.print(string.format("Canvas Switches: %d", stats.canvasswitches), 10, love.window.getHeight() - 100);
70-
love.graphics.print(string.format("TextureMemory: %.2f kb", stats.texturememory / 1024), 10, love.window.getHeight() - 80);
71-
love.graphics.print(string.format("Images: %d", stats.images), 10, love.window.getHeight() - 60);
72-
love.graphics.print(string.format("Canvases: %d", stats.canvases), 10, love.window.getHeight() - 40);
73-
love.graphics.print(string.format("Fonts: %d", stats.fonts), 10, love.window.getHeight() - 20);
35+
love.graphics.print(string.format("Drawcalls: %d", stats.drawcalls), 10, h - 120);
36+
love.graphics.print(string.format("Canvas Switches: %d", stats.canvasswitches), 10, h - 100);
37+
love.graphics.print(string.format("TextureMemory: %.2f kb", stats.texturememory / 1024), 10, h - 80);
38+
love.graphics.print(string.format("Images: %d", stats.images), 10, h - 60);
39+
love.graphics.print(string.format("Canvases: %d", stats.canvases), 10, h - 40);
40+
love.graphics.print(string.format("Fonts: %d", stats.fonts), 10, h - 20);
7441
end
7542

7643
-- ------------------------------------------------
@@ -82,7 +49,7 @@ function love.load()
8249
print(string.format("Title: '%s'", getTitle()));
8350
print(string.format("Version: %.4d", getVersion()));
8451
print(string.format("LOVE Version: %d.%d.%d (%s)", love.getVersion()));
85-
print(string.format("Resolution: %dx%d", love.window.getDimensions()));
52+
print(string.format("Resolution: %dx%d", love.graphics.getDimensions()));
8653

8754
-- Check the user's hardware.
8855
checkSupport();
@@ -143,3 +110,7 @@ end
143110
function love.mousemoved(x, y, dx, dy)
144111
ScreenManager.mousemoved(x, y, dx, dy);
145112
end
113+
114+
function love.wheelmoved(x, y)
115+
ScreenManager.wheelmoved(x, y);
116+
end

src/Author.lua

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,3 @@
1-
--==================================================================================================
2-
-- Copyright (C) 2014 - 2015 by Robert Machmer =
3-
-- =
4-
-- Permission is hereby granted, free of charge, to any person obtaining a copy =
5-
-- of this software and associated documentation files (the "Software"), to deal =
6-
-- in the Software without restriction, including without limitation the rights =
7-
-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell =
8-
-- copies of the Software, and to permit persons to whom the Software is =
9-
-- furnished to do so, subject to the following conditions: =
10-
-- =
11-
-- The above copyright notice and this permission notice shall be included in =
12-
-- all copies or substantial portions of the Software. =
13-
-- =
14-
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR =
15-
-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, =
16-
-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE =
17-
-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER =
18-
-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, =
19-
-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN =
20-
-- THE SOFTWARE. =
21-
--==================================================================================================
22-
231
local Resources = require('src.Resources');
242

253
-- ------------------------------------------------

0 commit comments

Comments
 (0)