Skip to content

Commit

Permalink
Merge branch 'release/0.16.0.1615'
Browse files Browse the repository at this point in the history
  • Loading branch information
rm-code committed Aug 30, 2018
2 parents c57424d + b6c299f commit 1eb1a95
Show file tree
Hide file tree
Showing 71 changed files with 1,718 additions and 1,023 deletions.
47 changes: 47 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,50 @@
# Version 0.16.0.1615 - 2018-08-30 (LÖVE 11.1)

## Additions
- Added paginated list UIElement.
- Replaced old keybinding list with new paginated lists.
- Replaced selectors in prefab editor with new paginated lists.
- Added keybinding layouts to allow different bindings for the same key based on the game's context.
- Added title to the keybinding screen.
- Added selector for canvas sizes on prefab editor screen.
- Added proper re-bindable controls for the prefab editor.
- Added automatic camera tracking of moving characters (previously removed in 0.15.0.1521).
- Added automatic camera movement when selecting a different character (previously removed in 0.15.0.1521).
- Added class-based action point values.

## Removals
- Removed action to open health panel for enemy and neutral characters.

## Fixes
- Fixed huge performance issue with menu titles (especially noticeable on older systems).
- Fixed crash after winning the game because the game tried to switch to the removed base screen.
- Fixed tile info revealing stats of enemy characters which aren't visible to the player's characters.
- Fixed rebinding of unassigned actions.
- Fixed issue where equipment and inventory list weren't clearing their children properly.
- Fixed right-click operation on inventory screen.
- Fixed scroll bar for item description on inventory screen.
- Fixed FOV not updating when a world object is opened.
- Fixed flood filling tool in prefab editor.
- Fixed camera scrolling on prefab editor screen.
- Fixed faulty camera bounds after loading a prefab on prefab editor screen.
- Fixed message log retaining old messages.

## Other Changes
- Changed targeted LÖVE version to 11.1 "Mysterious Mysteries".
- Changed data structure of the game's combat map.
- Changed FOV checks to be more efficient.
- Checking wether a faction can see a specific tile is roughly five times faster than before.
- Checking wether a character can see a specific tile is roughly three times as fast now.
- Changed tile info to be more efficient by only updating it when necessary.
- Changed world object hit points to fit the current weapon damage values.
- Changed buttons in prefab editor to use correct icon colors.
- Changed cursor in prefab editor to use icon and color of selected sprite.
- Changed map editor to be visible in the main menu by default.
- Changed map editor to start in prefab instead of layout editor mode.




# Version 0.15.0.1521 - 2018-07-27 (LÖVE 11.0)

## Additions
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# On The Roadside

[![Version](https://img.shields.io/badge/Version-0.15.0.1521-blue.svg)](https://github.com/rm-code/on-the-roadside/releases/latest)
[![Version](https://img.shields.io/badge/Version-0.16.0.1615-blue.svg)](https://github.com/rm-code/on-the-roadside/releases/latest)
[![LOVE](https://img.shields.io/badge/L%C3%96VE-11.0-EA316E.svg)](http://love2d.org/)
[![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)

Expand Down
2 changes: 1 addition & 1 deletion conf.lua
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ local PROJECT_IDENTITY = "rmcode_otr"

local PROJECT_VERSION = require( 'version' )

local LOVE_VERSION = "11.0"
local LOVE_VERSION = "11.1"

---
-- Initialise löve's config file.
Expand Down
8 changes: 4 additions & 4 deletions lib/screenmanager/ScreenManager.lua
Original file line number Diff line number Diff line change
Expand Up @@ -339,8 +339,8 @@ end
-- @param istouch (boolean) True if the mouse button press originated from a
-- touchscreen touch-press.
--
function ScreenManager.mousepressed( x, y, button, istouch )
ScreenManager.peek():mousepressed( x, y, button, istouch )
function ScreenManager.mousepressed( x, y, button, istouch, presses )
ScreenManager.peek():mousepressed( x, y, button, istouch, presses )
end

---
Expand All @@ -354,8 +354,8 @@ end
-- @param istouch (boolean) True if the mouse button release originated from a
-- touchscreen touch-release.
--
function ScreenManager.mousereleased( x, y, button, istouch )
ScreenManager.peek():mousereleased( x, y, button, istouch )
function ScreenManager.mousereleased( x, y, button, istouch, presses )
ScreenManager.peek():mousereleased( x, y, button, istouch, presses )
end

---
Expand Down
8 changes: 4 additions & 4 deletions main.lua
Original file line number Diff line number Diff line change
Expand Up @@ -147,12 +147,12 @@ function love.textinput( text )
ScreenManager.textinput( text )
end

function love.mousepressed( mx, my, button, isTouch )
ScreenManager.mousepressed( mx, my, button, isTouch )
function love.mousepressed( mx, my, button, isTouch, presses )
ScreenManager.mousepressed( mx, my, button, isTouch, presses )
end

function love.mousereleased( mx, my, button, isTouch )
ScreenManager.mousereleased( mx, my, button, isTouch )
function love.mousereleased( mx, my, button, isTouch, presses )
ScreenManager.mousereleased( mx, my, button, isTouch, presses )
end

function love.mousefocus( f )
Expand Down
18 changes: 9 additions & 9 deletions res/data/WorldObjects.lua
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ return {
{
id = 'worldobject_chair',
size = 15,
hp = 45,
hp = 10,
interactionCost = {
stand = 5,
crouch = 6,
Expand All @@ -20,7 +20,7 @@ return {
{
id = 'worldobject_toilet',
size = 15,
hp = 65,
hp = 12,
interactionCost = {
stand = 5,
crouch = 6,
Expand All @@ -37,7 +37,7 @@ return {
{
id = 'worldobject_shower',
size = 15,
hp = 35,
hp = 12,
interactionCost = {
stand = 5,
crouch = 6,
Expand All @@ -54,7 +54,7 @@ return {
{
id = 'worldobject_crate',
size = 50,
hp = 110,
hp = 30,
energyReduction = 50,
destructible = true,
blocksVision = true,
Expand All @@ -68,7 +68,7 @@ return {
{
id = 'worldobject_door',
size = 100,
hp = 110,
hp = 40,
interactionCost = {
stand = 3,
crouch = 3,
Expand All @@ -88,7 +88,7 @@ return {
{
id = 'worldobject_fence',
size = 35,
hp = 55,
hp = 14,
interactionCost = {
stand = 5,
crouch = 6,
Expand All @@ -109,7 +109,7 @@ return {
{
id = 'worldobject_fencegate',
size = 40,
hp = 65,
hp = 15,
interactionCost = {
stand = 3,
crouch = 3,
Expand Down Expand Up @@ -144,7 +144,7 @@ return {
{
id = 'worldobject_table',
size = 25,
hp = 65,
hp = 20,
interactionCost = {
stand = 5,
crouch = 6,
Expand Down Expand Up @@ -178,7 +178,7 @@ return {
{
id = 'worldobject_window',
size = 100,
hp = 25,
hp = 1,
energyReduction = 10,
destructible = true,
debrisID = 'worldobject_lowwall',
Expand Down
3 changes: 3 additions & 0 deletions res/data/creatures/classes.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ return {
'body_human'
},
stats = {
ap = 40,
hp = 8
}
},
Expand All @@ -14,6 +15,7 @@ return {
'body_human'
},
stats = {
ap = 30,
hp = 5
}
},
Expand All @@ -23,6 +25,7 @@ return {
'body_dog'
},
stats = {
ap = 20,
hp = 4
}
}
Expand Down
71 changes: 69 additions & 2 deletions res/text/en_EN/ui_text.lua
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@ locale.strings = {
['ui_unsaved_changes'] = "There are unsaved changes. Are you sure you want to quit?",
['ui_applied_settings'] = "Your settings have been updated.",
['ui_settings_ingame_editor'] = "Activate Map Editor:",
['ui_settings_ingame_editor_active'] = "Once activated, the map editor can be accessed from the main menu. This currently is an early development version.",
['ui_settings_mouse_panning'] = "Mouse Panning:",
['ui_settings_invert_messagelog'] = "Invert message log:",
['ui_keybindings'] = "Edit Keybindings",
Expand All @@ -71,6 +70,13 @@ locale.strings = {
['pan_camera_down'] = "Move camera down",
['ui_enter_key'] = "Press a key you want to asign to this action.\n\nPress escape to cancel.",

['increase_tool_size'] = "Increase tool size",
['decrease_tool_size'] = "Decrease tool size",
['mode_draw'] = "Select drawing tool",
['mode_erase'] = "Select eraser tool",
['mode_fill'] = "Select filling tool",
['hide_worldobjects'] = "Hide object layer",

-- Map Editor
['ui_mapeditor_save'] = "Save Layout",
['ui_mapeditor_load'] = "Load Layout",
Expand Down Expand Up @@ -109,7 +115,68 @@ locale.strings = {
['ui_ingame_resume'] = "Resume",

-- Help Screen
['ui_help_header'] = 'Help'
['ui_help_header'] = 'Help',

-- Titles
['ui_title_main_menu'] = {
" OOOO OO OO OOOOOOO OOO OOO OOOOOOO ",
" OOOOOOOO OOO OOO OOOOOOO OOO OOO OOOOOOOO ",
" OO! OOO OO!O OOO OO! OO! OOO OO! ",
" !O! O!O !O!!O!O! !O! !O! O!O !O! ",
" O!O !O! O!O !!O! O!! O!O!O!O! O!!!:! ",
" !O! !!! !O! !!! !!! !!!O!!!! !!!!!: ",
" !!: !!! !!: !!! !!: !!: !!! !!: ",
" :!: !:! :!: !:! :!: :!: !:! :!: ",
" :!:::!!: :: :: :: :: !: ::!::!! ",
" :!:: : : : : : :!:::::! ",
" ",
"OOOOOOO OOOO OOOOOO OOOOOO OOOOO OOO OOOOOOO OOOOOOO ",
"OOOOOOOO OOOOOOOO OOOOOOOO OOOOOOOO OOOOOOO OOO OOOOOOOO OOOOOOOO",
"OO! OOO OO! OOO OO! OOO OO! OOO !OO OO! OO! OOO OO! ",
"!O! O!O !O! O!O !O! O!O !O! O!O !O! !O! !O! O!O !O! ",
"O!O!!O! O!O !O! O!O!O!O! O!O !O! !!OO!! !!O O!O !O! O!!!:! ",
"!!O!O! !O! !!! !!!O!!!! !O! !!! !!O!!! !!! !O! !!! !!!!!: ",
"!!: :!! !!: !!! !!: !!! !!: !!! !:! !!: !!: !!! !!: ",
":!: !:! :!: !:! :!: !:! :!: !:! !:! :!: :!: !:! :!: ",
" :: !: ::!:!!:: :: :: !:.:.::: ::!:::: :: !:!!::.: ::!:.:: ",
" ! : ::!: ! : ::::..: :::.. : ::..:.: ::..::.:",
},
['ui_title_options'] = {
" OOOO OOOOOOO OOOOOOO OOO OOOO OO OO OOOOO ",
"OOOOOOOO OOOOOOOO OOOOOOO OOO OOOOOOOO OOO OOO OOOOOOO ",
"OO! OOO OO! OOO OO! OO! OO! OOO OO!O OOO !OO ",
"!O! O!O !O! O!O !O! !O! !O! O!O !O!!O!O! !O! ",
"O!O !O! O!OO!O! O!! !!O O!O !O! O!O !!O! !!OO!! ",
"!O! !!! !!O!!! !!! !!! !O! !!! !O! !!! !!O!!! ",
"!!: !!! !!: !!: !!: !!: !!! !!: !!! !:!",
":!: !:! :!: :!: :!: :!: !:! :!: !:! !:! ",
":!:::!!: :: :: :: :!:::!!: :: :: ::!:::: ",
" :!:: : : : :!:: : : :::.. "
},
['ui_title_savegames'] = {
" OOOOO OOOOOO OOO OOO OOOOOOO OOOOO ",
"OOOOOOO OOOOOOOO OOO OOO OOOOOOOO OOOOOOO ",
"!OO OO! OOO OO! OOO OO! !OO ",
"!O! !O! O!O !O! O!O !O! !O! ",
"!!OO!! O!O!O!O! O!O !O! O!!!:! !!OO!! ",
" !!O!!! !!!O!!!! !O! !!! !!!!!: !!O!!! ",
" !:! !!: !!! :!: !!: !!: !:!",
" !:! :!: !:! ::!!:: :!: !:! ",
"::!:::: :: :: !::: ::!::!! ::!:::: ",
" :::.. ! : !: :!:::::! :::.. "
},
['ui_title_controls'] = {
" OOOOO OOOO OO OO OOOOOOO OOOOOOO OOOO OOO OOOOO ",
"OOOOOOOO OOOOOOOO OOO OOO OOOOOOO OOOOOOOO OOOOOOOO OOO OOOOOOO ",
"OO! OO! OOO OO!O OOO OO! OO! OOO OO! OOO OO! !OO ",
"!O! !O! O!O !O!!O!O! !O! !O! O!O !O! O!O !O! !O! ",
"O!O O!O !O! O!O !!O! O!! O!O!!O! O!O !O! O!O !!OO!! ",
"!O! !O! !!! !O! !!! !!! !!O!O! !O! !!! !O! !!O!!! ",
"!!: !!: !!! !!: !!! !!: !!: :!! !!: !!! !!: !:!",
":!: :!: !:! :!: !:! :!: :!: !:! :!: !:! :!: !:! ",
":!:::!! :!:::!!: :: :: :: :: !: :!:::!!: :!:::!! ::!:::: ",
" ::!::!: :!:: : : : ! : :!:: !::!::!: :::.. "
}
}

return locale;
3 changes: 3 additions & 0 deletions res/texturepacks/default/sprites.lua
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,9 @@ return {
['ui_scrollbar_cursor'] = 180,
['ui_scrollbar_element'] = 180,

['ui_prev_element'] = 18,
['ui_next_element'] = 17,

-- ==============================
-- Prefab Editor
-- ==============================
Expand Down
23 changes: 7 additions & 16 deletions src/CombatState.lua
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
local Class = require( 'lib.Middleclass' )
local ProceduralMapGenerator = require( 'src.map.procedural.ProceduralMapGenerator' )
local MapLoader = require( 'src.map.MapLoader' )
local Map = require( 'src.map.Map' )
local Factions = require( 'src.characters.Factions' )
local ProjectileManager = require( 'src.items.weapons.ProjectileManager' )
local ExplosionManager = require( 'src.items.weapons.ExplosionManager' )
Expand Down Expand Up @@ -37,20 +36,11 @@ local FACTIONS = require( 'src.constants.FACTIONS' )
-- ------------------------------------------------

local function loadMap( savedMap )
local loader = MapLoader()
local tiles, mw, mh = loader:recreateMap( savedMap )
return Map( tiles, mw, mh )
return MapLoader():recreateMap( savedMap )
end

local function createMap()
local generator = ProceduralMapGenerator()

local tiles = generator:getTiles()
local mw, mh = generator:getTileGridDimensions()

local map = Map( tiles, mw, mh )
map:setSpawnpoints( generator:getSpawnpoints() )
return map
return ProceduralMapGenerator():createMap()
end

-- ------------------------------------------------
Expand Down Expand Up @@ -105,13 +95,14 @@ function CombatState:initialize( playerFaction, savegame )
self.map:observe( self )
self.map:observe( self.factions )

-- Clear the message queue.
MessageQueue.clear()

-- Free memory if possible.
collectgarbage( 'collect' )
end

function CombatState:update( dt )
self.map:update()

-- Update AI if current faction is AI controlled.
if self.factions:getFaction():isAIControlled() and not self.stateManager:blocksInput() then
self.sadisticAIDirector:update( dt )
Expand All @@ -131,7 +122,7 @@ end
function CombatState:receive( event, ... )
if event == 'MESSAGE_LOG_EVENT' then
local origin, msg, type = ...
if self.factions:getPlayerFaction():canSee( origin ) then
if origin:isSeenBy( FACTIONS.ALLIED ) then
MessageQueue.enqueue( msg, type )
end
end
Expand All @@ -155,7 +146,7 @@ function CombatState:keypressed( _, scancode, _ )
if self.factions:getFaction():isAIControlled() or self.stateManager:blocksInput() then
return
end
self.stateManager:input( Settings.mapInput( scancode ))
self.stateManager:input( Settings.mapInput( Settings.INPUTLAYOUTS.COMBAT, scancode ))
end

function CombatState:mousepressed( mx, my, button )
Expand Down
Loading

0 comments on commit 1eb1a95

Please sign in to comment.