Tim Sarbin
7b38a9d818
Updates ( #340 )
2020-06-19 02:19:27 -04:00
Tim Sarbin
2da08884c4
Added multiplayer support ( #336 )
2020-06-18 14:11:04 -04:00
Tim Sarbin
16dc775be1
Renamed scene to screen to avoid confusion of intent. ( #334 )
2020-06-13 20:36:20 -04:00
Tim Sarbin
52f8cd6d0c
Initial work to separate client and server logic ( #330 )
...
* Switched to json formatted characters
* Added infrastructure for networking
* Minor updates.
* more updates for map engine/rendering
* More map engine changes and fixes
2020-06-13 18:32:09 -04:00
Robin Eklind
ff4f0b0bfa
all: use goimports to format code and fix two minor typos in comments ( #326 )
...
Typos located using misspell: https://github.com/client9/misspell
Formatting done using goimports: https://godoc.org/golang.org/x/tools/cmd/goimports
2020-04-11 14:56:47 -04:00
dk
019bb920c9
Feature pl2 asset manager ( #319 )
...
* adding pl2 as a fiel format and an asset manager for pl2 files
* adding pl2 as a file format and an asset manager for pl2 files
* pl2 asset manager and file format
* added call in main.go to load palette transforms
* removed incorrect PaletteTransformType declarations from main.go
* removingn bad resource path for palette transform
* PL2 file format added, added to asset management
PL2 files are beside palette files in the mpq
These files define palette transforms of their respective base palette.
I've bound a command to d2term (in d2asset.go)
load_pl2 <path>
* Clean up PL2 asset stuff
removed pl2 stuff from d2datadict, didn't belong in there
removed d2term debug binding
* minor cleanup for d2pl2
2020-02-26 22:52:05 -05:00
Alex Yatskov
664b8416f1
Remove global palettes; everything goes through d2asset now ( #322 )
...
* Configuration cleanup
* Cleanup
* remove global palettes
2020-02-26 22:46:47 -05:00
nicholas-eden
1011b2f030
Add simple index to query map ( #321 )
...
`renderPass2` is looping over every entity for every frame, this updates the method so it only evaluates each entity once.
Adds ability to query by rectangle or circle.
2020-02-26 08:40:32 -05:00
Alex Yatskov
a4efd41383
File format cleanup ( #320 )
...
* Configuration cleanup
* Cleanup
* cleanup file formats
* make palettes a proper fileformat
2020-02-26 08:39:38 -05:00
Ziemas
0f7571a5b9
Render animations from their origin in composite. ( #318 )
2020-02-25 09:49:21 -05:00
Alex Yatskov
418c798c2c
Add RenderFromOrigin method to Animation ( #317 )
...
* Configuration cleanup
* Cleanup
* Add RenderFromOrigin option
2020-02-24 23:04:01 -05:00
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
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