1
1
mirror of https://github.com/OpenDiablo2/OpenDiablo2 synced 2024-10-31 16:27:18 -04:00
Commit Graph

32 Commits

Author SHA1 Message Date
Alex Yatskov
1262c80e6b Create viewport and camera types (#246) 2019-12-08 22:18:42 -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
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
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
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
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
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
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
Averrin
78a70c2d2b add map switcher (#162) 2019-11-13 14:26:42 -05:00
Tim Sarbin
a6a9434267
Added more functionality to character select screen. (#143) 2019-11-11 23:48:55 -05:00
Tim Sarbin
3f01ad09ae
Renamed files to lowercase. (#137) 2019-11-10 17:36:25 -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