Shining Online

Development

Commit Log

2019-04-07
  • Ty

    Update all BackgroundActions with an isFinished flag

    Ty committed at 15:19

    446
  • Ty

    Update ClassicMenuScreen to support more configuration options and hover effects ...

    Adds the `SwitchFramesBehaviour` which switches between two sprite frames on a timer

    Ty committed at 15:18

    445
  • Ty

    Update town and battle screen to use background action helpers

    Ty committed at 15:17

    444
  • Ty

    Add BackgroundActionsService to base Shining Online screen

    Ty committed at 15:16

    443
2019-03-17
  • Ty

    Add roaming npc's ...

    Any entity with a `map_body` AND `roaming_npc` component can be given a range to roam around in. Entities will not walk into other entities, and will avoid non-walkable squares on the map. Needs a little cleanup to support moving entities with bodies that aren't 1x1, but it works

    Ty committed at 18:23

    442
2019-03-14
  • Ty

    Add transition actions and update battle panels to support them

    Ty committed at 11:04

    441
  • Ty

    Add CallbackAction ...

    Allows a callback (i.e. function pointer) to be run as an action. Mostly so that actions can be queued up to call methods on an object

    Ty committed at 11:02

    440
  • Ty

    Add ActionQueue to background actions service ...

    This allows actions to be run as part of a sequential queue, rather than in parallel. This can be used to animate things in a sequence (such as windows in battle appearing one after the other) without a bunch of event handlers strung together. It's not great, but it works

    Ty committed at 11:01

    439
2019-03-13
  • Ty

    Clean up various bits of code

    Ty committed at 20:00

    438
  • Ty

    Add more of the battle loop to OfflineBattleScreen ...

    Loads more more left to be done, but there's the basics of a battle forming. Can select "Stay" for all player characters and then move to the next character. Enemies currently stay in the same spot

    Ty committed at 20:00

    437
  • Ty

    Add hideEntity and showEntity functions to EntityHelperService

    Ty committed at 19:58

    436
  • Ty

    Add character class and abbreviations to expression evaluator

    Ty committed at 19:57

    435
  • Ty

    Add file path helpers to session db ...

    This may end up being removed

    Ty committed at 19:56

    434
  • Ty

    Update ClassicMenuScreen to use constants instead of magic numbers

    Ty committed at 19:55

    433
  • Ty

    Add automatic component type lookups to ShiningOnlineScreen ...

    Adding the `component_type` meta field with the component type name will automatically inject component type info into a screen

    Ty committed at 19:54

    432
  • Ty

    Add land and movement profile type support to range calculator

    Ty committed at 19:53

    431
  • Ty

    Add initial battle menus and overlay windows ...

    Menus aren't finished yet but the basics are there. Adds a custom `MenuEvent` for wrapping menu events so they're easier to query

    Ty committed at 19:52

    430
  • Ty

    Added player and cursor control entity systems

    Ty committed at 19:50

    429
  • Ty

    Add simple component and system for flashing entities in battle

    Ty committed at 19:49

    428
2019-02-13
  • Ty

    Update StackedProgressBarUiElementBuilder to set dimensions when rebinding

    Ty committed at 15:14

    427
2019-02-12
  • Ty

    Add gfx function set to expression evaluator ...

    Allows `gfx::width` and `gfx::height` to be used in ui definitions

    Ty committed at 22:28

    426
  • Ty

    Update MovementCalculatorService to use entity movement profiles

    Ty committed at 08:35

    425
  • Ty

    Add movement_profile field to CharacterComponent ...

    Wasn't sure if this should be a class trait or per-character. Was originally in the ClassInfoComponent, but enemies don't need that. Plus some classes (Mage for example) might be an elf or human.

    Ty committed at 08:34

    424
2019-02-09
  • Ty

    Update MovementCalculatorService to take movement profiles into account ...

    Tiles can have a `type` which contains their ground type. Usually "even_ground", but can be things like "forest" or "path". Each character has their own movement profile (e.g. "walking" or "centaurs") that defines how they cope with each ground type

    Ty committed at 18:00

    423
  • Ty

    Add flashing animation to SfGridRequest

    Ty committed at 10:25

    422
2019-01-13
  • Ty

    Update battle screen to calculate and render the movement grid ...

    Currently only works for the player and is 90% placeholder code

    Ty committed at 11:33

    421
  • Ty

    Add custom gfx request for rendering MovementRange objects ...

    Doesn't flash colours correctly yet

    Ty committed at 11:32

    420
  • Ty

    Add VERY basic movement calculator service ...

    Currently uses a hard-coded speed value, rather than pulling the info from the entity. But it works, so I guess that's something

    Ty committed at 11:31

    419
  • Ty

    Add movement range calculator utility class

    Ty committed at 11:30

    418
2019-01-06
  • Ty

    Add recipient panel to ui and cleanup some services

    Ty committed at 10:16

    417
2018-12-23
  • Ty

    Update SmallInventoryPanel to use EntityEvent instead of generic events

    Ty committed at 09:20

    416
  • Ty

    Update SubscreenPanel to use resource system

    Ty committed at 09:17

    415
  • Ty

    Add UiDefinition resource ...

    UI definitions were previously loaded as plain files. This worked, but meant definitions couldn't be preloaded or stored in the resource loader so larger UI definitions could suffer from some performance issues

    Ty committed at 09:16

    414
  • Ty

    Extract UI definition loading to its own object

    Ty committed at 09:09

    413
2018-12-20
  • Ty

    Add EntityEvent and integrate with UI ...

    Wraps up common entity arguments and makes UI events involving characters and items a little cleaner

    Ty committed at 11:38

    412
2018-11-24
  • Ty

    Add enableUiReloading and disableUiReloading to SubscreenPanel ...

    These are still called during load/unloading of resources, but it makes more sense to allow enabling and disabling via a single function

    Ty committed at 11:47

    411
  • Ty

    Update OfflineTownScreen to extend ShiningOnlineScreen ...

    Allows it to use some shared helpers

    Ty committed at 11:46

    410
2018-11-23
  • Ty

    Remove unused ShowMessageBoxAction ...

    This has now moved to a proper screen overlay

    Ty committed at 15:12

    409
  • Ty

    Add more expression functions for working with character stats ...

    These will change in the future as they need to take equipment and buffs into account, but for now they work

    Ty committed at 15:10

    408
  • Ty

    Update more panels to use dynamic data binding

    Ty committed at 15:09

    407
2018-11-22
  • Ty

    Update stories to support multiple rules files

    Ty committed at 13:34

    406
2018-11-12
  • Ty

    Fix a few minor gfx request issues

    Ty committed at 18:59

    405
2018-11-11
  • Ty

    Update panels to use new binding system

    Ty committed at 10:37

    404
  • Ty

    Fixed issue when rebinding UI elements with a bind_to field ...

    The target field wasn't empty after the first bind, so wasn't being processed the second time around. Removed the "is target empty" check as `bind_to` has to be deliberately configured, so it really should overwrite the field

    Ty committed at 10:34

    403
  • Ty

    Remove a bit of debug code from expression evaluator

    Ty committed at 09:38

    402
  • Ty

    Add dynamic data binding to the UI builder ...

    Adds the ability to configure UI elements to use game data without having to hard-code it in the screen. For example, this allows a screen to set text to a character's name using an expression ("character::name(current_char)") instead of having to write code for it

    Ty committed at 09:36

    401
  • Ty

    Add "ExpressionEvaluatorService" ...

    This is a simple service for evaluating simple expressions (such as "1 + 1"). It's not meant as a replacement for the script engine, but more as a way to add a little bit of flexibility to configuration. The UI system will use it for dynamically setting text from entities

    Ty committed at 09:23

    400
2018-10-01
  • Ty

    Add message box configuration from rules file ...

    Message box can now have its frame, background and text style configured via the current story's rules file

    Ty committed at 18:41

    399
2018-09-29
  • Ty

    Fix duplicate service in OfflineBattleScreen

    Ty committed at 15:13

    398
  • Ty

    Add speedUp function to TypeTextBehaviour ...

    Replaces the input check inside the `update` method. Behaviours shouldn't have any kind of input

    Ty committed at 15:05

    397
  • Ty

    Replace background actions message box with screen-based window

    Ty committed at 14:32

    396
2018-09-17
  • Ty

    Remove unused states directory and source files

    Ty committed at 18:08

    395
  • Ty

    Remove trailing whitespace from all files

    Ty committed at 18:08

    394
2018-09-15
  • Ty

    Add OfflineTownMenuScreen ...

    This screen handles the offline town menu and manages showing and hiding of any subscreens

    Ty committed at 18:11

    393
  • Ty

    Fix tiny bug when attempting to play empty sounds in AtmosphereService

    Ty committed at 18:11

    392
  • Ty

    Add inventory helpers to EntityHelperService

    Ty committed at 18:10

    391
  • Ty

    Fix BattleAutomaticPlacementSystem to not place same character multiple times

    Ty committed at 18:10

    390
  • Ty

    Tidy up a couple of components

    Ty committed at 18:10

    389
  • Ty

    Add helper functions in CharacterMagicComponent ...

    Adds the ability to get spell names and levels as an array

    Ty committed at 18:09

    388
  • Ty

    Rebuild how screens and panels handle transitions ...

    Previously used a mix of different things. Sometimes a timer was used, sometimes counting frames, and sometimes checking animations. This led to bugs all over the place as there was always some weird edge case. Transitions are now handled by two functions, and all should wait for the animation's `whenFinished` event (or call it directly if nothing needs transitioning). Took a while to get it all working (and it touches a lot of code), but things (mostly) work now

    Ty committed at 18:08

    387
  • Ty

    Add new ShiningOnlineScreen base type for game screens ...

    Contains a bunch of common services and helper functions. Should have done this a long time ago.

    Ty committed at 18:05

    386
  • Ty

    Fix crash when calling getLevelColour with a negative number

    Ty committed at 18:04

    385
  • Ty

    Update GameLevelResource to use StringTable for storing strings

    Ty committed at 18:03

    384
  • Ty

    Tidy up the UiBuilderService

    Ty committed at 18:02

    383
  • Ty

    Removed unused StatusScreen type ...

    This has been split into an offline version, and will eventually have an online version to go with it

    Ty committed at 18:02

    382