Alex Yatskov
6f2c212417
Continued work on GUI ( #316 )
...
* Configuration cleanup
* Cleanup
* Continued UI work
2020-02-24 22:35:21 -05:00
Ziemas
2285c31b53
Fix wall location by removing extraneous offset ( #314 )
2020-02-24 13:36:12 -05:00
nicholas-eden
f6014498ba
Use missile range and subloop ( #311 )
...
Turn on blending. Calculate target using based on range and angle of hero to click.
2020-02-23 03:23:18 -05:00
Alex Yatskov
423cef304d
Screenshot and GIF recording capability ( #310 )
...
* Configuration cleanup
* Cleanup
* Gif animation and screenshot support
2020-02-22 23:59:45 -05:00
Ziemas
e4c84c4fb9
Direction changes. ( #309 )
...
* Take directions in the range of 0-63
* Shift direction handling in animation further back
* Don't need to get the DCC direction here.
Because it was added to animation.
* Check direction is within range
2020-02-22 22:33:58 -05:00
nicholas-eden
bdfdeda67b
Add support for missiles ( #308 )
...
* WIP: Add support for missiles
Break AnimatedEntity into two parts to support single and composite animations. Summon misssiles on right click.
* Break animated entity down further
Move npc only logic to npc struct, reduce duplication in map entities
* Change a bunch of int32s to int
2020-02-22 20:44:30 -05:00
Alex Yatskov
2953d2171b
Configuration improvements ( #307 )
...
* Configuration cleanup
* Cleanup
2020-02-20 08:41:41 -05:00
Alex Yatskov
810b168ebf
Work in progress on GUI ( #304 )
...
* Work in progress on GUI refactor
* Remove WIP file
* Remove WIP style
2020-02-17 22:11:52 -05:00
Alex Yatskov
1983ec395d
Cleanup error handling ( #303 )
2020-02-09 14:12:04 -05:00
Tim Sarbin
9478e2c2be
Fixed pathfinding crash ( #301 )
2020-02-08 21:33:14 -05:00
Alex Yatskov
5e958b9174
Scene and GUI rework ( #300 )
2020-02-08 21:02:37 -05:00
Nick
99e6acf2bb
Write default configuration file if one is not found. ( #298 )
2020-02-07 22:21:15 -05:00
Alex Yatskov
a04d2389c3
Fix terminal taking input when not visible, fix timescale command ( #294 )
2020-02-02 21:26:08 -05:00
Tim Sarbin
0c618bd31b
Fixed refactor bug for d2config ( #293 )
2020-02-02 18:58:26 -05:00
Ziemas
0b7a433ed2
Fix up subtile flag stuff ( #288 )
...
* Switch to a 2d array for looking up subtile flags
Also fix up the walkableArea generation
* Check correct tiletype for walls
And fix the subtile tooltip text.
2020-02-02 17:56:58 -05:00
Alex Yatskov
f33535cd5d
Add commands for vsync, fullscreen; move timescale implementation ( #286 )
...
* Add commands for vsync, fullscreen; move timescale implementation
* add binding for mapdebugvis
2020-02-02 14:04:37 -05:00
Tim Sarbin
3412c4338c
Added pathfinding and (buggy) collision data. ( #285 )
2020-02-02 12:46:19 -05:00
Tim Sarbin
935789dccf
Added more debugging to map test ( #284 )
2020-02-02 02:57:23 -05:00
Tim Sarbin
6606774ece
Refectoring to reduce code warnings ( #283 )
2020-02-01 21:51:49 -05:00
Alex Yatskov
ea4450f207
Move d2config to d2core, remove d2helper ( #282 )
2020-02-01 21:06:22 -05:00
Alex Yatskov
b5c1f5222d
Move rendering stuff out of d2common into d2render ( #281 )
...
* Move rendering stuff out of d2common into d2render
* Remove d2interface
2020-02-01 20:39:28 -05:00
Alex Yatskov
8a547ebf0e
Moving files around to make more sense ( #279 )
...
* Prevent input fighting between terminal and other input listeners.
* Moving files around, removing exports
* Add missing line
2020-02-01 18:55:56 -05:00
Alex Yatskov
e878ebcbcd
Prevent input fighting between terminal and other input listeners. ( #278 )
2020-02-01 14:35:55 -05:00
Tim Sarbin
2461142fbd
Minor changes to project layout ( #276 )
...
* Minor changes to reduce interdependencies on modules.
2020-01-31 23:18:11 -05:00
Tim Sarbin
6832a5a0db
merged d2shared into the core package ( #275 )
2020-01-26 00:39:13 -05:00
Alex Yatskov
8de0cde818
Event-based input manager with priority system ( #274 )
2020-01-25 23:28:21 -05:00
nicholas-eden
d6769975cd
Initial inventory handling ( #270 )
...
Add struct to display inventory panel.
Add struct to handle inventory and merchant grids.
Hook up `i` key to toggle inventory panel.
2019-12-28 23:32:53 -05:00
Alex Yatskov
c01bedaedf
Do not advance state in render ( #269 )
...
* Do not advance state in render
* Update advance logic for sprite and region
2019-12-28 23:32:24 -05:00
Alex Yatskov
49b9a190f2
Render to surface, not ebiten texture ( #268 )
...
* Render to surface, not ebiten texture
* Fix debug text
2019-12-28 16:46:08 -05:00
Ziemas
0c2b7cfd8d
Advance hero animations on char select screen. ( #267 )
2019-12-26 11:14:26 -05:00
Alex Yatskov
b7e50bf098
Add terminal, surface, assetmanager commands ( #266 )
...
* Add terminal, surface, assetmanager commands
* echo command
* add verbose logging
* more logging, word wrap
* add timescale command
2019-12-26 11:13:05 -05:00
Alex Yatskov
0ee937f01b
Rename Paperdoll to Composite ( #265 )
...
Make AnimatedEntity use Composite
2019-12-24 01:48:45 -05:00
Alex Yatskov
1b03e691b9
High level resource caching; resource cleanup ( #264 )
...
* Work on resource loading
* Use new material flag name. (#261 )
Update ebiten ref while at it
* Hopefully fix CI (#262 )
* Don't try to copy config.json on travis (#263 )
I doesn't exist anymore
* Update D2Shared references
* Fix character selection rect
Co-authored-by: Ziemas <ziemas@ziemas.se>
2019-12-21 20:53:18 -05:00
Alex Yatskov
4ebe199a8e
Move save game location to ~/.config/OpenDiablo2/Save ( #258 )
2019-12-17 23:20:06 -05:00
Alex Yatskov
d5a0038125
Configuration cleanup ( #257 )
...
* Cleanup config file loading, move defaults to code
* Default to fullscreen
* Cleanup
* Store configuration in UserConfigDir
* print config path on load and save
2019-12-17 21:32:37 -05:00
Alex Yatskov
cead000c3f
Fix case sensitivity when loading MPQ files ( #256 )
...
* Fix case sensitivity when loading MPQ files
* remove print
2019-12-17 20:06:01 -05:00
Alex Yatskov
cc678ba747
Add asset manager ( #253 )
...
* Add asset manager
* Fix rebase
* Update asset manager to support mpq hash caching
* Update vendoring
2019-12-16 22:23:01 -05:00
nicholas-eden
d033c63e18
Initial in-game ui and keyboard controls ( #254 )
...
Move player movement out of `Game`, add arrow key movement. Render bottom panel.
2019-12-16 11:04:39 -05:00
Alex Yatskov
a194913609
Engine and region reorganization in preperation for spatial partitioning ( #249 )
...
* Engine and region reorg
* Remove unnecessary file diff
* Remove extra render of debug mesh
2019-12-13 00:33:11 -05:00
Alex Yatskov
1262c80e6b
Create viewport and camera types ( #246 )
2019-12-08 22:18:42 -05:00
nicholas-eden
9a8e16c411
Pause npcs at each target location for a random time ( #245 )
...
Loop through neutral animation a random number of repetitions before moving on. Only run the skill animation once, it is not designed for looping.
2019-12-06 23:58:36 -05:00
nicholas-eden
b5db51800c
Setup NPCs to follow paths ( #243 )
...
Change location to contain canonical location, add field to get rounded location for tile rendering.
If NPC has path, loop through path.
2019-12-06 09:44:51 -05:00
j0y
c6235411b7
Add basic movement ( #240 )
...
* Add basic movement
* Calculate step length based on tick time between updates, teleport to target if within one step.
* Smooth camera, hero movement
removed float to int conversions in Render and IsoToScreen functions
* Render hero in the center of the screen (assuming 800x600 resolution)
* Revert changing Render() parameters type
* Render hero in the tile loop
hero will naturally render in front of the walls of the current tile but behind the walls of the tile below
* Smoother steps near target coordinates
remove jitter from trying to get one step away from target on both axis
2019-12-02 16:55:48 -05:00
Ziemas
51d78bfcbf
Draw object layers in order and generally untangle the direction mess. ( #239 )
...
* Implement drawing COF Layers by priority
Hack it up by using always draw order for direction 0 until we get a
better handle on directions in the engine.
* Take directions in "cof directions"
Transform into dcc directions for loading frames.
* Set characters to dir 0 in char select.
Direction 0 is now facing down universally
2019-11-26 21:04:36 -05:00
nicholas-eden
19257abddb
Extract sprite from dc6 from D2Shared ( #234 )
...
Remove processing of dc6 file type from sprite creation. Use dc6 loader from D2Shared.
2019-11-24 17:58:23 -05:00
負弌
30c3bb7330
Fix CJK render problem partially ( #222 )
...
* Fixed CJK render problem
* Add partial support of loading CJK fonts
2019-11-21 21:40:12 -05:00
Ziemas
e70378d627
Increase draw distance up and down ( #209 )
...
* Scroll slowly in map test by holding shift
* Increase draw distance up and down
Avoid issues with long tiles popping in and out of view. (As long as
camera is reasonably within bounds)
2019-11-18 18:23:33 -05:00
Ziemas
9117616b0c
Fix the tile coordinates shown in the top left ( #208 )
2019-11-18 17:42:38 -05:00
Tim Sarbin
7f6e14c5d0
More map engine improvements. ( #203 )
2019-11-17 16:06:02 -05:00
Averrin
5eafa9cc0b
Create tiles cache on region loading ( #200 )
...
* tile choice algo
* cycle region files
* switcher limited by preset
* create tile caches befor rendering
* remove keyLocked
2019-11-17 08:09:54 -05:00