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
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
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
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
Ziemas
4d655416c2
Cache each cof layer individually and set blending ( #238 )
2019-11-25 20:05:18 -05:00
Tim Sarbin
71f30a5714
Revert "Cache each cof layer individually and set blending ( #235 )" ( #237 )
...
This reverts commit 1bfbffc48d
.
2019-11-25 19:58:30 -05:00
Ziemas
1bfbffc48d
Cache each cof layer individually and set blending ( #235 )
...
* Cache each cof layer individually and set blending
* Draw layers in their correct order
2019-11-25 18:57:55 -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
Ziemas
64c90312f7
Dumb debug printf removed ( #233 )
2019-11-24 01:16:36 -05:00
Ziemas
c0e931eb4f
Animate floor tiles ( #232 )
...
* Caching functions decide if we get random tile
We might not always want to.
* The caching functions don't need to return images
* Cache all frames of animated tiles
Also some error checking
* Update animations before drawing floors
* Fix missing frame
Animate from index 0 to 9
* Update refs
2019-11-24 01:11:32 -05:00
Ziemas
458b17bcc6
Only render visible regions ( #230 )
...
* Only render visible regions
This will need tweaking later to ensure there are no tiles popping in or
out of from regions coming in and out of view.
* Temp hack for act5 lava palette
2019-11-23 08:48:33 -05:00
Ziemas
5ba9470c3a
Switch to using the TileType type for tiles. ( #228 )
2019-11-22 23:30:02 -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
b0d753aef9
Changing the terminology of tile components. ( #220 )
...
Orientation > Type
MainIndex > Style
SubIndex > Sequence
2019-11-21 20:34:29 -05:00
Ziemas
90b5e8a334
Fix GetTiles being called for already cached tiles. ( #219 )
...
* Don't call GetTile from the render functions.
Don't bother trying to render uncached tiles.
* Added back randomization code
* Update refs
* Fix random tiles selection.
No sorting the input, no selecting 0 probability tiles if there are
other options.
2019-11-21 19:54:56 -05:00
Tim Sarbin
dba17fc5fe
Fixed tile cache leak. Broke tile randomization. ( #213 )
2019-11-19 00:38:02 -05:00
Ziemas
2656672fa7
Random tiles ( #211 )
...
* Add position into the tile index
Prevents it from caching one random tile and using it for everything
* Generate tiles based on the current seed
2019-11-18 22:29:34 -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
Tim Sarbin
908d186fea
Prevent some map load crashes. ( #206 )
2019-11-17 22:55:31 -05:00
Ziemas
30b680d9d1
Lower wall stuff ( #205 )
...
Move to top of render order and remove offset
2019-11-17 19:01:17 -05:00
Tim Sarbin
7f6e14c5d0
More map engine improvements. ( #203 )
2019-11-17 16:06:02 -05:00
Tim Sarbin
0c7f4e0647
Minor enhancements to map loading ( #202 )
...
* Minor improvements to map loading/rendering speed.
* Update region.go
2019-11-17 14:21:48 -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
Hajime Hoshi
7222f57c2c
Remove texture atlass ( #194 )
...
Now Ebiten's NewImage / NewImageFromImage / ReplacePixels uses
PBOs, they work much faster. OpenDiablo 2 doesn't have to have its
own texture atlases.
2019-11-17 00:17:09 -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
Ziemas
404a87afd4
Fix issues with rendering order ( #193 )
...
* Rework render passes
* Fix drawing order logic
Mostly at least, probably need the objects OrderFlags to do better.
* Third pass required for Lut Gholein palace roof
2019-11-16 22:53:55 -05:00
Ziemas
0e0ad09e70
Adjust sub-tile rendering offset. ( #182 )
...
-5 Y when rendering based on sub-tile matches real D2 (at least for
rendering act 1 stash)
2019-11-15 19:48:49 -05:00
Tim Sarbin
b5673c1d6f
Fix animation issue and map layer rendering. ( #181 )
...
* Fixed animation 'catchup' issue. Fixed map layer rendering.
2019-11-15 14:12:23 -05:00
Tim Sarbin
4c9f0ec03e
Performance improvements ( #180 )
...
* Performance improvements for rendering.
* Update go.mod
* Changed ebiten revision to support less copying
2019-11-15 13:40:26 -05:00
Ziemas
8ce6da1f6e
Render loop with two passes ( #179 )
...
* Render in two passes
To avoid drawing over objects.
* Apply optimization suggestions
* Less pointers
* Also call GenTiles in GenerateMap, oops.
2019-11-15 11:03:58 -05:00
Tim Sarbin
a9cb2914b7
Revert "Render in two passes ( #169 )"
...
This reverts commit 05ce55da65
.
2019-11-15 10:49:53 -05:00
Ziemas
05ce55da65
Render in two passes ( #169 )
...
* Render in two passes
To avoid drawing over objects.
* Apply optimization suggestions
* Less pointers
2019-11-15 10:09:10 -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
Tim Sarbin
b97bf6353d
Added inventory objects. ( #177 )
2019-11-14 22:20:01 -05:00
Ziemas
ea134afe90
Render to center of subtile ( #167 )
2019-11-13 22:26:52 -05:00
Ziemas
e2bee09469
Place objects according to sub-cell ( #165 )
2019-11-13 20:31:47 -05:00
Tim Sarbin
da9b86c679
Fixed crash on 0 animation speed entities. ( #164 )
2019-11-13 15:08:09 -05:00
Averrin
78a70c2d2b
add map switcher ( #162 )
2019-11-13 14:26:42 -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
Tim Sarbin
a6a9434267
Added more functionality to character select screen. ( #143 )
2019-11-11 23:48:55 -05:00
Tim Sarbin
f81eb5764d
More sprite optimizations. ( #141 )
2019-11-10 20:44:51 -05:00