Commit Graph

327 Commits

Author SHA1 Message Date
Linus Probert cc229c8b00 Prepares pengine for more particle types.
Also fixed an invalid read bug.
2018-05-22 22:42:06 +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 186cc7b514 Replaced state logic with behaviours instead. 2018-05-19 17:55:10 +02:00
Linus Probert 60114ed159 Hopefully fixes the build issues 2018-05-18 23:11:33 +02:00
Linus Probert e222e51a0e Don't test on clang and fix include problem in appveyor
Clang doesn't have the same --wrap linker flag that GCC has. Just ignore
it for now.
2018-05-18 14:17:29 +02:00
Linus Probert 138cba1400 Mock test for keyboardinput and fixed the found issues 2018-05-18 13:49:31 +02:00
Linus Probert 2feeb5cbcf Attempts to fix appveyor build 2018-05-17 23:34:44 +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 bc0d194dce Additional fall sounds
Wilhelm scream
2018-05-16 15:52:39 +02:00
Linus Probert fa8797a20f Removed a memory leak and MACROD colors 2018-05-15 23:21:28 +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 0576c47bb2 Fixed the frame sprites 2018-05-12 10:47:06 +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 2122300f6e Prepare for texture streaming and locking.
The intention is to static stream the gui areas into one big texture.
2018-05-08 16:34:22 +10:00
Linus Probert 9d7669fd35 Some updates regarding asset management
Had an idea of self-cleaning the cache but it didn't hold. Leaving the
stuff I wrote that might not be useless in the future.
2018-05-06 13:27:29 +02:00
Linus Probert da75ccde23 Removed an unused timer on Projectiles 2018-05-06 07:33:00 +02:00
Linus Probert db21bb813f Removed clang warnings 2018-05-06 06:19:59 +02:00
Linus Probert efe062993b Always play sound when daggers hit/miss something 2018-05-05 21:36:16 +02:00
Linus Probert 3665c7ff66 Rotate daggers instead of using spritesheet
Don't know if this is bad for performance but it does make things
simpler.
2018-05-05 21:29:08 +02:00
Linus Probert 677a7d8b69 Changes to settings.c db queries
Sort of experimental. No harm but perhaps not an improvement.
2018-05-05 20:59:53 +02:00
Linus Probert f290a0dc1c Prepared for more skills 2018-05-04 18:14:44 +02:00
Linus Probert fcf1f24547 Fixed log prints in release mode and some better fail handling. 2018-05-04 01:22:40 +10:00
Linus Probert 5efef180a5 Fixes the release build 2018-04-28 19:10:49 +02:00
Linus Probert a350f66290 Removes some of the spammy logs.
Not as important now that there is an in game log.
2018-04-28 19:03:23 +02: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 8647eaa7a4 Coloured, file, function and line referenced debug output. 2018-04-21 22:58:53 +02:00
Linus Probert 04a3691463 Removes some GCC warnings 2018-04-20 14:46:00 +02:00
Linus Probert cab3b501fc Borke out some of the settings sqlite code to it's own module. 2018-04-16 21:19:26 +02:00
Linus Probert 89e7f84870 Removes a minor warning 2018-03-29 20:32:44 +02:00
Linus_Probert cee584832e Fixed multiple pits in layout file 2018-03-26 13:53:45 +02: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 1206ec8a2d Merge branch 'master' into feature/pits 2018-03-24 12:53:43 +01: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 fa20d2a689 Merge branch 'master' into pit_implementation 2018-03-22 16:03:12 +01:00
Linus Probert 2204c7bade Safety fixes 2018-03-22 12:52:27 +01:00
Linus Probert 9feed28357 Initial addition of pits
Need more options, tile type to handle damage and death.
Prevent monsters from spawning in pits etc.
2018-03-20 21:54:57 +01:00
Linus_Probert 38a05e099d Removed coverity_scan badge. Fixed a warning 2018-03-20 07:33:02 +01:00
Linus_Probert c8386ee719 Adds prevention from passive monsters being "dodgy"
When player gets close to passive monsters they will stop moving now.
This should prevent annoying behaviour when trying to line up a strike.
2018-03-19 10:25:32 +01:00
Linus Probert 9b4de91e13 Toggle sound and music from everywhere 2018-03-17 09:03:29 +01:00
Linus Probert a53c8fe525 Don't commit the settings file 2018-03-17 00:21:46 +01:00
Linus Probert 2ca2a4f98c Added persistent settings 2018-03-17 00:04:26 +01:00
Linus Probert 8a2cb3b446 Embed sqlite3 2018-03-16 19:46:28 +01:00
Linus_Probert 42fd246185 Add direction to windy rooms in lua 2018-03-16 10:04:43 +01:00
Linus_Probert 2393608682 Removed a lint error 2018-03-15 17:00:11 +01:00
Linus_Probert 07136c70f9 Windy rooms affect player
Left a possibility to make it affect projectiles.
2018-03-15 16:30:41 +01:00
Linus_Probert eb345cfc25 Adds the windy room effect 2018-03-15 11:30:18 +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 ac180d1efb Limit the number of daggers carried.
There is a "dagger count" on the player now. Also added the "dagger"
item that can be dropped by monsters.
2018-03-13 16:13:54 +01:00
Linus_Probert bd2cce6447 Removed mingw warning 2018-03-13 09:37:51 +01:00
Linus_Probert 2c803da0cd Faster dagger rotation and skill direction change 2018-03-12 12:35:28 +01:00
Linus_Probert 5f4140fb6f Increases dagger speed, Adds charge pickup and dagger sound. 2018-03-12 09:09:03 +01:00
Linus Probert ca83fa38fe Better dagger throw hits and new skill graphics. 2018-03-11 21:06:46 +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 cc2b659020 Removes a memory leak 2018-03-06 13:50:43 +01:00
Linus_Probert bac0c62a10 Remove some memory leaks 2018-03-06 10:27:25 +01:00
Linus Probert c5abf71735 Fixed the builds. 2018-03-03 13:33:14 +01:00
Linus Probert e41e560219 Aggressive monster now path a lot better 2018-03-03 12:56:53 +01:00
Linus Probert 0b98cad726 Fix bug with player hit text and prevent fight pickups 2018-03-03 00:54:50 +01:00
Linus Probert f9a91c0922 Removes codacy issue 2018-03-02 17:07:15 +01:00
Linus Probert f7ec1195f4 Adds skill return countdown.
Also removes ability to wall-bonk exploit the countdowns.
2018-03-02 17:05:13 +01:00
Linus Probert b6c5edbd92 Adds swoosh sound to charge skill 2018-03-01 19:46:23 +01:00
Linus Probert b05f9333dc Adds "speed lines" to charge skill 2018-03-01 19:37:57 +01:00
Linus Probert 7e596a251e Adds the charge skill 2018-03-01 13:48:03 +01:00
Linus Probert 06cdebc3b3 Better flurry sounds 2018-03-01 06:47:16 +01:00
Linus Probert da2ec32981 Removes some duplicate code in player.c 2018-03-01 06:14:01 +01:00
Linus Probert c42e6fa621 Removed all the warnings from gcc 2018-03-01 06:04:12 +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 20cb94b529 Skill ideas. Not sure I like them. 2018-02-28 15:28:45 +01:00
Linus_Probert 727e1f5dd3 Minor message change 2018-02-28 09:32:37 +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 e161d6becb Just some code cleaning that i stumbled upon 2018-02-24 21:47:09 +01:00
Linus Probert ce2bb2ff43 Removed mingw warning. 2018-02-24 21:24:19 +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 462a22f7a0 Starts an idea for skills. Not sure I like it. 2018-02-24 07:13:28 +01:00
Linus Probert fbf746d270 Cleans up some more warnings (gcc) 2018-02-24 00:29:25 +01:00
Linus Probert 5d1bb383dc Missed one 2018-02-24 00:10:49 +01:00
Linus Probert 512cc4105c Removes some compiler (mingw) warnings. 2018-02-24 00:06:45 +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 3ef45df8cb Minor visual fix 2018-02-23 15:43:54 +01:00
Linus_Probert 753e9402bf Skillbar selection indication 2018-02-23 13:08:05 +01:00
Linus_Probert 9286fddd3c Adds: Flashing healthbar when low on health 2018-02-23 11:10:50 +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 076d97f738 Removed debug output 2018-02-20 21:53:58 +01:00
Linus_Probert 94363a2e95 Added monster stats generation to lua. 2018-02-20 14:22:26 +01:00
Linus_Probert 548eecf3c0 Added some sound and music toggles 2018-02-20 10:45:54 +01:00
Linus_Probert 0adcbc1b11 Adds explosions of different kinds. 2018-02-19 15:55:37 +01:00
Linus_Probert 46e03af0b8 More defined turns 2018-02-19 15:09:04 +01:00
Linus Probert d5914071d4 New license. MIT -> GPLv3.0 2018-02-16 18:11:26 +01:00
Linus_Probert 5fce60b44d Player hit sound 2018-02-16 14:16:21 +01:00
Linus_Probert f758f162e9 Make codacy happy 2018-02-16 11:15:29 +01:00
Linus_Probert f9443b1468 Hopefully fixes the "exit under decor" problem for the last time. 2018-02-16 09:10:05 +01:00
Linus_Probert a26c7be122 Use the random generator instead of rand() 2018-02-15 14:45:20 +01:00
Linus_Probert f4867551a1 Added a lot of sound and music. 2018-02-15 14:00:59 +01:00
Linus Probert 2a24c6528e Added music 2018-02-15 00:02:23 +01:00
Linus Probert 9c10c76266 Codacy fix 2018-02-14 23:24:08 +01:00
Linus Probert 65806c1285 Fixed menu-mouse-click crash.
Not sure about this. Having click events on buttons that destroy the
actual button might seem pretty stupid. But I think I'd rather have that
then having to think about menu memory allocation maintenance
constantly.
2018-02-14 23:14:30 +01:00
Linus_Probert b502e78dd9 Introduced a mixer and one click sound. 2018-02-14 16:04:40 +01:00
Linus_Probert cfa522009e Adds functioning player death and introduces better XP threshholds.
I'm pretty sure I've done the XP thing before. Perhaps I never comitted
that code?
2018-02-14 11:00:34 +01:00
Linus_Probert a045ffc07c Fixes missing lights in coridors and exit under candle
Also some improvements to the in game menu handling.
2018-02-13 09:50:52 +01:00
Linus Probert dcafbbc6ac Implemented in game menu 2018-02-13 06:44:09 +01:00
Linus_Probert 9a887ab964 Fixed the lightmap bug where some tiles would stay too dark
Introduced a lightmap debug mode when doing this. It's super laggy. Use
with care.
2018-02-12 11:32:43 +01:00
Linus_Probert b2b0103b4f Introduced centralized keyboard handling 2018-02-12 10:55:36 +01:00
Linus_Probert 08207f5e35 Bloodspatter based on damage. 2018-02-09 13:55:57 +01:00
Linus_Probert 8def916504 Nicer menu background 2018-02-09 13:27:25 +01:00
Linus_Probert ee26110871 Keyboard menu navigation 2018-02-09 10:18:22 +01:00
Linus_Probert 3010dbb6fd Implicit free fix 2018-02-09 09:39:31 +01:00
Linus_Probert 064e3e0f87 Fixed menu, leaks and clickableness 2018-02-09 09:36:24 +01:00
Linus Probert fdfc6fcf77 The menu is working but it's a bit wonky still.
Starting the game seems to cause some missbehaviour.
2018-02-09 07:26:44 +01:00
Linus Probert 31e006b69f Working on menus. Still pretty broken game. 2018-02-09 06:53:06 +01:00
Linus_Probert 3fe549e6fe Started writing menus
Everything is pretty broken right now.
2018-02-08 17:01:38 +01:00
Linus_Probert 0b2a29fe3b Hilite current tile under mouse
This is intended for spell usage once I get that in.
2018-02-06 16:53:48 +01:00
Linus_Probert 22f6d36375 Refactored and fixed some Codacy issues 2018-02-06 09:11:04 +01:00
Linus_Probert 73e300e343 Prevent exit from spawning under collidable.
Removed "accidental" monster player hits
2018-02-05 16:15:45 +01:00
Linus Probert 27843ab05e Codacy complained about scoping. 2018-02-03 23:46:17 +01:00
Linus Probert 93c0623fe4 Implemented a simple particle engine. 2018-02-03 23:39:49 +01:00
Linus Probert 753448efdb Fixed an MSVC warning 2018-02-03 16:41:55 +01:00
Linus Probert e7e412cc33 Nicer gui and stored potions. 2018-02-03 13:02:39 +01:00
Linus Probert 5b8a8030bd Completed the button implementation 2018-02-02 17:05:41 +01:00
Linus_Probert c2266b892d Implemented a button. Not quite usable yet though. 2018-02-02 16:16:55 +01:00
Linus_Probert 0564f6c3a2 Info print from lua and new hash function in hashtable 2018-02-01 09:55:12 +01:00
Linus_Probert 9550840a7a Fixed compiler warnings 2018-02-01 09:04:19 +01:00
Linus Probert e9091346fd Adressed mingw warning 2018-01-31 21:03:25 +01:00
Linus Probert 6c1591a92d Some rewrites and lots of nice gui labels 2018-01-31 20:59:55 +01:00
Linus Probert a0b86eb06d Memory leaks and left over debug prints 2018-01-31 16:55:48 +01:00
Linus Probert 5dff9a9452 Added an XP bar. Need some text to go with it next 2018-01-31 13:52:11 +01:00
Linus Probert 6dc08b8a6b Simple calculation function added. 2018-01-31 10:49:13 +01:00
Linus Probert f3269436e0 Added a mousepointer for later use. 2018-01-31 09:15:33 +01:00