diff --git a/Sources/PlayDate/File.swift b/Sources/PlayDate/File.swift index bc478e2..a9f0ac2 100644 --- a/Sources/PlayDate/File.swift +++ b/Sources/PlayDate/File.swift @@ -27,15 +27,15 @@ extension File { public init(rawValue: UInt32) { self.rawValue = rawValue } /// Read from the game pdx, then the Data directory. - public static let read = Options(rawValue: kFileRead.rawValue) + public static let read = Options(rawValue: UInt32(kFileRead.rawValue)) /// Read from the Data directory only. - public static let readData = Options(rawValue: kFileReadData.rawValue) + public static let readData = Options(rawValue: UInt32(kFileReadData.rawValue)) /// Write to the Data directory, truncating an existing file. - public static let write = Options(rawValue: kFileWrite.rawValue) + public static let write = Options(rawValue: UInt32(kFileWrite.rawValue)) /// Write to the Data directory, appending to an existing file. - public static let append = Options(rawValue: kFileAppend.rawValue) + public static let append = Options(rawValue: UInt32(kFileAppend.rawValue)) - var cValue: FileOptions { FileOptions(rawValue) } + var cValue: FileOptions { FileOptions(FileOptions.RawValue(rawValue)) } } /// Information about a file or directory, mirroring `FileStat`. diff --git a/Sources/PlayDate/Graphics.swift b/Sources/PlayDate/Graphics.swift index 4d16ad5..da8bc42 100644 --- a/Sources/PlayDate/Graphics.swift +++ b/Sources/PlayDate/Graphics.swift @@ -73,8 +73,8 @@ extension Graphics { case clear = 2 case xor = 3 - init(_ color: LCDSolidColor) { self = SolidColor(rawValue: color.rawValue) ?? .clear } - var cValue: LCDSolidColor { LCDSolidColor(rawValue) } + init(_ color: LCDSolidColor) { self = SolidColor(rawValue: UInt32(color.rawValue)) ?? .clear } + var cValue: LCDSolidColor { LCDSolidColor(LCDSolidColor.RawValue(rawValue)) } } /// How source pixels combine with the destination when drawing. @@ -88,8 +88,8 @@ extension Graphics { case nxor = 6 case inverted = 7 - init(_ mode: LCDBitmapDrawMode) { self = DrawMode(rawValue: mode.rawValue) ?? .copy } - var cValue: LCDBitmapDrawMode { LCDBitmapDrawMode(rawValue) } + init(_ mode: LCDBitmapDrawMode) { self = DrawMode(rawValue: UInt32(mode.rawValue)) ?? .copy } + var cValue: LCDBitmapDrawMode { LCDBitmapDrawMode(LCDBitmapDrawMode.RawValue(rawValue)) } } /// Mirroring applied when drawing a bitmap. @@ -99,8 +99,8 @@ extension Graphics { case flippedY = 2 case flippedXY = 3 - init(_ flip: LCDBitmapFlip) { self = BitmapFlip(rawValue: flip.rawValue) ?? .unflipped } - var cValue: LCDBitmapFlip { LCDBitmapFlip(rawValue) } + init(_ flip: LCDBitmapFlip) { self = BitmapFlip(rawValue: UInt32(flip.rawValue)) ?? .unflipped } + var cValue: LCDBitmapFlip { LCDBitmapFlip(LCDBitmapFlip.RawValue(rawValue)) } } /// The end cap style used when drawing lines. @@ -109,7 +109,7 @@ extension Graphics { case square = 1 case round = 2 - var cValue: LCDLineCapStyle { LCDLineCapStyle(rawValue) } + var cValue: LCDLineCapStyle { LCDLineCapStyle(LCDLineCapStyle.RawValue(rawValue)) } } /// The encoding of text passed to the text functions. @@ -118,7 +118,7 @@ extension Graphics { case utf8 = 1 case utf16LittleEndian = 2 - var cValue: PDStringEncoding { PDStringEncoding(rawValue) } + var cValue: PDStringEncoding { PDStringEncoding(PDStringEncoding.RawValue(rawValue)) } } /// The winding rule used by `fillPolygon`. @@ -126,7 +126,7 @@ extension Graphics { case nonZero = 0 case evenOdd = 1 - var cValue: LCDPolygonFillRule { LCDPolygonFillRule(rawValue) } + var cValue: LCDPolygonFillRule { LCDPolygonFillRule(LCDPolygonFillRule.RawValue(rawValue)) } } /// How text wraps in `drawText(in:)`. @@ -135,7 +135,7 @@ extension Graphics { case character = 1 case word = 2 - var cValue: PDTextWrappingMode { PDTextWrappingMode(rawValue) } + var cValue: PDTextWrappingMode { PDTextWrappingMode(PDTextWrappingMode.RawValue(rawValue)) } } /// Horizontal alignment for `drawText(in:)`. @@ -144,7 +144,7 @@ extension Graphics { case center = 1 case right = 2 - var cValue: PDTextAlignment { PDTextAlignment(rawValue) } + var cValue: PDTextAlignment { PDTextAlignment(PDTextAlignment.RawValue(rawValue)) } } /// An integer rectangle mirroring `LCDRect`. `right` and `bottom` are diff --git a/Sources/PlayDate/JSON.swift b/Sources/PlayDate/JSON.swift index 3b89245..8b5ea92 100644 --- a/Sources/PlayDate/JSON.swift +++ b/Sources/PlayDate/JSON.swift @@ -57,12 +57,12 @@ extension JSON { /// Converts a C `json_value`, consuming any container box it references. private static func convert(_ value: json_value) -> Value { switch UInt32(bitPattern: Int32(value.type)) { - case kJSONTrue.rawValue: return .bool(true) - case kJSONFalse.rawValue: return .bool(false) - case kJSONInteger.rawValue: return .int(Int(value.data.intval)) - case kJSONFloat.rawValue: return .float(value.data.floatval) - case kJSONString.rawValue: return .string(String(playdateCString: value.data.stringval) ?? "") - case kJSONArray.rawValue, kJSONTable.rawValue: + case UInt32(kJSONTrue.rawValue): return .bool(true) + case UInt32(kJSONFalse.rawValue): return .bool(false) + case UInt32(kJSONInteger.rawValue): return .int(Int(value.data.intval)) + case UInt32(kJSONFloat.rawValue): return .float(value.data.floatval) + case UInt32(kJSONString.rawValue): return .string(String(playdateCString: value.data.stringval) ?? "") + case UInt32(kJSONArray.rawValue), UInt32(kJSONTable.rawValue): guard let pointer = value.data.arrayval else { return .null } return Unmanaged.fromOpaque(pointer).takeRetainedValue().value default: return .null diff --git a/Sources/PlayDate/Lua.swift b/Sources/PlayDate/Lua.swift index 9211ae1..d6e5ffd 100644 --- a/Sources/PlayDate/Lua.swift +++ b/Sources/PlayDate/Lua.swift @@ -32,7 +32,7 @@ extension Lua { case thread = 7 case object = 8 - init(_ type: LuaType) { self = Kind(rawValue: type.rawValue) ?? .nil } + init(_ type: LuaType) { self = Kind(rawValue: UInt32(type.rawValue)) ?? .nil } } /// A constant published on a registered class. diff --git a/Sources/PlayDate/Network.swift b/Sources/PlayDate/Network.swift index 43ac283..506170d 100644 --- a/Sources/PlayDate/Network.swift +++ b/Sources/PlayDate/Network.swift @@ -40,7 +40,7 @@ extension Network { case unknown = 1 init(_ error: PDNetErr) { - self = NetError(rawValue: error.rawValue) ?? .unknown + self = NetError(rawValue: Int32(error.rawValue)) ?? .unknown } } @@ -66,7 +66,7 @@ extension Network { } public static var status: WifiStatus { - WifiStatus(rawValue: networkAPI.pointee.getStatus.unsafelyUnwrapped().rawValue) ?? .notConnected + WifiStatus(rawValue: UInt32(networkAPI.pointee.getStatus.unsafelyUnwrapped().rawValue)) ?? .notConnected } /// Turns the wifi radio on or off. The completion receives `nil` on @@ -115,7 +115,7 @@ extension Network { // The callback will not be invoked; balance the retain. box.release() } - return AccessReply(rawValue: reply.rawValue) ?? .ask + return AccessReply(rawValue: UInt32(reply.rawValue)) ?? .ask } // MARK: - HTTP diff --git a/Sources/PlayDate/Sound.swift b/Sources/PlayDate/Sound.swift index 5de54cb..2272005 100644 --- a/Sources/PlayDate/Sound.swift +++ b/Sources/PlayDate/Sound.swift @@ -43,8 +43,8 @@ extension Sound { case monoADPCM = 4 case stereoADPCM = 5 - init(_ format: SoundFormat) { self = Format(rawValue: format.rawValue) ?? .mono16bit } - var cValue: SoundFormat { SoundFormat(rawValue) } + init(_ format: SoundFormat) { self = Format(rawValue: UInt32(format.rawValue)) ?? .mono16bit } + var cValue: SoundFormat { SoundFormat(SoundFormat.RawValue(rawValue)) } public var isStereo: Bool { rawValue & 1 != 0 } public var is16bit: Bool { rawValue >= 2 && rawValue < 4 } @@ -94,9 +94,9 @@ extension Sound { return snd.pointee.setMicCallback.unsafelyUnwrapped({ _, buffer, length in let samples = UnsafeMutableBufferPointer(start: buffer, count: Int(length)) return Sound.micCallback?(samples) == true ? 1 : 0 - }, nil, CPlaydate.MicSource(source.rawValue)) != 0 + }, nil, CPlaydate.MicSource(CPlaydate.MicSource.RawValue(source.rawValue))) != 0 } else { - return snd.pointee.setMicCallback.unsafelyUnwrapped(nil, nil, CPlaydate.MicSource(source.rawValue)) != 0 + return snd.pointee.setMicCallback.unsafelyUnwrapped(nil, nil, CPlaydate.MicSource(CPlaydate.MicSource.RawValue(source.rawValue))) != 0 } } @@ -128,7 +128,7 @@ extension Sound { // The callback will not be invoked; balance the retain. box.release() } - return AccessReply(rawValue: reply.rawValue) ?? .ask + return AccessReply(rawValue: UInt32(reply.rawValue)) ?? .ask } /// The current headphone and headset-microphone state. diff --git a/Sources/PlayDate/SoundEffect.swift b/Sources/PlayDate/SoundEffect.swift index dada564..c2b156f 100644 --- a/Sources/PlayDate/SoundEffect.swift +++ b/Sources/PlayDate/SoundEffect.swift @@ -85,7 +85,7 @@ extension Sound { case lowShelf = 5 case highShelf = 6 - var cValue: TwoPoleFilterType { TwoPoleFilterType(rawValue) } + var cValue: TwoPoleFilterType { TwoPoleFilterType(TwoPoleFilterType.RawValue(rawValue)) } } private var retainedFrequencyModulator: SignalValue? diff --git a/Sources/PlayDate/SoundSignal.swift b/Sources/PlayDate/SoundSignal.swift index feb4051..d15754b 100644 --- a/Sources/PlayDate/SoundSignal.swift +++ b/Sources/PlayDate/SoundSignal.swift @@ -136,7 +136,7 @@ extension Sound { case arpeggiator = 6 case function = 7 - var cValue: LFOType { LFOType(rawValue) } + var cValue: LFOType { LFOType(LFOType.RawValue(rawValue)) } } var function: ((LFO) -> Float)? diff --git a/Sources/PlayDate/SoundSynth.swift b/Sources/PlayDate/SoundSynth.swift index 0924734..5efe39b 100644 --- a/Sources/PlayDate/SoundSynth.swift +++ b/Sources/PlayDate/SoundSynth.swift @@ -21,7 +21,7 @@ extension Sound { case poDigital = 6 case poVosim = 7 - var cValue: SoundWaveform { SoundWaveform(rawValue) } + var cValue: SoundWaveform { SoundWaveform(SoundWaveform.RawValue(rawValue)) } } /// Custom generator callbacks. Samples are in signed Q8.24 format. diff --git a/Sources/PlayDate/Sprite.swift b/Sources/PlayDate/Sprite.swift index 1b8d206..013402b 100644 --- a/Sources/PlayDate/Sprite.swift +++ b/Sources/PlayDate/Sprite.swift @@ -103,9 +103,9 @@ public final class Sprite { case bounce = 3 init(_ response: SpriteCollisionResponseType) { - self = CollisionResponse(rawValue: response.rawValue) ?? .freeze + self = CollisionResponse(rawValue: UInt32(response.rawValue)) ?? .freeze } - var cValue: SpriteCollisionResponseType { SpriteCollisionResponseType(rawValue) } + var cValue: SpriteCollisionResponseType { SpriteCollisionResponseType(SpriteCollisionResponseType.RawValue(rawValue)) } } /// Information about a single collision, mirroring `SpriteCollisionInfo`. diff --git a/Sources/PlayDate/System.swift b/Sources/PlayDate/System.swift index 11d378d..c66dca2 100644 --- a/Sources/PlayDate/System.swift +++ b/Sources/PlayDate/System.swift @@ -17,8 +17,8 @@ extension System { public struct Buttons: OptionSet, Sendable { public let rawValue: UInt32 public init(rawValue: UInt32) { self.rawValue = rawValue } - init(_ buttons: PDButtons) { self.rawValue = buttons.rawValue } - var cValue: PDButtons { PDButtons(rawValue) } + init(_ buttons: PDButtons) { self.rawValue = UInt32(buttons.rawValue) } + var cValue: PDButtons { PDButtons(PDButtons.RawValue(rawValue)) } public static let left = Buttons(kButtonLeft) public static let right = Buttons(kButtonRight) @@ -34,8 +34,8 @@ extension System { public init(rawValue: UInt32) { self.rawValue = rawValue } public static let none = Peripherals([]) - public static let accelerometer = Peripherals(rawValue: kAccelerometer.rawValue) - public static let all = Peripherals(rawValue: kAllPeripherals.rawValue) + public static let accelerometer = Peripherals(rawValue: UInt32(kAccelerometer.rawValue)) + public static let all = Peripherals(rawValue: UInt32(kAllPeripherals.rawValue)) } /// The system language. @@ -46,9 +46,9 @@ extension System { case system = 2 init(_ language: PDLanguage) { - self = Language(rawValue: language.rawValue) ?? .english + self = Language(rawValue: UInt32(language.rawValue)) ?? .english } - var cValue: PDLanguage { PDLanguage(rawValue) } + var cValue: PDLanguage { PDLanguage(PDLanguage.RawValue(rawValue)) } } /// A calendar date and time, mirroring `PDDateTime`. @@ -97,9 +97,9 @@ extension System { public let rawValue: UInt32 public init(rawValue: UInt32) { self.rawValue = rawValue } - public static let charging = PowerStatus(rawValue: kPDPowerStatusCharging.rawValue) - public static let usb = PowerStatus(rawValue: kPDPowerStatusUsb.rawValue) - public static let screws = PowerStatus(rawValue: kPDPowerStatusScrews.rawValue) + public static let charging = PowerStatus(rawValue: UInt32(kPDPowerStatusCharging.rawValue)) + public static let usb = PowerStatus(rawValue: UInt32(kPDPowerStatusUsb.rawValue)) + public static let screws = PowerStatus(rawValue: UInt32(kPDPowerStatusScrews.rawValue)) } /// OS, language, and pdx version information, mirroring `PDInfo`. @@ -239,7 +239,7 @@ extension System { nonisolated(unsafe) private static var buttonCallback: ((Buttons, Bool, UInt32) -> Int32)? public static func setPeripheralsEnabled(_ peripherals: Peripherals) { - api.pointee.setPeripheralsEnabled.unsafelyUnwrapped(PDPeripherals(peripherals.rawValue)) + api.pointee.setPeripheralsEnabled.unsafelyUnwrapped(PDPeripherals(PDPeripherals.RawValue(peripherals.rawValue))) } /// The most recent accelerometer reading, in g. Enable the accelerometer @@ -477,7 +477,7 @@ extension System { public static var volume: Float { api.pointee.getVolume.unsafelyUnwrapped() } public static var powerStatus: PowerStatus { - PowerStatus(rawValue: api.pointee.getPowerStatus.unsafelyUnwrapped().rawValue) + PowerStatus(rawValue: UInt32(api.pointee.getPowerStatus.unsafelyUnwrapped().rawValue)) } /// Quits the game and returns to the launcher.