mirror of
https://github.com/Mezeporta/Erupe.git
synced 2026-02-04 09:15:08 +01:00
rename instances of HRP to HR
This commit is contained in:
5
schemas/patch-schema/21-rename-hrp.sql
Normal file
5
schemas/patch-schema/21-rename-hrp.sql
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
BEGIN;
|
||||||
|
|
||||||
|
ALTER TABLE IF EXISTS public.characters RENAME hrp TO hr;
|
||||||
|
|
||||||
|
END;
|
||||||
@@ -25,7 +25,7 @@ const (
|
|||||||
pGardenData // +68
|
pGardenData // +68
|
||||||
pWeaponType // +1
|
pWeaponType // +1
|
||||||
pWeaponID // +2
|
pWeaponID // +2
|
||||||
pHRP // +2
|
pHR // +2
|
||||||
pGRP // +4
|
pGRP // +4
|
||||||
pKQF // +8
|
pKQF // +8
|
||||||
lBookshelfData
|
lBookshelfData
|
||||||
@@ -47,7 +47,7 @@ type CharacterSaveData struct {
|
|||||||
GardenData []byte
|
GardenData []byte
|
||||||
WeaponType uint8
|
WeaponType uint8
|
||||||
WeaponID uint16
|
WeaponID uint16
|
||||||
HRP uint16
|
HR uint16
|
||||||
GR uint16
|
GR uint16
|
||||||
KQF []byte
|
KQF []byte
|
||||||
|
|
||||||
@@ -63,7 +63,7 @@ func getPointers() map[SavePointer]int {
|
|||||||
pointers[pWeaponType] = 128789
|
pointers[pWeaponType] = 128789
|
||||||
pointers[pHouseTier] = 129900
|
pointers[pHouseTier] = 129900
|
||||||
pointers[pToreData] = 130228
|
pointers[pToreData] = 130228
|
||||||
pointers[pHRP] = 130550
|
pointers[pHR] = 130550
|
||||||
pointers[pGRP] = 130556
|
pointers[pGRP] = 130556
|
||||||
pointers[pHouseData] = 130561
|
pointers[pHouseData] = 130561
|
||||||
pointers[pBookshelfData] = 139928
|
pointers[pBookshelfData] = 139928
|
||||||
@@ -78,7 +78,7 @@ func getPointers() map[SavePointer]int {
|
|||||||
pointers[pWeaponType] = 92789
|
pointers[pWeaponType] = 92789
|
||||||
pointers[pHouseTier] = 93900
|
pointers[pHouseTier] = 93900
|
||||||
pointers[pToreData] = 94228
|
pointers[pToreData] = 94228
|
||||||
pointers[pHRP] = 94550
|
pointers[pHR] = 94550
|
||||||
pointers[pGRP] = 94556
|
pointers[pGRP] = 94556
|
||||||
pointers[pHouseData] = 94561
|
pointers[pHouseData] = 94561
|
||||||
pointers[pBookshelfData] = 103928
|
pointers[pBookshelfData] = 103928
|
||||||
@@ -91,7 +91,7 @@ func getPointers() map[SavePointer]int {
|
|||||||
pointers[pWeaponType] = 60789
|
pointers[pWeaponType] = 60789
|
||||||
pointers[pHouseTier] = 61900
|
pointers[pHouseTier] = 61900
|
||||||
pointers[pToreData] = 62228
|
pointers[pToreData] = 62228
|
||||||
pointers[pHRP] = 62550
|
pointers[pHR] = 62550
|
||||||
pointers[pHouseData] = 62561
|
pointers[pHouseData] = 62561
|
||||||
pointers[pBookshelfData] = 57118 // This pointer only half works
|
pointers[pBookshelfData] = 57118 // This pointer only half works
|
||||||
pointers[pGalleryData] = 72064
|
pointers[pGalleryData] = 72064
|
||||||
@@ -102,7 +102,7 @@ func getPointers() map[SavePointer]int {
|
|||||||
pointers[pWeaponType] = 12789
|
pointers[pWeaponType] = 12789
|
||||||
pointers[pHouseTier] = 13900
|
pointers[pHouseTier] = 13900
|
||||||
pointers[pToreData] = 14228
|
pointers[pToreData] = 14228
|
||||||
pointers[pHRP] = 14550
|
pointers[pHR] = 14550
|
||||||
pointers[pHouseData] = 14561
|
pointers[pHouseData] = 14561
|
||||||
pointers[pBookshelfData] = 9118 // Probably same here
|
pointers[pBookshelfData] = 9118 // Probably same here
|
||||||
pointers[pGalleryData] = 24064
|
pointers[pGalleryData] = 24064
|
||||||
@@ -174,8 +174,8 @@ func (save *CharacterSaveData) Save(s *Session) {
|
|||||||
save.compSave = save.decompSave
|
save.compSave = save.decompSave
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err := s.server.db.Exec(`UPDATE characters SET savedata=$1, is_new_character=false, hrp=$2, gr=$3, is_female=$4, weapon_type=$5, weapon_id=$6 WHERE id=$7
|
_, err := s.server.db.Exec(`UPDATE characters SET savedata=$1, is_new_character=false, hr=$2, gr=$3, is_female=$4, weapon_type=$5, weapon_id=$6 WHERE id=$7
|
||||||
`, save.compSave, save.HRP, save.GR, save.Gender, save.WeaponType, save.WeaponID, save.CharID)
|
`, save.compSave, save.HR, save.GR, save.Gender, save.WeaponType, save.WeaponID, save.CharID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
s.logger.Error("Failed to update savedata", zap.Error(err), zap.Uint32("charID", save.CharID))
|
s.logger.Error("Failed to update savedata", zap.Error(err), zap.Uint32("charID", save.CharID))
|
||||||
}
|
}
|
||||||
@@ -233,9 +233,9 @@ func (save *CharacterSaveData) updateStructWithSaveData() {
|
|||||||
save.GardenData = save.decompSave[save.Pointers[pGardenData] : save.Pointers[pGardenData]+68]
|
save.GardenData = save.decompSave[save.Pointers[pGardenData] : save.Pointers[pGardenData]+68]
|
||||||
save.WeaponType = save.decompSave[save.Pointers[pWeaponType]]
|
save.WeaponType = save.decompSave[save.Pointers[pWeaponType]]
|
||||||
save.WeaponID = binary.LittleEndian.Uint16(save.decompSave[save.Pointers[pWeaponID] : save.Pointers[pWeaponID]+2])
|
save.WeaponID = binary.LittleEndian.Uint16(save.decompSave[save.Pointers[pWeaponID] : save.Pointers[pWeaponID]+2])
|
||||||
save.HRP = binary.LittleEndian.Uint16(save.decompSave[save.Pointers[pHRP] : save.Pointers[pHRP]+2])
|
save.HR = binary.LittleEndian.Uint16(save.decompSave[save.Pointers[pHR] : save.Pointers[pHR]+2])
|
||||||
if _config.ErupeConfig.RealClientMode >= _config.G1 {
|
if _config.ErupeConfig.RealClientMode >= _config.G1 {
|
||||||
if save.HRP == uint16(999) {
|
if save.HR == uint16(999) {
|
||||||
save.GR = grpToGR(int(binary.LittleEndian.Uint32(save.decompSave[save.Pointers[pGRP] : save.Pointers[pGRP]+4])))
|
save.GR = grpToGR(int(binary.LittleEndian.Uint32(save.decompSave[save.Pointers[pGRP] : save.Pointers[pGRP]+4])))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1075,7 +1075,7 @@ func handleMsgMhfInfoGuild(s *Session, p mhfpacket.MHFPacket) {
|
|||||||
for _, applicant := range applicants {
|
for _, applicant := range applicants {
|
||||||
bf.WriteUint32(applicant.CharID)
|
bf.WriteUint32(applicant.CharID)
|
||||||
bf.WriteUint32(0)
|
bf.WriteUint32(0)
|
||||||
bf.WriteUint16(applicant.HRP)
|
bf.WriteUint16(applicant.HR)
|
||||||
bf.WriteUint16(applicant.GR)
|
bf.WriteUint16(applicant.GR)
|
||||||
ps.Uint8(bf, applicant.Name, true)
|
ps.Uint8(bf, applicant.Name, true)
|
||||||
}
|
}
|
||||||
@@ -1435,7 +1435,7 @@ func handleMsgMhfEnumerateGuildMember(s *Session, p mhfpacket.MHFPacket) {
|
|||||||
|
|
||||||
for _, member := range guildMembers {
|
for _, member := range guildMembers {
|
||||||
bf.WriteUint32(member.CharID)
|
bf.WriteUint32(member.CharID)
|
||||||
bf.WriteUint16(member.HRP)
|
bf.WriteUint16(member.HR)
|
||||||
if s.server.erupeConfig.RealClientMode >= _config.G10 {
|
if s.server.erupeConfig.RealClientMode >= _config.G10 {
|
||||||
bf.WriteUint16(member.GR)
|
bf.WriteUint16(member.GR)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ type GuildMember struct {
|
|||||||
Recruiter bool `db:"recruiter"`
|
Recruiter bool `db:"recruiter"`
|
||||||
AvoidLeadership bool `db:"avoid_leadership"`
|
AvoidLeadership bool `db:"avoid_leadership"`
|
||||||
IsLeader bool `db:"is_leader"`
|
IsLeader bool `db:"is_leader"`
|
||||||
HRP uint16 `db:"hrp"`
|
HR uint16 `db:"hr"`
|
||||||
GR uint16 `db:"gr"`
|
GR uint16 `db:"gr"`
|
||||||
WeaponID uint16 `db:"weapon_id"`
|
WeaponID uint16 `db:"weapon_id"`
|
||||||
WeaponType uint8 `db:"weapon_type"`
|
WeaponType uint8 `db:"weapon_type"`
|
||||||
@@ -74,7 +74,7 @@ SELECT * FROM (
|
|||||||
c.last_login,
|
c.last_login,
|
||||||
COALESCE(recruiter, false) AS recruiter,
|
COALESCE(recruiter, false) AS recruiter,
|
||||||
COALESCE(avoid_leadership, false) AS avoid_leadership,
|
COALESCE(avoid_leadership, false) AS avoid_leadership,
|
||||||
c.hrp,
|
c.hr,
|
||||||
c.gr,
|
c.gr,
|
||||||
c.weapon_id,
|
c.weapon_id,
|
||||||
c.weapon_type,
|
c.weapon_type,
|
||||||
|
|||||||
@@ -204,7 +204,7 @@ func handleMsgMhfGetGuildScoutList(s *Session, p mhfpacket.MHFPacket) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
rows, err := s.server.db.Queryx(`
|
rows, err := s.server.db.Queryx(`
|
||||||
SELECT c.id, c.name, c.hrp, c.gr, ga.actor_id
|
SELECT c.id, c.name, c.hr, c.gr, ga.actor_id
|
||||||
FROM guild_applications ga
|
FROM guild_applications ga
|
||||||
JOIN characters c ON c.id = ga.character_id
|
JOIN characters c ON c.id = ga.character_id
|
||||||
WHERE ga.guild_id = $1 AND ga.application_type = 'invited'
|
WHERE ga.guild_id = $1 AND ga.application_type = 'invited'
|
||||||
@@ -230,9 +230,9 @@ func handleMsgMhfGetGuildScoutList(s *Session, p mhfpacket.MHFPacket) {
|
|||||||
for rows.Next() {
|
for rows.Next() {
|
||||||
var charName string
|
var charName string
|
||||||
var charID, actorID uint32
|
var charID, actorID uint32
|
||||||
var hrp, gr uint16
|
var HR, GR uint16
|
||||||
|
|
||||||
err = rows.Scan(&charID, &charName, &hrp, &gr, &actorID)
|
err = rows.Scan(&charID, &charName, &HR, &GR, &actorID)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
doAckSimpleFail(s, pkt.AckHandle, nil)
|
doAckSimpleFail(s, pkt.AckHandle, nil)
|
||||||
@@ -246,8 +246,8 @@ func handleMsgMhfGetGuildScoutList(s *Session, p mhfpacket.MHFPacket) {
|
|||||||
bf.WriteUint32(actorID)
|
bf.WriteUint32(actorID)
|
||||||
bf.WriteUint32(charID)
|
bf.WriteUint32(charID)
|
||||||
bf.WriteUint32(uint32(TimeAdjusted().Unix()))
|
bf.WriteUint32(uint32(TimeAdjusted().Unix()))
|
||||||
bf.WriteUint16(hrp) // HR?
|
bf.WriteUint16(HR) // HR?
|
||||||
bf.WriteUint16(gr) // GR?
|
bf.WriteUint16(GR) // GR?
|
||||||
bf.WriteBytes(stringsupport.PaddedString(charName, 32, true))
|
bf.WriteBytes(stringsupport.PaddedString(charName, 32, true))
|
||||||
count++
|
count++
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ func handleMsgMhfUpdateInterior(s *Session, p mhfpacket.MHFPacket) {
|
|||||||
|
|
||||||
type HouseData struct {
|
type HouseData struct {
|
||||||
CharID uint32 `db:"id"`
|
CharID uint32 `db:"id"`
|
||||||
HRP uint16 `db:"hrp"`
|
HR uint16 `db:"hr"`
|
||||||
GR uint16 `db:"gr"`
|
GR uint16 `db:"gr"`
|
||||||
Name string `db:"name"`
|
Name string `db:"name"`
|
||||||
HouseState uint8 `db:"house_state"`
|
HouseState uint8 `db:"house_state"`
|
||||||
@@ -59,7 +59,7 @@ func handleMsgMhfEnumerateHouse(s *Session, p mhfpacket.MHFPacket) {
|
|||||||
bf := byteframe.NewByteFrame()
|
bf := byteframe.NewByteFrame()
|
||||||
bf.WriteUint16(0)
|
bf.WriteUint16(0)
|
||||||
var houses []HouseData
|
var houses []HouseData
|
||||||
houseQuery := `SELECT c.id, hrp, gr, name, COALESCE(ub.house_state, 2) as house_state, COALESCE(ub.house_password, '') as house_password
|
houseQuery := `SELECT c.id, hr, gr, name, COALESCE(ub.house_state, 2) as house_state, COALESCE(ub.house_password, '') as house_password
|
||||||
FROM characters c LEFT JOIN user_binary ub ON ub.id = c.id WHERE c.id=$1`
|
FROM characters c LEFT JOIN user_binary ub ON ub.id = c.id WHERE c.id=$1`
|
||||||
switch pkt.Method {
|
switch pkt.Method {
|
||||||
case 1:
|
case 1:
|
||||||
@@ -92,7 +92,7 @@ func handleMsgMhfEnumerateHouse(s *Session, p mhfpacket.MHFPacket) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
case 3:
|
case 3:
|
||||||
houseQuery = `SELECT c.id, hrp, gr, name, COALESCE(ub.house_state, 2) as house_state, COALESCE(ub.house_password, '') as house_password
|
houseQuery = `SELECT c.id, hr, gr, name, COALESCE(ub.house_state, 2) as house_state, COALESCE(ub.house_password, '') as house_password
|
||||||
FROM characters c LEFT JOIN user_binary ub ON ub.id = c.id WHERE name ILIKE $1`
|
FROM characters c LEFT JOIN user_binary ub ON ub.id = c.id WHERE name ILIKE $1`
|
||||||
house := HouseData{}
|
house := HouseData{}
|
||||||
rows, _ := s.server.db.Queryx(houseQuery, fmt.Sprintf(`%%%s%%`, pkt.Name))
|
rows, _ := s.server.db.Queryx(houseQuery, fmt.Sprintf(`%%%s%%`, pkt.Name))
|
||||||
@@ -120,7 +120,7 @@ func handleMsgMhfEnumerateHouse(s *Session, p mhfpacket.MHFPacket) {
|
|||||||
} else {
|
} else {
|
||||||
bf.WriteUint8(0)
|
bf.WriteUint8(0)
|
||||||
}
|
}
|
||||||
bf.WriteUint16(house.HRP)
|
bf.WriteUint16(house.HR)
|
||||||
if _config.ErupeConfig.RealClientMode >= _config.G10 {
|
if _config.ErupeConfig.RealClientMode >= _config.G10 {
|
||||||
bf.WriteUint16(house.GR)
|
bf.WriteUint16(house.GR)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ func (s *Server) newUserChara(uid uint32) error {
|
|||||||
_, err = s.db.Exec(`
|
_, err = s.db.Exec(`
|
||||||
INSERT INTO characters (
|
INSERT INTO characters (
|
||||||
user_id, is_female, is_new_character, name, unk_desc_string,
|
user_id, is_female, is_new_character, name, unk_desc_string,
|
||||||
hrp, gr, weapon_type, last_login)
|
hr, gr, weapon_type, last_login)
|
||||||
VALUES($1, False, True, '', '', 0, 0, 0, $2)`,
|
VALUES($1, False, True, '', '', 0, 0, 0, $2)`,
|
||||||
uid,
|
uid,
|
||||||
uint32(time.Now().Unix()),
|
uint32(time.Now().Unix()),
|
||||||
@@ -63,7 +63,7 @@ type character struct {
|
|||||||
IsNewCharacter bool `db:"is_new_character"`
|
IsNewCharacter bool `db:"is_new_character"`
|
||||||
Name string `db:"name"`
|
Name string `db:"name"`
|
||||||
UnkDescString string `db:"unk_desc_string"`
|
UnkDescString string `db:"unk_desc_string"`
|
||||||
HRP uint16 `db:"hrp"`
|
HR uint16 `db:"hr"`
|
||||||
GR uint16 `db:"gr"`
|
GR uint16 `db:"gr"`
|
||||||
WeaponType uint16 `db:"weapon_type"`
|
WeaponType uint16 `db:"weapon_type"`
|
||||||
LastLogin uint32 `db:"last_login"`
|
LastLogin uint32 `db:"last_login"`
|
||||||
@@ -71,7 +71,7 @@ type character struct {
|
|||||||
|
|
||||||
func (s *Server) getCharactersForUser(uid uint32) ([]character, error) {
|
func (s *Server) getCharactersForUser(uid uint32) ([]character, error) {
|
||||||
characters := make([]character, 0)
|
characters := make([]character, 0)
|
||||||
err := s.db.Select(&characters, "SELECT id, is_female, is_new_character, name, unk_desc_string, hrp, gr, weapon_type, last_login FROM characters WHERE user_id = $1 AND deleted = false ORDER BY id", uid)
|
err := s.db.Select(&characters, "SELECT id, is_female, is_new_character, name, unk_desc_string, hr, gr, weapon_type, last_login FROM characters WHERE user_id = $1 AND deleted = false ORDER BY id", uid)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -70,14 +70,11 @@ func (s *Session) makeSignResponse(uid uint32) []byte {
|
|||||||
lastPlayed = char.ID
|
lastPlayed = char.ID
|
||||||
}
|
}
|
||||||
bf.WriteUint32(char.ID)
|
bf.WriteUint32(char.ID)
|
||||||
|
|
||||||
// Exp, HR[x] is split by 0, 1, 30, 50, 99, 299, 998, 999
|
|
||||||
if s.server.erupeConfig.DebugOptions.MaxLauncherHR {
|
if s.server.erupeConfig.DebugOptions.MaxLauncherHR {
|
||||||
bf.WriteUint16(999)
|
bf.WriteUint16(999)
|
||||||
} else {
|
} else {
|
||||||
bf.WriteUint16(char.HRP)
|
bf.WriteUint16(char.HR)
|
||||||
}
|
}
|
||||||
|
|
||||||
bf.WriteUint16(char.WeaponType) // Weapon, 0-13.
|
bf.WriteUint16(char.WeaponType) // Weapon, 0-13.
|
||||||
bf.WriteUint32(char.LastLogin) // Last login date, unix timestamp in seconds.
|
bf.WriteUint32(char.LastLogin) // Last login date, unix timestamp in seconds.
|
||||||
bf.WriteBool(char.IsFemale) // Sex, 0=male, 1=female.
|
bf.WriteBool(char.IsFemale) // Sex, 0=male, 1=female.
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ func (s *Server) userIDFromToken(ctx context.Context, token string) (uint32, err
|
|||||||
func (s *Server) createCharacter(ctx context.Context, userID uint32) (Character, error) {
|
func (s *Server) createCharacter(ctx context.Context, userID uint32) (Character, error) {
|
||||||
var character Character
|
var character Character
|
||||||
err := s.db.GetContext(ctx, &character,
|
err := s.db.GetContext(ctx, &character,
|
||||||
"SELECT id, name, is_female, weapon_type, hrp, gr, last_login FROM characters WHERE is_new_character = true AND user_id = $1 LIMIT 1",
|
"SELECT id, name, is_female, weapon_type, hr, gr, last_login FROM characters WHERE is_new_character = true AND user_id = $1 LIMIT 1",
|
||||||
userID,
|
userID,
|
||||||
)
|
)
|
||||||
if err == sql.ErrNoRows {
|
if err == sql.ErrNoRows {
|
||||||
@@ -68,10 +68,10 @@ func (s *Server) createCharacter(ctx context.Context, userID uint32) (Character,
|
|||||||
err = s.db.GetContext(ctx, &character, `
|
err = s.db.GetContext(ctx, &character, `
|
||||||
INSERT INTO characters (
|
INSERT INTO characters (
|
||||||
user_id, is_female, is_new_character, name, unk_desc_string,
|
user_id, is_female, is_new_character, name, unk_desc_string,
|
||||||
hrp, gr, weapon_type, last_login
|
hr, gr, weapon_type, last_login
|
||||||
)
|
)
|
||||||
VALUES ($1, false, true, '', '', 0, 0, 0, $2)
|
VALUES ($1, false, true, '', '', 0, 0, 0, $2)
|
||||||
RETURNING id, name, is_female, weapon_type, hrp, gr, last_login`,
|
RETURNING id, name, is_female, weapon_type, hr, gr, last_login`,
|
||||||
userID, uint32(time.Now().Unix()),
|
userID, uint32(time.Now().Unix()),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -96,7 +96,7 @@ func (s *Server) getCharactersForUser(ctx context.Context, uid uint32) ([]Charac
|
|||||||
var characters []Character
|
var characters []Character
|
||||||
err := s.db.SelectContext(
|
err := s.db.SelectContext(
|
||||||
ctx, &characters, `
|
ctx, &characters, `
|
||||||
SELECT id, name, is_female, weapon_type, hrp, gr, last_login
|
SELECT id, name, is_female, weapon_type, hr, gr, last_login
|
||||||
FROM characters
|
FROM characters
|
||||||
WHERE user_id = $1 AND deleted = false AND is_new_character = false ORDER BY id ASC`,
|
WHERE user_id = $1 AND deleted = false AND is_new_character = false ORDER BY id ASC`,
|
||||||
uid,
|
uid,
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ type Character struct {
|
|||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
IsFemale bool `json:"isFemale" db:"is_female"`
|
IsFemale bool `json:"isFemale" db:"is_female"`
|
||||||
Weapon uint32 `json:"weapon" db:"weapon_type"`
|
Weapon uint32 `json:"weapon" db:"weapon_type"`
|
||||||
HR uint32 `json:"hr" db:"hrp"`
|
HR uint32 `json:"hr" db:"hr"`
|
||||||
GR uint32 `json:"gr"`
|
GR uint32 `json:"gr"`
|
||||||
LastLogin int32 `json:"lastLogin" db:"last_login"`
|
LastLogin int32 `json:"lastLogin" db:"last_login"`
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user