Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
YGOPRO-520DIY
ygopro
Commits
122b4187
Commit
122b4187
authored
Jan 26, 2025
by
mercury233
Committed by
GitHub
Jan 26, 2025
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix ScriptReader (#2654)
parent
8682f411
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
18 additions
and
16 deletions
+18
-16
gframe/data_manager.cpp
gframe/data_manager.cpp
+15
-13
gframe/data_manager.h
gframe/data_manager.h
+3
-3
No files found.
gframe/data_manager.cpp
View file @
122b4187
...
@@ -389,30 +389,32 @@ uint32_t DataManager::CardReader(uint32_t code, card_data* pData) {
...
@@ -389,30 +389,32 @@ uint32_t DataManager::CardReader(uint32_t code, card_data* pData) {
pData
->
clear
();
pData
->
clear
();
return
0
;
return
0
;
}
}
unsigned
char
*
DataManager
::
ScriptReaderEx
(
const
char
*
script_
name
,
int
*
slen
)
{
unsigned
char
*
DataManager
::
ScriptReaderEx
(
const
char
*
script_
path
,
int
*
slen
)
{
// default script name: ./script/c%d.lua
// default script name: ./script/c%d.lua
if
(
std
::
strncmp
(
script_name
,
"./script"
,
8
)
!=
0
)
if
(
std
::
strncmp
(
script_path
,
"./script"
,
8
)
!=
0
)
// not a card script file
return
DefaultScriptReader
(
script_name
,
slen
);
return
ReadScriptFromFile
(
script_path
,
slen
);
const
char
*
script_name
=
script_path
+
2
;
char
expansions_path
[
1024
]{};
char
expansions_path
[
1024
]{};
std
::
snprintf
(
expansions_path
,
sizeof
expansions_path
,
"./expansions/%s"
,
script_name
+
2
);
std
::
snprintf
(
expansions_path
,
sizeof
expansions_path
,
"./expansions/%s"
,
script_name
);
if
(
mainGame
->
gameConf
.
prefer_expansion_script
)
{
if
(
mainGame
->
gameConf
.
prefer_expansion_script
)
{
// debug script with raw file in expansions
if
(
DefaultScriptReader
(
expansions_path
,
slen
))
if
(
ReadScriptFromFile
(
expansions_path
,
slen
))
return
scriptBuffer
;
return
scriptBuffer
;
else
if
(
ScriptReader
(
script_name
+
2
,
slen
))
if
(
ReadScriptFromIrrFS
(
script_name
,
slen
))
return
scriptBuffer
;
return
scriptBuffer
;
else
if
(
DefaultScriptReader
(
script_name
,
slen
))
if
(
ReadScriptFromFile
(
script_path
,
slen
))
return
scriptBuffer
;
return
scriptBuffer
;
}
else
{
}
else
{
if
(
DefaultScriptReader
(
script_name
,
slen
))
if
(
ReadScriptFromIrrFS
(
script_name
,
slen
))
return
scriptBuffer
;
return
scriptBuffer
;
else
if
(
DefaultScriptReader
(
expansions
_path
,
slen
))
if
(
ReadScriptFromFile
(
script
_path
,
slen
))
return
scriptBuffer
;
return
scriptBuffer
;
else
if
(
ScriptReader
(
script_name
+
2
,
slen
))
if
(
ReadScriptFromFile
(
expansions_path
,
slen
))
return
scriptBuffer
;
return
scriptBuffer
;
}
}
return
nullptr
;
return
nullptr
;
}
}
unsigned
char
*
DataManager
::
ScriptReader
(
const
char
*
script_name
,
int
*
slen
)
{
unsigned
char
*
DataManager
::
ReadScriptFromIrrFS
(
const
char
*
script_name
,
int
*
slen
)
{
#ifdef _WIN32
#ifdef _WIN32
wchar_t
fname
[
256
]{};
wchar_t
fname
[
256
]{};
BufferIO
::
DecodeUTF8
(
script_name
,
fname
);
BufferIO
::
DecodeUTF8
(
script_name
,
fname
);
...
@@ -429,7 +431,7 @@ unsigned char* DataManager::ScriptReader(const char* script_name, int* slen) {
...
@@ -429,7 +431,7 @@ unsigned char* DataManager::ScriptReader(const char* script_name, int* slen) {
*
slen
=
size
;
*
slen
=
size
;
return
scriptBuffer
;
return
scriptBuffer
;
}
}
unsigned
char
*
DataManager
::
DefaultScriptReader
(
const
char
*
script_name
,
int
*
slen
)
{
unsigned
char
*
DataManager
::
ReadScriptFromFile
(
const
char
*
script_name
,
int
*
slen
)
{
wchar_t
fname
[
256
]{};
wchar_t
fname
[
256
]{};
BufferIO
::
DecodeUTF8
(
script_name
,
fname
);
BufferIO
::
DecodeUTF8
(
script_name
,
fname
);
FILE
*
fp
=
myfopen
(
fname
,
"rb"
);
FILE
*
fp
=
myfopen
(
fname
,
"rb"
);
...
...
gframe/data_manager.h
View file @
122b4187
...
@@ -82,12 +82,12 @@ public:
...
@@ -82,12 +82,12 @@ public:
static
unsigned
char
scriptBuffer
[
0x100000
];
static
unsigned
char
scriptBuffer
[
0x100000
];
static
const
wchar_t
*
unknown_string
;
static
const
wchar_t
*
unknown_string
;
static
uint32_t
CardReader
(
uint32_t
,
card_data
*
);
static
uint32_t
CardReader
(
uint32_t
,
card_data
*
);
static
unsigned
char
*
ScriptReaderEx
(
const
char
*
script_
name
,
int
*
slen
);
static
unsigned
char
*
ScriptReaderEx
(
const
char
*
script_
path
,
int
*
slen
);
//read by IFileSystem
//read by IFileSystem
static
unsigned
char
*
ScriptReader
(
const
char
*
script_name
,
int
*
slen
);
static
unsigned
char
*
ReadScriptFromIrrFS
(
const
char
*
script_name
,
int
*
slen
);
//read by fread
//read by fread
static
unsigned
char
*
DefaultScriptReader
(
const
char
*
script_name
,
int
*
slen
);
static
unsigned
char
*
ReadScriptFromFile
(
const
char
*
script_name
,
int
*
slen
);
static
irr
::
io
::
IFileSystem
*
FileSystem
;
static
irr
::
io
::
IFileSystem
*
FileSystem
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment