Commit Graph

444 Commits

Author SHA1 Message Date
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
Tim Sarbin 4254b0f020
Finished orientation values. (#198)
* Finished directions for entity.
2019-11-17 02:54:22 -05:00
Tim Sarbin 297184376f
Phase 1 prep work for gameplay (#196)
* Updates
* More merge adjustments.
* Don't commit local changes...
2019-11-17 01:14:58 -05:00
Averrin c3ba3f71e4 Switcher with presets & better tiles randomizing (#173)
* tile choice algo
* cycle region files
* switcher limited by preset
2019-11-17 00:52:13 -05:00
ndechiara 1c2b4869a1 Migrate out d2common d2helper d2data modules (#195)
* Switch items to dynamic load with a common struct, add misc.txt loading
* Update Ebiten Reference
* Switch references to point to D2Shared
* Migrate part 2
2019-11-17 00:16:33 -05:00
ndechiara f13433f299 Switch items to dynamic load with a common struct, add misc.txt loading (#185) 2019-11-15 22:31:10 -05:00
axx c72c4d5768 Some corrections for credits (#183)
Related to issue #77
2019-11-15 19:47:58 -05:00
Ziemas 0475a11512 Toggle tile display in map test with F7 (#172)
* Toggle tile display in map test with F7
* Sub-tile display
Cycle through tile display modes with F7
2019-11-15 09:04:27 -05:00
Myles b9209541c8 Closes Issue#176 (#178) 2019-11-14 23:55:51 -05:00
Tim Sarbin b97bf6353d
Added inventory objects. (#177) 2019-11-14 22:20:01 -05:00
Averrin 78a70c2d2b add map switcher (#162) 2019-11-13 14:26:42 -05:00
TehGoat 055fcd72ed Idle animation and hover gets out of sync (#161) 2019-11-13 12:56:54 -05:00
TehGoat 358fa1481c Modified hero animation speed (#160) 2019-11-13 12:32:17 -05:00
Averrin f83ab90d96 Add CONTRIBUTORS file content to credits screen (#159) 2019-11-13 11:56:45 -05:00
Tim Sarbin a8171145f9
Started work on gameplay scene. (#153) 2019-11-13 00:31:52 -05:00
Tim Sarbin 4fa66988d4
Added the scrollbar. (#152) 2019-11-12 23:44:04 -05:00
Robin Eklind e1d9f676cf fix permissions on .OpenDiablo2 directory (#144) 2019-11-12 08:15:50 -05:00
Tim Sarbin a6a9434267
Added more functionality to character select screen. (#143) 2019-11-11 23:48:55 -05:00
Tim Sarbin 352ff81b72
Fixed texture atlas. Added GC debugging. (#140) 2019-11-10 20:13:10 -05:00
Tim Sarbin 3f01ad09ae
Renamed files to lowercase. (#137) 2019-11-10 17:36:25 -05:00
Ziemas d4d3fdfad3 Checkboxes! (#136)
And add them to the hero class scene.
2019-11-10 17:17:42 -05:00
Tim Sarbin 5d5009208b
Renamed all files to proper go conventions. (#134) 2019-11-10 14:06:05 -05:00
Tim Sarbin f156475731
Added text entry. Fixed performance issue. Added error checking. (#132) 2019-11-10 12:28:41 -05:00
Tim Sarbin e8292e9c42
More optimizations and cleanup. (#131) 2019-11-10 10:44:13 -05:00
Tim Sarbin f2b1bdfba4
More package cleanup. (#130) 2019-11-10 08:51:02 -05:00
Tim Sarbin b41f7f4dab
Restructured everything. (#128) 2019-11-10 03:36:53 -05:00