Skip to content
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

[Ellipsis] Implement parsing of espm records: SHOU, SLGM, WOOP, WTHR. #2113

Closed
wants to merge 1 commit into from

Conversation

ellipsis-dev[bot]
Copy link

@ellipsis-dev ellipsis-dev bot commented Aug 11, 2024

Summary:

⚠️ We couldn't build/test your project to verify our changes. Add a Dockerfile to significantly improve code quality.

Issue: resolves #2109

View Plan Details

Step 1: Define SHOU class in SHOU.h

Path: libespm/include/libespm/SHOU.h
Create SHOU.h in libespm/include/libespm/. Define class SHOU : public RecordHeader with a Data struct and GetData method, similar to SLGM.

Step 2: Implement SHOU.cpp

Path: libespm/src/SHOU.cpp
In libespm/src/SHOU.cpp, implement SHOU::GetData using RecordHeaderAccess::IterateFields, similar to SLGM.cpp.

Step 3: Define SLGM class in SLGM.h

Path: libespm/include/libespm/SLGM.h
Create SLGM.h in libespm/include/libespm/. Define class SLGM : public RecordHeader with a Data struct and GetData method, similar to SHOU.

Step 4: Implement SLGM.cpp

Path: libespm/src/SLGM.cpp
In libespm/src/SLGM.cpp, implement SLGM::GetData using RecordHeaderAccess::IterateFields, similar to SHOU.cpp.

Step 5: Define WOOP class in WOOP.h

Path: libespm/include/libespm/WOOP.h
Create WOOP.h in libespm/include/libespm/. Define class WOOP : public RecordHeader with a Data struct and GetData method, similar to SLGM.

Step 6: Implement WOOP.cpp

Path: libespm/src/WOOP.cpp
In libespm/src/WOOP.cpp, implement WOOP::GetData using RecordHeaderAccess::IterateFields, similar to SLGM.cpp.

Step 7: Define WTHR class in WTHR.h

Path: libespm/include/libespm/WTHR.h
Create WTHR.h in libespm/include/libespm/. Define class WTHR : public RecordHeader with a Data struct and GetData method, similar to SLGM.

Step 8: Implement WTHR.cpp

Path: libespm/src/WTHR.cpp
In libespm/src/WTHR.cpp, implement WTHR::GetData using RecordHeaderAccess::IterateFields, similar to SLGM.cpp.

Step 9: Add includes to Records.h

Path: libespm/include/libespm/Records.h
Add #include "SHOU.h", #include "SLGM.h", #include "WOOP.h", #include "WTHR.h" to libespm/include/libespm/Records.h.

Step 10: Add tests for new records

Path: unit/EspmTest.cpp
In unit/EspmTest.cpp, add test cases for SHOU, SLGM, WOOP, and WTHR following existing test patterns.

Implementation

Step Result Details
1
Define SHOU class in SHOU.hDefined the SHOU class in SHOU.h with a Data struct and GetData method, similar to SLGM.
2
Implement SHOU.cppImplemented SHOU::GetData in SHOU.cpp using RecordHeaderAccess::IterateFields, similar to SLGM::GetData.
3
Define SLGM class in SLGM.hDefined the SLGM class in SLGM.h with a Data struct and GetData method, similar to SHOU.
4
Implement SLGM.cppImplemented SLGM::GetData in SLGM.cpp using RecordHeaderAccess::IterateFields, similar to SHOU::GetData.
5
Define WOOP class in WOOP.hDefined the WOOP class in WOOP.h with a Data struct and GetData method, similar to SLGM.
6
Implement WOOP.cppImplemented WOOP::GetData in WOOP.cpp using RecordHeaderAccess::IterateFields, similar to SHOU and SLGM.
7
Define WTHR class in WTHR.hDefined the WTHR class in WTHR.h with a Data struct and GetData method, similar to the other classes.
8
Implement WTHR.cppImplemented WTHR::GetData in WTHR.cpp using RecordHeaderAccess::IterateFields, similar to the other classes.
9
Add includes to Records.hAdded include statements for SHOU, SLGM, WOOP, and WTHR in Records.h in alphabetical order.
10
Add tests for new recordsImplemented test cases for SHOU, SLGM, WOOP, and WTHR in EspmTest.cpp using placeholder IDs. The tests follow the existing pattern of looking up records by ID, checking their type, and verifying their data using REQUIRE statements.

Something look wrong? If this PR isn't quite right, you can tag @ellipsis-dev to ask for changes, or add more details to the source issue and ask for another try. For more information, check the documentation.

@Pospelove Pospelove closed this Aug 11, 2024
@Pospelove Pospelove deleted the ellipsis/wflow_jOmCBgG9Bf80IAeO_cobE branch August 11, 2024 15:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implement parsing of espm records: SHOU, SLGM, WOOP, WTHR.
1 participant