Commit Graph

491 Commits

Author SHA1 Message Date
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
dk a25e42518d
DataDictionary loader for ItemStatCost (#333)
* adding rules for swap files to .gitignore

* main, d2common: load Magic/Rare/Unique Affix

* d2common: item affixes only

removed Rare/Unique Prefix/Suffix as those are related to monsters, not items.

* removed debug print from item_affix.go

* changed item affix type names for clarity, removed debug print from data_dictionary

* d2common: item affix datadict and records

Item Affixes are defined in `/data/global/excel/Magic{Prefix,Suffix}.txt`
Rare and Unique Pre/Suffixes seem to be for monsters, not items.

d2common: item affixes only

removed Rare/Unique Prefix/Suffix as those are related to monsters, not items.

removed debug print from item_affix.go

changed item affix type names for clarity, removed debug print from data_dictionary

* reverting to pre-allocating memory for parsing txt lines

* removing the rest of the rare/unique definitions

* removing the rest of the rare/unique definitions

* adding ItemStatCost data dict loader
2020-06-13 19:52:22 -04:00
liberodark 80877380af
Fix and QA (#325)
* [CodeFactor] Apply fixes

* Update README.md

* Update README.md

Co-authored-by: codefactor-io <support@codefactor.io>
2020-06-13 18:34:45 -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
dk 515b66736d
Item Affixes (#328)
* main, d2common: load Magic/Rare/Unique Affix

* d2common: item affixes only

removed Rare/Unique Prefix/Suffix as those are related to monsters, not items.

* removed debug print from item_affix.go

* changed item affix type names for clarity, removed debug print from data_dictionary

* d2common: item affix datadict and records

Item Affixes are defined in `/data/global/excel/Magic{Prefix,Suffix}.txt`
Rare and Unique Pre/Suffixes seem to be for monsters, not items.

d2common: item affixes only

removed Rare/Unique Prefix/Suffix as those are related to monsters, not items.

removed debug print from item_affix.go

changed item affix type names for clarity, removed debug print from data_dictionary

* reverting to pre-allocating memory for parsing txt lines

* removing the rest of the rare/unique definitions

* removing the rest of the rare/unique definitions
2020-05-08 12:33:37 -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
nicholas-eden b957661915 Add panel to contain hero stats (#299)
Left framing with stats panel, bound to 'C' key.
2020-02-08 10:51:11 -05:00
Nick 99e6acf2bb
Write default configuration file if one is not found. (#298) 2020-02-07 22:21:15 -05:00
liberodark 554a276520
Update run.sh (#296) 2020-02-06 20:01:11 -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
Tim Sarbin 81013286e6
Added CircleCI badge (#292) 2020-02-02 18:52:16 -05:00
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