improve E004 card generation and placeholder pcbid (#748)

## Link to GitHub Issue or related Pull Request, if one exists
#73

## Description of change
Generated cards now start with E0040100 to fully match real cards. The
placeholder example `E004010000000000` is replaced with
`E0040100FFFFFFFF`.

The invalid placeholder/fallback PCBID `04040000000000000000` is
replaced with `01201000000000010101`, which contains a valid
header/checksum, making it closer resemble a real PCBID while still
clearly being an example.
This commit is contained in:
drmext
2026-06-11 06:24:43 +00:00
committed by GitHub
parent 6bcadccf09
commit 5c244eaca7
7 changed files with 11 additions and 11 deletions
+2 -2
View File
@@ -390,8 +390,8 @@ namespace avs {
// fall back to default PCBID if node is not found // fall back to default PCBID if node is not found
if (!EA3_PCBID[0] && PCBID_CUSTOM.empty()) { if (!EA3_PCBID[0] && PCBID_CUSTOM.empty()) {
log_warning("avs-ea3", "no PCBID set, falling back to default PCBID value (04040000000000000000)"); log_warning("avs-ea3", "no PCBID set, falling back to default PCBID value (01201000000000010101)");
PCBID_CUSTOM = "04040000000000000000"; PCBID_CUSTOM = "01201000000000010101";
} }
// custom PCBID // custom PCBID
+3 -3
View File
@@ -114,7 +114,7 @@ static const std::vector<OptionDefinition> OPTION_DEFINITIONS = {
.name = "p", .name = "p",
.desc = "Sets a custom PCBID override.", .desc = "Sets a custom PCBID override.",
.type = OptionType::Text, .type = OptionType::Text,
.setting_name = "04040000000000000000", .setting_name = "01201000000000010101",
.category = "Network", .category = "Network",
.sensitive = true, .sensitive = true,
}, },
@@ -123,7 +123,7 @@ static const std::vector<OptionDefinition> OPTION_DEFINITIONS = {
.name = "card0", .name = "card0",
.desc = "Set a card number for reader 1. Overrides the selected card file.", .desc = "Set a card number for reader 1. Overrides the selected card file.",
.type = OptionType::Text, .type = OptionType::Text,
.setting_name = "E004010000000000", .setting_name = "E0040100FFFFFFFF",
.category = "Network", .category = "Network",
.sensitive = true, .sensitive = true,
.picker = OptionPickerType::EACard, .picker = OptionPickerType::EACard,
@@ -133,7 +133,7 @@ static const std::vector<OptionDefinition> OPTION_DEFINITIONS = {
.name = "card1", .name = "card1",
.desc = "Set a card number for reader 2. Overrides the selected card file.", .desc = "Set a card number for reader 2. Overrides the selected card file.",
.type = OptionType::Text, .type = OptionType::Text,
.setting_name = "E004010000000000", .setting_name = "E0040100FFFFFFFF",
.category = "Network", .category = "Network",
.sensitive = true, .sensitive = true,
.picker = OptionPickerType::EACard, .picker = OptionPickerType::EACard,
+1 -1
View File
@@ -166,7 +166,7 @@ namespace overlay::windows {
if (ImGui::BeginPopupModal("Card Editor", nullptr, ImGuiWindowFlags_AlwaysAutoResize)) { if (ImGui::BeginPopupModal("Card Editor", nullptr, ImGuiWindowFlags_AlwaysAutoResize)) {
// card ID field (only editable for new cards) // card ID field (only editable for new cards)
ImGui::BeginDisabled(this->current_card); ImGui::BeginDisabled(this->current_card);
ImGui::InputTextWithHint("Card ID", "E0040123456789AB", ImGui::InputTextWithHint("Card ID", "E0040100FFFFFFFF",
this->card_buffer, this->card_buffer,
std::size(this->card_buffer), std::size(this->card_buffer),
ImGuiInputTextFlags_CharsHexadecimal | ImGuiInputTextFlags_CharsUppercase); ImGuiInputTextFlags_CharsHexadecimal | ImGuiInputTextFlags_CharsUppercase);
+1 -1
View File
@@ -9,7 +9,7 @@ namespace overlay::windows {
struct CardEntry { struct CardEntry {
std::string name = "unnamed"; std::string name = "unnamed";
std::string id = "E004010000000000"; std::string id = "E0040100FFFFFFFF";
std::string search_string = ""; std::string search_string = "";
bool read_only = false; bool read_only = false;
float color[3] {}; float color[3] {};
+1 -1
View File
@@ -3972,7 +3972,7 @@ namespace overlay::windows {
ImVec4(1.f, 0.f, 0.f, 1.f)); ImVec4(1.f, 0.f, 0.f, 1.f));
ImGui::SetNextItemWidth(TEXT_INPUT_WIDTH); ImGui::SetNextItemWidth(TEXT_INPUT_WIDTH);
ImGui::BeginDisabled(option.disabled); ImGui::BeginDisabled(option.disabled);
ImGui::InputTextWithHint("##OverrideCard", "E004010000000000", ImGui::InputTextWithHint("##OverrideCard", "E0040100FFFFFFFF",
buffer, sizeof(buffer) - 1, buffer, sizeof(buffer) - 1,
ImGuiInputTextFlags_CharsUppercase | ImGuiInputTextFlags_CharsUppercase |
ImGuiInputTextFlags_CharsHexadecimal | ImGuiInputTextFlags_CharsHexadecimal |
+1 -1
View File
@@ -467,7 +467,7 @@ namespace overlay::windows {
void Control::cards_view() { void Control::cards_view() {
if (ImGui::CollapsingHeader("Cards")) { if (ImGui::CollapsingHeader("Cards")) {
ImGui::InputTextWithHint("Card ID", "E0040123456789AB", ImGui::InputTextWithHint("Card ID", "E0040100FFFFFFFF",
this->card_input, this->card_input,
std::size(this->card_input), std::size(this->card_input),
ImGuiInputTextFlags_CharsHexadecimal ImGuiInputTextFlags_CharsHexadecimal
+2 -2
View File
@@ -115,9 +115,9 @@ void generate_ea_card(char card[17]) {
std::uniform_int_distribution<> uniform(0, 15); std::uniform_int_distribution<> uniform(0, 15);
// randomize card // randomize card
strcpy(card, "E00401"); strcpy(card, "E0040100");
char hex[] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; char hex[] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
for (int i = 6; i < 16; i++) { for (int i = 8; i < 16; i++) {
card[i] = hex[uniform(generator)]; card[i] = hex[uniform(generator)];
} }