-
-
Notifications
You must be signed in to change notification settings - Fork 470
Gif player #2833
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
MobinYengejehi
wants to merge
102
commits into
multitheftauto:master
Choose a base branch
from
MobinYengejehi:gifPlayer
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Gif player #2833
Changes from 65 commits
Commits
Show all changes
102 commits
Select commit
Hold shift + click to select a range
c259f7d
Add new display type `DISPLAY_GIF`
MobinYengejehi e762bf2
Add `Gif` entity class
MobinYengejehi 562b87f
Load Gif functions on startup
MobinYengejehi 45c77e0
Load Gif class on startup
MobinYengejehi a363cae
Add `Gif` class type name
MobinYengejehi 66c7f7b
Create CLuaGifDefs.h
MobinYengejehi 5af7c4c
Create CLuaGifDefs.cpp
MobinYengejehi 3f33535
Create CClientGif.h
MobinYengejehi ce4fcd2
Create CClientGif.cpp
MobinYengejehi 56399ae
Create CClientGifDisplay.h
MobinYengejehi 304b7cd
Create CClientGifDisplay.cpp
MobinYengejehi ea85709
Add `CreateGif` function
MobinYengejehi 4f21b9a
Add `CreateGif` function
MobinYengejehi 494e4ba
Add `Gif` render item
MobinYengejehi 595f40e
Create CRenderItem.Gif.cpp
MobinYengejehi 6cedb9f
Add `Gif` render item creator
MobinYengejehi 9915258
Add `Gif` render item creator
MobinYengejehi 564029b
check if rect locked to surface
MobinYengejehi 6ed1853
Erase GetTickCount64 and add it inside constructor
MobinYengejehi 0c6a575
Update tick inside constructor
MobinYengejehi c11b623
Change CClientGif::Register definition
MobinYengejehi 39ca727
Change CClientGif::Register definition
MobinYengejehi 1998dab
Move frames and delays instead of copying them
MobinYengejehi c661315
Use move inside Gif_Register for frames and delays
MobinYengejehi 9769a55
fix a tiny problem
MobinYengejehi 85a5765
Missing space fixed!
MobinYengejehi d6ed7fb
Missing space fixed!
MobinYengejehi a7ae18c
Add const for all getters
MobinYengejehi ec49804
Fix setting Gif frame count
MobinYengejehi 6b5ea31
Change code style
MobinYengejehi e33d2c3
Change code style
MobinYengejehi d9907af
Using vector arrays instead of raw pointer
MobinYengejehi 1870a31
Using vector arrays instread of raw pointers
MobinYengejehi b4d4aed
Using vector arrays instead of raw pointer
MobinYengejehi c150dac
Merge branch 'master' into gifPlayer
MobinYengejehi 954ae0b
Merge branch 'master' into gifPlayer
MobinYengejehi 04711f4
Merge branch 'master' into gifPlayer
MobinYengejehi 3c59864
Merge branch 'master' into gifPlayer
MobinYengejehi 0318a90
Merge branch 'master' into gifPlayer
MobinYengejehi e3e06dc
Remove useless functions
MobinYengejehi 1e5cea0
Remove useless functions (2)
MobinYengejehi 074c82b
Remove useless functions
MobinYengejehi 572e498
Merge branch 'master' into gifPlayer
MobinYengejehi bbbfcbe
Change `IsGifPlaying` to `GifIsplaying`
MobinYengejehi 2f8eff3
Change `IsGifPlaying` to `GifIsPlaying`
MobinYengejehi dc4ec82
Add `SetFrame` function
MobinYengejehi 60a3c99
Add `GifSetProperty` & `GifGetProperty`
MobinYengejehi 798c5bc
Add `GifSetProperty` & `GifGetProperty`
MobinYengejehi 515ccfe
Using new lua parser
MobinYengejehi d1189a4
Using new lua parser
MobinYengejehi d2729be
Merge branch 'master' into gifPlayer
MobinYengejehi 8952264
Merge branch 'master' into gifPlayer
MobinYengejehi b08af8a
Merge branch 'master' into gifPlayer
MobinYengejehi ddd88a7
Merge branch 'master' into gifPlayer
MobinYengejehi 788b2f8
Merge branch 'master' into gifPlayer
MobinYengejehi c525835
Merge branch 'master' into gifPlayer
MobinYengejehi e1131f7
Merge branch 'master' into gifPlayer
MobinYengejehi 67f1eb0
Merge branch 'master' into gifPlayer
MobinYengejehi 7d9701f
Merge branch 'master' into gifPlayer
MobinYengejehi 9b7ef2f
Merge branch 'master' into gifPlayer
MobinYengejehi 1e9ff06
Merge branch 'master' into gifPlayer
MobinYengejehi 3eb734f
Merge branch 'master' into gifPlayer
MobinYengejehi ac0bc9a
Merge branch 'master' into gifPlayer
MobinYengejehi 4d70017
Merge branch 'master' into gifPlayer
MobinYengejehi 03cadff
Merge branch 'master' into gifPlayer
MobinYengejehi c46dcea
change `pVectorItem` to `pGifItem`
MobinYengejehi 97e65e2
change `p_GifItem` to `pGifItem`
MobinYengejehi dd6296b
change format
MobinYengejehi ea35b68
change format
MobinYengejehi 07331b9
change format
MobinYengejehi a372ff5
change format
MobinYengejehi ced6474
change format
MobinYengejehi f5752a3
change format
MobinYengejehi f8ca3b7
change format
MobinYengejehi 63882ac
Merge branch 'master' into gifPlayer
MobinYengejehi a2aadc7
Merge branch 'master' into gifPlayer
MobinYengejehi ec999ed
Merge branch 'master' into gifPlayer
MobinYengejehi 0d892e0
Merge branch 'master' into gifPlayer
MobinYengejehi 83a6add
Merge branch 'master' into gifPlayer
MobinYengejehi 4ec8f89
Merge branch 'master' into gifPlayer
MobinYengejehi 2f120ad
Merge branch 'master' into gifPlayer
MobinYengejehi e59644b
Merge branch 'master' into gifPlayer
MobinYengejehi c2cc8c5
Merge branch 'master' into gifPlayer
MobinYengejehi 6bfa573
Merge branch 'master' into gifPlayer
MobinYengejehi e82ad60
Merge branch 'master' into gifPlayer
MobinYengejehi 719e733
Merge branch 'master' into gifPlayer
MobinYengejehi 9193aab
Merge branch 'master' into gifPlayer
MobinYengejehi b16a5a6
Merge branch 'master' into gifPlayer
MobinYengejehi bf6d7d3
Merge branch 'master' into gifPlayer
MobinYengejehi 992ac81
Merge branch 'master' into gifPlayer
MobinYengejehi 24c1a3a
Merge branch 'master' into gifPlayer
MobinYengejehi 19fe68b
Merge branch 'master' into gifPlayer
MobinYengejehi 0e2d293
Merge branch 'master' into gifPlayer
MobinYengejehi 58f761d
Merge branch 'master' into gifPlayer
MobinYengejehi fd6aebc
Merge branch 'master' into gifPlayer
MobinYengejehi 2880a32
Merge branch 'master' into gifPlayer
MobinYengejehi 1079d1b
Merge branch 'master' into gifPlayer
MobinYengejehi 80d0947
Merge branch 'master' into gifPlayer
MobinYengejehi 62e8d31
Merge branch 'master' into gifPlayer
MobinYengejehi 582a5d5
Merge branch 'master' into gifPlayer
MobinYengejehi 03978e1
Merge branch 'master' into gifPlayer
MobinYengejehi 7c3739e
Merge branch 'master' into gifPlayer
MobinYengejehi File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,140 @@ | ||
/***************************************************************************** | ||
* | ||
* PROJECT: Multi Theft Auto | ||
* LICENSE: See LICENSE in the top level directory | ||
* | ||
* Multi Theft Auto is available from https://www.multitheftauto.com/ | ||
* | ||
*****************************************************************************/ | ||
|
||
#include "StdInc.h" | ||
|
||
//////////////////////////////////////////////////////////////// | ||
// | ||
// CGifItem::PostConstruct | ||
// | ||
// | ||
// | ||
//////////////////////////////////////////////////////////////// | ||
void CGifItem::PostConstruct(CRenderItemManager* pManager, uint width, uint height) | ||
{ | ||
Super::PostConstruct(pManager); | ||
|
||
m_uiSizeX = width; | ||
m_uiSizeY = height; | ||
m_uiSurfaceSizeX = width; | ||
m_uiSurfaceSizeY = height; | ||
|
||
CreateUnderlyingData(); | ||
} | ||
|
||
//////////////////////////////////////////////////////////////// | ||
// | ||
// CGifItem::PreDestruct | ||
// | ||
// | ||
// | ||
//////////////////////////////////////////////////////////////// | ||
void CGifItem::PreDestruct() | ||
{ | ||
ReleaseUnderlyingData(); | ||
Super::PreDestruct(); | ||
} | ||
|
||
//////////////////////////////////////////////////////////////// | ||
// | ||
// CGifItem::IsValid | ||
// | ||
// Check underlying data is present | ||
// | ||
//////////////////////////////////////////////////////////////// | ||
bool CGifItem::IsValid() | ||
{ | ||
return m_pD3DTexture != nullptr; | ||
} | ||
|
||
//////////////////////////////////////////////////////////////// | ||
// | ||
// CGifItem::OnLostDevice | ||
// | ||
// Release device stuff | ||
// | ||
//////////////////////////////////////////////////////////////// | ||
void CGifItem::OnLostDevice() | ||
{ | ||
// Nothing required for CGifItem | ||
} | ||
|
||
//////////////////////////////////////////////////////////////// | ||
// | ||
// CGifItem::OnResetDevice | ||
// | ||
// Recreate device stuff | ||
// | ||
//////////////////////////////////////////////////////////////// | ||
void CGifItem::OnResetDevice() | ||
{ | ||
// Nothing required for CGifItem | ||
} | ||
|
||
//////////////////////////////////////////////////////////////// | ||
// | ||
// CGifItem::CreateUnderlyingData | ||
// | ||
// From file | ||
// | ||
//////////////////////////////////////////////////////////////// | ||
void CGifItem::CreateUnderlyingData() | ||
{ | ||
assert(!m_pD3DRenderTargetSurface); | ||
assert(!m_pD3DTexture); | ||
|
||
D3DXCreateTexture(m_pDevice, m_uiSizeX, m_uiSizeY, 1, 0, D3DFMT_A8R8G8B8, D3DPOOL_MANAGED, (IDirect3DTexture9**)&m_pD3DTexture); | ||
|
||
// Check texture created | ||
if (!m_pD3DTexture) | ||
return; | ||
|
||
// D3DXCreateTexture sets width and height to 1 if the argument value was 0 | ||
// See: https://docs.microsoft.com/en-us/windows/desktop/direct3d9/d3dxcreatetexture | ||
if (m_uiSizeX == 0) | ||
m_uiSizeX = 1; | ||
|
||
if (m_uiSizeY == 0) | ||
m_uiSizeY = 1; | ||
|
||
// Get the render target surface here for convenience | ||
((IDirect3DTexture9*)m_pD3DTexture)->GetSurfaceLevel(0, &m_pD3DRenderTargetSurface); | ||
|
||
// Update surface size, although it probably will be unchanged | Todo: Remove this | ||
D3DSURFACE_DESC desc; | ||
m_pD3DRenderTargetSurface->GetDesc(&desc); | ||
m_uiSurfaceSizeX = desc.Width; | ||
m_uiSurfaceSizeY = desc.Height; | ||
|
||
m_iMemoryKBUsed = CRenderItemManager::CalcD3DResourceMemoryKBUsage(m_pD3DRenderTargetSurface); | ||
} | ||
|
||
//////////////////////////////////////////////////////////////// | ||
// | ||
// CGifItem::ReleaseUnderlyingData | ||
// | ||
// | ||
// | ||
//////////////////////////////////////////////////////////////// | ||
void CGifItem::ReleaseUnderlyingData() | ||
{ | ||
SAFE_RELEASE(m_pD3DRenderTargetSurface); | ||
SAFE_RELEASE(m_pD3DTexture); | ||
} | ||
|
||
void CGifItem::Resize(const CVector2D& size) | ||
{ | ||
// Update size | ||
m_uiSizeX = static_cast<uint>(size.fX); | ||
m_uiSizeY = static_cast<uint>(size.fY); | ||
|
||
// Recreate texture | ||
ReleaseUnderlyingData(); | ||
CreateUnderlyingData(); | ||
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -18,6 +18,7 @@ enum eDisplayType | |
{ | ||
DISPLAY_TEXT, | ||
DISPLAY_VECTORGRAPHIC, | ||
DISPLAY_GIF | ||
}; | ||
|
||
class CClientDisplay | ||
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.