Commit Graph

634 Commits

Author SHA1 Message Date
Collin Smith
d6c76d2add Fixed an error in D2 file type 2019-12-06 23:47:57 -08:00
Collin Smith
d3529540ca Committing local changes -- added D2 reference to Riiablo class 2019-12-05 04:06:43 -08:00
Collin Smith
1a7f6a95da Added support for clearing map graph when map is disposed
Disposing maps was leaving invalid pathfinding results -- this fixes that
2019-12-04 23:49:20 -08:00
Collin Smith
6fed567f38 Animation box will update when initially loading COF
Animation box will update when initially loading COF
Debug drawing animation will display origin
Created issue #71
2019-12-04 15:29:41 -08:00
Collin Smith
a4068ba975 Improved D2.Entry
Renamed b1 to speed and changed to unsigned byte as short
Renamed b2 to unk1 and changed to unsigned byte as short
Added assertion that zero is really 0
2019-12-04 02:06:57 -08:00
Collin Smith
99256902e9 Added D2 finder to search for cofs in d2 files or dump d2 file entries 2019-12-03 21:30:06 -08:00
Collin Smith
20dc30409d Removed additional debug logging 2019-12-03 20:51:54 -08:00
Collin Smith
d43dcf4116 Improved support for lower wall tiles by adding proper offset 2019-12-03 14:41:10 -08:00
Collin Smith
116865ca45 Moved Cell debug layer check up a line and improved its correctness 2019-12-03 14:13:43 -08:00
Collin Smith
08abc390af Rolled back change to apply only to layer 0 2019-12-03 14:06:27 -08:00
Collin Smith
0efa88c141 Added support for hiding debug objects
Added support for hiding debug objects
Map cell values now have main and sub indexes unset
Added additional parameter that seems to block walk better on non-map floor tiles
2019-12-03 13:50:43 -08:00
Collin Smith
de5a9e3bd9 Added an additional debugging mode for RenderSystem to assist with debugging DS1 cells 2019-12-03 04:25:44 -08:00
Collin Smith
8a30752432 Added improved support for changing acts 2019-12-03 01:47:31 -08:00
Collin Smith
73960ab993 Fixed issue where _65 was not activated as a pop pad 2019-12-03 01:46:47 -08:00
Collin Smith
07d56dd3a6 Fixed an issue where specials were not being assigned new maps when recycled
Fixed an issue where specials were not being assigned new maps when recycled
Fixed issues drawing poppad zone areas
Added getPixOffset function in isometric camera to retrieve camera offset
2019-12-03 01:38:34 -08:00
Collin Smith
f1ac35cb68 Disposing map will now clear DT1s 2019-12-03 00:44:58 -08:00
Collin Smith
1075779ece Fixed issue where freeing byte and tile arrays did not place them in proper pool resulting in invalid sized arrays being obtained 2019-12-03 00:39:41 -08:00
Collin Smith
d3aa3b4fc1 Fixed issues with zone pooling
Zone fields are now reset correctly
obtainByteArray and obtainTileArray now clear their data up to required size
2019-12-03 00:19:13 -08:00
Collin Smith
85546d197e Added partial support for changing acts
Added partial support for changing acts (levels will come after waypoint are added)
Added a click lister to waypoint buttons and set their user object to referenced level
Changed from static loading screen to a dynamic one that is pushed over game screen and popped off to hide loads
Changed disposing strategy of GameLoadingScreen to always keep loading descriptor in memory
Client#clearAndSet(Screen) now disposes existing screens and clears before setting new one
2019-12-02 23:11:18 -08:00
Collin Smith
a58275f7d0 Committing builders for acts 2-5 2019-12-02 19:30:22 -08:00
Collin Smith
c5bd188f5d Added support for rendering additional acts 2019-12-02 19:29:47 -08:00
Collin Smith
c4f1bec988 Added support for COF layers to search for DCC and DC6 versions 2019-12-02 18:08:51 -08:00
Collin Smith
96df3d913c Added support for DC6 layers within COFs 2019-12-02 17:37:57 -08:00
Collin Smith
9f350b635e Fixed an issue not pooling arrays of sizes that should be pooled 2019-12-02 14:38:36 -08:00
Collin Smith
b64900c52c Added rudimentary support for BNCS (chat service) 2019-12-02 03:12:44 -08:00
Collin Smith
c009982e13 Changed port for d2gs within TCP/IP screen and implemented render() within d2gs 2019-12-02 02:03:31 -08:00
Collin Smith
f0a49b7c3a Removed unused code 2019-11-30 22:55:08 -08:00
Collin Smith
2264a378cd Amending previous commit -- removing Server class too 2019-11-30 22:15:25 -08:00
Collin Smith
c4917021ad Removed old server code and replaced Account with a different implementation 2019-11-30 22:14:07 -08:00
Collin Smith
018cc9767c Fixed passing connect info in JoinGame 2019-11-30 20:16:58 -08:00
Collin Smith
9f5d134eee Added MSI (master slave instancer) to create child D2GS processes
Added MSI (master slave instancer) to create child D2GS processes
This is intended to act as a temp structure for testing until support for actual servers are added where an API can generate proper instances
2019-11-30 20:02:36 -08:00
Collin Smith
ca94ac5a60 Added support for joining game sessions with MCP
Added support for joining game sessions with MCP
Created MAX_PLAYERS constant in Engine
2019-11-30 15:22:03 -08:00
Collin Smith
4a5a03edbc Added support for creating game sessions with MCP
Added support for creating game sessions with MCP
Forced debug mode for BNLS and MCP for testing purposes
Fixed type with Result#ALREADY_EXISTS constant
Extended GameSession to support builder pattern and CreateGame copy constructor
2019-11-30 02:24:13 -08:00
Collin Smith
ac35310ace Added MCP server module which acts as the server browser
Added MCP server module which acts as the server browser
MCP only supports listing games at this time
Minor changes to LoginScreen to reflect how LobbyScreen was written differently
Added desktop with networking run config which starts up server instances and then a client
Created GameSession class which is used as a cache for mcp GameSession packets
2019-11-30 01:46:56 -08:00
Collin Smith
67b7700f7f Changed LobbyScreen viewport to Riiablo.extendViewport to remove scaling 2019-11-29 21:43:01 -08:00
Collin Smith
7ebf72d231 Added login system and reintegrated realm lobby 2019-11-29 21:33:58 -08:00
Collin Smith
8f3975aeda Added padding to text fields 2019-11-29 15:14:25 -08:00
Collin Smith
83de5e462e Added rough in of audio emitter system 2019-11-29 15:11:28 -08:00
Collin Smith
31e3d7632e Added QuillRat AI and support for missile entities
Added QuillRat AI
Added support for creating and firing Missile entities
Missile entities using separate physics system to step their movement
Added system to load Missile animations
Reduced Fallen trigger distance to 25 from 35 so they are less aggressive while testing
2019-11-29 02:03:56 -08:00
Collin Smith
d21f6b887d Added automatic preloading of common sound assets to avoid hitching (~1.5MB usage) 2019-11-29 00:32:30 -08:00
Collin Smith
2c7d28a098 Implemented sequence system for Fallen and Zombie AIs
Implemented sequence system for Fallen and Zombie AIs
Moved some common AI actions to AI class (pathing, look at, sequence)
SequenceSystem will automatically reset anim speeds when changing modes
2019-11-29 00:31:06 -08:00
Collin Smith
ede01ecf3d Added SequenceSystem and SequenceComponent to provide state transitions 2019-11-29 00:05:01 -08:00
Collin Smith
10dedcfecb Added and disabled map disposing due to bug with multiple instances 2019-11-28 18:11:36 -08:00
Collin Smith
2139747d0c Fixed issue where game would crash if trying to enter multiple games in a single instance 2019-11-28 18:08:33 -08:00
Collin Smith
b1b2e3985f Added flags to control debugging for paths and box2d 2019-11-28 17:57:47 -08:00
Collin Smith
fe1f72332c Added extra condition for debug renderer to not show animation frames for animations with single frames 2019-11-28 17:55:16 -08:00
Collin Smith
a072625dba Moved Map into constructors and removed various setMap(Map) methods
Fixed issue where calling Map#generate() would throw a nested iterator error
2019-11-28 16:28:27 -08:00
Collin Smith
d09828e315 Removed MapLoader (see #13) 2019-11-28 15:32:33 -08:00
Collin Smith
0d1b7819df Rewrote Map and redesigned map/game screen loading strategy to better comply with #13 2019-11-28 15:29:53 -08:00
Collin Smith
58acc6d6bc Replaced GridPoint2 with Vector2
Replaced GridPoint2 with Vector2
Reduced buffer size for DS1 to 8192B
Added extra debugging info for DS1 decode cases with extra bytes
2019-11-27 06:22:04 -08:00
Collin Smith
0249ca2883 Added more robust validation of character state changes for alpha and transform (see #37) 2019-11-26 22:01:47 -08:00
Collin Smith
96823c46b3 Fixes error when creating a new character 2019-11-26 21:43:49 -08:00
Collin Smith
29941e106f Removed object oriented engine code-base
Removed object oriented engine code-base and deprecated remaining classes
Removed some older test classes which implemented the old engine
Moved game screen panel classes to screen.panel package
Changed game screen panel classes to use Riiablo.game reference
2019-11-26 16:23:22 -08:00
Collin Smith
0617942f3e Fixed Engine instantiation and added input processor for testing purposes 2019-11-26 15:27:13 -08:00
Collin Smith
6dd75af2f7 Added support for enforcing labels remain within screen bounds 2019-11-26 15:19:20 -08:00
Collin Smith
735fb021e9 Added support for monster label -- which is a distinction from other labels 2019-11-26 15:12:59 -08:00
Collin Smith
00f61303c4 Code cleanup 2019-11-26 00:51:19 -08:00
Collin Smith
f2ae483e4b Updated UI practices and alignment to other screens -- fixed LoginScreen to use the extended viewport 2019-11-26 00:16:43 -08:00
Collin Smith
085e43d92e Lowered item label height to compensate for them no longer being centered at the offset 2019-11-25 23:52:28 -08:00
Collin Smith
3442d3d3b2 Moved AISystem to correct package and implemented radius check to run AI 2019-11-25 23:48:16 -08:00
Collin Smith
4516249bc0 Committing AI system which will perform AI updates 2019-11-25 23:43:34 -08:00
Collin Smith
b49bcb6ef1 Added secondary stage called scaledStage
scaledStage will be used to render UI components with the isometric camera -- this will make components easier to read and select on mobile
2019-11-25 23:38:28 -08:00
Collin Smith
e3c608bd33 Disabled drawing labels when a menu or dialog is open 2019-11-25 22:24:19 -08:00
Collin Smith
59cf572815 Added additional condition for Npcs to face player 2019-11-25 22:12:01 -08:00
Collin Smith
c2af0cdbf6 Ported Fallen AI 2019-11-25 14:56:00 -08:00
Collin Smith
4297f76b5c Added Npc greeting and additional state correctness assignments 2019-11-25 04:46:39 -08:00
Collin Smith
6e5d71545f Set cof speeds back to 136 delta -- still needs work on proper formula, but this is fine for now 2019-11-25 04:40:47 -08:00
Collin Smith
38ceb8cd72 Extended InteractableComponent to support counter for number of concurrent interactions and added support in Npc AI for this 2019-11-25 04:10:02 -08:00
Collin Smith
ef0b99a02a Added dialog boxes and support for Npc introduction and gossip functions 2019-11-25 03:59:56 -08:00
Collin Smith
98bd87ef61 Ported Zombie AI and fixed NPE case where target entity was not Interactable 2019-11-25 03:50:46 -08:00
Collin Smith
947b5974f9 Added debug text for AI status and added state names for Npc AI 2019-11-25 03:26:48 -08:00
Collin Smith
1fa7c20f3b Added support for generated monster entities 2019-11-25 03:19:35 -08:00
Collin Smith
5688752d71 Added AI system along with ported Npc AI 2019-11-25 00:53:10 -08:00
Collin Smith
1f62cf4aca Added MonsterComponent reference in AI, added component mapping to Npc 2019-11-24 22:40:37 -08:00
Collin Smith
83dc4dae68 Adjusted z-order of mobile controls to prevent interaction and blocking of panels 2019-11-24 22:14:35 -08:00
Collin Smith
cb828b100a Prevent touch movement on android 2019-11-24 22:02:28 -08:00
Collin Smith
bff683203d Added AIComponent and implemented Interactor into AIs
Added AIComponent and implemented Interactor into AIs
Added support for NpcMenu along with correct stage placement
2019-11-24 21:54:04 -08:00
Collin Smith
e0bee92925 Added ClientScreen reference within Riiablo class and removed it from Engine and ObjectIterator constructors 2019-11-24 16:41:54 -08:00
Collin Smith
d7ba715fef Added control for debug mode 2019-11-24 16:29:04 -08:00
Collin Smith
cb95b0c8ce Removed unused code and reduced pathing limit to 300 nodes now that raycasting can take over 2019-11-24 03:36:17 -08:00
Collin Smith
bca49f4633 Added WarpInteractor and improved target handling within TouchMovementSystem 2019-11-24 03:15:28 -08:00
Collin Smith
8f147094a7 Refined TouchMovementSystem to work more smoothly near walls
Refined TouchMovementSystem to work more smoothly near walls by turning off pathing and using raycasting and box2d
Replaced gdx-ai raycaster with my own implementation that supports passing size and flags
Exposed MapGraph#getOrCreate(Vector2) -- may move this class and return these to package access later
2019-11-24 02:48:41 -08:00
Collin Smith
d29ed177ca Added support for touch movement and interaction
Added interact system and interactors for object and items
Added minimum bounds to item entities to make them easier to interact with
Committing EntityAdapter -- should have been included a few commits ago
Added ClientScreen to Engine constructor
Committing ClientScreen -- tbd replacement for GameScreen
Added CollisionSystem to update Box2D bodies with current object state
2019-11-23 22:52:40 -08:00
Collin Smith
6cd0777557 Workaround for interactable entities not allowing to be pathed to (since their coords were flagged on map) 2019-11-23 19:22:25 -08:00
Collin Smith
29cbcead58 Made item entities interactable 2019-11-23 18:29:31 -08:00
Collin Smith
917c461e37 Extended PathfindDebugSystem to better support using independently from engine to test path finding
Added support for drawing ellipses with DebugUtils
2019-11-23 17:59:11 -08:00
Collin Smith
407d41c7ba Implemented a JPS path finder (see #63) 2019-11-23 16:58:37 -08:00
Collin Smith
b2d8b7f8b9 Fixed variable names 2019-11-23 02:04:30 -08:00
Collin Smith
1d820b8bb2 Folded NodeRecord into Point2
Renamed IndexAStarPathFinder to AStarPathFinder because it isn't indexed anymore
2019-11-22 23:49:49 -08:00
Collin Smith
42c440618f Minor change to enforce correct heuristic type is assigned to heuristic fields 2019-11-22 22:34:46 -08:00
Collin Smith
99914c2c23 Rewrote path finding related classes to be more tailored to my needs (see #63) 2019-11-22 22:20:53 -08:00
Collin Smith
673463da91 Refactored and moved some things around -- changed node category to byte 2019-11-22 16:17:04 -08:00
Collin Smith
8545fc22fc Replaced node records array with one that is dynamically resized 2019-11-22 16:00:41 -08:00
Collin Smith
a5898b568f Moved graph indexing abstraction to node interface
Moved graph indexing abstraction to node interface
Created clearanced node interface
Simplified IndexedAStarPathfinder
2019-11-22 03:26:15 -08:00
Collin Smith
f7bdd339e4 Added support for item entities
Created ItemLoaderSystem to defer flippy file loading
Item entities are selectable only after their flippy file has been loaded since they have no bbox
Changed implementations from EntityListener to EntityAdapter
2019-11-21 04:11:16 -08:00
Collin Smith
07ec6a9bc1 Relaxed family constraint that all entities should have a COF -- items do not 2019-11-21 03:39:31 -08:00
Collin Smith
354c715261 Fix for shoving NPCs 2019-11-21 02:00:14 -08:00
Collin Smith
2e264abb66 Fixed issue setting flags for multiple rows 2019-11-21 01:58:12 -08:00
Collin Smith
d6f8de3b86 Added support for generating box2d bodies for monster and objects and generalized player entities
Added support for generating box2d bodies for monster and objects and generalized player entities
Added support for object entities to perform a bitwise or with the map tile flags so pathfinding will avoid them
2019-11-21 01:34:56 -08:00
Collin Smith
266eca76ce Deferred disposing to Disposable interface 2019-11-20 05:00:54 -08:00