mirror of
https://github.com/Mezeporta/Erupe.git
synced 2025-12-14 07:55:33 +01:00
simplify & fix UpdateRavi
This commit is contained in:
@@ -115,6 +115,7 @@ func (s *Server) GetRaviMultiplier() float64 {
|
|||||||
|
|
||||||
func (s *Server) UpdateRavi(semaID uint32, index uint8, value uint32, update bool) (uint32, uint32) {
|
func (s *Server) UpdateRavi(semaID uint32, index uint8, value uint32, update bool) (uint32, uint32) {
|
||||||
var prev uint32
|
var prev uint32
|
||||||
|
var dest *[]uint32
|
||||||
switch semaID {
|
switch semaID {
|
||||||
case 0x40000:
|
case 0x40000:
|
||||||
switch index {
|
switch index {
|
||||||
@@ -123,28 +124,20 @@ func (s *Server) UpdateRavi(semaID uint32, index uint8, value uint32, update boo
|
|||||||
default:
|
default:
|
||||||
value = uint32(float64(value) * s.GetRaviMultiplier())
|
value = uint32(float64(value) * s.GetRaviMultiplier())
|
||||||
}
|
}
|
||||||
prev = s.raviente.state[index]
|
dest = &s.raviente.state
|
||||||
if prev != 0 && !update {
|
|
||||||
return prev, prev
|
|
||||||
}
|
|
||||||
s.raviente.state[index] += value
|
|
||||||
return prev, s.raviente.state[index]
|
|
||||||
case 0x50000:
|
case 0x50000:
|
||||||
prev = s.raviente.support[index]
|
dest = &s.raviente.support
|
||||||
if prev != 0 && !update {
|
|
||||||
return prev, prev
|
|
||||||
}
|
|
||||||
s.raviente.support[index] += value
|
|
||||||
return prev, s.raviente.support[index]
|
|
||||||
case 0x60000:
|
case 0x60000:
|
||||||
prev = s.raviente.register[index]
|
dest = &s.raviente.register
|
||||||
if prev != 0 && !update {
|
default:
|
||||||
return prev, prev
|
return 0, 0
|
||||||
}
|
|
||||||
s.raviente.register[index] += value
|
|
||||||
return prev, s.raviente.register[index]
|
|
||||||
}
|
}
|
||||||
return 0, 0
|
if update {
|
||||||
|
(*dest)[index] += value
|
||||||
|
} else {
|
||||||
|
(*dest)[index] = value
|
||||||
|
}
|
||||||
|
return prev, (*dest)[index]
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewServer creates a new Server type.
|
// NewServer creates a new Server type.
|
||||||
|
|||||||
Reference in New Issue
Block a user