Skip to content

Commit 1eb1a95

Browse files
committed
Merge branch 'release/0.16.0.1615'
2 parents c57424d + b6c299f commit 1eb1a95

Some content is hidden

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

71 files changed

+1718
-1023
lines changed

CHANGELOG.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,50 @@
1+
# Version 0.16.0.1615 - 2018-08-30 (LÖVE 11.1)
2+
3+
## Additions
4+
- Added paginated list UIElement.
5+
- Replaced old keybinding list with new paginated lists.
6+
- Replaced selectors in prefab editor with new paginated lists.
7+
- Added keybinding layouts to allow different bindings for the same key based on the game's context.
8+
- Added title to the keybinding screen.
9+
- Added selector for canvas sizes on prefab editor screen.
10+
- Added proper re-bindable controls for the prefab editor.
11+
- Added automatic camera tracking of moving characters (previously removed in 0.15.0.1521).
12+
- Added automatic camera movement when selecting a different character (previously removed in 0.15.0.1521).
13+
- Added class-based action point values.
14+
15+
## Removals
16+
- Removed action to open health panel for enemy and neutral characters.
17+
18+
## Fixes
19+
- Fixed huge performance issue with menu titles (especially noticeable on older systems).
20+
- Fixed crash after winning the game because the game tried to switch to the removed base screen.
21+
- Fixed tile info revealing stats of enemy characters which aren't visible to the player's characters.
22+
- Fixed rebinding of unassigned actions.
23+
- Fixed issue where equipment and inventory list weren't clearing their children properly.
24+
- Fixed right-click operation on inventory screen.
25+
- Fixed scroll bar for item description on inventory screen.
26+
- Fixed FOV not updating when a world object is opened.
27+
- Fixed flood filling tool in prefab editor.
28+
- Fixed camera scrolling on prefab editor screen.
29+
- Fixed faulty camera bounds after loading a prefab on prefab editor screen.
30+
- Fixed message log retaining old messages.
31+
32+
## Other Changes
33+
- Changed targeted LÖVE version to 11.1 "Mysterious Mysteries".
34+
- Changed data structure of the game's combat map.
35+
- Changed FOV checks to be more efficient.
36+
- Checking wether a faction can see a specific tile is roughly five times faster than before.
37+
- Checking wether a character can see a specific tile is roughly three times as fast now.
38+
- Changed tile info to be more efficient by only updating it when necessary.
39+
- Changed world object hit points to fit the current weapon damage values.
40+
- Changed buttons in prefab editor to use correct icon colors.
41+
- Changed cursor in prefab editor to use icon and color of selected sprite.
42+
- Changed map editor to be visible in the main menu by default.
43+
- Changed map editor to start in prefab instead of layout editor mode.
44+
45+
46+
47+
148
# Version 0.15.0.1521 - 2018-07-27 (LÖVE 11.0)
249

350
## Additions

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# On The Roadside
22

3-
[![Version](https://img.shields.io/badge/Version-0.15.0.1521-blue.svg)](https://github.com/rm-code/on-the-roadside/releases/latest)
3+
[![Version](https://img.shields.io/badge/Version-0.16.0.1615-blue.svg)](https://github.com/rm-code/on-the-roadside/releases/latest)
44
[![LOVE](https://img.shields.io/badge/L%C3%96VE-11.0-EA316E.svg)](http://love2d.org/)
55
[![Build Status](https://travis-ci.com/rm-code/On-The-Roadside.svg?token=q3rLXeyGTBN9VB2zsWMr&branch=develop)](https://travis-ci.com/rm-code/On-The-Roadside)
66

conf.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ local PROJECT_IDENTITY = "rmcode_otr"
44

55
local PROJECT_VERSION = require( 'version' )
66

7-
local LOVE_VERSION = "11.0"
7+
local LOVE_VERSION = "11.1"
88

99
---
1010
-- Initialise löve's config file.

lib/screenmanager/ScreenManager.lua

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -339,8 +339,8 @@ end
339339
-- @param istouch (boolean) True if the mouse button press originated from a
340340
-- touchscreen touch-press.
341341
--
342-
function ScreenManager.mousepressed( x, y, button, istouch )
343-
ScreenManager.peek():mousepressed( x, y, button, istouch )
342+
function ScreenManager.mousepressed( x, y, button, istouch, presses )
343+
ScreenManager.peek():mousepressed( x, y, button, istouch, presses )
344344
end
345345

346346
---
@@ -354,8 +354,8 @@ end
354354
-- @param istouch (boolean) True if the mouse button release originated from a
355355
-- touchscreen touch-release.
356356
--
357-
function ScreenManager.mousereleased( x, y, button, istouch )
358-
ScreenManager.peek():mousereleased( x, y, button, istouch )
357+
function ScreenManager.mousereleased( x, y, button, istouch, presses )
358+
ScreenManager.peek():mousereleased( x, y, button, istouch, presses )
359359
end
360360

361361
---

main.lua

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -147,12 +147,12 @@ function love.textinput( text )
147147
ScreenManager.textinput( text )
148148
end
149149

150-
function love.mousepressed( mx, my, button, isTouch )
151-
ScreenManager.mousepressed( mx, my, button, isTouch )
150+
function love.mousepressed( mx, my, button, isTouch, presses )
151+
ScreenManager.mousepressed( mx, my, button, isTouch, presses )
152152
end
153153

154-
function love.mousereleased( mx, my, button, isTouch )
155-
ScreenManager.mousereleased( mx, my, button, isTouch )
154+
function love.mousereleased( mx, my, button, isTouch, presses )
155+
ScreenManager.mousereleased( mx, my, button, isTouch, presses )
156156
end
157157

158158
function love.mousefocus( f )

res/data/WorldObjects.lua

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ return {
22
{
33
id = 'worldobject_chair',
44
size = 15,
5-
hp = 45,
5+
hp = 10,
66
interactionCost = {
77
stand = 5,
88
crouch = 6,
@@ -20,7 +20,7 @@ return {
2020
{
2121
id = 'worldobject_toilet',
2222
size = 15,
23-
hp = 65,
23+
hp = 12,
2424
interactionCost = {
2525
stand = 5,
2626
crouch = 6,
@@ -37,7 +37,7 @@ return {
3737
{
3838
id = 'worldobject_shower',
3939
size = 15,
40-
hp = 35,
40+
hp = 12,
4141
interactionCost = {
4242
stand = 5,
4343
crouch = 6,
@@ -54,7 +54,7 @@ return {
5454
{
5555
id = 'worldobject_crate',
5656
size = 50,
57-
hp = 110,
57+
hp = 30,
5858
energyReduction = 50,
5959
destructible = true,
6060
blocksVision = true,
@@ -68,7 +68,7 @@ return {
6868
{
6969
id = 'worldobject_door',
7070
size = 100,
71-
hp = 110,
71+
hp = 40,
7272
interactionCost = {
7373
stand = 3,
7474
crouch = 3,
@@ -88,7 +88,7 @@ return {
8888
{
8989
id = 'worldobject_fence',
9090
size = 35,
91-
hp = 55,
91+
hp = 14,
9292
interactionCost = {
9393
stand = 5,
9494
crouch = 6,
@@ -109,7 +109,7 @@ return {
109109
{
110110
id = 'worldobject_fencegate',
111111
size = 40,
112-
hp = 65,
112+
hp = 15,
113113
interactionCost = {
114114
stand = 3,
115115
crouch = 3,
@@ -144,7 +144,7 @@ return {
144144
{
145145
id = 'worldobject_table',
146146
size = 25,
147-
hp = 65,
147+
hp = 20,
148148
interactionCost = {
149149
stand = 5,
150150
crouch = 6,
@@ -178,7 +178,7 @@ return {
178178
{
179179
id = 'worldobject_window',
180180
size = 100,
181-
hp = 25,
181+
hp = 1,
182182
energyReduction = 10,
183183
destructible = true,
184184
debrisID = 'worldobject_lowwall',

res/data/creatures/classes.lua

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ return {
55
'body_human'
66
},
77
stats = {
8+
ap = 40,
89
hp = 8
910
}
1011
},
@@ -14,6 +15,7 @@ return {
1415
'body_human'
1516
},
1617
stats = {
18+
ap = 30,
1719
hp = 5
1820
}
1921
},
@@ -23,6 +25,7 @@ return {
2325
'body_dog'
2426
},
2527
stats = {
28+
ap = 20,
2629
hp = 4
2730
}
2831
}

res/text/en_EN/ui_text.lua

Lines changed: 69 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ locale.strings = {
4545
['ui_unsaved_changes'] = "There are unsaved changes. Are you sure you want to quit?",
4646
['ui_applied_settings'] = "Your settings have been updated.",
4747
['ui_settings_ingame_editor'] = "Activate Map Editor:",
48-
['ui_settings_ingame_editor_active'] = "Once activated, the map editor can be accessed from the main menu. This currently is an early development version.",
4948
['ui_settings_mouse_panning'] = "Mouse Panning:",
5049
['ui_settings_invert_messagelog'] = "Invert message log:",
5150
['ui_keybindings'] = "Edit Keybindings",
@@ -71,6 +70,13 @@ locale.strings = {
7170
['pan_camera_down'] = "Move camera down",
7271
['ui_enter_key'] = "Press a key you want to asign to this action.\n\nPress escape to cancel.",
7372

73+
['increase_tool_size'] = "Increase tool size",
74+
['decrease_tool_size'] = "Decrease tool size",
75+
['mode_draw'] = "Select drawing tool",
76+
['mode_erase'] = "Select eraser tool",
77+
['mode_fill'] = "Select filling tool",
78+
['hide_worldobjects'] = "Hide object layer",
79+
7480
-- Map Editor
7581
['ui_mapeditor_save'] = "Save Layout",
7682
['ui_mapeditor_load'] = "Load Layout",
@@ -109,7 +115,68 @@ locale.strings = {
109115
['ui_ingame_resume'] = "Resume",
110116

111117
-- Help Screen
112-
['ui_help_header'] = 'Help'
118+
['ui_help_header'] = 'Help',
119+
120+
-- Titles
121+
['ui_title_main_menu'] = {
122+
" OOOO OO OO OOOOOOO OOO OOO OOOOOOO ",
123+
" OOOOOOOO OOO OOO OOOOOOO OOO OOO OOOOOOOO ",
124+
" OO! OOO OO!O OOO OO! OO! OOO OO! ",
125+
" !O! O!O !O!!O!O! !O! !O! O!O !O! ",
126+
" O!O !O! O!O !!O! O!! O!O!O!O! O!!!:! ",
127+
" !O! !!! !O! !!! !!! !!!O!!!! !!!!!: ",
128+
" !!: !!! !!: !!! !!: !!: !!! !!: ",
129+
" :!: !:! :!: !:! :!: :!: !:! :!: ",
130+
" :!:::!!: :: :: :: :: !: ::!::!! ",
131+
" :!:: : : : : : :!:::::! ",
132+
" ",
133+
"OOOOOOO OOOO OOOOOO OOOOOO OOOOO OOO OOOOOOO OOOOOOO ",
134+
"OOOOOOOO OOOOOOOO OOOOOOOO OOOOOOOO OOOOOOO OOO OOOOOOOO OOOOOOOO",
135+
"OO! OOO OO! OOO OO! OOO OO! OOO !OO OO! OO! OOO OO! ",
136+
"!O! O!O !O! O!O !O! O!O !O! O!O !O! !O! !O! O!O !O! ",
137+
"O!O!!O! O!O !O! O!O!O!O! O!O !O! !!OO!! !!O O!O !O! O!!!:! ",
138+
"!!O!O! !O! !!! !!!O!!!! !O! !!! !!O!!! !!! !O! !!! !!!!!: ",
139+
"!!: :!! !!: !!! !!: !!! !!: !!! !:! !!: !!: !!! !!: ",
140+
":!: !:! :!: !:! :!: !:! :!: !:! !:! :!: :!: !:! :!: ",
141+
" :: !: ::!:!!:: :: :: !:.:.::: ::!:::: :: !:!!::.: ::!:.:: ",
142+
" ! : ::!: ! : ::::..: :::.. : ::..:.: ::..::.:",
143+
},
144+
['ui_title_options'] = {
145+
" OOOO OOOOOOO OOOOOOO OOO OOOO OO OO OOOOO ",
146+
"OOOOOOOO OOOOOOOO OOOOOOO OOO OOOOOOOO OOO OOO OOOOOOO ",
147+
"OO! OOO OO! OOO OO! OO! OO! OOO OO!O OOO !OO ",
148+
"!O! O!O !O! O!O !O! !O! !O! O!O !O!!O!O! !O! ",
149+
"O!O !O! O!OO!O! O!! !!O O!O !O! O!O !!O! !!OO!! ",
150+
"!O! !!! !!O!!! !!! !!! !O! !!! !O! !!! !!O!!! ",
151+
"!!: !!! !!: !!: !!: !!: !!! !!: !!! !:!",
152+
":!: !:! :!: :!: :!: :!: !:! :!: !:! !:! ",
153+
":!:::!!: :: :: :: :!:::!!: :: :: ::!:::: ",
154+
" :!:: : : : :!:: : : :::.. "
155+
},
156+
['ui_title_savegames'] = {
157+
" OOOOO OOOOOO OOO OOO OOOOOOO OOOOO ",
158+
"OOOOOOO OOOOOOOO OOO OOO OOOOOOOO OOOOOOO ",
159+
"!OO OO! OOO OO! OOO OO! !OO ",
160+
"!O! !O! O!O !O! O!O !O! !O! ",
161+
"!!OO!! O!O!O!O! O!O !O! O!!!:! !!OO!! ",
162+
" !!O!!! !!!O!!!! !O! !!! !!!!!: !!O!!! ",
163+
" !:! !!: !!! :!: !!: !!: !:!",
164+
" !:! :!: !:! ::!!:: :!: !:! ",
165+
"::!:::: :: :: !::: ::!::!! ::!:::: ",
166+
" :::.. ! : !: :!:::::! :::.. "
167+
},
168+
['ui_title_controls'] = {
169+
" OOOOO OOOO OO OO OOOOOOO OOOOOOO OOOO OOO OOOOO ",
170+
"OOOOOOOO OOOOOOOO OOO OOO OOOOOOO OOOOOOOO OOOOOOOO OOO OOOOOOO ",
171+
"OO! OO! OOO OO!O OOO OO! OO! OOO OO! OOO OO! !OO ",
172+
"!O! !O! O!O !O!!O!O! !O! !O! O!O !O! O!O !O! !O! ",
173+
"O!O O!O !O! O!O !!O! O!! O!O!!O! O!O !O! O!O !!OO!! ",
174+
"!O! !O! !!! !O! !!! !!! !!O!O! !O! !!! !O! !!O!!! ",
175+
"!!: !!: !!! !!: !!! !!: !!: :!! !!: !!! !!: !:!",
176+
":!: :!: !:! :!: !:! :!: :!: !:! :!: !:! :!: !:! ",
177+
":!:::!! :!:::!!: :: :: :: :: !: :!:::!!: :!:::!! ::!:::: ",
178+
" ::!::!: :!:: : : : ! : :!:: !::!::!: :::.. "
179+
}
113180
}
114181

115182
return locale;

res/texturepacks/default/sprites.lua

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,9 @@ return {
143143
['ui_scrollbar_cursor'] = 180,
144144
['ui_scrollbar_element'] = 180,
145145

146+
['ui_prev_element'] = 18,
147+
['ui_next_element'] = 17,
148+
146149
-- ==============================
147150
-- Prefab Editor
148151
-- ==============================

src/CombatState.lua

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
local Class = require( 'lib.Middleclass' )
1010
local ProceduralMapGenerator = require( 'src.map.procedural.ProceduralMapGenerator' )
1111
local MapLoader = require( 'src.map.MapLoader' )
12-
local Map = require( 'src.map.Map' )
1312
local Factions = require( 'src.characters.Factions' )
1413
local ProjectileManager = require( 'src.items.weapons.ProjectileManager' )
1514
local ExplosionManager = require( 'src.items.weapons.ExplosionManager' )
@@ -37,20 +36,11 @@ local FACTIONS = require( 'src.constants.FACTIONS' )
3736
-- ------------------------------------------------
3837

3938
local function loadMap( savedMap )
40-
local loader = MapLoader()
41-
local tiles, mw, mh = loader:recreateMap( savedMap )
42-
return Map( tiles, mw, mh )
39+
return MapLoader():recreateMap( savedMap )
4340
end
4441

4542
local function createMap()
46-
local generator = ProceduralMapGenerator()
47-
48-
local tiles = generator:getTiles()
49-
local mw, mh = generator:getTileGridDimensions()
50-
51-
local map = Map( tiles, mw, mh )
52-
map:setSpawnpoints( generator:getSpawnpoints() )
53-
return map
43+
return ProceduralMapGenerator():createMap()
5444
end
5545

5646
-- ------------------------------------------------
@@ -105,13 +95,14 @@ function CombatState:initialize( playerFaction, savegame )
10595
self.map:observe( self )
10696
self.map:observe( self.factions )
10797

98+
-- Clear the message queue.
99+
MessageQueue.clear()
100+
108101
-- Free memory if possible.
109102
collectgarbage( 'collect' )
110103
end
111104

112105
function CombatState:update( dt )
113-
self.map:update()
114-
115106
-- Update AI if current faction is AI controlled.
116107
if self.factions:getFaction():isAIControlled() and not self.stateManager:blocksInput() then
117108
self.sadisticAIDirector:update( dt )
@@ -131,7 +122,7 @@ end
131122
function CombatState:receive( event, ... )
132123
if event == 'MESSAGE_LOG_EVENT' then
133124
local origin, msg, type = ...
134-
if self.factions:getPlayerFaction():canSee( origin ) then
125+
if origin:isSeenBy( FACTIONS.ALLIED ) then
135126
MessageQueue.enqueue( msg, type )
136127
end
137128
end
@@ -155,7 +146,7 @@ function CombatState:keypressed( _, scancode, _ )
155146
if self.factions:getFaction():isAIControlled() or self.stateManager:blocksInput() then
156147
return
157148
end
158-
self.stateManager:input( Settings.mapInput( scancode ))
149+
self.stateManager:input( Settings.mapInput( Settings.INPUTLAYOUTS.COMBAT, scancode ))
159150
end
160151

161152
function CombatState:mousepressed( mx, my, button )

0 commit comments

Comments
 (0)