You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Jan 10d320b29d
kack dict ausm internet um große switch cases zu vermeiden vllt keine Ahnung
3 years ago
Dict kack dict ausm internet um große switch cases zu vermeiden vllt keine Ahnung 3 years ago
Entity small improvements 3 years ago
Input Screens hinzugefügt, Selectable / Button erstellen ist jetzt einfacher, Selectable und Button Texturen sind jetzt auch im TextureAtlas 3 years ago
IsometricMap Screens hinzugefügt, Selectable / Button erstellen ist jetzt einfacher, Selectable und Button Texturen sind jetzt auch im TextureAtlas 3 years ago
MapObject LUMBERJÄCKES 3 years ago
Screen Screens hinzugefügt, Selectable / Button erstellen ist jetzt einfacher, Selectable und Button Texturen sind jetzt auch im TextureAtlas 3 years ago
Sprite Screens hinzugefügt, Selectable / Button erstellen ist jetzt einfacher, Selectable und Button Texturen sind jetzt auch im TextureAtlas 3 years ago
Textures Screens hinzugefügt, Selectable / Button erstellen ist jetzt einfacher, Selectable und Button Texturen sind jetzt auch im TextureAtlas 3 years ago
Ui Screens hinzugefügt, Selectable / Button erstellen ist jetzt einfacher, Selectable und Button Texturen sind jetzt auch im TextureAtlas 3 years ago
assets LUMBERJÄCKES 3 years ago
.gitignore removed unneccessary (?) files from repo 3 years ago
Makefile kack dict ausm internet um große switch cases zu vermeiden vllt keine Ahnung 3 years ago
README.md Screens hinzugefügt, Selectable / Button erstellen ist jetzt einfacher, Selectable und Button Texturen sind jetzt auch im TextureAtlas 3 years ago
cropEntity.sh LUMBERJÄCKES 3 years ago
definitions.h Screens hinzugefügt, Selectable / Button erstellen ist jetzt einfacher, Selectable und Button Texturen sind jetzt auch im TextureAtlas 3 years ago
game.c Screens hinzugefügt, Selectable / Button erstellen ist jetzt einfacher, Selectable und Button Texturen sind jetzt auch im TextureAtlas 3 years ago
game.h Screens hinzugefügt, Selectable / Button erstellen ist jetzt einfacher, Selectable und Button Texturen sind jetzt auch im TextureAtlas 3 years ago
main.c kack dict ausm internet um große switch cases zu vermeiden vllt keine Ahnung 3 years ago

README.md

Aufbauspiel

[[TOC]]

Notizen

KI Gegner ist erstmal zu aufwändig, ein wenig Ackern muss man aber immer!

Projection Orthogonal -> Isometric

TargetFPS vs. VSYNC

Effizientes Rendering einer isometrischen Blockmap

Sprite sortierung nach Nähe zur Kamera

turn off EXIT on ESC Key, for later

Texturentyp

TODO

Allgemein:

  • Das Map Rendering sollte den Zoom auch noch beachten, wenn man rauszoomt wird nicht die ganzen map gedrawed, sondern nur die mit den default values
  • Das Auswahl Rect beachtet den Zoom der Kamera auch noch nicht
  • Vielleicht kann man auch einbauen dass die Kamera zentral zoomt und nicht in die linke obere Ecke
  • Maps in eigenen Dateien speichern
  • Parser für Map-Dateien
  • MapEditor

Anleitungen

Button einfügen:

Schritt für Schritt Anleitung:

  • in definitions.h eine ID für den Button anlegen: BUTTON_ID_{ButtonName}
  • Onclick Funktion für den Button anlegen:
    • Die Funktion muss in onClickFunctions.h und onClickFunctions.h angelegt werden
    • Stil: void OnClick{ButtonName}Button(Game *game, Button *button)
  • in button.c in der Funktion ButtonInitButton im Switch Case einen Case für die neue ID anlegen und einen Pointer auf die neue Funktion in button->onClick speichern
  • UiContianer hat für jeden Screen eine Init Funktion (Menu, Game, etc.). In der richtigen Init Funktion dann den Button erstellen und in den uiContainer mit UiContainerAddButton einfügen damit er dann auch im Spielt ist
    • Die default Texturen sind in der UiContainerInit Funktion im textures Array gespeichert
  • Fertig :)

Selectable einfügen:

Schritt für Schritt Anleitung:

  • in definitions.h eine ID für das Selectable anlegen: SELECTABLE_ID_{ SelectableName}
  • OnSelected Funktion für das Selectable anlegen:
    • Die Funktion muss in onClickFunctions.h und onClickFunctions.c angelegt werden
    • Stil: void OnSelected{SelectableName}(Game *game, Selectable *selectable)
    • Wichtig: Die OnSelected Funktion wird in jedem Frame ausgeführt, in dem das Selectable selected ist, es sollte also nur etwas OnButtonPressed machen, und im gleichen Zug dann den state des selectables auf default zurücksetzen
    • Außerdem am besten nur etwas machen wenn game->mouseOnUI == 0 ist
  • in selectable.c in der Funktion SelectableInit(...) im Switch Case einen Case für die neue ID anlegen und einen Pointer auf die neue Funktion in selectable->onSelected speichern
  • UiContianer hat für jeden Screen eine Init Funktion (Menu, Game, etc.). In der richtigen Init Funktion dann das Selectable erstellen und in den uiContainer mit UiContainerAddSelectable einfügen, damit es dann auch im Spiel ist
    • Die default Texturen sind in der UiContainerInit Funktion im textures(2) und im backgroundTextures Array gespeichert