Commit Graph

561 Commits

Author SHA1 Message Date
Tim Sarbin e8b315861d
One more CI fix.. (#291) 2020-02-02 18:29:28 -05:00
Tim Sarbin 7bb7c35d53
Hopefully fixed CI error (#290) 2020-02-02 18:26:53 -05:00
Tim Sarbin 83f7301705
Added CircleCI (#289)
* Added CircleCI

* Removed the github workflow
2020-02-02 18:23:32 -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 241e8e2875
Cleanup main.go, better error handling, less repetition (#287) 2020-02-02 14:59:47 -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
Tim Sarbin 4cbb755335
Added full error checking to main.go. Removed redundant casts. (#280) 2020-02-01 19:42:39 -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
dk 568bc7977e
re-adding local build string (#277) 2020-02-01 00:17:56 -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
Peter David Faria 1653ffc362 Added runtime check for 32-bit windows. (#273) 2020-01-18 22:55:59 -05:00
Ziemas 6cea2bded0 Update ebiten (#272) 2020-01-02 09:17:55 -05:00
Ziemas 0876a2953d NPC path: change mode before changing directions. (#271)
We need the data of the new mode before making a decision on what
direction to use.
2019-12-28 23:33:30 -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
Ziemas 29c5839876 Don't try to copy config.json on travis (#263)
I doesn't exist anymore
2019-12-19 20:25:44 -05:00
Ziemas 18af81ace2 Hopefully fix CI (#262) 2019-12-19 20:15:11 -05:00
Ziemas 006dcddfb7 Use new material flag name. (#261)
Update ebiten ref while at it
2019-12-19 20:01:00 -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
Ziemas 21cead11b9 Frame atlas for DCC directions (#255)
Combine the animation frames of the current DCC direction into one
image.
2019-12-17 18:23:21 -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 61d63bc902 Remove ebiten reference in d2shared (#252)
* Remove ebiten reference in d2shared
* update d2shared reference to latest
2019-12-15 14:07:57 -05:00
Tim Sarbin 4eeac5c1d9
Add OSX support for path fixups. (#251) 2019-12-14 00:15:52 -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
j0y 5b6da2434f Don't reset animation when changing direction (#248) 2019-12-09 17:25:29 -05:00
Alex Yatskov 413d95335a Add OpenDiablo2 non-windows bin to gitignore (#247) 2019-12-08 23:37:16 -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
Tim Sarbin 87e016617a
Fixed compile error (#244) 2019-12-06 17:52:35 -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
Tim Sarbin 88b9fb6207
Updated D2Shared reference. (#242) 2019-12-02 19:16:57 -05:00
liberodark e42b53f44e Update run.sh (#241) 2019-12-02 16:57:47 -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