johni0702
f925d56ca2
Split mod into core, recording, replay, render[todo], paths[todo] and extras[wip] modules
...
Move everything to com.replaymod package
Add KeyBindingRegistry and SettingsRegistry
Recreate settings GUI with new GUI API and dynamically from SettingsRegistry
Use ReplayFile from ReplayStudio
ReplayHandler is now object oriented
Add GuiOverlay, GuiSlider and GuiTexturedButton to GUI API
Rewrite both overlays to use new GUI API
Fix size capping in vertical and horizontal layout
Allow CustomLayouts to have parents
Fix tooltip rendering when close to screen border
Allow changing of columns in GridLayout
2015-10-03 17:36:04 +02:00
CrushedPixel
da9ce46613
Change ReplayHandler and KeyframesModifyEvent to use AdvancedPositionKeyframeList instead of KeyframeList<AdvancedPosition>
2015-09-10 19:31:07 +02:00
CrushedPixel
d736863b96
Disallow leaving spectating while in Camera Path
2015-09-09 18:21:00 +02:00
CrushedPixel
a56d800d43
Added config entry in advancedSettings to disable initial login prompt
2015-09-06 18:35:15 +02:00
johni0702
33d1d03732
Fix player being invisible after respawn
...
Remove unused PlayerRespawnEvent handler
2015-09-06 15:13:10 +02:00
johni0702
aee9d6b232
Rewrite authentication handling
...
Fix logout not working until restart
2015-08-31 16:16:22 +02:00
johni0702
d72d12783f
Open mouse input gui when command key is pressed
2015-08-31 13:41:50 +02:00
johni0702
6b6f6732d5
Add basic replay restriction system (no restrictions yet)
2015-08-30 15:54:48 +02:00
CrushedPixel
6f35b175fd
Some more cleanup in MinecraftTicker
2015-08-22 16:35:17 +02:00
CrushedPixel
989dbd76e5
Remove unnecessary method calls in MinecraftTicker (mainly Spectator Mod and Item Pick related)
2015-08-22 16:35:17 +02:00
CrushedPixel
e4b52c62f8
In the TickAndRenderListenener, replace the tick() Method which listens to all TickEvents with a onRenderTick Method which listens only to RenderTickEvents. This way, Key and Mouse Inputs aren't fired more frequently while the Replay is not paused. (Camera Roll has the same speed now while paused and unpaused)
2015-08-22 16:35:17 +02:00
CrushedPixel
b63f19d082
Remove unnecessary calls to LWJGL Keyboard functions in KeyInputHandler
2015-08-22 16:35:17 +02:00
johni0702
a3d3c2dddc
Fix spectating being quit on world change / respawn
2015-08-19 12:22:55 +02:00
johni0702
d1e55266e2
The fake player now has the same entity id as the recording player as assigned by the server
...
This fixes arrows bumping into recording player in replay
ReplaySender converts old replays on the fly
Do not insert PlayerListEntry as it's already contained in the replay
2015-08-19 12:22:55 +02:00
johni0702
b9ec83b006
Fix IOBE when using special keys and replay is paused
...
Fix mouse buttons not working when replay is paused
2015-08-15 14:51:47 +02:00
CrushedPixel
599aa2cf53
Redirect S19PacketEntityStatus to the Replay Player's entityID in ReplaySender
...
Removed unnecessary Event Listeners in RecordingHandler that injected S19PacketEntityStatus whenever the Player was damaged or died
2015-08-14 16:26:32 +02:00
CrushedPixel
d98845deab
Disabled many Keybindings during Camera Paths
2015-08-09 13:06:57 +02:00
CrushedPixel
40aaf7fbef
When initially asked to Log in, rename "Cancel" to "Skip" button to indicate that the user doesn't have to log in in order to use the mod
2015-08-07 12:23:58 +02:00
CrushedPixel
d4259c103f
Added Shortcut to toggle Interpolation ('O' key)
2015-08-05 13:03:53 +02:00
johni0702
6422558028
General warning cleanup
2015-07-19 16:21:56 +02:00
CrushedPixel
33ff72b878
Wait until world has loaded when previewing a Camera Path
...
Clean up unused fields and thus unnecessary methods in ReplayProcess
2015-07-17 14:35:58 +02:00
CrushedPixel
9576e7b35c
Prevented NPE in TickAndRenderListener
2015-07-16 13:50:10 +02:00
johni0702
affcb3df0a
Fix constantly re-registering the camera entity event handlers
2015-07-15 18:49:07 +02:00
CrushedPixel
3a2c35cb22
Added Api Call checking if the Mod has the latest version and Message in Main Menu if not up-to-date
...
Removed unused GuiConstants Fields
2015-07-15 14:08:28 +02:00
CrushedPixel
a58e06703c
Using the DELETE Key, selected Keyframes can now be removed
...
Added StaticKeybindings to provide non-changeable KeyBindings
2015-07-13 22:27:14 +02:00
CrushedPixel
0f024a9de9
Cleaned up ReplayHandler by unifying selectedKeyframe and selectedMarkerKeyframe into selectedKeyframe, thus only being able to select one Keyframe at once
2015-07-13 22:08:41 +02:00
CrushedPixel
2297808e9d
In MinecraftTicker, only handle Key Input if no GUI is open as the GUI will invoke the same dispatchKeypresses() method itself
2015-07-13 16:08:21 +02:00
johni0702
109a025a1e
Only use java 6 methods
2015-07-10 14:54:11 +02:00
CrushedPixel
ef39c7466d
Renamed the commonly used Position POJO into AdvancedPosition, as it also hold pitch, yaw and roll
...
Made GuiDropdown only accept instances of GuiEntryListEntry to avoid unneccessary toString() methods returning the name
Added GuiEntryListValueEntry which holds a Value and a Name to be displayed
Continued work on GuiObjectManager
2015-07-10 04:27:15 +02:00
johni0702
d4e04feaeb
Use new Gui API for GuiLoginPrompt and GuiRegister
2015-07-09 18:24:15 +02:00
CrushedPixel
16b74d9824
Included Path Interpolation methods in KeyframeList and uses it in PathPreviewRenderer
...
Created newInstance() method in KeyframeValue interface
2015-07-08 23:55:48 +02:00
CrushedPixel
e26e09a264
Made GuiDraggingNumberInput fully functional
...
Linked GuiObjectManager to new Keybinding
Renamed RoundUtils#round to RoundUtils#round2Decimals for easier understanding
2015-07-08 12:13:23 +02:00
CrushedPixel
64628eaac3
call super in equals/hashCode functions of KeyframesModifyEvent using Lombok
2015-07-08 04:48:20 +02:00
CrushedPixel
5100b63964
Warning, GIGANTIC COMMIT!
...
Replaced Keyframe subclasses with Generic Types of Keyframe and replaced all instanceof calls
Replaced implementations of Linear and Spline interpolation to interpolate any Object that extends KeyframeValue and contains at least one public double Field. I'll need this for Keyframe interpolation in CustomImageObject Transformations
Made MarkerKeyframe *no* subclass of Keyframe to avoid conflicts with PositionKeyframe in instanceof checks for Keyframe#getValue
Created KeyframeList which extends ArrayList to provide some helping functions which DRY up the ReplayHandler
Split up ReplayHandler's keyframeList into timeKeyframeList and positionKeyframeList
2015-07-08 04:13:24 +02:00
CrushedPixel
89cc6938f8
Reworked AssetRepository to link every Asset to a UUID
...
UUIDs are now being stored in the Replay File and loaded
2015-07-07 20:14:40 +02:00
CrushedPixel
e22b37babe
Created ReplayAsset interface and AssetRepository class which can contain such ReplayAssets. ReplayAssets allow users to add custom Files (so far only images, might be extended by .obj files) to the Replay which will later be used for CustomImageObjects.
...
Created GuiReplayManager to allow users to manage their assets.
Created BoundingUtils class to provide a simple method to fit an image into given bounds. This implementation fixes https://trello.com/c/WTnicWkJ/
2015-07-07 18:45:48 +02:00
johni0702
9f4b2d9026
Pause the recording when the integrated server is paused
2015-07-07 13:09:38 +02:00
CrushedPixel
bf7b28d53c
Fixed the "M" key being typed in a TextBox adding/removing marker keyframes
2015-07-06 16:39:40 +02:00
CrushedPixel
a5eadd2d01
Created GuiEntryListEntry interface for GuiEntryList contained classes to avoid toString() methods from having to be abused
...
Created GuiFileChooser and according Listeners
Added (non-functional) GuiAssetAdder for CustomImageObjects
2015-07-06 13:44:50 +02:00
CrushedPixel
0bb335f692
Added Callback before clearing Keyframes | https://trello.com/c/ZzOk0ju1/
2015-07-03 12:12:33 +02:00
CrushedPixel
d5007692de
Opens "Please wait" GUI Screen if Replay needs to be edited by ReplayFileAppender
...
Added ReplayExitEvent
2015-07-02 13:24:50 +02:00
johni0702
3de7394a0c
Compare int and Integer using Objects.equals to prevent NPE
2015-06-29 22:28:58 +02:00
johni0702
a058497727
Fix all warnings
...
Add and make use of Lombok
Remove Mojang API
Remove ZipFileUtils
Remove StreamTools in favor of Apache IOUtils
Keyframe should be abstract all derivatives final
Replace clone in Keyframe with copy
Move some constants from GuiReplaySetttings to GuiConstants
2015-06-29 21:45:37 +02:00
CrushedPixel
540588125b
Allow Camera Tilt Reset while other Keys (e.g. Movement) are pressed
2015-06-29 21:25:00 +02:00
CrushedPixel
7c46259f54
Does not render Players at all if they're invisible (e.g. Spectator Mode) - resolving https://trello.com/c/Hy1NaAKu/
...
Does not render crosshair if hovering over invisible players
2015-06-29 15:44:01 +02:00
CrushedPixel
fb12119e5c
While Recording, only insert S19PacketEntityHeadLook for recording player if value actually changed | https://trello.com/c/9MZeTBgj/
2015-06-29 15:35:12 +02:00
CrushedPixel
f52ed6d92b
Added a static helper class to determine whether an Entity can be spectated or not - this results in DRY code. While doing so, excluded mc.thePlayer from the spectateable Entities, resolving https://trello.com/c/anFRmsfM/
2015-06-29 15:22:52 +02:00
CrushedPixel
45485b9367
Only displays Crosshair if hovered entity can be spectated | https://trello.com/c/CJBVrB2O/
...
Fixes background of lowest line of chat being opaque if Crosshair is rendered | https://trello.com/c/66veZRVH/
2015-06-29 15:07:23 +02:00
CrushedPixel
a101d7a311
Only render Crosshair if hovered Entity can be spectated | https://trello.com/c/CJBVrB2O/
2015-06-29 14:31:44 +02:00
CrushedPixel
36c38ddfd3
Rewrote Camera Movement to only respect previous motion direction | Fixes https://trello.com/c/y7nIqj47/
2015-06-29 12:54:56 +02:00