Commit Graph

194 Commits

Author SHA1 Message Date
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
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 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 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 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 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 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 93c0623fe4 Implemented a simple particle engine. 2018-02-03 23:39:49 +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 9550840a7a Fixed compiler warnings 2018-02-01 09:04:19 +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 f3269436e0 Added a mousepointer for later use. 2018-01-31 09:15:33 +01:00
Linus_Probert b13479b5e1 Monster levels, player death and player levels 2018-01-30 15:16:14 +01:00
Linus_Probert ed63d7a67c Tweaked stats. 2018-01-25 16:42:57 +01:00
Linus Probert 417cb78f31 Added items, so far only health that always drops. 2018-01-24 21:14:34 +01:00
Linus Probert 720ce7fc71 Tweaked the scaling slightly 2018-01-24 18:06:10 +01:00
Linus_Probert 6853f860f6 Fixed the scaling which was borked 2018-01-24 08:52:50 +01:00
Linus Probert dda89f65e7 Fixed some messages with bad newlines and added crash notification. 2018-01-24 06:41:37 +01:00
Linus Probert 4088357584 Better info, debug, error and fatal printouts. 2018-01-23 22:54:02 +01:00
Linus_Probert 5a95808266 Prepared the gui frames. 2018-01-23 12:14:44 +01:00
Linus_Probert e61b20f024 Include CURRENT_LEVEL in lua script. 2018-01-22 10:12:44 +01:00
Linus Probert c4b8766a01 Began designing/writing gui. Added states. 2017-12-22 15:15:40 +01:00
Linus Probert 60b374f84e Levele exit and next level load 2017-12-22 06:27:58 +01:00
Linus Probert 7862b83cb6 Fixed conflicting mains for mingw build 2017-12-21 11:46:52 +01:00
Linus Probert d4fa9f89d6 Fixed a massive error in hashtable.
Compile on windows now works fine.
2017-12-20 18:56:28 +01:00
Linus Probert faad866c8b Fixed a lot of stuff to help cross platform compilation 2017-12-19 21:00:02 +01:00
Linus Probert b269abd0f7 Moved hashtabl and linkedlist into source. 2017-12-19 09:06:21 +01:00
Linus Probert 64a9105d21 Action texts on player and some refactoring 2017-12-18 15:26:56 +01:00
Linus Probert c88c64f4b8 Implemented stupid agressive and coward pathing. 2017-12-18 09:59:01 +01:00
Linus Probert 6007976d23 Roaming monsters. 2017-12-17 13:43:41 +01:00
Linus Probert 7389c2d588 Hit and miss information. 2017-12-15 15:03:29 +01:00
Linus Probert 916193ecb3 Simple Player vs. Enemy hits 2017-12-15 08:08:45 +01:00
Linus Probert ac63f0b172 More monster and combat prep.
I need a hashtable next.
2017-12-12 11:20:08 +01:00
Linus Probert cdf4949eea Switched from 64 tile dimension to 32
64 didn't look very nice on a regular HD screen. Only on my tricky hiDPI
laptop.
2017-12-10 23:49:15 +01:00
Linus Probert a1c57b62d0 Lightsources and lightmaps 2017-12-10 19:51:24 +01:00
Linus Probert 698c92ae33 Added decorations in lua and core 2017-12-08 09:45:57 +01:00
Linus Probert e8ccda2faf Fixed map path and generation.
Also found an issue with collisions and room-switching. This has been
fixed also.
2017-12-06 11:44:17 +01:00
Linus Probert bdc5b6d629 Added a room matrix that deals with movement and collisions. 2017-12-05 15:03:20 +01:00
Linus Probert 50f516ad71 Implemented a simple timer 2017-12-05 08:30:08 +01:00
Linus Probert 0b376a4998 Camera and map following 2017-12-03 11:09:57 +01:00
Linus Probert 7362c2370f Generate maps using lua 2017-12-02 23:32:40 +01:00
Linus Probert 23abb0f48c Added maps and a camera 2017-12-01 16:03:19 +01:00
Linus Probert 1714c5d732 Fixed a codacy issue 2017-12-01 00:01:51 +01:00
Linus Probert a7d5aa90e1 Initial commit 2017-11-30 21:06:54 +01:00