Commit Graph

206 Commits

Author SHA1 Message Date
Linus Probert ae44d5c2bc Adds minimal Steam fiddling protection 2018-09-17 14:23:35 +02:00
Linus Probert 083834d044 Maint: Remove CI compiler warnings 2018-09-14 13:09:06 +02:00
Linus Probert 583a7d049d Fixes some minor bugs caused by coding without testing 2018-09-13 23:45:33 +02:00
Linus Probert e1b3364d88 Maint: Even more cleanup 2018-09-13 13:12:43 +02:00
Linus Probert 620a7e3ed5 Maint: Less complex main 2018-09-13 12:49:21 +02:00
Linus Probert 983875d064 Maint: Cleaned up a complex function 2018-09-13 11:35:07 +02:00
Linus Probert c39f05d49e Fixed the player menu 2018-09-13 08:05:17 +02:00
Linus Probert 02a4407eb4 Got a bit further 2018-09-12 20:56:50 +02:00
Linus Probert 5043a86377 Cleaned up main a bit and moved some code 2018-09-11 15:32:33 +02:00
Linus Probert b3724afe49 Make the game a bit more actionfilled
- Level 1 is reduced in size
- More monsters spawn
- Maps are more 'messy' and less linear
- Introduces 'space' to hold your turn
2018-09-09 12:46:15 +02:00
Linus Probert 07d7d6e58b Added easteregg monsters and a funny achievement 2018-09-03 16:49:45 +02:00
Linus Probert 37518c100d Includes player and dungeon level in steam leaderboards.
- Intended for use in the in game leaderboard view once I make that.
2018-09-02 23:44:48 +02:00
Linus Probert 1972b5b1df Added kills leaderboard
- Restructured the code a bit to avoid c vs c++ conflicts.
2018-08-31 15:58:59 +02:00
Linus Probert 26379535be Fixes fullscreen centering on hirez screens 2018-08-30 14:08:34 +02:00
Linus Probert fbb63ba742 Adds information to player
- Fullscreen command is listed
- ESC to go back from views is listed
2018-08-30 11:32:09 +02:00
Linus Probert 5a8c1ece14 Fixed some more fullscreen
There is still a slight offset. I need to practice maths I think
2018-08-30 09:12:05 +02:00
Linus Probert f9556cbf59 Fixes nicer fullscreen rendering
Also solves some compiler warnings on linux
2018-08-30 08:54:21 +02:00
Linus Probert adb22fed8e Passable fullscreen mode
- Centering is still a bit off
2018-08-30 00:09:55 +02:00
Linus Probert 7b54e93893 Implemented leaderboard updates 2018-08-29 22:13:22 +02:00
Linus Probert 3697e9b0b6 Adds hooks for all achievements 2018-08-29 14:31:20 +02:00
Linus Probert 76d78600cb Completed Steam api integration.
- Next step is to actually trigger the achievements in the right places.
2018-08-29 14:03:18 +02:00
Linus Probert f5a88fc10e Introduces texture blending
- Makes indicator sprites transparent when the player is under them
2018-08-23 09:41:10 +02:00
Linus Probert 449cc362a0 Fixes some minor buggs
- Monsters now drop loot as soon as they die
    (not after the dagger has stopped moving)
- Artifacts keep correct alignment even after a level switch.
2018-08-23 08:41:47 +02:00
Linus Probert f67aab0b37 Completes #43 Add win state
Game now ends if you reach depth level 20

Also fixed:
    - Funky bug with stats with 0 dmg
    - Wonky speed = 2 on monsters behaviour
    - Some other minor stuff
2018-08-22 20:54:39 +02:00
Linus Probert 8c261fd59f Added the undead monsters for level > 10
- Fixed a double damage bug
- Prevent player from getting killed when in DEBUG mode
   - This can cause really weird behaviour if you fall into a pit.
2018-08-22 14:02:55 +02:00
Linus Probert 6326a64111 Begins #42 Add boss 2 & 3
- Added "The cleric" for level 10.
2018-08-22 13:13:54 +02:00
Linus Probert f1b0045829 Introduces the "orc levels"
Also fixes some minor buggs.
2018-08-22 11:05:12 +02:00
Linus Probert ffe1736792 Minor buggfixes and typos
- Mention level in "new skill tooltip"
- Fix a msvc compiler warning
- Prevent level 2 artifact first pickup from bugging rendering
2018-08-21 22:27:45 +02:00
Linus Probert bec9eb429d Fixed a typo in skill tooltip 2018-08-21 16:21:22 +02:00
Linus Probert 43f021a997 Created an FPS counter for debug mode
- Also moves the "sword pointer" to debug mode only.
2018-08-21 16:18:11 +02:00
Linus Probert dbc36aab9f Fixes #41, Minimap 2018-08-21 15:44:12 +02:00
Linus Probert 9ef97c0897 Fixes #38, Artifact inventory 2018-08-21 12:42:23 +02:00
Linus Probert 358c0c7ddc Fixes #37 and #39 Adds tooltips to everything
- A tooltip on first play will explain how it works
- A tooltip on levelup will display skill info
- A setting is introduced to disable tooltips
2018-08-20 14:32:38 +02:00
Linus Probert 5f754d551a Merge branch 'master' into dev 2018-08-19 20:26:28 +02:00
Linus Probert 549f47ae0b Minor code fixes and a slight tweak to the blue color 2018-08-16 14:09:54 +02:00
Linus Probert 9a610d5f88 Adds window icon
- Fixes bug where you could move when falling.
2018-08-15 08:08:18 +02:00
Linus Probert 6af8d9dd8f Completes #8 First boss
- Adds "The Hell Hound" to level 5
2018-08-15 07:20:53 +02:00
Linus Probert 6cc96a954d Begins #8 First boss
- Introduces FIRE_DEMON behaviour
- Just need to pick a sprite and adapt the lua code
2018-08-14 13:28:10 +02:00
Linus Probert 6633db7aa4 Adds room objects and FIRE rooms. 2018-08-13 13:11:32 +02:00
Linus Probert 369cfda70b Completes #33 Create score screen 2018-08-12 19:43:33 +02:00
Linus Probert 254417271c Began #33 Create score screen
Adds the backend (db) part of hiscores, next step is to create the
screen.
2018-08-12 16:14:07 +02:00
Linus Probert ffd777e055 Buggfixes
- Change credit screen font color
- Main menu monsters are back
2018-08-12 10:45:52 +02:00
Linus Probert 3f1cdf8a12 Fixes: #5 Creates a creditscreen 2018-08-12 09:13:18 +02:00
Linus Probert b4a6c4b46f Fixes some render layer issues
- Chance for more daggers in containers
- Less health from meat
- Prevent exit from spawning under containers
2018-08-11 15:15:53 +02:00
Linus Probert 1c7631cf52 Starts #31 Items: Chests
Lua gen code remains to do
2018-08-10 14:29:45 +02:00
Linus Probert 83aa92943f Don't open menu immidiately upon death. 2018-08-10 13:29:12 +02:00
Linus Probert 736eb79996 Continues #2: Artifacts
- Adds sparkle effect on artifacts
- Implements TRAP_AVOIDANCE, IMPROVED_HEARING
2018-08-08 14:46:59 +02:00
Linus Probert 095c93e5b2 Began #2: Added artifacts and the PIERCING_DAGGERS modifier
Still need to add the rest of the artifact effects but that should be
simpler from this point.
2018-08-08 00:14:24 +02:00
Linus Probert 56af37edb0 Removing natural lighting debug.
After implementing line of sight light it did not look good at all with
this size of tiles. Keeping as is for now.
2018-08-04 14:07:17 +02:00
Linus Probert 353b4ed1c5 Adds raycasting debug
Next step is to actually implement the Bresenham Line Algorithm to make
line of sight and object shadowing a reality.
2018-08-03 10:45:54 +02:00
Linus Probert 1124e88df0 Minor fixes
- Make skills correctly turn the player
- Don't repopulate the matrix on every frame only on turn change
2018-07-31 23:45:09 +02:00
Linus Probert 4819eda1dd Adds "NEW GAME" menu option to game over menu
Also makes menu open when player dies
2018-07-31 23:13:30 +02:00
Linus Probert 18e70221fa Restructured main game loop a bit. Reduced function size 2018-07-28 14:28:55 +02:00
Linus Probert 252955bc8d Removes "resume" option from menu when game over. 2018-07-09 22:53:52 +02:00
Linus Probert 988d6c5cac Implemented the sword swing effect.
This adds the animation type for future use.
Not super happy with the animation png. Will look over it in the future.
2018-07-09 19:26:06 +02:00
Linus Probert 53dc7e2fe6 Possibly more accurate scaling. 2018-06-23 14:30:29 +02:00
Linus Probert dff55a1978 Fixes some buggs
- Fixes mapbuilder pit loading nullpointer
- Fixes black main menu bg after return to main menu
- Fixes skill sparkling on new game start
2018-06-14 00:12:49 +02:00
Linus Probert bbe4526947 Fixes colors to use defines. 2018-05-22 15:48:09 +02:00
Linus Probert 2462e4cf33 Adds sentinel monster behaviour. 2018-05-21 21:03:59 +02:00
Linus Probert a66f16de79 Reintroduces the pointer and mouse menu operation. 2018-05-20 17:25:53 +02:00
Linus Probert 123ae90f59 Better mod key logic in input and mouse motion check. 2018-05-20 16:53:16 +02:00
Linus Probert 821cac2fbd Completely separates input handling and game logic.
This commit disables mouse support in menus. This needs to be rethought
to be more stable.
2018-05-20 00:03:17 +02:00
Linus Probert 2813a571e4 Separate player movement from input event loop.
Wrote a keyboardinput object but decided against using it for the time
being. I'll leave it in if I change my mind.
2018-05-17 23:14:42 +02:00
Linus Probert c4dc8382a9 Monsters now indicate their state with speech bubbles 2018-05-17 21:41:23 +02:00
Linus Probert a7822331f8 Hopefully handle the "event overflow exploit"
There was an exploit where a keyboard would fire events quicker then
they could be consumed. This would lock the main game loop in the
SDL_PollEvent loop and block rendering until the key in this case was
released. Combning this with an attack meant that you could "farm" one
NPC for multiple kills and massive XP gains. Leaving the player at level
8+ on dungeon level 1. This fix should mitigate such shenanigans.
2018-05-16 19:09:01 +02:00
Linus Probert 853d390427 Some create package dir in travis 2018-05-15 14:21:54 +02:00
Linus Probert 6d5acc698e Nicer labels in many places. 2018-05-15 14:12:38 +02:00
Linus Probert b88318097f Render texts after particles. 2018-05-15 11:20:52 +02:00
Linus Probert d6daf7b798 Nicer action texts 2018-05-15 11:16:56 +02:00
Linus Probert 524e10ac8f Adds camera shake.
Removed some old buildfiles that had accidentally made it into the repo.
2018-05-13 23:32:44 +02:00
Linus Probert 3e6976d2cc Adds texture creation of gui frames to reduce render time
Also enables leakchecking and removes leaks from hashtable tests and
some other leaks that were obvious. There are some X11 leaks still
present but I don't think these are caused by me.
2018-05-09 00:21:38 +02:00
Linus Probert fcf1f24547 Fixed log prints in release mode and some better fail handling. 2018-05-04 01:22:40 +10:00
Cong 6896308451 Use SDL to detect screen dimensions
Supports macOS, remove dependency on X11
2018-04-28 15:05:56 +10:00
Linus Probert 0a21a2d915 Adds falling into pits
Monsters also avoid pits. Still need more pit layouts and
prevent monsters from "spawning"  in pits.
2018-03-25 23:30:26 +02:00
Linus Probert 9a3dd410ab Particle sparcle when skill unlocks
Minor modification to dagger damage
2018-03-24 12:46:23 +01:00
Linus Probert 7386b3d582 Adds levelcaps to skills
Still need to add the sparkles when they activate
2018-03-23 22:03:34 +01:00
Linus Probert 9b4de91e13 Toggle sound and music from everywhere 2018-03-17 09:03:29 +01:00
Linus Probert 2ca2a4f98c Added persistent settings 2018-03-17 00:04:26 +01:00
Linus Probert 1bea221369 Smooths out some glitches
Don't move dead monsters. Don't run player and monster turn in one frame. Fixes a bad "position_in_room" check.
2018-03-13 23:36:39 +01:00
Linus Probert d983318453 Better linkedlist clearing
Fixed a projectile update bug due to invalid map pointer. Cleaned up some of the "clear stuff from linkedlist" functions to a nicer implementation. Perhaps not as efficient but certainly nicer.
2018-03-13 21:47:49 +01:00
Linus_Probert d6c21745cd Add possibility to retrieve thrown daggers. 2018-03-13 16:51:08 +01:00
Linus Probert c360aa75ee Added dagger throw skill
There are still some quirks that could need some love surrounding this
skill. Check the reset countdown for example.
2018-03-10 22:04:03 +01:00
Linus Probert be8677cb39 Adds projectiles
Collisions still need implementing and an underlying skill + some drawing.
2018-03-08 00:58:26 +01:00
Linus Probert d564a559dc Adds essentially nothing. Some convenience functions. That is all 2018-03-07 19:15:08 +01:00
Linus Probert 5e0bbe423d Added nice info messages across the screen 2018-03-07 16:02:56 +01:00
Linus Probert 2253479532 Adds skills, 'flurry' skill and sip_potion skill.
Removes shift-h sipping.
2018-02-28 22:31:38 +01:00
Linus Probert 22bed2948f Fixed CPack and made lua work from .pack file
Adds a custom searcher to the lua table package.searcher.
2018-02-27 19:59:51 +01:00
Linus Probert 71c7345c78 Weight monster loot according to player health.
More health in flesh and more flesh sprites.
2018-02-24 21:15:13 +01:00
Linus Probert fbf746d270 Cleans up some more warnings (gcc) 2018-02-24 00:29:25 +01:00
Linus Probert 131c0caa4e Memory usage improvements
Adds a texturecache to prevent multiple loads of the same texture. Texture
dimension is now only intended for the actual texture dimension. Sprite
should hold the "rendering dimension". Music songs now load and unload
when switching songs. Standardized a lot of dimensions.
2018-02-23 23:58:29 +01:00
Linus Probert 052b03189e Read lua through physfs 2018-02-23 19:32:01 +01:00
Linus_Probert 753e9402bf Skillbar selection indication 2018-02-23 13:08:05 +01:00
Linus_Probert 738102b6e6 Adds basic skillbar rendering, now we need skills 2018-02-23 11:01:25 +01:00
Linus Probert ba9a92208d Forgot a change in the last commit 2018-02-22 19:18:38 +01:00
Linus Probert 2afb8090e3 Initial skillbar code 2018-02-22 15:42:43 +01:00
Linus Probert b209774f7b Optional physfs compile, removed deprectaions. 2018-02-22 13:02:40 +01:00
Linus Probert 2a3f5aaa6a Added physfs for file loading and safety. 2018-02-22 12:36:24 +01:00
Linus Probert 9fec8fcb1f Enabled conversion warnings in GCC 2018-02-22 09:44:27 +01:00
Linus Probert c02d674618 Conform to "standard" SDL2 including 2018-02-21 00:29:21 +01:00
Linus_Probert 548eecf3c0 Added some sound and music toggles 2018-02-20 10:45:54 +01:00