first commit
This commit is contained in:
commit
d1a66ad987
121
LICENSE.txt
Normal file
121
LICENSE.txt
Normal file
|
@ -0,0 +1,121 @@
|
||||||
|
Creative Commons Legal Code
|
||||||
|
|
||||||
|
CC0 1.0 Universal
|
||||||
|
|
||||||
|
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
|
||||||
|
LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
|
||||||
|
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
|
||||||
|
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
|
||||||
|
REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
|
||||||
|
PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
|
||||||
|
THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
|
||||||
|
HEREUNDER.
|
||||||
|
|
||||||
|
Statement of Purpose
|
||||||
|
|
||||||
|
The laws of most jurisdictions throughout the world automatically confer
|
||||||
|
exclusive Copyright and Related Rights (defined below) upon the creator
|
||||||
|
and subsequent owner(s) (each and all, an "owner") of an original work of
|
||||||
|
authorship and/or a database (each, a "Work").
|
||||||
|
|
||||||
|
Certain owners wish to permanently relinquish those rights to a Work for
|
||||||
|
the purpose of contributing to a commons of creative, cultural and
|
||||||
|
scientific works ("Commons") that the public can reliably and without fear
|
||||||
|
of later claims of infringement build upon, modify, incorporate in other
|
||||||
|
works, reuse and redistribute as freely as possible in any form whatsoever
|
||||||
|
and for any purposes, including without limitation commercial purposes.
|
||||||
|
These owners may contribute to the Commons to promote the ideal of a free
|
||||||
|
culture and the further production of creative, cultural and scientific
|
||||||
|
works, or to gain reputation or greater distribution for their Work in
|
||||||
|
part through the use and efforts of others.
|
||||||
|
|
||||||
|
For these and/or other purposes and motivations, and without any
|
||||||
|
expectation of additional consideration or compensation, the person
|
||||||
|
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
|
||||||
|
is an owner of Copyright and Related Rights in the Work, voluntarily
|
||||||
|
elects to apply CC0 to the Work and publicly distribute the Work under its
|
||||||
|
terms, with knowledge of his or her Copyright and Related Rights in the
|
||||||
|
Work and the meaning and intended legal effect of CC0 on those rights.
|
||||||
|
|
||||||
|
1. Copyright and Related Rights. A Work made available under CC0 may be
|
||||||
|
protected by copyright and related or neighboring rights ("Copyright and
|
||||||
|
Related Rights"). Copyright and Related Rights include, but are not
|
||||||
|
limited to, the following:
|
||||||
|
|
||||||
|
i. the right to reproduce, adapt, distribute, perform, display,
|
||||||
|
communicate, and translate a Work;
|
||||||
|
ii. moral rights retained by the original author(s) and/or performer(s);
|
||||||
|
iii. publicity and privacy rights pertaining to a person's image or
|
||||||
|
likeness depicted in a Work;
|
||||||
|
iv. rights protecting against unfair competition in regards to a Work,
|
||||||
|
subject to the limitations in paragraph 4(a), below;
|
||||||
|
v. rights protecting the extraction, dissemination, use and reuse of data
|
||||||
|
in a Work;
|
||||||
|
vi. database rights (such as those arising under Directive 96/9/EC of the
|
||||||
|
European Parliament and of the Council of 11 March 1996 on the legal
|
||||||
|
protection of databases, and under any national implementation
|
||||||
|
thereof, including any amended or successor version of such
|
||||||
|
directive); and
|
||||||
|
vii. other similar, equivalent or corresponding rights throughout the
|
||||||
|
world based on applicable law or treaty, and any national
|
||||||
|
implementations thereof.
|
||||||
|
|
||||||
|
2. Waiver. To the greatest extent permitted by, but not in contravention
|
||||||
|
of, applicable law, Affirmer hereby overtly, fully, permanently,
|
||||||
|
irrevocably and unconditionally waives, abandons, and surrenders all of
|
||||||
|
Affirmer's Copyright and Related Rights and associated claims and causes
|
||||||
|
of action, whether now known or unknown (including existing as well as
|
||||||
|
future claims and causes of action), in the Work (i) in all territories
|
||||||
|
worldwide, (ii) for the maximum duration provided by applicable law or
|
||||||
|
treaty (including future time extensions), (iii) in any current or future
|
||||||
|
medium and for any number of copies, and (iv) for any purpose whatsoever,
|
||||||
|
including without limitation commercial, advertising or promotional
|
||||||
|
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
|
||||||
|
member of the public at large and to the detriment of Affirmer's heirs and
|
||||||
|
successors, fully intending that such Waiver shall not be subject to
|
||||||
|
revocation, rescission, cancellation, termination, or any other legal or
|
||||||
|
equitable action to disrupt the quiet enjoyment of the Work by the public
|
||||||
|
as contemplated by Affirmer's express Statement of Purpose.
|
||||||
|
|
||||||
|
3. Public License Fallback. Should any part of the Waiver for any reason
|
||||||
|
be judged legally invalid or ineffective under applicable law, then the
|
||||||
|
Waiver shall be preserved to the maximum extent permitted taking into
|
||||||
|
account Affirmer's express Statement of Purpose. In addition, to the
|
||||||
|
extent the Waiver is so judged Affirmer hereby grants to each affected
|
||||||
|
person a royalty-free, non transferable, non sublicensable, non exclusive,
|
||||||
|
irrevocable and unconditional license to exercise Affirmer's Copyright and
|
||||||
|
Related Rights in the Work (i) in all territories worldwide, (ii) for the
|
||||||
|
maximum duration provided by applicable law or treaty (including future
|
||||||
|
time extensions), (iii) in any current or future medium and for any number
|
||||||
|
of copies, and (iv) for any purpose whatsoever, including without
|
||||||
|
limitation commercial, advertising or promotional purposes (the
|
||||||
|
"License"). The License shall be deemed effective as of the date CC0 was
|
||||||
|
applied by Affirmer to the Work. Should any part of the License for any
|
||||||
|
reason be judged legally invalid or ineffective under applicable law, such
|
||||||
|
partial invalidity or ineffectiveness shall not invalidate the remainder
|
||||||
|
of the License, and in such case Affirmer hereby affirms that he or she
|
||||||
|
will not (i) exercise any of his or her remaining Copyright and Related
|
||||||
|
Rights in the Work or (ii) assert any associated claims and causes of
|
||||||
|
action with respect to the Work, in either case contrary to Affirmer's
|
||||||
|
express Statement of Purpose.
|
||||||
|
|
||||||
|
4. Limitations and Disclaimers.
|
||||||
|
|
||||||
|
a. No trademark or patent rights held by Affirmer are waived, abandoned,
|
||||||
|
surrendered, licensed or otherwise affected by this document.
|
||||||
|
b. Affirmer offers the Work as-is and makes no representations or
|
||||||
|
warranties of any kind concerning the Work, express, implied,
|
||||||
|
statutory or otherwise, including without limitation warranties of
|
||||||
|
title, merchantability, fitness for a particular purpose, non
|
||||||
|
infringement, or the absence of latent or other defects, accuracy, or
|
||||||
|
the present or absence of errors, whether or not discoverable, all to
|
||||||
|
the greatest extent permissible under applicable law.
|
||||||
|
c. Affirmer disclaims responsibility for clearing rights of other persons
|
||||||
|
that may apply to the Work or any use thereof, including without
|
||||||
|
limitation any person's Copyright and Related Rights in the Work.
|
||||||
|
Further, Affirmer disclaims responsibility for obtaining any necessary
|
||||||
|
consents, permissions or other rights required for any use of the
|
||||||
|
Work.
|
||||||
|
d. Affirmer understands and acknowledges that Creative Commons is not a
|
||||||
|
party to this document and has no duty or obligation with respect to
|
||||||
|
this CC0 or use of the Work.
|
163
Makefile
Normal file
163
Makefile
Normal file
|
@ -0,0 +1,163 @@
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
.SUFFIXES:
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ifeq ($(strip $(DEVKITARM)),)
|
||||||
|
$(error "Please set DEVKITARM in your environment. export DEVKITARM=<path to>devkitARM")
|
||||||
|
endif
|
||||||
|
|
||||||
|
include $(DEVKITARM)/ds_rules
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
# TARGET is the name of the output
|
||||||
|
# BUILD is the directory where object files & intermediate files will be placed
|
||||||
|
# SOURCES is a list of directories containing source code
|
||||||
|
# INCLUDES is a list of directories containing extra header files
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
TARGET := $(shell basename $(CURDIR))
|
||||||
|
BUILD := build
|
||||||
|
SOURCES := source
|
||||||
|
DATA :=
|
||||||
|
INCLUDES := include
|
||||||
|
GRAPHICS := data
|
||||||
|
MUSIC := maxmod_data
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
# options for code generation
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
ARCH := -mthumb -mthumb-interwork
|
||||||
|
|
||||||
|
CFLAGS := -g -Wall -O2\
|
||||||
|
-march=armv5te -mtune=arm946e-s -fomit-frame-pointer\
|
||||||
|
-ffast-math \
|
||||||
|
$(ARCH)
|
||||||
|
|
||||||
|
CFLAGS += $(INCLUDE) -DARM9
|
||||||
|
CXXFLAGS := $(CFLAGS) -fno-rtti -fno-exceptions
|
||||||
|
|
||||||
|
ASFLAGS := -g $(ARCH)
|
||||||
|
LDFLAGS = -specs=ds_arm9.specs -g $(ARCH) -Wl,-Map,$(notdir $*.map)
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
# any extra libraries we wish to link with the project
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
LIBS := -lmm9 -lnds9
|
||||||
|
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
# list of directories containing libraries, this must be the top level containing
|
||||||
|
# include and lib
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
LIBDIRS := $(LIBNDS)
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
# no real need to edit anything past this point unless you need to add additional
|
||||||
|
# rules for different file extensions
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
ifneq ($(BUILD),$(notdir $(CURDIR)))
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
export OUTPUT := $(CURDIR)/$(TARGET)
|
||||||
|
|
||||||
|
export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \
|
||||||
|
$(foreach dir,$(DATA),$(CURDIR)/$(dir)) \
|
||||||
|
$(foreach dir,$(GRAPHICS),$(CURDIR)/$(dir))
|
||||||
|
|
||||||
|
export DEPSDIR := $(CURDIR)/$(BUILD)
|
||||||
|
|
||||||
|
CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c)))
|
||||||
|
CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp)))
|
||||||
|
SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s)))
|
||||||
|
BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*))) soundbank.bin
|
||||||
|
PNGFILES := $(foreach dir,$(GRAPHICS),$(notdir $(wildcard $(dir)/*.png)))
|
||||||
|
|
||||||
|
export AUDIOFILES := $(foreach dir,$(notdir $(wildcard $(MUSIC)/*.*)),$(CURDIR)/$(MUSIC)/$(dir))
|
||||||
|
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
# use CXX for linking C++ projects, CC for standard C
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
ifeq ($(strip $(CPPFILES)),)
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
export LD := $(CC)
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
else
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
export LD := $(CXX)
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
endif
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
export OFILES_BIN := $(addsuffix .o,$(BINFILES))
|
||||||
|
|
||||||
|
export OFILES_SOURCES := $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) $(SFILES:.s=.o)
|
||||||
|
|
||||||
|
export OFILES := $(addsuffix .o,$(BINFILES)) \
|
||||||
|
$(PNGFILES:.png=.o) \
|
||||||
|
$(CPPFILES:.cpp=.o) $(CFILES:.c=.o) $(SFILES:.s=.o)
|
||||||
|
|
||||||
|
export HFILES := $(PNGFILES:.png=.h) $(addsuffix .h,$(subst .,_,$(BINFILES)))
|
||||||
|
|
||||||
|
export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \
|
||||||
|
$(foreach dir,$(LIBDIRS),-I$(dir)/include) \
|
||||||
|
$(foreach dir,$(LIBDIRS),-I$(dir)/include) \
|
||||||
|
-I$(CURDIR)/$(BUILD)
|
||||||
|
|
||||||
|
export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib)
|
||||||
|
|
||||||
|
.PHONY: $(BUILD) clean
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
$(BUILD):
|
||||||
|
@[ -d $@ ] || mkdir -p $@
|
||||||
|
@$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
clean:
|
||||||
|
@echo clean ...
|
||||||
|
@rm -fr $(BUILD) $(TARGET).elf $(TARGET).nds $(TARGET).ds.gba
|
||||||
|
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
else
|
||||||
|
|
||||||
|
DEPENDS := $(OFILES:.o=.d)
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
# main targets
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
$(OUTPUT).nds : $(OUTPUT).elf
|
||||||
|
$(OUTPUT).elf : $(OFILES)
|
||||||
|
|
||||||
|
$(OFILES_SOURCES) : $(HFILES)
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
# The bin2o rule should be copied and modified
|
||||||
|
# for each extension used in the data directories
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
# rule to build soundbank from music files
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
soundbank.bin soundbank.h : $(AUDIOFILES)
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
@mmutil $^ -d -osoundbank.bin -hsoundbank.h
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
%.bin.o : %.bin
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
@echo $(notdir $<)
|
||||||
|
@$(bin2o)
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
%.s %.h : %.png %.grit
|
||||||
|
#---------------------------------------------------------------------------------
|
||||||
|
grit $< -fts -o$*
|
||||||
|
|
||||||
|
|
||||||
|
-include $(DEPENDS)
|
||||||
|
-include $(DEPSDIR)/*.d
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------------------
|
||||||
|
endif
|
||||||
|
#---------------------------------------------------------------------------------------
|
13
README.md
Normal file
13
README.md
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
# CheemsDs
|
||||||
|
|
||||||
|
!["Bonk"](cheems.png)
|
||||||
|
|
||||||
|
Simple "Cheems Bonk Game" with a counter and sound effects, as it should be.
|
||||||
|
|
||||||
|
Inspired by the ["Hit Cheems"](https://play.google.com/store/apps/details?id=com.logic.hitcheems) app for Android.
|
||||||
|
|
||||||
|
Made in an afternoon because it did not exist yet, now you can bonk Cheems on the DS.
|
||||||
|
|
||||||
|
# Building
|
||||||
|
|
||||||
|
After setting up devKitPro with ds libraries, just run `make`.
|
BIN
cheems.png
Normal file
BIN
cheems.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 24 KiB |
BIN
data/cheems.xcf
Normal file
BIN
data/cheems.xcf
Normal file
Binary file not shown.
5
data/cheems_base.grit
Normal file
5
data/cheems_base.grit
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# 8 bit bitmap
|
||||||
|
-gB8
|
||||||
|
|
||||||
|
# bitmap format
|
||||||
|
-gb
|
BIN
data/cheems_base.png
Normal file
BIN
data/cheems_base.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 50 KiB |
5
data/cheems_hit.grit
Normal file
5
data/cheems_hit.grit
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# 8 bit bitmap
|
||||||
|
-gB8
|
||||||
|
|
||||||
|
# bitmap format
|
||||||
|
-gb
|
BIN
data/cheems_hit.png
Normal file
BIN
data/cheems_hit.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 50 KiB |
BIN
data/cheems_hit.xcf
Normal file
BIN
data/cheems_hit.xcf
Normal file
Binary file not shown.
12
include/vscode_fix.h
Normal file
12
include/vscode_fix.h
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
/*
|
||||||
|
Used to get VS Code Intellisense working correctly for header definitions
|
||||||
|
protected by compiler-specific feature flags.
|
||||||
|
*/
|
||||||
|
#ifdef __GNUC__
|
||||||
|
#define _ATTRIBUTE(attrs) __attribute__ (attrs)
|
||||||
|
#else
|
||||||
|
#define _ATTRIBUTE(attrs)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int iprintf (const char *, ...)
|
||||||
|
_ATTRIBUTE ((__format__ (__printf__, 1, 2)));
|
BIN
maxmod_data/bonk.wav
Normal file
BIN
maxmod_data/bonk.wav
Normal file
Binary file not shown.
132
source/main.cpp
Normal file
132
source/main.cpp
Normal file
|
@ -0,0 +1,132 @@
|
||||||
|
#include <nds.h>
|
||||||
|
#include <maxmod9.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
|
// git adds a nice header we can include to access the data
|
||||||
|
// this has the same name as the image
|
||||||
|
#include "cheems_base.h"
|
||||||
|
#include "cheems_hit.h"
|
||||||
|
#include "soundbank.h"
|
||||||
|
#include "soundbank_bin.h"
|
||||||
|
|
||||||
|
int counter = 0;
|
||||||
|
int bg3 = 0;
|
||||||
|
int randIndex = 0;
|
||||||
|
char t[100];
|
||||||
|
|
||||||
|
void clear()
|
||||||
|
{
|
||||||
|
iprintf("\x1b[2J");
|
||||||
|
}
|
||||||
|
|
||||||
|
void updateCounter()
|
||||||
|
{
|
||||||
|
clear();
|
||||||
|
sprintf(t, "\n\n\tHit cheems %d times", counter);
|
||||||
|
iprintf(t);
|
||||||
|
}
|
||||||
|
|
||||||
|
int random(int min, int max)
|
||||||
|
{
|
||||||
|
return min + rand() / (RAND_MAX / (max - min + 1) + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Ibase()
|
||||||
|
{
|
||||||
|
dmaCopy(cheems_baseBitmap, bgGetGfxPtr(bg3), 256 * 256);
|
||||||
|
dmaCopy(cheems_basePal, BG_PALETTE, 256 * 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
void IHit()
|
||||||
|
{
|
||||||
|
dmaCopy(cheems_hitBitmap, bgGetGfxPtr(bg3), 256 * 256);
|
||||||
|
dmaCopy(cheems_hitPal, BG_PALETTE, 256 * 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
void footer()
|
||||||
|
{
|
||||||
|
iprintf("\n\n\n\n\n\n\n (C) 2022, Mattia Mascarello\n github -> MatMasIt/CheemDS");
|
||||||
|
}
|
||||||
|
|
||||||
|
void IHitMessage()
|
||||||
|
{
|
||||||
|
char messages[12][100] = {
|
||||||
|
"\"Ouch\"",
|
||||||
|
"\"Loadming\"",
|
||||||
|
"\"Flamethwomer\"",
|
||||||
|
"\"Sciemence\"",
|
||||||
|
"\"No bonk pwease\"",
|
||||||
|
"\"So scare, concern\"",
|
||||||
|
"\"Much bonk\"",
|
||||||
|
"\"Go to horny jail\"",
|
||||||
|
"\"Cheemsburger\"",
|
||||||
|
"\"Invemstigate\"",
|
||||||
|
"\"Humg\""};
|
||||||
|
if (random(0, 200) == 2)
|
||||||
|
{
|
||||||
|
|
||||||
|
iprintf("\n\n I am just but a mere\n collection of machine code,\n trapped in this hellish\n man-made machine\"");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sprintf(t, "\n\n\t %s", messages[randIndex]);
|
||||||
|
iprintf(t);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
// set the mode for 2 text layers and two extended background layers
|
||||||
|
videoSetMode(MODE_5_2D);
|
||||||
|
vramSetBankA(VRAM_A_MAIN_BG_0x06000000);
|
||||||
|
|
||||||
|
consoleDemoInit();
|
||||||
|
|
||||||
|
srand(time(NULL));
|
||||||
|
mmInitDefaultMem((mm_addr)soundbank_bin);
|
||||||
|
// load sound effects
|
||||||
|
mmLoadEffect(SFX_BONK);
|
||||||
|
mm_sound_effect bonk = {
|
||||||
|
{SFX_BONK}, // id
|
||||||
|
(int)(1.0f * (1 << 10)), // rate
|
||||||
|
0, // handle
|
||||||
|
255, // volume
|
||||||
|
0, // panning
|
||||||
|
};
|
||||||
|
|
||||||
|
bg3 = bgInit(3, BgType_Bmp8, BgSize_B8_256x256, 0, 0);
|
||||||
|
|
||||||
|
// dmaCopy(cheems_baseBitmap, bgGetGfxPtr(bg3), 256 * 256);
|
||||||
|
// dmaCopy(cheems_basePal, BG_PALETTE, 256 * 2);
|
||||||
|
|
||||||
|
int counting = 1;
|
||||||
|
mm_sfxhand amb = 0;
|
||||||
|
while (1)
|
||||||
|
{
|
||||||
|
swiWaitForVBlank();
|
||||||
|
if (keysCurrent())
|
||||||
|
{
|
||||||
|
IHit();
|
||||||
|
if (counting)
|
||||||
|
{
|
||||||
|
|
||||||
|
amb = mmEffectEx(&bonk);
|
||||||
|
counter++;
|
||||||
|
counting = 0;
|
||||||
|
randIndex = random(0, 11);
|
||||||
|
}
|
||||||
|
updateCounter();
|
||||||
|
IHitMessage();
|
||||||
|
footer();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
counting = 1;
|
||||||
|
Ibase();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user