Skip to content
This repository has been archived by the owner on Jun 28, 2023. It is now read-only.

sprite: Change sprite functions to use an "SpriteIndex" (int) instead of *Sprite #2

Closed
silbinarywolf opened this issue Nov 21, 2018 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@silbinarywolf
Copy link
Owner

silbinarywolf commented Nov 21, 2018

The problem
Currently the API returns *Sprite for sprite "get" functions. I want it to return a gml.SpriteIndex type (int32) so that serialization of data is simpler.

@silbinarywolf silbinarywolf self-assigned this Nov 21, 2018
@silbinarywolf silbinarywolf added the enhancement New feature or request label Nov 21, 2018
@silbinarywolf silbinarywolf changed the title sprite: Change sprite functions to use an "int' instead of *Sprite sprite: Change sprite functions to use an "SpriteIndex" (int) instead of *Sprite Nov 24, 2018
silbinarywolf added a commit that referenced this issue Nov 24, 2018
silbinarywolf added a commit that referenced this issue Nov 24, 2018
@silbinarywolf silbinarywolf added this to To do in Refactor gml-go Dec 2, 2018
@silbinarywolf silbinarywolf moved this from To do to Done in Refactor gml-go Dec 6, 2018
silbinarywolf added a commit that referenced this issue May 17, 2019
silbinarywolf added a commit that referenced this issue May 17, 2019
silbinarywolf added a commit that referenced this issue Jun 2, 2019
silbinarywolf added a commit that referenced this issue Aug 15, 2019
silbinarywolf added a commit that referenced this issue Oct 21, 2019
* room: delete unused code and simplify

* alarm: move alarm code to its own package

* gmlgo: add SetSize to RoomInstanceIndex, add IsRunning to alarm package, update Camera to update after user code

* gmlgo: remove unused layer index code and add code to marshal binary data for Object and SpriteState

* gmlgo: update to use internal struct

* camera: add CameraSetUpdateFunction

* instance: start on InstanceRestore functionality (to bring old instances back)

* gmlgo: update serialization logic, change InstanceExists to not require the room to exist

* gmlgo: update camera

- update camera to render with the last created room if no instance following
- update camera code to not call follow logic if an update function is set
- fix state to ignore instances that were destroyed

* alarm: add gob serialization of alarm

* gmlgo: add "gmlgo build" command, remove unused "gmlgo fix" command code and start moving away from cobra package

* gmlgo: remove cobra and add simple tests

* gmlgo: change marshalling of structs to just use binary encoding (less payload size)

* gmlgo: add manual serialization to various object related structs

* gmlgo: more work on serialization

* gmlgo: start on generating serialization code

* gmlgo: more work on generating serialization code

* gmlgo: basic serialization code working

* gmlgo: add tests for build

* gmlgo: add test for serialization error case

* gmlgo: adjust code generation to only import certain packages if their needed

* gmlgo: fix generating serialization code for int type

* gmlgo: remove debug log functions

* gmlgo: fix DrawSpriteRotated in tests (headless) and fix tags being passed into "go build"

* gmlgo: update sprite updating to work like Game Maker Studio 2

* gmlgo: update asset system to be more flexible (allow nesting assets into sub-folders)

* gmlgo: fix config loading not working

* gmlgo: update code generation of asset IDs to generate into the "asset" folder

* gmlgo: fix code generation tests

* gmlgo: update assets to no longer auto-prefix, add error handling to stop duplicate asset names, add a test and rename assets in the example games

* gmlgo: update DrawText to take color parameter, fix backspace key and various other changes

* gmlgo: add support for "custom" asset folder

* gmlgo: fix example games

* gmlgo: add json tagging and add error-check to using UnsafeObjectTypeList

* gmlgo: minor fixes

* gmlgo: add MouseScreenPosition(), expose time functions and update text to draw relative to camera

* gmlgo: add basic support for custom assets in code generation

* go: add support for Go Modules and fix broken tests

* generate: fix go generate logic and paths provided to engine

* keyboard: fix backspace speed behaviour not resetting when backspace key is released

* modules: run "go mod tidy"

* draw: update draw text code so that smaller characters like "." and "_" are offset correctly and not drawn at the top

* travis: fix build by updating to latest go version (1.12.5)

* travis: remove sonarqube and remove manually downloading dependencies

* travis: add dependencies back

* generate: fix gmlgo_gen code to work use "packages" module for Go Modules support

* travis: attempt to fix build

* generate: update comments around generate

* file: change from deprecated gopherjs/gopherwasm/js package to syscall/js

* instance: fix deletion of entities to occur after GamePostUpdate and prevent crash if room was deleted before entity deletion is handled

* vet: resolve go vet warnings

* vet: resolve go vet warnings #2

* asset: add basic asset manager system

* asset: make asset loading use go routines / be async

this was done so that WebAssembly builds would download multiple assets at once, as loading is tied to the remote downloading of asset files

* asset: fix race condition that could occur if asset count was below 4 for sprites and don't initialize audio context if no audio is in the game

* time: rename timeprec to monotime

* debug: remove code to open now deprecated room editor

* asset: rename LoadAll to UnsafeLoadAll, to deter users from calling this in their own code

* window: add WindowSetSize, WindowSetScale

- remove WindowWidth, WindowHeight
- replace calls to WindowWidth with WindowSize().X
- replace calls to WindowHeight with WindowSize().Y

* room: improve error message

* draw: add DrawRectangleAlpha function

* gml: add GameEnd method

* instance: add InstancePauseAll method so that users can pause the game

* window: add WindowCursorVisible and WindowSetCursorVisible

* gmlgo: update gmlgo to use Short descriptions if you run "gmlgo" by itself

* gmlgo: start on publish command

* travis: fix xvfb

* travis: fix xenial

* travis: fix xvfb #2

* publish: more work on publish command

* publish: fix publishing relative directories

* travis: run gmlgo publish on examples/spaceship

* manifest: add generation of manifest.json file in debug mode

* manifest: update index.html to preload all asset files

* manifest: fix preload warnings in Chrome

* window: add IsBrowser will return true if the game is playing in a browser

* worm: fix sound not playing and add asset/manifest.json to .gitignore

* chore: update documentation, rename example/ to example/ and various other changes

* gmlgo: improve error messages with gmlgo publish

* gmlgo: improve error messages with gmlgo publish #2

* gmlgo: only publish for the current platform and web

* uid: add snowflake uid generation

* instance: Add InstanceFree function for freeing an instance without triggering its Delete method

* gmlgo: update "gmlgo generate" to follow standard generated code conventions

Standard generated code conventions are here
golang/go#13560 (comment)

* test: add code to ensure asset dir exists for tests

* test: add code so that tests can run headed

* test: update documentation around testing

* publish: improve error message

* camera: fix camera rendering jankily

* steam: add paniccatch to log out crashes to files (for debugging steam / production crashes)

* draw: add DrawSpriteCutMask method to allow for masking

* instance: simplify InstanceCreate code

* draw: remove DrawTextColor as it duplicated DrawText

* git-actions: add config

* mac: fix various bugs with Mac build

* git-actions: fix PATH to access /usr/local/go/bin

* git-actions: fix gl

* git-actions: fix xvfb

* git-actions: add libglfw3-dev

* git-actions: xvfb

* git-actions: fix actions

* git-actions: fix publish

* git-actions: try improve error messages

* git-actions: try improve error messages 2

* git-actions: disable publish as it fails

* git-actions: try setup windows

* git-actions: try fix windows

* git-actions: try fix windows

* git-actions: try fix windows 3

* git-actions: try fix windows 4

* git-actions: try fix windows 5

* git-actions: fix windows code coverage

* headless: fix headless

* git-actions: add macos

* git-actions: try fix macos

* git-actions: add gfx for macos

* git-actions: remvoe gfx for macos and add a note

* remove travis badge
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
No open projects
Development

No branches or pull requests

1 participant