Shining Online

Development

Commit Log

2019-07-15
  • Ty

    Update StoryInfo to work with changes to File_Util.DirectoryList ...

    New method returns a String array instead of a `TList` which broke `StoryInfo`

    Ty committed at 16:19

    463
  • Ty

    Add getLandEffectAt to MapHelperService

    Ty committed at 16:17

    462
  • Ty

    Fix some pathfinder map representation and optimization

    Ty committed at 16:17

    461
  • Ty

    Update checkProcessing of all systems to confirm with latest Pangolin update ...

    Pangolin changed `checkProcessing` to return a Byte instead of a Short

    Ty committed at 16:14

    460
  • Ty

    Add BattleMovementSystem ...

    This system takes care of moving battle entities around. Correctly updates the X/Y position which was a bug caused by using `ActorMovementSystem` in battles

    Ty committed at 16:13

    459
2019-07-01
  • Ty

    Split pathfinder class into its own folder and remove debug code

    Ty committed at 10:56

    458
2019-06-06
  • Ty

    Add a bunch of missing files ...

    Covers some path moving, background actions and pathfinder utils

    Ty committed at 13:56

    457
  • Ty

    Add initial path finder helper ...

    Needs integrating with main map et

    Ty committed at 13:54

    456
  • Ty

    Add Sonline_GraphicsUtil type ...

    Used for generic graphic helpers that don't fit anywhere else

    Ty committed at 13:53

    455
  • Ty

    Clean up entity systems

    Ty committed at 13:53

    454
  • Ty

    Clean up UI elements and panels ...

    Still needs more work doing, but it's getting there

    Ty committed at 13:53

    453
  • Ty

    Update PortraitBox to support blinking and moving mouths on portraits

    Ty committed at 13:52

    452
  • Ty

    Update EntityHelperService to use entities queries

    Ty committed at 13:52

    451
  • Ty

    Add getConfiguredString helper to base screen ...

    This will be used for getting text strings to make changing out strings easier

    Ty committed at 13:51

    450
  • Ty

    Update LispCommand to use toString instead of dump on atoms

    Ty committed at 13:50

    449
  • Ty

    Clean up UI builders

    Ty committed at 13:50

    448
  • Ty

    Add "--listen" flag to main client ...

    When this is passed, the game will fire up a slime server and also listen for resource changes (if resource watcher is running). This saves ~1 second on boot times if disabled

    Ty committed at 13:49

    447
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